diff options
76 files changed, 1639 insertions, 334 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 6a88e5a53077..7f8fb9bad2f2 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1746,13 +1746,13 @@ github = "fps"; name = "Florian Paul Schmidt"; }; - + fragamus = { email = "innovative.engineer@gmail.com"; github = "fragamus"; name = "Michael Gough"; }; - + fredeb = { email = "im@fredeb.dev"; github = "fredeeb"; @@ -2486,6 +2486,11 @@ github = "jtojnar"; name = "Jan Tojnar"; }; + juaningan = { + email = "juaningan@gmail.com"; + github = "juaningan"; + name = "Juan Rodal"; + }; juliendehos = { email = "dehos@lisic.univ-littoral.fr"; github = "juliendehos"; @@ -4397,6 +4402,11 @@ github = "sargon"; name = "Daniel Ehlers"; }; + saschagrunert = { + email = "mail@saschagrunert.de"; + github = "saschagrunert"; + name = "Sascha Grunert"; + }; sauyon = { email = "s@uyon.co"; github = "sauyon"; diff --git a/nixos/doc/manual/release-notes/rl-1903.xml b/nixos/doc/manual/release-notes/rl-1903.xml index e9c6cd7e9acb..8ff1681d3b4a 100644 --- a/nixos/doc/manual/release-notes/rl-1903.xml +++ b/nixos/doc/manual/release-notes/rl-1903.xml @@ -3,7 +3,7 @@ xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="sec-release-19.03"> - <title>Release 19.03 (“Koi”, 2019/03/??)</title> + <title>Release 19.03 (“Koi”, 2019/04/11)</title> <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" @@ -20,6 +20,11 @@ <itemizedlist> <listitem> <para> + End of support is planned for end of October 2019, handing over to 19.09. + </para> + </listitem> + <listitem> + <para> The default Python 3 interpreter is now CPython 3.7 instead of CPython 3.6. </para> diff --git a/nixos/doc/manual/release-notes/rl-1909.xml b/nixos/doc/manual/release-notes/rl-1909.xml index ead8f3abd8b2..b78c3e08b799 100644 --- a/nixos/doc/manual/release-notes/rl-1909.xml +++ b/nixos/doc/manual/release-notes/rl-1909.xml @@ -19,7 +19,9 @@ <itemizedlist> <listitem> - <para /> + <para> + End of support is planned for end of April 2020, handing over to 20.03. + </para> </listitem> </itemizedlist> </section> diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index 87b236dd5fd1..5661edbee2db 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -105,6 +105,80 @@ in ''; }; + ensureDatabases = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Ensures that the specified databases exist. + This option will never delete existing databases, especially not when the value of this + option is changed. This means that databases created once through this option or + otherwise have to be removed manually. + ''; + example = [ + "gitea" + "nextcloud" + ]; + }; + + ensureUsers = mkOption { + type = types.listOf (types.submodule { + options = { + name = mkOption { + type = types.str; + description = '' + Name of the user to ensure. + ''; + }; + ensurePermissions = mkOption { + type = types.attrsOf types.str; + default = {}; + description = '' + Permissions to ensure for the user, specified as an attribute set. + The attribute names specify the database and tables to grant the permissions for. + The attribute values specify the permissions to grant. You may specify one or + multiple comma-separated SQL privileges here. + + For more information on how to specify the target + and on which privileges exist, see the + <link xlink:href="https://www.postgresql.org/docs/current/sql-grant.html">GRANT syntax</link>. + The attributes are used as <code>GRANT ''${attrName} ON ''${attrValue}</code>. + ''; + example = literalExample '' + { + "DATABASE nextcloud" = "ALL PRIVILEGES"; + "ALL TABLES IN SCHEMA public" = "ALL PRIVILEGES"; + } + ''; + }; + }; + }); + default = []; + description = '' + Ensures that the specified users exist and have at least the ensured permissions. + The PostgreSQL users will be identified using peer authentication. This authenticates the Unix user with the + same name only, and that without the need for a password. + This option will never delete existing users or remove permissions, especially not when the value of this + option is changed. This means that users created and permissions assigned once through this option or + otherwise have to be removed manually. + ''; + example = literalExample '' + [ + { + name = "nextcloud"; + ensurePermissions = { + "DATABASE nextcloud" = "ALL PRIVILEGES"; + }; + } + { + name = "superuser"; + ensurePermissions = { + "ALL TABLES IN SCHEMA public" = "ALL PRIVILEGES"; + }; + } + ] + ''; + }; + enableTCPIP = mkOption { type = types.bool; default = false; @@ -256,17 +330,30 @@ in # Wait for PostgreSQL to be ready to accept connections. postStart = '' - while ! ${pkgs.sudo}/bin/sudo -u ${cfg.superUser} psql --port=${toString cfg.port} -d postgres -c "" 2> /dev/null; do + PSQL="${pkgs.sudo}/bin/sudo -u ${cfg.superUser} psql --port=${toString cfg.port}" + + while ! $PSQL -d postgres -c "" 2> /dev/null; do if ! kill -0 "$MAINPID"; then exit 1; fi sleep 0.1 done if test -e "${cfg.dataDir}/.first_startup"; then ${optionalString (cfg.initialScript != null) '' - ${pkgs.sudo}/bin/sudo -u ${cfg.superUser} psql -f "${cfg.initialScript}" --port=${toString cfg.port} -d postgres + $PSQL -f "${cfg.initialScript}" -d postgres ''} rm -f "${cfg.dataDir}/.first_startup" fi + '' + optionalString (cfg.ensureDatabases != []) '' + ${concatMapStrings (database: '' + $PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${database}'" | grep -q 1 || $PSQL -tAc "CREATE DATABASE ${database}" + '') cfg.ensureDatabases} + '' + '' + ${concatMapStrings (user: '' + $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc "CREATE USER ${user.name}" + ${concatStringsSep "\n" (mapAttrsToList (database: permission: '' + $PSQL -tAc "GRANT ${permission} ON ${database} TO ${user.name}" + '') user.ensurePermissions)} + '') cfg.ensureUsers} ''; unitConfig.RequiresMountsFor = "${cfg.dataDir}"; diff --git a/nixos/modules/services/networking/syncthing.nix b/nixos/modules/services/networking/syncthing.nix index 114a64dfb175..89dae7bb3f86 100644 --- a/nixos/modules/services/networking/syncthing.nix +++ b/nixos/modules/services/networking/syncthing.nix @@ -5,6 +5,57 @@ with lib; let cfg = config.services.syncthing; defaultUser = "syncthing"; + + devices = mapAttrsToList (name: device: { + deviceID = device.id; + inherit (device) name addresses introducer; + }) cfg.declarative.devices; + + folders = mapAttrsToList ( _: folder: { + inherit (folder) path id label type; + devices = map (device: { deviceId = cfg.declarative.devices.${device}.id; }) folder.devices; + rescanIntervalS = folder.rescanInterval; + fsWatcherEnabled = folder.watch; + fsWatcherDelayS = folder.watchDelay; + ignorePerms = folder.ignorePerms; + }) cfg.declarative.folders; + + # get the api key by parsing the config.xml + getApiKey = pkgs.writers.writeDash "getAPIKey" '' + ${pkgs.libxml2}/bin/xmllint \ + --xpath 'string(configuration/gui/apikey)'\ + ${cfg.configDir}/config.xml + ''; + + updateConfig = pkgs.writers.writeDash "merge-syncthing-config" '' + set -efu + # wait for syncthing port to open + until ${pkgs.curl}/bin/curl -Ss ${cfg.guiAddress} -o /dev/null; do + sleep 1 + done + + API_KEY=$(${getApiKey}) + OLD_CFG=$(${pkgs.curl}/bin/curl -Ss \ + -H "X-API-Key: $API_KEY" \ + ${cfg.guiAddress}/rest/system/config) + + # generate the new config by merging with the nixos config options + NEW_CFG=$(echo "$OLD_CFG" | ${pkgs.jq}/bin/jq -s '.[] as $in | $in * { + "devices": (${builtins.toJSON devices}${optionalString (! cfg.declarative.overrideDevices) " + $in.devices"}), + "folders": (${builtins.toJSON folders}${optionalString (! cfg.declarative.overrideFolders) " + $in.folders"}) + }') + + # POST the new config to syncthing + echo "$NEW_CFG" | ${pkgs.curl}/bin/curl -Ss \ + -H "X-API-Key: $API_KEY" \ + ${cfg.guiAddress}/rest/system/config -d @- + + # restart syncthing after sending the new config + ${pkgs.curl}/bin/curl -Ss \ + -H "X-API-Key: $API_KEY" \ + -X POST \ + ${cfg.guiAddress}/rest/system/restart + ''; in { ###### interface options = { @@ -16,6 +67,187 @@ in { available on http://127.0.0.1:8384/. ''; + declarative = { + cert = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Path to users cert.pem file, will be copied into the syncthing's + <literal>configDir</literal> + ''; + }; + + key = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Path to users key.pem file, will be copied into the syncthing's + <literal>configDir</literal> + ''; + }; + + overrideDevices = mkOption { + type = types.bool; + default = true; + description = '' + Whether to delete the devices which are not configured via the + <literal>declarative.devices</literal> option. + If set to false, devices added via the webinterface will + persist but will have to be deleted manually. + ''; + }; + + devices = mkOption { + default = {}; + description = '' + Peers/devices which syncthing should communicate with. + ''; + example = [ + { + name = "bigbox"; + id = "7CFNTQM-IMTJBHJ-3UWRDIU-ZGQJFR6-VCXZ3NB-XUH3KZO-N52ITXR-LAIYUAU"; + addresses = [ "tcp://192.168.0.10:51820" ]; + } + ]; + type = types.attrsOf (types.submodule ({ config, ... }: { + options = { + + name = mkOption { + type = types.str; + default = config._module.args.name; + description = '' + Name of the device + ''; + }; + + addresses = mkOption { + type = types.listOf types.str; + default = []; + description = '' + The addresses used to connect to the device. + If this is let empty, dynamic configuration is attempted + ''; + }; + + id = mkOption { + type = types.str; + description = '' + The id of the other peer, this is mandatory. It's documented at + https://docs.syncthing.net/dev/device-ids.html + ''; + }; + + introducer = mkOption { + type = types.bool; + default = false; + description = '' + If the device should act as an introducer and be allowed + to add folders on this computer. + ''; + }; + + }; + })); + }; + + overrideFolders = mkOption { + type = types.bool; + default = true; + description = '' + Whether to delete the folders which are not configured via the + <literal>declarative.folders</literal> option. + If set to false, folders added via the webinterface will persist + but will have to be deleted manually. + ''; + }; + + folders = mkOption { + default = {}; + description = '' + folders which should be shared by syncthing. + ''; + type = types.attrsOf (types.submodule ({ config, ... }: { + options = { + + path = mkOption { + type = types.str; + default = config._module.args.name; + description = '' + The path to the folder which should be shared. + ''; + }; + + id = mkOption { + type = types.str; + default = config._module.args.name; + description = '' + The id of the folder. Must be the same on all devices. + ''; + }; + + label = mkOption { + type = types.str; + default = config._module.args.name; + description = '' + The label of the folder. + ''; + }; + + devices = mkOption { + type = types.listOf types.str; + default = []; + description = '' + The devices this folder should be shared with. Must be defined + in the <literal>declarative.devices</literal> attribute. + ''; + }; + + rescanInterval = mkOption { + type = types.int; + default = 3600; + description = '' + How often the folders should be rescaned for changes. + ''; + }; + + type = mkOption { + type = types.enum [ "sendreceive" "sendonly" "receiveonly" ]; + default = "sendreceive"; + description = '' + Whether to send only changes from this folder, only receive them + or propagate both. + ''; + }; + + watch = mkOption { + type = types.bool; + default = true; + description = '' + Whether the folder should be watched for changes by inotify. + ''; + }; + + watchDelay = mkOption { + type = types.int; + default = 10; + description = '' + The delay after an inotify event is triggered. + ''; + }; + + ignorePerms = mkOption { + type = types.bool; + default = true; + description = '' + Whether to propagate permission changes. + ''; + }; + + }; + })); + }; + }; + guiAddress = mkOption { type = types.str; default = "127.0.0.1:8384"; @@ -151,6 +383,23 @@ in { RestartForceExitStatus="3 4"; User = cfg.user; Group = cfg.group; + ExecStartPre = mkIf (cfg.declarative.cert != null || cfg.declarative.key != null) + "+${pkgs.writers.writeBash "syncthing-copy-keys" '' + mkdir -p ${cfg.configDir} + chown ${cfg.user}:${cfg.group} ${cfg.configDir} + chmod 700 ${cfg.configDir} + ${optionalString (cfg.declarative.cert != null) '' + cp ${toString cfg.declarative.cert} ${cfg.configDir}/cert.pem + chown ${cfg.user}:${cfg.group} ${cfg.configDir}/cert.pem + chmod 400 ${cfg.configDir}/cert.pem + ''} + ${optionalString (cfg.declarative.key != null) '' + cp ${toString cfg.declarative.key} ${cfg.configDir}/key.pem + chown ${cfg.user}:${cfg.group} ${cfg.configDir}/key.pem + chmod 400 ${cfg.configDir}/key.pem + ''} + ''}" + ; ExecStart = '' ${cfg.package}/bin/syncthing \ -no-browser \ @@ -159,6 +408,17 @@ in { ''; }; }; + syncthing-init = { + after = [ "syncthing.service" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + User = cfg.user; + RemainAfterExit = true; + Type = "oneshot"; + ExecStart = updateConfig; + }; + }; syncthing-resume = { wantedBy = [ "suspend.target" ]; diff --git a/nixos/modules/services/networking/xinetd.nix b/nixos/modules/services/networking/xinetd.nix index 002245027804..2d7cd5cebb48 100644 --- a/nixos/modules/services/networking/xinetd.nix +++ b/nixos/modules/services/networking/xinetd.nix @@ -146,7 +146,7 @@ in after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; path = [ pkgs.xinetd ]; - script = "xinetd -syslog daemon -dontfork -stayalive -f ${configFile}"; + script = "exec xinetd -syslog daemon -dontfork -stayalive -f ${configFile}"; }; }; } diff --git a/nixos/modules/services/security/fprintd.nix b/nixos/modules/services/security/fprintd.nix index 9ed7f2a2efd9..8ece1ca19013 100644 --- a/nixos/modules/services/security/fprintd.nix +++ b/nixos/modules/services/security/fprintd.nix @@ -25,6 +25,16 @@ in ''; }; + package = mkOption { + type = types.package; + default = pkgs.fprintd; + defaultText = "pkgs.fprintd"; + example = "pkgs.fprintd-thinkpad"; + description = '' + fprintd package to use. + ''; + }; + }; }; @@ -38,7 +48,7 @@ in environment.systemPackages = [ pkgs.fprintd ]; - systemd.packages = [ pkgs.fprintd ]; + systemd.packages = [ cfg.package ]; }; diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index c31d9d78da60..5be7c4292e5f 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -231,6 +231,7 @@ in strongswan-swanctl = handleTest ./strongswan-swanctl.nix {}; sudo = handleTest ./sudo.nix {}; switchTest = handleTest ./switch-test.nix {}; + syncthing-init = handleTest ./syncthing-init.nix {}; syncthing-relay = handleTest ./syncthing-relay.nix {}; systemd = handleTest ./systemd.nix {}; systemd-confinement = handleTest ./systemd-confinement.nix {}; diff --git a/nixos/tests/redmine.nix b/nixos/tests/redmine.nix index ea72a0121d11..cbdb5c8d2954 100644 --- a/nixos/tests/redmine.nix +++ b/nixos/tests/redmine.nix @@ -7,7 +7,7 @@ with import ../lib/testing.nix { inherit system pkgs; }; with pkgs.lib; let - redmineTest = package: makeTest { + mysqlTest = package: makeTest { machine = { config, pkgs, ... }: { services.mysql.enable = true; @@ -21,6 +21,7 @@ let services.redmine.enable = true; services.redmine.package = package; + services.redmine.database.type = "mysql2"; services.redmine.database.socket = "/run/mysqld/mysqld.sock"; services.redmine.plugins = { redmine_env_auth = pkgs.fetchurl { @@ -38,7 +39,44 @@ let testScript = '' startAll; + $machine->waitForUnit('redmine.service'); + $machine->waitForOpenPort('3000'); + $machine->succeed("curl --fail http://localhost:3000/"); + ''; + }; + + pgsqlTest = package: makeTest { + machine = + { config, pkgs, ... }: + { services.postgresql.enable = true; + services.postgresql.ensureDatabases = [ "redmine" ]; + services.postgresql.ensureUsers = [ + { name = "redmine"; + ensurePermissions = { "DATABASE redmine" = "ALL PRIVILEGES"; }; + } + ]; + + services.redmine.enable = true; + services.redmine.package = package; + services.redmine.database.type = "postgresql"; + services.redmine.database.host = ""; + services.redmine.database.port = 5432; + services.redmine.plugins = { + redmine_env_auth = pkgs.fetchurl { + url = https://github.com/Intera/redmine_env_auth/archive/0.7.zip; + sha256 = "1xb8lyarc7mpi86yflnlgyllh9hfwb9z304f19dx409gqpia99sc"; + }; + }; + services.redmine.themes = { + dkuk-redmine_alex_skin = pkgs.fetchurl { + url = https://bitbucket.org/dkuk/redmine_alex_skin/get/1842ef675ef3.zip; + sha256 = "0hrin9lzyi50k4w2bd2b30vrf1i4fi1c0gyas5801wn8i7kpm9yl"; + }; + }; + }; + testScript = '' + startAll; $machine->waitForUnit('redmine.service'); $machine->waitForOpenPort('3000'); $machine->succeed("curl --fail http://localhost:3000/"); @@ -46,13 +84,18 @@ let }; in { - redmine_3 = redmineTest pkgs.redmine // { - name = "redmine_3"; + v3-mysql = mysqlTest pkgs.redmine // { + name = "v3-mysql"; + meta.maintainers = [ maintainers.aanderse ]; + }; + + v4-mysql = mysqlTest pkgs.redmine_4 // { + name = "v4-mysql"; meta.maintainers = [ maintainers.aanderse ]; }; - redmine_4 = redmineTest pkgs.redmine_4 // { - name = "redmine_4"; + v4-pgsql = pgsqlTest pkgs.redmine_4 // { + name = "v4-pgsql"; meta.maintainers = [ maintainers.aanderse ]; }; } diff --git a/nixos/tests/syncthing-init.nix b/nixos/tests/syncthing-init.nix new file mode 100644 index 000000000000..811a466ff941 --- /dev/null +++ b/nixos/tests/syncthing-init.nix @@ -0,0 +1,30 @@ +import ./make-test.nix ({ lib, pkgs, ... }: let + + testId = "7CFNTQM-IMTJBHJ-3UWRDIU-ZGQJFR6-VCXZ3NB-XUH3KZO-N52ITXR-LAIYUAU"; + +in { + name = "syncthing-init"; + meta.maintainers = with pkgs.stdenv.lib.maintainers; [ lassulus ]; + + machine = { + services.syncthing = { + enable = true; + declarative = { + devices.testDevice = { + id = testId; + }; + folders.testFolder = { + path = "/tmp/test"; + devices = [ "testDevice" ]; + }; + }; + }; + }; + + testScript = '' + $machine->waitForUnit("syncthing-init.service"); + $machine->succeed("cat /var/lib/syncthing/config.xml") =~ /${testId}/ or die; + $machine->succeed("cat /var/lib/syncthing/config.xml") =~ /testFolder/ or die; + ''; +}) + diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index d53ccb1fdbd1..af5adca20ed8 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -14,9 +14,9 @@ let }; betaVersion = latestVersion; latestVersion = { # canary & dev - version = "3.5.0.13"; # "Android Studio 3.5 Beta 1" - build = "191.5529924"; - sha256Hash = "0i710n2wr0a8lvxf1mg6a5pmdh1l72wa0hwyricyixi0mylwwc6l"; + version = "3.5.0.14"; # "Android Studio 3.5 Beta 2" + build = "191.5549111"; + sha256Hash = "1zy2x0m1nsx3yy64cp1jvgb9aqkribwm64mv50g9355sdz7qjhcf"; }; in rec { # Attributes are named by their corresponding release channels diff --git a/pkgs/applications/misc/guake/default.nix b/pkgs/applications/misc/guake/default.nix index 0d7f460fb062..37352915cb84 100644 --- a/pkgs/applications/misc/guake/default.nix +++ b/pkgs/applications/misc/guake/default.nix @@ -1,8 +1,8 @@ { stdenv, fetchFromGitHub, python3, gettext, gobject-introspection, wrapGAppsHook, glibcLocales -, gtk3, keybinder3, libnotify, libutempter, vte }: +, gtk3, keybinder3, libnotify, libutempter, vte, libwnck3 }: let - version = "3.5.0"; + version = "3.6.3"; in python3.pkgs.buildPythonApplication rec { name = "guake-${version}"; format = "other"; @@ -11,7 +11,7 @@ in python3.pkgs.buildPythonApplication rec { owner = "Guake"; repo = "guake"; rev = version; - sha256 = "0fz0gciw5fpxrp6yyji27l7q8c0r9ljsq6vw584mr70bcl1gzjqx"; + sha256 = "13ipnmqcyixpa6qv83m0f91za4kar14s5jpib68b32z65x1h0j3b"; }; # Strict deps breaks guake @@ -23,7 +23,7 @@ in python3.pkgs.buildPythonApplication rec { buildInputs = [ gtk3 keybinder3 libnotify python3 vte ]; - propagatedBuildInputs = with python3.pkgs; [ dbus-python pbr pycairo pygobject3 ]; + propagatedBuildInputs = with python3.pkgs; [ dbus-python pbr pycairo pygobject3 libwnck3 ]; LC_ALL = "en_US.UTF-8"; # fixes weird encoding error, see https://github.com/NixOS/nixpkgs/pull/38642#issuecomment-379727699 diff --git a/pkgs/applications/misc/pstree/default.nix b/pkgs/applications/misc/pstree/default.nix new file mode 100644 index 000000000000..7aaa8a8c38d2 --- /dev/null +++ b/pkgs/applications/misc/pstree/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + pname = "pstree"; + version = "2.39"; + + src = fetchurl { + urls = [ + "https://distfiles.macports.org/${pname}/${pname}-${version}.tar.gz" + "https://fossies.org/linux/misc/${pname}-${version}.tar.gz" + "ftp://ftp.thp.uni-duisburg.de/pub/source/${pname}-${version}.tar.gz" + ]; + sha256 = "17s7v15c4gryjpi11y1xq75022nkg4ggzvjlq2dkmyg67ssc76vw"; + }; + + sourceRoot = "."; + buildPhase = '' + runHook preBuild + $CC $NIX_CFLAGS -o pstree pstree.c + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + install -Dm0555 ${pname} -t $out/bin + install -Dm0444 ${pname}.1 -t $out/share/man/man1 + runHook postInstall + ''; + + meta = with stdenv.lib; { + description = "Show the set of running processes as a tree"; + homepage = "http://www.thp.uni-duisburg.de/pstree/"; + license = licenses.gpl2; + maintainers = [ maintainers.c0bw3b ]; + platforms = platforms.unix; + priority = 5; # Lower than psmisc also providing pstree on Linux platforms + }; +} diff --git a/pkgs/applications/misc/waybar/default.nix b/pkgs/applications/misc/waybar/default.nix index 776ba8f081e3..cdd78866cdcb 100644 --- a/pkgs/applications/misc/waybar/default.nix +++ b/pkgs/applications/misc/waybar/default.nix @@ -9,13 +9,13 @@ }: stdenv.mkDerivation rec { name = "waybar-${version}"; - version = "0.6.1"; + version = "0.6.5"; src = fetchFromGitHub { owner = "Alexays"; repo = "Waybar"; rev = version; - sha256 = "1hzwqg22sjiirx6743512271p3jlakrw0155av1phrv5b7p3ws8a"; + sha256 = "1k3ynx5ssq7ji0nlx0n7zrgrshxv5abj8fa8c5lcyxr2wxffna9z"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/misc/xmind/default.nix b/pkgs/applications/misc/xmind/default.nix index a12f3dc304ba..fc5abf109894 100644 --- a/pkgs/applications/misc/xmind/default.nix +++ b/pkgs/applications/misc/xmind/default.nix @@ -1,20 +1,23 @@ -{ stdenv, lib, dpkg, fetchurl, gtk2, jre, libXtst, makeWrapper }: +{ stdenv, lib, fetchzip, fetchurl, gtk2, jre, libXtst, makeWrapper, makeDesktopItem, runtimeShell }: stdenv.mkDerivation rec { name = "xmind-${version}"; - version = "7.5-update1"; + version = "8-update8"; - src = if stdenv.hostPlatform.system == "i686-linux" then fetchurl { - url = "http://dl2.xmind.net/xmind-downloads/${name}-linux_i386.deb"; - sha256 = "04kr6pw0kwy715bp9wcnqnw1k5wl65xa87lhljrskm291p402jy1"; - } else if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { - url = "http://dl2.xmind.net/xmind-downloads/${name}-linux_amd64.deb"; - sha256 = "1j2ynhk7p3m3vd6c4mjwpnlzqgfj5c4q3zydab3nfwncwx6gaqj9"; - } else throw "platform ${stdenv.hostPlatform.system} not supported!"; + src = fetchzip { + url = "https://xmind.net/xmind/downloads/${name}-linux.zip"; + stripRoot = false; + sha256 = "1p68z0b4brgiyybz190alqv716ncql49vsksm41y90mcjd8s4jhn"; + }; + + srcIcon = fetchurl { + url = "https://aur.archlinux.org/cgit/aur.git/plain/xmind.png?h=xmind"; + sha256 = "0jxq2fiq69q9ly0m6hx2qfybqad22sl42ciw636071khpqgc885f"; + }; - nativeBuildInputs = [ dpkg makeWrapper ]; + patches = [ ./java-env-config-fixes.patch ]; - unpackCmd = "mkdir root ; dpkg-deb -x $curSrc root"; + nativeBuildInputs = [ makeWrapper ]; dontBuild = true; dontPatchELF = true; @@ -22,12 +25,27 @@ stdenv.mkDerivation rec { libPath = lib.makeLibraryPath [ gtk2 libXtst ]; - installPhase = '' - mkdir -p $out - cp -r usr/lib/xmind $out/libexec - cp -r usr/bin usr/share $out - rm $out/libexec/XMind.ini - mv etc/XMind.ini $out/libexec + desktopItem = makeDesktopItem { + name = "XMind"; + exec = "XMind"; + icon = "xmind"; + desktopName = "XMind"; + comment = meta.description; + categories = "Office;"; + mimeType = "application/xmind;xscheme-handler/xmind"; + }; + + installPhase = let + targetDir = if stdenv.hostPlatform.system == "i686-linux" + then "XMind_i386" + else "XMind_amd64"; + in '' + mkdir -p $out/{bin,libexec/configuration/,share/{applications/,fonts/,icons/hicolor/scalable/apps/}} + cp -r ${targetDir}/{configuration,p2,XMind{,.ini}} $out/libexec + cp -r {plugins,features} $out/libexec/ + cp -r fonts $out/share/fonts/ + cp "${desktopItem}/share/applications/XMind.desktop" $out/share/applications/XMind.desktop + cp ${srcIcon} $out/share/icons/hicolor/scalable/apps/xmind.png patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \ $out/libexec/XMind @@ -35,8 +53,17 @@ stdenv.mkDerivation rec { wrapProgram $out/libexec/XMind \ --prefix LD_LIBRARY_PATH : "${libPath}" - substituteInPlace "$out/bin/XMind" \ - --replace '/usr/lib/xmind' "$out/libexec" + # Inspired by https://aur.archlinux.org/cgit/aur.git/tree/?h=xmind + cat >$out/bin/XMind <<EOF + #! ${runtimeShell} + if [ ! -d "\$HOME/.xmind" ]; then + mkdir -p "\$HOME/.xmind/configuration-cathy/" + cp -r $out/libexec/configuration/ \$HOME/.xmind/configuration-cathy/ + fi + + exec "$out/libexec/XMind" "$@" + EOF + chmod +x $out/bin/XMind ln -s ${jre} $out/libexec/jre ''; @@ -55,9 +82,9 @@ stdenv.mkDerivation rec { GTD. Meanwhile, XMind can read FreeMind and MindManager files, and save to Evernote. ''; - homepage = http://www.xmind.net/; + homepage = https://www.xmind.net/; license = licenses.unfree; platforms = platforms.linux; - maintainers = with maintainers; [ michalrus ]; + maintainers = with maintainers; [ michalrus ma27 ]; }; } diff --git a/pkgs/applications/misc/xmind/java-env-config-fixes.patch b/pkgs/applications/misc/xmind/java-env-config-fixes.patch new file mode 100644 index 000000000000..f359a9c2ba46 --- /dev/null +++ b/pkgs/applications/misc/xmind/java-env-config-fixes.patch @@ -0,0 +1,40 @@ +diff --git a/XMind_amd64/XMind.ini b/XMind_amd64/XMind.ini +index bdd8a37..5f35daf 100644 +--- a/XMind_amd64/XMind.ini ++++ b/XMind_amd64/XMind.ini +@@ -1,11 +1,11 @@ + -configuration +-./configuration ++@user.home/.xmind/configuration-cathy_linux_64 + -data +-../workspace ++@user.home/.xmind/workspace-cathy + -startup +-../plugins/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar ++plugins/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar + --launcher.library +-../plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.400.v20160518-1444 ++plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.400.v20160518-1444 + --launcher.defaultAction + openFile + --launcher.GTK_version +diff --git a/XMind_i386/XMind.ini b/XMind_i386/XMind.ini +index 4ed3225..1d74258 100644 +--- a/XMind_i386/XMind.ini ++++ b/XMind_i386/XMind.ini +@@ -1,11 +1,11 @@ + -configuration +-./configuration ++@user.home/.xmind/configuration-cathy_linux_64 + -data +-../workspace ++@user.home/.xmind/workspace-cathy + -startup +-../plugins/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar ++plugins/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar + --launcher.library +-../plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.400.v20160518-1444 ++plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.400.v20160518-1444 + --launcher.defaultAction + openFile + --launcher.GTK_version diff --git a/pkgs/applications/networking/Sylk/default.nix b/pkgs/applications/networking/Sylk/default.nix new file mode 100644 index 000000000000..36f6279c2092 --- /dev/null +++ b/pkgs/applications/networking/Sylk/default.nix @@ -0,0 +1,32 @@ +{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }: + +let + pname = "Sylk"; + version = "2.1.0"; +in + +appimageTools.wrapType2 rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "http://download.ag-projects.com/Sylk/Sylk-${version}-x86_64.AppImage"; + sha256 = "1ifi8qr6f84dcssxhv5ar1s48nsqxiv2j1blc82248hmq5is24mf"; + }; + + profile = '' + export LC_ALL=C.UTF-8 + export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS + ''; + + multiPkgs = null; # no 32bit needed + extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs; + extraInstallCommands = "mv $out/bin/{${name},${pname}}"; + + meta = with lib; { + description = "Sylk WebRTC client"; + homepage = "http://sylkserver.com/"; + license = licenses.agpl3Plus; + maintainers = with maintainers; [ zimbatm ]; + platforms = [ "i386-linux" "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index 45d0dadbe902..b477a194faf1 100644 --- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -13,11 +13,11 @@ assert pulseaudioSupport -> libpulseaudio != null; let inherit (stdenv.lib) concatStringsSep makeBinPath optional; - version = "2.8.183302.0415"; + version = "2.8.222599.0519"; srcs = { x86_64-linux = fetchurl { url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz"; - sha256 = "07afq614fy09mjymmv3cf8vwa8ps78s2s4909g1a2rwvgkj8bw2x"; + sha256 = "0bmrqxz41pxcz41dcdbwd2b0hjv8fvix09jwxrnca4d50jq9fx7j"; }; }; diff --git a/pkgs/applications/version-management/pijul/default.nix b/pkgs/applications/version-management/pijul/default.nix index b97123926eb5..4f716251153c 100644 --- a/pkgs/applications/version-management/pijul/default.nix +++ b/pkgs/applications/version-management/pijul/default.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchurl, rustPlatform, darwin, openssl, libsodium, pkgconfig }: +{ stdenv, fetchurl, rustPlatform, darwin, openssl, libsodium, nettle, clang, libclang, pkgconfig }: with rustPlatform; buildRustPackage rec { name = "pijul-${version}"; - version = "0.11.0"; + version = "0.12.0"; src = fetchurl { url = "https://pijul.org/releases/${name}.tar.gz"; - sha256 = "e60793ab124e9054c1d5509698acbae507ebb2fab5364d964067bc9ae8b6b5e5"; + sha256 = "1rm787kkh3ya8ix0rjvj7sbrg9armm0rnpkga6gjmsbg5bx20y4q"; }; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig clang ]; postInstall = '' mkdir -p $out/share/{bash-completion/completions,zsh/site-functions,fish/vendor_completions.d} @@ -20,12 +20,14 @@ buildRustPackage rec { $out/bin/pijul generate-completions --fish > $out/share/fish/vendor_completions.d/pijul.fish ''; - buildInputs = [ openssl libsodium ] ++ stdenv.lib.optionals stdenv.isDarwin + LIBCLANG_PATH = libclang + "/lib"; + + buildInputs = [ openssl libsodium nettle libclang ] ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Security ]); doCheck = false; - cargoSha256 = "1r76azmka1d76ff0ddfhzr24b0ry496qrp13945i3vs0fgzk2sdz"; + cargoSha256 = "1w77s5q18yr1gqqif15wmrfdvv2chq8rq3w4dnmxg2gn0r7bmz2k"; meta = with stdenv.lib; { description = "A distributed version control system"; diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix new file mode 100644 index 000000000000..6e2790ef8590 --- /dev/null +++ b/pkgs/applications/virtualization/cri-o/default.nix @@ -0,0 +1,75 @@ +{ flavor ? "" +, ldflags ? "" +, stdenv +, btrfs-progs +, buildGoPackage +, fetchFromGitHub +, glibc +, gpgme +, libapparmor +, libassuan +, libgpgerror +, libseccomp +, libselinux +, lvm2 +, pkgconfig +}: + +buildGoPackage rec { + project = "cri-o"; + version = "1.14.1"; + name = "${project}-${version}${flavor}"; + + goPackagePath = "github.com/${project}/${project}"; + + src = fetchFromGitHub { + owner = "cri-o"; + repo = "cri-o"; + rev = "v${version}"; + sha256 = "1cclxarwabk5zlqysm2dzgsm6qkxyzbnlylr0gs57ppn4ibky3nk"; + }; + + outputs = [ "bin" "out" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ btrfs-progs gpgme libapparmor libassuan libgpgerror + libseccomp libselinux lvm2 ] + ++ stdenv.lib.optionals (glibc != null) [ glibc glibc.static ]; + + makeFlags = ''BUILDTAGS="apparmor seccomp selinux + containers_image_ostree_stub"''; + + buildPhase = '' + pushd go/src/${goPackagePath} + + # Build conmon and pause + go build -tags ${makeFlags} -o bin/crio-config -buildmode=pie \ + -ldflags '-s -w ${ldflags}' ${goPackagePath}/cmd/crio-config + + pushd conmon + ../bin/crio-config + popd + + make -C conmon + make -C pause + + # Build the crio binary + go build -tags ${makeFlags} -o bin/crio -buildmode=pie \ + -ldflags '-s -w ${ldflags}' ${goPackagePath}/cmd/crio + ''; + installPhase = '' + install -Dm755 bin/crio $bin/bin/crio${flavor} + + mkdir -p $bin/libexec/crio + install -Dm755 bin/conmon $bin/libexec/crio/conmon${flavor} + install -Dm755 bin/pause $bin/libexec/crio/pause${flavor} + ''; + + meta = with stdenv.lib; { + homepage = https://cri-o.io; + description = ''Open Container Initiative-based implementation of the + Kubernetes Container Runtime Interface''; + license = licenses.asl20; + maintainers = with maintainers; [ saschagrunert ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/data/fonts/redhat-official/default.nix b/pkgs/data/fonts/redhat-official/default.nix new file mode 100644 index 000000000000..c05b9c69aef5 --- /dev/null +++ b/pkgs/data/fonts/redhat-official/default.nix @@ -0,0 +1,22 @@ +{ lib, fetchzip }: + +let version = "2.2.0"; in +fetchzip rec { + name = "redhat-official-${version}"; + url = "https://github.com/RedHatOfficial/RedHatFont/archive/${version}.zip"; + + postFetch = '' + mkdir -p $out/share/fonts/opentype + unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype + ''; + + sha256 = "0yb6shgq6jrv3kq9faky66qpdbv4g580c3jl942844grwyngymyj"; + + meta = with lib; { + homepage = https://github.com/RedHatOfficial/RedHatFont; + description = "Red Hat's Open Source Fonts - Red Hat Display and Red Hat Text"; + license = licenses.ofl; + platforms = platforms.all; + maintainers = with maintainers; [ dtzWill ]; + }; +} diff --git a/pkgs/desktops/gnome-3/core/eog/default.nix b/pkgs/desktops/gnome-3/core/eog/default.nix index 7fd092c1efa4..5c896ec01fc0 100644 --- a/pkgs/desktops/gnome-3/core/eog/default.nix +++ b/pkgs/desktops/gnome-3/core/eog/default.nix @@ -4,13 +4,13 @@ let pname = "eog"; - version = "3.32.1"; + version = "3.32.2"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "165axw63c2l5qk5k2xs7g9d97xnxf5a4br0hdb8s3bpv7lf5nw8q"; + sha256 = "1bcxpqgzlk2cy4wfb3b5h66mhpj2fhrk1rrb5qqcv5xrr62ik5xy"; }; nativeBuildInputs = [ meson ninja pkgconfig gettext itstool wrapGAppsHook libxml2 gobject-introspection python3 ]; diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index 9b9800431005..59264ca6efad 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -17,11 +17,11 @@ let llvmShared = llvm_7.override { enableSharedLibraries = true; }; in stdenv.mkDerivation rec { pname = "rustc"; - version = "1.34.0"; + version = "1.34.2"; src = fetchurl { url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"; - sha256 = "0n8z1wngkxab1rvixqg6w8b727hzpnm9wp9h8iy3mpbrzp7mmj3s"; + sha256 = "0mig0prkmlnpbba1cmi17vlsl88ikv5pi26zjy2kcr64l62lm6n6"; }; __darwinAllowLocalNetworking = true; diff --git a/pkgs/development/compilers/solc/default.nix b/pkgs/development/compilers/solc/default.nix index 8f005d475dc7..a4fb9b6c6d81 100644 --- a/pkgs/development/compilers/solc/default.nix +++ b/pkgs/development/compilers/solc/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip, fetchFromGitHub, boost, cmake +{ stdenv, fetchzip, fetchFromGitHub, boost, cmake, ncurses, python2 , z3Support ? true, z3 ? null }: @@ -6,14 +6,15 @@ assert z3Support -> z3 != null; assert z3Support -> stdenv.lib.versionAtLeast z3.version "4.6.0"; let - version = "0.5.7"; - rev = "6da8b019e4a155d1f70abe7a3acc0f9765480a9e"; - sha256 = "0ii868r0ra6brjnn453kxqvw76p4bwjbvdyqfcn6v1bl2h4s60ir"; + version = "0.5.8"; + rev = "23d335f28e4055e67c3b22466ac7c4e41dc48344"; + sha256 = "10fa4qwfr3gfvxkzzjfs0w2fyij67cczklpj2x5hghcg08amkq37"; jsoncppURL = https://github.com/open-source-parsers/jsoncpp/archive/1.8.4.tar.gz; jsoncpp = fetchzip { url = jsoncppURL; sha256 = "1z0gj7a6jypkijmpknis04qybs1hkd04d1arr3gy89lnxmp6qzlm"; }; + buildSharedLibs = stdenv.hostPlatform.isLinux; in stdenv.mkDerivation { name = "solc-${version}"; @@ -24,9 +25,7 @@ stdenv.mkDerivation { inherit rev sha256; }; - patches = [ - ./patches/shared-libs-install.patch - ]; + patches = stdenv.lib.optionals buildSharedLibs [ ./patches/shared-libs-install.patch ]; postPatch = '' touch prerelease.txt @@ -37,18 +36,41 @@ stdenv.mkDerivation { cmakeFlags = [ "-DBoost_USE_STATIC_LIBS=OFF" + ] ++ stdenv.lib.optionals buildSharedLibs [ "-DBUILD_SHARED_LIBS=ON" ] ++ stdenv.lib.optionals (!z3Support) [ "-DUSE_Z3=OFF" ]; - doCheck = stdenv.hostPlatform.isLinux && stdenv.hostPlatform == stdenv.buildPlatform; - checkPhase = "LD_LIBRARY_PATH=./libsolc:./libsolidity:./libevmasm:./libdevcore:./libyul:./liblangutil:./test/tools/yulInterpreter:$LD_LIBRARY_PATH " + - "./test/soltest -p true -- --no-ipc --no-smt --testpath ../test"; - nativeBuildInputs = [ cmake ]; - buildInputs = [ boost ] - ++ stdenv.lib.optionals z3Support [ z3 ]; + buildInputs = [ boost ] ++ stdenv.lib.optionals z3Support [ z3 ]; + checkInputs = [ ncurses python2 ]; + + # Test fails on darwin for unclear reason + doCheck = stdenv.hostPlatform.isLinux; + + checkPhase = '' + while IFS= read -r -d ''' dir + do + LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/$dir + export LD_LIBRARY_PATH + done < <(find . -type d -print0) + + pushd .. + # IPC tests need aleth avaliable, so we disable it + sed -i "s/IPC_ENABLED=true/IPC_ENABLED=false\nIPC_FLAGS=\"--no-ipc\"/" ./scripts/tests.sh + for i in ./scripts/*.sh; do + patchShebangs "$i" + done + for i in ./scripts/*.py; do + patchShebangs "$i" + done + for i in ./test/*.sh; do + patchShebangs "$i" + done + TERM=xterm ./scripts/tests.sh + popd + ''; outputs = [ "out" "dev" ]; @@ -57,7 +79,7 @@ stdenv.mkDerivation { homepage = https://github.com/ethereum/solidity; license = licenses.gpl3; platforms = with platforms; linux ++ darwin; - maintainers = with maintainers; [ dbrock akru lionello ]; + maintainers = with maintainers; [ dbrock akru lionello sifmelcara ]; inherit version; }; } diff --git a/pkgs/development/interpreters/acl2/default.nix b/pkgs/development/interpreters/acl2/default.nix index cc88b32119e7..a88d07d1655f 100644 --- a/pkgs/development/interpreters/acl2/default.nix +++ b/pkgs/development/interpreters/acl2/default.nix @@ -4,15 +4,15 @@ let hashes = { "8.0" = "1x1giy2c1y6krg3kf8pf9wrmvk981shv0pxcwi483yjqm90xng4r"; - "8.1" = "0isi75j94q79x4341rhd94c60228iwvccy71ssnyvh1025m93xcd"; + "8.2" = "1x33kv6w9cbqzvyrihn61pzmqlvnk3drm8ksd5v0arg38i95awi3"; }; revs = { "8.0" = "8.0"; - "8.1" = "8.1"; + "8.2" = "8.2"; }; in stdenv.mkDerivation rec { name = "acl2-${version}"; - version = "8.1"; + version = "8.2"; src = fetchFromGitHub { owner = "acl2-devel"; diff --git a/pkgs/development/libraries/libfprint/default.nix b/pkgs/development/libraries/libfprint/default.nix index 3f3062e3c081..410496a7bb77 100644 --- a/pkgs/development/libraries/libfprint/default.nix +++ b/pkgs/development/libraries/libfprint/default.nix @@ -1,16 +1,29 @@ -{ stdenv, fetchurl, pkgconfig, meson, ninja, libusb, pixman, glib, nss, gtk3 -, coreutils, gtk-doc, docbook_xsl, docbook_xml_dtd_43 }: +{ thinkpad ? false, stdenv, fetchFromGitHub, fetchurl, pkgconfig, meson, ninja, libusb, pixman, glib, nss, gtk3 +, coreutils, gtk-doc, docbook_xsl, docbook_xml_dtd_43, openssl ? null }: + +assert thinkpad -> openssl != null; stdenv.mkDerivation rec { - name = "libfprint-${version}"; + pname = "libfprint" + stdenv.lib.optionalString thinkpad "-thinkpad"; version = "0.99.0"; - src = fetchurl { - url = "https://gitlab.freedesktop.org/libfprint/libfprint/uploads/82ba3cef5bdf72997df711eacdb13c0f/libfprint-${version}.tar.xz"; - sha256 = "16r4nl40y0jri57jiqmdz4s87byblx22lbhyvqpljd6mqm5rg187"; - }; + src = { + libfprint-thinkpad = + fetchFromGitHub { + owner = "3v1n0"; + repo = "libfprint"; + rev = "2e2e3821717e9042e93a995bdbd3d00f2df0be9c"; + sha256 = "1vps1wrp7hskf13f7jrv0dwry2fcid76x2w463wplngp63cj7b3b"; + }; + libfprint = fetchurl { + url = "https://gitlab.freedesktop.org/libfprint/libfprint/uploads/82ba3cef5bdf72997df711eacdb13c0f/libfprint-${version}.tar.xz"; + sha256 = "16r4nl40y0jri57jiqmdz4s87byblx22lbhyvqpljd6mqm5rg187"; + }; + }.${pname}; + + buildInputs = [ libusb pixman glib nss gtk3 ] + ++ stdenv.lib.optional thinkpad openssl; - buildInputs = [ libusb pixman glib nss gtk3 ]; nativeBuildInputs = [ pkgconfig meson ninja gtk-doc docbook_xsl docbook_xml_dtd_43 ]; mesonFlags = [ "-Dudev_rules_dir=lib/udev/rules.d" "-Dx11-examples=false" ]; diff --git a/pkgs/development/libraries/symengine/default.nix b/pkgs/development/libraries/symengine/default.nix new file mode 100644 index 000000000000..40e1a280aa24 --- /dev/null +++ b/pkgs/development/libraries/symengine/default.nix @@ -0,0 +1,47 @@ +{ stdenv +, fetchFromGitHub +, cmake +, gmp +, flint +, mpfr +, libmpc +}: + +stdenv.mkDerivation rec { + name = "symengine-${version}"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "symengine"; + repo = "symengine"; + rev = "v${version}"; + sha256 = "1kz893p3pmsw3gfwickk2nliw8p63yp89xriad7kpw4kmhvgr8gb"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ gmp flint mpfr libmpc ]; + + cmakeFlags = [ + "-DWITH_FLINT=ON" + "-DINTEGER_CLASS=flint" + "-DWITH_SYMENGINE_THREAD_SAFE=yes" + "-DWITH_MPC=yes" + "-DBUILD_FOR_DISTRIBUTION=yes" + ]; + + doCheck = true; + + checkPhase = '' + ctest + ''; + + meta = with stdenv.lib; { + description = "SymEngine is a fast symbolic manipulation library"; + homepage = https://github.com/symengine/symengine; + platforms = platforms.unix ++ platforms.windows; + license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; + }; + +} diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/python-modules/buildbot/default.nix index 268c08ced848..066d7058fed5 100644 --- a/pkgs/development/python-modules/buildbot/default.nix +++ b/pkgs/development/python-modules/buildbot/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, buildPythonPackage, /*fetchPypi,*/ fetchFromGitHub, makeWrapper, isPy3k, +{ stdenv, lib, buildPythonPackage, fetchPypi, makeWrapper, isPy3k, python, twisted, jinja2, zope_interface, future, sqlalchemy, sqlalchemy_migrate, dateutil, txaio, autobahn, pyjwt, pyyaml, treq, txrequests, txgithub, pyjade, boto3, moto, mock, python-lz4, setuptoolsTrial, @@ -25,21 +25,12 @@ let package = buildPythonPackage rec { pname = "buildbot"; - version = "2.1.0"; + version = "2.3.0"; - /*src = fetchPypi { + src = fetchPypi { inherit pname version; - sha256 = "1745hj9s0c0fcdjv6w05bma76xqg1fv42v0dslmi4d8yz9phf37w"; - };*/ - # Temporarily use GitHub source because PyPi archive is missing some files - # needed for the tests to pass. This has been fixed upstream. - # See: https://github.com/buildbot/buildbot/commit/30f5927cf9a80f98ed909241a149469dec3ce68d - src = fetchFromGitHub { - owner = "buildbot"; - repo = "buildbot"; - rev = "v${version}"; - sha256 = "022ybhdvp0hp2z0cwgx7n41jyh56bpxj3fwm4z7ppzj1qhm7lb65"; - } + "/master"; + sha256 = "1fdahbpihs93pj640y2079yilca6w7vlwirfcz221885ih148257"; + }; propagatedBuildInputs = [ # core diff --git a/pkgs/development/python-modules/buildbot/pkg.nix b/pkgs/development/python-modules/buildbot/pkg.nix index 35524040da99..f95d71dc2903 100644 --- a/pkgs/development/python-modules/buildbot/pkg.nix +++ b/pkgs/development/python-modules/buildbot/pkg.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "buildbot-pkg"; - version = "2.1.0"; + version = "2.3.0"; src = fetchPypi { inherit pname version; - sha256 = "03lv97q4pp2izjfbwfv4zmf2fyiz7jyp537bi3gc6rhfbrfgib1i"; + sha256 = "1ajgvnhwvryi10q9bklpfazi7vxw2my9jlqgwnjccycbr6yznzsw"; }; postPatch = '' diff --git a/pkgs/development/python-modules/buildbot/plugins.nix b/pkgs/development/python-modules/buildbot/plugins.nix index 2f73fbc81a4f..d15b33912aed 100644 --- a/pkgs/development/python-modules/buildbot/plugins.nix +++ b/pkgs/development/python-modules/buildbot/plugins.nix @@ -11,7 +11,7 @@ src = fetchPypi { inherit pname version format; python = "py3"; - sha256 = "011sagw8zp1z12vzkxi44w3w2lbxncz5yahkrbxj8hp6iwfzfm5v"; + sha256 = "134b8y498bq5fp4863hj9058wr7mcw0xgl74br0f1dy9n7jdcl39"; }; meta = with lib; { @@ -28,7 +28,7 @@ src = fetchPypi { inherit pname version; - sha256 = "11gz4ry1law3l64ii383cj5fnbw9409czp2ybzkqafr4xi1qbk9h"; + sha256 = "1yh8xij3wizz0f88chjpdijm7i35ql87g84ph3f76sqyr6aj6ckw"; }; propagatedBuildInputs = [ buildbot-pkg ]; @@ -48,7 +48,7 @@ src = fetchPypi { inherit pname version; - sha256 = "0w4iwpj1rg20fbli0ppqz70l1mc9ilg0crq8g3xrf29f9z8d1w27"; + sha256 = "04iihy1s9r4n5jlk57pdjy3yvp6zym2iv2bgqjhw6fy0hff5j8ys"; }; propagatedBuildInputs = [ buildbot-pkg ]; @@ -68,7 +68,7 @@ src = fetchPypi { inherit pname version; - sha256 = "0xyvxamw45qhnfml3x5hfg9nai1jhdwbmq4pm8csf3ad0cw6vqya"; + sha256 = "0bcilhcz9xnr8799d5j4sm6qz8pdjlckdck7a282nfs64liajsrh"; }; propagatedBuildInputs = [ buildbot-pkg ]; @@ -88,7 +88,7 @@ src = fetchPypi { inherit pname version; - sha256 = "1szcrx8vslskifzxaq7lrfg2arilaq1w1aqr0nc8pjclj7idp92c"; + sha256 = "13lr7lzi9sv0s6xrfalq0dkcys6fp7hn0787rjhnz9gc7x83aqjv"; }; propagatedBuildInputs = [ buildbot-pkg ]; diff --git a/pkgs/development/python-modules/buildbot/worker.nix b/pkgs/development/python-modules/buildbot/worker.nix index f888448db218..c8ebdf34b868 100644 --- a/pkgs/development/python-modules/buildbot/worker.nix +++ b/pkgs/development/python-modules/buildbot/worker.nix @@ -2,11 +2,11 @@ buildPythonPackage (rec { pname = "buildbot-worker"; - version = "2.1.0"; + version = "2.3.0"; src = fetchPypi { inherit pname version; - sha256 = "14qimaf513h2hklcpix8vscrawvr1qiyn1vy88ycpsbz9mcqbhps"; + sha256 = "0nldf4ws1nrkhbapxiy2s8j9fjfbkhp17c5912p6qy3ximfcfa93"; }; propagatedBuildInputs = [ twisted future ]; diff --git a/pkgs/development/python-modules/cgen/default.nix b/pkgs/development/python-modules/cgen/default.nix new file mode 100644 index 000000000000..e0317249fe9f --- /dev/null +++ b/pkgs/development/python-modules/cgen/default.nix @@ -0,0 +1,34 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pytools +, numpy +, pytest +}: + +buildPythonPackage rec { + pname = "cgen"; + version = "2017.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "a04525d51ee975d37d590d6d82bf80a46e77f75187cccfd2248a89616a778795"; + }; + + checkInputs = [ pytest ]; + propagatedBuildInputs = [ + pytools + numpy + ]; + + checkPhase = '' + pytest + ''; + + meta = with lib; { + description = "C/C++ source generation from an AST"; + homepage = https://github.com/inducer/cgen; + license = licenses.mit; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/fitbit/default.nix b/pkgs/development/python-modules/fitbit/default.nix new file mode 100644 index 000000000000..93bf4716073f --- /dev/null +++ b/pkgs/development/python-modules/fitbit/default.nix @@ -0,0 +1,41 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, coverage +, dateutil +, freezegun +, mock +, requests-mock +, requests_oauthlib +, sphinx +}: + +buildPythonPackage rec { + pname = "fitbit"; + version = "0.3.0"; + + checkInputs = [ coverage freezegun mock requests-mock sphinx ]; + propagatedBuildInputs = [ dateutil requests_oauthlib ]; + + # The source package on PyPi is missing files required for unit testing. + # https://github.com/orcasgit/python-fitbit/issues/148 + src = fetchFromGitHub { + rev = version; + owner = "orcasgit"; + repo = "python-fitbit"; + sha256 = "0s1kp4qcxvxghqf9nb71843slm4r5lhl2rlvj3yvhbby3cqs4g84"; + }; + + postPatch = '' + substituteInPlace requirements/test.txt \ + --replace 'Sphinx>=1.2,<1.4' 'Sphinx' \ + --replace 'coverage>=3.7,<4.0' 'coverage' + ''; + + meta = with lib; { + description = "Fitbit API Python Client Implementation"; + license = licenses.asl20; + homepage = https://github.com/orcasgit/python-fitbit; + maintainers = with maintainers; [ delroth ]; + }; +} diff --git a/pkgs/development/python-modules/genpy/default.nix b/pkgs/development/python-modules/genpy/default.nix new file mode 100644 index 000000000000..0a8344f8b924 --- /dev/null +++ b/pkgs/development/python-modules/genpy/default.nix @@ -0,0 +1,29 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pytools +, numpy +, pytest +}: + +buildPythonPackage rec { + pname = "genpy"; + version = "2016.1.3"; + + src = fetchPypi { + inherit pname version; + sha256 = "1c11726f1e8ace8bbdfc87816403c9a59f53a8c3d45c99187ae17c9725d87a91"; + }; + + propagatedBuildInputs = [ + pytools + numpy + ]; + + meta = with lib; { + description = "C/C++ source generation from an AST"; + homepage = https://github.com/inducer/genpy; + license = licenses.mit; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/gphoto2/default.nix b/pkgs/development/python-modules/gphoto2/default.nix index 199f568322ac..9d760b37d379 100644 --- a/pkgs/development/python-modules/gphoto2/default.nix +++ b/pkgs/development/python-modules/gphoto2/default.nix @@ -4,11 +4,11 @@ buildPythonPackage rec { pname = "gphoto2"; - version = "1.9.0"; + version = "2.0.0"; src = fetchPypi { inherit pname version; - sha256 = "9c8e0c3ca22c0a2bfd0f27d24be6e4da5fe315d39d51f5af7bb5da416dbfa4b7"; + sha256 = "01vcbjsy5zpfd9rzshk2d6150vhb66m5n420j0wd0k0i0p74ya98"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/python-modules/islpy/default.nix b/pkgs/development/python-modules/islpy/default.nix new file mode 100644 index 000000000000..6274da95b32f --- /dev/null +++ b/pkgs/development/python-modules/islpy/default.nix @@ -0,0 +1,41 @@ +{ lib +, buildPythonPackage +, fetchPypi +, isl +, pytest +, cffi +, six +}: + +buildPythonPackage rec { + pname = "islpy"; + version = "2018.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "be422a53b576210a0bb9775866abb6580b1e568222fc3e4e39d9e82f6d1d7253"; + }; + + postConfigure = '' + substituteInPlace setup.py \ + --replace "\"pytest>=2\"," "" + ''; + + buildInputs = [ isl ]; + checkInputs = [ pytest ]; + propagatedBuildInputs = [ + cffi + six + ]; + + checkPhase = '' + pytest test + ''; + + meta = with lib; { + description = "Python wrapper around isl, an integer set library"; + homepage = https://github.com/inducer/islpy; + license = licenses.mit; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/jupyterlab/default.nix b/pkgs/development/python-modules/jupyterlab/default.nix index 6d9d2a6b309f..db8c5b774e41 100644 --- a/pkgs/development/python-modules/jupyterlab/default.nix +++ b/pkgs/development/python-modules/jupyterlab/default.nix @@ -9,12 +9,12 @@ buildPythonPackage rec { pname = "jupyterlab"; - version = "0.35.4"; + version = "0.35.6"; disabled = pythonOlder "3.5"; src = fetchPypi { inherit pname version; - sha256 = "deba0b2803640fcad72c61366bff11d5945173015961586d5e3b2f629ffeb455"; + sha256 = "2ec845845d51221e39d0d753884a19342c953f39febf3148a68631bf57ecb774"; }; propagatedBuildInputs = [ jupyterlab_server notebook ]; diff --git a/pkgs/development/python-modules/loo-py/default.nix b/pkgs/development/python-modules/loo-py/default.nix new file mode 100644 index 000000000000..fe765f5ff0a8 --- /dev/null +++ b/pkgs/development/python-modules/loo-py/default.nix @@ -0,0 +1,51 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pytools +, pymbolic +, genpy +, cgen +, islpy +, six +, colorama +, mako +, pyopencl +, pytest +}: + +buildPythonPackage rec { + pname = "loo-py"; + version = "2017.2"; + + src = fetchPypi { + pname = "loo.py"; + inherit version; + sha256 = "c656992de48b328cdaccd7d1f14eb522b9dd5a1d0d15f54623f4ab18fd219abc"; + }; + + checkInputs = [ pytest ]; + propagatedBuildInputs = [ + pytools + pymbolic + genpy + cgen + islpy + six + colorama + mako + pyopencl + ]; + + # pyopencl._cl.LogicError: clGetPlatformIDs failed: PLATFORM_NOT_FOUND_KHR + doCheck = false; + checkPhase = '' + HOME=$(mktemp -d) pytest test + ''; + + meta = with lib; { + description = "A code generator for array-based code on CPUs and GPUs"; + homepage = https://mathema.tician.de/software/loopy; + license = licenses.mit; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/macropy/default.nix b/pkgs/development/python-modules/macropy/default.nix new file mode 100644 index 000000000000..952740d78376 --- /dev/null +++ b/pkgs/development/python-modules/macropy/default.nix @@ -0,0 +1,38 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, python +, isPy27 +, pinqSupport ? false, sqlalchemy +, pyxlSupport ? false, pyxl3 +}: + +buildPythonPackage rec { + # https://github.com/lihaoyi/macropy/issues/94 + version = "1.1.0b2"; + pname = "macropy"; + disabled = isPy27; + + src = fetchFromGitHub { + owner = "lihaoyi"; + repo = pname; + rev = "v${version}"; + sha256 = "1bd2fzpa30ddva3f8lw2sbixxf069idwib8srd64s5v46ricm2cf"; + }; + + # js_snippets extra only works with python2 + propagatedBuildInputs = [ ] + ++ lib.optional pinqSupport sqlalchemy + ++ lib.optional pyxlSupport pyxl3; + + checkPhase = '' + ${python.interpreter} run_tests.py + ''; + + meta = with lib; { + homepage = https://github.com/lihaoyi/macropy; + description = "Macros in Python: quasiquotes, case classes, LINQ and more"; + license = licenses.mit; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/pyatmo/default.nix b/pkgs/development/python-modules/pyatmo/default.nix new file mode 100644 index 000000000000..13f8efbb5813 --- /dev/null +++ b/pkgs/development/python-modules/pyatmo/default.nix @@ -0,0 +1,24 @@ +{ lib +, buildPythonPackage +, fetchPypi +}: + +buildPythonPackage rec { + pname = "pyatmo"; + version = "1.10"; + + src = fetchPypi { + inherit pname version; + sha256 = "13ca794416707b8cefcb7584bbfff65a4640fcc2510ad73e818fef94d424fca6"; + }; + + # Upstream provides no unit tests. + doCheck = false; + + meta = with lib; { + description = "Simple API to access Netatmo weather station data"; + license = licenses.mit; + homepage = https://github.com/jabesq/netatmo-api-python; + maintainers = with maintainers; [ delroth ]; + }; +} diff --git a/pkgs/development/python-modules/pymbolic/default.nix b/pkgs/development/python-modules/pymbolic/default.nix new file mode 100644 index 000000000000..0d13b377b13e --- /dev/null +++ b/pkgs/development/python-modules/pymbolic/default.nix @@ -0,0 +1,44 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pytools +, pytest +, six +, sympy +, pexpect +, symengine +}: + +buildPythonPackage rec { + pname = "pymbolic"; + version = "2018.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "a47d5524d6a3cdc8a028079ce632eeb45ceea7243272d234f250622087688207"; + }; + + postConfigure = '' + substituteInPlace setup.py \ + --replace "\"pytest>=2.3\"," "" + ''; + + checkInputs = [ sympy pexpect symengine pytest ]; + propagatedBuildInputs = [ + pytools + six + ]; + + # too many tests fail + doCheck = false; + checkPhase = '' + pytest test + ''; + + meta = with lib; { + description = "A package for symbolic computation"; + homepage = https://mathema.tician.de/software/pymbolic; + license = licenses.mit; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/pysonos/default.nix b/pkgs/development/python-modules/pysonos/default.nix new file mode 100644 index 000000000000..7e9414d5207c --- /dev/null +++ b/pkgs/development/python-modules/pysonos/default.nix @@ -0,0 +1,38 @@ +{ lib +, buildPythonPackage +, fetchPypi +, isPy3k +, xmltodict +, requests +, ifaddr + +# Test dependencies +, pytest_3, pylint, flake8, graphviz +, mock, sphinx, sphinx_rtd_theme +}: + +buildPythonPackage rec { + pname = "pysonos"; + version = "0.0.13"; + + disabled = !isPy3k; + + src = fetchPypi { + inherit pname version; + sha256 = "0azkbd20qdzdilv5pi4qngw7pjjcsv269dim7xh3qv7s9bp0xik8"; + }; + + propagatedBuildInputs = [ xmltodict requests ifaddr ]; + + checkInputs = [ + pytest_3 pylint flake8 graphviz + mock sphinx sphinx_rtd_theme + ]; + + meta = { + homepage = https://github.com/amelchio/pysonos; + description = "A SoCo fork with fixes for Home Assistant"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ juaningan ]; + }; +} diff --git a/pkgs/development/python-modules/pyxl3/default.nix b/pkgs/development/python-modules/pyxl3/default.nix new file mode 100644 index 000000000000..159645c425eb --- /dev/null +++ b/pkgs/development/python-modules/pyxl3/default.nix @@ -0,0 +1,35 @@ +{ lib +, buildPythonPackage +, fetchPypi +, unittest2 +, python +, isPy27 +}: + +buildPythonPackage rec { + pname = "pyxl3"; + version = "1.0"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "df413d86664e2d261f67749beffff07eb830ab8c7bbe631d11d4c42f3a5e5fde"; + }; + + checkInputs = [ unittest2 ]; + + checkPhase = '' + ${python.interpreter} tests/test_basic.py + ''; + + # tests require weird codec installation + # which is not necessary for major use of package + doCheck = false; + + meta = with lib; { + description = "Python 3 port of pyxl for writing structured and reusable inline HTML"; + homepage = https://github.com/gvanrossum/pyxl3; + license = licenses.asl20; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/stravalib/default.nix b/pkgs/development/python-modules/stravalib/default.nix new file mode 100644 index 000000000000..e8e4eb4bf35b --- /dev/null +++ b/pkgs/development/python-modules/stravalib/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildPythonPackage +, fetchPypi +, nose +, arrow +, requests +, units +, pytz +, six +}: + +buildPythonPackage rec { + pname = "stravalib"; + version = "0.10.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "76db248b24cbd6c51cf93b475d8a8df04ec4b6c6287dca244e47f37a433276d7"; + }; + + checkInputs = [ + nose + ]; + + propagatedBuildInputs = [ + arrow + requests + units + pytz + six + ]; + + # tests require network access + # testing strava api + doCheck = false; + + meta = with lib; { + description = "Python library for interacting with Strava v3 REST API"; + homepage = https://github.com/hozn/stravalib; + license = licenses.asl20; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/symengine/default.nix b/pkgs/development/python-modules/symengine/default.nix new file mode 100644 index 000000000000..a2c0578f0c7f --- /dev/null +++ b/pkgs/development/python-modules/symengine/default.nix @@ -0,0 +1,52 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, cython +, cmake +, symengine +, pytest +, sympy +, python +}: + +buildPythonPackage rec { + pname = "symengine"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "symengine"; + repo = "symengine.py"; + rev = "v${version}"; + sha256 = "07i9rwxphi4zgwc7y6f6qvq73iym2cx4k1bpd7rmd3wkpgrrfxqx"; + }; + + postConfigure = '' + substituteInPlace setup.py \ + --replace "\"cmake\"" "\"${cmake}/bin/cmake\"" + + substituteInPlace cmake/FindCython.cmake \ + --replace "SET(CYTHON_BIN cython" "SET(CYTHON_BIN ${cython}/bin/cython" + ''; + + buildInputs = [ cython cmake ]; + + checkInputs = [ pytest sympy ]; + + setupPyBuildFlags = [ + "--symengine-dir=${symengine}/" + "--define=\"CYTHON_BIN=${cython}/bin/cython\"" + ]; + + checkPhase = '' + mkdir empty + cd empty + ${python.interpreter} ../bin/test_python.py + ''; + + meta = with lib; { + description = "Python library providing wrappers to SymEngine"; + homepage = https://github.com/symengine/symengine.py; + license = licenses.mit; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/units/default.nix b/pkgs/development/python-modules/units/default.nix new file mode 100644 index 000000000000..02a3fc940aee --- /dev/null +++ b/pkgs/development/python-modules/units/default.nix @@ -0,0 +1,21 @@ +{ lib +, buildPythonPackage +, fetchPypi +}: + +buildPythonPackage rec { + pname = "units"; + version = "0.07"; + + src = fetchPypi { + inherit pname version; + sha256 = "43eb3e073e1b11289df7b1c3f184b5b917ccad178b717b03933298716f200e14"; + }; + + meta = with lib; { + description = "Python support for quantities with units"; + homepage = https://bitbucket.org/adonohue/units/; + license = licenses.psfl; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/zxcvbn-python/default.nix b/pkgs/development/python-modules/zxcvbn-python/default.nix index 8287c05f743b..94e8fc977e06 100644 --- a/pkgs/development/python-modules/zxcvbn-python/default.nix +++ b/pkgs/development/python-modules/zxcvbn-python/default.nix @@ -1,24 +1,24 @@ -{ lib -, buildPythonPackage -, fetchPypi -}: +{ lib, buildPythonPackage, fetchFromGitHub +, pytest_3 }: buildPythonPackage rec { pname = "zxcvbn-python"; - version = "4.4.24"; + version = "4.4.27"; - - src = fetchPypi { - inherit pname version; - sha256 = "900b28cc5e96be4091d8778f19f222832890264e338765a1c1c09fca2db64b2d"; + src = fetchFromGitHub { + owner = "dwolfhub"; + repo = pname; + rev = "v${version}"; + sha256 = "0w0sx9ssjks8da973cdv5xi87yjsf038jqxmzj2y26xvpyjsg2v2"; }; - # No tests in archive - doCheck = false; + checkInputs = [ + pytest_3 + ]; meta = { description = "Python implementation of Dropbox's realistic password strength estimator, zxcvbn"; homepage = https://github.com/dwolfhub/zxcvbn-python; license = with lib.licenses; [ mit ]; }; -} \ No newline at end of file +} diff --git a/pkgs/development/tools/analysis/hotspot/default.nix b/pkgs/development/tools/analysis/hotspot/default.nix index 6544046b16d2..89ffbff3db71 100644 --- a/pkgs/development/tools/analysis/hotspot/default.nix +++ b/pkgs/development/tools/analysis/hotspot/default.nix @@ -5,24 +5,24 @@ fetchFromGitHub, kconfigwidgets, ki18n, + kio, kitemmodels, kitemviews, + kwindowsystem, libelf, qtbase, threadweaver, }: stdenv.mkDerivation rec { - name = "hotspot-${version}"; - version = "1.0.0"; # don't forget to bump `rev` below when you change this + pname = "hotspot"; + version = "1.2.0"; src = fetchFromGitHub { owner = "KDAB"; repo = "hotspot"; - # TODO: For some reason, `fetchSubmodules` doesn't work when using `rev = "v${version}";`, - # so using an explicit commit instead. See #15559 - rev = "352687bf620529e9887616651f123f922cb421a4"; - sha256 = "09ly15yafpk31p3w7h2xixf1xdmx803w9fyb2aq7mhmc7pcxqjsx"; + rev = "v${version}"; + sha256 = "05rkzrvak93z8mzcpm4mcjxb933l8pjsxr9a595wfn1gn2ihmada"; fetchSubmodules = true; }; @@ -32,8 +32,10 @@ stdenv.mkDerivation rec { extra-cmake-modules kconfigwidgets ki18n + kio kitemmodels kitemviews + kwindowsystem libelf qtbase threadweaver diff --git a/pkgs/development/tools/chit/default.nix b/pkgs/development/tools/chit/default.nix index c0fa754e1e9d..b312b888e908 100644 --- a/pkgs/development/tools/chit/default.nix +++ b/pkgs/development/tools/chit/default.nix @@ -6,13 +6,13 @@ with rustPlatform; buildRustPackage rec { pname = "chit"; - version = "0.1.13"; + version = "0.1.14"; src = fetchFromGitHub { owner = "peterheesterman"; repo = pname; rev = version; - sha256 = "1qp5ad83lvfz9l4ihz1l500p8bgf7q0z1k4f3i13nd5n7i3ksdjc"; + sha256 = "1rzy15xwlf87c8kpy9pwvir6s9z3qc8d9iz4pk0gfdj2il3vmjwv"; }; cargoSha256 = "1jqnnf4jgjpm1i310hda15423nxfw9frgpmc2kbrs66qcsj7avaw"; diff --git a/pkgs/development/web/minify/default.nix b/pkgs/development/web/minify/default.nix index e63f609fc2b6..76434809cb52 100644 --- a/pkgs/development/web/minify/default.nix +++ b/pkgs/development/web/minify/default.nix @@ -1,18 +1,24 @@ -{ buildGoPackage, fetchFromGitHub }: +{ buildGoModule, fetchFromGitHub, lib }: -buildGoPackage rec { - name = "minify-${version}"; - version = "v2.0.0"; - rev = "41f3effd65817bac8acea89d49b3982211803a4d"; +buildGoModule rec { + pname = "minify"; + version = "2.5.0"; goPackagePath = "github.com/tdewolff/minify"; src = fetchFromGitHub { - inherit rev; owner = "tdewolff"; - repo = "minify"; - sha256 = "15d9ivg1a9v9c2n0a9pfw74952xhd4vqgx8d60dhvif9lx1d8wlq"; + repo = pname; + rev = "v${version}"; + sha256 = "1ja26fs7klzggmfqvz5nzj9icaa8r8h4a91qg8rj4gx5cnvwx38d"; }; - goDeps = ./deps.nix; + modSha256 = "0kff2nj66bifbfi8srcvcsipbddw43mvjdwlq0lz04qak524pbvr"; + + meta = with lib; { + description = "Minifiers for web formats"; + license = licenses.mit; + homepage = https://go.tacodewolff.nl/minify; + platforms = platforms.all; + }; } diff --git a/pkgs/development/web/minify/deps.nix b/pkgs/development/web/minify/deps.nix deleted file mode 100644 index 4efaec46d571..000000000000 --- a/pkgs/development/web/minify/deps.nix +++ /dev/null @@ -1,74 +0,0 @@ -[ - { - goPackagePath = "golang.org/x/sys"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/sys"; - rev = "d9157a9621b69ad1d8d77a1933590c416593f24f"; - sha256 = "1asdbp7rj1j1m1aar1a022wpcwbml6zih6cpbxaw7b2m8v8is931"; - }; - } - { - goPackagePath = "github.com/dustin/go-humanize"; - fetch = { - type = "git"; - url = "https://github.com/dustin/go-humanize"; - rev = "8929fe90cee4b2cb9deb468b51fb34eba64d1bf0"; - sha256 = "1g155kxjh6hd3ibx41nbpj6f7h5bh54zgl9dr53xzg2xlxljgjy0"; - }; - } - { - goPackagePath = "github.com/tdewolff/buffer"; - fetch = { - type = "git"; - url = "https://github.com/tdewolff/buffer"; - rev = "0edfcb7b750146ff879e95831de2ef53605a5cb5"; - sha256 = "1mdd4k9byp22mw0a399j3w73zjb5g0vn58g76rjy7ajb0dzm80vl"; - }; - } - { - goPackagePath = "github.com/tdewolff/parse"; - fetch = { - type = "git"; - url = "https://github.com/tdewolff/parse"; - rev = "34d5c1160d4503da4b456e5094609f2331d6dde3"; - sha256 = "0hxf65fgkrc1q4p99p33xxxy1s6wxpn1vfsnqf9p846awwbqsy0v"; - }; - } - { - goPackagePath = "github.com/tdewolff/strconv"; - fetch = { - type = "git"; - url = "https://github.com/tdewolff/strconv"; - rev = "3e8091f4417ebaaa3910da63a45ea394ebbfb0e3"; - sha256 = "00w2mryfjhz3vaqzxvbwvyhi1vgpc1s4xfv1r9hxn8hwa078q5gp"; - }; - } - { - goPackagePath = "github.com/matryer/try"; - fetch = { - type = "git"; - url = "https://github.com/matryer/try"; - rev = "93d30e50512f879b73829eb79867df38084bcd31"; - sha256 = "0dmc8iar9685ks1ba3vnycjsx8qxwyqv51jb7677dvwnzbqhgw6f"; - }; - } - { - goPackagePath = "github.com/fsnotify/fsnotify"; - fetch = { - type = "git"; - url = "https://github.com/fsnotify/fsnotify"; - rev = "30411dbcefb7a1da7e84f75530ad3abe4011b4f8"; - sha256 = "0kbpvyi6p9942k0vmcw5z13mja47f7hq7nqd332pn2zydss6kddm"; - }; - } - { - goPackagePath = "github.com/ogier/pflag"; - fetch = { - type = "git"; - url = "https://github.com/ogier/pflag"; - rev = "45c278ab3607870051a2ea9040bb85fcb8557481"; - sha256 = "0620v75wppfd84d95n312wpngcb73cph4q3ivs1h0waljfnsrd5l"; - }; - } -] diff --git a/pkgs/games/flare/default.nix b/pkgs/games/flare/default.nix new file mode 100644 index 000000000000..5ae656d1fc18 --- /dev/null +++ b/pkgs/games/flare/default.nix @@ -0,0 +1,24 @@ +{ lib, buildEnv, callPackage, makeWrapper }: + +buildEnv { + name = "flare-1.10"; + + paths = [ + (callPackage ./engine.nix {}) + (callPackage ./game.nix {}) + ]; + + buildInputs = [ makeWrapper ]; + postBuild = '' + mkdir -p $out/bin + makeWrapper $out/games/flare $out/bin/flare --run "cd $out/share/games/flare" + ''; + + meta = with lib; { + description = "Fantasy action RPG using the FLARE engine"; + homepage = "http://flarerpg.org/"; + maintainers = [ maintainers.aanderse ]; + license = [ licenses.gpl3 licenses.cc-by-sa-30 ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/games/flare/engine.nix b/pkgs/games/flare/engine.nix new file mode 100644 index 000000000000..8b620835f857 --- /dev/null +++ b/pkgs/games/flare/engine.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub, cmake, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf }: + +stdenv.mkDerivation rec { + pname = "flare-engine"; + version = "1.10"; + + src = fetchFromGitHub { + owner = "flareteam"; + repo = pname; + rev = "v${version}"; + sha256 = "0fm7jmxl86h8199nazdi9ivsrhcv9gcymhz1l5c6l2f4d0aqdqiq"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ SDL2 SDL2_image SDL2_mixer SDL2_ttf ]; + + meta = with stdenv.lib; { + description = "Free/Libre Action Roleplaying Engine"; + homepage = "https://github.com/flareteam/flare-engine"; + maintainers = [ maintainers.aanderse ]; + license = [ licenses.gpl3 ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/games/flare/game.nix b/pkgs/games/flare/game.nix new file mode 100644 index 000000000000..b10d7dfedb0f --- /dev/null +++ b/pkgs/games/flare/game.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchFromGitHub, cmake }: + +stdenv.mkDerivation rec { + pname = "flare-game"; + version = "1.10"; + + src = fetchFromGitHub { + owner = "flareteam"; + repo = pname; + rev = "v${version}"; + sha256 = "1lfra4ww8za08vcgza2jvh3jrwi6zryk4ljyj32lpp9v4ws9hdh4"; + }; + + nativeBuildInputs = [ cmake ]; + + meta = with stdenv.lib; { + description = "Fantasy action RPG using the FLARE engine"; + homepage = "https://github.com/flareteam/flare-game"; + maintainers = [ maintainers.aanderse ]; + license = [ licenses.cc-by-sa-30 ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/games/openra/common.nix b/pkgs/games/openra/common.nix index 200b9da4a7eb..b0d1f2a5455e 100644 --- a/pkgs/games/openra/common.nix +++ b/pkgs/games/openra/common.nix @@ -3,7 +3,7 @@ */ { stdenv, makeSetupHook, curl, unzip, dos2unix, pkgconfig, makeWrapper , lua, mono, dotnetPackages, python -, libGL, openal, SDL2 +, libGL, freetype, openal, SDL2 , zenity }: @@ -11,7 +11,7 @@ with stdenv.lib; let path = makeBinPath ([ mono python ] ++ optional (zenity != null) zenity); - rpath = makeLibraryPath [ lua openal SDL2 ]; + rpath = makeLibraryPath [ lua freetype openal SDL2 ]; mkdirp = makeSetupHook { } ./mkdirp.sh; in { @@ -54,10 +54,7 @@ in { StyleCopMSBuild StyleCopPlusMSBuild ] ++ [ - lua libGL - openal - SDL2 ]; # TODO: Test if this is correct. diff --git a/pkgs/games/openra/engines.nix b/pkgs/games/openra/engines.nix index 7454d32c1139..2bdbce6d939d 100644 --- a/pkgs/games/openra/engines.nix +++ b/pkgs/games/openra/engines.nix @@ -22,20 +22,20 @@ let in { release = name: (buildUpstreamOpenRAEngine rec { - version = "20181215"; + version = "20190314"; rev = "${name}-${version}"; - sha256 = "0p0izykjnz7pz02g2khp7msqa00jhjsrzk9y0g29dirmdv75qa4r"; + sha256 = "15pvn5cx3g0nzbrgpsfz8dngad5wkzp5dz25ydzn8bmxafiijvcr"; } name); playtest = name: (buildUpstreamOpenRAEngine rec { - version = "20190106"; + version = "20190302"; rev = "${name}-${version}"; - sha256 = "0ps9x379plrrj1hnj4fpr26lc46mzgxknv5imxi0bmrh5y4781ql"; + sha256 = "1vqvfk2p2lpk3m0d3rpvj34i8cmk3mfc7w4cn4llqd9zp4kk9pya"; } name); bleed = buildUpstreamOpenRAEngine { - version = "9c9cad1"; - rev = "9c9cad1a15c3a34dc2a61b305e4a9a735381a5f8"; - sha256 = "0100p7wrnnlvkmy581m0gbyg3cvi4i1w3lzx2gq91ndz1sbm8nd2"; + version = "8ee1102"; + rev = "8ee11028d72cde7556b31d45f556b40be65b4b70"; + sha256 = "0f1fpf37ms8d7fhlh3rjzsxsk9w23iyi3phs2i7g561292d5rk3l"; }; } diff --git a/pkgs/games/openra/mod-launch-game.sh b/pkgs/games/openra/mod-launch-game.sh index c0b6feb69c88..88b53e71e1bc 100644 --- a/pkgs/games/openra/mod-launch-game.sh +++ b/pkgs/games/openra/mod-launch-game.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash show_error() { if command -v zenity > /dev/null; then zenity --no-wrap --no-markup --error --title "OpenRA - @title@" --text "$1" 2>/dev/null @@ -12,7 +12,7 @@ cd "@out@/lib/openra-@name@" # Check for missing assets assetsError='@assetsError@' -if [ -n "$assetsError" -a ! -d "$HOME/.openra/Content/@name@" ]; then +if [[ -n "$assetsError" && ! -d "$HOME/.openra/Content/@name@" ]]; then show_error "$assetsError" fi @@ -20,6 +20,6 @@ fi mono --debug OpenRA.Game.exe Game.Mod=@name@ Engine.LaunchPath="@out@/bin/openra-@name@" Engine.ModSearchPaths="@out@/lib/openra-@name@/mods" "$@" # Show a crash dialog if something went wrong -if [ $? -ne 0 -a $? -ne 1 ]; then +if (( $? != 0 && $? != 1 )); then show_error $'OpenRA - @title@ has encountered a fatal error.\nPlease refer to the crash logs for more information.\n\nLog files are located in ~/.openra/Logs' fi diff --git a/pkgs/games/openra/mod-update.sh b/pkgs/games/openra/mod-update.sh index 52bcada8f9a1..8489d5a97a7c 100755 --- a/pkgs/games/openra/mod-update.sh +++ b/pkgs/games/openra/mod-update.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +# shellcheck disable=SC2034 # for mod in $(nix eval --raw '( # with import <nixpkgs> { }; @@ -9,9 +10,7 @@ # ./mod-update.sh "$mod" # done -# Uses: -# https://github.com/msteen/nix-prefetch -# https://github.com/msteen/nix-update-fetch +# Uses: https://github.com/msteen/nix-upfetch mod=$1 commit_count=$2 @@ -19,7 +18,7 @@ token= nixpkgs='<nixpkgs>' die() { - ret=$? + local ret=$? echo "$*" >&2 exit $ret } @@ -34,13 +33,16 @@ get_sha1() { curl -H "Authorization: token $token" -H 'Accept: application/vnd.github.VERSION.sha' "https://api.github.com/repos/$owner/$repo/commits/$ref" } +[[ -n $mod ]] || die "The first argument of this script has to be a mod identifier." + [[ -n $token ]] || die "Please edit this script to include a GitHub API access token, which is required for API v4: https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/" # Get current mod_owner and mod_repo. -vars=$(nix-prefetch --file "$nixpkgs" "openraPackages.mods.$mod" --index 0 --quiet --output json --skip-hash > >( +vars=$(nix-prefetch --file "$nixpkgs" "openraPackages.mods.$mod" --index 0 --quiet --output json --no-compute-hash > >( jq --raw-output 'with_entries(select(.value | contains("\n") | not)) | to_entries | .[] | .key + "=" + .value')) || exit +mod_owner=; mod_repo=; mod_rev= while IFS='=' read -r key val; do declare "mod_${key}=${val}" done <<< "$vars" @@ -65,11 +67,12 @@ else }' fi -query='query { - repository(owner: \"'"$mod_owner"'\", name: \"'"$mod_repo"'\") { +# shellcheck disable=SC2089 +query='{ + repository(owner: "'$mod_owner'", name: "'$mod_repo'") { defaultBranchRef { target { - ... on Commit '"$query_on_commit"' + ... on Commit '$query_on_commit' } } licenseInfo { @@ -80,7 +83,9 @@ query='query { # Newlines are not allowed in a query. # https://developer.github.com/v4/guides/forming-calls/#communicating-with-graphql +# shellcheck disable=SC2086 disable=SC2090 disable=SC2116 query=$(echo $query) +query=${query//\"/\\\"} # https://developer.github.com/v4/guides/using-the-explorer/#configuring-graphiql json=$(curl -H "Authorization: bearer $token" -X POST -d '{ "query": "'"$query"'" }' https://api.github.com/graphql) || exit @@ -99,12 +104,14 @@ vars=$(jq --raw-output '.data.repository | { rev: .oid, }) | to_entries | .[] | .key + "=" + (.value | tostring)' <<< "$json") || exit +mod_license_key=; mod_version=; mod_rev= while IFS='=' read -r key val; do declare "mod_${key}=${val}" done <<< "$vars" mod_config=$(curl "https://raw.githubusercontent.com/$mod_owner/$mod_repo/$mod_rev/mod.config") || exit +mod_id=; engine_version=; automatic_engine_management=; automatic_engine_source= while IFS='=' read -r key val; do declare "${key,,}=$(jq --raw-output . <<< "$val")" done < <(grep '^\(MOD_ID\|ENGINE_VERSION\|AUTOMATIC_ENGINE_MANAGEMENT\|AUTOMATIC_ENGINE_SOURCE\)=' <<< "$mod_config") @@ -116,6 +123,7 @@ echo >&2 [[ $mod_id == "$mod" ]] || die "The mod '$mod' reports being mod '$mod_id' instead." +# shellcheck disable=SC2005 disable=SC2046 [[ $mod_license_key == gpl-3.0 ]] || [[ $(echo $(head -2 <(curl "https://raw.githubusercontent.com/$mod_owner/$mod_repo/$mod_rev/COPYING"))) == 'GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007' ]] || die "The mod '$mod' is licensed under '$mod_license_key' while expecting 'gpl-3.0'." @@ -126,6 +134,7 @@ echo >&2 engine_owner=${BASH_REMATCH[1]} engine_repo=${BASH_REMATCH[2]} +# shellcheck disable=SC2016 [[ ${BASH_REMATCH[3]} == '${ENGINE_VERSION}' ]] || engine_version=${BASH_REMATCH[3]} engine_rev=$(get_sha1 "$engine_owner" "$engine_repo" "$engine_version") @@ -146,6 +155,6 @@ for type in mod engine; do done var="${type}_version" version=${!var} - nix-update-fetch --yes --version "$version" "$(nix-prefetch --quiet --file "$nixpkgs" "openraPackages.mods.$mod" --index $i --output json --with-position --diff -- "${fetcher_args[@]}")" + nix-upfetch --yes --version "$version" "$(nix-preupfetch --file "$nixpkgs" "openraPackages.mods.$mod" --index $i -- "${fetcher_args[@]}")" (( i++ )) done diff --git a/pkgs/games/openra/mods.nix b/pkgs/games/openra/mods.nix index ddc34dbda8f6..1e81e02e59f1 100644 --- a/pkgs/games/openra/mods.nix +++ b/pkgs/games/openra/mods.nix @@ -60,23 +60,23 @@ in { }; dr = buildOpenRAMod rec { - version = "266.git.920b476"; + version = "324.git.ffcd6ba"; title = "Dark Reign"; description = "A re-imagination of the original Command & Conquer: ${title} game"; homepage = https://github.com/drogoganor/DarkReign; src = fetchFromGitHub { owner = "drogoganor"; repo = "DarkReign"; - rev = "920b476be1b7751db087f1f7acd504b8a048d1e2"; - sha256 = "11ir4pnichrnv4z9532fp9g166jl8fvy5kk03a2fgxssp3g40zz2"; + rev = "ffcd6ba72979e5f77508136ed7b0efc13e4b100e"; + sha256 = "07g4qw909649s3i1yhw75613mpwfka05jana5mpp5smhnf0pkack"; }; engine = { version = "DarkReign"; src = fetchFromGitHub { owner = "drogoganor"; repo = "OpenRA" ; - rev = "e08b75c2add30439228ea3dd61d6be60d1800329"; - sha256 = "125vf962p69ajrh5pxgfwsi0ksczqwvlw5kn2fvffiwvh8d5in23"; + rev = "f91d3f2603bbf51afaa89357e4defcdc36138102"; + sha256 = "05g900ri6q0zrkrk8rmjaz576vjggmi2y6jm0xz3cwli54prn11w"; name = "engine"; inherit extraPostFetch; }; @@ -161,15 +161,15 @@ in { }; ra2 = buildOpenRAMod rec { - version = "881.git.b37f4f9"; + version = "903.git.2f7c700"; title = "Red Alert 2"; description = "Re-imagination of the original Command & Conquer: ${title} game"; homepage = https://github.com/OpenRA/ra2; src = fetchFromGitHub { owner = "OpenRA"; repo = "ra2"; - rev = "b37f4f9f07404127062d9061966e9cc89dd86445"; - sha256 = "1jiww66ma3qdk9hzyvhbcaa5h4p2mxxk22kvrw92ckpxy0bqba3h"; + rev = "2f7c700d6d63c0625e7158ef3098221fa6741569"; + sha256 = "11vnzwczn47wjfrq6y7z9q234p27ihdrcl5p87i6h2xnrpwi8b6m"; }; engine = rec { version = "release-20180923"; @@ -189,23 +189,23 @@ in { }; raclassic = buildOpenRAMod { - version = "181.git.8240890"; + version = "183.git.c76c13e"; title = "Red Alert Classic"; description = "A modernization of the original Command & Conquer: Red Alert game"; homepage = https://github.com/OpenRA/raclassic; src = fetchFromGitHub { owner = "OpenRA"; repo = "raclassic"; - rev = "8240890b32191ce34241c22158b8a79e8c380879"; - sha256 = "0dznyb6qa4n3ab87g1c4bihfc2nx53k6z0kajc7ynjdnwzvx69ww"; + rev = "c76c13e9f0912a66ddebae8d05573632b19736b2"; + sha256 = "1cnr3ccvrkjlv8kkdcglcfh133yy0fkva9agwgvc7wlj9n5ydl4g"; }; engine = rec { - version = "playtest-20190106"; + version = "release-20190314"; src = fetchFromGitHub { owner = "OpenRA"; repo = "OpenRA" ; rev = version; - sha256 = "0ps9x379plrrj1hnj4fpr26lc46mzgxknv5imxi0bmrh5y4781ql"; + sha256 = "15pvn5cx3g0nzbrgpsfz8dngad5wkzp5dz25ydzn8bmxafiijvcr"; name = "engine"; inherit extraPostFetch; }; @@ -242,24 +242,24 @@ in { }; sp = unsafeBuildOpenRAMod { - version = "176.git.fc89ae8"; + version = "221.git.ac000cc"; title = "Shattered Paradise"; description = "Re-imagination of the original Command & Conquer: Tiberian Sun game"; homepage = https://github.com/ABrandau/OpenRAModSDK; src = fetchFromGitHub { owner = "ABrandau"; repo = "OpenRAModSDK"; - rev = "fc89ae8a10e0f765ac735f923e01aa24dd20e8d2"; - sha256 = "0xyxhipmjlld0kp23fwsdwnspr7fci0mdnjd60gcsh34c7m0341p"; + rev = "ac000cc15377cdf6d3c2b72c737d692aa0ed8bcd"; + sha256 = "16mzs5wcxj9nlpcyx2c87idsqpbm40lx0rznsccclnlb3hiwqas9"; }; engine = { - version = "SP-Bleed-Branch"; + version = "SP-22-04-19"; mods = [ "as" "ts" ]; src = fetchFromGitHub { owner = "ABrandau"; repo = "OpenRA" ; - rev = "d3545c0b751aea2105748eddaab5919313e35314"; - sha256 = "1jsldl6vnf3r9dzppdm4z7kqbrzkidda5k74wc809i8c4jjnq9rq"; + rev = "bb0930008a57c07f3002421023f6b446e3e3af69"; + sha256 = "1jvgpbf56hd02ikhklv49br4d1jiv5hphc5kl79qnjlaacnj222x"; name = "engine"; inherit extraPostFetch; }; @@ -315,23 +315,23 @@ in { }; yr = unsafeBuildOpenRAMod rec { - version = "118.git.c26bf14"; + version = "199.git.5b8b952"; homepage = https://github.com/cookgreen/yr; title = "Yuri's Revenge"; description = "Re-imagination of the original Command & Conquer: ${title} game"; src = fetchFromGitHub { owner = "cookgreen"; repo = "yr"; - rev = "c26bf14155d040edf33c6c5eb3677517d07b39f8"; - sha256 = "15k6gv4rx3490n0cs9q7ah7q31z89v0pddsw6nqv0fhcahhvq1bc"; + rev = "5b8b952dbe21f194a6d00485f20e215ce8362712"; + sha256 = "0hxzrqnz5d7qj1jjr20imiyih62x1cnmndf75nnil4c4sj82f9a6"; }; engine = rec { - version = "release-20180923"; + version = "release-20190314"; src = fetchFromGitHub { owner = "OpenRA"; repo = "OpenRA" ; rev = version; - sha256 = "1pgi3zaq9fwwdq6yh19bwxscslqgabjxkvl9bcn1a5agy4bfbqk5"; + sha256 = "15pvn5cx3g0nzbrgpsfz8dngad5wkzp5dz25ydzn8bmxafiijvcr"; name = "engine"; inherit extraPostFetch; }; diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix index 598ddc485630..0082b97eb22d 100644 --- a/pkgs/games/steam/chrootenv.nix +++ b/pkgs/games/steam/chrootenv.nix @@ -28,6 +28,9 @@ let iana-etc # Steam Play / Proton python3 + # Steam VR + procps + usbutils ] ++ lib.optional withJava jdk ++ lib.optional withPrimus primus ++ extraPkgs pkgs; diff --git a/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix b/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix index 3fcb2fcbb24a..df741d9a029b 100644 --- a/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix @@ -1,10 +1,10 @@ { stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, libelf, utillinux, ... } @ args: buildLinux (args // rec { - version = "4.14.102-156"; + version = "4.14.120-160"; # modDirVersion needs to be x.y.z. - modDirVersion = "4.14.102"; + modDirVersion = "4.14.120"; # branchVersion needs to be x.y. extraMeta.branch = "4.14"; @@ -13,7 +13,7 @@ buildLinux (args // rec { owner = "hardkernel"; repo = "linux"; rev = version; - sha256 = "12af0n1lg2w2qm9aq1v8w3x8npaka60ks9xp6jwaw0l06j23ryyv"; + sha256 = "0sb7k8kpbm4h98jsqjnjmj0ysp55n9cpczpw0jsg0x0sj9qp73nr"; }; defconfig = "odroidxu4_defconfig"; diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index 7888ac6af44c..e9cc370f4e7b 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -1,13 +1,13 @@ { stdenv, buildPackages, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args: buildLinux (args // rec { - version = "5.1-rc7"; - modDirVersion = "5.1.0-rc7"; - extraMeta.branch = "5.1"; + version = "5.2-rc1"; + modDirVersion = "5.2.0-rc1"; + extraMeta.branch = "5.2"; src = fetchurl { url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; - sha256 = "05085j84kn3mf5s2hy8i9jgvnglpr9v918kmc9lmpn5vq7frh9s1"; + sha256 = "169gjmciijgmwwfyz3n7pvf2x18pmfvgdk73s8jlx30ggwzgac1l"; }; # Should the testing kernels ever be built on Hydra? diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 12240320979c..c7f1bb475c1b 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -209,7 +209,7 @@ "filesize" = ps: with ps; [ ]; "filter" = ps: with ps; [ ]; "fints" = ps: with ps; [ fints ]; - "fitbit" = ps: with ps; [ aiohttp-cors ]; + "fitbit" = ps: with ps; [ aiohttp-cors fitbit ]; "fixer" = ps: with ps; [ ]; "flexit" = ps: with ps; [ ]; "flic" = ps: with ps; [ ]; @@ -455,8 +455,8 @@ "nello" = ps: with ps; [ ]; "ness_alarm" = ps: with ps; [ ]; "nest" = ps: with ps; [ ]; - "netatmo" = ps: with ps; [ aiohttp-cors ]; - "netatmo_public" = ps: with ps; [ aiohttp-cors ]; + "netatmo" = ps: with ps; [ aiohttp-cors pyatmo ]; + "netatmo_public" = ps: with ps; [ aiohttp-cors pyatmo ]; "netdata" = ps: with ps; [ ]; "netgear" = ps: with ps; [ ]; "netgear_lte" = ps: with ps; [ ]; @@ -637,7 +637,7 @@ "somfy_mylink" = ps: with ps; [ ]; "sonarr" = ps: with ps; [ ]; "songpal" = ps: with ps; [ ]; - "sonos" = ps: with ps; [ ]; + "sonos" = ps: with ps; [ pysonos ]; "sony_projector" = ps: with ps; [ ]; "soundtouch" = ps: with ps; [ libsoundtouch ]; "spaceapi" = ps: with ps; [ aiohttp-cors ]; diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix index 01fdfb7d1f4b..4a705d52cd11 100644 --- a/pkgs/shells/zsh/oh-my-zsh/default.nix +++ b/pkgs/shells/zsh/oh-my-zsh/default.nix @@ -4,13 +4,13 @@ { stdenv, fetchgit }: stdenv.mkDerivation rec { - version = "2019-05-17"; + version = "2019-05-19"; name = "oh-my-zsh-${version}"; - rev = "5aa62461d91546ce1fd5dcc6531569d0e6e6f17f"; + rev = "f960e2be6f01abe5f185d668be661b57051322ac"; src = fetchgit { inherit rev; url = "https://github.com/robbyrussell/oh-my-zsh"; - sha256 = "0mg308h9k9lcv9flqwnynq2iiicl7b89arn7m97wwjijww1isdg6"; + sha256 = "1amn72cx9ay4kd707y8kxfvgq5mlqhvlvha28aai2gxcravb95vn"; }; pathsToLink = [ "/share/oh-my-zsh" ]; diff --git a/pkgs/tools/X11/arandr/default.nix b/pkgs/tools/X11/arandr/default.nix index 5baba1171571..51f2f5ec2494 100644 --- a/pkgs/tools/X11/arandr/default.nix +++ b/pkgs/tools/X11/arandr/default.nix @@ -1,4 +1,7 @@ -{ stdenv, fetchurl, gobject-introspection, gtk3, xrandr, python3Packages }: +{ stdenv, fetchurl, python3Packages +, gobject-introspection, gsettings-desktop-schemas, gtk3 +, wrapGAppsHook, xrandr +}: let inherit (python3Packages) buildPythonApplication docutils pygobject3; @@ -17,13 +20,13 @@ in buildPythonApplication rec { # no tests doCheck = false; - buildInputs = [ docutils ]; - nativeBuildInputs = [ gobject-introspection gtk3 ]; - propagatedBuildInputs = [ xrandr pygobject3 ]; + # hook for gobject-introspection doesn't like strictDeps + # https://github.com/NixOS/nixpkgs/issues/56943 + strictDeps = false; - makeWrapperArgs = [ - "--set GI_TYPELIB_PATH $GI_TYPELIB_PATH" - ]; + buildInputs = [ docutils gsettings-desktop-schemas gtk3 ]; + nativeBuildInputs = [ gobject-introspection wrapGAppsHook ]; + propagatedBuildInputs = [ xrandr pygobject3 ]; meta = { homepage = http://christian.amsuess.com/tools/arandr/; diff --git a/pkgs/tools/networking/ngrok-2/default.nix b/pkgs/tools/networking/ngrok-2/default.nix index 89d6a9b454da..686bb1d7ebf3 100644 --- a/pkgs/tools/networking/ngrok-2/default.nix +++ b/pkgs/tools/networking/ngrok-2/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, patchelfUnstable }: with stdenv.lib; @@ -24,13 +24,18 @@ stdenv.mkDerivation { sourceRoot = "."; + nativeBuildInputs = [ patchelfUnstable ]; + unpackPhase = "cp $src ngrok"; buildPhase = "chmod a+x ngrok"; installPhase = '' install -D ngrok $out/bin/ngrok - ''; + + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + $out/bin/ngrok + ''; passthru.updateScript = ./update.sh; diff --git a/pkgs/tools/networking/ngrok-2/versions.json b/pkgs/tools/networking/ngrok-2/versions.json index 3d7aa8a56b6c..591e54a6f815 100644 --- a/pkgs/tools/networking/ngrok-2/versions.json +++ b/pkgs/tools/networking/ngrok-2/versions.json @@ -1,32 +1,32 @@ { "linux-386": { "sys": "linux-386", - "url": "https://bin.equinox.io/a/jqJ2Vvh67gW/ngrok-2.3.18-linux-386", - "sha256": "2bebb8f39a3c19ca03eaf786b97c92876216d2297046e85271478edef2cd6404", - "version": "2.3.18" + "url": "https://bin.equinox.io/a/6i2VnqLBZqg/ngrok-2.3.29-linux-386", + "sha256": "c0859f783e66a661dc1490e0cec95dfcce0ae77deaf0aa1838613afcbd8f9451", + "version": "2.3.29" }, "linux-amd64": { "sys": "linux-amd64", - "url": "https://bin.equinox.io/a/ik4d9aurG9/ngrok-2.3.18-linux-amd64", - "sha256": "75e19c343a208bf0e2d3b613d2fa3ce67abbf25c04a1d6be670598a4c25c1694", - "version": "2.3.18" + "url": "https://bin.equinox.io/a/6ws4BqFTLXR/ngrok-2.3.29-linux-amd64", + "sha256": "625e85af6d366be4cc54ba296a6e66d3311b99db36e6ea5fe7f88941874daabb", + "version": "2.3.29" }, "linux-arm": { "sys": "linux-arm", - "url": "https://bin.equinox.io/a/c2KRZoJ5cb6/ngrok-2.3.18-linux-arm", - "sha256": "af4cdb9f116104921d7fbeeac9124e545a45495b3623b2b46da996400c305d9c", - "version": "2.3.18" + "url": "https://bin.equinox.io/a/3Qx4EX7AtXt/ngrok-2.3.29-linux-arm", + "sha256": "8a2ec453b407bb0983d22819f3b76044100870888cc976fbf76ced18e6f66fa7", + "version": "2.3.29" }, "linux-arm64": { "sys": "linux-arm64", - "url": "https://bin.equinox.io/a/b2NBP9tpq2E/ngrok-2.3.18-linux-arm64", - "sha256": "9e5fa5b83dc65803291b59867c664085de248a4adb3d415c4dbba1dae90a0aaf", - "version": "2.3.18" + "url": "https://bin.equinox.io/a/7qbe9PkG69E/ngrok-2.3.29-linux-arm64", + "sha256": "c49a9c95dc0128e8129f9b7291b5049a45d13f27bb309ca8af59e498f98b97d0", + "version": "2.3.29" }, "darwin-amd64": { "sys": "darwin-amd64", - "url": "https://bin.equinox.io/a/879TXbRQQRV/ngrok-2.3.18-darwin-amd64", - "sha256": "abb643bdba7ade5dabd60488b866804d814a41d4d7144fa09e01c9260e93659d", - "version": "2.3.18" + "url": "https://bin.equinox.io/a/eqL9fYWPxoV/ngrok-2.3.29-darwin-amd64", + "sha256": "916ad7b4706e4c770eb58667c5beabf227daa1ad35bbbee41883eb2bce3f254b", + "version": "2.3.29" } } diff --git a/pkgs/tools/networking/openvpn/default.nix b/pkgs/tools/networking/openvpn/default.nix index 3bcb1460a700..732687ecfa15 100644 --- a/pkgs/tools/networking/openvpn/default.nix +++ b/pkgs/tools/networking/openvpn/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig +{ stdenv, fetchurl, fetchpatch, pkgconfig , iproute, lzo, openssl, pam , useSystemd ? stdenv.isLinux, systemd ? null, utillinux ? null , pkcs11Support ? false, pkcs11helper ? null, @@ -33,6 +33,13 @@ in stdenv.mkDerivation rec { ++ optional useSystemd systemd ++ optional pkcs11Support pkcs11helper; + patches = [ + ( fetchpatch { + url = "https://sources.debian.org/data/main/o/openvpn/2.4.7-1/debian/patches/fix-pkcs11-helper-hang.patch"; + sha256 = "0c8jzbfsmb0mm9f7kkjxac1hk8q6igm267s687vx3mdqs1wys6bm"; + }) + ]; + configureFlags = optionals stdenv.isLinux [ "--enable-iproute2" "IPROUTE=${iproute}/sbin/ip" ] diff --git a/pkgs/tools/networking/ubridge/default.nix b/pkgs/tools/networking/ubridge/default.nix index 715a480e28dd..f6afddaba381 100644 --- a/pkgs/tools/networking/ubridge/default.nix +++ b/pkgs/tools/networking/ubridge/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { name = "ubridge-${version}"; - version = "0.9.15"; + version = "0.9.16"; src = fetchFromGitHub { owner = "GNS3"; repo = "ubridge"; rev = "v${version}"; - sha256 = "0fl07zyall04map6v2l1bclqh8y3rrhsx61s2v0sr8b00j201jg4"; + sha256 = "1bind7ylgxs743vfdmpdrpp4iamy461bc3i7nxza91kj7hyyjz6h"; }; postPatch = '' diff --git a/pkgs/tools/security/fprintd/default.nix b/pkgs/tools/security/fprintd/default.nix index 65eec89a09fc..b43be1a69240 100644 --- a/pkgs/tools/security/fprintd/default.nix +++ b/pkgs/tools/security/fprintd/default.nix @@ -1,8 +1,9 @@ -{ stdenv, fetchurl, pkgconfig, intltool -, libfprint, glib, dbus-glib, polkit, nss, pam, systemd }: +{ thinkpad ? false +, stdenv, fetchurl, pkgconfig, intltool, libfprint-thinkpad ? null +, libfprint ? null, glib, dbus-glib, polkit, nss, pam, systemd }: stdenv.mkDerivation rec { - name = "fprintd-${version}"; + pname = "fprintd" + stdenv.lib.optionalString thinkpad "-thinkpad"; version = "0.8.1"; src = fetchurl { @@ -10,7 +11,10 @@ stdenv.mkDerivation rec { sha256 = "124s0g9syvglgsmqnavp2a8c0zcq8cyaph8p8iyvbla11vfizs9l"; }; - buildInputs = [ libfprint glib dbus-glib polkit nss pam systemd ]; + buildInputs = [ glib dbus-glib polkit nss pam systemd ] + ++ stdenv.lib.optional thinkpad libfprint-thinkpad + ++ stdenv.lib.optional (!thinkpad) libfprint; + nativeBuildInputs = [ pkgconfig intltool ]; configureFlags = [ "--with-systemdsystemunitdir=$(out)/lib/systemd/system" "--localstatedir=/var" ]; diff --git a/pkgs/tools/security/monkeysphere/default.nix b/pkgs/tools/security/monkeysphere/default.nix index af507dbf993b..ed1cda8030f2 100644 --- a/pkgs/tools/security/monkeysphere/default.nix +++ b/pkgs/tools/security/monkeysphere/default.nix @@ -2,7 +2,7 @@ , perl, libassuan, libgcrypt , perlPackages, lockfileProgs, gnupg, coreutils # For the tests: -, bash, openssh, which, socat, cpio, hexdump, openssl +, bash, openssh, which, socat, cpio, hexdump, procps, openssl }: let @@ -14,14 +14,14 @@ let }); in stdenv.mkDerivation rec { name = "monkeysphere-${version}"; - version = "0.43"; + version = "0.44"; # The patched OpenSSH binary MUST NOT be used (except in the check phase): disallowedRequisites = [ opensshUnsafe ]; src = fetchurl { url = "http://archive.monkeysphere.info/debian/pool/monkeysphere/m/monkeysphere/monkeysphere_${version}.orig.tar.gz"; - sha256 = "18i7qpvp5qb7mmd0z5rqai550rya9l3nbsq2hamwkl3smqsjdqc0"; + sha256 = "1ah7hy8r9gj96pni8azzjb85454qky5l17m3pqn37854l6grgika"; }; patches = [ ./monkeysphere.patch ]; @@ -33,7 +33,7 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; buildInputs = [ perl libassuan libgcrypt ] ++ stdenv.lib.optional doCheck - ([ gnupg opensshUnsafe which socat cpio hexdump lockfileProgs ] ++ + ([ gnupg opensshUnsafe which socat cpio hexdump procps lockfileProgs ] ++ (with perlPackages; [ CryptOpenSSLRSA CryptOpenSSLBignum ])); makeFlags = '' @@ -60,7 +60,7 @@ in stdenv.mkDerivation rec { postFixup = let wrapperArgs = runtimeDeps: "--prefix PERL5LIB : " - + (with perlPackages; makePerlPath [ + + (with perlPackages; makePerlPath [ # Optional (only required for keytrans) CryptOpenSSLRSA CryptOpenSSLBignum ]) @@ -73,7 +73,7 @@ in stdenv.mkDerivation rec { (wrapMonkeysphere runtimeDeps) programs; in wrapPrograms [ gnupg ] [ "monkeysphere-authentication" "monkeysphere-host" ] - + wrapPrograms [ lockfileProgs ] [ "monkeysphere" ] + + wrapPrograms [ gnupg lockfileProgs ] [ "monkeysphere" ] + '' # These 4 programs depend on the program name ($0): for program in openpgp2pem openpgp2spki openpgp2ssh pem2openpgp; do diff --git a/pkgs/tools/security/monkeysphere/monkeysphere.patch b/pkgs/tools/security/monkeysphere/monkeysphere.patch index 0a05635d6a80..8cdd85017b93 100644 --- a/pkgs/tools/security/monkeysphere/monkeysphere.patch +++ b/pkgs/tools/security/monkeysphere/monkeysphere.patch @@ -10,15 +10,6 @@ diff --git a/Makefile b/Makefile -e 's:__SYSCONFDIR_PREFIX__:$(ETCPREFIX):' \ -e 's:__SYSDATADIR_PREFIX__:$(LOCALSTATEDIR):' -diff --git a/src/share/checkperms b/src/share/checkperms ---- a/src/share/checkperms -+++ b/src/share/checkperms -@@ -1,4 +1,4 @@ --#!/usr/bin/perl -T -+#!/usr/bin/perl - - # checkperms: ensure as best we can that a given file can only be - # modified by the given user (or the superuser, naturally). This diff --git a/src/share/keytrans b/src/share/keytrans --- a/src/share/keytrans +++ b/src/share/keytrans @@ -28,17 +19,5 @@ diff --git a/src/share/keytrans b/src/share/keytrans # keytrans: this is an RSA key translation utility; it is capable of # transforming RSA keys (both public keys and secret keys) between -diff --git a/tests/basic b/tests/basic ---- a/tests/basic -+++ b/tests/basic -@@ -343,7 +340,7 @@ if [ "$MONKEYSPHERE_TEST_USE_ED25519" = true ]; then - echo "### generating ed25519 key for testuser..." - # from the imported secret key - USER_FPR=8A4B353B4CBA6F30625498BAE00B5EEEBA79B482 -- gpg --quick-add-key "$USER_FPR" ed25519 auth 2d -+ gpg --no-tty --quick-add-key "$USER_FPR" ed25519 auth 2d - else - echo "### generating standard monkeysphere key for testuser..." - monkeysphere gen-subkey -- 2.16.3 diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 52464121ee54..628e19ce82b5 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -256,7 +256,6 @@ mapAliases ({ # end ppl-address-book = throw "deprecated in 2019-05-02: abandoned by upstream."; procps-ng = procps; # added 2018-06-08 - pstree = psmisc; # added 2019-05-05 pulseaudioLight = pulseaudio; # added 2018-04-25 qca-qt5 = libsForQt5.qca-qt5; # added 2015-12-19 qt_gstreamer = qt-gstreamer; # added 2017-02 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 532f809c678d..34391a10257c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2867,6 +2867,8 @@ in flannel = callPackage ../tools/networking/flannel { }; + flare = callPackage ../games/flare { }; + flashbench = callPackage ../os-specific/linux/flashbench { }; flatpak = callPackage ../development/libraries/flatpak { }; @@ -2985,6 +2987,9 @@ in fprot = callPackage ../tools/security/fprot { }; fprintd = callPackage ../tools/security/fprintd { }; + fprintd-thinkpad = fprintd.override { + thinkpad = true; + }; franz = callPackage ../applications/networking/instant-messengers/franz { }; @@ -6013,6 +6018,8 @@ in svtplay-dl = callPackage ../tools/misc/svtplay-dl { }; + symengine = callPackage ../development/libraries/symengine { }; + sysbench = callPackage ../development/tools/misc/sysbench {}; system-config-printer = callPackage ../tools/misc/system-config-printer { @@ -6026,6 +6033,8 @@ in systrayhelper = callPackage ../tools/misc/systrayhelper {}; + Sylk = callPackage ../applications/networking/Sylk {}; + otter-browser = qt5.callPackage ../applications/networking/browsers/otter {}; privoxy = callPackage ../tools/networking/privoxy { @@ -11301,6 +11310,9 @@ in }; libfprint = callPackage ../development/libraries/libfprint { }; + libfprint-thinkpad = libfprint.override { + thinkpad = true; + }; libfpx = callPackage ../development/libraries/libfpx { }; @@ -16418,6 +16430,8 @@ in qogir-theme = callPackage ../data/themes/qogir { }; + redhat-official-fonts = callPackage ../data/fonts/redhat-official { }; + route159 = callPackage ../data/fonts/route159 { }; sampradaya = callPackage ../data/fonts/sampradaya { }; @@ -19108,7 +19122,9 @@ in pig = callPackage ../applications/networking/cluster/pig { }; - pijul = callPackage ../applications/version-management/pijul {}; + pijul = callPackage ../applications/version-management/pijul { + inherit (llvmPackages) clang libclang; + }; ping = callPackage ../applications/networking/ping { }; @@ -19558,6 +19574,8 @@ in psol = callPackage ../development/libraries/psol { }; + pstree = callPackage ../applications/misc/pstree { }; + ptask = callPackage ../applications/misc/ptask { }; pulseaudio-ctl = callPackage ../applications/audio/pulseaudio-ctl { }; diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index f07f3d692389..f680f0952753 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -367,12 +367,12 @@ let }; phpstan = mkDerivation rec { - version = "0.11.6"; + version = "0.11.7"; pname = "phpstan"; src = pkgs.fetchurl { url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar"; - sha256 = "016zm9ynh0zi40kclvzql7zxs3pl69cacln2c7n3gsicpswr0qa4"; + sha256 = "0148ygnmj8wwal432isfq3zhf7qw902sfd2llwl6nw4wf0a6kf73"; }; phases = [ "installPhase" ]; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index cc281887d8bc..fe2fc7eff36e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -511,6 +511,8 @@ in { logzero = callPackage ../development/python-modules/logzero { }; + macropy = callPackage ../development/python-modules/macropy { }; + mail-parser = callPackage ../development/python-modules/mail-parser { }; manhole = callPackage ../development/python-modules/manhole { }; @@ -1231,6 +1233,8 @@ in { cement = callPackage ../development/python-modules/cement {}; + cgen = callPackage ../development/python-modules/cgen { }; + cgroup-utils = callPackage ../development/python-modules/cgroup-utils {}; chainer = callPackage ../development/python-modules/chainer { @@ -1779,6 +1783,8 @@ in { locket = callPackage ../development/python-modules/locket { }; + loo-py = callPackage ../development/python-modules/loo-py { }; + tblib = callPackage ../development/python-modules/tblib { }; s3fs = callPackage ../development/python-modules/s3fs { }; @@ -2079,6 +2085,8 @@ in { isbnlib = callPackage ../development/python-modules/isbnlib { }; + islpy = callPackage ../development/python-modules/islpy { }; + itsdangerous = callPackage ../development/python-modules/itsdangerous { }; iniparse = callPackage ../development/python-modules/iniparse { }; @@ -2281,6 +2289,8 @@ in { pylama = callPackage ../development/python-modules/pylama { }; + pymbolic = callPackage ../development/python-modules/pymbolic { }; + pymediainfo = callPackage ../development/python-modules/pymediainfo { }; pyphen = callPackage ../development/python-modules/pyphen {}; @@ -2608,6 +2618,8 @@ in { fiona = callPackage ../development/python-modules/fiona { gdal = pkgs.gdal; }; + fitbit = callPackage ../development/python-modules/fitbit { }; + flake8 = callPackage ../development/python-modules/flake8 { }; flake8-blind-except = callPackage ../development/python-modules/flake8-blind-except { }; @@ -3802,6 +3814,8 @@ in { pyasn1-modules = callPackage ../development/python-modules/pyasn1-modules { }; + pyatmo = callPackage ../development/python-modules/pyatmo { }; + pyaudio = callPackage ../development/python-modules/pyaudio { }; pysam = callPackage ../development/python-modules/pysam { }; @@ -4055,6 +4069,8 @@ in { pyserial = callPackage ../development/python-modules/pyserial {}; + pysonos = callPackage ../development/python-modules/pysonos {}; + pymongo = callPackage ../development/python-modules/pymongo {}; pyperclip = callPackage ../development/python-modules/pyperclip { }; @@ -4372,6 +4388,8 @@ in { statsmodels = callPackage ../development/python-modules/statsmodels { }; + stravalib = callPackage ../development/python-modules/stravalib { }; + streamz = callPackage ../development/python-modules/streamz { }; structlog = callPackage ../development/python-modules/structlog { }; @@ -4565,6 +4583,8 @@ in { pysendfile = callPackage ../development/python-modules/pysendfile { }; + pyxl3 = callPackage ../development/python-modules/pyxl3 { }; + qpid-python = callPackage ../development/python-modules/qpid-python { }; xattr = callPackage ../development/python-modules/xattr { }; @@ -4654,6 +4674,10 @@ in { python-vagrant = callPackage ../development/python-modules/python-vagrant { }; + symengine = callPackage ../development/python-modules/symengine { + symengine = pkgs.symengine; + }; + sympy = callPackage ../development/python-modules/sympy { }; pilkit = callPackage ../development/python-modules/pilkit { }; @@ -4794,6 +4818,8 @@ in { unidiff = callPackage ../development/python-modules/unidiff { }; + units = callPackage ../development/python-modules/units { }; + unittest2 = callPackage ../development/python-modules/unittest2 { }; unittest-xml-reporting = callPackage ../development/python-modules/unittest-xml-reporting { }; @@ -5429,6 +5455,8 @@ in { gensim = callPackage ../development/python-modules/gensim { }; + genpy = callPackage ../development/python-modules/genpy { }; + cymem = callPackage ../development/python-modules/cymem { }; ftfy = callPackage ../development/python-modules/ftfy { }; |