diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 238ba161b58..6eda7473bf6 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -167,3 +167,8 @@ /nixos/modules/services/monitoring/prometheus/exporters.nix @WilliButz /nixos/modules/services/monitoring/prometheus/exporters.xml @WilliButz /nixos/tests/prometheus-exporters.nix @WilliButz + +# PHP +/pkgs/development/interpreters/php @etu +/pkgs/top-level/php-packages.nix @etu +/pkgs/build-support/build-pecl.nix @etu diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index bb7bc8bd827..a9bf3ed1539 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1780,6 +1780,12 @@ githubId = 875324; name = "David Johnson"; }; + dmrauh = { + email = "dmrauh@posteo.de"; + github = "dmrauh"; + githubId = 37698547; + name = "Dominik Michael Rauh"; + }; dmvianna = { email = "dmlvianna@gmail.com"; github = "dmvianna"; @@ -2515,6 +2521,7 @@ gazally = { email = "gazally@runbox.com"; github = "gazally"; + githubId = 16470252; name = "Gemini Lasswell"; }; gebner = { @@ -3700,6 +3707,18 @@ githubId = 449813; name = "Roman Kuznetsov"; }; + kylesferrazza = { + name = "Kyle Sferrazza"; + email = "kyle.sferrazza@gmail.com"; + + github = "kylesferrazza"; + githubId = 6677292; + + keys = [{ + longkeyid = "rsa4096/81A1540948162372"; + fingerprint = "5A9A 1C9B 2369 8049 3B48 CF5B 81A1 5409 4816 2372"; + }]; + }; kylewlacy = { email = "kylelacy+nix@pm.me"; github = "kylewlacy"; @@ -6087,7 +6106,7 @@ name = "Shahrukh Khan"; }; shanemikel = { - email = "shanemikel1@gmail.com"; + email = "shanepearlman@pm.me"; github = "shanemikel"; githubId = 6720672; name = "Shane Pearlman"; diff --git a/nixos/doc/manual/configuration/profiles/graphical.xml b/nixos/doc/manual/configuration/profiles/graphical.xml index 73e3abc59d0..cc6d0825d24 100644 --- a/nixos/doc/manual/configuration/profiles/graphical.xml +++ b/nixos/doc/manual/configuration/profiles/graphical.xml @@ -13,9 +13,7 @@ It sets , , - ( - - without Qt4 Support), and + , and to true. It also includes glxinfo and firefox in the system packages list. diff --git a/nixos/doc/manual/development/releases.xml b/nixos/doc/manual/development/releases.xml index 1cdec64f69b..9371af9984d 100755 --- a/nixos/doc/manual/development/releases.xml +++ b/nixos/doc/manual/development/releases.xml @@ -45,12 +45,12 @@ git tag -a -s -m "Release 17.09-beta" 17.09-beta - && git push --tags + && git push origin 17.09-beta - From the master branch run git checkout -B + From the master branch run git checkout -b release-17.09. @@ -157,7 +157,7 @@ Release Nix (currently only Eelco Dolstra can do that). - + Make sure fallback is updated. @@ -169,8 +169,8 @@ - Change stableBranch to true and wait for channel to - update. + Change stableBranch to true in Hydra and wait for + the channel to update. @@ -193,9 +193,11 @@ - Update http://nixos.org/nixos/download.html and - http://nixos.org/nixos/manual in - https://github.com/NixOS/nixos-org-configurations + Update the + NIXOS_SERIES + in the + nixos-homepage + repository. @@ -212,7 +214,8 @@ - Send an email to nix-dev to announce the release with above information. + Create a new topic on the + Discourse instance to announce the release with the above information. Best to check how previous email was formulated to see what needs to be included. diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml index 8ff920eb5a8..7991c43e01f 100644 --- a/nixos/doc/manual/installation/installing.xml +++ b/nixos/doc/manual/installation/installing.xml @@ -392,11 +392,11 @@ hardware-configuration.nix is included from configuration.nix and will be overwritten by future invocations of nixos-generate-config; thus, you - generally should not modify it.) Additionally, you may want to look at + generally should not modify it.) Additionally, you may want to look at Hardware configuration for known-hardware at this point or after installation. - + @@ -418,11 +418,11 @@ Do the installation: # nixos-install - Cross fingers. If this fails due to a temporary problem (such as a network - issue while downloading binaries from the NixOS binary cache), you can - just re-run nixos-install. Otherwise, fix your - configuration.nix and then re-run - nixos-install. + This will install your system based on the configuration you provided. + If anything fails due to a configuration problem or any other issue + (such as a network outage while downloading binaries from the NixOS + binary cache), you can re-run nixos-install after + fixing your configuration.nix. As the last step, nixos-install will ask you to set the diff --git a/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml index c0e7a00d757..6916fd225da 100644 --- a/nixos/doc/manual/release-notes/rl-2003.xml +++ b/nixos/doc/manual/release-notes/rl-2003.xml @@ -163,6 +163,19 @@ time during the releases development (if viable). + + + The phpfpm module now sets + PrivateTmp=true in its systemd units for better process isolation. + If you rely on /tmp being shared with other services, explicitly override this by + setting serviceConfig.PrivateTmp to false for each phpfpm unit. + + + + + KDE’s old multimedia framework Phonon no longer supports Qt 4. For that reason, Plasma desktop also does not have option any more. + + diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py index 9d89960876e..0b8e3b67c9b 100644 --- a/nixos/lib/test-driver/test-driver.py +++ b/nixos/lib/test-driver/test-driver.py @@ -290,10 +290,15 @@ class Machine: def wait_for_monitor_prompt(self) -> str: assert self.monitor is not None + answer = "" while True: - answer = self.monitor.recv(1024).decode() + undecoded_answer = self.monitor.recv(1024) + if not undecoded_answer: + break + answer += undecoded_answer.decode() if answer.endswith("(qemu) "): - return answer + break + return answer def send_monitor_command(self, command: str) -> str: message = ("{}\n".format(command)).encode() @@ -606,12 +611,15 @@ class Machine: + os.environ.get("QEMU_OPTS", "") ) - environment = { - "QEMU_OPTS": qemu_options, - "SHARED_DIR": self.shared_dir, - "USE_TMPDIR": "1", - } - environment.update(dict(os.environ)) + environment = dict(os.environ) + environment.update( + { + "TMPDIR": self.state_dir, + "SHARED_DIR": self.shared_dir, + "USE_TMPDIR": "1", + "QEMU_OPTS": qemu_options, + } + ) self.process = subprocess.Popen( self.script, @@ -749,7 +757,7 @@ def run_tests() -> None: if tests is not None: with log.nested("running the VM test script"): try: - exec(tests) + exec(tests, globals()) except Exception as e: eprint("error: {}".format(str(e))) sys.exit(1) diff --git a/nixos/maintainers/scripts/ec2/create-amis.sh b/nixos/maintainers/scripts/ec2/create-amis.sh index f08e500e079..5dc1c5aaed5 100755 --- a/nixos/maintainers/scripts/ec2/create-amis.sh +++ b/nixos/maintainers/scripts/ec2/create-amis.sh @@ -211,11 +211,11 @@ upload_image() { log "Registering snapshot $snapshot_id as AMI" local block_device_mappings=( - "DeviceName=/dev/sda1,Ebs={SnapshotId=$snapshot_id,VolumeSize=$image_logical_gigabytes,DeleteOnTermination=true,VolumeType=gp2}" + "DeviceName=/dev/xvda,Ebs={SnapshotId=$snapshot_id,VolumeSize=$image_logical_gigabytes,DeleteOnTermination=true,VolumeType=gp2}" ) local extra_flags=( - --root-device-name /dev/sda1 + --root-device-name /dev/xvda --sriov-net-support simple --ena-support --virtualization-type hvm diff --git a/nixos/modules/config/qt5.nix b/nixos/modules/config/qt5.nix index 7de1c0f5d55..d9dec74f155 100644 --- a/nixos/modules/config/qt5.nix +++ b/nixos/modules/config/qt5.nix @@ -10,7 +10,7 @@ let isQtStyle = cfg.platformTheme == "gtk2" && cfg.style != "adwaita"; packages = if isQGnome then [ pkgs.qgnomeplatform pkgs.adwaita-qt ] - else if isQtStyle then [ pkgs.qtstyleplugins ] + else if isQtStyle then [ pkgs.libsForQt5.qtstyleplugins ] else throw "`qt5.platformTheme` ${cfg.platformTheme} and `qt5.style` ${cfg.style} are not compatible."; in diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix index 6a10a6404e6..e00d3f7535b 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix @@ -11,7 +11,6 @@ with lib; services.xserver = { desktopManager.plasma5 = { enable = true; - enableQt4Support = false; }; # Automatically login as nixos. diff --git a/nixos/modules/profiles/graphical.nix b/nixos/modules/profiles/graphical.nix index ac3c228b3c6..d80456cede5 100644 --- a/nixos/modules/profiles/graphical.nix +++ b/nixos/modules/profiles/graphical.nix @@ -9,7 +9,6 @@ displayManager.sddm.enable = true; desktopManager.plasma5 = { enable = true; - enableQt4Support = false; }; libinput.enable = true; # for touchpad support on many laptops }; diff --git a/nixos/modules/programs/adb.nix b/nixos/modules/programs/adb.nix index 250d8c252a3..83bcfe886aa 100644 --- a/nixos/modules/programs/adb.nix +++ b/nixos/modules/programs/adb.nix @@ -23,7 +23,8 @@ with lib; ###### implementation config = mkIf config.programs.adb.enable { services.udev.packages = [ pkgs.android-udev-rules ]; - environment.systemPackages = [ pkgs.androidenv.androidPkgs_9_0.platform-tools ]; + # Give platform-tools lower priority so mke2fs+friends are taken from other packages first + environment.systemPackages = [ (lowPrio pkgs.androidenv.androidPkgs_9_0.platform-tools) ]; users.groups.adbusers = {}; }; } diff --git a/nixos/modules/services/misc/beanstalkd.nix b/nixos/modules/services/misc/beanstalkd.nix index 06e881406b5..bcd133c9741 100644 --- a/nixos/modules/services/misc/beanstalkd.nix +++ b/nixos/modules/services/misc/beanstalkd.nix @@ -44,7 +44,8 @@ in serviceConfig = { DynamicUser = true; Restart = "always"; - ExecStart = "${pkg}/bin/beanstalkd -l ${cfg.listen.address} -p ${toString cfg.listen.port}"; + ExecStart = "${pkg}/bin/beanstalkd -l ${cfg.listen.address} -p ${toString cfg.listen.port} -b $STATE_DIRECTORY"; + StateDirectory = "beanstalkd"; }; }; diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index b9186a1dc07..b67f0880878 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -390,6 +390,7 @@ in { in { wantedBy = [ "multi-user.target" ]; before = [ "phpfpm-nextcloud.service" ]; + path = [ occ ]; script = '' chmod og+x ${cfg.home} ln -sf ${pkgs.nextcloud}/apps ${cfg.home}/ diff --git a/nixos/modules/services/web-servers/phpfpm/default.nix b/nixos/modules/services/web-servers/phpfpm/default.nix index 095de64dfb1..7698f8c3a26 100644 --- a/nixos/modules/services/web-servers/phpfpm/default.nix +++ b/nixos/modules/services/web-servers/phpfpm/default.nix @@ -262,6 +262,7 @@ in { in { Slice = "phpfpm.slice"; PrivateDevices = true; + PrivateTmp = true; ProtectSystem = "full"; ProtectHome = true; # XXX: We need AF_NETLINK to make the sendmail SUID binary from postfix work diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 0135ac19cbf..6725595e1cf 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -309,7 +309,7 @@ in gnome-shell gnome-shell-extensions gnome-themes-extra - gnome-user-docs + pkgs.gnome-user-docs pkgs.orca pkgs.glib # for gsettings pkgs.gnome-menus diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix index b48ca3fad93..da8bdcb78c4 100644 --- a/nixos/modules/services/x11/desktop-managers/plasma5.nix +++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix @@ -27,20 +27,13 @@ in example = "vlc"; description = "Phonon audio backend to install."; }; - - enableQt4Support = mkOption { - type = types.bool; - default = true; - description = '' - Enable support for Qt 4-based applications. Particularly, install a - default backend for Phonon. - ''; - }; - }; }; + imports = [ + (mkRemovedOptionModule [ "services" "xserver" "desktopManager" "plasma5" "enableQt4Support" ] "Phonon no longer supports Qt 4.") + ]; config = mkMerge [ (mkIf cfg.enable { @@ -173,9 +166,7 @@ in # Phonon audio backend ++ lib.optional (cfg.phononBackend == "gstreamer") libsForQt5.phonon-backend-gstreamer - ++ lib.optional (cfg.phononBackend == "gstreamer" && cfg.enableQt4Support) pkgs.phonon-backend-gstreamer ++ lib.optional (cfg.phononBackend == "vlc") libsForQt5.phonon-backend-vlc - ++ lib.optional (cfg.phononBackend == "vlc" && cfg.enableQt4Support) pkgs.phonon-backend-vlc # Optional hardware support features ++ lib.optionals config.hardware.bluetooth.enable [ bluedevil bluez-qt ] diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix index e5990aec4b9..0af9ccfcf3e 100644 --- a/nixos/modules/services/x11/display-managers/gdm.nix +++ b/nixos/modules/services/x11/display-managers/gdm.nix @@ -31,6 +31,44 @@ let load-module module-position-event-sounds ''; + dmDefault = config.services.xserver.desktopManager.default; + wmDefault = config.services.xserver.windowManager.default; + hasDefaultUserSession = dmDefault != "none" || wmDefault != "none"; + defaultSessionName = dmDefault + optionalString (wmDefault != "none") ("+" + wmDefault); + + setSessionScript = pkgs.python3.pkgs.buildPythonApplication { + name = "set-session"; + + format = "other"; + + src = ./set-session.py; + + dontUnpack = true; + + strictDeps = false; + + nativeBuildInputs = with pkgs; [ + wrapGAppsHook + gobject-introspection + ]; + + buildInputs = with pkgs; [ + accountsservice + glib + ]; + + propagatedBuildInputs = with pkgs.python3.pkgs; [ + pygobject3 + ordered-set + ]; + + installPhase = '' + mkdir -p $out/bin + cp $src $out/bin/set-session + chmod +x $out/bin/set-session + ''; + }; + in { @@ -156,6 +194,8 @@ in cat - > /run/gdm/.config/gnome-initial-setup-done <<- EOF yes EOF + '' + optionalString hasDefaultUserSession '' + ${setSessionScript}/bin/set-session ${defaultSessionName} ''; }; diff --git a/nixos/modules/services/x11/display-managers/set-session.py b/nixos/modules/services/x11/display-managers/set-session.py new file mode 100755 index 00000000000..0cca80af44e --- /dev/null +++ b/nixos/modules/services/x11/display-managers/set-session.py @@ -0,0 +1,86 @@ +#!/usr/bin/env python + +import gi, argparse, os, logging, sys + +gi.require_version("AccountsService", "1.0") +from gi.repository import AccountsService, GLib +from ordered_set import OrderedSet + + +def get_session_file(session): + system_data_dirs = GLib.get_system_data_dirs() + + session_dirs = OrderedSet( + os.path.join(data_dir, session) + for data_dir in system_data_dirs + for session in {"wayland-sessions", "xsessions"} + ) + + session_files = OrderedSet( + os.path.join(dir, session + ".desktop") + for dir in session_dirs + if os.path.exists(os.path.join(dir, session + ".desktop")) + ) + + # Deal with duplicate wayland-sessions and xsessions. + # Needed for the situation in gnome-session, where there's + # a xsession named the same as a wayland session. + if any(map(is_session_wayland, session_files)): + session_files = OrderedSet( + session for session in session_files if is_session_wayland(session) + ) + else: + session_files = OrderedSet( + session for session in session_files if is_session_xsession(session) + ) + + if len(session_files) == 0: + logging.warning("No session files are found.") + sys.exit(0) + else: + return session_files[0] + + +def is_session_xsession(session_file): + return "/xsessions/" in session_file + + +def is_session_wayland(session_file): + return "/wayland-sessions/" in session_file + + +def main(): + parser = argparse.ArgumentParser( + description="Set session type for all normal users." + ) + parser.add_argument("session", help="Name of session to set.") + + args = parser.parse_args() + + session = getattr(args, "session") + session_file = get_session_file(session) + + user_manager = AccountsService.UserManager.get_default() + users = user_manager.list_users() + + for user in users: + if user.is_system_account(): + continue + else: + if is_session_wayland(session_file): + logging.debug( + f"Setting session name: {session}, as we found the existing wayland-session: {session_file}" + ) + user.set_session(session) + elif is_session_xsession(session_file): + logging.debug( + f"Setting session name: {session}, as we found the existing xsession: {session_file}" + ) + user.set_x_session(session) + else: + logging.error(f"Couldn't figure out session type for {session_file}") + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix index c091d863034..f80d5afc55f 100644 --- a/nixos/modules/system/boot/networkd.nix +++ b/nixos/modules/system/boot/networkd.nix @@ -201,7 +201,7 @@ let (assertValueOneOf "IPv6AcceptRA" boolValues) (assertValueOneOf "IPv4ProxyARP" boolValues) (assertValueOneOf "IPv6ProxyNDP" boolValues) - (assertValueOneOf "IPv6PrefixDelegation" boolValues) + (assertValueOneOf "IPv6PrefixDelegation" (boolValues ++ [ "dhcpv6" "static" ])) (assertValueOneOf "ActiveSlave" boolValues) (assertValueOneOf "PrimarySlave" boolValues) (assertValueOneOf "ConfigureWithoutCarrier" boolValues) diff --git a/nixos/tests/ceph-multi-node.nix b/nixos/tests/ceph-multi-node.nix index ed493d6a1b3..52a0b5caf23 100644 --- a/nixos/tests/ceph-multi-node.nix +++ b/nixos/tests/ceph-multi-node.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({pkgs, lib, ...}: +import ./make-test-python.nix ({pkgs, lib, ...}: let cfg = { @@ -109,105 +109,105 @@ let # For other ways to deploy a ceph cluster, look at the documentation at # https://docs.ceph.com/docs/master/ testscript = { ... }: '' - startAll; + start_all() - $monA->waitForUnit("network.target"); - $osd0->waitForUnit("network.target"); - $osd1->waitForUnit("network.target"); + monA.wait_for_unit("network.target") + osd0.wait_for_unit("network.target") + osd1.wait_for_unit("network.target") # Bootstrap ceph-mon daemon - $monA->mustSucceed( - "sudo -u ceph ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'", - "sudo -u ceph ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'", - "sudo -u ceph ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring", - "monmaptool --create --add ${cfg.monA.name} ${cfg.monA.ip} --fsid ${cfg.clusterId} /tmp/monmap", - "sudo -u ceph ceph-mon --mkfs -i ${cfg.monA.name} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring", - "sudo -u ceph mkdir -p /var/lib/ceph/mgr/ceph-${cfg.monA.name}/", - "sudo -u ceph touch /var/lib/ceph/mon/ceph-${cfg.monA.name}/done", - "systemctl start ceph-mon-${cfg.monA.name}" - ); - $monA->waitForUnit("ceph-mon-${cfg.monA.name}"); - $monA->mustSucceed("ceph mon enable-msgr2"); + monA.succeed( + "sudo -u ceph ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'", + "sudo -u ceph ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'", + "sudo -u ceph ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring", + "monmaptool --create --add ${cfg.monA.name} ${cfg.monA.ip} --fsid ${cfg.clusterId} /tmp/monmap", + "sudo -u ceph ceph-mon --mkfs -i ${cfg.monA.name} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring", + "sudo -u ceph mkdir -p /var/lib/ceph/mgr/ceph-${cfg.monA.name}/", + "sudo -u ceph touch /var/lib/ceph/mon/ceph-${cfg.monA.name}/done", + "systemctl start ceph-mon-${cfg.monA.name}", + ) + monA.wait_for_unit("ceph-mon-${cfg.monA.name}") + monA.succeed("ceph mon enable-msgr2") # Can't check ceph status until a mon is up - $monA->succeed("ceph -s | grep 'mon: 1 daemons'"); + monA.succeed("ceph -s | grep 'mon: 1 daemons'") # Start the ceph-mgr daemon, it has no deps and hardly any setup - $monA->mustSucceed( - "ceph auth get-or-create mgr.${cfg.monA.name} mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-${cfg.monA.name}/keyring", - "systemctl start ceph-mgr-${cfg.monA.name}" - ); - $monA->waitForUnit("ceph-mgr-a"); - $monA->waitUntilSucceeds("ceph -s | grep 'quorum ${cfg.monA.name}'"); - $monA->waitUntilSucceeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'"); + monA.succeed( + "ceph auth get-or-create mgr.${cfg.monA.name} mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-${cfg.monA.name}/keyring", + "systemctl start ceph-mgr-${cfg.monA.name}", + ) + monA.wait_for_unit("ceph-mgr-a") + monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'") + monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") # Send the admin keyring to the OSD machines - $monA->mustSucceed("cp /etc/ceph/ceph.client.admin.keyring /tmp/shared"); - $osd0->mustSucceed("cp /tmp/shared/ceph.client.admin.keyring /etc/ceph"); - $osd1->mustSucceed("cp /tmp/shared/ceph.client.admin.keyring /etc/ceph"); + monA.succeed("cp /etc/ceph/ceph.client.admin.keyring /tmp/shared") + osd0.succeed("cp /tmp/shared/ceph.client.admin.keyring /etc/ceph") + osd1.succeed("cp /tmp/shared/ceph.client.admin.keyring /etc/ceph") # Bootstrap both OSDs - $osd0->mustSucceed( - "mkfs.xfs /dev/vdb", - "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd0.name}", - "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd0.name}", - "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd0.name}/keyring --name osd.${cfg.osd0.name} --add-key ${cfg.osd0.key}", - "echo '{\"cephx_secret\": \"${cfg.osd0.key}\"}' | ceph osd new ${cfg.osd0.uuid} -i -", - ); - $osd1->mustSucceed( - "mkfs.xfs /dev/vdb", - "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd1.name}", - "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd1.name}", - "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd1.name}/keyring --name osd.${cfg.osd1.name} --add-key ${cfg.osd1.key}", - "echo '{\"cephx_secret\": \"${cfg.osd1.key}\"}' | ceph osd new ${cfg.osd1.uuid} -i -" - ); + osd0.succeed( + "mkfs.xfs /dev/vdb", + "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd0.name}", + "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd0.name}", + "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd0.name}/keyring --name osd.${cfg.osd0.name} --add-key ${cfg.osd0.key}", + 'echo \'{"cephx_secret": "${cfg.osd0.key}"}\' | ceph osd new ${cfg.osd0.uuid} -i -', + ) + osd1.succeed( + "mkfs.xfs /dev/vdb", + "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd1.name}", + "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd1.name}", + "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd1.name}/keyring --name osd.${cfg.osd1.name} --add-key ${cfg.osd1.key}", + 'echo \'{"cephx_secret": "${cfg.osd1.key}"}\' | ceph osd new ${cfg.osd1.uuid} -i -', + ) # Initialize the OSDs with regular filestore - $osd0->mustSucceed( - "ceph-osd -i ${cfg.osd0.name} --mkfs --osd-uuid ${cfg.osd0.uuid}", - "chown -R ceph:ceph /var/lib/ceph/osd", - "systemctl start ceph-osd-${cfg.osd0.name}", - ); - $osd1->mustSucceed( - "ceph-osd -i ${cfg.osd1.name} --mkfs --osd-uuid ${cfg.osd1.uuid}", - "chown -R ceph:ceph /var/lib/ceph/osd", - "systemctl start ceph-osd-${cfg.osd1.name}" - ); - $monA->waitUntilSucceeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'"); - $monA->waitUntilSucceeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'"); - $monA->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'"); + osd0.succeed( + "ceph-osd -i ${cfg.osd0.name} --mkfs --osd-uuid ${cfg.osd0.uuid}", + "chown -R ceph:ceph /var/lib/ceph/osd", + "systemctl start ceph-osd-${cfg.osd0.name}", + ) + osd1.succeed( + "ceph-osd -i ${cfg.osd1.name} --mkfs --osd-uuid ${cfg.osd1.uuid}", + "chown -R ceph:ceph /var/lib/ceph/osd", + "systemctl start ceph-osd-${cfg.osd1.name}", + ) + monA.wait_until_succeeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'") + monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") + monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") - $monA->mustSucceed( - "ceph osd pool create multi-node-test 100 100", - "ceph osd pool ls | grep 'multi-node-test'", - "ceph osd pool rename multi-node-test multi-node-other-test", - "ceph osd pool ls | grep 'multi-node-other-test'" - ); - $monA->waitUntilSucceeds("ceph -s | grep '1 pools, 100 pgs'"); - $monA->mustSucceed("ceph osd pool set multi-node-other-test size 2"); - $monA->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'"); - $monA->waitUntilSucceeds("ceph -s | grep '100 active+clean'"); - $monA->mustFail( - "ceph osd pool ls | grep 'multi-node-test'", - "ceph osd pool delete multi-node-other-test multi-node-other-test --yes-i-really-really-mean-it" - ); + monA.succeed( + "ceph osd pool create multi-node-test 100 100", + "ceph osd pool ls | grep 'multi-node-test'", + "ceph osd pool rename multi-node-test multi-node-other-test", + "ceph osd pool ls | grep 'multi-node-other-test'", + ) + monA.wait_until_succeeds("ceph -s | grep '1 pools, 100 pgs'") + monA.succeed("ceph osd pool set multi-node-other-test size 2") + monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") + monA.wait_until_succeeds("ceph -s | grep '100 active+clean'") + monA.fail( + "ceph osd pool ls | grep 'multi-node-test'", + "ceph osd pool delete multi-node-other-test multi-node-other-test --yes-i-really-really-mean-it", + ) # Shut down ceph on all machines in a very unpolite way - $monA->crash; - $osd0->crash; - $osd1->crash; + monA.crash() + osd0.crash() + osd1.crash() # Start it up - $osd0->start; - $osd1->start; - $monA->start; + osd0.start() + osd1.start() + monA.start() # Ensure the cluster comes back up again - $monA->succeed("ceph -s | grep 'mon: 1 daemons'"); - $monA->waitUntilSucceeds("ceph -s | grep 'quorum ${cfg.monA.name}'"); - $monA->waitUntilSucceeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'"); - $monA->waitUntilSucceeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'"); - $monA->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'"); + monA.succeed("ceph -s | grep 'mon: 1 daemons'") + monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'") + monA.wait_until_succeeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'") + monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") + monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") ''; in { name = "basic-multi-node-ceph-cluster"; diff --git a/nixos/tests/ceph-single-node.nix b/nixos/tests/ceph-single-node.nix index 041fbd7e8e6..da92a73e14d 100644 --- a/nixos/tests/ceph-single-node.nix +++ b/nixos/tests/ceph-single-node.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({pkgs, lib, ...}: +import ./make-test-python.nix ({pkgs, lib, ...}: let cfg = { @@ -74,100 +74,100 @@ let # For other ways to deploy a ceph cluster, look at the documentation at # https://docs.ceph.com/docs/master/ testscript = { ... }: '' - startAll; + start_all() - $monA->waitForUnit("network.target"); + monA.wait_for_unit("network.target") # Bootstrap ceph-mon daemon - $monA->mustSucceed( - "sudo -u ceph ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'", - "sudo -u ceph ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'", - "sudo -u ceph ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring", - "monmaptool --create --add ${cfg.monA.name} ${cfg.monA.ip} --fsid ${cfg.clusterId} /tmp/monmap", - "sudo -u ceph ceph-mon --mkfs -i ${cfg.monA.name} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring", - "sudo -u ceph touch /var/lib/ceph/mon/ceph-${cfg.monA.name}/done", - "systemctl start ceph-mon-${cfg.monA.name}" - ); - $monA->waitForUnit("ceph-mon-${cfg.monA.name}"); - $monA->mustSucceed("ceph mon enable-msgr2"); + monA.succeed( + "sudo -u ceph ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'", + "sudo -u ceph ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'", + "sudo -u ceph ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring", + "monmaptool --create --add ${cfg.monA.name} ${cfg.monA.ip} --fsid ${cfg.clusterId} /tmp/monmap", + "sudo -u ceph ceph-mon --mkfs -i ${cfg.monA.name} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring", + "sudo -u ceph touch /var/lib/ceph/mon/ceph-${cfg.monA.name}/done", + "systemctl start ceph-mon-${cfg.monA.name}", + ) + monA.wait_for_unit("ceph-mon-${cfg.monA.name}") + monA.succeed("ceph mon enable-msgr2") # Can't check ceph status until a mon is up - $monA->succeed("ceph -s | grep 'mon: 1 daemons'"); + monA.succeed("ceph -s | grep 'mon: 1 daemons'") # Start the ceph-mgr daemon, after copying in the keyring - $monA->mustSucceed( - "sudo -u ceph mkdir -p /var/lib/ceph/mgr/ceph-${cfg.monA.name}/", - "ceph auth get-or-create mgr.${cfg.monA.name} mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-${cfg.monA.name}/keyring", - "systemctl start ceph-mgr-${cfg.monA.name}" - ); - $monA->waitForUnit("ceph-mgr-a"); - $monA->waitUntilSucceeds("ceph -s | grep 'quorum ${cfg.monA.name}'"); - $monA->waitUntilSucceeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'"); + monA.succeed( + "sudo -u ceph mkdir -p /var/lib/ceph/mgr/ceph-${cfg.monA.name}/", + "ceph auth get-or-create mgr.${cfg.monA.name} mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-${cfg.monA.name}/keyring", + "systemctl start ceph-mgr-${cfg.monA.name}", + ) + monA.wait_for_unit("ceph-mgr-a") + monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'") + monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") # Bootstrap both OSDs - $monA->mustSucceed( - "mkfs.xfs /dev/vdb", - "mkfs.xfs /dev/vdc", - "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd0.name}", - "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd0.name}", - "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd1.name}", - "mount /dev/vdc /var/lib/ceph/osd/ceph-${cfg.osd1.name}", - "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd0.name}/keyring --name osd.${cfg.osd0.name} --add-key ${cfg.osd0.key}", - "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd1.name}/keyring --name osd.${cfg.osd1.name} --add-key ${cfg.osd1.key}", - "echo '{\"cephx_secret\": \"${cfg.osd0.key}\"}' | ceph osd new ${cfg.osd0.uuid} -i -", - "echo '{\"cephx_secret\": \"${cfg.osd1.key}\"}' | ceph osd new ${cfg.osd1.uuid} -i -" - ); + monA.succeed( + "mkfs.xfs /dev/vdb", + "mkfs.xfs /dev/vdc", + "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd0.name}", + "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd0.name}", + "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd1.name}", + "mount /dev/vdc /var/lib/ceph/osd/ceph-${cfg.osd1.name}", + "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd0.name}/keyring --name osd.${cfg.osd0.name} --add-key ${cfg.osd0.key}", + "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd1.name}/keyring --name osd.${cfg.osd1.name} --add-key ${cfg.osd1.key}", + 'echo \'{"cephx_secret": "${cfg.osd0.key}"}\' | ceph osd new ${cfg.osd0.uuid} -i -', + 'echo \'{"cephx_secret": "${cfg.osd1.key}"}\' | ceph osd new ${cfg.osd1.uuid} -i -', + ) # Initialize the OSDs with regular filestore - $monA->mustSucceed( - "ceph-osd -i ${cfg.osd0.name} --mkfs --osd-uuid ${cfg.osd0.uuid}", - "ceph-osd -i ${cfg.osd1.name} --mkfs --osd-uuid ${cfg.osd1.uuid}", - "chown -R ceph:ceph /var/lib/ceph/osd", - "systemctl start ceph-osd-${cfg.osd0.name}", - "systemctl start ceph-osd-${cfg.osd1.name}" - ); - $monA->waitUntilSucceeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'"); - $monA->waitUntilSucceeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'"); - $monA->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'"); + monA.succeed( + "ceph-osd -i ${cfg.osd0.name} --mkfs --osd-uuid ${cfg.osd0.uuid}", + "ceph-osd -i ${cfg.osd1.name} --mkfs --osd-uuid ${cfg.osd1.uuid}", + "chown -R ceph:ceph /var/lib/ceph/osd", + "systemctl start ceph-osd-${cfg.osd0.name}", + "systemctl start ceph-osd-${cfg.osd1.name}", + ) + monA.wait_until_succeeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'") + monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") + monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") - $monA->mustSucceed( - "ceph osd pool create single-node-test 100 100", - "ceph osd pool ls | grep 'single-node-test'", - "ceph osd pool rename single-node-test single-node-other-test", - "ceph osd pool ls | grep 'single-node-other-test'" - ); - $monA->waitUntilSucceeds("ceph -s | grep '1 pools, 100 pgs'"); - $monA->mustSucceed( - "ceph osd getcrushmap -o crush", - "crushtool -d crush -o decrushed", - "sed 's/step chooseleaf firstn 0 type host/step chooseleaf firstn 0 type osd/' decrushed > modcrush", - "crushtool -c modcrush -o recrushed", - "ceph osd setcrushmap -i recrushed", - "ceph osd pool set single-node-other-test size 2" - ); - $monA->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'"); - $monA->waitUntilSucceeds("ceph -s | grep '100 active+clean'"); - $monA->mustFail( - "ceph osd pool ls | grep 'multi-node-test'", - "ceph osd pool delete single-node-other-test single-node-other-test --yes-i-really-really-mean-it" - ); + monA.succeed( + "ceph osd pool create single-node-test 100 100", + "ceph osd pool ls | grep 'single-node-test'", + "ceph osd pool rename single-node-test single-node-other-test", + "ceph osd pool ls | grep 'single-node-other-test'", + ) + monA.wait_until_succeeds("ceph -s | grep '1 pools, 100 pgs'") + monA.succeed( + "ceph osd getcrushmap -o crush", + "crushtool -d crush -o decrushed", + "sed 's/step chooseleaf firstn 0 type host/step chooseleaf firstn 0 type osd/' decrushed > modcrush", + "crushtool -c modcrush -o recrushed", + "ceph osd setcrushmap -i recrushed", + "ceph osd pool set single-node-other-test size 2", + ) + monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") + monA.wait_until_succeeds("ceph -s | grep '100 active+clean'") + monA.fail( + "ceph osd pool ls | grep 'multi-node-test'", + "ceph osd pool delete single-node-other-test single-node-other-test --yes-i-really-really-mean-it", + ) # Shut down ceph by stopping ceph.target. - $monA->mustSucceed("systemctl stop ceph.target"); + monA.succeed("systemctl stop ceph.target") # Start it up - $monA->succeed("systemctl start ceph.target"); - $monA->waitForUnit("ceph-mon-${cfg.monA.name}"); - $monA->waitForUnit("ceph-mgr-${cfg.monA.name}"); - $monA->waitForUnit("ceph-osd-${cfg.osd0.name}"); - $monA->waitForUnit("ceph-osd-${cfg.osd1.name}"); + monA.succeed("systemctl start ceph.target") + monA.wait_for_unit("ceph-mon-${cfg.monA.name}") + monA.wait_for_unit("ceph-mgr-${cfg.monA.name}") + monA.wait_for_unit("ceph-osd-${cfg.osd0.name}") + monA.wait_for_unit("ceph-osd-${cfg.osd1.name}") # Ensure the cluster comes back up again - $monA->succeed("ceph -s | grep 'mon: 1 daemons'"); - $monA->waitUntilSucceeds("ceph -s | grep 'quorum ${cfg.monA.name}'"); - $monA->waitUntilSucceeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'"); - $monA->waitUntilSucceeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'"); - $monA->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'"); + monA.succeed("ceph -s | grep 'mon: 1 daemons'") + monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'") + monA.wait_until_succeeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'") + monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") + monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") ''; in { name = "basic-single-node-ceph-cluster"; diff --git a/nixos/tests/clickhouse.nix b/nixos/tests/clickhouse.nix index 7d835069ec4..2d8a7cf7aa9 100644 --- a/nixos/tests/clickhouse.nix +++ b/nixos/tests/clickhouse.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ... }: { +import ./make-test-python.nix ({ pkgs, ... }: { name = "clickhouse"; meta.maintainers = with pkgs.stdenv.lib.maintainers; [ ma27 ]; @@ -14,12 +14,18 @@ import ./make-test.nix ({ pkgs, ... }: { selectQuery = pkgs.writeText "select.sql" "SELECT * from `demo`"; in '' - $machine->start(); - $machine->waitForUnit("clickhouse.service"); - $machine->waitForOpenPort(9000); + machine.start() + machine.wait_for_unit("clickhouse.service") + machine.wait_for_open_port(9000) - $machine->succeed("cat ${tableDDL} | clickhouse-client"); - $machine->succeed("cat ${insertQuery} | clickhouse-client"); - $machine->succeed("cat ${selectQuery} | clickhouse-client | grep foo"); + machine.succeed( + "cat ${tableDDL} | clickhouse-client" + ) + machine.succeed( + "cat ${insertQuery} | clickhouse-client" + ) + machine.succeed( + "cat ${selectQuery} | clickhouse-client | grep foo" + ) ''; }) diff --git a/nixos/tests/deluge.nix b/nixos/tests/deluge.nix index b58030409b5..37689c3d913 100644 --- a/nixos/tests/deluge.nix +++ b/nixos/tests/deluge.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ...} : { +import ./make-test-python.nix ({ pkgs, ...} : { name = "deluge"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ flokli ]; @@ -45,18 +45,20 @@ import ./make-test.nix ({ pkgs, ...} : { }; testScript = '' - startAll; + start_all() - $simple->waitForUnit("deluged"); - $simple->waitForUnit("delugeweb"); - $simple->waitForOpenPort("8112"); - $declarative->waitForUnit("network.target"); - $declarative->waitUntilSucceeds("curl --fail http://simple:8112"); + simple.wait_for_unit("deluged") + simple.wait_for_unit("delugeweb") + simple.wait_for_open_port("8112") + declarative.wait_for_unit("network.target") + declarative.wait_until_succeeds("curl --fail http://simple:8112") - $declarative->waitForUnit("deluged"); - $declarative->waitForUnit("delugeweb"); - $declarative->waitUntilSucceeds("curl --fail http://declarative:3142"); - $declarative->succeed("deluge-console 'help' | grep -q 'rm - Remove a torrent'"); - $declarative->succeed("deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm - Remove a torrent'"); + declarative.wait_for_unit("deluged") + declarative.wait_for_unit("delugeweb") + declarative.wait_until_succeeds("curl --fail http://declarative:3142") + declarative.succeed("deluge-console 'help' | grep -q 'rm - Remove a torrent'") + declarative.succeed( + "deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm - Remove a torrent'" + ) ''; }) diff --git a/nixos/tests/dovecot.nix b/nixos/tests/dovecot.nix index 156079d1d58..c19850f418b 100644 --- a/nixos/tests/dovecot.nix +++ b/nixos/tests/dovecot.nix @@ -1,4 +1,4 @@ -import ./make-test.nix { +import ./make-test-python.nix { name = "dovecot"; machine = { pkgs, ... }: { @@ -66,12 +66,12 @@ import ./make-test.nix { }; testScript = '' - $machine->waitForUnit('postfix.service'); - $machine->waitForUnit('dovecot2.service'); - $machine->succeed('send-testmail'); - $machine->succeed('send-lda'); - $machine->waitUntilFails('[ "$(postqueue -p)" != "Mail queue is empty" ]'); - $machine->succeed('test-imap'); - $machine->succeed('test-pop'); + machine.wait_for_unit("postfix.service") + machine.wait_for_unit("dovecot2.service") + machine.succeed("send-testmail") + machine.succeed("send-lda") + machine.wait_until_fails('[ "$(postqueue -p)" != "Mail queue is empty" ]') + machine.succeed("test-imap") + machine.succeed("test-pop") ''; } diff --git a/nixos/tests/fancontrol.nix b/nixos/tests/fancontrol.nix index 83ddbb54c5b..356cd57ffa1 100644 --- a/nixos/tests/fancontrol.nix +++ b/nixos/tests/fancontrol.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ... } : { +import ./make-test-python.nix ({ pkgs, ... } : { name = "fancontrol"; machine = @@ -19,7 +19,10 @@ import ./make-test.nix ({ pkgs, ... } : { # This configuration cannot be valid for the test VM, so it's expected to get an 'outdated' error. testScript = '' - $machine->waitForUnit("fancontrol.service"); - $machine->waitUntilSucceeds("journalctl -eu fancontrol | grep 'Configuration appears to be outdated'"); + start_all() + machine.wait_for_unit("fancontrol.service") + machine.wait_until_succeeds( + "journalctl -eu fancontrol | grep 'Configuration appears to be outdated'" + ) ''; }) diff --git a/nixos/tests/firewall.nix b/nixos/tests/firewall.nix index fcf758910e0..09a1fef852e 100644 --- a/nixos/tests/firewall.nix +++ b/nixos/tests/firewall.nix @@ -1,6 +1,6 @@ # Test the firewall module. -import ./make-test.nix ( { pkgs, ... } : { +import ./make-test-python.nix ( { pkgs, ... } : { name = "firewall"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ eelco ]; @@ -36,30 +36,30 @@ import ./make-test.nix ( { pkgs, ... } : { testScript = { nodes, ... }: let newSystem = nodes.walled2.config.system.build.toplevel; in '' - $walled->start; - $attacker->start; + start_all() - $walled->waitForUnit("firewall"); - $walled->waitForUnit("httpd"); - $attacker->waitForUnit("network.target"); + walled.wait_for_unit("firewall") + walled.wait_for_unit("httpd") + attacker.wait_for_unit("network.target") # Local connections should still work. - $walled->succeed("curl -v http://localhost/ >&2"); + walled.succeed("curl -v http://localhost/ >&2") # Connections to the firewalled machine should fail, but ping should succeed. - $attacker->fail("curl --fail --connect-timeout 2 http://walled/ >&2"); - $attacker->succeed("ping -c 1 walled >&2"); + attacker.fail("curl --fail --connect-timeout 2 http://walled/ >&2") + attacker.succeed("ping -c 1 walled >&2") # Outgoing connections/pings should still work. - $walled->succeed("curl -v http://attacker/ >&2"); - $walled->succeed("ping -c 1 attacker >&2"); + walled.succeed("curl -v http://attacker/ >&2") + walled.succeed("ping -c 1 attacker >&2") # If we stop the firewall, then connections should succeed. - $walled->stopJob("firewall"); - $attacker->succeed("curl -v http://walled/ >&2"); + walled.stop_job("firewall") + attacker.succeed("curl -v http://walled/ >&2") # Check whether activation of a new configuration reloads the firewall. - $walled->succeed("${newSystem}/bin/switch-to-configuration test 2>&1" . - " | grep -qF firewall.service"); + walled.succeed( + "${newSystem}/bin/switch-to-configuration test 2>&1 | grep -qF firewall.service" + ) ''; }) diff --git a/nixos/tests/fish.nix b/nixos/tests/fish.nix index 97c4e8e37ac..68fba428439 100644 --- a/nixos/tests/fish.nix +++ b/nixos/tests/fish.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ... }: { +import ./make-test-python.nix ({ pkgs, ... }: { name = "fish"; machine = @@ -14,8 +14,11 @@ import ./make-test.nix ({ pkgs, ... }: { testScript = '' - $machine->waitForFile("/etc/fish/generated_completions/coreutils.fish"); - $machine->waitForFile("/etc/fish/generated_completions/kill.fish"); - $machine->succeed("fish -ic 'echo \$fish_complete_path' | grep -q '/share/fish/completions /etc/fish/generated_completions /root/.local/share/fish/generated_completions\$'"); + start_all() + machine.wait_for_file("/etc/fish/generated_completions/coreutils.fish") + machine.wait_for_file("/etc/fish/generated_completions/kill.fish") + machine.succeed( + "fish -ic 'echo $fish_complete_path' | grep -q '/share/fish/completions /etc/fish/generated_completions /root/.local/share/fish/generated_completions$'" + ) ''; }) diff --git a/nixos/tests/fluentd.nix b/nixos/tests/fluentd.nix index e5c4c3d2163..918f2f87db1 100644 --- a/nixos/tests/fluentd.nix +++ b/nixos/tests/fluentd.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, lib, ... }: { +import ./make-test-python.nix ({ pkgs, lib, ... }: { name = "fluentd"; machine = { pkgs, ... }: { @@ -33,14 +33,17 @@ import ./make-test.nix ({ pkgs, lib, ... }: { inherit testMessage; }); in '' - $machine->start; - $machine->waitForUnit('fluentd.service'); - $machine->waitForOpenPort(9880); + machine.start() + machine.wait_for_unit("fluentd.service") + machine.wait_for_open_port(9880) - $machine->succeed("curl -fsSL -X POST -H 'Content-type: application/json' -d @${payload} http://localhost:9880/test.tag"); + machine.succeed( + "curl -fsSL -X POST -H 'Content-type: application/json' -d @${payload} http://localhost:9880/test.tag" + ) - $machine->succeed("systemctl stop fluentd"); # blocking flush + # blocking flush + machine.succeed("systemctl stop fluentd") - $machine->succeed("grep '${testMessage}' /tmp/current-log"); + machine.succeed("grep '${testMessage}' /tmp/current-log") ''; }) diff --git a/nixos/tests/gitlab.nix b/nixos/tests/gitlab.nix index be0b3c8746a..7e4e8bcef92 100644 --- a/nixos/tests/gitlab.nix +++ b/nixos/tests/gitlab.nix @@ -3,7 +3,7 @@ let initialRootPassword = "notproduction"; in -import ./make-test.nix ({ pkgs, lib, ...} : with lib; { +import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; { name = "gitlab"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ globin ]; @@ -63,21 +63,35 @@ import ./make-test.nix ({ pkgs, lib, ...} : with lib; { }); in '' - $gitlab->start(); - $gitlab->waitForUnit("gitaly.service"); - $gitlab->waitForUnit("gitlab-workhorse.service"); - $gitlab->waitForUnit("gitlab.service"); - $gitlab->waitForUnit("gitlab-sidekiq.service"); - $gitlab->waitForFile("/var/gitlab/state/tmp/sockets/gitlab.socket"); - $gitlab->waitUntilSucceeds("curl -sSf http://gitlab/users/sign_in"); - $gitlab->succeed("curl -isSf http://gitlab | grep -i location | grep -q http://gitlab/users/sign_in"); - $gitlab->succeed("${pkgs.sudo}/bin/sudo -u gitlab -H gitlab-rake gitlab:check 1>&2"); - $gitlab->succeed("echo \"Authorization: Bearer \$(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers"); - $gitlab->succeed("curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createProject} http://gitlab/api/v4/projects"); - $gitlab->succeed("curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${putFile} http://gitlab/api/v4/projects/1/repository/files/some-file.txt"); - $gitlab->succeed("curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.gz > /tmp/archive.tar.gz"); - $gitlab->succeed("curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.bz2 > /tmp/archive.tar.bz2"); - $gitlab->succeed("test -s /tmp/archive.tar.gz"); - $gitlab->succeed("test -s /tmp/archive.tar.bz2"); + gitlab.start() + gitlab.wait_for_unit("gitaly.service") + gitlab.wait_for_unit("gitlab-workhorse.service") + gitlab.wait_for_unit("gitlab.service") + gitlab.wait_for_unit("gitlab-sidekiq.service") + gitlab.wait_for_file("/var/gitlab/state/tmp/sockets/gitlab.socket") + gitlab.wait_until_succeeds("curl -sSf http://gitlab/users/sign_in") + gitlab.succeed( + "curl -isSf http://gitlab | grep -i location | grep -q http://gitlab/users/sign_in" + ) + gitlab.succeed( + "${pkgs.sudo}/bin/sudo -u gitlab -H gitlab-rake gitlab:check 1>&2" + ) + gitlab.succeed( + "echo \"Authorization: Bearer \$(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers" + ) + gitlab.succeed( + "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createProject} http://gitlab/api/v4/projects" + ) + gitlab.succeed( + "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${putFile} http://gitlab/api/v4/projects/1/repository/files/some-file.txt" + ) + gitlab.succeed( + "curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.gz > /tmp/archive.tar.gz" + ) + gitlab.succeed( + "curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.bz2 > /tmp/archive.tar.bz2" + ) + gitlab.succeed("test -s /tmp/archive.tar.gz") + gitlab.succeed("test -s /tmp/archive.tar.bz2") ''; }) diff --git a/nixos/tests/glusterfs.nix b/nixos/tests/glusterfs.nix index 9fd8bd2ed12..8f9cb8973d5 100644 --- a/nixos/tests/glusterfs.nix +++ b/nixos/tests/glusterfs.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ ... } : +import ./make-test-python.nix ({pkgs, lib, ...}: let client = { pkgs, ... } : { @@ -39,27 +39,29 @@ in { }; testScript = '' - $server1->waitForUnit("glusterd.service"); - $server2->waitForUnit("glusterd.service"); + server1.wait_for_unit("glusterd.service") + server2.wait_for_unit("glusterd.service") + + server1.wait_until_succeeds("gluster peer status") + server2.wait_until_succeeds("gluster peer status") # establish initial contact - $server1->succeed("sleep 2"); - $server1->succeed("gluster peer probe server2"); - $server1->succeed("gluster peer probe server1"); + server1.succeed("gluster peer probe server2") + server1.succeed("gluster peer probe server1") - $server1->succeed("gluster peer status | grep Connected"); + server1.succeed("gluster peer status | grep Connected") # create volumes - $server1->succeed("mkdir -p /data/vg0"); - $server2->succeed("mkdir -p /data/vg0"); - $server1->succeed("gluster volume create gv0 server1:/data/vg0 server2:/data/vg0"); - $server1->succeed("gluster volume start gv0"); + server1.succeed("mkdir -p /data/vg0") + server2.succeed("mkdir -p /data/vg0") + server1.succeed("gluster volume create gv0 server1:/data/vg0 server2:/data/vg0") + server1.succeed("gluster volume start gv0") # test clients - $client1->waitForUnit("gluster.mount"); - $client2->waitForUnit("gluster.mount"); + client1.wait_for_unit("gluster.mount") + client2.wait_for_unit("gluster.mount") - $client1->succeed("echo test > /gluster/file1"); - $client2->succeed("grep test /gluster/file1"); + client1.succeed("echo test > /gluster/file1") + client2.succeed("grep test /gluster/file1") ''; }) diff --git a/nixos/tests/handbrake.nix b/nixos/tests/handbrake.nix index ae87e1f69a7..e5fb6b269b1 100644 --- a/nixos/tests/handbrake.nix +++ b/nixos/tests/handbrake.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ... }: +import ./make-test-python.nix ({ pkgs, ... }: let # Download Big Buck Bunny example, licensed under CC Attribution 3.0. testMkv = pkgs.fetchurl { @@ -19,7 +19,13 @@ in { testScript = '' # Test MP4 and MKV transcoding. Since this is a short clip, transcoding typically # only takes a few seconds. - $machine->succeed("HandBrakeCLI -i ${testMkv} -o test.mp4 -e x264 -q 20 -B 160"); - $machine->succeed("HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160"); + start_all() + + machine.succeed( + "HandBrakeCLI -i ${testMkv} -o test.mp4 -e x264 -q 20 -B 160" + ) + machine.succeed( + "HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160" + ) ''; }) diff --git a/nixos/tests/hibernate.nix b/nixos/tests/hibernate.nix index 274aa7becc8..8251c6e7ef8 100644 --- a/nixos/tests/hibernate.nix +++ b/nixos/tests/hibernate.nix @@ -1,6 +1,6 @@ # Test whether hibernation from partition works. -import ./make-test.nix (pkgs: { +import ./make-test-python.nix (pkgs: { name = "hibernate"; nodes = { @@ -28,16 +28,17 @@ import ./make-test.nix (pkgs: { testScript = '' - $machine->waitForUnit("multi-user.target"); - $machine->succeed("mkswap /dev/vdb"); - $machine->succeed("swapon -a"); - $machine->startJob("listener"); - $machine->waitForOpenPort(4444); - $machine->succeed("systemctl hibernate &"); - $machine->waitForShutdown; - $probe->waitForUnit("multi-user.target"); - $machine->start; - $probe->waitUntilSucceeds("echo test | nc machine 4444 -N"); + machine.start() + machine.wait_for_unit("multi-user.target") + machine.succeed("mkswap /dev/vdb") + machine.succeed("swapon -a") + machine.start_job("listener") + machine.wait_for_open_port(4444) + machine.succeed("systemctl hibernate &") + machine.wait_for_shutdown() + probe.wait_for_unit("multi-user.target") + machine.start() + probe.wait_until_succeeds("echo test | nc machine 4444 -N") ''; }) diff --git a/nixos/tests/hound.nix b/nixos/tests/hound.nix index cb8e25332c0..27c65abdf27 100644 --- a/nixos/tests/hound.nix +++ b/nixos/tests/hound.nix @@ -1,5 +1,5 @@ # Test whether `houndd` indexes nixpkgs -import ./make-test.nix ({ pkgs, ... } : { +import ./make-test-python.nix ({ pkgs, ... } : { name = "hound"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ grahamc ]; @@ -46,13 +46,14 @@ import ./make-test.nix ({ pkgs, ... } : { }; }; - testScript = - '' startAll; + testScript = '' + start_all() - $machine->waitForUnit("network.target"); - $machine->waitForUnit("hound.service"); - $machine->waitForOpenPort(6080); - $machine->waitUntilSucceeds('curl http://127.0.0.1:6080/api/v1/search\?stats\=fosho\&repos\=\*\&rng=%3A20\&q\=hi\&files\=\&i=nope | grep "Filename" | grep "hello"'); - - ''; + machine.wait_for_unit("network.target") + machine.wait_for_unit("hound.service") + machine.wait_for_open_port(6080) + machine.wait_until_succeeds( + "curl http://127.0.0.1:6080/api/v1/search\?stats\=fosho\&repos\=\*\&rng=%3A20\&q\=hi\&files\=\&i=nope | grep 'Filename' | grep 'hello'" + ) + ''; }) diff --git a/nixos/tests/icingaweb2.nix b/nixos/tests/icingaweb2.nix index ea1b94c526b..2f65604539c 100644 --- a/nixos/tests/icingaweb2.nix +++ b/nixos/tests/icingaweb2.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ... }: { +import ./make-test-python.nix ({ pkgs, ... }: { name = "icingaweb2"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ das_j ]; @@ -64,8 +64,8 @@ import ./make-test.nix ({ pkgs, ... }: { }; testScript = '' - startAll(); - $icingaweb2->waitForUnit("multi-user.target"); - $icingaweb2->succeed("curl -sSf http://icingaweb2/authentication/login"); + start_all() + icingaweb2.wait_for_unit("multi-user.target") + icingaweb2.succeed("curl -sSf http://icingaweb2/authentication/login") ''; }) diff --git a/nixos/tests/incron.nix b/nixos/tests/incron.nix index e39bbb5f096..b22ee4c9a03 100644 --- a/nixos/tests/incron.nix +++ b/nixos/tests/incron.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ({ pkgs, lib, ... }: { name = "incron"; @@ -19,34 +19,34 @@ import ./make-test.nix ({ pkgs, lib, ... }: }; testScript = '' - startAll; + start_all() - $machine->waitForUnit("multi-user.target"); - $machine->waitForUnit("incron.service"); + machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("incron.service") - $machine->succeed("test -d /test"); + machine.succeed("test -d /test") # create some activity for incron to monitor - $machine->succeed("touch /test/file"); - $machine->succeed("echo foo >> /test/file"); - $machine->succeed("mv /test/file /root"); - $machine->succeed("mv /root/file /test"); + machine.succeed("touch /test/file") + machine.succeed("echo foo >> /test/file") + machine.succeed("mv /test/file /root") + machine.succeed("mv /root/file /test") - $machine->sleep(1); + machine.sleep(1) # touch /test/file - $machine->succeed("grep '/test/file IN_CREATE' /root/incron.log"); + machine.succeed("grep '/test/file IN_CREATE' /root/incron.log") # echo foo >> /test/file - $machine->succeed("grep '/test/file IN_MODIFY' /root/incron.log"); - $machine->succeed("grep '/test/file IN_CLOSE_WRITE' /root/incron.log"); + machine.succeed("grep '/test/file IN_MODIFY' /root/incron.log") + machine.succeed("grep '/test/file IN_CLOSE_WRITE' /root/incron.log") # mv /test/file /root - $machine->succeed("grep '/test/file IN_MOVED_FROM' /root/incron.log"); + machine.succeed("grep '/test/file IN_MOVED_FROM' /root/incron.log") # mv /root/file /test - $machine->succeed("grep '/test/file IN_MOVED_TO' /root/incron.log"); + machine.succeed("grep '/test/file IN_MOVED_TO' /root/incron.log") # ensure something unexpected is not present - $machine->fail("grep 'IN_OPEN' /root/incron.log"); + machine.fail("grep 'IN_OPEN' /root/incron.log") ''; }) diff --git a/nixos/tests/jackett.nix b/nixos/tests/jackett.nix index c749c32ad04..0a706c99b99 100644 --- a/nixos/tests/jackett.nix +++ b/nixos/tests/jackett.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ lib, ... }: +import ./make-test-python.nix ({ lib, ... }: with lib; @@ -11,8 +11,9 @@ with lib; { services.jackett.enable = true; }; testScript = '' - $machine->waitForUnit('jackett.service'); - $machine->waitForOpenPort('9117'); - $machine->succeed("curl --fail http://localhost:9117/"); + machine.start() + machine.wait_for_unit("jackett.service") + machine.wait_for_open_port(9117) + machine.succeed("curl --fail http://localhost:9117/") ''; }) diff --git a/nixos/tests/kerberos/heimdal.nix b/nixos/tests/kerberos/heimdal.nix index a0551b131e9..8abae667d04 100644 --- a/nixos/tests/kerberos/heimdal.nix +++ b/nixos/tests/kerberos/heimdal.nix @@ -1,4 +1,4 @@ -import ../make-test.nix ({pkgs, ...}: { +import ../make-test-python.nix ({pkgs, ...}: { name = "kerberos_server-heimdal"; machine = { config, libs, pkgs, ...}: { services.kerberos_server = @@ -23,31 +23,20 @@ import ../make-test.nix ({pkgs, ...}: { }; testScript = '' - $machine->start; + machine.succeed( + "kadmin -l init --realm-max-ticket-life='8 day' --realm-max-renewable-life='10 day' FOO.BAR", + "systemctl restart kadmind.service kdc.service", + ) - $machine->succeed( - "kadmin -l init --realm-max-ticket-life='8 day' \\ - --realm-max-renewable-life='10 day' FOO.BAR" - ); + for unit in ["kadmind", "kdc", "kpasswdd"]: + machine.wait_for_unit(f"{unit}.service") - $machine->succeed("systemctl restart kadmind.service kdc.service"); - $machine->waitForUnit("kadmind.service"); - $machine->waitForUnit("kdc.service"); - $machine->waitForUnit("kpasswdd.service"); - - $machine->succeed( - "kadmin -l add --password=admin_pw --use-defaults admin" - ); - $machine->succeed( - "kadmin -l ext_keytab --keytab=admin.keytab admin" - ); - $machine->succeed( - "kadmin -p admin -K admin.keytab add --password=alice_pw --use-defaults \\ - alice" - ); - $machine->succeed( - "kadmin -l ext_keytab --keytab=alice.keytab alice" - ); - $machine->succeed("kinit -kt alice.keytab alice"); + machine.succeed( + "kadmin -l add --password=admin_pw --use-defaults admin", + "kadmin -l ext_keytab --keytab=admin.keytab admin", + "kadmin -p admin -K admin.keytab add --password=alice_pw --use-defaults alice", + "kadmin -l ext_keytab --keytab=alice.keytab alice", + "kinit -kt alice.keytab alice", + ) ''; }) diff --git a/nixos/tests/kerberos/mit.nix b/nixos/tests/kerberos/mit.nix index 6da3a384aa9..93b4020d499 100644 --- a/nixos/tests/kerberos/mit.nix +++ b/nixos/tests/kerberos/mit.nix @@ -1,4 +1,4 @@ -import ../make-test.nix ({pkgs, ...}: { +import ../make-test-python.nix ({pkgs, ...}: { name = "kerberos_server-mit"; machine = { config, libs, pkgs, ...}: { services.kerberos_server = @@ -24,22 +24,18 @@ import ../make-test.nix ({pkgs, ...}: { }; testScript = '' - $machine->start; + machine.succeed( + "kdb5_util create -s -r FOO.BAR -P master_key", + "systemctl restart kadmind.service kdc.service", + ) - $machine->succeed( - "kdb5_util create -s -r FOO.BAR -P master_key" - ); + for unit in ["kadmind", "kdc"]: + machine.wait_for_unit(f"{unit}.service") - $machine->succeed("systemctl restart kadmind.service kdc.service"); - $machine->waitForUnit("kadmind.service"); - $machine->waitForUnit("kdc.service"); - - $machine->succeed( - "kadmin.local add_principal -pw admin_pw admin" - ); - $machine->succeed( - "kadmin -p admin -w admin_pw addprinc -pw alice_pw alice" - ); - $machine->succeed("echo alice_pw | sudo -u alice kinit"); + machine.succeed( + "kadmin.local add_principal -pw admin_pw admin", + "kadmin -p admin -w admin_pw addprinc -pw alice_pw alice", + "echo alice_pw | sudo -u alice kinit", + ) ''; }) diff --git a/nixos/tests/minidlna.nix b/nixos/tests/minidlna.nix index 7bf1bed69d0..d852c7f60bc 100644 --- a/nixos/tests/minidlna.nix +++ b/nixos/tests/minidlna.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ... }: { +import ./make-test-python.nix ({ pkgs, ... }: { name = "minidlna"; nodes = { @@ -29,11 +29,11 @@ import ./make-test.nix ({ pkgs, ... }: { testScript = '' - startAll; - $server->succeed("mkdir -p /tmp/stuff && chown minidlna: /tmp/stuff"); - $server->waitForUnit("minidlna"); - $server->waitForOpenPort("8200"); - $server->succeed("curl --fail http://localhost:8200/"); - $client->succeed("curl --fail http://server:8200/"); + start_all() + server.succeed("mkdir -p /tmp/stuff && chown minidlna: /tmp/stuff") + server.wait_for_unit("minidlna") + server.wait_for_open_port("8200") + server.succeed("curl --fail http://localhost:8200/") + client.succeed("curl --fail http://server:8200/") ''; }) diff --git a/nixos/tests/miniflux.nix b/nixos/tests/miniflux.nix index 19ab4803a1d..7d83d061a9d 100644 --- a/nixos/tests/miniflux.nix +++ b/nixos/tests/miniflux.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ({ pkgs, lib, ... }: let port = 3142; @@ -37,16 +37,20 @@ with lib; }; }; testScript = '' - startAll; + start_all() - $default->waitForUnit('miniflux.service'); - $default->waitForOpenPort(${toString defaultPort}); - $default->succeed("curl --fail 'http://localhost:${toString defaultPort}/healthcheck' | grep -q OK"); - $default->succeed("curl 'http://localhost:${toString defaultPort}/v1/me' -u '${defaultUsername}:${defaultPassword}' -H Content-Type:application/json | grep -q '\"is_admin\":true'"); + default.wait_for_unit("miniflux.service") + default.wait_for_open_port(${toString defaultPort}) + default.succeed("curl --fail 'http://localhost:${toString defaultPort}/healthcheck' | grep -q OK") + default.succeed( + "curl 'http://localhost:${toString defaultPort}/v1/me' -u '${defaultUsername}:${defaultPassword}' -H Content-Type:application/json | grep -q '\"is_admin\":true'" + ) - $customized->waitForUnit('miniflux.service'); - $customized->waitForOpenPort(${toString port}); - $customized->succeed("curl --fail 'http://localhost:${toString port}/healthcheck' | grep -q OK"); - $customized->succeed("curl 'http://localhost:${toString port}/v1/me' -u '${username}:${password}' -H Content-Type:application/json | grep -q '\"is_admin\":true'"); + customized.wait_for_unit("miniflux.service") + customized.wait_for_open_port(${toString port}) + customized.succeed("curl --fail 'http://localhost:${toString port}/healthcheck' | grep -q OK") + customized.succeed( + "curl 'http://localhost:${toString port}/v1/me' -u '${username}:${password}' -H Content-Type:application/json | grep -q '\"is_admin\":true'" + ) ''; }) diff --git a/nixos/tests/mongodb.nix b/nixos/tests/mongodb.nix index 0ccbeb062f9..9ebf84eed23 100644 --- a/nixos/tests/mongodb.nix +++ b/nixos/tests/mongodb.nix @@ -1,6 +1,6 @@ # This test start mongodb, runs a query using mongo shell -import ./make-test.nix ({ pkgs, ...} : let +import ./make-test-python.nix ({ pkgs, ...} : let testQuery = pkgs.writeScript "nixtest.js" '' db.greetings.insert({ "greeting": "hello" }); print(db.greetings.findOne().greeting); @@ -33,8 +33,10 @@ in { }; testScript = '' - startAll; - $one->waitForUnit("mongodb.service"); - $one->succeed("mongo -u nixtest -p nixtest nixtest ${testQuery}") =~ /hello/ or die; + start_all() + one.wait_for_unit("mongodb.service") + one.succeed( + "mongo -u nixtest -p nixtest nixtest ${testQuery} | grep -q hello" + ) ''; }) diff --git a/nixos/tests/mosquitto.nix b/nixos/tests/mosquitto.nix index b4c897c3ab5..1f2fdf4237f 100644 --- a/nixos/tests/mosquitto.nix +++ b/nixos/tests/mosquitto.nix @@ -1,21 +1,10 @@ -import ./make-test.nix ({ pkgs, ... }: +import ./make-test-python.nix ({ pkgs, ... }: let port = 1888; username = "mqtt"; password = "VERY_secret"; topic = "test/foo"; - - cmd = bin: pkgs.lib.concatStringsSep " " [ - "${pkgs.mosquitto}/bin/mosquitto_${bin}" - "-V mqttv311" - "-h server" - "-p ${toString port}" - "-u ${username}" - "-P '${password}'" - "-t ${topic}" - ]; - in { name = "mosquitto"; meta = with pkgs.stdenv.lib; { @@ -49,40 +38,53 @@ in { testScript = let file = "/tmp/msg"; - sub = args: - "(${cmd "sub"} -C 1 ${args} | tee ${file} &)"; in '' - startAll; - $server->waitForUnit("mosquitto.service"); + def mosquitto_cmd(binary): + return ( + "${pkgs.mosquitto}/bin/mosquitto_{} " + "-V mqttv311 " + "-h server " + "-p ${toString port} " + "-u ${username} " + "-P '${password}' " + "-t ${topic}" + ).format(binary) - $server->fail("test -f ${file}"); - $client1->fail("test -f ${file}"); - $client2->fail("test -f ${file}"); + def publish(args): + return "{} {}".format(mosquitto_cmd("pub"), args) + + + def subscribe(args): + return "({} -C 1 {} | tee ${file} &)".format(mosquitto_cmd("sub"), args) + + + start_all() + server.wait_for_unit("mosquitto.service") + + for machine in server, client1, client2: + machine.fail("test -f ${file}") # QoS = 0, so only one subscribers should get it - $server->execute("${sub "-q 0"}"); + server.execute(subscribe("-q 0")) # we need to give the subscribers some time to connect - $client2->execute("sleep 5"); - $client2->succeed("${cmd "pub"} -m FOO -q 0"); - - $server->waitUntilSucceeds("grep -q FOO ${file}"); - $server->execute("rm ${file}"); + client2.execute("sleep 5") + client2.succeed(publish("-m FOO -q 0")) + server.wait_until_succeeds("grep -q FOO ${file}") + server.execute("rm ${file}") # QoS = 1, so both subscribers should get it - $server->execute("${sub "-q 1"}"); - $client1->execute("${sub "-q 1"}"); + server.execute(subscribe("-q 1")) + client1.execute(subscribe("-q 1")) # we need to give the subscribers some time to connect - $client2->execute("sleep 5"); - $client2->succeed("${cmd "pub"} -m BAR -q 1"); + client2.execute("sleep 5") + client2.succeed(publish("-m BAR -q 1")) - $server->waitUntilSucceeds("grep -q BAR ${file}"); - $server->execute("rm ${file}"); - - $client1->waitUntilSucceeds("grep -q BAR ${file}"); - $client1->execute("rm ${file}"); + for machine in server, client1: + machine.wait_until_succeeds("grep -q BAR ${file}") + machine.execute("rm ${file}") ''; }) diff --git a/nixos/tests/mpd.nix b/nixos/tests/mpd.nix index a992576808d..895b7e2014c 100644 --- a/nixos/tests/mpd.nix +++ b/nixos/tests/mpd.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ({ pkgs, lib, ... }: let track = pkgs.fetchurl { # Sourced from http://freemusicarchive.org/music/Blue_Wave_Theory/Surf_Music_Month_Challenge/Skyhawk_Beach_fade_in @@ -94,40 +94,39 @@ import ./make-test.nix ({ pkgs, lib, ... }: }; testScript = '' - my $mpc = "${pkgs.mpc_cli}/bin/mpc --wait"; + mpc = "${pkgs.mpc_cli}/bin/mpc --wait" # Connects to the given server and attempts to play a tune. - sub play_some_music { - my $server = $_[0]; + def play_some_music(server): + server.wait_for_unit("mpd.service") + server.succeed(f"{mpc} update") + _, tracks = server.execute(f"{mpc} ls") - $server->waitForUnit("mpd.service"); - $server->succeed("$mpc update"); - my @tracks = $server->execute("$mpc ls"); + for track in tracks.splitlines(): + server.succeed(f"{mpc} add {track}") - for my $track (split(/\n/, $tracks[1])) { - $server->succeed("$mpc add $track"); - }; + _, added_tracks = server.execute(f"{mpc} listall") - my @added_tracks = $server->execute("$mpc listall"); - (length $added_tracks[1]) > 0 or die "Failed to add audio tracks to the playlist."; + # Check we succeeded adding audio tracks to the playlist + assert len(added_tracks.splitlines()) > 0 - $server->succeed("$mpc play"); + server.succeed(f"{mpc} play") - my @status = $server->execute("$mpc status"); - my @output = split(/\n/, $status[1]); - $output[1] =~ /.*playing.*/ or die "Audio track is not playing, as expected."; + _, output = server.execute(f"{mpc} status") + # Assure audio track is playing + assert "playing" in output - $server->succeed("$mpc stop"); - }; + server.succeed(f"{mpc} stop") - play_some_music($serverALSA); - play_some_music($serverPulseAudio); - $client->waitForUnit("multi-user.target"); - $client->succeed("$mpc -h serverALSA status"); + play_some_music(serverALSA) + play_some_music(serverPulseAudio) + + client.wait_for_unit("multi-user.target") + client.succeed(f"{mpc} -h serverALSA status") # The PulseAudio-based server is configured not to accept external client connections # to perform the following test: - $client->fail("$mpc -h serverPulseAudio status"); + client.fail(f"{mpc} -h serverPulseAudio status") ''; }) diff --git a/nixos/tests/neo4j.nix b/nixos/tests/neo4j.nix index 86ed8970517..32ee7f501b8 100644 --- a/nixos/tests/neo4j.nix +++ b/nixos/tests/neo4j.nix @@ -1,4 +1,4 @@ -import ./make-test.nix { +import ./make-test-python.nix { name = "neo4j"; nodes = { @@ -11,10 +11,10 @@ import ./make-test.nix { }; testScript = '' - startAll; + start_all() - $master->waitForUnit("neo4j"); - $master->sleep(20); # Hopefully this is long enough!! - $master->succeed("curl http://localhost:7474/"); + master.wait_for_unit("neo4j") + master.wait_for_open_port(7474) + master.succeed("curl http://localhost:7474/") ''; } diff --git a/nixos/tests/roundcube.nix b/nixos/tests/roundcube.nix index 4dccb411ff4..1897b53e283 100644 --- a/nixos/tests/roundcube.nix +++ b/nixos/tests/roundcube.nix @@ -21,11 +21,10 @@ import ./make-test-python.nix ({ pkgs, ...} : { }; testScript = '' - $roundcube->start; - $roundcube->waitForUnit("postgresql.service"); - $roundcube->waitForUnit("roundcube-setup.service"); - $roundcube->waitForUnit("phpfpm-roundcube.service"); - $roundcube->waitForUnit("nginx.service"); - $roundcube->succeed("curl -sSfL http://roundcube/ | grep 'Keep me logged in'"); + roundcube.start + roundcube.wait_for_unit("postgresql.service") + roundcube.wait_for_unit("phpfpm-roundcube.service") + roundcube.wait_for_unit("nginx.service") + roundcube.succeed("curl -sSfL http://roundcube/ | grep 'Keep me logged in'") ''; }) diff --git a/nixos/tests/rxe.nix b/nixos/tests/rxe.nix index d0b53db8eeb..194a2e3d2b9 100644 --- a/nixos/tests/rxe.nix +++ b/nixos/tests/rxe.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ ... } : +import ./make-test-python.nix ({ ... } : let node = { pkgs, ... } : { @@ -26,27 +26,21 @@ in { testScript = '' # Test if rxe interface comes up - $server->waitForUnit("default.target"); - $server->succeed("systemctl status rxe.service"); - $server->succeed("ibv_devices | grep rxe0"); + server.wait_for_unit("default.target") + server.succeed("systemctl status rxe.service") + server.succeed("ibv_devices | grep rxe0") - $client->waitForUnit("default.target"); + client.wait_for_unit("default.target") - # ping pong test - $server->succeed("screen -dmS rc_pingpong ibv_rc_pingpong -p 4800 -g0"); - $client->succeed("sleep 2; ibv_rc_pingpong -p 4800 -g0 server"); + # ping pong tests + for proto in "rc", "uc", "ud", "srq": + server.succeed( + "screen -dmS {0}_pingpong ibv_{0}_pingpong -p 4800 -s 1024 -g0".format(proto) + ) + client.succeed("sleep 2; ibv_{}_pingpong -p 4800 -s 1024 -g0 server".format(proto)) - $server->succeed("screen -dmS uc_pingpong ibv_uc_pingpong -p 4800 -g0"); - $client->succeed("sleep 2; ibv_uc_pingpong -p 4800 -g0 server"); - - $server->succeed("screen -dmS ud_pingpong ibv_ud_pingpong -p 4800 -s 1024 -g0"); - $client->succeed("sleep 2; ibv_ud_pingpong -p 4800 -s 1024 -g0 server"); - - $server->succeed("screen -dmS srq_pingpong ibv_srq_pingpong -p 4800 -g0"); - $client->succeed("sleep 2; ibv_srq_pingpong -p 4800 -g0 server"); - - $server->succeed("screen -dmS rping rping -s -a server -C 10"); - $client->succeed("sleep 2; rping -c -a server -C 10"); + server.succeed("screen -dmS rping rping -s -a server -C 10") + client.succeed("sleep 2; rping -c -a server -C 10") ''; }) diff --git a/nixos/tests/systemd-networkd-wireguard.nix b/nixos/tests/systemd-networkd-wireguard.nix index aa0ac54e796..b83e9c7ce19 100644 --- a/nixos/tests/systemd-networkd-wireguard.nix +++ b/nixos/tests/systemd-networkd-wireguard.nix @@ -45,7 +45,7 @@ let generateNodeConf = { lib, pkgs, config, privkpath, pubk, peerId, nodeId, ... }; }; }; -in import ./make-test.nix ({pkgs, ... }: { +in import ./make-test-python.nix ({pkgs, ... }: { name = "networkd-wireguard"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ ninjatrappeur ]; @@ -70,12 +70,12 @@ in import ./make-test.nix ({pkgs, ... }: { in generateNodeConf (attrs // localConf); }; testScript = '' - startAll; - $node1->waitForUnit('systemd-networkd-wait-online.service'); - $node2->waitForUnit('systemd-networkd-wait-online.service'); - $node1->succeed('ping -c 5 10.0.0.2'); - $node2->succeed('ping -c 5 10.0.0.1'); + start_all() + node1.wait_for_unit("systemd-networkd-wait-online.service") + node2.wait_for_unit("systemd-networkd-wait-online.service") + node1.succeed("ping -c 5 10.0.0.2") + node2.succeed("ping -c 5 10.0.0.1") # Is the fwmark set? - $node2->succeed('wg | grep -q 42'); + node2.succeed("wg | grep -q 42") ''; }) diff --git a/nixos/tests/yggdrasil.nix b/nixos/tests/yggdrasil.nix index 0ef42a0180c..468fcf67127 100644 --- a/nixos/tests/yggdrasil.nix +++ b/nixos/tests/yggdrasil.nix @@ -19,7 +19,7 @@ let SigningPrivateKey = "2a6c21550f3fca0331df50668ffab66b6dce8237bcd5728e571e8033b363e247de111da0ec781e45bf6c63ecb45a78c24d7d4655abfaeea83b26c36eb5c0fd5b"; }; -in import ./make-test.nix ({ pkgs, ...} : { +in import ./make-test-python.nix ({ pkgs, ...} : { name = "yggdrasil"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ gazally ]; @@ -91,33 +91,35 @@ in import ./make-test.nix ({ pkgs, ...} : { testScript = '' + import re + # Give Alice a head start so she is ready when Bob calls. - $alice->start; - $alice->waitForUnit("yggdrasil.service"); + alice.start() + alice.wait_for_unit("yggdrasil.service") - $bob->start; - $carol->start; - $bob->waitForUnit("yggdrasil.service"); - $carol->waitForUnit("yggdrasil.service"); + bob.start() + carol.start() + bob.wait_for_unit("yggdrasil.service") + carol.wait_for_unit("yggdrasil.service") - $carol->waitUntilSucceeds("[ `ip -o -6 addr show dev ygg0 scope global | grep -v tentative | wc -l` -ge 1 ]"); - my $carolIp6 = (split /[ \/]+/, $carol->succeed("ip -o -6 addr show dev ygg0 scope global"))[3]; + ip_addr_show = "ip -o -6 addr show dev ygg0 scope global" + carol.wait_until_succeeds(f"[ `{ip_addr_show} | grep -v tentative | wc -l` -ge 1 ]") + carol_ip6 = re.split(" +|/", carol.succeed(ip_addr_show))[3] # If Alice can talk to Carol, then Bob's outbound peering and Carol's # local peering have succeeded and everybody is connected. - $alice->waitUntilSucceeds("ping -c 1 $carolIp6"); - $alice->succeed("ping -c 1 ${bobIp6}"); + alice.wait_until_succeeds(f"ping -c 1 {carol_ip6}") + alice.succeed(f"ping -c 1 ${bobIp6}") - $bob->succeed("ping -c 1 ${aliceIp6}"); - $bob->succeed("ping -c 1 $carolIp6"); + bob.succeed("ping -c 1 ${aliceIp6}") + bob.succeed(f"ping -c 1 {carol_ip6}") - $carol->succeed("ping -c 1 ${aliceIp6}"); - $carol->succeed("ping -c 1 ${bobIp6}"); + carol.succeed("ping -c 1 ${aliceIp6}") + carol.succeed("ping -c 1 ${bobIp6}") - $carol->fail("journalctl -u dhcpcd | grep ygg0"); - - $alice->waitForUnit("httpd.service"); - $carol->succeed("curl --fail -g http://[${aliceIp6}]"); + carol.fail("journalctl -u dhcpcd | grep ygg0") + alice.wait_for_unit("httpd.service") + carol.succeed("curl --fail -g http://[${aliceIp6}]") ''; }) diff --git a/pkgs/applications/audio/gnome-podcasts/default.nix b/pkgs/applications/audio/gnome-podcasts/default.nix index eeafdc80344..7a44ebe6769 100644 --- a/pkgs/applications/audio/gnome-podcasts/default.nix +++ b/pkgs/applications/audio/gnome-podcasts/default.nix @@ -1,45 +1,74 @@ -{ stdenv, fetchurl, fetchpatch, meson, ninja, gettext, cargo, rustc, python3, pkgconfig, gnome3 -, glib, libhandy, gtk3, dbus, openssl, sqlite, gst_all_1, wrapGAppsHook }: +{ stdenv +, rustPlatform +, fetchFromGitLab +, fetchpatch +, meson +, ninja +, gettext +, cargo +, rustc +, python3 +, pkgconfig +, gnome3 +, glib +, libhandy +, gtk3 +, dbus +, openssl +, sqlite +, gst_all_1 +, wrapGAppsHook +}: -# TODO: build from git for easier updates -# rustPlatform.buildRustPackage rec { -stdenv.mkDerivation { - version = "0.4.6"; +rustPlatform.buildRustPackage rec { + version = "0.4.7"; pname = "gnome-podcasts"; - src = fetchurl { - url = https://gitlab.gnome.org/World/podcasts/uploads/e59ac5d618d7daf4c7f33ba72957c466/gnome-podcasts-0.4.6.tar.xz; - sha256 = "0g2rk3w251fp5jwbxs5ya1adv8nsgdqjy1vmfg8qqab6qyndhbrc"; + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "World"; + repo = "podcasts"; + rev = version; + sha256 = "0vy5i77bv8c22ldhrnr4z6kx22zqnb1lg3s7y8673bqjgd7dppi0"; }; - patches = [ - # podcasts-data would fail to build because it errors on warnings - (fetchpatch { - url = "https://gitlab.gnome.org/World/podcasts/commit/7dc1b25ee7fc59a188312d31b1fa00c3110ae63e.patch"; - sha256 = "03ibbh1snk1391vnni529agqs14lzg5g0axjgpf3gn8dwwh1yvd5"; - }) - ]; - - # src = fetchFromGitLab { - # domain = "gitlab.gnome.org"; - # owner = "World"; - # repo = "podcasts"; - # rev = version; - # sha256 = "15xj98dhxvys0cnya9488qsfsm0ys1wy69wkc39z8j6hwdm7byq2"; - # }; + cargoSha256 = "1h0n8zclb8a1b1ri83viiwwzlj3anm38m4cp38aqyf6q40qga35q"; nativeBuildInputs = [ - meson ninja pkgconfig gettext cargo rustc python3 wrapGAppsHook - ]; - buildInputs = [ - glib gtk3 libhandy dbus openssl sqlite gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-bad + meson + ninja + pkgconfig + gettext + cargo + rustc + python3 + wrapGAppsHook ]; - # cargoSha256 = "0721b5f700vvvzvmdl8nfjaa6j412q1fjssgrjv8n6rmn9z13d2v"; + buildInputs = [ + glib + gtk3 + libhandy + dbus + openssl + sqlite + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-bad + ]; + + # use Meson/Ninja phases + configurePhase = null; + buildPhase = null; + checkPhase = null; + installPhase = null; + + # tests require network + doCheck = false; postPatch = '' chmod +x scripts/compile-gschema.py # patchShebangs requires executable file - patchShebangs scripts/compile-gschema.py + patchShebangs scripts/compile-gschema.py scripts/cargo.sh scripts/test.sh ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/audio/strawberry/default.nix b/pkgs/applications/audio/strawberry/default.nix index c62eba99845..315bb624e51 100644 --- a/pkgs/applications/audio/strawberry/default.nix +++ b/pkgs/applications/audio/strawberry/default.nix @@ -22,7 +22,7 @@ , libpulseaudio ? null , libselinux ? null , libsepol ? null -, p11_kit ? null +, p11-kit ? null , utillinux ? null , qtbase , qtx11extras @@ -66,7 +66,7 @@ mkDerivation rec { libpulseaudio libselinux libsepol - p11_kit + p11-kit utillinux ] ++ lib.optionals withGstreamer (with gst_all_1; [ diff --git a/pkgs/applications/backup/deja-dup/default.nix b/pkgs/applications/backup/deja-dup/default.nix index 7120a1934f6..d19314ce9ce 100644 --- a/pkgs/applications/backup/deja-dup/default.nix +++ b/pkgs/applications/backup/deja-dup/default.nix @@ -1,20 +1,46 @@ -{ stdenv, fetchFromGitLab, substituteAll, meson, ninja, pkgconfig, vala_0_40, gettext -, gnome3, libnotify, itstool, glib, gtk3, libxml2, gnome-online-accounts -, coreutils, libpeas, libsecret, pcre, libxkbcommon, wrapGAppsHook -, libpthreadstubs, libXdmcp, epoxy, at-spi2-core, dbus, libgpgerror -, appstream-glib, desktop-file-utils, duplicity +{ stdenv +, fetchFromGitLab +, substituteAll +, meson +, ninja +, pkgconfig +, vala +, gettext +, gnome3 +, libnotify +, itstool +, glib +, gtk3 +, libxml2 +, gnome-online-accounts +, coreutils +, libsoup +, libsecret +, pcre +, libxkbcommon +, wrapGAppsHook +, libpthreadstubs +, libXdmcp +, epoxy +, at-spi2-core +, dbus +, libgpgerror +, json-glib +, appstream-glib +, desktop-file-utils +, duplicity }: stdenv.mkDerivation rec { pname = "deja-dup"; - version = "38.3"; + version = "40.4"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; owner = "World"; repo = pname; rev = version; - sha256 = "1bnvmdlm67k1b6115x75j3nl92x5yl4psq5pna2w6cg9npxdd3fa"; + sha256 = "0x9z8z1mh1sxi28ilml3pvbc0g6ghcbyiy002rziwwlarxnbwkky"; }; patches = [ @@ -22,37 +48,55 @@ stdenv.mkDerivation rec { src = ./fix-paths.patch; inherit coreutils; }) + + # Hardcode GSettings path for Nautilus extension to avoid crashes from missing schemas ./hardcode-gsettings.patch ]; postPatch = '' - substituteInPlace deja-dup/nautilus/NautilusExtension.c --subst-var-by DEJA_DUP_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"} + # substitute variable from hardcode-gsettings.patch + substituteInPlace deja-dup/nautilus/NautilusExtension.c --subst-var-by DEJA_DUP_GSETTINGS_PATH "${glib.makeSchemaPath (placeholder "out") "${pname}-${version}"}" ''; nativeBuildInputs = [ - meson ninja pkgconfig vala_0_40 gettext itstool - appstream-glib desktop-file-utils libxml2 wrapGAppsHook + meson + ninja + pkgconfig + vala + gettext + itstool + appstream-glib + desktop-file-utils + libxml2 + wrapGAppsHook ]; buildInputs = [ - libnotify libpeas glib gtk3 libsecret - pcre libxkbcommon libpthreadstubs libXdmcp epoxy gnome3.nautilus - at-spi2-core dbus gnome-online-accounts libgpgerror + libnotify + libsoup + glib + gtk3 + libsecret + pcre + libxkbcommon + libpthreadstubs + libXdmcp + epoxy + gnome3.nautilus + at-spi2-core + dbus + gnome-online-accounts # GOA not used any more, only for transferring legacy keys + libgpgerror + json-glib ]; + # TODO: hard code the path + # https://gitlab.gnome.org/World/deja-dup/merge_requests/32 propagatedUserEnvPkgs = [ duplicity ]; + # install nautilus plug-in to correct path PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "${placeholder "out"}/lib/nautilus/extensions-3.0"; - postInstall = '' - glib-compile-schemas $out/share/glib-2.0/schemas - ''; - - postFixup = '' - # Unwrap accidentally wrapped library - mv $out/libexec/deja-dup/tools/.libduplicity.so-wrapped $out/libexec/deja-dup/tools/libduplicity.so - ''; - meta = with stdenv.lib; { description = "A simple backup tool"; longDescription = '' @@ -60,7 +104,7 @@ stdenv.mkDerivation rec { of backing up the Right Way (encrypted, off-site, and regular) \ and uses duplicity as the backend. ''; - homepage = https://wiki.gnome.org/Apps/DejaDup; + homepage = "https://wiki.gnome.org/Apps/DejaDup"; license = licenses.gpl3Plus; maintainers = with maintainers; [ jtojnar joncojonathan ]; platforms = platforms.linux; diff --git a/pkgs/applications/backup/deja-dup/hardcode-gsettings.patch b/pkgs/applications/backup/deja-dup/hardcode-gsettings.patch index 50bf2ba4fbd..f74dbf73543 100644 --- a/pkgs/applications/backup/deja-dup/hardcode-gsettings.patch +++ b/pkgs/applications/backup/deja-dup/hardcode-gsettings.patch @@ -1,38 +1,16 @@ --- a/deja-dup/nautilus/NautilusExtension.c +++ b/deja-dup/nautilus/NautilusExtension.c -@@ -24,6 +24,8 @@ - #include - - GList *dirs = NULL; -+GSettingsSchemaSource *schema_source = NULL; -+GSettingsSchema *schema = NULL; - GSettings *settings = NULL; - - // This will treat a < b iff a is 'lower' in the file tree than b -@@ -313,7 +315,13 @@ +@@ -313,7 +313,12 @@ bindtextdomain(GETTEXT_PACKAGE, LOCALE_DIR); bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); -- settings = g_settings_new("org.gnome.DejaDup"); -+ schema_source = g_settings_schema_source_new_from_directory ("@DEJA_DUP_GSETTINGS_PATH@", +- settings = g_settings_new(APPLICATION_ID); ++ g_autoptr (GSettingsSchemaSource) schema_source = g_settings_schema_source_new_from_directory ("@DEJA_DUP_GSETTINGS_PATH@", + g_settings_schema_source_get_default (), TRUE, NULL); + -+ schema = g_settings_schema_source_lookup (schema_source, -+ "org.gnome.DejaDup", FALSE); ++ g_autoptr (GSettingsSchema) schema = g_settings_schema_source_lookup (schema_source, APPLICATION_ID, FALSE); + + settings = g_settings_new_full (schema, NULL, NULL); g_signal_connect(settings, "changed::include-list", update_include_excludes, NULL); g_signal_connect(settings, "changed::exclude-list", -@@ -329,7 +337,11 @@ - - void nautilus_module_shutdown(void) - { -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); - g_object_unref(settings); -+ schema_source = NULL; -+ schema = NULL; - settings = NULL; - - update_include_excludes(); /* will clear it now that settings is NULL */ diff --git a/pkgs/applications/blockchains/parity/beta.nix b/pkgs/applications/blockchains/parity/beta.nix index a26a1b7cc77..c9da6f0e7a8 100644 --- a/pkgs/applications/blockchains/parity/beta.nix +++ b/pkgs/applications/blockchains/parity/beta.nix @@ -1,6 +1,6 @@ let - version = "2.6.4"; - sha256 = "11l93w97961zig4gqf345j9l20g0mjp7fayl1mdwdp14hhd5zk5g"; - cargoSha256 = "1q6cbms7j1h726bvq38npxkjkmz14b5ir9c4z7pb0jcy7gkplyxx"; + version = "2.6.5"; + sha256 = "1ykrsphqil68051wwp9b0259gsmfrj9xmx0pfhh2yvmmjzv7k4fv"; + cargoSha256 = "1xqmnirx2r91q5gy1skxl0f79xvaqzimq3l0cj4xvfms7mpdfbg1"; in import ./parity.nix { inherit version sha256 cargoSha256; } diff --git a/pkgs/applications/blockchains/parity/default.nix b/pkgs/applications/blockchains/parity/default.nix index 299bb0639b6..ba3491e084d 100644 --- a/pkgs/applications/blockchains/parity/default.nix +++ b/pkgs/applications/blockchains/parity/default.nix @@ -1,6 +1,6 @@ let - version = "2.5.9"; - sha256 = "06gmfw5l8n5i35dimsmj6dn0fxhbp53zjrdvbkff63r5kfqnwnx2"; - cargoSha256 = "1kdy0bnmyqx4rhpq0a8gliy6mws68n035kfkxrfa6cxr2cn53dyb"; + version = "2.5.10"; + sha256 = "0s8llcb1xdzs2zb6rnbsa9hck7dj4m8mamzkkvr0xjmgvigskf64"; + cargoSha256 = "16nf6y0hyffwdhxn1w4ms4zycs5lkzir8sj6c2lgsabig057hb6z"; in import ./parity.nix { inherit version sha256 cargoSha256; } diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix index 4d221e97099..952aa285637 100644 --- a/pkgs/applications/display-managers/lightdm/default.nix +++ b/pkgs/applications/display-managers/lightdm/default.nix @@ -27,6 +27,7 @@ , qt4 , withQt5 ? false , qtbase +, yelp-tools }: with stdenv.lib; @@ -47,7 +48,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoconf automake - gnome3.yelp-tools + yelp-tools gnome3.yelp-xsl gobject-introspection gtk-doc diff --git a/pkgs/applications/editors/gobby/default.nix b/pkgs/applications/editors/gobby/default.nix index 3abe2834db4..f194227932d 100644 --- a/pkgs/applications/editors/gobby/default.nix +++ b/pkgs/applications/editors/gobby/default.nix @@ -1,5 +1,5 @@ { avahiSupport ? false # build support for Avahi in libinfinity -, stdenv, fetchFromGitHub, autoconf, automake, pkgconfig, wrapGAppsHook +, stdenv, fetchFromGitHub, autoconf, automake, pkgconfig, wrapGAppsHook, yelp-tools , gtkmm3, gsasl, gtksourceview3, libxmlxx, libinfinity, intltool, itstool, gnome3 }: let @@ -13,7 +13,7 @@ in stdenv.mkDerivation { sha256 = "0q7lq64yn16lxvj4jphs8y9194h0xppj8k7y9x8b276krraak2az"; }; - nativeBuildInputs = [ autoconf automake pkgconfig intltool itstool gnome3.yelp-tools wrapGAppsHook ]; + nativeBuildInputs = [ autoconf automake pkgconfig intltool itstool yelp-tools wrapGAppsHook ]; buildInputs = [ gtkmm3 gsasl gtksourceview3 libxmlxx libinf ]; preConfigure = "./autogen.sh"; diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix index 99b04059730..b3e2ed51015 100644 --- a/pkgs/applications/editors/neovim/default.nix +++ b/pkgs/applications/editors/neovim/default.nix @@ -21,13 +21,13 @@ let in stdenv.mkDerivation rec { pname = "neovim-unwrapped"; - version = "0.4.2"; + version = "0.4.3"; src = fetchFromGitHub { owner = "neovim"; repo = "neovim"; rev = "v${version}"; - sha256 = "13w446plvgl219lhj29jyimhiqvs1y1byrz4qpdmxgyddmx9xqss"; + sha256 = "03p7pic7hw9yxxv7fbgls1f42apx3lik2k6mpaz1a109ngyc5kaj"; }; patches = [ diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix index e53deb99b5b..a67a03b3e07 100644 --- a/pkgs/applications/graphics/gimp/default.nix +++ b/pkgs/applications/graphics/gimp/default.nix @@ -52,6 +52,8 @@ in stdenv.mkDerivation rec { pname = "gimp"; version = "2.10.14"; + outputs = [ "out" "dev" ]; + src = fetchurl { url = "http://download.gimp.org/pub/gimp/v${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; sha256 = "0m6wdnfvsxyhimdd4v3351g4r1fklllnbipbwcfym3h7q88hz6yz"; diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix index 29c1445b9ce..fa29c979b05 100644 --- a/pkgs/applications/graphics/gimp/plugins/default.nix +++ b/pkgs/applications/graphics/gimp/plugins/default.nix @@ -68,13 +68,20 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; { Filters/Generic/FFT Forward Filters/Generic/FFT Inverse */ - name = "fourier-0.4.1"; + name = "fourier-0.4.3"; buildInputs = with pkgs; [ fftw ]; - postInstall = "fail"; - installPhase = "installPlugins fourier"; + src = fetchurl { - url = "http://registry.gimp.org/files/${name}.tar.gz"; - sha256 = "1pr3y3zl9w8xs1circdrxpr98myz9m8wfzy022al79z4pdanwvs1"; + url = "https://www.lprp.fr/files/old-web/soft/gimp/${name}.tar.gz"; + sha256 = "0mf7f8vaqs2madx832x3kcxw3hv3w3wampvzvaps1mkf2kvrjbsn"; + }; + + installPhase = "installPlugins fourier"; + + meta = with stdenv.lib; { + description = "GIMP plug-in to do the fourier transform"; + homepage = "https://people.via.ecp.fr/~remi/soft/gimp/gimp_plugin_en.php3#fourier"; + license = with licenses; [ gpl3Plus ]; }; }; diff --git a/pkgs/applications/graphics/glabels/default.nix b/pkgs/applications/graphics/glabels/default.nix index 3bfd51d0370..fef296f45be 100644 --- a/pkgs/applications/graphics/glabels/default.nix +++ b/pkgs/applications/graphics/glabels/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, barcode, gnome3, autoreconfHook , gtk3, gtk-doc, libxml2, librsvg , libtool, libe-book, gsettings-desktop-schemas -, intltool, itstool, makeWrapper, pkgconfig +, intltool, itstool, makeWrapper, pkgconfig, yelp-tools }: stdenv.mkDerivation rec { @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook pkgconfig makeWrapper intltool ]; buildInputs = [ - barcode gtk3 gtk-doc gnome3.yelp-tools + barcode gtk3 gtk-doc yelp-tools gnome3.gnome-common gsettings-desktop-schemas itstool libxml2 librsvg libe-book libtool ]; diff --git a/pkgs/applications/graphics/ideogram/default.nix b/pkgs/applications/graphics/ideogram/default.nix index 61b45ce1603..36afe8dd3e0 100644 --- a/pkgs/applications/graphics/ideogram/default.nix +++ b/pkgs/applications/graphics/ideogram/default.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation rec { pname = "ideogram"; - version = "1.2.2"; + version = "1.3.0"; src = fetchFromGitHub { owner = "cassidyjames"; repo = pname; rev = version; - sha256 = "1qakgg3y4n2vcnykk2004ndvwmjbk2yy0p4j30mlb7p14dxscif6"; + sha256 = "0ghc7hk4b4r3a0x9r30rrgv3rarxyjr2hf9ig244xwvhh5rn3j10"; }; nativeBuildInputs = [ @@ -45,14 +45,6 @@ stdenv.mkDerivation rec { xorg.libXtst ]; - patches = [ - # See: https://github.com/cassidyjames/ideogram/issues/26 - (fetchpatch { - url = "https://github.com/cassidyjames/ideogram/commit/65994ee11bd21f8316b057cec01afbf50639a708.patch"; - sha256 = "12vrvvggpqq53dmhbm7gbbbigncn19m1fjln9wxaady21m0w776c"; - }) - ]; - postPatch = '' chmod +x meson/post_install.py patchShebangs meson/post_install.py diff --git a/pkgs/applications/graphics/seg3d/cstdio.patch b/pkgs/applications/graphics/seg3d/cstdio.patch deleted file mode 100644 index 0d9eed07a36..00000000000 --- a/pkgs/applications/graphics/seg3d/cstdio.patch +++ /dev/null @@ -1,81 +0,0 @@ -diff --git a/Core/Geometry/Transform.cc b/Core/Geometry/Transform.cc -index 4f16fdc..0da4679 100644 ---- a/Core/Geometry/Transform.cc -+++ b/Core/Geometry/Transform.cc -@@ -28,6 +28,7 @@ - - #include - #include -+#include - - #include - #include -diff --git a/Core/Util/FullFileName.cc b/Core/Util/FullFileName.cc -index 7a2cad7..7710e92 100644 ---- a/Core/Util/FullFileName.cc -+++ b/Core/Util/FullFileName.cc -@@ -29,6 +29,7 @@ - - #include - #include -+#include - - namespace SCIRun { - -diff --git a/Externals/particle-system-mm/src/sizingfield/LFS.cxx b/Externals/particle-system-mm/src/sizingfield/LFS.cxx -index d1fa5aa..a5a4358 100644 ---- a/Externals/particle-system-mm/src/sizingfield/LFS.cxx -+++ b/Externals/particle-system-mm/src/sizingfield/LFS.cxx -@@ -1,5 +1,6 @@ - #include - #include -+#include - #include - - using namespace std; -diff --git a/Externals/slivr/Point.cc b/Externals/slivr/Point.cc -index d3be03e..ed4e503 100644 ---- a/Externals/slivr/Point.cc -+++ b/Externals/slivr/Point.cc -@@ -42,6 +42,7 @@ - #include - #include - #include -+#include - - namespace SLIVR { - -diff --git a/Externals/slivr/Transform.cc b/Externals/slivr/Transform.cc -index c0a4430..520179f 100644 ---- a/Externals/slivr/Transform.cc -+++ b/Externals/slivr/Transform.cc -@@ -47,6 +47,7 @@ - #include - #include - #include -+#include - - using namespace SLIVR; - using namespace std; -diff --git a/Externals/slivr/Vector.cc b/Externals/slivr/Vector.cc -index 8370d65..8b04bb9 100644 ---- a/Externals/slivr/Vector.cc -+++ b/Externals/slivr/Vector.cc -@@ -43,6 +43,7 @@ - #include - #include - #include -+#include - - using std::istream; - using std::ostream; -diff --git a/Externals/vispack/src/image/imagefile.txx b/Externals/vispack/src/image/imagefile.txx -index ced2590..13a32b2 100644 ---- a/Externals/vispack/src/image/imagefile.txx -+++ b/Externals/vispack/src/image/imagefile.txx -@@ -1,3 +1,5 @@ -+#include -+ - template - int write_raw(const char* name, const VISImage& im) - { diff --git a/pkgs/applications/graphics/seg3d/default.nix b/pkgs/applications/graphics/seg3d/default.nix deleted file mode 100644 index 7d9b7582bd6..00000000000 --- a/pkgs/applications/graphics/seg3d/default.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ fetchurl, stdenv, cmake, wxGTK, itk, libGLU, libGL, libXft, libXext, libXi, zlib, libXmu, -libuuid }: - -assert (stdenv ? glibc); - -stdenv.mkDerivation { - name = "seg3d-1.12_20090930"; - src = fetchurl { - url = https://www.sci.utah.edu/releases/seg3d_v1.12/Seg3D_1.12_20090930_source.tgz; - sha256 = "1wr6rc6v5qjjkmws8yrc03z35h3iydxk1z28p06v1wdnca0y71z8"; - }; - - patches = [ ./cstdio.patch ]; - - cmakeFlags = [ - "-DM_LIBRARY=${stdenv.glibc.out}/lib/libm.so" - "-DDL_LIBRARY=${stdenv.glibc.out}/lib/libdl.so" - "-DBUILD_UTILS=1" - "-DBUILD_SEG3D=1" - "-DBUILD_DATAFLOW=0" - "-DBUILD_SHARED_LIBS=0" - "-DWITH_X11=1" - "-DBUILD_BIOMESH3D=1" - "-DWITH_TETGEN=1" - "-DBUILD_TYPE=Release" - "-DWITH_WXWIDGETS=ON" - "-DITK_DIR=${itk}/lib/InsightToolkit" - "-DGDCM_LIBRARY=${itk}/lib/libitkgdcm.a" - ]; - - - makeFlags = "VERBOSE=1"; - - preBuild = '' - export LD_LIBRARY_PATH=`pwd`/lib - export NIX_LDFLAGS="$NIX_LDFLAGS -lGLU -lSM -lICE -lX11 -lXext -luuid"; - ''; - - preUnpack = '' - set -x - sourceRoot=`pwd`/src - ''; - - postInstall = '' - cp Seg3D $out/bin - exit 1 - ''; - - buildInputs = [ cmake wxGTK itk libGLU libGL libXft libXext libXi zlib libXmu libuuid ]; - - meta = { - broken = true; - }; -} diff --git a/pkgs/applications/kde/kcachegrind.nix b/pkgs/applications/kde/kcachegrind.nix index 91faaef623a..16fc6c51777 100644 --- a/pkgs/applications/kde/kcachegrind.nix +++ b/pkgs/applications/kde/kcachegrind.nix @@ -1,7 +1,8 @@ { mkDerivation, lib, extra-cmake-modules, kdoctools, - karchive, ki18n, kio, perl, python, php, qttools, + karchive, ki18n, kio, perl, python, php, qttools + , kdbusaddons }: mkDerivation { @@ -11,5 +12,5 @@ mkDerivation { maintainers = with lib.maintainers; [ orivej ]; }; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ karchive ki18n kio perl python php qttools ]; + buildInputs = [ karchive ki18n kio perl python php qttools kdbusaddons ]; } diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix index dd9f2929d36..8c4833be3e6 100644 --- a/pkgs/applications/misc/blender/default.nix +++ b/pkgs/applications/misc/blender/default.nix @@ -2,6 +2,7 @@ , ilmbase, libXi, libX11, libXext, libXrender , libjpeg, libpng, libsamplerate, libsndfile , libtiff, libGLU, libGL, openal, opencolorio, openexr, openimageio, openjpeg_1, python3Packages +, openvdb, libXxf86vm, tbb , zlib, fftw, opensubdiv, freetype, jemalloc, ocl-icd, addOpenGLRunpath , jackaudioSupport ? false, libjack2 , cudaSupport ? config.cudaSupport or false, cudatoolkit @@ -15,11 +16,11 @@ let python = python3Packages.python; in stdenv.mkDerivation rec { pname = "blender"; - version = "2.80"; + version = "2.81"; src = fetchurl { - url = "https://download.blender.org/source/${pname}-${version}.tar.gz"; - sha256 = "1h550jisdbis50hxwk5kxrvrk1a6sh2fsri3yyj66vhzbi87x7fd"; + url = "https://download.blender.org/source/${pname}-${version}.tar.xz"; + sha256 = "1prp0f2152f1sz23jlc86vndfvmplb7qhllikkirq7hgpykrshna"; }; nativeBuildInputs = [ cmake ] ++ optional cudaSupport addOpenGLRunpath; @@ -29,6 +30,7 @@ stdenv.mkDerivation rec { freetype libjpeg libpng libsamplerate libsndfile libtiff libGLU libGL openal opencolorio openexr openimageio openjpeg_1 python zlib fftw jemalloc (opensubdiv.override { inherit cudaSupport; }) + openvdb libXxf86vm tbb makeWrapper ] ++ optional jackaudioSupport libjack2 @@ -56,6 +58,9 @@ stdenv.mkDerivation rec { "-DWITH_PYTHON_INSTALL=OFF" "-DWITH_PYTHON_INSTALL_NUMPY=OFF" "-DPYTHON_NUMPY_PATH=${python3Packages.numpy}/${python.sitePackages}" + "-DWITH_OPENVDB=ON" + "-DWITH_TBB=ON" + "-DWITH_IMAGE_OPENJPEG=ON" ] ++ optional jackaudioSupport "-DWITH_JACK=ON" ++ optional cudaSupport "-DWITH_CYCLES_CUDA_BINARIES=ON" diff --git a/pkgs/applications/misc/elogind/default.nix b/pkgs/applications/misc/elogind/default.nix index acfbc7ec917..c5978dac2d5 100644 --- a/pkgs/applications/misc/elogind/default.nix +++ b/pkgs/applications/misc/elogind/default.nix @@ -29,13 +29,13 @@ with stdenv.lib; stdenv.mkDerivation rec { pname = "elogind"; - version = "239.5"; + version = "241.3"; src = fetchFromGitHub { owner = "elogind"; repo = pname; rev = "v${version}"; - sha256 = "1gdiy4vbx4gs2hnb79x14zi530mlq26glxpzp3c95w8l058wj4ba"; + sha256 = "0jpb55prqq5cm3w2gy9766cbaqknjvbrbniyshb8bz1q31vf4jlq"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/misc/et/default.nix b/pkgs/applications/misc/et/default.nix index d8b355efe86..2cf8813aac4 100644 --- a/pkgs/applications/misc/et/default.nix +++ b/pkgs/applications/misc/et/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "et"; - version = "0.1.1"; + version = "0.1.2"; src = fetchFromGitHub { owner = "geistesk"; repo = "et"; rev = version; - sha256 = "167w9qwfpd63rgy0xmkkkh5krmd91q42c3ijy3j099krgdfbb9bc"; + sha256 = "0i0lgmnly8n7y4y6pb10pxgxyz8s5zk26k8z1g1578v1wan01lnq"; }; buildInputs = [ libnotify gdk-pixbuf ]; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Minimal libnotify-based (egg) timer"; - homepage = https://github.com/geistesk/et; + homepage = "https://github.com/geistesk/et"; license = licenses.gpl3; platforms = platforms.unix; maintainers = with maintainers; [ geistesk ]; diff --git a/pkgs/applications/misc/font-manager/default.nix b/pkgs/applications/misc/font-manager/default.nix index dad95490012..edb47e11dd7 100644 --- a/pkgs/applications/misc/font-manager/default.nix +++ b/pkgs/applications/misc/font-manager/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, meson, ninja, gettext, python3, fetchpatch, - pkgconfig, libxml2, json-glib , sqlite, itstool, librsvg, + pkgconfig, libxml2, json-glib , sqlite, itstool, librsvg, yelp-tools, vala, gtk3, gnome3, desktop-file-utils, wrapGAppsHook, gobject-introspection }: @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { itstool desktop-file-utils vala - gnome3.yelp-tools + yelp-tools wrapGAppsHook # For https://github.com/FontManager/master/blob/master/lib/unicode/meson.build gobject-introspection diff --git a/pkgs/applications/misc/formatter/default.nix b/pkgs/applications/misc/formatter/default.nix index d81e21f73ed..26478c7f2ed 100644 --- a/pkgs/applications/misc/formatter/default.nix +++ b/pkgs/applications/misc/formatter/default.nix @@ -20,13 +20,13 @@ stdenv.mkDerivation rec { pname = "formatter"; - version = "0.3.0"; + version = "0.3.1"; src = fetchFromGitHub { owner = "Djaler"; repo = "Formatter"; rev = version; - sha256 = "145742dk16736zxj30rzn61h4k0xpggfsbqkxllxd302mgbmxlzq"; + sha256 = "1ghxd2h0pklhlrjslfr46vza1kjsm3mr0sdzzjiqi9jd6hddnk7i"; }; patches = [ diff --git a/pkgs/applications/misc/glom/default.nix b/pkgs/applications/misc/glom/default.nix index 9e71837c0f5..b8f13d01424 100644 --- a/pkgs/applications/misc/glom/default.nix +++ b/pkgs/applications/misc/glom/default.nix @@ -30,6 +30,7 @@ , postgresql , gnome3 , gobject-introspection +, yelp-tools , wrapGAppsHook }: @@ -67,7 +68,7 @@ in stdenv.mkDerivation rec { libtool mm-common intltool - gnome3.yelp-tools + yelp-tools itstool doxygen graphviz diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix index cad738908f0..9a9edba512a 100644 --- a/pkgs/applications/misc/gpxsee/default.nix +++ b/pkgs/applications/misc/gpxsee/default.nix @@ -2,13 +2,13 @@ mkDerivation rec { pname = "gpxsee"; - version = "7.17"; + version = "7.18"; src = fetchFromGitHub { owner = "tumic0"; repo = "GPXSee"; rev = version; - sha256 = "10mch709m4ws73yzkrx9lm2hwzl179ggpk6xkbhkvnl7rsd2yz08"; + sha256 = "1z3knfqfv0rwsq66adk0qngw1r500yvy4z259bygqkzbn2l5fcjk"; }; nativeBuildInputs = [ qmake ]; diff --git a/pkgs/applications/misc/houdini/runtime.nix b/pkgs/applications/misc/houdini/runtime.nix index 88c87eaca87..12364db7d4a 100644 --- a/pkgs/applications/misc/houdini/runtime.nix +++ b/pkgs/applications/misc/houdini/runtime.nix @@ -1,4 +1,4 @@ -{ stdenv, requireFile, zlib, libpng, libSM, libICE, fontconfig, xorg, libGLU, libGL, alsaLib, dbus, xkeyboardconfig, bc }: +{ stdenv, requireFile, zlib, libpng, libSM, libICE, fontconfig, xorg, libGLU, libGL, alsaLib, dbus, xkeyboardconfig, bc, addOpenGLRunpath }: let ld_library_path = builtins.concatStringsSep ":" [ @@ -24,6 +24,7 @@ let zlib libpng dbus + addOpenGLRunpath.driverLink ]) ]; license_dir = "~/.config/houdini"; diff --git a/pkgs/applications/misc/kdeconnect/default.nix b/pkgs/applications/misc/kdeconnect/default.nix index ed3c8672269..e8bdcb37118 100644 --- a/pkgs/applications/misc/kdeconnect/default.nix +++ b/pkgs/applications/misc/kdeconnect/default.nix @@ -16,6 +16,7 @@ , sshfs , makeWrapper , kwayland +, kio }: mkDerivation rec { @@ -30,7 +31,7 @@ mkDerivation rec { buildInputs = [ libfakekey libXtst ki18n kiconthemes kcmutils kconfigwidgets kdbusaddons knotifications - qca-qt5 qtx11extras makeWrapper kwayland + qca-qt5 qtx11extras makeWrapper kwayland kio ]; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; diff --git a/pkgs/applications/misc/orca/default.nix b/pkgs/applications/misc/orca/default.nix index 37b93eecf39..1dc6a9cfee5 100644 --- a/pkgs/applications/misc/orca/default.nix +++ b/pkgs/applications/misc/orca/default.nix @@ -1,21 +1,47 @@ -{ stdenv, pkgconfig, fetchurl, buildPythonApplication -, autoreconfHook, wrapGAppsHook, gobject-introspection -, gettext, yelp-tools, itstool, libxmlxx3 -, python, pygobject3, gtk3, gnome3, substituteAll -, at-spi2-atk, at-spi2-core, pyatspi, dbus, dbus-python, pyxdg -, xkbcomp, procps, lsof, coreutils, gsettings-desktop-schemas -, speechd, brltty, liblouis, setproctitle, gst_all_1, gst-python +{ stdenv +, pkgconfig +, fetchurl +, buildPythonApplication +, autoreconfHook +, wrapGAppsHook +, gobject-introspection +, gettext +, yelp-tools +, itstool +, libxmlxx3 +, python +, pygobject3 +, gtk3 +, gnome3 +, substituteAll +, at-spi2-atk +, at-spi2-core +, pyatspi +, dbus +, dbus-python +, pyxdg +, xkbcomp +, procps +, lsof +, coreutils +, gsettings-desktop-schemas +, speechd +, brltty +, liblouis +, setproctitle +, gst_all_1 +, gst-python }: buildPythonApplication rec { pname = "orca"; - version = "3.34.0"; + version = "3.34.1"; format = "other"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "10h258cprsxzb2hz9wqrkzv1yrsm19ws46l6fsnspywza5wq0z4p"; + sha256 = "1q38n7hyshkiszmn361skxjynxr31lcms7a1iny6d0zlpmh1vnk4"; }; patches = [ @@ -29,19 +55,40 @@ buildPythonApplication rec { ]; nativeBuildInputs = [ - autoreconfHook wrapGAppsHook pkgconfig libxmlxx3 - gettext yelp-tools itstool gobject-introspection + autoreconfHook + wrapGAppsHook + pkgconfig + libxmlxx3 + gettext + yelp-tools + itstool + gobject-introspection ]; propagatedBuildInputs = [ - pygobject3 pyatspi dbus-python pyxdg brltty liblouis speechd gst-python setproctitle + pygobject3 + pyatspi + dbus-python + pyxdg + brltty + liblouis + speechd + gst-python + setproctitle ]; strictDeps = false; buildInputs = [ - python gtk3 at-spi2-atk at-spi2-core dbus gsettings-desktop-schemas - gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good + python + gtk3 + at-spi2-atk + at-spi2-core + dbus + gsettings-desktop-schemas + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good ]; passthru = { @@ -51,7 +98,7 @@ buildPythonApplication rec { }; meta = with stdenv.lib; { - homepage = https://wiki.gnome.org/Projects/Orca; + homepage = "https://wiki.gnome.org/Projects/Orca"; description = "Screen reader"; longDescription = '' A free, open source, flexible and extensible screen reader that provides diff --git a/pkgs/applications/misc/tasksh/default.nix b/pkgs/applications/misc/tasksh/default.nix index feb06368de4..931a27fbeff 100644 --- a/pkgs/applications/misc/tasksh/default.nix +++ b/pkgs/applications/misc/tasksh/default.nix @@ -19,6 +19,6 @@ stdenv.mkDerivation rec { homepage = http://tasktools.org; license = licenses.mit; maintainers = with maintainers; [ matthiasbeyer ]; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/misc/xpdf/default.nix b/pkgs/applications/misc/xpdf/default.nix index d524482dee7..f5ec9b71503 100644 --- a/pkgs/applications/misc/xpdf/default.nix +++ b/pkgs/applications/misc/xpdf/default.nix @@ -1,20 +1,22 @@ -{ enableGUI ? true, enablePDFtoPPM ? true, useT1Lib ? false -, stdenv, fetchurl, zlib, libpng, freetype ? null, t1lib ? null -, cmake, qtbase ? null, qtsvg ? null, wrapQtAppsHook +{ enableGUI ? true +, enablePDFtoPPM ? true +, enablePrinting ? true +, stdenv, fetchzip, cmake, makeDesktopItem +, zlib, libpng, cups ? null, freetype ? null +, qtbase ? null, qtsvg ? null, wrapQtAppsHook }: assert enableGUI -> qtbase != null && qtsvg != null && freetype != null; assert enablePDFtoPPM -> freetype != null; -assert useT1Lib -> t1lib != null; +assert enablePrinting -> cups != null; -assert !useT1Lib; # t1lib has multiple unpatched security vulnerabilities +stdenv.mkDerivation rec { + pname = "xpdf"; + version = "4.02"; -stdenv.mkDerivation { - name = "xpdf-4.00"; - - src = fetchurl { - url = http://www.xpdfreader.com/dl/xpdf-4.00.tar.gz; - sha256 = "1mhn89738vjva14xr5gblc2zrdgzmpqbbjdflqdmpqv647294ggz"; + src = fetchzip { + url = "https://xpdfreader-dl.s3.amazonaws.com/${pname}-${version}.tar.gz"; + sha256 = "0dzwq6fnk013wa4l5mjpvm4mms2mh5hbrxv4rhk2ab5ljbzz7b2w"; }; # Fix "No known features for CXX compiler", see @@ -26,20 +28,33 @@ stdenv.mkDerivation { [ cmake ] ++ stdenv.lib.optional enableGUI wrapQtAppsHook; - cmakeFlags = ["-DSYSTEM_XPDFRC=/etc/xpdfrc" "-DA4_PAPER=ON"]; + cmakeFlags = ["-DSYSTEM_XPDFRC=/etc/xpdfrc" "-DA4_PAPER=ON" "-DOPI_SUPPORT=ON"] + ++ stdenv.lib.optional (!enablePrinting) "-DXPDFWIDGET_PRINTING=OFF"; buildInputs = [ zlib libpng ] ++ stdenv.lib.optional enableGUI qtbase ++ - stdenv.lib.optional useT1Lib t1lib ++ + stdenv.lib.optional enablePrinting cups ++ stdenv.lib.optional enablePDFtoPPM freetype; - # Debian uses '-fpermissive' to bypass some errors on char* constantness. - CXXFLAGS = "-O2 -fpermissive"; - hardeningDisable = [ "format" ]; + desktopItem = makeDesktopItem { + name = "xpdf"; + desktopName = "Xpdf"; + comment = "Views Adobe PDF files"; + icon = "xpdf"; + exec = "xpdf %f"; + categories = "Office;"; + terminal = "false"; + }; + + postInstall = '' + install -Dm644 ${desktopItem}/share/applications/xpdf.desktop $out/share/applications/xpdf.desktop + install -Dm644 $src/xpdf-qt/xpdf-icon.svg $out/share/pixmaps/xpdf.svg + ''; + meta = with stdenv.lib; { - homepage = https://www.xpdfreader.com; + homepage = "https://www.xpdfreader.com"; description = "Viewer for Portable Document Format (PDF) files"; longDescription = '' XPDF includes multiple tools for viewing and processing PDF files. @@ -56,5 +71,13 @@ stdenv.mkDerivation { ''; license = with licenses; [ gpl2 gpl3 ]; platforms = platforms.unix; + maintainers = with maintainers; [ sikmir ]; + knownVulnerabilities = [ + "CVE-2018-7453: loop in PDF objects" + "CVE-2018-16369: loop in PDF objects" + "CVE-2019-9587: loop in PDF objects" + "CVE-2019-9588: loop in PDF objects" + "CVE-2019-16088: loop in PDF objects" + ]; }; } diff --git a/pkgs/applications/networking/browsers/ephemeral/default.nix b/pkgs/applications/networking/browsers/ephemeral/default.nix index f3fc9ab6ecb..d5a1063a688 100644 --- a/pkgs/applications/networking/browsers/ephemeral/default.nix +++ b/pkgs/applications/networking/browsers/ephemeral/default.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation rec { pname = "ephemeral"; - version = "6.0.0"; + version = "6.1.1"; src = fetchFromGitHub { owner = "cassidyjames"; repo = "ephemeral"; rev = version; - sha256 = "0g9rrx41grmgf4nn2pp17yhjxxayk826gs6nmkfdnimd4gmlf3nk"; + sha256 = "1i77chbjjg8zda5bnn1wj4h00a88awfls5b3i3dqwgsi356hv4wb"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/cluster/sonobuoy/default.nix b/pkgs/applications/networking/cluster/sonobuoy/default.nix index ce6c5424fba..32dbced0a46 100644 --- a/pkgs/applications/networking/cluster/sonobuoy/default.nix +++ b/pkgs/applications/networking/cluster/sonobuoy/default.nix @@ -1,11 +1,11 @@ { lib, buildGoPackage, fetchFromGitHub }: # SHA of ${version} for the tool's help output -let rev = "7ad367535a6710802085d41e0dbb53df359b9882"; +let rev = "c9c2a461cd3397909fe6e45ff71836347ef89fd8"; in buildGoPackage rec { pname = "sonobuoy"; - version = "0.15.0"; + version = "0.16.1"; goPackagePath = "github.com/heptio/sonobuoy"; @@ -19,10 +19,10 @@ buildGoPackage rec { ''; src = fetchFromGitHub { - sha256 = "0dkmhmr7calk8mkdxfpy3yjzk10ja4gz1jq8pgk3v8rh04f4h1x5"; + sha256 = "14qc5a7jbr403wjpk6pgpb94i72yx647sg9srz07q6drq650kyfv"; rev = "v${version}"; repo = "sonobuoy"; - owner = "heptio"; + owner = "vmware-tanzu"; }; meta = with lib; { @@ -36,8 +36,8 @@ buildGoPackage rec { accessible and non-destructive manner. ''; - homepage = "https://github.com/heptio/sonobuoy"; + homepage = "https://sonobuoy.io"; license = licenses.asl20; - maintainers = with maintainers; [ carlosdagos ]; + maintainers = with maintainers; [ carlosdagos saschagrunert ]; }; } diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix index ec3b42c1553..5dc61ff5cc8 100644 --- a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix +++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix @@ -1,4 +1,4 @@ -{ pkgs, stdenv, fetchFromGitHub, makeWrapper, makeDesktopItem, electron_5, riot-web, yarn2nix-moretea }: +{ pkgs, stdenv, fetchFromGitHub, makeWrapper, makeDesktopItem, electron_5, riot-web, mkYarnPackage }: # Notes for maintainers: # * versions of `riot-web` and `riot-desktop` should be kept in sync. @@ -14,7 +14,7 @@ let sha256 = "1xi5zg3602d7gdjxskpk2q3anpn2drrkxyirfvi9mzcfp2r05557"; }; -in yarn2nix-moretea.mkYarnPackage rec { +in mkYarnPackage rec { name = "riot-desktop-${version}"; inherit version; diff --git a/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh b/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh index b646a9e03ad..f516e4a76f0 100755 --- a/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh +++ b/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh @@ -1,5 +1,5 @@ #!/usr/bin/env nix-shell -#!nix-shell -I nixpkgs=../../../../../ -i bash -p wget yarn2nix-moretea.yarn2nix +#!nix-shell -I nixpkgs=../../../../../ -i bash -p wget yarn2nix set -euo pipefail diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index 7f3628dfdb7..47437df25e7 100644 --- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -14,11 +14,11 @@ assert pulseaudioSupport -> libpulseaudio != null; let inherit (stdenv.lib) concatStringsSep makeBinPath optional; - version = "3.0.309708.1027"; + version = "3.0.317369.1110"; srcs = { x86_64-linux = fetchurl { url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz"; - sha256 = "0g0nmlbcps331vdnfj571lzhcw8cb2gxbll09jananxdpnmwv5l6"; + sha256 = "0r4wp9qb1739xwr24kglc4sj8qaxwr4nh5p1igi3x6f1f8gczia7"; }; }; diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix index ca5c59379cc..71421eaf1e7 100644 --- a/pkgs/applications/networking/sync/rclone/default.nix +++ b/pkgs/applications/networking/sync/rclone/default.nix @@ -2,13 +2,13 @@ buildGoPackage rec { pname = "rclone"; - version = "1.50.1"; + version = "1.50.2"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "0iwm0a9h6xxdsqw86xlqcsz7h4pzsg134m6yfqj5s2xg7kfy5laq"; + sha256 = "0yaspkh88q8i58i8g8mm6sqb75hczavz2lvzdd1iif1bqgi6b5fz"; }; goPackagePath = "github.com/rclone/rclone"; diff --git a/pkgs/applications/networking/weather/meteo/default.nix b/pkgs/applications/networking/weather/meteo/default.nix index 5fe52d5f33d..64fef08ceef 100644 --- a/pkgs/applications/networking/weather/meteo/default.nix +++ b/pkgs/applications/networking/weather/meteo/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "meteo"; - version = "0.9.7"; + version = "0.9.8"; src = fetchFromGitLab { owner = "bitseater"; repo = pname; rev = version; - sha256 = "014x3mg2dc58h1qwy2nrz3a5mzdnbzish8zgn3x6lj6szfz5c72n"; + sha256 = "1ll5fja0dqxcr6hrh2dk4hgw9gf8ms9bcp1ifznd21byxzyhdlr0"; }; nativeBuildInputs = [ @@ -40,9 +40,9 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Know the forecast of the next hours & days"; - homepage = https://gitlab.com/bitseater/meteo; - license = licenses.gpl3Plus; + homepage = https://gitlab.com/bitseater/meteo; + license = licenses.gpl3Plus; maintainers = with maintainers; [ worldofpeace ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/office/aesop/default.nix b/pkgs/applications/office/aesop/default.nix index 603f8018993..b637f6bbf06 100644 --- a/pkgs/applications/office/aesop/default.nix +++ b/pkgs/applications/office/aesop/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "aesop"; - version = "1.1.2"; + version = "1.1.3"; src = fetchFromGitHub { owner = "lainsce"; repo = pname; rev = version; - sha256 = "1vadm8295jb7jaah2qykf3h9zvl5c013sanmxqi4snmmq4pa32ax"; + sha256 = "1hnwhxaz0zx4fswrxjzyv5s77v5fimn87yid9sd1qgfv2g1ck0jc"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index 506f33a2d0e..42f75560a5a 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -65,6 +65,8 @@ in stdenv.mkDerivation rec { inherit (primary-src) src; + outputs = [ "out" "dev" ]; + # For some reason librdf_redland sometimes refers to rasqal.h instead # of rasqal/rasqal.h NIX_CFLAGS_COMPILE = [ "-I${librdf_rasqal}/include/rasqal" ] ++ lib.optional stdenv.isx86_64 "-mno-fma"; @@ -276,6 +278,9 @@ in stdenv.mkDerivation rec { cp -r sysui/desktop/icons "$out/share" sed -re 's@Icon=libreoffice(dev)?[0-9.]*-?@Icon=@' -i "$out/share/applications/"*.desktop + + mkdir -p $dev + cp -r include $dev ''; configureFlags = [ diff --git a/pkgs/applications/office/libreoffice/still.nix b/pkgs/applications/office/libreoffice/still.nix index 12e49fa48fe..c42820e6114 100644 --- a/pkgs/applications/office/libreoffice/still.nix +++ b/pkgs/applications/office/libreoffice/still.nix @@ -65,6 +65,8 @@ in stdenv.mkDerivation rec { inherit (primary-src) src; + outputs = [ "out" "dev" ]; + # For some reason librdf_redland sometimes refers to rasqal.h instead # of rasqal/rasqal.h NIX_CFLAGS_COMPILE = [ "-I${librdf_rasqal}/include/rasqal" ]; @@ -276,6 +278,9 @@ in stdenv.mkDerivation rec { cp -r sysui/desktop/icons "$out/share" sed -re 's@Icon=libreoffice(dev)?[0-9.]*-?@Icon=@' -i "$out/share/applications/"*.desktop + + mkdir -p $dev + cp -r include $dev ''; configureFlags = [ diff --git a/pkgs/applications/office/softmaker/freeoffice.nix b/pkgs/applications/office/softmaker/freeoffice.nix index 8c862cb6ea4..ff54f8ff90f 100644 --- a/pkgs/applications/office/softmaker/freeoffice.nix +++ b/pkgs/applications/office/softmaker/freeoffice.nix @@ -2,13 +2,13 @@ callPackage ./generic.nix (args // rec { pname = "freeoffice"; - version = "971"; + version = "973"; edition = "2018"; suiteName = "FreeOffice"; src = fetchurl { url = "https://www.softmaker.net/down/softmaker-freeoffice-${version}-amd64.tgz"; - sha256 = "1h36pjbpbiy4cw383cbrwh1jx2kp1ay29734zailmhifz53gj44f"; + sha256 = "0xac4ynf1lfh8qmni5bhp4ybaamdfngva4bqaq21n1m4pgrx1ba5"; }; archive = "freeoffice${edition}.tar.lzma"; diff --git a/pkgs/applications/office/softmaker/generic.nix b/pkgs/applications/office/softmaker/generic.nix index 56dc6a5e4f7..82ac2b58f68 100644 --- a/pkgs/applications/office/softmaker/generic.nix +++ b/pkgs/applications/office/softmaker/generic.nix @@ -96,6 +96,10 @@ in stdenv.mkDerivation rec { done done + # freeoffice 973 misses the 96x96 application icons, giving broken symbolic links + # remove broken symbolic links + find $out -xtype l -ls -exec rm {} \; + # Add desktop items ${desktopItems.planmaker.buildCommand} ${desktopItems.presentations.buildCommand} diff --git a/pkgs/applications/science/biology/freebayes/default.nix b/pkgs/applications/science/biology/freebayes/default.nix index e1e84c9423b..7d0a36e755f 100644 --- a/pkgs/applications/science/biology/freebayes/default.nix +++ b/pkgs/applications/science/biology/freebayes/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { pname = "freebayes"; - version = "2017-08-23"; + version = "1.3.1"; src = fetchFromGitHub { name = "freebayes-${version}-src"; owner = "ekg"; repo = "freebayes"; - rev = "8d2b3a060da473e1f4f89be04edfce5cba63f1d3"; - sha256 = "0yyrgk2639lz1yvg4jf0ccahnkic31dy77q05pb3i28rjf37v45z"; + rev = "v${version}"; + sha256 = "035nriknjqq8gvil81vvsmvqwi35v80q8h1cw24vd1gdyn1x7bys"; fetchSubmodules = true; }; diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index a6b53561771..a8e284c6fec 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -298,6 +298,10 @@ stdenv.mkDerivation { # As of 2.19.0, t5562 refers to #!/usr/bin/perl patchShebangs t/t5562/invoke-with-content-length.pl + '' + stdenv.lib.optionalString stdenv.isDarwin '' + # XXX: Some tests added in 2.24.0 fail. + # Please try to re-enable on the next release. + disable_test t7816-grep-binary-pattern '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' # Test fails (as of 2.17.0, musl 1.1.19) disable_test t3900-i18n-commit diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix index 0075f91ae2d..545894cc1e5 100644 --- a/pkgs/applications/version-management/gitlab/default.nix +++ b/pkgs/applications/version-management/gitlab/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchurl, fetchFromGitLab, bundlerEnv , ruby, tzdata, git, nettools, nixosTests, nodejs , gitlabEnterprise ? false, callPackage, yarn -, yarn2nix-moretea, replace +, fixup_yarn_lock, replace }: let @@ -62,7 +62,7 @@ let yarn config --offline set yarn-offline-mirror ${yarnOfflineCache} # Fixup "resolved"-entries in yarn.lock to match our offline cache - ${yarn2nix-moretea.fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock + ${fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock yarn install --offline --frozen-lockfile --ignore-scripts --no-progress --non-interactive diff --git a/pkgs/applications/version-management/gitlab/update.py b/pkgs/applications/version-management/gitlab/update.py index 1aeb459f64c..a2231f813e8 100755 --- a/pkgs/applications/version-management/gitlab/update.py +++ b/pkgs/applications/version-management/gitlab/update.py @@ -1,5 +1,5 @@ #!/usr/bin/env nix-shell -#! nix-shell -i python3 -p bundix common-updater-scripts nix nix-prefetch-git python3 python3Packages.requests python3Packages.lxml python3Packages.click python3Packages.click-log vgo2nix yarn2nix-moretea.yarn2nix +#! nix-shell -i python3 -p bundix common-updater-scripts nix nix-prefetch-git python3 python3Packages.requests python3Packages.lxml python3Packages.click python3Packages.click-log vgo2nix yarn2nix import click import click_log diff --git a/pkgs/applications/version-management/pijul/default.nix b/pkgs/applications/version-management/pijul/default.nix index 6d0e39d47bf..3c553918925 100644 --- a/pkgs/applications/version-management/pijul/default.nix +++ b/pkgs/applications/version-management/pijul/default.nix @@ -1,6 +1,17 @@ { stdenv, fetchurl, rustPlatform, darwin, openssl, libsodium, nettle, clang, libclang, pkgconfig }: -rustPlatform.buildRustPackage rec { +let + # nettle-sys=1.0.1 requires the des-compat.h header, but it was removed in + # nettle 3.5. See https://nest.pijul.com/pijul_org/pijul/discussions/416 + # Remove with the next release + nettle_34 = nettle.overrideAttrs (_oldAttrs: rec { + version = "3.4.1"; + src = fetchurl { + url = "mirror://gnu/nettle/nettle-${version}.tar.gz"; + sha256 = "1bcji95n1iz9p9vsgdgr26v6s7zhpsxfbjjwpqcihpfd6lawyhgr"; + }; + }); +in rustPlatform.buildRustPackage rec { pname = "pijul"; version = "0.12.0"; @@ -20,7 +31,7 @@ rustPlatform.buildRustPackage rec { LIBCLANG_PATH = libclang + "/lib"; - buildInputs = [ openssl libsodium nettle libclang ] ++ stdenv.lib.optionals stdenv.isDarwin + buildInputs = [ openssl libsodium nettle_34 libclang ] ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ CoreServices Security ]); doCheck = false; diff --git a/pkgs/applications/window-managers/cage/default.nix b/pkgs/applications/window-managers/cage/default.nix index be45d68dc5d..ce4031b92f5 100644 --- a/pkgs/applications/window-managers/cage/default.nix +++ b/pkgs/applications/window-managers/cage/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub , meson, ninja, pkgconfig, makeWrapper , wlroots, wayland, wayland-protocols, pixman, libxkbcommon -, systemd, mesa, libX11 +, systemd, libGL, libX11 , xwayland ? null }: @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { buildInputs = [ wlroots wayland wayland-protocols pixman libxkbcommon # TODO: Not specified but required: - systemd mesa libX11 + systemd libGL libX11 ]; enableParallelBuilding = true; diff --git a/pkgs/build-support/appimage/default.nix b/pkgs/build-support/appimage/default.nix index 7e2b2b347d9..c871df787b7 100644 --- a/pkgs/build-support/appimage/default.nix +++ b/pkgs/build-support/appimage/default.nix @@ -185,7 +185,7 @@ rec { keyutils.lib libjack2 fribidi - p11_kit + p11-kit # libraries not on the upstream include list, but nevertheless expected # by at least one appimage diff --git a/pkgs/build-support/emacs/setup-hook.sh b/pkgs/build-support/emacs/setup-hook.sh index b55c1873802..b210511d670 100644 --- a/pkgs/build-support/emacs/setup-hook.sh +++ b/pkgs/build-support/emacs/setup-hook.sh @@ -1,6 +1,8 @@ addEmacsVars () { - if [[ -d "$1/share/emacs/site-lisp" ]]; then - export EMACSLOADPATH="$1/share/emacs/site-lisp${EMACSLOADPATH:+:}${EMACSLOADPATH-}" + if test -d $1/share/emacs/site-lisp; then + # it turns out, that the trailing : is actually required + # see https://www.gnu.org/software/emacs/manual/html_node/elisp/Library-Search.html + export EMACSLOADPATH="$1/share/emacs/site-lisp:${EMACSLOADPATH-}" fi } diff --git a/pkgs/data/documentation/gnome-user-docs/default.nix b/pkgs/data/documentation/gnome-user-docs/default.nix index 4bdfa70c63f..a47ec9ea790 100644 --- a/pkgs/data/documentation/gnome-user-docs/default.nix +++ b/pkgs/data/documentation/gnome-user-docs/default.nix @@ -1,27 +1,41 @@ -{ stdenv, fetchurl, itstool, libxml2, gettext, gnome3 }: +{ stdenv +, fetchurl +, gettext +, gnome3 +, itstool +, libxml2 +, yelp-tools +}: stdenv.mkDerivation rec { pname = "gnome-user-docs"; - version = "3.2.2"; + version = "3.34.1"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1ka0nw2kc85p10y8x31v0wv06a88k7qrgafp4ys04y9fzz0rkcjj"; + url = "mirror://gnome/sources/gnome-user-docs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "11m9fv8k2hynrcgah4jvbm6yczg0s1ly302mipysbwpn6gbdkvf2"; }; - nativeBuildInputs = [ itstool libxml2 gettext ]; + nativeBuildInputs = [ + gettext + itstool + libxml2 + yelp-tools + ]; + + enableParallelBuilding = true; passthru = { updateScript = gnome3.updateScript { packageName = pname; - attrPath = "gnome3.gnome-user-docs"; }; }; - meta = { - homepage = "https://gitlab.gnome.org/GNOME/gnome-user-docs"; - description = "GNOME User Documentation"; - license = stdenv.lib.licenses.cc-by-30; + meta = with stdenv.lib; { + description = "User and system administration help for the GNOME desktop"; + homepage = "https://help.gnome.org/users/gnome-help/"; + license = licenses.cc-by-30; maintainers = gnome3.maintainers; + platforms = platforms.linux; }; } diff --git a/pkgs/data/fonts/babelstone-han/default.nix b/pkgs/data/fonts/babelstone-han/default.nix index 3485b181d5a..0d46fc92d5f 100644 --- a/pkgs/data/fonts/babelstone-han/default.nix +++ b/pkgs/data/fonts/babelstone-han/default.nix @@ -14,7 +14,7 @@ in fetchzip { meta = with lib; { description = "Unicode CJK font with over 36000 Han characters"; - homepage = http://www.babelstone.co.uk/Fonts/Han.html; + homepage = https://www.babelstone.co.uk/Fonts/Han.html; license = licenses.free; platforms = platforms.all; diff --git a/pkgs/data/fonts/fantasque-sans-mono/default.nix b/pkgs/data/fonts/fantasque-sans-mono/default.nix index 5b982dcaa3e..156db5d214c 100644 --- a/pkgs/data/fonts/fantasque-sans-mono/default.nix +++ b/pkgs/data/fonts/fantasque-sans-mono/default.nix @@ -1,7 +1,7 @@ { lib, fetchzip }: let - version = "1.7.2"; + version = "1.8.0"; in fetchzip rec { @@ -15,7 +15,7 @@ fetchzip rec { unzip -j $downloadedFile README.md -d $out/share/doc/${name} ''; - sha256 = "1fwvbqfrgb539xybwdawvwa8cg4f215kw905rgl9a6p0iwa1nxqk"; + sha256 = "07y2w6xzkbaj6vr95fvvnmwq1pw9jib4z02xf8937dx812yic9ni"; meta = with lib; { homepage = https://github.com/belluzj/fantasque-sans; diff --git a/pkgs/desktops/deepin/deepin-editor/default.nix b/pkgs/desktops/deepin/deepin-editor/default.nix new file mode 100644 index 00000000000..0aea9558ec0 --- /dev/null +++ b/pkgs/desktops/deepin/deepin-editor/default.nix @@ -0,0 +1,64 @@ +{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, cmake, deepin, + dtkcore, dtkwidget, kcodecs, qttools, syntax-highlighting, + wrapQtAppsHook +}: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "deepin-editor"; + version = "1.2.9.1"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "0g7c3adqwn8i4ndxdrzibahr75dddz1fiqnsh3bjj1jjr86rv4ks"; + }; + + nativeBuildInputs = [ + cmake + pkgconfig + qttools + wrapQtAppsHook + deepin.setupHook + ]; + + buildInputs = [ + dtkcore + dtkwidget + kcodecs + syntax-highlighting + ]; + + postPatch = '' + searchHardCodedPaths # debugging + + patchShebangs translate_generation.sh + + fixPath $out /usr \ + CMakeLists.txt \ + dedit/main.cpp \ + src/resources/settings.json \ + src/thememodule/themelistmodel.cpp + + substituteInPlace deepin-editor.desktop \ + --replace "Exec=deepin-editor" "Exec=$out/bin/deepin-editor" + + substituteInPlace src/editwrapper.cpp \ + --replace "appExec = \"deepin-editor\"" "appExec = \"$out/bin/deepin-editor\"" + ''; + + postFixup = '' + searchHardCodedPaths $out # debugging + ''; + + passthru.updateScript = deepin.updateScript { inherit name; }; + + meta = with stdenv.lib; { + description = "Simple editor for Deepin Desktop Environment"; + homepage = https://github.com/linuxdeepin/deepin-editor; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo worldofpeace ]; + }; +} diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix index a2bb4ed19d9..57b0b35a532 100644 --- a/pkgs/desktops/deepin/default.nix +++ b/pkgs/desktops/deepin/default.nix @@ -23,6 +23,7 @@ let deepin-calculator = callPackage ./deepin-calculator { }; deepin-desktop-base = callPackage ./deepin-desktop-base { }; deepin-desktop-schemas = callPackage ./deepin-desktop-schemas { }; + deepin-editor = callPackage ./deepin-editor { }; deepin-gettext-tools = callPackage ./deepin-gettext-tools { }; deepin-gtk-theme = callPackage ./deepin-gtk-theme { }; deepin-icon-theme = callPackage ./deepin-icon-theme { }; diff --git a/pkgs/desktops/enlightenment/terminology.nix b/pkgs/desktops/enlightenment/terminology.nix index 672e1b3da73..ee140e09150 100644 --- a/pkgs/desktops/enlightenment/terminology.nix +++ b/pkgs/desktops/enlightenment/terminology.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "terminology"; - version = "1.5.0"; + version = "1.6.0"; src = fetchurl { url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz"; - sha256 = "0v4amfg8ji0mb6j7kcxh3wz1xw5zyxg4rw6ylx17rfw2nc1yamfy"; + sha256 = "0xxx4xyhis6fy3frgb34ip0aj0kc4zashf60gzbxmq5gadbb0p5r"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix index 3a7e1473332..5aa39e09cd6 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix @@ -1,36 +1,86 @@ -{ stdenv, meson, ninja, gettext, fetchurl, evince, gjs -, pkgconfig, gtk3, glib, tracker, tracker-miners -, itstool, libxslt, webkitgtk, libgdata -, gnome-desktop, libzapojit, libgepub -, gnome3, gdk-pixbuf, libsoup, docbook_xsl, docbook_xml_dtd_42 -, gobject-introspection, inkscape, poppler_utils -, desktop-file-utils, wrapGAppsHook, python3, gsettings-desktop-schemas }: +{ stdenv +, meson +, ninja +, gettext +, fetchurl +, evince +, gjs +, pkgconfig +, gtk3 +, glib +, tracker +, tracker-miners +, itstool +, libxslt +, webkitgtk +, libgdata +, gnome-desktop +, libzapojit +, libgepub +, gnome3 +, gdk-pixbuf +, libsoup +, docbook_xsl +, docbook_xml_dtd_42 +, gobject-introspection +, inkscape +, poppler_utils +, desktop-file-utils +, wrapGAppsHook +, python3 +, gsettings-desktop-schemas +}: stdenv.mkDerivation rec { pname = "gnome-documents"; - version = "3.33.90"; + version = "3.34.0"; src = fetchurl { url = "mirror://gnome/sources/gnome-documents/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0l9g10i380bnjp1y3pslsy8ph1hd5x1d57dadvq70p5ki4r3qjaw"; + sha256 = "1qph567mapg3s1a26k7b8y57g9bklhj2mh8xm758z9zkms20xafq"; }; + nativeBuildInputs = [ + meson + ninja + pkgconfig + gettext + itstool + libxslt + desktop-file-utils + docbook_xsl + docbook_xml_dtd_42 + wrapGAppsHook + python3 + + # building getting started + inkscape + poppler_utils + ]; + + buildInputs = [ + gtk3 + glib + gsettings-desktop-schemas + gdk-pixbuf + gnome3.adwaita-icon-theme + evince + libsoup + webkitgtk + gjs + gobject-introspection + tracker + tracker-miners + libgdata + gnome-desktop + libzapojit + libgepub + ]; + doCheck = true; mesonFlags = [ - "-Dgetting-started=true" - ]; - - nativeBuildInputs = [ - meson ninja pkgconfig gettext itstool libxslt desktop-file-utils docbook_xsl docbook_xml_dtd_42 wrapGAppsHook python3 - inkscape poppler_utils # building getting started - ]; - buildInputs = [ - gtk3 glib gsettings-desktop-schemas - gdk-pixbuf gnome3.adwaita-icon-theme evince - libsoup webkitgtk gjs gobject-introspection - tracker tracker-miners libgdata - gnome-desktop libzapojit libgepub + "-Dgetting_started=true" ]; postPatch = '' @@ -44,13 +94,13 @@ stdenv.mkDerivation rec { passthru = { updateScript = gnome3.updateScript { - packageName = "gnome-documents"; - attrPath = "gnome3.gnome-documents"; + packageName = pname; + attrPath = "gnome3.${pname}"; }; }; meta = with stdenv.lib; { - homepage = https://wiki.gnome.org/Apps/Documents; + homepage = "https://wiki.gnome.org/Apps/Documents"; description = "Document manager application designed to work with GNOME 3"; maintainers = gnome3.maintainers; license = licenses.gpl2; diff --git a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix index 204d0a8982e..8ac7ad7f2d2 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix @@ -1,29 +1,85 @@ -{ stdenv, meson, ninja, gettext, fetchurl, gdk-pixbuf, tracker -, libxml2, python3, libnotify, wrapGAppsHook, libmediaart -, gobject-introspection, gnome-online-accounts, grilo, grilo-plugins -, pkgconfig, gtk3, glib, desktop-file-utils, appstream-glib -, itstool, gnome3, gst_all_1, libdazzle, libsoup, gsettings-desktop-schemas }: +{ stdenv +, meson +, ninja +, gettext +, fetchurl +, gdk-pixbuf +, tracker +, libxml2 +, python3 +, libnotify +, wrapGAppsHook +, libmediaart +, gobject-introspection +, gnome-online-accounts +, grilo +, grilo-plugins +, pkgconfig +, gtk3 +, glib +, desktop-file-utils +, appstream-glib +, itstool +, gnome3 +, gst_all_1 +, libdazzle +, libsoup +, gsettings-desktop-schemas +}: python3.pkgs.buildPythonApplication rec { pname = "gnome-music"; - version = "3.34.0"; + version = "3.34.1"; format = "other"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1a566ifx08clfm22qzdh1i6w8cr2kv7avqzkk6zgc5adba0vmzx4"; + sha256 = "128griji0ficf9agnlhfqh9wf819zdfcz5bbrr12nkxnhksnqv99"; }; - nativeBuildInputs = [ meson ninja gettext itstool pkgconfig libxml2 wrapGAppsHook desktop-file-utils appstream-glib gobject-introspection ]; - buildInputs = with gst_all_1; [ - gtk3 glib libmediaart gnome-online-accounts gobject-introspection - gdk-pixbuf gnome3.adwaita-icon-theme python3 - grilo grilo-plugins libnotify libdazzle libsoup - gsettings-desktop-schemas tracker - gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly + nativeBuildInputs = [ + meson + ninja + gettext + itstool + pkgconfig + libxml2 + wrapGAppsHook + desktop-file-utils + appstream-glib + gobject-introspection + ]; + + buildInputs = [ + gtk3 + glib + libmediaart + gnome-online-accounts + gobject-introspection + gdk-pixbuf + gnome3.adwaita-icon-theme + python3 + grilo + grilo-plugins + libnotify + libdazzle + libsoup + gsettings-desktop-schemas + tracker + ] ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gst-plugins-ugly + ]); + + propagatedBuildInputs = with python3.pkgs; [ + pycairo + dbus-python + pygobject3 ]; - propagatedBuildInputs = with python3.pkgs; [ pycairo dbus-python pygobject3 ]; postPatch = '' @@ -43,10 +99,10 @@ python3.pkgs.buildPythonApplication rec { }; meta = with stdenv.lib; { - homepage = https://wiki.gnome.org/Apps/Music; + homepage = "https://wiki.gnome.org/Apps/Music"; description = "Music player and management application for the GNOME desktop environment"; maintainers = gnome3.maintainers; - license = licenses.gpl2; + license = licenses.gpl2Plus; platforms = platforms.linux; }; } diff --git a/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix b/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix deleted file mode 100644 index cb0c1494b94..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, gnome3, itstool, libxml2, intltool }: - -stdenv.mkDerivation rec { - pname = "gnome-user-docs"; - version = "3.34.0"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-user-docs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1v94mz8zwzx67db2avbi9p2klw36cz45qr6fbskpvygz2pzhg6cg"; - }; - - passthru = { - updateScript = gnome3.updateScript { packageName = "gnome-user-docs"; attrPath = "gnome3.gnome-user-docs"; }; - }; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gnome3.yelp itstool libxml2 intltool ]; - - meta = with stdenv.lib; { - homepage = https://help.gnome.org/users/gnome-help/; - description = "User and system administration help for the GNOME desktop"; - maintainers = gnome3.maintainers; - license = licenses.cc-by-30; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 3b55cf86bd9..1e760c06029 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -99,8 +99,6 @@ lib.makeScope pkgs.newScope (self: with self; { gnome-themes-extra = callPackage ./core/gnome-themes-extra { }; - gnome-user-docs = callPackage ./core/gnome-user-docs { }; - gnome-user-share = callPackage ./core/gnome-user-share { }; gucharmap = callPackage ./core/gucharmap { }; @@ -160,8 +158,6 @@ lib.makeScope pkgs.newScope (self: with self; { yelp-xsl = callPackage ./core/yelp-xsl { }; - yelp-tools = callPackage ./core/yelp-tools { }; - zenity = callPackage ./core/zenity { }; @@ -357,7 +353,11 @@ lib.makeScope pkgs.newScope (self: with self; { inherit (pkgs) vala; # added 2019-10-10 + inherit (pkgs) gnome-user-docs; # added 2019-11-20 + inherit (pkgs) gegl_0_4; # added 2019-10-31 inherit (pkgs) gjs; # added 2019-01-05 + + inherit (pkgs) yelp-tools; # added 2019-11-20 }) diff --git a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix index bcbe50e5de3..4cdaacddbeb 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.2"; + version = "1.5.3"; repoName = "calculator"; @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "1vdgl89hdf9q1ya6as7310hlr0xls3w7js2gzsd9z8arb6037ccl"; + sha256 = "0ibnj3zm93p8ghiy8gbbm0vlig9mnqjsvvp1cpw62dnap0qixdcg"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix index 94b6a2fce8e..50a797a702d 100644 --- a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { pname = "elementary-photos"; - version = "2.6.4"; + version = "2.6.5"; repoName = "photos"; @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "17r9658s0pqy6s45ysi3915sm8hpvmsp7cw2jahqvjc61r4qpdc1"; + sha256 = "0r6d9y936nw4bn0jvixi1p62dy8qsgl2bx8g3889fndnhfnhbjv0"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix b/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix index 4dd168f25f0..ce9d0b6c82d 100644 --- a/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { pname = "elementary-screenshot-tool"; # This will be renamed to "screenshot" soon. See -> https://github.com/elementary/screenshot/pull/93 - version = "1.6.2"; + version = "1.7.0"; repoName = "screenshot"; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "1z61j96jk9zjr3bn5hgsp25m4v8h1rqwxm0kg8c34bvl06f13v8q"; + sha256 = "09jcyy4drzpfxb1blln7hyjg5b7r8w5j5v7va2qhq31y7vzczh62"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix index 8bd335c6530..e847a139616 100644 --- a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { pname = "elementary-terminal"; - version = "5.3.6"; + version = "5.4.0"; repoName = "terminal"; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "0jp21sy8k3jq3ycvng9yy2hbhcvfgiknxxa8vcg3c06vqhadmnc3"; + sha256 = "1rj4hrg5qljsv11apgdp0x4dazlfmjq3s0lk0dvwjvh9nqkr6jbw"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix index c179160ddab..6c97c986ae0 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-about"; - version = "2.6.0"; + version = "2.6.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "12ysymk5y2k49yh3rzmra7jmimxrd54gz2f4ssc9i8w06xj5djp7"; + sha256 = "1z58d21xrjghvjx0ng53pcxwdk2f5d00dvngcyjja0kf7sixba71"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix index ddb589c9e79..c15219fbdf8 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-applications"; - version = "2.1.5"; + version = "2.1.6"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1c4agff456625kycacpsww7c9jsnsg1rqps96r7cvn9zq371b5ir"; + sha256 = "19l979sdn9jzibvn98ag3ys28ka7zqlsbs0gj2gs9jcxhzngrxvg"; }; passthru = { @@ -42,8 +42,6 @@ stdenv.mkDerivation rec { switchboard ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - meta = with stdenv.lib; { description = "Switchboard Applications Plug"; homepage = https://github.com/elementary/switchboard-plug-applications; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix index 00524786f4b..eb3066597ed 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-display"; - version = "2.1.9"; + version = "2.2.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0g9apywxgkan82h933rjjdm9fhd8vak8mziwsbqlprdz310b2jb2"; + sha256 = "0mr89kyq034wffzixqlq6lmhyc4jry3dcgxrk306dhks2myindqh"; }; 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 a8556bd5401..7578b779058 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-mouse-touchpad"; - version = "2.2.0"; + version = "2.3.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0mr25p7j5hl8zmvz5i3g30s4xbdhk6d22lw2akch3si40il9q5fv"; + sha256 = "1cg69nbdf4mcr16mi71aw9j8877lyj8yxjfk9bd3sml8f4fh7mmr"; }; patches = [ @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { ]; postPatch = '' - substituteInPlace src/Views/General.vala \ + substituteInPlace src/Views/Clicking.vala \ --subst-var-by GSD_GSETTINGS ${glib.getSchemaPath elementary-settings-daemon} ''; @@ -54,8 +54,6 @@ stdenv.mkDerivation rec { switchboard ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - meta = with stdenv.lib; { description = "Switchboard Mouse & Touchpad Plug"; homepage = https://github.com/elementary/switchboard-plug-mouse-touchpad; 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 index b904fe15309..591ed9fc152 100644 --- 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 @@ -1,63 +1,76 @@ -diff --git a/src/Views/General.vala b/src/Views/General.vala -index 4b19b73..dfa3d4d 100644 ---- a/src/Views/General.vala -+++ b/src/Views/General.vala -@@ -138,32 +138,34 @@ public class MouseTouchpad.GeneralView : Gtk.Grid { - attach (pointer_speed_scale, 3, 8); - attach (pointer_speed_help, 1, 9, 3); +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", false); +- 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; -- -- var primary_paste_help = new Gtk.Label (_("Middle or three-finger clicking on an input will paste any selected text")); ++ 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); - -- attach (new SettingLabel (_("Middle click paste:")), 0, 4); -- attach (primary_paste_switch, 1, 4); -- attach (primary_paste_help, 1, 5, 3); +- 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 current_value = xsettings.get_value ("overrides").lookup_value ("Gtk/EnablePrimaryPaste", VariantType.INT32); +- 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_switch = new Gtk.Switch (); -+ primary_paste_switch.halign = Gtk.Align.START; -+ -+ var primary_paste_help = new Gtk.Label (_("Middle or three-finger clicking on an input will paste any selected text")); ++ 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); + -+ attach (new SettingLabel (_("Middle click paste:")), 0, 4); -+ attach (primary_paste_switch, 1, 4); -+ attach (primary_paste_help, 1, 5, 3); -+ -+ 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); ++ 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)); ++ 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); ++ 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"); -- daemon_settings.bind ("locate-pointer", reveal_pointer_switch, "active", GLib.SettingsBindFlags.DEFAULT); -+ SettingsSchema daemon_mouse_schema = daemon_schema_source.lookup ("org.gnome.settings-daemon.peripherals.mouse", false); -+ -+ var daemon_mouse_settings = new GLib.Settings.full (daemon_mouse_schema, null, null); -+ daemon_mouse_settings.bind ("locate-pointer", reveal_pointer_switch, "active", GLib.SettingsBindFlags.DEFAULT); ++ 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"); - a11y_mouse_settings.bind ("secondary-click-enabled", hold_switch, "active", GLib.SettingsBindFlags.DEFAULT); diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix index 175f0e45f46..be4614df557 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-network"; - version = "2.1.4"; + version = "2.2.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "12lvcc15jngzsa40fjhxa6kccs58h5qq4lqrc7lcx5przmfaik8k"; + sha256 = "0zg4bxrrw1nmm91yp8ymji7mha2wcjrwljcnpcvxq7lf8f2k0145"; }; passthru = { @@ -49,14 +49,12 @@ stdenv.mkDerivation rec { patches = [ (substituteAll { - src = ./nma.patch; - networkmanagerapplet = networkmanagerapplet; + src = ./fix-paths.patch; + inherit networkmanagerapplet; }) ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - meta = with stdenv.lib; { description = "Switchboard Networking Plug"; homepage = https://github.com/elementary/switchboard-plug-network; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch new file mode 100644 index 00000000000..e2d7a6d4970 --- /dev/null +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch @@ -0,0 +1,35 @@ +diff --git a/src/Views/VPNPage.vala b/src/Views/VPNPage.vala +index 82e7826..cf00145 100644 +--- a/src/Views/VPNPage.vala ++++ b/src/Views/VPNPage.vala +@@ -265,7 +265,7 @@ public class Network.VPNPage : Network.Widgets.Page { + private void try_connection_editor (string args) { + try { + var appinfo = AppInfo.create_from_commandline ( +- "nm-connection-editor %s".printf (args), ++ "@networkmanagerapplet@/bin/nm-connection-editor %s".printf (args), + null, + GLib.AppInfoCreateFlags.NONE + ); +diff --git a/src/Widgets/SettingsButton.vala b/src/Widgets/SettingsButton.vala +index ed36b38..bc71c0c 100644 +--- a/src/Widgets/SettingsButton.vala ++++ b/src/Widgets/SettingsButton.vala +@@ -24,7 +24,7 @@ + clicked.connect (() => { + try { + var appinfo = AppInfo.create_from_commandline ( +- "nm-connection-editor", ++ "@networkmanagerapplet@/bin/nm-connection-editor", + null, + AppInfoCreateFlags.NONE + ); +@@ -71,7 +71,7 @@ + private void edit_connection_uuid (string uuid) { + try { + var appinfo = AppInfo.create_from_commandline ( +- "nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE ++ "@networkmanagerapplet@/bin/nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE + ); + + appinfo.launch (null, null); diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch deleted file mode 100644 index a5fff9d6a32..00000000000 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/src/Widgets/SettingsButton.vala b/src/Widgets/SettingsButton.vala -index 19fd514..bc800d9 100644 ---- a/src/Widgets/SettingsButton.vala -+++ b/src/Widgets/SettingsButton.vala -@@ -23,7 +23,7 @@ - label = _("Edit Connections…"); - clicked.connect (() => { - try { -- var appinfo = AppInfo.create_from_commandline ("nm-connection-editor", null, AppInfoCreateFlags.NONE); -+ var appinfo = AppInfo.create_from_commandline ("@networkmanagerapplet@/bin/nm-connection-editor", null, AppInfoCreateFlags.NONE); - appinfo.launch (null, null); - } catch (Error e) { - warning ("%s", e.message); -@@ -61,13 +61,13 @@ - label = title; - clicked.connect (() => { - edit_connection_uuid (connection.get_uuid ()); -- }); -+ }); - } - - private void edit_connection_uuid (string uuid) { - try { - var appinfo = AppInfo.create_from_commandline ( -- "nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE -+ "@networkmanagerapplet@/bin/nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE - ); - - appinfo.launch (null, null); -diff --git a/src/Widgets/VPN/VPNPage.vala b/src/Widgets/VPN/VPNPage.vala -index 23c3ae9..c71984c 100644 ---- a/src/Widgets/VPN/VPNPage.vala -+++ b/src/Widgets/VPN/VPNPage.vala -@@ -86,8 +86,7 @@ namespace Network { - add_button.tooltip_text = _("Add VPN Connection…"); - add_button.clicked.connect (() => { - add_button.sensitive = false; -- var command = new Granite.Services.SimpleCommand ("/usr/bin", -- "nm-connection-editor --create --type=vpn"); -+ var command = new Granite.Services.SimpleCommand ("@networkmanagerapplet@", "bin/nm-connection-editor --create --type=vpn"); - command.done.connect ((exit) => { - if (exit != 0) { - var dialog = new Gtk.MessageDialog (null, Gtk.DialogFlags.MODAL, Gtk.MessageType.ERROR, Gtk.ButtonsType.CLOSE, "%s", _("Failed to run Connection Editor.")); 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 35dd958483d..cd48b9d1d78 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-pantheon-shell"; - version = "2.8.1"; + version = "2.8.2"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1vrnzxqzl84k8gbrais4j1jyap10kvil4cr769jpr3q3bkbblwrw"; + sha256 = "0l4js2gqvn8lmky5b3jjqw6mzxcv9i2gjqr1vka0z40px6vfzf0z"; }; passthru = { @@ -43,23 +43,17 @@ stdenv.mkDerivation rec { patches = [ ./backgrounds.patch # Having https://github.com/elementary/switchboard-plug-pantheon-shell/issues/166 would make this patch uneeded ./hardcode-gsettings.patch - # Fixes https://github.com/elementary/switchboard-plug-pantheon-shell/issues/172 - (fetchpatch { - url = "https://github.com/elementary/switchboard-plug-pantheon-shell/commit/e4f86df6a6be402db4c979a4b005573618b744d1.patch"; - sha256 = "0sa8611k6sqg96mnp2plmxd30w6zq76bfwszl8ankr9kwsgyc66y"; - }) ]; 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} ''; - - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - 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 index d023e1b55ce..d337cf2e7b7 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch @@ -1,5 +1,5 @@ diff --git a/src/Views/Appearance.vala b/src/Views/Appearance.vala -index 721d458..17e1c58 100644 +index c8300cc..fc48a0e 100644 --- a/src/Views/Appearance.vala +++ b/src/Views/Appearance.vala @@ -66,10 +66,16 @@ public class Appearance : Gtk.Grid { @@ -17,7 +17,23 @@ index 721d458..17e1c58 100644 + 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 Settings.full (panel_schema, null, null); ++ 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 7bc3f6ba7ad..1639181193a 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-power"; - version = "2.3.5"; + version = "2.4.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1wcxz4jxyv8kms9gxpwvrb356h10qvcwmdjzjzl2bvj5yl1rfcs9"; + sha256 = "1b25slfh8166v9z2zmb25k64pcj0lh001qh04qhfilzfcbh54krj"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix index aa65934acdb..10c95dd7b8e 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-printers"; - version = "2.1.6"; + version = "2.1.7"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "05pkf3whh51gd9d0h2h4clgf7r3mvzl4ybas7834vhy19dzcbzmc"; + sha256 = "03r67q6my10i4hl8d0q3d6fhqm9abs9kn9j92hk6ykqb4ybxw1z1"; }; passthru = { @@ -45,16 +45,6 @@ stdenv.mkDerivation rec { switchboard ]; - patches = [ - # Fix build with latest vala. - (fetchpatch { - url = "https://github.com/elementary/switchboard-plug-printers/commit/3175c2ebf106145a95355d2571e0a2aa4834e884.patch"; - sha256 = "1b2q48a1284037nz79vjcrz8g2qpsyg7s5rag6bfp03a1ijb7gw3"; - }) - ]; - - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - meta = with stdenv.lib; { description = "Switchboard Printers Plug"; homepage = https://github.com/elementary/switchboard-plug-printers; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix index dee2f851e3f..cd4b4beb1df 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-sound"; - version = "2.2.1"; + version = "2.2.2"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0frml591r82j7hf1zlccgv8pzk3w10x470f9nzvdgdjpz0r776k2"; + sha256 = "1aa9wgaz34glrrnilnqis3k0bnx2a2ir38j493y4d0klkjkwyn5k"; }; passthru = { @@ -48,8 +48,6 @@ stdenv.mkDerivation rec { switchboard ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - meta = with stdenv.lib; { description = "Switchboard Sound Plug"; homepage = https://github.com/elementary/switchboard-plug-sound; diff --git a/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix b/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix index 3ee55a141b8..2c532f899ab 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix @@ -14,12 +14,13 @@ , elementary-icon-theme , elementary-gtk-theme , gettext +, libhandy , wrapGAppsHook }: stdenv.mkDerivation rec { pname = "elementary-onboarding"; - version = "1.0.1"; + version = "1.1.0"; repoName = "onboarding"; @@ -27,7 +28,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "025i9av4waqwp1gn8d6sjp8qdwg2j3jskxhmyf9qxbzwfc5msysg"; + sha256 = "17fw95qg7j0mvam90jrvr77hw2ipxb2lkw0xxql1lzwvdx1h0r2k"; }; passthru = { @@ -48,20 +49,13 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + elementary-gtk-theme elementary-icon-theme + glib granite gtk3 - elementary-gtk-theme libgee - glib - ]; - - patches = [ - # Make sure we use our logo from /etc/os-release - (fetchpatch { - url = "https://github.com/elementary/onboarding/commit/03975bacb75741d3dd391a126217e415f43c6059.patch"; - sha256 = "1yw7dysav90abxnmkv86bc60dyl8nvi0sgaiz8v39cc2x00rqsg1"; - }) + libhandy ]; postPatch = '' diff --git a/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix b/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix index 20b1ac7d353..097c62f344f 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { pname = "elementary-shortcut-overlay"; - version = "1.0.1"; + version = "1.1.0"; repoName = "shortcut-overlay"; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "1ph4rx2l5fn0zh4fjfjlgbgskmzc0lvzqgcv7v4kr5m4rij1p4y4"; + sha256 = "10s44x5qln3asrdr6v5b3v92prh8rfhv96dbm73zhifm2jjm22g8"; }; passthru = { diff --git a/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix b/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix index 8afbbbeed82..1e7f82f134d 100644 --- a/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix +++ b/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "pantheon-agent-geoclue2"; - version = "1.0.2"; + version = "1.0.3"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1hjnbbzsch09090b200b3i85x8fv95agfqd6nrlc9za3jqjhm2xs"; + sha256 = "1fhgdcykn0ykn8fp7inn2akygpglhdwfpdkpnih86kqmqj8siahv"; }; passthru = { diff --git a/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix b/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix index 53a65ddb947..0259e687bd3 100644 --- a/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix +++ b/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix @@ -7,19 +7,20 @@ , vala , gtk3 , libgee +, granite , polkit , wrapGAppsHook }: stdenv.mkDerivation rec { pname = "pantheon-agent-polkit"; - version = "0.1.6"; + version = "1.0.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1g9l2jzpvv0dbvxh93w98a7ijsfqv3s3382li4s256179gihhd67"; + sha256 = "1yybblprcn0cgcf9j76yckqcimm4h8l41cczxjvgp789p1pki3bn"; }; passthru = { @@ -37,6 +38,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + granite gtk3 libgee polkit diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix index 4a8c3f40831..d80f51831fd 100644 --- a/pkgs/desktops/plasma-5/default.nix +++ b/pkgs/desktops/plasma-5/default.nix @@ -43,7 +43,7 @@ let propagate = out: let setupHook = { writeScript }: writeScript "setup-hook" '' - if [ "${hookName:-}" != postHook ]; then + if [ "''${hookName:-}" != postHook ]; then postHooks+=("source @dev@/nix-support/setup-hook") else # Propagate $${out} output diff --git a/pkgs/development/compilers/carp/default.nix b/pkgs/development/compilers/carp/default.nix index 235ec409039..e02880b314e 100644 --- a/pkgs/development/compilers/carp/default.nix +++ b/pkgs/development/compilers/carp/default.nix @@ -1,21 +1,22 @@ { stdenv, fetchFromGitHub, makeWrapper, clang, haskellPackages }: -haskellPackages.mkDerivation { +haskellPackages.mkDerivation rec { pname = "carp"; - version = "unstable-2018-09-15"; + version = "0.3.0"; src = fetchFromGitHub { owner = "carp-lang"; repo = "Carp"; - rev = "cf9286c35cab1c170aa819f7b30b5871b9e812e6"; - sha256 = "1k6kdxbbaclhi40b9p3fgbkc1x6pc4v0029xjm6gny6pcdci2cli"; + rev = "v${version}"; + sha256 = "07yk3gy4l6h3k7sh8al7lgwk75a13zxwfp7siqpb5gnnqr1z3brc"; }; buildDepends = [ makeWrapper ]; executableHaskellDepends = with haskellPackages; [ - HUnit blaze-markup blaze-html split cmdargs + HUnit blaze-markup blaze-html split cmdargs ansi-terminal cmark + edit-distance ]; isExecutable = true; diff --git a/pkgs/development/compilers/gerbil/unstable.nix b/pkgs/development/compilers/gerbil/unstable.nix index a9618a7e066..5f0347aa9a6 100644 --- a/pkgs/development/compilers/gerbil/unstable.nix +++ b/pkgs/development/compilers/gerbil/unstable.nix @@ -1,14 +1,15 @@ -{ stdenv, callPackage, fetchFromGitHub, gambit-unstable }: +{ stdenv, callPackage, fetchFromGitHub, gambit, gambit-unstable }: callPackage ./build.nix { - version = "unstable-2019-08-11"; - git-version = "0.16-DEV-132-gcb58f9a3"; - gambit = gambit-unstable; + version = "unstable-2019-11-15"; + git-version = "0.15.1-461-gee22de62"; + #gambit = gambit-unstable; + gambit = gambit; src = fetchFromGitHub { owner = "vyzo"; repo = "gerbil"; - rev = "cb58f9a30630a6f3e85a55f2c1dcc654f517ffed"; - sha256 = "18jh64v1gi6z3pks9zf19f2wcjpv21cs270dnaq617kgwp53vysh"; + rev = "ee22de628a656ee59c6c72bc25d7b2e25a4ece2f"; + sha256 = "1n1j596b91k9xcmv22l72nga6wv20bka2q51ik2jw2vkcw8zkc1c"; }; inherit stdenv; } diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index 565c545e48c..0e73f81fbab 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -2,11 +2,14 @@ # build-tools , bootPkgs -, autoconf, automake, coreutils, fetchgit, fetchpatch, perl, python3, m4, sphinx +, autoconf, autoreconfHook, automake, coreutils, fetchgit, fetchpatch, perl, python3, m4, sphinx , bash , libiconv ? null, ncurses +, enableDwarf ? !stdenv.targetPlatform.isDarwin && + !stdenv.targetPlatform.isWindows, elfutils # for DWARF support + , useLLVM ? !stdenv.targetPlatform.isx86 , # LLVM is conceptually a run-time-only depedendency, but for # non-x86, we need LLVM to bootstrap later stages, so it becomes a @@ -27,7 +30,7 @@ , # Whetherto build terminfo. enableTerminfo ? !stdenv.targetPlatform.isWindows -, version ? "8.9.20190924" +, version ? "8.10.20191119" , # What flavour to build. An empty string indicates no # specific flavour and falls back to ghc default values. ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) @@ -73,7 +76,8 @@ let # Splicer will pull out correct variations libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ] ++ stdenv.lib.optional (!enableIntegerSimple) gmp - ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv; + ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv + ++ stdenv.lib.optional enableDwarf elfutils; toolsForTarget = [ pkgsBuildTarget.targetPackages.stdenv.cc @@ -89,8 +93,8 @@ stdenv.mkDerivation (rec { src = fetchgit { url = "https://gitlab.haskell.org/ghc/ghc.git/"; - rev = "795986aaf33e2ffc233836b86a92a77366c91db2"; - sha256 = "0a111x6c53r07q5qdg6c8mnydqp0wh4mpxmw7ga4x5wlap8i0bji"; + rev = "0418c38d55c7a47967187dce2db5ea2ab1021b1e"; + sha256 = "1d8g30ii0w4xh6fh61bxbalsqqyanny99nn3p727fx7favnhgvxi"; }; enableParallelBuilding = true; @@ -98,13 +102,6 @@ stdenv.mkDerivation (rec { outputs = [ "out" "doc" ]; patches = [ - (fetchpatch { # https://github.com/haskell/haddock/issues/900 - url = "https://patch-diff.githubusercontent.com/raw/haskell/haddock/pull/983.diff"; - name = "loadpluginsinmodules.diff"; - sha256 = "0bvvv0zsfq2581zsir97zfkggc1kkircbbajc2fz3b169ycpbha1"; - extraPrefix = "utils/haddock/"; - stripLen = 1; - }) ]; postPatch = "patchShebangs ."; @@ -176,13 +173,17 @@ stdenv.mkDerivation (rec { "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [ "--disable-large-address-space" + ] ++ stdenv.lib.optional enableDwarf [ + "--enable-dwarf-unwind" + "--with-libdw-includes=${stdenv.lib.getDev elfutils}/include" + "--with-libdw-libraries=${stdenv.lib.getLib elfutils}/lib" ]; # Make sure we never relax`$PATH` and hooks support for compatability. strictDeps = true; nativeBuildInputs = [ - perl autoconf automake m4 python3 sphinx + perl autoconf autoreconfHook automake m4 python3 sphinx ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour ]; diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix index ff3d03321e2..4debf10c0cb 100644 --- a/pkgs/development/compilers/openjdk/8.nix +++ b/pkgs/development/compilers/openjdk/8.nix @@ -193,6 +193,11 @@ let mkdir $out/lib/openjdk/jre lndir $jre/lib/openjdk/jre $out/lib/openjdk/jre + # Make sure cmm/*.pf are not symlinks: + # https://youtrack.jetbrains.com/issue/IDEA-147272 + rm -rf $out/lib/openjdk/jre/lib/cmm + ln -s {$jre,$out}/lib/openjdk/jre/lib/cmm + # Setup fallback fonts ${lib.optionalString (!headless) '' mkdir -p $jre/lib/openjdk/jre/lib/fonts diff --git a/pkgs/development/compilers/unison/default.nix b/pkgs/development/compilers/unison/default.nix index 90dd233a2bb..03a62d1e4d8 100644 --- a/pkgs/development/compilers/unison/default.nix +++ b/pkgs/development/compilers/unison/default.nix @@ -4,18 +4,18 @@ stdenv.mkDerivation rec { pname = "unison-code-manager"; - milestone_id = "M1e"; + milestone_id = "M1f"; version = "1.0.${milestone_id}-alpha"; src = if (stdenv.isDarwin) then fetchurl { url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/unison-osx.tar.gz"; - sha256 = "1jcjc8drjnvr67174ym9cppzi5zdq7jrj98xmf8gvrbx45v2gc6h"; + sha256 = "089nb0b9ghsdbs39sskwa9a6v6s5xwshcfzk9qbbpahzphp1xmfk"; } else fetchurl { url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/unison-linux64.tar.gz"; - sha256 = "1jq6xx879lqv3hxq8azg1rp72hy63qsn5w9nx95i4dzmmgwp0xx1"; + sha256 = "0jq2cspanlw15910khlzfdqdfgkwkr1q4fkmrkj0q8gz70mqi6ri"; }; # The tarball is just the prebuilt binary, in the archive root. diff --git a/pkgs/development/interpreters/eff/default.nix b/pkgs/development/interpreters/eff/default.nix index 7c7cd9abb7e..9da2b0d899d 100644 --- a/pkgs/development/interpreters/eff/default.nix +++ b/pkgs/development/interpreters/eff/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation { checkTarget = "test"; meta = with stdenv.lib; { - homepage = http://www.eff-lang.org; + homepage = https://www.eff-lang.org; description = "A functional programming language based on algebraic effects and their handlers"; longDescription = '' Eff is a functional language with handlers of not only exceptions, diff --git a/pkgs/development/interpreters/lua-5/CVE-2019-6706.patch b/pkgs/development/interpreters/lua-5/CVE-2019-6706.patch new file mode 100644 index 00000000000..89e81b7eb68 --- /dev/null +++ b/pkgs/development/interpreters/lua-5/CVE-2019-6706.patch @@ -0,0 +1,22 @@ +--- a/src/lapi.c ++++ b/src/lapi.c +@@ -1285,14 +1285,14 @@ LUA_API void *lua_upvalueid (lua_State * + + LUA_API void lua_upvaluejoin (lua_State *L, int fidx1, int n1, + int fidx2, int n2) { +- LClosure *f1; +- UpVal **up1 = getupvalref(L, fidx1, n1, &f1); ++ UpVal **up1 = getupvalref(L, fidx1, n1, NULL); /* the last parameter not needed */ + UpVal **up2 = getupvalref(L, fidx2, n2, NULL); ++ if (*up1 == *up2) return; /* Already joined */ ++ (*up2)->refcount++; ++ if (upisopen(*up2)) (*up2)->u.open.touched = 1; ++ luaC_upvalbarrier(L, *up2); + luaC_upvdeccount(L, *up1); + *up1 = *up2; +- (*up1)->refcount++; +- if (upisopen(*up1)) (*up1)->u.open.touched = 1; +- luaC_upvalbarrier(L, *up1); + } + + diff --git a/pkgs/development/interpreters/lua-5/default.nix b/pkgs/development/interpreters/lua-5/default.nix index 1398e66d9a5..7e79ff8f117 100644 --- a/pkgs/development/interpreters/lua-5/default.nix +++ b/pkgs/development/interpreters/lua-5/default.nix @@ -1,5 +1,5 @@ # similar to interpreters/python/default.nix -{ stdenv, lib, callPackage, fetchurl }: +{ stdenv, lib, callPackage, fetchurl, fetchpatch }: let dsoPatch51 = fetchurl { url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/lua-arch.patch?h=packages/lua51"; @@ -18,7 +18,10 @@ in rec { lua5_3 = callPackage ./interpreter.nix { sourceVersion = { major = "5"; minor = "3"; patch = "5"; }; hash = "0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac"; - patches = lib.optionals stdenv.isDarwin [ ./5.2.darwin.patch ] ; + patches = + lib.optionals stdenv.isDarwin [ ./5.2.darwin.patch ] ++ [ + ./CVE-2019-6706.patch + ]; postConfigure = lib.optionalString (!stdenv.isDarwin) '' cat ${./lua-5.3-dso.make} >> src/Makefile sed -e 's/ALL_T *= */& $(LUA_SO)/' -i src/Makefile diff --git a/pkgs/development/interpreters/lua-5/wrapper.nix b/pkgs/development/interpreters/lua-5/wrapper.nix index 816744e61cf..53ec2baeb5e 100644 --- a/pkgs/development/interpreters/lua-5/wrapper.nix +++ b/pkgs/development/interpreters/lua-5/wrapper.nix @@ -11,7 +11,7 @@ let env = let paths = requiredLuaModules (extraLibs ++ [ lua ] ); - in buildEnv { + in (buildEnv { name = "${lua.name}-env"; inherit paths; @@ -20,12 +20,6 @@ let # we create wrapper for the binaries in the different packages postBuild = '' - - . "${makeWrapper}/nix-support/setup-hook" - - # get access to lua functions - . ${lua}/nix-support/setup-hook - if [ -L "$out/bin" ]; then unlink "$out/bin" fi @@ -68,5 +62,8 @@ let ''; }; }; - }; + }).overrideAttrs (_: { + # Add extra deps needed for postBuild hook. + nativeBuildInputs = [ makeWrapper lua ]; + }); in env diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index 09c324716bd..43d2d159e36 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -17,6 +17,7 @@ # For the Python package set , packageOverrides ? (self: super: {}) , buildPackages +, pythonForBuild ? buildPackages.${"python${sourceVersion.major}${sourceVersion.minor}"} , sourceVersion , sha256 , passthruFun @@ -63,7 +64,7 @@ let hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false); - pythonForBuild = buildPackages.${"python${sourceVersion.major}${sourceVersion.minor}"}; + inherit pythonForBuild; pythonForBuildInterpreter = if stdenv.hostPlatform == stdenv.buildPlatform then "$out/bin/python" diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index f5f4dce68b4..3be722cd156 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 { +in rec { python27 = callPackage ./cpython/2.7 { self = python27; @@ -127,18 +127,9 @@ in { }; # Minimal versions of Python (built without optional dependencies) - python3Minimal = (callPackage ./cpython { + python3Minimal = (python37.override { self = python3Minimal; - sourceVersion = { - major = "3"; - minor = "7"; - patch = "4"; - suffix = ""; - }; - sha256 = "0gxiv5617zd7dnqm5k9r4q2188lk327nf9jznwq9j6b8p0s92ygv"; - inherit (darwin) CF configd; - inherit passthruFun; - + pythonForBuild = pkgs.buildPackages.python3Minimal; # strip down that python version as much as possible openssl = null; readline = null; diff --git a/pkgs/development/libraries/gjs/default.nix b/pkgs/development/libraries/gjs/default.nix index 6430be0b57f..c723a54765b 100644 --- a/pkgs/development/libraries/gjs/default.nix +++ b/pkgs/development/libraries/gjs/default.nix @@ -7,12 +7,14 @@ , gobject-introspection , spidermonkey_60 , pango +, cairo , readline , glib , libxml2 , dbus , gdk-pixbuf , makeWrapper +, nixosTests }: stdenv.mkDerivation rec { @@ -24,24 +26,24 @@ stdenv.mkDerivation rec { sha256 = "1xf68rbagkflb9yi3visfw8cbxqlzd717y8jakgw0y6whzm1dpxl"; }; - outputs = [ "out" "installedTests" ]; + outputs = [ "out" "dev" "installedTests" ]; nativeBuildInputs = [ pkgconfig makeWrapper + libxml2 # for xml-stripblanks ]; buildInputs = [ - libxml2 gobject-introspection - glib - pango + cairo readline - dbus + spidermonkey_60 + dbus # for dbus-run-session ]; propagatedBuildInputs = [ - spidermonkey_60 + glib ]; configureFlags = [ @@ -55,8 +57,6 @@ stdenv.mkDerivation rec { ''; postInstall = '' - sed 's|-lreadline|-L${readline.out}/lib -lreadline|g' -i $out/lib/libgjs.la - moveToOutput "share/installed-tests" "$installedTests" moveToOutput "libexec/gjs/installed-tests" "$installedTests" @@ -67,6 +67,10 @@ stdenv.mkDerivation rec { separateDebugInfo = stdenv.isLinux; passthru = { + tests = { + installed-tests = nixosTests.installed-tests.gjs; + }; + updateScript = gnome3.updateScript { packageName = "gjs"; }; diff --git a/pkgs/development/libraries/glib/setup-hook.sh b/pkgs/development/libraries/glib/setup-hook.sh index 20714ea7ab8..37c750b8db6 100644 --- a/pkgs/development/libraries/glib/setup-hook.sh +++ b/pkgs/development/libraries/glib/setup-hook.sh @@ -1,8 +1,8 @@ make_glib_find_gsettings_schemas() { # For packages that need gschemas of other packages (e.g. empathy) - for maybe_dir in "$1"/share/gsettings-schemas/*/glib-2.0; do - if [[ -d "$maybe_dir/schemas" ]]; then + for maybe_dir in "$1"/share/gsettings-schemas/*; do + if [[ -d "$maybe_dir/glib-2.0/schemas" ]]; then addToSearchPath GSETTINGS_SCHEMAS_PATH "$maybe_dir" fi done diff --git a/pkgs/development/libraries/glui/default.nix b/pkgs/development/libraries/glui/default.nix index 9379a0032af..8ac42375bf9 100644 --- a/pkgs/development/libraries/glui/default.nix +++ b/pkgs/development/libraries/glui/default.nix @@ -1,8 +1,27 @@ -{stdenv, fetchurl, freeglut, libGLU, libGL, libXmu, libXext, libX11, libXi}: -stdenv.mkDerivation { - name = "glui-2.35"; - buildInputs = [freeglut libGLU libGL libXmu libXext libX11 libXi]; +{ stdenv +, fetchurl +, freeglut +, libGL +, libGLU +, libX11 +, libXext +, libXi +, libXmu +}: + +stdenv.mkDerivation rec { + pname = "glui"; + version = "2.36"; + + src = fetchurl { + url = "mirror://sourceforge/project/glui/Source/${version}/glui-${version}.tgz"; + sha256 = "11r7f0k5jlbl825ibhm5c6bck0fn1hbliya9x1f253ikry1mxvy1"; + }; + + buildInputs = [ freeglut libGLU libGL libXmu libXext libX11 libXi ]; + preConfigure = ''cd src''; + installPhase = '' mkdir -p "$out"/{bin,lib,share/glui/doc,include} cp -rT bin "$out/bin" @@ -11,14 +30,11 @@ stdenv.mkDerivation { cp -rT doc "$out/share/glui/doc" cp LICENSE.txt "$out/share/glui/doc" ''; - src = fetchurl { - url = "mirror://sourceforge/project/glui/Source/2.36/glui-2.36.tgz"; - sha256 = "11r7f0k5jlbl825ibhm5c6bck0fn1hbliya9x1f253ikry1mxvy1"; - }; - meta = { + + meta = with stdenv.lib; { description = ''A user interface library using OpenGL''; - license = stdenv.lib.licenses.zlib ; - maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.linux; + license = licenses.zlib ; + maintainers = [ maintainers.raskin ]; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/hyphen/default.nix b/pkgs/development/libraries/hyphen/default.nix new file mode 100644 index 00000000000..9f30ff54823 --- /dev/null +++ b/pkgs/development/libraries/hyphen/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, perl, ... }: + +let + version = "2.8.8"; + folder = with builtins; + let parts = splitVersion version; + in concatStringsSep "." [ (elemAt parts 0) (elemAt parts 1) ]; +in stdenv.mkDerivation rec { + pname = "hyphen"; + inherit version; + + nativeBuildInputs = [ perl ]; + + src = fetchurl { + url = + "https://sourceforge.net/projects/hunspell/files/Hyphen/${folder}/${pname}-${version}.tar.gz"; + sha256 = "01ap9pr6zzzbp4ky0vy7i1983fwyqy27pl0ld55s30fdxka3ciih"; + }; + + meta = with stdenv.lib; { + description = "A text hyphenation library"; + homepage = "https://sourceforge.net/projects/hunspell/files/Hyphen/"; + platforms = platforms.all; + license = with licenses; [ gpl2 lgpl21 mpl11 ]; + maintainers = with maintainers; [ filalex77 ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix index aa9f95eebd3..845c911789d 100644 --- a/pkgs/development/libraries/kde-frameworks/default.nix +++ b/pkgs/development/libraries/kde-frameworks/default.nix @@ -42,7 +42,7 @@ let propagate = out: let setupHook = { writeScript }: writeScript "setup-hook" '' - if [ "${hookName:-}" != postHook ]; then + if [ "''${hookName:-}" != postHook ]; then postHooks+=("source @dev@/nix-support/setup-hook") else # Propagate $dev so that this setup hook is propagated diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh index 35982e86628..4135f6bfd7a 100644 --- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh +++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh @@ -42,12 +42,12 @@ ecmPostHook() { cmakeFlags+=" -DKDE_INSTALL_CONFDIR=${!outputBin}/etc/xdg" cmakeFlags+=" -DKDE_INSTALL_AUTOSTARTDIR=${!outputBin}/etc/xdg/autostart" - if [ -n "$qtPluginPrefix" ]; then + if [ -n "${qtPluginPrefix-}" ]; then cmakeFlags+=" -DKDE_INSTALL_QTPLUGINDIR=${!outputBin}/$qtPluginPrefix" cmakeFlags+=" -DKDE_INSTALL_PLUGINDIR=${!outputBin}/$qtPluginPrefix" fi - if [ -n "$qtQmlPrefix" ]; then + if [ -n "${qtQmlPrefix-}" ]; then cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputBin}/$qtQmlPrefix" fi } diff --git a/pkgs/development/libraries/ldns/default.nix b/pkgs/development/libraries/ldns/default.nix index 1aa208c2044..74ac59fef28 100644 --- a/pkgs/development/libraries/ldns/default.nix +++ b/pkgs/development/libraries/ldns/default.nix @@ -1,29 +1,14 @@ -{ stdenv, fetchurl, fetchpatch, openssl, perl, which, dns-root-data }: +{ stdenv, fetchurl, openssl, perl, which, dns-root-data }: stdenv.mkDerivation rec { pname = "ldns"; - version = "1.7.0"; + version = "1.7.1"; src = fetchurl { url = "https://www.nlnetlabs.nl/downloads/ldns/${pname}-${version}.tar.gz"; - sha256 = "1k56jw4hz8njspfxcfw0czf1smg0n48ylia89ziwyx5k9wdmp7y1"; + sha256 = "0ac242n7996fswq1a3nlh1bbbhrsdwsq4mx7xq8ffq6aplb4rj4a"; }; - patches = [ - (fetchpatch { - name = "CVE-2017-1000231.patch"; - url = "https://git.nlnetlabs.nl/ldns/patch/?id=c8391790"; - sha256 = "1rprfh0y1c28dqiy3vgwvwdhn7b5rsylfzzblx5xdhwfqgdw8vn0"; - excludes = [ "Changelog" ]; - }) - (fetchpatch { - name = "CVE-2017-1000232.patch"; - url = "https://git.nlnetlabs.nl/ldns/patch/?id=3bdeed02"; - sha256 = "0bv0s5jjp0sswfg8da47d346iwp9yjhj9w7fa3bxh174br0zj07r"; - excludes = [ "Changelog" ]; - }) - ]; - postPatch = '' patchShebangs doc/doxyparse.pl ''; @@ -38,6 +23,7 @@ stdenv.mkDerivation rec { "--with-trust-anchor=${dns-root-data}/root.key" "--with-drill" "--disable-gost" + "--with-examples" ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "ac_cv_func_malloc_0_nonnull=yes" "ac_cv_func_realloc_0_nonnull=yes" @@ -47,16 +33,11 @@ stdenv.mkDerivation rec { doCheck = false; # fails. missing some files postInstall = '' + # Only 'drill' stays in $out + # the rest are examples: + moveToOutput "bin/ldns*" "$examples" + # with exception of ldns-config, which goes to $dev: moveToOutput "bin/ldns-config" "$dev" - - pushd examples - configureFlagsArray+=( "--bindir=$examples/bin" ) - configurePhase - make - make install - popd - - sed -i "$out/lib/libldns.la" -e "s,-L${openssl.dev},-L${openssl.out},g" ''; meta = with stdenv.lib; { @@ -64,6 +45,6 @@ stdenv.mkDerivation rec { license = licenses.bsd3; homepage = http://www.nlnetlabs.nl/projects/ldns/; platforms = platforms.unix; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ dtzWill ]; }; } diff --git a/pkgs/development/libraries/libheif/default.nix b/pkgs/development/libraries/libheif/default.nix index f69241ad552..85174e9c3e6 100644 --- a/pkgs/development/libraries/libheif/default.nix +++ b/pkgs/development/libraries/libheif/default.nix @@ -2,13 +2,15 @@ stdenv.mkDerivation rec { pname = "libheif"; - version = "1.5.1"; + version = "1.6.0"; + + outputs = [ "bin" "out" "dev" "man" ]; src = fetchFromGitHub { owner = "strukturag"; repo = "libheif"; rev = "v${version}"; - sha256 = "0x6207hiy15k2696476qx9jcbzs90fq8cfv4jw6hi14w4wzq89kr"; + sha256 = "0im9k2pqghlsppj165kh3nc26c4wx1brckmncdmpy0mcj56jjmba"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/development/libraries/libwmf/default.nix b/pkgs/development/libraries/libwmf/default.nix index e7aa5f7ecc9..5c684c7fd77 100644 --- a/pkgs/development/libraries/libwmf/default.nix +++ b/pkgs/development/libraries/libwmf/default.nix @@ -6,6 +6,8 @@ stdenv.mkDerivation rec { pname = "libwmf"; version = "0.2.12"; + outputs = [ "out" "dev" ]; + src = fetchFromGitHub { owner = "caolanm"; repo = pname; diff --git a/pkgs/development/libraries/phonon/backends/gstreamer.nix b/pkgs/development/libraries/phonon/backends/gstreamer.nix index ef7633dadaf..d9267827e77 100644 --- a/pkgs/development/libraries/phonon/backends/gstreamer.nix +++ b/pkgs/development/libraries/phonon/backends/gstreamer.nix @@ -1,21 +1,13 @@ { stdenv, lib, fetchurl, cmake, gst_all_1, phonon, pkgconfig -, extra-cmake-modules, qtbase ? null, qtx11extras ? null, qt4 ? null -, withQt5 ? false +, extra-cmake-modules, qttools, qtbase, qtx11extras , debug ? false }: with lib; -let - v = "4.9.0"; +stdenv.mkDerivation rec { pname = "phonon-backend-gstreamer"; -in - -assert withQt5 -> qtbase != null; -assert withQt5 -> qtx11extras != null; - -stdenv.mkDerivation { - name = "${pname}-${if withQt5 then "qt5" else "qt4"}-${v}"; + version = "4.10.0"; meta = with stdenv.lib; { homepage = https://phonon.kde.org/; @@ -26,8 +18,8 @@ stdenv.mkDerivation { }; src = fetchurl { - url = "mirror://kde/stable/phonon/${pname}/${v}/${pname}-${v}.tar.xz"; - sha256 = "1wc5p1rqglf0n1avp55s50k7fjdzdrhg0gind15k8796w7nfbhyf"; + url = "mirror://kde/stable/phonon/${pname}/${version}/${pname}-${version}.tar.xz"; + sha256 = "1wk1ip2w7fkh65zk6rilj314dna0hgsv2xhjmpr5w08xa8sii1y5"; }; # Hardcode paths to useful plugins so the backend doesn't depend @@ -52,17 +44,26 @@ stdenv.mkDerivation { ''-DGST_PLUGIN_PATH_1_0="${gstPluginPaths}"'' ]; - buildInputs = with gst_all_1; - [ gstreamer gst-plugins-base phonon ] - ++ (if withQt5 then [ qtbase qtx11extras ] else [ qt4 ]); + buildInputs = with gst_all_1; [ + gstreamer + gst-plugins-base + phonon + qtbase + qtx11extras + ]; # cleanup: the build system creates (empty) $out/$out/share/icons (double prefix) # if DESTDIR is unset DESTDIR="/"; - nativeBuildInputs = [ cmake pkgconfig ] ++ optional withQt5 extra-cmake-modules; + nativeBuildInputs = [ + cmake + pkgconfig + extra-cmake-modules + qttools + ]; - cmakeFlags = - [ "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}" ] - ++ optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON"; + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}" + ]; } diff --git a/pkgs/development/libraries/phonon/backends/vlc.nix b/pkgs/development/libraries/phonon/backends/vlc.nix index 98c6be85672..9ed137e4f45 100644 --- a/pkgs/development/libraries/phonon/backends/vlc.nix +++ b/pkgs/development/libraries/phonon/backends/vlc.nix @@ -1,22 +1,13 @@ { stdenv, lib, fetchurl, cmake, phonon, pkgconfig, vlc -, extra-cmake-modules, qtbase ? null, qtx11extras ? null, qt4 ? null -, withQt4 ? false +, extra-cmake-modules, qttools, qtbase, qtx11extras , debug ? false }: with lib; -let - v = "0.10.2"; +stdenv.mkDerivation rec { pname = "phonon-backend-vlc"; -in - -assert withQt4 -> qt4 != null; -assert !withQt4 -> qtbase != null; -assert !withQt4 -> qtx11extras != null; - -stdenv.mkDerivation { - name = "${pname}-${if withQt4 then "qt4" else "qt5"}-${v}"; + version = "0.11.1"; meta = with stdenv.lib; { homepage = https://phonon.kde.org/; @@ -26,17 +17,25 @@ stdenv.mkDerivation { }; src = fetchurl { - url = "mirror://kde/stable/phonon/${pname}/${v}/${pname}-${v}.tar.xz"; - sha256 = "163jqq5p9n0yfw2fqk0cqn3c6mqycxsvc4956zhkw5345g81a2a9"; + url = "mirror://kde/stable/phonon/${pname}/${version}/${pname}-${version}.tar.xz"; + sha256 = "1vp52i5996khpxs233an7mlrzdji50gcs58ig8nrwfwlgyb1xnfc"; }; - buildInputs = - [ phonon vlc ] - ++ (if withQt4 then [ qt4 ] else [ qtbase qtx11extras ]); + buildInputs = [ + phonon + vlc + qtbase + qtx11extras + ]; - nativeBuildInputs = [ cmake pkgconfig ] ++ optional (!withQt4) extra-cmake-modules; + nativeBuildInputs = [ + cmake + pkgconfig + qttools + extra-cmake-modules + ]; - cmakeFlags = - [ "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}" ] - ++ optional (!withQt4) "-DPHONON_BUILD_PHONON4QT5=ON"; + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}" + ]; } diff --git a/pkgs/development/libraries/phonon/default.nix b/pkgs/development/libraries/phonon/default.nix index 277823b91c0..86e3caaa148 100644 --- a/pkgs/development/libraries/phonon/default.nix +++ b/pkgs/development/libraries/phonon/default.nix @@ -1,22 +1,27 @@ -{ stdenv, lib, fetchurl, cmake, libGLU, libGL, pkgconfig, libpulseaudio -, qt4 ? null, extra-cmake-modules ? null, qtbase ? null, qttools ? null -, withQt5 ? false -, debug ? false }: +{ stdenv +, lib +, fetchurl +, cmake +, libGLU +, libGL +, pkgconfig +, libpulseaudio +, extra-cmake-modules +, qtbase +, qttools +, debug ? false +}: with lib; let - v = "4.11.1"; - - soname = if withQt5 then "phonon4qt5" else "phonon"; + soname = "phonon4qt5"; buildsystemdir = "share/cmake/${soname}"; in -assert withQt5 -> qtbase != null; -assert withQt5 -> qttools != null; - -stdenv.mkDerivation { - name = "phonon-${if withQt5 then "qt5" else "qt4"}-${v}"; +stdenv.mkDerivation rec { + pname = "phonon"; + version = "4.11.1"; meta = { homepage = https://phonon.kde.org/; @@ -27,25 +32,31 @@ stdenv.mkDerivation { }; src = fetchurl { - url = "mirror://kde/stable/phonon/${v}/phonon-${v}.tar.xz"; + url = "mirror://kde/stable/phonon/${version}/phonon-${version}.tar.xz"; sha256 = "0bfy8iqmjhlg3ma3iqd3kxjc2zkzpjgashbpf5x17y0dc2i1whxl"; }; - buildInputs = - [ libGLU libGL libpulseaudio ] - ++ (if withQt5 then [ qtbase qttools ] else [ qt4 ]); + buildInputs = [ + libGLU + libGL + libpulseaudio + qtbase + qttools + ]; - nativeBuildInputs = - [ cmake pkgconfig ] - ++ optional withQt5 extra-cmake-modules; + nativeBuildInputs = [ + cmake + pkgconfig + extra-cmake-modules + ]; outputs = [ "out" "dev" ]; NIX_CFLAGS_COMPILE = "-fPIC"; - cmakeFlags = - [ "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}" ] - ++ optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON"; + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}" + ]; preConfigure = '' cmakeFlags+=" -DPHONON_QT_MKSPECS_INSTALL_DIR=''${!outputDev}/mkspecs" @@ -63,10 +74,8 @@ stdenv.mkDerivation { sed -i cmake/FindPhononInternal.cmake \ -e "/set(INCLUDE_INSTALL_DIR/ c set(INCLUDE_INSTALL_DIR \"''${!outputDev}/include\")" - ${optionalString withQt5 '' sed -i cmake/FindPhononInternal.cmake \ -e "/set(PLUGIN_INSTALL_DIR/ c set(PLUGIN_INSTALL_DIR \"$qtPluginPrefix/..\")" - ''} sed -i CMakeLists.txt \ -e "/set(BUILDSYSTEM_INSTALL_DIR/ c set(BUILDSYSTEM_INSTALL_DIR \"''${!outputDev}/${buildsystemdir}\")" diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix index 05813bf29dc..d0df41c3e5f 100644 --- a/pkgs/development/libraries/polkit/default.nix +++ b/pkgs/development/libraries/polkit/default.nix @@ -55,7 +55,8 @@ stdenv.mkDerivation rec { ++ [ libxslt docbook_xsl docbook_xml_dtd_412 ]; # man pages buildInputs = [ expat pam spidermonkey_60 ] - ++ (if useSystemd then [systemd] else [elogind]) + # On Linux, fall back to elogind when systemd support is off. + ++ stdenv.lib.optional stdenv.isLinux (if useSystemd then systemd else elogind) ++ stdenv.lib.optional withGnome gobject-introspection; propagatedBuildInputs = [ diff --git a/pkgs/development/libraries/qgnomeplatform/default.nix b/pkgs/development/libraries/qgnomeplatform/default.nix index 94c69a4a14b..564fc70f2b9 100644 --- a/pkgs/development/libraries/qgnomeplatform/default.nix +++ b/pkgs/development/libraries/qgnomeplatform/default.nix @@ -1,14 +1,14 @@ -{ mkDerivation, lib, fetchFromGitHub, pkgconfig, gtk3, qtbase, qmake }: +{ mkDerivation, lib, fetchFromGitHub, pkgconfig, gtk3, qtbase, qmake, qtx11extras }: mkDerivation rec { pname = "qgnomeplatform"; - version = "0.5"; + version = "0.6.0"; src = fetchFromGitHub { owner = "FedoraQt"; repo = "QGnomePlatform"; rev = version; - sha256 = "01ncj21cxd5p7pch6p3zbhv5wp0dgn9vy5hrw54g49fmqnbb1ymz"; + sha256 = "0fb1mzs6sx76bl7f0z2xhc0jq6y1c55jrw1v3na8577is6g5ji0a"; }; nativeBuildInputs = [ @@ -19,11 +19,14 @@ mkDerivation rec { buildInputs = [ gtk3 qtbase + qtx11extras ]; postPatch = '' # Fix plugin dir - substituteInPlace qgnomeplatform.pro \ + substituteInPlace decoration/decoration.pro \ + --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix" + substituteInPlace theme/theme.pro \ --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix" ''; diff --git a/pkgs/development/libraries/rocksdb/default.nix b/pkgs/development/libraries/rocksdb/default.nix index 2bb56bec8c0..ac70d6ec0f2 100644 --- a/pkgs/development/libraries/rocksdb/default.nix +++ b/pkgs/development/libraries/rocksdb/default.nix @@ -1,4 +1,8 @@ -{ stdenv, fetchFromGitHub, lib, bzip2, cmake, lz4, snappy, zlib, zstd, enableLite ? false }: +{ stdenv, fetchFromGitHub, fetchpatch +, cmake, ninja +, bzip2, lz4, snappy, zlib, zstd +, enableLite ? false +}: stdenv.mkDerivation rec { pname = "rocksdb"; @@ -11,9 +15,17 @@ stdenv.mkDerivation rec { sha256 = "0s0n4p1b4jzmslz9d2xd4ajra0m6l9x26mjwlbgw0klxjggmy8qn"; }; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake ninja ]; buildInputs = [ bzip2 lz4 snappy zlib zstd ]; + patches = [ + # https://github.com/facebook/rocksdb/pull/6076 + (fetchpatch { + url = "https://github.com/facebook/rocksdb/commit/c0be4b2ff1a5393419673fab961cb9b09ba38752.diff"; + sha256 = "1f2wg9kqlmf2hiiihmbp8m5fr2wnn7896g6i9yg9hdgi40pw30w6"; + }) + ]; + postPatch = '' substituteInPlace CMakeLists.txt --replace "find_package(zlib " "find_package(ZLIB " ''; @@ -31,13 +43,17 @@ stdenv.mkDerivation rec { "-DWITH_ZSTD=1" "-DWITH_GFLAGS=0" "-DUSE_RTTI=1" - (lib.optional - (stdenv.hostPlatform.system == "i686-linux" - || stdenv.hostPlatform.system == "x86_64-linux") + "-DROCKSDB_INSTALL_ON_WINDOWS=YES" # harmless elsewhere + (stdenv.lib.optional + (stdenv.hostPlatform.isx86 && stdenv.hostPlatform.isLinux) "-DFORCE_SSE42=1") - (lib.optional enableLite "-DROCKSDB_LITE=1") + (stdenv.lib.optional enableLite "-DROCKSDB_LITE=1") + "-DFAIL_ON_WARNINGS=${if stdenv.hostPlatform.isMinGW then "NO" else "YES"}" ]; + # otherwise "cc1: error: -Wformat-security ignored without -Wformat [-Werror=format-security]" + hardeningDisable = stdenv.lib.optional stdenv.hostPlatform.isWindows "format"; + meta = with stdenv.lib; { homepage = https://rocksdb.org; description = "A library that provides an embeddable, persistent key-value store for fast storage"; diff --git a/pkgs/development/libraries/science/math/scalapack/default.nix b/pkgs/development/libraries/science/math/scalapack/default.nix index 14277c8c631..bff0d9a85fa 100644 --- a/pkgs/development/libraries/science/math/scalapack/default.nix +++ b/pkgs/development/libraries/science/math/scalapack/default.nix @@ -1,20 +1,19 @@ -{ stdenv, fetchurl, cmake, openssh +{ stdenv, fetchFromGitHub, cmake, openssh , gfortran, mpi, openblasCompat } : stdenv.mkDerivation rec { pname = "scalapack"; - version = "2.0.2"; + version = "2.1"; - src = fetchurl { - url = "http://www.netlib.org/scalapack/scalapack-${version}.tgz"; - sha256 = "0p1r61ss1fq0bs8ynnx7xq4wwsdvs32ljvwjnx6yxr8gd6pawx0c"; + src = fetchFromGitHub { + owner = "Reference-ScaLAPACK"; + repo = pname; + rev = "v${version}"; + sha256 = "042q9kc383h7y0had9a37702z4s0szavss063ljvfdsbjy07gzb1"; }; - # patch to rename outdated MPI functions - patches = [ ./openmpi4.patch ]; - nativeBuildInputs = [ cmake openssh ]; buildInputs = [ mpi gfortran openblasCompat ]; diff --git a/pkgs/development/libraries/science/math/scalapack/openmpi4.patch b/pkgs/development/libraries/science/math/scalapack/openmpi4.patch deleted file mode 100644 index 5d0afb58c02..00000000000 --- a/pkgs/development/libraries/science/math/scalapack/openmpi4.patch +++ /dev/null @@ -1,143 +0,0 @@ -diff --git a/BLACS/SRC/blacs_get_.c b/BLACS/SRC/blacs_get_.c -index e979767..d4b04cf 100644 ---- a/BLACS/SRC/blacs_get_.c -+++ b/BLACS/SRC/blacs_get_.c -@@ -23,7 +23,7 @@ F_VOID_FUNC blacs_get_(int *ConTxt, int *what, int *val) - case SGET_MSGIDS: - if (BI_COMM_WORLD == NULL) Cblacs_pinfo(val, &val[1]); - iptr = &val[1]; -- ierr=MPI_Attr_get(MPI_COMM_WORLD, MPI_TAG_UB, (BVOID **) &iptr,val); -+ ierr=MPI_Comm_get_attr(MPI_COMM_WORLD, MPI_TAG_UB, (BVOID **) &iptr,val); - val[0] = 0; - val[1] = *iptr; - break; -diff --git a/BLACS/SRC/cgamn2d_.c b/BLACS/SRC/cgamn2d_.c -index 2db6ccb..6958f32 100644 ---- a/BLACS/SRC/cgamn2d_.c -+++ b/BLACS/SRC/cgamn2d_.c -@@ -221,7 +221,7 @@ F_VOID_FUNC cgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n, - { - #endif - i = 2; -- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType); -+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); - ierr=MPI_Type_commit(&MyType); - bp->N = bp2->N = 1; - bp->dtype = bp2->dtype = MyType; -diff --git a/BLACS/SRC/cgamx2d_.c b/BLACS/SRC/cgamx2d_.c -index 707c0b6..f802d01 100644 ---- a/BLACS/SRC/cgamx2d_.c -+++ b/BLACS/SRC/cgamx2d_.c -@@ -221,7 +221,7 @@ F_VOID_FUNC cgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n, - { - #endif - i = 2; -- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType); -+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); - ierr=MPI_Type_commit(&MyType); - bp->N = bp2->N = 1; - bp->dtype = bp2->dtype = MyType; -diff --git a/BLACS/SRC/dgamn2d_.c b/BLACS/SRC/dgamn2d_.c -index dff23b4..a2627ac 100644 ---- a/BLACS/SRC/dgamn2d_.c -+++ b/BLACS/SRC/dgamn2d_.c -@@ -221,7 +221,7 @@ F_VOID_FUNC dgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n, - { - #endif - i = 2; -- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType); -+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); - ierr=MPI_Type_commit(&MyType); - bp->N = bp2->N = 1; - bp->dtype = bp2->dtype = MyType; -diff --git a/BLACS/SRC/dgamx2d_.c b/BLACS/SRC/dgamx2d_.c -index a51f731..2a644d0 100644 ---- a/BLACS/SRC/dgamx2d_.c -+++ b/BLACS/SRC/dgamx2d_.c -@@ -221,7 +221,7 @@ F_VOID_FUNC dgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n, - { - #endif - i = 2; -- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType); -+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); - ierr=MPI_Type_commit(&MyType); - bp->N = bp2->N = 1; - bp->dtype = bp2->dtype = MyType; -diff --git a/BLACS/SRC/igamn2d_.c b/BLACS/SRC/igamn2d_.c -index 16bc003..f6a7859 100644 ---- a/BLACS/SRC/igamn2d_.c -+++ b/BLACS/SRC/igamn2d_.c -@@ -218,7 +218,7 @@ F_VOID_FUNC igamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n, - { - #endif - i = 2; -- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType); -+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); - ierr=MPI_Type_commit(&MyType); - bp->N = bp2->N = 1; - bp->dtype = bp2->dtype = MyType; -diff --git a/BLACS/SRC/igamx2d_.c b/BLACS/SRC/igamx2d_.c -index 8165cbe..a7cfcc6 100644 ---- a/BLACS/SRC/igamx2d_.c -+++ b/BLACS/SRC/igamx2d_.c -@@ -218,7 +218,7 @@ F_VOID_FUNC igamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n, - { - #endif - i = 2; -- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType); -+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); - ierr=MPI_Type_commit(&MyType); - bp->N = bp2->N = 1; - bp->dtype = bp2->dtype = MyType; -diff --git a/BLACS/SRC/sgamn2d_.c b/BLACS/SRC/sgamn2d_.c -index d6c95e5..569c797 100644 ---- a/BLACS/SRC/sgamn2d_.c -+++ b/BLACS/SRC/sgamn2d_.c -@@ -221,7 +221,7 @@ F_VOID_FUNC sgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n, - { - #endif - i = 2; -- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType); -+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); - ierr=MPI_Type_commit(&MyType); - bp->N = bp2->N = 1; - bp->dtype = bp2->dtype = MyType; -diff --git a/BLACS/SRC/sgamx2d_.c b/BLACS/SRC/sgamx2d_.c -index 4b0af6f..8897ece 100644 ---- a/BLACS/SRC/sgamx2d_.c -+++ b/BLACS/SRC/sgamx2d_.c -@@ -221,7 +221,7 @@ F_VOID_FUNC sgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n, - { - #endif - i = 2; -- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType); -+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); - ierr=MPI_Type_commit(&MyType); - bp->N = bp2->N = 1; - bp->dtype = bp2->dtype = MyType; -diff --git a/BLACS/SRC/zgamn2d_.c b/BLACS/SRC/zgamn2d_.c -index 9de2b23..37897df 100644 ---- a/BLACS/SRC/zgamn2d_.c -+++ b/BLACS/SRC/zgamn2d_.c -@@ -221,7 +221,7 @@ F_VOID_FUNC zgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n, - { - #endif - i = 2; -- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType); -+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); - ierr=MPI_Type_commit(&MyType); - bp->N = bp2->N = 1; - bp->dtype = bp2->dtype = MyType; -diff --git a/BLACS/SRC/zgamx2d_.c b/BLACS/SRC/zgamx2d_.c -index 414c381..0e9d474 100644 ---- a/BLACS/SRC/zgamx2d_.c -+++ b/BLACS/SRC/zgamx2d_.c -@@ -221,7 +221,7 @@ F_VOID_FUNC zgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n, - { - #endif - i = 2; -- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType); -+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType); - ierr=MPI_Type_commit(&MyType); - bp->N = bp2->N = 1; - bp->dtype = bp2->dtype = MyType; diff --git a/pkgs/development/libraries/snappy/default.nix b/pkgs/development/libraries/snappy/default.nix index 80c3630af29..f35f5bfc55a 100644 --- a/pkgs/development/libraries/snappy/default.nix +++ b/pkgs/development/libraries/snappy/default.nix @@ -32,6 +32,6 @@ stdenv.mkDerivation rec { homepage = https://google.github.io/snappy/; license = licenses.bsd3; description = "Compression/decompression library for very high speeds"; - platforms = platforms.unix; + platforms = platforms.all; }; } diff --git a/pkgs/development/libraries/unixODBCDrivers/default.nix b/pkgs/development/libraries/unixODBCDrivers/default.nix index c1810443bdb..78f85afca91 100644 --- a/pkgs/development/libraries/unixODBCDrivers/default.nix +++ b/pkgs/development/libraries/unixODBCDrivers/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, unixODBC, cmake, postgresql, mysql, libmysqlclient, sqlite, zlib, libxml2, dpkg, lib, openssl, kerberos, libuuid, patchelf }: +{ fetchurl, stdenv, unixODBC, cmake, postgresql, mysql, sqlite, zlib, libxml2, dpkg, lib, openssl, kerberos, libuuid, patchelf, libiconv, fetchFromGitHub }: # I haven't done any parameter tweaking.. So the defaults provided here might be bad @@ -29,35 +29,42 @@ mariadb = stdenv.mkDerivation rec { pname = "mariadb-connector-odbc"; - version = "3.1.2"; + version = "3.1.4"; - src = fetchurl { - url = "https://downloads.mariadb.org/interstitial/connector-odbc-${version}/${pname}-${version}-ga-src.tar.gz"; - sha256 = "0iibly2mbqijqyq4pzpb6dh40clqhvqrhgnj8knm4bw3nlksd0d5"; + src = fetchFromGitHub { + owner = "MariaDB"; + repo = "mariadb-connector-odbc"; + rev = version; + sha256 = "1kbz5mng9vx89cw2sx7gsvhbv4h86zwp31fr0hxqing3cwxhkfgw"; + # this driver only seems to build correctly when built against the mariadb-connect-c subrepo + # (see https://github.com/NixOS/nixpkgs/issues/73258) + fetchSubmodules = true; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ unixODBC libmysqlclient openssl ]; + buildInputs = [ unixODBC openssl libiconv ]; + + preConfigure = '' + # we don't want to build a .pkg + sed -i 's/ADD_SUBDIRECTORY(osxinstall)//g' CMakeLists.txt + ''; cmakeFlags = [ "-DWITH_OPENSSL=ON" - ]; - - NIX_CFLAGS_COMPILE = [ - "-I${libmysqlclient}/include/mysql" - "-L${libmysqlclient}/lib/mysql" + # on darwin this defaults to ON but we want to build against unixODBC + "-DWITH_IODBC=OFF" ]; passthru = { fancyName = "MariaDB"; - driver = "lib/libmaodbc.so"; + driver = if stdenv.isDarwin then "lib/libmaodbc.dylib" else "lib/libmaodbc.so"; }; meta = with stdenv.lib; { description = "MariaDB ODBC database driver"; homepage = https://downloads.mariadb.org/connector-odbc/; license = licenses.gpl2; - platforms = platforms.linux; + platforms = platforms.linux ++ platforms.darwin; }; }; diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix index 54464ffd4b6..a567e66285c 100644 --- a/pkgs/development/libraries/wlroots/default.nix +++ b/pkgs/development/libraries/wlroots/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig +{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, fetchpatch , wayland, libGL, wayland-protocols, libinput, libxkbcommon, pixman , xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa , libpng, ffmpeg_4, freerdp @@ -15,6 +15,15 @@ stdenv.mkDerivation rec { sha256 = "1ak86kx617c81dy85wg9rldy1z3n8ch93cjc05a4j6sifv0nkyfm"; }; + patches = [ + # add missing header that changed in mesa-19.2.2 + # https://github.com/swaywm/wlroots/issues/1862 + (fetchpatch { + url = "https://github.com/swaywm/wlroots/commit/d113e48a2a32542fe6e12f1759f07888364609bf.diff"; + sha256 = "1h09j1gmnzlz4py92a92chgy8xzsd8h8xn5irq9s2hq4cla66h87"; + }) + ]; + # $out for the library and $examples for the example programs (in examples): outputs = [ "out" "examples" ]; diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix index 9e3b06453bf..98c94cfecca 100644 --- a/pkgs/development/libraries/zeitgeist/default.nix +++ b/pkgs/development/libraries/zeitgeist/default.nix @@ -1,7 +1,23 @@ -{ stdenv, fetchFromGitLab, pkgconfig, glib, sqlite, gobject-introspection, vala -, autoconf, automake, libtool, gettext, dbus, telepathy-glib -, gtk3, json-glib, librdf_raptor2, dbus-glib -, pythonSupport ? true, python2Packages +{ stdenv +, fetchFromGitLab +, fetchpatch +, pkgconfig +, glib +, sqlite +, gobject-introspection +, vala +, autoconf +, automake +, libtool +, gettext +, dbus +, telepathy-glib +, gtk3 +, json-glib +, librdf_raptor2 +, dbus-glib +, pythonSupport ? true +, python2Packages }: stdenv.mkDerivation rec { @@ -18,31 +34,58 @@ stdenv.mkDerivation rec { sha256 = "0ig3d3j1n0ghaxsgfww6g2hhcdwx8cljwwfmp9jk1nrvkxd6rnmv"; }; - preConfigure = "NOCONFIGURE=1 ./autogen.sh"; - - configureFlags = [ "--with-session-bus-services-dir=${placeholder "out"}/share/dbus-1/services" ]; + patches = [ + # Fix build with gettext 0.20 + (fetchpatch { + url = "https://gitlab.freedesktop.org/zeitgeist/zeitgeist/commit/b5c00e80189fd59a059a95c4e276728a2492cb89.patch"; + sha256 = "1r7f7j3l2p6xlzxajihgx8bzbc2sxcb9spc9pi26rz9bwmngdyq7"; + }) + ]; nativeBuildInputs = [ - autoconf automake libtool pkgconfig gettext gobject-introspection vala python2Packages.python + autoconf + automake + libtool + pkgconfig + gettext + gobject-introspection + vala + python2Packages.python ]; + buildInputs = [ - glib sqlite dbus telepathy-glib dbus-glib - gtk3 json-glib librdf_raptor2 python2Packages.rdflib + glib + sqlite + dbus + telepathy-glib + dbus-glib + gtk3 + json-glib + librdf_raptor2 + python2Packages.rdflib ]; + configureFlags = [ + "--with-session-bus-services-dir=${placeholder "out"}/share/dbus-1/services" + ]; + + enableParallelBuilding = true; + postPatch = '' patchShebangs data/ontology2code ''; - enableParallelBuilding = true; + preConfigure = '' + NOCONFIGURE=1 ./autogen.sh + ''; postFixup = stdenv.lib.optionalString pythonSupport '' moveToOutput lib/${python2Packages.python.libPrefix} "$py" ''; meta = with stdenv.lib; { - description = "A service which logs the users's activities and events"; - homepage = https://zeitgeist.freedesktop.org/; + description = "A service which logs the users’s activities and events"; + homepage = "https://zeitgeist.freedesktop.org/"; maintainers = with maintainers; [ lethalman worldofpeace ]; license = licenses.gpl2; platforms = platforms.linux; diff --git a/pkgs/development/lisp-modules/clwrapper/default.nix b/pkgs/development/lisp-modules/clwrapper/default.nix index 019a44482b9..3cb8219e687 100644 --- a/pkgs/development/lisp-modules/clwrapper/default.nix +++ b/pkgs/development/lisp-modules/clwrapper/default.nix @@ -15,6 +15,7 @@ stdenv.mkDerivation { chmod a+x "$out"/bin/* substituteAll "${./setup-hook.sh}" "setup-hook-parsed" + addEnvHooks(){ true; }; source setup-hook-parsed setLisp "${lisp}" echo "$NIX_LISP" diff --git a/pkgs/development/lisp-modules/clwrapper/setup-hook.sh b/pkgs/development/lisp-modules/clwrapper/setup-hook.sh index da2303a18bf..abbbdc3e77a 100644 --- a/pkgs/development/lisp-modules/clwrapper/setup-hook.sh +++ b/pkgs/development/lisp-modules/clwrapper/setup-hook.sh @@ -9,7 +9,7 @@ addASDFPaths () { } setLisp () { - if [ -z "$NIX_LISP_COMMAND" ]; then + if [ -z "${NIX_LISP_COMMAND:-}" ]; then for j in "$1"/bin/*; do case "$(basename "$j")" in sbcl) NIX_LISP_COMMAND="$j" ;; @@ -20,7 +20,7 @@ setLisp () { esac done fi - if [ -z "$NIX_LISP" ]; then + if [ -n "${NIX_LISP_COMMAND:-}" ] && [ -z "${NIX_LISP:-}" ]; then NIX_LISP="${NIX_LISP_COMMAND##*/}" fi } @@ -35,5 +35,5 @@ export NIX_LISP_COMMAND NIX_LISP CL_SOURCE_REGISTRY NIX_LISP_ASDF addEnvHooks "$targetOffset" addASDFPaths setLisp collectNixLispLDLP -mkdir -p "$HOME"/.cache/common-lisp || HOME="$TMP/.temp-$USER-home" +mkdir -p "$HOME"/.cache/common-lisp || HOME="$TMP/.temp-${USER:-nixbld}-home" mkdir -p "$HOME"/.cache/common-lisp diff --git a/pkgs/development/lisp-modules/define-package.nix b/pkgs/development/lisp-modules/define-package.nix index 49eb9c40344..67a688342b2 100644 --- a/pkgs/development/lisp-modules/define-package.nix +++ b/pkgs/development/lisp-modules/define-package.nix @@ -18,7 +18,7 @@ let touch "$path_config_script" chmod a+x "$config_script" chmod a+x "$path_config_script" - echo "if test -z \"\''${_''${outhash}_NIX_LISP_CONFIG}\"; then export _''${outhash}_NIX_LISP_CONFIG=1; " >> "$config_script" + echo "if test -z \"\''${_''${outhash}_NIX_LISP_CONFIG:-}\"; then export _''${outhash}_NIX_LISP_CONFIG=1; " >> "$config_script" echo "export NIX_CFLAGS_COMPILE='$NIX_CFLAGS_COMPILE'\"\''${NIX_CFLAGS_COMPILE:+ \$NIX_CFLAGS_COMPILE}\"" >> "$config_script" echo "export NIX_LDFLAGS='$NIX_LDFLAGS'\"\''${NIX_LDFLAGS:+ \$NIX_LDFLAGS}\"" >> "$config_script" echo "export NIX_LISP_COMMAND='$NIX_LISP_COMMAND'" >> "$config_script" @@ -28,12 +28,12 @@ let echo "echo \"\$ASDF_OUTPUT_TRANSLATIONS\" | grep -E '(^|:)$store_translation(:|\$)' >/dev/null || export ASDF_OUTPUT_TRANSLATIONS=\"\''${ASDF_OUTPUT_TRANSLATIONS:+\$ASDF_OUTPUT_TRANSLATIONS:}\"'$store_translation'" >> "$config_script" echo "source '$path_config_script'" >> "$config_script" echo "fi" >> "$config_script" - echo "if test -z \"\''${_''${outhash}_NIX_LISP_PATH_CONFIG}\"; then export _''${outhash}_NIX_LISP_PATH_CONFIG=1; " >> "$path_config_script" - echo "export NIX_LISP_ASDF_PATHS=\"$( ( echo "\$NIX_LISP_ASDF_PATHS"; echo "$NIX_LISP_ASDF_PATHS"; echo "$out/lib/common-lisp/${args.baseName}" ) | grep . | sort | uniq)\"" >> "$path_config_script" + echo "if test -z \"\''${_''${outhash}_NIX_LISP_PATH_CONFIG:-}\"; then export _''${outhash}_NIX_LISP_PATH_CONFIG=1; " >> "$path_config_script" + echo "export NIX_LISP_ASDF_PATHS=\"$( ( echo "\''${NIX_LISP_ASDF_PATHS:-}"; echo "$NIX_LISP_ASDF_PATHS"; echo "$out/lib/common-lisp/${args.baseName}" ) | grep . | sort | uniq)\"" >> "$path_config_script" test -n "$LD_LIBRARY_PATH" && echo "export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH\''${LD_LIBRARY_PATH:+:}\"'$LD_LIBRARY_PATH'" >> "$path_config_script" test -n "$NIX_LISP_LD_LIBRARY_PATH" && - echo "export NIX_LISP_LD_LIBRARY_PATH=\"\$NIX_LISP_LD_LIBRARY_PATH\''${NIX_LISP_LD_LIBRARY_PATH:+:}\"'$(echo "$NIX_LISP_LD_LIBRARY_PATH" | tr -d '\n' | tr : '\n' | sort | uniq | tr '\n' ':' | sed -e 's/:$//')'" >> "$path_config_script" + echo "export NIX_LISP_LD_LIBRARY_PATH=\"\''${NIX_LISP_LD_LIBRARY_PATH:-}\''${NIX_LISP_LD_LIBRARY_PATH:+:}\"'$(echo "$NIX_LISP_LD_LIBRARY_PATH" | tr -d '\n' | tr : '\n' | sort | uniq | tr '\n' ':' | sed -e 's/:$//')'" >> "$path_config_script" echo "fi" >> "$path_config_script" ''; deployLaunchScript = '' diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix index ce213535519..9139befe020 100644 --- a/pkgs/development/lua-modules/overrides.nix +++ b/pkgs/development/lua-modules/overrides.nix @@ -105,7 +105,7 @@ with super; ]; buildInputs = [ pkgs.glib - pkgs.gobjectIntrospection + pkgs.gobject-introspection ]; patches = [ (pkgs.fetchpatch { diff --git a/pkgs/desktops/gnome-3/core/yelp-tools/default.nix b/pkgs/development/misc/yelp-tools/default.nix similarity index 88% rename from pkgs/desktops/gnome-3/core/yelp-tools/default.nix rename to pkgs/development/misc/yelp-tools/default.nix index 43863bf7f85..75754bec7a1 100644 --- a/pkgs/desktops/gnome-3/core/yelp-tools/default.nix +++ b/pkgs/development/misc/yelp-tools/default.nix @@ -10,7 +10,9 @@ stdenv.mkDerivation rec { }; passthru = { - updateScript = gnome3.updateScript { packageName = "yelp-tools"; attrPath = "gnome3.yelp-tools"; }; + updateScript = gnome3.updateScript { + packageName = pname; + }; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/ocaml-modules/lwt/4.x.nix b/pkgs/development/ocaml-modules/lwt/4.x.nix index 4850a853ea0..3ec3574ea09 100644 --- a/pkgs/development/ocaml-modules/lwt/4.x.nix +++ b/pkgs/development/ocaml-modules/lwt/4.x.nix @@ -1,5 +1,5 @@ { lib, fetchzip, pkgconfig, ncurses, libev, buildDunePackage, ocaml -, cppo, ocaml-migrate-parsetree, ppx_tools_versioned, result +, cppo, ocaml-migrate-parsetree, ocplib-endian, result , mmap, seq }: @@ -7,22 +7,17 @@ let inherit (lib) optional versionAtLeast; in buildDunePackage rec { pname = "lwt"; - version = "4.2.1"; + version = "4.4.0"; src = fetchzip { url = "https://github.com/ocsigen/${pname}/archive/${version}.tar.gz"; - sha256 = "1hz24fyhpm7d6603v399pgxvdl236srwagqja41ljvjx83y10ysr"; + sha256 = "1l97zdcql7y13fhaq0m9n9xvxf712jg0w70r72fvv6j49xm4nlhi"; }; - postPatch = '' - substituteInPlace lwt.opam \ - --replace 'version: "dev"' 'version: "${version}"' - ''; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ cppo ocaml-migrate-parsetree ppx_tools_versioned ] + buildInputs = [ cppo ocaml-migrate-parsetree ] ++ optional (!versionAtLeast ocaml.version "4.07") ncurses; - propagatedBuildInputs = [ libev mmap seq result ]; + propagatedBuildInputs = [ libev mmap ocplib-endian seq result ]; meta = { homepage = "https://ocsigen.org/lwt/"; diff --git a/pkgs/development/ocaml-modules/sodium/default.nix b/pkgs/development/ocaml-modules/sodium/default.nix new file mode 100644 index 00000000000..8c8895d4520 --- /dev/null +++ b/pkgs/development/ocaml-modules/sodium/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, ctypes, libsodium }: + +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-sodium"; + version = "0.6.0"; + + src = fetchFromGitHub { + owner = "dsheets"; + repo = "ocaml-sodium"; + rev = version; + sha256 = "124gpi1jhac46x05gp5viykyrafnlp03v1cmkl13c6pgcs8w04pv"; + }; + + buildInputs = [ ocaml findlib ocamlbuild ]; + propagatedBuildInputs = [ ctypes libsodium ]; + + createFindlibDestdir = true; + + hardeningDisable = stdenv.lib.optional stdenv.isDarwin "strictoverflow"; + + meta = with stdenv.lib; { + homepage = https://github.com/dsheets/ocaml-sodium; + description = "Binding to libsodium 1.0.9+"; + platforms = ocaml.meta.platforms or []; + maintainers = [ maintainers.rixed ]; + }; +} diff --git a/pkgs/development/python-modules/ansible/default.nix b/pkgs/development/python-modules/ansible/default.nix index fcc984faf8c..74775cf756f 100644 --- a/pkgs/development/python-modules/ansible/default.nix +++ b/pkgs/development/python-modules/ansible/default.nix @@ -6,12 +6,12 @@ , jinja2 , pyyaml , httplib2 -, boto , six , netaddr , dnspython , jmespath , dopy +, ncclient , windowsSupport ? false , pywinrm }: @@ -28,7 +28,9 @@ buildPythonPackage rec { }; prePatch = '' - sed -i "s,/usr/,$out," lib/ansible/constants.py + # ansible-connection is wrapped, so make sure it's not passed + # through the python interpreter. + sed -i "s/\[python, /[/" lib/ansible/executor/task_executor.py ''; postInstall = '' @@ -39,7 +41,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ pycrypto paramiko jinja2 pyyaml httplib2 - six netaddr dnspython jmespath dopy + six netaddr dnspython jmespath dopy ncclient ] ++ lib.optional windowsSupport pywinrm; # dificult to test diff --git a/pkgs/development/python-modules/anytree/default.nix b/pkgs/development/python-modules/anytree/default.nix index 3821fea2446..638b2c2baa3 100644 --- a/pkgs/development/python-modules/anytree/default.nix +++ b/pkgs/development/python-modules/anytree/default.nix @@ -11,13 +11,13 @@ buildPythonPackage rec { pname = "anytree"; - version = "2.6.0"; + version = "2.7.2"; src = fetchFromGitHub { owner = "c0fec0de"; repo = pname; rev = version; - sha256 = "1k3yj9h3ssjlz57r4g1qzxvprxjp7n92vms9fv0d46pigylxm5i3"; + sha256 = "0ag5ir9h5p7rbm2pmpxlkflwigrm7z4afh24jvbhqj7pyrbjmk9w"; }; patches = [ @@ -25,12 +25,6 @@ buildPythonPackage rec { src = ./graphviz.patch; inherit graphviz; }) - # Fix tests python3.7 - # See: https://github.com/c0fec0de/anytree/pull/85 - (fetchpatch { - url = "https://github.com/c0fec0de/anytree/commit/dd1b3d325546fef7436711e4cfea9a5fb61daaf8.patch"; - sha256 = "1dpa2jh2kakfaapnqrz03frb67q5fwxzc8c70i6nv1b01i9xw0bn"; - }) ]; checkInputs = [ diff --git a/pkgs/development/python-modules/azure-cosmos/default.nix b/pkgs/development/python-modules/azure-cosmos/default.nix index c1a001bb1eb..5716b1254af 100644 --- a/pkgs/development/python-modules/azure-cosmos/default.nix +++ b/pkgs/development/python-modules/azure-cosmos/default.nix @@ -1,5 +1,6 @@ { buildPythonPackage , lib +, python , fetchPypi , six , requests @@ -16,6 +17,10 @@ buildPythonPackage rec { propagatedBuildInputs = [ six requests ]; + postInstall = '' + rm $out/${python.sitePackages}/azure/__init__.py + ''; + # requires an active Azure Cosmos service doCheck = false; diff --git a/pkgs/development/python-modules/azure-functions-devops-build/default.nix b/pkgs/development/python-modules/azure-functions-devops-build/default.nix new file mode 100644 index 00000000000..03007ae3c23 --- /dev/null +++ b/pkgs/development/python-modules/azure-functions-devops-build/default.nix @@ -0,0 +1,30 @@ +{ lib, buildPythonPackage, fetchFromGitHub +, jinja2 +, msrest +, vsts +}: + +buildPythonPackage rec { + version = "0.0.22"; + pname = "azure-functions-devops-build"; + + src = fetchFromGitHub { + owner = "Azure"; + repo = "azure-functions-devops-build"; + # rev picked based on pypi release date + rev = "c8249670acc77333e3de8b21dec60faf7ecf0951"; + sha256 = "1slc7jd92v9q1qg1yacnrpi2a7hi7iw61wzbzfd6wx9q63pw9yqi"; + }; + + propagatedBuildInputs = [ jinja2 msrest vsts ]; + + # circular dependency with azure-cli-core + doCheck = false; + + meta = with lib; { + description = "Integrate Azure Functions with Azure DevOps. Specifically made for the Azure CLI"; + homepage = "https://github.com/Azure/azure-functions-devops-build"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/python-modules/azure-keyvault/default.nix b/pkgs/development/python-modules/azure-keyvault/default.nix index 1c4f9f4ee80..91f31ec0a01 100644 --- a/pkgs/development/python-modules/azure-keyvault/default.nix +++ b/pkgs/development/python-modules/azure-keyvault/default.nix @@ -1,5 +1,7 @@ { lib , buildPythonPackage +, python +, isPy3k , fetchPypi , azure-common , azure-nspkg @@ -26,6 +28,10 @@ buildPythonPackage rec { cryptography ]; + postInstall = lib.optionalString isPy3k '' + rm $out/${python.sitePackages}/azure/__init__.py + ''; + # has no tests doCheck = false; diff --git a/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix b/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix new file mode 100644 index 00000000000..9f5c04adb26 --- /dev/null +++ b/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix @@ -0,0 +1,31 @@ +{ lib, buildPythonPackage, fetchPypi, isPy27 +, azure-common +, msrest +, msrestazure +}: + +buildPythonPackage rec { + version = "0.1.0"; + pname = "azure-mgmt-apimanagement"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "06bqqkn5mx127x1z7ycm6rl8ajxlrmrm2kcdpgkbl4baii1x6iax"; + extension = "zip"; + }; + + propagatedBuildInputs = [ azure-common msrest msrestazure ]; + + # no tests included + doCheck = false; + + pythonImportsCheck = [ "azure.common" "azure.mgmt.apimanagement" ]; + + meta = with lib; { + description = "Microsoft Azure API Management Client Library for Python"; + homepage = "https://github.com/Azure/azure-sdk-for-python"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix b/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix new file mode 100644 index 00000000000..271fb2e6aef --- /dev/null +++ b/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix @@ -0,0 +1,31 @@ +{ lib, buildPythonPackage, fetchPypi, isPy27 +, azure-common +, msrest +, msrestazure +}: + +buildPythonPackage rec { + version = "0.1.0"; + pname = "azure-mgmt-appconfiguration"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "0z2f0rbv7drdxihny479bv80bnhgvx8gb2pr0jvbaslll6d6rxig"; + extension = "zip"; + }; + + propagatedBuildInputs = [ azure-common msrest msrestazure ]; + + # no tests included + doCheck = false; + + pythonImportsCheck = [ "azure.common" "azure.mgmt.appconfiguration" ]; + + meta = with lib; { + description = "Microsoft Azure App Configuration Management Client Library for Python"; + homepage = "https://github.com/Azure/azure-sdk-for-python"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix b/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix index 57c3aec3d45..0a485f05f91 100644 --- a/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix @@ -1,5 +1,6 @@ { lib , buildPythonPackage +, python , fetchPypi , msrest , msrestazure @@ -26,6 +27,11 @@ buildPythonPackage rec { azure-mgmt-nspkg ]; + postInstall = lib.optionalString isPy3k '' + rm $out/${python.sitePackages}/azure/__init__.py + rm $out/${python.sitePackages}/azure/mgmt/__init__.py + ''; + # has no tests doCheck = false; diff --git a/pkgs/development/python-modules/azure-mgmt-batchai/default.nix b/pkgs/development/python-modules/azure-mgmt-batchai/default.nix index e1938738597..6da0cf2210c 100644 --- a/pkgs/development/python-modules/azure-mgmt-batchai/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-batchai/default.nix @@ -24,6 +24,11 @@ buildPythonPackage rec { azure-mgmt-nspkg ]; + postInstall = lib.optionalString isPy3k '' + rm $out/${python.sitePackages}/azure/__init__.py + rm $out/${python.sitePackages}/azure/mgmt/__init__.py + ''; + # has no tests doCheck = false; diff --git a/pkgs/development/python-modules/azure-mgmt-billing/default.nix b/pkgs/development/python-modules/azure-mgmt-billing/default.nix index 666d10d87e5..8c658145d7e 100644 --- a/pkgs/development/python-modules/azure-mgmt-billing/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-billing/default.nix @@ -1,6 +1,6 @@ { lib , buildPythonPackage -, fetchFromGitHub +, fetchPypi , msrestazure , azure-common , azure-mgmt-nspkg @@ -8,27 +8,33 @@ , isPy3k }: -buildPythonPackage { +buildPythonPackage rec { pname = "azure-mgmt-billing"; version = "0.2.0"; #pypi's 0.2.0 doesn't build ootb - src = fetchFromGitHub { - owner = "Azure"; - repo = "azure-sdk-for-python"; - rev = "ee5b47525d6c1eae3b1fd5f65b0421eab62a6e6f"; - sha256 = "0xzdn7da5c3q5knh033vbsqk36vwbm75cx8vf10x0yj58krb4kn4"; + src = fetchPypi { + inherit pname version; + sha256 = "1li2bcdwdapwwx7xbvgfsq51f2mrwm0qyzih8cjhszcah2rkpxw5"; + extension = "zip"; }; - preBuild = '' - cd ./azure-mgmt-billing - ''; - propagatedBuildInputs = [ msrestazure azure-common azure-mgmt-nspkg ]; + preBuild = '' + rm azure_bdist_wheel.py + substituteInPlace setup.cfg \ + --replace "azure-namespace-package = azure-mgmt-nspkg" "" + ''; + + postInstall = lib.optionalString isPy3k '' + rm $out/${python.sitePackages}/azure/__init__.py + rm $out/${python.sitePackages}/azure/mgmt/__init__.py + ''; + # has no tests doCheck = false; diff --git a/pkgs/development/python-modules/azure-mgmt-botservice/default.nix b/pkgs/development/python-modules/azure-mgmt-botservice/default.nix new file mode 100644 index 00000000000..d9375942b4d --- /dev/null +++ b/pkgs/development/python-modules/azure-mgmt-botservice/default.nix @@ -0,0 +1,31 @@ +{ lib, buildPythonPackage, fetchPypi, isPy27 +, azure-common +, msrest +, msrestazure +}: + +buildPythonPackage rec { + version = "0.2.0"; + pname = "azure-mgmt-botservice"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "10sxllwvybjlp35h5mjdxhkw2wzpl4b03i08p4jnv8cswrc8h7dj"; + extension = "zip"; + }; + + propagatedBuildInputs = [ azure-common msrest msrestazure ]; + + # no tests included + doCheck = false; + + pythonImportsCheck = [ "azure.common" "azure.mgmt.botservice" ]; + + meta = with lib; { + description = "Microsoft Azure API Management Client Library for Python"; + homepage = "https://github.com/Azure/azure-sdk-for-python"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/python-modules/azure-mgmt-consumption/default.nix b/pkgs/development/python-modules/azure-mgmt-consumption/default.nix index 59b4cbee5bf..b69e4b649de 100644 --- a/pkgs/development/python-modules/azure-mgmt-consumption/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-consumption/default.nix @@ -1,6 +1,8 @@ { lib , buildPythonPackage , fetchPypi +, python +, isPy3k , msrestazure , azure-common , azure-mgmt-nspkg @@ -22,6 +24,11 @@ buildPythonPackage rec { azure-mgmt-nspkg ]; + postInstall = lib.optionalString isPy3k '' + rm $out/${python.sitePackages}/azure/__init__.py + rm $out/${python.sitePackages}/azure/mgmt/__init__.py + ''; + # has no tests doCheck = false; diff --git a/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix b/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix new file mode 100644 index 00000000000..821c7db0d32 --- /dev/null +++ b/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix @@ -0,0 +1,31 @@ +{ lib, buildPythonPackage, fetchPypi, isPy27 +, azure-common +, msrest +, msrestazure +}: + +buildPythonPackage rec { + version = "2.8.0"; + pname = "azure-mgmt-containerregistry"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "193k07a77z7bj61zn2gxvvfqi20cgxksvxp7if71bwsl1l2y2jxj"; + extension = "zip"; + }; + + propagatedBuildInputs = [ azure-common msrest msrestazure ]; + + # no tests included + doCheck = false; + + pythonImportsCheck = [ "azure.common" "azure.mgmt.containerregistry" ]; + + meta = with lib; { + description = "Microsoft Azure Container Registry Client Library for Python"; + homepage = "https://github.com/Azure/azure-sdk-for-python"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix b/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix index c3d690088d1..ad77a75fe83 100644 --- a/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix @@ -1,6 +1,8 @@ { lib , buildPythonPackage , fetchPypi +, python +, isPy3k , msrestazure , azure-common , azure-mgmt-datalake-nspkg @@ -22,6 +24,12 @@ buildPythonPackage rec { azure-mgmt-datalake-nspkg ]; + postInstall = lib.optionalString isPy3k '' + rm $out/${python.sitePackages}/azure/__init__.py + rm $out/${python.sitePackages}/azure/mgmt/__init__.py + rm $out/${python.sitePackages}/azure/mgmt/datalake/__init__.py + ''; + # has no tests doCheck = false; diff --git a/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix b/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix index 3164cf2bf15..5d2db3c2112 100644 --- a/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix @@ -1,6 +1,8 @@ { lib , buildPythonPackage , fetchPypi +, python +, isPy3k , msrestazure , azure-common , azure-mgmt-datalake-nspkg @@ -22,6 +24,12 @@ buildPythonPackage rec { azure-mgmt-datalake-nspkg ]; + postInstall = lib.optionalString isPy3k '' + rm $out/${python.sitePackages}/azure/__init__.py + rm $out/${python.sitePackages}/azure/mgmt/__init__.py + rm $out/${python.sitePackages}/azure/mgmt/datalake/__init__.py + ''; + # has no tests doCheck = false; @@ -29,6 +37,6 @@ buildPythonPackage rec { description = "This is the Microsoft Azure Data Lake Store Management Client Library"; homepage = "https://github.com/Azure/azure-sdk-for-python"; license = licenses.mit; - maintainers = with maintainers; [ mwilsoninsight ]; + maintainers = with maintainers; [ jonringer mwilsoninsight ]; }; } diff --git a/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix b/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix index cd98e6f98b0..7fc7c568301 100644 --- a/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix @@ -1,11 +1,12 @@ { lib , buildPythonPackage , fetchPypi +, python +, isPy3k , msrest , msrestazure , azure-common , azure-mgmt-nspkg -, isPy3k }: buildPythonPackage rec { @@ -26,6 +27,11 @@ buildPythonPackage rec { azure-mgmt-nspkg ]; + postInstall = lib.optionalString isPy3k '' + rm $out/${python.sitePackages}/azure/__init__.py + rm $out/${python.sitePackages}/azure/mgmt/__init__.py + ''; + # has no tests doCheck = false; @@ -33,6 +39,6 @@ buildPythonPackage rec { description = "This is the Microsoft Azure Data Migration Client Library"; homepage = "https://github.com/Azure/azure-sdk-for-python"; license = licenses.mit; - maintainers = with maintainers; [ mwilsoninsight ]; + maintainers = with maintainers; [ jonringer mwilsoninsight ]; }; } diff --git a/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix b/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix new file mode 100644 index 00000000000..276cc86ad8f --- /dev/null +++ b/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix @@ -0,0 +1,31 @@ +{ lib, buildPythonPackage, fetchPypi, isPy27 +, azure-common +, msrest +, msrestazure +}: + +buildPythonPackage rec { + version = "0.1.0"; + pname = "azure-mgmt-deploymentmanager"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "0gvh17bhfcpvr6w0nd06v482m8lqxchlk256w68agi2qnqw6v2ir"; + extension = "zip"; + }; + + propagatedBuildInputs = [ azure-common msrest msrestazure ]; + + # no tests included + doCheck = false; + + pythonImportsCheck = [ "azure.common" "azure.mgmt.deploymentmanager" ]; + + meta = with lib; { + description = "Microsoft Azure Deployment Manager Client Library for Python"; + homepage = "https://github.com/Azure/azure-sdk-for-python"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix b/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix index 76a5f0cbcd2..546ec5ab840 100644 --- a/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix @@ -1,11 +1,12 @@ { lib , buildPythonPackage , fetchPypi +, python +, isPy3k , msrest , msrestazure , azure-common , azure-mgmt-nspkg -, isPy3k }: buildPythonPackage rec { @@ -26,6 +27,11 @@ buildPythonPackage rec { azure-mgmt-nspkg ]; + postInstall = lib.optionalString isPy3k '' + rm $out/${python.sitePackages}/azure/__init__.py + rm $out/${python.sitePackages}/azure/mgmt/__init__.py + ''; + # has no tests doCheck = false; @@ -33,6 +39,6 @@ buildPythonPackage rec { description = "This is the Microsoft Azure DevTestLabs Management Client Library"; homepage = "https://github.com/Azure/azure-sdk-for-python"; license = licenses.mit; - maintainers = with maintainers; [ mwilsoninsight ]; + maintainers = with maintainers; [ jonringer mwilsoninsight ]; }; } diff --git a/pkgs/development/python-modules/azure-mgmt-dns/default.nix b/pkgs/development/python-modules/azure-mgmt-dns/default.nix index 94d51b765e9..89ae5912b39 100644 --- a/pkgs/development/python-modules/azure-mgmt-dns/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-dns/default.nix @@ -1,12 +1,12 @@ { lib , buildPythonPackage , fetchPypi +, python +, isPy3k , msrest , msrestazure , azure-common , azure-mgmt-nspkg -, python -, isPy3k }: buildPythonPackage rec { @@ -26,6 +26,11 @@ buildPythonPackage rec { azure-mgmt-nspkg ]; + postInstall = lib.optionalString isPy3k '' + rm $out/${python.sitePackages}/azure/__init__.py + rm $out/${python.sitePackages}/azure/mgmt/__init__.py + ''; + # has no tests doCheck = false; @@ -33,6 +38,6 @@ buildPythonPackage rec { description = "This is the Microsoft Azure DNS Management Client Library"; homepage = "https://github.com/Azure/azure-sdk-for-python"; license = licenses.mit; - maintainers = with maintainers; [ mwilsoninsight ]; + maintainers = with maintainers; [ jonringer mwilsoninsight ]; }; } diff --git a/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix b/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix new file mode 100644 index 00000000000..82955674c4b --- /dev/null +++ b/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix @@ -0,0 +1,31 @@ +{ lib, buildPythonPackage, fetchPypi, isPy27 +, azure-common +, msrest +, msrestazure +}: + +buildPythonPackage rec { + version = "1.2.0"; + pname = "azure-mgmt-hdinsight"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "1yq9s7a2ch8j84af3hzj350jnjq5s3ysiqvmypvcb7vl6rkkd2lm"; + extension = "zip"; + }; + + propagatedBuildInputs = [ azure-common msrest msrestazure ]; + + # no tests included + doCheck = false; + + pythonImportsCheck = [ "azure.common" "azure.mgmt.hdinsight" ]; + + meta = with lib; { + description = "Microsoft Azure HDInsight Management Client Library for Python"; + homepage = "https://github.com/Azure/azure-sdk-for-python"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix b/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix new file mode 100644 index 00000000000..bb6e06aa68b --- /dev/null +++ b/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix @@ -0,0 +1,31 @@ +{ lib, buildPythonPackage, fetchPypi, isPy27 +, azure-common +, msrest +, msrestazure +}: + +buildPythonPackage rec { + version = "0.2.1"; + pname = "azure-mgmt-imagebuilder"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "0mwlvy4x5nr3hsz7wdpdhpzwarzzwz4225bfpd68hr0pcjgzspky"; + extension = "zip"; + }; + + propagatedBuildInputs = [ azure-common msrest msrestazure ]; + + # no tests included + doCheck = false; + + pythonImportsCheck = [ "azure.common" "azure.mgmt.imagebuilder" ]; + + meta = with lib; { + description = "Microsoft Azure Image Builder Client Library for Python"; + homepage = "https://github.com/Azure/azure-sdk-for-python"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix b/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix index 7605e459271..c72ca47cff9 100644 --- a/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix @@ -1,6 +1,8 @@ { lib , buildPythonPackage , fetchPypi +, python +, isPy3k , msrest , msrestazure , azure-common @@ -24,6 +26,11 @@ buildPythonPackage rec { azure-mgmt-nspkg ]; + postInstall = lib.optionalString isPy3k '' + rm $out/${python.sitePackages}/azure/__init__.py + rm $out/${python.sitePackages}/azure/mgmt/__init__.py + ''; + # has no tests doCheck = false; @@ -31,6 +38,6 @@ buildPythonPackage rec { description = "This is the Microsoft Azure IoTHub Provisioning Services Client Library"; homepage = "https://github.com/Azure/azure-sdk-for-python"; license = licenses.mit; - maintainers = with maintainers; [ mwilsoninsight ]; + maintainers = with maintainers; [ jonringer mwilsoninsight ]; }; } diff --git a/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix b/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix index 99cdfdf922b..e3529bda8d2 100644 --- a/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix @@ -1,6 +1,8 @@ { lib , buildPythonPackage , fetchPypi +, python +, isPy3k , msrest , msrestazure , azure-common @@ -24,6 +26,11 @@ buildPythonPackage rec { azure-mgmt-nspkg ]; + postInstall = lib.optionalString isPy3k '' + rm $out/${python.sitePackages}/azure/__init__.py + rm $out/${python.sitePackages}/azure/mgmt/__init__.py + ''; + # has no tests doCheck = false; @@ -31,6 +38,6 @@ buildPythonPackage rec { description = "This is the Microsoft Azure Key Vault Management Client Library"; homepage = "https://github.com/Azure/azure-sdk-for-python"; license = licenses.mit; - maintainers = with maintainers; [ mwilsoninsight ]; + maintainers = with maintainers; [ jonringer mwilsoninsight ]; }; } diff --git a/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix b/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix new file mode 100644 index 00000000000..9f5c04adb26 --- /dev/null +++ b/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix @@ -0,0 +1,31 @@ +{ lib, buildPythonPackage, fetchPypi, isPy27 +, azure-common +, msrest +, msrestazure +}: + +buildPythonPackage rec { + version = "0.1.0"; + pname = "azure-mgmt-apimanagement"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "06bqqkn5mx127x1z7ycm6rl8ajxlrmrm2kcdpgkbl4baii1x6iax"; + extension = "zip"; + }; + + propagatedBuildInputs = [ azure-common msrest msrestazure ]; + + # no tests included + doCheck = false; + + pythonImportsCheck = [ "azure.common" "azure.mgmt.apimanagement" ]; + + meta = with lib; { + description = "Microsoft Azure API Management Client Library for Python"; + homepage = "https://github.com/Azure/azure-sdk-for-python"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/python-modules/azure-mgmt-kusto/default.nix b/pkgs/development/python-modules/azure-mgmt-kusto/default.nix new file mode 100644 index 00000000000..fe84fc01dec --- /dev/null +++ b/pkgs/development/python-modules/azure-mgmt-kusto/default.nix @@ -0,0 +1,31 @@ +{ lib, buildPythonPackage, fetchPypi, isPy27 +, azure-common +, msrest +, msrestazure +}: + +buildPythonPackage rec { + version = "0.4.0"; + pname = "azure-mgmt-kusto"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "1sx8f98206wccj0mbmb75c4wyhf57g3pnkhl9wn70lqzi9n4mk0b"; + extension = "zip"; + }; + + propagatedBuildInputs = [ azure-common msrest msrestazure ]; + + # no tests included + doCheck = false; + + pythonImportsCheck = [ "azure.common" "azure.mgmt.kusto" ]; + + meta = with lib; { + description = "Microsoft Azure Kusto Management Client Library for Python"; + homepage = "https://github.com/Azure/azure-sdk-for-python"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix b/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix index 6d844117c9f..a5e2829a930 100644 --- a/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix @@ -1,6 +1,8 @@ { lib , buildPythonPackage , fetchPypi +, python +, isPy3k , msrest , msrestazure , azure-common @@ -24,6 +26,11 @@ buildPythonPackage rec { azure-mgmt-nspkg ]; + postInstall = lib.optionalString isPy3k '' + rm $out/${python.sitePackages}/azure/__init__.py + rm $out/${python.sitePackages}/azure/mgmt/__init__.py + ''; + # has no tests doCheck = false; diff --git a/pkgs/development/python-modules/azure-mgmt-managedservices/default.nix b/pkgs/development/python-modules/azure-mgmt-managedservices/default.nix new file mode 100644 index 00000000000..4d059480c44 --- /dev/null +++ b/pkgs/development/python-modules/azure-mgmt-managedservices/default.nix @@ -0,0 +1,31 @@ +{ lib, buildPythonPackage, fetchPypi, isPy27 +, azure-common +, msrest +, msrestazure +}: + +buildPythonPackage rec { + version = "1.0.0"; + pname = "azure-mgmt-managedservices"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "06ddfqriqlvwjsjhqka9r5vhshardyj9c10xgjissfkpqsgkkn7y"; + extension = "zip"; + }; + + propagatedBuildInputs = [ azure-common msrest msrestazure ]; + + # no tests included + doCheck = false; + + pythonImportsCheck = [ "azure.common" "azure.mgmt.managedservices" ]; + + meta = with lib; { + description = "Microsoft Azure Managed Services Client Library for Python"; + homepage = "https://github.com/Azure/azure-sdk-for-python"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/python-modules/azure-mgmt-maps/default.nix b/pkgs/development/python-modules/azure-mgmt-maps/default.nix index 2869b6c81d7..b18c0267236 100644 --- a/pkgs/development/python-modules/azure-mgmt-maps/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-maps/default.nix @@ -1,6 +1,8 @@ { lib , buildPythonPackage , fetchPypi +, python +, isPy3k , msrest , msrestazure , azure-common @@ -24,6 +26,11 @@ buildPythonPackage rec { azure-mgmt-nspkg ]; + postInstall = lib.optionalString isPy3k '' + rm $out/${python.sitePackages}/azure/__init__.py + rm $out/${python.sitePackages}/azure/mgmt/__init__.py + ''; + # has no tests doCheck = false; diff --git a/pkgs/development/python-modules/azure-mgmt-monitor/default.nix b/pkgs/development/python-modules/azure-mgmt-monitor/default.nix index b9a8b3c0158..23e6bcf8cb4 100644 --- a/pkgs/development/python-modules/azure-mgmt-monitor/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-monitor/default.nix @@ -1,11 +1,12 @@ { lib , buildPythonPackage , fetchPypi +, python +, isPy3k , msrest , msrestazure , azure-common , azure-mgmt-nspkg -, isPy3k }: buildPythonPackage rec { @@ -26,6 +27,11 @@ buildPythonPackage rec { azure-mgmt-nspkg ]; + postInstall = lib.optionalString isPy3k '' + rm $out/${python.sitePackages}/azure/__init__.py + rm $out/${python.sitePackages}/azure/mgmt/__init__.py + ''; + # has no tests doCheck = false; diff --git a/pkgs/development/python-modules/azure-mgmt-msi/default.nix b/pkgs/development/python-modules/azure-mgmt-msi/default.nix index 9b1d0bf5a2b..87e70c2fdcc 100644 --- a/pkgs/development/python-modules/azure-mgmt-msi/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-msi/default.nix @@ -1,6 +1,8 @@ { lib , buildPythonPackage , fetchPypi +, python +, isPy3k , msrest , msrestazure , azure-common @@ -24,6 +26,11 @@ buildPythonPackage rec { azure-mgmt-nspkg ]; + postInstall = lib.optionalString isPy3k '' + rm $out/${python.sitePackages}/azure/__init__.py + rm $out/${python.sitePackages}/azure/mgmt/__init__.py + ''; + # has no tests doCheck = false; diff --git a/pkgs/development/python-modules/azure-mgmt-netapp/default.nix b/pkgs/development/python-modules/azure-mgmt-netapp/default.nix new file mode 100644 index 00000000000..79a3a19778d --- /dev/null +++ b/pkgs/development/python-modules/azure-mgmt-netapp/default.nix @@ -0,0 +1,31 @@ +{ lib, buildPythonPackage, fetchPypi, isPy27 +, azure-common +, msrest +, msrestazure +}: + +buildPythonPackage rec { + version = "0.6.0"; + pname = "azure-mgmt-netapp"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "10ymvyj386z9bjdm2g1b5a4vfnn87ig2zm6xn2xddvbpy0jxnyfv"; + extension = "zip"; + }; + + propagatedBuildInputs = [ azure-common msrest msrestazure ]; + + # no tests included + doCheck = false; + + pythonImportsCheck = [ "azure.common" "azure.mgmt.netapp" ]; + + meta = with lib; { + description = "Microsoft Azure NetApp Files Management Client Library for Python"; + homepage = "https://github.com/Azure/azure-sdk-for-python"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/python-modules/azure-mgmt-privatedns/default.nix b/pkgs/development/python-modules/azure-mgmt-privatedns/default.nix new file mode 100644 index 00000000000..98855730ba3 --- /dev/null +++ b/pkgs/development/python-modules/azure-mgmt-privatedns/default.nix @@ -0,0 +1,31 @@ +{ lib, buildPythonPackage, fetchPypi, isPy27 +, azure-common +, msrest +, msrestazure +}: + +buildPythonPackage rec { + version = "0.1.0"; + pname = "azure-mgmt-privatedns"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "08wdvfkk8jh90m3l4nz7knd5vikgfvsx70lk7mkhcvl0xj6gv76j"; + extension = "zip"; + }; + + propagatedBuildInputs = [ azure-common msrest msrestazure ]; + + # no tests included + doCheck = false; + + pythonImportsCheck = [ "azure.common" "azure.mgmt.privatedns" ]; + + meta = with lib; { + description = "Microsoft Azure DNS Private Zones Client Library for Python"; + homepage = "https://github.com/Azure/azure-sdk-for-python"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/python-modules/azure-mgmt-relay/default.nix b/pkgs/development/python-modules/azure-mgmt-relay/default.nix index 718cd985443..5046bf8740f 100644 --- a/pkgs/development/python-modules/azure-mgmt-relay/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-relay/default.nix @@ -1,6 +1,8 @@ { lib , buildPythonPackage , fetchPypi +, python +, isPy3k , msrestazure , azure-common , azure-mgmt-nspkg @@ -22,6 +24,11 @@ buildPythonPackage rec { azure-mgmt-nspkg ]; + postInstall = lib.optionalString isPy3k '' + rm $out/${python.sitePackages}/azure/__init__.py + rm $out/${python.sitePackages}/azure/mgmt/__init__.py + ''; + # has no tests doCheck = false; diff --git a/pkgs/development/python-modules/azure-mgmt-security/default.nix b/pkgs/development/python-modules/azure-mgmt-security/default.nix new file mode 100644 index 00000000000..5a9d8849f8d --- /dev/null +++ b/pkgs/development/python-modules/azure-mgmt-security/default.nix @@ -0,0 +1,31 @@ +{ lib, buildPythonPackage, fetchPypi, isPy27 +, azure-common +, msrest +, msrestazure +}: + +buildPythonPackage rec { + version = "0.3.0"; + pname = "azure-mgmt-security"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "0z766424783a6y5dp5ybxssb0bfzqb8kpa6zra8ccnbfg4fn478v"; + extension = "zip"; + }; + + propagatedBuildInputs = [ azure-common msrest msrestazure ]; + + # no tests included + doCheck = false; + + pythonImportsCheck = [ "azure.common" "azure.mgmt.security" ]; + + meta = with lib; { + description = "Microsoft Azure Security Center Management Client Library for Python"; + homepage = "https://github.com/Azure/azure-sdk-for-python"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix b/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix index a80c97ea377..9c849829a12 100644 --- a/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix @@ -1,6 +1,8 @@ { lib , buildPythonPackage , fetchPypi +, python +, isPy3k , msrest , msrestazure , azure-common @@ -24,6 +26,11 @@ buildPythonPackage rec { azure-mgmt-nspkg ]; + postInstall = lib.optionalString isPy3k '' + rm $out/${python.sitePackages}/azure/__init__.py + rm $out/${python.sitePackages}/azure/mgmt/__init__.py + ''; + # has no tests doCheck = false; diff --git a/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix b/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix new file mode 100644 index 00000000000..6704df2d21a --- /dev/null +++ b/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix @@ -0,0 +1,31 @@ +{ lib, buildPythonPackage, fetchPypi, isPy27 +, azure-common +, msrest +, msrestazure +}: + +buildPythonPackage rec { + version = "0.4.0"; + pname = "azure-mgmt-sqlvirtualmachine"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "1jxmikjvyxkwr8c9kn6xw8gvj9pajlk7y8111rq8fgkivwjq8wcm"; + extension = "zip"; + }; + + propagatedBuildInputs = [ azure-common msrest msrestazure ]; + + # no tests included + doCheck = false; + + pythonImportsCheck = [ "azure.common" "azure.mgmt.sqlvirtualmachine" ]; + + meta = with lib; { + description = "Microsoft Azure SQL Virtual Machine Management Client Library for Python"; + homepage = "https://github.com/Azure/azure-sdk-for-python"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/python-modules/azure-multiapi-storage/default.nix b/pkgs/development/python-modules/azure-multiapi-storage/default.nix new file mode 100644 index 00000000000..dc4a011e078 --- /dev/null +++ b/pkgs/development/python-modules/azure-multiapi-storage/default.nix @@ -0,0 +1,36 @@ +{ lib, python, buildPythonPackage, fetchPypi, isPy27 +, azure-common +, msrest +, msrestazure +}: + +buildPythonPackage rec { + version = "0.2.4"; + pname = "azure-multiapi-storage"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "0zqapc4dx6qd9bcim5fjykk3n1j84p85nwqyb876nb7qmqx9spig"; + }; + + propagatedBuildInputs = [ azure-common msrest msrestazure ]; + + # fix namespace issues + postInstall = '' + rm $out/${python.sitePackages}/azure/__init__.py + rm $out/${python.sitePackages}/azure/multiapi/__init__.py + ''; + + # no tests included + doCheck = false; + + pythonImportsCheck = [ "azure.common" "azure.multiapi.storage" ]; + + meta = with lib; { + description = "Microsoft Azure Storage Client Library for Python with multi API version support."; + homepage = "https://github.com/Azure/azure-sdk-for-python"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/python-modules/babelgladeextractor/default.nix b/pkgs/development/python-modules/babelgladeextractor/default.nix new file mode 100644 index 00000000000..40c2493c151 --- /dev/null +++ b/pkgs/development/python-modules/babelgladeextractor/default.nix @@ -0,0 +1,35 @@ +{ stdenv +, lib +, buildPythonPackage +, fetchPypi +, Babel +, lxml +}: + +buildPythonPackage rec { + pname = "babelgladeextractor"; + version = "0.6.0"; + + src = fetchPypi { + pname = "BabelGladeExtractor"; + inherit version; + extension = "tar.bz2"; + sha256 = "18m5vi3sj2h26ibmb6fzfjs2lscg757ivk1bjgkn1haf9gdwyjj6"; + }; + + propagatedBuildInputs = [ + Babel + lxml # TODO: remove in 0.7.0 + ]; + + # Tests missing + # https://github.com/gnome-keysign/babel-glade/issues/5 + doCheck = false; + + meta = with lib; { + homepage = "https://github.com/gnome-keysign/babel-glade"; + description = "Babel Glade XML files translatable strings extractor"; + license = licenses.bsd3; + maintainers = with maintainers; [ jtojnar ]; + }; +} diff --git a/pkgs/development/python-modules/croniter/default.nix b/pkgs/development/python-modules/croniter/default.nix index e262a7f164c..969a4e8af89 100644 --- a/pkgs/development/python-modules/croniter/default.nix +++ b/pkgs/development/python-modules/croniter/default.nix @@ -30,7 +30,7 @@ buildPythonPackage rec { meta = with lib; { description = "croniter provides iteration for datetime object with cron like format"; - homepage = http://github.com/kiorky/croniter; + homepage = https://github.com/kiorky/croniter; license = licenses.mit; maintainers = [ maintainers.costrouc ]; }; diff --git a/pkgs/development/python-modules/flask-babelex/default.nix b/pkgs/development/python-modules/flask-babelex/default.nix index c5968be6b8f..c61967af6bc 100644 --- a/pkgs/development/python-modules/flask-babelex/default.nix +++ b/pkgs/development/python-modules/flask-babelex/default.nix @@ -40,7 +40,7 @@ buildPythonPackage rec { meta = with lib; { description = "Adds i18n/l10n support to Flask applications"; - homepage = http://github.com/mrjoes/flask-babelex; + homepage = https://github.com/mrjoes/flask-babelex; license = licenses.bsd3; maintainers = [ maintainers.costrouc ]; }; diff --git a/pkgs/development/python-modules/flask-openid/default.nix b/pkgs/development/python-modules/flask-openid/default.nix index ad500163609..c1f9a51a225 100644 --- a/pkgs/development/python-modules/flask-openid/default.nix +++ b/pkgs/development/python-modules/flask-openid/default.nix @@ -27,7 +27,7 @@ buildPythonPackage rec { meta = with lib; { description = "OpenID support for Flask"; - homepage = http://github.com/mitsuhiko/flask-openid/; + homepage = https://pythonhosted.org/Flask-OpenID/; license = licenses.bsd3; maintainers = [ maintainers.costrouc ]; }; diff --git a/pkgs/development/python-modules/google-auth-httplib2/default.nix b/pkgs/development/python-modules/google-auth-httplib2/default.nix index c76f5c572e4..99c9945ea66 100644 --- a/pkgs/development/python-modules/google-auth-httplib2/default.nix +++ b/pkgs/development/python-modules/google-auth-httplib2/default.nix @@ -1,4 +1,5 @@ { lib +, isPy3k , buildPythonPackage , fetchPypi , flask @@ -32,10 +33,13 @@ buildPythonPackage rec { py.test ''; + # ImportError: No module named google.auth + doCheck = isPy3k; + meta = { description = "Google Authentication Library: httplib2 transport"; homepage = https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2; license = lib.licenses.asl20; }; -} \ No newline at end of file +} diff --git a/pkgs/development/python-modules/google_cloud_translate/default.nix b/pkgs/development/python-modules/google_cloud_translate/default.nix index ebe39e72c05..99494b6886c 100644 --- a/pkgs/development/python-modules/google_cloud_translate/default.nix +++ b/pkgs/development/python-modules/google_cloud_translate/default.nix @@ -3,24 +3,27 @@ , fetchPypi , google_api_core , google_cloud_core +, grpcio , pytest , mock }: buildPythonPackage rec { pname = "google-cloud-translate"; - version = "1.7.0"; + version = "2.0.0"; src = fetchPypi { inherit pname version; - sha256 = "55b6563121883acce5d80afbf61a59e50d52c429e6ebbfe81a1c8f2734b75e8c"; + sha256 = "0nfc628nr2k6kd3q9qpgwz7c12l0191rv5x4pvca8q82jl96gip5"; }; - checkInputs = [ pytest mock ]; - propagatedBuildInputs = [ google_api_core google_cloud_core ]; + # google_cloud_core[grpc] -> grpcio + propagatedBuildInputs = [ google_api_core google_cloud_core grpcio ]; + checkInputs = [ pytest mock ]; checkPhase = '' - pytest tests/unit + cd tests # prevent local google/__init__.py from getting loaded + pytest unit ''; meta = with stdenv.lib; { diff --git a/pkgs/development/python-modules/javaproperties/default.nix b/pkgs/development/python-modules/javaproperties/default.nix new file mode 100644 index 00000000000..a03aa9ec18b --- /dev/null +++ b/pkgs/development/python-modules/javaproperties/default.nix @@ -0,0 +1,32 @@ +{ lib, buildPythonPackage, fetchFromGitHub +, six +, pytest +, dateutil +}: + +buildPythonPackage rec { + version = "0.5.2"; + pname = "javaproperties"; + + src = fetchFromGitHub { + owner = "jwodder"; + repo = pname; + rev = "v${version}"; + sha256 = "14hrp94cjj44yldf3k71wbq88cmlf01dfadi53gcirnsa56ddz5d"; + }; + + propagatedBuildInputs = [ six ]; + + checkInputs = [ dateutil pytest ]; + checkPhase = '' + rm tox.ini + pytest -k 'not dumps and not time' --ignore=test/test_propclass.py + ''; + + meta = with lib; { + description = "Microsoft Azure API Management Client Library for Python"; + homepage = "https://github.com/Azure/azure-sdk-for-python"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/python-modules/keyring/2.nix b/pkgs/development/python-modules/keyring/2.nix new file mode 100644 index 00000000000..ce4aa145e8e --- /dev/null +++ b/pkgs/development/python-modules/keyring/2.nix @@ -0,0 +1,33 @@ +{ stdenv, buildPythonPackage, fetchPypi +, dbus-python, setuptools_scm, entrypoints, secretstorage +, pytest, pytest-flake8 }: + +buildPythonPackage rec { + pname = "keyring"; + version = "18.0.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "0f58jq58jhfzlhix7x2zz7c4ycdvcs1z3sgs4lkr4xxx680wrmk7"; + }; + + nativeBuildInputs = [ setuptools_scm ]; + + checkInputs = [ pytest pytest-flake8 ]; + + propagatedBuildInputs = [ dbus-python entrypoints ] ++ stdenv.lib.optional stdenv.isLinux secretstorage; + + doCheck = !stdenv.isDarwin; + + checkPhase = '' + py.test + ''; + + meta = with stdenv.lib; { + description = "Store and access your passwords safely"; + homepage = "https://pypi.python.org/pypi/keyring"; + license = licenses.psfl; + maintainers = with maintainers; [ lovek323 orivej ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/python-modules/kmapper/default.nix b/pkgs/development/python-modules/kmapper/default.nix index 3904473f1a3..67b9343ecca 100644 --- a/pkgs/development/python-modules/kmapper/default.nix +++ b/pkgs/development/python-modules/kmapper/default.nix @@ -44,7 +44,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python implementation of Mapper algorithm for Topological Data Analysis"; - homepage = http://kepler-mapper.scikit-tda.org; + homepage = https://kepler-mapper.scikit-tda.org/; license = licenses.mit; maintainers = [ maintainers.costrouc ]; }; diff --git a/pkgs/development/python-modules/mahotas/default.nix b/pkgs/development/python-modules/mahotas/default.nix index 101468da09f..dc18f5ac405 100644 --- a/pkgs/development/python-modules/mahotas/default.nix +++ b/pkgs/development/python-modules/mahotas/default.nix @@ -25,7 +25,7 @@ buildPythonPackage rec { meta = with stdenv.lib; { description = "Computer vision package based on numpy"; - homepage = http://mahotas.readthedocs.io/; + homepage = https://mahotas.readthedocs.io/; maintainers = with maintainers; [ luispedro ]; license = licenses.mit; platforms = platforms.unix; diff --git a/pkgs/development/python-modules/meinheld/default.nix b/pkgs/development/python-modules/meinheld/default.nix index 31892d12a1f..f1291a14f3f 100644 --- a/pkgs/development/python-modules/meinheld/default.nix +++ b/pkgs/development/python-modules/meinheld/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { meta = with stdenv.lib; { description = "High performance asynchronous Python WSGI Web Server"; - homepage = http://meinheld.org/; + homepage = https://meinheld.org/; license = licenses.bsd3; }; } diff --git a/pkgs/development/python-modules/micawber/default.nix b/pkgs/development/python-modules/micawber/default.nix index b5fd1d33458..003234c2adf 100644 --- a/pkgs/development/python-modules/micawber/default.nix +++ b/pkgs/development/python-modules/micawber/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ beautifulsoup4 ]; meta = with stdenv.lib; { - homepage = http://micawber.readthedocs.io/en/latest/; + homepage = https://micawber.readthedocs.io/en/latest/; description = "A small library for extracting rich content from urls"; license = licenses.mit; longDescription = '' diff --git a/pkgs/development/python-modules/mnist/default.nix b/pkgs/development/python-modules/mnist/default.nix new file mode 100644 index 00000000000..022cd3a2e02 --- /dev/null +++ b/pkgs/development/python-modules/mnist/default.nix @@ -0,0 +1,36 @@ +{ buildPythonPackage, fetchFromGitHub, isPy27, lib, mock, numpy, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "mnist"; + version = "0.2.2"; + + src = fetchFromGitHub { + owner = "datapythonista"; + repo = "mnist"; + rev = "${pname}-${version}"; + sha256 = "17r37pbxiv5dw857bmg990x836gq6sgww069w3q5jjg9m3xdm7dh"; + }; + + propagatedBuildInputs = [ numpy ] ++ lib.optional isPy27 mock; + + checkInputs = [ pytestCheckHook ]; + + dontUseSetuptoolsCheck = true; + + # disable tests which fail due to socket related errors + disabledTests = [ + "test_test_images_has_right_size" + "test_test_labels_has_right_size" + "test_train_images_has_right_size" + "test_train_labels_has_right_size" + ]; + + meta = with lib; { + description = "Python utilities to download and parse the MNIST dataset"; + homepage = "https://github.com/datapythonista/mnist"; + license = licenses.bsd3; + maintainers = with maintainers; [ dmrauh ]; + }; +} + diff --git a/pkgs/development/python-modules/monty/default.nix b/pkgs/development/python-modules/monty/default.nix index 677cb68ca50..361be1bf184 100644 --- a/pkgs/development/python-modules/monty/default.nix +++ b/pkgs/development/python-modules/monty/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "monty"; - version = "1.0.4"; + version = "3.0.2"; # No tests in Pypi src = fetchFromGitHub { owner = "materialsvirtuallab"; repo = pname; rev = "v${version}"; - sha256 = "0vqaaz0dw0ypl6sfwbycpb0qs3ap04c4ghbggklxih66spdlggh6"; + sha256 = "1wxqxp0j7i6czdpr2r1imgmy3qbgn2l7d4za2h1lg3hllvx6jra1"; }; checkInputs = [ lsof nose numpy msgpack coverage coveralls pymongo]; diff --git a/pkgs/development/python-modules/msrest/default.nix b/pkgs/development/python-modules/msrest/default.nix index ede8e0801df..70fa6f361ca 100644 --- a/pkgs/development/python-modules/msrest/default.nix +++ b/pkgs/development/python-modules/msrest/default.nix @@ -18,7 +18,7 @@ }: buildPythonPackage rec { - version = "0.6.9"; + version = "0.6.10"; pname = "msrest"; # no tests in PyPI tarball @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "Azure"; repo = "msrest-for-python"; rev = "v${version}"; - sha256 = "0540dmxz90jsmwvd4q06cr1ficixknjk8q06f2dqcp06w92vnl8r"; + sha256 = "1l08daq748lk8rwiv4jdlnmfl9mi7g1ln46gibhnd9xvrrjp0sdx"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/msrestazure/default.nix b/pkgs/development/python-modules/msrestazure/default.nix index 0ef06cd8fb1..a820dd89f51 100644 --- a/pkgs/development/python-modules/msrestazure/default.nix +++ b/pkgs/development/python-modules/msrestazure/default.nix @@ -12,7 +12,7 @@ }: buildPythonPackage rec { - version = "0.6.1"; + version = "0.6.2"; pname = "msrestazure"; # Pypi tarball doesnt include tests @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "Azure"; repo = "msrestazure-for-python"; rev = "v${version}"; - sha256 = "09swndz57131b8x57mzibnsr1sv0l80pk62p89q99gsd6mvc389c"; + sha256 = "09qwdg4la4jwp5ibypdwsn7h8m2sh8c1kdxvffyxcjan50h14s04"; }; propagatedBuildInputs = [ adal msrest ]; diff --git a/pkgs/development/python-modules/nuitka/default.nix b/pkgs/development/python-modules/nuitka/default.nix index 6be1f39328f..ba6dbced66e 100644 --- a/pkgs/development/python-modules/nuitka/default.nix +++ b/pkgs/development/python-modules/nuitka/default.nix @@ -46,7 +46,7 @@ in buildPythonPackage rec { meta = with stdenv.lib; { description = "Python compiler with full language support and CPython compatibility"; license = licenses.asl20; - homepage = http://nuitka.net/; + homepage = https://nuitka.net/; }; } diff --git a/pkgs/development/python-modules/openpyxl/2.nix b/pkgs/development/python-modules/openpyxl/2.nix new file mode 100644 index 00000000000..d58192c0666 --- /dev/null +++ b/pkgs/development/python-modules/openpyxl/2.nix @@ -0,0 +1,38 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pytest +, jdcal +, et_xmlfile +, lxml +}: + +buildPythonPackage rec { + pname = "openpyxl"; + version = "2.6.4"; + + src = fetchPypi { + inherit pname version; + sha256 = "1d53801678e18d7fe38c116f1ad0c2383a654670c4c8806105b611c92d92f2e3"; + }; + + checkInputs = [ pytest ]; + propagatedBuildInputs = [ jdcal et_xmlfile lxml ]; + + postPatch = '' + # LICENSE.rst is missing, and setup.cfg currently doesn't contain anything useful anyway + # This should likely be removed in the next update + rm setup.cfg + ''; + + # Tests are not included in archive. + # https://bitbucket.org/openpyxl/openpyxl/issues/610 + doCheck = false; + + meta = { + description = "A Python library to read/write Excel 2007 xlsx/xlsm files"; + homepage = https://openpyxl.readthedocs.org; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ lihop sjourdois ]; + }; +} diff --git a/pkgs/development/python-modules/pandas/2.nix b/pkgs/development/python-modules/pandas/2.nix index 42e6fe845e0..6283addcb6e 100644 --- a/pkgs/development/python-modules/pandas/2.nix +++ b/pkgs/development/python-modules/pandas/2.nix @@ -32,11 +32,11 @@ let in buildPythonPackage rec { pname = "pandas"; - version = "0.25.3"; + version = "0.24.2"; src = fetchPypi { inherit pname version; - sha256 = "52da74df8a9c9a103af0a72c9d5fdc8e0183a90884278db7f386b5692a2220a4"; + sha256 = "18imlm8xbhcbwy4wa957a1fkamrcb0z988z006jpfda3ki09z4ag"; }; checkInputs = [ pytest glibcLocales moto hypothesis ]; diff --git a/pkgs/development/python-modules/portalocker/default.nix b/pkgs/development/python-modules/portalocker/default.nix index 7c405a514f2..b3b98b2b2ec 100644 --- a/pkgs/development/python-modules/portalocker/default.nix +++ b/pkgs/development/python-modules/portalocker/default.nix @@ -1,6 +1,7 @@ { buildPythonPackage , fetchPypi , lib +, fetchpatch , sphinx , flake8 , pytest @@ -15,7 +16,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - sha256 = "dac62e53e5670cb40d2ee4cdc785e6b829665932c3ee75307ad677cf5f7d2e9f"; + sha256 = "17rfgmgwyxyng8q7bvn369cncadqws2wgkg45q6v8337wm9jxins"; }; checkInputs = [ diff --git a/pkgs/development/python-modules/pydocstyle/2.nix b/pkgs/development/python-modules/pydocstyle/2.nix new file mode 100644 index 00000000000..a2f2daa2fe9 --- /dev/null +++ b/pkgs/development/python-modules/pydocstyle/2.nix @@ -0,0 +1,33 @@ +{ lib, buildPythonPackage, fetchFromGitHub, isPy3k, pythonOlder +, snowballstemmer, six, configparser +, pytest, pytestpep8, mock, pathlib }: + +buildPythonPackage rec { + pname = "pydocstyle"; + version = "2.1.1"; + + # no tests on PyPI + # https://github.com/PyCQA/pydocstyle/issues/302 + src = fetchFromGitHub { + owner = "PyCQA"; + repo = pname; + rev = version; + sha256 = "1h0k8lpx14svc8dini62j0kqiam10pck5sdzvxa4xhsx7y689g5l"; + }; + + propagatedBuildInputs = [ snowballstemmer six ] ++ lib.optional (!isPy3k) configparser; + + checkInputs = [ pytest pytestpep8 mock ] ++ lib.optional (pythonOlder "3.4") pathlib; + + checkPhase = '' + # test_integration.py installs packages via pip + py.test --pep8 --cache-clear -vv src/tests -k "not test_integration" + ''; + + meta = with lib; { + description = "Python docstring style checker"; + homepage = https://github.com/PyCQA/pydocstyle/; + license = licenses.mit; + maintainers = with maintainers; [ dzabraev ]; + }; +} diff --git a/pkgs/development/python-modules/pydocstyle/default.nix b/pkgs/development/python-modules/pydocstyle/default.nix index a2f2daa2fe9..39d9f9f9a23 100644 --- a/pkgs/development/python-modules/pydocstyle/default.nix +++ b/pkgs/development/python-modules/pydocstyle/default.nix @@ -1,23 +1,25 @@ -{ lib, buildPythonPackage, fetchFromGitHub, isPy3k, pythonOlder -, snowballstemmer, six, configparser -, pytest, pytestpep8, mock, pathlib }: +{ lib, buildPythonPackage, fetchFromGitHub, isPy3k +, mock +, pytest +, pytestpep8 +, snowballstemmer +}: buildPythonPackage rec { pname = "pydocstyle"; - version = "2.1.1"; + version = "4.0.1"; + disabled = !isPy3k; - # no tests on PyPI - # https://github.com/PyCQA/pydocstyle/issues/302 src = fetchFromGitHub { owner = "PyCQA"; repo = pname; rev = version; - sha256 = "1h0k8lpx14svc8dini62j0kqiam10pck5sdzvxa4xhsx7y689g5l"; + sha256 = "1sr8d2fsfpam4f14v4als6g2v6s3n9h138vxlwhd6slb3ll14y4l"; }; - propagatedBuildInputs = [ snowballstemmer six ] ++ lib.optional (!isPy3k) configparser; + propagatedBuildInputs = [ snowballstemmer ]; - checkInputs = [ pytest pytestpep8 mock ] ++ lib.optional (pythonOlder "3.4") pathlib; + checkInputs = [ pytest pytestpep8 mock ]; checkPhase = '' # test_integration.py installs packages via pip diff --git a/pkgs/development/python-modules/pydrive/default.nix b/pkgs/development/python-modules/pydrive/default.nix new file mode 100644 index 00000000000..aa0515323e2 --- /dev/null +++ b/pkgs/development/python-modules/pydrive/default.nix @@ -0,0 +1,33 @@ +{ lib +, buildPythonPackage +, fetchPypi +, google_api_python_client +, oauth2client +, pyyaml +}: + +buildPythonPackage rec { + pname = "pydrive"; + version = "1.3.1"; + + src = fetchPypi { + pname = "PyDrive"; + inherit version; + sha256 = "11q7l94mb34hfh9wkdwfrh5xw99y13wa33ba7xp1q23q4b60v2c3"; + }; + + propagatedBuildInputs = [ + google_api_python_client + oauth2client + pyyaml + ]; + + # requires client_secrets.json + doCheck = false; + + meta = { + description = "Google Drive API Python wrapper library"; + homepage = "https://github.com/gsuitedevs/PyDrive"; + license = lib.licenses.asl20; + }; +} diff --git a/pkgs/development/python-modules/secure/default.nix b/pkgs/development/python-modules/secure/default.nix new file mode 100644 index 00000000000..6d2f2871ec2 --- /dev/null +++ b/pkgs/development/python-modules/secure/default.nix @@ -0,0 +1,30 @@ +{ lib, buildPythonPackage, fetchFromGitHub +, maya +, requests +}: + +buildPythonPackage rec { + version = "0.2.1"; + pname = "secure"; + + src = fetchFromGitHub { + owner = "typeerror"; + repo = "secure.py"; + rev = "v${version}"; + sha256 = "1nbxwi0zccrha6js14ibd596kdi1wpqr7jgs442mqclw4b3f77q5"; + }; + + propagatedBuildInputs = [ maya requests ]; + + # no tests in release + doCheck = false; + + pythonImportsCheck = [ "secure" ]; + + meta = with lib; { + description = "Adds optional security headers and cookie attributes for Python web frameworks"; + homepage = "https://github.com/TypeError/secure.py"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/python-modules/spglib/default.nix b/pkgs/development/python-modules/spglib/default.nix index 73af5d7b00c..bad76f8cb93 100644 --- a/pkgs/development/python-modules/spglib/default.nix +++ b/pkgs/development/python-modules/spglib/default.nix @@ -2,22 +2,13 @@ buildPythonPackage rec { pname = "spglib"; - version = "1.12.2.post0"; + version = "1.14.1.post0"; src = fetchPypi { inherit pname version; - sha256 = "15b02b74c0f06179bc3650c43a710a5200abbba387c6eda3105bfd9236041443"; + sha256 = "0kmllcch5p20ylxirqiqzls567jr2808rbld9i8f1kf0205al8qq"; }; - patches = [ - (fetchpatch { - name = "fix-assertions.patch"; - url = https://github.com/atztogo/spglib/commit/d57070831585a6f02dec0a31d25b375ba347798c.patch; - stripLen = 1; - sha256 = "0crmkc498rbrawiy9zbl39qis2nmsbfr4s6kk6k3zhdy8z2ppxw7"; - }) - ]; - propagatedBuildInputs = [ numpy ]; checkInputs = [ nose pyyaml ]; diff --git a/pkgs/development/python-modules/sshtunnel/default.nix b/pkgs/development/python-modules/sshtunnel/default.nix new file mode 100644 index 00000000000..ff9d77bc782 --- /dev/null +++ b/pkgs/development/python-modules/sshtunnel/default.nix @@ -0,0 +1,31 @@ +{ lib, buildPythonPackage, fetchPypi +, paramiko +, pytest +, mock +}: + +buildPythonPackage rec { + version = "0.1.5"; + pname = "sshtunnel"; + + src = fetchPypi { + inherit pname version; + sha256 = "0jcjppp6mdfsqrbfc3ddfxg1ybgvkjv7ri7azwv3j778m36zs4y8"; + }; + + propagatedBuildInputs = [ paramiko ]; + + checkInputs = [ pytest mock ]; + + # disable impure tests + checkPhase = '' + pytest -k 'not connect_via_proxy and not read_ssh_config' + ''; + + meta = with lib; { + description = "Pure python SSH tunnels"; + homepage = "https://github.com/pahaz/sshtunnel"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/python-modules/tables/3.5.nix b/pkgs/development/python-modules/tables/3.5.nix index b27584d25d0..4cca72aa313 100644 --- a/pkgs/development/python-modules/tables/3.5.nix +++ b/pkgs/development/python-modules/tables/3.5.nix @@ -4,12 +4,12 @@ with stdenv.lib; buildPythonPackage rec { - version = "3.6.1"; + version = "3.5.2"; pname = "tables"; src = fetchPypi { inherit pname version; - sha256 = "49a972b8a7c27a8a173aeb05f67acb45fe608b64cd8e9fa667c0962a60b71b49"; + sha256 = "1hikrki0hx94ass31pn0jyz9iy0zhnkjacfk86m21cxsc8if685j"; }; buildInputs = [ hdf5 cython bzip2 lzo c-blosc ]; diff --git a/pkgs/development/python-modules/tensorflow-tensorboard/default.nix b/pkgs/development/python-modules/tensorflow-tensorboard/default.nix index baefd635566..e0108aed5ef 100644 --- a/pkgs/development/python-modules/tensorflow-tensorboard/default.nix +++ b/pkgs/development/python-modules/tensorflow-tensorboard/default.nix @@ -1,5 +1,6 @@ -{ stdenv, lib, fetchPypi, buildPythonPackage, isPy3k +{ lib, fetchPypi, buildPythonPackage, isPy3k , numpy +, wheel , werkzeug , protobuf , grpcio @@ -34,10 +35,29 @@ buildPythonPackage rec { werkzeug protobuf markdown - grpcio absl-py + grpcio + absl-py + # not declared in install_requires, but used at runtime + # https://github.com/NixOS/nixpkgs/issues/73840 + wheel ] ++ lib.optional (!isPy3k) futures; - meta = with stdenv.lib; { + # in the absence of a real test suite, run cli and imports + checkPhase = '' + $out/bin/tensorboard --help > /dev/null + ''; + + pythonImportsCheck = [ + "tensorboard" + "tensorboard.backend" + "tensorboard.compat" + "tensorboard.data" + "tensorboard.plugins" + "tensorboard.summary" + "tensorboard.util" + ]; + + meta = with lib; { description = "TensorFlow's Visualization Toolkit"; homepage = http://tensorflow.org; license = licenses.asl20; diff --git a/pkgs/development/python-modules/twine/default.nix b/pkgs/development/python-modules/twine/default.nix index a84ab273a4b..92288b6c774 100644 --- a/pkgs/development/python-modules/twine/default.nix +++ b/pkgs/development/python-modules/twine/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , fetchPypi +, pythonOlder , pkginfo , requests , requests_toolbelt @@ -12,6 +13,7 @@ buildPythonPackage rec { pname = "twine"; version = "2.0.0"; + disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; diff --git a/pkgs/development/python-modules/vsts-cd-manager/default.nix b/pkgs/development/python-modules/vsts-cd-manager/default.nix new file mode 100644 index 00000000000..5946fec05b7 --- /dev/null +++ b/pkgs/development/python-modules/vsts-cd-manager/default.nix @@ -0,0 +1,28 @@ +{ lib, buildPythonPackage, fetchPypi, isPy27 +, msrest +, mock +}: + +buildPythonPackage rec { + version = "1.0.2"; + pname = "vsts-cd-manager"; + + src = fetchPypi { + inherit pname version; + sha256 = "0ys4hrmjbxl4qr26qr3dhhs27yfwn1635vwjdqh1qgjmrmcr1c0b"; + }; + + propagatedBuildInputs = [ msrest mock ]; + + # no tests included + doCheck = false; + + pythonImportsCheck = [ "vsts_cd_manager" ]; + + meta = with lib; { + description = "Microsoft Azure API Management Client Library for Python"; + homepage = "https://github.com/Azure/azure-sdk-for-python"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/development/tools/build-managers/bloop/default.nix b/pkgs/development/tools/build-managers/bloop/default.nix index 23ffe286824..ce656d4d78f 100644 --- a/pkgs/development/tools/build-managers/bloop/default.nix +++ b/pkgs/development/tools/build-managers/bloop/default.nix @@ -2,15 +2,15 @@ let baseName = "bloop"; - version = "1.3.2"; - nailgunCommit = "9327a60a"; # Fetched from https://github.com/scalacenter/bloop/releases/download/v${version}/install.py + version = "1.3.4"; + nailgunCommit = "d7ed5db"; # Fetched from https://github.com/scalacenter/bloop/releases/download/v${version}/install.py client = stdenv.mkDerivation { name = "${baseName}-client-${version}"; src = fetchurl { url = "https://raw.githubusercontent.com/scalacenter/nailgun/${nailgunCommit}/pynailgun/ng.py"; - sha256 = "0z4as5ibmzkd145wsch9caiy4037bgg780gcf7pyns0cv9n955b4"; + sha256 = "0lrj25m0nvphz2i5mqjwccpyrd7gn8a5k22k5khrpdh6ldxqis8a"; }; phases = [ "installPhase" ]; @@ -33,7 +33,7 @@ let ''; outputHashMode = "recursive"; outputHashAlgo = "sha256"; - outputHash = "0k9zc9q793fkfwcssbkmzb0nxmgb99rwi0pjkqhvf719vmgvhc2a"; + outputHash = "1z33ip6hgfwiixm2gimz819p5cnxn1fmxb3ryyf77jzwsx7py718"; }; zsh = stdenv.mkDerivation { diff --git a/pkgs/development/tools/clj-kondo/default.nix b/pkgs/development/tools/clj-kondo/default.nix index f821ac32fc4..223da64603b 100644 --- a/pkgs/development/tools/clj-kondo/default.nix +++ b/pkgs/development/tools/clj-kondo/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec{ pname = "clj-kondo"; - version = "2019.11.03"; + version = "2019.11.07"; reflectionJson = fetchurl { name = "reflection.json"; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec{ src = fetchurl { url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar"; - sha256 = "1chvdfczlxyy1jspyf4yv1kmgz6fq4fih5qvfarvcyw7nlxlj2np"; + sha256 = "145cdpcdzh2v77kvg8a0qqac9ra7vdcf9hj71vy5w7fck08yf192"; }; dontUnpack = true; diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix index 8bac62b07c1..c264e528c8d 100644 --- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix +++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix @@ -1,16 +1,16 @@ { lib, buildGoPackage, fetchFromGitLab, fetchurl }: let - version = "12.4.1"; + version = "12.5.0"; # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64 docker_x86_64 = fetchurl { url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-x86_64.tar.xz"; - sha256 = "0y68x5hl2gip7bpcgjychf5qd1535ry4qkjb3fybm2pb81qy2gy7"; + sha256 = "1g4cgcn33zglk3az0pn81vsnq5b2csclxlx6hbp0l546lqjfw30d"; }; docker_arm = fetchurl { url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz"; - sha256 = "1nb0cspjqasyg7bppyrf3m3rg1c26iaw6h9dpnq2m7f60dciyiq2"; + sha256 = "0v13b4likwx1szbzbj3cf9yvkc9rbn8760agrf1bxik0immhhhq4"; }; in buildGoPackage rec { @@ -29,7 +29,7 @@ buildGoPackage rec { owner = "gitlab-org"; repo = "gitlab-runner"; rev = "v${version}"; - sha256 = "1smn7b1dvqvaka23a7zhnlnpbqw40hpdn8vvj1r3ivx20khpsnhn"; + sha256 = "0qlvm0ixwbkbqh73gbhvzhkaswwv1jcmqa79mazxwphxcki04m96"; }; patches = [ ./fix-shell-path.patch ]; diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix index 28314934b11..0efe141d7bf 100644 --- a/pkgs/development/tools/continuous-integration/jenkins/default.nix +++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "jenkins"; - version = "2.190.2"; + version = "2.190.3"; src = fetchurl { url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war"; - sha256 = "09zij2gpg1i0pkx1nsgccc26p8z4gy4ljhch8m767xaa0000lqj7"; + sha256 = "146lg8xvg38glqn00kp20gx0bm5f9vv7fn3sy6fdqwdd60mh9hkr"; }; buildCommand = '' diff --git a/pkgs/development/tools/cue/default.nix b/pkgs/development/tools/cue/default.nix index 754c014ee16..2046ea90fd1 100644 --- a/pkgs/development/tools/cue/default.nix +++ b/pkgs/development/tools/cue/default.nix @@ -2,15 +2,15 @@ buildGoModule rec { pname = "cue"; - version = "0.0.11"; + version = "0.0.14"; src = fetchgit { url = "https://cue.googlesource.com/cue"; rev = "v${version}"; - sha256 = "146h3nxx72n3byxr854lnxj7m33ipbmg6j9dy6dlwvqpa7rndrmp"; + sha256 = "1gbw377wm41bhn9pw0l5l7v6g5s9jw1p2jammflac7hgwdrxkb64"; }; - modSha256 = "1q0fjm34mbijjxg089v5330vc820nrvwdkhm02zi45rk2fpdgdqd"; + modSha256 = "04dapx75zwi8cv1pj3c6266znrhwihv3df4izm3gjk34r2i07q6s"; subPackages = [ "cmd/cue" ]; @@ -19,8 +19,8 @@ buildGoModule rec { ]; meta = { - description = "A data constraint language which aims to simplify tasks involving defining and using data."; - homepage = https://cue.googlesource.com/cue; + description = "A data constraint language which aims to simplify tasks involving defining and using data"; + homepage = "https://cuelang.org/"; maintainers = with stdenv.lib.maintainers; [ solson ]; license = stdenv.lib.licenses.asl20; }; diff --git a/pkgs/development/tools/documentation/mkdocs/default.nix b/pkgs/development/tools/documentation/mkdocs/default.nix index 5f3dff95e35..e9e116280a0 100644 --- a/pkgs/development/tools/documentation/mkdocs/default.nix +++ b/pkgs/development/tools/documentation/mkdocs/default.nix @@ -1,4 +1,4 @@ -{ lib, python, fetchFromGitHub }: +{ stdenv, lib, python, fetchFromGitHub }: with python.pkgs; @@ -35,9 +35,18 @@ buildPythonApplication rec { backports_tempfile ]; - meta = { + meta = with stdenv.lib; { + description = "Project documentation with Markdown / static website generator"; + longDescription = '' + MkDocs is a fast, simple and downright gorgeous static site generator that's + geared towards building project documentation. Documentation source files + are written in Markdown, and configured with a single YAML configuration file. + + MkDocs can also be used to generate general-purpose Websites. + ''; homepage = http://mkdocs.org/; - description = "Project documentation with Markdown"; license = lib.licenses.bsd2; + platforms = platforms.unix; + maintainers = [ maintainers.rkoe ]; }; } diff --git a/pkgs/development/tools/gamecube-tools/default.nix b/pkgs/development/tools/gamecube-tools/default.nix index 872c8fae527..7c31f691b4e 100644 --- a/pkgs/development/tools/gamecube-tools/default.nix +++ b/pkgs/development/tools/gamecube-tools/default.nix @@ -1,21 +1,20 @@ -{ stdenv, which, autoconf, automake, fetchFromGitHub, - libtool, freeimage, mesa }: +{ stdenv, fetchFromGitHub, autoreconfHook +, freeimage, libGL }: + stdenv.mkDerivation rec { - version = "v1.0.2"; + version = "1.0.2"; pname = "gamecube-tools"; - nativeBuildInputs = [ which autoconf automake libtool ]; - buildInputs = [ freeimage mesa ]; + nativeBuildInputs = [ autoreconfHook ]; + buildInputs = [ freeimage libGL ]; src = fetchFromGitHub { owner = "devkitPro"; repo = "gamecube-tools"; - rev = version; + rev = "v${version}"; sha256 = "0zvpkzqvl8iv4ndzhkjkmrzpampyzgb91spv0h2x2arl8zy4z7ca"; }; - preConfigure = "./autogen.sh"; - meta = with stdenv.lib; { description = "Tools for gamecube/wii projects"; homepage = "https://github.com/devkitPro/gamecube-tools/"; diff --git a/pkgs/development/tools/git-series/default.nix b/pkgs/development/tools/git-series/default.nix index d2bc539860b..7e126b3d112 100644 --- a/pkgs/development/tools/git-series/default.nix +++ b/pkgs/development/tools/git-series/default.nix @@ -1,4 +1,6 @@ -{ stdenv, fetchFromGitHub, fetchpatch, rustPlatform, openssl, cmake, perl, pkgconfig, zlib, curl, libgit2 }: +{ stdenv, fetchFromGitHub, fetchpatch, rustPlatform +, openssl, cmake, perl, pkgconfig, zlib, curl, libgit2, libssh2 +}: with rustPlatform; @@ -28,8 +30,9 @@ buildRustPackage rec { ]; LIBGIT2_SYS_USE_PKG_CONFIG = true; + LIBSSH2_SYS_USE_PKG_CONFIG = true; nativeBuildInputs = [ cmake pkgconfig perl ]; - buildInputs = [ openssl zlib curl libgit2 ]; + buildInputs = [ openssl zlib curl libgit2 libssh2 ]; postBuild = '' install -D "$src/git-series.1" "$out/man/man1/git-series.1" diff --git a/pkgs/development/tools/gotools/default.nix b/pkgs/development/tools/gotools/default.nix index 4c662f9b5c0..59416f03134 100644 --- a/pkgs/development/tools/gotools/default.nix +++ b/pkgs/development/tools/gotools/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "gotools-unstable"; - version = "2019-09-05"; - rev = "6b3d1c9ba8bf7ce410f6b490852ec54953383362"; + version = "2019-11-14"; + rev = "4191b8cbba092238a318a71cdff48b20b4e1e5d8"; src = fetchgit { inherit rev; url = "https://go.googlesource.com/tools"; - sha256 = "0a2xjx9hqkash7fd2qv9hd93wcqdbfrmsdzjd91dwvnk48j61daf"; + sha256 = "16m62m303j4wqfjr1401xpqpb9m11bs6qc2dhf6x2za2d9pycish"; }; # Build of golang.org/x/tools/gopls fails with: diff --git a/pkgs/development/tools/misc/texlab/default.nix b/pkgs/development/tools/misc/texlab/default.nix index f55f1154b07..e11c288c1e9 100644 --- a/pkgs/development/tools/misc/texlab/default.nix +++ b/pkgs/development/tools/misc/texlab/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "texlab"; - version = "1.6.0"; + version = "1.7.0"; src = fetchFromGitHub { owner = "latex-lsp"; repo = pname; rev = "v${version}"; - sha256 = "115f63fij0lxcccf7ba9p0lzg1hlfp9i2g7gvvnx0il426h4ynnm"; + sha256 = "0b9lw6cmh7gyzj0pb3ghvqc3q7lzl12bfg9pjhl31lib3mmga8yb"; }; - cargoSha256 = "0cp8q3qags01s6v3kbghxyzz1hc5rhq6jf15fzz10d1l8mrmw4cy"; + cargoSha256 = "0qnysl0ayc242dgvanqgmx8v4a2cjg0f1lhbyw16qjv61qcsx8y5"; nativeBuildInputs = [ nodejs ]; diff --git a/pkgs/development/tools/misc/travis/Gemfile b/pkgs/development/tools/misc/travis/Gemfile index 0a470854aaf..3da9975913e 100644 --- a/pkgs/development/tools/misc/travis/Gemfile +++ b/pkgs/development/tools/misc/travis/Gemfile @@ -1,3 +1,4 @@ source "https://rubygems.org" -gem "travis", "1.8.10" +gem "travis" +gem "pry", "~> 0.11.0" diff --git a/pkgs/development/tools/misc/travis/Gemfile.lock b/pkgs/development/tools/misc/travis/Gemfile.lock index c5ac09cb9e6..a29f329ca8a 100644 --- a/pkgs/development/tools/misc/travis/Gemfile.lock +++ b/pkgs/development/tools/misc/travis/Gemfile.lock @@ -3,13 +3,14 @@ GEM specs: addressable (2.4.0) backports (3.15.0) + coderay (1.1.2) ethon (0.12.0) ffi (>= 1.3.0) - faraday (0.15.4) + faraday (0.17.0) multipart-post (>= 1.2, < 3) faraday_middleware (0.13.1) faraday (>= 0.7.4, < 1.0) - ffi (1.11.1) + ffi (1.11.2) gh (0.15.1) addressable (~> 2.4.0) backports @@ -21,10 +22,14 @@ GEM json (2.2.0) launchy (2.4.3) addressable (~> 2.3) - multi_json (1.13.1) + method_source (0.9.2) + multi_json (1.14.1) multipart-post (2.1.1) net-http-persistent (2.9.4) net-http-pipeline (1.0.1) + pry (0.11.3) + coderay (~> 1.1.0) + method_source (~> 0.9.0) pusher-client (0.6.2) json websocket (~> 1.0) @@ -45,7 +50,8 @@ PLATFORMS ruby DEPENDENCIES - travis (= 1.8.10) + pry (~> 0.11.0) + travis BUNDLED WITH 1.17.2 diff --git a/pkgs/development/tools/misc/travis/gemset.nix b/pkgs/development/tools/misc/travis/gemset.nix index 09d5d41454e..a12a891b3e7 100644 --- a/pkgs/development/tools/misc/travis/gemset.nix +++ b/pkgs/development/tools/misc/travis/gemset.nix @@ -15,6 +15,16 @@ }; version = "3.15.0"; }; + coderay = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y"; + type = "gem"; + }; + version = "1.1.2"; + }; ethon = { dependencies = ["ffi"]; source = { @@ -26,12 +36,14 @@ }; faraday = { dependencies = ["multipart-post"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0s72m05jvzc1pd6cw1i289chas399q0a14xrwg4rvkdwy7bgzrh0"; + sha256 = "0jk2bar4x6miq2cr73lv0lsbmw4cymiljvp29xb85jifsb3ba6az"; type = "gem"; }; - version = "0.15.4"; + version = "0.17.0"; }; faraday_middleware = { dependencies = ["faraday"]; @@ -43,12 +55,14 @@ version = "0.13.1"; }; ffi = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh"; + sha256 = "0cbads5da12lb3j0mg2hjrd57s5qkkairxh2y6r9bqyblb5b8xbw"; type = "gem"; }; - version = "1.11.1"; + version = "1.11.2"; }; gh = { dependencies = ["addressable" "backports" "faraday" "multi_json" "net-http-persistent" "net-http-pipeline"]; @@ -84,13 +98,25 @@ }; version = "2.4.3"; }; - multi_json = { + method_source = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; + sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq"; type = "gem"; }; - version = "1.13.1"; + version = "0.9.2"; + }; + multi_json = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr"; + type = "gem"; + }; + version = "1.14.1"; }; multipart-post = { source = { @@ -116,6 +142,17 @@ }; version = "1.0.1"; }; + pry = { + dependencies = ["coderay" "method_source"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1mh312k3y94sj0pi160wpia0ps8f4kmzvm505i6bvwynfdh7v30g"; + type = "gem"; + }; + version = "0.11.3"; + }; pusher-client = { dependencies = ["json" "websocket"]; source = { @@ -151,4 +188,4 @@ }; version = "1.2.8"; }; -} +} \ No newline at end of file diff --git a/pkgs/development/tools/rust/cargo-make/Cargo.lock b/pkgs/development/tools/rust/cargo-make/Cargo.lock index e4c01baff9f..54d32639f88 100644 --- a/pkgs/development/tools/rust/cargo-make/Cargo.lock +++ b/pkgs/development/tools/rust/cargo-make/Cargo.lock @@ -107,13 +107,13 @@ dependencies = [ [[package]] name = "cargo-make" -version = "0.23.0" +version = "0.24.0" dependencies = [ "ci_info 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", "colored 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "envmnt 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "envmnt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", "fern 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)", "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -153,7 +153,7 @@ name = "ci_info" version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "envmnt 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "envmnt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -223,7 +223,7 @@ dependencies = [ [[package]] name = "envmnt" -version = "0.7.0" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -669,7 +669,7 @@ dependencies = [ "checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" "checksum dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3" "checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b" -"checksum envmnt 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7760c979bc8a1f3319ee72ee71df5eaaf02ada9daaa80ae257011cab0f3a25ef" +"checksum envmnt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "24c6fdfb01bf7386076c5f655278306bbbed4ecc8abe30981217a11079fe3f2b" "checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9" "checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08" "checksum fern 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)" = "29d26fa0f4d433d1956746e66ec10d6bf4d6c8b93cd39965cceea7f7cc78c7dd" diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix index 0685c11ddfa..795329e3fe9 100644 --- a/pkgs/development/tools/rust/cargo-make/default.nix +++ b/pkgs/development/tools/rust/cargo-make/default.nix @@ -2,7 +2,7 @@ rustPlatform.buildRustPackage rec { pname = "cargo-make"; - version = "0.23.0"; + version = "0.24.0"; src = let @@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec { owner = "sagiegurari"; repo = pname; rev = version; - sha256 = "1g62k0g9b5m8jaxxkbx0d59k8yb3di59l3p9m32hx617rn4k5wjd"; + sha256 = "1sdc9qkclvv99j7ag038g8h1kjvfjxxj16xy0cqn8wvyljrqn3mc"; }; in runCommand "cargo-make-src" {} '' @@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec { buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; - cargoSha256 = "1mfsjxvyybq9d5702habxq5abcp9h11qx0ci2rqs2rgkbcnksk98"; + cargoSha256 = "1hyc275drl5n0kcvkxd3blp77r8nck946bmlnnzym8cj50i5zbq1"; # Some tests fail because they need network access. # However, Travis ensures a proper build. diff --git a/pkgs/development/tools/rust/cargo-watch/default.nix b/pkgs/development/tools/rust/cargo-watch/default.nix index 9f8577dc19d..55721df22d7 100644 --- a/pkgs/development/tools/rust/cargo-watch/default.nix +++ b/pkgs/development/tools/rust/cargo-watch/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-watch"; - version = "7.2.2"; + version = "7.3.0"; src = fetchFromGitHub { owner = "passcod"; repo = pname; rev = "v${version}"; - sha256 = "1ld45xqmmi13x1wgwm9fa7sck2jiw34pr9xzdwrx5ygl81hf3plv"; + sha256 = "0l1aalb8ans7scljrza7akhi821jbpqgn6sa8kgd8sys83r93fkj"; }; - cargoSha256 = "1g8qg7nicdan0w39rfzin573lgx3sbfr3b9hn8k3vgyq0jg6ywh7"; + cargoSha256 = "0dlbln8nsvmrc9p99bl6yni57fravicias9gbv88fg7az904ilzz"; buildInputs = lib.optional stdenv.isDarwin CoreServices; diff --git a/pkgs/development/tools/yarn2nix-moretea/fetch-source.nix b/pkgs/development/tools/yarn2nix-moretea/fetch-source.nix index b15b40c4a04..fc9b149887a 100644 --- a/pkgs/development/tools/yarn2nix-moretea/fetch-source.nix +++ b/pkgs/development/tools/yarn2nix-moretea/fetch-source.nix @@ -5,6 +5,6 @@ fetchFromGitHub { owner = "moretea"; repo = "yarn2nix"; - rev = "3f2dbb08724bf8841609f932bfe1d61a78277232"; - sha256 = "142av7dwviapsnahgj8r6779gs2zr17achzhr8b97s0hsl08dcl2"; + rev = "9e7279edde2a4e0f5ec04c53f5cd64440a27a1ae"; + sha256 = "0zz2lrwn3y3rb8gzaiwxgz02dvy3s552zc70zvfqc0zh5dhydgn7"; } diff --git a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix index f5989390c4b..22032e145d3 100644 --- a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix +++ b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix @@ -238,7 +238,7 @@ in rec { package = lib.importJSON packageJSON; pname = package.name; safeName = reformatPackageName pname; - version = package.version; + version = package.version or attrs.version; baseName = unlessNull name "${safeName}-${version}"; workspaceDependenciesTransitive = lib.unique ( @@ -389,6 +389,11 @@ in rec { # yarn2nix is the only package that requires the yarnNix option. # All the other projects can auto-generate that file. yarnNix = ./yarn.nix; + + # Using the filter above and importing package.json from the filtered + # source results in an error in restricted mode. To circumvent this, + # we import package.json from the unfiltered source + packageJSON = ./package.json; yarnFlags = defaultYarnFlags ++ ["--production=true"]; diff --git a/pkgs/development/web/nodejs/v13.nix b/pkgs/development/web/nodejs/v13.nix index 6b6e4f438b8..ee5d384f200 100644 --- a/pkgs/development/web/nodejs/v13.nix +++ b/pkgs/development/web/nodejs/v13.nix @@ -5,8 +5,8 @@ let in buildNodejs { inherit enableNpm; - version = "13.1.0"; - sha256 = "0s6b2k7i89j9mxwyz271fvm6bf8jcz2v5kzmn0v5icrkpmn0ab6l"; + version = "13.2.0"; + sha256 = "0r0bbwnp77njhdmby7cs2g6yxfprri684s8h3gqq95ks7vgwgvhx"; patches = stdenv.lib.optionals stdenv.isDarwin [ ./disable-libatomic-darwin.patch ]; } diff --git a/pkgs/games/boohu/default.nix b/pkgs/games/boohu/default.nix index e658ef9f5cb..3dcfe201d2c 100644 --- a/pkgs/games/boohu/default.nix +++ b/pkgs/games/boohu/default.nix @@ -3,13 +3,13 @@ buildGoPackage rec { pname = "boohu"; - version = "0.12.0"; + version = "0.13.0"; goPackagePath = "git.tuxfamily.org/boohu/boohu.git"; src = fetchurl { url = "https://download.tuxfamily.org/boohu/downloads/${pname}-${version}.tar.gz"; - sha256 = "0nf3xj3lda8279cqvjv5c3vpsb7d2kynwwna5yrsy7gq8c9n4rh8"; + sha256 = "0q89yv4klldjpli6y9xpyr6k8nsn7qa68gp90vb3dgxynn91sh68"; }; goDeps = ./deps.nix; diff --git a/pkgs/games/boohu/deps.nix b/pkgs/games/boohu/deps.nix index a785567addd..c2dc3b41b97 100644 --- a/pkgs/games/boohu/deps.nix +++ b/pkgs/games/boohu/deps.nix @@ -4,8 +4,8 @@ fetch = { type = "git"; url = "https://github.com/nsf/termbox-go"; - rev = "288510b9734e30e7966ec2f22b87c5f8e67345e3"; - sha256 = "0hdyisfaf8yb55h3p03p4sbq19546mp9fy28f2kn659mycmhxqk4"; + rev = "93860e16131719fa9722e7c448dbf8c0e3210a0d"; + sha256 = "03hz060cy8qrl4kgr80pbq6xvr38z4c6ghr3y81i8g854rvp6426"; }; } { @@ -13,8 +13,8 @@ fetch = { type = "git"; url = "https://github.com/mattn/go-runewidth"; - rev = "703b5e6b11ae25aeb2af9ebb5d5fdf8fa2575211"; - sha256 = "0znpyz71gajx3g0j2zp63nhjj2c07g16885vxv4ykwnrfmzbgk4w"; + rev = "f93a0d58d5fd95e53f82782d07bb0c79d23e1290"; + sha256 = "1sq97q71vgwnbg1fphsmqrzkbfn6mjal6d8a3qgwv4nbgppwaz25"; }; } ] diff --git a/pkgs/games/construo/default.nix b/pkgs/games/construo/default.nix index bbd11a26046..5c74b596279 100644 --- a/pkgs/games/construo/default.nix +++ b/pkgs/games/construo/default.nix @@ -1,4 +1,12 @@ -{ stdenv, fetchurl, libX11, zlib, xorgproto, libGL, libGLU, freeglut ? null }: +{ stdenv +, fetchurl +, libX11 +, zlib +, xorgproto +, libGL ? null +, libGLU ? null +, freeglut ? null +}: stdenv.mkDerivation rec { pname = "construo"; @@ -9,7 +17,9 @@ stdenv.mkDerivation rec { sha256 = "1wmj527hbj1qv44cdsj6ahfjrnrjwg2dp8gdick8nd07vm062qxa"; }; - buildInputs = [ libX11 zlib xorgproto libGL libGLU ] + buildInputs = [ libX11 zlib xorgproto ] + ++ stdenv.lib.optional (libGL != null) libGL + ++ stdenv.lib.optional (libGLU != null) libGLU ++ stdenv.lib.optional (freeglut != null) freeglut; preConfigure = '' diff --git a/pkgs/games/gzdoom/default.nix b/pkgs/games/gzdoom/default.nix index 7eab9626877..34819f90f52 100644 --- a/pkgs/games/gzdoom/default.nix +++ b/pkgs/games/gzdoom/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "gzdoom"; - version = "4.2.3"; + version = "4.2.4"; src = fetchFromGitHub { owner = "coelckers"; repo = "gzdoom"; rev = "g${version}"; - sha256 = "06fy4ksn1n745y86s6rlnamkfyqi0894aznf6s56ff6hz2pngsfc"; + sha256 = "1mkfpa3mx1rpd6lywdcqcf0y9ydzr1jxpk330kl9lxw59xihk0pc"; }; nativeBuildInputs = [ cmake makeWrapper ]; diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix index 3be1f522974..426be1f214a 100644 --- a/pkgs/games/steam/chrootenv.nix +++ b/pkgs/games/steam/chrootenv.nix @@ -86,14 +86,14 @@ in buildFHSUserEnv rec { xorg.xkeyboardconfig xorg.libpciaccess ## screeps dependencies - gnome3.gtk + gtk3 dbus zlib glib atk cairo freetype - gdk_pixbuf + gdk-pixbuf pango fontconfig ] ++ (if (!nativeOnly) then [ diff --git a/pkgs/misc/cups/drivers/canon/default.nix b/pkgs/misc/cups/drivers/canon/default.nix index b6219e1c749..adc4ead94b7 100644 --- a/pkgs/misc/cups/drivers/canon/default.nix +++ b/pkgs/misc/cups/drivers/canon/default.nix @@ -1,49 +1,55 @@ -{stdenv, fetchurl, unzip, autoreconfHook, libtool, makeWrapper, cups, ghostscript, pkgsi686Linux }: +{stdenv, fetchurl, unzip, autoreconfHook, libtool, makeWrapper, cups, ghostscript, pkgsi686Linux, zlib }: let i686_NIX_GCC = pkgsi686Linux.callPackage ({gcc}: gcc) {}; i686_libxml2 = pkgsi686Linux.callPackage ({libxml2}: libxml2) {}; + commonVer = "4.10"; + version = "3.70"; + dl = "8/0100007658/08"; + + versionNoDots = builtins.replaceStrings ["."] [""] version; src_canon = fetchurl { - url = "https://files.canon-europe.com/files/soft45378/software/o147jen_linuxufrII_0290.zip"; - sha256 = "1qpdmaaw42gm5fi21rp4lf05skffkq42ka5c8xkw8rckzb13sy9j"; + url = "http://gdlp01.c-wss.com/gds/${dl}/linux-UFRII-drv-v${versionNoDots}-uken-05.tar.gz"; + sha256 = "0424lvyrsvsb94qga4p4ldis7f714c5yw5ydv3f84mdl2a7papg0"; }; in stdenv.mkDerivation { - name = "canon-cups-ufr2-2.90"; + pname = "canon-cups-ufr2"; + version = version; src = src_canon; phases = [ "unpackPhase" "installPhase" ]; postUnpack = '' - (cd $sourceRoot; tar -xzf Sources/cndrvcups-common-2.90-1.tar.gz) - (cd $sourceRoot; tar -xzf Sources/cndrvcups-lb-2.90-1.tar.gz) + (cd $sourceRoot; tar -xzf Sources/cndrvcups-common-${commonVer}-1.tar.gz) + (cd $sourceRoot; tar -xzf Sources/cndrvcups-lb-${version}-1.tar.gz) ''; nativeBuildInputs = [ makeWrapper unzip autoreconfHook libtool ]; - buildInputs = [ cups ]; + buildInputs = [ cups zlib ]; installPhase = '' ## ## cndrvcups-common buildPhase ## - ( cd cndrvcups-common-2.90/buftool + ( cd cndrvcups-common-${commonVer}/buftool autoreconf -fi ./autogen.sh --prefix=$out --enable-progpath=$out/bin --libdir=$out/lib --disable-shared --enable-static make ) - ( cd cndrvcups-common-2.90/backend + ( cd cndrvcups-common-${commonVer}/backend ./autogen.sh --prefix=$out --libdir=$out/lib make ) - ( cd cndrvcups-common-2.90/c3plmod_ipc + ( cd cndrvcups-common-${commonVer}/c3plmod_ipc make ) @@ -51,19 +57,19 @@ stdenv.mkDerivation { ## cndrvcups-common installPhase ## - ( cd cndrvcups-common-2.90/buftool + ( cd cndrvcups-common-${commonVer}/buftool make install ) - ( cd cndrvcups-common-2.90/backend + ( cd cndrvcups-common-${commonVer}/backend make install ) - ( cd cndrvcups-common-2.90/c3plmod_ipc + ( cd cndrvcups-common-${commonVer}/c3plmod_ipc make install DESTDIR=$out/lib ) - ( cd cndrvcups-common-2.90/libs + ( cd cndrvcups-common-${commonVer}/libs chmod 755 * mkdir -p $out/lib32 mkdir -p $out/bin @@ -72,15 +78,22 @@ stdenv.mkDerivation { cp libc3pl.so.0.0.1 $out/lib32 cp libcaepcm.so.1.0 $out/lib32 cp libColorGear.so.0.0.0 $out/lib32 - cp libColorGearC.so.0.0.0 $out/lib32 + cp libColorGearC.so.1.0.0 $out/lib32 cp libcanon_slim.so.1.0.0 $out/lib32 cp c3pldrv $out/bin ) - (cd cndrvcups-common-2.90/data + (cd cndrvcups-common-${commonVer}/Rule + mkdir -p $out/share/usb + chmod 644 *.usb-quirks $out/share/usb + ) + + (cd cndrvcups-common-${commonVer}/data chmod 644 *.ICC mkdir -p $out/share/caepcm cp *.ICC $out/share/caepcm + cp *.icc $out/share/caepcm + cp *.PRF $out/share/caepcm ) (cd $out/lib32 @@ -96,8 +109,8 @@ stdenv.mkDerivation { ln -sf libcanon_slim.so.1.0.0 libcanon_slim.so ln -sf libColorGear.so.0.0.0 libColorGear.so.0 ln -sf libColorGear.so.0.0.0 libColorGear.so - ln -sf libColorGearC.so.0.0.0 libColorGearC.so.0 - ln -sf libColorGearC.so.0.0.0 libColorGearC.so + ln -sf libColorGearC.so.1.0.0 libColorGearC.so.1 + ln -sf libColorGearC.so.1.0.0 libColorGearC.so ) (cd $out/lib @@ -106,7 +119,7 @@ stdenv.mkDerivation { ) patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib" $out/lib32/libColorGear.so.0.0.0 - patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib" $out/lib32/libColorGearC.so.0.0.0 + patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib" $out/lib32/libColorGearC.so.1.0.0 patchelf --interpreter "$(cat ${i686_NIX_GCC}/nix-support/dynamic-linker)" --set-rpath "$out/lib32" $out/bin/c3pldrv @@ -127,18 +140,13 @@ stdenv.mkDerivation { ## cndrvcups-lb buildPhase ## - ( cd cndrvcups-lb-2.90/ppd - ./autogen.sh --prefix=$out + ( cd cndrvcups-lb-${version}/buftool + ./autogen.sh --prefix=$out --libdir=$out/lib --enable-progpath=$out/bin --enable-static make ) - ( cd cndrvcups-lb-2.90/pstoufr2cpca - CPPFLAGS="-I$out/include" LDFLAGS=" -L$out/lib" ./autogen.sh --prefix=$out --enable-progpath=$out/bin - make - ) - - ( cd cndrvcups-lb-2.90/cpca - CPPFLAGS="-I$out/include" LDFLAGS=" -L$out/lib" ./autogen.sh --prefix=$out --enable-progpath=$out/bin --enable-static + ( cd cndrvcups-lb-${version}/pstoufr2cpca + ./autogen.sh --prefix=$out --libdir=$out/lib make ) @@ -146,19 +154,11 @@ stdenv.mkDerivation { ## cndrvcups-lb installPhase ## - ( cd cndrvcups-lb-2.90/ppd + ( cd cndrvcups-lb-${version}/pstoufr2cpca make install ) - ( cd cndrvcups-lb-2.90/pstoufr2cpca - make install - ) - - ( cd cndrvcups-lb-2.90/cpca - make install - ) - - ( cd cndrvcups-lb-2.90/libs + ( cd cndrvcups-lb-${version}/libs chmod 755 * mkdir -p $out/lib32 mkdir -p $out/bin @@ -189,7 +189,7 @@ stdenv.mkDerivation { ln -sf libcnlbcm.so.1.0 libcnlbcm.so ) - ( cd cndrvcups-lb-2.90 + ( cd cndrvcups-lb-${version} chmod 644 data/CnLB* chmod 644 libs/cnpkbidi_info* chmod 644 libs/ThLB* @@ -201,6 +201,9 @@ stdenv.mkDerivation { cp libs/ThLB* $out/share/ufr2filter ) + mkdir -p $out/share/cups/model + install -c -m 644 cndrvcups-lb-${version}/ppd/CN*.ppd $out/share/cups/model/ + patchelf --set-rpath "$out/lib32:${i686_libxml2.out}/lib" $out/lib32/libcanonufr2.so.1.0.0 patchelf --interpreter "$(cat ${i686_NIX_GCC}/nix-support/dynamic-linker)" --set-rpath "$out/lib32" $out/bin/cnpkmoduleufr2 @@ -211,9 +214,12 @@ stdenv.mkDerivation { --prefix PATH ":" "$out/bin" ''; - meta = { + meta = with stdenv.lib; { description = "CUPS Linux drivers for Canon printers"; homepage = http://www.canon.com/; - license = stdenv.lib.licenses.unfree; + license = licenses.unfree; + maintainers = with maintainers; [ + kylesferrazza + ]; }; } diff --git a/pkgs/misc/gnash/default.nix b/pkgs/misc/gnash/default.nix index 287000bf4e3..cfc0c3f7301 100644 --- a/pkgs/misc/gnash/default.nix +++ b/pkgs/misc/gnash/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, autoreconfHook +{ stdenv, fetchgit, fetchpatch, autoreconfHook , pkgconfig, libtool, boost, SDL , glib, pango, gettext, curl, xorg , libpng, libjpeg, giflib, speex, atk @@ -95,6 +95,13 @@ stdenv.mkDerivation { ++ optionals enablePlugins [ xulrunner npapi_sdk ] ++ optionals enableGTK [ gtk2 gnome2.gtkglext gnome2.GConf ]; + patches = [ + (fetchpatch { # fix compilation due to bad detection of libgif version: https://savannah.gnu.org/patch/index.php?9873 + url = "https://savannah.gnu.org/patch/download.php?file_id=47859"; + sha256 = "0aimayzgi5065gkcfcr8d5lkd9c0471q7dqmln42hjzq847n6d5y"; + }) + ]; + configureFlags = with stdenv.lib; [ "--with-boost-incl=${boost.dev}/include" "--with-boost-lib=${boost.out}/lib" diff --git a/pkgs/misc/themes/adwaita-qt/default.nix b/pkgs/misc/themes/adwaita-qt/default.nix index 9b979a11b93..16ccee8540b 100644 --- a/pkgs/misc/themes/adwaita-qt/default.nix +++ b/pkgs/misc/themes/adwaita-qt/default.nix @@ -2,13 +2,13 @@ mkDerivation rec { pname = "adwaita-qt"; - version = "1.1.0"; + version = "1.1.1"; src = fetchFromGitHub { owner = "FedoraQt"; repo = pname; rev = version; - sha256 = "1jlh4l3sxiwglgx6h4aqi364gr4xipmn09bk88cp997r9sm8jcp9"; + sha256 = "1z1zl6b1190nffcdyjnwz2xy4s6cvgd98aas9z71l5iddwzy32fm"; }; nativeBuildInputs = [ diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix index ab15502fb78..738a55129b1 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.14.154"; + version = "4.14.155"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "00q662s8mgnzqfgk5gkzqfv9ws3vryf28blbq1zxcy4s6wj4mpl6"; + sha256 = "10g4493ldc398qza304z5yz8qdp93w7a2bs5h5dwk0bbamwikmkp"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix index 7cc597bef4a..eaf2f7a3ec0 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.19.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.19.84"; + version = "4.19.85"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0q06mhz170x1lkx6c6qdh82rcnsj03q6f2m28aqhmc4wc694m2w6"; + sha256 = "1dsgbys73jga5h0a9icgif6qbi31g84315zlcdid9bzf1abkbx3v"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-5.3.nix b/pkgs/os-specific/linux/kernel/linux-5.3.nix index c3312c250a5..86fc9af4f24 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.3.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.3.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.3.11"; + version = "5.3.12"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "1dxfh0l4inpjd17pyxfsskjsphs43r8lg6nhhr3y4whxdna5cwbf"; + sha256 = "184pmjyqh4bkrc3vj65zn6xnljzv9d1x7c1z0hlgj6fakpwgdgsk"; }; } // (args.argsOverride or {})) diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix index e993f70b105..2a4361d99d2 100644 --- a/pkgs/servers/consul/default.nix +++ b/pkgs/servers/consul/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { pname = "consul"; - version = "1.6.1"; + version = "1.6.2"; rev = "v${version}"; goPackagePath = "github.com/hashicorp/consul"; @@ -19,7 +19,7 @@ buildGoPackage rec { owner = "hashicorp"; repo = pname; inherit rev; - sha256 = "00dvvxi7y80v2b6wzwyfzhxv1ksnl1m0nmdjl98dhq5ikb0v7p28"; + sha256 = "0r9wqxhgspgypvp9xdv931r8g28gjg9njdignp84rrbxljix25my"; }; preBuild = '' diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix index c5c97b51422..9f411c69a8d 100644 --- a/pkgs/servers/jackett/default.nix +++ b/pkgs/servers/jackett/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "jackett"; - version = "0.11.751"; + version = "0.12.907"; src = fetchurl { url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.LinuxAMDx64.tar.gz"; - sha256 = "09y9pck35pj2g89936zallxr3hanmbgp8jc42nj2js68l0z64qz3"; + sha256 = "0f88zjd8abkr72sjbzm51npxsjbk6xklfqd7iyaq3j0l5hxh6b8w"; }; buildInputs = [ makeWrapper ]; diff --git a/pkgs/servers/monitoring/loki/default.nix b/pkgs/servers/monitoring/loki/default.nix index 96e583942dd..9bc4223b5d6 100644 --- a/pkgs/servers/monitoring/loki/default.nix +++ b/pkgs/servers/monitoring/loki/default.nix @@ -1,7 +1,7 @@ { stdenv, buildGoPackage, fetchFromGitHub, makeWrapper, systemd }: buildGoPackage rec { - version = "0.4.0"; + version = "1.0.0"; pname = "grafana-loki"; goPackagePath = "github.com/grafana/loki"; @@ -11,7 +11,7 @@ buildGoPackage rec { rev = "v${version}"; owner = "grafana"; repo = "loki"; - sha256 = "1anwq5dbh29dma18hnialbb253ciazzxmnqvympbh29ricldcf8p"; + sha256 = "0qqmxrbiph268i5c8i6wpcihspdcglfxd4hy6ag03bl66rciq8nb"; }; nativeBuildInputs = [ makeWrapper ]; @@ -23,10 +23,10 @@ buildGoPackage rec { ''; meta = with stdenv.lib; { - description = "Like Prometheus, but for logs."; + description = "Like Prometheus, but for logs"; license = licenses.asl20; homepage = "https://grafana.com/loki"; - maintainers = with maintainers; [ willibutz globin ]; + maintainers = with maintainers; [ willibutz globin mmahut ]; platforms = platforms.linux; }; } diff --git a/pkgs/servers/rainloop/default.nix b/pkgs/servers/rainloop/default.nix index b037524f67f..ff6cb8c98eb 100644 --- a/pkgs/servers/rainloop/default.nix +++ b/pkgs/servers/rainloop/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, unzip, dataPath ? "/etc/rainloop" }: let common = { edition, sha256 }: stdenv.mkDerivation (rec { - name = "rainloop-${edition}-${version}"; + pname = "rainloop${stdenv.lib.optionalString (edition != "") "-${edition}"}"; version = "1.13.0"; buildInputs = [ unzip ]; @@ -26,8 +26,8 @@ meta = with stdenv.lib; { description = "Simple, modern & fast web-based email client"; homepage = "https://www.rainloop.net"; - downloadPage = https://github.com/RainLoop/rainloop-webmail/releases; - license = licenses.agpl3; + downloadPage = "https://github.com/RainLoop/rainloop-webmail/releases"; + license = with licenses; if edition == "" then unfree else agpl3; platforms = platforms.all; maintainers = with maintainers; [ das_j ]; }; diff --git a/pkgs/servers/roundcube/default.nix b/pkgs/servers/roundcube/default.nix index 5953a28a283..8278674faf1 100644 --- a/pkgs/servers/roundcube/default.nix +++ b/pkgs/servers/roundcube/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "roundcube"; - version = "1.4.0"; + version = "1.4.1"; src = fetchurl { url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/roundcubemail-${version}-complete.tar.gz"; - sha256 = "0b7gc342z0smn7q6cnznj9ncal0515ki4kkq1hlmqmyn0nna5lkb"; + sha256 = "0jml16djrap0602agwm3hvq53c4lw5bg2qklxbfk79qs3v926134"; }; patches = [ ./0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch ]; diff --git a/pkgs/servers/routinator/default.nix b/pkgs/servers/routinator/default.nix index 440cd346522..360cc4d27d8 100644 --- a/pkgs/servers/routinator/default.nix +++ b/pkgs/servers/routinator/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "routinator"; - version = "0.6.1"; + version = "0.6.2"; src = fetchFromGitHub { owner = "NLnetLabs"; repo = pname; rev = "v${version}"; - sha256 = "1knqgq8xrlvwfc3y2hki6p0zr4dblm7max37y01p3bf641gs748z"; + sha256 = "0v0j8lv1l7mxxwv7ycissya0rrvjqidb37dylqqy4zvirmk1b2av"; }; - cargoSha256 = "13sx7mbirhrd0is7gvnk0mir5qizbhrlvsn0v55ibf3bybjsb644"; + cargoSha256 = "19333br2r27s0rsv7imsv2y1j9gmljy4v8bqybvblrw1vc5961kq"; meta = with stdenv.lib; { description = "An RPKI Validator written in Rust"; diff --git a/pkgs/servers/web-apps/codimd/default.nix b/pkgs/servers/web-apps/codimd/default.nix index ab4065597ae..5b61de48b8d 100644 --- a/pkgs/servers/web-apps/codimd/default.nix +++ b/pkgs/servers/web-apps/codimd/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, fetchpatch, makeWrapper -, which, nodejs, yarn2nix, python2 }: +, which, nodejs, mkYarnPackage, python2 }: -yarn2nix.mkYarnPackage rec { +mkYarnPackage rec { name = "codimd"; version = "1.5.0"; @@ -35,14 +35,8 @@ yarn2nix.mkYarnPackage rec { popd pushd node_modules/sqlite3 - export OLD_HOME="$HOME" - export HOME="$PWD" - mkdir -p .node-gyp/${nodejs.version} - echo 9 > .node-gyp/${nodejs.version}/installVersion - ln -s ${nodejs}/include .node-gyp/${nodejs.version} - npm run install - export HOME="$OLD_HOME" - unset OLD_HOME + export CPPFLAGS="-I${nodejs}/include/node" + npm run install --build-from-source --nodedir=${nodejs}/include/node popd npm run build diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix index 647f4cc1a6e..8140e654d24 100644 --- a/pkgs/shells/zsh/oh-my-zsh/default.nix +++ b/pkgs/shells/zsh/oh-my-zsh/default.nix @@ -4,13 +4,13 @@ { stdenv, fetchgit }: stdenv.mkDerivation rec { - version = "2019-10-30"; + version = "2019-11-21"; pname = "oh-my-zsh"; - rev = "687c50bdf999f8efd45f3c8f578a62329b0633da"; + rev = "76d6b0256398ad1becbc304a78f51bbacfee50e5"; src = fetchgit { inherit rev; url = "https://github.com/robbyrussell/oh-my-zsh"; - sha256 = "13vflcqshvr323sdh4yrs4wlvbxhhc7ldhcyawcwassk44g2kx8w"; + sha256 = "0p049v1v0jk3v8inn99ankgdn2q5iamsxn203w4vb53266xjgx2r"; }; pathsToLink = [ "/share/oh-my-zsh" ]; diff --git a/pkgs/tools/admin/azure-cli/default.nix b/pkgs/tools/admin/azure-cli/default.nix new file mode 100644 index 00000000000..3a80b4752c2 --- /dev/null +++ b/pkgs/tools/admin/azure-cli/default.nix @@ -0,0 +1,248 @@ +{ lib, python, fetchFromGitHub, installShellFiles }: + +let + version = "2.0.76"; + src = fetchFromGitHub { + owner = "Azure"; + repo = "azure-cli"; + rev = "azure-cli-${version}"; + sha256 = "0zfy8nhw4nx0idh94qidr06vsfxgdk2ky0ih76s27121pdwr05aa"; + }; + + # put packages that needs to be overriden in the py package scope + py = import ./python-packages.nix { inherit python lib src version; }; +in +py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage { + pname = "azure-cli"; + inherit version src; + disabled = python.isPy27; # namespacing assumes PEP420, which isn't compat with py2 + + sourceRoot = "source/src/azure-cli"; + + prePatch = '' + substituteInPlace setup.py \ + --replace "javaproperties==0.5.1" "javaproperties" \ + --replace "pytz==2019.1" "pytz" \ + --replace "mock~=2.0" "mock" \ + --replace "azure-mgmt-reservations==0.3.1" "azure-mgmt-reservations~=0.3.1" + + # remove namespace hacks + # remove urllib3 because it was added as 'urllib3[secure]', which doesn't get handled well + sed -i setup.py \ + -e '/azure-cli-command_modules-nspkg/d' \ + -e '/azure-cli-nspkg/d' \ + -e '/urllib3/d' + ''; + + nativeBuildInputs = [ installShellFiles ]; + + propagatedBuildInputs = with py.pkgs; [ + azure-batch + azure-cli-core + azure-cli-telemetry + azure-cosmos + azure-datalake-store + azure-functions-devops-build + azure-graphrbac + azure-keyvault + azure-mgmt-advisor + azure-mgmt-apimanagement + azure-mgmt-applicationinsights + azure-mgmt-appconfiguration + azure-mgmt-authorization + azure-mgmt-batch + azure-mgmt-batchai + azure-mgmt-billing + azure-mgmt-botservice + azure-mgmt-cdn + azure-mgmt-cognitiveservices + azure-mgmt-compute + azure-mgmt-consumption + azure-mgmt-containerinstance + azure-mgmt-containerregistry + azure-mgmt-containerservice + azure-mgmt-cosmosdb + azure-mgmt-datalake-analytics + azure-mgmt-datalake-store + azure-mgmt-datamigration + azure-mgmt-deploymentmanager + azure-mgmt-devtestlabs + azure-mgmt-dns + azure-mgmt-eventgrid + azure-mgmt-eventhub + azure-mgmt-hdinsight + azure-mgmt-imagebuilder + azure-mgmt-iotcentral + azure-mgmt-iothub + azure-mgmt-iothubprovisioningservices + azure-mgmt-keyvault + azure-mgmt-kusto + azure-mgmt-loganalytics + azure-mgmt-managedservices + azure-mgmt-managementgroups + azure-mgmt-maps + azure-mgmt-marketplaceordering + azure-mgmt-media + azure-mgmt-monitor + azure-mgmt-msi + azure-mgmt-network + azure-mgmt-netapp + azure-mgmt-policyinsights + azure-mgmt-privatedns + azure-mgmt-rdbms + azure-mgmt-recoveryservices + azure-mgmt-recoveryservicesbackup + azure-mgmt-redis + azure-mgmt-relay + azure-mgmt-reservations + azure-mgmt-resource + azure-mgmt-search + azure-mgmt-security + azure-mgmt-servicebus + azure-mgmt-servicefabric + azure-mgmt-signalr + azure-mgmt-sql + azure-mgmt-sqlvirtualmachine + azure-mgmt-storage + azure-mgmt-trafficmanager + azure-mgmt-web + azure-multiapi-storage + azure-storage-blob + colorama + cryptography + Fabric + jsmin + knack + mock + paramiko + pydocumentdb + pygments + pyopenssl + pytz + pyyaml + psutil + requests + scp + six + sshtunnel + urllib3 + vsts-cd-manager + websocket_client + xmltodict + javaproperties + jsondiff + # urllib3[secure] + ipaddress + # shell completion + argcomplete + ]; + + # TODO: make shell completion actually work + # uses argcomplete, so completion needs PYTHONPATH to work + postInstall = '' + installShellCompletion --bash --name az.bash az.completion.sh + installShellCompletion --zsh --name _az az.completion.sh + + # remove garbage + rm $out/bin/az.bat + rm $out/bin/az.completion.sh + ''; + + # wrap the executable so that the python packages are available + # it's just a shebang script which calls `python -m azure.cli "$@"` + postFixup = '' + wrapProgram $out/bin/az \ + --set PYTHONPATH $PYTHONPATH + ''; + + # almost the entire test suite requires an azure account setup and networking + # ensure that the azure namespaces are setup correctly and that azure.cli can be accessed + checkPhase = '' + cd azure # avoid finding local copy + ${py.interpreter} -c 'import azure.cli.core; assert "${version}" == azure.cli.core.__version__' + HOME=$TMPDIR ${py.interpreter} -m azure.cli --help + ''; + + # ensure these namespaces are able to be accessed + pythonImportsCheck = [ + "azure.batch" + "azure.cli.core" + "azure.cli.telemetry" + "azure.cosmos" + "azure.datalake.store" + "azure_functions_devops_build" + "azure.graphrbac" + "azure.keyvault" + "azure.mgmt.advisor" + "azure.mgmt.apimanagement" + "azure.mgmt.applicationinsights" + "azure.mgmt.appconfiguration" + "azure.mgmt.authorization" + "azure.mgmt.batch" + "azure.mgmt.batchai" + "azure.mgmt.billing" + "azure.mgmt.botservice" + "azure.mgmt.cdn" + "azure.mgmt.cognitiveservices" + "azure.mgmt.compute" + "azure.mgmt.consumption" + "azure.mgmt.containerinstance" + "azure.mgmt.containerregistry" + "azure.mgmt.containerservice" + "azure.mgmt.cosmosdb" + "azure.mgmt.datalake.analytics" + "azure.mgmt.datalake.store" + "azure.mgmt.datamigration" + "azure.mgmt.deploymentmanager" + "azure.mgmt.devtestlabs" + "azure.mgmt.dns" + "azure.mgmt.eventgrid" + "azure.mgmt.eventhub" + "azure.mgmt.hdinsight" + "azure.mgmt.imagebuilder" + "azure.mgmt.iotcentral" + "azure.mgmt.iothub" + "azure.mgmt.iothubprovisioningservices" + "azure.mgmt.keyvault" + "azure.mgmt.kusto" + "azure.mgmt.loganalytics" + "azure.mgmt.managedservices" + "azure.mgmt.managementgroups" + "azure.mgmt.maps" + "azure.mgmt.marketplaceordering" + "azure.mgmt.media" + "azure.mgmt.monitor" + "azure.mgmt.msi" + "azure.mgmt.network" + "azure.mgmt.netapp" + "azure.mgmt.policyinsights" + "azure.mgmt.privatedns" + "azure.mgmt.rdbms" + "azure.mgmt.recoveryservices" + "azure.mgmt.recoveryservicesbackup" + "azure.mgmt.redis" + "azure.mgmt.relay" + "azure.mgmt.reservations" + "azure.mgmt.resource" + "azure.mgmt.search" + "azure.mgmt.security" + "azure.mgmt.servicebus" + "azure.mgmt.servicefabric" + "azure.mgmt.signalr" + "azure.mgmt.sql" + "azure.mgmt.sqlvirtualmachine" + "azure.mgmt.storage" + "azure.mgmt.trafficmanager" + "azure.mgmt.web" + "azure.storage.blob" + "azure.storage.common" + ]; + + meta = with lib; { + homepage = "https://github.com/Azure/azure-cli"; + description = "Next generation multi-platform command line experience for Azure"; + license = licenses.mit; + maintainers = with maintainers; [ jonringer ]; + }; +}) + diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix new file mode 100644 index 00000000000..e925a239afb --- /dev/null +++ b/pkgs/tools/admin/azure-cli/python-packages.nix @@ -0,0 +1,247 @@ +{ python, lib, src, version }: + +let + buildAzureCliPackage = with py.pkgs; attrs: buildPythonPackage (attrs // { + # Remove overly restrictive version contraints and obsolete namespace setup + prePatch = (attrs.prePatch or "") + '' + rm -f azure_bdist_wheel.py tox.ini + substituteInPlace setup.py \ + --replace "wheel==0.30.0" "wheel" + sed -i "/azure-namespace-package/c\ " setup.cfg + ''; + + # Prevent these __init__'s from violating PEP420, only needed for python2 + postInstall = (attrs.postInstall or "") + '' + rm $out/${python.sitePackages}/azure/{,__pycache__/}__init__.* \ + $out/${python.sitePackages}/azure/cli/{,__pycache__/}__init__.* + ''; + + checkInputs = [ mock pytest ] ++ (attrs.checkInputs or []); + checkPhase = attrs.checkPhase or '' + cd azure + HOME=$TMPDIR pytest + ''; + }); + + overrideAzureMgmtPackage = package: version: extension: sha256: + package.overrideAttrs(oldAttrs: rec { + inherit version; + + src = py.pkgs.fetchPypi { + inherit (oldAttrs) pname; + inherit version sha256 extension; + }; + + preBuild = '' + rm -f azure_bdist_wheel.py + substituteInPlace setup.cfg \ + --replace "azure-namespace-package = azure-mgmt-nspkg" "" + ''; + }); + + py = python.override { + packageOverrides = self: super: { + inherit buildAzureCliPackage; + + # core and the actual application are highly coupled + azure-cli-core = buildAzureCliPackage { + pname = "azure-cli-core"; + inherit version src; + + sourceRoot = "source/src/azure-cli-core"; + + propagatedBuildInputs = with self; [ + adal + argcomplete + azure-cli-telemetry + colorama + jmespath + humanfriendly + knack + msrest + msrestazure + paramiko + pygments + pyjwt + pyopenssl + 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 ]; + + # ignore test that does network call + checkPhase = '' + HOME=$TMPDIR pytest --ignore=azure/cli/core/tests/test_profile.py + ''; + + pythonImportsCheck = [ + "azure.cli.telemetry" + "azure.cli.core" + ]; + }; + + azure-cli-telemetry = buildAzureCliPackage { + pname = "azure-cli-telemetry"; + version = "1.0.4"; # might be wrong, but doesn't really matter + inherit src; + + sourceRoot = "source/src/azure-cli-telemetry"; + + propagatedBuildInputs = with super; [ + applicationinsights + portalocker + ]; + + # ignore flaky test + checkPhase = '' + cd azure + HOME=$TMPDIR pytest -k 'not test_create_telemetry_note_file_from_scratch' + ''; + }; + + 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-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-iothub = overrideAzureMgmtPackage super.azure-mgmt-iothub "0.8.2" "zip" + "0w3w1d156rnkwjdarv3qvycklxr3z2j7lry7a3jfgj3ykzny12rq"; + + azure-mgmt-kusto = overrideAzureMgmtPackage super.azure-mgmt-kusto "0.3.0" "zip" + "1pmcdgimd66h964a3d5m2j2fbydshcwhrk87wblhwhfl3xwbgf4y"; + + 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-dns = overrideAzureMgmtPackage super.azure-mgmt-dns "2.1.0" "zip" + "1l55py4fzzwhxlmnwa41gpmqk9v2ncc79w7zq11sm9a5ynrv2c1p"; + + azure-mgmt-network = overrideAzureMgmtPackage super.azure-mgmt-network "7.0.0" "zip" + "0ss5yc9k3dh78lb88nfh3z98yz1pcd8d7d7cfjlxmv4n3dlr1kij"; + + azure-mgmt-msi = overrideAzureMgmtPackage super.azure-mgmt-msi "0.2.0" "zip" + "0rvik03njz940x2hvqg6iiq8k0d88gyygsr86w8s0sa12sdbq8l6"; + + 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-security = overrideAzureMgmtPackage super.azure-mgmt-security "0.1.0" "zip" + "1cb466722bs0ribrirb32kc299716pl0pwivz3jyn40dd78cwhhx"; + + azure-mgmt-datamigration = overrideAzureMgmtPackage super.azure-mgmt-datamigration "0.1.0" "zip" + "1pq5rn32yvrf5kqjafnj0kc92gpfg435w2l0k7cm8gvlja4r4m77"; + + azure-mgmt-relay = overrideAzureMgmtPackage super.azure-mgmt-relay "0.1.0" "zip" + "1jss6qhvif8l5s0lblqw3qzijjf0h88agciiydaa7f4q577qgyfr"; + + azure-mgmt-eventhub = overrideAzureMgmtPackage super.azure-mgmt-eventhub "2.6.0" "zip" + "1nnp2ki4iz4f4897psmwb0v5khrwh84fgxja7nl7g73g3ym20sz8"; + + azure-mgmt-keyvault = overrideAzureMgmtPackage super.azure-mgmt-keyvault "1.1.0" "zip" + "16a0d3j5dilbp7pd7gbwf8jr46vzbjim1p9alcmisi12m4km7885"; + + 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-advisor = overrideAzureMgmtPackage super.azure-mgmt-advisor "2.0.1" "zip" + "1wsfkprdrn22mwm24y2zlcms8ppp7jwq3s86r3ymbl29pbaxca8r"; + + azure-mgmt-applicationinsights = overrideAzureMgmtPackage super.azure-mgmt-applicationinsights "0.1.1" "zip" + "16raxr5naszrxmgbfhsvh7rqcph5cx6x3f480790m79ykvmjj0pi"; + + azure-mgmt-authorization = overrideAzureMgmtPackage super.azure-mgmt-authorization "0.52.0" "zip" + "0357laxgldb7lvvws81r8xb6mrq9dwwnr1bnwdnyj4bw6p21i9hn"; + + azure-mgmt-storage = overrideAzureMgmtPackage super.azure-mgmt-storage "5.0.0" "zip" + "1gzsscfnnfb8gxs34dq9hs339hidlzas7kgivw0234v3qz4gy9yx"; + + azure-mgmt-servicefabric = overrideAzureMgmtPackage super.azure-mgmt-servicefabric "0.2.0" "zip" + "1bcq6fcgrsvmk6q7v8mxzn1180jm2qijdqkqbv1m117zp1wj5gxj"; + + azure-mgmt-hdinsight = overrideAzureMgmtPackage super.azure-mgmt-hdinsight "1.1.0" "zip" + "0lj9dhb14dx4ag5pgd2zvrmn9y5ziq2qywvw38ccbv9g3bxpglkn"; + + azure-graphrbac = super.azure-graphrbac.overrideAttrs(oldAttrs: rec { + version = "0.60.0"; + + src = super.fetchPypi { + inherit (oldAttrs) pname; + inherit version; + sha256 = "1zna5vb887clvpyfp5439vhlz3j4z95blw9r7y86n6cfpzc65fyh"; + extension = "zip"; + }; + }); + + azure-storage-blob = super.azure-storage-blob.overrideAttrs(oldAttrs: rec { + version = "1.5.0"; + src = super.fetchPypi { + inherit (oldAttrs) pname; + inherit version; + sha256 = "0b15dzy75fml994gdfmaw5qcyij15gvh968mk3hg94d1wxwai1zi"; + }; + }); + + azure-storage-common = super.azure-storage-common.overrideAttrs(oldAttrs: rec { + version = "1.4.2"; + src = super.fetchPypi { + inherit (oldAttrs) pname; + inherit version; + sha256 = "00g41b5q4ijlv02zvzjgfwrwy71cgr3lc3if4nayqmyl6xsprj2f"; + }; + }); + + # part of azure.mgmt.datalake namespace + azure-mgmt-datalake-analytics = super.azure-mgmt-datalake-analytics.overrideAttrs(oldAttrs: rec { + version = "0.2.1"; + + src = super.fetchPypi { + inherit (oldAttrs) pname; + inherit version; + sha256 = "192icfx82gcl3igr18w062744376r2ivh63c8nd7v17mjk860yac"; + extension = "zip"; + }; + + preBuild = '' + rm azure_bdist_wheel.py + substituteInPlace setup.cfg \ + --replace "azure-namespace-package = azure-mgmt-datalake-nspkg" "" + ''; + }); + + + + + + + + + + + + + }; + }; +in + py diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix index 54223dfaea8..b7208d7b867 100644 --- a/pkgs/tools/admin/eksctl/default.nix +++ b/pkgs/tools/admin/eksctl/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "eksctl"; - version = "0.9.0"; + version = "0.10.2"; src = fetchFromGitHub { owner = "weaveworks"; repo = pname; rev = version; - sha256 = "09r8qyc9gcc3slfldkxp91bkiyfgd6qh4di0dbnjggsqfncg34ra"; + sha256 = "0j1kzll23rj87nabzjjhxydg95cnxlwbkqp3qivf96bv1xlby75k"; }; - modSha256 = "0y222vxxs9aw17mhif4m0z35ks9xxv90ajk9am71x85sfvkglgl0"; + modSha256 = "18n4aimf9diy9w7f2k08cd7xr8jay6pid5mwrc24y2pqkjhgpyp7"; subPackages = [ "cmd/eksctl" ]; diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix index 241e552b05c..9509eccabdc 100644 --- a/pkgs/tools/audio/beets/default.nix +++ b/pkgs/tools/audio/beets/default.nix @@ -6,6 +6,7 @@ # Attributes needed for tests of the external plugins , callPackage, beets +, enableAbsubmit ? stdenv.lib.elem stdenv.hostPlatform.system essentia-extractor.meta.platforms, essentia-extractor ? null , enableAcousticbrainz ? true , enableAcoustid ? true , enableBadfiles ? true, flac ? null, mp3val ? null @@ -33,6 +34,7 @@ , bashInteractive, bash-completion }: +assert enableAbsubmit -> essentia-extractor != null; assert enableAcoustid -> pythonPackages.pyacoustid != null; assert enableBadfiles -> flac != null && mp3val != null; assert enableConvert -> ffmpeg != null; @@ -51,6 +53,7 @@ with stdenv.lib; let optionalPlugins = { + absubmit = enableAbsubmit; acousticbrainz = enableAcousticbrainz; badfiles = enableBadfiles; chroma = enableAcoustid; @@ -75,12 +78,12 @@ let }; pluginsWithoutDeps = [ - "absubmit" "beatport" "bench" "bpd" "bpm" "bucket" "cue" "duplicates" - "edit" "embedart" "export" "filefilter" "freedesktop" "fromfilename" - "ftintitle" "fuzzy" "hook" "ihate" "importadded" "importfeeds" "info" - "inline" "ipfs" "lyrics" "mbcollection" "mbsubmit" "mbsync" "metasync" - "missing" "permissions" "play" "plexupdate" "random" "rewrite" "scrub" - "smartplaylist" "spotify" "the" "types" "zero" + "beatport" "bench" "bpd" "bpm" "bucket" "cue" "duplicates" "edit" "embedart" + "export" "filefilter" "freedesktop" "fromfilename" "ftintitle" "fuzzy" + "hook" "ihate" "importadded" "importfeeds" "info" "inline" "ipfs" "lyrics" + "mbcollection" "mbsubmit" "mbsync" "metasync" "missing" "permissions" "play" + "plexupdate" "random" "rewrite" "scrub" "smartplaylist" "spotify" "the" + "types" "zero" ]; enabledOptionalPlugins = attrNames (filterAttrs (_: id) optionalPlugins); @@ -129,7 +132,8 @@ in pythonPackages.buildPythonApplication rec { pythonPackages.gst-python pythonPackages.pygobject3 gobject-introspection - ] ++ optional enableAcoustid pythonPackages.pyacoustid + ] ++ optional enableAbsubmit essentia-extractor + ++ optional enableAcoustid pythonPackages.pyacoustid ++ optional (enableFetchart || enableEmbyupdate || enableKodiupdate diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix index c1673c8308e..a33067e8897 100644 --- a/pkgs/tools/backup/duplicity/default.nix +++ b/pkgs/tools/backup/duplicity/default.nix @@ -43,7 +43,7 @@ python2Packages.buildPythonApplication rec { buildInputs = [ librsync makeWrapper python2Packages.wrapPython ]; propagatedBuildInputs = [ backblaze-b2 ] ++ (with python2Packages; [ boto cffi cryptography ecdsa enum idna pygobject3 fasteners - ipaddress lockfile paramiko pyasn1 pycrypto six + ipaddress lockfile paramiko pyasn1 pycrypto six pydrive ]); checkInputs = [ gnupg # Add 'gpg' to PATH. diff --git a/pkgs/tools/compression/lz4/default.nix b/pkgs/tools/compression/lz4/default.nix index 3f2497cd8d2..3ce0eac3fc5 100644 --- a/pkgs/tools/compression/lz4/default.nix +++ b/pkgs/tools/compression/lz4/default.nix @@ -21,6 +21,7 @@ stdenv.mkDerivation rec { }) ]; + # TODO(@Ericson2314): Separate binaries and libraries outputs = [ "out" "dev" ]; buildInputs = stdenv.lib.optional doCheck valgrind; @@ -33,17 +34,27 @@ stdenv.mkDerivation rec { # TODO do this instead #"BUILD_STATIC=${if enableStatic then "yes" else "no"}" #"BUILD_SHARED=${if enableShared then "yes" else "no"}" + #"WINDRES:=${stdenv.cc.bintools.targetPrefix}windres" ] # TODO delete and do above ++ stdenv.lib.optional (enableStatic) "BUILD_STATIC=yes" ++ stdenv.lib.optional (!enableShared) "BUILD_SHARED=no" + ++ stdenv.lib.optional stdenv.hostPlatform.isMinGW "WINDRES:=${stdenv.cc.bintools.targetPrefix}windres" + # TODO make full dictionary + ++ stdenv.lib.optional stdenv.hostPlatform.isMinGW "TARGET_OS=MINGW" ; doCheck = false; # tests take a very long time checkTarget = "test"; - # TODO remove - postInstall = stdenv.lib.optionalString (!enableStatic) "rm $out/lib/*.a"; + # TODO(@Ericson2314): Make resusable setup hook for this issue on Windows. + postInstall = + stdenv.lib.optionalString stdenv.hostPlatform.isWindows '' + mv $out/bin/*.dll $out/lib + ln -s $out/lib/*.dll + '' + # TODO remove + + stdenv.lib.optionalString (!enableStatic) "rm $out/lib/*.a"; meta = with stdenv.lib; { description = "Extremely fast compression algorithm"; @@ -56,6 +67,6 @@ stdenv.mkDerivation rec { ''; homepage = https://lz4.github.io/lz4/; license = with licenses; [ bsd2 gpl2Plus ]; - platforms = platforms.unix; + platforms = platforms.all; }; } diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix index 01e8525fe8f..a3aecf88c90 100644 --- a/pkgs/tools/compression/zstd/default.nix +++ b/pkgs/tools/compression/zstd/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, gnugrep +{ stdenv, fetchFromGitHub, fetchpatch, gnugrep , fixDarwinDylibNames , file , legacySupport ? false }: @@ -14,11 +14,33 @@ stdenv.mkDerivation rec { owner = "facebook"; }; - buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames; + patches = [ + # All 3 from https://github.com/facebook/zstd/pull/1883 + (fetchpatch { + url = "https://github.com/facebook/zstd/commit/106278e7e5fafaea3b7deb4147bdc8071562d2f0.diff"; + sha256 = "13z7id1qbc05cv1rmak7c8xrchp7jh1i623bq5pwcihg57wzcyr8"; + }) + (fetchpatch { + url = "https://github.com/facebook/zstd/commit/0ede342acc2c26f87ae962fa88e158904d4198c4.diff"; + sha256 = "12l5xbvnzkvr76mvl1ls767paqfwbd9q1pzq44ckacfpz4f6iaap"; + excludes = [ + # I think line endings are causing problems, or something like that + "programs/windres/generate_res.bat" + ]; + }) + (fetchpatch { + url = "https://github.com/facebook/zstd/commit/10552eaffef84c011f67af0e04f0780b50a5ab26.diff"; + sha256 = "1s27ravar3rn7q8abybp9733jhpsfcaci51k04da94ahahvxwiqw"; + }) + ] # This I didn't upstream because if you use posix threads with MinGW it will + # work find, and I'm not sure how to write the condition. + ++ stdenv.lib.optional stdenv.hostPlatform.isWindows ./mcfgthreads-no-pthread.patch; + + nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames; makeFlags = [ "ZSTD_LEGACY_SUPPORT=${if legacySupport then "1" else "0"}" - ]; + ] ++ stdenv.lib.optional stdenv.hostPlatform.isWindows "OS=Windows"; checkInputs = [ file ]; doCheck = true; @@ -56,7 +78,7 @@ stdenv.mkDerivation rec { homepage = https://facebook.github.io/zstd/; license = with licenses; [ bsd3 ]; # Or, at your opinion, GPL-2.0-only. - platforms = platforms.unix; + platforms = platforms.all; maintainers = with maintainers; [ orivej ]; }; } diff --git a/pkgs/tools/compression/zstd/mcfgthreads-no-pthread.patch b/pkgs/tools/compression/zstd/mcfgthreads-no-pthread.patch new file mode 100644 index 00000000000..69921c0c7ba --- /dev/null +++ b/pkgs/tools/compression/zstd/mcfgthreads-no-pthread.patch @@ -0,0 +1,13 @@ +diff --git a/programs/Makefile b/programs/Makefile +index 7882fe8c..1e8237bb 100644 +--- a/programs/Makefile ++++ b/programs/Makefile +@@ -107,7 +107,7 @@ HAVE_THREAD := $(shell [ "$(HAVE_PTHREAD)" -eq "1" -o -n "$(filter Windows%,$(OS + ifeq ($(HAVE_THREAD), 1) + THREAD_MSG := ==> building with threading support + THREAD_CPP := -DZSTD_MULTITHREAD +-THREAD_LD := -pthread ++THREAD_LD := + else + THREAD_MSG := $(NO_THREAD_MSG) + endif diff --git a/pkgs/tools/filesystems/duff/default.nix b/pkgs/tools/filesystems/duff/default.nix index 3981521097a..d68ad10bd0d 100644 --- a/pkgs/tools/filesystems/duff/default.nix +++ b/pkgs/tools/filesystems/duff/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation { Duff is a Unix command-line utility for quickly finding duplicates in a given set of files. ''; - homepage = http://duff.dreda.org/; + homepage = https://duff.dreda.org/; license = licenses.zlib; platforms = platforms.all; }; diff --git a/pkgs/tools/filesystems/nixpart/0.4/default.nix b/pkgs/tools/filesystems/nixpart/0.4/default.nix index b293b6d8146..129283e83eb 100644 --- a/pkgs/tools/filesystems/nixpart/0.4/default.nix +++ b/pkgs/tools/filesystems/nixpart/0.4/default.nix @@ -73,6 +73,5 @@ in buildPythonApplication rec { license = licenses.gpl2Plus; maintainers = [ maintainers.aszlig ]; platforms = platforms.linux; - broken = true; }; } diff --git a/pkgs/tools/misc/vector/default.nix b/pkgs/tools/misc/vector/default.nix index 8c5ba4100c6..b5e34165030 100644 --- a/pkgs/tools/misc/vector/default.nix +++ b/pkgs/tools/misc/vector/default.nix @@ -6,20 +6,31 @@ (if stdenv.isAarch64 then [ "jemallocator" ] else [ "leveldb" "jemallocator" ]) + +# Unfortunately, buildRustPackage does not really support using overrideAttrs +# on the underlying fields, because it doesn't pass them to stdenv.mkDerivation +# as an attr. making it a parameter is the only way to do so. sigh + +, version ? "0.5.0" + +, srcRef ? { + rev = "refs/tags/v${version}"; + sha256 = "0niyxlvphn3awrpfh1hbqy767cckgjzyjrkqjxj844czxhh1hhff"; + } + +, cargoSha256 ? "0bdgan891hrah54g6aaysqizkxrfsbidnxihai0i7h7knzq9gsk5" +, patches ? [] }: rustPlatform.buildRustPackage rec { pname = "vector"; - version = "0.5.0"; - + inherit version cargoSha256 patches; src = fetchFromGitHub { - owner = "timberio"; - repo = pname; - rev = "refs/tags/v${version}"; - sha256 = "0niyxlvphn3awrpfh1hbqy767cckgjzyjrkqjxj844czxhh1hhff"; + owner = "timberio"; + repo = pname; + inherit (srcRef) rev sha256; }; - cargoSha256 = "0bdgan891hrah54g6aaysqizkxrfsbidnxihai0i7h7knzq9gsk5"; buildInputs = [ openssl pkgconfig protobuf ] ++ stdenv.lib.optional stdenv.isDarwin [ Security libiconv ]; diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index bc198eb595b..da54b885bfc 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.05"; + version = "2019.11.22"; src = fetchurl { url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz"; - sha256 = "129461i4103slqj3nq69djnlmgjj3lfgmazn41avc5g967w29b85"; + sha256 = "0avdlp0dc9p3lm68mfnic21x6blxmr0zvlxa4br5vj4y4sckq2m8"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/security/gnome-keysign/default.nix b/pkgs/tools/security/gnome-keysign/default.nix index 04fa923ce2c..2c216c0a404 100644 --- a/pkgs/tools/security/gnome-keysign/default.nix +++ b/pkgs/tools/security/gnome-keysign/default.nix @@ -1,5 +1,6 @@ { stdenv , fetchFromGitLab +, fetchpatch , python3 , wrapGAppsHook , gobject-introspection @@ -11,22 +12,30 @@ python3.pkgs.buildPythonApplication rec { pname = "gnome-keysign"; - version = "1.0.1"; + version = "1.2.0"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; owner = "GNOME"; repo = pname; rev = version; - sha256 = "0iy70dskd7wly37lpb2ypd9phhyml5j3c7rzajii4f2s7zgb3abg"; + sha256 = "1sjphi1lsivg9jmc8khbcqa9w6608pkrccz4nz3rlcc54hn0k0sj"; }; + patches = [ + # fix build failure due to missing import + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-keysign/commit/216c3677e68960afc517edc00529323e85909323.patch"; + sha256 = "1w410gvcridbq26sry7fxn49v59ss2lc0w5ab7csva8rzs1nc990"; + }) + ]; + nativeBuildInputs = [ wrapGAppsHook gobject-introspection ] ++ (with python3.pkgs; [ Babel - lxml + babelgladeextractor ]); buildInputs = [ diff --git a/pkgs/tools/security/sequoia/default.nix b/pkgs/tools/security/sequoia/default.nix index 554ed93f093..21403225aad 100644 --- a/pkgs/tools/security/sequoia/default.nix +++ b/pkgs/tools/security/sequoia/default.nix @@ -9,16 +9,16 @@ assert pythonSupport -> pythonPackages != null; rustPlatform.buildRustPackage rec { pname = "sequoia"; - version = "0.10.0"; + version = "0.11.0"; src = fetchFromGitLab { owner = "sequoia-pgp"; repo = pname; rev = "v${version}"; - sha256 = "0gvczghyik56jlnb8cz7jg2l3nbm519gf19g7l5blxci3009v23d"; + sha256 = "1k0pr3vn77fpfzyvbg7xb4jwm6srsiws9bsd8q7i3hl6j56a880i"; }; - cargoSha256 = "0dk9sjcbmygbdpwqnah5krli1p9j5hahgiqrca9c0kfpfiwgx62q"; + cargoSha256 = "15bhg7b88rq8p0bn6y5wwv2l42kqb1qyx2s3kw0r0v0wadf823q3"; nativeBuildInputs = [ pkgconfig @@ -87,6 +87,6 @@ rustPlatform.buildRustPackage rec { license = licenses.gpl3; maintainers = with maintainers; [ minijackson doronbehar ]; platforms = platforms.all; - broken = true; + broken = stdenv.targetPlatform.isDarwin; }; } diff --git a/pkgs/tools/security/sops/default.nix b/pkgs/tools/security/sops/default.nix index b132066fee5..8aa2e219e7d 100644 --- a/pkgs/tools/security/sops/default.nix +++ b/pkgs/tools/security/sops/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "sops"; - version = "3.4.0"; + version = "3.5.0"; src = fetchFromGitHub { - rev = version; + rev = "v${version}"; owner = "mozilla"; repo = pname; - sha256 = "1mrqf9xgv88v919x7gz9l1x70xwvp6cfz3zp9ip1nj2pzn6ixz3d"; + sha256 = "1515bk0fl0pvdkp402l51gdg63bmqlh89sglss6prc1qqvv5v2xy"; }; - modSha256 = "13ja8nxycmdjnrnsxdd1qs06x408aqr4im127a6y433pkx2dg7gc"; + modSha256 = "0vhxd3dschj5i9sig6vpxzbl59cas1qa843akzmjnfjrrafb916y"; meta = with stdenv.lib; { homepage = "https://github.com/mozilla/sops"; diff --git a/pkgs/tools/text/kdiff3/default.nix b/pkgs/tools/text/kdiff3/default.nix index aa53aeb4206..d55ed89e633 100644 --- a/pkgs/tools/text/kdiff3/default.nix +++ b/pkgs/tools/text/kdiff3/default.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, fetchurl, extra-cmake-modules, kdoctools, wrapGAppsHook, - kcrash, kconfig, kinit, kparts + kcrash, kconfig, kinit, kparts, kiconthemes }: mkDerivation rec { @@ -15,7 +15,7 @@ mkDerivation rec { nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ]; - propagatedBuildInputs = [ kconfig kcrash kinit kparts ]; + propagatedBuildInputs = [ kconfig kcrash kinit kparts kiconthemes ]; meta = with lib; { homepage = http://kdiff3.sourceforge.net/; diff --git a/pkgs/tools/text/mdbook/default.nix b/pkgs/tools/text/mdbook/default.nix index 3123d31a7b5..b21523ce863 100644 --- a/pkgs/tools/text/mdbook/default.nix +++ b/pkgs/tools/text/mdbook/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "mdbook"; - version = "0.3.1"; + version = "0.3.5"; src = fetchFromGitHub { owner = "rust-lang-nursery"; repo = "mdBook"; rev = "v${version}"; - sha256 = "0py69267jbs6b7zw191hcs011cm1v58jz8mglqx3ajkffdfl3ghw"; + sha256 = "0gcrv54iswphzxxkmak1c7pmmpakiri6jk50j4bxrsplwjr76f7n"; }; - cargoSha256 = "0qwhc42a86jpvjcaysmfcw8kmwa150lmz01flmlg74g6qnimff5m"; + cargoSha256 = "00grlxjz61vxinr18f28ga6610yjxcq48lr75wmyc5wq317j12fn"; buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices ]; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 90ce0d2bb2c..238f7b94772 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -309,6 +309,9 @@ mapAliases ({ procps-ng = procps; # added 2018-06-08 pyo3-pack = maturin; pulseaudioLight = pulseaudio; # added 2018-04-25 + phonon-backend-gstreamer = throw "Please use libsForQt5.phonon-backend-gstreamer, as Qt4 support in this package has been removed."; # added 2019-11-22 + phonon-backend-vlc = throw "Please use libsForQt5.phonon-backend-vlc, as Qt4 support in this package has been removed."; # added 2019-11-22 + phonon = throw "Please use libsForQt5.phonon, as Qt4 support in this package has been removed."; # added 2019-11-22 qca-qt5 = libsForQt5.qca-qt5; # added 2015-12-19 quake3game = ioquake3; # added 2016-01-14 qwt6 = libsForQt5.qwt; # added 2015-12-19 @@ -343,6 +346,7 @@ mapAliases ({ scim = sc-im; # added 2016-01-22 scollector = bosun; # added 2018-04-25 sdlmame = mame; # added 2019-10-30 + seg3d = throw "seg3d has been removed from nixpkgs (2019-11-10)"; shared_mime_info = shared-mime-info; # added 2018-02-25 skrooge2 = skrooge; # added 2017-02-18 skype = skypeforlinux; # added 2017-07-27 @@ -430,6 +434,7 @@ mapAliases ({ xpraGtk3 = xpra; # added 2018-09-13 youtubeDL = youtube-dl; # added 2014-10-26 zdfmediathk = mediathekview; # added 2019-01-19 + gnome_user_docs = gnome-user-docs; # added 2019-11-20 # TODO(ekleog): add ‘wasm’ alias to ‘ocamlPackages.wasm’ after 19.03 # branch-off diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c06f380724b..dd71bee627e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -710,6 +710,8 @@ in iamy = callPackage ../tools/admin/iamy { }; + azure-cli = callPackage ../tools/admin/azure-cli { python = python3; }; + azure-storage-azcopy = callPackage ../development/tools/azcopy { }; azure-vhd-utils = callPackage ../tools/misc/azure-vhd-utils { }; @@ -2358,10 +2360,6 @@ in codimd = callPackage ../servers/web-apps/codimd { nodejs = nodejs-10_x; - yarn2nix = yarn2nix-moretea.override { - nodejs = nodejs-10_x; - yarn = yarn.override { nodejs = nodejs-10_x; }; - }; }; colord = callPackage ../tools/misc/colord { }; @@ -4002,6 +4000,8 @@ in hylafaxplus = callPackage ../servers/hylafaxplus { }; + hyphen = callPackage ../development/libraries/hyphen { }; + i2c-tools = callPackage ../os-specific/linux/i2c-tools { }; i2p = callPackage ../tools/networking/i2p {}; @@ -7399,6 +7399,11 @@ in yarn2nix-moretea = callPackage ../development/tools/yarn2nix-moretea/yarn2nix { }; + inherit (yarn2nix-moretea) + yarn2nix + mkYarnPackage + fixup_yarn_lock; + yasr = callPackage ../applications/audio/yasr { }; yank = callPackage ../tools/misc/yank { }; @@ -7461,7 +7466,7 @@ in zsh-navigation-tools = callPackage ../tools/misc/zsh-navigation-tools { }; zsh-syntax-highlighting = callPackage ../shells/zsh/zsh-syntax-highlighting { }; - + zsh-fast-syntax-highlighting = callPackage ../shells/zsh/zsh-fast-syntax-highlighting { }; zsh-autosuggestions = callPackage ../shells/zsh/zsh-autosuggestions { }; @@ -13356,9 +13361,7 @@ in openssl-chacha = callPackage ../development/libraries/openssl/chacha.nix { }; - opensubdiv = callPackage ../development/libraries/opensubdiv { - cmake = cmake_2_8; - }; + opensubdiv = callPackage ../development/libraries/opensubdiv { }; open-wbo = callPackage ../applications/science/logic/open-wbo {}; @@ -13402,15 +13405,6 @@ in pdf2xml = callPackage ../development/libraries/pdf2xml {} ; - phonon = callPackage ../development/libraries/phonon {}; - - phonon-backend-gstreamer = callPackage ../development/libraries/phonon/backends/gstreamer.nix {}; - - # TODO(@Ma27) get rid of that as soon as QT4 can be dropped - phonon-backend-vlc = callPackage ../development/libraries/phonon/backends/vlc.nix { - withQt4 = true; - }; - inherit (callPackage ../development/libraries/physfs { }) physfs_2 physfs; @@ -13659,13 +13653,9 @@ in openbr = callPackage ../development/libraries/openbr { }; - phonon = callPackage ../development/libraries/phonon { - withQt5 = true; - }; + phonon = callPackage ../development/libraries/phonon { }; - phonon-backend-gstreamer = callPackage ../development/libraries/phonon/backends/gstreamer.nix { - withQt5 = true; - }; + phonon-backend-gstreamer = callPackage ../development/libraries/phonon/backends/gstreamer.nix { }; phonon-backend-vlc = callPackage ../development/libraries/phonon/backends/vlc.nix { }; @@ -16473,17 +16463,26 @@ in linuxManualConfig = makeOverridable (callPackage ../os-specific/linux/kernel/manual-config.nix {}); # Derive one of the default .config files - linuxConfig = { src, makeTarget ? "defconfig", name ? "kernel.config" }: - stdenv.mkDerivation { - inherit name src; - buildPhase = '' - set -x - make ${makeTarget} - ''; - installPhase = '' - cp .config $out - ''; - }; + linuxConfig = { + src, + version ? (builtins.parseDrvName src.name).version, + makeTarget ? "defconfig", + name ? "kernel.config", + }: stdenvNoCC.mkDerivation { + inherit name src; + depsBuildBuild = [ buildPackages.stdenv.cc ] + ++ lib.optionals (lib.versionAtLeast version "4.16") [ buildPackages.bison buildPackages.flex ]; + buildPhase = '' + set -x + make \ + ARCH=${stdenv.hostPlatform.kernelArch} \ + HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc \ + ${makeTarget} + ''; + installPhase = '' + cp .config $out + ''; + }; buildLinux = attrs: callPackage ../os-specific/linux/kernel/generic.nix attrs; @@ -17210,7 +17209,7 @@ in gohufont = callPackage ../data/fonts/gohufont { }; - gnome_user_docs = callPackage ../data/documentation/gnome-user-docs { }; + gnome-user-docs = callPackage ../data/documentation/gnome-user-docs { }; gsettings-desktop-schemas = callPackage ../development/libraries/gsettings-desktop-schemas { }; @@ -20382,7 +20381,6 @@ in orca = python3Packages.callPackage ../applications/misc/orca { inherit (pkgs) pkgconfig; - inherit (gnome3) yelp-tools; }; osm2xmap = callPackage ../applications/misc/osm2xmap { @@ -20937,10 +20935,6 @@ in protobuf = protobuf3_1; }; - seg3d = callPackage ../applications/graphics/seg3d { - wxGTK = wxGTK28.override { unicode = false; }; - }; - sent = callPackage ../applications/misc/sent { }; seq24 = callPackage ../applications/audio/seq24 { }; @@ -22202,6 +22196,8 @@ in inherit (gnome3) yelp; + yelp-tools = callPackage ../development/misc/yelp-tools { }; + yokadi = python3Packages.callPackage ../applications/misc/yokadi {}; yoshimi = callPackage ../applications/audio/yoshimi { }; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 38b0d43706a..20cd2965549 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -755,6 +755,8 @@ let sedlex = callPackage ../development/ocaml-modules/sedlex { }; + sodium = callPackage ../development/ocaml-modules/sodium { }; + spelll = callPackage ../development/ocaml-modules/spelll { }; sqlite3EZ = callPackage ../development/ocaml-modules/sqlite3EZ { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 807c0eb1512..e24c3a5f9a4 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1519,7 +1519,7 @@ let buildInputs = [ TestFatal ]; propagatedBuildInputs = [ CatalystActionRenderView CatalystPluginConfigLoader CatalystPluginStaticSimple ConfigGeneral FileChangeNotify FileCopyRecursive ModuleInstall TemplateToolkit ]; meta = { - homepage = http://dev.catalyst.perl.org/; + homepage = http://wiki.catalystframework.org/wiki/; description = "Catalyst Development Tools"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; }; @@ -1577,7 +1577,7 @@ let buildInputs = [ TestFatal TypeTiny ]; propagatedBuildInputs = [ CGISimple CGIStruct ClassC3AdoptNEXT DataDump HTTPBody ModulePluggable MooseXEmulateClassAccessorFast MooseXGetopt MooseXMethodAttributes MooseXRoleWithOverloading PathClass PerlIOutf8_strict PlackMiddlewareFixMissingBodyInRedirect PlackMiddlewareMethodOverride PlackMiddlewareRemoveRedundantBody PlackMiddlewareReverseProxy PlackTestExternalServer SafeIsa StringRewritePrefix TaskWeaken TextSimpleTable TreeSimpleVisitorFactory URIws ]; meta = { - homepage = http://dev.catalyst.perl.org/; + homepage = http://wiki.catalystframework.org/wiki/; description = "The Catalyst Framework Runtime"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; }; @@ -1971,7 +1971,7 @@ let sha256 = "1c32b30131871e8a7b23f47d8f65d9cdeb87069fa4c221781a03416496f91f16"; }; meta = { - homepage = "http://github.com/toddr/CDB_File"; + homepage = "https://github.com/toddr/CDB_File"; description = "Perl extension for access to cdb databases"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; }; @@ -4995,7 +4995,7 @@ let EOF ''; meta = { - homepage = http://dbi.perl.org/; + homepage = https://dbi.perl.org/; description = "Database independent interface for Perl"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; }; @@ -5028,7 +5028,7 @@ let buildInputs = [ DBDSQLite TestDeep TestException TestWarn ]; propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ConfigAny ContextPreserve DBI DataDumperConcise DataPage ModuleFind PathClass SQLAbstract ScopeGuard SubName namespaceclean ]; meta = { - homepage = http://www.dbix-class.org/; + homepage = https://metacpan.org/pod/DBIx::Class; description = "Extensible and flexible object <-> relational mapper"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; }; @@ -15444,7 +15444,7 @@ let }; buildInputs = [ TestLongString TestWWWMechanize TestWWWMechanizeCGI ]; meta = { - homepage = http://jaldhar.github.com/REST-Utils; + homepage = https://jaldhar.github.io/REST-Utils/; description = "Utility functions for REST applications"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; }; @@ -20023,7 +20023,7 @@ let outputs = [ "out" ]; propagatedBuildInputs = [ CGI CSSDOM ConfigGeneral LWP NetIP TermReadKey ]; meta = { - homepage = http://validator.w3.org/checklink; + homepage = https://validator.w3.org/checklink; description = "A tool to check links and anchors in Web pages or full Web sites"; license = stdenv.lib.licenses.w3c; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d0b22bf777d..21db43dd358 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -271,6 +271,8 @@ in { azure-eventgrid = callPackage ../development/python-modules/azure-eventgrid { }; + azure-functions-devops-build = callPackage ../development/python-modules/azure-functions-devops-build { }; + azure-graphrbac = callPackage ../development/python-modules/azure-graphrbac { }; azure-keyvault = callPackage ../development/python-modules/azure-keyvault { }; @@ -301,6 +303,10 @@ in { azure-mgmt-advisor = callPackage ../development/python-modules/azure-mgmt-advisor { }; + azure-mgmt-apimanagement = callPackage ../development/python-modules/azure-mgmt-apimanagement { }; + + azure-mgmt-appconfiguration = callPackage ../development/python-modules/azure-mgmt-appconfiguration { }; + azure-mgmt-applicationinsights = callPackage ../development/python-modules/azure-mgmt-applicationinsights { }; azure-mgmt-authorization = callPackage ../development/python-modules/azure-mgmt-authorization { }; @@ -311,6 +317,8 @@ in { azure-mgmt-billing = callPackage ../development/python-modules/azure-mgmt-billing { }; + azure-mgmt-botservice = callPackage ../development/python-modules/azure-mgmt-botservice { }; + azure-mgmt-cdn = callPackage ../development/python-modules/azure-mgmt-cdn { }; azure-mgmt-cognitiveservices = callPackage ../development/python-modules/azure-mgmt-cognitiveservices { }; @@ -323,6 +331,8 @@ in { azure-mgmt-containerinstance = callPackage ../development/python-modules/azure-mgmt-containerinstance { }; + azure-mgmt-containerregistry = callPackage ../development/python-modules/azure-mgmt-containerregistry { }; + azure-mgmt-containerservice = callPackage ../development/python-modules/azure-mgmt-containerservice { }; azure-mgmt-cosmosdb = callPackage ../development/python-modules/azure-mgmt-cosmosdb { }; @@ -341,6 +351,8 @@ in { azure-mgmt-devtestlabs = callPackage ../development/python-modules/azure-mgmt-devtestlabs { }; + azure-mgmt-deploymentmanager = callPackage ../development/python-modules/azure-mgmt-deploymentmanager { }; + azure-mgmt-dns = callPackage ../development/python-modules/azure-mgmt-dns { }; azure-mgmt-eventgrid = callPackage ../development/python-modules/azure-mgmt-eventgrid { }; @@ -349,6 +361,10 @@ in { azure-mgmt-hanaonazure = callPackage ../development/python-modules/azure-mgmt-hanaonazure { }; + azure-mgmt-hdinsight = callPackage ../development/python-modules/azure-mgmt-hdinsight { }; + + azure-mgmt-imagebuilder = callPackage ../development/python-modules/azure-mgmt-imagebuilder { }; + azure-mgmt-iotcentral = callPackage ../development/python-modules/azure-mgmt-iotcentral { }; azure-mgmt-iothub = callPackage ../development/python-modules/azure-mgmt-iothub { }; @@ -357,12 +373,16 @@ in { azure-mgmt-keyvault = callPackage ../development/python-modules/azure-mgmt-keyvault { }; + azure-mgmt-kusto = callPackage ../development/python-modules/azure-mgmt-kusto { }; + azure-mgmt-loganalytics = callPackage ../development/python-modules/azure-mgmt-loganalytics { }; azure-mgmt-logic = callPackage ../development/python-modules/azure-mgmt-logic { }; azure-mgmt-machinelearningcompute = callPackage ../development/python-modules/azure-mgmt-machinelearningcompute { }; + azure-mgmt-managedservices = callPackage ../development/python-modules/azure-mgmt-managedservices { }; + azure-mgmt-managementgroups = callPackage ../development/python-modules/azure-mgmt-managementgroups { }; azure-mgmt-managementpartner = callPackage ../development/python-modules/azure-mgmt-managementpartner { }; @@ -377,6 +397,8 @@ in { azure-mgmt-msi = callPackage ../development/python-modules/azure-mgmt-msi { }; + azure-mgmt-netapp = callPackage ../development/python-modules/azure-mgmt-netapp { }; + azure-mgmt-network = callPackage ../development/python-modules/azure-mgmt-network { }; azure-mgmt-notificationhubs = callPackage ../development/python-modules/azure-mgmt-notificationhubs { }; @@ -385,6 +407,8 @@ in { azure-mgmt-powerbiembedded = callPackage ../development/python-modules/azure-mgmt-powerbiembedded { }; + azure-mgmt-privatedns = callPackage ../development/python-modules/azure-mgmt-privatedns { }; + azure-mgmt-rdbms = callPackage ../development/python-modules/azure-mgmt-rdbms { }; azure-mgmt-recoveryservices = callPackage ../development/python-modules/azure-mgmt-recoveryservices { }; @@ -403,6 +427,8 @@ in { azure-mgmt-search = callPackage ../development/python-modules/azure-mgmt-search { }; + azure-mgmt-security = callPackage ../development/python-modules/azure-mgmt-security { }; + azure-mgmt-servicebus = callPackage ../development/python-modules/azure-mgmt-servicebus { }; azure-mgmt-servicefabric = callPackage ../development/python-modules/azure-mgmt-servicefabric { }; @@ -411,6 +437,8 @@ in { azure-mgmt-sql = callPackage ../development/python-modules/azure-mgmt-sql { }; + azure-mgmt-sqlvirtualmachine = callPackage ../development/python-modules/azure-mgmt-sqlvirtualmachine { }; + azure-mgmt-storage = callPackage ../development/python-modules/azure-mgmt-storage { }; azure-mgmt-subscription = callPackage ../development/python-modules/azure-mgmt-subscription { }; @@ -419,6 +447,8 @@ in { azure-mgmt-web = callPackage ../development/python-modules/azure-mgmt-web { }; + azure-multiapi-storage = callPackage ../development/python-modules/azure-multiapi-storage { }; + backports_csv = callPackage ../development/python-modules/backports_csv {}; backports-shutil-which = callPackage ../development/python-modules/backports-shutil-which {}; @@ -770,6 +800,8 @@ in { mkl-service = callPackage ../development/python-modules/mkl-service { }; + mnist = callPackage ../development/python-modules/mnist { }; + monkeyhex = callPackage ../development/python-modules/monkeyhex { }; monty = callPackage ../development/python-modules/monty { }; @@ -954,10 +986,16 @@ in { pydbus = callPackage ../development/python-modules/pydbus { }; - pydocstyle = callPackage ../development/python-modules/pydocstyle { }; + pydocstyle = + if isPy27 then + callPackage ../development/python-modules/pydocstyle/2.nix { } + else + callPackage ../development/python-modules/pydocstyle { }; pydocumentdb = callPackage ../development/python-modules/pydocumentdb { }; + pydrive = callPackage ../development/python-modules/pydrive { }; + pydy = callPackage ../development/python-modules/pydy { }; pyexiv2 = disabledIf isPy3k (toPythonModule (callPackage ../development/python-modules/pyexiv2 {})); @@ -1263,6 +1301,8 @@ in { sshpubkeys = callPackage ../development/python-modules/sshpubkeys { }; + sshtunnel = callPackage ../development/python-modules/sshtunnel { }; + sslib = callPackage ../development/python-modules/sslib { }; statistics = callPackage ../development/python-modules/statistics { }; @@ -3398,7 +3438,7 @@ in { google_api_python_client = let google_api_python_client = callPackage ../development/python-modules/google-api-python-client { }; in if isPy3k then google_api_python_client else - # Python 2.7 support was deprecated but is still needed by weboob + # Python 2.7 support was deprecated but is still needed by weboob and duplicity google_api_python_client.overridePythonAttrs (old: rec { version = "1.7.6"; src = old.src.override { @@ -3678,7 +3718,10 @@ in { jupyterhub-ldapauthenticator = callPackage ../development/python-modules/jupyterhub-ldapauthenticator { }; - keyring = callPackage ../development/python-modules/keyring { }; + keyring = if isPy3k then + callPackage ../development/python-modules/keyring { } + else + callPackage ../development/python-modules/keyring/2.nix { }; keyutils = callPackage ../development/python-modules/keyutils { inherit (pkgs) keyutils; }; @@ -4190,7 +4233,10 @@ in { offtrac = callPackage ../development/python-modules/offtrac { }; - openpyxl = callPackage ../development/python-modules/openpyxl { }; + openpyxl = if isPy3k then + callPackage ../development/python-modules/openpyxl { } + else + callPackage ../development/python-modules/openpyxl/2.nix { }; opentimestamps = callPackage ../development/python-modules/opentimestamps { }; @@ -4514,6 +4560,8 @@ in { Babel = callPackage ../development/python-modules/Babel { }; + babelgladeextractor = callPackage ../development/python-modules/babelgladeextractor { }; + pybfd = callPackage ../development/python-modules/pybfd { }; pybigwig = callPackage ../development/python-modules/pybigwig { }; @@ -5282,6 +5330,8 @@ in { vsts = callPackage ../development/python-modules/vsts { }; + vsts-cd-manager = callPackage ../development/python-modules/vsts-cd-manager { }; + python-vlc = callPackage ../development/python-modules/python-vlc { }; weasyprint = callPackage ../development/python-modules/weasyprint { }; @@ -5500,6 +5550,8 @@ in { then callPackage ../development/python-modules/secretstorage { } else callPackage ../development/python-modules/secretstorage/2.nix { }; + secure = callPackage ../development/python-modules/secure { }; + semantic = callPackage ../development/python-modules/semantic { }; sandboxlib = callPackage ../development/python-modules/sandboxlib { }; @@ -6186,6 +6238,8 @@ in { jaraco_stream = callPackage ../development/python-modules/jaraco_stream { }; + javaproperties = callPackage ../development/python-modules/javaproperties { }; + tempora= callPackage ../development/python-modules/tempora { }; hypchat = callPackage ../development/python-modules/hypchat { };