diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index fd7d8e314c3..ad2b74dfe81 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -6121,6 +6121,16 @@ githubId = 307899; name = "Gurkan Gur"; }; + servalcatty = { + email = "servalcat@pm.me"; + github = "servalcatty"; + githubid = 51969817; + name = "Serval"; + keys = [{ + longkeyid = "rsa4096/0x4A2AAAA382F8294C"; + fingerprint = "A317 37B3 693C 921B 480C C629 4A2A AAA3 82F8 294C"; + }]; + }; sfrijters = { email = "sfrijters@gmail.com"; github = "sfrijters"; @@ -7664,6 +7674,12 @@ githubId = 50867187; name = "Rakesh Gupta"; }; + mlatus = { + email = "wqseleven@gmail.com"; + github = "Ninlives"; + githubId = 17873203; + name = "mlatus"; + }; waiting-for-dev = { email = "marc@lamarciana.com"; github = "waiting-for-dev"; diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml index 7991c43e01f..5655295871e 100644 --- a/nixos/doc/manual/installation/installing.xml +++ b/nixos/doc/manual/installation/installing.xml @@ -380,7 +380,10 @@ If you need to configure networking for your machine the configuration - options are described in . + options are described in . In particular, + while wifi is supported on the installation image, it is not enabled by + default in the configuration generated by + nixos-generate-config. Another critical option is , specifying the diff --git a/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml index c5b8b1254f7..45071449f9d 100644 --- a/nixos/doc/manual/release-notes/rl-2003.xml +++ b/nixos/doc/manual/release-notes/rl-2003.xml @@ -207,6 +207,21 @@ upstream issue for more information. + + + The packages openobex and obexftp + are no loger installed when enabling bluetooth via + . + + + + + The dump1090 derivation has been changed to use FlightAware's dump1090 + as its upstream. However, this version does not have an internal webserver anymore. The + assets in the share/dump1090 directory of the derivation can be used + in conjunction with an external webserver to replace this functionality. + + @@ -229,6 +244,12 @@ release announcement for more information. + + + PRETTY_NAME in /etc/os-release + now uses the short rather than full version string. + + diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix index 773724ffbd5..cf17f9aae38 100644 --- a/nixos/modules/misc/version.nix +++ b/nixos/modules/misc/version.nix @@ -92,7 +92,7 @@ in VERSION="${cfg.version} (${cfg.codeName})" VERSION_CODENAME=${toLower cfg.codeName} VERSION_ID="${cfg.version}" - PRETTY_NAME="NixOS ${cfg.version} (${cfg.codeName})" + PRETTY_NAME="NixOS ${cfg.release} (${cfg.codeName})" LOGO="nix-snowflake" HOME_URL="https://nixos.org/" DOCUMENTATION_URL="https://nixos.org/nixos/manual/index.html" diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 076e1654818..8e373550bb3 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -722,6 +722,7 @@ ./services/networking/tvheadend.nix ./services/networking/unbound.nix ./services/networking/unifi.nix + ./services/networking/v2ray.nix ./services/networking/vsftpd.nix ./services/networking/wakeonlan.nix ./services/networking/websockify.nix diff --git a/nixos/modules/services/hardware/bluetooth.nix b/nixos/modules/services/hardware/bluetooth.nix index 7b13beea1ca..11d67418a31 100644 --- a/nixos/modules/services/hardware/bluetooth.nix +++ b/nixos/modules/services/hardware/bluetooth.nix @@ -72,7 +72,7 @@ in { }; }; - environment.systemPackages = [ bluez-bluetooth pkgs.openobex pkgs.obexftp ]; + environment.systemPackages = [ bluez-bluetooth ]; environment.etc = singleton { source = pkgs.writeText "main.conf" (generators.toINI { } cfg.config + optionalString (cfg.extraConfig != null) cfg.extraConfig); diff --git a/nixos/modules/services/networking/v2ray.nix b/nixos/modules/services/networking/v2ray.nix new file mode 100644 index 00000000000..a1774cdffbb --- /dev/null +++ b/nixos/modules/services/networking/v2ray.nix @@ -0,0 +1,81 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + options = { + + services.v2ray = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to run v2ray server. + + Either configFile or config must be specified. + ''; + }; + + configFile = mkOption { + type = types.nullOr types.str; + default = null; + example = "/etc/v2ray/config.json"; + description = '' + The absolute path to the configuration file. + + Either configFile or config must be specified. + + See . + ''; + }; + + config = mkOption { + type = types.nullOr (types.attrsOf types.unspecified); + default = null; + example = { + inbounds = [{ + port = 1080; + listen = "127.0.0.1"; + protocol = "http"; + }]; + outbounds = [{ + protocol = "freedom"; + }]; + }; + description = '' + The configuration object. + + Either `configFile` or `config` must be specified. + + See . + ''; + }; + }; + + }; + + config = let + cfg = config.services.v2ray; + configFile = if cfg.configFile != null + then cfg.configFile + else (pkgs.writeText "v2ray.json" (builtins.toJSON cfg.config)); + + in mkIf cfg.enable { + assertions = [ + { + assertion = (cfg.configFile == null) != (cfg.config == null); + message = "Either but not both `configFile` and `config` should be specified for v2ray."; + } + ]; + + systemd.services.v2ray = { + description = "v2ray Daemon"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + path = [ pkgs.v2ray ]; + script = '' + exec v2ray -config ${configFile} + ''; + }; + }; +} diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 80dab135ee2..25ef1cbfc67 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -159,7 +159,7 @@ in # Override GSettings schemas environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas"; - environment.sessionVariables.GNOME_SESSION_DEBUG = optionalString cfg.debug "1"; + environment.sessionVariables.GNOME_SESSION_DEBUG = mkIf cfg.debug "1"; # Settings from elementary-default-settings environment.sessionVariables.GTK_CSD = "1"; diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix index da8bdcb78c4..56015874723 100644 --- a/nixos/modules/services/x11/desktop-managers/plasma5.nix +++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix @@ -169,7 +169,7 @@ in ++ lib.optional (cfg.phononBackend == "vlc") libsForQt5.phonon-backend-vlc # Optional hardware support features - ++ lib.optionals config.hardware.bluetooth.enable [ bluedevil bluez-qt ] + ++ lib.optionals config.hardware.bluetooth.enable [ bluedevil bluez-qt openobex obexftp ] ++ lib.optional config.networking.networkmanager.enable plasma-nm ++ lib.optional config.hardware.pulseaudio.enable plasma-pa ++ lib.optional config.powerManagement.enable powerdevil diff --git a/nixos/tests/matomo.nix b/nixos/tests/matomo.nix index 4efa65a7b6d..2bea237c8bd 100644 --- a/nixos/tests/matomo.nix +++ b/nixos/tests/matomo.nix @@ -1,7 +1,7 @@ { system ? builtins.currentSystem, config ? { } , pkgs ? import ../.. { inherit system config; } }: -with import ../lib/testing.nix { inherit system pkgs; }; +with import ../lib/testing-python.nix { inherit system pkgs; }; with pkgs.lib; let @@ -24,11 +24,16 @@ let }; testScript = '' - startAll; - $machine->waitForUnit("mysql.service"); - $machine->waitForUnit("phpfpm-matomo.service"); - $machine->waitForUnit("nginx.service"); - $machine->succeed("curl -sSfL http://localhost/ | grep 'Matomo[^<]*Installation'"); + start_all() + machine.wait_for_unit("mysql.service") + machine.wait_for_unit("phpfpm-matomo.service") + machine.wait_for_unit("nginx.service") + + # without the grep the command does not produce valid utf-8 for some reason + with subtest("welcome screen loads"): + machine.succeed( + "curl -sSfL http://localhost/ | grep '<title>Matomo[^<]*Installation'" + ) ''; }; in { diff --git a/nixos/tests/mediawiki.nix b/nixos/tests/mediawiki.nix index 6293e8a2f46..9468c1de8cc 100644 --- a/nixos/tests/mediawiki.nix +++ b/nixos/tests/mediawiki.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, lib, ... }: { +import ./make-test-python.nix ({ pkgs, lib, ... }: { name = "mediawiki"; meta.maintainers = [ lib.maintainers.aanderse ]; @@ -11,9 +11,11 @@ import ./make-test.nix ({ pkgs, lib, ... }: { }; testScript = '' - startAll; + start_all() - $machine->waitForUnit('phpfpm-mediawiki.service'); - $machine->succeed('curl -L http://localhost/') =~ /MediaWiki has been installed/ or die; + machine.wait_for_unit("phpfpm-mediawiki.service") + + page = machine.succeed("curl -L http://localhost/") + assert "MediaWiki has been installed" in page ''; }) diff --git a/nixos/tests/openarena.nix b/nixos/tests/openarena.nix index 4cc4db22963..b315426532b 100644 --- a/nixos/tests/openarena.nix +++ b/nixos/tests/openarena.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ...} : { +import ./make-test-python.nix ({ pkgs, ...} : { name = "openarena"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ tomfitzhenry ]; @@ -23,14 +23,19 @@ import ./make-test.nix ({ pkgs, ...} : { testScript = '' - $machine->waitForUnit("openarena.service"); - $machine->waitUntilSucceeds("ss --numeric --udp --listening | grep -q 27960"); + machine.wait_for_unit("openarena.service") + machine.wait_until_succeeds("ss --numeric --udp --listening | grep -q 27960") # The log line containing 'resolve address' is last and only message that occurs after # the server starts accepting clients. - $machine->waitUntilSucceeds("journalctl -u openarena.service | grep 'resolve address: dpmaster.deathmask.net'"); + machine.wait_until_succeeds( + "journalctl -u openarena.service | grep 'resolve address: dpmaster.deathmask.net'" + ) # Check it's possible to join the server. - $machine->succeed("echo -n -e '\\xff\\xff\\xff\\xffgetchallenge' | socat - UDP4-DATAGRAM:127.0.0.1:27960 | grep -q challengeResponse"); + # Can't use substring match instead of grep because the output is not utf-8 + machine.succeed( + "echo -n -e '\\xff\\xff\\xff\\xffgetchallenge' | socat - UDP4-DATAGRAM:127.0.0.1:27960 | grep -q challengeResponse" + ) ''; }) diff --git a/nixos/tests/radicale.nix b/nixos/tests/radicale.nix index 60796425564..c81e78a8f99 100644 --- a/nixos/tests/radicale.nix +++ b/nixos/tests/radicale.nix @@ -28,7 +28,7 @@ let in - import ./make-test.nix ({ lib, ... }@args: { + import ./make-test-python.nix ({ lib, ... }@args: { name = "radicale"; meta.maintainers = with lib.maintainers; [ aneeshusa infinisil ]; @@ -64,43 +64,59 @@ in newSystem = nodes.${nodeName}.config.system.build.toplevel; in "${newSystem}/bin/switch-to-configuration test"; in '' - # Check Radicale 1 functionality - $radicale->succeed('${switchToConfig "radicale1"} >&2'); - $radicale->waitForUnit('radicale.service'); - $radicale->waitForOpenPort(${port}); - $radicale->succeed('curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/'); + with subtest("Check Radicale 1 functionality"): + radicale.succeed( + "${switchToConfig "radicale1"} >&2" + ) + radicale.wait_for_unit("radicale.service") + radicale.wait_for_open_port(${port}) + radicale.succeed( + "curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/" + ) - # Export data in Radicale 2 format - $radicale->succeed('systemctl stop radicale'); - $radicale->succeed('ls -al /tmp/collections'); - $radicale->fail('ls -al /tmp/collections-new'); - # Radicale exits immediately after exporting storage - $radicale->succeed('${switchToConfig "radicale1_export"} >&2'); - $radicale->waitUntilFails('systemctl status radicale'); - $radicale->succeed('ls -al /tmp/collections'); - $radicale->succeed('ls -al /tmp/collections-new'); + with subtest("Export data in Radicale 2 format"): + radicale.succeed("systemctl stop radicale") + radicale.succeed("ls -al /tmp/collections") + radicale.fail("ls -al /tmp/collections-new") - # Verify data in Radicale 2 format - $radicale->succeed('rm -r /tmp/collections/${user}'); - $radicale->succeed('mv /tmp/collections-new/collection-root /tmp/collections'); - $radicale->succeed('${switchToConfig "radicale2_verify"} >&2'); - $radicale->waitUntilFails('systemctl status radicale'); - my ($retcode, $logs) = $radicale->execute('journalctl -u radicale -n 10'); - if ($retcode != 0 || index($logs, 'Verifying storage') == -1) { - die "Radicale 2 didn't verify storage" - } - if (index($logs, 'failed') != -1 || index($logs, 'exception') != -1) { - die "storage verification failed" - } + with subtest("Radicale exits immediately after exporting storage"): + radicale.succeed( + "${switchToConfig "radicale1_export"} >&2" + ) + radicale.wait_until_fails("systemctl status radicale") + radicale.succeed("ls -al /tmp/collections") + radicale.succeed("ls -al /tmp/collections-new") - # Check Radicale 2 functionality - $radicale->succeed('${switchToConfig "radicale2"} >&2'); - $radicale->waitForUnit('radicale.service'); - $radicale->waitForOpenPort(${port}); - my ($retcode, $output) = $radicale->execute('curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/'); - if ($retcode != 0 || index($output, 'VCALENDAR') == -1) { - die "Could not read calendar from Radicale 2" - } - $radicale->succeed('curl --fail http://${user}:${password}@localhost:${port}/.web/'); + with subtest("Verify data in Radicale 2 format"): + radicale.succeed("rm -r /tmp/collections/${user}") + radicale.succeed("mv /tmp/collections-new/collection-root /tmp/collections") + radicale.succeed( + "${switchToConfig "radicale2_verify"} >&2" + ) + radicale.wait_until_fails("systemctl status radicale") + + (retcode, logs) = radicale.execute("journalctl -u radicale -n 10") + assert ( + retcode == 0 and "Verifying storage" in logs + ), "Radicale 2 didn't verify storage" + assert ( + "failed" not in logs and "exception" not in logs + ), "storage verification failed" + + with subtest("Check Radicale 2 functionality"): + radicale.succeed( + "${switchToConfig "radicale2"} >&2" + ) + radicale.wait_for_unit("radicale.service") + radicale.wait_for_open_port(${port}) + + (retcode, output) = radicale.execute( + "curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/" + ) + assert ( + retcode == 0 and "VCALENDAR" in output + ), "Could not read calendar from Radicale 2" + + radicale.succeed("curl --fail http://${user}:${password}@localhost:${port}/.web/") ''; }) diff --git a/nixos/tests/xrdp.nix b/nixos/tests/xrdp.nix index 0106aefe831..1aceeffb955 100644 --- a/nixos/tests/xrdp.nix +++ b/nixos/tests/xrdp.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ...} : { +import ./make-test-python.nix ({ pkgs, ...} : { name = "xrdp"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ volth ]; @@ -21,25 +21,27 @@ import ./make-test.nix ({ pkgs, ...} : { }; }; - testScript = { ... }: '' - startAll; + testScript = { nodes, ... }: let + user = nodes.client.config.users.users.alice; + in '' + start_all() - $client->waitForX; - $client->waitForFile("/home/alice/.Xauthority"); - $client->succeed("xauth merge ~alice/.Xauthority"); + client.wait_for_x() + client.wait_for_file("${user.home}/.Xauthority") + client.succeed("xauth merge ${user.home}/.Xauthority") - $client->sleep(5); + client.sleep(5) - $client->execute("xterm &"); - $client->sleep(1); - $client->sendChars("xfreerdp /cert-tofu /w:640 /h:480 /v:127.0.0.1 /u:alice /p:foobar\n"); - $client->sleep(5); - $client->screenshot("localrdp"); + client.execute("xterm &") + client.sleep(1) + client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:127.0.0.1 /u:${user.name} /p:${user.password}\n") + client.sleep(5) + client.screenshot("localrdp") - $client->execute("xterm &"); - $client->sleep(1); - $client->sendChars("xfreerdp /cert-tofu /w:640 /h:480 /v:server /u:alice /p:foobar\n"); - $client->sleep(5); - $client->screenshot("remoterdp"); + client.execute("xterm &") + client.sleep(1) + client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:server /u:${user.name} /p:${user.password}\n") + client.sleep(5) + client.screenshot("remoterdp") ''; }) diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix index 8bdf45a968a..b555598591d 100644 --- a/pkgs/applications/audio/lollypop/default.nix +++ b/pkgs/applications/audio/lollypop/default.nix @@ -19,7 +19,7 @@ python3.pkgs.buildPythonApplication rec { pname = "lollypop"; - version = "1.2.5"; + version = "1.2.16"; format = "other"; doCheck = false; @@ -28,7 +28,7 @@ python3.pkgs.buildPythonApplication rec { url = "https://gitlab.gnome.org/World/lollypop"; rev = "refs/tags/${version}"; fetchSubmodules = true; - sha256 = "148p3ab7nnfz13hgjkx1cf2ahq9mgl72csrl35xy6d0nkfqbfr8r"; + sha256 = "0rl4a5npjh5sm3kih11cs2j7ik894nlygllbw4j5pn9n9v66x51w"; }; nativeBuildInputs = [ @@ -84,10 +84,10 @@ python3.pkgs.buildPythonApplication rec { ]; meta = with lib; { + changelog = "https://gitlab.gnome.org/World/lollypop/tags/${version}"; description = "A modern music player for GNOME"; homepage = https://wiki.gnome.org/Apps/Lollypop; license = licenses.gpl3Plus; - changelog = "https://gitlab.gnome.org/World/lollypop/tags/${version}"; maintainers = with maintainers; [ worldofpeace ]; platforms = platforms.linux; }; diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix index b4a50395464..d371f500bc8 100644 --- a/pkgs/applications/audio/snd/default.nix +++ b/pkgs/applications/audio/snd/default.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { - name = "snd-19.8"; + name = "snd-19.9"; src = fetchurl { url = "mirror://sourceforge/snd/${name}.tar.gz"; - sha256 = "0cdf3940cjvf5kls5l1zjll9wgg152xzlxs0jmpsq1kml12qa67b"; + sha256 = "13s8fahpsjygjdrcwmprcrz23ny3klaj2rh2xzdv3bfs69gxvhys"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix index 15f251f5b09..6f29946d77a 100644 --- a/pkgs/applications/editors/nano/default.nix +++ b/pkgs/applications/editors/nano/default.nix @@ -20,11 +20,11 @@ let in stdenv.mkDerivation rec { pname = "nano"; - version = "4.5"; + version = "4.6"; src = fetchurl { url = "mirror://gnu/nano/${pname}-${version}.tar.xz"; - sha256 = "0czmz1yq8s5qcxcmfjdxzg9nkhbmlc9q1nz04jvf57fdbs7w7mfy"; + sha256 = "1s98jsvkfar6qmd5n5l1n1k59623dnc93ciyvlhxjkvpad0kmb4v"; }; nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext; diff --git a/pkgs/applications/graphics/gscan2pdf/default.nix b/pkgs/applications/graphics/gscan2pdf/default.nix index b0e76d23dac..9db6281b341 100644 --- a/pkgs/applications/graphics/gscan2pdf/default.nix +++ b/pkgs/applications/graphics/gscan2pdf/default.nix @@ -38,7 +38,7 @@ perlPackages.buildPerlPackage rec { ListMoreUtils HTMLParser ProcProcessTable - Log4Perl + LogLog4perl TryTiny DataUUID DateCalc diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix index 17b5a716491..3996b94ba14 100644 --- a/pkgs/applications/graphics/inkscape/default.nix +++ b/pkgs/applications/graphics/inkscape/default.nix @@ -25,6 +25,16 @@ stdenv.mkDerivation rec { url = "https://gitlab.com/inkscape/inkscape/commit/e831b034746f8dc3c3c1b88372751f6dcb974831.diff"; sha256 = "096rdyi6ppjq1h9jwwsm9hb99nggfrfinik8rm23jkn4h2zl01zf"; }) + (fetchpatch { + name = "inkscape-poppler_0_82_compat.patch"; + url = "https://gitlab.com/inkscape/inkscape/commit/835b6bb62be565efab986d5a3f30a672ad56c7eb.patch"; + sha256 = "02c6sxi2w52b885vr3pgani6kvxp9gdqqk2jgiykkdzv70hhrnm7"; + }) + (fetchpatch { + name = "inkscape-poppler_0_83_compat.patch"; + url = "https://gitlab.com/inkscape/inkscape/commit/b5360a807b12d4e8318475ffd0464b84882788b5.patch"; + sha256 = "1p44rr2q2i3zkd1y1j7xgdcbgx8yvlq6hq92im8s0bkjby6p5cpz"; + }) ]; # Inkscape hits the ARGMAX when linking on macOS. It appears to be diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix index 317987d8d91..a87d54459c1 100644 --- a/pkgs/applications/graphics/k3d/default.nix +++ b/pkgs/applications/graphics/k3d/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, fetchpatch, ftgl, glew, asciidoc , cmake, ninja, libGLU, libGL, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype -, libpng, boost, doxygen, cairomm, pkgconfig, imagemagick, libjpeg, libtiff +, libpng, boost, doxygen, cairomm, pkgconfig, libjpeg, libtiff , gettext, intltool, perl, gtkmm2, glibmm, gtkglext, pangox_compat, libXmu }: stdenv.mkDerivation rec { @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { buildInputs = [ libGLU libGL zlib python expat libxml2 libsigcxx libuuid freetype libpng - boost cairomm imagemagick libjpeg libtiff + boost cairomm libjpeg libtiff ftgl glew gtkmm2 glibmm gtkglext pangox_compat libXmu ]; diff --git a/pkgs/applications/misc/buku/default.nix b/pkgs/applications/misc/buku/default.nix index ac65341d498..98f6e2895d1 100644 --- a/pkgs/applications/misc/buku/default.nix +++ b/pkgs/applications/misc/buku/default.nix @@ -27,6 +27,7 @@ with python3.pkgs; buildPythonApplication rec { requests urllib3 flask + flask-admin flask-api flask-bootstrap flask-paginate diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix index e3d9e8be0b2..60598e56539 100644 --- a/pkgs/applications/misc/dbeaver/default.nix +++ b/pkgs/applications/misc/dbeaver/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { pname = "dbeaver-ce"; - version = "6.2.5"; + version = "6.3.0"; desktopItem = makeDesktopItem { name = "dbeaver"; @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz"; - sha256 = "1bg5cq7ivf263mjr8g9qwdhp9x0gm04nqiya4fyw0k33yiab85zn"; + sha256 = "07j2r2kfjhfv8zzzzp5qj3ppx4vv7llpx4lwip6bnjfkh80ny22a"; }; installPhase = '' diff --git a/pkgs/applications/misc/gummi/default.nix b/pkgs/applications/misc/gummi/default.nix index 273be11ac63..d1daec28482 100644 --- a/pkgs/applications/misc/gummi/default.nix +++ b/pkgs/applications/misc/gummi/default.nix @@ -1,4 +1,4 @@ -{ stdenv, pkgs, makeWrapper +{ stdenv, pkgs, makeWrapper, pango , glib, gnome2, gnome3, gtk2-x11, gtkspell2, poppler , pkgconfig, intltool, autoreconfHook, wrapGAppsHook }: @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { pkgconfig intltool autoreconfHook makeWrapper wrapGAppsHook ]; buildInputs = [ - glib gnome2.gtksourceview gnome2.pango gtk2-x11 gtkspell2 poppler + glib gnome2.gtksourceview pango gtk2-x11 gtkspell2 poppler gnome3.adwaita-icon-theme ]; diff --git a/pkgs/applications/misc/prusa-slicer/default.nix b/pkgs/applications/misc/prusa-slicer/default.nix index f3cd6fdb0f6..154b974e644 100644 --- a/pkgs/applications/misc/prusa-slicer/default.nix +++ b/pkgs/applications/misc/prusa-slicer/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub, makeWrapper, cmake, pkgconfig -, boost, cereal, curl, eigen, expat, glew, libpng, tbb, wxGTK30 +, boost, cereal, curl, eigen, expat, glew, libpng, tbb, wxGTK31 , gtest, nlopt, xorg, makeDesktopItem }: let @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { glew libpng tbb - wxGTK30 + wxGTK31 xorg.libX11 ] ++ checkInputs; @@ -65,7 +65,6 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DSLIC3R_FHS=1" - "-DSLIC3R_WX_STABLE=1" # necessary when compiling against wxGTK 3.0 ]; postInstall = '' diff --git a/pkgs/applications/misc/stretchly/default.nix b/pkgs/applications/misc/stretchly/default.nix index 213f308646a..75f3be85dad 100644 --- a/pkgs/applications/misc/stretchly/default.nix +++ b/pkgs/applications/misc/stretchly/default.nix @@ -1,8 +1,12 @@ { GConf , alsaLib , at-spi2-atk +, at-spi2-core , atk +, buildFHSUserEnv , cairo +, common-updater-scripts +, coreutils , cups , dbus , expat @@ -29,15 +33,19 @@ , libnotify , libpciaccess , libpng12 +, libuuid , libxcb , nspr , nss , pango , pciutils , pulseaudio +, runtimeShell , stdenv , udev , wrapGAppsHook +, writeScript +, file }: let @@ -45,6 +53,7 @@ let GConf alsaLib at-spi2-atk + at-spi2-core atk cairo cups @@ -71,6 +80,7 @@ let libnotify libpciaccess libpng12 + libuuid libxcb nspr nss @@ -82,58 +92,96 @@ let ]; libPath = lib.makeLibraryPath libs; + + stretchly = + stdenv.mkDerivation rec { + pname = "stretchly"; + version = "0.21.0"; + + src = fetchurl { + url = "https://github.com/hovancik/stretchly/releases/download/v${version}/stretchly-${version}.tar.xz"; + sha256 = "1gyyr22xq8s4miiacs8wqhp7lxnwvkvlwhngnq8671l62s6iyjzl"; + }; + + nativeBuildInputs = [ + wrapGAppsHook + coreutils + ]; + + buildInputs = libs; + + dontPatchELF = true; + dontBuild = true; + dontConfigure = true; + + installPhase = '' + mkdir -p $out/bin $out/lib/stretchly + cp -r ./* $out/lib/stretchly/ + ln -s $out/lib/stretchly/stretchly $out/bin/ + ''; + + preFixup = '' + patchelf --set-rpath "${libPath}" $out/lib/stretchly/libffmpeg.so + patchelf --set-rpath "${libPath}" $out/lib/stretchly/libEGL.so + patchelf --set-rpath "${libPath}" $out/lib/stretchly/libGLESv2.so + patchelf --set-rpath "${libPath}" $out/lib/stretchly/swiftshader/libEGL.so + patchelf --set-rpath "${libPath}" $out/lib/stretchly/swiftshader/libGLESv2.so + + patchelf \ + --set-rpath "$out/lib/stretchly:${libPath}" \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + $out/lib/stretchly/stretchly + + patchelf \ + --set-rpath "$out/lib/stretchly:${libPath}" \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + $out/lib/stretchly/chrome-sandbox + ''; + + meta = with stdenv.lib; { + description = "A break time reminder app"; + longDescription = '' + stretchly is a cross-platform electron app that reminds you to take + breaks when working on your computer. By default, it runs in your tray + and displays a reminder window containing an idea for a microbreak for 20 + seconds every 10 minutes. Every 30 minutes, it displays a window + containing an idea for a longer 5 minute break. + ''; + homepage = https://hovancik.net/stretchly; + downloadPage = https://hovancik.net/stretchly/downloads/; + license = licenses.bsd2; + maintainers = with maintainers; [ cdepillabout ]; + platforms = platforms.linux; + }; + }; + in -stdenv.mkDerivation rec { - pname = "stretchly"; - version = "0.19.1"; +buildFHSUserEnv { + inherit (stretchly) meta; - src = fetchurl { - url = "https://github.com/hovancik/stretchly/releases/download/v${version}/stretchly-${version}.tar.xz"; - sha256 = "1q2wxfqs8qv9b1rfh5lhmyp3rrgdl05m6ihsgkxlgp0yzi07afz8"; - }; + name = "stretchly"; - nativeBuildInputs = [ - wrapGAppsHook + targetPkgs = pkgs: [ + stretchly ]; - buildInputs = libs; + runScript = "stretchly"; - dontPatchELF = true; - dontBuild = true; - dontConfigure = true; + passthru = { + updateScript = writeScript "update-stretchly" '' + #!${runtimeShell} - installPhase = '' - mkdir -p $out/bin $out/lib/stretchly - cp -r ./* $out/lib/stretchly/ - ln -s $out/lib/stretchly/libffmpeg.so $out/lib/ - ln -s $out/lib/stretchly/libnode.so $out/lib/ - ln -s $out/lib/stretchly/stretchly $out/bin/ - ''; + set -eu -o pipefail - preFixup = '' - patchelf --set-rpath "${libPath}" $out/lib/stretchly/libffmpeg.so - patchelf --set-rpath "${libPath}" $out/lib/stretchly/libnode.so + # get the latest release version + latest_version=$(curl -s https://api.github.com/repos/hovancik/stretchly/releases/latest | jq --raw-output .tag_name | sed -e 's/^v//') - patchelf \ - --set-rpath "$out/lib/stretchly:${libPath}" \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - $out/lib/stretchly/stretchly - ''; + echo "updating to $latest_version..." - meta = with stdenv.lib; { - description = "A break time reminder app"; - longDescription = '' - stretchly is a cross-platform electron app that reminds you to take - breaks when working on your computer. By default, it runs in your tray - and displays a reminder window containing an idea for a microbreak for 20 - seconds every 10 minutes. Every 30 minutes, it displays a window - containing an idea for a longer 5 minute break. + ${common-updater-scripts}/bin/update-source-version stretchly.passthru.stretchlyWrapped "$latest_version" ''; - homepage = https://hovancik.net/stretchly; - downloadPage = https://hovancik.net/stretchly/downloads/; - license = licenses.bsd2; - maintainers = with maintainers; [ cdepillabout ]; - platforms = platforms.linux; + + stretchlyWrapped = stretchly; }; } diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix index 7e513edf612..267f25f8bb5 100644 --- a/pkgs/applications/networking/cluster/kops/default.nix +++ b/pkgs/applications/networking/cluster/kops/default.nix @@ -65,4 +65,9 @@ in rec { version = "1.14.1"; sha256 = "0ikd8qwrjh8s1sc95g18sm0q6p33swz2m1rjd8zw34mb2w9jv76n"; }; + + kops_1_15 = mkKops { + version = "1.15.0"; + sha256 = "0sjas8pn0njl767b1y15g7cci2q3kxkxwmgr0wvs7vi3n1s1sf9d"; + }; } diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix index f8b42470de7..1bffafac882 100644 --- a/pkgs/applications/networking/cluster/terraform/default.nix +++ b/pkgs/applications/networking/cluster/terraform/default.nix @@ -112,8 +112,8 @@ in rec { terraform_0_11-full = terraform_0_11.full; terraform_0_12 = pluggable (generic { - version = "0.12.16"; - sha256 = "10r9vra4d3lyms9cvl0g1ij6ldcfi3vjrqsmd52isrmlmjdzm8nk"; + version = "0.12.17"; + sha256 = "1pmvjbmzws5qjzz34dw0fcb6p36vafqs0h8i87g7lmhckb9bqihv"; patches = [ ./provider-path.patch ]; passthru = { inherit plugins; }; }); diff --git a/pkgs/applications/networking/ssb/patchwork/default.nix b/pkgs/applications/networking/ssb/patchwork/default.nix index 349c4f5e799..04ab1d1c98d 100644 --- a/pkgs/applications/networking/ssb/patchwork/default.nix +++ b/pkgs/applications/networking/ssb/patchwork/default.nix @@ -2,12 +2,12 @@ let pname = "ssb-patchwork"; - version = "3.16.2"; - name = "${pname}-${version}"; + version = "3.17.1"; + name = "Patchwork-${version}"; src = fetchurl { - url = "https://github.com/ssbc/patchwork/releases/download/v${version}/${pname}-${version}-x86_64.AppImage"; - sha256 = "0hi9ysmwhiiww82a3mqdd2b1anj7qa41b46f6zb3q9d0b8nmvlz4"; + url = "https://github.com/ssbc/patchwork/releases/download/v${version}/${name}.AppImage"; + sha256 = "06wcgdcagmh80nr8nyrnz83wgq7j8r96hn3ccka7nmn02pdgvp3k"; }; binary = appimageTools.wrapType2 { diff --git a/pkgs/applications/office/bookworm/default.nix b/pkgs/applications/office/bookworm/default.nix index d839f4c81f2..be6fe172e29 100644 --- a/pkgs/applications/office/bookworm/default.nix +++ b/pkgs/applications/office/bookworm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, pantheon, vala, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk +{ stdenv, fetchFromGitHub, pantheon, vala, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk, libgee , gobject-introspection, sqlite, poppler, poppler_utils, html2text, curl, gnugrep, coreutils, bash, unzip, unar, wrapGAppsHook }: stdenv.mkDerivation rec { @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { pantheon.elementary-icon-theme pantheon.granite glib - gnome3.libgee + libgee gtk3 html2text poppler diff --git a/pkgs/applications/office/wpsoffice/default.nix b/pkgs/applications/office/wpsoffice/default.nix index 1f21ec60ae2..6ece55182ab 100644 --- a/pkgs/applications/office/wpsoffice/default.nix +++ b/pkgs/applications/office/wpsoffice/default.nix @@ -1,23 +1,22 @@ { stdenv, fetchurl , libX11, glib, xorg, fontconfig, freetype -, zlib, libpng12, libICE, libXrender, cups }: +, zlib, libpng12, libICE, libXrender, cups +, alsaLib, atk, cairo, dbus, expat +, gdk-pixbuf, gtk2-x11, lzma, pango, zotero +, sqlite, libuuid, qt5, dpkg }: -let - bits = if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64" - else "x86"; - - version = "10.1.0.5672"; -in stdenv.mkDerivation rec{ +stdenv.mkDerivation rec{ pname = "wpsoffice"; - inherit version; + version = "11.1.0.8865"; src = fetchurl { - name = "${pname}-${version}.tar.xz"; - url = "http://kdl.cc.ksosoft.com/wps-community/download/a21/wps-office_${version}~a21_${bits}.tar.xz"; - sha256 = if bits == "x86_64" then - "0mi3n9kplf82gd0g2m0np957agy53p4g1qh81pbban49r4n0ajcz" else - "1dk400ap5qwdhjvn8lnk602f5akayr391fkljxdkrpn5xac01m97"; + url = "https://wdl1.cache.wps.cn/wps/download/ep/Linux2019/8865/wps-office_11.1.0.8865_amd64.deb"; + sha256 = "0pxx3j02cm8d08iakg30azjvl3a50y4avyrf08ddgaavqnvkypfj"; }; + unpackCmd = "dpkg -x $src ."; + sourceRoot = "."; + + nativeBuildInputs = [ qt5.wrapQtAppsHook dpkg ]; meta = { description = "Office program originally named Kingsoft Office"; @@ -25,20 +24,44 @@ in stdenv.mkDerivation rec{ platforms = [ "i686-linux" "x86_64-linux" ]; hydraPlatforms = []; license = stdenv.lib.licenses.unfreeRedistributable; + maintainers = [ stdenv.lib.maintainers.mlatus ]; }; - libPath = stdenv.lib.makeLibraryPath [ + libPath = with xorg; stdenv.lib.makeLibraryPath [ libX11 libpng12 glib - xorg.libSM - xorg.libXext + libSM + libXext fontconfig zlib freetype libICE cups libXrender + libxcb + + alsaLib + atk + cairo + dbus.daemon.lib + expat + fontconfig.lib + gdk-pixbuf + gtk2-x11 + lzma + pango + zotero + sqlite + libuuid + libXcomposite + libXcursor + libXdamage + libXfixes + libXi + libXrandr + libXScrnSaver + libXtst ]; dontPatchELF = true; @@ -49,32 +72,27 @@ in stdenv.mkDerivation rec{ installPhase = '' prefix=$out/opt/kingsoft/wps-office - mkdir -p $prefix - cp -r . $prefix + mkdir -p $out + cp -r opt $out + cp -r usr/* $out # Avoid forbidden reference error due use of patchelf - rm -r $PWD + rm -r * - mkdir $out/bin - for i in wps wpp et; do + for i in wps wpp et wpspdf; do patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --force-rpath --set-rpath "$prefix/office6:$libPath" \ + --force-rpath --set-rpath "$(patchelf --print-rpath $prefix/office6/$i):${stdenv.cc.cc.lib}/lib64:${libPath}" \ $prefix/office6/$i - substitute $prefix/$i $out/bin/$i \ + substituteInPlace $out/bin/$i \ --replace /opt/kingsoft/wps-office $prefix - chmod +x $out/bin/$i - - substituteInPlace $prefix/resource/applications/wps-office-$i.desktop \ - --replace /usr/bin $out/bin done - # China fonts - mkdir -p $prefix/resource/fonts/wps-office $out/etc/fonts/conf.d - ln -s $prefix/fonts/* $prefix/resource/fonts/wps-office - ln -s $prefix/fontconfig/*.conf $out/etc/fonts/conf.d - - ln -s $prefix/resource $out/share + for i in $out/share/applications/*;do + substituteInPlace $i \ + --replace /usr/bin $out/bin \ + --replace /opt/kingsoft/wps-office $prefix + done ''; } diff --git a/pkgs/applications/radio/dump1090/default.nix b/pkgs/applications/radio/dump1090/default.nix index 41ddb671a36..0a92bea44e8 100644 --- a/pkgs/applications/radio/dump1090/default.nix +++ b/pkgs/applications/radio/dump1090/default.nix @@ -1,21 +1,31 @@ -{ stdenv, fetchFromGitHub, pkgconfig, libusb, rtl-sdr }: +{ stdenv +, fetchFromGitHub +, pkgconfig +, libbladeRF +, libusb +, ncurses +, rtl-sdr +}: stdenv.mkDerivation rec { pname = "dump1090"; - version = "2014-10-31"; + version = "3.7.2"; src = fetchFromGitHub { - owner = "MalcolmRobb"; + owner = "flightaware"; repo = pname; - rev = "bff92c4ad772a0a8d433f788d39dae97e00e4dbe"; - sha256 = "06aaj9gpz5v4qzvnp8xf18wdfclp0jvn3hflls79ly46gz2dh9hy"; + rev = "v${version}"; + sha256 = "0vlv9bd805kid202xxkrnl51rh02cyrl055gbcqlqgk51j5rrq8w"; }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ libusb rtl-sdr ]; - - makeFlags = [ "PREFIX=$(out)" ]; + buildInputs = [ + libbladeRF + libusb + ncurses + rtl-sdr + ]; installPhase = '' mkdir -p $out/bin $out/share @@ -25,8 +35,8 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A simple Mode S decoder for RTLSDR devices"; - homepage = https://github.com/MalcolmRobb/dump1090; - license = licenses.bsd3; + homepage = "https://github.com/flightaware/dump1090"; + license = licenses.gpl2Plus; platforms = platforms.linux; maintainers = with maintainers; [ earldouglas ]; }; diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix index bf2d0396f69..e5958f46cbf 100644 --- a/pkgs/applications/science/logic/coq/default.nix +++ b/pkgs/applications/science/logic/coq/default.nix @@ -31,6 +31,7 @@ let "8.9.1" = "1xrq6mkhpq994bncmnijf8jwmwn961kkpl4mwwlv7j3dgnysrcv2"; "8.10.0" = "138jw94wp4mg5dgjc2asn8ng09ayz1mxdznq342n0m469j803gzg"; "8.10.1" = "072v2zkjzf7gj48137wpr3c9j0hg9pdhlr5l8jrgrwynld8fp7i4"; + "8.10.2" = "0znxmpy71bfw0p6x47i82jf5k7v41zbz9bdpn901ysn3ir8l3wrz"; }.${version}; coq-version = stdenv.lib.versions.majorMinor version; versionAtLeast = stdenv.lib.versionAtLeast coq-version; diff --git a/pkgs/applications/version-management/yadm/default.nix b/pkgs/applications/version-management/yadm/default.nix index bebc9fef0c6..4995216b8b6 100644 --- a/pkgs/applications/version-management/yadm/default.nix +++ b/pkgs/applications/version-management/yadm/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, git, gnupg }: -let version = "1.12.0"; in +let version = "2.0.1"; in stdenv.mkDerivation { pname = "yadm"; inherit version; @@ -11,7 +11,7 @@ stdenv.mkDerivation { owner = "TheLocehiliosan"; repo = "yadm"; rev = version; - sha256 = "0873jgks7dpfkj5km1jchxdrhf7lia70p0f8zsrh9p4crj5f4pc6"; + sha256 = "0knz2p0xyid65z6gdmjqfcqljqilxhqi02v4n6n4akl2i12kk193"; }; dontConfigure = true; diff --git a/pkgs/applications/virtualization/docker/distribution.nix b/pkgs/applications/virtualization/docker/distribution.nix index ed4db853c38..a408d20f3ba 100644 --- a/pkgs/applications/virtualization/docker/distribution.nix +++ b/pkgs/applications/virtualization/docker/distribution.nix @@ -2,7 +2,7 @@ buildGoPackage rec { pname = "distribution"; - version = "2.6.2"; + version = "2.7.1"; rev = "v${version}"; goPackagePath = "github.com/docker/distribution"; @@ -11,7 +11,7 @@ buildGoPackage rec { owner = "docker"; repo = "distribution"; inherit rev; - sha256 = "0nj4xd72mik4pj8g065cqb0yjmgpj5ppsqf2k5ibz9f68c39c00b"; + sha256 = "1nx8b5a68rn81alp8wkkw6qd5v32mgf0fk23mxm60zdf63qk1nzw"; }; meta = with stdenv.lib; { diff --git a/pkgs/applications/window-managers/i3/blocks.nix b/pkgs/applications/window-managers/i3/blocks.nix index 15bd5e74cdc..8c3101f8eb9 100644 --- a/pkgs/applications/window-managers/i3/blocks.nix +++ b/pkgs/applications/window-managers/i3/blocks.nix @@ -1,16 +1,16 @@ -{ fetchFromGitHub, fetchpatch, stdenv, autoreconfHook }: +{ fetchFromGitHub, fetchpatch, stdenv, autoreconfHook, pkg-config }: with stdenv.lib; stdenv.mkDerivation { pname = "i3blocks"; - version = "unstable-2019-02-07"; + version = "1.5"; src = fetchFromGitHub { owner = "vivien"; repo = "i3blocks"; - rev = "ec050e79ad8489a6f8deb37d4c20ab10729c25c3"; - sha256 = "1fx4230lmqa5rpzph68dwnpcjfaaqv5gfkradcr85hd1z8d1qp1b"; + rev = "3417602a2d8322bc866861297f535e1ef80b8cb0"; + sha256 = "0v8mwnm8qzpv6xnqvrk43s4b9iyld4naqzbaxk4ldq1qkhai0wsv"; }; patches = [ @@ -22,7 +22,7 @@ stdenv.mkDerivation { }) ]; - nativeBuildInputs = [ autoreconfHook ]; + nativeBuildInputs = [ autoreconfHook pkg-config ]; meta = { description = "A flexible scheduler for your i3bar blocks"; diff --git a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix index 4cdaacddbeb..3c73de6e7a9 100644 --- a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { pname = "elementary-calculator"; - version = "1.5.3"; + version = "1.5.4"; repoName = "calculator"; @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "0ibnj3zm93p8ghiy8gbbm0vlig9mnqjsvvp1cpw62dnap0qixdcg"; + sha256 = "0053bdzn5viqlni6qg6q39nma6bsddmhnafa0mzggiv8l4qasbrx"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix index 4e5f69fc9e6..4f4244fa03e 100644 --- a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix @@ -25,22 +25,21 @@ stdenv.mkDerivation rec { pname = "elementary-calendar"; - version = "unstable-2019-10-29"; + version = "5.0.3"; repoName = "calendar"; src = fetchFromGitHub { owner = "elementary"; repo = repoName; - rev = "7d201fc5ea9e8dc25c46427397594fcab2016ed6"; # needed for libical 2.0 compat - sha256 = "11bqf3nxrj1sfd0qq5h0jsmimc6mwkd2g7q9ycizn9x5ak2gb8xi"; + rev = version; + sha256 = "1dqcmh585fjib4m8bs7qy23fv429s7q9nbcqnn0vvmy1n36fic4m"; }; passthru = { updateScript = pantheon.updateScript { inherit repoName; attrPath = pname; - versionPolicy = "master"; }; }; diff --git a/pkgs/desktops/pantheon/apps/elementary-videos/default.nix b/pkgs/desktops/pantheon/apps/elementary-videos/default.nix index 9132707db2b..e934a944df8 100644 --- a/pkgs/desktops/pantheon/apps/elementary-videos/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-videos/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { pname = "elementary-videos"; - version = "2.6.3"; + version = "2.7.0"; repoName = "videos"; @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "1ncm8kh6dcy83p8pmpilnk03b4dx3b1jm8w13izq2dkglfgdwvqx"; + sha256 = "1b6dqqmxa83fwlh9r0v918ikxd3mnwk0j5xssw1wk5l7q72s43w7"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix index 7578b779058..c7f2fcce458 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix @@ -15,24 +15,15 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-mouse-touchpad"; - version = "2.3.0"; + version = "2.3.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1cg69nbdf4mcr16mi71aw9j8877lyj8yxjfk9bd3sml8f4fh7mmr"; + sha256 = "1974zdr5w3xd882gi95fp7axgilfni1sclsr750qm32yhl7d9bfn"; }; - patches = [ - ./hardcode-settings-daemon-gsettings.patch - ]; - - postPatch = '' - substituteInPlace src/Views/Clicking.vala \ - --subst-var-by GSD_GSETTINGS ${glib.getSchemaPath elementary-settings-daemon} - ''; - passthru = { updateScript = pantheon.updateScript { repoName = pname; @@ -51,6 +42,7 @@ stdenv.mkDerivation rec { granite gtk3 libgee + elementary-settings-daemon switchboard ]; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch deleted file mode 100644 index 591ed9fc152..00000000000 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch +++ /dev/null @@ -1,76 +0,0 @@ -diff --git a/src/Views/Clicking.vala b/src/Views/Clicking.vala -index cc4431b..d12ddfe 100644 ---- a/src/Views/Clicking.vala -+++ b/src/Views/Clicking.vala -@@ -123,42 +123,39 @@ public class MouseTouchpad.ClickingView : Granite.SimpleSettingsPage { - content_area.attach (hold_scale, 3, 3); - content_area. attach (hold_help, 1, 4, 3); - -- var xsettings_schema = SettingsSchemaSource.get_default ().lookup ( -- "org.gnome.settings-daemon.plugins.xsettings", -- true -- ); -- -- if (xsettings_schema != null) { -- var primary_paste_switch = new Gtk.Switch (); -- primary_paste_switch.halign = Gtk.Align.START; -+ SettingsSchemaSource daemon_schema_source = new SettingsSchemaSource.from_directory ("@GSD_GSETTINGS@", null, true); -+ SettingsSchema xsettings_schema = daemon_schema_source.lookup ("org.gnome.settings-daemon.plugins.xsettings", false); - -- var primary_paste_help = new Gtk.Label ( -- _("Middle or three-finger clicking on an input will paste any selected text") -- ); -- primary_paste_help.margin_bottom = 18; -- primary_paste_help.wrap = true; -- primary_paste_help.xalign = 0; -- primary_paste_help.get_style_context ().add_class (Gtk.STYLE_CLASS_DIM_LABEL); -- -- content_area.attach (new SettingLabel (_("Middle click paste:")), 0, 5); -- content_area.attach (primary_paste_switch, 1, 5); -- content_area.attach (primary_paste_help, 1, 6, 3); -- -- var xsettings = new GLib.Settings ("org.gnome.settings-daemon.plugins.xsettings"); -- primary_paste_switch.notify["active"].connect (() => { -- on_primary_paste_switch_changed (primary_paste_switch, xsettings); -- }); -+ var primary_paste_switch = new Gtk.Switch (); -+ primary_paste_switch.halign = Gtk.Align.START; - -- var current_value = xsettings.get_value ("overrides").lookup_value ( -- "Gtk/EnablePrimaryPaste", -- VariantType.INT32 -- ); -- if (current_value != null) { -- primary_paste_switch.active = current_value.get_int32 () == 1; -- } -+ var primary_paste_help = new Gtk.Label ( -+ _("Middle or three-finger clicking on an input will paste any selected text") -+ ); -+ primary_paste_help.margin_bottom = 18; -+ primary_paste_help.wrap = true; -+ primary_paste_help.xalign = 0; -+ primary_paste_help.get_style_context ().add_class (Gtk.STYLE_CLASS_DIM_LABEL); -+ -+ content_area.attach (new SettingLabel (_("Middle click paste:")), 0, 5); -+ content_area.attach (primary_paste_switch, 1, 5); -+ content_area.attach (primary_paste_help, 1, 6, 3); -+ -+ var xsettings = new GLib.Settings.full (xsettings_schema, null, null); -+ primary_paste_switch.notify["active"].connect (() => { -+ on_primary_paste_switch_changed (primary_paste_switch, xsettings); -+ }); -+ -+ var current_value = xsettings.get_value ("overrides").lookup_value ( -+ "Gtk/EnablePrimaryPaste", -+ VariantType.INT32 -+ ); -+ if (current_value != null) { -+ primary_paste_switch.active = current_value.get_int32 () == 1; - } - -- var daemon_settings = new GLib.Settings ("org.gnome.settings-daemon.peripherals.mouse"); -+ SettingsSchema daemon_schema = daemon_schema_source.lookup ("org.gnome.settings-daemon.peripherals.mouse", false); -+ var daemon_settings = new GLib.Settings.full (daemon_schema, null, null); - daemon_settings.bind ("double-click", double_click_speed_adjustment, "value", SettingsBindFlags.DEFAULT); - - var a11y_mouse_settings = new GLib.Settings ("org.gnome.desktop.a11y.mouse"); diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix index cd48b9d1d78..f8fdb01aee6 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix @@ -36,24 +36,16 @@ stdenv.mkDerivation rec { granite gtk3 libgee + gala + wingpanel plank switchboard ]; patches = [ ./backgrounds.patch # Having https://github.com/elementary/switchboard-plug-pantheon-shell/issues/166 would make this patch uneeded - ./hardcode-gsettings.patch ]; - postPatch = '' - substituteInPlace src/Views/Appearance.vala \ - --subst-var-by GALA_GSETTINGS_PATH ${glib.getSchemaPath gala} - substituteInPlace src/Views/HotCorners.vala \ - --subst-var-by GALA_GSETTINGS_PATH ${glib.getSchemaPath gala} - substituteInPlace src/Views/Appearance.vala \ - --subst-var-by WINGPANEL_GSETTINGS_PATH ${glib.getSchemaPath wingpanel} - ''; - meta = with stdenv.lib; { description = "Switchboard Desktop Plug"; homepage = https://github.com/elementary/switchboard-plug-pantheon-shell; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch deleted file mode 100644 index d337cf2e7b7..00000000000 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/src/Views/Appearance.vala b/src/Views/Appearance.vala -index c8300cc..fc48a0e 100644 ---- a/src/Views/Appearance.vala -+++ b/src/Views/Appearance.vala -@@ -66,10 +66,16 @@ public class Appearance : Gtk.Grid { - attach (text_size_label, 0, 2); - attach (text_size_modebutton, 1, 2); - -- var animations_settings = new Settings (ANIMATIONS_SCHEMA); -+ SettingsSchemaSource gala_schema_source = new SettingsSchemaSource.from_directory ("@GALA_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); -+ SettingsSchema animations_schema = gala_schema_source.lookup (ANIMATIONS_SCHEMA, false); -+ -+ var animations_settings = new Settings.full (animations_schema, null, null); - animations_settings.bind (ANIMATIONS_KEY, animations_switch, "active", SettingsBindFlags.DEFAULT); - -- var panel_settings = new Settings (PANEL_SCHEMA); -+ SettingsSchemaSource panel_schema_source = new SettingsSchemaSource.from_directory ("@WINGPANEL_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); -+ SettingsSchema panel_schema = panel_schema_source.lookup (PANEL_SCHEMA, false); -+ -+ var panel_settings = new GLib.Settings.full (panel_schema, null, null); - panel_settings.bind (TRANSLUCENCY_KEY, translucency_switch, "active", SettingsBindFlags.DEFAULT); - - var interface_settings = new Settings (INTERFACE_SCHEMA); -diff --git a/src/Views/HotCorners.vala b/src/Views/HotCorners.vala -index 481e7c5..d102d03 100644 ---- a/src/Views/HotCorners.vala -+++ b/src/Views/HotCorners.vala -@@ -30,7 +30,10 @@ public class HotCorners : Gtk.Grid { - row_spacing = 24; - halign = Gtk.Align.CENTER; - -- behavior_settings = new GLib.Settings ("org.pantheon.desktop.gala.behavior"); -+ -+ SettingsSchemaSource gala_schema_source = new SettingsSchemaSource.from_directory ("@GALA_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); -+ SettingsSchema behavior_schema = gala_schema_source.lookup ("org.pantheon.desktop.gala.behavior", false); -+ behavior_settings = new GLib.Settings.full (behavior_schema, null, null); - - custom_command_revealer = new Gtk.Revealer (); - diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix index 1639181193a..df2051d8040 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix @@ -43,6 +43,8 @@ stdenv.mkDerivation rec { buildInputs = [ dbus + elementary-dpms-helper + elementary-settings-daemon glib granite gtk3 @@ -56,21 +58,8 @@ stdenv.mkDerivation rec { src = ./dpms-helper-exec.patch; elementary_dpms_helper = elementary-dpms-helper; }) - ./hardcode-gsettings.patch ]; - postPatch = '' - substituteInPlace src/MainView.vala \ - --subst-var-by DPMS_HELPER_GSETTINGS_PATH ${glib.getSchemaPath elementary-dpms-helper} - substituteInPlace src/MainView.vala \ - --subst-var-by GSD_GSETTINGS_PATH ${glib.getSchemaPath elementary-settings-daemon} - ''; - - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - PKG_CONFIG_DBUS_1_SYSTEM_BUS_SERVICES_DIR = "${placeholder "out"}/share/dbus-1/system-services"; - PKG_CONFIG_DBUS_1_SYSCONFDIR = "${placeholder "out"}/etc"; - PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions"; - meta = with stdenv.lib; { description = "Switchboard Power Plug"; homepage = https://github.com/elementary/switchboard-plug-power; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch deleted file mode 100644 index caacdad6eda..00000000000 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/src/MainView.vala b/src/MainView.vala -index 1654e68..ad8fed9 100644 ---- a/src/MainView.vala -+++ b/src/MainView.vala -@@ -46,8 +46,13 @@ public class Power.MainView : Gtk.Grid { - - var label_size = new Gtk.SizeGroup (Gtk.SizeGroupMode.HORIZONTAL); - -- settings = new GLib.Settings ("org.gnome.settings-daemon.plugins.power"); -- elementary_dpms_settings = new GLib.Settings ("io.elementary.dpms"); -+ SettingsSchemaSource gsd_sss = new SettingsSchemaSource.from_directory ("@GSD_GSETTINGS_PATH@", null, true); -+ SettingsSchema gsd_schema = gsd_sss.lookup ("org.gnome.settings-daemon.plugins.power", false); -+ settings = new GLib.Settings.full (gsd_schema, null, null); -+ -+ SettingsSchemaSource dpms_sss = new SettingsSchemaSource.from_directory ("@DPMS_HELPER_GSETTINGS_PATH@", null, true); -+ SettingsSchema elementary_dpms_schema = dpms_sss.lookup ("io.elementary.dpms", false); -+ elementary_dpms_settings = new GLib.Settings.full (elementary_dpms_schema, null, null); - - battery = new Battery (); - power_supply = new PowerSupply (); diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix index 5c72af92397..e8d21478cc9 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix @@ -48,21 +48,13 @@ stdenv.mkDerivation rec { libgee polkit switchboard + lightlocker zeitgeist ]; - patches = [ - ./hardcode-gsettings.patch - ]; - postPatch = '' chmod +x meson/post_install.py patchShebangs meson/post_install.py - - substituteInPlace src/Views/LockPanel.vala \ - --subst-var-by LIGHTLOCKER_GSETTINGS_PATH ${glib.getSchemaPath lightlocker} - substituteInPlace src/Views/FirewallPanel.vala \ - --subst-var-by SWITCHBOARD_SEC_PRIV_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"} ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch deleted file mode 100644 index 24a104248f8..00000000000 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/src/Views/FirewallPanel.vala b/src/Views/FirewallPanel.vala -index 0335c29..481b1c8 100644 ---- a/src/Views/FirewallPanel.vala -+++ b/src/Views/FirewallPanel.vala -@@ -49,7 +49,11 @@ public class SecurityPrivacy.FirewallPanel : Granite.SimpleSettingsPage { - } - - construct { -- settings = new Settings ("io.elementary.switchboard.security-privacy"); -+ SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@SWITCHBOARD_SEC_PRIV_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); -+ SettingsSchema security_privacy_schema = sss.lookup ("io.elementary.switchboard.security-privacy", false); -+ -+ settings = new Settings.full (security_privacy_schema, null, null); -+ - disabled_rules = new Gee.HashMap<string, UFWHelpers.Rule> (); - load_disabled_rules (); - -diff --git a/src/Views/LockPanel.vala b/src/Views/LockPanel.vala -index 4f523f9..7135a83 100644 ---- a/src/Views/LockPanel.vala -+++ b/src/Views/LockPanel.vala -@@ -30,7 +30,10 @@ public class SecurityPrivacy.LockPanel : Granite.SimpleSettingsPage { - } - - construct { -- locker = new Settings ("apps.light-locker"); -+ SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@LIGHTLOCKER_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); -+ SettingsSchema locker_schema = sss.lookup ("apps.light-locker", false); -+ -+ locker = new Settings.full (locker_schema, null, null); - - var lock_suspend_label = new Gtk.Label (_("Lock on suspend:")); - var lock_suspend_switch = new Gtk.Switch (); diff --git a/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix b/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix index 756ae86bb19..c0abb172806 100644 --- a/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix +++ b/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix @@ -1,4 +1,6 @@ -{ makeWrapper +{ wrapGAppsHook +, glib +, lib , symlinkJoin , switchboard , switchboardPlugs @@ -11,13 +13,22 @@ in symlinkJoin { name = "${switchboard.name}-with-plugs"; - paths = [ switchboard ] ++ selectedPlugs; + paths = [ + switchboard + ] ++ selectedPlugs; - buildInputs = [ makeWrapper ]; + buildInputs = [ + wrapGAppsHook + glib + ] ++ (lib.forEach selectedPlugs (x: x.buildInputs)) + ++ selectedPlugs; postBuild = '' - wrapProgram $out/bin/io.elementary.switchboard \ - --set SWITCHBOARD_PLUGS_PATH "$out/lib/switchboard" + make_glib_find_gsettings_schemas + + gappsWrapperArgs+=(--set SWITCHBOARD_PLUGS_PATH "$out/lib/switchboard") + + wrapGAppsHook ''; inherit (switchboard) meta; diff --git a/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix b/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix index c48dd761e08..8a497372862 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix @@ -1,11 +1,14 @@ { stdenv , fetchFromGitHub , pantheon +, meson +, ninja +, gettext }: stdenv.mkDerivation rec { pname = "elementary-wallpapers"; - version = "5.4"; + version = "5.5.0"; repoName = "wallpapers"; @@ -13,9 +16,15 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "1ihvv9v8m5f2n2v3bgg769l52wbg241zgp3d45q6phk7p8s1gz3s"; + sha256 = "0c63nds2ylqgcp39s13mfwhipgyw8cirn0bhybp291l5g86ii6s3"; }; + nativeBuildInputs = [ + gettext + meson + ninja + ]; + passthru = { updateScript = pantheon.updateScript { inherit repoName; @@ -23,14 +32,6 @@ stdenv.mkDerivation rec { }; }; - dontBuild = true; - dontConfigure = true; - - installPhase = '' - mkdir -p $out/share/backgrounds/elementary - cp -av *.jpg $out/share/backgrounds/elementary - ''; - meta = with stdenv.lib; { description = "Collection of wallpapers for elementary"; homepage = https://github.com/elementary/wallpapers; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix index a266223eced..ca9abadf9ba 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { pname = "wingpanel-applications-menu"; - version = "2.4.4"; + version = "2.5.0"; repoName = "applications-menu"; @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "09ssxn264v6nzrxgk529kpdxq5j3b14z8mbwq0gni1bgjcla773d"; + sha256 = "1zry9xvcljsn5fnl8qs21x7q8rpwv0sxvp2dmnx3ddqnvj4q2m7d"; }; passthru = { @@ -73,13 +73,10 @@ stdenv.mkDerivation rec { "--sysconfdir=${placeholder "out"}/etc" ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel"; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - patches = [ (substituteAll { - src = ./bc.patch; - exec = "${bc}/bin/bc"; + src = ./fix-paths.patch; + bc = "${bc}/bin/bc"; }) ]; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch new file mode 100644 index 00000000000..25e3891a205 --- /dev/null +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch @@ -0,0 +1,24 @@ +diff --git a/src/synapse-plugins/calculator-plugin.vala b/src/synapse-plugins/calculator-plugin.vala +index 18ca3af..f5d1076 100644 +--- a/src/synapse-plugins/calculator-plugin.vala ++++ b/src/synapse-plugins/calculator-plugin.vala +@@ -44,9 +44,7 @@ namespace Synapse { + _("Calculator"), + _("Calculate basic expressions."), + "accessories-calculator", +- register_plugin, +- Environment.find_program_in_path ("bc") != null, +- _("bc is not installed") ++ register_plugin + ); + } + +@@ -87,7 +85,7 @@ namespace Synapse { + if (matched) { + Pid pid; + int read_fd, write_fd; +- string[] argv = {"bc", "-l"}; ++ string[] argv = {"@bc@", "-l"}; + string? solution = null; + + try { diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix index 3a462219f1e..965d9800c5b 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-bluetooth"; - version = "2.1.3"; + version = "2.1.4"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "04ggakf7qp4q0kah5xksbwjn78wpdrp9kdgkj6ibzsb97ngn70g9"; + sha256 = "05v3qy4rxi4l3g1ql99vcjylb01hz3galh19c2jc3lqc1mf1z1j1"; }; passthru = { @@ -48,8 +48,6 @@ stdenv.mkDerivation rec { wingpanel ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel"; - postPatch = '' chmod +x meson/post_install.py patchShebangs meson/post_install.py diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix index 91549342052..a356b9c15d9 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix @@ -35,13 +35,13 @@ in stdenv.mkDerivation rec { pname = "wingpanel-indicator-datetime"; - version = "2.2.0"; + version = "2.2.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1whdx0vgm0qbbzsw8dg2liz3cbh3ad5ybkriy4lmx5ynyhpbz0sx"; + sha256 = "0y8lfrrkzcj8nw94jqawbxr4jz41ac0z539kkr3n3x0qmx72md2y"; }; passthru = { diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix index 4dbf6528c70..78512b341bb 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-notifications"; - version = "2.1.2"; + version = "2.1.3"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1960s3xcsx6yjlnk0csf1m66s1z1sj5rym9b2fy7pm2nan47z3ld"; + sha256 = "1lx023z7xxlgwh0br48fw5w7xw673p2sqxwl1gz9f54xx7rv81py"; }; passthru = { @@ -44,8 +44,6 @@ stdenv.mkDerivation rec { wingpanel ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel"; - meta = with stdenv.lib; { description = "Notifications Indicator for Wingpanel"; homepage = https://github.com/elementary/wingpanel-indicator-notifications; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix index 7efb03f9d66..c80da53986a 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-session"; - version = "2.2.5"; + version = "2.2.6"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0lqh9g6qq09m744gncspm79lbwx1vjl1d6j2szwcq9f0jdm01pm5"; + sha256 = "0pzknbm0hg4kf2izfg1mcmyildfzwyq1hh0xhlq16gsmakq4ld26"; }; passthru = { @@ -44,8 +44,6 @@ stdenv.mkDerivation rec { wingpanel ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel"; - meta = with stdenv.lib; { description = "Session Indicator for Wingpanel"; homepage = https://github.com/elementary/wingpanel-indicator-session; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix index fa89cca68c0..12654ff5509 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-sound"; - version = "2.1.3"; + version = "2.1.4"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0lgjl969c7s31nszh6d4pr1vsxfdsizplsihvd8r02mm1mlxmsda"; + sha256 = "00r3dqkyp7k34xwn12l0dbzfmz70084lblxchykmk77pgzid2a0b"; }; passthru = { @@ -52,8 +52,6 @@ stdenv.mkDerivation rec { wingpanel ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel"; - postPatch = '' chmod +x meson/post_install.py patchShebangs meson/post_install.py diff --git a/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix b/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix index 6b554d89caa..253c61b7790 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix @@ -1,5 +1,6 @@ { lib -, makeWrapper +, wrapGAppsHook +, glib , symlinkJoin , wingpanel , wingpanelIndicators @@ -13,17 +14,27 @@ in symlinkJoin { name = "${wingpanel.name}-with-indicators"; - paths = [ wingpanel ] ++ selectedIndicators; + paths = [ + wingpanel + ] ++ selectedIndicators; - buildInputs = [ makeWrapper ]; + buildInputs = [ + glib + wrapGAppsHook + ] ++ (lib.forEach selectedIndicators (x: x.buildInputs)) + ++ selectedIndicators; # We have to set SWITCHBOARD_PLUGS_PATH because wingpanel-applications-menu # has a plugin to search switchboard settings postBuild = '' - wrapProgram $out/bin/wingpanel \ - --set WINGPANEL_INDICATORS_PATH "$out/lib/wingpanel" \ - --set SWITCHBOARD_PLUGS_PATH "${switchboard-with-plugs}/lib/switchboard" \ - --suffix XDG_DATA_DIRS : ${lib.concatMapStringsSep ":" (indicator: ''${indicator}/share/gsettings-schemas/${indicator.name}'') selectedIndicators} + make_glib_find_gsettings_schemas + + gappsWrapperArgs+=( + --set WINGPANEL_INDICATORS_PATH "$out/lib/wingpanel" + --set SWITCHBOARD_PLUGS_PATH "${switchboard-with-plugs}/lib/switchboard" + ) + + wrapGAppsHook ''; inherit (wingpanel) meta; diff --git a/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix b/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix index 6305c872b2f..b4982fcf6be 100644 --- a/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix +++ b/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { pname = "elementary-capnet-assist"; - version = "2.2.3"; + version = "2.2.4"; repoName = "capnet-assist"; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "15cnwimkmmsb4rwvgm8bizcsn1krsj6k3qc88izn79is75y6wwji"; + sha256 = "0yz827gs1qv6csgv4v993rjmqzc6dbymbvznsy45ghlh19l4l7j1"; }; passthru = { diff --git a/pkgs/desktops/pantheon/update.sh b/pkgs/desktops/pantheon/update.sh index 8d002fe47c2..4897697d94f 100755 --- a/pkgs/desktops/pantheon/update.sh +++ b/pkgs/desktops/pantheon/update.sh @@ -114,7 +114,26 @@ EOF function get_latest_tag ( ) { repo_name="$1" - curl --silent --show-error --fail -X GET "https://api.github.com/repos/elementary/$repo_name/releases/latest" | jq -r '.tag_name' + OAUTH_TOKEN=$(printenv OAUTH_TOKEN) + + if [ -n "$OAUTH_TOKEN" ]; then + curl \ + --silent \ + --show-error \ + --fail \ + -X GET \ + --header "Authorization: token $OAUTH_TOKEN" \ + "https://api.github.com/repos/elementary/$repo_name/releases/latest" \ + | jq -r '.tag_name' + else + curl \ + --silent \ + --show-error \ + --fail \ + -X GET \ + "https://api.github.com/repos/elementary/$repo_name/releases/latest" \ + | jq -r '.tag_name' + fi } # diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix index 4032f0b5e92..095f94143e3 100644 --- a/pkgs/development/compilers/crystal/default.nix +++ b/pkgs/development/compilers/crystal/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, fetchFromGitHub, fetchurl, makeWrapper , coreutils, git, gmp, nettools, openssl_1_0_2, readline, tzdata, libxml2, libyaml -, boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang, which, zlib +, boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang, which, zlib, pkgconfig , callPackage }: # We need multiple binaries as a given binary isn't always able to build @@ -38,8 +38,14 @@ let ''; }; - generic = { version, sha256, binary, doCheck ? true }: - let compiler = stdenv.mkDerivation rec { + commonBuildInputs = extraBuildInputs: [ + boehmgc libatomic_ops pcre libevent libyaml zlib libxml2 openssl_1_0_2 + ] ++ extraBuildInputs + ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv ]; + + + generic = ({ version, sha256, binary, doCheck ? true, extraBuildInputs ? [] }: + lib.fix (compiler: stdenv.mkDerivation { pname = "crystal"; inherit doCheck version; @@ -72,14 +78,9 @@ let --replace '`hostname`' '`${nettools}/bin/hostname`' ''; - buildInputs = [ - boehmgc libatomic_ops pcre libevent libyaml - llvm zlib openssl_1_0_2 - ] ++ stdenv.lib.optionals stdenv.isDarwin [ - libiconv - ]; + buildInputs = commonBuildInputs extraBuildInputs; - nativeBuildInputs = [ binary makeWrapper which ]; + nativeBuildInputs = [ binary makeWrapper which pkgconfig llvm ]; makeFlags = [ "CRYSTAL_CONFIG_VERSION=${version}" @@ -91,10 +92,13 @@ let FLAGS = [ "--release" - "--no-debug" "--single-module" # needed for deterministic builds ]; + # This makes sure we don't keep depending on the previous version of + # crystal used to build this one. + CRYSTAL_LIBRARY_PATH = "${placeholder "out"}/lib/crystal"; + # We *have* to add `which` to the PATH or crystal is unable to build stuff # later if which is not available. installPhase = '' @@ -102,9 +106,11 @@ let install -Dm755 .build/crystal $out/bin/crystal wrapProgram $out/bin/crystal \ - --suffix PATH : ${lib.makeBinPath [ clang which ]} \ + --suffix PATH : ${lib.makeBinPath [ pkgconfig clang which ]} \ --suffix CRYSTAL_PATH : lib:$out/lib/crystal \ - --suffix LIBRARY_PATH : ${lib.makeLibraryPath buildInputs} + --suffix CRYSTAL_LIBRARY_PATH : ${ + lib.makeLibraryPath (commonBuildInputs extraBuildInputs) + } install -dm755 $out/lib/crystal cp -r src/* $out/lib/crystal/ @@ -147,7 +153,7 @@ let maintainers = with maintainers; [ manveru david50407 peterhoeg ]; platforms = builtins.attrNames archs; }; - }; in compiler; + })); in rec { binaryCrystal_0_26 = genericBinary { @@ -219,6 +225,14 @@ in rec { binary = crystal_0_30; }; + crystal_0_32 = generic { + version = "255bfc5fa925b95b72e34b26ad997fb2b3f83059"; + sha256 = "1dgk36cj5lwhs1c4zp0s1c9hjk0h3vljq6zwhlnzkl1xs7cgzim1"; + doCheck = false; # 5 checks are failing now + binary = crystal_0_31; + extraBuildInputs = [ readline ]; + }; + crystal = crystal_0_31; crystal2nix = callPackage ./crystal2nix.nix {}; diff --git a/pkgs/development/compilers/cudatoolkit/common.nix b/pkgs/development/compilers/cudatoolkit/common.nix new file mode 100644 index 00000000000..2e93c0b661b --- /dev/null +++ b/pkgs/development/compilers/cudatoolkit/common.nix @@ -0,0 +1,220 @@ +args@ +{ version +, sha256 +, url ? "" +, name ? "" +, developerProgram ? false +, runPatches ? [] +, addOpenGLRunpath +, alsaLib +, expat +, fetchurl +, fontconfig +, freetype +, gcc +, gdk-pixbuf +, glib +, glibc +, gtk2 +, lib +, makeWrapper +, ncurses5 +, perl +, python27 +, requireFile +, stdenv +, unixODBC +, xorg +, zlib +}: + +stdenv.mkDerivation rec { + pname = "cudatoolkit"; + inherit version runPatches; + + dontPatchELF = true; + dontStrip = true; + + src = + if developerProgram then + requireFile { + message = '' + This nix expression requires that ${args.name} is already part of the store. + Register yourself to NVIDIA Accelerated Computing Developer Program, retrieve the CUDA toolkit + at https://developer.nvidia.com/cuda-toolkit, and run the following command in the download directory: + nix-prefetch-url file://\$PWD/${args.name} + ''; + inherit (args) name sha256; + } + else + fetchurl { + inherit (args) url sha256; + }; + + outputs = [ "out" "lib" "doc" ]; + + nativeBuildInputs = [ perl makeWrapper addOpenGLRunpath ]; + buildInputs = [ gdk-pixbuf ]; # To get $GDK_PIXBUF_MODULE_FILE via setup-hook + runtimeDependencies = [ + ncurses5 expat python27 zlib glibc + xorg.libX11 xorg.libXext xorg.libXrender xorg.libXt xorg.libXtst xorg.libXi xorg.libXext + gtk2 glib fontconfig freetype unixODBC alsaLib + ]; + + rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc.lib}/lib64"; + + unpackPhase = '' + sh $src --keep --noexec + + ${lib.optionalString (lib.versionOlder version "10.1") '' + cd pkg/run_files + sh cuda-linux*.run --keep --noexec + sh cuda-samples*.run --keep --noexec + mv pkg ../../$(basename $src) + cd ../.. + rm -rf pkg + + for patch in $runPatches; do + sh $patch --keep --noexec + mv pkg $(basename $patch) + done + ''} + ''; + + installPhase = '' + runHook preInstall + mkdir $out + ${lib.optionalString (lib.versionOlder version "10.1") '' + cd $(basename $src) + export PERL5LIB=. + perl ./install-linux.pl --prefix="$out" + cd .. + for patch in $runPatches; do + cd $(basename $patch) + perl ./install_patch.pl --silent --accept-eula --installdir="$out" + cd .. + done + ''} + ${lib.optionalString (lib.versionAtLeast version "10.1") '' + cd pkg/builds/cuda-toolkit + mv * $out/ + ''} + + rm $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why? + + ${lib.optionalString (lib.versionOlder version "10.1") '' + # let's remove the 32-bit libraries, they confuse the lib64->lib mover + rm -rf $out/lib + ''} + + # Remove some cruft. + ${lib.optionalString ((lib.versionAtLeast version "7.0") && (lib.versionOlder version "10.1")) + "rm $out/bin/uninstall*"} + + # Fixup path to samples (needed for cuda 6.5 or else nsight will not find them) + if [ -d "$out"/cuda-samples ]; then + mv "$out"/cuda-samples "$out"/samples + fi + + # Change the #error on GCC > 4.9 to a #warning. + sed -i $out/include/host_config.h -e 's/#error\(.*unsupported GNU version\)/#warning\1/' + + # Fix builds with newer glibc version + sed -i "1 i#define _BITS_FLOATN_H" "$out/include/host_defines.h" + + # Ensure that cmake can find CUDA. + mkdir -p $out/nix-support + echo "cmakeFlags+=' -DCUDA_TOOLKIT_ROOT_DIR=$out'" >> $out/nix-support/setup-hook + + # Move some libraries to the lib output so that programs that + # depend on them don't pull in this entire monstrosity. + mkdir -p $lib/lib + mv -v $out/lib64/libcudart* $lib/lib/ + + # Remove OpenCL libraries as they are provided by ocl-icd and driver. + rm -f $out/lib64/libOpenCL* + ${lib.optionalString (lib.versionAtLeast version "10.1") '' + mv $out/lib64 $out/lib + ''} + + # Set compiler for NVCC. + wrapProgram $out/bin/nvcc \ + --prefix PATH : ${gcc}/bin + + # nvprof do not find any program to profile if LD_LIBRARY_PATH is not set + wrapProgram $out/bin/nvprof \ + --prefix LD_LIBRARY_PATH : $out/lib + '' + lib.optionalString (lib.versionOlder version "8.0") '' + # Hack to fix building against recent Glibc/GCC. + echo "NIX_CFLAGS_COMPILE+=' -D_FORCE_INLINES'" >> $out/nix-support/setup-hook + '' + '' + runHook postInstall + ''; + + postInstall = '' + for b in nvvp nsight; do + wrapProgram "$out/bin/$b" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" + done + ''; + + preFixup = '' + while IFS= read -r -d ''$'\0' i; do + if ! isELF "$i"; then continue; fi + echo "patching $i..." + if [[ ! $i =~ \.so ]]; then + patchelf \ + --set-interpreter "''$(cat $NIX_CC/nix-support/dynamic-linker)" $i + fi + if [[ $i =~ libcudart ]]; then + rpath2= + else + rpath2=$rpath:$lib/lib:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64 + fi + patchelf --set-rpath "$rpath2" --force-rpath $i + done < <(find $out $lib $doc -type f -print0) + ''; + + # Set RPATH so that libcuda and other libraries in + # /run/opengl-driver(-32)/lib can be found. See the explanation in + # addOpenGLRunpath. Don't try to figure out which libraries really need + # it, just patch all (but not the stubs libraries). Note that + # --force-rpath prevents changing RPATH (set above) to RUNPATH. + postFixup = '' + addOpenGLRunpath --force-rpath {$out,$lib}/lib/lib*.so + ''; + + # cuda-gdb doesn't run correctly when not using sandboxing, so + # temporarily disabling the install check. This should be set to true + # when we figure out how to get `cuda-gdb --version` to run correctly + # when not using sandboxing. + doInstallCheck = false; + postInstallCheck = let + in '' + # Smoke test binaries + pushd $out/bin + for f in *; do + case $f in + crt) continue;; + nvcc.profile) continue;; + nsight_ee_plugins_manage.sh) continue;; + uninstall_cuda_toolkit_6.5.pl) continue;; + computeprof|nvvp|nsight) continue;; # GUIs don't feature "--version" + *) echo "Executing '$f --version':"; ./$f --version;; + esac + done + popd + ''; + passthru = { + cc = gcc; + majorVersion = lib.versions.majorMinor version; + }; + + meta = with stdenv.lib; { + description = "A compiler for NVIDIA GPUs, math libraries, and tools"; + homepage = "https://developer.nvidia.com/cuda-toolkit"; + platforms = [ "x86_64-linux" ]; + license = licenses.unfree; + }; +} + diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix index 98c0381216a..9c983a38e4e 100644 --- a/pkgs/development/compilers/cudatoolkit/default.nix +++ b/pkgs/development/compilers/cudatoolkit/default.nix @@ -1,210 +1,15 @@ -{ lib, stdenv, makeWrapper, fetchurl, requireFile, perl, ncurses5, expat, python27, zlib -, gcc48, gcc49, gcc5, gcc6, gcc7 -, xorg, gtk2, gdk-pixbuf, glib, fontconfig, freetype, unixODBC, alsaLib, glibc -, addOpenGLRunpath +{ lib +, callPackage +, fetchurl +, gcc48 +, gcc49 +, gcc5 +, gcc6 +, gcc7 }: let - - common = - args@{ gcc, version, sha256 - , url ? "" - , name ? "" - , developerProgram ? false - , python ? python27 - , runPatches ? [] - }: - - stdenv.mkDerivation rec { - pname = "cudatoolkit"; - inherit version runPatches; - - dontPatchELF = true; - dontStrip = true; - - src = - if developerProgram then - requireFile { - message = '' - This nix expression requires that ${args.name} is already part of the store. - Register yourself to NVIDIA Accelerated Computing Developer Program, retrieve the CUDA toolkit - at https://developer.nvidia.com/cuda-toolkit, and run the following command in the download directory: - nix-prefetch-url file://\$PWD/${args.name} - ''; - inherit (args) name sha256; - } - else - fetchurl { - inherit (args) url sha256; - }; - - outputs = [ "out" "lib" "doc" ]; - - nativeBuildInputs = [ perl makeWrapper addOpenGLRunpath ]; - buildInputs = [ gdk-pixbuf ]; # To get $GDK_PIXBUF_MODULE_FILE via setup-hook - runtimeDependencies = [ - ncurses5 expat python zlib glibc - xorg.libX11 xorg.libXext xorg.libXrender xorg.libXt xorg.libXtst xorg.libXi xorg.libXext - gtk2 glib fontconfig freetype unixODBC alsaLib - ]; - - rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc.lib}/lib64"; - - unpackPhase = '' - sh $src --keep --noexec - - ${lib.optionalString (lib.versionOlder version "10.1") '' - cd pkg/run_files - sh cuda-linux*.run --keep --noexec - sh cuda-samples*.run --keep --noexec - mv pkg ../../$(basename $src) - cd ../.. - rm -rf pkg - - for patch in $runPatches; do - sh $patch --keep --noexec - mv pkg $(basename $patch) - done - ''} - ''; - - installPhase = '' - runHook preInstall - mkdir $out - ${lib.optionalString (lib.versionOlder version "10.1") '' - cd $(basename $src) - export PERL5LIB=. - perl ./install-linux.pl --prefix="$out" - cd .. - for patch in $runPatches; do - cd $(basename $patch) - perl ./install_patch.pl --silent --accept-eula --installdir="$out" - cd .. - done - ''} - ${lib.optionalString (lib.versionAtLeast version "10.1") '' - cd pkg/builds/cuda-toolkit - mv * $out/ - ''} - - rm $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why? - - ${lib.optionalString (lib.versionOlder version "10.1") '' - # let's remove the 32-bit libraries, they confuse the lib64->lib mover - rm -rf $out/lib - ''} - - # Remove some cruft. - ${lib.optionalString ((lib.versionAtLeast version "7.0") && (lib.versionOlder version "10.1")) - "rm $out/bin/uninstall*"} - - # Fixup path to samples (needed for cuda 6.5 or else nsight will not find them) - if [ -d "$out"/cuda-samples ]; then - mv "$out"/cuda-samples "$out"/samples - fi - - # Change the #error on GCC > 4.9 to a #warning. - sed -i $out/include/host_config.h -e 's/#error\(.*unsupported GNU version\)/#warning\1/' - - # Fix builds with newer glibc version - sed -i "1 i#define _BITS_FLOATN_H" "$out/include/host_defines.h" - - # Ensure that cmake can find CUDA. - mkdir -p $out/nix-support - echo "cmakeFlags+=' -DCUDA_TOOLKIT_ROOT_DIR=$out'" >> $out/nix-support/setup-hook - - # Move some libraries to the lib output so that programs that - # depend on them don't pull in this entire monstrosity. - mkdir -p $lib/lib - mv -v $out/lib64/libcudart* $lib/lib/ - - # Remove OpenCL libraries as they are provided by ocl-icd and driver. - rm -f $out/lib64/libOpenCL* - ${lib.optionalString (lib.versionAtLeast version "10.1") '' - mv $out/lib64 $out/lib - ''} - - # Set compiler for NVCC. - wrapProgram $out/bin/nvcc \ - --prefix PATH : ${gcc}/bin - - # nvprof do not find any program to profile if LD_LIBRARY_PATH is not set - wrapProgram $out/bin/nvprof \ - --prefix LD_LIBRARY_PATH : $out/lib - '' + lib.optionalString (lib.versionOlder version "8.0") '' - # Hack to fix building against recent Glibc/GCC. - echo "NIX_CFLAGS_COMPILE+=' -D_FORCE_INLINES'" >> $out/nix-support/setup-hook - '' + '' - runHook postInstall - ''; - - postInstall = '' - for b in nvvp nsight; do - wrapProgram "$out/bin/$b" \ - --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" - done - ''; - - preFixup = '' - while IFS= read -r -d ''$'\0' i; do - if ! isELF "$i"; then continue; fi - echo "patching $i..." - if [[ ! $i =~ \.so ]]; then - patchelf \ - --set-interpreter "''$(cat $NIX_CC/nix-support/dynamic-linker)" $i - fi - if [[ $i =~ libcudart ]]; then - rpath2= - else - rpath2=$rpath:$lib/lib:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64 - fi - patchelf --set-rpath "$rpath2" --force-rpath $i - done < <(find $out $lib $doc -type f -print0) - ''; - - # Set RPATH so that libcuda and other libraries in - # /run/opengl-driver(-32)/lib can be found. See the explanation in - # addOpenGLRunpath. Don't try to figure out which libraries really need - # it, just patch all (but not the stubs libraries). Note that - # --force-rpath prevents changing RPATH (set above) to RUNPATH. - postFixup = '' - addOpenGLRunpath --force-rpath {$out,$lib}/lib/lib*.so - ''; - - # cuda-gdb doesn't run correctly when not using sandboxing, so - # temporarily disabling the install check. This should be set to true - # when we figure out how to get `cuda-gdb --version` to run correctly - # when not using sandboxing. - doInstallCheck = false; - postInstallCheck = let - in '' - # Smoke test binaries - pushd $out/bin - for f in *; do - case $f in - crt) continue;; - nvcc.profile) continue;; - nsight_ee_plugins_manage.sh) continue;; - uninstall_cuda_toolkit_6.5.pl) continue;; - computeprof|nvvp|nsight) continue;; # GUIs don't feature "--version" - *) echo "Executing '$f --version':"; ./$f --version;; - esac - done - popd - ''; - passthru = { - cc = gcc; - majorVersion = lib.versions.majorMinor version; - }; - - meta = with stdenv.lib; { - description = "A compiler for NVIDIA GPUs, math libraries, and tools"; - homepage = "https://developer.nvidia.com/cuda-toolkit"; - platforms = [ "x86_64-linux" ]; - license = licenses.unfree; - }; - }; - + common = callPackage ./common.nix; in rec { cudatoolkit_6 = common { version = "6.0.37"; diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 4579cf015cd..80fdb8a95e6 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1080,6 +1080,7 @@ self: super: { # The test suite is broken. Break out of "base-compat >=0.9.3 && <0.10, hspec >=2.4.4 && <2.5". haddock-library = doJailbreak (dontCheck super.haddock-library); + haddock-library_1_8_0 = doJailbreak super.haddock-library_1_8_0; # Generate shell completion. cabal2nix = generateOptparseApplicativeCompletion "cabal2nix" super.cabal2nix; diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix index 617ca63c27f..e06b14944b0 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix @@ -80,6 +80,7 @@ self: super: { optparse-applicative = self.optparse-applicative_0_15_1_0; pandoc = self.pandoc_2_8_0_1; pandoc-types = self.pandoc-types_1_20; + prettyprinter = self.prettyprinter_1_5_1; primitive = dontCheck super.primitive_0_7_0_0; # evaluating the test suite gives an infinite recursion regex-base = self.regex-base_0_94_0_0; regex-pcre-builtin = self.regex-pcre-builtin_0_95_1_1_8_43; diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index 3be722cd156..ae0ecbf08e7 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -46,7 +46,7 @@ with pkgs; inherit hasDistutilsCxxPatch pythonForBuild; }; -in rec { +in { python27 = callPackage ./cpython/2.7 { self = python27; diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix index f7bd189022f..2d0a5a63d6f 100644 --- a/pkgs/development/libraries/boost/generic.nix +++ b/pkgs/development/libraries/boost/generic.nix @@ -14,6 +14,7 @@ , taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic)) , patches ? [] , mpi ? null +, extraB2Args ? [] # Attributes inherit from specific versions , version, src @@ -92,7 +93,8 @@ let ++ optional (mpi != null || stdenv.hostPlatform != stdenv.buildPlatform) "--user-config=user-config.jam" ++ optionals (stdenv.hostPlatform.libc == "msvcrt") [ "threadapi=win32" - ]); + ] ++ extraB2Args + ); in diff --git a/pkgs/development/libraries/gegl/4.0.nix b/pkgs/development/libraries/gegl/4.0.nix index 2edb47cb9bb..ca7163af49b 100644 --- a/pkgs/development/libraries/gegl/4.0.nix +++ b/pkgs/development/libraries/gegl/4.0.nix @@ -105,6 +105,9 @@ stdenv.mkDerivation rec { "-Dlibv4l=disabled" "-Dlibv4l2=disabled" "-Dumfpack=disabled" + # Disabled due to multiple vulnerabilities, see + # https://github.com/NixOS/nixpkgs/pull/73586 + "-Djasper=disabled" ]; # TODO: Fix missing math symbols in gegl seamless clone. diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix index 75d8e6710e0..e7a9ec60a6d 100644 --- a/pkgs/development/libraries/libgcrypt/default.nix +++ b/pkgs/development/libraries/libgcrypt/default.nix @@ -27,7 +27,8 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional stdenv.isDarwin gettext ++ stdenv.lib.optional enableCapabilities libcap; - configureFlags = [ "--with-libgpg-error-prefix=${libgpgerror.dev}" ]; + configureFlags = [ "--with-libgpg-error-prefix=${libgpgerror.dev}" ] + ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-asm"; # Make sure libraries are correct for .pc and .la files # Also make sure includes are fixed for callers who don't use libgpgcrypt-config diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix index 9a08a7756c8..9d90304042c 100644 --- a/pkgs/development/libraries/libusb1/default.nix +++ b/pkgs/development/libraries/libusb1/default.nix @@ -28,13 +28,8 @@ stdenv.mkDerivation (rec { NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; - configureFlags = - # We use `isLinux` here only to avoid mass rebuilds for Darwin, where - # disabling udev happens automatically. Remove `isLinux` at next big change! - stdenv.lib.optional (stdenv.isLinux && !enableSystemd) "--disable-udev"; - - preFixup = stdenv.lib.optionalString enableSystemd '' - sed 's,-ludev,-L${systemd.lib}/lib -ludev,' -i $out/lib/libusb-1.0.la + preFixup = stdenv.lib.optionalString stdenv.isLinux '' + sed 's,-ludev,-L${stdenv.lib.getLib systemd}/lib -ludev,' -i $out/lib/libusb-1.0.la ''; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/live555/default.nix b/pkgs/development/libraries/live555/default.nix index dbebe0af80f..84907a42860 100644 --- a/pkgs/development/libraries/live555/default.nix +++ b/pkgs/development/libraries/live555/default.nix @@ -3,14 +3,14 @@ # Based on https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD stdenv.mkDerivation rec { pname = "live555"; - version = "2019.10.20"; + version = "2019.11.22"; src = fetchurl { # the upstream doesn't provide a stable URL urls = [ "mirror://sourceforge/slackbuildsdirectlinks/live.${version}.tar.gz" "https://download.videolan.org/contrib/live555/live.${version}.tar.gz" ]; - sha256 = "085csq31s4kak0sym5y170f82wp542bg1ff3kycanvs8w4d4n9j4"; + sha256 = "144y2wsfpaclkj7srx85f3y3parzn7vbjmzc2afc62wdsb9gn46d"; }; postPatch = '' diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix index b8c88541edd..eb1e9ec732f 100644 --- a/pkgs/development/libraries/poppler/default.nix +++ b/pkgs/development/libraries/poppler/default.nix @@ -12,11 +12,11 @@ let in stdenv.mkDerivation rec { name = "poppler-${suffix}-${version}"; - version = "0.81.0"; # beware: updates often break cups-filters build + version = "0.83.0"; # beware: updates often break cups-filters build src = fetchurl { url = "${meta.homepage}/poppler-${version}.tar.xz"; - sha256 = "00pykc7nym3xg0wc60awv0i35zwdfyn0igb6jrnb6rsv0c5h4b91"; + sha256 = "16vr1g5qsqwyxfnyikqw37i04x9zpp45far2x90c7qbijw6nap38"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/tepl/default.nix b/pkgs/development/libraries/tepl/default.nix index 0ca382baeca..6c480db9d60 100644 --- a/pkgs/development/libraries/tepl/default.nix +++ b/pkgs/development/libraries/tepl/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl , amtk, gnome3, gtk3, gtksourceview4, libuchardet, libxml2, pkgconfig }: let - version = "4.2.0"; + version = "4.2.1"; pname = "tepl"; in stdenv.mkDerivation { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1kcwcr72dv3xwi2ni579c9raa0cnbazfnmy6mgapzn6dir1d8fc8"; + sha256 = "0vib1ljgqwy2fhiwq8z3pcd68qy7v72l4f35p1d1w1k9z8sy677k"; }; nativeBuildInputs = [ diff --git a/pkgs/development/ocaml-modules/alcotest/default.nix b/pkgs/development/ocaml-modules/alcotest/default.nix index c43ad10d7d8..8415dc751d5 100644 --- a/pkgs/development/ocaml-modules/alcotest/default.nix +++ b/pkgs/development/ocaml-modules/alcotest/default.nix @@ -6,14 +6,15 @@ let param = if stdenv.lib.versionAtLeast ocaml.version "4.02" then { version = "0.8.5"; sha256 = "1mhckvdcxkikbzgvy24kjz4265l15b86a6swz7m3ynbgvqdcfzqn"; - buildInputs = [ dune ]; + nativeBuildInputs = [ dune ]; propagatedBuildInputs = [ uuidm ]; buildPhase = "dune build -p alcotest"; inherit (dune) installPhase; } else { version = "0.7.2"; sha256 = "1qgsz2zz5ky6s5pf3j3shc4fjc36rqnjflk8x0wl1fcpvvkr52md"; - buildInputs = [ ocamlbuild topkg ]; + buildInputs = [ topkg ]; + nativeBuildInputs = [ ocamlbuild ]; inherit (topkg) buildPhase installPhase; }; in @@ -27,7 +28,8 @@ stdenv.mkDerivation rec { inherit (param) sha256; }; - buildInputs = [ ocaml findlib ] ++ param.buildInputs; + nativeBuildInputs = [ ocaml findlib ] ++ (param.nativeBuildInputs or []); + buildInputs = [ findlib ] ++ (param.buildInputs or []); propagatedBuildInputs = [ cmdliner astring fmt result ] ++ (param.propagatedBuildInputs or []); diff --git a/pkgs/development/ocaml-modules/asn1-combinators/default.nix b/pkgs/development/ocaml-modules/asn1-combinators/default.nix index c6d99fa33e7..49fcdbd261a 100644 --- a/pkgs/development/ocaml-modules/asn1-combinators/default.nix +++ b/pkgs/development/ocaml-modules/asn1-combinators/default.nix @@ -25,7 +25,8 @@ stdenv.mkDerivation rec { inherit (param) sha256; }; - buildInputs = [ ocaml findlib ocamlbuild ounit topkg ]; + buildInputs = [ findlib ounit topkg ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; propagatedBuildInputs = [ result cstruct zarith ] ++ param.propagatedBuildInputs; buildPhase = "${topkg.run} build --tests true"; diff --git a/pkgs/development/ocaml-modules/bos/default.nix b/pkgs/development/ocaml-modules/bos/default.nix index 0f168daac8c..6b37cf1aed3 100644 --- a/pkgs/development/ocaml-modules/bos/default.nix +++ b/pkgs/development/ocaml-modules/bos/default.nix @@ -10,7 +10,8 @@ stdenv.mkDerivation rec { sha256 = "1s10iqx8rgnxr5n93lf4blwirjf8nlm272yg5sipr7lsr35v49wc"; }; - buildInputs = [ ocaml findlib ocamlbuild topkg ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + buildInputs = [ findlib topkg ]; propagatedBuildInputs = [ astring fmt fpath logs rresult ]; inherit (topkg) buildPhase installPhase; diff --git a/pkgs/development/ocaml-modules/cmdliner/default.nix b/pkgs/development/ocaml-modules/cmdliner/default.nix index 271ec1f2af9..34d57b403b0 100644 --- a/pkgs/development/ocaml-modules/cmdliner/default.nix +++ b/pkgs/development/ocaml-modules/cmdliner/default.nix @@ -25,8 +25,8 @@ stdenv.mkDerivation rec { inherit (param) sha256; }; - nativeBuildInputs = [ ocamlbuild topkg ]; - buildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ ocaml ocamlbuild findlib ]; + buildInputs = [ topkg ]; propagatedBuildInputs = [ result ]; inherit (topkg) buildPhase installPhase; diff --git a/pkgs/development/ocaml-modules/cpuid/default.nix b/pkgs/development/ocaml-modules/cpuid/default.nix index 10938cf81c2..6c7ecaa4b7a 100644 --- a/pkgs/development/ocaml-modules/cpuid/default.nix +++ b/pkgs/development/ocaml-modules/cpuid/default.nix @@ -1,22 +1,20 @@ -{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, ocb-stubblr }: +{ lib, fetchurl, buildDunePackage }: -stdenv.mkDerivation { - name = "ocaml${ocaml.version}-cpuid-0.1.0"; +buildDunePackage rec { + pname = "cpuid"; + version = "0.1.2"; + + minimumOCamlVersion = "4.03"; src = fetchurl { - url = https://github.com/pqwy/cpuid/releases/download/v0.1.0/cpuid-0.1.0.tbz; - sha256 = "08k2558a3dnxn8msgpz8c93sfn0y027ganfdi2yvql0fp1ixv97p"; + url = "https://github.com/pqwy/cpuid/releases/download/v${version}/cpuid-v${version}.tbz"; + sha256 = "08ng4mva6qblb5ipkrxbr0my7ndkc4qwcbswkqgbgir864s74m93"; }; - buildInputs = [ ocaml findlib ocamlbuild topkg ocb-stubblr ]; - - inherit (topkg) buildPhase installPhase; - meta = { homepage = https://github.com/pqwy/cpuid; description = "Detect CPU features from OCaml"; - license = stdenv.lib.licenses.isc; - maintainers = [ stdenv.lib.maintainers.vbgl ]; - inherit (ocaml.meta) platforms; + license = lib.licenses.isc; + maintainers = [ lib.maintainers.vbgl ]; }; } diff --git a/pkgs/development/ocaml-modules/fmt/default.nix b/pkgs/development/ocaml-modules/fmt/default.nix index c7fff722399..d136ec092c2 100644 --- a/pkgs/development/ocaml-modules/fmt/default.nix +++ b/pkgs/development/ocaml-modules/fmt/default.nix @@ -8,7 +8,8 @@ stdenv.mkDerivation { sha256 = "1zj9azcxcn6skmb69ykgmi9z8c50yskwg03wqgh87lypgjdcz060"; }; - buildInputs = [ ocaml findlib ocamlbuild topkg cmdliner ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + buildInputs = [ findlib topkg cmdliner ]; propagatedBuildInputs = [ result uchar ]; inherit (topkg) buildPhase installPhase; diff --git a/pkgs/development/ocaml-modules/jsonm/default.nix b/pkgs/development/ocaml-modules/jsonm/default.nix index c4a7fa0f7a7..d1f5cabb32d 100644 --- a/pkgs/development/ocaml-modules/jsonm/default.nix +++ b/pkgs/development/ocaml-modules/jsonm/default.nix @@ -10,7 +10,8 @@ stdenv.mkDerivation { sha256 = "1176dcmxb11fnw49b7yysvkjh0kpzx4s48lmdn5psq9vshp5c29w"; }; - buildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ findlib topkg ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; propagatedBuildInputs = [ uutf ]; inherit (topkg) buildPhase installPhase; diff --git a/pkgs/development/ocaml-modules/logs/default.nix b/pkgs/development/ocaml-modules/logs/default.nix index 15d2bde0ec6..a89f66477fa 100644 --- a/pkgs/development/ocaml-modules/logs/default.nix +++ b/pkgs/development/ocaml-modules/logs/default.nix @@ -18,7 +18,8 @@ stdenv.mkDerivation rec { sha256 = "1lkhr7i44xw4kpfbhgj3rbqy3dv5bfm4kyrbl8a9rfafddcxlwss"; }; - buildInputs = [ ocaml findlib ocamlbuild topkg fmt cmdliner lwt ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + buildInputs = [ findlib topkg fmt cmdliner lwt ]; propagatedBuildInputs = [ result ]; buildPhase = "${topkg.run} build --with-js_of_ocaml false"; diff --git a/pkgs/development/ocaml-modules/magic-mime/default.nix b/pkgs/development/ocaml-modules/magic-mime/default.nix index 65acbd6cc42..16e37addd45 100644 --- a/pkgs/development/ocaml-modules/magic-mime/default.nix +++ b/pkgs/development/ocaml-modules/magic-mime/default.nix @@ -11,7 +11,9 @@ stdenv.mkDerivation { sha256 = "058d83hmxd5mjccxdm3ydchmhk2lca5jdg82jg0klsigmf4ida6v"; }; - buildInputs = [ ocaml findlib ocamlbuild ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + buildInputs = [ findlib ]; + configurePlatforms = []; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/mtime/default.nix b/pkgs/development/ocaml-modules/mtime/default.nix index f86909cc10b..02d6380715b 100644 --- a/pkgs/development/ocaml-modules/mtime/default.nix +++ b/pkgs/development/ocaml-modules/mtime/default.nix @@ -23,7 +23,8 @@ stdenv.mkDerivation { inherit (param) sha256; }; - buildInputs = [ ocaml findlib ocamlbuild topkg ] + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + buildInputs = [ findlib topkg ] ++ stdenv.lib.optional jsooSupport js_of_ocaml; buildPhase = "${topkg.buildPhase} --with-js_of_ocaml ${boolToString jsooSupport}"; diff --git a/pkgs/development/ocaml-modules/nocrypto/default.nix b/pkgs/development/ocaml-modules/nocrypto/default.nix index 06a87c072b4..bed872ed08d 100644 --- a/pkgs/development/ocaml-modules/nocrypto/default.nix +++ b/pkgs/development/ocaml-modules/nocrypto/default.nix @@ -1,11 +1,19 @@ { stdenv, fetchurl, fetchpatch, ocaml, findlib, ocamlbuild, topkg , cpuid, ocb-stubblr, sexplib -, cstruct, zarith, ppx_sexp_conv, ppx_deriving +, cstruct, zarith, ppx_sexp_conv, ppx_deriving, writeScriptBin , cstruct-lwt ? null }: with stdenv.lib; -let withLwt = cstruct-lwt != null; in +let + withLwt = cstruct-lwt != null; + # the build system will call 'cc' with no way to override + # this is wrong when we're cross-compiling, so insert a wrapper + cc-wrapper = writeScriptBin "cc" '' + set -e + $CC "$@" + ''; +in stdenv.mkDerivation rec { name = "ocaml${ocaml.version}-nocrypto-${version}"; @@ -43,8 +51,9 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ ocaml findlib ocamlbuild topkg cpuid ocb-stubblr ]; - propagatedBuildInputs = [ cstruct ppx_deriving ppx_sexp_conv sexplib zarith ] ++ optional withLwt cstruct-lwt; + nativeBuildInputs = [ ocaml findlib ocamlbuild cc-wrapper ]; + buildInputs = [ ocamlbuild findlib topkg cpuid ocb-stubblr ppx_deriving ]; + propagatedBuildInputs = [ cstruct ppx_sexp_conv sexplib zarith ] ++ optional withLwt cstruct-lwt; buildPhase = "${topkg.buildPhase} --with-lwt ${boolToString withLwt}"; inherit (topkg) installPhase; diff --git a/pkgs/development/ocaml-modules/num/default.nix b/pkgs/development/ocaml-modules/num/default.nix index d46bff5b3d5..022b7af9629 100644 --- a/pkgs/development/ocaml-modules/num/default.nix +++ b/pkgs/development/ocaml-modules/num/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, fetchpatch, ocaml, findlib }: +{ stdenv, lib, fetchFromGitHub, fetchpatch, ocaml, findlib, withStatic ? false }: stdenv.mkDerivation rec { version = "1.1"; @@ -14,12 +14,14 @@ stdenv.mkDerivation rec { url = "https://github.com/ocaml/num/commit/6d4c6d476c061298e6385e8a0864f083194b9307.patch"; sha256 = "18zlvb5n327q8y3c52js5dvyy29ssld1l53jqng8m9w1k24ypi0b"; }) - ]; + ] ++ lib.optional withStatic ./enable-static.patch; - buildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ ocaml findlib ]; + buildInputs = [ ocaml findlib ]; createFindlibDestdir = true; + meta = { description = "Legacy Num library for arbitrary-precision integer and rational arithmetic"; license = stdenv.lib.licenses.lgpl21; diff --git a/pkgs/development/ocaml-modules/num/enable-static.patch b/pkgs/development/ocaml-modules/num/enable-static.patch new file mode 100644 index 00000000000..be3ca197f4e --- /dev/null +++ b/pkgs/development/ocaml-modules/num/enable-static.patch @@ -0,0 +1,12 @@ +diff -u a/src/Makefile b/src/Makefile +--- a/src/Makefile ++++ b/src/Makefile +@@ -45,7 +45,7 @@ + endif + + libnums.$(A): $(COBJS) +- $(OCAMLMKLIB) -oc nums $(COBJS) ++ $(OCAMLMKLIB) -custom -oc nums $(COBJS) + + nums.cma: $(CMOS) + $(OCAMLMKLIB) -o nums -oc nums -linkall $(CMOS) diff --git a/pkgs/development/ocaml-modules/ocamlgraph/default.nix b/pkgs/development/ocaml-modules/ocamlgraph/default.nix index 887dce58689..a39e72d3880 100644 --- a/pkgs/development/ocaml-modules/ocamlgraph/default.nix +++ b/pkgs/development/ocaml-modules/ocamlgraph/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, ocaml, findlib, lablgtk}: +{stdenv, fetchurl, ocaml, findlib, lablgtk ? null}: stdenv.mkDerivation rec { pname = "ocamlgraph"; @@ -16,7 +16,8 @@ stdenv.mkDerivation rec { postPatch = '' sed -i 's@$(DESTDIR)$(OCAMLLIB)/ocamlgraph@$(DESTDIR)/lib/ocaml/${ocaml.version}/site-lib/ocamlgraph@' Makefile.in sed -i 's@OCAMLFINDDEST := -destdir $(DESTDIR)@@' Makefile.in - sed -i 's@+lablgtk2@${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2 -I ${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/stublibs@' configure Makefile.in editor/Makefile + ${stdenv.lib.optionalString (lablgtk != null) + "sed -i 's@+lablgtk2@${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2 -I ${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/stublibs@' configure Makefile.in editor/Makefile"} ''; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/opam-file-format/default.nix b/pkgs/development/ocaml-modules/opam-file-format/default.nix index 4d308dc78b5..0ca332a2a06 100644 --- a/pkgs/development/ocaml-modules/opam-file-format/default.nix +++ b/pkgs/development/ocaml-modules/opam-file-format/default.nix @@ -15,6 +15,8 @@ stdenv.mkDerivation rec { installFlags = [ "LIBDIR=$(OCAMLFIND_DESTDIR)" ]; + patches = [ ./optional-static.patch ]; + meta = { description = "Parser and printer for the opam file syntax"; license = stdenv.lib.licenses.lgpl21; diff --git a/pkgs/development/ocaml-modules/opam-file-format/optional-static.patch b/pkgs/development/ocaml-modules/opam-file-format/optional-static.patch new file mode 100644 index 00000000000..5501fdd0c6c --- /dev/null +++ b/pkgs/development/ocaml-modules/opam-file-format/optional-static.patch @@ -0,0 +1,13 @@ +diff -u a/Makefile b/Makefile +--- a/Makefile ++++ b/Makefile +@@ -1,1 +1,5 @@ +-TARGETS = opam-file-format.cma opam-file-format.cmxa opam-file-format.cmxs ++TARGETS = opam-file-format.cma opam-file-format.cmxa ++ ++ifeq "$(NATDYNLINK)" "true" ++TARGETS = $(TARGETS) opam-file-format.cmxs ++endif + +all: $(TARGETS) + diff --git a/pkgs/development/ocaml-modules/ounit/default.nix b/pkgs/development/ocaml-modules/ounit/default.nix index 758bb072090..6f4536f2e8b 100644 --- a/pkgs/development/ocaml-modules/ounit/default.nix +++ b/pkgs/development/ocaml-modules/ounit/default.nix @@ -14,7 +14,9 @@ stdenv.mkDerivation { sha256 = "0hbd2sqdz75lv5ax82yhsfdk1dlcvq12xpys6n85ysmrl0c3d3lk"; }); - buildInputs = [ ocaml findlib ocamlbuild ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + buildInputs = [ findlib ]; + configurePlatforms = []; dontAddPrefix = true; diff --git a/pkgs/development/ocaml-modules/ppx_tools/default.nix b/pkgs/development/ocaml-modules/ppx_tools/default.nix index fd2b67225e6..984906342bc 100644 --- a/pkgs/development/ocaml-modules/ppx_tools/default.nix +++ b/pkgs/development/ocaml-modules/ppx_tools/default.nix @@ -37,6 +37,7 @@ in inherit (param) sha256; }; + nativeBuildInputs = [ ocaml findlib ]; buildInputs = [ ocaml findlib ]; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/ptime/default.nix b/pkgs/development/ocaml-modules/ptime/default.nix index f21f05eeae5..de3d940b3bb 100644 --- a/pkgs/development/ocaml-modules/ptime/default.nix +++ b/pkgs/development/ocaml-modules/ptime/default.nix @@ -9,7 +9,8 @@ stdenv.mkDerivation rec { sha256 = "1fxq57xy1ajzfdnvv5zfm7ap2nf49znw5f9gbi4kb9vds942ij27"; }; - buildInputs = [ ocaml findlib ocamlbuild topkg js_of_ocaml ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + buildInputs = [ findlib topkg js_of_ocaml ]; propagatedBuildInputs = [ result ]; diff --git a/pkgs/development/ocaml-modules/tls/default.nix b/pkgs/development/ocaml-modules/tls/default.nix index b1a178128ad..80d9933f8b6 100644 --- a/pkgs/development/ocaml-modules/tls/default.nix +++ b/pkgs/development/ocaml-modules/tls/default.nix @@ -21,7 +21,8 @@ stdenv.mkDerivation rec { sha256 = "02wv4lia583imn3sfci4nqv6ac5nzig5j3yfdnlqa0q8bp9rfc6g"; }; - buildInputs = [ ocaml ocamlbuild findlib topkg ppx_sexp_conv ppx_cstruct ] + nativeBuildInputs = [ ocaml ocamlbuild findlib ]; + buildInputs = [ findlib topkg ppx_sexp_conv ppx_cstruct ] ++ optionals doCheck [ ounit cstruct-unix ]; propagatedBuildInputs = [ cstruct-sexp nocrypto result x509 ] ++ optional withLwt lwt; diff --git a/pkgs/development/ocaml-modules/topkg/default.nix b/pkgs/development/ocaml-modules/topkg/default.nix index a3e718d5329..edbbec3dcb3 100644 --- a/pkgs/development/ocaml-modules/topkg/default.nix +++ b/pkgs/development/ocaml-modules/topkg/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { sha256 = "1df61vw6v5bg2mys045682ggv058yqkqb67w7r2gz85crs04d5fw"; }; - buildInputs = [ ocaml findlib ocamlbuild ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; propagatedBuildInputs = [ result ]; buildPhase = "${run} build"; diff --git a/pkgs/development/ocaml-modules/uchar/default.nix b/pkgs/development/ocaml-modules/uchar/default.nix index c943d3ce35a..2140871021d 100644 --- a/pkgs/development/ocaml-modules/uchar/default.nix +++ b/pkgs/development/ocaml-modules/uchar/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opaline }: +{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opaline, withShared ? true }: stdenv.mkDerivation { name = "ocaml${ocaml.version}-uchar-0.0.2"; @@ -8,9 +8,11 @@ stdenv.mkDerivation { sha256 = "1w2saw7zanf9m9ffvz2lvcxvlm118pws2x1wym526xmydhqpyfa7"; }; - buildInputs = [ ocaml ocamlbuild findlib opaline ]; - buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true"; + nativeBuildInputs = [ ocaml ocamlbuild findlib opaline ]; + buildInputs = [ findlib ocaml ocamlbuild opaline ]; + buildPhase = "ocaml pkg/build.ml native=true native-dynlink=${if withShared then "true" else "false"}"; installPhase = "opaline -libdir $OCAMLFIND_DESTDIR"; + configurePlatforms = []; meta = { description = "Compatibility library for OCaml’s Uchar module"; diff --git a/pkgs/development/ocaml-modules/uuidm/default.nix b/pkgs/development/ocaml-modules/uuidm/default.nix index 079e810bfdc..497b2df88b1 100644 --- a/pkgs/development/ocaml-modules/uuidm/default.nix +++ b/pkgs/development/ocaml-modules/uuidm/default.nix @@ -8,7 +8,9 @@ stdenv.mkDerivation rec { sha256 = "1ivxb3hxn9bk62rmixx6px4fvn52s4yr1bpla7rgkcn8981v45r8"; }; - buildInputs = [ ocaml findlib ocamlbuild topkg cmdliner ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + configurePlatforms = []; + buildInputs = [ topkg cmdliner ]; inherit (topkg) buildPhase installPhase; diff --git a/pkgs/development/ocaml-modules/uutf/default.nix b/pkgs/development/ocaml-modules/uutf/default.nix index 863a4cbb840..f289781b422 100644 --- a/pkgs/development/ocaml-modules/uutf/default.nix +++ b/pkgs/development/ocaml-modules/uutf/default.nix @@ -13,7 +13,8 @@ stdenv.mkDerivation rec { sha256 = "1nx1rly3qj23jzn9yk3x6fwqimcxjd84kv5859vvhdg56psq26p6"; }; - buildInputs = [ ocaml findlib ocamlbuild topkg cmdliner ]; + nativeBuildInputs = [ ocaml ocamlbuild findlib ]; + buildInputs = [ findlib topkg cmdliner ]; propagatedBuildInputs = [ uchar ]; inherit (topkg) buildPhase installPhase; diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix index 84d5e488b25..24942da0072 100644 --- a/pkgs/development/ocaml-modules/yojson/default.nix +++ b/pkgs/development/ocaml-modules/yojson/default.nix @@ -6,7 +6,7 @@ let version = "1.7.0"; url = "https://github.com/ocaml-community/yojson/releases/download/${version}/yojson-${version}.tbz"; sha256 = "08llz96if8bcgnaishf18si76cv11zbkni0aldb54k3cn7ipiqvd"; - buildInputs = [ dune ]; + nativeBuildInputs = [ dune ]; extra = { inherit (dune) installPhase; }; } else rec { version = "1.2.3"; @@ -29,9 +29,10 @@ stdenv.mkDerivation ({ inherit (param) url sha256; }; - buildInputs = [ ocaml findlib ] ++ (param.buildInputs or []); - - propagatedBuildInputs = [ cppo easy-format biniou ]; + nativeBuildInputs = [ ocaml findlib ] ++ (param.nativeBuildInputs or []); + propagatedNativeBuildInputs = [ cppo ]; + propagatedBuildInputs = [ easy-format biniou ]; + configurePlatforms = []; meta = with stdenv.lib; { description = "An optimized parsing and printing library for the JSON format"; diff --git a/pkgs/development/ocaml-modules/zarith/default.nix b/pkgs/development/ocaml-modules/zarith/default.nix index c97078c62ed..f0cb5a59485 100644 --- a/pkgs/development/ocaml-modules/zarith/default.nix +++ b/pkgs/development/ocaml-modules/zarith/default.nix @@ -6,9 +6,9 @@ let source = if stdenv.lib.versionAtLeast ocaml.version "4.02" then { - version = "1.9.1"; - url = https://github.com/ocaml/Zarith/archive/release-1.9.1.tar.gz; - sha256 = "0pfa271476dic5pvn6kxz3dfswxs6kqm2cxmhdx5xq2ayca05gj9"; + version = "1.9"; + url = https://github.com/ocaml/Zarith/archive/release-1.9.tar.gz; + sha256 = "1xrqcaj5gp52xp4ybpnblw8ciwlgrr0zi7rg7hnk8x83isjkpmwx"; } else { version = "1.3"; url = http://forge.ocamlcore.org/frs/download.php/1471/zarith-1.3.tgz; @@ -26,9 +26,8 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ gmp ]; patchPhase = "patchShebangs ./z_pp.pl"; - configurePhase = '' - ./configure -installdir $out/lib/ocaml/${ocaml.version}/site-lib - ''; + dontAddPrefix = true; + configureFlags = [ "-installdir ${placeholder "out"}/lib/ocaml/${ocaml.version}/site-lib" ]; preInstall = "mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs"; diff --git a/pkgs/development/python-modules/Cython/default.nix b/pkgs/development/python-modules/Cython/default.nix index 4c491f31465..aff4e0b62b3 100644 --- a/pkgs/development/python-modules/Cython/default.nix +++ b/pkgs/development/python-modules/Cython/default.nix @@ -26,11 +26,11 @@ let in buildPythonPackage rec { pname = "Cython"; - version = "0.29.15"; + version = "0.29.14"; src = fetchPypi { inherit pname version; - sha256 = "050lh336791yl76krn44zm2dz00mlhpb26bk9fq9wcfh0f3vpmp4"; + sha256 = "e4d6bb8703d0319eb04b7319b12ea41580df44fd84d83ccda13ea463c6801414"; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-loganalytics/default.nix b/pkgs/development/python-modules/azure-loganalytics/default.nix index ab512480f0c..4bfda9a9342 100644 --- a/pkgs/development/python-modules/azure-loganalytics/default.nix +++ b/pkgs/development/python-modules/azure-loganalytics/default.nix @@ -1,6 +1,8 @@ { lib , buildPythonPackage , fetchPypi +, python +, isPy3k , msrest , azure-common }: @@ -20,6 +22,10 @@ buildPythonPackage rec { azure-common ]; + postInstall = lib.optionalString isPy3k '' + rm -rf $out/${python.sitePackages}/azure/__init__.py + ''; + # has no tests doCheck = false; @@ -27,6 +33,6 @@ buildPythonPackage rec { description = "This is the Microsoft Azure Log Analytics Client Library"; homepage = "https://github.com/Azure/azure-sdk-for-python"; license = licenses.mit; - maintainers = with maintainers; [ mwilsoninsight ]; + maintainers = with maintainers; [ mwilsoninsight jonringer ]; }; } diff --git a/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix b/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix index 271fb2e6aef..1cacd988157 100644 --- a/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix @@ -5,13 +5,13 @@ }: buildPythonPackage rec { - version = "0.1.0"; + version = "0.3.0"; pname = "azure-mgmt-appconfiguration"; disabled = isPy27; src = fetchPypi { inherit pname version; - sha256 = "0z2f0rbv7drdxihny479bv80bnhgvx8gb2pr0jvbaslll6d6rxig"; + sha256 = "1igl3ikdwcz7d2zcja5nm2qjysjh53vgwzcc96lylypmq6z4aq1s"; extension = "zip"; }; diff --git a/pkgs/development/python-modules/azure-mgmt-compute/default.nix b/pkgs/development/python-modules/azure-mgmt-compute/default.nix index c13676dc672..afe57ee6204 100644 --- a/pkgs/development/python-modules/azure-mgmt-compute/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-compute/default.nix @@ -7,13 +7,13 @@ }: buildPythonPackage rec { - version = "9.0.0"; + version = "10.0.0"; pname = "azure-mgmt-compute"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "06795ccb7377eaa3864819a1c63b9bfe9957a58814c65025aef89e9cd81190fc"; + sha256 = "1s3bx6knxw5dxycp43yimvgrh0i19drzd09asglcwz2x5mr3bpyg"; }; postInstall = if isPy3k then "" else '' diff --git a/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix b/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix index bb6e06aa68b..f5b04c36b0d 100644 --- a/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix @@ -5,13 +5,13 @@ }: buildPythonPackage rec { - version = "0.2.1"; + version = "0.3.0"; pname = "azure-mgmt-imagebuilder"; disabled = isPy27; src = fetchPypi { inherit pname version; - sha256 = "0mwlvy4x5nr3hsz7wdpdhpzwarzzwz4225bfpd68hr0pcjgzspky"; + sha256 = "0r4sxr3pbcci5qif1ip1lrix3cryj0b3asqch3zds4q705jiakc4"; extension = "zip"; }; diff --git a/pkgs/development/python-modules/azure-mgmt-kusto/default.nix b/pkgs/development/python-modules/azure-mgmt-kusto/default.nix index fe84fc01dec..53aeff46c58 100644 --- a/pkgs/development/python-modules/azure-mgmt-kusto/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-kusto/default.nix @@ -5,13 +5,13 @@ }: buildPythonPackage rec { - version = "0.4.0"; + version = "0.5.0"; pname = "azure-mgmt-kusto"; disabled = isPy27; src = fetchPypi { inherit pname version; - sha256 = "1sx8f98206wccj0mbmb75c4wyhf57g3pnkhl9wn70lqzi9n4mk0b"; + sha256 = "0r6j3yp7ys0zgszqdjm6y90nigsapni4xhfpfgyk5c5qbgdpl93w"; extension = "zip"; }; diff --git a/pkgs/development/python-modules/azure-mgmt-monitor/default.nix b/pkgs/development/python-modules/azure-mgmt-monitor/default.nix index 23e6bcf8cb4..252760950e5 100644 --- a/pkgs/development/python-modules/azure-mgmt-monitor/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-monitor/default.nix @@ -28,8 +28,8 @@ buildPythonPackage rec { ]; postInstall = lib.optionalString isPy3k '' - rm $out/${python.sitePackages}/azure/__init__.py - rm $out/${python.sitePackages}/azure/mgmt/__init__.py + rm -rf $out/${python.sitePackages}/azure/__init__.py + rm -rf $out/${python.sitePackages}/azure/mgmt/__init__.py ''; # has no tests diff --git a/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix b/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix index 6704df2d21a..a34ebae2b81 100644 --- a/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix @@ -5,13 +5,13 @@ }: buildPythonPackage rec { - version = "0.4.0"; + version = "0.5.0"; pname = "azure-mgmt-sqlvirtualmachine"; disabled = isPy27; src = fetchPypi { inherit pname version; - sha256 = "1jxmikjvyxkwr8c9kn6xw8gvj9pajlk7y8111rq8fgkivwjq8wcm"; + sha256 = "1b9am8raa17hxnz7d5pk2ix0309wsnhnchq1mi22icd728sl5adm"; extension = "zip"; }; diff --git a/pkgs/development/python-modules/curio/default.nix b/pkgs/development/python-modules/curio/default.nix index b60025a91b0..31dc8327fc4 100644 --- a/pkgs/development/python-modules/curio/default.nix +++ b/pkgs/development/python-modules/curio/default.nix @@ -19,6 +19,8 @@ buildPythonPackage rec { checkInputs = [ pytest sphinx ]; + __darwinAllowLocalNetworking = true; + # test_aside_basic times out, # test_aside_cancel fails because modifies PYTHONPATH and cant find pytest checkPhase = '' diff --git a/pkgs/development/python-modules/deprecated/default.nix b/pkgs/development/python-modules/deprecated/default.nix index 1d4461fea19..2af9d020c95 100644 --- a/pkgs/development/python-modules/deprecated/default.nix +++ b/pkgs/development/python-modules/deprecated/default.nix @@ -10,11 +10,6 @@ buildPythonPackage rec { sha256 = "408038ab5fdeca67554e8f6742d1521cd3cd0ee0ff9d47f29318a4f4da31c308"; }; - postPatch = '' - # odd broken tests, don't appear in GitHub repo - rm tests/demo_classic_usage*.py - ''; - propagatedBuildInputs = [ wrapt ]; checkInputs = [ pytest ]; meta = with stdenv.lib; { diff --git a/pkgs/development/python-modules/dotnetcore2/default.nix b/pkgs/development/python-modules/dotnetcore2/default.nix index 5432bc2888e..4d3edf0906a 100644 --- a/pkgs/development/python-modules/dotnetcore2/default.nix +++ b/pkgs/development/python-modules/dotnetcore2/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { inherit pname version format; python = "py3"; platform = "manylinux1_x86_64"; - sha256 = "a335fb0abdaaeee7ba128b81b5350adfc5d2b2adf6a64cbc4d1a3b7cdf8560da"; + sha256 = "0qhp94bjz4icz2f0fnhgck875chiqzy4lvsp6lwhj5jd0zsv2bb3"; }; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/development/python-modules/fido2/default.nix b/pkgs/development/python-modules/fido2/default.nix index e6c9021bdf1..96019f61cac 100644 --- a/pkgs/development/python-modules/fido2/default.nix +++ b/pkgs/development/python-modules/fido2/default.nix @@ -1,15 +1,19 @@ -{ lib, buildPythonPackage, fetchPypi -, six, cryptography -, mock, pyfakefs +{ lib +, buildPythonPackage +, fetchPypi +, six +, cryptography +, mock +, pyfakefs }: buildPythonPackage rec { pname = "fido2"; - version = "0.7.3"; + version = "0.8.1"; src = fetchPypi { inherit pname version; - sha256 = "8b592ec0e51348f29636706fe3266423a0e41c35c9df63a259a91488450c1285"; + sha256 = "1hzprnd407g2xh9kyv8j8pq949hwr1snmg3fp65pqfbghzv6i424"; }; propagatedBuildInputs = [ six cryptography ]; @@ -18,7 +22,8 @@ buildPythonPackage rec { meta = with lib; { description = "Provides library functionality for FIDO 2.0, including communication with a device over USB."; - homepage = https://github.com/Yubico/python-fido2; - license = licenses.mpl20; + homepage = "https://github.com/Yubico/python-fido2"; + license = licenses.bsd2; + maintainers = with maintainers; [ prusnak ]; }; } diff --git a/pkgs/development/python-modules/gpapi/default.nix b/pkgs/development/python-modules/gpapi/default.nix index 13ba4f934e8..7bf8b13cd0f 100644 --- a/pkgs/development/python-modules/gpapi/default.nix +++ b/pkgs/development/python-modules/gpapi/default.nix @@ -1,12 +1,12 @@ { stdenv, buildPythonPackage, fetchPypi, requests, protobuf, pycryptodome }: buildPythonPackage rec { - version = "0.4.3"; + version = "0.4.4"; pname = "gpapi"; src = fetchPypi { inherit version pname; - sha256 = "9fd1351eb29c4da92d3a0ed2cd4e3c1634ea16afddbca133f6acc54766d61b02"; + sha256 = "0ampvsv97r3hy1cakif4kmyk1ynf3scbvh4fbk02x7xrxn4kl38w"; }; propagatedBuildInputs = [ requests protobuf pycryptodome ]; diff --git a/pkgs/development/python-modules/nose-exclude/default.nix b/pkgs/development/python-modules/nose-exclude/default.nix index 7eb6b6cc047..7f679e545e7 100644 --- a/pkgs/development/python-modules/nose-exclude/default.nix +++ b/pkgs/development/python-modules/nose-exclude/default.nix @@ -1,4 +1,5 @@ -{ lib +{ stdenv +, lib , buildPythonPackage , fetchPypi , nose @@ -15,10 +16,13 @@ buildPythonPackage rec { propagatedBuildInputs = [ nose ]; + # "OSError: AF_UNIX path too long" for darwin + doCheck = !stdenv.isDarwin; + meta = { license = lib.licenses.lgpl21; description = "Exclude specific directories from nosetests runs"; homepage = https://github.com/kgrandis/nose-exclude; maintainers = with lib.maintainers; [ fridh ]; }; -} \ No newline at end of file +} diff --git a/pkgs/development/python-modules/pyfxa/default.nix b/pkgs/development/python-modules/pyfxa/default.nix index be6502893a3..4bde8e9997a 100644 --- a/pkgs/development/python-modules/pyfxa/default.nix +++ b/pkgs/development/python-modules/pyfxa/default.nix @@ -1,6 +1,6 @@ { lib, buildPythonPackage, fetchPypi , requests, cryptography, pybrowserid, hawkauthlib, six -, grequests, mock, responses, unittest2 }: +, grequests, mock, responses, pytest }: buildPythonPackage rec { pname = "PyFxA"; @@ -21,9 +21,13 @@ buildPythonPackage rec { ]; checkInputs = [ - grequests mock responses unittest2 + grequests mock responses pytest ]; + checkPhase = '' + pytest + ''; + meta = with lib; { description = "Firefox Accounts client library for Python"; homepage = https://github.com/mozilla/PyFxA; diff --git a/pkgs/development/python-modules/spectral-cube/default.nix b/pkgs/development/python-modules/spectral-cube/default.nix index e12f00cf7a7..39edcf9b8f5 100644 --- a/pkgs/development/python-modules/spectral-cube/default.nix +++ b/pkgs/development/python-modules/spectral-cube/default.nix @@ -1,5 +1,5 @@ { lib -, fetchPypi +, fetchFromGitHub , buildPythonPackage , astropy , radio_beam @@ -10,11 +10,14 @@ buildPythonPackage rec { pname = "spectral-cube"; - version = "0.4.4"; + version = "0.4.5"; - src = fetchPypi { - inherit pname version; - sha256 = "9051ede204b1e25b6358b5e0e573b624ec0e208c24eb03a7ed4925b745c93b5e"; + # Fetch from GitHub instead of PyPi, as 0.4.5 isn't available in PyPi + src = fetchFromGitHub { + owner = "radio-astro-tools"; + repo = pname; + rev = "v${version}"; + sha256 = "1xc1m6vpl0bm600fx9vypa7zcvwg7yvhgn0w89y6v9d1vl0qcs7z"; }; propagatedBuildInputs = [ astropy radio_beam ]; @@ -40,8 +43,6 @@ buildPythonPackage rec { license = lib.licenses.bsd3; platforms = lib.platforms.all; maintainers = with lib.maintainers; [ smaret ]; - broken = true; }; } - diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix index 3fa2dabdcb0..2150ca004c2 100644 --- a/pkgs/development/tools/analysis/flow/default.nix +++ b/pkgs/development/tools/analysis/flow/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "flow"; - version = "0.112.0"; + version = "0.113.0"; src = fetchFromGitHub { owner = "facebook"; repo = "flow"; rev = "refs/tags/v${version}"; - sha256 = "1l8aahvlj9hk93snvrqm7r0mxj5iw244q72s6wallsqm7j4g967h"; + sha256 = "1z7zy2ma1rmx2jjrsrnlrv2j5ff4zlzzlqvlmv7fc7dds3wlz6ia"; }; installPhase = '' diff --git a/pkgs/development/tools/lazygit/default.nix b/pkgs/development/tools/lazygit/default.nix index f91938fb62e..c98a0a79705 100644 --- a/pkgs/development/tools/lazygit/default.nix +++ b/pkgs/development/tools/lazygit/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { pname = "lazygit"; - version = "0.8"; + version = "0.11.3"; goPackagePath = "github.com/jesseduffield/lazygit"; @@ -12,13 +12,13 @@ buildGoPackage rec { owner = "jesseduffield"; repo = pname; rev = "v${version}"; - sha256 = "0zynw5gr96a59x1qshzhhvld883ndf1plnw6l9dbhmff0wcfv6l1"; + sha256 = "0v765f93hkq94bmzfwkkb9ndbfka415sxyi01679fg860746rl6l"; }; meta = with stdenv.lib; { description = "Simple terminal UI for git commands"; homepage = "https://github.com/jesseduffield/lazygit"; license = licenses.mit; - maintainers = with maintainers; [ fpletz ]; + maintainers = with maintainers; [ fpletz equirosa ]; }; } diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/3.0.nix b/pkgs/development/tools/ocaml/js_of_ocaml/3.0.nix index d1ff9eee817..9ca6ca67421 100644 --- a/pkgs/development/tools/ocaml/js_of_ocaml/3.0.nix +++ b/pkgs/development/tools/ocaml/js_of_ocaml/3.0.nix @@ -3,11 +3,12 @@ }: stdenv.mkDerivation { - pname = "js_of_ocaml"; + pname = "js_of_ocaml"; - inherit (js_of_ocaml-compiler) version src installPhase meta; + inherit (js_of_ocaml-compiler) version src installPhase meta; - buildInputs = [ ocaml findlib dune ocaml-migrate-parsetree ppx_tools_versioned ]; + buildInputs = [ findlib ocaml-migrate-parsetree ppx_tools_versioned ]; + nativeBuildInputs = [ ocaml findlib dune ]; postPatch = "patchShebangs lib/generate_stubs.sh"; diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix index c449c0f9002..801e4142780 100644 --- a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix +++ b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix @@ -1,5 +1,5 @@ { lib, fetchFromGitHub, buildDunePackage -, cmdliner, cppo, yojson +, ocaml, findlib, cmdliner, dune, cppo, yojson }: buildDunePackage rec { @@ -13,8 +13,10 @@ buildDunePackage rec { sha256 = "0c537say0f3197zn8d83nrihabrxyn28xc6d7c9c3l0vvrv6qvfj"; }; - buildInputs = [ cmdliner cppo ]; + nativeBuildInputs = [ ocaml findlib dune cppo ]; + buildInputs = [ cmdliner ]; + configurePlatforms = []; propagatedBuildInputs = [ yojson ]; meta = { diff --git a/pkgs/development/tools/rubocop/Gemfile.lock b/pkgs/development/tools/rubocop/Gemfile.lock index 7c523c3ea15..9d166f0fad5 100644 --- a/pkgs/development/tools/rubocop/Gemfile.lock +++ b/pkgs/development/tools/rubocop/Gemfile.lock @@ -2,12 +2,12 @@ GEM remote: https://rubygems.org/ specs: ast (2.4.0) - jaro_winkler (1.5.3) - parallel (1.18.0) + jaro_winkler (1.5.4) + parallel (1.19.1) parser (2.6.5.0) ast (~> 2.4.0) rainbow (3.0.0) - rubocop (0.76.0) + rubocop (0.77.0) jaro_winkler (~> 1.5.1) parallel (~> 1.10) parser (>= 2.6) diff --git a/pkgs/development/tools/rubocop/gemset.nix b/pkgs/development/tools/rubocop/gemset.nix index 5defb56109f..d7e1b9328dc 100644 --- a/pkgs/development/tools/rubocop/gemset.nix +++ b/pkgs/development/tools/rubocop/gemset.nix @@ -14,20 +14,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1930v0chc1q4fr7hn0y1j34mw0v032a8kh0by4d4sbz8ksy056kf"; + sha256 = "1y8l6k34svmdyqxya3iahpwbpvmn3fswhwsvrz0nk1wyb8yfihsh"; type = "gem"; }; - version = "1.5.3"; + version = "1.5.4"; }; parallel = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "091p5zrzzyg3fg48jhdz9lzjf2r9r3akra2cd46yd4nza3xgxshz"; + sha256 = "12jijkap4akzdv11lm08dglsc8jmc87xcgq6947i1s3qb69f4zn2"; type = "gem"; }; - version = "1.18.0"; + version = "1.19.1"; }; parser = { dependencies = ["ast"]; @@ -56,10 +56,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07x51ixlx76y194xsszh5lbkaqakz44ykbrjxg3qaggbs18790q0"; + sha256 = "0m88b1bgbhmmbdnz2xv6n0il0j4q5qm9jbc0vf1zsaxmxqp06nx9"; type = "gem"; }; - version = "0.76.0"; + version = "0.77.0"; }; ruby-progressbar = { groups = ["default"]; diff --git a/pkgs/os-specific/linux/cpupower/default.nix b/pkgs/os-specific/linux/cpupower/default.nix index 1b307da8cb8..601810f2600 100644 --- a/pkgs/os-specific/linux/cpupower/default.nix +++ b/pkgs/os-specific/linux/cpupower/default.nix @@ -14,7 +14,11 @@ stdenv.mkDerivation { sed -i 's,/usr/bin/install,${buildPackages.coreutils}/bin/install,' Makefile ''; - makeFlags = [ "CROSS=${stdenv.cc.targetPrefix}" ]; + makeFlags = [ + "CROSS=${stdenv.cc.targetPrefix}" + "CC=${stdenv.cc.targetPrefix}cc" + "LD=${stdenv.cc.targetPrefix}cc" + ]; installFlags = stdenv.lib.mapAttrsToList (n: v: "${n}dir=${placeholder "out"}/${v}") { diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix index 1699324546d..fb2b9068921 100644 --- a/pkgs/os-specific/linux/kernel-headers/default.nix +++ b/pkgs/os-specific/linux/kernel-headers/default.nix @@ -58,7 +58,7 @@ let + '' mkdir -p $out/include/config echo "${version}-default" > $out/include/config/kernel.release '' - # These oddly named file records teh `SHELL` passed, which causes bootstrap + # These oddly named file records the `SHELL` passed, which causes bootstrap # tools run-time dependency. + '' find "$out" -name '..install.cmd' -print0 | xargs -0 rm diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix index 433506e5c39..052ab3061c1 100644 --- a/pkgs/os-specific/linux/kmod/default.nix +++ b/pkgs/os-specific/linux/kmod/default.nix @@ -1,5 +1,6 @@ { stdenv, lib, fetchurl, autoreconfHook, pkgconfig -, libxslt, xz, elf-header }: +, libxslt, xz, elf-header +, withStatic ? false }: let systems = [ "/run/current-system/kernel-modules" "/run/booted-system/kernel-modules" "" ]; @@ -21,10 +22,11 @@ in stdenv.mkDerivation rec { "--sysconfdir=/etc" "--with-xz" "--with-modulesdirs=${modulesDirs}" - ]; + ] ++ lib.optional withStatic "--enable-static"; patches = [ ./module-dir.patch ] - ++ lib.optional stdenv.isDarwin ./darwin.patch; + ++ lib.optional stdenv.isDarwin ./darwin.patch + ++ lib.optional withStatic ./enable-static.patch; postInstall = '' for prog in rmmod insmod lsmod modinfo modprobe depmod; do diff --git a/pkgs/os-specific/linux/kmod/enable-static.patch b/pkgs/os-specific/linux/kmod/enable-static.patch new file mode 100644 index 00000000000..8308c655792 --- /dev/null +++ b/pkgs/os-specific/linux/kmod/enable-static.patch @@ -0,0 +1,12 @@ +diff --git a/configure.ac b/configure.ac +index ee72283..b42c42a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -19,7 +19,6 @@ AM_SILENT_RULES([yes]) + LT_INIT([disable-static pic-only]) + DOLT + +-AS_IF([test "x$enable_static" = "xyes"], [AC_MSG_ERROR([--enable-static is not supported by kmod])]) + AS_IF([test "x$enable_largefile" = "xno"], [AC_MSG_ERROR([--disable-largefile is not supported by kmod])]) + + ##################################################################### diff --git a/pkgs/servers/amqp/qpid-cpp/default.nix b/pkgs/servers/amqp/qpid-cpp/default.nix index c63b234031b..6d2bf10cd91 100644 --- a/pkgs/servers/amqp/qpid-cpp/default.nix +++ b/pkgs/servers/amqp/qpid-cpp/default.nix @@ -2,11 +2,11 @@ let name = "qpid-cpp-${version}"; - version = "1.37.0"; + version = "1.38.0"; src = fetchurl { url = "mirror://apache/qpid/cpp/${version}/${name}.tar.gz"; - sha256 = "1s4hyi867i0lqn81c1crrk6fga1gmsv61675vjv5v41skz56lrsb"; + sha256 = "1q7nsl9g8xv81ymhpkdp9mlw3gkzba62gggp3b72f0ywpc3kc3cz"; }; meta = with stdenv.lib; { diff --git a/pkgs/servers/caddy/default.nix b/pkgs/servers/caddy/default.nix index bb1f4ac8538..2eca465bfd2 100644 --- a/pkgs/servers/caddy/default.nix +++ b/pkgs/servers/caddy/default.nix @@ -2,7 +2,7 @@ buildGoModule rec { pname = "caddy"; - version = "1.0.3"; + version = "1.0.4"; goPackagePath = "github.com/caddyserver/caddy"; @@ -12,9 +12,9 @@ buildGoModule rec { owner = "caddyserver"; repo = pname; rev = "v${version}"; - sha256 = "1n7i9w4vva5x5wry7gzkyfylk39x40ykv7ypf1ca3zbbk7w5x6mw"; + sha256 = "0mqbaa9cshrqm5fggm5l5nzcnv8c9dvylcc4z7qj3322vl5cpfdc"; }; - modSha256 = "0np0mbs0mrn8scqa0dgvi7ya1707b3883prdaf1whsqrcr71ig8q"; + modSha256 = "0f08smcnzmrj3v43v0qgyd11qwdbymbl86c9prais6sykgh1ld97"; preBuild = '' cat << EOF > caddy/main.go @@ -28,9 +28,9 @@ buildGoModule rec { ''; meta = with stdenv.lib; { - homepage = https://caddyserver.com; + homepage = "https://caddyserver.com"; description = "Fast, cross-platform HTTP/2 web server with automatic HTTPS"; license = licenses.asl20; - maintainers = with maintainers; [ rushmorem fpletz zimbatm ]; + maintainers = with maintainers; [ rushmorem fpletz zimbatm filalex77 ]; }; } diff --git a/pkgs/servers/caddy/v2.nix b/pkgs/servers/caddy/v2.nix new file mode 100644 index 00000000000..c0b2134abde --- /dev/null +++ b/pkgs/servers/caddy/v2.nix @@ -0,0 +1,25 @@ +{ stdenv, callPackage, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "caddy"; + version = "2.0.0-beta10"; + + goPackagePath = "github.com/caddyserver/caddy"; + + subPackages = [ "cmd/caddy" ]; + + src = fetchFromGitHub { + owner = "caddyserver"; + repo = pname; + rev = "v${version}"; + sha256 = "1vagcw6ibri4nbx1n60xp7rffcfr64a2202hjaijyjzc8wcl80na"; + }; + modSha256 = "1sb8w6n84cpya2rjm0zm798kzf5vjpkr5440j1gfnnnr07jl2aqn"; + + meta = with stdenv.lib; { + homepage = "https://caddyserver.com"; + description = "Fast, cross-platform HTTP/2 web server with automatic HTTPS"; + license = licenses.asl20; + maintainers = with maintainers; [ filalex77 ]; + }; +} diff --git a/pkgs/servers/monitoring/zabbix/versions.nix b/pkgs/servers/monitoring/zabbix/versions.nix index 74c927f752e..affd73f9b41 100644 --- a/pkgs/servers/monitoring/zabbix/versions.nix +++ b/pkgs/servers/monitoring/zabbix/versions.nix @@ -1,17 +1,12 @@ generic: { v44 = generic { - version = "4.4.1"; - sha256 = "0jjn2przn9s25slrcxmq8iqdgqkgxnqs45zy0n1ma6nlgmclxxqb"; - }; - - v42 = generic { - version = "4.2.7"; - sha256 = "09znh8x1sass5mw6wjrfmizjbfls8ad2c16y24ldfj40hlfxz6wx"; + version = "4.4.3"; + sha256 = "1rpkgimi9kv9zrcis1zwbrny7yzralick206n71i8071hf95jvwx"; }; v40 = generic { - version = "4.0.14"; - sha256 = "0igdxxfc61rqx6r7r81jsmv2d7nxw4whai211gk3y88dfm7l4xkb"; + version = "4.0.15"; + sha256 = "19q8h79h7lnsq6gbd0awrlw59scg92x0a1375kd2av6bjpx8r0y9"; }; v30 = generic { diff --git a/pkgs/servers/tautulli/default.nix b/pkgs/servers/tautulli/default.nix index 68e8f46e319..cbcd3c354cb 100644 --- a/pkgs/servers/tautulli/default.nix +++ b/pkgs/servers/tautulli/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchFromGitHub, python }: stdenv.mkDerivation rec { - version = "2.1.37"; + version = "2.1.38"; pname = "Tautulli"; pythonPath = [ python.pkgs.setuptools ]; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { owner = "Tautulli"; repo = pname; rev = "v${version}"; - sha256 = "0imq81njw6hsd0m091hmbaaq0znfan6lmnbg6m7g2vfgwvqh9fbq"; + sha256 = "00kxz4i97lk3cb11vcpj894xdi7q9f1jcy29yglya8rcvsqmddwd"; }; buildPhase = ":"; diff --git a/pkgs/shells/bash/bash-completion/default.nix b/pkgs/shells/bash/bash-completion/default.nix index fbc07c86494..a741633340d 100644 --- a/pkgs/shells/bash/bash-completion/default.nix +++ b/pkgs/shells/bash/bash-completion/default.nix @@ -1,4 +1,5 @@ { stdenv, fetchFromGitHub +, fetchpatch , autoreconfHook , python3Packages , bashInteractive @@ -6,6 +7,7 @@ stdenv.mkDerivation rec { pname = "bash-completion"; + # TODO: Remove musl patch below upon next release! version = "2.9"; src = fetchFromGitHub { @@ -26,6 +28,14 @@ stdenv.mkDerivation rec { patches = [ ./0001-Revert-build-Do-cmake-pc-and-profile-variable-replac.patch + # TODO: Remove when https://github.com/scop/bash-completion/commit/2cdac1b9f24df62a1fa80c1824ee8524c9b02393 + # is availabe in a release in nixpkgs. see https://github.com/scop/bash-completion/issues/312. + # Fixes a test failure with musl. + (fetchpatch { + url = "https://github.com/scop/bash-completion/commit/2cdac1b9f24df62a1fa80c1824ee8524c9b02393.patch"; + name = "bash-completion-musl-test_iconv-skip-option-completion-if-help-fails"; + sha256 = "1l53d62zf01k625nzw3vcrxky93h7bzdpchgk4argxalrn17ckvb"; + }) ]; # ignore ip_addresses because it tries to touch network diff --git a/pkgs/tools/admin/azure-cli/default.nix b/pkgs/tools/admin/azure-cli/default.nix index 3a80b4752c2..b28ef88ad99 100644 --- a/pkgs/tools/admin/azure-cli/default.nix +++ b/pkgs/tools/admin/azure-cli/default.nix @@ -1,16 +1,16 @@ -{ lib, python, fetchFromGitHub, installShellFiles }: +{ stdenv, lib, python, fetchFromGitHub, installShellFiles }: let - version = "2.0.76"; + version = "2.0.77"; src = fetchFromGitHub { owner = "Azure"; repo = "azure-cli"; rev = "azure-cli-${version}"; - sha256 = "0zfy8nhw4nx0idh94qidr06vsfxgdk2ky0ih76s27121pdwr05aa"; + sha256 = "1qd6di8cqwhpcsqcx6g3scmwj90m15r695y5977q6a3qy13knisv"; }; # put packages that needs to be overriden in the py package scope - py = import ./python-packages.nix { inherit python lib src version; }; + py = import ./python-packages.nix { inherit stdenv python lib src version; }; in py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage { pname = "azure-cli"; @@ -45,6 +45,7 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage { azure-functions-devops-build azure-graphrbac azure-keyvault + azure-loganalytics azure-mgmt-advisor azure-mgmt-apimanagement azure-mgmt-applicationinsights @@ -173,6 +174,7 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage { "azure_functions_devops_build" "azure.graphrbac" "azure.keyvault" + "azure.loganalytics" "azure.mgmt.advisor" "azure.mgmt.apimanagement" "azure.mgmt.applicationinsights" diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix index 06886ba4c79..958bf31673c 100644 --- a/pkgs/tools/admin/azure-cli/python-packages.nix +++ b/pkgs/tools/admin/azure-cli/python-packages.nix @@ -1,4 +1,4 @@ -{ python, lib, src, version }: +{ stdenv, python, lib, src, version }: let buildAzureCliPackage = with py.pkgs; attrs: buildPythonPackage (attrs // { @@ -53,31 +53,37 @@ let propagatedBuildInputs = with self; [ adal argcomplete + azure-common azure-cli-telemetry + azure-mgmt-resource colorama - jmespath humanfriendly + jmespath knack msrest msrestazure paramiko + psutil pygments pyjwt pyopenssl + pyperclip pyyaml requests six - azure-mgmt-resource tabulate - pyperclip - psutil ] ++ lib.optionals isPy3k [ antlr4-python3-runtime ] ++ lib.optionals (!isPy3k) [ enum34 futures antlr4-python2-runtime ndg-httpsclient ]; + doCheck = stdenv.isLinux; # ignore test that does network call checkPhase = '' - HOME=$TMPDIR pytest --ignore=azure/cli/core/tests/test_profile.py + rm azure/{,cli/}__init__.py + python -c 'import azure.common; print(azure.common)' + PYTHONPATH=$PWD:$PYTHONPATH HOME=$TMPDIR pytest \ + --ignore=azure/cli/core/tests/test_profile.py \ + --ignore=azure/cli/core/tests/test_generic_update.py ''; pythonImportsCheck = [ @@ -108,18 +114,21 @@ let azure-mgmt-resource = overrideAzureMgmtPackage super.azure-mgmt-resource "4.0.0" "zip" "0gy89bi89ikg5hps8rvnq28r33lixci3sk2m86jvziv9fh9rz41b"; - azure-mgmt-compute = overrideAzureMgmtPackage super.azure-mgmt-compute "8.0.0" "zip" - "06hmf9iq2yqpmmvw7pr9zm4v427q03i436lnin3aczizfndrk76i"; + azure-mgmt-compute = overrideAzureMgmtPackage super.azure-mgmt-compute "10.0.0" "zip" + "1s3bx6knxw5dxycp43yimvgrh0i19drzd09asglcwz2x5mr3bpyg"; azure-mgmt-consumption = overrideAzureMgmtPackage super.azure-mgmt-consumption "2.0.0" "zip" "12ai4qps73ivawh0yzvgb148ksx02r30pqlvfihx497j62gsi1cs"; - azure-mgmt-containerservice = overrideAzureMgmtPackage super.azure-mgmt-containerservice "7.0.0" "zip" - "104w7rxv7hy84yzddbbpkjqha04ghr0zz9qy788n3wl69cj4cv1a"; + azure-mgmt-containerservice = overrideAzureMgmtPackage super.azure-mgmt-containerservice "8.0.0" "zip" + "0akpm12xj453dp84dfdpi06phr4q0hknr5l7bz96zbc8iand78wg"; azure-mgmt-cosmosdb = overrideAzureMgmtPackage super.azure-mgmt-cosmosdb "0.8.0" "zip" "0iakxb2rr1w9171802m9syjzqas02vjah711mpagbgcj549mjysb"; + azure-mgmt-imagebuilder = overrideAzureMgmtPackage super.azure-mgmt-imagebuilder "0.2.1" "zip" + "0mwlvy4x5nr3hsz7wdpdhpzwarzzwz4225bfpd68hr0pcjgzspky"; + azure-mgmt-iothub = overrideAzureMgmtPackage super.azure-mgmt-iothub "0.8.2" "zip" "0w3w1d156rnkwjdarv3qvycklxr3z2j7lry7a3jfgj3ykzny12rq"; @@ -129,8 +138,8 @@ let azure-mgmt-devtestlabs = overrideAzureMgmtPackage super.azure-mgmt-devtestlabs "2.2.0" "zip" "15lpyv9z8ss47rjmg1wx5akh22p9br2vckaj7jk3639vi38ac5nl"; - azure-mgmt-netapp = overrideAzureMgmtPackage super.azure-mgmt-netapp "0.6.0" "zip" - "10ymvyj386z9bjdm2g1b5a4vfnn87ig2zm6xn2xddvbpy0jxnyfv"; + azure-mgmt-netapp = overrideAzureMgmtPackage super.azure-mgmt-netapp "0.7.0" "zip" + "0cf4pknb5y2yz4jqwg7xm626zkfx8i8hqcr3dkvq21lrx7fz96r3"; azure-mgmt-dns = overrideAzureMgmtPackage super.azure-mgmt-dns "2.1.0" "zip" "1l55py4fzzwhxlmnwa41gpmqk9v2ncc79w7zq11sm9a5ynrv2c1p"; @@ -144,12 +153,15 @@ let azure-mgmt-web = overrideAzureMgmtPackage super.azure-mgmt-web "0.42.0" "zip" "0vp40i9aaw5ycz7s7qqir6jq7327f7zg9j9i8g31qkfl1h1c7pdn"; - azure-mgmt-reservations = overrideAzureMgmtPackage super.azure-mgmt-reservations "0.3.2" "zip" - "0nksxjh5kh09dr0zw667fg8mzik4ymvfq3dipwag6pynbqr9ls4l"; + azure-mgmt-reservations = overrideAzureMgmtPackage super.azure-mgmt-reservations "0.6.0" "zip" + "16ycni3cjl9c0mv419gy5rgbrlg8zp0vnr6aj8z8p2ypdw6sgac3"; azure-mgmt-security = overrideAzureMgmtPackage super.azure-mgmt-security "0.1.0" "zip" "1cb466722bs0ribrirb32kc299716pl0pwivz3jyn40dd78cwhhx"; + azure-mgmt-sqlvirtualmachine = overrideAzureMgmtPackage super.azure-mgmt-sqlvirtualmachine "0.4.0" "zip" + "1jxmikjvyxkwr8c9kn6xw8gvj9pajlk7y8111rq8fgkivwjq8wcm"; + azure-mgmt-datamigration = overrideAzureMgmtPackage super.azure-mgmt-datamigration "0.1.0" "zip" "1pq5rn32yvrf5kqjafnj0kc92gpfg435w2l0k7cm8gvlja4r4m77"; @@ -165,8 +177,8 @@ let azure-mgmt-containerregistry = overrideAzureMgmtPackage super.azure-mgmt-containerregistry "3.0.0rc7" "zip" "1bzfpbz186dhnxn0blgr20xxnk67gkr8ysn2b3f1r41bq9hz97xp"; - azure-mgmt-monitor = overrideAzureMgmtPackage super.azure-mgmt-monitor "0.5.2" "zip" - "1r01aq5rbynbc1my4qljdifjdj9h65bh8cdzgd7vm4ij7r48v9gi"; + azure-mgmt-monitor = overrideAzureMgmtPackage super.azure-mgmt-monitor "0.7.0" "zip" + "1pprvk5255b6brbw73g0g13zygwa7a2px5x08wy3153rqlzan5l2"; azure-mgmt-advisor = overrideAzureMgmtPackage super.azure-mgmt-advisor "2.0.1" "zip" "1wsfkprdrn22mwm24y2zlcms8ppp7jwq3s86r3ymbl29pbaxca8r"; @@ -233,17 +245,6 @@ let ''; }); - - - - - - - - - - - }; }; in diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix index 587bc2b9278..660dcf34459 100644 --- a/pkgs/tools/misc/chezmoi/default.nix +++ b/pkgs/tools/misc/chezmoi/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "chezmoi"; - version = "1.7.2"; + version = "1.7.5"; src = fetchFromGitHub { owner = "twpayne"; repo = "chezmoi"; rev = "v${version}"; - sha256 = "06wgfnlzcs6yfrjpy6zhcg5y844zd22manbm2sfq5vyng02bg229"; + sha256 = "1s64468q7hhp42lzgcixhh3jq7i7bgmiakahyfj0mzc49mn6rr0a"; }; - modSha256 = "1y1q1lps3a8piikh8ds28yrw5r82af9pyl6vy87207z1y5v2hams"; + modSha256 = "0c2jslcigq9ajchfr7inb7b6cpla7xjibcmjsvwspfzknrlrsbfn"; buildFlagsArray = [ "-ldflags=-s -w -X github.com/twpayne/chezmoi/cmd.VersionStr=${version}" diff --git a/pkgs/tools/misc/multitime/default.nix b/pkgs/tools/misc/multitime/default.nix new file mode 100644 index 00000000000..a46ee2b7c9c --- /dev/null +++ b/pkgs/tools/misc/multitime/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchFromGitHub, autoreconfHook }: + +stdenv.mkDerivation rec { + pname = "multitime"; + version = "1.4"; + + src = fetchFromGitHub { + owner = "ltratt"; + repo = pname; + rev = "${pname}-${version}"; + sha256 = "1p6m4gyy6dw7nxnpsk32qiijagmiq9vwch0fbc25qvmybwqp8qc0"; + }; + + nativeBuildInputs = [ autoreconfHook ]; + + meta = { + description = "Time command execution over multiple executions"; + + longDescription = '' + Unix's `time` utility is a simple and often effective way of measuring + how long a command takes to run. Unfortunately, running a command once + can give misleading timings: the process may create a cache on its first + execution, running faster subsequently; other processes may cause the + command to be starved of CPU or IO time; etc. It is common to see people + run `time` several times and take whichever values they feel most + comfortable with. Inevitably, this causes problems. + + `multitime` is, in essence, a simple extension to time which runs a + command multiple times and prints the timing means (with confidence + intervals), standard deviations, minimums, medians, and maximums having + done so. This can give a much better understanding of the command's + performance. + ''; + + license = stdenv.lib.licenses.mit; + homepage = "https://tratt.net/laurie/src/multitime/"; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index da54b885bfc..35075495fbf 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -18,11 +18,11 @@ buildPythonPackage rec { # The websites youtube-dl deals with are a very moving target. That means that # downloads break constantly. Because of that, updates should always be backported # to the latest stable release. - version = "2019.11.22"; + version = "2019.11.28"; src = fetchurl { url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz"; - sha256 = "0avdlp0dc9p3lm68mfnic21x6blxmr0zvlxa4br5vj4y4sckq2m8"; + sha256 = "19xiwdn3l0kizyj7cik9vyhgrlwg7ss4wl4hy2pbbbqwh5vwppwk"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/networking/sslsplit/default.nix b/pkgs/tools/networking/sslsplit/default.nix new file mode 100644 index 00000000000..bf23d06551d --- /dev/null +++ b/pkgs/tools/networking/sslsplit/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchFromGitHub, openssl, libevent, libpcap, libnet, zlib }: + +stdenv.mkDerivation rec { + pname = "sslsplit"; + version = "0.5.5"; + + src = fetchFromGitHub { + owner = "droe"; + repo = pname; + rev = version; + sha256 = "1p43z9ln5rbc76v0j1k3r4nhvfw71hq8jzsallb54z9hvwfvqp3l"; + }; + + buildInputs = [ openssl libevent libpcap libnet zlib ]; + + makeFlags = [ + "PREFIX=$(out)" + "OPENSSL_BASE=${openssl.dev}" + "LIBEVENT_BASE=${libevent.dev}" + "LIBPCAP_BASE=${libpcap}" + "LIBNET_BASE=${libnet}" + ]; + + meta = with stdenv.lib; { + description = "Transparent SSL/TLS interception"; + homepage = "https://www.roe.ch/SSLsplit"; + platforms = platforms.all; + maintainers = with maintainers; [ contrun ]; + license = with licenses; [ bsd2 mit unlicense free ]; + }; +} diff --git a/pkgs/tools/networking/v2ray/default.nix b/pkgs/tools/networking/v2ray/default.nix new file mode 100644 index 00000000000..78f17934a78 --- /dev/null +++ b/pkgs/tools/networking/v2ray/default.nix @@ -0,0 +1,36 @@ +{ callPackage, fetchFromGitHub, fetchurl +, assetOverrides ? {} +, ... } @ args: + +callPackage ./generic.nix (rec { + version = "4.21.3"; + + src = fetchFromGitHub { + owner = "v2ray"; + repo = "v2ray-core"; + rev = "v${version}"; + sha256 = "0z45nrjnalrvpprq7g4zrjbrdkc3d3lhs4ci8hb8m69f92asiwbs"; + }; + + assets = { + # MIT licensed + "geoip.dat" = let + geoipRev = "20190516.1"; + geoipSha256 = "14h4rq7rlcl1397pwpylfgwpk3fiscpzqb04c4wd5lxkfvk5f02r"; + in fetchurl { + url = "https://github.com/v2ray/geoip/releases/download/${geoipRev}/geoip.dat"; + sha256 = geoipSha256; + }; + + # MIT licensed + "geosite.dat" = let + geositeRev = "20191121.1"; + geositeSha256 = "0ijmvy43pvm69w38djf114j8swni7wfq5ry9wdpv9dj0rzb59m74"; + in fetchurl { + url = "https://github.com/v2ray/domain-list-community/releases/download/${geositeRev}/dlc.dat"; + sha256 = geositeSha256; + }; + + } // assetOverrides; + +} // args) diff --git a/pkgs/tools/networking/v2ray/generic.nix b/pkgs/tools/networking/v2ray/generic.nix new file mode 100644 index 00000000000..bf6e6cd55ae --- /dev/null +++ b/pkgs/tools/networking/v2ray/generic.nix @@ -0,0 +1,50 @@ +{ lib, linkFarm, buildGoModule, runCommand, makeWrapper + +# Version specific args +, version, src, assets +, ... }: + +let + assetsDrv = linkFarm "v2ray-assets" (lib.mapAttrsToList (name: path: { + inherit name path; + }) assets); + + core = buildGoModule rec { + pname = "v2ray-core"; + inherit version src; + + modSha256 = "11gsncy3449a7y6w6pr7acqabyj2q2a1q52f8fcl5cdz1vjbmmxi"; + + buildPhase = '' + runHook preBuild + + go build -o v2ray v2ray.com/core/main + go build -o v2ctl v2ray.com/core/infra/control/main + + runHook postBuild + ''; + + installPhase = '' + install -Dm755 v2ray v2ctl -t $out/bin + ''; + }; + +in runCommand "v2ray-${version}" { + inherit version; + + buildInputs = [ assetsDrv core ]; + nativeBuildInputs = [ makeWrapper ]; + + meta = { + homepage = "https://www.v2ray.com/en/index.html"; + description = "A platform for building proxies to bypass network restrictions"; + license = with lib.licenses; [ mit ]; + maintainers = with lib.maintainers; [ servalcatty ]; + }; + +} '' + for file in ${core}/bin/*; do + makeWrapper "$file" "$out/bin/$(basename "$file")" \ + --set-default V2RAY_LOCATION_ASSET ${assetsDrv} + done +'' diff --git a/pkgs/tools/networking/v2ray/update.sh b/pkgs/tools/networking/v2ray/update.sh new file mode 100755 index 00000000000..38ad77e98f8 --- /dev/null +++ b/pkgs/tools/networking/v2ray/update.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl jq +set -eo pipefail + +version_nix=$(dirname "$0")/default.nix +deps_nix=$(dirname "$0")/deps.nix + +old_core_rev="v$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$version_nix")" +old_geoip_rev=$(sed -En 's/.*\bgeoipRev = "(.*?)".*/\1/p' "$version_nix") +old_geosite_rev=$(sed -En 's/.*\bgeositeRev = "(.*?)".*/\1/p' "$version_nix") +echo "Current version:" >&2 +echo "core: $old_core_rev, geoip: $old_geoip_rev, geosite: $old_geosite_rev" >&2 + +function fetch_latest_rev { + curl "https://api.github.com/repos/v2ray/$1/releases" | + jq '.[0].tag_name' --raw-output +} + +core_rev=$(fetch_latest_rev 'v2ray-core') +geoip_rev=$(fetch_latest_rev 'geoip') +geosite_rev=$(fetch_latest_rev 'domain-list-community') +echo "Latest version:" >&2 +echo "core: $core_rev, geoip: $geoip_rev, geosite: $geosite_rev" >&2 + +if [[ $core_rev != $old_core_rev ]]; then + echo "Prefetching core..." >&2 + { read hash; read store_path; } < <( + nix-prefetch-url --unpack --print-path "https://github.com/v2ray/v2ray-core/archive/$core_rev.zip" + ) + + sed --in-place \ + -e "s/\bversion = \".*\"/version = \"$(echo "$core_rev" | tail -c+2)\"/" \ + -e "s/\bsha256 = \".*\"/sha256 = \"$hash\"/" \ + "$version_nix" +fi + +if [[ $geoip_rev != $old_geoip_rev ]]; then + echo "Prefetching geoip..." >&2 + hash=$(nix-prefetch-url "https://github.com/v2ray/geoip/releases/download/$geoip_rev/geoip.dat") + sed --in-place \ + -e "s/\bgeoipRev = \".*\"/geoipRev = \"$geoip_rev\"/" \ + -e "s/\bgeoipSha256 = \".*\"/geoipSha256 = \"$hash\"/" \ + "$version_nix" +fi + +if [[ $geosite_rev != $old_geosite_rev ]]; then + echo "Prefetching geosite..." >&2 + hash=$(nix-prefetch-url "https://github.com/v2ray/domain-list-community/releases/download/$geosite_rev/dlc.dat") + sed --in-place \ + -e "s/\bgeositeRev = \".*\"/geositeRev = \"$geosite_rev\"/" \ + -e "s/\bgeositeSha256 = \".*\"/geositeSha256 = \"$hash\"/" \ + "$version_nix" +fi diff --git a/pkgs/tools/package-management/emplace/default.nix b/pkgs/tools/package-management/emplace/default.nix new file mode 100644 index 00000000000..614959b651c --- /dev/null +++ b/pkgs/tools/package-management/emplace/default.nix @@ -0,0 +1,23 @@ +{ lib, rustPlatform, fetchFromGitHub }: + +rustPlatform.buildRustPackage rec { + pname = "emplace"; + version = "0.2.7"; + + src = fetchFromGitHub { + owner = "tversteeg"; + repo = pname; + rev = "v${version}"; + sha256 = "0dkdgb0hbaixc69yh75lq4lamvgd421lk1v7qn802h83fibcmh81"; + }; + + cargoSha256 = "10y7lpgj9mxrh3rmc15km4rfzspwdjr8dcdh0747rjn6dcpfhcdq"; + + meta = with lib; { + description = "Mirror installed software on multiple machines"; + homepage = "https://github.com/tversteeg/emplace"; + license = licenses.agpl3; + maintainers = with maintainers; [ filalex77 ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/tools/system/osquery/0001-Fix-CMake-configuration-for-Nix.patch b/pkgs/tools/system/osquery/0001-Fix-CMake-configuration-for-Nix.patch deleted file mode 100644 index b90752f8dc5..00000000000 --- a/pkgs/tools/system/osquery/0001-Fix-CMake-configuration-for-Nix.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 511400b8ec0794588df88e2bb1c45cc6a4a51b1e Mon Sep 17 00:00:00 2001 -From: Maximilian Bosch <maximilian@mbosch.me> -Date: Sun, 26 May 2019 23:10:02 +0200 -Subject: [PATCH] Fix CMake configuration for Nix - -* -fno-limit-debug-info: CLang specific, patch away to support both - CLang and GCC. -* Dropped unnecessary `lvm-internal` and `daemonclient` references. ---- - CMakeLists.txt | 1 - - osquery/tables/CMakeLists.txt | 2 +- - 2 files changed, 1 insertion(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f545d6c9..cfe68ddb 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -328,7 +328,6 @@ if (POSIX) - # To be safe, only include them when building 'release' outputs. - add_compile_options( - "$<$<CONFIG:RELEASE>:-g>" -- "$<$<CONFIG:RELEASE>:-fno-limit-debug-info>" - "$<$<CONFIG:RELEASE>:-fPIE>" - "$<$<CONFIG:RELEASE>:-fpie>" - "$<$<CONFIG:RELEASE>:-fPIC>" -diff --git a/osquery/tables/CMakeLists.txt b/osquery/tables/CMakeLists.txt -index 470bdf1d..caa6ab6f 100644 ---- a/osquery/tables/CMakeLists.txt -+++ b/osquery/tables/CMakeLists.txt -@@ -68,7 +68,7 @@ if(LINUX) - set(TABLE_PLATFORM "linux") - - ADD_OSQUERY_LINK_ADDITIONAL("libresolv.so") -- ADD_OSQUERY_LINK_ADDITIONAL("cryptsetup devmapper lvm2app lvm-internal daemonclient") -+ ADD_OSQUERY_LINK_ADDITIONAL("cryptsetup devmapper lvm2app") - ADD_OSQUERY_LINK_ADDITIONAL("gcrypt gpg-error") - ADD_OSQUERY_LINK_ADDITIONAL("blkid") - ADD_OSQUERY_LINK_ADDITIONAL("ip4tc") --- -2.19.2 - diff --git a/pkgs/tools/text/amber/default.nix b/pkgs/tools/text/amber/default.nix index c8f380739a6..935b6a60729 100644 --- a/pkgs/tools/text/amber/default.nix +++ b/pkgs/tools/text/amber/default.nix @@ -4,16 +4,16 @@ rustPlatform.buildRustPackage rec { pname = "amber"; - version = "0.5.2"; + version = "0.5.3"; src = fetchFromGitHub { owner = "dalance"; repo = pname; rev = "v${version}"; - sha256 = "0jwrkd6qhxj2mqsfmhk687k15f7gf36gjyxnynj0yh8db2db6mjc"; + sha256 = "0k70rk19hwdlhhqm91x12xcb8r09kzpijs0xwhplrwdh86qfxymx"; }; - cargoSha256 = "0iv8zvglwaihcc89dk9kkhchbj1g3v8wq8jcbrgcbclcsyymmplc"; + cargoSha256 = "0hh3sgcdcp0llgf3i3dysrr3vry3fv3fzzf44ad1953d5mnyhvap"; buildInputs = stdenv.lib.optional stdenv.isDarwin Security; diff --git a/pkgs/tools/typesetting/pdf2djvu/default.nix b/pkgs/tools/typesetting/pdf2djvu/default.nix index 5b1412f3792..1090ad300f7 100644 --- a/pkgs/tools/typesetting/pdf2djvu/default.nix +++ b/pkgs/tools/typesetting/pdf2djvu/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, djvulibre, poppler, fontconfig, libjpeg }: +{ stdenv, fetchurl, fetchpatch, pkgconfig, djvulibre, poppler, fontconfig, libjpeg }: stdenv.mkDerivation rec { version = "0.9.14"; @@ -9,6 +9,18 @@ stdenv.mkDerivation rec { sha256 = "05z2bbg54pfsi668fwcjrcr5iz9llf9gprzdsrn6fw5wjv4876zi"; }; + patches = [ + # fix build with Poppler 0.83 + (fetchpatch { + url = "https://github.com/jwilk/pdf2djvu/commit/0aa17bb79dbcdfc249e4841f5b5398e27cfdfd41.patch"; + sha256 = "0mr14nz5w7z4ri2556bxkf3cnn2f7dhwsld7csrh6z5qqb7d5805"; + }) + (fetchpatch { + url = "https://github.com/jwilk/pdf2djvu/commit/27b9e028091a2f370367e9eaf37b4bb1cde87b62.patch"; + sha256 = "03apsg1487jl800q8j70hicvg6xsndd593bg7babm4vgivkxb0da"; + }) + ]; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ djvulibre poppler fontconfig libjpeg ]; diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix index 5bb02f06f23..7c3b9d015db 100644 --- a/pkgs/tools/typesetting/tex/texlive/bin.nix +++ b/pkgs/tools/typesetting/tex/texlive/bin.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchpatch +{ stdenv, fetchurl, fetchpatch, patchutils , texlive , zlib, libiconv, libpng, libX11 , freetype, gd, libXaw, icu, ghostscript, libXpm, libXmu, libXext @@ -27,27 +27,47 @@ let }; patches = [ - ] ++ stdenv.lib.optionals (stdenv.lib.versionAtLeast (stdenv.lib.getVersion poppler) "0.76") [ - (fetchpatch { - name = "pdftex-poppler0.76.patch"; - url = "https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk/pdftex-poppler0.76.patch?id=8cb784073cfd2299a6c301ce7bb0d89126a47f4e"; - sha256 = "04x7myzysranddzjifxhahl7gjy407zkiyzfs5l9cbwzp6pqh7gh"; - - includes = [ - "texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc" - "texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc" - ]; - }) ]; postPatch = let - popplerSuffix = if (stdenv.lib.versionAtLeast (stdenv.lib.getVersion poppler) "0.76") then "-poppler0.76.0" else "-poppler0.72.0"; + # The source compatible with Poppler ${popplerVersion} not yet available in TeXLive ${year} + # so we need to use files introduced in https://www.tug.org/svn/texlive?view=revision&revision=52959 + popplerVersion = "0.83.0"; + pdftoepdf = let + revert-pdfmajorversion = fetchpatch { + name = "pdftoepdf-revert-pdfmajorversion.patch"; + url = "https://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/pdftexdir/pdftoepdf.cc?view=patch&r1=52953&r2=52952&pathrev=52953"; + sha256 = "19jiv5xbvnfdk8lj6yd6mdxgs8f313a4dwg8svjj90dd35kjcfh8"; + revert = true; + postFetch = '' + # The default file, changed by this patch, contains a branch for vendored Poppler + # The version-specific file replaces the section with an error, so we need to drop that part from the patch. + # Fortunately, there is not anything else in the patch after #else. + sed '/ #else/q' $out > "$tmpfile" + ${patchutils}/bin/recountdiff "$tmpfile" > "$out" + ''; + }; + in fetchurl { + name = "pdftoepdf-poppler${popplerVersion}.cc"; + url = "https://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/pdftexdir/pdftoepdf-poppler${popplerVersion}.cc?revision=52959&view=co"; + sha256 = "0pngvw1jgnm4cqskrzf5a3z8rj4ssl10007n3wbblj50hvvzjph3"; + postFetch = '' + # The trunk added some extra arguments to certain functions so we need to revert that + # https://www.tug.org/svn/texlive?view=revision&revision=52953 + patch $out < ${revert-pdfmajorversion} + ''; + }; + pdftosrc = fetchurl { + name = "pdftosrc-poppler${popplerVersion}.cc"; + url = "https://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/pdftexdir/pdftosrc-poppler${popplerVersion}.cc?revision=52959&view=co"; + sha256 = "0iq2cmwvf2lxy32sygrafwqgcwvvbdnvxm5l3mrg9cb2a1g06380"; + }; in '' for i in texk/kpathsea/mktex*; do sed -i '/^mydir=/d' "$i" done - cp -pv texk/web2c/pdftexdir/pdftoepdf{${popplerSuffix},}.cc - cp -pv texk/web2c/pdftexdir/pdftosrc{${popplerSuffix},}.cc + cp -pv ${pdftoepdf} texk/web2c/pdftexdir/pdftoepdf.cc + cp -pv ${pdftosrc} texk/web2c/pdftexdir/pdftosrc.cc ''; # remove when removing synctex-missing-header.patch diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 76fd9bb8c84..19c3e965180 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -853,6 +853,8 @@ in elvish = callPackage ../shells/elvish { }; + emplace = callPackage ../tools/package-management/emplace { }; + encryptr = callPackage ../tools/security/encryptr { gconf = gnome2.GConf; }; @@ -1310,6 +1312,7 @@ in }); caddy = callPackage ../servers/caddy { }; + caddy2 = callPackage ../servers/caddy/v2.nix { }; traefik = callPackage ../servers/traefik { }; calamares = libsForQt5.callPackage ../tools/misc/calamares { @@ -2561,7 +2564,7 @@ in cron = callPackage ../tools/system/cron { }; - cudaPackages = callPackages ../development/compilers/cudatoolkit { }; + cudaPackages = recurseIntoAttrs (callPackage ../development/compilers/cudatoolkit {}); inherit (cudaPackages) cudatoolkit_6 cudatoolkit_6_5 @@ -5020,6 +5023,8 @@ in mt-st = callPackage ../tools/backup/mt-st {}; + multitime = callPackage ../tools/misc/multitime { }; + multitran = recurseIntoAttrs (let callPackage = newScope pkgs.multitran; in { multitrandata = callPackage ../tools/text/multitran/data { }; @@ -6436,6 +6441,8 @@ in ssldump = callPackage ../tools/networking/ssldump { }; + sslsplit = callPackage ../tools/networking/sslsplit { }; + sstp = callPackage ../tools/networking/sstp {}; strip-nondeterminism = perlPackages.strip-nondeterminism; @@ -6891,6 +6898,8 @@ in uwsgi = callPackage ../servers/uwsgi { }; + v2ray = callPackage ../tools/networking/v2ray { }; + vacuum = callPackage ../applications/networking/instant-messengers/vacuum {}; vampire = callPackage ../applications/science/logic/vampire {}; @@ -19527,7 +19536,7 @@ in k3d = callPackage ../applications/graphics/k3d { inherit (pkgs.gnome2) gtkglext; stdenv = gcc6Stdenv; - boost = boost.override { enablePython = true; }; + boost = boost155.override { enablePython = true; }; }; k9copy = libsForQt5.callPackage ../applications/video/k9copy {}; @@ -24535,8 +24544,9 @@ in kops_1_12 kops_1_13 kops_1_14 + kops_1_15 ; - kops = kops_1_14; + kops = kops_1_15; lguf-brightness = callPackage ../misc/lguf-brightness { }; diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix index 235dfc79487..2cc1750c464 100644 --- a/pkgs/top-level/coq-packages.nix +++ b/pkgs/top-level/coq-packages.nix @@ -128,7 +128,7 @@ in rec { version = "8.9.1"; }; coq_8_10 = callPackage ../applications/science/logic/coq { - version = "8.10.1"; + version = "8.10.2"; }; coqPackages_8_5 = mkCoqPackages coq_8_5; diff --git a/pkgs/top-level/static.nix b/pkgs/top-level/static.nix index d1708096032..98a75e2df87 100644 --- a/pkgs/top-level/static.nix +++ b/pkgs/top-level/static.nix @@ -52,6 +52,39 @@ self: super: let }); }; + removeUnknownConfigureFlags = f: with self.lib; + remove "--disable-shared" + (remove "--enable-static" f); + + ocamlFixPackage = b: + b.overrideAttrs (o: { + configurePlatforms = [ ]; + configureFlags = removeUnknownConfigureFlags (o.configureFlags or [ ]); + buildInputs = o.buildInputs ++ o.nativeBuildInputs or [ ]; + propagatedNativeBuildInputs = o.propagatedBuildInputs or [ ]; + }); + + ocamlStaticAdapter = _: super: + self.lib.mapAttrs + (_: p: if p ? overrideAttrs then ocamlFixPackage p else p) + super + // { + lablgtk = null; # Currently xlibs cause infinite recursion + ocaml = ((super.ocaml.override { useX11 = false; }).overrideAttrs (o: { + configurePlatforms = [ ]; + dontUpdateAutotoolsGnuConfigScripts = true; + })).overrideDerivation (o: { + preConfigure = '' + configureFlagsArray+=("-cc" "$CC" "-as" "$AS" "-partialld" "$LD -r") + ''; + configureFlags = (removeUnknownConfigureFlags o.configureFlags) ++ [ + "--no-shared-libs" + "-host ${o.stdenv.hostPlatform.config}" + "-target ${o.stdenv.targetPlatform.config}" + ]; + }); + }; + in { stdenv = foldl (flip id) super.stdenv staticAdapters; gcc49Stdenv = foldl (flip id) super.gcc49Stdenv staticAdapters; @@ -172,6 +205,10 @@ in { }; }; + kmod = super.kmod.override { + withStatic = true; + }; + curl = super.curl.override { # a very sad story: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=439039 gssSupport = false; @@ -196,5 +233,9 @@ in { }; }; + ocaml-ng = self.lib.mapAttrs (_: set: + if set ? overrideScope' then set.overrideScope' ocamlStaticAdapter else set + ) super.ocaml-ng; + python27 = super.python27.override { static = true; }; }