Merge branch 'staging-next' into staging

This commit is contained in:
Jan Tojnar 2020-03-24 01:51:55 +01:00
commit 986fbf4799
No known key found for this signature in database
GPG key ID: 7FAB2A15F7A607A4
123 changed files with 1148 additions and 636 deletions

View file

@ -7318,6 +7318,12 @@
githubId = 8547242;
name = "Stefan Rohrbacher";
};
"thelegy" = {
email = "mail+nixos@0jb.de";
github = "thelegy";
githubId = 3105057;
name = "Jan Beinke";
};
thesola10 = {
email = "thesola10@bobile.fr";
github = "thesola10";

View file

@ -96,6 +96,18 @@
<option>systemd.services.supybot.serviceConfig</option>.
</para>
</listitem>
<listitem>
<para>
The <literal>security.duosec.skey</literal> option, which stored a secret in the
nix store, has been replaced by a new
<link linkend="opt-security.duosec.secretKeyFile">security.duosec.secretKeyFile</link>
option for better security.
</para>
<para>
<literal>security.duosec.ikey</literal> has been renamed to
<link linkend="opt-security.duosec.integrationKey">security.duosec.integrationKey</link>.
</para>
</listitem>
</itemizedlist>
</section>

View file

@ -9,8 +9,7 @@ let
configFilePam = ''
[duo]
ikey=${cfg.ikey}
skey=${cfg.skey}
ikey=${cfg.integrationKey}
host=${cfg.host}
${optionalString (cfg.groups != "") ("groups="+cfg.groups)}
failmode=${cfg.failmode}
@ -24,26 +23,12 @@ let
motd=${boolToStr cfg.motd}
accept_env_factor=${boolToStr cfg.acceptEnvFactor}
'';
loginCfgFile = optionalAttrs cfg.ssh.enable {
"duo/login_duo.conf" =
{ source = pkgs.writeText "login_duo.conf" configFileLogin;
mode = "0600";
user = "sshd";
};
};
pamCfgFile = optional cfg.pam.enable {
"duo/pam_duo.conf" =
{ source = pkgs.writeText "pam_duo.conf" configFilePam;
mode = "0600";
user = "sshd";
};
};
in
{
imports = [
(mkRenamedOptionModule [ "security" "duosec" "group" ] [ "security" "duosec" "groups" ])
(mkRenamedOptionModule [ "security" "duosec" "ikey" ] [ "security" "duosec" "integrationKey" ])
(mkRemovedOptionModule [ "security" "duosec" "skey" ] "The insecure security.duosec.skey option has been replaced by a new security.duosec.secretKeyFile option. Use this new option to store a secure copy of your key instead.")
];
options = {
@ -60,14 +45,18 @@ in
description = "If enabled, protect logins with Duo Security using PAM support.";
};
ikey = mkOption {
integrationKey = mkOption {
type = types.str;
description = "Integration key.";
};
skey = mkOption {
type = types.str;
description = "Secret key.";
secretKeyFile = mkOption {
type = types.path;
default = null;
description = ''
A file containing your secret key. The security of your Duo application is tied to the security of your secret key.
'';
example = "/run/keys/duo-skey";
};
host = mkOption {
@ -195,21 +184,52 @@ in
};
config = mkIf (cfg.ssh.enable || cfg.pam.enable) {
environment.systemPackages = [ pkgs.duo-unix ];
environment.systemPackages = [ pkgs.duo-unix ];
security.wrappers.login_duo.source = "${pkgs.duo-unix.out}/bin/login_duo";
environment.etc = loginCfgFile // pamCfgFile;
security.wrappers.login_duo.source = "${pkgs.duo-unix.out}/bin/login_duo";
/* If PAM *and* SSH are enabled, then don't do anything special.
If PAM isn't used, set the default SSH-only options. */
services.openssh.extraConfig = mkIf (cfg.ssh.enable || cfg.pam.enable) (
if cfg.pam.enable then "UseDNS no" else ''
# Duo Security configuration
ForceCommand ${config.security.wrapperDir}/login_duo
PermitTunnel no
${optionalString (!cfg.allowTcpForwarding) ''
AllowTcpForwarding no
''}
'');
system.activationScripts = {
login_duo = mkIf cfg.ssh.enable ''
if test -f "${cfg.secretKeyFile}"; then
mkdir -m 0755 -p /etc/duo
umask 0077
conf="$(mktemp)"
{
cat ${pkgs.writeText "login_duo.conf" configFileLogin}
printf 'skey = %s\n' "$(cat ${cfg.secretKeyFile})"
} >"$conf"
chown sshd "$conf"
mv -fT "$conf" /etc/duo/login_duo.conf
fi
'';
pam_duo = mkIf cfg.pam.enable ''
if test -f "${cfg.secretKeyFile}"; then
mkdir -m 0755 -p /etc/duo
umask 0077
conf="$(mktemp)"
{
cat ${pkgs.writeText "login_duo.conf" configFilePam}
printf 'skey = %s\n' "$(cat ${cfg.secretKeyFile})"
} >"$conf"
mv -fT "$conf" /etc/duo/pam_duo.conf
fi
'';
};
/* If PAM *and* SSH are enabled, then don't do anything special.
If PAM isn't used, set the default SSH-only options. */
services.openssh.extraConfig = mkIf (cfg.ssh.enable || cfg.pam.enable) (
if cfg.pam.enable then "UseDNS no" else ''
# Duo Security configuration
ForceCommand ${config.security.wrapperDir}/login_duo
PermitTunnel no
${optionalString (!cfg.allowTcpForwarding) ''
AllowTcpForwarding no
''}
'');
};
}

View file

@ -10,16 +10,8 @@ let
isMariaDB = lib.getName mysql == lib.getName pkgs.mariadb;
isMysqlAtLeast57 =
(lib.getName mysql == lib.getName pkgs.mysql57)
&& (builtins.compareVersions mysql.version "5.7" >= 0);
mysqldOptions =
"--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${mysql}";
# For MySQL 5.7+, --insecure creates the root user without password
# (earlier versions and MariaDB do this by default).
installOptions =
"${mysqldOptions} ${lib.optionalString isMysqlAtLeast57 "--insecure"}";
settingsFile = pkgs.writeText "my.cnf" (
generators.toINI { listsAsDuplicateKeys = true; } cfg.settings +
@ -366,9 +358,14 @@ in
pkgs.nettools
];
preStart = ''
preStart = if isMariaDB then ''
if ! test -e ${cfg.dataDir}/mysql; then
${mysql}/bin/mysql_install_db --defaults-file=/etc/my.cnf ${installOptions}
${mysql}/bin/mysql_install_db --defaults-file=/etc/my.cnf ${mysqldOptions}
touch /tmp/mysql_init
fi
'' else ''
if ! test -e ${cfg.dataDir}/mysql; then
${mysql}/bin/mysqld --defaults-file=/etc/my.cnf ${mysqldOptions} --initialize-insecure
touch /tmp/mysql_init
fi
'';

View file

@ -39,8 +39,6 @@ let
GRAPHITE_URL = cfg.seyren.graphiteUrl;
} // cfg.seyren.extraConfig;
pagerConfig = pkgs.writeText "alarms.yaml" cfg.pager.alerts;
configDir = pkgs.buildEnv {
name = "graphite-config";
paths = lists.filter (el: el != null) [
@ -61,12 +59,10 @@ let
carbonEnv = {
PYTHONPATH = let
cenv = pkgs.python.buildEnv.override {
extraLibs = [ pkgs.python27Packages.carbon ];
cenv = pkgs.python3.buildEnv.override {
extraLibs = [ pkgs.python3Packages.carbon ];
};
cenvPack = "${cenv}/${pkgs.python.sitePackages}";
# opt/graphite/lib contains twisted.plugins.carbon-cache
in "${cenvPack}/opt/graphite/lib:${cenvPack}";
in "${cenv}/${pkgs.python3.sitePackages}";
GRAPHITE_ROOT = dataDir;
GRAPHITE_CONF_DIR = configDir;
GRAPHITE_STORAGE_DIR = dataDir;
@ -74,6 +70,10 @@ let
in {
imports = [
(mkRemovedOptionModule ["services" "graphite" "pager"] "")
];
###### interface
options.services.graphite = {
@ -132,7 +132,7 @@ in {
finders = mkOption {
description = "List of finder plugins to load.";
default = [];
example = literalExample "[ pkgs.python27Packages.influxgraph ]";
example = literalExample "[ pkgs.python3Packages.influxgraph ]";
type = types.listOf types.package;
};
@ -159,8 +159,8 @@ in {
package = mkOption {
description = "Package to use for graphite api.";
default = pkgs.python27Packages.graphite_api;
defaultText = "pkgs.python27Packages.graphite_api";
default = pkgs.python3Packages.graphite_api;
defaultText = "pkgs.python3Packages.graphite_api";
type = types.package;
};
@ -344,49 +344,6 @@ in {
};
};
pager = {
enable = mkOption {
description = ''
Whether to enable graphite-pager service. For more information visit
<link xlink:href="https://github.com/seatgeek/graphite-pager"/>
'';
default = false;
type = types.bool;
};
redisUrl = mkOption {
description = "Redis connection string.";
default = "redis://localhost:${toString config.services.redis.port}/";
type = types.str;
};
graphiteUrl = mkOption {
description = "URL to your graphite service.";
default = "http://${cfg.web.listenAddress}:${toString cfg.web.port}";
type = types.str;
};
alerts = mkOption {
description = "Alerts configuration for graphite-pager.";
default = ''
alerts:
- target: constantLine(100)
warning: 90
critical: 200
name: Test
'';
example = ''
pushbullet_key: pushbullet_api_key
alerts:
- target: stats.seatgeek.app.deal_quality.venue_info_cache.hit
warning: .5
critical: 1
name: Deal quality venue cache hits
'';
type = types.lines;
};
};
beacon = {
enable = mkEnableOption "graphite beacon";
@ -409,7 +366,7 @@ in {
environment = carbonEnv;
serviceConfig = {
RuntimeDirectory = name;
ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
ExecStart = "${pkgs.python3Packages.twisted}/bin/twistd ${carbonOpts name}";
User = "graphite";
Group = "graphite";
PermissionsStartOnly = true;
@ -431,7 +388,7 @@ in {
environment = carbonEnv;
serviceConfig = {
RuntimeDirectory = name;
ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
ExecStart = "${pkgs.python3Packages.twisted}/bin/twistd ${carbonOpts name}";
User = "graphite";
Group = "graphite";
PIDFile="/run/${name}/${name}.pid";
@ -447,7 +404,7 @@ in {
environment = carbonEnv;
serviceConfig = {
RuntimeDirectory = name;
ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
ExecStart = "${pkgs.python3Packages.twisted}/bin/twistd ${carbonOpts name}";
User = "graphite";
Group = "graphite";
PIDFile="/run/${name}/${name}.pid";
@ -457,19 +414,11 @@ in {
(mkIf (cfg.carbon.enableCache || cfg.carbon.enableAggregator || cfg.carbon.enableRelay) {
environment.systemPackages = [
pkgs.pythonPackages.carbon
pkgs.python3Packages.carbon
];
})
(mkIf cfg.web.enable (let
python27' = pkgs.python27.override {
packageOverrides = self: super: {
django = self.django_1_8;
django_tagging = self.django_tagging_0_4_3;
};
};
pythonPackages = python27'.pkgs;
in {
(mkIf cfg.web.enable ({
systemd.services.graphiteWeb = {
description = "Graphite Web Interface";
wantedBy = [ "multi-user.target" ];
@ -477,28 +426,27 @@ in {
path = [ pkgs.perl ];
environment = {
PYTHONPATH = let
penv = pkgs.python.buildEnv.override {
penv = pkgs.python3.buildEnv.override {
extraLibs = [
pythonPackages.graphite-web
pythonPackages.pysqlite
pkgs.python3Packages.graphite-web
];
};
penvPack = "${penv}/${pkgs.python.sitePackages}";
penvPack = "${penv}/${pkgs.python3.sitePackages}";
in concatStringsSep ":" [
"${graphiteLocalSettingsDir}"
"${penvPack}/opt/graphite/webapp"
"${penvPack}"
# explicitly adding pycairo in path because it cannot be imported via buildEnv
"${pkgs.pythonPackages.pycairo}/${pkgs.python.sitePackages}"
"${pkgs.python3Packages.pycairo}/${pkgs.python3.sitePackages}"
];
DJANGO_SETTINGS_MODULE = "graphite.settings";
GRAPHITE_SETTINGS_MODULE = "graphite_local_settings";
GRAPHITE_CONF_DIR = configDir;
GRAPHITE_STORAGE_DIR = dataDir;
LD_LIBRARY_PATH = "${pkgs.cairo.out}/lib";
};
serviceConfig = {
ExecStart = ''
${pkgs.python27Packages.waitress-django}/bin/waitress-serve-django \
${pkgs.python3Packages.waitress-django}/bin/waitress-serve-django \
--host=${cfg.web.listenAddress} --port=${toString cfg.web.port}
'';
User = "graphite";
@ -510,7 +458,7 @@ in {
mkdir -p ${dataDir}/{whisper/,log/webapp/}
chmod 0700 ${dataDir}/{whisper/,log/webapp/}
${pkgs.pythonPackages.django_1_8}/bin/django-admin.py migrate --noinput
${pkgs.python3Packages.django}/bin/django-admin.py migrate --noinput
chown -R graphite:graphite ${dataDir}
@ -518,16 +466,16 @@ in {
fi
# Only collect static files when graphite_web changes.
if ! [ "${dataDir}/current_graphite_web" -ef "${pythonPackages.graphite-web}" ]; then
if ! [ "${dataDir}/current_graphite_web" -ef "${pkgs.python3Packages.graphite-web}" ]; then
mkdir -p ${staticDir}
${pkgs.pythonPackages.django_1_8}/bin/django-admin.py collectstatic --noinput --clear
${pkgs.python3Packages.django}/bin/django-admin.py collectstatic --noinput --clear
chown -R graphite:graphite ${staticDir}
ln -sfT "${pythonPackages.graphite-web}" "${dataDir}/current_graphite_web"
ln -sfT "${pkgs.python3Packages.graphite-web}" "${dataDir}/current_graphite_web"
fi
'';
};
environment.systemPackages = [ pythonPackages.graphite-web ];
environment.systemPackages = [ pkgs.python3Packages.graphite-web ];
}))
(mkIf cfg.api.enable {
@ -537,16 +485,16 @@ in {
after = [ "network.target" ];
environment = {
PYTHONPATH = let
aenv = pkgs.python.buildEnv.override {
extraLibs = [ cfg.api.package pkgs.cairo pkgs.pythonPackages.cffi ] ++ cfg.api.finders;
aenv = pkgs.python3.buildEnv.override {
extraLibs = [ cfg.api.package pkgs.cairo pkgs.python3Packages.cffi ] ++ cfg.api.finders;
};
in "${aenv}/${pkgs.python.sitePackages}";
in "${aenv}/${pkgs.python3.sitePackages}";
GRAPHITE_API_CONFIG = graphiteApiConfig;
LD_LIBRARY_PATH = "${pkgs.cairo.out}/lib";
};
serviceConfig = {
ExecStart = ''
${pkgs.python27Packages.waitress}/bin/waitress-serve \
${pkgs.python3Packages.waitress}/bin/waitress-serve \
--host=${cfg.api.listenAddress} --port=${toString cfg.api.port} \
graphite_api.app:app
'';
@ -591,34 +539,13 @@ in {
services.mongodb.enable = mkDefault true;
})
(mkIf cfg.pager.enable {
systemd.services.graphitePager = {
description = "Graphite Pager Alerting Daemon";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" "redis.service" ];
environment = {
REDIS_URL = cfg.pager.redisUrl;
GRAPHITE_URL = cfg.pager.graphiteUrl;
};
serviceConfig = {
ExecStart = "${pkgs.pythonPackages.graphitepager}/bin/graphite-pager --config ${pagerConfig}";
User = "graphite";
Group = "graphite";
};
};
services.redis.enable = mkDefault true;
environment.systemPackages = [ pkgs.pythonPackages.graphitepager ];
})
(mkIf cfg.beacon.enable {
systemd.services.graphite-beacon = {
description = "Grpahite Beacon Alerting Daemon";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = ''
${pkgs.pythonPackages.graphite_beacon}/bin/graphite-beacon \
${pkgs.python3Packages.graphite_beacon}/bin/graphite-beacon \
--config=${pkgs.writeText "graphite-beacon.json" (builtins.toJSON cfg.beacon.config)}
'';
User = "graphite";
@ -630,7 +557,7 @@ in {
(mkIf (
cfg.carbon.enableCache || cfg.carbon.enableAggregator || cfg.carbon.enableRelay ||
cfg.web.enable || cfg.api.enable ||
cfg.seyren.enable || cfg.pager.enable || cfg.beacon.enable
cfg.seyren.enable || cfg.beacon.enable
) {
users.users.graphite = {
uid = config.ids.uids.graphite;

View file

@ -9,6 +9,8 @@ let
mkdir -p $out/libexec/netdata/plugins.d
ln -s /run/wrappers/bin/apps.plugin $out/libexec/netdata/plugins.d/apps.plugin
ln -s /run/wrappers/bin/freeipmi.plugin $out/libexec/netdata/plugins.d/freeipmi.plugin
ln -s /run/wrappers/bin/perf.plugin $out/libexec/netdata/plugins.d/perf.plugin
ln -s /run/wrappers/bin/slabinfo.plugin $out/libexec/netdata/plugins.d/slabinfo.plugin
'';
plugins = [
@ -181,6 +183,22 @@ in {
permissions = "u+rx,g+rx,o-rwx";
};
security.wrappers."perf.plugin" = {
source = "${cfg.package}/libexec/netdata/plugins.d/perf.plugin.org";
capabilities = "cap_sys_admin+ep";
owner = cfg.user;
group = cfg.group;
permissions = "u+rx,g+rx,o-rx";
};
security.wrappers."slabinfo.plugin" = {
source = "${cfg.package}/libexec/netdata/plugins.d/slabinfo.plugin.org";
capabilities = "cap_dac_override+ep";
owner = cfg.user;
group = cfg.group;
permissions = "u+rx,g+rx,o-rx";
};
security.pam.loginLimits = [
{ domain = "netdata"; type = "soft"; item = "nofile"; value = "10000"; }
{ domain = "netdata"; type = "hard"; item = "nofile"; value = "30000"; }

View file

@ -44,35 +44,35 @@ in
config = mkIf cfg.enable {
services.xserver.desktopManager.session = singleton {
name = "mate";
bgSupport = true;
start = ''
export XDG_MENU_PREFIX=mate-
services.xserver.displayManager.sessionPackages = [
pkgs.mate.mate-session-manager
];
# Let caja find extensions
export CAJA_EXTENSION_DIRS=$CAJA_EXTENSION_DIRS''${CAJA_EXTENSION_DIRS:+:}${config.system.path}/lib/caja/extensions-2.0
services.xserver.displayManager.sessionCommands = ''
if test "$XDG_CURRENT_DESKTOP" = "MATE"; then
export XDG_MENU_PREFIX=mate-
# Let caja extensions find gsettings schemas
${concatMapStrings (p: ''
# Let caja find extensions
export CAJA_EXTENSION_DIRS=$CAJA_EXTENSION_DIRS''${CAJA_EXTENSION_DIRS:+:}${config.system.path}/lib/caja/extensions-2.0
# Let caja extensions find gsettings schemas
${concatMapStrings (p: ''
if [ -d "${p}/lib/caja/extensions-2.0" ]; then
${addToXDGDirs p}
${addToXDGDirs p}
fi
'')
config.environment.systemPackages
}
'') config.environment.systemPackages}
# Let mate-panel find applets
export MATE_PANEL_APPLETS_DIR=$MATE_PANEL_APPLETS_DIR''${MATE_PANEL_APPLETS_DIR:+:}${config.system.path}/share/mate-panel/applets
export MATE_PANEL_EXTRA_MODULES=$MATE_PANEL_EXTRA_MODULES''${MATE_PANEL_EXTRA_MODULES:+:}${config.system.path}/lib/mate-panel/applets
# Add mate-control-center paths to some XDG variables because its schemas are needed by mate-settings-daemon, and mate-settings-daemon is a dependency for mate-control-center (that is, they are mutually recursive)
${addToXDGDirs pkgs.mate.mate-control-center}
fi
'';
# Add mate-control-center paths to some XDG variables because its schemas are needed by mate-settings-daemon, and mate-settings-daemon is a dependency for mate-control-center (that is, they are mutually recursive)
${addToXDGDirs pkgs.mate.mate-control-center}
# Let mate-panel find applets
environment.sessionVariables."MATE_PANEL_APPLETS_DIR" = "${config.system.path}/share/mate-panel/applets";
environment.sessionVariables."MATE_PANEL_EXTRA_MODULES" = "${config.system.path}/lib/mate-panel/applets";
${pkgs.mate.mate-session-manager}/bin/mate-session ${optionalString cfg.debug "--debug"} &
waitPID=$!
'';
};
# Debugging
environment.sessionVariables.MATE_SESSION_DEBUG = mkIf cfg.debug "1";
environment.systemPackages =
pkgs.mate.basePackages ++

View file

@ -12,15 +12,19 @@ import ./make-test-python.nix ({ pkgs, ... } :
virtualisation.memorySize = 1024;
time.timeZone = "UTC";
services.graphite = {
web.enable = true;
web = {
enable = true;
extraConfig = ''
SECRET_KEY = "abcd";
'';
};
api = {
enable = true;
port = 8082;
finders = [ pkgs.python27Packages.influxgraph ];
finders = [ pkgs.python3Packages.influxgraph ];
};
carbon.enableCache = true;
seyren.enable = true;
pager.enable = true;
seyren.enable = false; # Implicitely requires openssl-1.0.2u which is marked insecure
beacon.enable = true;
};
};
@ -31,16 +35,16 @@ import ./make-test-python.nix ({ pkgs, ... } :
one.wait_for_unit("default.target")
one.wait_for_unit("graphiteWeb.service")
one.wait_for_unit("graphiteApi.service")
one.wait_for_unit("graphitePager.service")
one.wait_for_unit("graphite-beacon.service")
one.wait_for_unit("carbonCache.service")
one.wait_for_unit("seyren.service")
# The services above are of type "simple". systemd considers them active immediately
# even if they're still in preStart (which takes quite long for graphiteWeb).
# Wait for ports to open so we're sure the services are up and listening.
one.wait_for_open_port(8080)
one.wait_for_open_port(2003)
one.succeed('echo "foo 1 `date +%s`" | nc -N localhost 2003')
one.wait_until_succeeds("curl 'http://localhost:8080/metrics/find/?query=foo&format=treejson' --silent | grep foo >&2")
one.wait_until_succeeds(
"curl 'http://localhost:8080/metrics/find/?query=foo&format=treejson' --silent | grep foo >&2"
)
'';
})

View file

@ -22,6 +22,27 @@ import ./make-test-python.nix ({ pkgs, ...} : {
services.mysql.package = pkgs.mysql57;
};
mysql80 =
{ pkgs, ... }:
{
# prevent oom:
# Kernel panic - not syncing: Out of memory: compulsory panic_on_oom is enabled
virtualisation.memorySize = 1024;
services.mysql.enable = true;
services.mysql.initialDatabases = [
{ name = "testdb"; schema = ./testdb.sql; }
{ name = "empty_testdb"; }
];
# note that using pkgs.writeText here is generally not a good idea,
# as it will store the password in world-readable /nix/store ;)
services.mysql.initialScript = pkgs.writeText "mysql-init.sql" ''
CREATE USER 'passworduser'@'localhost' IDENTIFIED BY 'password123';
'';
services.mysql.package = pkgs.mysql80;
};
mariadb =
{ pkgs, ... }:
@ -61,6 +82,12 @@ import ./make-test-python.nix ({ pkgs, ...} : {
# ';' acts as no-op, just check whether login succeeds with the user created from the initialScript
mysql.succeed("echo ';' | mysql -u passworduser --password=password123")
mysql80.wait_for_unit("mysql")
mysql80.succeed("echo 'use empty_testdb;' | mysql -u root")
mysql80.succeed("echo 'use testdb; select * from tests;' | mysql -u root -N | grep 4")
# ';' acts as no-op, just check whether login succeeds with the user created from the initialScript
mysql80.succeed("echo ';' | mysql -u passworduser --password=password123")
mariadb.wait_for_unit("mysql")
mariadb.succeed(
"echo 'use testdb; create table tests (test_id INT, PRIMARY KEY (test_id));' | sudo -u testuser mysql -u testuser"

View file

@ -1,25 +1,33 @@
{ stdenv
, fetchFromGitHub
, libjack2
, wrapQtAppsHook
, qtsvg
, qttools
, cmake
, libsndfile
, libsamplerate
, ladspaH
, fluidsynth
, alsaLib
, rtaudio
, lash
, dssi
, liblo
, pkgconfig
{ stdenv, fetchFromGitHub, cmake, pkgconfig, qttools, wrapQtAppsHook
, alsaLib, dssi, fluidsynth, ladspaH, lash, libinstpatch, libjack2, liblo
, libsamplerate, libsndfile, lilv, lrdf, lv2, qtsvg, rtaudio, rubberband, sord
}:
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "muse-sequencer";
version = "3.1pre1";
version = "3.1.0";
src = fetchFromGitHub {
owner = "muse-sequencer";
repo = "muse";
rev = "muse_${builtins.replaceStrings ["."] ["_"] version}";
sha256 = "08k25652w88xf2i79lw305x1phpk7idrww9jkqwcs8q6wzgmz8aq";
};
sourceRoot = "source/muse3";
prePatch = ''
chmod u+w $NIX_BUILD_TOP
'';
patches = [ ./fix-parallel-building.patch ];
nativeBuildInputs = [ cmake pkgconfig qttools wrapQtAppsHook ];
buildInputs = [
alsaLib dssi fluidsynth ladspaH lash libinstpatch libjack2 liblo
libsamplerate libsndfile lilv lrdf lv2 qtsvg rtaudio rubberband sord
];
meta = with stdenv.lib; {
homepage = "https://www.muse-sequencer.org/";
@ -32,38 +40,7 @@ stdenv.mkDerivation {
MusE aims to be a complete multitrack virtual studio for Linux,
it is published under the GNU General Public License.
'';
license = stdenv.lib.licenses.gpl2;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ orivej ];
};
src =
fetchFromGitHub {
owner = "muse-sequencer";
repo = "muse";
rev = "2167ae053c16a633d8377acdb1debaac10932838";
sha256 = "0rsdx8lvcbz5bapnjvypw8h8bq587s9z8cf2znqrk6ah38s6fsrf";
};
nativeBuildInputs = [
pkgconfig
wrapQtAppsHook
qttools
cmake
];
buildInputs = [
libjack2
qtsvg
libsndfile
libsamplerate
ladspaH
fluidsynth
alsaLib
rtaudio
lash
dssi
liblo
];
sourceRoot = "source/muse3";
}

View file

@ -0,0 +1,78 @@
To confirm these dependencies, run in a fresh build tree:
ninja muse/components/CMakeFiles/components.dir/confmport.o
In file included from ../muse/components/confmport.cpp:48:
../muse/mplugins/midifilterimpl.h:28:10: fatal error:
ui_midifilter.h: No such file or directory
ninja muse/waveedit/CMakeFiles/waveedit.dir/wavecanvas.o
In file included from ../muse/waveedit/wavecanvas.cpp:72:
../muse/components/copy_on_write.h:26:10: fatal error:
ui_copy_on_write_base.h: No such file or directory
ninja muse/instruments/CMakeFiles/instruments.dir/editinstrument.o
In file included from ../muse/instruments/editinstrument.cpp:58:
../muse/components/editevent.h:26:10: fatal error:
ui_editnotedialogbase.h: No such file or directory
ninja muse/liste/CMakeFiles/liste.dir/listedit.o
In file included from ../muse/liste/listedit.cpp:37:
../muse/components/editevent.h:26:10: fatal error:
ui_editnotedialogbase.h: No such file or directory
ninja muse/mixer/CMakeFiles/mixer.dir/rack.o
In file included from ../muse/mixer/rack.cpp:49:
../muse/components/plugindialog.h:4:10: fatal error:
ui_plugindialogbase.h: No such file or directory
--- a/muse/components/CMakeLists.txt
+++ b/muse/components/CMakeLists.txt
@@ -343,4 +343,5 @@ set_target_properties( components
target_link_libraries ( components
${QT_LIBRARIES}
+ mplugins
widgets
xml_module
--- a/muse/waveedit/CMakeLists.txt
+++ b/muse/waveedit/CMakeLists.txt
@@ -79,4 +79,5 @@ set_target_properties( waveedit
target_link_libraries( waveedit
${QT_LIBRARIES}
+ components
widgets
)
--- a/muse/instruments/CMakeLists.txt
+++ b/muse/instruments/CMakeLists.txt
@@ -78,4 +78,5 @@ set_target_properties( instruments
target_link_libraries ( instruments
${QT_LIBRARIES}
+ components
icons
widgets
--- a/muse/liste/CMakeLists.txt
+++ b/muse/liste/CMakeLists.txt
@@ -65,4 +65,5 @@ set_target_properties( liste
target_link_libraries ( liste
${QT_LIBRARIES}
+ components
awl
widgets
--- a/muse/mixer/CMakeLists.txt
+++ b/muse/mixer/CMakeLists.txt
@@ -87,4 +87,5 @@ set_target_properties ( mixer
target_link_libraries ( mixer
${QT_LIBRARIES}
+ components
widgets
)

View file

@ -13,10 +13,10 @@ assert stdenv ? glibc;
let
platform_major = "4";
platform_minor = "14";
year = "2019";
month = "12";
timestamp = "201912100610";
platform_minor = "15";
year = "2020";
month = "03";
timestamp = "${year}${month}050155";
in rec {
buildEclipse = import ./build-eclipse.nix {
@ -32,8 +32,8 @@ in rec {
description = "Eclipse IDE for C/C++ Developers";
src =
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
sha512 = "28h8z45j7zlcbvvabzsniwqls1lns21isx69y6l207a869rknp9vzg6506q6zalj9b49j8c7ynkn379xgbzp07i6zw3dzk3pqp2rgam";
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-incubation-linux-gtk-x86_64.tar.gz";
sha512 = "2wy4a3p347fajr9zsfz1zlvz6jpy3vficdry27m5fs0azfmxmy2cfns5hh18sin4xqq3jvqppfqxh41rzcpcmiq12zhc6cz42brqgxw";
};
};
@ -45,7 +45,7 @@ in rec {
src =
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
sha512 = "1g1zsz3c2kx4vs1mjpcisbk81lk4hsr1z2fw46lih825c53vwf59snp8d97c8yw2i25y0ml48nc1nskib6qnif8m2h6rpah7kgmi8ay";
sha512 = "0qccsclay9000sqrymm8hkg70a4jcvd70vymw1kkxsklcs7dnrhch55an98gbzf9r0jgd1ap62a4hyxlnm6hdqqniwcgdza0i4nwwgj";
};
};
@ -57,7 +57,7 @@ in rec {
src =
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz";
sha512 = "05nsldw937l1g9fj964njivgkf2ipk1rh1jg5w8svdhpp3v1pp3iinfm2mz9kk8namwfkx8krsvsxcgvqyzgrkhf42wqh53vqrjf70h";
sha512 = "01rv5x7qqm0a2p30828z2snms3nb2kjx9si63sr5rdkdgr3vbh6xq8n8fn757dqazmpz9zskmwxxmbxnwycfllhgb8msb77pcy3fpg7";
};
};
@ -87,7 +87,7 @@ in rec {
src =
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz";
sha512 = "0dcbxzjqc27v1faz16yxqcm6zrbna4kkd32xy7paadiwn125y6ijx8zvda4kc7bih6v5b9ch2i0z5ndra1lcjcc88z6cklh0vngjkh1";
sha512 = "33ra8qslwz73240xzjvr751lpl94drlcf425a7kxngq1qla2cda7gxr71bxlr9fm2hrqq0h097ihmg0ix9hv2dmwnc76gp4hwwrlk41";
};
};
@ -99,7 +99,7 @@ in rec {
src =
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
sha512 = "21lhgv3z23mn8q0gffgxlfwhyxb348zjnzv716zsys7h7kj5vigl45q9mz0qrl11524rxx7jwi901jjd4l258w9kp7wzlq0d5n1r39m";
sha512 = "0ffa1q19z31j8i552mp9zg4v0p4iv002cvlzh49ia8hi0hgk75pbkp6vxlr75jz0as03n71f0ww8xbflji31qgwfmy6rs1rzqihfff9";
};
};

View file

@ -254,12 +254,12 @@ rec {
cdt = buildEclipseUpdateSite rec {
name = "cdt-${version}";
version = "9.10.0";
version = "9.11.0";
src = fetchzip {
stripRoot = false;
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.10/${name}/${name}.zip";
sha256 = "11nbrcvgbg9l3cmp3v3y8y0vldzcf6qlpp185a6dzabdcij6gz5m";
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.11/${name}/${name}.zip";
sha256 = "1730w6rbv649nzfalfd10p2ph0z9rbrrcflga0n1dpmg181xh9lk";
};
meta = with stdenv.lib; {
@ -474,12 +474,12 @@ rec {
jdt = buildEclipseUpdateSite rec {
name = "jdt-${version}";
version = "4.14";
version = "4.15";
src = fetchzip {
stripRoot = false;
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.14-201912100610/org.eclipse.jdt-4.14.zip;
sha256 = "1c2a23qviv58xljpq3yb37ra8cqw7jh52hmzqlg1nij2sdxb6hm5";
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-${version}-202003050155/org.eclipse.jdt-${version}.zip";
sha256 = "1dm4qgfb6rm7w0dk8br071c7wy0ybp7zrwvr3i02c2bxzy2psz7q";
};
meta = with stdenv.lib; {

View file

@ -7,7 +7,7 @@
stdenv.mkDerivation rec {
pname = "dbeaver-ce";
version = "7.0.0";
version = "7.0.1";
desktopItem = makeDesktopItem {
name = "dbeaver";
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
sha256 = "1fnvwndzny51z0zmdnlafdcxawsyz435g712mc4bjjj29qy0inzm";
sha256 = "1kq0ingzfl6q2yz3y5nj9k35y9f1izg1idgbgvpz784gn7937m64";
};
installPhase = ''
@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
'';
meta = with stdenv.lib; {
homepage = https://dbeaver.io/;
homepage = "https://dbeaver.io/";
description = "Universal SQL Client for developers, DBA and analysts. Supports MySQL, PostgreSQL, MariaDB, SQLite, and more";
longDescription = ''
Free multi-platform database tool for developers, SQL programmers, database

View file

@ -5,10 +5,10 @@ let
in
stdenv.mkDerivation rec {
pname = "jotta-cli";
version = "0.6.21799";
version = "0.6.24251";
src = fetchzip {
url = "https://repo.jotta.us/archives/linux/${arch}/jotta-cli-${version}_linux_${arch}.tar.gz";
sha256 = "19axrcfmycmdfgphkfwl9qgwd9xj8g37gmwi4ynb45w7nhfid5vm";
sha256 = "0f26fg5fqpz0f6jxp72cj5f2kf76jah5iaqlqsl87250y0hm330g";
stripRoot = false;
};

View file

@ -1,5 +1,16 @@
{ buildPythonApplication, lib, fetchFromGitHub
, dateutil, pyyaml, openpyxl, xlrd, h5py, fonttools, lxml, pandas, pyshp
{ buildPythonApplication
, lib
, fetchFromGitHub
, dateutil
, pyyaml
, openpyxl
, xlrd
, h5py
, fonttools
, lxml
, pandas
, pyshp
, setuptools
}:
buildPythonApplication rec {
pname = "visidata";
@ -12,16 +23,26 @@ buildPythonApplication rec {
sha256 = "19gs8i6chrrwibz706gib5sixx1cjgfzh7v011kp3izcrn524mc0";
};
propagatedBuildInputs = [dateutil pyyaml openpyxl xlrd h5py fonttools
lxml pandas pyshp ];
propagatedBuildInputs = [
dateutil
pyyaml
openpyxl
xlrd
h5py
fonttools
lxml
pandas
pyshp
setuptools
];
doCheck = false;
meta = {
inherit version;
description = "Interactive terminal multitool for tabular data";
license = lib.licenses.gpl3 ;
maintainers = [lib.maintainers.raskin];
license = lib.licenses.gpl3;
maintainers = [ lib.maintainers.raskin ];
platforms = lib.platforms.linux;
homepage = "http://visidata.org/";
};

View file

@ -3,14 +3,14 @@
}:
stdenv.mkDerivation rec {
name = "xterm-351";
name = "xterm-353";
src = fetchurl {
urls = [
"ftp://ftp.invisible-island.net/xterm/${name}.tgz"
"https://invisible-mirror.net/archives/xterm/${name}.tgz"
];
sha256 = "05kf586my4irrzz2bxgmwjdvynyrg9ybhvfqmx29g70w4888l2kn";
sha256 = "0s5pkfn4r8iy09s1q1y78zhnr9f3sm6wgbqir7azaqggkppd68g5";
};
buildInputs =

View file

@ -26,7 +26,7 @@ in buildGoPackage rec {
sha256 = "0gvf5k1gm81xxg7ha309kgfkgl5357dli0fbc4z01rmfgbl0rfa0";
};
buildInputs = [ go-bindata ];
nativeBuildInputs = [ go-bindata ];
# embed the web extension in a go file and place it where it's supposed to
# be. See

View file

@ -7,7 +7,7 @@
, xdg_utils, yasm, minizip, libwebp
, libusb1, pciutils, nss, re2, zlib
, python2Packages, perl, pkgconfig, clang-tools
, python2Packages, perl, pkgconfig
, nspr, systemd, kerberos
, utillinux, alsaLib
, bison, gperf
@ -104,8 +104,6 @@ let
result
else result;
llvm-clang-tools = clang-tools.override { inherit llvmPackages; };
base = rec {
name = "${packageName}-unwrapped-${version}";
inherit (upstream-info) channel version;
@ -151,6 +149,8 @@ let
] ++ optionals (useVaapi) [
# source: https://aur.archlinux.org/cgit/aur.git/tree/vaapi-fix.patch?h=chromium-vaapi
./patches/vaapi-fix.patch
# fix race condition in the interaction with pulseaudio
./patches/webrtc-pulse.patch
];
postPatch = ''
@ -216,8 +216,6 @@ let
ln -s ${stdenv.cc}/bin/clang third_party/llvm-build/Release+Asserts/bin/clang
ln -s ${stdenv.cc}/bin/clang++ third_party/llvm-build/Release+Asserts/bin/clang++
ln -s ${llvmPackages.llvm}/bin/llvm-ar third_party/llvm-build/Release+Asserts/bin/llvm-ar
'' + optionalString (stdenv.lib.versionAtLeast version "82") ''
ln -s ${llvm-clang-tools}/bin/clang-format buildtools/linux64/clang-format
'';
gnFlags = mkGnFlags ({

View file

@ -0,0 +1,61 @@
From 704dc99bd05a94eb61202e6127df94ddfd571e85 Mon Sep 17 00:00:00 2001
From: Dale Curtis <dalecurtis@chromium.org>
Date: Mon, 02 Mar 2020 22:12:22 +0000
Subject: [PATCH] Hold PulseAudio mainloop lock while querying input device info.
a22cc23955cb3d58b7525c5103314226b3ce0137 moved this section out of
UpdateNativeAudioHardwareInfo(), but forgot to bring the lock along.
R=guidou
Bug: 1043040
Change-Id: I5b17a2cf0ad55d61c0811db1dae7045af4a91370
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2083814
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Auto-Submit: Dale Curtis <dalecurtis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#746115}
---
diff --git a/media/audio/pulse/audio_manager_pulse.cc b/media/audio/pulse/audio_manager_pulse.cc
index 90e9317..829846f 100644
--- a/media/audio/pulse/audio_manager_pulse.cc
+++ b/media/audio/pulse/audio_manager_pulse.cc
@@ -104,22 +104,27 @@
AudioParameters AudioManagerPulse::GetInputStreamParameters(
const std::string& device_id) {
- int user_buffer_size = GetUserBufferSize();
- int buffer_size =
- user_buffer_size ? user_buffer_size : kDefaultInputBufferSize;
-
UpdateNativeAudioHardwareInfo();
- auto* operation = pa_context_get_source_info_by_name(
- input_context_, default_source_name_.c_str(), DefaultSourceInfoCallback,
- this);
- WaitForOperationCompletion(input_mainloop_, operation, input_context_);
+
+ {
+ AutoPulseLock auto_lock(input_mainloop_);
+ auto* operation = pa_context_get_source_info_by_name(
+ input_context_, default_source_name_.c_str(), DefaultSourceInfoCallback,
+ this);
+ WaitForOperationCompletion(input_mainloop_, operation, input_context_);
+ }
// We don't want to accidentally open a monitor device, so return invalid
- // parameters for those.
+ // parameters for those. Note: The value of |default_source_is_monitor_|
+ // depends on the the call to pa_context_get_source_info_by_name() above.
if (device_id == AudioDeviceDescription::kDefaultDeviceId &&
default_source_is_monitor_) {
return AudioParameters();
}
+
+ const int user_buffer_size = GetUserBufferSize();
+ const int buffer_size =
+ user_buffer_size ? user_buffer_size : kDefaultInputBufferSize;
return AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
CHANNEL_LAYOUT_STEREO,
native_input_sample_rate_ ? native_input_sample_rate_

View file

@ -18,8 +18,8 @@ let
inherit sha256;
};
buildInputs = [go-bindata];
subPackages = ["cmd/kops"];
nativeBuildInputs = [ go-bindata ];
subPackages = [ "cmd/kops" ];
buildFlagsArray = ''
-ldflags=
@ -43,7 +43,7 @@ let
description = "Easiest way to get a production Kubernetes up and running";
homepage = https://github.com/kubernetes/kops;
license = licenses.asl20;
maintainers = with maintainers; [offline zimbatm kampka];
maintainers = with maintainers; [ offline zimbatm kampka ];
platforms = platforms.unix;
};
} // attrs';
@ -60,7 +60,7 @@ in rec {
version = "1.13.2";
sha256 = "0lkkg34vn020r62ga8vg5d3a8jwvq00xlv3p1s01nkz33f6salng";
};
kops_1_14 = mkKops {
version = "1.14.1";
sha256 = "0ikd8qwrjh8s1sc95g18sm0q6p33swz2m1rjd8zw34mb2w9jv76n";

View file

@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
sha256 = "0caqczz8hrwqb8j94158hz6919i7c9v1v0zknh9m2zbbng4b1awi";
};
buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
outputs = ["out" "man" "pause"];

View file

@ -2,7 +2,6 @@
, buildGoPackage
, fetchFromGitHub
, callPackage
, buildGo112Module
, Security
}:
let
@ -26,11 +25,7 @@ let
in
{
elasticsearch = callPackage ./elasticsearch {
# Version 0.7.0 fails to build with go 1.13 due to dependencies:
# verifying git.apache.org/thrift.git@v0.12.0/go.mod: git.apache.org/thrift.git@v0.12.0/go.mod: Get https://sum.golang.org/lookup/git.apache.org/thrift.git@v0.12.0: dial tcp: lookup sum.golang.org on [::1]:53: read udp [::1]:52968->[::1]:53: read: connection refused
# verifying github.com/hashicorp/terraform@v0.12.0/go.mod: github.com/hashicorp/terraform@v0.12.0/go.mod: Get https://sum.golang.org/lookup/github.com/hashicorp/terraform@v0.12.0: dial tcp: lookup sum.golang.org on [::1]:53: read udp [::1]:52968->[::1]:53: read: connection refused
buildGoModule = buildGo112Module;
inherit Security;
inherit Security;
};
gandi = callPackage ./gandi {};
ibm = callPackage ./ibm {};

View file

@ -30,7 +30,9 @@ buildGoPackage rec {
sha256 = "1l2n97nj6g44n7bhnbjwmv36xi6754p4iq2qnpkdh39x4384a0zz";
};
buildInputs = [ libvirt pkgconfig makeWrapper ];
nativeBuildInputs = [ pkgconfig makeWrapper ];
buildInputs = [ libvirt ];
# mkisofs needed to create ISOs holding cloud-init data,
# and wrapped to terraform via deecb4c1aab780047d79978c636eeb879dd68630
@ -48,4 +50,3 @@ buildGoPackage rec {
maintainers = with maintainers; [ mic92 ];
};
}

View file

@ -14,7 +14,9 @@ buildGoPackage rec {
sha256 = "1g8nf56j17rdhhj7pv3ha1rb2mfc0mdvyzl35pgcki08w7iw08j3";
};
nativeBuildInputs = [ pkgconfig wrapGAppsHook glib cairo gdk-pixbuf gtk3 gnome3.adwaita-icon-theme ];
nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
buildInputs = [ glib cairo gdk-pixbuf gtk3 gnome3.adwaita-icon-theme ];
meta = with stdenv.lib; {
description = "a safe and secure chat client";

View file

@ -3,18 +3,18 @@
}:
let
version = "0.7.3";
version = "0.7.4";
in stdenv.mkDerivation rec {
pname = "rambox";
inherit version;
src = {
x86_64-linux = fetchurl {
url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-amd64.deb";
sha256 = "09v8zlayas906zhqy2aw4wkvyl87ykr09sjf0nmgmf69piwmjgg6";
sha256 = "0m9627bcwfg9aximv7ifsmspm8xi231pcnnd4p46lahb2qp19vbd";
};
i686-linux = fetchurl {
url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-i386.deb";
sha256 = "0gv4pf3vhrw4xyccm24ivv92d9qy4zpwsh0m82ib1w764lyxmyrz";
sha256 = "162p6x400w3pny38adinp53rcifvbkjbs12cwrpf7s3b0yml8qxr";
};
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
@ -43,7 +43,7 @@ in stdenv.mkDerivation rec {
description = "Free and Open Source messaging and emailing app that combines common web applications into one";
homepage = http://rambox.pro;
license = licenses.mit;
maintainers = [ maintainers.gnidorah ];
maintainers = with maintainers; [ gnidorah ma27 ];
platforms = ["i686-linux" "x86_64-linux"];
hydraPlatforms = [];
};

View file

@ -13,13 +13,13 @@ with stdenv.lib;
stdenv.mkDerivation rec {
pname = "remmina";
version = "1.3.10";
version = "1.4.1";
src = fetchFromGitLab {
owner = "Remmina";
repo = "Remmina";
rev = "v${version}";
sha256 = "0gc7b88129avl9sbax3ncvm7zf2qvq35ixvvpr2zj74g3qnphl08";
sha256 = "084yw0fd3qmzzd6xinhf4plv5bg8gfj4jnfac7zi1nif8zilf456";
};
nativeBuildInputs = [ cmake ninja pkgconfig wrapGAppsHook ];
@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
meta = {
license = licenses.gpl2;
homepage = https://gitlab.com/Remmina/Remmina;
homepage = "https://gitlab.com/Remmina/Remmina";
description = "Remote desktop client written in GTK";
maintainers = with maintainers; [ melsigl ryantm ];
platforms = platforms.linux;

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "lean";
version = "3.7.0";
version = "3.7.2";
src = fetchFromGitHub {
owner = "leanprover-community";
repo = "lean";
rev = "v${version}";
sha256 = "1khy41zv4bjbpy3949j7y7d4qal53w4679iqlhm2l8jxd7y46nvi";
sha256 = "0d9lz0mbxyaaykkvk2p8w2hcif9cx0ksihgh7qhxf417bz6msgc1";
};
nativeBuildInputs = [ cmake ];

View file

@ -4,11 +4,11 @@
buildPythonApplication rec {
pname = "git-machete";
version = "2.13.5";
version = "2.13.6";
src = fetchPypi {
inherit pname version;
sha256 = "1ll5l1f3vcib9a8qsqm8bfzz4g4q1dnr389x7x26kl13n6a50wib";
sha256 = "0n07gm05676vgfh6vlym59jwwzym9xmibhr0zpf0drlx02fr47qy";
};
nativeBuildInputs = [ installShellFiles pbr ];
@ -25,7 +25,7 @@ buildPythonApplication rec {
meta = with lib; {
homepage = https://github.com/VirtusLab/git-machete;
description = "Git repository organizer and rebase workflow automation tool";
description = "Git repository organizer and rebase/merge workflow automation tool";
license = licenses.mit;
platforms = platforms.all;
maintainers = [ maintainers.blitz ];

View file

@ -29,8 +29,9 @@ buildGoPackage rec {
substituteInPlace modules/setting/setting.go --subst-var data
'';
nativeBuildInputs = [ makeWrapper ]
++ optional pamSupport pam;
nativeBuildInputs = [ makeWrapper ];
buildInputs = optional pamSupport pam;
preBuild = let
tags = optional pamSupport "pam"

View file

@ -24,8 +24,9 @@ buildGoPackage rec {
substituteInPlace pkg/setting/setting.go --subst-var data
'';
nativeBuildInputs = [ makeWrapper ]
++ optional pamSupport pam;
nativeBuildInputs = [ makeWrapper ];
buildInputs = optional pamSupport pam;
buildFlags = [ "-tags" ];

View file

@ -37,13 +37,13 @@ let
inherit (stdenv.lib) optional optionals;
in mkDerivation rec {
pname = "obs-studio";
version = "25.0.0";
version = "25.0.2";
src = fetchFromGitHub {
owner = "obsproject";
repo = "obs-studio";
rev = version;
sha256 = "1xbvj69zk1x2sv39wqjp5s929c61szn32d3d0ykhxr6jxb0sih4w";
sha256 = "12c2p179fijz5606h3bp4g88479gwgr7d5f8vk6j2n0rlzs76nsn";
};
nativeBuildInputs = [ cmake pkgconfig ];

View file

@ -2,26 +2,17 @@
, doxygen, python3Packages, libopenshot
, wrapGAppsHook, gtk3 }:
let
fixPermissions = fetchpatch rec {
url = https://github.com/OpenShot/openshot-qt/pull/2973.patch;
sha256 = "037rh0p3k4sdzprlpyb73byjq3qhqk5zd0d4iin6bq602r8bbp0n";
};
in
mkDerivationWith python3Packages.buildPythonApplication rec {
pname = "openshot-qt";
version = "2.4.4";
version = "2.5.1";
src = fetchFromGitHub {
owner = "OpenShot";
repo = "openshot-qt";
rev = "v${version}";
sha256 = "0mg63v36h7l8kv2sgf6x8c1n3ygddkqqwlciz7ccxpbm4x1idqba";
sha256 = "0qc5i0ay6j2wab1whl41sjb71cj02pg6y79drf7asrprq8b2rmfq";
};
patches = [ fixPermissions ];
nativeBuildInputs = [ doxygen wrapGAppsHook ];
buildInputs = [ gtk3 ];

View file

@ -3,13 +3,13 @@
with stdenv.lib;
stdenv.mkDerivation rec {
pname = "libopenshot-audio";
version = "0.1.8";
version = "0.2.0";
src = fetchFromGitHub {
owner = "OpenShot";
repo = "libopenshot-audio";
rev = "v${version}";
sha256 = "1fvp6nmf30xzkmcznakh8dv5vn9d7nq051pqcqv638hsfppkmcrl";
sha256 = "13if0m5mvlqly8gmbhschzb9papkgp3yqivklhb949dhy16m8zgf";
};
nativeBuildInputs =

View file

@ -8,13 +8,13 @@
with stdenv.lib;
stdenv.mkDerivation rec {
pname = "libopenshot";
version = "0.2.3";
version = "0.2.5";
src = fetchFromGitHub {
owner = "OpenShot";
repo = "libopenshot";
rev = "v${version}";
sha256 = "0r1qmr8ar5n72603xkj9h065vbpznrqsq88kxxmn9n8djyyvk03k";
sha256 = "1mxjkgjmjzgf628y3rscc6rqf55hxgjpmvwxlncfk1216i5xskwp";
};
patchPhase = ''

View file

@ -1,21 +1,26 @@
{ stdenv, fetchurl, lib, vdr
, libav, libcap, libvdpau
, xineLib, libjpeg, libextractor, mesa, libGLU
, xineLib, libjpeg, libextractor, libglvnd, libGLU
, libX11, libXext, libXrender, libXrandr
, makeWrapper
}: let
name = "vdr-xineliboutput-2.1.0";
makeXinePluginPath = l: lib.concatStringsSep ":" (map (p: "${p}/lib/xine/plugins") l);
self = stdenv.mkDerivation {
inherit name;
self = stdenv.mkDerivation rec {
pname = "vdr-xineliboutput";
version = "2.2.0";
src = fetchurl {
url = "mirror://sourceforge/project/xineliboutput/xineliboutput/${name}/${name}.tgz";
sha256 = "1phrxpaz8li7z0qy241spawalhcmwkv5hh3gdijbv4h7mm899yba";
url = "mirror://sourceforge/project/xineliboutput/xineliboutput/${pname}-${version}/${pname}-${version}.tgz";
sha256 = "0a24hs5nr7ncf51c5agyfn1xrvb4p70y3i0s6dlyyd9bwbfjldns";
};
postPatch = ''
# pkg-config is called with opengl, which do not contain needed glx symbols
substituteInPlace configure \
--replace "X11 opengl" "X11 gl"
'';
# configure don't accept argument --prefix
dontAddPrefix = true;
@ -40,13 +45,13 @@
libcap
libextractor
libjpeg
libglvnd
libGLU
libvdpau
libXext
libXrandr
libXrender
libX11
mesa
vdr
xineLib
];

View file

@ -16,7 +16,10 @@ buildGoPackage rec {
goPackagePath = "github.com/containerd/containerd";
outputs = [ "bin" "out" "man" ];
buildInputs = [ btrfs-progs go-md2man utillinux ];
nativeBuildInputs = [ go-md2man utillinux ];
buildInputs = [ btrfs-progs ];
buildFlags = [ "VERSION=v${version}" ];
BUILDTAGS = []

View file

@ -27,8 +27,8 @@ buildGoPackage rec {
goPackagePath = "github.com/sylabs/singularity";
goDeps = ./deps.nix;
buildInputs = [ openssl ];
nativeBuildInputs = [ removeReferencesTo utillinux which makeWrapper ];
buildInputs = [ openssl utillinux ];
nativeBuildInputs = [ removeReferencesTo which makeWrapper ];
propagatedBuildInputs = [ coreutils squashfsTools ];
prePatch = ''

View file

@ -1,7 +1,9 @@
{ stdenv, ocaml, findlib, dune, opaline }:
{ stdenv, ocaml, findlib, dune, dune_2, opaline }:
{ pname, version, buildInputs ? [], ... }@args:
let Dune = if args.useDune2 or false then dune_2 else dune; in
if args ? minimumOCamlVersion &&
! stdenv.lib.versionAtLeast ocaml.version args.minimumOCamlVersion
then throw "${pname}-${version} is not available for OCaml ${ocaml.version}"
@ -29,7 +31,7 @@ stdenv.mkDerivation ({
name = "ocaml${ocaml.version}-${pname}-${version}";
buildInputs = [ ocaml dune findlib ] ++ buildInputs;
buildInputs = [ ocaml Dune findlib ] ++ buildInputs;
meta = (args.meta or {}) // { platforms = args.meta.platforms or ocaml.meta.platforms; };

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "greybird";
version = "3.22.11";
version = "3.22.12";
src = fetchFromGitHub {
owner = "shimmerproject";
repo = pname;
rev = "v${version}";
sha256 = "00x7dcjldph9k0nmvc8hyh3k4lhbmwk791rywd89ry6jivrx40pc";
sha256 = "1j66ddvl3pmwh2v8ajm8r5g5nbsr7r262ff1qn2nf3i0gy8b3lq8";
};
nativeBuildInputs = [

View file

@ -8,6 +8,7 @@ lib.makeScope pkgs.newScope (self: with self; {
cinnamon-settings-daemon = callPackage ./cinnamon-settings-daemon { };
cjs = callPackage ./cjs { };
nemo = callPackage ./nemo { };
mint-themes = callPackage ./mint-themes { };
muffin = callPackage ./muffin { };
xapps = callPackage ./xapps { };
})

View file

@ -0,0 +1,41 @@
{ fetchFromGitHub
, stdenv
, python3
, sassc
, sass
}:
stdenv.mkDerivation rec {
pname = "mint-themes";
version = "1.8.0";
src = fetchFromGitHub {
owner = "linuxmint";
repo = pname;
rev = version;
sha256 = "0a8f2cmcl00y4607v5qr2zdcdjc0z74ixm2yakscvw6qzgsh9fac";
};
nativeBuildInputs = [
python3
sassc
sass
];
preBuild = ''
patchShebangs .
'';
installPhase = ''
mkdir -p $out
mv usr/share $out
'';
meta = with stdenv.lib; {
homepage = "https://github.com/linuxmint/mint-themes";
description = "Mint-X and Mint-Y themes for the cinnamon desktop";
license = licenses.gpl3; # from debian/copyright
platforms = platforms.linux;
maintainers = [ maintainers.mkg20001 ];
};
}

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, pkgconfig, gettext, xtrans, dbus-glib, systemd,
libSM, libXtst, gtk3, epoxy, polkit, hicolor-icon-theme, mate,
wrapGAppsHook
wrapGAppsHook, fetchpatch
}:
stdenv.mkDerivation rec {
@ -12,6 +12,14 @@ stdenv.mkDerivation rec {
sha256 = "01scj5d1xlri9b2id8gm9kfni9nzhdjdf7rag7fvcxwqp7baz3h3";
};
patches = [
# allow turning on debugging from environment variable
(fetchpatch {
url = "https://github.com/mate-desktop/mate-session-manager/commit/3ab6fbfc811d00100d7a2959f8bbb157b536690d.patch";
sha256 = "0yjaklq0mp44clymyhy240kxlw95z3azmravh4f5pfm9dys33sg0";
})
];
nativeBuildInputs = [
pkgconfig
gettext
@ -33,6 +41,14 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
postFixup = ''
substituteInPlace $out/share/xsessions/mate.desktop \
--replace "Exec=mate-session" "Exec=$out/bin/mate-session" \
--replace "TryExec=mate-session" "TryExec=$out/bin/mate-session"
'';
passthru.providedSessions = [ "mate" ];
meta = with stdenv.lib; {
description = "MATE Desktop session manager";
homepage = "https://github.com/mate-desktop/mate-session-manager";

View file

@ -11,7 +11,7 @@ let
in
{ stdenv, fetchurl, ncurses, buildEnv
, libX11, xorgproto, useX11 ? safeX11 stdenv
, libX11, xorgproto, useX11 ? safeX11 stdenv && !stdenv.lib.versionAtLeast version "4.09"
, aflSupport ? false
, flambdaSupport ? false
}:

View file

@ -6,18 +6,18 @@
stdenv.mkDerivation rec {
pname = "rgbds";
version = "0.3.9";
version = "0.3.10";
src = fetchFromGitHub {
owner = "rednex";
repo = "rgbds";
rev = "v${version}";
sha256 = "0pzd9ig3ahpgq7jbj82grllxx1v01d620insr2m8h0c6jj25n5hv";
sha256 = "0752fbffxgxyf3jw2iij88l05dqhppgcxy7dvk82hp4wdg4cflpq";
};
nativeBuildInputs = [ bison flex pkg-config libpng ];
installFlags = [ "PREFIX=\${out}" ];
meta = with stdenv.lib; {
homepage = https://rednex.github.io/rgbds/;
homepage = "https://rednex.github.io/rgbds/";
description = "A free assembler/linker package for the Game Boy and Game Boy Color";
license = licenses.mit;
longDescription =

View file

@ -49,6 +49,8 @@
# - JIT compiler for loops:
, enableJIT ? false
, llvm ? null
, libiconv
, darwin
}:
let
@ -107,10 +109,13 @@ stdenv.mkDerivation rec {
++ (stdenv.lib.optional (gnuplot != null) gnuplot)
++ (stdenv.lib.optional (python != null) python)
++ (stdenv.lib.optionals (!stdenv.isDarwin) [ libGL libGLU libX11 ])
++ (stdenv.lib.optionals (stdenv.isDarwin) [ libiconv
darwin.apple_sdk.frameworks.Accelerate
darwin.apple_sdk.frameworks.Cocoa ])
;
nativeBuildInputs = [
pkgconfig
gfortran
gfortran
# Listed here as well because it's outputs are split
fftw
fftwSinglePrec
@ -135,6 +140,7 @@ stdenv.mkDerivation rec {
"--with-blas=openblas"
"--with-lapack=openblas"
]
++ (if stdenv.isDarwin then [ "--enable-link-all-dependencies" ] else [ ])
++ stdenv.lib.optionals enableReadline [ "--enable-readline" ]
++ stdenv.lib.optionals openblas.blas64 [ "--enable-64" ]
++ stdenv.lib.optionals stdenv.isDarwin [ "--with-x=no" ]
@ -161,7 +167,7 @@ stdenv.mkDerivation rec {
# https://savannah.gnu.org/bugs/?func=detailitem&item_id=56425 is the best attempt to fix JIT
broken = enableJIT;
platforms = if overridePlatforms == null then
(with stdenv.lib.platforms; linux ++ darwin)
(with stdenv.lib; platforms.linux ++ platforms.darwin)
else overridePlatforms;
};
}

View file

@ -0,0 +1,29 @@
{ stdenv, fetchFromGitHub, cmake, pkg-config, glib, libsndfile }:
stdenv.mkDerivation rec {
pname = "libinstpatch";
version = "1.1.3";
src = fetchFromGitHub {
owner = "swami";
repo = pname;
rev = "v${version}";
sha256 = "0ksilyszcm7mwb6m8qyrgalvh4h2vkyz7wzj0xczcqkj15bcl4lw";
};
nativeBuildInputs = [ cmake pkg-config ];
propagatedBuildInputs = [ glib libsndfile ]; # Both are needed for includes.
cmakeFlags = [
"-DLIB_SUFFIX=" # Install in $out/lib.
];
meta = with stdenv.lib; {
homepage = http://www.swamiproject.org/;
description = "MIDI instrument patch files support library";
license = licenses.lgpl21;
maintainers = with maintainers; [ orivej ];
platforms = platforms.linux;
};
}

View file

@ -9,8 +9,11 @@ stdenv.mkDerivation rec {
sha256 = "1p3hafsxgs5d4za7n66lf5nz74qssfqpmk520cm7iq2njvvlqm2z";
};
patches = [ ./lilv-pkgconfig.patch ];
nativeBuildInputs = [ pkgconfig python3 wafHook ];
buildInputs = [ lv2 serd sord sratom ];
buildInputs = [ serd sord sratom ];
propagatedBuildInputs = [ lv2 ];
meta = with stdenv.lib; {
homepage = http://drobilla.net/software/lilv;

View file

@ -0,0 +1,6 @@
--- a/lilv.pc.in
+++ b/lilv.pc.in
@@ -9 +9,2 @@ Description: Simple C library for hosting LV2 plugins
-Requires: @LILV_PKG_DEPS@
+Requires: lv2
+Requires.private: @LILV_PKG_DEPS@

View file

@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
sha256 = "1pglnjz907ajlhnlnig3p0sx7hdkpggr8ss7b3wzf1lykzgv9l52";
};
patches = [ ./rtaudio-pkgconfig.patch ];
enableParallelBuilding = true;
buildInputs = [ autoconf automake libtool libjack2 alsaLib pulseaudio rtmidi ];

View file

@ -0,0 +1,5 @@
--- a/rtaudio.pc.in
+++ b/rtaudio.pc.in
@@ -9 +9 @@ Version: @PACKAGE_VERSION@
-Requires: @req@
+Requires.private: @req@

View file

@ -2,19 +2,19 @@
stdenv.mkDerivation rec {
pname = "hiredis";
version = "0.14.0";
version = "0.14.1";
src = fetchFromGitHub {
owner = "redis";
repo = "hiredis";
rev = "v${version}";
sha256 = "0ik38lwpmm780jqrry95ckf6flmvd172444p3q8d1k9n99jwij9c";
sha256 = "1r93ssniiv610pj6d78i1cngism0cdv2k8cmzy7jf9klf76jiwfq";
};
PREFIX = "\${out}";
meta = with stdenv.lib; {
homepage = https://github.com/redis/hiredis;
homepage = "https://github.com/redis/hiredis";
description = "Minimalistic C client for Redis >= 1.2";
license = licenses.bsd3;
platforms = platforms.all;

View file

@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ pkgconfig python3 wafHook ];
buildInputs = [ serd pcre ];
buildInputs = [ pcre ];
propagatedBuildInputs = [ serd ];
meta = with stdenv.lib; {
homepage = http://drobilla.net/software/sord;

View file

@ -3,6 +3,8 @@
buildDunePackage rec {
pname = "dune-configurator";
useDune2 = true;
inherit (dune_2) src version;
dontAddPrefix = true;

View file

@ -3,6 +3,8 @@
buildDunePackage rec {
pname = "dune-private-libs";
useDune2 = true;
inherit (dune_2) src version;
dontAddPrefix = true;

View file

@ -1,9 +1,11 @@
{ stdenv, buildDune2Package, fetchFromGitHub, ctypes, libcxx }:
{ stdenv, buildDunePackage, fetchFromGitHub, ctypes, libcxx }:
buildDune2Package rec {
buildDunePackage rec {
pname = "eigen";
version = "0.2.0";
useDune2 = true;
src = fetchFromGitHub {
owner = "owlbarn";
repo = pname;

View file

@ -0,0 +1,23 @@
{ lib, fetchurl, buildDunePackage, dune-configurator, libX11 }:
buildDunePackage rec {
pname = "graphics";
version = "5.1.0";
useDune2 = true;
src = fetchurl {
url = "https://github.com/ocaml/graphics/releases/download/${version}/graphics-${version}.tbz";
sha256 = "16z997mp0ccilaqqvmz3wp7vx0ghaf4ik9qklgd4piklcl1yv5n5";
};
buildInputs = [ dune-configurator ];
propagatedBuildInputs = [ libX11 ];
meta = {
homepage = "https://github.com/ocaml/graphics";
description = "A set of portable drawing primitives";
license = lib.licenses.lgpl2;
};
}

View file

@ -1,9 +1,11 @@
{ stdenv, buildDune2Package, fetchFromGitHub, stdlib-shims }:
{ stdenv, buildDunePackage, fetchFromGitHub, stdlib-shims }:
buildDune2Package rec {
buildDunePackage rec {
pname = "owl-base";
version = "0.8.0";
useDune2 = true;
src = fetchFromGitHub {
owner = "owlbarn";
repo = "owl";

View file

@ -1,5 +1,5 @@
{ stdenv
, buildDune2Package
, buildDunePackage
, dune-configurator
, fetchFromGitHub
, alcotest
@ -11,10 +11,10 @@
, npy
}:
buildDune2Package rec {
buildDunePackage rec {
pname = "owl";
inherit (owl-base) version src meta;
inherit (owl-base) version src meta useDune2;
checkInputs = [ alcotest ];
buildInputs = [ dune-configurator ];

View file

@ -1,10 +1,12 @@
{ stdenv, buildDune2Package, fetchFromGitHub, ppx_deriving
{ stdenv, buildDunePackage, fetchFromGitHub, ppx_deriving
, alcotest, biocaml, gnuplot, lacaml, menhir, owl }:
buildDune2Package rec {
buildDunePackage rec {
pname = "phylogenetics";
version = "unstable-2019-11-15";
useDune2 = true;
src = fetchFromGitHub {
owner = "biocaml";
repo = pname;

View file

@ -10,11 +10,11 @@
# wrapped to be able to find aioconsole and any other packages.
buildPythonPackage rec {
pname = "aioconsole";
version = "0.1.15";
version = "0.1.16";
src = fetchPypi {
inherit pname version;
sha256 = "0gbl08p89959g8dqy2vainppg3kyf948xlh18p7iwk5p0mw5d3j9";
sha256 = "0yk4ghvg47drfvdrrcw7nk14pg4shccmyhln9d8hy1lyafcqmnd5";
};
# hardcodes a test dependency on an old version of pytest-asyncio
@ -22,7 +22,7 @@ buildPythonPackage rec {
meta = {
description = "Asynchronous console and interfaces for asyncio";
homepage = https://github.com/vxgmichel/aioconsole;
homepage = "https://github.com/vxgmichel/aioconsole";
license = lib.licenses.gpl3;
maintainers = [ lib.maintainers.catern ];
};

View file

@ -11,12 +11,12 @@
buildPythonPackage rec {
pname = "azure-mgmt-monitor";
version = "0.7.0";
version = "0.8.0";
src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "1pprvk5255b6brbw73g0g13zygwa7a2px5x08wy3153rqlzan5l2";
sha256 = "09bhk6kpf1j1kgsyfdrfmfixrdj0iikx25dr1mh9dc6lci07i1cx";
};
propagatedBuildInputs = [

View file

@ -10,12 +10,12 @@
buildPythonPackage rec {
pname = "azure-mgmt-web";
version = "0.44.0";
version = "0.45.0";
src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "05dqakhfi301k2jnvccxdkigqvwnf9xz858pqg9vsri3dq69f1rw";
sha256 = "04wdb7vksjhcvv0gkjjr37lmb5ads5pr00cjac8r3szimr64zspr";
};
propagatedBuildInputs = [

View file

@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "zc.buildout";
version = "2.13.2";
version = "2.13.3";
src = fetchPypi {
inherit pname version;
sha256 = "5dd4de86dda684c46ef8ee9cc84e335ca7f6275d4363a684de82225270d1e328";
sha256 = "1dyc5g3yv7wm3hf3fcsh6y1wivzjj1bspafr5qqb653z9a31lsfn";
};
patches = [ ./nix.patch ];
@ -14,7 +14,7 @@ buildPythonPackage rec {
postInstall = "mv $out/bin/buildout{,-nix}";
meta = {
homepage = http://www.buildout.org;
homepage = "http://www.buildout.org";
description = "A software build and configuration system";
license = stdenv.lib.licenses.zpl21;
maintainers = [ stdenv.lib.maintainers.goibhniu ];

View file

@ -6,17 +6,19 @@ buildPythonPackage rec {
pname = "carbon";
version = "1.1.6";
disabled = isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "9ecda1469e497e3fed346b23ac94fd576e1bd9962677ab88975f4f598186e851";
};
# Carbon-s default installation is /opt/graphite. This env variable ensures
# carbon is installed as a regular python module.
GRAPHITE_NO_PREFIX="True";
propagatedBuildInputs = [ twisted whisper txamqp cachetools urllib3 ];
meta = with stdenv.lib; {
homepage = http://graphite.wikidot.com/;
homepage = "http://graphiteapp.org/";
description = "Backend data caching and persistence daemon for Graphite";
maintainers = with maintainers; [ offline basvandijk ];
license = licenses.asl20;

View file

@ -7,11 +7,11 @@
buildPythonPackage rec {
pname = "cchardet";
version = "2.1.5";
version = "2.1.6";
src = fetchPypi {
inherit pname version;
sha256 = "240efe3f255f916769458343840b9c6403cf3192720bc5129792cbcb88bf72fb";
sha256 = "1cs6y59qhbal8fgbyjk2lpjykh8kfjhq16clfssylsddb4hgnsmp";
};
checkInputs = [ nose ];
@ -21,7 +21,7 @@ buildPythonPackage rec {
meta = {
description = "High-speed universal character encoding detector";
homepage = https://github.com/PyYoshi/cChardet;
homepage = "https://github.com/PyYoshi/cChardet";
license = lib.licenses.mpl11;
maintainers = with lib.maintainers; [ ivan ];
};

View file

@ -1,32 +0,0 @@
{ stdenv
, buildPythonPackage
, fetchurl
}:
buildPythonPackage rec {
pname = "Django";
version = "1.8.19";
src = fetchurl {
url = "http://www.djangoproject.com/m/releases/1.8/${pname}-${version}.tar.gz";
sha256 = "0iy0ni9j1rnx9b06ycgbg2dkrf3qid3y2jipk9x28cykz5f4mm1k";
};
# too complicated to setup
doCheck = false;
meta = with stdenv.lib; {
description = "A high-level Python Web framework";
homepage = https://www.djangoproject.com/;
license = licenses.bsd0;
knownVulnerabilities = [
# The patches were not backported due to Django 1.8 having reached EOL
https://www.djangoproject.com/weblog/2018/aug/01/security-releases/
https://www.djangoproject.com/weblog/2019/jan/04/security-releases/
https://www.djangoproject.com/weblog/2019/feb/11/security-releases/
https://www.djangoproject.com/weblog/2019/jun/03/security-releases/
https://www.djangoproject.com/weblog/2019/jul/01/security-releases/
];
};
}

View file

@ -3,11 +3,11 @@
buildPythonPackage rec {
pname = "dropbox";
version = "9.4.0";
version = "9.5.0";
src = fetchPypi {
inherit pname version;
sha256 = "0qid094qna6bl4zpd08f6snvipwjls1yadacvmwri11djgp0wvj3";
sha256 = "0iz9hg1j7q9chka6fyzgpzqg2v4nbjx61xfvn9ixprxrdhvhr2hi";
};
# Set DROPBOX_TOKEN environment variable to a valid token.
@ -18,7 +18,7 @@ buildPythonPackage rec {
meta = with stdenv.lib; {
description = "A Python library for Dropbox's HTTP-based Core and Datastore APIs";
homepage = https://www.dropbox.com/developers/core/docs;
homepage = "https://www.dropbox.com/developers/core/docs";
license = licenses.mit;
};
}

View file

@ -6,11 +6,11 @@
buildPythonPackage rec {
pname = "Fiona";
version = "1.8.13";
version = "1.8.13.post1";
src = fetchPypi {
inherit pname version;
sha256 = "5ec34898c8b983a723fb4e949dd3e0ed7e691c303e51f6bfd61e52ac9ac813ae";
sha256 = "00366f2j21b5r4r8310sadf7jjhdr44s0381dhjqkw2nzpwjnhqs";
};
CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11";

View file

@ -1,30 +1,27 @@
{ lib, fetchFromGitHub, buildPythonPackage, fetchpatch, flake8, six }:
{ lib, isPy27, fetchFromGitHub, buildPythonPackage, fetchpatch, flake8, six }:
buildPythonPackage rec {
pname = "flake8-future-import";
version = "0.4.5";
version = "0.4.6";
# PyPI tarball doesn't include the test suite
src = fetchFromGitHub {
owner = "xZise";
repo = "flake8-future-import";
rev = version;
sha256 = "00fpxa6g8cabybnciwnpsbg60zhgydc966jgwyyggw1pcg0frdqr";
sha256 = "00q8n15xdnvqj454arn7xxksyrzh0dw996kjyy7g9rdk0rf8x82z";
};
patches = [
# Add Python 3.7 support. Remove with the next release
(fetchpatch {
url = https://github.com/xZise/flake8-future-import/commit/cace194a44d3b95c9c1ed96640bae49183acca04.patch;
sha256 = "17pkqnh035j5s5c53afs8bk49bq7lnmdwqp5k7izx7sw80z73p9r";
})
];
propagatedBuildInputs = [ flake8 six ];
meta = {
homepage = https://github.com/xZise/flake8-future-import;
# Upstream disables this test case naturally on python 3, but it also fails
# inside NixPkgs for python 2. Since it's going to be deleted, we just skip it
# on py2 as well.
patches = lib.optionals isPy27 [ ./skip-test.patch ];
meta = with lib; {
description = "A flake8 extension to check for the imported __future__ modules to make it easier to have a consistent code base";
license = lib.licenses.mit;
homepage = "https://github.com/xZise/flake8-future-import";
license = licenses.mit;
};
}

View file

@ -0,0 +1,13 @@
diff --git a/test_flake8_future_import.py b/test_flake8_future_import.py
index 84fde59..345f23f 100644
--- a/test_flake8_future_import.py
+++ b/test_flake8_future_import.py
@@ -230,7 +230,7 @@ class TestBadSyntax(TestCaseBase):
"""Test using various bad syntax examples from Python's library."""
-@unittest.skipIf(sys.version_info[:2] >= (3, 7), 'flake8 supports up to 3.6')
+@unittest.skip("Has issue with installed path for flake8 in python2")
class Flake8TestCase(TestCaseBase):
"""

View file

@ -1,52 +1,35 @@
{ stdenv, buildPythonPackage, fetchPypi, isPy3k, which
{ stdenv, buildPythonPackage, fetchPypi, isPy3k
, django, django_tagging, whisper, pycairo, cairocffi, ldap, memcached, pytz, urllib3, scandir
}:
if django.version != "1.8.19"
|| django_tagging.version != "0.4.3"
then throw "graphite-web should be build with django_1_8 and django_tagging_0_4_3"
else buildPythonPackage rec {
buildPythonPackage rec {
pname = "graphite-web";
version = "1.1.6";
disabled = isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "f4c293008ad588456397cd125cdad7f47f4bab5b6dd82b5fb69f5467e7346a2a";
};
patches = [
./update-django-tagging.patch
];
propagatedBuildInputs = [
django django_tagging whisper pycairo cairocffi
ldap memcached pytz urllib3 scandir
];
postInstall = ''
wrapProgram $out/bin/run-graphite-devel-server.py \
--prefix PATH : ${which}/bin
'';
# Carbon-s default installation is /opt/graphite. This env variable ensures
# carbon is installed as a regular python module.
GRAPHITE_NO_PREFIX="True";
preConfigure = ''
# graphite is configured by storing a local_settings.py file inside the
# graphite python package. Since that package is stored in the immutable
# Nix store we can't modify it. So how do we configure graphite?
#
# First of all we rename "graphite.local_settings" to
# "graphite_local_settings" so that the settings are not looked up in the
# graphite package anymore. Secondly we place a directory containing a
# graphite_local_settings.py on the PYTHONPATH in the graphite module
# <nixpkgs/nixos/modules/services/monitoring/graphite.nix>.
substituteInPlace webapp/graphite/settings.py \
--replace "graphite.local_settings" " graphite_local_settings"
substituteInPlace webapp/graphite/settings.py \
--replace "join(WEBAPP_DIR, 'content')" "join('$out', 'webapp', 'content')"
'';
# error: invalid command 'test'
doCheck = false;
meta = with stdenv.lib; {
homepage = http://graphite.wikidot.com/;
homepage = "http://graphiteapp.org/";
description = "Enterprise scalable realtime graphing";
maintainers = with maintainers; [ offline basvandijk ];
license = licenses.asl20;

View file

@ -0,0 +1,12 @@
diff -Nur a/setup.py b/setup.py
--- a/setup.py 2020-03-12 18:45:34.654296302 +0100
+++ b/setup.py 2020-03-12 18:46:17.476893828 +0100
@@ -115,7 +115,7 @@
['templates/*', 'local_settings.py.example']},
scripts=glob('bin/*'),
data_files=list(webapp_content.items()) + storage_dirs + conf_files + examples,
- install_requires=['Django>=1.8,<2.3', 'django-tagging==0.4.3', 'pytz', 'pyparsing', 'cairocffi', 'urllib3', 'scandir', 'six'],
+ install_requires=['Django>=1.8,<2.3', 'django-tagging==0.4.6', 'pytz', 'pyparsing', 'cairocffi', 'urllib3', 'scandir', 'six'],
classifiers=[
'Intended Audience :: Developers',
'Natural Language :: English',

View file

@ -1,32 +0,0 @@
{ stdenv, buildPythonPackage, fetchPypi
, jinja2, markupsafe, pagerduty, pushbullet, python_magic, python-simple-hipchat
, pyyaml, redis, requests, six, websocket_client, nose
}:
buildPythonPackage rec {
pname = "graphitepager";
version = "0.2.11";
src = fetchPypi {
inherit pname version;
sha256 = "0v3g1qcgnkpgjzh6phnv13lnk8qjrcs9sq2qg6k0dk5ik31jfk3d";
};
propagatedBuildInputs = [
jinja2 markupsafe pagerduty pushbullet python_magic python-simple-hipchat
pyyaml redis requests six websocket_client
];
postPatch = ''
substituteInPlace requirements.txt --replace "==" ">="
'';
checkInputs = [ nose ];
checkPhase = "nosetests";
meta = with stdenv.lib; {
description = "A simple alerting application for Graphite metrics";
homepage = https://github.com/seatgeek/graphite-pager;
maintainers = with maintainers; [ offline basvandijk ];
license = licenses.bsd2;
};
}

View file

@ -7,12 +7,12 @@
}:
buildPythonPackage rec {
version = "4.0.4";
version = "4.0.5";
pname = "icalendar";
src = fetchPypi {
inherit pname version;
sha256 = "16gjvqv0n05jrb9g228pdjgzd3amz2pdhvcgsn1jypszjg5m2w9l";
sha256 = "14ynjj65kfmlcvpb7k097w789wvxncd3cr3xz5m1jz9yl9v6vv5q";
};
buildInputs = [ setuptools ];

View file

@ -2,13 +2,13 @@
buildPythonPackage rec {
pname = "mkl-service";
version = "2.1.0";
version = "2.3.0";
src = fetchFromGitHub {
owner = "IntelPython";
repo = "mkl-service";
rev = "v${version}";
sha256 = "1bnpgx629rxqf0yhn0jn68ypj3dqv6njc3981j1g8j8rsm5lycrn";
sha256 = "1b4dkkl439rfaa86ywzc2zf9ifawhvdlaiqcg0il83cn5bzs7g5z";
};
MKLROOT = mkl;

View file

@ -0,0 +1,39 @@
{ buildPythonPackage,
fetchFromGitHub,
isPy27,
libopus,
nose,
stdenv,
substituteAll,
}:
buildPythonPackage rec {
pname = "opuslib";
version = "3.0.3";
disabled = isPy27;
src = fetchFromGitHub {
owner = "orion-labs";
repo = "opuslib";
rev = "92109c528f9f6c550df5e5325ca0fcd4f86b0909";
sha256 = "0kd37wimwd1g6c0w5hq2hiiljgbi1zg3rk5prval086khkzq469p";
};
patches = [
(substituteAll {
src = ./opuslib-paths.patch;
opusLibPath = "${libopus}/lib/libopus${stdenv.hostPlatform.extensions.sharedLibrary}";
})
];
checkInputs = [ nose ];
meta = with stdenv.lib; {
description = "Python bindings to the libopus, IETF low-delay audio codec";
homepage = "https://github.com/orion-labs/opuslib";
license = licenses.bsd3;
platforms = platforms.all;
maintainers = with maintainers; [ thelegy ];
};
}

View file

@ -0,0 +1,26 @@
diff --git a/opuslib/api/__init__.py b/opuslib/api/__init__.py
index 323a2a4..4c8a8fe 100644
--- a/opuslib/api/__init__.py
+++ b/opuslib/api/__init__.py
@@ -7,20 +7,12 @@
import ctypes # type: ignore
-from ctypes.util import find_library # type: ignore
-
__author__ = 'Никита Кузнецов <self@svartalf.info>'
__copyright__ = 'Copyright (c) 2012, SvartalF'
__license__ = 'BSD 3-Clause License'
-lib_location = find_library('opus')
-
-if lib_location is None:
- raise Exception(
- 'Could not find Opus library. Make sure it is installed.')
-
-libopus = ctypes.CDLL(lib_location)
+libopus = ctypes.CDLL('@opusLibPath@')
c_int_pointer = ctypes.POINTER(ctypes.c_int)
c_int16_pointer = ctypes.POINTER(ctypes.c_int16)

View file

@ -6,11 +6,11 @@
buildPythonPackage rec {
pname = "pid";
version = "2.2.5";
version = "3.0.0";
src = fetchPypi {
inherit pname version;
sha256 = "96eb7dba326b88f5164bc1afdc986c7793e0d32d7f62366256a3903c7b0614ef";
sha256 = "0pdp8h1m4brxalcsmzzzmjj66vj98g6wigwmcdj5sf8p7insklgn";
};
buildInputs = [ nose ];
@ -20,7 +20,7 @@ buildPythonPackage rec {
meta = with stdenv.lib; {
description = "Pidfile featuring stale detection and file-locking";
homepage = https://github.com/trbs/pid/;
homepage = "https://github.com/trbs/pid/";
license = licenses.asl20;
};

View file

@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "pyhcl";
version = "0.4.0";
version = "0.4.1";
disabled = !isPy3k;
src = fetchFromGitHub {
owner = "virtuald";
repo = pname;
rev = version;
sha256 = "09kwm3digbwn3kmbk76jswxgwfcfchik6cfa2xbhjanh4xs893hs";
sha256 = "13nszg2plfvza3syki1rxnx3k3h90qq4wkgv86l1xpz31k3pf6k4";
};
# https://github.com/virtuald/pyhcl/blob/51a7524b68fe21e175e157b8af931016d7a357ad/setup.py#L64

View file

@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "pylint-django";
version = "2.0.13";
version = "2.0.14";
disabled = !isPy3k;
src = fetchFromGitHub {
owner = "PyCQA";
repo = pname;
rev = "v${version}";
sha256 = "16xfn8zs5khdfh5pdsv3wjjhywzc1qhx7mxi5kpbcvmd6an9qi7s";
sha256 = "07fkwb4phfr71dpajnq6l64phjxvljx2nf8ibs12n9gwjdvm9i52";
};
propagatedBuildInputs = [

View file

@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "pymavlink";
version = "2.4.3";
version = "2.4.6";
src = fetchPypi {
inherit pname version;
sha256 = "332d3d0291b4482641a5b3cd97e879817f50eb9c2b2ddcc30d51d619bad01b51";
sha256 = "1c8bxbm18h4idfdxqgklcz4n5bgsyl9y14gl9314fpflwa2c7ds8";
};
propagatedBuildInputs = [ future lxml ];

View file

@ -21,13 +21,13 @@ in
buildPythonPackage rec {
pname = "python-language-server";
version = "0.31.8";
version = "0.31.9";
src = fetchFromGitHub {
owner = "palantir";
repo = "python-language-server";
rev = version;
sha256 = "sha256:1h0w7x7d9g3z7vmxn5w7qxdkjya3sl0xfnklfaaaj8dkb5mjldpi";
sha256 = "06hd6a1hhd57hrq4vbwfs0saplkhsrz2krv8kq9kw4fz4hx7zj74";
};
# The tests require all the providers, disable otherwise.
@ -53,8 +53,7 @@ buildPythonPackage rec {
"test_pandas_completions"
"test_matplotlib_completions"
"test_snippet_parsing"
];
] ++ stdenv.lib.optional isPy27 "test_flake8_lint";
# checkPhase = ''
# HOME=$TEMPDIR pytest -k "not test_pyqt_completion and not
# '';

View file

@ -1,9 +1,11 @@
{ stdenv, buildPythonPackage, fetchPypi, nose }:
{ stdenv, buildPythonPackage, fetchPypi, pythonAtLeast, nose }:
buildPythonPackage rec {
pname = "rope";
version = "0.14.0";
disabled = pythonAtLeast "3.8"; # 0.17 should support Python 3.8
src = fetchPypi {
inherit pname version;
sha256 = "1bwayj0hh459s3yh0sdrxksr9wfilgi3a49izfaj06kvgyladif5";

View file

@ -3,11 +3,11 @@
buildPythonPackage rec {
pname = "spyder-kernels";
version = "1.8.1";
version = "1.9.0";
src = fetchPypi {
inherit pname version;
sha256 = "a782fc5961a9dd48d520ddc1c868b960d54b8edb1116c21fc2e3c347fe5a4474";
sha256 = "1sqjagabqccrc73a423smfjmiph7lfjzj26r6hn3j3vf3drm3rpj";
};
propagatedBuildInputs = [

View file

@ -1,17 +1,19 @@
{ stdenv, buildPythonPackage, fetchPypi, makeDesktopItem, intervaltree, jedi, pycodestyle,
{ stdenv, buildPythonPackage, fetchPypi, isPy27, makeDesktopItem, intervaltree, jedi, pycodestyle,
psutil, pyflakes, rope, numpy, scipy, matplotlib, pylint, keyring, numpydoc,
qtconsole, qtawesome, nbconvert, mccabe, pyopengl, cloudpickle, pygments,
spyder-kernels, qtpy, pyzmq, chardet, qdarkstyle, watchdog, python-language-server
, pyqtwebengine
, pyqtwebengine, atomicwrites, pyxdg, diff-match-patch
}:
buildPythonPackage rec {
pname = "spyder";
version = "4.0.1";
version = "4.1.1";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "4b279c16487d224368dd2213e1517185fa59fc528f539601fffb34ea97accb7b";
sha256 = "13ajjifyf7w895vpl0h9r59m73zisby81xjw2c5pk49fh5l6ycs9";
};
nativeBuildInputs = [ pyqtwebengine.wrapQtAppsHook ];
@ -20,6 +22,7 @@ buildPythonPackage rec {
intervaltree jedi pycodestyle psutil pyflakes rope numpy scipy matplotlib pylint keyring
numpydoc qtconsole qtawesome nbconvert mccabe pyopengl cloudpickle spyder-kernels
pygments qtpy pyzmq chardet pyqtwebengine qdarkstyle watchdog python-language-server
atomicwrites pyxdg diff-match-patch
];
# There is no test for spyder
@ -42,8 +45,12 @@ buildPythonPackage rec {
substituteInPlace setup.py --replace "pyqt5<5.13" "pyqt5"
'';
# Create desktop item
postInstall = ''
# add Python libs to env so Spyder subprocesses
# created to run compute kernels don't fail with ImportErrors
wrapProgram $out/bin/spyder3 --prefix PYTHONPATH : "$PYTHONPATH"
# Create desktop item
mkdir -p $out/share/icons
cp spyder/images/spyder.svg $out/share/icons
cp -r $desktopItem/share/applications/ $out/share
@ -66,6 +73,5 @@ buildPythonPackage rec {
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ gebner ];
broken = true;
};
}

View file

@ -16,12 +16,12 @@
}:
buildPythonPackage rec {
pname = "Twisted";
version = "19.10.0";
version = "20.3.0";
src = fetchPypi {
inherit pname version;
extension = "tar.bz2";
sha256 = "7394ba7f272ae722a74f3d969dcf599bc4ef093bc392038748a490f1724a515d";
sha256 = "040yzha6cyshnn6ljgk2birgh6mh2cnra48xp5ina5vfsnsmab6p";
};
propagatedBuildInputs = [ zope_interface incremental automat constantly hyperlink pyhamcrest attrs setuptools ];

View file

@ -1,22 +1,22 @@
{ stdenv
, buildPythonPackage
, fetchurl
, fetchPypi
, twisted
}:
buildPythonPackage rec {
pname = "txamqp";
version = "0.3";
pname = "txAMQP";
version = "0.8.2";
src = fetchurl {
url = "https://launchpad.net/txamqp/trunk/${version}/+download/python-txamqp_${version}.orig.tar.gz";
sha256 = "1r2ha0r7g14i4b5figv2spizjrmgfpspdbl1m031lw9px2hhm463";
src = fetchPypi {
inherit pname version;
sha256 = "0jd9864k3csc06kipiwzjlk9mq4054s8kzk5q1cfnxj8572s4iv4";
};
buildInputs = [ twisted ];
propagatedBuildInputs = [ twisted ];
meta = with stdenv.lib; {
homepage = https://launchpad.net/txamqp;
homepage = "https://github.com/txamqp/txamqp";
description = "Library for communicating with AMQP peers and brokers using Twisted";
license = licenses.asl20;
maintainers = [];

View file

@ -1,11 +1,11 @@
{ buildPythonPackage, django_1_8, waitress }:
{ buildPythonPackage, django, waitress }:
buildPythonPackage {
pname = "waitress-django";
version = "0.0.0";
src = ./.;
pythonPath = [ django_1_8 waitress ];
pythonPath = [ django waitress ];
doCheck = false;
meta.description = "A waitress WSGI server serving django";
}

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "tflint";
version = "0.15.2";
version = "0.15.3";
src = fetchFromGitHub {
owner = "terraform-linters";
repo = pname;
rev = "v${version}";
sha256 = "1wwdnqb34l0ad6hlvs74acfh0744ir3ssm8wjwpxbsy0sxkrpxcf";
sha256 = "1j56dadkyg483i2p4i76d4kdkm229yjiyariga96zxp3s4rl0fni";
};
modSha256 = "1jbnsqa0ga372lhbgfnqvx8pdzrm0b2phzzwll4sgd0k1hzv2aqv";
modSha256 = "14vgy5lavyp4w16g7wpi9xbni3js541rc3w9qn5ab3khqw5rdhgn";
buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];

View file

@ -19,7 +19,8 @@ buildGoPackage rec {
outputs = [ "bin" "out" "man" ];
buildInputs = [ go-bindata gotools makeWrapper ];
nativeBuildInputs = [ go-bindata gotools makeWrapper ];
preBuild = ''go generate ./...'';
postInstall = ''

View file

@ -104,7 +104,7 @@ dependencies = [
[[package]]
name = "cargo-make"
version = "0.29.0"
version = "0.30.0"
dependencies = [
"ci_info 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",

View file

@ -2,7 +2,7 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-make";
version = "0.29.0";
version = "0.30.0";
src =
let
@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec {
owner = "sagiegurari";
repo = pname;
rev = version;
sha256 = "0sxwc61iaqln37m45a3sy1c92ri4zad8g5h5fgk5plj0qlps80np";
sha256 = "0zlj2jys97nphymxrzdjmnh9vv7rsq3fgidap96mh26q9af7ffbz";
};
in
runCommand "source" {} ''
@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ openssl ]
++ stdenv.lib.optionals stdenv.isDarwin [ Security ];
cargoSha256 = "1w7nw3amb5by60a8aqvwka4aify8k3csjqys7arzksy98jyn6b4j";
cargoSha256 = "1pjdpnilbxn7vzxl15j5d3k07a80y1mr5cdmj96miyq89j5mmjq0";
# Some tests fail because they need network access.
# However, Travis ensures a proper build.

View file

@ -17,11 +17,11 @@ appimageTools.wrapType2 rec {
src = fetchurl {
url = "https://public-cdn.cloud.unity3d.com/hub/prod/UnityHub.AppImage";
sha256 = "1rx7ih94ig3pd1yx1d3fpx7zpixq3j5birkpnzkh778qqsdrg0nf";
sha256 = "05p5kqbwgqyk2aw2lix5dk1ql16aj6iczxrc63a1l0vj8wrha7z4";
};
meta = with stdenv.lib; {
homepage = https://unity3d.com/;
homepage = "https://unity3d.com/";
description = "Game development tool";
longDescription = ''
Popular development platform for creating 2D and 3D multiplatform games

View file

@ -7,10 +7,9 @@ buildGoPackage rec {
goPackagePath = "github.com/zsa/wally";
subPackages = [ "cli" ];
nativeBuildInputs = [
pkg-config
libusb1
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libusb1 ];
src = fetchFromGitHub {
owner = "zsa";

View file

@ -0,0 +1,75 @@
{ stdenv, fetchFromGitHub, requireFile
, openal, curl, libogg, libvorbis
, SDL2, SDL2_image, zlib
, unfree_assets ? false }:
stdenv.mkDerivation rec {
pname = "keeperrl";
version = "alpha28";
free-src = fetchFromGitHub {
owner = "miki151";
repo = "keeperrl";
rev = version;
sha256 = "0isj8ijn5a89m2r5cxk4lcsq0cydx7c0h87vgr8v5cndm3rd27cy";
};
assets = if unfree_assets then requireFile rec {
name = "keeperrl_data_${version}.tar.gz";
message = ''
This nix expression requires that the KeeperRL art assets are already
part of the store. These can be obtained from a purchased copy of the game
and found in the "data" directory. Make a tar archive of this directory
with
"tar czf ${name} data"
Then add this archive to the nix store with
"nix-prefetch-url file://\$PWD/${name}".
'';
sha256 = "0115pxdzdyma2vicxgr0j21pp82gxdyrlj090s8ihp0b50f0nk53";
} else null;
sourceRoot = "source";
srcs = [ free-src ] ++ stdenv.lib.optional unfree_assets assets;
postUnpack = stdenv.lib.optionalString unfree_assets ''
mv data $sourceRoot
'';
buildInputs = [
openal curl libogg libvorbis SDL2 SDL2_image zlib
];
NIX_CFLAGS_COMPILE = [
"-I${SDL2.dev}/include/SDL2"
];
enableParallelBuilding = true;
makeFlags = [ "OPT=true"
"RELEASE=true"
"DATA_DIR=$(out)/share"
"ENABLE_LOCAL_USER_DIR=true"
];
installPhase = ''
install -Dm755 keeper $out/bin/keeper
install -Dm755 appconfig.txt $out/share/appconfig.txt
cp -r data_free $out/share
cp -r data_contrib $out/share
${stdenv.lib.optionalString unfree_assets "cp -r data $out/share"}
'';
meta = with stdenv.lib; {
description = "A dungeon management rogue-like";
homepage = "https://keeperrl.com/";
license = licenses.gpl2;
maintainers = with maintainers; [ chattered ];
# TODO: Add OS X
platforms = with platforms; [ "i686-linux" "x86_64-linux" ];
};
}

View file

@ -0,0 +1,41 @@
{ stdenv
, fetchurl
, jdk8
, unzip
}:
stdenv.mkDerivation rec {
name = "xmage";
version = "1.4.42V6";
src = fetchurl {
url = "https://github.com/magefree/mage/releases/download/xmage_1.4.42V6/xmage_${version}.zip";
sha256 = "14s4885ldi0rplqmab5m775plsqmmm0m89j402caiqm2q9mzvkhd";
};
preferLocalBuild = true;
unpackPhase = ''
${unzip}/bin/unzip $src
'';
installPhase = ''
mkdir -p $out/bin
cp -rv ./* $out
cat << EOS > $out/bin/xmage
exec ${jdk8}/bin/java -Xms256m -Xmx512m -XX:MaxPermSize=384m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -jar $out/mage-client/lib/mage-client-1.4.42.jar
EOS
chmod +x $out/bin/xmage
'';
meta = with stdenv.lib; {
description = "Magic Another Game Engine";
license = licenses.mit;
maintainers = with maintainers; [ matthiasbeyer ];
homepage = "http://xmage.de/";
};
}

View file

@ -5,11 +5,11 @@ with stdenv.lib;
stdenv.mkDerivation rec {
pname = "fs-uae";
version = "3.0.2";
version = "3.0.3";
src = fetchurl {
url = "https://fs-uae.net/stable/${version}/${pname}-${version}.tar.gz";
sha256 = "1awakxs3rlbm0bxpi37cbavi5fpb89wszksyw62as4nz3qsdrpjf";
sha256 = "0v5c8ns00bam4myj7454hpkrnm9i81jwdzrp5nl7gaa18qb60hjq";
};
nativeBuildInputs = [ pkgconfig ];
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
create customized Amigas.
'';
license = licenses.gpl2Plus;
homepage = https://fs-uae.net;
homepage = "https://fs-uae.net";
maintainers = with stdenv.lib; [ maintainers.AndersonTorres ];
platforms = [ "i686-linux" "x86_64-linux" ];
};

View file

@ -786,7 +786,7 @@ in with stdenv.lib.licenses;
SDL_CONFIG = "${SDL.dev}/bin/sdl-config";
dontAddPrefix = true;
configurePlatforms = [];
meta.badPlatforms = [ "aarch64-linux" ];
makeFlags = stdenv.lib.optional stdenv.hostPlatform.isAarch64 [ "platform=aarch64" ];
};
play = mkLibRetroCore {

View file

@ -1,18 +1,18 @@
{ lib, stdenv, fetchurl, vscode-utils, extractNuGet
, icu, curl, openssl, lttng-ust, autoPatchelfHook
, pythonUseFixed ? false, python # When `true`, the python default setting will be fixed to specified.
# Use version from `PATH` for default setting otherwise.
# Defaults to `false` as we expect it to be project specific most of the time.
, ctagsUseFixed ? true, ctags # When `true`, the ctags default setting will be fixed to specified.
# Use version from `PATH` for default setting otherwise.
# Defaults to `true` as usually not defined on a per projet basis.
, python3
, pythonUseFixed ? false # When `true`, the python default setting will be fixed to specified.
# Use version from `PATH` for default setting otherwise.
# Defaults to `false` as we expect it to be project specific most of the time.
, ctagsUseFixed ? true, ctags # When `true`, the ctags default setting will be fixed to specified.
# Use version from `PATH` for default setting otherwise.
# Defaults to `true` as usually not defined on a per projet basis.
}:
assert pythonUseFixed -> null != python;
assert ctagsUseFixed -> null != ctags;
let
pythonDefaultsTo = if pythonUseFixed then "${python}/bin/python" else "python";
pythonDefaultsTo = if pythonUseFixed then "${python3}/bin/python" else "python";
ctagsDefaultsTo = if ctagsUseFixed then "${ctags}/bin/ctags" else "ctags";
# The arch tag comes from 'PlatformName' defined here:
@ -23,14 +23,14 @@ let
else throw "Only x86_64 Linux and Darwin are supported.";
languageServerSha256 = {
linux-x64 = "10qwi8lih5i6216d1vqsmviab73ha0d3zdvircrgrydkf0d4ancd";
osx-x64 = "08gjxs0bjhz5a9l35vvgwnvzshsyyqiqvb5hxv6w0k2ajgv5z7av";
linux-x64 = "1pmj5pb4xylx4gdx4zgmisn0si59qx51n2m1bh7clv29q6biw05n";
osx-x64 = "0ishiy1z9dghj4ryh95vy8rw0v7q4birdga2zdb4a8am31wmp94b";
}.${arch};
# version is languageServerVersion in the package.json
languageServer = extractNuGet rec {
name = "Python-Language-Server";
version = "0.4.127";
version = "0.5.30";
src = fetchurl {
url = "https://pvsc.azureedge.net/python-language-server-stable/${name}-${arch}.${version}.nupkg";
@ -41,8 +41,8 @@ in vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "python";
publisher = "ms-python";
version = "2020.2.64397";
sha256 = "1kwyc5ycz1276i2zbw93mpq59y2py6kj71gvhzya8xvm184jk07a";
version = "2020.3.69010";
sha256 = "1dg8wfc3yl0msg6c9ccbvwc78f559109slsagi0lgnbc40v6v24b";
};
buildInputs = [
@ -54,6 +54,11 @@ in vscode-utils.buildVscodeMarketplaceExtension {
nativeBuildInputs = [
autoPatchelfHook
python3.pkgs.wrapPython
];
pythonPath = with python3.pkgs; [
setuptools
];
postPatch = ''
@ -70,6 +75,8 @@ in vscode-utils.buildVscodeMarketplaceExtension {
mkdir -p "$out/$installPrefix/languageServer.${languageServer.version}"
cp -R --no-preserve=ownership ${languageServer}/* "$out/$installPrefix/languageServer.${languageServer.version}"
chmod -R +wx "$out/$installPrefix/languageServer.${languageServer.version}"
patchPythonScript "$out/$installPrefix/pythonFiles/lib/python/isort/main.py"
'';
meta = with lib; {

Some files were not shown because too many files have changed in this diff Show more