From 376b2ef2b83be9671c4f24b7ff4ded335d5352d4 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Braun Date: Tue, 12 Feb 2019 16:38:23 +0100 Subject: [PATCH 001/391] nixos/qemu-vm: declarative drives Adds `virtualisation.qemu.drives` option to specify drives to be used by qemu. Also fix boot when `virtualisation.useBootLoader` is set to true. Since the boot disk is second qemu doesn't boot on it. Added `bootindex=1` to the boot disk device. --- nixos/modules/virtualisation/qemu-vm.nix | 135 +++++++++++++++++------ 1 file changed, 99 insertions(+), 36 deletions(-) diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index ed3431554be..e313d2b411b 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -23,24 +23,56 @@ let cfg = config.virtualisation; - qemuGraphics = lib.optionalString (!cfg.graphics) "-nographic"; - consoles = lib.concatMapStringsSep " " (c: "console=${c}") cfg.qemu.consoles; - # XXX: This is very ugly and in the future we really should use attribute - # sets to build ALL of the QEMU flags instead of this mixed mess of Nix - # expressions and shell script stuff. - mkDiskIfaceDriveFlag = idx: driveArgs: let - inherit (cfg.qemu) diskInterface; - # The drive identifier created by incrementing the index by one using the - # shell. - drvId = "drive$((${idx} + 1))"; - # NOTE: DO NOT shell escape, because this may contain shell variables. - commonArgs = "index=${idx},id=${drvId},${driveArgs}"; - isSCSI = diskInterface == "scsi"; - devArgs = "${diskInterface}-hd,drive=${drvId}"; - args = "-drive ${commonArgs},if=none -device lsi53c895a -device ${devArgs}"; - in if isSCSI then args else "-drive ${commonArgs},if=${diskInterface}"; + driveOpts = { ... }: { + + options = { + + file = mkOption { + type = types.str; + description = "The file image used for this drive."; + }; + + driveExtraOpts = mkOption { + type = types.attrsOf types.str; + default = {}; + description = "Extra options passed to drive flag."; + }; + + deviceExtraOpts = mkOption { + type = types.attrsOf types.str; + default = {}; + description = "Extra options passed to device flag."; + }; + + }; + + }; + + driveCmdline = idx: { file, driveExtraOpts, deviceExtraOpts, ... }: + let + drvId = "drive${toString idx}"; + mkKeyValue = generators.mkKeyValueDefault {} "="; + mkOpts = opts: concatStringsSep "," (mapAttrsToList mkKeyValue opts); + driveOpts = mkOpts (driveExtraOpts // { + index = idx; + id = drvId; + "if" = "none"; + inherit file; + }); + deviceOpts = mkOpts (deviceExtraOpts // { + drive = drvId; + }); + device = + if cfg.qemu.diskInterface == "scsi" then + "-device lsi53c895a -device scsi-hd,${deviceOpts}" + else + "-device virtio-blk-pci,${deviceOpts}"; + in + "-drive ${driveOpts} ${device}"; + + drivesCmdLine = drives: concatStringsSep " " (imap1 driveCmdline drives); # Shell script to start the VM. startVM = @@ -77,13 +109,11 @@ let ''} cd $TMPDIR - idx=2 - extraDisks="" + idx=0 ${flip concatMapStrings cfg.emptyDiskImages (size: '' if ! test -e "empty$idx.qcow2"; then ${qemu}/bin/qemu-img create -f qcow2 "empty$idx.qcow2" "${toString size}M" fi - extraDisks="$extraDisks ${mkDiskIfaceDriveFlag "$idx" "file=$(pwd)/empty$idx.qcow2,werror=report"}" idx=$((idx + 1)) '')} @@ -97,21 +127,7 @@ let -virtfs local,path=/nix/store,security_model=none,mount_tag=store \ -virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \ -virtfs local,path=''${SHARED_DIR:-$TMPDIR/xchg},security_model=none,mount_tag=shared \ - ${if cfg.useBootLoader then '' - ${mkDiskIfaceDriveFlag "0" "file=$NIX_DISK_IMAGE,cache=writeback,werror=report"} \ - ${mkDiskIfaceDriveFlag "1" "file=$TMPDIR/disk.img,media=disk"} \ - ${if cfg.useEFIBoot then '' - -pflash $TMPDIR/bios.bin \ - '' else '' - ''} - '' else '' - ${mkDiskIfaceDriveFlag "0" "file=$NIX_DISK_IMAGE,cache=writeback,werror=report"} \ - -kernel ${config.system.build.toplevel}/kernel \ - -initrd ${config.system.build.toplevel}/initrd \ - -append "$(cat ${config.system.build.toplevel}/kernel-params) init=${config.system.build.toplevel}/init regInfo=${regInfo}/registration ${consoles} $QEMU_KERNEL_PARAMS" \ - ''} \ - $extraDisks \ - ${qemuGraphics} \ + ${drivesCmdLine config.virtualisation.qemu.drives} \ ${toString config.virtualisation.qemu.options} \ $QEMU_OPTS \ "$@" @@ -367,6 +383,12 @@ in ''; }; + drives = + mkOption { + type = types.listOf (types.submodule driveOpts); + description = "Drives passed to qemu."; + }; + diskInterface = mkOption { default = "virtio"; @@ -476,8 +498,49 @@ in # FIXME: Consolidate this one day. virtualisation.qemu.options = mkMerge [ - (mkIf (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [ "-vga std" "-usb" "-device usb-tablet,bus=usb-bus.0" ]) - (mkIf (pkgs.stdenv.isAarch32 || pkgs.stdenv.isAarch64) [ "-device virtio-gpu-pci" "-device usb-ehci,id=usb0" "-device usb-kbd" "-device usb-tablet" ]) + (mkIf (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [ + "-vga std" "-usb" "-device usb-tablet,bus=usb-bus.0" + ]) + (mkIf (pkgs.stdenv.isAarch32 || pkgs.stdenv.isAarch64) [ + "-device virtio-gpu-pci" "-device usb-ehci,id=usb0" "-device usb-kbd" "-device usb-tablet" + ]) + (mkIf (!cfg.useBootLoader) [ + "-kernel ${config.system.build.toplevel}/kernel" + "-initrd ${config.system.build.toplevel}/initrd" + ''-append "$(cat ${config.system.build.toplevel}/kernel-params) init=${config.system.build.toplevel}/init regInfo=${regInfo}/registration ${consoles} $QEMU_KERNEL_PARAMS"'' + ]) + (mkIf cfg.useEFIBoot [ + "-pflash $TMPDIR/bios.bin" + ]) + (mkIf (!cfg.graphics) [ + "-nographic" + ]) + ]; + + virtualisation.qemu.drives = mkMerge [ + (mkIf cfg.useBootLoader [ + { + file = "$NIX_DISK_IMAGE"; + driveExtraOpts.cache = "writeback"; + driveExtraOpts.werror = "report"; + } + { + file = "$TMPDIR/disk.img"; + driveExtraOpts.media = "disk"; + deviceExtraOpts.bootindex = "1"; + } + ]) + (mkIf (!cfg.useBootLoader) [ + { + file = "$NIX_DISK_IMAGE"; + driveExtraOpts.cache = "writeback"; + driveExtraOpts.werror = "report"; + } + ]) + (imap0 (idx: _: { + file = "$(pwd)/empty${toString idx}.qcow2"; + driveExtraOpts.werror = "report"; + }) cfg.emptyDiskImages) ]; # Mount the host filesystem via 9P, and bind-mount the Nix store From ff4e645739990d7ee13109ce802b672f0f3850d0 Mon Sep 17 00:00:00 2001 From: Charles Duffy Date: Wed, 25 Sep 2019 19:19:53 -0500 Subject: [PATCH 002/391] curaLulzbot: 3.6.18 -> 3.6.20 Updates numerous material profiles for recent machines (TAZ Pro, TAZ Workhorse), and fixes some other minor bugs. No changes to slicer engine, firmware, or other dependencies. --- pkgs/applications/misc/cura/lulzbot/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/cura/lulzbot/default.nix b/pkgs/applications/misc/cura/lulzbot/default.nix index 2d32d1895f9..81ce949823d 100644 --- a/pkgs/applications/misc/cura/lulzbot/default.nix +++ b/pkgs/applications/misc/cura/lulzbot/default.nix @@ -27,12 +27,12 @@ let in python3Packages.buildPythonApplication rec { name = "cura-lulzbot-${version}"; - version = "3.6.18"; + version = "3.6.20"; src = fetchgit { url = https://code.alephobjects.com/source/cura-lulzbot.git; - rev = "71f1ac5a2b9f535175a3858a565930348358a9ca"; - sha256 = "0by06fpxvdgy858lwhsccbmvkdq67j2s1cz8v6jnrnjrsxk7vzka"; + rev = "df5f905482114194eb1cfb85a7aed851b4a6d32a"; + sha256 = "1xkqf89anxmy2aw0vr604ln7qsibacgk9l2g8jlf467hja8f0dzq"; }; format = "other"; # using cmake to build From de36bdc26949053bedea5e92280834b8bb775ce8 Mon Sep 17 00:00:00 2001 From: Charles Duffy Date: Wed, 25 Sep 2019 23:13:19 -0500 Subject: [PATCH 003/391] curaLulzbot: Adopt fixes from mainline cura package --- .../misc/cura/lulzbot/default.nix | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/misc/cura/lulzbot/default.nix b/pkgs/applications/misc/cura/lulzbot/default.nix index 81ce949823d..072c9e475a7 100644 --- a/pkgs/applications/misc/cura/lulzbot/default.nix +++ b/pkgs/applications/misc/cura/lulzbot/default.nix @@ -1,4 +1,4 @@ -{ lib, callPackage, fetchgit, cmake, jq, python3Packages, qtbase, qtquickcontrols2 }: +{ lib, mkDerivation, wrapQtAppsHook, callPackage, fetchgit, cmake, jq, python3, qtbase, qtquickcontrols2 }: let # admittedly, we're using (printer firmware) blobs when we could compile them ourselves. @@ -10,23 +10,23 @@ let }; libarcusLulzbot = callPackage ./libarcus.nix { - inherit (python3Packages) buildPythonPackage sip pythonOlder; + inherit (python3.pkgs) buildPythonPackage sip pythonOlder; }; libsavitarLulzbot = callPackage ./libsavitar.nix { - inherit (python3Packages) buildPythonPackage sip pythonOlder; + inherit (python3.pkgs) buildPythonPackage sip pythonOlder; }; - inherit (python3Packages) buildPythonPackage pyqt5 numpy scipy shapely pythonOlder; + inherit (python3.pkgs) buildPythonPackage pyqt5 numpy scipy shapely pythonOlder; curaengine = callPackage ./curaengine.nix { inherit libarcusLulzbot; }; uraniumLulzbot = callPackage ./uranium.nix { inherit callPackage libarcusLulzbot; - inherit (python3Packages) buildPythonPackage pyqt5 numpy scipy shapely pythonOlder; + inherit (python3.pkgs) buildPythonPackage pyqt5 numpy scipy shapely pythonOlder; }; in -python3Packages.buildPythonApplication rec { - name = "cura-lulzbot-${version}"; +mkDerivation rec { + pname = "cura-lulzbot"; version = "3.6.20"; src = fetchgit { @@ -35,11 +35,10 @@ python3Packages.buildPythonApplication rec { sha256 = "1xkqf89anxmy2aw0vr604ln7qsibacgk9l2g8jlf467hja8f0dzq"; }; - format = "other"; # using cmake to build buildInputs = [ qtbase qtquickcontrols2 ]; # numpy-stl temporarily disabled due to https://code.alephobjects.com/T8415 - propagatedBuildInputs = with python3Packages; [ pyserial requests zeroconf ] ++ [ libsavitarLulzbot uraniumLulzbot libarcusLulzbot ]; # numpy-stl - nativeBuildInputs = [ cmake python3Packages.wrapPython ]; + propagatedBuildInputs = with python3.pkgs; [ pyserial requests zeroconf ] ++ [ libsavitarLulzbot uraniumLulzbot libarcusLulzbot ]; # numpy-stl + nativeBuildInputs = [ cmake python3.pkgs.wrapPython ]; cmakeFlags = [ "-DURANIUM_DIR=${uraniumLulzbot.src}" @@ -68,6 +67,11 @@ python3Packages.buildPythonApplication rec { EOF ''; + postFixup = '' + wrapPythonPrograms + wrapQtApp "$out/bin/cura-lulzbot" + ''; + meta = with lib; { description = "3D printer / slicing GUI built on top of the Uranium framework"; homepage = https://code.alephobjects.com/diffusion/CURA/; From 5ddd4dbb124bee11bf84b79547900a0e6499cfaf Mon Sep 17 00:00:00 2001 From: Troels Henriksen Date: Wed, 9 Oct 2019 12:16:55 +0200 Subject: [PATCH 004/391] ispc: add x86_64-darwin to platforms. --- pkgs/development/compilers/ispc/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/ispc/default.nix b/pkgs/development/compilers/ispc/default.nix index 762d1233bb6..d07bf6b5733 100644 --- a/pkgs/development/compilers/ispc/default.nix +++ b/pkgs/development/compilers/ispc/default.nix @@ -67,7 +67,7 @@ stdenv.mkDerivation rec { homepage = https://ispc.github.io/ ; description = "Intel 'Single Program, Multiple Data' Compiler, a vectorised language"; license = licenses.bsd3; - platforms = ["x86_64-linux"]; # TODO: buildable on more platforms? + platforms = ["x86_64-linux" "x86_64-darwin"]; # TODO: buildable on more platforms? maintainers = [ maintainers.aristid ]; }; } From f7ca3e8c434a4d310cc82c74201bab6dc037d2f9 Mon Sep 17 00:00:00 2001 From: Konrad Borowski Date: Tue, 8 Oct 2019 19:27:36 +0200 Subject: [PATCH 005/391] mullvad: 2019.7 -> 2019.8 --- pkgs/applications/networking/mullvad-vpn/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/mullvad-vpn/default.nix b/pkgs/applications/networking/mullvad-vpn/default.nix index b0786d742db..70c698d9a82 100644 --- a/pkgs/applications/networking/mullvad-vpn/default.nix +++ b/pkgs/applications/networking/mullvad-vpn/default.nix @@ -40,11 +40,11 @@ in stdenv.mkDerivation rec { pname = "mullvad-vpn"; - version = "2019.7"; + version = "2019.8"; src = fetchurl { url = "https://www.mullvad.net/media/app/MullvadVPN-${version}_amd64.deb"; - sha256 = "1hjndcdkin98l6jv39r98zfw33qg0gnvlv8q80qsj5x36a19d4v9"; + sha256 = "0cjc8j8pqgdhnax4mvwmvnxfcygjsp805hxalfaj8wa5adph96hz"; }; nativeBuildInputs = [ @@ -73,7 +73,7 @@ stdenv.mkDerivation rec { sed -i 's|\/opt\/Mullvad.*VPN|'$out'/bin|g' $out/share/applications/mullvad-vpn.desktop sed -i 's|\/opt\/Mullvad.*VPN/resources|'$out'/bin|g' $out/share/mullvad/resources/mullvad-daemon.service - ln -s $out/share/mullvad/mullvad-vpn $out/bin/mullvad-vpn + ln -s $out/share/mullvad/mullvad-{gui,vpn} $out/bin/ ln -s $out/share/mullvad/resources/mullvad-daemon $out/bin/mullvad-daemon mkdir -p $out/etc/systemd/system @@ -88,6 +88,7 @@ stdenv.mkDerivation rec { changelog = "https://github.com/mullvad/mullvadvpn-app/blob/${version}/CHANGELOG.md"; license = licenses.gpl3; platforms = [ "x86_64-linux" ]; + maintainers = [ maintainers.xfix ]; }; } From b60d3a31606178a000d937bdbdf4d92273f360d5 Mon Sep 17 00:00:00 2001 From: Charles Duffy Date: Sun, 13 Oct 2019 15:32:33 -0500 Subject: [PATCH 006/391] curaLulzbot: 3.6.20 -> 3.6.21 --- .../misc/cura/lulzbot/curaengine.nix | 2 +- pkgs/applications/misc/cura/lulzbot/default.nix | 12 ++++++------ pkgs/applications/misc/cura/lulzbot/libarcus.nix | 6 +++--- .../misc/cura/lulzbot/libsavitar.nix | 6 +++--- .../cura/lulzbot/uranium-qt512-support.patch | 16 ---------------- pkgs/applications/misc/cura/lulzbot/uranium.nix | 9 +++------ 6 files changed, 16 insertions(+), 35 deletions(-) delete mode 100644 pkgs/applications/misc/cura/lulzbot/uranium-qt512-support.patch diff --git a/pkgs/applications/misc/cura/lulzbot/curaengine.nix b/pkgs/applications/misc/cura/lulzbot/curaengine.nix index 90f5f307d85..aad9b9bee89 100644 --- a/pkgs/applications/misc/cura/lulzbot/curaengine.nix +++ b/pkgs/applications/misc/cura/lulzbot/curaengine.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "curaengine-lulzBot"; - version = "3.6.18"; + version = "3.6.21"; src = fetchgit { url = https://code.alephobjects.com/source/curaengine-lulzbot.git; diff --git a/pkgs/applications/misc/cura/lulzbot/default.nix b/pkgs/applications/misc/cura/lulzbot/default.nix index 072c9e475a7..c67fcb74047 100644 --- a/pkgs/applications/misc/cura/lulzbot/default.nix +++ b/pkgs/applications/misc/cura/lulzbot/default.nix @@ -2,11 +2,11 @@ let # admittedly, we're using (printer firmware) blobs when we could compile them ourselves. - curaBinaryDataVersion = "3.6.18"; # Marlin v2.0.0.144. Keep this accurate wrt. the below. + curaBinaryDataVersion = "3.6.21"; # Marlin v2.0.0.174 for Bio, v2.0.0.144 for others. curaBinaryData = fetchgit { url = https://code.alephobjects.com/diffusion/CBD/cura-binary-data.git; - rev = "cdc046494bbfe1f65bfb34659a257eef9a0100a0"; - sha256 = "0v0s036gxdjiglas2yzw95alv60sw3pq5k1zrrhmw9mxr4irrblb"; + rev = "5c75d0f6c10d8b7a903e2072a48cd1f08059509e"; + sha256 = "1qdsj6rczwzdwzyr7nz7fnypbphckjrnwl8c9dr6izsxyzs465c4"; }; libarcusLulzbot = callPackage ./libarcus.nix { @@ -27,12 +27,12 @@ let in mkDerivation rec { pname = "cura-lulzbot"; - version = "3.6.20"; + version = "3.6.21"; src = fetchgit { url = https://code.alephobjects.com/source/cura-lulzbot.git; - rev = "df5f905482114194eb1cfb85a7aed851b4a6d32a"; - sha256 = "1xkqf89anxmy2aw0vr604ln7qsibacgk9l2g8jlf467hja8f0dzq"; + rev = "7faeb18604c83004846a02c60cb240708db0034f"; + sha256 = "10q38s8c8x6xkh1vns4p3iqa5y267vrjh5vq8h55mg1q5001scyq"; }; buildInputs = [ qtbase qtquickcontrols2 ]; diff --git a/pkgs/applications/misc/cura/lulzbot/libarcus.nix b/pkgs/applications/misc/cura/lulzbot/libarcus.nix index 4d32328af8b..733aa27da85 100644 --- a/pkgs/applications/misc/cura/lulzbot/libarcus.nix +++ b/pkgs/applications/misc/cura/lulzbot/libarcus.nix @@ -2,13 +2,13 @@ buildPythonPackage { pname = "libarcus"; - version = "3.6.18"; + version = "3.6.21"; format = "other"; src = fetchgit { url = https://code.alephobjects.com/source/arcus.git; - rev = "c795c0644591703ce04e1fd799fc97b1539031aa"; - sha256 = "1yap9wbqxbjx3kqyqcsldny4mlcm33ywiwpdjlfgs0wjahfg4ip0"; + rev = "aeda02d7727f45b657afb72cef203283fbf09325"; + sha256 = "1ak0d4k745sx7paic27was3s4987z9h3czscjs21hxbi6qy83g99"; }; disabled = pythonOlder "3.4.0"; diff --git a/pkgs/applications/misc/cura/lulzbot/libsavitar.nix b/pkgs/applications/misc/cura/lulzbot/libsavitar.nix index f8ffbf041bd..e6c277959e0 100644 --- a/pkgs/applications/misc/cura/lulzbot/libsavitar.nix +++ b/pkgs/applications/misc/cura/lulzbot/libsavitar.nix @@ -3,13 +3,13 @@ buildPythonPackage { pname = "libsavitar-lulzbot"; name = "libsavitar-lulzbot"; - version = "3.6.18"; + version = "3.6.21"; format = "other"; src = fetchgit { url = https://code.alephobjects.com/source/savitar.git; - rev = "988a26d35b2a1d042f8c38938ccda77ab146af7d"; - sha256 = "146agw3a92azkgs5ahmn2rrck4an78m2r3pcss6ihmb60lx165k7"; + rev = "ee8ada42c55f54727ce4d275c294ba426d3d8234"; + sha256 = "1wm5ii3cmni8dk3c65kw4wglpypkdsfpgd480d3hc1r5bqpq0d6j"; }; postPatch = '' diff --git a/pkgs/applications/misc/cura/lulzbot/uranium-qt512-support.patch b/pkgs/applications/misc/cura/lulzbot/uranium-qt512-support.patch deleted file mode 100644 index 2c666a98c8f..00000000000 --- a/pkgs/applications/misc/cura/lulzbot/uranium-qt512-support.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/UM/Qt/Bindings/i18nCatalogProxy.py b/UM/Qt/Bindings/i18nCatalogProxy.py -index 7e2bb16c..cec70dd6 100644 ---- a/UM/Qt/Bindings/i18nCatalogProxy.py -+++ b/UM/Qt/Bindings/i18nCatalogProxy.py -@@ -86,9 +86,9 @@ class i18nCatalogProxy(QObject): # [CodeStyle: Ultimaker code style requires cla - # \todo Move this to a more generic place so more things can use it. - def _wrapFunction(self, engine, this_object, function): - # JavaScript code that wraps the Python method call in a closure -- wrap_js = """function(this_object) {{ -+ wrap_js = """(function(this_object) {{ - return function({args}) {{ return this_object.{function}({args}) }} -- }}""" -+ }})""" - - # Get the function name and argument list. - function_name = function.__name__ diff --git a/pkgs/applications/misc/cura/lulzbot/uranium.nix b/pkgs/applications/misc/cura/lulzbot/uranium.nix index 1ad755cdfbd..acffc741d57 100644 --- a/pkgs/applications/misc/cura/lulzbot/uranium.nix +++ b/pkgs/applications/misc/cura/lulzbot/uranium.nix @@ -2,15 +2,15 @@ , pyqt5, numpy, scipy, shapely, libarcusLulzbot, doxygen, gettext, pythonOlder }: buildPythonPackage { - version = "3.6.18"; + version = "3.6.21"; pname = "uranium"; name = "uraniumLulzbot"; format = "other"; src = fetchgit { url = https://code.alephobjects.com/diffusion/U/uranium.git; - rev = "33df88a7414375ac924ac761113baa48d2ced2b4"; - sha256 = "109cbv7y105crbrzfp70lmcr9n20ap5c97i5qd46fmxbx86yj7f8"; + rev = "54d911edd2551c5875c554928896122835a0dd6c"; + sha256 = "04bym3vwikaxw8ab0mymv9sc9n8i7yw5kfsv99ic811g9lzz3j1i"; }; disabled = pythonOlder "3.5.0"; @@ -19,9 +19,6 @@ buildPythonPackage { propagatedBuildInputs = [ pyqt5 numpy scipy shapely libarcusLulzbot ]; nativeBuildInputs = [ cmake doxygen ]; - # Qt 5.12+ support; see https://code.alephobjects.com/rU70b73ba0a270799b9eacf78e400aa8b8ab3fb2ee - patches = [ ./uranium-qt512-support.patch ]; - postPatch = '' sed -i 's,/python''${PYTHON_VERSION_MAJOR}/dist-packages,/python''${PYTHON_VERSION_MAJOR}.''${PYTHON_VERSION_MINOR}/site-packages,g' CMakeLists.txt sed -i \ From 8120184bf176fc34707f4504c8d1d91716d1e22d Mon Sep 17 00:00:00 2001 From: Philip Potter Date: Mon, 14 Oct 2019 20:45:28 +0100 Subject: [PATCH 007/391] ssh-agent: add agentPKCS11Whitelist option If you want to be able to use OpenSC with ssh-agent, you need to be able to add it to the ssh-agent whitelist. This adds an option, agentPKCS11Whitelist, that exposes the option. Note that I currently work around this by injecting the parameter into the agentTimeout option: programs.ssh.agentTimeout = "1h -P ${pkgs.opensc}/lib/opensc-pkcs11.so"; but I feel that a proper option would be better :) --- nixos/modules/programs/ssh.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix index 733b8f7636f..703975fd06c 100644 --- a/nixos/modules/programs/ssh.nix +++ b/nixos/modules/programs/ssh.nix @@ -115,6 +115,16 @@ in ''; }; + agentPKCS11Whitelist = mkOption { + type = types.nullOr types.str; + default = null; + example = "\${pkgs.opensc}/lib/opensc-pkcs11.so"; + description = '' + A pattern-list of acceptable paths for PKCS#11 shared libraries + that may be used with the -s option to ssh-add. + ''; + }; + package = mkOption { type = types.package; default = pkgs.openssh; @@ -241,6 +251,7 @@ in ExecStart = "${cfg.package}/bin/ssh-agent " + optionalString (cfg.agentTimeout != null) ("-t ${cfg.agentTimeout} ") + + optionalString (cfg.agentPKCS11Whitelist != null) ("-P ${cfg.agentPKCS11Whitelist} ") "-a %t/ssh-agent"; StandardOutput = "null"; Type = "forking"; From f7ab5d985f633df9c1d433b9954004950f0739f9 Mon Sep 17 00:00:00 2001 From: Philip Potter Date: Wed, 16 Oct 2019 22:03:58 +0100 Subject: [PATCH 008/391] gnupg-pkcs11-scd: init at 0.9.2 This adds gnupg-pkcs11-scd, a smart card daemon for GnuPG that supports PKCS#11 smartcards (such as the Yubikey PIV module). You can use it by adding something like this to your ~/.gnupg/gpg-agent.conf: scdaemon-program /home//.nix-profile/bin/gnupg-pkcs11-scd You will also need to install `opensc` and have a ~/.gnupg/gnupg-pkcs11-scd.conf with something like the following: providers opensc provider-opensc-library /home/philandstuff/.nix-profile/lib/pkcs11/opensc-pkcs11.so Then `gpg` smartcard operations will access your PKCS#11-capable smartcard. --- .../security/gnupg-pkcs11-scd/default.nix | 33 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/tools/security/gnupg-pkcs11-scd/default.nix diff --git a/pkgs/tools/security/gnupg-pkcs11-scd/default.nix b/pkgs/tools/security/gnupg-pkcs11-scd/default.nix new file mode 100644 index 00000000000..77537f1bfeb --- /dev/null +++ b/pkgs/tools/security/gnupg-pkcs11-scd/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, libgpgerror, libassuan, libgcrypt, pkcs11helper, + pkgconfig, openssl }: + +stdenv.mkDerivation rec { + pname = "gnupg-pkcs11-scd"; + version = "0.9.2"; + + src = fetchurl { + url = "https://github.com/alonbl/${pname}/releases/download/${pname}-${version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256:1mfh9zjbahjd788rq1mzx009pd7p1sq62sbz586rd7szif7pkpgx"; + }; + + buildInputs = [ pkcs11helper pkgconfig openssl ]; + + configureFlags = [ + "--with-libgpg-error-prefix=${libgpgerror.dev}" + "--with-libassuan-prefix=${libassuan.dev}" + "--with-libgcrypt-prefix=${libgcrypt.dev}" + ]; + + meta = with stdenv.lib; { + description = "A smart-card daemon to enable the use of PKCS#11 tokens with GnuPG"; + longDescription = '' + gnupg-pkcs11 is a project to implement a BSD-licensed smart-card + daemon to enable the use of PKCS#11 tokens with GnuPG. + ''; + homepage = http://gnupg-pkcs11.sourceforge.net/; + license = licenses.bsd3; + maintainers = with maintainers; [ philandstuff ]; + platforms = platforms.unix; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f6a3bd68294..7ca55ed818b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3506,6 +3506,8 @@ in }; gnupg = gnupg22; + gnupg-pkcs11-scd = callPackage ../tools/security/gnupg-pkcs11-scd { }; + gnuplot = libsForQt5.callPackage ../tools/graphics/gnuplot { }; gnuplot_qt = gnuplot.override { withQt = true; }; From 1ced63da766965bdda53675a12627401c42a50cc Mon Sep 17 00:00:00 2001 From: Nathan Yong Date: Fri, 18 Oct 2019 09:26:28 +1100 Subject: [PATCH 009/391] p4v: explicitly depend on openssl 1.0 series The 2017.3 version of p4v is linked against `libssl.so.1.0.0`. Since the default openssl in NixOS 2019.09 has been changed to openssl 1.1, the p4v package must now import the openssl_1_0_2 derivation. --- pkgs/applications/version-management/p4v/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/version-management/p4v/default.nix b/pkgs/applications/version-management/p4v/default.nix index 0020c8c2189..317cbfde85b 100644 --- a/pkgs/applications/version-management/p4v/default.nix +++ b/pkgs/applications/version-management/p4v/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtscript, qtsensors, qtwebkit, openssl, xkeyboard_config, wrapQtAppsHook }: +{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtscript, qtsensors, qtwebkit, openssl_1_0_2, xkeyboard_config, wrapQtAppsHook }: stdenv.mkDerivation rec { pname = "p4v"; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { qtscript qtsensors qtwebkit - openssl + openssl_1_0_2 ]; dontWrapQtApps = true; @@ -43,6 +43,6 @@ stdenv.mkDerivation rec { homepage = https://www.perforce.com; license = stdenv.lib.licenses.unfreeRedistributable; platforms = [ "x86_64-linux" ]; - maintainers = [ stdenv.lib.maintainers.nioncode ]; + maintainers = with stdenv.lib.maintainers; [ nathyong nioncode ]; }; } From fe26d4c0dffbde9abb0d1570fa82f51340416a55 Mon Sep 17 00:00:00 2001 From: SRGOM Date: Mon, 21 Oct 2019 12:46:01 +0530 Subject: [PATCH 010/391] nixos/x11/libinput: Document values for option For option `scrollMethod`, document that there is an available value of `button`. --- nixos/modules/services/x11/hardware/libinput.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/x11/hardware/libinput.nix b/nixos/modules/services/x11/hardware/libinput.nix index bd289976532..4a25232383d 100644 --- a/nixos/modules/services/x11/hardware/libinput.nix +++ b/nixos/modules/services/x11/hardware/libinput.nix @@ -122,7 +122,7 @@ in { description = '' Specify the scrolling method: twofinger, edge, - or none + button, or none ''; }; From f9fdcb4cf7274dc975d74f51b61968ac42dfa3d5 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Tue, 22 Oct 2019 11:26:12 +0200 Subject: [PATCH 011/391] gtk3: add devdoc --- pkgs/development/libraries/gtk/3.x.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix index 3f599a7846f..ab8602af274 100644 --- a/pkgs/development/libraries/gtk/3.x.nix +++ b/pkgs/development/libraries/gtk/3.x.nix @@ -3,6 +3,9 @@ , fetchpatch , pkgconfig , gettext +, docbook_xsl +, docbook_xml_dtd_43 +, gtk-doc , meson , ninja , python3 @@ -47,7 +50,7 @@ stdenv.mkDerivation rec { pname = "gtk+3"; version = "3.24.11"; - outputs = [ "out" "dev" ]; + outputs = [ "out" "dev" "devdoc" ]; outputBin = "dev"; setupHook = ./gtk3-setup-hook.sh; @@ -74,6 +77,7 @@ stdenv.mkDerivation rec { ]; mesonFlags = [ + "-Dgtk_doc=true" "-Dtests=false" ]; @@ -101,7 +105,10 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ + docbook_xml_dtd_43 + docbook_xsl gettext + gtk-doc gobject-introspection hicolor-icon-theme # setup-hook makeWrapper From fa7b3611badc7a8d05e310bfaee7c80625fbb182 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 22 Oct 2019 05:37:24 -0700 Subject: [PATCH 012/391] libgdiplus: 6.0.2 -> 6.0.4 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/libgdiplus/versions --- pkgs/development/libraries/libgdiplus/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libgdiplus/default.nix b/pkgs/development/libraries/libgdiplus/default.nix index cdaf972911d..24bb9c8f2b4 100644 --- a/pkgs/development/libraries/libgdiplus/default.nix +++ b/pkgs/development/libraries/libgdiplus/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "libgdiplus"; - version = "6.0.2"; + version = "6.0.4"; src = fetchFromGitHub { owner = "mono"; repo = "libgdiplus"; rev = version; - sha256 = "07a3n7i35mn5j2djah64by785b1hzy8ckk1pz0xwvk716yzb7sxg"; + sha256 = "1pf3yhwq9qk0w3yv9bb8qlwwqkffg7xb4sgc8yqdnn6pa56i3vmn"; }; NIX_LDFLAGS = "-lgif"; From 4e3aa7b7b85d95e12deaa2a04425a5c1b97baf63 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Tue, 22 Oct 2019 16:30:14 +0200 Subject: [PATCH 013/391] mpd: restart always Signed-off-by: Matthias Beyer --- nixos/modules/services/audio/mpd.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/audio/mpd.nix b/nixos/modules/services/audio/mpd.nix index 0df8f9688d2..56dc858b640 100644 --- a/nixos/modules/services/audio/mpd.nix +++ b/nixos/modules/services/audio/mpd.nix @@ -181,6 +181,7 @@ in { ProtectKernelModules = true; RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX AF_NETLINK"; RestrictNamespaces = true; + Restart = "always"; }; }; From b4ce8c3642c271db8e8ef290becd2478ab87f904 Mon Sep 17 00:00:00 2001 From: Puck Meerburg Date: Wed, 23 Oct 2019 11:33:13 +0000 Subject: [PATCH 014/391] SDL_Pango: init at 0.1.2 --- .../libraries/SDL_Pango/default.nix | 32 ++++ .../libraries/SDL_Pango/fixes.patch | 148 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 182 insertions(+) create mode 100644 pkgs/development/libraries/SDL_Pango/default.nix create mode 100644 pkgs/development/libraries/SDL_Pango/fixes.patch diff --git a/pkgs/development/libraries/SDL_Pango/default.nix b/pkgs/development/libraries/SDL_Pango/default.nix new file mode 100644 index 00000000000..e330ccef611 --- /dev/null +++ b/pkgs/development/libraries/SDL_Pango/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchpatch, fetchurl, SDL, autoreconfHook, pango, pkgconfig }: + +stdenv.mkDerivation rec { + pname = "SDL_Pango"; + version = "0.1.2"; + + src = fetchurl { + url = "mirror://sourceforge/sdlpango/${pname}-${version}.tar.gz"; + sha256 = "197baw1dsg0p4pljs5k0fshbyki00r4l49m1drlpqw6ggawx6xbz"; + }; + + patches = [ + (fetchpatch { + url = https://sources.debian.org/data/main/s/sdlpango/0.1.2-6/debian/patches/api_additions.patch; + sha256 = "00p5ry5gd3ixm257p9i2c4jg0qj8ipk8nf56l7c9fma8id3zxyld"; + }) + ./fixes.patch + ]; + + preConfigure = "autoreconf -i -f"; + + nativeBuildInputs = [ pkgconfig autoreconfHook ]; + buildInputs = [ SDL pango ]; + + meta = with stdenv.lib; { + description = "Connects the Pango rendering engine to SDL"; + license = licenses.lgpl21Plus; + platforms = platforms.all; + homepage = http://sdlpango.sourceforge.net/; + maintainers = with maintainers; [ puckipedia ]; + }; +} diff --git a/pkgs/development/libraries/SDL_Pango/fixes.patch b/pkgs/development/libraries/SDL_Pango/fixes.patch new file mode 100644 index 00000000000..9703c0d4918 --- /dev/null +++ b/pkgs/development/libraries/SDL_Pango/fixes.patch @@ -0,0 +1,148 @@ +diff --git a/SDL_Pango.pc.in b/SDL_Pango.pc.in +index 750d091..3af38ff 100644 +--- a/SDL_Pango.pc.in ++++ b/SDL_Pango.pc.in +@@ -6,6 +6,6 @@ includedir=@includedir@ + Name: SDL_Pango + Description: SDL library for internationalized text rendering + Version: @VERSION@ +-Requires: pango ++Requires: pango pangoft2 + Libs: -L${libdir} -lSDL_Pango + Cflags: -I${includedir} +\ No newline at end of file +diff --git a/src/SDL_Pango.c b/src/SDL_Pango.c +index b969bc1..cc2c3f5 100644 +--- a/src/SDL_Pango.c ++++ b/src/SDL_Pango.c +@@ -231,6 +231,41 @@ + + #include "SDL_Pango.h" + ++const SDLPango_Matrix _MATRIX_WHITE_BACK ++ = {255, 0, 0, 0, ++ 255, 0, 0, 0, ++ 255, 0, 0, 0, ++ 255, 255, 0, 0,}; ++const SDLPango_Matrix *MATRIX_WHITE_BACK = &_MATRIX_WHITE_BACK; ++ ++const SDLPango_Matrix _MATRIX_BLACK_BACK ++ = {0, 255, 0, 0, ++ 0, 255, 0, 0, ++ 0, 255, 0, 0, ++ 255, 255, 0, 0,}; ++const SDLPango_Matrix *MATRIX_BLACK_BACK = &_MATRIX_BLACK_BACK; ++ ++const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_BLACK_LETTER ++ = {0, 0, 0, 0, ++ 0, 0, 0, 0, ++ 0, 0, 0, 0, ++ 0, 255, 0, 0,}; ++const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER = &_MATRIX_TRANSPARENT_BACK_BLACK_LETTER; ++ ++const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_WHITE_LETTER ++ = {255, 255, 0, 0, ++ 255, 255, 0, 0, ++ 255, 255, 0, 0, ++ 0, 255, 0, 0,}; ++const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER = &_MATRIX_TRANSPARENT_BACK_WHITE_LETTER; ++ ++const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER ++ = {255, 255, 0, 0, ++ 255, 255, 0, 0, ++ 255, 255, 0, 0, ++ 0, 0, 0, 0,}; ++const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER = &_MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER; ++ + //! non-zero if initialized + static int IS_INITIALIZED = 0; + +diff --git a/src/SDL_Pango.h b/src/SDL_Pango.h +index 6ebdf78..b7e5e58 100644 +--- a/src/SDL_Pango.h ++++ b/src/SDL_Pango.h +@@ -47,57 +47,32 @@ typedef struct _SDLPango_Matrix { + Uint8 m[4][4]; /*! Matrix variables */ + } SDLPango_Matrix; + +-const SDLPango_Matrix _MATRIX_WHITE_BACK +- = {255, 0, 0, 0, +- 255, 0, 0, 0, +- 255, 0, 0, 0, +- 255, 255, 0, 0,}; + + /*! + Specifies white back and black letter. + */ +-const SDLPango_Matrix *MATRIX_WHITE_BACK = &_MATRIX_WHITE_BACK; ++extern const SDLPango_Matrix *MATRIX_WHITE_BACK; + +-const SDLPango_Matrix _MATRIX_BLACK_BACK +- = {0, 255, 0, 0, +- 0, 255, 0, 0, +- 0, 255, 0, 0, +- 255, 255, 0, 0,}; + /*! + Specifies black back and white letter. + */ +-const SDLPango_Matrix *MATRIX_BLACK_BACK = &_MATRIX_BLACK_BACK; ++extern const SDLPango_Matrix *MATRIX_BLACK_BACK; + +-const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_BLACK_LETTER +- = {0, 0, 0, 0, +- 0, 0, 0, 0, +- 0, 0, 0, 0, +- 0, 255, 0, 0,}; + /*! + Specifies transparent back and black letter. + */ +-const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER = &_MATRIX_TRANSPARENT_BACK_BLACK_LETTER; ++extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER; + +-const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_WHITE_LETTER +- = {255, 255, 0, 0, +- 255, 255, 0, 0, +- 255, 255, 0, 0, +- 0, 255, 0, 0,}; + /*! + Specifies transparent back and white letter. + */ +-const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER = &_MATRIX_TRANSPARENT_BACK_WHITE_LETTER; ++extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER; + +-const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER +- = {255, 255, 0, 0, +- 255, 255, 0, 0, +- 255, 255, 0, 0, +- 0, 0, 0, 0,}; + /*! + Specifies transparent back and transparent letter. + This is useful for KARAOKE like rendering. + */ +-const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER = &_MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER; ++extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER; + + /*! + Specifies direction of text. See Pango reference for detail +@@ -186,7 +161,8 @@ extern DECLSPEC void SDLCALL SDLPango_SetBaseDirection( + SDLPango_Direction direction); + + +-#ifdef __FT2_BUILD_UNIX_H__ ++ ++#ifdef __PANGO_H__ + + extern DECLSPEC void SDLCALL SDLPango_CopyFTBitmapToSurface( + const FT_Bitmap *bitmap, +@@ -194,11 +170,8 @@ extern DECLSPEC void SDLCALL SDLPango_CopyFTBitmapToSurface( + const SDLPango_Matrix *matrix, + SDL_Rect *rect); + +-#endif /* __FT2_BUILD_UNIX_H__ */ + + +-#ifdef __PANGO_H__ +- + extern DECLSPEC PangoFontMap* SDLCALL SDLPango_GetPangoFontMap( + SDLPango_Context *context); + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b12fe4966ad..9f33a4d82f5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13645,6 +13645,8 @@ in SDL_net = callPackage ../development/libraries/SDL_net { }; + SDL_Pango = callPackage ../development/libraries/SDL_Pango {}; + SDL_sound = callPackage ../development/libraries/SDL_sound { }; SDL_stretch= callPackage ../development/libraries/SDL_stretch { }; From 1038cd5ad8fcd80cf3293e80a2a7ab88838055cd Mon Sep 17 00:00:00 2001 From: Puck Meerburg Date: Wed, 23 Oct 2019 11:46:47 +0000 Subject: [PATCH 015/391] SDL: Add library paths of all SDL sub-packages to sdl-config Because of how nixpkgs works, all the SDL-umbrella libraries are in different folders. On a usual system, when using `sdl-config --libs`, this means that SDL_gfx would also be on the linker path. Some packages seem to depend on this being the case. --- .../libraries/SDL/find-headers.patch | 20 ++++++++++++++----- pkgs/development/libraries/SDL/setup-hook.sh | 1 + 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/SDL/find-headers.patch b/pkgs/development/libraries/SDL/find-headers.patch index 5f75ae9e830..fd498117fd6 100644 --- a/pkgs/development/libraries/SDL/find-headers.patch +++ b/pkgs/development/libraries/SDL/find-headers.patch @@ -1,7 +1,8 @@ -diff -ru3 SDL-1.2.15/sdl-config.in SDL-1.2.15-new/sdl-config.in ---- SDL-1.2.15/sdl-config.in 2012-01-19 10:30:06.000000000 +0400 -+++ SDL-1.2.15-new/sdl-config.in 2016-08-22 05:32:52.716397920 +0300 -@@ -42,7 +42,11 @@ +diff --git a/sdl-config.in b/sdl-config.in +index e0fcc0c..bf7928a 100644 +--- a/sdl-config.in ++++ b/sdl-config.in +@@ -42,14 +42,18 @@ while test $# -gt 0; do echo @SDL_VERSION@ ;; --cflags) @@ -13,4 +14,13 @@ diff -ru3 SDL-1.2.15/sdl-config.in SDL-1.2.15-new/sdl-config.in + echo $SDL_CFLAGS @SDL_CFLAGS@ ;; @ENABLE_SHARED_TRUE@ --libs) - @ENABLE_SHARED_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@ +-@ENABLE_SHARED_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@ ++@ENABLE_SHARED_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@ $SDL_LIB_PATH + @ENABLE_SHARED_TRUE@ ;; + @ENABLE_STATIC_TRUE@@ENABLE_SHARED_TRUE@ --static-libs) + @ENABLE_STATIC_TRUE@@ENABLE_SHARED_FALSE@ --libs|--static-libs) +-@ENABLE_STATIC_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_STATIC_LIBS@ ++@ENABLE_STATIC_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_STATIC_LIBS@ $SDL_LIB_PATH + @ENABLE_STATIC_TRUE@ ;; + *) + echo "${usage}" 1>&2 diff --git a/pkgs/development/libraries/SDL/setup-hook.sh b/pkgs/development/libraries/SDL/setup-hook.sh index 20382f18f52..e8f96fdd1ac 100644 --- a/pkgs/development/libraries/SDL/setup-hook.sh +++ b/pkgs/development/libraries/SDL/setup-hook.sh @@ -1,6 +1,7 @@ addSDLPath () { if [ -e "$1/include/SDL" ]; then export SDL_PATH="$SDL_PATH $1/include/SDL" + export SDL_LIB_PATH="$SDL_LIB_PATH -L$1/lib" fi } From 4b918e3e8afe801fff569854d459bce93094f375 Mon Sep 17 00:00:00 2001 From: Puck Meerburg Date: Wed, 23 Oct 2019 12:08:27 +0000 Subject: [PATCH 016/391] perlPackages.TextPatch: init at 1.8 --- pkgs/top-level/perl-packages.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index bc7deb91327..2b9c6c980b9 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -18614,6 +18614,20 @@ let }; }; + TextPatch = buildPerlPackage { + pname = "Text-Patch"; + version = "1.8"; + src = fetchurl { + url = "mirror://cpan/authors/id/C/CA/CADE/Text-Patch-1.8.tar.gz"; + sha256 = "eaf18e61ba6a3e143846a7cc66f08ce58a0c4fbda92acb31aede25cb3b5c3dcc"; + }; + propagatedBuildInputs = [ TextDiff ]; + meta = { + description = "Patches text with given patch"; + license = stdenv.lib.licenses.gpl2; + }; + }; + TextPDF = buildPerlPackage { pname = "Text-PDF"; version = "0.31"; From a261de272513f625ac00b8c858116a0848c9b9bc Mon Sep 17 00:00:00 2001 From: Puck Meerburg Date: Wed, 23 Oct 2019 12:08:52 +0000 Subject: [PATCH 017/391] perlPackages.TieSimple: init at 1.04 --- pkgs/top-level/perl-packages.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 2b9c6c980b9..b7159d5d430 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -19083,6 +19083,19 @@ let }; }; + TieSimple = buildPerlPackage { + pname = "Tie-Simple"; + version = "1.04"; + src = fetchurl { + url = "mirror://cpan/authors/id/H/HA/HANENKAMP/Tie-Simple-1.04.tar.gz"; + sha256 = "29e9e2133951046c78f205f1b3e8df62c90e114f0e08fa06b817766a0f808b12"; + }; + meta = { + description = "Variable ties made much easier: much, much, much easier.."; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + TieSub = buildPerlPackage { pname = "Tie-Sub"; version = "1.001"; From f04dd341b74e91da7c33d5bfe1748f8023755add Mon Sep 17 00:00:00 2001 From: Puck Meerburg Date: Wed, 23 Oct 2019 12:09:13 +0000 Subject: [PATCH 018/391] perlPackages.AlienSDL: init at 1.446 --- pkgs/development/perl-modules/alien-sdl.patch | 30 +++++++++++++++++++ pkgs/top-level/perl-packages.nix | 21 +++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 pkgs/development/perl-modules/alien-sdl.patch diff --git a/pkgs/development/perl-modules/alien-sdl.patch b/pkgs/development/perl-modules/alien-sdl.patch new file mode 100644 index 00000000000..b00f7dcce81 --- /dev/null +++ b/pkgs/development/perl-modules/alien-sdl.patch @@ -0,0 +1,30 @@ +diff --git a/inc/My/Builder/Unix.pm b/inc/My/Builder/Unix.pm +index 15291d5..5c5ab24 100644 +--- a/inc/My/Builder/Unix.pm ++++ b/inc/My/Builder/Unix.pm +@@ -48,7 +48,7 @@ sub get_additional_libs { + + sub can_build_binaries_from_sources { + my $self = shift; +- return 1; # yes we can ++ return 0; # no we can't + } + + sub build_binaries { +diff --git a/t/004_get_header_version.t b/t/004_get_header_version.t +index d4146ff..27f53ea 100644 +--- a/t/004_get_header_version.t ++++ b/t/004_get_header_version.t +@@ -1,8 +1,11 @@ + # t/004_config.t + +-use Test::More tests => 1; ++use Test::More; + use Alien::SDL; + ++Test::More::plan( skip_all => 'NixOS doesn\'t have SDL headers in this location' ); ++ ++ + like( Alien::SDL->get_header_version('SDL_version.h'), qr/([0-9]+\.)*[0-9]+/, "Testing SDL_version.h" ); + #like( Alien::SDL->get_header_version('SDL_net.h'), qr/([0-9]+\.)*[0-9]+/, "Testing SDL_net.h" ); + #like( Alien::SDL->get_header_version('SDL_image.h'), qr/([0-9]+\.)*[0-9]+/, "Testing SDL_image.h" ); diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index b7159d5d430..764225fb5e7 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -210,6 +210,27 @@ let }; }; + AlienSDL = buildPerlModule { + pname = "Alien-SDL"; + version = "1.446"; + src = fetchurl { + url = "mirror://cpan/authors/id/F/FR/FROGGS/Alien-SDL-1.446.tar.gz"; + sha256 = "c9aa2c9dc3c63d89773c7d7203f2a46d1b924d0c72d9f801af147a3dc8bc512a"; + }; + patches = [ ../development/perl-modules/alien-sdl.patch ]; + + installPhase = "./Build install --prefix $out"; + + SDL_INST_DIR = pkgs.SDL.dev; + buildInputs = [ ArchiveExtract ArchiveZip TextPatch pkgs.SDL ]; + propagatedBuildInputs = [ CaptureTiny FileShareDir FileWhich ]; + + meta = { + description = "Get, Build and Use SDL libraries"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + AlienTidyp = buildPerlModule { pname = "Alien-Tidyp"; version = "1.4.7"; From 0b3a34f4bb9ea46f88c880646b67b2a384163efb Mon Sep 17 00:00:00 2001 From: Puck Meerburg Date: Wed, 23 Oct 2019 12:13:00 +0000 Subject: [PATCH 019/391] perlPackages.SDL: init at 2.548 --- pkgs/top-level/perl-packages.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 764225fb5e7..cc44d41f0f2 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -15355,6 +15355,24 @@ let }; }; + SDL = buildPerlModule { + pname = "SDL"; + version = "2.548"; + src = fetchurl { + url = "mirror://cpan/authors/id/F/FR/FROGGS/SDL-2.548.tar.gz"; + sha256 = "252a192bfa9c2070a4883707d139c3a45d9c4518ccd66a1e699b5b7959bd4fb5"; + }; + perlPreHook = "export LD=$CC"; + preCheck = "rm t/core_audiospec.t"; + buildInputs = [ AlienSDL CaptureTiny TestDeep TestDifferences TestException TestMost TestWarn ] + ++ (with pkgs; [ SDL SDL_gfx SDL_mixer SDL_image SDL_ttf SDL_Pango SDL_net ] ); + propagatedBuildInputs = [ FileShareDir TieSimple ]; + meta = { + description = "SDL bindings to Perl"; + license = stdenv.lib.licenses.lgpl21Plus; + }; + }; + SerealDecoder = buildPerlPackage { pname = "Sereal-Decoder"; version = "4.007"; From 9f52dabf79724980bf91e6b8fcbafb6db605c2f2 Mon Sep 17 00:00:00 2001 From: Puck Meerburg Date: Wed, 23 Oct 2019 12:48:02 +0000 Subject: [PATCH 020/391] frozen-bubble: init at 2.212 --- pkgs/games/frozen-bubble/default.nix | 25 ++++++++++++++ .../games/frozen-bubble/fix-compilation.patch | 33 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 60 insertions(+) create mode 100644 pkgs/games/frozen-bubble/default.nix create mode 100644 pkgs/games/frozen-bubble/fix-compilation.patch diff --git a/pkgs/games/frozen-bubble/default.nix b/pkgs/games/frozen-bubble/default.nix new file mode 100644 index 00000000000..3b562ee44f2 --- /dev/null +++ b/pkgs/games/frozen-bubble/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, perlPackages, pkgconfig, SDL, SDL_mixer, SDL_Pango, glib }: + +perlPackages.buildPerlModule { + pname = "frozen-bubble"; + version = "2.212"; + + src = fetchurl { + url = "mirror://cpan/authors/id/K/KT/KTHAKORE/Games-FrozenBubble-2.212.tar.gz"; + sha256 = "721e04ff69c5233060656bfbf4002aa1aeadd96c95351f0c57bb85b6da35a305"; + }; + patches = [ ./fix-compilation.patch ]; + + nativeBuildInputs = [ pkgconfig ]; + + buildInputs = [ glib SDL SDL_mixer SDL_Pango perlPackages.SDL perlPackages.FileSlurp ]; + propagatedBuildInputs = with perlPackages; [ AlienSDL CompressBzip2 FileShareDir FileWhich IPCSystemSimple LocaleMaketextLexicon ]; + + perlPreHook = "export LD=$CC"; + + meta = { + description = "Puzzle with Bubbles"; + license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [ puckipedia ]; + }; +} diff --git a/pkgs/games/frozen-bubble/fix-compilation.patch b/pkgs/games/frozen-bubble/fix-compilation.patch new file mode 100644 index 00000000000..e87dd0668dc --- /dev/null +++ b/pkgs/games/frozen-bubble/fix-compilation.patch @@ -0,0 +1,33 @@ +diff --git a/Build.PL b/Build.PL +index b029d1e..8737395 100644 +--- a/Build.PL ++++ b/Build.PL +@@ -16,13 +16,14 @@ use Games::FrozenBubble; + my $prefix = Alien::SDL->config('prefix'); + my $cflags = '-I' + . File::Spec->catfile( $prefix, 'include' ) ++ . ' ' . `pkg-config --cflags SDL_mixer` + ; + $cflags .= ' -fnested-functions' if $^O =~ /darwin/; + ###!!! this looks strange, you perhaps meant "$cflags .= ..." + ###!!! I intended Alien::SDL to add -I$prefix/include automatically, please tell me when it does not work (kmx) + my $devnull = File::Spec->devnull(); + my @cflags = ExtUtils::CBuilder->new->split_like_shell( $cflags ); +-my @linkers = ( ExtUtils::CBuilder->new->split_like_shell( Alien::SDL->config('libs', '-lSDL_mixer', '-lSDL_Pango') ) ); ++my @linkers = ( ExtUtils::CBuilder->new->split_like_shell( Alien::SDL->config('libs', '-lSDL_Pango',`pkg-config --libs SDL_mixer`) ) ); + push @linkers, '-liconv' + if $^O =~ /win/i; ###!!! really only Win needs this? ; BEWARE this matches also 'darwin', 'cygwin'!!!! + +diff --git a/inc/My/Builder.pm b/inc/My/Builder.pm +index 2ebaf91..c420b9a 100644 +--- a/inc/My/Builder.pm ++++ b/inc/My/Builder.pm +@@ -123,7 +123,7 @@ sub ACTION_server { + push @ofiles, $cbuilder->compile( + source => catfile($server_directory, $cfile), + extra_compiler_flags => [ +- qw(-g -Wall -Werror -pipe), # verbatim from Makefile ++ qw(-g -pipe), # verbatim from Makefile + '-I' . $server_directory, # does not seem to be necessary + $cbuilder->split_like_shell(`pkg-config glib-2.0 --cflags`), + $cbuilder->split_like_shell(`pkg-config glib-2.0 --libs`), diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9f33a4d82f5..243402591a4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22332,6 +22332,8 @@ in frogatto = callPackage ../games/frogatto { }; + frozen-bubble = callPackage ../games/frozen-bubble { }; + fsg = callPackage ../games/fsg { wxGTK = wxGTK28.override { unicode = false; }; }; From ad034104cc97f7d7c4b1f20627f77d9d61f5b182 Mon Sep 17 00:00:00 2001 From: Martin Milata Date: Tue, 16 Jul 2019 01:06:19 +0200 Subject: [PATCH 021/391] nixos/moin: init --- nixos/modules/module-list.nix | 1 + nixos/modules/services/web-apps/moinmoin.nix | 303 +++++++++++++++++++ nixos/tests/all-tests.nix | 1 + nixos/tests/moinmoin.nix | 24 ++ 4 files changed, 329 insertions(+) create mode 100644 nixos/modules/services/web-apps/moinmoin.nix create mode 100644 nixos/tests/moinmoin.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 5214126ff7e..652d7b4472d 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -804,6 +804,7 @@ ./services/web-apps/nexus.nix ./services/web-apps/pgpkeyserver-lite.nix ./services/web-apps/matomo.nix + ./services/web-apps/moinmoin.nix ./services/web-apps/restya-board.nix ./services/web-apps/tt-rss.nix ./services/web-apps/selfoss.nix diff --git a/nixos/modules/services/web-apps/moinmoin.nix b/nixos/modules/services/web-apps/moinmoin.nix new file mode 100644 index 00000000000..0fee64be0bb --- /dev/null +++ b/nixos/modules/services/web-apps/moinmoin.nix @@ -0,0 +1,303 @@ +{ config, lib, pkgs, ... }: +with lib; + +let + cfg = config.services.moinmoin; + python = pkgs.python27; + pkg = python.pkgs.moinmoin; + dataDir = "/var/lib/moin"; + usingGunicorn = cfg.webServer == "nginx-gunicorn" || cfg.webServer == "gunicorn"; + usingNginx = cfg.webServer == "nginx-gunicorn"; + user = "moin"; + group = "moin"; + + uLit = s: ''u"${s}"''; + indentLines = n: str: concatMapStrings (line: "${fixedWidthString n " " " "}${line}\n") (splitString "\n" str); + + moinCliWrapper = wikiIdent: pkgs.writeShellScriptBin "moin-${wikiIdent}" '' + ${pkgs.su}/bin/su -s ${pkgs.runtimeShell} -c "${pkg}/bin/moin --config-dir=/var/lib/moin/${wikiIdent}/config $*" ${user} + ''; + + wikiConfig = wikiIdent: w: '' + # -*- coding: utf-8 -*- + + from MoinMoin.config import multiconfig, url_prefix_static + + class Config(multiconfig.DefaultConfig): + ${optionalString (w.webLocation != "/") '' + url_prefix_static = '${w.webLocation}' + url_prefix_static + ''} + + sitename = u'${w.siteName}' + page_front_page = u'${w.frontPage}' + + data_dir = '${dataDir}/${wikiIdent}/data' + data_underlay_dir = '${dataDir}/${wikiIdent}/underlay' + + language_default = u'${w.languageDefault}' + ${optionalString (w.superUsers != []) '' + superuser = [${concatMapStringsSep ", " uLit w.superUsers}] + ''} + + ${indentLines 4 w.extraConfig} + ''; + wikiConfigFile = name: wiki: pkgs.writeText "${name}.py" (wikiConfig name wiki); + +in +{ + options.services.moinmoin = with types; { + enable = mkEnableOption "MoinMoin Wiki Engine"; + + webServer = mkOption { + type = enum [ "nginx-gunicorn" "gunicorn" "none" ]; + default = "nginx-gunicorn"; + example = "none"; + description = '' + Which web server to use to serve the wiki. + Use none if you want to configure this yourself. + ''; + }; + + gunicorn.workers = mkOption { + type = ints.positive; + default = 3; + example = 10; + description = '' + The number of worker processes for handling requests. + ''; + }; + + wikis = mkOption { + type = attrsOf (submodule ({ name, ... }: { + options = { + siteName = mkOption { + type = str; + default = "Untitled Wiki"; + example = "ExampleWiki"; + description = '' + Short description of your wiki site, displayed below the logo on each page, and + used in RSS documents as the channel title. + ''; + }; + + webHost = mkOption { + type = str; + description = "Host part of the wiki URL. If undefined, the name of the attribute set will be used."; + example = "wiki.example.org"; + }; + + webLocation = mkOption { + type = str; + default = "/"; + example = "/moin"; + description = "Location part of the wiki URL."; + }; + + frontPage = mkOption { + type = str; + default = "LanguageSetup"; + example = "FrontPage"; + description = '' + Front page name. Set this to something like FrontPage once languages are + configured. + ''; + }; + + superUsers = mkOption { + type = listOf str; + default = []; + example = [ "elvis" ]; + description = '' + List of trusted user names with wiki system administration super powers. + + Please note that accounts for these users need to be created using the moin command-line utility, e.g.: + moin-WIKINAME account create --name=NAME --email=EMAIL --password=PASSWORD. + ''; + }; + + languageDefault = mkOption { + type = str; + default = "en"; + example = "de"; + description = "The ISO-639-1 name of the main wiki language. Languages that MoinMoin does not support are ignored."; + }; + + extraConfig = mkOption { + type = lines; + default = ""; + example = '' + show_hosts = True + search_results_per_page = 100 + acl_rights_default = u"Known:read,write,delete,revert All:read" + logo_string = u"

\U0001f639

" + theme_default = u"modernized" + + user_checkbox_defaults = {'show_page_trail': 0, 'edit_on_doubleclick': 0} + navi_bar = [u'SomePage'] + multiconfig.DefaultConfig.navi_bar + actions_excluded = multiconfig.DefaultConfig.actions_excluded + ['newaccount'] + + mail_smarthost = "mail.example.org" + mail_from = u"Example.Org Wiki " + ''; + description = '' + Additional configuration to be appended verbatim to this wiki's config. + + See for documentation. + ''; + }; + + }; + config = { + webHost = mkDefault name; + }; + })); + example = literalExample '' + { + "mywiki" = { + siteName = "Example Wiki"; + webHost = "wiki.example.org"; + superUsers = [ "admin" ]; + frontPage = "Index"; + extraConfig = "page_category_regex = ur'(?P(Category|Kategorie)(?P(?!Template)\S+))'" + }; + } + ''; + description = '' + Configurations of the individual wikis. Attribute names must be valid Python + identifiers of the form [A-Za-z_][A-Za-z0-9_]*. + + For every attribute WIKINAME, a helper script + moin-WIKINAME is created which runs the + moin command under the moin user (to avoid + file ownership issues) and with the right configuration directory passed to it. + ''; + }; + }; + + config = mkIf cfg.enable { + assertions = forEach (attrNames cfg.wikis) (wname: + { assertion = builtins.match "[A-Za-z_][A-Za-z0-9_]*" wname != null; + message = "${wname} is not valid Python identifier"; + } + ); + + users.users = { + moin = { + description = "MoinMoin wiki"; + home = dataDir; + group = group; + isSystemUser = true; + }; + }; + + users.groups = { + moin = { + members = mkIf usingNginx [ config.services.nginx.user ]; + }; + }; + + environment.systemPackages = [ pkg ] ++ map moinCliWrapper (attrNames cfg.wikis); + + systemd.services = mkIf usingGunicorn + (flip mapAttrs' cfg.wikis (wikiIdent: wiki: + nameValuePair "moin-${wikiIdent}" + { + description = "MoinMoin wiki ${wikiIdent} - gunicorn process"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + restartIfChanged = true; + restartTriggers = [ (wikiConfigFile wikiIdent wiki) ]; + + environment = let + penv = python.buildEnv.override { + # setuptools: https://github.com/benoitc/gunicorn/issues/1716 + extraLibs = [ python.pkgs.gevent python.pkgs.setuptools pkg ]; + }; + in { + PYTHONPATH = "${dataDir}/${wikiIdent}/config:${penv}/${python.sitePackages}"; + }; + + preStart = '' + umask 0007 + rm -rf ${dataDir}/${wikiIdent}/underlay + cp -r ${pkg}/share/moin/underlay ${dataDir}/${wikiIdent}/ + chmod -R u+w ${dataDir}/${wikiIdent}/underlay + ''; + + serviceConfig = { + User = user; + Group = group; + WorkingDirectory = "${dataDir}/${wikiIdent}"; + ExecStart = ''${python.pkgs.gunicorn}/bin/gunicorn moin_wsgi \ + --name gunicorn-${wikiIdent} \ + --workers ${toString cfg.gunicorn.workers} \ + --worker-class gevent \ + --bind unix:/run/moin/${wikiIdent}/gunicorn.sock + ''; + + Restart = "on-failure"; + RestartSec = "2s"; + StartLimitIntervalSec = "30s"; + + StateDirectory = "moin/${wikiIdent}"; + StateDirectoryMode = "0750"; + RuntimeDirectory = "moin/${wikiIdent}"; + RuntimeDirectoryMode = "0750"; + + NoNewPrivileges = true; + ProtectSystem = "strict"; + ProtectHome = true; + PrivateTmp = true; + PrivateDevices = true; + PrivateNetwork = true; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectControlGroups = true; + RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; + RestrictNamespaces = true; + LockPersonality = true; + MemoryDenyWriteExecute = true; + RestrictRealtime = true; + }; + } + )); + + services.nginx = mkIf usingNginx { + enable = true; + virtualHosts = flip mapAttrs' cfg.wikis (name: w: nameValuePair w.webHost { + forceSSL = mkDefault true; + enableACME = mkDefault true; + locations."${w.webLocation}" = { + extraConfig = '' + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Server $host; + + proxy_pass http://unix:/run/moin/${name}/gunicorn.sock; + ''; + }; + }); + }; + + systemd.tmpfiles.rules = [ + "d /run/moin 0750 ${user} ${group} - -" + "d ${dataDir} 0550 ${user} ${group} - -" + ] + ++ (concatLists (flip mapAttrsToList cfg.wikis (wikiIdent: wiki: [ + "d ${dataDir}/${wikiIdent} 0750 ${user} ${group} - -" + "d ${dataDir}/${wikiIdent}/config 0550 ${user} ${group} - -" + "L+ ${dataDir}/${wikiIdent}/config/wikiconfig.py - - - - ${wikiConfigFile wikiIdent wiki}" + # needed in order to pass module name to gunicorn + "L+ ${dataDir}/${wikiIdent}/config/moin_wsgi.py - - - - ${pkg}/share/moin/server/moin.wsgi" + # seed data files + "C ${dataDir}/${wikiIdent}/data 0770 ${user} ${group} - ${pkg}/share/moin/data" + # fix nix store permissions + "Z ${dataDir}/${wikiIdent}/data 0770 ${user} ${group} - -" + ]))); + }; + + meta.maintainers = with lib.maintainers; [ b42 ]; +} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index e94c9712cbf..50a60049a18 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -166,6 +166,7 @@ in minio = handleTest ./minio.nix {}; minidlna = handleTest ./minidlna.nix {}; misc = handleTest ./misc.nix {}; + moinmoin = handleTest ./moinmoin.nix {}; mongodb = handleTest ./mongodb.nix {}; moodle = handleTest ./moodle.nix {}; morty = handleTest ./morty.nix {}; diff --git a/nixos/tests/moinmoin.nix b/nixos/tests/moinmoin.nix new file mode 100644 index 00000000000..2662b79aa09 --- /dev/null +++ b/nixos/tests/moinmoin.nix @@ -0,0 +1,24 @@ +import ./make-test.nix ({ pkgs, lib, ... }: { + name = "moinmoin"; + meta.maintainers = [ ]; # waiting for https://github.com/NixOS/nixpkgs/pull/65397 + + machine = + { ... }: + { services.moinmoin.enable = true; + services.moinmoin.wikis.ExampleWiki.superUsers = [ "admin" ]; + services.moinmoin.wikis.ExampleWiki.webHost = "localhost"; + + services.nginx.virtualHosts.localhost.enableACME = false; + services.nginx.virtualHosts.localhost.forceSSL = false; + }; + + testScript = '' + startAll; + + $machine->waitForUnit('moin-ExampleWiki.service'); + $machine->waitForUnit('nginx.service'); + $machine->waitForFile('/run/moin/ExampleWiki/gunicorn.sock'); + $machine->succeed('curl -L http://localhost/') =~ /If you have just installed/ or die; + $machine->succeed('moin-ExampleWiki account create --name=admin --email=admin@example.com --password=foo 2>&1') =~ /status success/ or die; + ''; +}) From 99273fc55533db11748750f5337f0791e8233cee Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Sat, 26 Oct 2019 14:28:02 +0100 Subject: [PATCH 022/391] file: add patch for CVE-2019-18218 upstream patch https://github.com/file/file/commit/46a8443f76cec4b41ec736eca396984c74664f84.patch doesn't apply directly, debian have a version which has been adapted for 5.37. --- pkgs/tools/misc/file/default.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix index b3ed85ca228..a06b38c0ec7 100644 --- a/pkgs/tools/misc/file/default.nix +++ b/pkgs/tools/misc/file/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, file, zlib, libgnurx }: +{ stdenv, fetchurl, fetchpatch, file, zlib, libgnurx }: stdenv.mkDerivation rec { pname = "file"; @@ -12,6 +12,14 @@ stdenv.mkDerivation rec { sha256 = "0zz0p9bqnswfx0c16j8k62ivjq1m16x10xqv4hy9lcyxyxkkkhg9"; }; + patches = [ + (fetchpatch { + name = "CVE-2019-18218.patch"; + url = "https://sources.debian.org/data/main/f/file/1:5.37-6/debian/patches/cherry-pick.FILE5_37-67-g46a8443f.limit-the-number-of-elements-in-a-vector-found-by-oss-fuzz.patch"; + sha256 = "1i22y91yndc3n2p2ngczp1lwil8l05sp8ciicil74xrc5f91y6mj"; + }) + ]; + nativeBuildInputs = stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) file; buildInputs = [ zlib ] ++ stdenv.lib.optional stdenv.hostPlatform.isWindows libgnurx; From b12605563f5692ae146cdc40a2d8eb1c6d338501 Mon Sep 17 00:00:00 2001 From: Graham Bennett Date: Sun, 27 Oct 2019 10:15:48 +0000 Subject: [PATCH 023/391] Fix handling of lists in whitelistedLicenses and blacklistedLicenses A package's meta.license can either be a single license or a list. The code to check config.whitelistedLicenses and config.blackListedLicenses wasn't handling this, nor was the showLicense function. --- pkgs/stdenv/generic/check-meta.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix index b754230b0be..6bd6a9bf41e 100644 --- a/pkgs/stdenv/generic/check-meta.nix +++ b/pkgs/stdenv/generic/check-meta.nix @@ -36,10 +36,10 @@ let attrs ? meta.license; hasWhitelistedLicense = assert areLicenseListsValid; attrs: - hasLicense attrs && builtins.elem attrs.meta.license whitelist; + hasLicense attrs && lib.lists.any (l: builtins.elem l whitelist) (lib.lists.toList attrs.meta.license); hasBlacklistedLicense = assert areLicenseListsValid; attrs: - hasLicense attrs && builtins.elem attrs.meta.license blacklist; + hasLicense attrs && lib.lists.any (l: builtins.elem l blacklist) (lib.lists.toList attrs.meta.license); allowBroken = config.allowBroken or false || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1"; @@ -75,7 +75,7 @@ let allowInsecurePredicate attrs || builtins.getEnv "NIXPKGS_ALLOW_INSECURE" == "1"; - showLicense = license: license.shortName or "unknown"; + showLicense = license: toString (map (l: l.shortName or "unknown") (lib.lists.toList license)); pos_str = meta: meta.position or "«unknown-file»"; From 2ded9c2d8a10882a34d7e72fa16b958774775842 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 27 Oct 2019 15:32:39 +0100 Subject: [PATCH 024/391] glib: enable separate debug info --- pkgs/development/libraries/glib/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index 4f8b289b084..ff01a9cafe8 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -188,6 +188,8 @@ stdenv.mkDerivation rec { inherit doCheck; + separateDebugInfo = stdenv.isLinux; + passthru = rec { gioModuleDir = "lib/gio/modules"; makeSchemaPath = dir: name: "${dir}/share/gsettings-schemas/${name}/glib-2.0/schemas"; From c502cfe5c1dccb412141154e7d4698561c38eb31 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Sun, 27 Oct 2019 16:20:00 -0500 Subject: [PATCH 025/391] libgdiplus: fix darwin build --- pkgs/development/libraries/libgdiplus/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/libgdiplus/default.nix b/pkgs/development/libraries/libgdiplus/default.nix index 24bb9c8f2b4..1a690ca7aa1 100644 --- a/pkgs/development/libraries/libgdiplus/default.nix +++ b/pkgs/development/libraries/libgdiplus/default.nix @@ -21,6 +21,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook pkgconfig ]; + configureFlags = stdenv.lib.optionalString stdenv.cc.isClang "--host=${stdenv.hostPlatform.system}"; + buildInputs = [ glib cairo fontconfig libtiff giflib libjpeg libpng libXrender libexif From 0be3118f7eb47dc544bbd16a9d0eb25860b85d03 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Mon, 28 Oct 2019 01:43:53 -0500 Subject: [PATCH 026/391] radiotray-ng: 0.2.6 -> 0.2.7 https://github.com/ebruck/radiotray-ng/releases/tag/v0.2.7 --- pkgs/applications/audio/radiotray-ng/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/audio/radiotray-ng/default.nix b/pkgs/applications/audio/radiotray-ng/default.nix index c0186a146be..a2e24a42ba7 100644 --- a/pkgs/applications/audio/radiotray-ng/default.nix +++ b/pkgs/applications/audio/radiotray-ng/default.nix @@ -40,13 +40,13 @@ let in stdenv.mkDerivation rec { pname = "radiotray-ng"; - version = "0.2.6"; + version = "0.2.7"; src = fetchFromGitHub { owner = "ebruck"; - repo = "radiotray-ng"; + repo = pname; rev = "v${version}"; - sha256 = "0khrfxjas2ldh0kksq7l811srqy16ahjxchvz0hhykx5hykymxlb"; + sha256 = "1v2nsz7s0jj0wmqabzk6akcf1353rachm1lfq77hxbq9z5pw8pgb"; }; nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook makeWrapper ]; From 86eedaf1ca351c44a520fc0014161b596576451c Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Mon, 28 Oct 2019 01:49:08 -0500 Subject: [PATCH 027/391] radiotray-ng: python3 --- pkgs/applications/audio/radiotray-ng/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/radiotray-ng/default.nix b/pkgs/applications/audio/radiotray-ng/default.nix index a2e24a42ba7..a64e407b39b 100644 --- a/pkgs/applications/audio/radiotray-ng/default.nix +++ b/pkgs/applications/audio/radiotray-ng/default.nix @@ -21,7 +21,7 @@ # User-agent info , lsb-release # rt2rtng -, python2 +, python3 # Testing , gtest # Fixup @@ -36,7 +36,7 @@ let gst-libav ]; # For the rt2rtng utility for converting bookmark file to -ng format - pythonInputs = with python2.pkgs; [ python2 lxml ]; + pythonInputs = with python3.pkgs; [ python lxml ]; in stdenv.mkDerivation rec { pname = "radiotray-ng"; From 2ffa30a66244f849a5ea4c39ddd3241e9119e5ee Mon Sep 17 00:00:00 2001 From: Slawomir Gonet Date: Mon, 28 Oct 2019 08:17:50 +0100 Subject: [PATCH 028/391] Remove unnecessary `sentry-sdk` dependencies causing problems in python27 builds --- pkgs/development/python-modules/sentry-sdk/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix index 21fb2fd7571..52cc55beefd 100644 --- a/pkgs/development/python-modules/sentry-sdk/default.nix +++ b/pkgs/development/python-modules/sentry-sdk/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildPythonPackage, fetchPypi, urllib3, certifi, django, flask, tornado, sanic, aiohttp, bottle, rq, falcon, pyramid, celery }: +{ stdenv, buildPythonPackage, fetchPypi, isPy3k, urllib3, certifi, django, flask, tornado, bottle, rq, falcon, celery, pyramid, sanic, aiohttp }: buildPythonPackage rec { pname = "sentry-sdk"; @@ -9,7 +9,8 @@ buildPythonPackage rec { sha256 = "f137cfb8bf709f69fa4634a7debd13284a3a590c374846285875be41d1fe87a8"; }; - checkInputs = [ django flask tornado sanic aiohttp bottle rq falcon pyramid celery ]; + checkInputs = [ django flask tornado bottle rq falcon ] + ++ stdenv.lib.optionals isPy3k [ celery pyramid sanic aiohttp ]; propagatedBuildInputs = [ urllib3 certifi ]; From 3e8981be239ecc9a3738df6569bcef02099390a4 Mon Sep 17 00:00:00 2001 From: Stig Palmquist Date: Mon, 28 Oct 2019 18:50:03 +0100 Subject: [PATCH 029/391] perlPackages.MojoSQLite: 3.002 -> 3.003 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 06fe3aa2cfe..ce02f36b93c 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -11670,10 +11670,10 @@ let MojoSQLite = buildPerlModule { pname = "Mojo-SQLite"; - version = "3.002"; + version = "3.003"; src = fetchurl { - url = "mirror://cpan/authors/id/D/DB/DBOOK/Mojo-SQLite-3.002.tar.gz"; - sha256 = "16dn0p14i6r4c8aspvkp7rfry3zy7kr2ffcmncj0pqygk62miinp"; + url = "mirror://cpan/authors/id/D/DB/DBOOK/Mojo-SQLite-3.003.tar.gz"; + sha256 = "d96c00dcf45e2becc8e8181df074853d42616f2a660703455d0e0a2741478092"; }; buildInputs = [ ModuleBuildTiny ]; propagatedBuildInputs = [ DBDSQLite Mojolicious SQLAbstract URIdb ]; From 001b3d5764a72d3e0dec049013dcf84d8bf5e4e4 Mon Sep 17 00:00:00 2001 From: Izorkin Date: Mon, 28 Oct 2019 21:20:57 +0300 Subject: [PATCH 030/391] nixos/netdata: add which to path --- nixos/modules/services/monitoring/netdata.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/monitoring/netdata.nix b/nixos/modules/services/monitoring/netdata.nix index 463b1b882ac..8d17bf8c60d 100644 --- a/nixos/modules/services/monitoring/netdata.nix +++ b/nixos/modules/services/monitoring/netdata.nix @@ -138,7 +138,7 @@ in { description = "Real time performance monitoring"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - path = (with pkgs; [ gawk curl ]) ++ lib.optional cfg.python.enable + path = (with pkgs; [ curl gawk which ]) ++ lib.optional cfg.python.enable (pkgs.python3.withPackages cfg.python.extraPackages); serviceConfig = { Environment="PYTHONPATH=${pkgs.netdata}/libexec/netdata/python.d/python_modules"; From 10d7313c013604b045fce4ab86debdb3263ad98f Mon Sep 17 00:00:00 2001 From: Philip Potter Date: Mon, 28 Oct 2019 20:57:49 +0000 Subject: [PATCH 031/391] gnupg-pkcs11-scd: add @lschuermann as maintainer --- pkgs/tools/security/gnupg-pkcs11-scd/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/security/gnupg-pkcs11-scd/default.nix b/pkgs/tools/security/gnupg-pkcs11-scd/default.nix index 77537f1bfeb..bc7cff99dc2 100644 --- a/pkgs/tools/security/gnupg-pkcs11-scd/default.nix +++ b/pkgs/tools/security/gnupg-pkcs11-scd/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { ''; homepage = http://gnupg-pkcs11.sourceforge.net/; license = licenses.bsd3; - maintainers = with maintainers; [ philandstuff ]; + maintainers = with maintainers; [ lschuermann philandstuff ]; platforms = platforms.unix; }; } From 3281d30b7cfb858cbf7c1ea4ff1e18b530c10d75 Mon Sep 17 00:00:00 2001 From: Izorkin Date: Mon, 28 Oct 2019 20:12:18 +0300 Subject: [PATCH 032/391] mariadb-connector-c: fix crypt_libs --- pkgs/servers/sql/mariadb/connector-c/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/sql/mariadb/connector-c/default.nix b/pkgs/servers/sql/mariadb/connector-c/default.nix index af344d63721..1e1e2db0f60 100644 --- a/pkgs/servers/sql/mariadb/connector-c/default.nix +++ b/pkgs/servers/sql/mariadb/connector-c/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake +{ stdenv, fetchurl, cmake, fetchpatch , curl, openssl, zlib , libiconv , version, sha256, ... @@ -18,6 +18,13 @@ stdenv.mkDerivation { inherit sha256; }; + patches = [ + (fetchpatch { + url = "https://github.com/MariaDB/mariadb-connector-c/commit/ee91b2c98a63acb787114dee4f2694e154630928.patch"; + sha256 = "05mlyv20kzn9bax4byv2ph1cf42541fcl1zcqzbfwqmynnisvdah"; + }) + ]; + cmakeFlags = [ "-DMARIADB_UNIX_ADDR=/run/mysqld/mysqld.sock" "-DWITH_CURL=ON" From b607f1cd16102d62e780a500837b38822588f03b Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Tue, 29 Oct 2019 16:15:28 -0400 Subject: [PATCH 033/391] gtk3: only build docs on linux --- pkgs/development/libraries/gtk/3.x.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix index c88e193740d..7f09b52d51f 100644 --- a/pkgs/development/libraries/gtk/3.x.nix +++ b/pkgs/development/libraries/gtk/3.x.nix @@ -36,6 +36,7 @@ , wayland-protocols , xineramaSupport ? stdenv.isLinux , cupsSupport ? stdenv.isLinux +, withGtkDoc ? stdenv.isLinux , cups ? null , AppKit , Cocoa @@ -49,7 +50,7 @@ stdenv.mkDerivation rec { pname = "gtk+3"; version = "3.24.12"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ "out" "dev" ] ++ optional withGtkDoc "devdoc"; outputBin = "dev"; setupHooks = [ @@ -81,7 +82,7 @@ stdenv.mkDerivation rec { separateDebugInfo = stdenv.isLinux; mesonFlags = [ - "-Dgtk_doc=true" + "-Dgtk_doc=${boolToString withGtkDoc}" "-Dtests=false" ]; @@ -109,10 +110,7 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ - docbook_xml_dtd_43 - docbook_xsl gettext - gtk-doc gobject-introspection makeWrapper meson @@ -121,6 +119,10 @@ stdenv.mkDerivation rec { python3 sassc setupHooks + ] ++ optionals withGtkDoc [ + docbook_xml_dtd_43 + docbook_xsl + gtk-doc ]; buildInputs = [ From 605a7b31d78711a19f05796ef24cba1f4d22352f Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Mon, 28 Oct 2019 23:51:17 +0000 Subject: [PATCH 034/391] pythonPackages.koji: 1.13.0 -> 1.14.3 (security) Addressing CVE-2019-17109 Also added missing description, homepage & license. Re-disabled for py3k as the kojira executable doesn't seem to be happy with it. --- pkgs/development/python-modules/koji/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/koji/default.nix b/pkgs/development/python-modules/koji/default.nix index 033ab821135..47c42a1df45 100644 --- a/pkgs/development/python-modules/koji/default.nix +++ b/pkgs/development/python-modules/koji/default.nix @@ -1,19 +1,19 @@ -{ stdenv, fetchurl, buildPythonPackage, pycurl, six, rpm, dateutil }: +{ stdenv, fetchurl, buildPythonPackage, isPy3k, pycurl, six, rpm, dateutil }: buildPythonPackage rec { pname = "koji"; - version = "1.13.0"; + version = "1.14.3"; format = "other"; src = fetchurl { url = "https://releases.pagure.org/koji/${pname}-${version}.tar.bz2"; - sha256 = "18b18rcbdqqw33g7h20hf5bpbci2ixdi05yda1fvpv30c1kkzd8w"; + sha256 = "0a3kn3qvspvx15imgzzzjsbvw6bqmbk29apbliqwifa9cj7pvb40"; }; propagatedBuildInputs = [ pycurl six rpm dateutil ]; # Judging from SyntaxError - #disabled = isPy3k; + disabled = isPy3k; makeFlags = "DESTDIR=$(out)"; @@ -24,7 +24,9 @@ buildPythonPackage rec { ''; meta = { - maintainers = [ ]; + description = "An RPM-based build system"; + homepage = https://pagure.io/koji; + license = stdenv.lib.licenses.lgpl21; platforms = stdenv.lib.platforms.unix; }; } From 69b5fda4c5f1c761c037adcdb104afe3c4f4deec Mon Sep 17 00:00:00 2001 From: toonn Date: Thu, 31 Oct 2019 18:42:40 +0100 Subject: [PATCH 035/391] wire-desktop: linux 3.10.2904 -> 3.11.2912 --- .../networking/instant-messengers/wire-desktop/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix index d79a24ea1c2..13ac4ceb138 100644 --- a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix @@ -18,12 +18,12 @@ let pname = "wire-desktop"; version = { - x86_64-linux = "3.10.2904"; + x86_64-linux = "3.11.2912"; x86_64-darwin = "3.10.3215"; }.${system} or throwSystem; sha256 = { - x86_64-linux = "1vrz4568mlhylx17jw4z452f0vrd8yd8qkbpkcvnsbhs6k066xcn"; + x86_64-linux = "1d2wa13d750dd2vslnvzf0ibwjmf5s299pxq0rs2x98y2sabw3sl"; x86_64-darwin = "0ygm3fgy9k1dp2kjfwsrrwq1i88wgxc6k8y80yz61ivdawgph9wa"; }.${system} or throwSystem; From 32ea6fc1859dba6cfa24245f710516e3ac297038 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Wed, 18 Sep 2019 16:29:19 -0400 Subject: [PATCH 036/391] pantheon.wingpanel-applications-menu: 2.4.3 -> 2.4.4 https://github.com/elementary/applications-menu/releases/tag/2.4.4 --- .../wingpanel-indicators/applications-menu/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix index ae138c9215c..a266223eced 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { pname = "wingpanel-applications-menu"; - version = "2.4.3"; + version = "2.4.4"; repoName = "applications-menu"; @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "15mwfynaa57jii43x77iaz5gqjlylh5zxc70am8zgp8vhgzflvyd"; + sha256 = "09ssxn264v6nzrxgk529kpdxq5j3b14z8mbwq0gni1bgjcla773d"; }; passthru = { From f0383c3a03c245c8149c02febf09ee603077cfc5 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Wed, 18 Sep 2019 17:10:32 -0400 Subject: [PATCH 037/391] pantheon.elementary-feedback: init at 1.0 --- .../apps/elementary-feedback/default.nix | 70 +++++++++++++++++++ pkgs/desktops/pantheon/default.nix | 2 + 2 files changed, 72 insertions(+) create mode 100644 pkgs/desktops/pantheon/apps/elementary-feedback/default.nix diff --git a/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix b/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix new file mode 100644 index 00000000000..70d8f63c13c --- /dev/null +++ b/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix @@ -0,0 +1,70 @@ +{ stdenv +, fetchFromGitHub +, pantheon +, pkgconfig +, meson +, ninja +, vala +, python3 +, gtk3 +, glib +, granite +, libgee +, elementary-icon-theme +, elementary-gtk-theme +, gettext +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "elementary-feedback"; + version = "1.0"; + + repoName = "feedback"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = repoName; + rev = version; + sha256 = "0rc4ifs4hd4cj0v028bzc45v64pwx21xylwrhb20jpw61ainfi8s"; + }; + + passthru = { + updateScript = pantheon.updateScript { + inherit repoName; + attrPath = pname; + }; + }; + + nativeBuildInputs = [ + gettext + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + elementary-icon-theme + granite + gtk3 + elementary-gtk-theme + libgee + glib + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "GitHub Issue Reporter designed for elementary OS"; + homepage = https://github.com/elementary/feedback; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 11193fe872d..fa20e64d8ad 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -76,6 +76,8 @@ lib.makeScope pkgs.newScope (self: with self; { elementary-files = callPackage ./apps/elementary-files { }; + elementary-feedback = callPackage ./apps/elementary-feedback { }; + elementary-music = callPackage ./apps/elementary-music { }; elementary-photos = callPackage ./apps/elementary-photos { }; From 2975e8482b4834ab4b603135ad29afd164110938 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Wed, 18 Sep 2019 17:12:00 -0400 Subject: [PATCH 038/391] pantheon.elementary-onboarding: init at 1.0.1 --- pkgs/desktops/pantheon/default.nix | 2 + .../desktop/elementary-onboarding/default.nix | 79 +++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index fa20e64d8ad..bcadebaac8a 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -94,6 +94,8 @@ lib.makeScope pkgs.newScope (self: with self; { elementary-greeter = callPackage ./desktop/elementary-greeter { }; + elementary-onboarding = callPackage ./desktop/elementary-onboarding { }; + elementary-print-shim = callPackage ./desktop/elementary-print-shim { }; elementary-session-settings = callPackage ./desktop/elementary-session-settings { diff --git a/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix b/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix new file mode 100644 index 00000000000..3ee55a141b8 --- /dev/null +++ b/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix @@ -0,0 +1,79 @@ +{ stdenv +, fetchFromGitHub +, pantheon +, fetchpatch +, pkgconfig +, meson +, ninja +, vala +, python3 +, gtk3 +, glib +, granite +, libgee +, elementary-icon-theme +, elementary-gtk-theme +, gettext +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "elementary-onboarding"; + version = "1.0.1"; + + repoName = "onboarding"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = repoName; + rev = version; + sha256 = "025i9av4waqwp1gn8d6sjp8qdwg2j3jskxhmyf9qxbzwfc5msysg"; + }; + + passthru = { + updateScript = pantheon.updateScript { + inherit repoName; + attrPath = pname; + }; + }; + + nativeBuildInputs = [ + gettext + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + elementary-icon-theme + 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"; + }) + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Onboarding app for new users designed for elementary OS"; + homepage = https://github.com/elementary/onboarding; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} From 96f72ebe9326c3f0ea6cc830e61734428ac68707 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Wed, 18 Sep 2019 17:14:08 -0400 Subject: [PATCH 039/391] pantheon.switchboard-plug-about: 2.5.2 -> 2.6.0 * depends on elementary-feedback * don't need to override pkgconfig anymore https://github.com/elementary/switchboard-plug-about/commit/b513ee2e1c492d60e17a0709dd77899d796b2e62 * drop remove-update-button.patch The button isn't added if appcenter isn't installed now. https://github.com/elementary/switchboard-plug-about/releases/tag/2.6.0 --- .../apps/switchboard-plugs/about/default.nix | 13 ++--- .../switchboard-plugs/about/fix-paths.patch | 26 +++++++++ .../switchboard-plugs/about/lspci-path.patch | 13 ----- .../about/remove-update-button.patch | 55 ------------------- 4 files changed, 32 insertions(+), 75 deletions(-) create mode 100644 pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-paths.patch delete mode 100644 pkgs/desktops/pantheon/apps/switchboard-plugs/about/lspci-path.patch delete mode 100644 pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-update-button.patch diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix index 3247aed4993..c179160ddab 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix @@ -11,17 +11,18 @@ , gtk3 , switchboard , pciutils +, elementary-feedback }: stdenv.mkDerivation rec { pname = "switchboard-plug-about"; - version = "2.5.2"; + version = "2.6.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "11diwz2aj45yqkxdija8ny0sgm0wl2905gl3799cdl12ss9ffndp"; + sha256 = "12ysymk5y2k49yh3rzmra7jmimxrd54gz2f4ssc9i8w06xj5djp7"; }; passthru = { @@ -46,17 +47,15 @@ stdenv.mkDerivation rec { patches = [ (substituteAll { - src = ./lspci-path.patch; + src = ./fix-paths.patch; inherit pciutils; + elementary_feedback = elementary-feedback; }) - ./remove-update-button.patch ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - meta = with stdenv.lib; { description = "Switchboard About Plug"; - homepage = https://github.com/elementary/witchboard-plug-about; + homepage = https://github.com/elementary/switchboard-plug-about; license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-paths.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-paths.patch new file mode 100644 index 00000000000..d458689a325 --- /dev/null +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-paths.patch @@ -0,0 +1,26 @@ +diff --git a/src/Plug.vala b/src/Plug.vala +index c32efcbe..0cdaeaca 100644 +--- a/src/Plug.vala ++++ b/src/Plug.vala +@@ -178,7 +178,7 @@ public class About.Plug : Switchboard.Plug { + + var bug_button = new Gtk.Button.with_label (_("Report a Problem")); + bug_button.clicked.connect (() => { +- var appinfo = new GLib.DesktopAppInfo ("io.elementary.feedback.desktop"); ++ var appinfo = new GLib.DesktopAppInfo ("@elementary_feedback@/bin/io.elementary.feedback.desktop"); + if (appinfo != null) { + try { + appinfo.launch (null, null); +diff --git a/src/Views/HardwareView.vala b/src/Views/HardwareView.vala +index f8113634..3794bad8 100644 +--- a/src/Views/HardwareView.vala ++++ b/src/Views/HardwareView.vala +@@ -179,7 +179,7 @@ public class About.HardwareView : Gtk.Grid { + + // Graphics + try { +- Process.spawn_command_line_sync ("lspci", out graphics); ++ Process.spawn_command_line_sync ("@pciutils@/bin/lspci", out graphics); + + if ("VGA" in graphics) { //VGA-keyword indicates graphics-line + string[] lines = graphics.split("\n"); diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/lspci-path.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/lspci-path.patch deleted file mode 100644 index 352d84c4262..00000000000 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/lspci-path.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/Views/HardwareView.vala b/src/Views/HardwareView.vala -index a3e449c..a95fe93 100644 ---- a/src/Views/HardwareView.vala -+++ b/src/Views/HardwareView.vala -@@ -179,7 +179,7 @@ public class About.HardwareView : Gtk.Grid { - - // Graphics - try { -- Process.spawn_command_line_sync ("lspci", out graphics); -+ Process.spawn_command_line_sync ("@pciutils@/bin/lspci", out graphics); - - if ("VGA" in graphics) { //VGA-keyword indicates graphics-line - string[] lines = graphics.split("\n"); diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-update-button.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-update-button.patch deleted file mode 100644 index 41433f9a76b..00000000000 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-update-button.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff --git a/src/Plug.vala b/src/Plug.vala -index 76fca34..3e79c1f 100644 ---- a/src/Plug.vala -+++ b/src/Plug.vala -@@ -65,7 +65,6 @@ public class About.Plug : Switchboard.Plug { - search_results.set ("%s → %s".printf (display_name, _("Restore Default Settings")), ""); - search_results.set ("%s → %s".printf (display_name, _("Suggest Translation")), ""); - search_results.set ("%s → %s".printf (display_name, _("Report Problems")), ""); -- search_results.set ("%s → %s".printf (display_name, _("Updates")), ""); - return search_results; - } - -@@ -161,7 +160,7 @@ public class About.Plug : Switchboard.Plug { - var kernel_version_label = new Gtk.Label (kernel_version); - kernel_version_label.set_selectable (true); - -- var gtk_version_label = new Gtk.Label (_("GTK+ %s").printf (gtk_version)); -+ var gtk_version_label = new Gtk.Label (_("GTK+ %s").printf (gtk_version)); - gtk_version_label.set_selectable (true); - - var website_label = new Gtk.LinkButton.with_label (website_url, _("Website")); -@@ -202,16 +201,6 @@ public class About.Plug : Switchboard.Plug { - issue_dialog.run (); - }); - -- // Update button -- var update_button = new Gtk.Button.with_label (_("Check for Updates")); -- update_button.clicked.connect (() => { -- try { -- Process.spawn_command_line_async ("io.elementary.appcenter --show-updates"); -- } catch (Error e) { -- warning (e.message); -- } -- }); -- - // Restore settings button - var settings_restore_button = new Gtk.Button.with_label (_("Restore Default Settings")); - settings_restore_button.clicked.connect (settings_restore_clicked); -@@ -224,7 +213,6 @@ public class About.Plug : Switchboard.Plug { - button_grid.add (settings_restore_button); - button_grid.add (translate_button); - button_grid.add (bug_button); -- button_grid.add (update_button); - button_grid.set_child_non_homogeneous (help_button, true); - - var software_grid = new Gtk.Grid (); -@@ -238,7 +226,7 @@ public class About.Plug : Switchboard.Plug { - software_grid.attach (based_off, 0, 2, 2, 1); - } - -- software_grid.attach (kernel_version_label, 0, 3, 2, 1); -+ software_grid.attach (kernel_version_label, 0, 3, 2, 1); - software_grid.attach (gtk_version_label, 0, 4, 2, 1); - software_grid.attach (website_label, 0, 5, 2, 1); - From 451c9d835f193f9f5b1604fd352d5e4e19bdf6db Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Wed, 18 Sep 2019 17:15:19 -0400 Subject: [PATCH 040/391] pantheon.granite: 5.2.3 -> 5.2.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Drop patch for ⭕️ gsettings dep. --- pkgs/desktops/pantheon/granite/default.nix | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/pkgs/desktops/pantheon/granite/default.nix b/pkgs/desktops/pantheon/granite/default.nix index b93eb2f3f9b..ab673832857 100644 --- a/pkgs/desktops/pantheon/granite/default.nix +++ b/pkgs/desktops/pantheon/granite/default.nix @@ -1,6 +1,5 @@ { stdenv , fetchFromGitHub -, fetchpatch , python3 , meson , ninja @@ -17,30 +16,15 @@ stdenv.mkDerivation rec { pname = "granite"; - version = "5.2.3"; + version = "5.2.5"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "10ddq1s2w4jvpzq813cylmqhh8pggzaz890fy3kzg07275i98gah"; + sha256 = "0z40vhcp2w8s8rnc56pzvjc4s77bln8k84rwwypivjmk3lhpw1vi"; }; - patches = [ - # Resolve the circular dependency between granite and the datetime wingpanel indicator - # See: https://github.com/elementary/granite/pull/242 - (fetchpatch { - url = "https://src.fedoraproject.org/rpms/granite/raw/0550b44ed6400c9b1ff7e70871913747df2ff323/f/00-datetime-clock-format-gsettings.patch"; - sha256 = "0i9yvdmn77x5fjdwd1raw6ym8js8yxa7w6ydc7syx7hcyls00dmq"; - }) - - # Fix build latest vala. - (fetchpatch { - url = "https://github.com/elementary/granite/commit/fd26013c84afdeb6300ae2f4a574856753fc2b58.patch"; - sha256 = "01nxqhj8gr61n6wx6ccrqdn25nmbrhhk437k21g4mxqx0gnih265"; - }) - ]; - passthru = { updateScript = pantheon.updateScript { repoName = pname; From 4f5bbdbf5d9f35797f8c909f687b24dee3d208b7 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Wed, 18 Sep 2019 17:17:36 -0400 Subject: [PATCH 041/391] pantheon.wingpanel-indicator-datetime: drop clock-format ptach --- .../desktop/wingpanel-indicators/datetime/default.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix index 74542b5c4c4..97fa6ba71c0 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix @@ -74,11 +74,6 @@ stdenv.mkDerivation rec { ]; patches = [ - # Use "clock-format" GSettings key that's been moved to granite - (fetchpatch { - url = "https://src.fedoraproject.org/rpms/wingpanel-indicator-datetime/raw/c8d515b76aa812c141212d5515621a6febd781a3/f/00-move-clock-format-settings-to-granite.patch"; - sha256 = "1sq3aw9ckkm057rnrclnw9lyrxbpl37fyzfnbixi2q3ypr70n880"; - }) # See: https://github.com/elementary/wingpanel-indicator-datetime/pull/117 (fetchpatch { url = "https://github.com/elementary/wingpanel-indicator-datetime/commit/4859e72a52d8dac5cad87b192fc912fb013b0ecd.patch"; From f329f86c507ffa463b37002b5406d52ab1d13da7 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Wed, 18 Sep 2019 17:18:11 -0400 Subject: [PATCH 042/391] pantheon.wingpanel-indicator-datetime: don't try to wrap --- .../desktop/wingpanel-indicators/datetime/default.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix index 97fa6ba71c0..87510e234aa 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix @@ -59,7 +59,6 @@ stdenv.mkDerivation rec { pkgconfig python3 vala - wrapGAppsHook ]; buildInputs = [ @@ -88,11 +87,6 @@ stdenv.mkDerivation rec { patchShebangs meson/post_install.py ''; - # launches elementary-calendar on selection - preFixup = '' - gappsWrapperArgs+=( --prefix PATH : "${elementary-calendar}/bin" ) - ''; - meta = with stdenv.lib; { description = "Date & Time Indicator for Wingpanel"; homepage = https://github.com/elementary/wingpanel-indicator-datetime; From 6d5d1047006907996a78036e75aae3278d9f2727 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Wed, 18 Sep 2019 17:19:52 -0400 Subject: [PATCH 043/391] pantheon.switchboard-plug-datetime: 2.1.5 -> 2.1.6 * drop clock-format.patch --- .../switchboard-plugs/datetime/clock-format.patch | 12 ------------ .../apps/switchboard-plugs/datetime/default.nix | 6 ++---- 2 files changed, 2 insertions(+), 16 deletions(-) delete mode 100644 pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/clock-format.patch diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/clock-format.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/clock-format.patch deleted file mode 100644 index 0fe0ac8b10c..00000000000 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/clock-format.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/DateTime1.vala b/src/DateTime1.vala -index 5a80fbd..2e1f948 100644 ---- a/src/DateTime1.vala -+++ b/src/DateTime1.vala -@@ -38,6 +38,6 @@ public class DateTime.Settings : Granite.Services.Settings { - public string clock_format { get; set; } - - public Settings () { -- base ("io.elementary.desktop.wingpanel.datetime"); -+ base ("io.elementary.granite"); - } - } diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix index c0c7bbdec2e..cafb4014407 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-datetime"; - version = "2.1.5"; + version = "2.1.6"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1iz8skf5dw76a07ljc8v8lw2x2nrmq8j6sggm227cmxy60gadsdv"; + sha256 = "09734c3qc0296zf14rdhl4p6ppga015rz9hhsvlcc3nvyw7kdqkc"; }; passthru = { @@ -51,8 +51,6 @@ stdenv.mkDerivation rec { src = ./timezone.patch; tzdata = "${tzdata}/share/zoneinfo/zone.tab"; }) - # Use "clock-format" GSettings key that's been moved to granite - ./clock-format.patch ]; PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; From 9f7e64b21837a68caf69778cfe69bf2f971695ec Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Wed, 18 Sep 2019 17:27:02 -0400 Subject: [PATCH 044/391] pantheon.elementary-files: 4.1.9 -> 4.2.0 * libcloudproviders support https://github.com/elementary/files/releases/tag/4.2.0 --- pkgs/desktops/pantheon/apps/elementary-files/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-files/default.nix b/pkgs/desktops/pantheon/apps/elementary-files/default.nix index 0bb2824b3d3..1b5de7c168e 100644 --- a/pkgs/desktops/pantheon/apps/elementary-files/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-files/default.nix @@ -23,13 +23,14 @@ , zeitgeist , glib-networking , elementary-icon-theme +, libcloudproviders , fetchpatch , wrapGAppsHook }: stdenv.mkDerivation rec { pname = "elementary-files"; - version = "4.1.9"; + version = "4.2.0"; repoName = "files"; @@ -39,7 +40,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "12p1li9a7kqdlgkq20svaly5kr661ww93qngaiic6zv1bdw2bpmv"; + sha256 = "12f0hzb62nchksyqd2gwj3cv001rph24ggd9wywh9i1qwppx4b5k"; }; passthru = { @@ -67,6 +68,7 @@ stdenv.mkDerivation rec { granite gtk3 libcanberra + libcloudproviders libdbusmenu-gtk3 libgee libnotify From 99add435c38afdbbd8ff566f797d9c8bfb28fcc9 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Tue, 24 Sep 2019 22:05:58 -0400 Subject: [PATCH 045/391] pantheon.elementary-camera: 1.0.4 -> 1.0.5 https://github.com/elementary/camera/releases/tag/1.0.5 --- pkgs/desktops/pantheon/apps/elementary-camera/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-camera/default.nix b/pkgs/desktops/pantheon/apps/elementary-camera/default.nix index 279e9eff87a..aedc445b05f 100644 --- a/pkgs/desktops/pantheon/apps/elementary-camera/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-camera/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { pname = "elementary-camera"; - version = "1.0.4"; + version = "1.0.5"; repoName = "camera"; @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "1p532f961cjdg7szmxw7hw3av9v342hv5rx7in3bbhlc7adxflyc"; + sha256 = "05amcljvc3w77a1b0c76y6rha8g0zm6lqflvg1g7jzz00jchx9d4"; }; passthru = { From efd72bf01585870857269559a30ae44068ed663a Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Tue, 24 Sep 2019 22:07:10 -0400 Subject: [PATCH 046/391] pantheon.switchboard-plug-display: 2.1.8 -> 2.1.9 https://github.com/elementary/switchboard-plug-display/releases/tag/2.1.9 --- .../pantheon/apps/switchboard-plugs/display/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix index 76cfe61fc77..00524786f4b 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.8"; + version = "2.1.9"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1xpgkvcv3bylpaj7c80727vr55vilkgjvnlbw7d5pr56v6mv7n9j"; + sha256 = "0g9apywxgkan82h933rjjdm9fhd8vak8mziwsbqlprdz310b2jb2"; }; 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 Displays Plug"; homepage = https://github.com/elementary/switchboard-plug-display; From ea910c7b83390ce147b5ac40a69df156f058fb31 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sat, 28 Sep 2019 18:34:37 -0400 Subject: [PATCH 047/391] pantheon.wingpanel-indicator-*: drop needless deps Like wrapGAppsHook and elementary-icon-theme. These don't provide executables. --- .../desktop/wingpanel-indicators/bluetooth/default.nix | 4 ---- .../desktop/wingpanel-indicators/datetime/default.nix | 3 --- .../desktop/wingpanel-indicators/keyboard/default.nix | 4 ---- .../pantheon/desktop/wingpanel-indicators/network/default.nix | 4 ---- .../desktop/wingpanel-indicators/nightlight/default.nix | 4 ---- .../desktop/wingpanel-indicators/notifications/default.nix | 4 ---- .../pantheon/desktop/wingpanel-indicators/power/default.nix | 4 ---- .../pantheon/desktop/wingpanel-indicators/session/default.nix | 4 ---- .../pantheon/desktop/wingpanel-indicators/sound/default.nix | 4 ---- 9 files changed, 35 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix index 36d1cf0e77a..3a462219f1e 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix @@ -12,8 +12,6 @@ , wingpanel , libgee , libxml2 -, elementary-icon-theme -, wrapGAppsHook }: stdenv.mkDerivation rec { @@ -40,11 +38,9 @@ stdenv.mkDerivation rec { pkgconfig python3 vala - wrapGAppsHook ]; buildInputs = [ - elementary-icon-theme granite gtk3 libgee diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix index 87510e234aa..4832c56ede4 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix @@ -16,8 +16,6 @@ , libxml2 , libsoup , elementary-calendar -, elementary-icon-theme -, wrapGAppsHook , fetchurl }: @@ -62,7 +60,6 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - elementary-icon-theme old-evolution-data-server granite gtk3 diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix index 5431b982f54..2f917b19f11 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix @@ -13,8 +13,6 @@ , libgee , xorg , libgnomekbd -, elementary-icon-theme -, wrapGAppsHook }: stdenv.mkDerivation rec { @@ -40,11 +38,9 @@ stdenv.mkDerivation rec { libxml2 pkgconfig vala - wrapGAppsHook ]; buildInputs = [ - elementary-icon-theme granite gtk3 libgee diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix index 6ba19ebf77e..01a815404a6 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix @@ -11,8 +11,6 @@ , networkmanagerapplet , wingpanel , libgee -, elementary-icon-theme -, wrapGAppsHook }: stdenv.mkDerivation rec { @@ -37,11 +35,9 @@ stdenv.mkDerivation rec { ninja pkgconfig vala - wrapGAppsHook ]; buildInputs = [ - elementary-icon-theme granite gtk3 libgee diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix index 0327d5e78e2..3b50866c0ed 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix @@ -10,8 +10,6 @@ , wingpanel , libgee , libxml2 -, elementary-icon-theme -, wrapGAppsHook }: stdenv.mkDerivation rec { @@ -37,11 +35,9 @@ stdenv.mkDerivation rec { ninja pkgconfig vala - wrapGAppsHook ]; buildInputs = [ - elementary-icon-theme granite gtk3 libgee diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix index a4266a6f459..4dbf6528c70 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix @@ -10,8 +10,6 @@ , wingpanel , libgee , libwnck3 -, elementary-icon-theme -, wrapGAppsHook }: stdenv.mkDerivation rec { @@ -36,11 +34,9 @@ stdenv.mkDerivation rec { ninja pkgconfig vala - wrapGAppsHook ]; buildInputs = [ - elementary-icon-theme granite gtk3 libgee diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix index 9f9d4703060..b989bada571 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix @@ -13,8 +13,6 @@ , udev , wingpanel , libgee -, elementary-icon-theme -, wrapGAppsHook }: stdenv.mkDerivation rec { @@ -40,12 +38,10 @@ stdenv.mkDerivation rec { pkgconfig python3 vala - wrapGAppsHook ]; buildInputs = [ bamf - elementary-icon-theme granite gtk3 libgee diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix index f48638ff2b1..7efb03f9d66 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix @@ -10,8 +10,6 @@ , wingpanel , accountsservice , libgee -, elementary-icon-theme -, wrapGAppsHook }: stdenv.mkDerivation rec { @@ -36,12 +34,10 @@ stdenv.mkDerivation rec { ninja pkgconfig vala - wrapGAppsHook ]; buildInputs = [ accountsservice - elementary-icon-theme granite gtk3 libgee diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix index 038ab75094c..fa89cca68c0 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix @@ -14,8 +14,6 @@ , libcanberra-gtk3 , libgee , libxml2 -, wrapGAppsHook -, elementary-icon-theme }: stdenv.mkDerivation rec { @@ -42,11 +40,9 @@ stdenv.mkDerivation rec { pkgconfig python3 vala - wrapGAppsHook ]; buildInputs = [ - elementary-icon-theme granite gtk3 libcanberra-gtk3 From 09f823dc830b7fde8b7839b38a85c5e6dd1f23f7 Mon Sep 17 00:00:00 2001 From: WilliButz Date: Thu, 31 Oct 2019 23:49:15 +0100 Subject: [PATCH 048/391] prometheus-postgres-exporter: 0.6.0 -> 0.7.0, run tests --- pkgs/servers/monitoring/prometheus/postgres-exporter.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/monitoring/prometheus/postgres-exporter.nix b/pkgs/servers/monitoring/prometheus/postgres-exporter.nix index 54a0dc58e8a..410687d0335 100644 --- a/pkgs/servers/monitoring/prometheus/postgres-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/postgres-exporter.nix @@ -2,7 +2,7 @@ buildGoPackage rec { pname = "postgres_exporter"; - version = "0.6.0"; + version = "0.7.0"; goPackagePath = "github.com/wrouesnel/postgres_exporter"; @@ -10,9 +10,11 @@ buildGoPackage rec { owner = "wrouesnel"; repo = "postgres_exporter"; rev = "v${version}"; - sha256 = "0a903mklp3aardlbz5fkslisav9khd1w3akcf9xkc5nfinr6xnqb"; + sha256 = "0xi61090kmkp1cid3hx00csfa4w8nvaw8ky0w004czwqlyids6jg"; }; + doCheck = true; + meta = with lib; { inherit (src.meta) homepage; description = "A Prometheus exporter for PostgreSQL"; From 1c1424af9959be14882fa45419b70c356f96bdc2 Mon Sep 17 00:00:00 2001 From: Tadeo Kondrak Date: Thu, 31 Oct 2019 18:09:07 -0600 Subject: [PATCH 049/391] vapoursynth: R47.2 -> R48 --- pkgs/development/libraries/vapoursynth/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/vapoursynth/default.nix b/pkgs/development/libraries/vapoursynth/default.nix index 0d96829b6ba..0cdbe396a10 100644 --- a/pkgs/development/libraries/vapoursynth/default.nix +++ b/pkgs/development/libraries/vapoursynth/default.nix @@ -12,13 +12,13 @@ with stdenv.lib; stdenv.mkDerivation rec { pname = "vapoursynth"; - version = "R47.2"; + version = "R48"; src = fetchFromGitHub { owner = "vapoursynth"; repo = "vapoursynth"; rev = version; - sha256 = "004h0vvih7dlhkcz6l2786pf7s04qhiv0bii4gjx23cxyklglh9i"; + sha256 = "1i6163bidlp0p9zcnxpsphr44ayfzd51fig4ri7vbrbl9lw9jaih"; }; nativeBuildInputs = [ pkgconfig autoreconfHook nasm makeWrapper ]; From ce5ccf8b442ea3a710d4835835904b0db2bbf0b6 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Tue, 1 Oct 2019 21:50:07 -0400 Subject: [PATCH 050/391] pantheon.appcenter: init at 3.2.0 --- .../pantheon/apps/appcenter/default.nix | 92 +++++++++++++++++++ pkgs/desktops/pantheon/default.nix | 2 + 2 files changed, 94 insertions(+) create mode 100644 pkgs/desktops/pantheon/apps/appcenter/default.nix diff --git a/pkgs/desktops/pantheon/apps/appcenter/default.nix b/pkgs/desktops/pantheon/apps/appcenter/default.nix new file mode 100644 index 00000000000..db674f4fb7e --- /dev/null +++ b/pkgs/desktops/pantheon/apps/appcenter/default.nix @@ -0,0 +1,92 @@ +{ stdenv +, appstream +, appstream-glib +, dbus +, desktop-file-utils +, elementary-gtk-theme +, elementary-icon-theme +, fetchFromGitHub +, fetchpatch +, flatpak +, gettext +, glib +, granite +, gtk3 +, json-glib +, libgee +, libsoup +, libxml2 +, meson +, ninja +, packagekit +, pantheon +, pkgconfig +, python3 +, vala +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "appcenter"; + version = "3.2.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0xsxm0qgmnljd4s8m6xajzsjp9skpsa8wwlwqmc5yx34diad7zag"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + appstream-glib + dbus # for pkgconfig + desktop-file-utils + gettext + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + appstream + elementary-icon-theme + elementary-gtk-theme + flatpak + glib + granite + gtk3 + json-glib + libgee + libsoup + libxml2 + packagekit + ]; + + mesonFlags = [ + "-Dhomepage=false" + "-Dpayments=false" + "-Dcurated=false" + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/elementary/appcenter; + description = "An open, pay-what-you-want app store for indie developers, designed for elementary OS"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index bcadebaac8a..a30cba7af70 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -66,6 +66,8 @@ lib.makeScope pkgs.newScope (self: with self; { #### APPS + appcenter = callPackage ./apps/appcenter { }; + elementary-calculator = callPackage ./apps/elementary-calculator { }; elementary-calendar = callPackage ./apps/elementary-calendar { }; From 03b61c02db8091f376eefea837bb60572920aab8 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Tue, 1 Oct 2019 22:14:43 -0400 Subject: [PATCH 051/391] pantheon.sideload: init at 1.0.0 --- .../pantheon/apps/sideload/default.nix | 73 +++++++++++++++++++ pkgs/desktops/pantheon/default.nix | 2 + 2 files changed, 75 insertions(+) create mode 100644 pkgs/desktops/pantheon/apps/sideload/default.nix diff --git a/pkgs/desktops/pantheon/apps/sideload/default.nix b/pkgs/desktops/pantheon/apps/sideload/default.nix new file mode 100644 index 00000000000..1fcd486263b --- /dev/null +++ b/pkgs/desktops/pantheon/apps/sideload/default.nix @@ -0,0 +1,73 @@ +{ stdenv +, desktop-file-utils +, elementary-gtk-theme +, elementary-icon-theme +, fetchFromGitHub +, flatpak +, gettext +, glib +, granite +, gtk3 +, libgee +, meson +, ninja +, pantheon +, pkgconfig +, python3 +, vala +, libxml2 +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "sideload"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1qi4wm773bf1szi5a77g9lxjn305v1m85j4nb6il9q4qlh9b1cs5"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + desktop-file-utils + gettext + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + elementary-gtk-theme + elementary-icon-theme + flatpak + glib + granite + gtk3 + libgee + libxml2 + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/elementary/sideload; + description = "Flatpak installer, designed for elementary OS"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index a30cba7af70..154dba5999f 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -90,6 +90,8 @@ lib.makeScope pkgs.newScope (self: with self; { elementary-videos = callPackage ./apps/elementary-videos { }; + sideload = callPackage ./apps/sideload { }; + #### DESKTOP elementary-default-settings = callPackage ./desktop/elementary-default-settings { }; From 7a4ea26f2e313674af7730f7a01a7426c626d637 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 11 Oct 2019 18:52:04 -0400 Subject: [PATCH 052/391] vala-lint: init at 2019-10-11 --- pkgs/development/tools/vala-lint/default.nix | 51 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 53 insertions(+) create mode 100644 pkgs/development/tools/vala-lint/default.nix diff --git a/pkgs/development/tools/vala-lint/default.nix b/pkgs/development/tools/vala-lint/default.nix new file mode 100644 index 00000000000..92fb6ebcc68 --- /dev/null +++ b/pkgs/development/tools/vala-lint/default.nix @@ -0,0 +1,51 @@ +{ stdenv +, fetchFromGitHub +, glib +, meson +, ninja +, pantheon +, pkgconfig +, vala +, gettext +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "vala-lint-unstable"; + version = "2019-10-11"; + + src = fetchFromGitHub { + owner = "vala-lang"; + repo = "vala-lint"; + rev = "a077bbec30dea128616a23583ce3f8364ff2ef11"; + sha256 = "0w0rmaj4v42wc4vq2lfjnj6airag5ahv6522xkw3j1nmccxq3s72"; + }; + + nativeBuildInputs = [ + gettext + meson + ninja + pkgconfig + vala + wrapGAppsHook + ]; + + buildInputs = [ + glib + ]; + + # See https://github.com/vala-lang/vala-lint/issues/133 + doCheck = false; + + meta = with stdenv.lib; { + homepage = https://github.com/vala-lang/vala-lint; + description = "Check Vala code files for code-style errors"; + longDescription = '' + Small command line tool and library for checking Vala code files for code-style errors. + Based on the elementary Code-Style guidelines. + ''; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fa7b00f7a19..b2b1bb668a8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8644,6 +8644,8 @@ in vlang = callPackage ../development/compilers/vlang { }; + vala-lint = callPackage ../development/tools/vala-lint { }; + inherit (callPackage ../development/compilers/vala { }) vala_0_36 vala_0_40 From 5bb5c188c4fc811f808f223dc060410d743c3517 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Thu, 31 Oct 2019 17:45:07 -0400 Subject: [PATCH 053/391] pantheon.updateScript: always use github api Unfortunately elementary has suddenly decided to add ${version}-debian tags into the mix which ls-remote will always sort last. I believe these tags point to the deb-packaging branches in the repo's which we certainly don't ever want to use as they contain no source. --- pkgs/desktops/pantheon/update.sh | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/pkgs/desktops/pantheon/update.sh b/pkgs/desktops/pantheon/update.sh index 9bbbe260034..8d002fe47c2 100755 --- a/pkgs/desktops/pantheon/update.sh +++ b/pkgs/desktops/pantheon/update.sh @@ -114,13 +114,7 @@ EOF function get_latest_tag ( ) { repo_name="$1" - # Using github release api because sorting this repo just doesn't work because of old git sillyness - # Also too lazy to care to adapt `git ls-remote` command to work with it - if [ $repo_name == "switchboard-plug-pantheon-shell" ]; then - curl --silent --show-error --fail -X GET "https://api.github.com/repos/elementary/$repo_name/releases/latest" | jq -r '.tag_name' - else - git ls-remote --tags --sort="v:refname" "https://github.com/elementary/$repo_name" | tail -n1 | sed 's/.*\///; s/\^{}//' - fi + curl --silent --show-error --fail -X GET "https://api.github.com/repos/elementary/$repo_name/releases/latest" | jq -r '.tag_name' } # From 0de6642b5ebf195ed87315d37eb9c91f3a5e33bd Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Thu, 31 Oct 2019 17:48:03 -0400 Subject: [PATCH 054/391] pantheon.switchboard-plug-bluetooth: 2.2.2 -> 2.3.0 https://github.com/elementary/switchboard-plug-bluetooth/releases/tag/2.3.0 --- .../pantheon/apps/switchboard-plugs/bluetooth/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix index 9f1c75b7b43..ca29ab65afc 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-bluetooth"; - version = "2.2.2"; + version = "2.3.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0rp9wa0yilc3wgwnybc6cryxphja7imixn45zhj475a4nb3afd0q"; + sha256 = "1m8nzav976xs3sash2nbyrfn2sk7aah352ypihbp7bacid5wnhr7"; }; passthru = { @@ -44,8 +44,6 @@ stdenv.mkDerivation rec { switchboard ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - meta = with stdenv.lib; { description = "Switchboard Bluetooth Plug"; homepage = https://github.com/elementary/switchboard-plug-bluetooth; From f278d6f0dac729c1b43cafcb374ce61161b5e863 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Thu, 31 Oct 2019 17:48:51 -0400 Subject: [PATCH 055/391] pantheon.elementary-greeter: 5.0 -> 5.0.1 https://github.com/elementary/greeter/releases/tag/5.0.1 --- .../pantheon/desktop/elementary-greeter/default.nix | 4 ++-- .../hardcode-fallback-background.patch | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix index 5241aded066..440893935f8 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { pname = "elementary-greeter"; - version = "5.0"; + version = "5.0.1"; repoName = "greeter"; @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "01c8acarxwpakyq69xm4bjwppjf8v3ijmns8masd8raxligb2v8b"; + sha256 = "0qy6iw71p8hv6fpcr7p3hqbzlcpxrz18qdm1inannq68d0pxfx76"; }; passthru = { diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/hardcode-fallback-background.patch b/pkgs/desktops/pantheon/desktop/elementary-greeter/hardcode-fallback-background.patch index 556a0fc82a1..7d2afe7b16c 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-greeter/hardcode-fallback-background.patch +++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/hardcode-fallback-background.patch @@ -1,7 +1,7 @@ -diff --git a/src/Cards/BackgroundImage.vala b/src/Cards/BackgroundImage.vala -index b57fb4d..ddfd56c 100644 ---- a/src/Cards/BackgroundImage.vala -+++ b/src/Cards/BackgroundImage.vala +diff --git a/src/Widgets/BackgroundImage.vala b/src/Widgets/BackgroundImage.vala +index ae9431c..f0f2a49 100644 +--- a/src/Widgets/BackgroundImage.vala ++++ b/src/Widgets/BackgroundImage.vala @@ -9,7 +9,7 @@ public class Greeter.BackgroundImage : Gtk.EventBox { public BackgroundImage (string? path) { @@ -16,7 +16,7 @@ index b57fb4d..ddfd56c 100644 try { - full_pixbuf = new Gdk.Pixbuf.from_file ("/usr/share/backgrounds/elementaryos-default"); -+ full_pixbuf = new Gdk.Pixbuf.from_file ("@default_wallpaper"); ++ full_pixbuf = new Gdk.Pixbuf.from_file ("@default_wallpaper@"); } catch (GLib.Error e) { critical (e.message); } From 162e348e810c1e121866c6f6c5f39951157beb89 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Thu, 31 Oct 2019 17:49:30 -0400 Subject: [PATCH 056/391] pantheon.wingpanel: 2.2.5 -> 2.2.6 https://github.com/elementary/wingpanel/releases/tag/2.2.6 --- pkgs/desktops/pantheon/desktop/wingpanel/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix index 06f0fc23a39..1fc7304feb2 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix @@ -20,13 +20,13 @@ stdenv.mkDerivation rec { pname = "wingpanel"; - version = "2.2.5"; + version = "2.2.6"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "15pl3km8jfmlgrrb2fcabdd0rkc849arz6sc3vz6azzpln7gxbq7"; + sha256 = "0q5jhg3gpcjfzfi7g33fv8pb916cqsgk6543b82yy97c20902ap9"; }; passthru = { From e094c1be6e824015580cc0fb622ac74ee03466be Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Thu, 31 Oct 2019 17:50:50 -0400 Subject: [PATCH 057/391] pantheon.wingpanel-indicator-datetime: 2.1.3 -> 2.2.0 https://github.com/elementary/wingpanel-indicator-datetime/releases/tag/2.2.0 --- .../wingpanel-indicators/datetime/default.nix | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix index 4832c56ede4..91549342052 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix @@ -35,13 +35,13 @@ in stdenv.mkDerivation rec { pname = "wingpanel-indicator-datetime"; - version = "2.1.3"; + version = "2.2.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1y7a4xjwl3bpls56ys6g3s6mh5b3qbjm2vw7b6n2i4x7a63c4cbh"; + sha256 = "1whdx0vgm0qbbzsw8dg2liz3cbh3ad5ybkriy4lmx5ynyhpbz0sx"; }; passthru = { @@ -69,16 +69,6 @@ stdenv.mkDerivation rec { wingpanel ]; - patches = [ - # See: https://github.com/elementary/wingpanel-indicator-datetime/pull/117 - (fetchpatch { - url = "https://github.com/elementary/wingpanel-indicator-datetime/commit/4859e72a52d8dac5cad87b192fc912fb013b0ecd.patch"; - sha256 = "0jfhb5sax4sivdfx7il1rc1dvhy0yfv27qhvwbdy0hza9wf8q9k0"; - }) - ]; - - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel"; - postPatch = '' chmod +x meson/post_install.py patchShebangs meson/post_install.py From 8901fab9ffa5b4e6d75a739f3ba425be4ccf5131 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Thu, 31 Oct 2019 17:51:46 -0400 Subject: [PATCH 058/391] pantheon.switchboard-plug-security-privacy: 2.2.1 -> 2.2.2 https://github.com/elementary/switchboard-plug-security-privacy/releases/tag/2.2.2 --- .../security-privacy/default.nix | 6 ++---- .../security-privacy/hardcode-gsettings.patch | 15 ++++++--------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix index fd67440a43c..5c72af92397 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-security-privacy"; - version = "2.2.1"; + version = "2.2.2"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0k2bq7l0m7qfpy1mkb3qvsinqd8n4lp0vwz3x64wlgfn2qipm1fn"; + sha256 = "1dwq9rqswgnnglhrgcpvrp6shn3pb4x8f8f23x84sqakb430idp7"; }; passthru = { @@ -51,8 +51,6 @@ stdenv.mkDerivation rec { zeitgeist ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - patches = [ ./hardcode-gsettings.patch ]; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch index ffaf1ecf5db..24a104248f8 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch @@ -1,25 +1,22 @@ diff --git a/src/Views/FirewallPanel.vala b/src/Views/FirewallPanel.vala -index 994c4d1..5702de2 100644 +index 0335c29..481b1c8 100644 --- a/src/Views/FirewallPanel.vala +++ b/src/Views/FirewallPanel.vala -@@ -49,10 +49,13 @@ public class SecurityPrivacy.FirewallPanel : Granite.SimpleSettingsPage { +@@ -49,7 +49,11 @@ public class SecurityPrivacy.FirewallPanel : Granite.SimpleSettingsPage { } construct { - settings = new Settings ("io.elementary.switchboard.security-privacy"); + SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@SWITCHBOARD_SEC_PRIV_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); + SettingsSchema security_privacy_schema = sss.lookup ("io.elementary.switchboard.security-privacy", false); ++ + settings = new Settings.full (security_privacy_schema, null, null); + disabled_rules = new Gee.HashMap (); load_disabled_rules (); -- -+ - status_switch.notify["active"].connect (() => { - if (loading == false) { - view.sensitive = status_switch.active; + diff --git a/src/Views/LockPanel.vala b/src/Views/LockPanel.vala -index 081cf10..42f6118 100644 +index 4f523f9..7135a83 100644 --- a/src/Views/LockPanel.vala +++ b/src/Views/LockPanel.vala @@ -30,7 +30,10 @@ public class SecurityPrivacy.LockPanel : Granite.SimpleSettingsPage { @@ -32,5 +29,5 @@ index 081cf10..42f6118 100644 + + locker = new Settings.full (locker_schema, null, null); - var lock_suspend_label = new Gtk.Label (_("Lock on sleep:")); + var lock_suspend_label = new Gtk.Label (_("Lock on suspend:")); var lock_suspend_switch = new Gtk.Switch (); From c959de53bc77700b977d1294fdc3cf4518d887ac Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Thu, 31 Oct 2019 17:53:31 -0400 Subject: [PATCH 059/391] pantheon.gala: 2019-07-21 -> 2019-10-31 https://github.com/elementary/gala/compare/50694796d4c8f0ca92517d5a628b0efdf748279c...0f0724c97ad49f470f41c4a25c63103f51122997 --- pkgs/desktops/pantheon/desktop/gala/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/gala/default.nix b/pkgs/desktops/pantheon/desktop/gala/default.nix index b80e93279c8..4b75b3bff56 100644 --- a/pkgs/desktops/pantheon/desktop/gala/default.nix +++ b/pkgs/desktops/pantheon/desktop/gala/default.nix @@ -26,13 +26,13 @@ stdenv.mkDerivation rec { pname = "gala"; - version = "unstable-2019-07-21"; # Is tracking https://github.com/elementary/gala/commits/stable/juno + version = "unstable-2019-10-31"; # Is tracking https://github.com/elementary/gala/commits/stable/juno src = fetchFromGitHub { owner = "elementary"; repo = pname; - rev = "50694796d4c8f0ca92517d5a628b0efdf748279c"; - sha256 = "17d0hd2145mrf8y5ws3xypdbwj72qv7hrrp6p6lm4k16xd96yznr"; + rev = "0f0724c97ad49f470f41c4a25c63103f51122997"; + sha256 = "09cl3k2am878iiy76bijb0ykrcafh944kz027jgi1y5yk4bwfjc4"; }; passthru = { From cbe5ea3a829e80c0d9fdfa2d1ab282b6bbe76b7a Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Thu, 31 Oct 2019 17:53:48 -0400 Subject: [PATCH 060/391] pantheon.elementary-calendar: 2019-09-17 -> 2019-10-29 --- pkgs/desktops/pantheon/apps/elementary-calendar/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix index 72983c8479c..4e5f69fc9e6 100644 --- a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix @@ -25,15 +25,15 @@ stdenv.mkDerivation rec { pname = "elementary-calendar"; - version = "unstable-2019-09-17"; + version = "unstable-2019-10-29"; repoName = "calendar"; src = fetchFromGitHub { owner = "elementary"; repo = repoName; - rev = "46346e48b53e9d3d59d9f567b622532338f50f32"; # needed for libical 2.0 compat - sha256 = "04xzczcj5rbzqlhmf175d8p0wzw01s4658v5jllrp8nchmndb986"; + rev = "7d201fc5ea9e8dc25c46427397594fcab2016ed6"; # needed for libical 2.0 compat + sha256 = "11bqf3nxrj1sfd0qq5h0jsmimc6mwkd2g7q9ycizn9x5ak2gb8xi"; }; passthru = { From 88cf0bf27226570dd6813f74569d3eb801e613e0 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Thu, 31 Oct 2019 18:23:13 -0400 Subject: [PATCH 061/391] pantheon: proper aliases --- pkgs/desktops/pantheon/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 154dba5999f..9e5391243bd 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, gnome3 }: +{ config, pkgs, lib, gnome3 }: lib.makeScope pkgs.newScope (self: with self; { @@ -227,8 +227,10 @@ lib.makeScope pkgs.newScope (self: with self; { elementary-wallpapers = callPackage ./artwork/elementary-wallpapers { }; +} // lib.optionalAttrs (config.allowAliases or true) { + ### ALIASES - vala = pkgs.vala; # added 2019-10-10 + inherit (pkgs) vala; # added 2019-10-10 }) From 0bc0bb92c860fd8d903f1dc4ec1a691d5887dccf Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Thu, 31 Oct 2019 21:14:53 -0400 Subject: [PATCH 062/391] pantheon.elementary-icon-theme: 5.0.4 -> 5.1.0 https://github.com/elementary/icons/releases/tag/5.1.0 --- .../pantheon/artwork/elementary-icon-theme/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix index 7467bd124ac..1fba6a949d6 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { pname = "elementary-icon-theme"; - version = "5.0.4"; + version = "5.1.0"; repoName = "icons"; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "0ha7biqvmkv68x1gi9bfcn5z0ld067pa5czx0pyf053pa86lg3hx"; + sha256 = "1yrf92ysjh1yfm42wznlw0lh9zsm5whghwzx3b3wcdkwdhkdg24z"; }; passthru = { From 198fdd98fb1c226f7021a02146498f767520f315 Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Fri, 1 Nov 2019 12:46:59 +0800 Subject: [PATCH 063/391] linuxPackages.evdi: 1.6.2 -> 1.6.3 This works with kernel 5.3.x --- pkgs/os-specific/linux/evdi/default.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix index 2508fb851a8..72f3b1fbd9c 100644 --- a/pkgs/os-specific/linux/evdi/default.nix +++ b/pkgs/os-specific/linux/evdi/default.nix @@ -2,20 +2,23 @@ stdenv.mkDerivation rec { pname = "evdi"; - version = "1.6.2"; + version = "1.6.3"; src = fetchFromGitHub { owner = "DisplayLink"; repo = pname; rev = "v${version}"; - sha256 = "0ajjsh1fw7w0k28r6qq7kh3qcr87gzzjp8s890algbglynlafzfw"; + sha256 = "1gp8xbhd5pmcl95izhpvw9gxfcsbv5f80s6q39l4y3z9j734rb8j"; }; nativeBuildInputs = kernel.moduleBuildDependencies; buildInputs = [ kernel libdrm ]; - makeFlags = [ "KVER=${kernel.modDirVersion}" "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ]; + makeFlags = [ + "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + "KVER=${kernel.modDirVersion}" + ]; hardeningDisable = [ "format" "pic" "fortify" ]; @@ -26,9 +29,9 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Extensible Virtual Display Interface"; - platforms = platforms.linux; + homepage = "https://www.displaylink.com/"; license = with licenses; [ lgpl21 gpl2 ]; - homepage = https://www.displaylink.com/; - broken = versionOlder kernel.version "4.9" || versionAtLeast kernel.version "5.3" || stdenv.isAarch64; + platforms = platforms.linux; + broken = versionOlder kernel.version "4.9" || stdenv.isAarch64; }; } From d936b17d144ee2a479e5288e6f90bc8725fc33d1 Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Fri, 1 Nov 2019 12:48:13 +0800 Subject: [PATCH 064/391] nixos/displaylink: write out required xorg.conf fragment Invoke xrandr to actually connect the device. Additionally, we let systemd create the logs directory and use our module loader instead of handling it manually. --- nixos/modules/hardware/video/displaylink.nix | 22 ++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/nixos/modules/hardware/video/displaylink.nix b/nixos/modules/hardware/video/displaylink.nix index 669ac849cba..912f53da836 100644 --- a/nixos/modules/hardware/video/displaylink.nix +++ b/nixos/modules/hardware/video/displaylink.nix @@ -19,6 +19,21 @@ in config = mkIf enabled { boot.extraModulePackages = [ evdi ]; + boot.kernelModules = [ "evdi" ]; + + environment.etc."X11/xorg.conf.d/40-displaylink.conf".text = '' + Section "OutputClass" + Identifier "DisplayLink" + MatchDriver "evdi" + Driver "modesetting" + Option "AccelMethod" "none" + EndSection + ''; + + # make the device available + services.xserver.displayManager.sessionCommands = '' + ${lib.getBin pkgs.xorg.xrandr}/bin/xrandr --setprovideroutputsource 1 0 + ''; # Those are taken from displaylink-installer.sh and from Arch Linux AUR package. @@ -47,18 +62,13 @@ in description = "DisplayLink Manager Service"; after = [ "display-manager.service" ]; conflicts = [ "getty@tty7.service" ]; - path = [ pkgs.kmod ]; serviceConfig = { ExecStart = "${displaylink}/bin/DisplayLinkManager"; Restart = "always"; RestartSec = 5; + LogsDirectory = "displaylink"; }; - - preStart = '' - mkdir -p /var/log/displaylink - modprobe evdi - ''; }; }; From 582b92b9483428a0e40f276aff3da2d99bbe62c5 Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Fri, 1 Nov 2019 16:42:33 +0800 Subject: [PATCH 065/391] john: build with python3 --- pkgs/tools/security/john/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/john/default.nix b/pkgs/tools/security/john/default.nix index dd3a93be995..4107e9fcf14 100644 --- a/pkgs/tools/security/john/default.nix +++ b/pkgs/tools/security/john/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, openssl, nss, nspr, kerberos, gmp, zlib, libpcap, re2 -, gcc, pythonPackages, perl, perlPackages, makeWrapper +, gcc, python3Packages, perl, perlPackages, makeWrapper }: with stdenv.lib; @@ -33,8 +33,9 @@ stdenv.mkDerivation rec { ''; configureFlags = [ "--disable-native-macro" ]; - buildInputs = [ openssl nss nspr kerberos gmp zlib libpcap re2 gcc pythonPackages.wrapPython perl makeWrapper ]; - propagatedBuildInputs = (with pythonPackages; [ dpkt scapy lxml ]) ++ # For pcap2john.py + buildInputs = [ openssl nss nspr kerberos gmp zlib libpcap re2 ]; + nativeBuildInputs = [ gcc python3Packages.wrapPython perl makeWrapper ]; + propagatedBuildInputs = (with python3Packages; [ dpkt scapy lxml ]) ++ # For pcap2john.py (with perlPackages; [ DigestMD4 DigestSHA1 GetoptLong # For pass_gen.pl perlldap ]); # For sha-dump.pl # TODO: Get dependencies for radius2john.pl and lion2john-alt.pl From 1dcfd549f39643d090b114ecb0a9722f7bb0938c Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Fri, 1 Nov 2019 04:20:00 -0500 Subject: [PATCH 066/391] chezmoi: 1.5.5 -> 1.7.2 --- pkgs/tools/misc/chezmoi/default.nix | 24 +- pkgs/tools/misc/chezmoi/deps.nix | 507 ---------------------------- 2 files changed, 16 insertions(+), 515 deletions(-) delete mode 100644 pkgs/tools/misc/chezmoi/deps.nix diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix index b6fffddeb53..587bc2b9278 100644 --- a/pkgs/tools/misc/chezmoi/default.nix +++ b/pkgs/tools/misc/chezmoi/default.nix @@ -1,24 +1,32 @@ -{ stdenv, buildGoPackage, fetchFromGitHub }: +{ stdenv, buildGoModule, fetchFromGitHub, installShellFiles }: -buildGoPackage rec { +buildGoModule rec { pname = "chezmoi"; - version = "1.5.5"; - - goPackagePath = "github.com/twpayne/chezmoi"; + version = "1.7.2"; src = fetchFromGitHub { owner = "twpayne"; repo = "chezmoi"; rev = "v${version}"; - sha256 = "18kc3b2ncjzxivycx3mhqw9kbqp0sxmlgc2ddvhgj2vpvlkayzkh"; + sha256 = "06wgfnlzcs6yfrjpy6zhcg5y844zd22manbm2sfq5vyng02bg229"; }; - goDeps = ./deps.nix; + modSha256 = "1y1q1lps3a8piikh8ds28yrw5r82af9pyl6vy87207z1y5v2hams"; buildFlagsArray = [ - "-ldflags=-s -w -X ${goPackagePath}/cmd.VersionStr=${version}" + "-ldflags=-s -w -X github.com/twpayne/chezmoi/cmd.VersionStr=${version}" ]; + nativeBuildInputs = [ installShellFiles ]; + + postInstall = '' + installShellCompletion --bash completions/chezmoi-completion.bash + installShellCompletion --fish completions/chezmoi.fish + installShellCompletion --zsh completions/chezmoi.zsh + ''; + + subPackages = [ "." ]; + meta = with stdenv.lib; { homepage = https://github.com/twpayne/chezmoi; description = "Manage your dotfiles across multiple machines, securely"; diff --git a/pkgs/tools/misc/chezmoi/deps.nix b/pkgs/tools/misc/chezmoi/deps.nix deleted file mode 100644 index 6641a58931d..00000000000 --- a/pkgs/tools/misc/chezmoi/deps.nix +++ /dev/null @@ -1,507 +0,0 @@ -# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix) -[ - { - goPackagePath = "github.com/BurntSushi/toml"; - fetch = { - type = "git"; - url = "https://github.com/BurntSushi/toml"; - rev = "v0.3.1"; - sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6"; - }; - } - { - goPackagePath = "github.com/Masterminds/semver"; - fetch = { - type = "git"; - url = "https://github.com/Masterminds/semver"; - rev = "v1.4.2"; - sha256 = "0k2fpk2x8jbvqkqxx5hkx1ygrsppzmzypqb90i1r33yq7ac7zlxj"; - }; - } - { - goPackagePath = "github.com/Masterminds/sprig"; - fetch = { - type = "git"; - url = "https://github.com/Masterminds/sprig"; - rev = "v2.17.1"; - sha256 = "0iiwga57100r780k2d509fzx67x6l8z0wjl84pyzg5mpy6zp2y9y"; - }; - } - { - goPackagePath = "github.com/aokoli/goutils"; - fetch = { - type = "git"; - url = "https://github.com/aokoli/goutils"; - rev = "v1.1.0"; - sha256 = "180px47gj936qyk5bkv5mbbgiil9abdjq6kwkf7sq70vyi9mcfiq"; - }; - } - { - goPackagePath = "github.com/armon/consul-api"; - fetch = { - type = "git"; - url = "https://github.com/armon/consul-api"; - rev = "eb2c6b5be1b6"; - sha256 = "1j6fdr1sg36qy4n4xjl7brq739fpm5npq98cmvklzjc9qrx98nk9"; - }; - } - { - goPackagePath = "github.com/coreos/etcd"; - fetch = { - type = "git"; - url = "https://github.com/coreos/etcd"; - rev = "v3.3.10"; - sha256 = "1x2ii1hj8jraba8rbxz6dmc03y3sjxdnzipdvg6fywnlq1f3l3wl"; - }; - } - { - goPackagePath = "github.com/coreos/go-etcd"; - fetch = { - type = "git"; - url = "https://github.com/coreos/go-etcd"; - rev = "v2.0.0"; - sha256 = "1xb34hzaa1lkbq5vkzy9vcz6gqwj7hp6cdbvyack2bf28dwn33jj"; - }; - } - { - goPackagePath = "github.com/coreos/go-semver"; - fetch = { - type = "git"; - url = "https://github.com/coreos/go-semver"; - rev = "v0.2.0"; - sha256 = "1gghi5bnqj50hfxhqc1cxmynqmh2yk9ii7ab9gsm75y5cp94ymk0"; - }; - } - { - goPackagePath = "github.com/danieljoos/wincred"; - fetch = { - type = "git"; - url = "https://github.com/danieljoos/wincred"; - rev = "v1.0.1"; - sha256 = "1bb1928nnikx5036aw4152p55g8xgwx42rv0n2i5zydh1031f50m"; - }; - } - { - goPackagePath = "github.com/davecgh/go-spew"; - fetch = { - type = "git"; - url = "https://github.com/davecgh/go-spew"; - rev = "v1.1.1"; - sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y"; - }; - } - { - goPackagePath = "github.com/fsnotify/fsnotify"; - fetch = { - type = "git"; - url = "https://github.com/fsnotify/fsnotify"; - rev = "v1.4.7"; - sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g"; - }; - } - { - goPackagePath = "github.com/godbus/dbus"; - fetch = { - type = "git"; - url = "https://github.com/godbus/dbus"; - rev = "v4.1.0"; - sha256 = "1ckvg15zdsgmbn4mi36cazkb407ixc9mmyf7vwj8b8wi3d00rgn9"; - }; - } - { - goPackagePath = "github.com/golang/protobuf"; - fetch = { - type = "git"; - url = "https://github.com/golang/protobuf"; - rev = "v1.2.0"; - sha256 = "0kf4b59rcbb1cchfny2dm9jyznp8ri2hsb14n8iak1q8986xa0ab"; - }; - } - { - goPackagePath = "github.com/google/go-github"; - fetch = { - type = "git"; - url = "https://github.com/google/go-github"; - rev = "v25.0.1"; - sha256 = "1wggj64dm73zmav64qfgw8v3pkzxxmlaqrccvs5rf66j0wij9g20"; - }; - } - { - goPackagePath = "github.com/google/go-querystring"; - fetch = { - type = "git"; - url = "https://github.com/google/go-querystring"; - rev = "v1.0.0"; - sha256 = "0xl12bqyvmn4xcnf8p9ksj9rmnr7s40pvppsdmy8n9bzw1db0iwz"; - }; - } - { - goPackagePath = "github.com/google/renameio"; - fetch = { - type = "git"; - url = "https://github.com/google/renameio"; - rev = "v0.1.0"; - sha256 = "1ki2x5a9nrj17sn092d6n4zr29lfg5ydv4xz5cp58z6cw8ip43jx"; - }; - } - { - goPackagePath = "github.com/google/uuid"; - fetch = { - type = "git"; - url = "https://github.com/google/uuid"; - rev = "v1.1.0"; - sha256 = "0yx4kiafyshdshrmrqcf2say5mzsviz7r94a0y1l6xfbkkyvnc86"; - }; - } - { - goPackagePath = "github.com/hashicorp/hcl"; - fetch = { - type = "git"; - url = "https://github.com/hashicorp/hcl"; - rev = "v1.0.0"; - sha256 = "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66"; - }; - } - { - goPackagePath = "github.com/huandu/xstrings"; - fetch = { - type = "git"; - url = "https://github.com/huandu/xstrings"; - rev = "v1.2.0"; - sha256 = "0bn1kac5vcspxdpx4bygr4gngdbk67pnbqc04b0f7a4ny25n10iq"; - }; - } - { - goPackagePath = "github.com/imdario/mergo"; - fetch = { - type = "git"; - url = "https://github.com/imdario/mergo"; - rev = "v0.3.7"; - sha256 = "05ir0jj74w0yfi1lrhjd97v759in1dpsma64cgmbiqvyp6hfmmf8"; - }; - } - { - goPackagePath = "github.com/inconshreveable/mousetrap"; - fetch = { - type = "git"; - url = "https://github.com/inconshreveable/mousetrap"; - rev = "v1.0.0"; - sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152"; - }; - } - { - goPackagePath = "github.com/kr/pty"; - fetch = { - type = "git"; - url = "https://github.com/kr/pty"; - rev = "v1.1.1"; - sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6"; - }; - } - { - goPackagePath = "github.com/kr/text"; - fetch = { - type = "git"; - url = "https://github.com/kr/text"; - rev = "v0.1.0"; - sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1"; - }; - } - { - goPackagePath = "github.com/magiconair/properties"; - fetch = { - type = "git"; - url = "https://github.com/magiconair/properties"; - rev = "v1.8.0"; - sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn"; - }; - } - { - goPackagePath = "github.com/mattn/go-isatty"; - fetch = { - type = "git"; - url = "https://github.com/mattn/go-isatty"; - rev = "v0.0.7"; - sha256 = "1i77aq4gf9as03m8fpfh8fq49n4z9j7548blrcsidm1xhslzk5xd"; - }; - } - { - goPackagePath = "github.com/mitchellh/mapstructure"; - fetch = { - type = "git"; - url = "https://github.com/mitchellh/mapstructure"; - rev = "v1.1.2"; - sha256 = "03bpv28jz9zhn4947saqwi328ydj7f6g6pf1m2d4m5zdh5jlfkrr"; - }; - } - { - goPackagePath = "github.com/pelletier/go-toml"; - fetch = { - type = "git"; - url = "https://github.com/pelletier/go-toml"; - rev = "v1.2.0"; - sha256 = "1fjzpcjng60mc3a4b2ql5a00d5gah84wj740dabv9kq67mpg8fxy"; - }; - } - { - goPackagePath = "github.com/pmezard/go-difflib"; - fetch = { - type = "git"; - url = "https://github.com/pmezard/go-difflib"; - rev = "v1.0.0"; - sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"; - }; - } - { - goPackagePath = "github.com/russross/blackfriday"; - fetch = { - type = "git"; - url = "https://github.com/russross/blackfriday"; - rev = "v2.0.1"; - sha256 = "0nlz7isdd4rgnwzs68499hlwicxz34j2k2a0b8jy0y7ycd2bcr5j"; - }; - } - { - goPackagePath = "github.com/shurcooL/sanitized_anchor_name"; - fetch = { - type = "git"; - url = "https://github.com/shurcooL/sanitized_anchor_name"; - rev = "v1.0.0"; - sha256 = "1gv9p2nr46z80dnfjsklc6zxbgk96349sdsxjz05f3z6wb6m5l8f"; - }; - } - { - goPackagePath = "github.com/spf13/afero"; - fetch = { - type = "git"; - url = "https://github.com/spf13/afero"; - rev = "v1.2.2"; - sha256 = "0j9r65qgd58324m85lkl49vk9dgwd62g7dwvkfcm3k6i9dc555a9"; - }; - } - { - goPackagePath = "github.com/spf13/cast"; - fetch = { - type = "git"; - url = "https://github.com/spf13/cast"; - rev = "v1.3.0"; - sha256 = "0xq1ffqj8y8h7dcnm0m9lfrh0ga7pssnn2c1dnr09chqbpn4bdc5"; - }; - } - { - goPackagePath = "github.com/spf13/cobra"; - fetch = { - type = "git"; - url = "https://github.com/spf13/cobra"; - rev = "v0.0.3"; - sha256 = "1q1nsx05svyv9fv3fy6xv6gs9ffimkyzsfm49flvl3wnvf1ncrkd"; - }; - } - { - goPackagePath = "github.com/spf13/jwalterweatherman"; - fetch = { - type = "git"; - url = "https://github.com/spf13/jwalterweatherman"; - rev = "v1.0.0"; - sha256 = "093fmmvavv84pv4q84hav7ph3fmrq87bvspjj899q0qsx37yvdr8"; - }; - } - { - goPackagePath = "github.com/spf13/pflag"; - fetch = { - type = "git"; - url = "https://github.com/spf13/pflag"; - rev = "v1.0.3"; - sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd"; - }; - } - { - goPackagePath = "github.com/spf13/viper"; - fetch = { - type = "git"; - url = "https://github.com/spf13/viper"; - rev = "v1.3.1"; - sha256 = "1190mg04718r03qriav99sf4kx2n7wdgr8vdni15f74bpbzrdjrl"; - }; - } - { - goPackagePath = "github.com/stretchr/objx"; - fetch = { - type = "git"; - url = "https://github.com/stretchr/objx"; - rev = "v0.2.0"; - sha256 = "0pcdvakxgddaiwcdj73ra4da05a3q4cgwbpm2w75ycq4kzv8ij8k"; - }; - } - { - goPackagePath = "github.com/stretchr/testify"; - fetch = { - type = "git"; - url = "https://github.com/stretchr/testify"; - rev = "v1.3.0"; - sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy"; - }; - } - { - goPackagePath = "github.com/twpayne/go-difflib"; - fetch = { - type = "git"; - url = "https://github.com/twpayne/go-difflib"; - rev = "v1.3.0"; - sha256 = "01lidr7brrdv4xqx87n6c2ppyaj8rdf9lqj85qhbbalwy6z34fj8"; - }; - } - { - goPackagePath = "github.com/twpayne/go-shell"; - fetch = { - type = "git"; - url = "https://github.com/twpayne/go-shell"; - rev = "v0.0.1"; - sha256 = "0nbbfxdwqy14izbfbk8c8ia90l31wbhkcwd2r7v6jhz58iaxcvxk"; - }; - } - { - goPackagePath = "github.com/twpayne/go-vfs"; - fetch = { - type = "git"; - url = "https://github.com/twpayne/go-vfs"; - rev = "v1.0.6"; - sha256 = "0sqjng5qm4s7crq9s1f5y5niq4wss6dizip62zx37iyvws1yngjd"; - }; - } - { - goPackagePath = "github.com/twpayne/go-vfsafero"; - fetch = { - type = "git"; - url = "https://github.com/twpayne/go-vfsafero"; - rev = "v1.0.0"; - sha256 = "18jwxhlrjd06z8xzg9ij0irl4f79jfy5jpwiz6xqlhzb1fja19pw"; - }; - } - { - goPackagePath = "github.com/twpayne/go-xdg"; - fetch = { - type = "git"; - url = "https://github.com/twpayne/go-xdg"; - rev = "v3.1.0"; - sha256 = "0j8q7yzixs6jlaad0lpa8hs6b240gm2cmy0yxgnprrbpa0y2r7ln"; - }; - } - { - goPackagePath = "github.com/ugorji/go"; - fetch = { - type = "git"; - url = "https://github.com/ugorji/go"; - rev = "d75b2dcb6bc8"; - sha256 = "0di1k35gpq9bp958ywranpbskx2vdwlb38s22vl9rybm3wa5g3ps"; - }; - } - { - goPackagePath = "github.com/xordataexchange/crypt"; - fetch = { - type = "git"; - url = "https://github.com/xordataexchange/crypt"; - rev = "b2862e3d0a77"; - sha256 = "04q3856anpzl4gdfgmg7pbp9cx231nkz3ymq2xp27rnmmwhfxr8y"; - }; - } - { - goPackagePath = "github.com/zalando/go-keyring"; - fetch = { - type = "git"; - url = "https://github.com/zalando/go-keyring"; - rev = "6d81c293b3fb"; - sha256 = "1wah726fi08h6ga5wnwxd1zyxq7ckp3qliql44bxgliw2p35kkyb"; - }; - } - { - goPackagePath = "go.etcd.io/bbolt"; - fetch = { - type = "git"; - url = "https://github.com/etcd-io/bbolt"; - rev = "4af6cfab7010"; - sha256 = "1zgirl82lph606vw39wj4mvk8bkq2bakvnx49dpq7l5dsdhiydpv"; - }; - } - { - goPackagePath = "golang.org/x/crypto"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/crypto"; - rev = "c2843e01d9a2"; - sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r"; - }; - } - { - goPackagePath = "golang.org/x/net"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/net"; - rev = "d8887717615a"; - sha256 = "1wfm6ngxjyj7v5a2dqib6lw8bb2rdnf1kl48diykxjrsddn0s163"; - }; - } - { - goPackagePath = "golang.org/x/oauth2"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/oauth2"; - rev = "d2e6202438be"; - sha256 = "0wbn75fd10485nb93bm4kqldqifdim5xqy4v7r5sdvimvf3fyhn7"; - }; - } - { - goPackagePath = "golang.org/x/sync"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/sync"; - rev = "e225da77a7e6"; - sha256 = "0bh3583smcfw6jw3w6lp0za93rz7hpxfdz8vhxng75b7a6vdlw4p"; - }; - } - { - goPackagePath = "golang.org/x/sys"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/sys"; - rev = "10058d7d4faa"; - sha256 = "0y83433yjgsr7057h99g5ayljzlivx2bnkcp01xnzqz8lppv8fql"; - }; - } - { - goPackagePath = "golang.org/x/text"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/text"; - rev = "v0.3.0"; - sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19"; - }; - } - { - goPackagePath = "google.golang.org/appengine"; - fetch = { - type = "git"; - url = "https://github.com/golang/appengine"; - rev = "v1.1.0"; - sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x"; - }; - } - { - goPackagePath = "gopkg.in/check.v1"; - fetch = { - type = "git"; - url = "https://gopkg.in/check.v1"; - rev = "20d25e280405"; - sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np"; - }; - } - { - goPackagePath = "gopkg.in/yaml.v2"; - fetch = { - type = "git"; - url = "https://gopkg.in/yaml.v2"; - rev = "v2.2.2"; - sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa"; - }; - } -] From bfdbbeb452938691e78f404a7df26521c40179c3 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Fri, 1 Nov 2019 04:20:00 -0500 Subject: [PATCH 067/391] postgresqlPackages.timescaledb: 1.4.2 -> 1.5.0 Changelog: https://github.com/timescale/timescaledb/releases/tag/1.5.0 --- pkgs/servers/sql/postgresql/ext/timescaledb.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix index ef3dc4894d7..296e7e0a41a 100644 --- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix +++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { pname = "timescaledb"; - version = "1.4.2"; + version = "1.5.0"; nativeBuildInputs = [ cmake ]; buildInputs = [ postgresql openssl ]; @@ -17,10 +17,10 @@ stdenv.mkDerivation rec { owner = "timescale"; repo = "timescaledb"; rev = "refs/tags/${version}"; - sha256 = "06mchpfjh4kskxq5r8b84870gl37xcqdf14n96qjb4nbyw9l8xcc"; + sha256 = "0qw7yp2vh3fkx43zlnj8xsvd0d68rcmdcl3p9jpmr97hyl376xf2"; }; - cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" ]; + cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" "-DREGRESS_CHECKS=OFF" ]; # Fix the install phase which tries to install into the pgsql extension dir, # and cannot be manually overridden. This is rather fragile but works OK. From 0b65eaafe2d3b736328cae2c96885a00a907a629 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Fri, 1 Nov 2019 04:20:00 -0500 Subject: [PATCH 068/391] postgresqlPackages.pg_topn: 2.2.2 -> 2.3.0 --- pkgs/servers/sql/postgresql/ext/pg_topn.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/pg_topn.nix b/pkgs/servers/sql/postgresql/ext/pg_topn.nix index c368929db5d..b6300f78af2 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_topn.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_topn.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "pg_topn"; - version = "2.2.2"; + version = "2.3.0"; buildInputs = [ postgresql ]; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { owner = "citusdata"; repo = "postgresql-topn"; rev = "refs/tags/v${version}"; - sha256 = "1bh28nrxj06vc2cvlsxlwrwad5ff3lfj3kr5cnnggwjk2dhwbbjm"; + sha256 = "05mjzm7rz5j7byzag23526hhsqsg4dsyxxsg8q9ray1rwxjbr392"; }; installPhase = '' From 01e0ef28df82055d53c554452790c9896ec4c649 Mon Sep 17 00:00:00 2001 From: WilliButz Date: Fri, 1 Nov 2019 13:19:29 +0100 Subject: [PATCH 069/391] rubyPackages: remove global v8 pinning Removes global pinning of v8 to 3.16.14 and also removes the unreferenced package 'therubyracer'. --- pkgs/development/ruby-modules/gem-config/default.nix | 12 +----------- pkgs/development/ruby-modules/with-packages/Gemfile | 1 - pkgs/top-level/ruby-packages.nix | 11 ----------- 3 files changed, 1 insertion(+), 23 deletions(-) diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix index 157e15e375f..d8c3d484f43 100644 --- a/pkgs/development/ruby-modules/gem-config/default.nix +++ b/pkgs/development/ruby-modules/gem-config/default.nix @@ -18,7 +18,7 @@ # (to make gems behave if necessary). { lib, fetchurl, writeScript, ruby, kerberos, libxml2, libxslt, python, stdenv, which -, libiconv, postgresql, v8_3_16_14, clang, sqlite, zlib, imagemagick +, libiconv, postgresql, v8, clang, sqlite, zlib, imagemagick , pkgconfig , ncurses, xapian, gpgme, utillinux, tzdata, icu, libffi , cmake, libssh2, openssl, libmysqlclient, darwin, git, perl, pcre, gecode_3, curl , msgpack, qt59, libsodium, snappy, libossp_uuid, lxc, libpcap, xorg, gtk2, buildRubyGem @@ -29,8 +29,6 @@ }@args: let - v8 = v8_3_16_14; - rainbow_rake = buildRubyGem { pname = "rake"; gemName = "rake"; @@ -567,14 +565,6 @@ in buildInputs = [ freetds ]; }; - therubyracer = attrs: { - buildFlags = [ - "--with-v8-dir=${v8}" - "--with-v8-include=${v8}/include" - "--with-v8-lib=${v8}/lib" - ]; - }; - typhoeus = attrs: { buildInputs = [ curl ]; }; diff --git a/pkgs/development/ruby-modules/with-packages/Gemfile b/pkgs/development/ruby-modules/with-packages/Gemfile index 0cd04f07b94..3454ce3df74 100644 --- a/pkgs/development/ruby-modules/with-packages/Gemfile +++ b/pkgs/development/ruby-modules/with-packages/Gemfile @@ -144,7 +144,6 @@ source 'https://rubygems.org' do gem 'snappy' gem 'sqlite3' gem 'taglib-ruby' - gem 'therubyracer' gem 'thrift' gem 'tilt' gem 'tiny_tds' diff --git a/pkgs/top-level/ruby-packages.nix b/pkgs/top-level/ruby-packages.nix index ed2321887a7..c1abb67e256 100644 --- a/pkgs/top-level/ruby-packages.nix +++ b/pkgs/top-level/ruby-packages.nix @@ -2466,17 +2466,6 @@ }; version = "1.8.0"; }; - therubyracer = { - dependencies = ["libv8" "ref"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1g95bzs2axjglyjyj6xvsywqgr80bnzlkw7mddxx1fdrak5wni2q"; - type = "gem"; - }; - version = "0.12.3"; - }; thor = { groups = ["default"]; platforms = []; From a1066785fa63b8f4240695ad00f2380c457ebdb2 Mon Sep 17 00:00:00 2001 From: WilliButz Date: Fri, 1 Nov 2019 14:27:53 +0100 Subject: [PATCH 070/391] v8_3_14: limit platforms to x86-linux --- pkgs/development/libraries/v8/3.14.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/v8/3.14.nix b/pkgs/development/libraries/v8/3.14.nix index 3d36245631b..febadc2d6ac 100644 --- a/pkgs/development/libraries/v8/3.14.nix +++ b/pkgs/development/libraries/v8/3.14.nix @@ -80,7 +80,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "Google's open source JavaScript engine"; - platforms = platforms.linux; + platforms = [ "x86_64-linux" "i686-linux" ]; license = licenses.bsd3; }; } From e4c372445fb2fa688a4d9923d4b9fbfd8a1c322f Mon Sep 17 00:00:00 2001 From: WilliButz Date: Fri, 1 Nov 2019 14:28:03 +0100 Subject: [PATCH 071/391] v8_3_16_14: remove unreferenced and outdated package --- pkgs/development/libraries/v8/3.16.14.nix | 81 ----------------------- pkgs/top-level/aliases.nix | 3 +- pkgs/top-level/all-packages.nix | 6 -- 3 files changed, 2 insertions(+), 88 deletions(-) delete mode 100644 pkgs/development/libraries/v8/3.16.14.nix diff --git a/pkgs/development/libraries/v8/3.16.14.nix b/pkgs/development/libraries/v8/3.16.14.nix deleted file mode 100644 index e134c9ea60f..00000000000 --- a/pkgs/development/libraries/v8/3.16.14.nix +++ /dev/null @@ -1,81 +0,0 @@ -{ stdenv, lib, fetchurl, gyp, readline, python, which, icu, utillinux, cctools }: - -assert readline != null; - -let - arch = if stdenv.isAarch32 - then (if stdenv.is64bit then "arm64" else "arm") - else (if stdenv.is64bit then "x64" else "ia32"); - armHardFloat = stdenv.isAarch32 && (stdenv.hostPlatform.platform.gcc.float or null) == "hard"; -in - -stdenv.mkDerivation rec { - pname = "v8"; - version = "3.16.14.11"; - - src = fetchurl { - url = "https://commondatastorage.googleapis.com/chromium-browser-official/" - + "${pname}-${version}.tar.bz2"; - sha256 = "1gpf2xvhxfs5ll3m2jlslsx9jfjbmrbz55iq362plflrvf8mbxhj"; - }; - - postPatch = '' - sed -i 's/-Werror//' build/standalone.gypi build/common.gypi - ''; - - configurePhase = stdenv.lib.optionalString stdenv.isDarwin '' - export GYP_DEFINES="mac_deployment_target=$MACOSX_DEPLOYMENT_TARGET" - '' + '' - PYTHONPATH="tools/generate_shim_headers:$PYTHONPATH" \ - ${gyp}/bin/gyp \ - -f make \ - --generator-output="out" \ - -Dflock_index=0 \ - -Dv8_enable_i18n_support=1 \ - -Duse_system_icu=1 \ - -Dconsole=readline \ - -Dcomponent=shared_library \ - -Dv8_target_arch=${arch} \ - ${lib.optionalString armHardFloat "-Dv8_use_arm_eabi_hardfloat=true"} \ - --depth=. -Ibuild/standalone.gypi \ - build/all.gyp - '' + stdenv.lib.optionalString stdenv.isDarwin '' - sed -i 's@/usr/bin/env python@${python}/bin/python@g' out/gyp-mac-tool - ''; - - nativeBuildInputs = [ which ]; - buildInputs = [ readline python icu ] - ++ lib.optional stdenv.isLinux utillinux - ++ lib.optional stdenv.isDarwin cctools; - - NIX_CFLAGS_COMPILE = "-Wno-error -w"; - - buildFlags = [ - "-C out" - "builddir=$(CURDIR)/Release" - "BUILDTYPE=Release" - ]; - - enableParallelBuilding = true; - - installPhase = '' - install -vD out/Release/d8 "$out/bin/d8" - ${if stdenv.isDarwin then '' - install -vD out/Release/libv8.dylib "$out/lib/libv8.dylib" - '' else '' - install -vD out/Release/lib.target/libv8.so "$out/lib/libv8.so" - ''} - cp -vr include "$out/" - ''; - - postFixup = if stdenv.isDarwin then '' - install_name_tool -change /usr/local/lib/libv8.dylib $out/lib/libv8.dylib $out/bin/d8 - install_name_tool -id $out/lib/libv8.dylib $out/lib/libv8.dylib - '' else null; - - meta = with stdenv.lib; { - description = "V8 is Google's open source JavaScript engine"; - platforms = platforms.linux ++ platforms.darwin; - license = licenses.bsd3; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index d443f81d44b..bbb45be3b69 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -392,8 +392,9 @@ mapAliases ({ ultrastardx-beta = ultrastardx; # added 2017-08-12 usb_modeswitch = usb-modeswitch; # added 2016-05-10 usbguard-nox = usbguard; # added 2019-09-04 - valadoc = throw "deprecated 2019-10-10: valadoc was merged into vala 0.38"; v4l_utils = v4l-utils; # added 2019-08-07 + v8_3_16_14 = throw "removed 2019-11-01: no longer referenced by other packages"; + valadoc = throw "deprecated 2019-10-10: valadoc was merged into vala 0.38"; vimbWrapper = vimb; # added 2015-01 vimprobable2Wrapper = vimprobable2; # added 2015-01 virtviewer = virt-viewer; # added 2015-12-24 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3c4af7fab59..eeda0a57ee5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14162,12 +14162,6 @@ in stdenv = gcc5Stdenv; }; - v8_3_16_14 = callPackage ../development/libraries/v8/3.16.14.nix { - inherit (python2Packages) python gyp; - cctools = darwin.cctools; - stdenv = if stdenv.isDarwin then stdenv else gcc5Stdenv; - }; - v8_5_x = callPackage ../development/libraries/v8/5_x.nix ({ inherit (python2Packages) python gyp; icu = icu58; # v8-5.4.232 fails against icu4c-59.1 From a2be91ebe1718f7327ad8fd405675a97d1b66ca1 Mon Sep 17 00:00:00 2001 From: Alex Whitt Date: Thu, 8 Aug 2019 12:27:23 -0400 Subject: [PATCH 072/391] maintainers: add WhittlesJr --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 2509b3a5b0a..1c255c4dee4 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -7059,6 +7059,12 @@ email = "kirill.wedens@gmail.com"; name = "wedens"; }; + WhittlesJr = { + email = "alex.joseph.whitt@gmail.com"; + github = "WhittlesJr"; + githubId = 19174984; + name = "Alex Whitt"; + }; willibutz = { email = "willibutz@posteo.de"; github = "willibutz"; From 1f11ee1a289b134fc3998326b77a722b1e0adb63 Mon Sep 17 00:00:00 2001 From: Alex Whitt Date: Mon, 19 Aug 2019 18:07:47 -0400 Subject: [PATCH 073/391] python3Packages.poster3: init at 0.8.1 --- .../python-modules/poster3/default.nix | 36 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 pkgs/development/python-modules/poster3/default.nix diff --git a/pkgs/development/python-modules/poster3/default.nix b/pkgs/development/python-modules/poster3/default.nix new file mode 100644 index 00000000000..175faa343ca --- /dev/null +++ b/pkgs/development/python-modules/poster3/default.nix @@ -0,0 +1,36 @@ +{ lib +, buildPythonPackage +, fetchPypi +, isPy3k +, paste +, webob +, pyopenssl +}: + +buildPythonPackage rec { + pname = "poster3"; + version = "0.8.1"; + format = "wheel"; # only redistributable available + + disabled = !isPy3k; + + src = fetchPypi { + inherit pname version; + format = "wheel"; + python = "py3"; + sha256 = "1b27d7d63e3191e5d7238631fc828e4493590e94dcea034e386c079d853cce14"; + }; + + checkInputs = [ + paste + webob + pyopenssl + ]; + + meta = with lib; { + description = "Streaming HTTP uploads and multipart/form-data encoding"; + homepage = https://atlee.ca/software/poster/; + license = licenses.mit; + maintainers = with maintainers; [ WhittlesJr ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6b3e434074a..ac1567aacd5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1709,6 +1709,8 @@ in { proboscis = callPackage ../development/python-modules/proboscis {}; + poster3 = callPackage ../development/python-modules/poster3 { }; + py4j = callPackage ../development/python-modules/py4j { }; pyechonest = callPackage ../development/python-modules/pyechonest { }; From 8abfbb93ddd0d5b9c9fb61e61d4d398c2b2abe51 Mon Sep 17 00:00:00 2001 From: Alex Whitt Date: Mon, 19 Aug 2019 18:08:06 -0400 Subject: [PATCH 074/391] pythonPackages.easysnmp: init at 0.2.5 --- .../python-modules/easysnmp/default.nix | 56 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 5 ++ 2 files changed, 61 insertions(+) create mode 100644 pkgs/development/python-modules/easysnmp/default.nix diff --git a/pkgs/development/python-modules/easysnmp/default.nix b/pkgs/development/python-modules/easysnmp/default.nix new file mode 100644 index 00000000000..32659b520ba --- /dev/null +++ b/pkgs/development/python-modules/easysnmp/default.nix @@ -0,0 +1,56 @@ +{ stdenv +, lib +, buildPythonPackage +, pythonAtLeast +, fetchFromGitHub +, net_snmp +, openssl +, pytest +, pytestcov +, pytest-flake8 +, pytest-sugar +, termcolor +}: + +buildPythonPackage rec { + pname = "easysnmp"; + version = "0.2.5"; + + # See https://github.com/kamakazikamikaze/easysnmp/issues/108 + disabled = pythonAtLeast "3.7"; + + src = fetchFromGitHub { + owner = "kamakazikamikaze"; + repo = pname; + rev = version; + sha256 = "1si9iyxqj6z22jzn6m93lwpinsqn20lix2py3jm3g3fmwawkd735"; + }; + + checkInputs = [ + pytest + pytestcov + pytest-flake8 + pytest-sugar + termcolor + ]; + + buildInputs = [ + net_snmp + openssl + ]; + + buildPhase = '' + python setup.py build bdist_wheel --basedir=${net_snmp}/bin + ''; + + # Unable to get tests to pass, even running by hand. The pytest tests have + # become stale. + doCheck = false; + + meta = with lib; { + description = "A blazingly fast and Pythonic SNMP library based on the official Net-SNMP bindings"; + homepage = https://easysnmp.readthedocs.io/en/latest/; + license = licenses.bsd3; + maintainers = with maintainers; [ WhittlesJr ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ac1567aacd5..65590c0ff34 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1701,6 +1701,11 @@ in { dugong = callPackage ../development/python-modules/dugong {}; + easysnmp = callPackage ../development/python-modules/easysnmp { + openssl = pkgs.openssl; + net_snmp = pkgs.net_snmp; + }; + iowait = callPackage ../development/python-modules/iowait {}; responses = callPackage ../development/python-modules/responses {}; From daf3aefb14842062af057fe59189b072b4453984 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 1 Nov 2019 20:19:35 -0700 Subject: [PATCH 075/391] groonga: 9.0.8 -> 9.0.9 --- pkgs/servers/search/groonga/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/search/groonga/default.nix b/pkgs/servers/search/groonga/default.nix index 59affd09295..7fb7a774e8d 100644 --- a/pkgs/servers/search/groonga/default.nix +++ b/pkgs/servers/search/groonga/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { pname = "groonga"; - version = "9.0.8"; + version = "9.0.9"; src = fetchurl { url = "https://packages.groonga.org/source/groonga/${pname}-${version}.tar.gz"; - sha256 = "1fcagm0hzfl9jvn9afzhaahphvq3mc7d7s1s7hhinpv7bsr3xdl5"; + sha256 = "0axf07cg8j5lahkl41li9f7i3c6318cmlb40865iscmkjl17yxh9"; }; buildInputs = with stdenv.lib; From b31abd1df4ed717861f698d1c60c46267278fca9 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 1 Nov 2019 23:43:17 -0700 Subject: [PATCH 076/391] intel-media-sdk: 19.2.1 -> 19.3.0 --- pkgs/development/libraries/intel-media-sdk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/intel-media-sdk/default.nix b/pkgs/development/libraries/intel-media-sdk/default.nix index a411d06ab8f..731289d6f9c 100644 --- a/pkgs/development/libraries/intel-media-sdk/default.nix +++ b/pkgs/development/libraries/intel-media-sdk/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "intel-media-sdk"; - version = "19.2.1"; + version = "19.3.0"; src = fetchurl { url = "https://github.com/Intel-Media-SDK/MediaSDK/archive/intel-mediasdk-${version}.tar.gz"; - sha256 = "0w3r6lr2q3kch0vz9sxld1nz6iff129xr8wzg0p2j7mng41imh83"; + sha256 = "0pgg16a4gsh8yjyz64r28bmkg9xxcy8m0dkvrdz03svkll9v7v3n"; }; # patchelf is needed for binaries in $out/share/samples From fed908b3a5085023bae17d18985fabf89fa9985e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Sat, 2 Nov 2019 09:28:49 +0100 Subject: [PATCH 077/391] python3Packages.thinc: 7.2.0 -> 7.3.1 Largest changes: - Add Mish activation. - Add experimental support for the RAdam optimizer. - Add experimental support for lookahead to the optimizer. - Add experimental support for LARS to the optimizer. Changelog: https://github.com/explosion/thinc/releases/tag/v7.3.0 --- pkgs/development/python-modules/thinc/default.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/thinc/default.nix b/pkgs/development/python-modules/thinc/default.nix index a841001ca72..c8a6b5efe84 100644 --- a/pkgs/development/python-modules/thinc/default.nix +++ b/pkgs/development/python-modules/thinc/default.nix @@ -28,11 +28,11 @@ buildPythonPackage rec { pname = "thinc"; - version = "7.2.0"; + version = "7.3.1"; src = fetchPypi { inherit pname version; - sha256 = "808caccafab95aa74c21695248b26279792cd7d07d94fd97f181020f318f024a"; + sha256 = "1f9bg7iyhwnk8jfras8d4wzq0ypn5na0bdbwkl7y2mr06yrdd0ff"; }; buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ @@ -65,11 +65,6 @@ buildPythonPackage rec { pytest ]; - prePatch = '' - substituteInPlace setup.py \ - --replace "plac>=0.9.6,<1.0.0" "plac>=0.9.6" - ''; - # Cannot find cython modules. doCheck = false; From e82694c58ac87ea75ac03a490279111277e152ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Sat, 2 Nov 2019 09:31:16 +0100 Subject: [PATCH 078/391] python3Packages.srsly: 0.1.0 -> 0.2.0 Changelog: https://github.com/explosion/srsly/releases/tag/v0.2.0 --- pkgs/development/python-modules/srsly/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/srsly/default.nix b/pkgs/development/python-modules/srsly/default.nix index 17cd3e8c503..2b87c38b085 100644 --- a/pkgs/development/python-modules/srsly/default.nix +++ b/pkgs/development/python-modules/srsly/default.nix @@ -12,11 +12,11 @@ buildPythonPackage rec { pname = "srsly"; - version = "0.1.0"; + version = "0.2.0"; src = fetchPypi { inherit pname version; - sha256 = "1l9yjp1w2vrkrynxrlrc0v47i2iq9059k4ni44nz23573xbdrh2w"; + sha256 = "0gha1xfh64mapvgn0sghnjsvmjdrh5rywhs3j3bhkvwk42kf40ma"; }; propagatedBuildInputs = lib.optional (pythonOlder "3.4") pathlib; From bf552163f2b90fce814fae103ba0cb01fec4c341 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Sat, 2 Nov 2019 09:39:05 +0100 Subject: [PATCH 079/391] python3Packages.wasabi: 0.2.2 -> 0.3.0 Changelog: https://github.com/ines/wasabi/releases/tag/v0.3.0 --- pkgs/development/python-modules/wasabi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/wasabi/default.nix b/pkgs/development/python-modules/wasabi/default.nix index 01a9a4034d5..6cbb2aa48db 100644 --- a/pkgs/development/python-modules/wasabi/default.nix +++ b/pkgs/development/python-modules/wasabi/default.nix @@ -6,11 +6,11 @@ buildPythonPackage rec { pname = "wasabi"; - version = "0.2.2"; + version = "0.3.0"; src = fetchPypi { inherit pname version; - sha256 = "0xxjc9bvvcaz1qq1jyhcxyl2v39jz8d8dz4zhpfbc7dz53kq6b7r"; + sha256 = "0f18x27qrr29rgxyiy1k9b469i37n80h0x9vd9i22pyg8wxx67q5"; }; checkInputs = [ From d91debafde19354c7fdaea3e233ed18b8f758720 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Sat, 2 Nov 2019 09:35:42 +0100 Subject: [PATCH 080/391] python3Packages.spacy: 2.2.1 -> 2.2.2 Major changes: - Multiprocessing support in nlp.pipe. - Base language support for Luxembourgish. Changelog: https://github.com/explosion/spaCy/releases/tag/v2.2.2 --- pkgs/development/python-modules/spacy/default.nix | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/spacy/default.nix b/pkgs/development/python-modules/spacy/default.nix index 89e720482e7..23f2a6967da 100644 --- a/pkgs/development/python-modules/spacy/default.nix +++ b/pkgs/development/python-modules/spacy/default.nix @@ -26,19 +26,13 @@ buildPythonPackage rec { pname = "spacy"; - version = "2.2.1"; + version = "2.2.2"; src = fetchPypi { inherit pname version; - sha256 = "1a833dx8i4s106fk42x4dnayaq5p3qxaxnc012xij991i09v2pxn"; + sha256 = "193r7rrqxfj4jqzk4aqgbycficzmc606vkc4ffc46zs3myhlf6sa"; }; - prePatch = '' - substituteInPlace setup.cfg \ - --replace "plac<1.0.0,>=0.9.6" "plac>=0.9.6" \ - --replace "thinc>=7.1.1,<7.2.0" "thinc~=7.0" - ''; - propagatedBuildInputs = [ numpy murmurhash From 899fa1ef9360556bf1933ba26e533080a128a0a6 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 03:14:30 -0700 Subject: [PATCH 081/391] libpwquality: 1.4.1 -> 1.4.2 --- pkgs/development/libraries/libpwquality/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libpwquality/default.nix b/pkgs/development/libraries/libpwquality/default.nix index df3595adc01..b0d5513ca0f 100644 --- a/pkgs/development/libraries/libpwquality/default.nix +++ b/pkgs/development/libraries/libpwquality/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "libpwquality"; - version = "1.4.1"; + version = "1.4.2"; src = fetchFromGitHub { owner = "libpwquality"; repo = "libpwquality"; rev = "${pname}-${version}"; - sha256 = "150gk1d0gq9cig3ylyns7fgihgm3qb1basncahgyh1kzxplrdqm7"; + sha256 = "0n4pjhm7wfivk0wizggaxq4y4mcxic876wcarjabkp5z9k14y36h"; }; nativeBuildInputs = [ autoreconfHook perl ]; From eb4dd1794df04b5d33641f36205d5beea5e3fd32 Mon Sep 17 00:00:00 2001 From: Kolby Crouch Date: Sat, 2 Nov 2019 06:16:10 -0500 Subject: [PATCH 082/391] retroarch: update cores --- pkgs/misc/emulators/retroarch/cores.nix | 664 ++++++++++++++++++++---- pkgs/top-level/all-packages.nix | 38 +- 2 files changed, 602 insertions(+), 100 deletions(-) diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix index e55cefdd320..ced26333f4c 100644 --- a/pkgs/misc/emulators/retroarch/cores.nix +++ b/pkgs/misc/emulators/retroarch/cores.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchgit, fetchFromGitLab, cmake, pkgconfig, makeWrapper, python27, retroarch +{ stdenv, fetchgit, fetchFromGitHub, fetchFromGitLab, cmake, pkgconfig, makeWrapper, python27, python37, retroarch , alsaLib, fluidsynth, curl, hidapi, libGLU_combined, gettext, glib, gtk2, portaudio, SDL , ffmpeg, pcre, libevdev, libpng, libjpeg, udev, libvorbis -, miniupnpc, sfml, xorg, zlib }: +, miniupnpc, sfml, xorg, zlib, nasm, libpcap, boost }: let @@ -11,7 +11,7 @@ let stdenv.lib.makeOverridable stdenv.mkDerivation rec { name = "libretro-${core}-${version}"; - version = "2017-06-04"; + version = "2019-09-29"; inherit src; buildInputs = [ makeWrapper retroarch zlib ] ++ a.extraBuildInputs or []; @@ -38,7 +38,6 @@ let inherit description; homepage = https://www.libretro.com/; inherit license; - inherit broken; maintainers = with maintainers; [ edwtjo hrdinka MP2E ]; platforms = platforms.unix; }; @@ -59,12 +58,83 @@ in with stdenv.lib.licenses; core = "4do"; src = fetchRetro { repo = core + "-libretro"; - rev = "52d881743dd8614d96b4de8bd153cb725b87d474"; - sha256 = "1n42f70vni2zavppayaq8xmsyx5cn40qi4zk4pgq1w3hh2q8mj72"; + rev = "b6ad4bc8548f2f3792cd929ccf26d9078b73a1c0"; + sha256 = "0j2bd9cnnd5k99l9qr4wd5q9b4ciplia6ywp90xg6422s1im2iw0"; }; description = "Port of 4DO/libfreedo to libretro"; license = "Non-commercial"; }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + + atari800 = (mkLibRetroCore rec { + core = "atari800"; + src = fetchRetro { + repo = "libretro-" + core; + rev = "efc0bc71e3cb8a4f957d07fe808cc002ed9c13b9"; + sha256 = "150hmazi4p5p18gpjmkrn1k9j719cd9gy7jn0jiy3jbk2cxxsjn6"; + }; + description = "Port of Atari800 to libretro"; + license = gpl2; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + + beetle-snes = (mkLibRetroCore rec { + core = "mednafen-snes"; + src = fetchRetro { + repo = "beetle-bsnes-libretro"; + rev = "6aee84d454570bb17dff5975df28febdbcb72938"; + sha256 = "0nk9xlypg3jhpbwd9z5bjbgzlkz842hy9rq14k1nwn0qz6d88kld"; + }; + description = "Port of Mednafen's SNES core to libretro"; + license = gpl2; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + + beetle-gba = (mkLibRetroCore rec { + core = "mednafen-gba"; + src = fetchRetro { + repo = "beetle-gba-libretro"; + rev = "135afdbb9591655a3e016b75abba07e481f6d406"; + sha256 = "0fc0x24qn4y7pz3mp1mm1ain31aj9pznp1irr0k7hvazyklzy9g3"; + }; + description = "Port of Mednafen's GameBoy Advance core to libretro"; + license = gpl2; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + + beetle-lynx = (mkLibRetroCore rec { + core = "mednafen-lynx"; + src = fetchRetro { + repo = "beetle-lynx-libretro"; + rev = "928f7cf5b39f0363e55667572ff455e37489998e"; + sha256 = "0f03wzdr6f0fpy889i9a2834jg5lvcriyl98pajp75m7whm9r9cc"; + }; + description = "Port of Mednafen's Lynx core to libretro"; + license = gpl2; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + + beetle-ngp = (mkLibRetroCore rec { + core = "mednafen-ngp"; + src = fetchRetro { + repo = "beetle-ngp-libretro"; + rev = "6130e4057c3d8f9172f0c49bb9b6c61bd1a572d5"; + sha256 = "10k7spjrhggjgzb370bwv7fgk0nb6xri9ym6cm4qvnrkcwxm7i9p"; + }; + description = "Port of Mednafen's NeoGeo Pocket core to libretro"; + license = gpl2; + }).override { + makefile = "Makefile"; buildPhase = "make"; }; @@ -72,26 +142,42 @@ in with stdenv.lib.licenses; core = "mednafen-pce-fast"; src = fetchRetro { repo = "beetle-pce-fast-libretro"; - rev = "2954e645d668ee73d93803dc30da4462fc7a459b"; - sha256 = "0p0k7kqfd6xg1qh6vgzgwp122miprb2bpzljgxd9kvigxihsl6f7"; + rev = "7bbbdf111c1ce52ab4a97e911ebdaa6836ee881a"; + sha256 = "1p0kk5a2yi05yl0hspzv9q0n96yx9riaaacbmnq76li0i3ihkf6l"; }; description = "Port of Mednafen's PC Engine core to libretro"; license = gpl2; }); in der.override { + makefile = "Makefile"; buildPhase = "make"; name = "beetle-pce-fast-${der.version}"; }; + + beetle-pcfx = (mkLibRetroCore rec { + core = "mednafen-pcfx"; + src = fetchRetro { + repo = "beetle-pcfx-libretro"; + rev = "e04f695202a7295e4b6f2122ae947279ac9df007"; + sha256 = "0pdlz05pjqxp19da13dr3wd20hgxw8z5swhflyf7ksjgvz5rxb4r"; + }; + description = "Port of Mednafen's PCFX core to libretro"; + license = gpl2; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; beetle-psx = let der = (mkLibRetroCore { core = "mednafen-psx"; src = fetchRetro { repo = "beetle-psx-libretro"; - rev = "76862abefdde9097561e2b795e75b49247deff17"; - sha256 = "1k4b7g50ajzchjrm6d3v68hvri4k3hzvacn2l99i5yq3hxp7vs7x"; + rev = "f55db8655408104a6e20af667657423f08566c85"; + sha256 = "17iz8r2wy8zqh63j78ijwxasdnmg8dh9mmqn1qr4hvf4fj53ckk8"; }; description = "Port of Mednafen's PSX Engine core to libretro"; license = gpl2; }); in der.override { + makefile = "Makefile"; buildPhase = "make"; name = "beetle-psx-${der.version}"; }; @@ -100,27 +186,84 @@ in with stdenv.lib.licenses; core = "mednafen-saturn"; src = fetchRetro { repo = "beetle-saturn-libretro"; - rev = "3f1661b39ef249e105e6e2e655854ad0c87cd497"; - sha256 = "1d1brysynwr6inlwfgv7gwkl3i9mf4lsaxd9wm2szw86g4diyn4c"; + rev = "3313cc6760c14cffa9226e0cfd41debc11df8bdd"; + sha256 = "1z2zfn5cpsr3x6bvr562vqvmp4pjjhv5a6jcp09gfsy2gkyispr2"; }; description = "Port of Mednafen's Saturn core to libretro"; license = gpl2; }); in der.override { + makefile = "Makefile"; buildPhase = "make"; name = "beetle-saturn-${der.version}"; - meta.platforms = [ "x86_64-linux" ]; + meta.platforms = [ "x86_64-linux" "aarch64-linux" ]; + }; + + beetle-supergrafx = (mkLibRetroCore rec { + core = "mednafen-supergrafx"; + src = fetchRetro { + repo = "beetle-supergrafx-libretro"; + rev = "857e41146e3b0a51def3baea49d2eec80f18102b"; + sha256 = "0r3v4qy4rx4mnr7w4s779f6f2bjyp69m42blimacl1l9f6hmcv5h"; + }; + description = "Port of Mednafen's SuperGrafx core to libretro"; + license = gpl2; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + + beetle-wswan = (mkLibRetroCore rec { + core = "mednafen-wswan"; + src = fetchRetro { + repo = "beetle-wswan-libretro"; + rev = "925cb8c77af1678ceab24f04c2790cb95389def1"; + sha256 = "0kqsqn655z6nnr2s1xdbf37ds99gyhqfd7dx0wmx3sy1fshjg5wm"; + }; + description = "Port of Mednafen's WonderSwan core to libretro"; + license = gpl2; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + + beetle-vb = (mkLibRetroCore rec { + core = "mednafen-vb"; + src = fetchRetro { + repo = "beetle-vb-libretro"; + rev = "9066cdafa29ac054243a679baded49212661f47b"; + sha256 = "0gsniz5kk4xdiprcfyqjcss2vkrphi48wbr29gqvpf7l8gpnwx8p"; + }; + description = "Port of Mednafen's VirtualBoy core to libretro"; + license = gpl2; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + + bluemsx = (mkLibRetroCore rec { + core = "bluemsx"; + src = fetchRetro { + repo = core + "-libretro"; + rev = "ddd89ff1fa534816e48521bd930b721f2d39975a"; + sha256 = "0hiqhc1ckj3ydy0q1v8hwjkkyh2564f7wlqypmshjcc47n296xyf"; + }; + description = "Port of BlueMSX to libretro"; + license = gpl2; + }).override { + buildPhase = "make"; }; bsnes-mercury = let bname = "bsnes-mercury"; in (mkLibRetroCore { core = bname + "-accuracy"; src = fetchRetro { repo = bname; - rev = "e89c9a2e0a12d588366ee4f5c76b7d75139d938b"; - sha256 = "0vkn1f38vwazpp3kbvvv8c467ghak6yfx00s48wkxwvhmak74a3s"; + rev = "4a382621da58ae6da850f1bb003ace8b5f67968c"; + sha256 = "0z8psz24nx8497vpk2wya9vs451rzzw915lkw3qiq9bzlzg9r2wv"; }; description = "Fork of bsnes with HLE DSP emulation restored"; license = gpl3; }).override { + makefile = "Makefile"; buildPhase = "make && cd out"; }; @@ -128,55 +271,88 @@ in with stdenv.lib.licenses; core = "desmume"; src = fetchRetro { repo = core; - rev = "ce1f93abb4c3aa55099f56298e5438a03a3c2bbd"; - sha256 = "064gzfbr7yizmvi91ry5y6bzikj633kdqhvzycb9f1g6kspf8yyl"; + rev = "e8cf461f83eebb195f09e70090f57b07d1bcdd9f"; + sha256 = "0rc8s5226wn39jqs5yxi30jc1snc0p106sfym7kgi98hy5na8yab"; }; description = "libretro wrapper for desmume NDS emulator"; license = gpl2; + extraBuildInputs = [ libpcap libGLU_combined xorg.libX11 ]; }).override { + makefile = "desmume/src/frontend/libretro/Makefile.libretro"; + configurePhase = "cd desmume/src/frontend/libretro"; + buildPhase = "make"; + }; + + desmume2015 = (mkLibRetroCore rec { + core = "desmume2015"; + src = fetchRetro { + repo = core; + rev = "c27bb71aa28250f6da1576e069b4b8cc61986beb"; + sha256 = "1m7g1wwpnnprmki3rixknggjmxbp7d4hwxgkqr041shmrm0rhafd"; + }; + description = "libretro wrapper for desmume NDS emulator from 2015"; + license = gpl2; + extraBuildInputs = [ libpcap libGLU_combined xorg.libX11 ]; + }).override { + makefile = "desmume/Makefile.libretro"; configurePhase = "cd desmume"; + buildPhase = "make"; }; dolphin = (mkLibRetroCore { core = "dolphin"; src = fetchRetro { repo = "dolphin"; - rev = "a6ad451fdd4ac8753fd1a8e2234ec34674677754"; - sha256 = "1cshlfmhph8dl3vgvn37imvp2b7xs2cx1r1ifp5js5psvhycrbz3"; + rev = "11a7ed402c7178da1d9d57c6e5e5a05a4dc6a2c8"; + sha256 = "11jrcczkbyns01rvxb5rd22fbkbfn2h81f6pfxbhi13fl4ljim9x"; }; description = "Port of Dolphin to libretro"; license = gpl2Plus; broken = true; extraBuildInputs = [ - cmake curl libGLU_combined pcre pkgconfig sfml miniupnpc - gettext glib gtk2 hidapi + cmake curl libGLU_combined pcre pkgconfig sfml + gettext hidapi libevdev udev - ] ++ (with xorg; [ libSM libX11 libXi libpthreadstubs libxcb xcbutil libXinerama libXxf86vm ]); + ] ++ (with xorg; [ libSM libX11 libXi libpthreadstubs libxcb xcbutil libXext libXrandr libXinerama libXxf86vm ]); }).override { cmakeFlags = [ - "-DLINUX_LOCAL_DEV=true" - "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include" - "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include" - "-DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0" + "-DCMAKE_BUILD_TYPE=Release" + "-DLIBRETRO=ON" + "-DLIBRETRO_STATIC=1" + "-DENABLE_QT=OFF" + "-DENABLE_LTO=OFF" + "-DUSE_UPNP=OFF" + "-DUSE_DISCORD_PRESENCE=OFF" ]; dontUseCmakeBuildDir = "yes"; - buildPhase = '' - cd Source/Core/DolphinLibretro - make - ''; + buildPhase = "make"; + }; + + dosbox = (mkLibRetroCore rec { + core = "dosbox"; + src = fetchRetro { + repo = core + "-libretro"; + rev = "e4ed503b14ed59d5d745396ef1cc7d52cf912328"; + sha256 = "13bx0ln9hwn6hy4sv0ivqmjgjbfq8svx15dsa24hwd8lkf0kakl4"; + }; + description = "Port of DOSBox to libretro"; + license = gpl2; + }).override { + buildPhase = "make"; }; fba = (mkLibRetroCore rec { core = "fba"; src = fetchRetro { repo = core + "-libretro"; - rev = "9146c18ac989c619256d1cb8954d49e728e44ea3"; - sha256 = "159dww8mxi95xz4ypw38vsn1g4k6z8sv415qqf0qriydwhw6mh2m"; + rev = "89245384c7d181e286d6f34995253419f946becb"; + sha256 = "1pg351qhbq5x8qmaq6c30v8ynic8jv3gbxy2kq5iknka80g1lkck"; }; description = "Port of Final Burn Alpha to libretro"; license = "Non-commercial"; }).override { + makefile = "svn-current/trunk/makefile.libretro"; buildPhase = '' cd svn-current/trunk \ && make -f makefile.libretro \ @@ -188,19 +364,34 @@ in with stdenv.lib.licenses; core = "fceumm"; src = fetchRetro { repo = "libretro-" + core; - rev = "45f773a1c221121746bbe2680e3aaaf92776a87e"; - sha256 = "0jnwh1338q710x47bzrx319g5xbq9ipv35kyjlbkrzhqjq1blz0b"; + rev = "0e315e0ca0093ebda06a97835cec6ad4af81db7a"; + sha256 = "12bvvxmvafjvrvwxl5gzr583g48s0isx2fgvjgkrx175vk2amaf4"; }; description = "FCEUmm libretro port"; license = gpl2; }; + flycast = (mkLibRetroCore rec { + core = "flycast"; + src = fetchRetro { + repo = core; + rev = "45a15205dfc05cfc4df2488cad7c2b4988c5aa0f"; + sha256 = "18glxd57kddq6p2bwq0qknyq6bv8dxklqks4w2jy2yccvwxdxy2i"; + }; + description = "Flycast libretro port"; + license = gpl2; + extraBuildInputs = [ libGLU_combined ]; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + gambatte = mkLibRetroCore rec { core = "gambatte"; src = fetchRetro { repo = core + "-libretro"; - rev = "db7af6cf6ea39fd5e39eea137ff752649599a4e4"; - sha256 = "0h7hyj630nk1s32wx02y4q9x2lp6wbnh6nkc9ihf4pygcsignmwr"; + rev = "4d9ad7b29946ec0a914b2d6a735b6c2704ed1f23"; + sha256 = "156pvvlch5izbgbw4ddxhiwgzpp52irr3nqaz813i5f02fiq5wya"; }; description = "Gambatte libretro port"; license = gpl2; @@ -210,13 +401,56 @@ in with stdenv.lib.licenses; core = "genesis-plus-gx"; src = fetchRetro { repo = "Genesis-Plus-GX"; - rev = "365a28c7349b691e6aaa3ad59b055261c42bd130"; - sha256 = "0s11ddpnb44q4xjkl7dylldhi9y5zqywqavpk0bbwyj84r1cbz3c"; + rev = "0e4357bd64533d7fd93b5f01620b92595025fab5"; + sha256 = "1nryy00844h3ra97j40g38lj7036ibm2l8002qid7r5r9kggclqx"; }; description = "Enhanced Genesis Plus libretro port"; license = "Non-commercial"; }; + gpsp = (mkLibRetroCore rec { + core = "gpsp"; + src = fetchRetro { + repo = core; + rev = "24af89596e6484ff5a7a08efecfa8288cfbc02f3"; + sha256 = "1jc5i70cab5f23yc9sfv8iyvmwmc4sb33f413il2vlhsfdxklyk7"; + }; + description = "Port of gpSP to libretro"; + license = gpl2; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + + handy = (mkLibRetroCore rec { + core = "handy"; + src = fetchRetro { + repo = "libretro-" + core; + rev = "6b19a4fad1b394f6a1351c88f60991d4878ff05b"; + sha256 = "0lhkrwh3rirdidxb8kfcg8wk9gjsc7g6qpkv74h6f09rb4y75w1y"; + }; + description = "Port of Handy to libretro"; + license = "Handy-License"; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + + hatari = (mkLibRetroCore rec { + core = "hatari"; + src = fetchRetro { + repo = core; + rev = "ec1b59c4b6c7ca7d0d23d60cfe2cb61911b11173"; + sha256 = "1pm821s2cz93xr7qx7dv0imr44bi4pvdvlnjl486p83vff9yawfg"; + }; + description = "Port of Hatari to libretro"; + license = gpl2; + extraBuildInputs = [ cmake SDL ]; + }).override { + makefile = "Makefile.libretro"; + buildPhase = "make"; + }; + higan-sfc = (mkLibRetroCore { core = "higan-sfc"; src = fetchFromGitLab { @@ -227,6 +461,8 @@ in with stdenv.lib.licenses; }; description = "Accurate SNES / Super Famicom emulator"; license = gpl3; + broken = true; + }).override { makefile = "GNUmakefile"; buildPhase = "cd higan && make compiler=g++ target=libretro binary=library && cd out"; @@ -236,8 +472,8 @@ in with stdenv.lib.licenses; core = "mame"; src = fetchRetro { repo = "mame"; - rev = "9f9e6b6c9bde4d50c72e9a5c80496a1fec6b8aa9"; - sha256 = "0lfj8bjchkcvyb5x0x29cg10fkfklxndk80947k4qfysclijxpkv"; + rev = "f4aac49f3d56fbd653628ac456c23ac9a6b857ae"; + sha256 = "1pjpnwdj73319hgcjhganzrcz2zn4fnjydah989haqh3id5j3zam"; }; description = "Port of MAME to libretro"; license = gpl2Plus; @@ -249,68 +485,205 @@ in with stdenv.lib.licenses; # make -C 3rdparty/genie/build/gmake.linux -f genie.make obj/Release/src/host/lua-5.3.0/src/lgc.o mkdir -p 3rdparty/genie/build/gmake.linux/obj/Release/src/host/lua-5.3.0/src ''; + buildPhase = "make -f Makefile.libretro"; + }; + + mame2000 = (mkLibRetroCore rec { + core = "mame2000"; + src = fetchRetro { + repo = core + "-libretro"; + rev = "0a8a174f5e755cdd476895207003c5d07cfa6af2"; + sha256 = "03k0cfgd4wfl31dv5xb6xjd4h7sh0k0qw6wbspwi0lgswmhz97bb"; + }; + description = "Port of MAME ~2000 to libretro"; + license = gpl2Plus; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + + mame2003 = (mkLibRetroCore rec { + core = "mame2003"; + src = fetchRetro { + repo = core + "-libretro"; + rev = "170d5b6490953d40edc39defe69945d005f8ec03"; + sha256 = "0slsf59sn5lijr1mrx5ffc9z81ra1wcw7810mb52djqyvm15r9zl"; + }; + description = "Port of MAME ~2003 to libretro"; + license = gpl2Plus; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + + mame2003-plus = (mkLibRetroCore rec { + core = "mame2003-plus"; + src = fetchRetro { + repo = core + "-libretro"; + rev = "d9a56a3af908ae9100b4c9feebff4b918363f241"; + sha256 = "1c16chfs4b2j1x1bmrklh8ssqki850k787qwq7b95dyxksj2bpx1"; + }; + description = "Port of MAME ~2003+ to libretro"; + license = gpl2Plus; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + + mame2010 = (mkLibRetroCore rec { + core = "mame2010"; + src = fetchRetro { + repo = core + "-libretro"; + rev = "4ced2c31f1100eefc7f4483b474b8a680a3b3f2b"; + sha256 = "1a8ijj0sixr6xrqfgimna0ipfj2bb2kvj4mb45hb8a18mwn6y0mc"; + }; + description = "Port of MAME ~2010 to libretro"; + license = gpl2Plus; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + + mame2015 = (mkLibRetroCore rec { + core = "mame2015"; + src = fetchRetro { + repo = core + "-libretro"; + rev = "e3a28398f54cd6b2c24b7165d215b046b79c10f5"; + sha256 = "1fgwi37zgp2s92bkz03gch3ivgyjgdi3xycrd8z7x87gi20a79x9"; + }; + description = "Port of MAME ~2015 to libretro"; + license = gpl2Plus; + extraBuildInputs = [ python27 alsaLib ]; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + + mame2016 = (mkLibRetroCore rec { + core = "mame2016"; + src = fetchRetro { + repo = core + "-libretro"; + rev = "ea4c1ffa75eb3fb0096158b71706b8b84d86d12c"; + sha256 = "1qyvdymmjv5q0k3najgfdxzf1yr6bnysnsl19v753yj29xs4hwzp"; + }; + description = "Port of MAME ~2016 to libretro"; + license = gpl2Plus; + extraBuildInputs = [ python27 alsaLib ]; + }).override { + postPatch = '' + # Prevent the failure during the parallel building of: + # make -C 3rdparty/genie/build/gmake.linux -f genie.make obj/Release/src/host/lua-5.3.0/src/lgc.o + mkdir -p 3rdparty/genie/build/gmake.linux/obj/Release/src/host/lua-5.3.0/src + ''; + buildPhase = "make -f Makefile.libretro"; + }; + + mesen = (mkLibRetroCore rec { + core = "mesen"; + src = fetchFromGitHub { + owner = "SourMesen"; + repo = core; + rev = "942633dd3dbb73cc3abd748f6d5440c78abbea09"; + sha256 = "0a95wd64vnblksacapxwxla9j2iw8a5hbdm111cldrni12q87iq2"; + }; + description = "Port of Mesen to libretro"; + license = gpl3; + }).override { + makefile = "Libretro/Makefile"; + buildPhase = "cd Libretro && make"; }; mgba = mkLibRetroCore rec { core = "mgba"; src = fetchRetro { repo = core; - rev = "fdaaaee661e59f28c94c7cfa4e82e70b71e24a9d"; - sha256 = "1b30sa861r4bhbqkx6vkklh4iy625bpzki2ks4ivvjns1ijczvc7"; + rev = "4865aaabc2a46c635f218f7b51f8fc5cc2c4c8ac"; + sha256 = "1mdzwcsl5bafmgqfh0a1bgfgilisffxsygcby0igsq2bgkal47mm"; }; description = "Port of mGBA to libretro"; license = mpl20; }; mupen64plus = (mkLibRetroCore rec { - core = "mupen64plus"; + core = "mupen64plus-next"; src = fetchRetro { - repo = core + "-libretro"; - rev = "407bcd40b3a42bff6b856a6d6f88a7d5d670bf9e"; - sha256 = "0q5kvjz7rpk7mp75cdywqjgmy10c0h7ky26hh1x90d39y94idcd8"; + repo = "mupen64plus-libretro-nx"; # + "-libretro-nx"; + rev = "f77c16f9f1dd911fd2254becc8a28adcdafe8aa1"; + sha256 = "0j6vrkwch9lwmlhyz7fp1ha0bby54gvbwk91hwbv35f6dvs0aw0d"; }; description = "Libretro port of Mupen64 Plus, GL only"; license = gpl2; - extraBuildInputs = [ libGLU_combined libpng ]; + extraBuildInputs = [ libGLU_combined libpng nasm xorg.libX11 ]; }).override { - buildPhase = "make WITH_DYNAREC=${if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64" else "x86"}"; + makefile = "Makefile"; + buildPhase = "make"; }; nestopia = (mkLibRetroCore rec { core = "nestopia"; src = fetchRetro { repo = core; - rev = "ecfa170a582e5b8ec11225ca645843fa064955ca"; - sha256 = "17ac7dhasch6f4lpill8c5scsvaix0jvbf1cp797qbll4hk84f2q"; + rev = "7f48c211c281880d122981da119a4455a9bebbde"; + sha256 = "05p3a559633dzw222rs1fh48v657mdyirl1qfqzkhqiar9rxf31g"; }; description = "nestopia undead libretro port"; license = gpl2; }).override { + makefile = "libretro/Makefile"; buildPhase = "cd libretro && make"; }; - + + o2em = (mkLibRetroCore rec { + core = "o2em"; + src = fetchRetro { + repo = "libretro-" + core; + rev = "d6731b9b2592654ce4f1b64c1b1da17b32e7c94c"; + sha256 = "0809qw16y7ablxfayf0lbzvq7wqdmjp0afdb0vcgv193vvhhp58q"; + }; + description = "Port of O2EM to libretro"; + license = artistic1; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + parallel-n64 = (mkLibRetroCore rec { core = "parallel-n64"; src = fetchRetro { repo = core; - rev = "3276db27547bf7ca85896427f0b82d4658694d88"; - sha256 = "19396v50azrb52ifjk298zgcbxn8dvfvp6zwrnzsk6mp8ff7qcqw"; + rev = "30f4fd3c2456145763eb76aead7485a1b86ba6bd"; + sha256 = "0kbyzmscmfi6f842clzaff4k6xcb5410fwhv8n6vv42xk6ljfvgh"; }; description = "Parallel Mupen64plus rewrite for libretro."; license = gpl2; extraBuildInputs = [ libGLU_combined libpng ]; }).override { - buildPhase = "make WITH_DYNAREC=${if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64" else "x86"}"; + makefile = "Makefile"; + buildPhase = "make"; }; + pcsx_rearmed = (mkLibRetroCore rec { + core = "pcsx_rearmed"; + src = fetchRetro { + repo = core; + rev = "eb6943ee04b0f30a6f1cebfe399a94bacd1dfb45"; + sha256 = "0xikdirvjal4mdr5y9dl9gcxhdilqzq43f909b0z8vc069vj1wjz"; + }; + description = "Port of PCSX ReARMed to libretro"; + license = gpl2; + }).override { + configurePhase = "rm configure"; + buildPhase = "make -f Makefile.libretro"; + }; + picodrive = (mkLibRetroCore rec { core = "picodrive"; src = fetchRetro { repo = core; - rev = "cbc93b68dca1d72882d07b54bbe1ef25b980558a"; - sha256 = "0fl9r6jj2x9231md5zc4scra79j5hfn1n2z67scff1375xg1k64h"; + rev = "28dcfd6f43434e6828ee647223a0576bfe858c24"; + sha256 = "19a1b6q8fhf7wxzyf690va1ixzlxlzyslv1zxm0ll5pfsqf2y3gx"; }; description = "Fast MegaDrive/MegaCD/32X emulator"; license = "MAME"; @@ -321,18 +694,38 @@ in with stdenv.lib.licenses; configurePhase = "./configure"; }; + play = (mkLibRetroCore rec { + core = "play"; + src = fetchRetro { + repo = "play-"; + rev = "fedc1e1c2918a7490a881cdb4ec951a828c19671"; + sha256 = "0hwxx7h61gd29a2gagwjbvxk2hgwdk1wxg4nx90zrizb8nczwnl6"; + }; + description = "Port of Play! to libretro"; + license = bsd2; + extraBuildInputs = [ cmake boost ]; + }).override { + cmakeFlags = [ "-DBUILD_PLAY=OFF -DBUILD_LIBRETRO_CORE=ON" ]; + buildPhase = "make"; + }; + ppsspp = (mkLibRetroCore rec { core = "ppsspp"; - src = fetchRetro { - repo = "libretro-" + core; - rev = "5f7bcf7bfc15f83d405bcecd7a163a55ad1e7573"; - sha256 = "06k1gzmypz61dslynrw4b5i161rhj43y6wnr2nhbzvwcv5bw8w8r"; + src = fetchgit { + url = "https://github.com/hrydgard/ppsspp"; + rev = "bf1777f7d3702e6a0f71c7ec1fc51976e23c2327"; + sha256 = "17sym0vk72lzbh9a1501mhw98c78x1gq7k1fpy69nvvb119j37wa"; }; description = "ppsspp libretro port"; license = gpl2; - extraBuildInputs = [ libGLU_combined ffmpeg ]; + extraBuildInputs = [ cmake libGLU_combined ffmpeg python37 xorg.libX11 ]; }).override { - buildPhase = "cd libretro && make"; + cmakeFlags = "-DLIBRETRO=ON"; + makefile = "Makefile"; + buildPhase = '' + make \ + && mv lib/ppsspp_libretro${stdenv.hostPlatform.extensions.sharedLibrary} ppsspp_libretro${stdenv.hostPlatform.extensions.sharedLibrary} + ''; }; prboom = (mkLibRetroCore rec { @@ -348,30 +741,31 @@ in with stdenv.lib.licenses; buildPhase = "make"; }; - quicknes = (mkLibRetroCore { + prosystem = (mkLibRetroCore rec { + core = "prosystem"; + src = fetchRetro { + repo = core + "-libretro"; + rev = "cb4aa3ee72f98b0891a7bac5c9dac458cdba4d34"; + sha256 = "0yvzmks9zz1hf7mv6cd2qin1p3yx00dbrcxlm0yysy5q5jiigblg"; + }; + description = "Port of ProSystem to libretro"; + license = gpl2; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + + quicknes = (mkLibRetroCore rec { core = "quicknes"; src = fetchRetro { repo = "QuickNES_Core"; - rev = "8613b48cee97f1472145bbafa76e543854b2bbd5"; - sha256 = "18lizdb9zjlfhh8ibvmcscldlf3mw4aj8nds3pah68cd2lw170w1"; + rev = "cd302d998d102c9461a924b81817e48b9ea1518f"; + sha256 = "1sczs1jqcbhpkb5xpcqqdcnxlz7bqmanm4gdnnc12c19snl7999b"; }; description = "QuickNES libretro port"; license = lgpl21Plus; }).override { - buildPhase = "make"; - }; - - reicast = (mkLibRetroCore rec { - core = "reicast"; - src = fetchRetro { - repo = core + "-emulator"; - rev = "40d4e8af2dd67a3f317c14224873c8ec0e1f9d11"; - sha256 = "0d8wzpv7pcyh437gmvi439vim26wyrjmi5hj97wvyvggywjwrx8m"; - }; - description = "Reicast libretro port"; - license = gpl2; - extraBuildInputs = [ libGLU_combined ]; - }).override { + makefile = "Makefile"; buildPhase = "make"; }; @@ -379,13 +773,14 @@ in with stdenv.lib.licenses; core = "scummvm"; src = fetchRetro { repo = core; - rev = "de8d7e58caa23f071ce9d1bc5133f45d16c3ff1c"; - sha256 = "097i2dq3hw14hicsplrs36j1qa3r45vhzny5v4aw6qw4aj34hksy"; + rev = "e07a6ede61c364fb87630fa7507a4f8482d882e0"; + sha256 = "0i88z53q28lwzmadxincab4m66qbzcbmasgildybj8db0z2z8jm0"; }; description = "Libretro port of ScummVM"; license = gpl2; extraBuildInputs = [ fluidsynth libjpeg libvorbis libGLU_combined SDL ]; }).override { + makefile = "backends/platform/libretro/build/Makefile"; buildPhase = "cd backends/platform/libretro/build && make"; }; @@ -393,50 +788,85 @@ in with stdenv.lib.licenses; core = "snes9x"; src = fetchRetro { repo = core; - rev = "db4bfaba3b0d5a067fe9aea323503656837a8d9a"; - sha256 = "02f04ss45km32lp68diyfkix1gryx89qy8cc80189ipwnx80pgip"; + rev = "29b78df8c9f0f48ed4605d08a187a134b3b316d6"; + sha256 = "004h1pkxvbn4zlh8bqs6z17k04jw5wzbwklpgvmb7hbxshsi4qid"; }; description = "Port of SNES9x git to libretro"; license = "Non-commercial"; }).override { + makefile = "libretro/Makefile"; buildPhase = "cd libretro && make"; }; - snes9x-next = (mkLibRetroCore rec { - core = "snes9x-next"; + snes9x2002 = (mkLibRetroCore rec { + core = "snes9x2002"; src = fetchRetro { repo = core; - rev = "b2a69de0df1eb39ed362806f9c9633f4544272af"; - sha256 = "1vhgsrg9l562nincfvpj2h2dqkkblg1qmh0v47jqlqgmgl2b1zij"; + rev = "354bcb5acea0aa45b56ae553e0b2b4f10792dfeb"; + sha256 = "05gvjjxy6ci5pax3frd9g8k9mkqskab5g6rvfjab7cc4zrxrg23f"; + }; + description = "Optimized port/rewrite of SNES9x 1.39 to Libretro"; + license = "Non-commercial"; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + + snes9x2005 = (mkLibRetroCore rec { + core = "snes9x2005"; + src = fetchRetro { + repo = core; + rev = "e5cadd2f21fb64e8c7194ad006b39e6f555c4a5b"; + sha256 = "1q0xrw3f8zm2k19sva8cz28yx815w8a6y1xsl0i6bb3cai3q1hyx"; + }; + description = "Optimized port/rewrite of SNES9x 1.43 to Libretro"; + license = "Non-commercial"; + }).override { + makefile = "Makefile"; + buildPhase = '' + make USE_BLARGG_APU=1 \ + && mv snes9x2005_plus_libretro${stdenv.hostPlatform.extensions.sharedLibrary} snes9x2005_libretro${stdenv.hostPlatform.extensions.sharedLibrary} + ''; + }; + + snes9x2010 = (mkLibRetroCore rec { + core = "snes9x2010"; + src = fetchRetro { + repo = core; + rev = "e945cbae0f8c472e1567a319817c9228b775dd71"; + sha256 = "1pj5p4a2hy7hk90bzy4vnkz3b6nc8n1niqibgwhyfsc22xlxqsfr"; }; description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro"; license = "Non-commercial"; }).override { buildPhase = '' make -f Makefile.libretro - mv snes9x2010_libretro${stdenv.hostPlatform.extensions.sharedLibrary} snes9x_next_libretro${stdenv.hostPlatform.extensions.sharedLibrary} ''; }; stella = (mkLibRetroCore rec { core = "stella"; src = fetchRetro { - repo = core + "-libretro"; - rev = "bbe65db0e344dcb38905586bd853076b65963e5a"; - sha256 = "18r1yyfzvjq2hq04d94y37kzsq6aywh1aim69a3imk8kh46gwrh0"; + repo = core + "2014-libretro"; + rev = "6d74ad9a0fd779145108cf1213229798d409ed37"; + sha256 = "0b1nsk92rr64xxj8jc9vpjqgrmm3554096zl031ymr94j5cc87q9"; }; description = "Port of Stella to libretro"; license = gpl2; }).override { - buildPhase = "make"; + makefile = "Makefile"; + buildPhase = '' + make \ + && mv stella2014_libretro${stdenv.hostPlatform.extensions.sharedLibrary} stella_libretro${stdenv.hostPlatform.extensions.sharedLibrary} + ''; }; vba-next = mkLibRetroCore rec { core = "vba-next"; src = fetchRetro { repo = core; - rev = "e7734756d228ea604f8fa872cea1bba987780791"; - sha256 = "03s4rh7dbbhbfc4pfdvr9jcbxrp4ijg8yp49s1xhr7sxsblj2vpv"; + rev = "3580ae6acb1a90c4e982e57597458da07eca4f41"; + sha256 = "0fz8z04kf9g1i5x5slyvx5kb07garzxvhcqnwmqn5j574xh1lc6d"; }; description = "VBA-M libretro port with modifications for speed"; license = gpl2; @@ -446,13 +876,55 @@ in with stdenv.lib.licenses; core = "vbam"; src = fetchRetro { repo = core + "-libretro"; - rev = "1b82fc2d761f027567632692f787482d1e287ec2"; - sha256 = "043djmqvh2grc25hwjw4b5kfx57b89ryp6fcl8v632sm35l3dd6z"; + rev = "9ccdeac3aa9db00720bb80eff5c9924362144efa"; + sha256 = "0rq89i9f483j93shhp2p3vqsnb2abpwz6wdnsycfwxgblczmi22y"; }; description = "vanilla VBA-M libretro port"; license = gpl2; }).override { + makefile = "src/libretro/Makefile"; buildPhase = "cd src/libretro && make"; }; + vecx = (mkLibRetroCore rec { + core = "vecx"; + src = fetchRetro { + repo = "libretro-" + core; + rev = "26585ee701499550e484c11f005db18e926827d9"; + sha256 = "0vz2aksc8mqnw55f2bvvawj21mxf60fp93r0sr55hdccn9h7355k"; + }; + description = "Port of Vecx to libretro"; + license = gpl3; + }).override { + buildPhase = "make"; + }; + + virtualjaguar = (mkLibRetroCore rec { + core = "virtualjaguar"; + src = fetchRetro { + repo = core + "-libretro"; + rev = "7bdd8658880b53bf2bcbae0741323fe18f9041f5"; + sha256 = "0zbrsfhvx293ijazy1w19qha19hprsi0zv8295sa0gq8kyh0xhyw"; + }; + description = "Port of VirtualJaguar to libretro"; + license = gpl3; + }).override { + makefile = "Makefile"; + buildPhase = "make"; + }; + + yabause = (mkLibRetroCore rec { + core = "yabause"; + src = fetchRetro { + repo = core; + rev = "08d09cb88a69ee4c2986693fb813e0eb58d71481"; + sha256 = "0z55yam1l7m21kbjwn44sp4md9g7p95b27vcxr7i0v08gnkwwvv1"; + }; + description = "Port of Yabause to libretro"; + license = gpl2; + }).override { + makefile = "yabause/src/libretro/Makefile"; + buildPhase = "cd yabause/src/libretro && make"; + }; + } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 764333fd122..b1b5ea4300b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21669,34 +21669,64 @@ in in with libretro; ([ ] ++ optional (cfg.enable4do or false) _4do + ++ optional (cfg.enableAtari800 or false) atari800 + ++ optional (cfg.enableBeetleGBA or false) beetle-gba + ++ optional (cfg.enableBeetleLynx or false) beetle-lynx + ++ optional (cfg.enableBeetleNGP or false) beetle-ngp ++ optional (cfg.enableBeetlePCEFast or false) beetle-pce-fast + ++ optional (cfg.enableBeetlePCFX or false) beetle-pcfx ++ optional (cfg.enableBeetlePSX or false) beetle-psx ++ optional (cfg.enableBeetleSaturn or false) beetle-saturn + ++ optional (cfg.enableBeetleSNES or false) beetle-snes + ++ optional (cfg.enableBeetleSuperGrafx or false) beetle-supergrafx + ++ optional (cfg.enableBeetleWswan or false) beetle-wswan + ++ optional (cfg.enableBeetleVB or false) beetle-vb + ++ optional (cfg.enableBlueMSX or false) bluemsx ++ optional (cfg.enableBsnesMercury or false) bsnes-mercury + ++ optional (cfg.enableDOSBox or false) dosbox ++ optional (cfg.enableDesmume or false) desmume + ++ optional (cfg.enableDesmume2015 or false) desmume2015 ++ optional (cfg.enableDolphin or false) dolphin ++ optional (cfg.enableFBA or false) fba ++ optional (cfg.enableFceumm or false) fceumm + ++ optional (cfg.enableFlycast or false) flycast ++ optional (cfg.enableGambatte or false) gambatte ++ optional (cfg.enableGenesisPlusGX or false) genesis-plus-gx + ++ optional (cfg.enableGpsp or false) gpsp + ++ optional (cfg.enableHandy or false) handy + ++ optional (cfg.enableHatari or false) hatari ++ optional (cfg.enableHiganSFC or false) higan-sfc ++ optional (cfg.enableMAME or false) mame + ++ optional (cfg.enableMAME2000 or false) mame2000 + ++ optional (cfg.enableMAME2003 or false) mame2003 + ++ optional (cfg.enableMAME2003Plus or false) mame2003-plus + ++ optional (cfg.enableMAME2010 or false) mame2010 + ++ optional (cfg.enableMAME2015 or false) mame2015 + ++ optional (cfg.enableMAME2016 or false) mame2016 + ++ optional (cfg.enableMesen or false) mesen ++ optional (cfg.enableMGBA or false) mgba ++ optional (cfg.enableMupen64Plus or false) mupen64plus ++ optional (cfg.enableNestopia or false) nestopia + ++ optional (cfg.enableO2EM or false) o2em ++ optional (cfg.enableParallelN64 or false) parallel-n64 + ++ optional (cfg.enablePCSXRearmed or false) pcsx_rearmed ++ optional (cfg.enablePicodrive or false) picodrive - ++ optional (cfg.enablePrboom or false) prboom + ++ optional (cfg.enablePlay or false) play ++ optional (cfg.enablePPSSPP or false) ppsspp + ++ optional (cfg.enablePrboom or false) prboom + ++ optional (cfg.enableProSystem or false) prosystem ++ optional (cfg.enableQuickNES or false) quicknes - ++ optional (cfg.enableReicast or false) reicast ++ optional (cfg.enableScummVM or false) scummvm ++ optional (cfg.enableSnes9x or false) snes9x - ++ optional (cfg.enableSnes9xNext or false) snes9x-next + ++ optional (cfg.enableSnes9x2002 or false) snes9x2002 + ++ optional (cfg.enableSnes9x2005 or false) snes9x2005 + ++ optional (cfg.enableSnes9x2010 or false) snes9x2010 ++ optional (cfg.enableStella or false) stella ++ optional (cfg.enableVbaNext or false) vba-next ++ optional (cfg.enableVbaM or false) vba-m - + ++ optional (cfg.enableVecx or false) vecx + ++ optional (cfg.enableVirtualJaguar or false) virtualjaguar + ++ optional (cfg.enableYabause or false) yabause # added on 2017-02-25 due #23163 ++ optional (cfg.enableMednafenPCEFast or false) (throw "nix config option enableMednafenPCEFast has been renamed to enableBeetlePCEFast") From f94133b6212ecbe11da6cb6ce7f9757301b73d61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sat, 2 Nov 2019 08:19:35 -0300 Subject: [PATCH 083/391] matcha: 2019-10-03 -> 2019-11-02 --- pkgs/data/themes/matcha/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/themes/matcha/default.nix b/pkgs/data/themes/matcha/default.nix index 0c92eb110d2..8ab868891b5 100644 --- a/pkgs/data/themes/matcha/default.nix +++ b/pkgs/data/themes/matcha/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "matcha"; - version = "2019-10-03"; + version = "2019-11-02"; src = fetchFromGitHub { owner = "vinceliuice"; repo = pname; rev = version; - sha256 = "1fxlpq3hgp6brgjkhv0g8k4gsdg6jw2z467awqgfr8a1p3ksmxpw"; + sha256 = "0wci9ahap8kynq8cbyxr7aba9ndb1d4kiq42xvzr34vw1rhcahrr"; }; buildInputs = [ gdk-pixbuf librsvg ]; From 8011c943f0abb41d3574c8381947892e6515afb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sat, 2 Nov 2019 08:54:33 -0300 Subject: [PATCH 084/391] lounge-gtk-theme: init at 1.22 --- pkgs/data/themes/lounge/default.nix | 35 +++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/data/themes/lounge/default.nix diff --git a/pkgs/data/themes/lounge/default.nix b/pkgs/data/themes/lounge/default.nix new file mode 100644 index 00000000000..15ec68b0757 --- /dev/null +++ b/pkgs/data/themes/lounge/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, meson, ninja, sassc, gtk3, gnome3, gdk-pixbuf, librsvg, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "lounge-gtk-theme"; + version = "1.22"; + + src = fetchFromGitHub { + owner = "monday15"; + repo = pname; + rev = version; + sha256 = "1y1wkfsv2zrxqcqr53lmr9743mvzcy4swi5j6sxmk1aykx6ccs1p"; + }; + + nativeBuildInputs = [ meson ninja sassc gtk3 ]; + + buildInputs = [ gdk-pixbuf librsvg ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + mesonFlags = [ + "-D gnome_version=${stdenv.lib.versions.majorMinor gnome3.gnome-shell.version}" + ]; + + postFixup = '' + gtk-update-icon-cache "$out"/share/icons/Lounge-aux; + ''; + + meta = with stdenv.lib; { + description = "Simple and clean GTK theme with vintage scrollbars, inspired by Absolute, based on Adwaita"; + homepage = https://github.com/monday15/lounge-gtk-theme; + license = licenses.gpl3Plus; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 764333fd122..04117da2f5a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17195,6 +17195,8 @@ in # lohit-fonts.kashmiri lohit-fonts.konkani lohit-fonts.maithili lohit-fonts.sindhi lohit-fonts = recurseIntoAttrs ( callPackages ../data/fonts/lohit-fonts { } ); + lounge-gtk-theme = callPackage ../data/themes/lounge { }; + luculent = callPackage ../data/fonts/luculent { }; maia-icon-theme = callPackage ../data/icons/maia-icon-theme { }; From aabf8498d3e37cce0693e34826c57fda4fe33d0f Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 05:50:48 -0700 Subject: [PATCH 085/391] love_11: 11.2 -> 11.3 --- pkgs/development/interpreters/love/11.1.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/love/11.1.nix b/pkgs/development/interpreters/love/11.1.nix index 478b147d1f3..6f3f7161a0b 100644 --- a/pkgs/development/interpreters/love/11.1.nix +++ b/pkgs/development/interpreters/love/11.1.nix @@ -5,7 +5,7 @@ let pname = "love"; - version = "11.2"; + version = "11.3"; in stdenv.mkDerivation { @@ -14,7 +14,7 @@ stdenv.mkDerivation { owner = "rude"; repo = "love"; rev = version; - sha256 = "0q1lsgc1621czrg49nmabq6am9sgxa9syxrwzlksqqr4dyzw4nmf"; + sha256 = "18gfp65ngb8k8g7hgbw2bhrwk2i7m56m21d39pk4484q9z8p4vm7"; }; nativeBuildInputs = [ pkgconfig ]; From 7fb8274503cf8520371561319aa010b257ce71bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sat, 2 Nov 2019 09:52:01 -0300 Subject: [PATCH 086/391] iconpack-obsidian: 4.3 -> 4.9 --- pkgs/data/icons/iconpack-obsidian/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/data/icons/iconpack-obsidian/default.nix b/pkgs/data/icons/iconpack-obsidian/default.nix index f48c3cbf3f7..64a982f6037 100644 --- a/pkgs/data/icons/iconpack-obsidian/default.nix +++ b/pkgs/data/icons/iconpack-obsidian/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "iconpack-obsidian"; - version = "4.3"; + version = "4.9"; src = fetchFromGitHub { owner = "madmaxms"; - repo = "iconpack-obsidian"; + repo = pname; rev = "v${version}"; - sha256 = "0np2s4mbaykwwv516959r5d9gfdmqb5hadsx18x2if4751a9qz49"; + sha256 = "1w0lnr08gd0cnzv3n5094jqb7dpbpwwizfhvifdir0xsls1sf129"; }; nativeBuildInputs = [ gtk3 ]; From 285a8123bf5d5d27e4b7f41fd56ff1e49065d654 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sat, 2 Nov 2019 11:21:56 -0300 Subject: [PATCH 087/391] enlightenment.efl: 1.23.1 -> 1.23.2 --- pkgs/desktops/enlightenment/efl.nix | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/pkgs/desktops/enlightenment/efl.nix b/pkgs/desktops/enlightenment/efl.nix index 153616a3bc8..976c6b1f32b 100644 --- a/pkgs/desktops/enlightenment/efl.nix +++ b/pkgs/desktops/enlightenment/efl.nix @@ -1,19 +1,20 @@ -{ stdenv, fetchurl, meson, ninja, pkgconfig, SDL, SDL2, alsaLib, avahi, bullet, check, curl, dbus, - doxygen, expat, fontconfig, freetype, fribidi, ghostscript, giflib, - glib, gst_all_1, gtk3, harfbuzz, ibus, jbig2dec, libGL, libdrm, libinput, - libjpeg, libpng, libpulseaudio, libraw, librsvg, libsndfile, - libspectre, libtiff, libwebp, libxkbcommon, luajit, lz4, mesa, - openjpeg, openssl, poppler, python27Packages, systemd, udev, - utillinux, writeText, xorg, zlib +{ stdenv, fetchurl, meson, ninja, pkgconfig, SDL, SDL2, alsaLib, + avahi, bullet, check, curl, dbus, doxygen, expat, fontconfig, + freetype, fribidi, ghostscript, giflib, glib, gst_all_1, gtk3, + harfbuzz, ibus, jbig2dec, libGL, libdrm, libinput, libjpeg, libpng, + libpulseaudio, libraw, librsvg, libsndfile, libspectre, libtiff, + libwebp, libxkbcommon, luajit, lz4, mesa, openjpeg, openssl, + poppler, python27Packages, systemd, udev, utillinux, writeText, + xorg, zlib }: stdenv.mkDerivation rec { pname = "efl"; - version = "1.23.1"; + version = "1.23.2"; src = fetchurl { url = "http://download.enlightenment.org/rel/libs/${pname}/${pname}-${version}.tar.xz"; - sha256 = "0q9g4j7k10s1a8rv2ca9v9lydh7ml3zsrqvgncc4qhvdl76208nn"; + sha256 = "14yljnnmb89s8j6ip08ip5d01zkgzbzr1h4fr4bwk9lh8r59x3ds"; }; nativeBuildInputs = [ From 5188ec80c10340dcab43909d1b9105a5797152c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sat, 2 Nov 2019 10:05:41 -0300 Subject: [PATCH 088/391] theme-jade1: 3.3 -> 1.5 --- pkgs/misc/themes/jade1/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/misc/themes/jade1/default.nix b/pkgs/misc/themes/jade1/default.nix index ebeb7f2d866..01221d45014 100644 --- a/pkgs/misc/themes/jade1/default.nix +++ b/pkgs/misc/themes/jade1/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "theme-jade1"; - version = "3.3"; + version = "1.5"; src = fetchFromGitHub { owner = "madmaxms"; repo = "theme-jade-1"; rev = "v${version}"; - sha256 = "06w06dvzs1llmzpyz3c5yycsw3gslsgikalfcq5l92d72z4kzfw7"; + sha256 = "1m3150iyk8421mkwj4x2pv29wjzqdcnvvnp3bsg11k5kszsm27a8"; }; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - description = "A fork of the original Linux Mint theme with dark menus, more intensive green and some other modifications"; + description = "Fork of the original Linux Mint theme with dark menus, more intensive green and some other modifications"; homepage = https://github.com/madmaxms/theme-jade-1; license = with licenses; [ gpl3 ]; platforms = platforms.linux; From 51c4691bb50bc56ea7c2ff2155b94886d9c0c30e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sat, 2 Nov 2019 10:09:42 -0300 Subject: [PATCH 089/391] theme-jade1: move to data/themes --- pkgs/{misc => data}/themes/jade1/default.nix | 0 pkgs/top-level/all-packages.nix | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) rename pkgs/{misc => data}/themes/jade1/default.nix (100%) diff --git a/pkgs/misc/themes/jade1/default.nix b/pkgs/data/themes/jade1/default.nix similarity index 100% rename from pkgs/misc/themes/jade1/default.nix rename to pkgs/data/themes/jade1/default.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 764333fd122..2cececaeab1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17469,6 +17469,8 @@ in gtk = res.gtk2; }; + theme-jade1 = callPackage ../data/themes/jade1 { }; + theme-obsidian2 = callPackage ../data/themes/obsidian2 { }; themes = name: callPackage (../data/misc/themes + ("/" + name + ".nix")) {}; @@ -23154,8 +23156,6 @@ in onestepback = callPackage ../misc/themes/onestepback { }; - theme-jade1 = callPackage ../misc/themes/jade1 { }; - theme-vertex = callPackage ../misc/themes/vertex { }; rox-filer = callPackage ../desktops/rox/rox-filer { From b1652460731b34445e50a58940630eb9637d2961 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sat, 2 Nov 2019 12:21:28 -0300 Subject: [PATCH 090/391] papirus-icon-theme: 20191009 -> 20191101 --- pkgs/data/icons/papirus-icon-theme/default.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix index dbe3ee201f4..88611faa308 100644 --- a/pkgs/data/icons/papirus-icon-theme/default.nix +++ b/pkgs/data/icons/papirus-icon-theme/default.nix @@ -2,20 +2,18 @@ stdenv.mkDerivation rec { pname = "papirus-icon-theme"; - version = "20191009"; + version = "20191101"; src = fetchFromGitHub { owner = "PapirusDevelopmentTeam"; repo = pname; rev = version; - sha256 = "1ljbaq0c6rhvfwj5q2kvd6rxbjykb0sbgcpjrxrzpdy08zr1kdvd"; + sha256 = "17as9i5b9wqzvj08hwxqk9dlv6hrvkylns85s8gzhv6b5x2q5ma3"; }; nativeBuildInputs = [ gtk3 ]; - propagatedBuildInputs = [ - hicolor-icon-theme - ]; + propagatedBuildInputs = [ hicolor-icon-theme ]; dontDropIconThemeCache = true; From d623837d6409bd8bb50c60b4da98bd6a968b7eae Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Sat, 2 Nov 2019 13:42:42 +0000 Subject: [PATCH 091/391] opencv4: 4.1.0 -> 4.1.2 (security) resolving CVE-2019-14491, CVE-2019-14492 & CVE-2019-15939 most internal downloads are unchanged except for "ade" which was bumped from v0.1.1d to v0.1.1f between these releases --- pkgs/development/libraries/opencv/4.x.nix | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix index aa4c7afa4db..a5eb1029ad9 100644 --- a/pkgs/development/libraries/opencv/4.x.nix +++ b/pkgs/development/libraries/opencv/4.x.nix @@ -36,20 +36,20 @@ }: let - version = "4.1.0"; + version = "4.1.2"; src = fetchFromGitHub { owner = "opencv"; repo = "opencv"; rev = version; - sha256 = "0m1f51m11iz4vxfrmnhawksd669ld247rlfdq5fhkvfk3r7aidw6"; + sha256 = "0c98ziwvfrzdzwn52a36d37n5rac8zmxq2jn479bzfaii1bib8xx"; }; contribSrc = fetchFromGitHub { owner = "opencv"; repo = "opencv_contrib"; rev = version; - sha256 = "1phmmba96m5znjf3wxwhxavgzgp3bs5qqsjk9ay1i63rdacz4vlf"; + sha256 = "10ryyxhggin5dk5glf4ycyrfryqf50f4bs10biv6nxlrrinm2di4"; }; # Contrib must be built in order to enable Tesseract support: @@ -130,10 +130,10 @@ let ade = rec { src = fetchurl { url = "https://github.com/opencv/ade/archive/${name}"; - sha256 = "1r85vdkvcka7bcxk69pd0ai4hld4iakpj4xl0xbinx3p9pv5a4l8"; + sha256 = "04n9na2bph706bdxnnqfcbga4cyj8kd9s9ni7qyvnpj5v98jwvlm"; }; - name = "v0.1.1d.zip"; - md5 = "37479d90e3a5d47f132f512b22cbe206"; + name = "v0.1.1f.zip"; + md5 = "b624b995ec9c439cbc2e9e6ee940d3a2"; dst = ".cache/ade"; }; @@ -161,14 +161,6 @@ stdenv.mkDerivation { cp --no-preserve=mode -r "${contribSrc}/modules" "$NIX_BUILD_TOP/source/opencv_contrib" ''; - patches = [ - (fetchpatch { - url = "https://github.com/opencv/opencv/commit/5691d998ead1d9b0542bcfced36c2dceb3a59023.patch"; - name = "CVE-2019-14493.patch"; - sha256 = "14qva9f5z10apz5q0skdyiclr9sgkhab4fzksy1w3b6j6hg4wm7m"; - }) - ]; - # This prevents cmake from using libraries in impure paths (which # causes build failure on non NixOS) # Also, work around https://github.com/NixOS/nixpkgs/issues/26304 with From e3d0b139c7487c1a600f9ba26e37598ebdedcccb Mon Sep 17 00:00:00 2001 From: Jon Banafato Date: Sat, 2 Nov 2019 13:09:21 -0400 Subject: [PATCH 092/391] firefox-beta-bin-unwrapped: 69.0b16 -> 71.0b6 --- .../browsers/firefox-bin/beta_sources.nix | 776 +++++++++--------- 1 file changed, 403 insertions(+), 373 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix index 50b7153533d..d70490f8218 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix @@ -1,935 +1,965 @@ { - version = "69.0b16"; + version = "71.0b6"; sources = [ - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ach/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ach/firefox-71.0b6.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; - sha512 = "5fe26093cdffc6c3afde7438bbcde7fb24867e70b74c18ef287d5897e4470f2671fe30053bf7d9077d9494e9cc97a2dabb9938d4c99fcaf7981d8df7cea281fe"; + sha512 = "0f2aab504455ab3e18b220d3a284d955b0342ef864990d8b100e98fde00cbb9d660ecd9af1a9601d4b93bfd425599a5e111a2566d057932e9b40627b34318857"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/af/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/af/firefox-71.0b6.tar.bz2"; locale = "af"; arch = "linux-x86_64"; - sha512 = "2a1ea5564ac0bb16dc716f29f4f3a63f8029ba314e353ad74bb437a70ade138b29f58df2fb8320efbf5c001232253aa4a16f48673bc4c6e5906ce3c4c912026a"; + sha512 = "64ed124236183b2fbf9c31b5130de0caae8d314afbc09fdeab2b3a23217b2af4aaa6c8fdd46aab27402d4079639080af1e8ee68ad3b074f20748e213e6a9f92b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/an/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/an/firefox-71.0b6.tar.bz2"; locale = "an"; arch = "linux-x86_64"; - sha512 = "5fae2f3b33d7776f70a4244c6be02a47e81000a9de91fde1a3d73be2675e1ca67a2219f8aeacb70759cc779b985e4f0698c625c20f895e75e28ed9c764c8c3e4"; + sha512 = "ab46ba25db59894be85e8a78074a811d12cc9e233554f79b028bc0ad6cadc452a8b37fbd59c9a15b81b1a0a499050e37b5f75a154c056324f1207c2c1ac1d75a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ar/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ar/firefox-71.0b6.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; - sha512 = "dd8eb0155a3d9489645c03c3240f5ca2c6ee0b0de7cd82e62aad1575e8868f3ec763985c4142078ef8ace86da81887bf7d1f95c2ec22d5bc73086e230898e7a9"; + sha512 = "298682210b8127ab77f509a79b3bc61c3206a1a405a5da44f9697fe7361deb3f936449f32494f3a8e15420b56775cfbd773a77185aa5f07f593aa371d61c74f4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ast/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ast/firefox-71.0b6.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; - sha512 = "960fea994048e4c08389c7701541266e3631c4d70f604146189805f1ad606aab16ef9c2b28eedee82acbe0f42f69c96a90a041ba4cf95fec060b1d6c29a94bc7"; + sha512 = "30221379730f41d32e0738689cf8ebdd8615275c6905a984f186f4a7823f7a84a707ab5ed8ce9448f091750a78373d10df4999a94ca32020e44b0ab81442df29"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/az/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/az/firefox-71.0b6.tar.bz2"; locale = "az"; arch = "linux-x86_64"; - sha512 = "8e7b6bb3fc5c6726115a0a20f61d1cad5e9a4e9e86e462e1ab6a454f5257af22ebf8dcdea3298fc1e9648fe630c36245f4c45ba4093d45e59741ceb882fc501b"; + sha512 = "f948c6bf563012639a6ecaafa8730d0430ec569c193bae617436cbbafd61de197b87116a1ee3e16035048d15bc794b499e9e4f8dbd8522166f20fe8be038d965"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/be/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/be/firefox-71.0b6.tar.bz2"; locale = "be"; arch = "linux-x86_64"; - sha512 = "919a1f9007599ed0b325e0b218b18fc803c535f7eab76068cf4e94fe1ceb4543d090d7f341ba5f4d4de9aaaedc1b19d88ddbcb5c329ed5650d2ebc721f6aa49b"; + sha512 = "9c7db4af9b692896faf7e9ba3c5b1e8360a5ab2e60b6850a901288b4554bfb0e45c738f167a0d96a3af2db4fb150a557eb1e81b375087f4086e4ee5438b219d8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/bg/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/bg/firefox-71.0b6.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; - sha512 = "6746f4d0c2a73f99bc04c3b12bcf54e5eca7262ac6d54835a567a23a07fc91775db9e64d0c5accf045aabd5d4645a753413f934e6eac9dbcefaea30c944aadd8"; + sha512 = "ea01ee47f6febd71a1f77b883bb48c093fbc19e20f277dbe676a351cd35e334ecc81b8ee9510650c38048e11a68365e2815fd0545ffd4d833afec2e3c3e31f73"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/bn/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/bn/firefox-71.0b6.tar.bz2"; locale = "bn"; arch = "linux-x86_64"; - sha512 = "ba88ff34405c92b907cc16e44dbd5d1db0b4bcf0fb75ca650739bf307a6e2270cfd69bba9ead6c260721857738165fbbcd4af44fbe8cb9d7402d97c32eb09532"; + sha512 = "d4143ef97c5f9f20605dcf8b646b0acdde7b9475cf2696be7f3dd6ae5830511319a083f5dc6488a7d83764be7f39f6134fc67d28ac3e334f2a87235958ce3070"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/br/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/br/firefox-71.0b6.tar.bz2"; locale = "br"; arch = "linux-x86_64"; - sha512 = "e7c78c11b3fd36d7c6ab55ac9571a53615a595dd5c5d66cd3dc6fb6d3fb42a1b29dcc86180f2028502f25869c951ad3caedf4590a61fe525616f18d560d6e775"; + sha512 = "04a0d955fc4e74bee803f274e89dea46500bc0c89b3cbbc03b892d30b93c648ee2909a37078b38a4d106338e045cf5698bdfcc6125baacb8d839cda7f178c715"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/bs/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/bs/firefox-71.0b6.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; - sha512 = "36a677f1c449ad58e8750323cffdea3200c3953b9fc6bf920a0439229eb00164d4c1199286d1f0cc47eb31b3fe7acf9e78ebc3f4a3f49a443d1425afe717ab2e"; + sha512 = "f06e2d49206fa5569d3584b71f321c1ca9270cedc5bfb1c4ee8969f00cdd094bfcff400c1dbf67c9d4b45173f7aeabe9a44a393f8c49d30feacd4e4a0e24a47a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ca/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ca-valencia/firefox-71.0b6.tar.bz2"; + locale = "ca-valencia"; + arch = "linux-x86_64"; + sha512 = "13aec7c68757c07e9b1016121ac474d894d580cdd88a05ec6e4a2f34018b483a37aca8bff8b46e7f00439059cb9cc44a9032363c8a157bdc3f06fee3be021309"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ca/firefox-71.0b6.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; - sha512 = "b78937e7ca4c7df19ed1c40a8b459d65176ca908333d7d19f30a377fddf836438cd750f2efeebb235c75c25f4a42a70e919c2c0061b865f7b90d71fe2ea119f1"; + sha512 = "e548c5a7b741c8affd6852a538f0842f3774048f9765c7f25177ebd71c8c7d41530e4236ef11fa03f4d2ae1d8704c19b29c95c7744715ff374dda20a7923f716"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/cak/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/cak/firefox-71.0b6.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; - sha512 = "ac21c01a6528790fd31d56f0c637a0cee8b4cd0938ecd18200c48f8c982ee6a06a36ad779f9cb708d0b8191b7df4480d62dd75cd2a4bd0502cdd862aa8e95a08"; + sha512 = "9e284c5bce5f2b232c4acb84e34d01418edb66cfc0290d5b48e67a412451f5520f845c9a0e70089cd89828ae9cdbf4fcb791fe5de17439372144e1b3133db149"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/cs/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/cs/firefox-71.0b6.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; - sha512 = "09cafbad6acc6db507d5589f4f89f3914cb80c826de9e55d8f02b42c29f6e46d24f49729efd8c67b5b575fc4dd240d8b32f0ed69992ac992b02c8f2639c2b613"; + sha512 = "b4e23db7f7dfceec6fdb0a48d74a376e165ef3efd38f03990d19ab9cab67d51a2a0f3a0b3d18b57f9cc0f26d84454ee6b573c7f5444c2e4e20e9b18ca44dd480"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/cy/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/cy/firefox-71.0b6.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; - sha512 = "18de3618d1b1fd350a8c826e57898f019e9c792e5f97521ab52ee940956e8e49a9191e361e0426412ca27e63c1e502f350c11a68574f2be37b29e43a9a63b25b"; + sha512 = "506cbc0261c90b0b20382dd7f204e826e666915b6624c1490089ebb8e613fcdef368eac4b7de5b2167d406130c3435b0f0367d23667816a562ab0576a2be9458"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/da/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/da/firefox-71.0b6.tar.bz2"; locale = "da"; arch = "linux-x86_64"; - sha512 = "7fd40f49390d1ca844f31eaad74a419a28aab6f74cbad1f040e01ecc5b6691ff516a4d2c41c906e241aab54573580eee3b6b01531468cc3e35c4fa61f7b60931"; + sha512 = "60e25765159560242af62d60a8c8a4f6f607a3f153277b013e70bd5f0abc9132801c122f5ef374e3de8710eaa49f059658fd325a66b076417b5ab34e9d156c2a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/de/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/de/firefox-71.0b6.tar.bz2"; locale = "de"; arch = "linux-x86_64"; - sha512 = "85347a3419e55984769031850ec30f757238801cf8483551ddba35abfd0e2638c75fa358ec09705d28dcc647fa47ad37c4f545522d5f8aa54067fbcc232a47c6"; + sha512 = "a99c8a9604e2a83e6bd085ce5a30f6fac79482ffb6360e23b1678c1531ca14f05394a91401ba57dc37a5006553944a8c96821c9cc58a4a3fd5aff685c51bdc4d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/dsb/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/dsb/firefox-71.0b6.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; - sha512 = "a8f24207ea3b763a3295c1feb43c22f0e502561224a4d3d342cdd7321bd4e93fca83293834163d9a6160e0fc4c6aedb60b4f72e172e99eb98e6b8c0cfef665e4"; + sha512 = "5dcfa216878aa733afe9fdb0d11c873c753a93cfe3aedbb3b4e5ff62f6578f86c6ac4e3a408012a00dcfad31d7de9dded903c6d5d0d351b108f718cb7c226310"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/el/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/el/firefox-71.0b6.tar.bz2"; locale = "el"; arch = "linux-x86_64"; - sha512 = "ca8a37134a897631e398448683e4805ea9fd10a30629c09f760b6b90b9e8fb6505adf3143031e88b7a189791f487aa0ed852c0a4911b93fdedb34cd0cec7b7b6"; + sha512 = "ac596fdd1bd4ca09bb127f5d964318e0496e4d9c2f060c982a62c8cdf71af5e35f7d96c37ad0543550af4b4741a08b7de10b2206d1ac90f8ff27ed733a346d86"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/en-CA/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/en-CA/firefox-71.0b6.tar.bz2"; locale = "en-CA"; arch = "linux-x86_64"; - sha512 = "b2c154bf92cf4ac6a4021b199e9e8438b59e4aeaa5ca7f72df41bdf64dcbdb196d384775b759b867a717e48e7a31f457cdec2c20e3c4dbd93d3c440ce277d396"; + sha512 = "8dd71d997a6676f6ef28d09a90f67b7858bc313beea4312124a498208b9b8e36ce7306901abe5bad4dcdaa5b1cd23010aa65eb8bb41f5f4ae2e400608dce2cfc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/en-GB/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/en-GB/firefox-71.0b6.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; - sha512 = "73c0b07840bf816f093c90b9103a25d2ff00cadcf13341ff228e09bf939c131db3ade9d3be472a4eec3ca5b4131245ea4c788171e6ee42beba7dc1c7881da0b3"; + sha512 = "a442336f7a2dd1865052f06664b7b52ebac33be84c1cfc55b9b6ad3d2e9fd548a5cad65b9733f57ff432a7d0d8a4e034610a2f4ccbde836290d9a2ecc9ca8548"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/en-US/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/en-US/firefox-71.0b6.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; - sha512 = "c63d7358887ba0d8af897063c5431c2bd404fb9708e6b59d73c14dd8cfa1a2137af72eb01dfe25b9e6d92b84d5b966693cc89f5446ed3410f910e2df3f92b6cc"; + sha512 = "fcf3bdffb8f2742101b8dc215e489ea54778d7e2f05aeec7229bebb532fa972aa56257264a0fdd3d37ec19d427d782f3d0cd45534f977d1b0b6e19399d004f75"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/eo/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/eo/firefox-71.0b6.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; - sha512 = "0e4a373bac78d80e2849c41c93196782ef41a74f91c6319da690916138a78c20c9d26d8c96e5efe67a835185c8df77354b3fed5a62500e791634eb2f15909031"; + sha512 = "228dcd7d4bfde4d99172f895502033271765898fb7221d359c55277de9b04d070e362a64c6327e774bf6ec7a23983765c21c77a1d210d4f238d0846d2f6ebc6b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/es-AR/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/es-AR/firefox-71.0b6.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; - sha512 = "ff07382bcc926272bc69c10aa7f35eee7806d94a18ddebfa3599451d002afdda739461aad90d8df094f56b9b8840cedef659757245d4fd1a8603ac25d2a3100b"; + sha512 = "bfc15c3bf2a8e8d980410d81ea94b99c92037779ed87fc4bc6a8035970067e98d181ec35d88e576dc08b86485a90a7fdca450a55deebfbeaf651247ea1dfafbd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/es-CL/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/es-CL/firefox-71.0b6.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; - sha512 = "201f631a6682c9aa13c511a0d6da256e2f207362264f6e1ea060568a9e597216407ace99508ebe820a348859eb72c6df7581276eca5040b3ee2e99e048c67062"; + sha512 = "9638f8cb3fa6fd71dabdc88974e0498d7bedb09448e2544356d990ef641aceb3668214c0d54e7baf65ac196501697ddff216901d00d946962a43f0a09f3c8126"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/es-ES/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/es-ES/firefox-71.0b6.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; - sha512 = "76573a05de730de4c6bc76dcf98a21764c78baec4eb0ead45adae2658e9173b33c97132d0a2e5c95807a60a22c9ab2e1dce09e5b73ae2dfd905ced82ba105333"; + sha512 = "1b17dce1c7b1d3965a71a7972777af91f8a88e2f5371db888e00d658390bd3aee7de034d0433f90bf93796425a80fba51a5a5e1d235095f9c43775895311952d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/es-MX/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/es-MX/firefox-71.0b6.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; - sha512 = "b619f5a2392ffa0b36f48503e94adf9cf1719911258e1752507f274078d12f74257677f3e76493fd080a0be08ca94964dc55129a59e292b1e2573676dc59e5c9"; + sha512 = "4c4491775007dd5d2ef89d4245c8f84e79d4e27251a96b5f538c2e0c540b5097683a6072d94a85620e1f5b13143e1bf1062ce5f691000de3f9c168e44cd3b03a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/et/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/et/firefox-71.0b6.tar.bz2"; locale = "et"; arch = "linux-x86_64"; - sha512 = "951288cf8a5745e433332798b87ceb54e35d408ca9f4e9d9fb288192de430eb45065fe88f0858f1a71e0cbeaf87c85c240a6d350bf8ce2f50c8ae548cff71f90"; + sha512 = "24734e0ab55249a95117c39ea26f7bd173d8d90ff5e69833d6f3c335ef1ee895fa474458b2f6d1d545cca26c295cbacdf74098806a62e6742d03ece28a9fd426"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/eu/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/eu/firefox-71.0b6.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; - sha512 = "78c856affa639c531d70e20b1de6f0eba59b33e403a1d24c3508fab03624b5c90db636d39b0c199f2fd0b5fab10fa3ecb2fced6cc3b1e8a06b9be11e8ec917b1"; + sha512 = "ddeb8b1dcbe414905fba9175ad4c09b981a9f2277d335d851320beace94d55ce2d1e10ae96972c6da28d8008db377fa4470f4fb8f7a1ead8a4c26bd01d2bd0e9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/fa/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/fa/firefox-71.0b6.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; - sha512 = "a835fa37f804055dc117f694d85ae8b750c82f7ba92976def927f187ee91330a3d0616c0915917d1d0ec3c295f803c0bd2bdc9ecae0230f9a6642e42cab0e066"; + sha512 = "cc6daff1ce0cedde5a9a2c3189039fe59ba01ee20449610a340816dd316d104bc64f6496389aba5f4e843fb70fe9d9b18edc0dee59357d64e916969a3c38853e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ff/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ff/firefox-71.0b6.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; - sha512 = "ed3664cd4418ed5af133e00c30b3a9d23a82bb681c5d965fe00b4e2bf6ce4c777b00c352dca4cfcfcf5a895d7001dcc6de67b4ef0abb3967014c483437f9b1f8"; + sha512 = "ca11dd6f3862c42b1bb76050d347d97f27e6f415c9c5bf9565281c4bd11411b940f1f8ff69940e1201e008ba7ae5de653a64570b4f7175c2264bceeb696bb2e3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/fi/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/fi/firefox-71.0b6.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; - sha512 = "3edf6cc3dec21a48f914a754718a57cd495ed8bd9b807a9c4aae412a117ad1068abf0daf6cced6da74bd4887fe51746f1bb57dbc5858917ad17d8912cc9c4cb1"; + sha512 = "49110d54b09331a0d91b1e2fe2aa67a80e46b93bec3e449e55ce4b600334ce506344022ca7523b498b444e8bef25b358d18709ce83e6465254c0e27bcd9e8cd6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/fr/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/fr/firefox-71.0b6.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; - sha512 = "9f92a2dbaf834f13f0f0fe2cff0ac433c01b7e8155a381d21324fc1e7224f7d5c0a8374a7e5e43f679232f565958ef946e3cbdacd3e711e34ae97eb27176321d"; + sha512 = "14a3ff081668a5003e4d129256975e0c8eebab78ff96a7d63f6eeca45c9331ba1250df09a8d529cdbc199133a8ff61ed170f91f0f366f12e7f8f0486a563046d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/fy-NL/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/fy-NL/firefox-71.0b6.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; - sha512 = "f98eb4bdb595db2f688c25644dacddb2049fe8f8b21e83f8cd7031cd23587713f1fa53f39a0b444f6ee979901806811c16599224c6a1a7d17cda84b544ee1848"; + sha512 = "4b78417383fe474407f55353f148429047635988c7407a7dafa9aa894e3df9bed9363181b3201a66caf11f20c10ecaf5cf9cf630181bc043ac5f8ba9525bedad"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ga-IE/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ga-IE/firefox-71.0b6.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; - sha512 = "eec73de53bce5c18ff0491d6f4018e3fb39471d3d63c6cf9527cff8f4b6b6e0a7e24e3b7fed58094409efee29df7dc35f2410ea05d5e916efa1d778926ab23f1"; + sha512 = "7bbd19ce0063746b66b5016b00cc3c0b62aad4424c26fcdf895c485217525e4d601c22d417c9faecfa8da6344f8edab28a3e0536b785f2215b8e5f67d4d860b0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/gd/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/gd/firefox-71.0b6.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; - sha512 = "1d10666f6c563dfa07f708b058fe867b9618974394a5eb4733926429a76bb6ea59e7ecf6a2a89740cf2f04692186bcfcafd2eb6775c5b59421bab0a92a24fe41"; + sha512 = "a3444d8d13038203760ba3e04f6aee6097b5140a1f0faa247dec6916221c1c7cd5f9bca091f84f8a778cf3433a74671c4a9e9a4c114738309873a3bf14b860a6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/gl/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/gl/firefox-71.0b6.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; - sha512 = "b56d98f5a1e558aa73ec385c03b18dc9bc615670dc5a539eaf6c925f4af3915362d2d072f29ae3bde3f9ba266a321d704c6bfcb959d47858a650ffe7fab5767a"; + sha512 = "9d0441b7391aa2a7adcd24946d36ce197b6aa107133f0e83120c8caacb02a5580e2e786a7c36bf03003698d473a39dd3e9d7d57553f601dbe1b45a23bcddf12d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/gn/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/gn/firefox-71.0b6.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; - sha512 = "50a9d482efe2c22002419f4559d1b90fd5f368a23deddd78227b7d20b6a051870a997506a1de931ac8c45bd5d33ff9152f3a8ad41c735912b48dc0fe9c073360"; + sha512 = "41fcece059ff48ad3d23ad3826dcbff2fd356ab5567abdd757ff66739f09ad962a2026cc5b5217ecfa1d035356f77fe8563ff2f78be925b88ea903d8ccc63641"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/gu-IN/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/gu-IN/firefox-71.0b6.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; - sha512 = "8ce423880bb405240a78773c3f81aa08bf42b39c68068d3cc604486a96b44e7509c577b2c8f2285cce62181b7f11565ea6910c8871b798d0b6856765b16e1899"; + sha512 = "d09dbcd2222245218902e2e7d921239a2e96481ba6312c3601e33c0a9f5c21c27a505ade880ff36560dc2634562a58dbfef574bc693941ecb9f6fef9461cb004"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/he/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/he/firefox-71.0b6.tar.bz2"; locale = "he"; arch = "linux-x86_64"; - sha512 = "6a0722861c63a414690e9eeb2456ee492a92b8b20f8fd9973c1580b2e3ef1bdb87bb7ca0d17603c429a76805076e2a7c4cf986d643e790b2b04c58b69aeb8758"; + sha512 = "9d7cf14280fa265f1f8a06cd21e174098347199b389b66613713af722f500461dd394b2b56bc635168c3266bbc9e98676bbeac45a647ad9c7c0187e49e41218d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/hi-IN/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/hi-IN/firefox-71.0b6.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; - sha512 = "4e9ba72349a3e58ee2b584b5d3ed5f601a1af7714104139e7dfa997921e6b7954a5cb7b78b9b8b7bcb7eb09da990116f844dbd96cab901ca408c2fd49303c35d"; + sha512 = "295cc80fcdfcbc523d676147f403e828f1f09642a5fcea0d371504f6ed2892556a058f7097e923a7d5bb13b812efa858f39161efba557d8a5d38562beb091646"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/hr/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/hr/firefox-71.0b6.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; - sha512 = "f53f4177603c41008d06f16bf9e102855273f53856e57f79967f59af64bd38f745c4d71583db50917a45a7c3bd64940f69ecdb864dd957798c2ce5b65f5a75d9"; + sha512 = "e5dd6596a62da991d33589e7ed5f2834d10125e9ba3d05670cbab35f2a7addba065d36e881b3cf7aae3a31932a4e7e197cdcbae42e9ffbd352ca60513fe35931"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/hsb/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/hsb/firefox-71.0b6.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; - sha512 = "f6044e9f09cf4fb64dd9d3935332bec46ddd783f6335206a51e68a411be57169d4a6388224da462d65090cd2ebfee64946626fc41ac3d779f53391c1765fa290"; + sha512 = "a07459b299630d6db0b18b045547fa65533de02e6684e696ff4979575455ad8bfa42802ab93c4b3adb38046ca5856b7b2af470524cb54efbc7752fa42d9e77c1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/hu/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/hu/firefox-71.0b6.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; - sha512 = "0178b084718079f1e6117f723e2931275a28944deb5bff48c3fc9d2548ceec7a6f019253cb7fb014b04e6800bdc62eded02b1ad26efc2eaccbbd2d0ca359faa1"; + sha512 = "01ddb0a1333ed2b9dc3ee1f0b2ec069c1d606abdb918798f64ba420774dab33356ef7c97d0c403bc5052b0834a852b02ac17d187f53c509e13f4d2de5bcc66ed"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/hy-AM/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/hy-AM/firefox-71.0b6.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; - sha512 = "0f069f14ab5895b1242b0b583e2a952c9a794e363973f68d119a791d5777048849dad23badeef6f155e1539b06468a4b7b0555e0e76f137edc523d09b6a51b36"; + sha512 = "648240e7ca906619d2e396069c0b2be29e962d9e2f96e5f5cee0efce7c85f4b6f17fb3589d236a7ae347ffe465d7c7188d68e04454e566b4619ffdcbb21bbcef"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ia/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ia/firefox-71.0b6.tar.bz2"; locale = "ia"; arch = "linux-x86_64"; - sha512 = "fa0beaf3088becebfc5e4f02b884a572fc86b5f89dafd8e79741fcddd331f1d667b1c2af81050b56121ff40a2c9077bc514df9ec2de4d165b536d5b17cf2fa29"; + sha512 = "313b8de952330bfea1a0643821a17331e92bc5ab6a575c77cb14484ef8734662bce804259cbfc0ef2191f0e96aa10d61b6374149563cb4114008e26d9efc3ced"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/id/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/id/firefox-71.0b6.tar.bz2"; locale = "id"; arch = "linux-x86_64"; - sha512 = "10bb29fb1f4a588f8ccde4e087bba1c7b405c44a9a79acb16d189f704bc31ba24e33b1c89b1879deba4d5c5da0a5f94ef69a7987256af6fbb6d7571db85a1bb7"; + sha512 = "39e8a946274245702bac80455cdc84a5416cc25dfdf32b67d9bf97a0f263cda6417799b80a1eb34cf98492929016dc176ad09e140cdb7f57d09daef97aacdc69"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/is/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/is/firefox-71.0b6.tar.bz2"; locale = "is"; arch = "linux-x86_64"; - sha512 = "48229cafe81da44259f0768f1494685afe072558dddac63c6321955d852ddd80a3b8729692dbb9c6b283a302e6d412d7c8d4f48888a0d5a1cae12dc1a025124a"; + sha512 = "2956d0309b81a9c428ebba4698a7b5431e885e55bc71ba3394abfe50fd81e0b7b3c9049aab020a8d9a8caefc04cdebdd4793e56754ba41c88e55aa8d8a3e05f8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/it/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/it/firefox-71.0b6.tar.bz2"; locale = "it"; arch = "linux-x86_64"; - sha512 = "1097ddf7dad776303b942bc80455c8902c0c0fe1667fab972754260da6fe45f383967b8bd2d51e845a66bc0728c7655050858722c1b3b8d2e8d0331c8f612cdd"; + sha512 = "73486caba6b0fa67bd6754ef6d712c244429b8de262c73fe2bcf35afb2d6e1a3061a3ca97fed148397b49230ff1dea0263e1bc404be74f28c88b6e0c540a4163"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ja/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ja/firefox-71.0b6.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; - sha512 = "ca0e8dd301c1e1f76acdfae325445b2ebf45a15be70febeb677d215edbff7df509db7a38409b5039aab1a76cc8cb235d597f5b87f02a96bf842ef6d2e11e6176"; + sha512 = "446fbf643d4fac6f43ef0b7547df542ecd8fd5d319456875a1660ae40a949872c74bd97ae8e49e7c685a1938eb312693ec35c0e107e9bad942584dfba2f934e1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ka/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ka/firefox-71.0b6.tar.bz2"; locale = "ka"; arch = "linux-x86_64"; - sha512 = "99a1ae878c93ddf52c96466bae92259a4e51791ae343574c09f99e5f1878a15d705c84323af6b2871ddbe14c3f4b7fa5cc7a45c27b10b6bdf5bc70ce3a315322"; + sha512 = "1666ac3fe60104b0c3a942f28f4496927fd83baa403c85cd712f11cac1e3a35f794a3fc098e642ea7a20720d3138f021f77935d365ce2ed7606e89284b374476"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/kab/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/kab/firefox-71.0b6.tar.bz2"; locale = "kab"; arch = "linux-x86_64"; - sha512 = "b2b6190978068d2d36baf58efff771dc48cbaa09e53da8d19ebedfec4da5ab6c9c1c212ab0a9fb6cf7a264565b1815bcd2a2e0283f912c9ae3ab5fc6dd0427be"; + sha512 = "9335419c9b7b93075e12dc1b4f96c260b7e045b7598f60dd9c6ccd3ff4c3fab808666a7b13ef8a7906f31afd5a720499aa6abbdd5c4259d23aa8b1317146c805"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/kk/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/kk/firefox-71.0b6.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; - sha512 = "3c56bffab7e32ba9e0a572df36c473e94a3ef7b84207f204b5fa4df1473e4f64fe11a0b7bf8dee4cc26db56e99cf21eeb17b598dc211a5d9f5b3ab3fc5d625b0"; + sha512 = "c5107685611e21b0d12357aabd3111a05cc635d69553510220f928485c3a78124aa86afc44c26147b282c158e94d448df14a4ce1e43763b78c5a9e3de6348942"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/km/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/km/firefox-71.0b6.tar.bz2"; locale = "km"; arch = "linux-x86_64"; - sha512 = "6a33560d83232074445c0cb31949f0e8ed4ffb18ce9407f4f9b8f5bb9460e949eb5d302b7f58a4ebcee5d27de0bc588e7d047ff8a17aa3edadc0ab595a175362"; + sha512 = "d26f924db4954eb1dd9c2cb2d333a954925c53ac4a48a0f82a5ec340a3bcc6934a00666e9398c407e5594e191d5789bee2ded4af57d5f76aa4d27a3f00b4ae89"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/kn/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/kn/firefox-71.0b6.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; - sha512 = "d67b40cb99923acd769bb10d824903dc01379c9a5245f6d9fe0747b58525773b2724329c64760ec1c18726056bd1f7d74d9e292b3173555011bf7e66d6169828"; + sha512 = "d8ac76dad99060c2900d063b9e037b8b4bbee96066521f41353f77c82536bad8a637e38302b9b5cf1f643284792be730a2441bca2d604d05ffc77600a162d3d2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ko/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ko/firefox-71.0b6.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; - sha512 = "e932cf78de717646837ef432179a0b9cd41875b60ed5ec0c082f9b285c9899006844a61073689670449206a82c6a0bd72e076a51be1551ab3f757c6f0a060bb3"; + sha512 = "ee289f66819bcb680ef74c90de2e025617eb12ef69c4134c17768f0f0644d215f6220db5cdcf0190b63284782ca7125aa0cb2016c9dcb25e7db91a4200608059"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/lij/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/lij/firefox-71.0b6.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; - sha512 = "d52ee5886f86e511f947366caaf2769c4b3fca87254091c395077dab4b665b35de7b66cf90849958bbbdd61316d5df43014a8c9f9bc9006641a40aa2e8d79f98"; + sha512 = "8fb5707baec621e20bddd33f7ef61669d3694f3687e797cae9851876ef1976413ff60f3c3409a9a3e1b63f9c6e1028e9cf1b5a82d97960f1c3d92fb81af1003d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/lt/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/lt/firefox-71.0b6.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; - sha512 = "ea57e8db294d8b293a48d61257097caca093c9a2ed0b14b2d5c486de44b542cc546b751c2cca73ff6ae4945c210018a35ec61583f5b338628894117c04dbd135"; + sha512 = "53db71d1798f963b53fd3695319276ce3ccf42b9b29b9678cf5eb149d6b79390d0a2712967486f05fe3c6d8cf25b123f5f8d6ccffa4f138f03dec611bbe2bdaa"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/lv/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/lv/firefox-71.0b6.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; - sha512 = "66054fe532331c73b0718791d83f389ad369fc77ecb0904c6fe3f97310ffb4d88e316d9dc618a07dfd4569b3c746ac882d8b353484c580af63c59f44e8257c11"; + sha512 = "7cece5926ddc73a817ca894167ceb264865e284dacf66c4cf98c89cec8287268af6088da9cd3451a358e26ed591d2b6ff146f567116f8ab8a80cdda36aa781c5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/mk/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/mk/firefox-71.0b6.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; - sha512 = "0f67149117eef961fad9355fe61353a3a2ee15f19e92a592d6fad69e46ac488c26f2b0269f6c229df51690bfead9e85c1ae0489230ba32fb27609900a9725f57"; + sha512 = "492739c5c7b25696ba02f8f0c41127689de8b65cdcee43981dbb1d1243d6490ed7f034ca0e8d5e50763390e85bafb134c190fd86a6d2bf2a9c715ff1837e53f5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/mr/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/mr/firefox-71.0b6.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; - sha512 = "740667d86641c92ac299fd63700ad74dc4ec2fabb261bff9abfbb704e7181863556aec952b420f5883ab6a18e66d237d15636e2d9eb7bcfbece6227190b4b6fb"; + sha512 = "cdc685a2435afbdf33324d7d93c5af9f1fa1b7a817c70f34607280084345d3e69c7eb1c0189db8c16c288e31ad0c982ea7271bce6b0a9a71f0596a9ababc32ae"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ms/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ms/firefox-71.0b6.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; - sha512 = "21ed058002c2c57c0e0e43658b12a7b257009814d13566d2d8a5164d0d3acb131a8c90f99b1e577b6d002f7e5019e296010e61b1df2c5d2e9443e8f55f20a4ca"; + sha512 = "37379786db0f326add87e8796b5bd2b9a7365e2a740095a5ae0affd1f15bd08642aa44ae5aeac4e2b0198f4fa590b5fdc05ea2ccf51049908540c39fea059f1e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/my/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/my/firefox-71.0b6.tar.bz2"; locale = "my"; arch = "linux-x86_64"; - sha512 = "8273c4d0df0fda727465d5bd4b50aa09dda1c81b4e78e291479efcceadd87ad24f50e2dec1accc2783fd0bf2e30a2d9e775d44ba599384f0e8e4ad0b6fe08e25"; + sha512 = "c6ef471af337726207344d7eea3d03f412facc0fb26ba45a9134fec7f7a8857dec1484a40625fee9eee1a840dc1ba50f6d959cf58b79f77713d996fdaa5fb616"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/nb-NO/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/nb-NO/firefox-71.0b6.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; - sha512 = "492842b037b018bc07827902e76a117f9ee4620342af102f2753e0d898ec9b070412debc6f72dad2d899c3869c27d2d969bbd9a8cbfe4d0c10d85428d9c7f3e4"; + sha512 = "8cb1f23fa23ee164c172cac43bb7e26ec42bd20b811922fa09c0945d9727d5cc545edc1e47f040084165de4eb0fc217c5fa9b54eb915703add563df83cabf7fb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ne-NP/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ne-NP/firefox-71.0b6.tar.bz2"; locale = "ne-NP"; arch = "linux-x86_64"; - sha512 = "5e31871031f4745af8e050e18b1d2f2a16bfd18596358b189c7940a8ff11e999e44cf2e96b62404e481d0d8712f151a10290ec36e5903ab72e26986a03f93e12"; + sha512 = "b620f2dc18fec008aa668255a3a5b2de987f9c1b3dd27ae93f9cd9f2c02287e105516568cfdb631a9f60dd08e03ccc89fc9d7f6c7d682fc7f8cf8644965b9419"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/nl/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/nl/firefox-71.0b6.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; - sha512 = "8ca6f3842359e5a97445692747ffe0d65bead4222d0b2f90f86dc637a6e02a1cc75909ea03acb0c232185ad626cdcf2a5dafd27d578420385b7a4df353847323"; + sha512 = "51298d8ef95f9d76cbf6d410a85d277ded0463db6b85a05007cb11fbd9490fa385d9700bdf0dd333ba61aafe3690bd31604b1dabdfeeb5d8351c678eafa7a558"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/nn-NO/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/nn-NO/firefox-71.0b6.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; - sha512 = "a64d50c1625f4da5cde3aad78b04a4e3278ef3aabcb19cc9a9542e45f0c82f09a63fb464c0b2d842e107f22ad12226655617023afad112292ddc22d735a25d54"; + sha512 = "61deac483f285167a9ed3f12548735b484bdf2e361ec7e9ed62abd44084bf2ecf037990b946255e1d086a746139f3d24f1ed428dba150161cd5fbf9db420ea9e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/oc/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/oc/firefox-71.0b6.tar.bz2"; locale = "oc"; arch = "linux-x86_64"; - sha512 = "1b873b5a90c8130be2a782f8c0459f853d3fbd340d7500550fc7628282b1e575d92a1d0af263665f7fac7192c22910e8338b66abda828ffecddfec79dab62fe7"; + sha512 = "8421017b5aec9c5998aeb255a47b8e34b189667a9b9a576f087613c4721ba7feeed5b053d7c4fe24c32ce17589b5fed8603695242e6acb25d5236414012a9563"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/pa-IN/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/pa-IN/firefox-71.0b6.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; - sha512 = "6aadc5b934136d99161d4f52df74653ebe0ba2d5fd1e2468c103b34862a331ea269c23956ad27c7883811a474b6f915f6076d9673ab4767e5a3b0ba44bd32ec0"; + sha512 = "3b8de8911a3249727bf1642214c5affe0555a6f91fa60a7b7709b3d9324403c9c5203557e6c4c0f8fdeb770fe73cc577f4a053064f09549049a9bcebeb4a359b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/pl/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/pl/firefox-71.0b6.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; - sha512 = "b3caa21e7ebf3083be1ea13da68a83775a0713f6046994991328a293cef558abc523c43572ee98587c777aa779498cc5d7e671aac622142b4801386e2e1532b3"; + sha512 = "7c7b9ff6387e9252bfc8c9cf9540cdf05e2d041c0a172cbb95de67cc91bfb4991d554e3a1616be8e8bfdcf0243095e91f06aca50d01b8ccf2316becea23de54b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/pt-BR/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/pt-BR/firefox-71.0b6.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; - sha512 = "f8b591901004a08c74a79cc4a9beb5139adaa2ba15261680c20c215ece1f1f115f0a71c4a2af2665c2c35bc3c5d3b5016159dfea5f603a981d5ccdc6b28c3b98"; + sha512 = "d6918ebbd92548be667c2fdc1bd53a21d5de473fdb73f82c81da89e95d2fc3d9cac5b8938f74d1b32a5e3163a5010b2cb03f19dd6d858130118c592a573ff461"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/pt-PT/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/pt-PT/firefox-71.0b6.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; - sha512 = "ba910b1e9e77a938f4208679141b24bae1dea6bf83a2f3a2778aeac59da1e8ab22ffe9333188316e170bff75bfae57258f3ff53c08774d00ee060de2d6871f21"; + sha512 = "46fccd1f9f521b37ae4810535da84ec26f1de3a454f1e76d7652ed735fb91df043109597b3ec2d155ab5e47a2bc48ee1b2f54289514fd81503910f6a97eda8cb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/rm/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/rm/firefox-71.0b6.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; - sha512 = "0272ede3149ece3f87192f8cdcfd74313fca17fee53c3c86dedfe702c8157257f29931c14168ac11095f0b0def077f267f222919cd7f4b5ce020797c36c3c603"; + sha512 = "7c8e478956cbd25f249f8ae61bf1749d0b6f40a18d35d7a2e0427cb9f7575f32ea2ba69e8b1240eed0ee382914aea93b15184fd7d0a3aa0af2530e0b3da948cf"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ro/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ro/firefox-71.0b6.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; - sha512 = "b58e3742fa43d52f737285c60e8b1237fea5158cd096450bb6187ee10471af0a77025fc526805c0ae8ddfceef7b7505dc637c8f72ab4188db31d0ffdf11ba606"; + sha512 = "b42acf347fc1606ed4fe53b054b6c662aa909a734d6b9ccbd7f6d0fe42588504ae2a36e292db6229638b71228032189735ec318e745d187ffa5ab7087458749b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ru/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ru/firefox-71.0b6.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; - sha512 = "f0086698a2deea24dd1510da377ed9094273a7867a920b0d05c6aa47d4f4c5042519d02c5977747df05a416a4bf94aad0a52a0b03869e693f621959a0f980a26"; + sha512 = "f3f9a1501ba4a3ed69c0bec569d5fd585bca4bbc34d5d7b92a9b6c7c299e05201b4fd5b45c9a3d8c09d16d6804ab2a76c22a973e2b730ff33c03e325dd4ee4b3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/si/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/si/firefox-71.0b6.tar.bz2"; locale = "si"; arch = "linux-x86_64"; - sha512 = "4b0018c753aacadac60961b1e4a793b6a0f36d2f8844ada2515ad8081822cbb869ba23f7a69143af860ad060d86e7ad157a41609c1fff0cf481b45bc55a23c0c"; + sha512 = "99afc39d22bf30818da8156648face1eecaa8413f923fe4fb14623226c50afb437e39d908caf43e7a7c78b4ab4c66860a03832f33b012a5c1fa6c26e936e99e6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/sk/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/sk/firefox-71.0b6.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; - sha512 = "f19ddd306e48cf04bd70b008fbbd6827045d332839458126ea16393b04e6b76dc8397ade3bc28f5798ef24f27c9dafb578808f3ede8808609c24a8bc20935448"; + sha512 = "3c574962db7e38169b01179bc67af5d57296918adf009512ab494b6672ce95bda10dc9a6ff88f5ab17d414335bdd97fca5b75bcf0f4408a26a9eba83c052f3c6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/sl/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/sl/firefox-71.0b6.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; - sha512 = "104f68ebf03ca5165ad9fd049beee70658156ae80b62e88e2342e845ddaf5603199d3ad66423a08766fac2ea2db07766e66b9e09b9e480af4cfb08e680d5dfae"; + sha512 = "c266949cec012d11e13659e60edf9af6fd24434b0bc71bc7c1b50fb3e18de984ca34d074113949d95e7ce1dd759c7b081e8a336c73e7a84b146eec747413b222"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/son/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/son/firefox-71.0b6.tar.bz2"; locale = "son"; arch = "linux-x86_64"; - sha512 = "4ba381efa38f56c60a7c9afd625514c2b93cd89dfbd3e99968b89b8ae57bc8344f5686f6e7c87d8b21136d8f72e4c61af617152d534b749fe0ee731220b60716"; + sha512 = "7b9f060acf3b4aae96a79d7fc712803cbc51a6b38e5624371523f9e45169f838f26f1848f8c39f644cbb7409e76c835bafe02152e981034202c50222fa1fa87a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/sq/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/sq/firefox-71.0b6.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; - sha512 = "8a3a3b1a8a48e8e681ae7765d8a0e9fce8f87f3e12f4af3fa4fce3dac0ef74524d4a14c1f802233362969237f893e02d22fd44d7e032ce2f45e69abf8a18c738"; + sha512 = "3e555168da6e7ce386c7a577bd773879d0cdc725ee2c79151554628212fb4b16a95a88169bbde512ca63f51920e035a27b863b2e2d2a5a636c6e8b1427cce20f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/sr/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/sr/firefox-71.0b6.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; - sha512 = "6ee469e7a091662d62250f17c7d45810f9db853571185364fd7e9f561dbe6e6582c13c5faad081769a8fd715fcb0230347cf88e642531a1d7e941072a2003990"; + sha512 = "b453c4ee3138061c1b5b955639672eaff4b5702aa067f1316f7b42922e4c9ab9a00b8fe60f3bd47c25d300ae048277ac5830fde6898e2cd4e3c7eb9d4ecd34db"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/sv-SE/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/sv-SE/firefox-71.0b6.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; - sha512 = "5ba63456a302baf31a03f129fbbb820a1142a83b41a44829947ecb1878c1b7723035313844b7ac5e950440ba1feac7f14ca1473b1acc75f4899fb2abe259057a"; + sha512 = "7f859fa052096bf5cbb63716cb0b57c2edcc13f0e79fbcd59cc179f7fa91fb70a99d94f44a5005e3e6d38e88dd58843acf6e5c9b097b5d592ada7d19aa8b7b94"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ta/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ta/firefox-71.0b6.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; - sha512 = "b9f59f57c74ce57b80268a139bad81014494e9b2fd173be997c5aab61aaccf28f84d0eb1089c3abcf21fb62dff02b1b8e0176e0f4e3adaddbebc5452d9f9a07c"; + sha512 = "4cd7b5be580a70aee1259a39ccd37e947c8da8be408aaaa9210e76f4744c2d2075525331e0441d14be4a6aa5f3eb8c7e0f78220bbde0db3e521baa3a9696e1a9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/te/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/te/firefox-71.0b6.tar.bz2"; locale = "te"; arch = "linux-x86_64"; - sha512 = "84130d585c0b0e80007c9c1fec4011c44bd087576d1e351bb899893797d4ee8c9f856dbe4b9f8ad37a2aca98dc46c9eb81aef1cc236947b672f7c6a978f28bf3"; + sha512 = "685bc8f8ec7274dc402a6f27be13a254ca28b67ee28f151cd0e146db6857d8f54729fb76c3266ad08c47b108e84bccaf8dd561dafc7996f9678a83c4a01d4fa2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/th/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/th/firefox-71.0b6.tar.bz2"; locale = "th"; arch = "linux-x86_64"; - sha512 = "2a731a0294dd73b113983d70e4c5a779fdfd92a855e635655aec5e2316a32c97812dced18c04820c4332ffca63805af816df5e7a180d9c8108eb63f4339d8578"; + sha512 = "d5167cdf3d67638772d474634c690bda4c3ea136baa3ac28d5113c9eb7673dcf9f38abf6e2fd54b55e5e487ff60f7e33036b7939b6c1add860dd48d9cfccb0b3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/tr/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/tl/firefox-71.0b6.tar.bz2"; + locale = "tl"; + arch = "linux-x86_64"; + sha512 = "bf49bd41ca1bb1cf03f8b06ce80e518f487359fe5bb93b90cfbc17ecb05aab74f4b68a8ad76c10acffa934a5a9fd5e257a52b9705e3f09e81343d142afc773a1"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/tr/firefox-71.0b6.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; - sha512 = "5e1f639a0807cb403bab8157b3ccc0806d3704e27d2e682ab56bdbfbfa488b71d454dd983f4c9cd1754cd1173ff6e14f097cd2c8db5cc7075a63b94871dfe94c"; + sha512 = "f67ad1441541b02d77eed6ec0e205e36aa585d70a85d74c3704e9fc95126ca4ede76807c62df2eb0659ae24ad8a79bb6857299a52dba432d0cade8b3091b6db4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/uk/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/trs/firefox-71.0b6.tar.bz2"; + locale = "trs"; + arch = "linux-x86_64"; + sha512 = "151772f684075ca2b24c98e35405b8cc54d878062a3d5bfe5b49561a0328a2d9064780fbc8aa1368bcb53957c208a102859accd35ff3e09d23a0623886ed24d8"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/uk/firefox-71.0b6.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; - sha512 = "33ec6d4c9ecfeaeaf5659b809faaaf60f24382f2c8918eb4bba81231c12f0c8049bbf766fa3a41a8947e6c745932b4e908f158f6a532c473cbea3c6a833e8d29"; + sha512 = "f27019219dfa6b1af09971aabeeabfad7343a6e9e034433a366bf0b85dae2a070c4236115a645bcce433e8a1ddcc74aa33c06f3e1526a665d7339c730e2d8b6b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/ur/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ur/firefox-71.0b6.tar.bz2"; locale = "ur"; arch = "linux-x86_64"; - sha512 = "2b06b2b145593f6c3cb74b16553aff15b8d453b3ddfe6a8ccaf2cbfa0beec3274a2b04b10373c5420dc67062c246d484f099ca3dbf1fa94ce0dd6ab6533dc066"; + sha512 = "4b6b3c96dabeeb3ce6b814ac28f8842fb8a991586f8d9e24d8f04c4771e1e930903fd486429b028177fda3194a40f2d68ae89fb55ba632f3d778635bdfb61f10"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/uz/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/uz/firefox-71.0b6.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; - sha512 = "86b5066b07f8b80dc86873f2f418a4526e386f65711199008538ae192d9af06cfbcca1132cc95007b44a9ae1afb5a76de7a2c4d971b59177e097b4266e075fdc"; + sha512 = "c236ecb253b724715b66b60ed15870c7190bf53beb8c0aa3eab7b8f9770a35d07c4b07d7e947e548274ab636fa4acabc89f8ed9db81b347d6d01c3741547773e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/vi/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/vi/firefox-71.0b6.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; - sha512 = "c474e765f85a145d4fd0c9410305e56fc8f32c6eb9c0ae139aef48e1b35ed4eda941c92d3030266d38738ea559088ba799db1c937a0fbe3867583beb4825a93c"; + sha512 = "34716693e977408908c303e69a72fb9a3001ec4683e848bae2a22b050f446ed82509cd8bfbbc560bc4fc14d13da673cc56ac70b0dde8e719266697e043ae90b3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/xh/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/xh/firefox-71.0b6.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; - sha512 = "2fd1fac92f3bd260949c0851849424fce5ff56989e7c9486ff11702c85514929c49952568ea45d0e2889e806f6ea1556748b475646c90647a92e50716b1250fb"; + sha512 = "634514944739f748afb01379e9b0b7d902cd367ab3dd72eb08442b0700c145e3239f0fe8a4598bf123231b5430cb4cf17e33dfb56aa6aceff1d833efd836ce52"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/zh-CN/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/zh-CN/firefox-71.0b6.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; - sha512 = "b3d7786d3883a99ca1833905ab971aba5a4ed42fec451bd7d5664c329a4deb495afbf00975a7c9935bff42b42c828d830984d389a6b0b728586dec9017e37fe1"; + sha512 = "5f57467a2b3bc1346c503d7ac7452a063daa5656c8193495046f80296140d648f50539c5f0c9af23155498593da54f66e16f4ae2ab72637f394859e74ce3c990"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-x86_64/zh-TW/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/zh-TW/firefox-71.0b6.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; - sha512 = "67d506a05c404911c3b937dfef3c696ae6d3739b3113ad288b46b9a995028d48ab7c7dfbfa7a735f453698dc1b58864aed7b718f3b81bf42d3e8114180743692"; + sha512 = "fe5808270355da0a3f6bc8b1522f8c2afd79f6f68842f09ff7db9d67ab21c1c683ab65dff9be7a666da9b25add657f6ebf8b080e898e8b2822612ba7b1a53dca"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ach/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ach/firefox-71.0b6.tar.bz2"; locale = "ach"; arch = "linux-i686"; - sha512 = "8115dc00b12319c89463a0c97c3117df8109d68372ce91287bc382238d0f0a6d2795d8540bef5ad5c5215f237bc1b23e4e9f11a63ec8aa32b80e0a501c27f534"; + sha512 = "f4ca9cbf830c34b0287f92ec7683872b93cfc29a559c56e29fac686a50833e31bbcd2e22eb5ae5fe345fe8110d50d6be2c8ce32968aa74a65543e701ec2af6b7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/af/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/af/firefox-71.0b6.tar.bz2"; locale = "af"; arch = "linux-i686"; - sha512 = "1bc5809edf99dea1ecbd942e92879139056e1d5bc83512c84fd110b227c37f76997e1f2d00f4471f03cc00cecfe4e3e2e62af858641539c08c4685a6986baaf8"; + sha512 = "31de89d33fce172551a3a7cc1047b06d9fbd199d0e9a7ca94434ca1f050d0cebe0f3c06b1703b2e6ad7bab37fbaffefde5ec661bb23b1b470b82360f4f08d471"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/an/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/an/firefox-71.0b6.tar.bz2"; locale = "an"; arch = "linux-i686"; - sha512 = "7a1abe0ba440d50362ec550da3061df3d2e498f94587591cbed920c7348e2da6f8fbd087bd3fcda2462e18722db0b0c2ec129aee8562670af44ecb333b2a912a"; + sha512 = "a5f1346cd8e74bae67b3a7b0ff7350b4376b4fbb7305932c333767e5625fb1a451daf3004619fe737d7d479aed09cfabb9323e32ccf1d980f369f7763520c515"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ar/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ar/firefox-71.0b6.tar.bz2"; locale = "ar"; arch = "linux-i686"; - sha512 = "89adee7c9ce7e74ef7890f3b8ddabea3d6e06c90db695f3d19af64b7c6602f9d80cc2c2c6d2958ffe4909d734507074f658cf4f04701e5ddfa9a9a9d4062e21c"; + sha512 = "87eeaf4d620a643bbfbe8f710612aa12bbaf2162f5e762263714f9ecc4a6fc75896c4d8145089775c24018491a9604d9b67273d43e96ec206518c42b978d8037"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ast/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ast/firefox-71.0b6.tar.bz2"; locale = "ast"; arch = "linux-i686"; - sha512 = "e20bf6a66f67713cb3225b8f8109c4d44943102d2a37571c3489b02d88d5b677d2465e2bd51783e720e5f31b59ad51a1ba7ba0cde723e942059080e840c63253"; + sha512 = "b3b169892ec8646abbb22ab31d24337f4203c8257a0827dbef0ff396fb5219af47e68e69f90fb874f4f09bb2144cdf5c8d5cf7d0f484b755e5ecb40c19c3a839"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/az/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/az/firefox-71.0b6.tar.bz2"; locale = "az"; arch = "linux-i686"; - sha512 = "30a25fdb3280a740c11f9b3f53f871fcb294e83377fa1f6cfebdf939a73df583d8806470eb62d3174603a29eba599ea5c6d5dcb4106f4afed18a899dc30c1170"; + sha512 = "569a81642a725f184cc0abbf573bc92ae21efec93dce73572f46fdbc0319caa3da6a9f7e5066c7abe74d7636f27628ec5a87d243ff41a483e8f2f9eab6fbbf0d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/be/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/be/firefox-71.0b6.tar.bz2"; locale = "be"; arch = "linux-i686"; - sha512 = "485be4d97719bb771e25ec80f84ee94b7ac5741baf4a08a06a02ca54fc915d7c2a54ead25a0abc9d40145cdb7c1a34ccf6a727eab710a29407ab5587f6a0e778"; + sha512 = "9bb66208dc81e314fffe537fa229abc401e5d55fc6070e773d6cd167cc719019886b96625796bb20590e4313ea422d814ce4e2c6ddda8064ecf2d42bfdc2ac71"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/bg/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/bg/firefox-71.0b6.tar.bz2"; locale = "bg"; arch = "linux-i686"; - sha512 = "14b2380a52cfce2dddc48a8c0cd52ed31d01f3c46728aa866e0d05360f9d078aa7f59ca7bcc33d0ca7beb60c81780d5def46e1b05786164a0123d95b80aa100c"; + sha512 = "04f7a77b716d77e56d1f4997c6fff775a16e2bee5cb7a33e3aa87677b08dc5e62587be072d639bf383454a3e4d5cdb656589c8db1b42a79244e2103cd54be4f3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/bn/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/bn/firefox-71.0b6.tar.bz2"; locale = "bn"; arch = "linux-i686"; - sha512 = "1ca9adfd64c8194fcb7014cf48a87e171d5fd667515a972259e9bbd5ae436470a64c2c03a7d672c411bb0644bd962e41f60dd5385a5c04aee1ff7a2f5b847eb8"; + sha512 = "c3a03115b7f7599d2e6d1bdcee8fba27a967c05809bb29826dbac670b092cb6e290f1f9bd955b880fa87b99884530802644b1d32107ddc1704cc31a42452a570"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/br/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/br/firefox-71.0b6.tar.bz2"; locale = "br"; arch = "linux-i686"; - sha512 = "e80b7a6ea23d381b416af92502b74de117eaf406f139705390b756c604b58fb874eab389da7d4adab4a14925b53dec66b768892a12324f2f57979ddf9b3fdff7"; + sha512 = "2a556badf0e1a64b1dd1e47ceac5e3e8be24998eb4373e0fc03b63518200d41ddc5ccad4ee679993c80a63b63c38e3c4cd28b2a3c96d344210bde628e0d6dc27"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/bs/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/bs/firefox-71.0b6.tar.bz2"; locale = "bs"; arch = "linux-i686"; - sha512 = "72b3c206cbf559784bd2adccf3a24f85f840e26b4975b3b0a2796ebd5c1ecb2bb00ccf6c1cfd7fedca191fae33f6abbb71d742e00e74aefb7b4314c91c0bf0a1"; + sha512 = "909a21a318738fddf063f70489ac47648a16f666ce7ff93b152305fd3f932db939b71ee75e27131451ef14e3e0d5deb0c33cf4e9f0a174e1b369192261e28624"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ca/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ca-valencia/firefox-71.0b6.tar.bz2"; + locale = "ca-valencia"; + arch = "linux-i686"; + sha512 = "e7414535d0a0c0291de4076242dcf3e44405408d885adb551c951600f2565d524080064c8ad7d475d8e3e884667b99f99fd55df7266e9bd453c907216fb1af75"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ca/firefox-71.0b6.tar.bz2"; locale = "ca"; arch = "linux-i686"; - sha512 = "450f99474c8f86c5af4bdd210be09a6c05d9638aa9efdcabc8a0d636d7965033f4b885fe6a48d22fd50b6144fe461fb0f5aa7870fecbafa9f1b8cc769465099c"; + sha512 = "cbb1fc6cbe4a051afffb4c67d4bed4b97dd4511da4ee283bfc27400550a1a4cae2984f847892dd271472e6f09970fe5229f137220544785deca837dfe6f241e9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/cak/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/cak/firefox-71.0b6.tar.bz2"; locale = "cak"; arch = "linux-i686"; - sha512 = "dd9396d37038bef1a0dc8b052afce384c83c7aa9ab9992fe6eae879b6721b251bed5c12f7b1599de86658e16829bcee15b411ff8dd40bd8afda29ae5996bb041"; + sha512 = "79cb0c91bc2d6567bdf0ef38672f35f1c5a484b8decf9efff8d9f907b26b5cad5bfc71c171185da0561abcc92889cfd7a8fd974a532cd9acfd6cc8e6bdd68ad1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/cs/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/cs/firefox-71.0b6.tar.bz2"; locale = "cs"; arch = "linux-i686"; - sha512 = "bb722cbf74437cf3ac9f870fcdfdba191334c3f6970e1ab0b4d0da8257e60cce09d65177a4f81dbbf225e73b03a8616aef4289a27f25440e2526d96a501443b1"; + sha512 = "b1a5d5619eece10b1d7e70e14857a0965175294808253238e3ab432585662d3c16c56bb6bb989225efbf271f1d4eecb3d20fd4561b0e8994538516d54fc9386b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/cy/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/cy/firefox-71.0b6.tar.bz2"; locale = "cy"; arch = "linux-i686"; - sha512 = "e6c0f84a810005f2081ef8cd88b94e689caf07c5aa08b4c2f9ca5d5cd071a8e37d1f572c82b262f3e26381a6097c54ab80bfc4a0d09924693937751c7a1d79d8"; + sha512 = "3e06fc68797f371f918ed10b93f6984780e81344dfb014e790e02351d8afe72974c8234533683ec87d9cecb6e0ab49f5f1b7f61c9058c4ac275a5f79627c5827"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/da/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/da/firefox-71.0b6.tar.bz2"; locale = "da"; arch = "linux-i686"; - sha512 = "d209f91aac27c9cc0a075cb51ed4f9d41aaa74a7407892ec45ab2ce8c09e77a725fa6e8287988cd53b0b681be785c04babe13e19e63c25351cc6cedd84156a24"; + sha512 = "ee90213314fa0ad3267c97eb00cd81205cef1df09a8cfaf162d707d8d3dfcd95e2ada11cd1458c988a7ab95df7a1eac55f7e2b3107c26690c39dcd5d441417ee"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/de/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/de/firefox-71.0b6.tar.bz2"; locale = "de"; arch = "linux-i686"; - sha512 = "64b843eed8012fdb91fb6573e2e7e8900e3d3ce2c476a509e1171746261ddd1c15874d539e416d5c0607b34e19b01d56f2d497e4d09c595d29febdf3461094e9"; + sha512 = "9f1aee93429060eb0fd60a19b7622a4bead16b8c3609a00afacf7e41f437f6e2e75cc2b4bf7785e77d6e1bf1e51899a176c5fda3b3b88ca549da903ebb3ddfea"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/dsb/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/dsb/firefox-71.0b6.tar.bz2"; locale = "dsb"; arch = "linux-i686"; - sha512 = "27801c40f75cd6824af2f6e583b99396c07baaa66c1aed6bbd7382fa85b7969ebedb6877dc0a979775ae153c4274dcb970401cf5686bf681b3858009eb8059f9"; + sha512 = "80d3b7edac9accbf47cacf8cd3e31b0568423b7e133a347508ed1ec6862d1f4a6558f975fe0bbb762888a25c37dc10e9b20a60ae9c4d313918bfb7f85cd0328d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/el/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/el/firefox-71.0b6.tar.bz2"; locale = "el"; arch = "linux-i686"; - sha512 = "7c4452fc29cd4a2c6516445fcca6c470f9f8ee81ffd600dae225eab8857ec43593f85b182b2e252cd04f3a6279a86dbad71ba0c2e0b723cd6d8c4a354b3cc582"; + sha512 = "46f7b8931354ab171d60e5871091a0c214f0f9a7f4689ad8a59bebf48343cc390c4ab38840d21536a3c32c1cce59307402e542cac5ed056efc5f33009f6ead17"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/en-CA/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/en-CA/firefox-71.0b6.tar.bz2"; locale = "en-CA"; arch = "linux-i686"; - sha512 = "53e7855ab3575799e96569115cf5882233a31e4af1e15009b85593c7fc086e85b7bdf0148694789b816e8a469665f82cb5f1448aa4cdf160a5f8abc97f92253a"; + sha512 = "74ee6da165e6e35d511b9d0a715d4bbc85541014728b1bf8bd526a3ffcbd5794afd9f00d8298ed194713a9053ad514434cbed7d4e34a342149de9f2ee2e0f126"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/en-GB/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/en-GB/firefox-71.0b6.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; - sha512 = "db512b8a4a6a46021e2a24ce0ead90d8f56b9eff756b9b1a6c8cc1290a96eb51d763d96c0475c7636b9ee9a88adde7f3c81eb9366e3eab3448afc60e2a060108"; + sha512 = "1c84689bd6861752b2bc4530b4eeed8809b37f02dcb57d01716cbc347e6e161615046e81680db751acadd4f8d46e83b0d5c00b0702c7ba522148e89313a47b31"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/en-US/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/en-US/firefox-71.0b6.tar.bz2"; locale = "en-US"; arch = "linux-i686"; - sha512 = "eb6ed30b684c016b947e3354da57b5886b29524b57f4bff4e071fab5d5ae978b94adf0572e74e9e31e15e493098aaba03344b632d0ff71145f90a8e5c7e367d0"; + sha512 = "1750ea484b386b845e299b4ae7f7d3e6942ba3c765d09c6b94dc0d1d7da011e17ae05f84f379a0fceeb6df54a3e81f61f5c334886feed094bb630d62371ccc1f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/eo/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/eo/firefox-71.0b6.tar.bz2"; locale = "eo"; arch = "linux-i686"; - sha512 = "b2b343ec5448978d9ecefbe1c73c94e8d578d875dffa09fa3739c396c3a09ddef4bebb7bf2f5c12b1bc39fdd3b8e89185c2a514422883d0e8856af854369a501"; + sha512 = "b67e3423ac2801dfd80423b5faad2b1a216148fd5149fd787827f03745061d808e77ed352e21081f033129de2fec94b0951a16435357ced8dab23a8594e766ee"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/es-AR/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/es-AR/firefox-71.0b6.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; - sha512 = "fbcc4138161f11c0c61eadfef889a72aa691bc5b9db961a52cda092b638ad5d2313fb5934bcf2dd035f225971bfe1561acab549da61a7aa885191ca2c3112d7e"; + sha512 = "222aa7f906ddb829d6d95ad0ff64f080c26766f4ce83ba971e0e2a8996e471398882de24cae3f3fb51206c67ee7e1022d8a7d3d86ba70fc3147a2b914e4186bd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/es-CL/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/es-CL/firefox-71.0b6.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; - sha512 = "ff8908b2c09877a2c7cbb0842e826c51069234656efc9b7964c2432e3d61154596cd63864a3a6b331fec68ece3118e5cacf9014389806dff8897933d584c537a"; + sha512 = "9cec91d7c17c7c2fdf2a2507e71cb25c10b997de98f2a4e33a4fdf8aadf39c2ad9a539b15413a76dd86f8a0c370e8fd7ec1822cb3eab9917fe4395b57a8123ff"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/es-ES/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/es-ES/firefox-71.0b6.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; - sha512 = "1546d5d67b1b4c778d137b35189470c1aec01e617c2ea8b52bbd58c636b5e2a262db5a8f02bcfaa45ad1fef499d9c9e135eade38f3daaeab6c456e52458927e7"; + sha512 = "f609a5a48417746b5c64f9765c067648581566b8ef3aa6935a9de9f08df12034f4e2f0af839d76e2adc1646244ffa58b1d50e4b4f8970ef043985c3e60ba9e6c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/es-MX/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/es-MX/firefox-71.0b6.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; - sha512 = "da8809ae2d281547be55b0d3db4c779758ecd5c2b8204f54f732708816fa1d653f593e9e0bb24136213f3d1e94dee6394e47326b74be2401ba59732ff4f8dff9"; + sha512 = "34743906e3f6f7add3727c876f44aa21af08c178614940363cdf788fe54dc20a582c7d36eaf242355cdf31664aed7d807c8acf361aaf535d97e4ee06e4f4b219"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/et/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/et/firefox-71.0b6.tar.bz2"; locale = "et"; arch = "linux-i686"; - sha512 = "7d9cdace25276f868e853d7b964d1fcd18b7109d4072db49984d5d00628c9910c99cf494304fc962245f8d551ca9f95a603dbb1cc48f655b724353e869237218"; + sha512 = "ffab3566060d248bd7c113f9ab462d6226893269eda244dc1e4c609456a987cbd0f66bfcd5478f097d9748eb0499e9d666d147cb989a3084a74a97dab5193afe"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/eu/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/eu/firefox-71.0b6.tar.bz2"; locale = "eu"; arch = "linux-i686"; - sha512 = "e3f8db0d5be3fbec65d27c3cd4f2272fc5dec401ca19a0fd5bcb7b48a196e81752d2b1c6b72bc94b3294ee09eed58b765790663185973ab34fb7816c38570ce5"; + sha512 = "3ebbf87b65150cd8450287341f2357c8e8c102a80b91b61defd7800153e3b53f44d93825504dd1f818b82548835faa1324643bb7e484506f0b193043994c957d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/fa/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/fa/firefox-71.0b6.tar.bz2"; locale = "fa"; arch = "linux-i686"; - sha512 = "5be17588077f86e6766e1c257b73e8b81b2213f3f9079c01539578a6480fd07a90d4129af77f81418b4dca8278c44bdf997b3e0686ed1c2e8e4a5269644d21ec"; + sha512 = "4ca347f377339c31f75c5dae713589a834f4f50d594a060cf3e2c07d1da8318013302f23f43973e0db8cb3f3cf42abfdba0357a085b8bb74fe9851c5c798933b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ff/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ff/firefox-71.0b6.tar.bz2"; locale = "ff"; arch = "linux-i686"; - sha512 = "57f543f448b8a4abc99201eeae76b0574841a5c7815d7303844b5cdcb4a5668fa03483d9a2953f9a56bbe175f8f82e94b4aa58d77174e5ca26c8755c25cc6c63"; + sha512 = "595763867baa20475057a576171d6ef3c1399a29c7a80a1e61822ddc71670a3ffbc4aa8b99dd857d91fda1e00ad1aa129bc79bb0cfc9f53f1147bb6c0c9114f0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/fi/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/fi/firefox-71.0b6.tar.bz2"; locale = "fi"; arch = "linux-i686"; - sha512 = "bfb0d7c4a4e4d0633879f79d8ad5a406e7e3d57f80ab1f1eed671ef85ff7065afa826769b868c90b8e90b87dc012016b419eb0a57de344ce51f49bbf61094931"; + sha512 = "92dc11a2e77b7286932067f3ac45f4bad752fbbb2649dd6ad9b5e5dde2838e4881aa26143b77775964149e2ee877dc5f38da2d203e1c04db1b1e2f24cb879768"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/fr/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/fr/firefox-71.0b6.tar.bz2"; locale = "fr"; arch = "linux-i686"; - sha512 = "b944d8473f8c7a859b738d78140fc6b840ae7798a3a0e8c237bd81f411f87129528ddf68f33da6578547fa768fa1465625dbc4a94f265491722bd4f23a614ce7"; + sha512 = "37e23c8386568b68603e499153e3e258a56af45eb334255023b48c32b8dae32145460b849701def48ddb812314bb0c881766d68219408cebfa2e518eab2900f4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/fy-NL/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/fy-NL/firefox-71.0b6.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; - sha512 = "445018db73c97ffa87377bc78162cbe2f31dae2ffbf47ec9e0bb42001e5a15787fadf4ce2d4027693eaca4edbfcee72a7e3874594d3409384df62c91b118d388"; + sha512 = "dee303e4b71814940f8910c6ed2686cb388e4c63d18fb88cda4437161f9fe60f65cb5c6bdcefeac4f56c321dc60a38ad77c2b1e2f83edfc54d8a87ec1f85abec"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ga-IE/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ga-IE/firefox-71.0b6.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; - sha512 = "2a6b8f3ecfacea21415daa0dfc8e3797b5c3567e7e7bb9ec933525d2a2e9e51dfd94fa81477878e2bca68f8127e32e387f43ac8ceb0c02622813baa5b17fcf08"; + sha512 = "408bbb2f7cb351505330132974267ceaa90a86aef27d6194338810c40770bbe54d72945b1cf54a2b59d87331480d5bcf5ed6c327c65e890126ae0003840e4f18"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/gd/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/gd/firefox-71.0b6.tar.bz2"; locale = "gd"; arch = "linux-i686"; - sha512 = "474d524fdab0d83bad98e0f05348d8db0f49c11f2e50e7b5221137359e268e37e662440961bb206cb2ee44aee9d07b4565bb8b27a696ae0df89ceff76309820b"; + sha512 = "0ab9ef7d43cde2ae8042ccc16b1f82552e5ec09d9ccf23291bc19b2d53524cca34bd61c090c317b0c5d53cd93d5a994b38a3abbe636338a7a508966f7404da2d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/gl/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/gl/firefox-71.0b6.tar.bz2"; locale = "gl"; arch = "linux-i686"; - sha512 = "ba2dfaa33b47ce1106496783bde98b1ff7cdb0171262feb8890a6ada29a67c34165b8b7ab58aabb89029d0571a6ff8cc83b14c310270e0e7a725ffb9fd7dccc9"; + sha512 = "71711dc42fc674efe4df9bc1eb3b3f51a6df9eeaa919d21b65585e62fc6fb33f357da9708f25b7ae2d111353302b06230fd5279749788d8c06d802fbbb6b38d6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/gn/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/gn/firefox-71.0b6.tar.bz2"; locale = "gn"; arch = "linux-i686"; - sha512 = "e5f5bf7d20eccc3d860ae2b8c6aed372944f23ed6d7a41774141cf1d67ab40c8bb2cf7e8e5931d37b9951668f03c6ab1271bb57ca7ead9aac52045244fbce93e"; + sha512 = "dd810f573d203220c588f1daf82628a62e771a8a5186d467675839fe94774f9c7a5741a8066b273d62f79ddcd9ac628248e651ffa379f7c7b13ec52375315573"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/gu-IN/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/gu-IN/firefox-71.0b6.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; - sha512 = "9ca06aafebb4ae5a65af94c7fd4dc30bb0fb37d6f50a8a8d0b5d3a92cdbfb7a6a5fc609f5f9d93c47cbfd811198e19ab554d47cb7a03db5a9848135660b17f43"; + sha512 = "c63b5ace09a07075cd274bcc9487cc8c8f2ee738b42b5206354d997d1b29ec8c2c83f3dca89902e90c5bd7c5f96b2e4ae707bf6ef519d8f6d7a1d979523c5bb2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/he/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/he/firefox-71.0b6.tar.bz2"; locale = "he"; arch = "linux-i686"; - sha512 = "ff9331af69d497b9886b7fbfe3954c0149e170973c96d0bd23252e0d9f97964f88f60e8258785337c8143a5abddfaa4da5d1222b27c42e38686ec44c738521a3"; + sha512 = "c46460435482c73884d62ef77c8f92d3b09a2bd4b4485b1ce4f48d80e9695615df42869f1b5cacebd7b9062022cd7868bf25ea0995457490057667144608a4d1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/hi-IN/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/hi-IN/firefox-71.0b6.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; - sha512 = "d50d6887657b6dd61db4d53c0008e42850000d56a56b53532900cd6384c64d029a7a276386a5b46aa74b05c5597a4782f586b27cb01d34058c124c5bb58faec9"; + sha512 = "22e6d02c3934c6ebd7bee848672ab28d8363bc178646d33254e9fcbbd6790c92b121b36c429b6aae422e4cbdeec26158f0a1533dfa601ed465659c706f7b934f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/hr/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/hr/firefox-71.0b6.tar.bz2"; locale = "hr"; arch = "linux-i686"; - sha512 = "d5c5a069cc845544cdc905c9ed3083329b75e367c99accf1986a799a6f69f081565ed0c9e5bfcc6ea9e5c4b606262e60a62be6d4271267094c5aa701f090cdfe"; + sha512 = "f07d9a3e06a4957a0d614bc45578c497a9ef2f21e39132943840d6bd6d51aafb5a88925fb9b6348f1de55ef831f14a20939685fd79a7dacf0cec42e6281483ef"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/hsb/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/hsb/firefox-71.0b6.tar.bz2"; locale = "hsb"; arch = "linux-i686"; - sha512 = "9b2b8198bfad4f9f1bd5808c2d696abb1473230afa20e42e216c6616821a98cdb6bea6b92efdc8280892e04a0c1b6a967adb9c69fdee9f9c1bfb4f6fd4d17da4"; + sha512 = "5efb205a729e7ed3d16ec3459f544b138fddfd70cf7494b12e31c9879cde18ba0c2f1ebaf2b9085a9af5e17aa066b48a4e52c959627eeddac8d025bce7924934"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/hu/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/hu/firefox-71.0b6.tar.bz2"; locale = "hu"; arch = "linux-i686"; - sha512 = "bb189556077d8490596acf9433146923ac6a68e26d804fd6946a0af1b247342f5140693d777b9dcda41972ad2ca6773b362381ffb9fecb58826c0353511065e2"; + sha512 = "4cc9d7c92e285d9100df3ff3e9ce0f8dcf803b540dd8c87835179544dc9f252eab68135d0f67f0626829c918e8ade6826a4ad87da69efcb23e36a85390009217"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/hy-AM/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/hy-AM/firefox-71.0b6.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; - sha512 = "a295c182fb7bb80d21e551156e8e1d77327311274e22eca16f4640e833a4db21597e3e4b5f64e2d39dc40bca387497ea78e2fa198b760062a33b1cae86c6405a"; + sha512 = "11c6a61219789b23791461f6f4ebba4e726e5dfc53b7fb1ae2f23b602b75d770edc8399f55bf2dadb863fee5953cb118ee2ec931c3b9a5d4df3b307526a89619"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ia/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ia/firefox-71.0b6.tar.bz2"; locale = "ia"; arch = "linux-i686"; - sha512 = "9a5f01f6164751f0ed8cd34e9d792fa889a5a7ea9eefcc3e8afba20ed419da984db0983126122c8cc7770f0b34bdf1c39695632f737aa83281b01f8f713b43df"; + sha512 = "feebcec542b539c41b592116c5dfba3b88179d87d0a83090641079a1705b7c275c1fa8c7bb8dc31ed0a06ec62acf42dd2e39700f6b71b408182870f8c2d971d7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/id/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/id/firefox-71.0b6.tar.bz2"; locale = "id"; arch = "linux-i686"; - sha512 = "3073f0b719b1b4d71eb07b9f1a62f51176377579cdd8cdb1c8ec0876fc820289db29cb13f049058d0efcb955c15a3c377c4496c458b4b3fe438dcbdaa9d6fc07"; + sha512 = "dba5e3ee99597d7bb615473b9715b1862bde5e45a631320e6a4c50f1b497a0c42f585ecff67d6728075821f19c83d9497788f7e4cf34573b4139eb2a164de004"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/is/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/is/firefox-71.0b6.tar.bz2"; locale = "is"; arch = "linux-i686"; - sha512 = "15a8593945e4cafbbd4a1b274c652fb121cdbf567031f6919e84767df65eb4f4e42d411b4799b8e5299d6215dd3f1cfef5104c9197c1ff1feb68f89e0bcfa2b2"; + sha512 = "d2078a7faa0edd5f5210bc5e4c7ee53a303aa6420b8ca8dc1ab764e17e141acb8412bb732457946380c4cbb0199b672a0841cdba3097bfd6e69bff6947bbbb97"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/it/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/it/firefox-71.0b6.tar.bz2"; locale = "it"; arch = "linux-i686"; - sha512 = "55c688602fb41d39cf4e33f96b57ff98d466623ca80281564ea6a4384b1985d29436f7288f56e969151d9873cece10422abf753b262b5ac6e283731397e53e91"; + sha512 = "55787b6d2cd8013414897da4b279e0937d54488bcef35c63753633ec0f56c8dc0c10508f06e90146e3c4ebe1f381229801a994cb497f2fc1bcbf78f8abab1ac1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ja/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ja/firefox-71.0b6.tar.bz2"; locale = "ja"; arch = "linux-i686"; - sha512 = "f350eca93c6110e8a258802be4ff1cb8b07e819f2fe3b24e912f296c4e18cafed279ad5ad8eb093f3bd7945b0c9cf5466d673e5b4ae342a3b2d0e418e5e6c86c"; + sha512 = "02a316992254fef959a1618dba98730270cd751074330e6719fa45ac1a8b2c32cda90ce11b453b950ba4e1c679035c582aa472119676c5ea1bf623fe70367bc6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ka/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ka/firefox-71.0b6.tar.bz2"; locale = "ka"; arch = "linux-i686"; - sha512 = "ce392f476b5eb00620c2170cda585e4cf73416a5d564446e65e39e0deea538825f3d91e91e5624c353b163983efd0bf844baa9a52e3e308d9e232d83f9167d0a"; + sha512 = "f5d93a5c47ba9eb7b1deb7a590a9fdf3d3567cfadae779c44c6360245f371f1feb14d64eb70d1538426a9a6005885d115826c11f673006028eb1b484bf0568ff"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/kab/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/kab/firefox-71.0b6.tar.bz2"; locale = "kab"; arch = "linux-i686"; - sha512 = "ffab6510cd2b68b0b4b57ae1ec727e391a0330cf44c9c1f9fb8bd1385c8dc86f1de5dcc5712b0f0dfa5e25920eadd6561501579ee5d15ade22fce747ba88b988"; + sha512 = "718cce9a90139abd0027c7c730ac5e5db95922d0960744481e05a4557926b62683df71052b5162ac614648def658909880de1ba5fb71b5b30975b0f97fb7013d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/kk/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/kk/firefox-71.0b6.tar.bz2"; locale = "kk"; arch = "linux-i686"; - sha512 = "f9aa18138713b9b704c8d0d3fd8a5d2c5f802d3b23b7ad89d7f18eb885b9efeee53b94117bf7492a4fe83be19b5052d5ec6fd8f203d96f7988e5cb1eb524f496"; + sha512 = "1ec72e2a607b302878c30d78135ec7339d2e4a88f1e1f638aad0d21818c638bc6980fcf9b2319d6c1b4a32814a51ace010fc4ec1795415275ea0c6f7782755fc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/km/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/km/firefox-71.0b6.tar.bz2"; locale = "km"; arch = "linux-i686"; - sha512 = "1f0a4ba8942210a0ffbee2ec09f79d628638f58e26bc83d175d0b95ccb43636c976fba556720b39b42c37ac2fe67bd52c28f0a2f672706d967d09a26c3e446f0"; + sha512 = "bc378c99b85df9c63e03824f3462ebbd84ece0b10eb4676d4e4c7deecdcb73945c63087628605a3370df4bad9b978c39728a157cfb96eb038faf9a3c65c49dda"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/kn/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/kn/firefox-71.0b6.tar.bz2"; locale = "kn"; arch = "linux-i686"; - sha512 = "c23fc4fc298f88f4aee69680156d95fc98fc311630586d5a2a964c8fb74f2b56483e0b4267b90b1a3f37815ecb379e6583e7c801e57a94236d35e0e68f68bcda"; + sha512 = "d7c902977156686b23b29c02386a743974e9d903cdd8b15b6761397e0fcaa94b83052603d9c807fa6914aad2101cb26fea6e767dfa101ff7b610751403786c4d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ko/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ko/firefox-71.0b6.tar.bz2"; locale = "ko"; arch = "linux-i686"; - sha512 = "4dc91ea327d7c69b68bb065eae6ef812ca01c32dcc22048867e43130b15a15edeac505bbf859d96185f90fb3958c74fb0c3e8bbb58c4a0d7856837f864163d7a"; + sha512 = "a7424b79e8d1ab631dac6dea38bf999cc7c998fc8dc96ac4955c00205d0ca397a57c37cafd74fa431f29e88feb0fa5abc1b8e46dc11d36c932ad1a0c4637ade8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/lij/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/lij/firefox-71.0b6.tar.bz2"; locale = "lij"; arch = "linux-i686"; - sha512 = "3588c1b35428dde09cc0262d3730407ed4bcf821b28556f7b05fb60250eac006e12ef8a929327a80429bab195632f9f40771467e572dd6821c646338d3c7d862"; + sha512 = "d80efe8613a1f9d0ed95a71df8245b29e078a3d7eb1ef574953a35018a3198a2f30cacf17467857ec7a943b174538a528cb19b3f787ae5411fdc845a9ace085b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/lt/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/lt/firefox-71.0b6.tar.bz2"; locale = "lt"; arch = "linux-i686"; - sha512 = "972bfbd93200dc87a6f9cb246b30f301c8db216dc9067bf40f42cbd73ee5795cbb276ade5ba44a6e3df2239d481ea305f4499fe88f42a0f7d0071f84dc2fc9f9"; + sha512 = "b4b93a59ea67315a623136629d66baa46e389fe01d1a6eb2cceafbc8e25570dd91d830fb3a7120c7c59e42d7ce24c23109aeb6a289756797214d6ca80a1661ba"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/lv/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/lv/firefox-71.0b6.tar.bz2"; locale = "lv"; arch = "linux-i686"; - sha512 = "c7a0a65c0649059cf35b394b033b965b3d708531f6a8414d5fead08f2b5e5fd907c903c23e22e9bf5cdc78255e0215dfe34ce45ee96fc619fbca87fe086ed32b"; + sha512 = "f4e2d4cb15586b96f66818f21b35ee368acbdb5dc546b1df5aa20fb59ca5d4a2dc6ec2b08427af1622756369d67997e9bf8130a6370696219dc6f44e3a2ac557"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/mk/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/mk/firefox-71.0b6.tar.bz2"; locale = "mk"; arch = "linux-i686"; - sha512 = "677e6238580a561fa86dbe1ba8d293aec4d51ee96adea11871e169e1d6ed0c1de29a6a44c374c87aaf93b00178719f142b44821d3f2f866cd43308f7ddc95784"; + sha512 = "ef1f17ccde55e097ac1eb8a522749d1b8c4f10a45920fd9771676758f59b396372e38b420c11614cbadcf26f1d109a9051ce8266d567c7064d9fdc771153446e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/mr/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/mr/firefox-71.0b6.tar.bz2"; locale = "mr"; arch = "linux-i686"; - sha512 = "1457c464363505e787367bad9b90e6396da7e5d0840618cbd02c1996985fc42af4279ad9f53b6f0014c9f0296f1912ca5bf7832794048e69cf5a7d5b89ffe811"; + sha512 = "c3a8924dc813d9b34f55e87f984cc735156dfc1b1f840f5867e0539297ab3ec09c008bf44978411d7fc821d5671a49a0a53acde10eea847d2855fff80d40ec29"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ms/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ms/firefox-71.0b6.tar.bz2"; locale = "ms"; arch = "linux-i686"; - sha512 = "54d0c0a9a17534891267a3dd89682a1ca24dfa42e13c0a68ca67ac800c210f77a1b504d2ea0e16293df31ac716dac2e646fddd6eb4a5996e6cfc9fb578391cf2"; + sha512 = "1186bd1679a713d2e79d11422332fa9f3e600c1a9ce1e8e26338e06d5ca97e2ee1d2f0dc657a78fa9590dd0421545cab3b08f4cb000af37033cb06c1b75adeae"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/my/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/my/firefox-71.0b6.tar.bz2"; locale = "my"; arch = "linux-i686"; - sha512 = "21a851362356c568d93a24e7038ff30c376d712d0ba52d9eb51ad325d43e6a36f3565b48385b54bd90f846d03b626e96e002264d10741005403ab6d30364feb1"; + sha512 = "fd99f7e218ebf570ee1dd8473fe9896fce2855b591aa25cbe03f5f78b0e36bc4587efe5630efe95023a16fd87dc5c221916bcaf0a5423e2a7d3f1fbf015c3c07"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/nb-NO/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/nb-NO/firefox-71.0b6.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; - sha512 = "d625f65dfe643608689b2d7858f06b3e1b06636249be516a76798bfa728827592a543e5e61279c7b8a5e8a0c07a17510232bccc98fa8fdac3f98806b94582db3"; + sha512 = "fcf0e084f20ae15c820193180a541576968cacb0bba58821547811c761cbe4949f0e8e93bf0713e0d21fce885c5414ed3ff84925cca51e1ed4f5d8df520ae53c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ne-NP/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ne-NP/firefox-71.0b6.tar.bz2"; locale = "ne-NP"; arch = "linux-i686"; - sha512 = "5d85049a3d8f11b164d091cd7925d456e54db63fb93883e42306b1bde48c502e3ffab120c4f9d05de688086ab94470d4eed827f24689cb1872cdaeca6bef7233"; + sha512 = "6037ec1a95694c099850629d0048612984e9248622bf7527ffe4fa143644dce7c009d849b46e1ec55d4d33b306fdf9fe3d3ccd78071f63fa2cd7f6038705c033"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/nl/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/nl/firefox-71.0b6.tar.bz2"; locale = "nl"; arch = "linux-i686"; - sha512 = "9716bbc5c5faa1ae284b7182f0473823d265993dc43c4ee59d6c6c17ada6cf7d898dda64cc7647ff65f46984aaf1658a5a3e2c50361d5a731ba6b82844d7b432"; + sha512 = "ad3ad9dd0df03c5e702f33e67810c32eff250f951970ece9517f1869fc95335d65e50547b45073051b0113b5bcd071052b4a3ebfe1cfa5167ebce4835a976c7e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/nn-NO/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/nn-NO/firefox-71.0b6.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; - sha512 = "f227cb22ea4d15bdd4b20f2096f70d985cb3d9e174e464462c718a0bc6f533bc0c5bb098dacdb1a8ecc6fb07acd22f5dcd365e266208f75423677eb2bdf4ad65"; + sha512 = "efdcbf3b646ab11d0671ae09f15060e3f88462d869aafafdd7b2833e841753e1abbd5c115a94a1c9214b277e2d12a85600a425be3b913d1a66b49278b4c762b1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/oc/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/oc/firefox-71.0b6.tar.bz2"; locale = "oc"; arch = "linux-i686"; - sha512 = "0e116e00a58d1086093e321a188c2c060f9dce3374cb7152d753064e170eca302c0698cda110ed12a4e41b669c242e3865165bfafc4463d1ce583d0854e16075"; + sha512 = "3806bd7ea0343a74fa4d66d6ed30090f9bf33ef3e2bb1c40a55a3ed38be0ad24bfe6d35a4c0bdadaa9100404d7d704e0dffb6f6887210523394fd18c09c6cb4b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/pa-IN/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/pa-IN/firefox-71.0b6.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; - sha512 = "9966030d3fdb5da3e2f943078294615d64fb019ca67e8fb335693580bd100f6f10ad760b50f7d26c68098a3080e87359dcb1c22ab657c43c23fc2cef3738eb26"; + sha512 = "09a4b17b01ad77898499b17a3e8c174d1f35097def6d807cd602a5539edcda49c10db27fe98e738a78bbc5932f4bc0d956e3ad296dba79ff4ccce6fa50ae2f4a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/pl/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/pl/firefox-71.0b6.tar.bz2"; locale = "pl"; arch = "linux-i686"; - sha512 = "ffb5a5cffab404ca1685f925580c47eba975d7a26af1ef31f05cf8f1e0ea72d130042f9b11e69427a2ab8b86fe47e279040af95a18869bad0465869c43a988bc"; + sha512 = "33996f6536932629f0d55c17f93f79d81e9bf2a83246fa5587ab8304ce4ce5b2c7e7151d447701abf3c359171cb45855b28ea3b5fd5c64f65dadcdca80ab060e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/pt-BR/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/pt-BR/firefox-71.0b6.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; - sha512 = "14956079e61152b99696ab29a92b57a3671519c4f58111999587ab796dd8e7d6805828e8d14a59bad28218c136f282ef052e56daf024ca3923ead95d7eab0af9"; + sha512 = "6e579f3e70bd30174422aeadd39fb0be373cc5d0f1e34fa75209177466c75710f90a0a3165980f794f4d7a2f701a59b2ea4fdc3cd8e39ddc09630442e09b44d8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/pt-PT/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/pt-PT/firefox-71.0b6.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; - sha512 = "cd5fef4336203fdfbd8af89a3cc17a01e88ddd4fd670c3b778b1fe228325dd35fc64ea6d0c85681cc1bbb51c588b53972c85746d9ac0c860b3143ec93a344361"; + sha512 = "0ca174389788cf9bbdff7b3193c13cb2f1aa83d1d7f967efbda3855d8606d2318b840f65f25d0b7abb5e1466b8b8f7bdf1f4d3a0b33379343510838f447de3ad"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/rm/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/rm/firefox-71.0b6.tar.bz2"; locale = "rm"; arch = "linux-i686"; - sha512 = "33d608066859460da6a50012fad5a76eb78bc4a3f8565dac1753b80b86755432340c6e9b5e13c319c24d89547fd32567ad99853ef7f954aebda9b15e2eddd064"; + sha512 = "9c2c762724c503fb81e9e55fc3e333caabb81e6d063a756385b51658866c58dc07190f5bebec27e317731145c763ac7aed7fb53692de15c68c78260e3f518193"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ro/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ro/firefox-71.0b6.tar.bz2"; locale = "ro"; arch = "linux-i686"; - sha512 = "18bb7599738aff68f75dac1a6cd87e6a3a4a326ab64e9bf36f28d3e4890340c07e93b938d77ee4432548c5880b79862d9c472e283f638aa9e2d977ba8f54f686"; + sha512 = "80b5f9e7d1a9ffaefcf28f7c5ff4dc2f5d8ebfc9274d674c396bd2569e5309ba7e224da176c84a943749a605ca6634f7441c8f81225f6f8ed4912ca48409bc5c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ru/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ru/firefox-71.0b6.tar.bz2"; locale = "ru"; arch = "linux-i686"; - sha512 = "c1a0c7b717740167f9906a2bec1d81dca2754c7a10f2139bee269bcad6b9d563f5ddd25d05bcc7a0621b910366853aa43663bc6d711fc1fc3b53e407dcbf9805"; + sha512 = "63910164184c3c81d22c1d6b4450502eca4dafcbe62b015b3bcd3f47772ab482d979f2e34f050e219b5a87466bf3ebeff896cf27055669a2ffcde313e1948701"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/si/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/si/firefox-71.0b6.tar.bz2"; locale = "si"; arch = "linux-i686"; - sha512 = "e807ae18343102df9030189f6e067062421a64f1fbfa9dd0d9e5590e727c049ae849dff2fb581a2f4de892fed21144a792535df188dd08c190c24dd1a58dfbe1"; + sha512 = "79dd2082a8de6ff7ae9f3f47d5372b0a234441dadd428cafec544dc527b43d01434c49f5cb47da2c689b4b9cf8a45aff7f73064aba470bee84bd2b13af8f1aa5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/sk/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/sk/firefox-71.0b6.tar.bz2"; locale = "sk"; arch = "linux-i686"; - sha512 = "35f1206c717f5475f4af6ac74bab0b691b21789457496c1226d6ace5d4d0f8f88e2c3467c6a01eae49c013b972e07f12b577be6543219b1a274340639799b2a9"; + sha512 = "bb2cf2e3546f5d2b5a1c163165ff37461d4aae87db6b7f2b9e340f56dc60c29d806e2b699ebca6b00c1cf1bc8d74db2f72fd3dff9c4a7aeec0a03d93a23af73d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/sl/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/sl/firefox-71.0b6.tar.bz2"; locale = "sl"; arch = "linux-i686"; - sha512 = "d665b46a8e6569e8e0e41411e647d3a27b172cbde22e3d9157a5610dfe559d6648adcd65418c45256d8fb9f56022ebf8d3eabadd9b8414f32565c421bd74e371"; + sha512 = "25f0f66b27f03c5b2e69f40da350db53a78b756a1ad7dc47453c33a2f6c62d558572f47c8159701805513baaa5b598d31101b7fee98f87f37366f85703033927"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/son/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/son/firefox-71.0b6.tar.bz2"; locale = "son"; arch = "linux-i686"; - sha512 = "e0b22c18364e4394cf982f2cac370bff79c5440a949d5e69ef753bdcab05688b591f3d54e2721507c502f05a094436fcb219c8fa4be33462ffc7fd5090506944"; + sha512 = "2dd69052b1ea296e9c49a72a4c2f6a00c35f168ad162a86f101a0c6201a19aacca3ec8f98f2fdb13571359a2d6380d9ea9e33be9ebf74271f117becc72b09152"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/sq/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/sq/firefox-71.0b6.tar.bz2"; locale = "sq"; arch = "linux-i686"; - sha512 = "75050296533af930bc1fa4602246b9d6db0aa48d1fce9a53212fc11041a331236fa88f70d8179c9961f09810d06df297d9dcfce791357e8c7db956c160019f67"; + sha512 = "bbb9241e921837d7393ac562078be01085ede14e73f1179c6e07f59360026f6d5c2220a0067fed096526bb39660dfcc66100c8ecedc42dfa89b93499536720cc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/sr/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/sr/firefox-71.0b6.tar.bz2"; locale = "sr"; arch = "linux-i686"; - sha512 = "ceb21bac8b36872c7ec47053846e20376884678e7017632164026f0b6a8cc56416cfc4c693229964e287381739d5018836da20f8e5d636aa9607c80567a0c36a"; + sha512 = "1cea129186274ba3491829882bf51eb4199446b3c894b4c1e5bd010252564d9e0724401e700692bf9c2939074b69751bc7fc988fc63da5f4726a0e4d62837c38"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/sv-SE/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/sv-SE/firefox-71.0b6.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; - sha512 = "a92b5d28645dd601dd5f8d4892d210bdc284ca5ef6023f3e6660d6519fd8fdf1212e757f31048522009021f00716a1faa3da6e818b3f39ac4b96d68564aabe8a"; + sha512 = "6e7adbfb820f093fae4c2f2ea9f74e5d1ed91cd5a0f84ef3d53a2efe966af82fa5eeca32c3045ac1e575504e4322ed2aeaa5175d7ded1241d59fd7cafe42231d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ta/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ta/firefox-71.0b6.tar.bz2"; locale = "ta"; arch = "linux-i686"; - sha512 = "4935baa87058d2c2f87bc4e320d7fb1329c2380c93a72834783d5884e3e374a5b9f80b66fe1824b9d7003ba41b2f10648d8d257c34f71314de0ae9959233637e"; + sha512 = "9fbe15bc81d2c7ea84c50f77e209b07df049d740ce0985fe3bd3457aee87bb59ec60bd61700909986253d022332e536139e6c637d4cf7ff67248397fd13ec76f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/te/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/te/firefox-71.0b6.tar.bz2"; locale = "te"; arch = "linux-i686"; - sha512 = "5aef655c7d736d5c4cb91a6ba7c0fff7c9adee6dfd96b57f5c1f968d258fd7707a1b1ef0fabc049f2902085afd55455d016d9a786e94ef836e6a6379f33bb577"; + sha512 = "5ec78316c5f940dad34b8a847bb7057196dedd28235dda8d25f9155b2e6a660eb3639a95699cb8d8dbf90ccb2cb8d840f96d6f6821317fbe5cd92773a745dee1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/th/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/th/firefox-71.0b6.tar.bz2"; locale = "th"; arch = "linux-i686"; - sha512 = "1bec6b20ae731e982a4be6aac81bbfad2d27add2fc1339401807fb41af36a27391499677355f0737a9230466e27f34bd5e97f4b3697decd56ffe854b932900a5"; + sha512 = "98caad307d4e72c3c1225249055b9039582a90c0a68b95c6ab4781c3e676833111de3dd88f4bf6280569e32ad8a8413cc7943a0e4b1c22abd1e59fd8463225de"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/tr/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/tl/firefox-71.0b6.tar.bz2"; + locale = "tl"; + arch = "linux-i686"; + sha512 = "908a3bdce2d2b803ae50adf856671f2f1a2af2c4b7c603e6be166adc13028fccf2f8b6cee2dbafc20050d6cc1cad52ac76135200da32a859657a7f6ad175fdf3"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/tr/firefox-71.0b6.tar.bz2"; locale = "tr"; arch = "linux-i686"; - sha512 = "ccb0537f3cc85331037070761e4b450bdb07215d024052d3b946b96deb89ae30333c3b90e25100bca6cc58efc2f0f5b864daf6b353dbe7655e71106b7d5c0784"; + sha512 = "c5cd41468c8a41b711301b05716840df7b9f536f435bb5938f46a6d7affc722b8c12bb6d9840d6c47e07b4dbd52d94f8c189b728780086114f8e07037282773e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/uk/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/trs/firefox-71.0b6.tar.bz2"; + locale = "trs"; + arch = "linux-i686"; + sha512 = "f83946fa8d121f8dd3a51707cf1fe25e4731fa9ee43d6889ac36319d4df8c9339eabe95db2ea5c01064fdeed8331ceecb3e13678b012e25a215519b0bab91f6d"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/uk/firefox-71.0b6.tar.bz2"; locale = "uk"; arch = "linux-i686"; - sha512 = "a3490dd08645d2bc21a0a7176b1e9ba2da47b4d2a5ef45472715dd6905eb1cb1956849fdd006a4d370c0e58744e126fb1902d4997c7280fff256885becb39877"; + sha512 = "2692fe4c88ca6d23e8d4aacaeb939b753393543bb1da2265c58fea5c587232c2b63043dbd6f7eb853c3617d30e707b99782fa683fd7ec4de8ed18fa748760347"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/ur/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ur/firefox-71.0b6.tar.bz2"; locale = "ur"; arch = "linux-i686"; - sha512 = "a021c72eb298bce45097ed0d2c9aa2ade86b06668bb0d22e1832b600ef15691680b9836598467ae40d20203bf07246ed85485d0f2b3d145452725544d62b033b"; + sha512 = "a8865d0c69a3f72e1b9adc7cf63a6987c4e1e46cdfc4ac31f26c48d14c175c0c1784933458eba132be6e1f580764846107df905eec51b071492b823c5d312db4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/uz/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/uz/firefox-71.0b6.tar.bz2"; locale = "uz"; arch = "linux-i686"; - sha512 = "ee54245bbc0845e680f5b02a2b217f2e253daa99e531fbf721a0f9dc03e68fe77371665bf2db7aad94748ad5c641bb93c7e3bf43f6e3f4e53b7ec91306d69f7b"; + sha512 = "4cabb95e02a86579f95937b149dceab678b6bc117c8684d9204efc5d9d05fa4b04372d38da0a17e66b7e69c9d5165b1adfa43d45a2e7bb6189e135ddf95fe3b1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/vi/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/vi/firefox-71.0b6.tar.bz2"; locale = "vi"; arch = "linux-i686"; - sha512 = "e14901e594346298a43cf9b7cf70be1cd26e6f19415fd11c09e5ac8eca7a43fb07d7b4f4e238f4b13e986e1a9e37f23d73e456990403f2983a9939b8bec455b5"; + sha512 = "0ddebe6d31fec59f2c18541082d0a0ab0dcd0ee3ccec2e895aa026781297676c31f0a58aa2bc395c6764a0b3b911a940e00cbee159d4c40f45554a6f07e12ea4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/xh/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/xh/firefox-71.0b6.tar.bz2"; locale = "xh"; arch = "linux-i686"; - sha512 = "a256c23d0c478dec86c5a3413c7e64c61e7e4a519c5e1a343b457481543529354d588b07f1b0ea37450c2d3d317145796401c05988ed6d35f545612d6c5f87f6"; + sha512 = "178c1fe904c66c226c7e2ccbe1142d101ad9e8ae59aed276535d7dd9afdaea17e23460c27a656322bd23a72b9764c3359af63ac16d3d11fc495712f70179aafe"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/zh-CN/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/zh-CN/firefox-71.0b6.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; - sha512 = "a10aa5ef7b4fb6e4e3ac64a7d25c2d329eb42a0e5e0f680d786c9215d1f536a9daecbe5df31fb8484eed1471ccf89a596a5d2f97ae9875686b6f394f2a3c25ae"; + sha512 = "a648144767874c9dd0a6c66deeb4397b48a047a7c72168bc4597b2a0e30c557d60f8729400715b1cb003027f727eacd8161b0b19d7d2ae5176442de0e220bbfd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/69.0b16/linux-i686/zh-TW/firefox-69.0b16.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/zh-TW/firefox-71.0b6.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; - sha512 = "790725d0674be5ee347dbef3c2f0ac0d017cd972ae32dd318767535a4006432c5d56ef2e13a602f705fb177476ee120a5327dfa3625b6966a9fed8bb04f50c04"; + sha512 = "c401b4fa658e8a0ae045bcc3488695cb619d8db7fb2ac74d7365e9f2c7b2fe7be1e2eaa63ce8c426f3c3e5d5a77f4ae019e6982879cca6d4aa6b54264d414078"; } ]; } From 8ca3cad711bf54136d6d11e2419cdf14025c3f1f Mon Sep 17 00:00:00 2001 From: Julien Dehos Date: Sat, 2 Nov 2019 19:00:39 +0100 Subject: [PATCH 093/391] pfstools: build pfsalign (fix #60843) (#61050) --- pkgs/tools/graphics/pfstools/default.nix | 12 ++++++++---- pkgs/tools/graphics/pfstools/pfsalign.patch | 12 ++++++++++++ 2 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 pkgs/tools/graphics/pfstools/pfsalign.patch diff --git a/pkgs/tools/graphics/pfstools/default.nix b/pkgs/tools/graphics/pfstools/default.nix index 08c5f308f5c..d145870fbbe 100644 --- a/pkgs/tools/graphics/pfstools/default.nix +++ b/pkgs/tools/graphics/pfstools/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, pkgconfig +{ stdenv, fetchurl, cmake, pkgconfig, darwin , openexr, zlib, imagemagick, libGLU_combined, freeglut, fftwFloat , fftw, gsl, libexif, perl, opencv, qt5 }: @@ -20,11 +20,15 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ - openexr zlib imagemagick libGLU_combined freeglut fftwFloat + openexr zlib imagemagick fftwFloat fftw gsl libexif perl opencv qt5.qtbase - ]; + ] ++ (if stdenv.isDarwin then (with darwin.apple_sdk.frameworks; [ + OpenGL GLUT + ]) else [ + libGLU_combined freeglut + ]); - patches = [ ./threads.patch ./pfstools.patch ]; + patches = [ ./threads.patch ./pfstools.patch ./pfsalign.patch ]; meta = with stdenv.lib; { homepage = http://pfstools.sourceforge.net/; diff --git a/pkgs/tools/graphics/pfstools/pfsalign.patch b/pkgs/tools/graphics/pfstools/pfsalign.patch new file mode 100644 index 00000000000..f079415ddcb --- /dev/null +++ b/pkgs/tools/graphics/pfstools/pfsalign.patch @@ -0,0 +1,12 @@ +--- a/src/camera/CMakeLists.txt 2017-11-13 18:38:27.000000000 +0100 ++++ b/src/camera/CMakeLists.txt 2018-12-30 14:55:30.235571520 +0100 +@@ -9,7 +9,7 @@ target_link_libraries(${TRG} pfs) + install (TARGETS ${TRG} DESTINATION bin) + install (FILES ${TRG}.1 DESTINATION ${MAN_DIR}) + +-if( OpenCV_FOUND AND EXIF_FOUND ) ++if( OpenCV_FOUND AND MYPKG_FOUND ) + + set(TRG pfsalign) + add_executable(${TRG} ${TRG}.cpp "${GETOPT_OBJECT}") + From 2fbc1e7c085d07bd514583ccbaacc8ed932b9dc8 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 1 Nov 2019 13:45:55 -0700 Subject: [PATCH 094/391] cfr: 0.147 -> 0.148 --- pkgs/development/tools/java/cfr/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/java/cfr/default.nix b/pkgs/development/tools/java/cfr/default.nix index 8a7bb005a8c..1d928292cd5 100644 --- a/pkgs/development/tools/java/cfr/default.nix +++ b/pkgs/development/tools/java/cfr/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "cfr"; - version = "0.147"; + version = "0.148"; src = fetchurl { url = "http://www.benf.org/other/cfr/cfr_${version}.jar"; - sha256 = "1xafxvxil0k7rwvfia2a67sh18pk8xb2y6qz6cpr31i2i0pwl8ls"; + sha256 = "04nhbzcb0n5xckkbl1rz4xa2bz53hrlm938wrh0gfkzrwwgzj1ql"; }; nativeBuildInputs = [ makeWrapper ]; From fc8b7112777deee3e6aa6e183ee5d849427746e4 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 1 Nov 2019 14:45:34 -0700 Subject: [PATCH 095/391] drawpile: 2.1.11 -> 2.1.12 --- pkgs/applications/graphics/drawpile/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/drawpile/default.nix b/pkgs/applications/graphics/drawpile/default.nix index 46bfe64dd03..5744aeb462e 100644 --- a/pkgs/applications/graphics/drawpile/default.nix +++ b/pkgs/applications/graphics/drawpile/default.nix @@ -60,11 +60,11 @@ let in mkDerivation rec { pname = "drawpile"; - version = "2.1.11"; + version = "2.1.12"; src = fetchurl { url = "https://drawpile.net/files/src/drawpile-${version}.tar.gz"; - sha256 = "00r5vzracvjk369rri2jxzgfaa1ll4qj5gdmzgflvidz8420bcvm"; + sha256 = "0jvy21xmlidyfkk1p47rgyf4c1ksizcpm8s17n8mwdbnjrf6m55n"; }; nativeBuildInputs = [ From 120787b81fe8ff26487a71536409c43815f9e0dd Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 1 Nov 2019 14:29:15 -0700 Subject: [PATCH 096/391] eaglemode: 0.94.1 -> 0.94.2 --- pkgs/applications/misc/eaglemode/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/eaglemode/default.nix b/pkgs/applications/misc/eaglemode/default.nix index ae83802a7b4..5d99cbaa988 100644 --- a/pkgs/applications/misc/eaglemode/default.nix +++ b/pkgs/applications/misc/eaglemode/default.nix @@ -3,11 +3,11 @@ librsvg, glib, gtk2, libXext, libXxf86vm, poppler, xineLib, ghostscript, makeWra stdenv.mkDerivation rec { pname = "eaglemode"; - version = "0.94.1"; + version = "0.94.2"; src = fetchurl { url = "mirror://sourceforge/eaglemode/${pname}-${version}.tar.bz2"; - sha256 = "0mpnk0fzy02jxbafipkdkj48m6k38h42j599gw4sdnag7ymlms89"; + sha256 = "10zxih7gmyhq0az1mnsw2x563l4bbwcns794s4png8rf4d6hjszm"; }; nativeBuildInputs = [ pkgconfig ]; From 1faee87692120745bc654480e90b75002da8165c Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 1 Nov 2019 13:23:59 -0700 Subject: [PATCH 097/391] dcmtk: 3.6.4 -> 3.6.5 --- pkgs/applications/science/medicine/dcmtk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/medicine/dcmtk/default.nix b/pkgs/applications/science/medicine/dcmtk/default.nix index 7c269063b91..817ab578a82 100644 --- a/pkgs/applications/science/medicine/dcmtk/default.nix +++ b/pkgs/applications/science/medicine/dcmtk/default.nix @@ -3,12 +3,12 @@ with stdenv.lib; stdenv.mkDerivation rec { pname = "dcmtk"; - version = "3.6.4"; + version = "3.6.5"; src = fetchFromGitHub { owner = "DCMTK"; repo = pname; rev = "DCMTK-${version}"; - sha256 = "0fbx35zax8n4gayaac5bankqwzg2y2adggykbbf8lpd773jfxsp6"; + sha256 = "0i38k1s0wdpbxxpiwsx490mszhxi45wp0z67iksvh60wfkaw54na"; }; nativeBuildInputs = [ cmake ]; From fc8f3717066a2138f845ded1f375aa11709a2519 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 1 Nov 2019 13:06:35 -0700 Subject: [PATCH 098/391] cimg: 2.7.4 -> 2.7.5 --- pkgs/development/libraries/cimg/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/cimg/default.nix b/pkgs/development/libraries/cimg/default.nix index e0f72f13df9..591dea24b57 100644 --- a/pkgs/development/libraries/cimg/default.nix +++ b/pkgs/development/libraries/cimg/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "cimg"; - version = "2.7.4"; + version = "2.7.5"; src = fetchurl { url = "http://cimg.eu/files/CImg_${version}.zip"; - sha256 = "1csqac8z2q8dp95sdjn4am8icnxclz28yx3ih5izxxp4s5dpjbjb"; + sha256 = "1xhs0j7mfiln9apfcc9cd3cmjj1prm211vih2zn2qi87ialv36cg"; }; nativeBuildInputs = [ unzip ]; From b95e29c5e7da7f8b355b3693dc0ee9620b742ffd Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 1 Nov 2019 12:40:09 -0700 Subject: [PATCH 099/391] devpi-server: 5.1.0 -> 5.2.0 --- pkgs/development/tools/devpi-server/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/devpi-server/default.nix b/pkgs/development/tools/devpi-server/default.nix index d4215288267..0408c8ed01b 100644 --- a/pkgs/development/tools/devpi-server/default.nix +++ b/pkgs/development/tools/devpi-server/default.nix @@ -2,11 +2,11 @@ python3Packages.buildPythonApplication rec { pname = "devpi-server"; - version = "5.1.0"; + version = "5.2.0"; src = python3Packages.fetchPypi { inherit pname version; - sha256 = "254fceee846532a5fec4e6bf52a59eb8f236efc657678a542b5200da4bb3abbc"; + sha256 = "1dapd0bis7pb4fzq5yva7spby5amcsgl1970z5nq1rlprf6qbydg"; }; propagatedBuildInputs = with python3Packages; [ From 2f5967aa333cb7b4401bb98de57d849dcbc48ec5 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 1 Nov 2019 11:02:37 -0700 Subject: [PATCH 100/391] catch2: 2.10.0 -> 2.10.2 --- pkgs/development/libraries/catch2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/catch2/default.nix b/pkgs/development/libraries/catch2/default.nix index 42e331f6574..19768d77a8d 100644 --- a/pkgs/development/libraries/catch2/default.nix +++ b/pkgs/development/libraries/catch2/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "catch2"; - version = "2.10.0"; + version = "2.10.2"; src = fetchFromGitHub { owner = "catchorg"; repo = "Catch2"; rev = "v${version}"; - sha256="1mc6zix3hk3ggpihmdd4y0xvq3qvdw9c1arwnmi4nf3g4693k97r"; + sha256="01ldfv4337s3vdhsx415d49jchpvqy61c77dhnri30ip5af0ipjs"; }; nativeBuildInputs = [ cmake ]; From 41778dd6056b099e261b0d9738bdabc5641725c9 Mon Sep 17 00:00:00 2001 From: Julien Dehos Date: Sat, 2 Nov 2019 19:42:53 +0100 Subject: [PATCH 101/391] pfstools: add netpbm support (fix #60841) (#61083) --- pkgs/tools/graphics/pfstools/default.nix | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/graphics/pfstools/default.nix b/pkgs/tools/graphics/pfstools/default.nix index d145870fbbe..068aea54595 100644 --- a/pkgs/tools/graphics/pfstools/default.nix +++ b/pkgs/tools/graphics/pfstools/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, cmake, pkgconfig, darwin , openexr, zlib, imagemagick, libGLU_combined, freeglut, fftwFloat -, fftw, gsl, libexif, perl, opencv, qt5 +, fftw, gsl, libexif, perl, opencv, qt5, netpbm }: stdenv.mkDerivation rec { @@ -18,10 +18,19 @@ stdenv.mkDerivation rec { -DWITH_MATLAB=false ''; + preConfigure = '' + rm cmake/FindNETPBM.cmake + echo "SET(NETPBM_LIBRARY `find ${netpbm} -name "*.${stdenv.hostPlatform.extensions.sharedLibrary}*" -type f`)" >> cmake/FindNETPBM.cmake + echo "SET(NETPBM_LIBRARIES `find ${netpbm} -name "*.${stdenv.hostPlatform.extensions.sharedLibrary}*" -type f`)" >> cmake/FindNETPBM.cmake + echo "SET(NETPBM_INCLUDE_DIR ${netpbm}/include/netpbm)" >> cmake/FindNETPBM.cmake + echo "INCLUDE(FindPackageHandleStandardArgs)" >> cmake/FindNETPBM.cmake + echo "FIND_PACKAGE_HANDLE_STANDARD_ARGS(NETPBM DEFAULT_MSG NETPBM_LIBRARY NETPBM_INCLUDE_DIR)" >> cmake/FindNETPBM.cmake + ''; + nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ openexr zlib imagemagick fftwFloat - fftw gsl libexif perl opencv qt5.qtbase + fftw gsl libexif perl opencv qt5.qtbase netpbm ] ++ (if stdenv.isDarwin then (with darwin.apple_sdk.frameworks; [ OpenGL GLUT ]) else [ From 1ee040724a417d9e6e8e28dfd88a0c8c35070689 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sat, 2 Nov 2019 20:05:06 +0100 Subject: [PATCH 102/391] trompeloeil: 34 -> 35 --- pkgs/development/libraries/trompeloeil/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/trompeloeil/default.nix b/pkgs/development/libraries/trompeloeil/default.nix index af2fc6c879a..0ab115daeef 100644 --- a/pkgs/development/libraries/trompeloeil/default.nix +++ b/pkgs/development/libraries/trompeloeil/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "trompeloeil"; - version = "34"; + version = "35"; src = fetchFromGitHub { owner = "rollbear"; repo = "trompeloeil"; rev = "v${version}"; - sha256 = "0mj3zni18kfm04jrqjaa1p6ii5q0dz6qdm3hi57z9lzygaxbdc97"; + sha256 = "07jxvssasgmi2dk4wl6qzspx88g9cnz597flsapdzp0qd5j7xixd"; }; nativeBuildInputs = [ cmake ]; From c7b123a81a91ee26eb0cc5d875347d58d807925f Mon Sep 17 00:00:00 2001 From: Daniel Fullmer Date: Sat, 2 Nov 2019 15:40:48 -0400 Subject: [PATCH 103/391] nixos-generate-config: Fix incorrectly named option This appears to be a typo from c2576266baaf02be2d4da39cf25ed48044b6245e --- nixos/modules/installer/tools/tools.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index 9e6eead3c4d..052e7fdd4fc 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -123,7 +123,7 @@ in # programs.gnupg.agent = { # enable = true; # enableSSHSupport = true; - # flavour = "gnome3"; + # pinentryFlavor = "gnome3"; # }; # List services that you want to enable: From 63436c1375eb2e2ffe2de989fcda17e44ffc2201 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 13:05:32 -0700 Subject: [PATCH 104/391] postman: 7.9.0 -> 7.10.0 --- pkgs/development/web/postman/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/web/postman/default.nix b/pkgs/development/web/postman/default.nix index e0d8fb2337d..440012461b9 100644 --- a/pkgs/development/web/postman/default.nix +++ b/pkgs/development/web/postman/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { pname = "postman"; - version = "7.9.0"; + version = "7.10.0"; src = fetchurl { url = "https://dl.pstmn.io/download/version/${version}/linux64"; - sha256 = "0qgw3mvds99ca1gy0zfxzi7n1yxv99xwqgzr9rkx5qm6bw9c1ppw"; + sha256 = "0k8np71p414407hvcw149gspvdgyadnmpvfdxwwkr3pydj70vn6f"; name = "${pname}.tar.gz"; }; From 752231d474b78a39aa5c1118b3ef82bc6690f548 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 1 Nov 2019 14:52:47 -0700 Subject: [PATCH 105/391] folly: 2019.10.14.00 -> 2019.10.21.00 --- pkgs/development/libraries/folly/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix index 557c9aaa239..2dfb5e9e248 100644 --- a/pkgs/development/libraries/folly/default.nix +++ b/pkgs/development/libraries/folly/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "folly"; - version = "2019.10.14.00"; + version = "2019.10.21.00"; src = fetchFromGitHub { owner = "facebook"; repo = "folly"; rev = "v${version}"; - sha256 = "0d32cwwza3hqsr0z4kcrk1cj26ipbwkqm6nz5335rw4k9y5kyz16"; + sha256 = "1jy0yxqzcxxs6sq8161zbdzj4ngwjs0h2aca6n9qkaj1v5jd27c7"; }; nativeBuildInputs = [ cmake ]; From 1092bd70af2cee159c98aed10bf0da3cfe3e67f0 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Fri, 1 Nov 2019 10:29:38 -0700 Subject: [PATCH 106/391] spirv-tools: 2019.3 -> 2019.4 --- pkgs/development/tools/spirv-tools/default.nix | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/pkgs/development/tools/spirv-tools/default.nix b/pkgs/development/tools/spirv-tools/default.nix index 550cd9dce27..9958cb197ca 100644 --- a/pkgs/development/tools/spirv-tools/default.nix +++ b/pkgs/development/tools/spirv-tools/default.nix @@ -1,18 +1,15 @@ { stdenv, fetchFromGitHub, cmake, python3, spirv-headers }: -let - # Update spirv-headers rev in lockstep according to DEPs file - version = "2019.3"; -in stdenv.mkDerivation rec { pname = "spirv-tools"; - inherit version; + # Update spirv-headers rev in lockstep according to DEPs file + version = "2019.4"; src = fetchFromGitHub { owner = "KhronosGroup"; repo = "SPIRV-Tools"; rev = "v${version}"; - sha256 = "1wvipjcjsi815ls08s3dz9hwlbb59dbl4syxkskg1k9d5jjph1a8"; + sha256 = "17bbvhk4p42x4jlvcr5p9903xiiryw57c8yyfxmqik10s8601an9"; }; enableParallelBuilding = true; From e4f1ecc336a4d0baa13a4a0fa5a77ba8dc6e41f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Mon, 28 Oct 2019 14:23:12 -0300 Subject: [PATCH 107/391] lxqt.libqtxdg: 3.3.1 -> 3.4.0 --- pkgs/desktops/lxqt/libqtxdg/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/lxqt/libqtxdg/default.nix b/pkgs/desktops/lxqt/libqtxdg/default.nix index 799e4286803..4de7c05350b 100644 --- a/pkgs/desktops/lxqt/libqtxdg/default.nix +++ b/pkgs/desktops/lxqt/libqtxdg/default.nix @@ -2,13 +2,13 @@ mkDerivation rec { pname = "libqtxdg"; - version = "3.3.1"; + version = "3.4.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0y3s0hva64m64j9lqgnja1li8zhlywqzv8xwjg8pyd2nr9h918db"; + sha256 = "16jqnpc740a6phq7vcgy85hl7253yzyw4m5h71r0vijk79ir73b5"; }; nativeBuildInputs = [ cmake lxqt-build-tools ]; From a61bd1e42d5512f0e5180edf7ea6090afcd9544b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sat, 2 Nov 2019 14:49:35 -0300 Subject: [PATCH 108/391] lxqt: restrict to linux platform libqtxdg fails to build on darwin. LXQt is a DE for linux so assume darwin is not supported. The platform for some packages that may be useful outside of LXQt (like pcmanfm-qt, lximage-qt and others) and do not depend on libqtxdg are not being changed. --- pkgs/desktops/lxqt/liblxqt/default.nix | 2 +- pkgs/desktops/lxqt/libqtxdg/default.nix | 2 +- pkgs/desktops/lxqt/lxqt-about/default.nix | 2 +- pkgs/desktops/lxqt/lxqt-admin/default.nix | 2 +- pkgs/desktops/lxqt/lxqt-config/default.nix | 2 +- pkgs/desktops/lxqt/lxqt-globalkeys/default.nix | 2 +- pkgs/desktops/lxqt/lxqt-notificationd/default.nix | 2 +- pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix | 2 +- pkgs/desktops/lxqt/lxqt-panel/default.nix | 2 +- pkgs/desktops/lxqt/lxqt-policykit/default.nix | 2 +- pkgs/desktops/lxqt/lxqt-powermanagement/default.nix | 2 +- pkgs/desktops/lxqt/lxqt-qtplugin/default.nix | 2 +- pkgs/desktops/lxqt/lxqt-runner/default.nix | 2 +- pkgs/desktops/lxqt/lxqt-session/default.nix | 2 +- pkgs/desktops/lxqt/lxqt-sudo/default.nix | 2 +- pkgs/desktops/lxqt/lxqt-themes/default.nix | 2 +- pkgs/desktops/lxqt/screengrab/default.nix | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/pkgs/desktops/lxqt/liblxqt/default.nix b/pkgs/desktops/lxqt/liblxqt/default.nix index d94b1ac0d03..f5ab9c9ae8e 100644 --- a/pkgs/desktops/lxqt/liblxqt/default.nix +++ b/pkgs/desktops/lxqt/liblxqt/default.nix @@ -35,7 +35,7 @@ mkDerivation rec { description = "Core utility library for all LXQt components"; homepage = https://github.com/lxqt/liblxqt; license = licenses.lgpl21Plus; - platforms = with platforms; unix; + platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/desktops/lxqt/libqtxdg/default.nix b/pkgs/desktops/lxqt/libqtxdg/default.nix index 4de7c05350b..5f7485fc63b 100644 --- a/pkgs/desktops/lxqt/libqtxdg/default.nix +++ b/pkgs/desktops/lxqt/libqtxdg/default.nix @@ -27,7 +27,7 @@ mkDerivation rec { description = "Qt implementation of freedesktop.org xdg specs"; homepage = https://github.com/lxqt/libqtxdg; license = licenses.lgpl21; - platforms = with platforms; unix; + platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/desktops/lxqt/lxqt-about/default.nix b/pkgs/desktops/lxqt/lxqt-about/default.nix index 595141daffc..5fa074120ff 100644 --- a/pkgs/desktops/lxqt/lxqt-about/default.nix +++ b/pkgs/desktops/lxqt/lxqt-about/default.nix @@ -29,7 +29,7 @@ mkDerivation rec { description = "Dialogue window providing information about LXQt and the system it's running on"; homepage = https://github.com/lxqt/lxqt-about; license = licenses.lgpl21; - platforms = with platforms; unix; + platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/desktops/lxqt/lxqt-admin/default.nix b/pkgs/desktops/lxqt/lxqt-admin/default.nix index a49bb120791..9f0b22bf6cc 100644 --- a/pkgs/desktops/lxqt/lxqt-admin/default.nix +++ b/pkgs/desktops/lxqt/lxqt-admin/default.nix @@ -35,7 +35,7 @@ mkDerivation rec { description = "LXQt system administration tool"; homepage = https://github.com/lxqt/lxqt-admin; license = licenses.lgpl21; - platforms = with platforms; unix; + platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/desktops/lxqt/lxqt-config/default.nix b/pkgs/desktops/lxqt/lxqt-config/default.nix index d775a93fff4..d34c419ae66 100644 --- a/pkgs/desktops/lxqt/lxqt-config/default.nix +++ b/pkgs/desktops/lxqt/lxqt-config/default.nix @@ -45,7 +45,7 @@ mkDerivation rec { description = "Tools to configure LXQt and the underlying operating system"; homepage = https://github.com/lxqt/lxqt-config; license = licenses.lgpl21; - platforms = with platforms; unix; + platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; diff --git a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix index 43db6b39c67..9f844b4676b 100644 --- a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix +++ b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix @@ -30,7 +30,7 @@ mkDerivation rec { description = "LXQt service for global keyboard shortcuts registration"; homepage = https://github.com/lxqt/lxqt-globalkeys; license = licenses.lgpl21; - platforms = with platforms; unix; + platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix index 81a6a423a21..af64f523d48 100644 --- a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix +++ b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix @@ -30,7 +30,7 @@ mkDerivation rec { description = "The LXQt notification daemon"; homepage = https://github.com/lxqt/lxqt-notificationd; license = licenses.lgpl21; - platforms = with platforms; unix; + platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix index 83048ed7d57..5f270b8efc9 100644 --- a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix +++ b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix @@ -30,7 +30,7 @@ mkDerivation rec { description = "GUI to query passwords on behalf of SSH agents"; homepage = https://github.com/lxqt/lxqt-openssh-askpass; license = licenses.lgpl21; - platforms = with platforms; unix; + platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/desktops/lxqt/lxqt-panel/default.nix b/pkgs/desktops/lxqt/lxqt-panel/default.nix index 4558d36e554..8310ae95f09 100644 --- a/pkgs/desktops/lxqt/lxqt-panel/default.nix +++ b/pkgs/desktops/lxqt/lxqt-panel/default.nix @@ -53,7 +53,7 @@ mkDerivation rec { description = "The LXQt desktop panel"; homepage = https://github.com/lxqt/lxqt-panel; license = licenses.lgpl21; - platforms = with platforms; unix; + platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/desktops/lxqt/lxqt-policykit/default.nix b/pkgs/desktops/lxqt/lxqt-policykit/default.nix index d501d83947e..a64d682bf1c 100644 --- a/pkgs/desktops/lxqt/lxqt-policykit/default.nix +++ b/pkgs/desktops/lxqt/lxqt-policykit/default.nix @@ -37,7 +37,7 @@ mkDerivation rec { description = "The LXQt PolicyKit agent"; homepage = https://github.com/lxqt/lxqt-policykit; license = licenses.lgpl21; - platforms = with platforms; unix; + platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix index 9f8c66d826c..d415cb618cc 100644 --- a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix +++ b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix @@ -32,7 +32,7 @@ mkDerivation rec { description = "Power management module for LXQt"; homepage = https://github.com/lxqt/lxqt-powermanagement; license = licenses.lgpl21; - platforms = with platforms; unix; + platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix b/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix index 604fc570e1f..a67efaee37a 100644 --- a/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix +++ b/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix @@ -39,7 +39,7 @@ mkDerivation rec { description = "LXQt Qt platform integration plugin"; homepage = https://github.com/lxqt/lxqt-qtplugin; license = licenses.lgpl21; - platforms = with platforms; unix; + platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/desktops/lxqt/lxqt-runner/default.nix b/pkgs/desktops/lxqt/lxqt-runner/default.nix index d737bd91c91..db05d803891 100644 --- a/pkgs/desktops/lxqt/lxqt-runner/default.nix +++ b/pkgs/desktops/lxqt/lxqt-runner/default.nix @@ -36,7 +36,7 @@ mkDerivation rec { description = "Tool used to launch programs quickly by typing their names"; homepage = https://github.com/lxqt/lxqt-runner; license = licenses.lgpl21; - platforms = with platforms; unix; + platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/desktops/lxqt/lxqt-session/default.nix b/pkgs/desktops/lxqt/lxqt-session/default.nix index fbf2c7ddde7..458a5080bcf 100644 --- a/pkgs/desktops/lxqt/lxqt-session/default.nix +++ b/pkgs/desktops/lxqt/lxqt-session/default.nix @@ -34,7 +34,7 @@ mkDerivation rec { description = "An alternative session manager ported from the original razor-session"; homepage = https://github.com/lxqt/lxqt-session; license = licenses.lgpl21; - platforms = with platforms; unix; + platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/desktops/lxqt/lxqt-sudo/default.nix b/pkgs/desktops/lxqt/lxqt-sudo/default.nix index 91159398b8f..c0e7443d3dd 100644 --- a/pkgs/desktops/lxqt/lxqt-sudo/default.nix +++ b/pkgs/desktops/lxqt/lxqt-sudo/default.nix @@ -31,7 +31,7 @@ mkDerivation rec { description = "GUI frontend for sudo/su"; homepage = https://github.com/lxqt/lxqt-sudo; license = licenses.lgpl21; - platforms = with platforms; unix; + platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/desktops/lxqt/lxqt-themes/default.nix b/pkgs/desktops/lxqt/lxqt-themes/default.nix index 9d8da87fd5d..f4648188140 100644 --- a/pkgs/desktops/lxqt/lxqt-themes/default.nix +++ b/pkgs/desktops/lxqt/lxqt-themes/default.nix @@ -20,7 +20,7 @@ mkDerivation rec { description = "Themes, graphics and icons for LXQt"; homepage = https://github.com/lxqt/lxqt-themes; license = licenses.lgpl21; - platforms = with platforms; unix; + platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; } diff --git a/pkgs/desktops/lxqt/screengrab/default.nix b/pkgs/desktops/lxqt/screengrab/default.nix index bac68f7166c..380e50e827e 100644 --- a/pkgs/desktops/lxqt/screengrab/default.nix +++ b/pkgs/desktops/lxqt/screengrab/default.nix @@ -32,7 +32,7 @@ mkDerivation rec { description = "Crossplatform tool for fast making screenshots"; homepage = https://github.com/lxqt/screengrab; license = licenses.gpl2; - platforms = with platforms; unix; + platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; } From 52de4dbf5c4266ebded03fe71daf404a57924b51 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 14:13:40 -0700 Subject: [PATCH 109/391] plata-theme: 0.8.9 -> 0.9.0 (#72609) --- pkgs/data/themes/plata/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/themes/plata/default.nix b/pkgs/data/themes/plata/default.nix index d026e06e39d..d1d7228183c 100644 --- a/pkgs/data/themes/plata/default.nix +++ b/pkgs/data/themes/plata/default.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation rec { pname = "plata-theme"; - version = "0.8.9"; + version = "0.9.0"; src = fetchFromGitLab { owner = "tista500"; repo = "plata-theme"; rev = version; - sha256 = "0a2wczxxfd2nfr7biawbs3rwy2sivcl2sv43y2638gmfp0w6zh9r"; + sha256 = "1bcjrnh6bm7pxyqrr39yx5zykf3yzxrsydd5xcawjfihnph3yrlg"; }; preferLocalBuild = true; From a977c039a190db9a7a7ee1cecda4331752cc614e Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 13:27:29 -0700 Subject: [PATCH 110/391] python38Packages.cerberus: 1.3.1 -> 1.3.2 --- pkgs/development/python-modules/cerberus/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/cerberus/default.nix b/pkgs/development/python-modules/cerberus/default.nix index 3773e6a834c..5218a55078d 100644 --- a/pkgs/development/python-modules/cerberus/default.nix +++ b/pkgs/development/python-modules/cerberus/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "Cerberus"; - version = "1.3.1"; + version = "1.3.2"; src = fetchPypi { inherit pname version; - sha256 = "0be48fc0dc84f83202a5309c0aa17cd5393e70731a1698a50d118b762fbe6875"; + sha256 = "12cm547hpypqd7bwcl4wr4w6varibc1dagzicg5qbp86yaa6cbih"; }; checkInputs = [ pytestrunner pytest ]; From ba0a68c45b7b767525a0ba7f06e08035a9ad6614 Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Fri, 1 Nov 2019 17:39:34 -0400 Subject: [PATCH 111/391] inkscape: use latest poppler, use gtkspell2, drop `-fpermissive` It seems that `inkscape-0.9.4` builds with the latest poppler and without the `-fpermissive` workaround. --- pkgs/applications/graphics/inkscape/default.nix | 7 ++----- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix index ed1f61b98d3..c945412bc2c 100644 --- a/pkgs/applications/graphics/inkscape/default.nix +++ b/pkgs/applications/graphics/inkscape/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, perlPackages, libXft , libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm2 , glibmm, libsigcxx, lcms, boost, gettext, makeWrapper -, gsl, python2, poppler, imagemagick, libwpg, librevenge +, gsl, gtkspell2, python2, poppler, imagemagick, libwpg, librevenge , libvisio, libcdr, libexif, potrace, cmake , librsvg, wrapGAppsHook }: @@ -52,7 +52,7 @@ stdenv.mkDerivation rec { librsvg # for loading icons python2Env perlPackages.perl - ]; + ] ++ stdenv.lib.optional (!stdenv.isDarwin) gtkspell2; enableParallelBuilding = true; @@ -62,9 +62,6 @@ stdenv.mkDerivation rec { install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkview ''; - # 0.92.3 complains about an invalid conversion from const char * to char * - NIX_CFLAGS_COMPILE = " -fpermissive "; - meta = with stdenv.lib; { license = "GPL"; homepage = https://www.inkscape.org; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3c4af7fab59..c52161491cc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19238,7 +19238,6 @@ in inkscape = callPackage ../applications/graphics/inkscape { lcms = lcms2; - poppler = poppler_0_61; }; inspectrum = libsForQt5.callPackage ../applications/radio/inspectrum { }; From ddc59b46d27a15018d3bffb7b536e17da28b22df Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 13:30:57 -0700 Subject: [PATCH 112/391] python38Packages.paho-mqtt: 1.4.0 -> 1.5.0 --- pkgs/development/python-modules/paho-mqtt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/paho-mqtt/default.nix b/pkgs/development/python-modules/paho-mqtt/default.nix index bf7ebee5657..886307b7104 100644 --- a/pkgs/development/python-modules/paho-mqtt/default.nix +++ b/pkgs/development/python-modules/paho-mqtt/default.nix @@ -3,14 +3,14 @@ buildPythonPackage rec { pname = "paho-mqtt"; - version = "1.4.0"; + version = "1.5.0"; # No tests in PyPI tarball src = fetchFromGitHub { owner = "eclipse"; repo = "paho.mqtt.python"; rev = "v${version}"; - sha256 = "1xg9ppz2lqacd9prsrx93q2wfkjjyla03xlfw74aj1alz9ki5hrs"; + sha256 = "1fq5z53g2k18iiqnz5qq87vzjpppfza072nx0dwllmhimm2dskh5"; }; postPatch = '' From cb481952609e300efdff8dd7678de4c0f687f218 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 14:53:28 -0700 Subject: [PATCH 113/391] openfst: 1.7.2 -> 1.7.4 (#72599) --- pkgs/development/libraries/openfst/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/openfst/default.nix b/pkgs/development/libraries/openfst/default.nix index 6554d025311..51ed495a995 100644 --- a/pkgs/development/libraries/openfst/default.nix +++ b/pkgs/development/libraries/openfst/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "openfst"; - version = "1.7.2"; + version = "1.7.4"; src = fetchurl { url = "http://www.openfst.org/twiki/pub/FST/FstDownload/${pname}-${version}.tar.gz"; - sha256 = "0fqgk8195kz21is09gwzwnrg7fr9526bi9mh4apyskapz27pbhr1"; + sha256 = "0drhq5348vbaccpa0z3jvd5hyv5bm2i9xrak1wb4yvl2mx77dbmh"; }; meta = { description = "Library for working with finite-state transducers"; From c1d87b7e835bce5370c300937ddb776752aee849 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sat, 2 Nov 2019 17:51:40 +0100 Subject: [PATCH 114/391] octoprint: 1.3.11 -> 1.3.12 --- pkgs/applications/misc/octoprint/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix index c0bacc2c50d..29a04627bef 100644 --- a/pkgs/applications/misc/octoprint/default.nix +++ b/pkgs/applications/misc/octoprint/default.nix @@ -56,17 +56,18 @@ let "websocket-client" "wrapt" "sentry-sdk" + "werkzeug" # 0.16 just deprecates some stuff ]; in py.pkgs.buildPythonApplication rec { pname = "OctoPrint"; - version = "1.3.11"; + version = "1.3.12"; src = fetchFromGitHub { owner = "foosel"; repo = "OctoPrint"; rev = version; - sha256 = "1102ki1819wsmkfg4riz4i0hjlr3w6nsvk8wrzqq0lc0s5ycf4jx"; + sha256 = "1lmqssgwjyhknjf3x58g7cr0fqz7fs5a3rl07r69wfpch63ranyd"; }; propagatedBuildInputs = with py.pkgs; [ @@ -75,7 +76,7 @@ in py.pkgs.buildPythonApplication rec { psutil pyserial flask_login netaddr markdown sockjs-tornado pylru pyyaml sarge feedparser netifaces click websocket_client scandir chainmap future futures wrapt monotonic emoji - frozendict cachelib sentry-sdk typing + frozendict cachelib sentry-sdk typing filetype ] ++ lib.optionals stdenv.isDarwin [ py.pkgs.appdirs ]; checkInputs = with py.pkgs; [ nose mock ddt ]; @@ -96,6 +97,6 @@ in py.pkgs.buildPythonApplication rec { homepage = https://octoprint.org/; description = "The snappy web interface for your 3D printer"; license = licenses.agpl3; - maintainers = with maintainers; [ abbradar ]; + maintainers = with maintainers; [ abbradar gebner ]; }; } From 04742d003e7eb413e85a58c83a922df4270c5984 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sat, 2 Nov 2019 17:52:58 +0100 Subject: [PATCH 115/391] octoprint-plugins.mqtt: 0.8.0 -> 0.8.6 --- pkgs/applications/misc/octoprint/plugins.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/octoprint/plugins.nix b/pkgs/applications/misc/octoprint/plugins.nix index d8179e1b402..382f951e296 100644 --- a/pkgs/applications/misc/octoprint/plugins.nix +++ b/pkgs/applications/misc/octoprint/plugins.nix @@ -47,13 +47,13 @@ let mqtt = buildPlugin rec { pname = "MQTT"; - version = "0.8.0"; + version = "0.8.6"; src = fetchFromGitHub { owner = "OctoPrint"; repo = "OctoPrint-MQTT"; rev = version; - sha256 = "1318pgwy39gkdqgll3q5lwm7avslgdwyiwb5v8m23cgyh5w8cjq7"; + sha256 = "0y1jnfplcy8mh3szrfbbvngl02j49cbdizglrfsry4fvqg50zjxd"; }; propagatedBuildInputs = with python2Packages; [ paho-mqtt ]; From 6abfaf890da2ca50e8ffbfaa885f9e26a1bcf0fa Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sat, 2 Nov 2019 17:53:25 +0100 Subject: [PATCH 116/391] octoprint-plugins.stlviewer: 0.4.1 -> 0.4.2 --- pkgs/applications/misc/octoprint/plugins.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/octoprint/plugins.nix b/pkgs/applications/misc/octoprint/plugins.nix index 382f951e296..9b1a37f79e8 100644 --- a/pkgs/applications/misc/octoprint/plugins.nix +++ b/pkgs/applications/misc/octoprint/plugins.nix @@ -87,13 +87,13 @@ let stlviewer = buildPlugin rec { pname = "STLViewer"; - version = "0.4.1"; + version = "0.4.2"; src = fetchFromGitHub { owner = "jneilliii"; repo = "OctoPrint-STLViewer"; - rev = "v${version}"; - sha256 = "1f64s37g2d79g76v0vjnjrc2jp2gwrsnfgx7w3n0hkf1lz1pjkm0"; + rev = version; + sha256 = "0mkvh44fn2ch4z2avsdjwi1rp353ylmk9j5fln4x7rx8ph8y7g2b"; }; meta = with stdenv.lib; { From 311656e640ffc15c416f6924248308ebe421b304 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sat, 2 Nov 2019 17:53:43 +0100 Subject: [PATCH 117/391] marlin-calc: 2019-06-04 -> 2019-10-17 --- pkgs/tools/misc/marlin-calc/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/marlin-calc/default.nix b/pkgs/tools/misc/marlin-calc/default.nix index 5c175053fc9..c7222f696c9 100644 --- a/pkgs/tools/misc/marlin-calc/default.nix +++ b/pkgs/tools/misc/marlin-calc/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation { pname = "marlin-calc"; - version = "2019-06-04"; + version = "2019-10-17"; src = fetchFromGitHub { owner = "eyal0"; repo = "Marlin"; - rev = "4120d1c72d6c32e9c5cc745c05d20963ba4bbca3"; - sha256 = "06aly7s4k1r31njm43sbxq9a0127sw43pnaddh92a3cc39rbj2va"; + rev = "3d5a5c86bea35a2a169eb56c70128bf2d070feef"; + sha256 = "14sqajm361gnrcqv84g7kbmyqm8pppbhqsabszc4j2cn7vbwkdg5"; }; buildPhase = '' From 5ed4beea61589bcfb68cdb789608778f75832d00 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sat, 2 Nov 2019 17:54:00 +0100 Subject: [PATCH 118/391] octoprint-plugins.printtimegenius: 1.3.1 -> 2.0.2 --- pkgs/applications/misc/octoprint/plugins.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/octoprint/plugins.nix b/pkgs/applications/misc/octoprint/plugins.nix index 9b1a37f79e8..ce800e8f18b 100644 --- a/pkgs/applications/misc/octoprint/plugins.nix +++ b/pkgs/applications/misc/octoprint/plugins.nix @@ -168,13 +168,13 @@ let printtimegenius = buildPlugin rec { pname = "PrintTimeGenius"; - version = "1.3.1"; + version = "2.0.2"; src = fetchFromGitHub { owner = "eyal0"; repo = "OctoPrint-${pname}"; rev = version; - sha256 = "0ijv1nxmikv06a00hqqkqri6wnydqh6lwcx07pmvw6jy706jhy28"; + sha256 = "1w4jm42434x87sbih45brkb9krik851vxkz153w3w5c8p74kgg6f"; }; preConfigure = '' From 708787c0960609cc387763194f910ed21cb95f93 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sat, 2 Nov 2019 11:15:49 -0700 Subject: [PATCH 119/391] pythonPackages.checkmanifest: fix build --- pkgs/development/python-modules/check-manifest/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/check-manifest/default.nix b/pkgs/development/python-modules/check-manifest/default.nix index ad5b6522533..eaae8f3d099 100644 --- a/pkgs/development/python-modules/check-manifest/default.nix +++ b/pkgs/development/python-modules/check-manifest/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildPythonPackage, fetchPypi }: +{ stdenv, buildPythonPackage, fetchPypi, toml }: buildPythonPackage rec { pname = "check-manifest"; @@ -9,6 +9,8 @@ buildPythonPackage rec { sha256 = "42de6eaab4ed149e60c9b367ada54f01a3b1e4d6846784f9b9710e770ff5572c"; }; + propagatedBuildInputs = [ toml ]; + doCheck = false; meta = with stdenv.lib; { From 0be5b83ddd33db03bae13242a0a13f4bd559e2c7 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 15:28:10 -0700 Subject: [PATCH 120/391] padthv1: 0.9.10 -> 0.9.11 (#72590) --- pkgs/applications/audio/padthv1/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/padthv1/default.nix b/pkgs/applications/audio/padthv1/default.nix index 49e40bad0be..6d97a2da739 100644 --- a/pkgs/applications/audio/padthv1/default.nix +++ b/pkgs/applications/audio/padthv1/default.nix @@ -2,11 +2,11 @@ mkDerivation rec { pname = "padthv1"; - version = "0.9.10"; + version = "0.9.11"; src = fetchurl { url = "mirror://sourceforge/padthv1/${pname}-${version}.tar.gz"; - sha256 = "07gpq31a9iwk79yzndqzmw7snap7s4ifnsc4mfwkdga2zx13z0rx"; + sha256 = "02yfwyirjqxa075yqdnci9b9k57kdmkjvn9gnpdbnjp887pds76g"; }; buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools fftw ]; From fd66f95106fd1c68d8f59fb329ad868407cad56f Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 15:44:23 -0700 Subject: [PATCH 121/391] libwhereami: 0.3.0 -> 0.3.1 (#72561) --- pkgs/development/libraries/libwhereami/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libwhereami/default.nix b/pkgs/development/libraries/libwhereami/default.nix index a6715bdc18d..84bd1847faa 100644 --- a/pkgs/development/libraries/libwhereami/default.nix +++ b/pkgs/development/libraries/libwhereami/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { pname = "libwhereami"; - version = "0.3.0"; + version = "0.3.1"; src = fetchFromGitHub { - sha256 = "0yq6m4kh06idp3l8cp7kswn5k8vcaip1zqhypbhszybqa0afb5az"; + sha256 = "16xjb6zp60ma76aa3kq3q8i8zn0n61gf39fny12cny8nggwjpbww"; rev = version; repo = "libwhereami"; owner = "puppetlabs"; From 025964d7723816775a246992c5eb7d3c895c4010 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 15:47:32 -0700 Subject: [PATCH 122/391] libxls: 1.5.1 -> 1.5.2 (#72557) --- pkgs/development/libraries/libxls/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libxls/default.nix b/pkgs/development/libraries/libxls/default.nix index 12658996646..c111a13d298 100644 --- a/pkgs/development/libraries/libxls/default.nix +++ b/pkgs/development/libraries/libxls/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "libxls"; - version = "1.5.1"; + version = "1.5.2"; src = fetchurl { url = "https://github.com/libxls/libxls/releases/download/v${version}/libxls-${version}.tar.gz"; - sha256 = "0dam8qgbc5ykzaxmrjhpmfm8lnlcdk6cbpzyaya91qwwa80qbj1v"; + sha256 = "1akadsyl10rp101ccjmrxr7933c3v641k377bn74jv6cdkcm4zld"; }; nativeBuildInputs = [ unzip ]; From 1d7166766d7142984049676251bcca160c3f1498 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 15:59:35 -0700 Subject: [PATCH 123/391] libisofs: 1.5.0 -> 1.5.2 (#72545) --- pkgs/development/libraries/libisofs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libisofs/default.nix b/pkgs/development/libraries/libisofs/default.nix index 59726094c4a..2c1bb3b3b8e 100644 --- a/pkgs/development/libraries/libisofs/default.nix +++ b/pkgs/development/libraries/libisofs/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "libisofs"; - version = "1.5.0"; + version = "1.5.2"; src = fetchurl { url = "http://files.libburnia-project.org/releases/${pname}-${version}.tar.gz"; - sha256 = "001l3akf3wb6msl9man776w560iqyvsbwwzs7d7y7msx13irspys"; + sha256 = "002mcyqwg625a8hqvsrmgm26mhhfwj0j7rahfhsqirmk02b16npg"; }; buildInputs = [ attr zlib ]; From 60944c7efd4d3ae33fe5933e60809cc3ad74b84c Mon Sep 17 00:00:00 2001 From: Kirill Elagin Date: Sun, 3 Nov 2019 02:07:12 +0300 Subject: [PATCH 124/391] Tweak cross-compilation of some netbsd stuff This makes, at least, the following packages compile with musl: * netbsd.compat * netbsd.getent * netbsd.fts --- pkgs/os-specific/bsd/netbsd/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/bsd/netbsd/default.nix b/pkgs/os-specific/bsd/netbsd/default.nix index f724fd33939..c88f40da2a9 100644 --- a/pkgs/os-specific/bsd/netbsd/default.nix +++ b/pkgs/os-specific/bsd/netbsd/default.nix @@ -127,6 +127,10 @@ let nativeBuildInputs = [ makeMinimal ]; buildInputs = [ zlib ]; + # for some reason the build system re-runs configure with HOST_CC + depsBuildBuild = [ buildPackages.stdenv.cc ] ++ buildInputs; + HOST_CC = "${buildPackages.stdenv.cc}/bin/cc"; + # temporarily use gnuinstall for bootstrapping # bsdinstall will be built later makeFlags = [ @@ -211,6 +215,7 @@ let version = "8.0"; nativeBuildInputs = [ ]; propagatedBuildInputs = [ compat ]; + buildInputs = [ stdenv.cc ]; extraPaths = [ (fetchNetBSD "lib/libc/gen/fts.c" "8.0" "1a8hmf26242nmv05ipn3ircxb0jqmmi66rh78kkyi9vjwkfl3qn7") (fetchNetBSD "lib/libc/include/namespace.h" "8.0" "1sjvh9nw3prnk4rmdwrfsxh6gdb9lmilkn46jcfh3q5c8glqzrd7") @@ -218,9 +223,9 @@ let ]; skipIncludesPhase = true; buildPhase = '' - cc -c -Iinclude -Ilib/libc/include lib/libc/gen/fts.c \ + "$CC" -c -Iinclude -Ilib/libc/include lib/libc/gen/fts.c \ -o lib/libc/gen/fts.o - ar -rsc libfts.a lib/libc/gen/fts.o + "$AR" -rsc libfts.a lib/libc/gen/fts.o ''; installPhase = '' runHook preInstall From 980ecf2cbafbfa2d9972f4f5d6dcea198770c28a Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 16:09:49 -0700 Subject: [PATCH 125/391] libburn: 1.5.0 -> 1.5.2 (#72547) --- pkgs/development/libraries/libburn/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libburn/default.nix b/pkgs/development/libraries/libburn/default.nix index 01588187936..b6cadf9df18 100644 --- a/pkgs/development/libraries/libburn/default.nix +++ b/pkgs/development/libraries/libburn/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "libburn"; - version = "1.5.0"; + version = "1.5.2"; src = fetchurl { url = "http://files.libburnia-project.org/releases/${pname}-${version}.tar.gz"; - sha256 = "1gg2kgnqvaa2fwghai62prxz6slpak1f6bvgjh8m4dn16v114asq"; + sha256 = "09sjrvq8xsj1gnl2wwyv4lbmicyzzl6x1ac2rrn53xnp34bxnckv"; }; meta = with stdenv.lib; { From fbb11656255aaf4d7e34d0bcaff56dec276709b8 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 3 Nov 2019 00:07:47 +0100 Subject: [PATCH 126/391] varnishPackages: general version bumps & refactor --- pkgs/servers/varnish/default.nix | 32 ++++++++++++++----------------- pkgs/servers/varnish/digest.nix | 2 ++ pkgs/servers/varnish/dynamic.nix | 6 +++--- pkgs/servers/varnish/geoip.nix | 31 ------------------------------ pkgs/servers/varnish/modules.nix | 4 ++-- pkgs/servers/varnish/packages.nix | 25 +++++++++--------------- pkgs/servers/varnish/rtstatus.nix | 21 -------------------- pkgs/top-level/all-packages.nix | 10 +++++----- 8 files changed, 35 insertions(+), 96 deletions(-) delete mode 100644 pkgs/servers/varnish/geoip.nix delete mode 100644 pkgs/servers/varnish/rtstatus.nix diff --git a/pkgs/servers/varnish/default.nix b/pkgs/servers/varnish/default.nix index 4756fbdafb6..8af11183c69 100644 --- a/pkgs/servers/varnish/default.nix +++ b/pkgs/servers/varnish/default.nix @@ -1,8 +1,8 @@ { stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkgconfig, readline, libedit -, python2, python3, makeWrapper }: +, python3, makeWrapper }: let - common = { version, sha256, python, extraNativeBuildInputs ? [] }: + common = { version, sha256, extraNativeBuildInputs ? [] }: stdenv.mkDerivation rec { pname = "varnish"; inherit version; @@ -12,11 +12,11 @@ let inherit sha256; }; - passthru.python = python; + passthru.python = python3; - nativeBuildInputs = with python.pkgs; [ pkgconfig docutils ] ++ extraNativeBuildInputs; + nativeBuildInputs = with python3.pkgs; [ pkgconfig docutils sphinx ]; buildInputs = [ - pcre libxslt groff ncurses readline libedit makeWrapper python + pcre libxslt groff ncurses readline libedit makeWrapper python3 ]; buildFlags = "localstatedir=/var/spool"; @@ -40,20 +40,16 @@ let }; in { - varnish4 = common { - version = "4.1.10"; - sha256 = "08kwx0il6cqxsx3897042plh1yxjaanbaqjbspfl0xgvyvxk6j1n"; - python = python2; + varnish60 = common { + version = "6.0.5"; + sha256 = "11aw202s7zdp5qp66hii5nhgm2jk0d86pila7gqrnjgc7x8fs8a0"; }; - varnish5 = common { - version = "5.2.1"; - sha256 = "1cqlj12m426c1lak1hr1fx5zcfsjjvka3hfirz47hvy1g2fjqidq"; - python = python2; + varnish62 = common { + version = "6.2.2"; + sha256 = "10s3qdvb95pkwp3wxndrigb892h0109yqr8dw4smrhfi0knhnfk5"; }; - varnish6 = common { - version = "6.3.0"; - sha256 = "0zwlffdd1m0ih33nq40xf2wwdyvr4czmns2fs90qpfnwy72xxk4m"; - python = python3; - extraNativeBuildInputs = [ python3.pkgs.sphinx ]; + varnish63 = common { + version = "6.3.1"; + sha256 = "0xa14pd68zpi5hxcax3arl14rcmh5d1cdwa8gv4l5f23mmynr8ni"; }; } diff --git a/pkgs/servers/varnish/digest.nix b/pkgs/servers/varnish/digest.nix index 2ccb0419c04..f11c577288f 100644 --- a/pkgs/servers/varnish/digest.nix +++ b/pkgs/servers/varnish/digest.nix @@ -21,6 +21,8 @@ stdenv.mkDerivation rec { configureFlags = [ "VMOD_DIR=$(out)/lib/varnish/vmods" ]; + NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated-declarations" ]; + doCheck = true; meta = with stdenv.lib; { diff --git a/pkgs/servers/varnish/dynamic.nix b/pkgs/servers/varnish/dynamic.nix index b3e86387ee3..7db4680ac62 100644 --- a/pkgs/servers/varnish/dynamic.nix +++ b/pkgs/servers/varnish/dynamic.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, varnish, docutils }: stdenv.mkDerivation rec { - version = "0.3"; + version = "0.4"; name = "${varnish.name}-dynamic-${version}"; src = fetchFromGitHub { owner = "nigoroll"; repo = "libvmod-dynamic"; - rev = "475be183fddbd727c3d2523f0518effa9aa881f8"; # 5.2 branch for Varnish-5.2 https://github.com/nigoroll/libvmod-dynamic/commits/5.2 - sha256 = "12a42lbv0vf6fn3qnvngw893kmbd006f8pgab4ir7irc8855xjgf"; + rev = "v${version}"; + sha256 = "1n94slrm6vn3hpymfkla03gw9603jajclg84bjhwb8kxsk3rxpmk"; }; nativeBuildInputs = [ pkgconfig docutils autoreconfHook varnish.python ]; diff --git a/pkgs/servers/varnish/geoip.nix b/pkgs/servers/varnish/geoip.nix deleted file mode 100644 index d1790252065..00000000000 --- a/pkgs/servers/varnish/geoip.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ stdenv, fetchpatch, fetchFromGitHub, autoreconfHook, pkgconfig, varnish, geoip, docutils }: - -stdenv.mkDerivation rec { - version = "1.0.2"; - name = "${varnish.name}-geoip-${version}"; - - src = fetchFromGitHub { - owner = "varnish"; - repo = "libvmod-geoip"; - rev = "libvmod-geoip-${version}"; - sha256 = "1gmadayqh3dais14c4skvd47w8h4kyifg7kcw034i0777z5hfpyn"; - }; - - patches = [ - # IPv6 support - (fetchpatch { - url = https://github.com/volth/libvmod-geoip-1/commit/0966fe8.patch; - sha256 = "053im8h2y8qzs37g95ksr00sf625p23r5ps1j0a2h4lfg70vf4ry"; - }) - ]; - - nativeBuildInputs = [ autoreconfHook pkgconfig docutils ]; - buildInputs = [ varnish geoip ]; - configureFlags = [ "VMOD_DIR=$(out)/lib/varnish/vmods" ]; - - meta = with stdenv.lib; { - description = "GeoIP Varnish module by Varnish Software"; - homepage = https://github.com/varnish/libvmod-geoip; - inherit (varnish.meta) license platforms maintainers; - }; -} diff --git a/pkgs/servers/varnish/modules.nix b/pkgs/servers/varnish/modules.nix index 16c74956db7..32c462e4a77 100644 --- a/pkgs/servers/varnish/modules.nix +++ b/pkgs/servers/varnish/modules.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, varnish, docutils, removeReferencesTo }: stdenv.mkDerivation rec { - version = "0.14.0"; + version = "0.15.0"; name = "${varnish.name}-modules-${version}"; src = fetchFromGitHub { owner = "varnish"; repo = "varnish-modules"; rev = version; - sha256 = "17fkbr4i70qgdqsrx1x28ag20xkfyz1v3q3d3ywmv409aczqhm40"; + sha256 = "00p9syl765lfg1d2ka7da6h46dfl388f8h36x9cmrjix95rg0yr8"; }; nativeBuildInputs = [ diff --git a/pkgs/servers/varnish/packages.nix b/pkgs/servers/varnish/packages.nix index f468ac58e6c..a5c5fe868d0 100644 --- a/pkgs/servers/varnish/packages.nix +++ b/pkgs/servers/varnish/packages.nix @@ -1,22 +1,15 @@ -{ callPackage, varnish4, varnish5, varnish6 }: +{ callPackage, varnish60, varnish62, varnish63 }: { - varnish4Packages = { - varnish = varnish4; - digest = callPackage ./digest.nix { varnish = varnish4; }; - rtstatus = callPackage ./rtstatus.nix { varnish = varnish4; }; # varnish4 only - modules = callPackage ./modules.nix { varnish = varnish4; }; # varnish4 and varnish5 only - geoip = callPackage ./geoip.nix { varnish = varnish4; }; # varnish4 and varnish5 only + varnish60Packages = { + varnish = varnish60; + digest = callPackage ./digest.nix { varnish = varnish60; }; + dynamic = callPackage ./dynamic.nix { varnish = varnish60; }; }; - varnish5Packages = { - varnish = varnish5; - digest = callPackage ./digest.nix { varnish = varnish5; }; - dynamic = callPackage ./dynamic.nix { varnish = varnish5; }; # varnish5 only (upstream has a separate branch for varnish4) - modules = callPackage ./modules.nix { varnish = varnish5; }; # varnish4 and varnish5 only - geoip = callPackage ./geoip.nix { varnish = varnish5; }; # varnish4 and varnish5 only + varnish62Packages = { + varnish = varnish62; }; - varnish6Packages = { - varnish = varnish6; - digest = callPackage ./digest.nix { varnish = varnish6; }; + varnish63Packages = { + varnish = varnish63; }; } diff --git a/pkgs/servers/varnish/rtstatus.nix b/pkgs/servers/varnish/rtstatus.nix deleted file mode 100644 index c27633a2d33..00000000000 --- a/pkgs/servers/varnish/rtstatus.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, varnish, docutils }: - -stdenv.mkDerivation rec { - version = "1.2.0"; - name = "${varnish.name}-rtstatus-${version}"; - - src = fetchurl { - url = "https://download.varnish-software.com/libvmod-rtstatus/libvmod-rtstatus-${version}.tar.gz"; - sha256 = "0hll1aspgpv1daw5sdbn5w1d6birchxgapzb6zi1nhahjlimy4ly"; - }; - - nativeBuildInputs = [ pkgconfig docutils varnish.python ]; - buildInputs = [ varnish ]; - configureFlags = [ "VMOD_DIR=$(out)/lib/varnish/vmods" ]; - - meta = with stdenv.lib; { - description = "Varnish realtime status page"; - homepage = https://github.com/varnish/libvmod-rtstatus; - inherit (varnish.meta) license platforms maintainers; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 24b3e1d3d23..7d118d45d79 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7119,13 +7119,13 @@ in valum = callPackage ../development/web/valum { }; inherit (callPackages ../servers/varnish { }) - varnish4 varnish5 varnish6; + varnish60 varnish62 varnish63; inherit (callPackages ../servers/varnish/packages.nix { }) - varnish4Packages - varnish5Packages - varnish6Packages; + varnish60Packages + varnish62Packages + varnish63Packages; - varnishPackages = varnish5Packages; + varnishPackages = varnish63Packages; varnish = varnishPackages.varnish; hitch = callPackage ../servers/hitch { }; From 8eb5b275047594ba08f4c0aca9d31b5704b52963 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 16:17:52 -0700 Subject: [PATCH 127/391] gmic: 2.7.4 -> 2.7.5 (#72517) --- pkgs/tools/graphics/gmic/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/graphics/gmic/default.nix b/pkgs/tools/graphics/gmic/default.nix index de439d1a6ba..54b140cdb3e 100644 --- a/pkgs/tools/graphics/gmic/default.nix +++ b/pkgs/tools/graphics/gmic/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "gmic"; - version = "2.7.4"; + version = "2.7.5"; outputs = [ "out" "lib" "dev" "man" ]; src = fetchurl { url = "https://gmic.eu/files/source/gmic_${version}.tar.gz"; - sha256 = "0h1c1c6l25c5rjc0wkspmw44k7cafrn0jwc0713vp87qipx416yd"; + sha256 = "008lpjm3w5hzfccam6qf0rizdg3a9cqrizhr7vrpskmbr1j451d6"; }; nativeBuildInputs = [ From a1c42b2ea3c66a768d19feaf7df8890d0b004304 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 16:19:57 -0700 Subject: [PATCH 128/391] drumgizmo: 0.9.18 -> 0.9.18.1 (#72496) --- pkgs/applications/audio/drumgizmo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/drumgizmo/default.nix b/pkgs/applications/audio/drumgizmo/default.nix index 86de7df101d..2581f223c91 100644 --- a/pkgs/applications/audio/drumgizmo/default.nix +++ b/pkgs/applications/audio/drumgizmo/default.nix @@ -3,12 +3,12 @@ }: stdenv.mkDerivation rec { - version = "0.9.18"; + version = "0.9.18.1"; pname = "drumgizmo"; src = fetchurl { url = "https://www.drumgizmo.org/releases/${pname}-${version}/${pname}-${version}.tar.gz"; - sha256 = "1vig9pm0dakpk8wa62m9ajj3bz536h0170r8vb98hxbm4wyys8yj"; + sha256 = "0bpbkzcr3znbwfdk79c14n5k5hh80iqlk2nc03q95vhimbadk8k7"; }; configureFlags = [ "--enable-lv2" ]; From ba3d399a1f3135184c06b0b486265ee6b8c129e4 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 15:55:44 -0700 Subject: [PATCH 129/391] python38Packages.emcee: 3.0.0 -> 3.0.1 --- pkgs/development/python-modules/emcee/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/emcee/default.nix b/pkgs/development/python-modules/emcee/default.nix index 21015980084..8c720dec325 100644 --- a/pkgs/development/python-modules/emcee/default.nix +++ b/pkgs/development/python-modules/emcee/default.nix @@ -3,11 +3,11 @@ buildPythonPackage rec { pname = "emcee"; - version = "3.0.0"; + version = "3.0.1"; src = fetchPypi { inherit pname version; - sha256 = "353c26d8a8b09553532cd93662ddbedcd1a77feecefda5e46ea7e38829dede89"; + sha256 = "01mx1w4a7j5p29a3r7ilh9la9n6gnlgwb46m439vrnfgvbvjjy9c"; }; propagatedBuildInputs = [ numpy ]; From 8be907f3de2fe03e5cc281c0acad2870a3b52f0a Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 16:29:07 -0700 Subject: [PATCH 130/391] pdf2djvu: 0.9.13 -> 0.9.14 (#72613) --- pkgs/tools/typesetting/pdf2djvu/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/typesetting/pdf2djvu/default.nix b/pkgs/tools/typesetting/pdf2djvu/default.nix index a6f38ad0bc2..5b1412f3792 100644 --- a/pkgs/tools/typesetting/pdf2djvu/default.nix +++ b/pkgs/tools/typesetting/pdf2djvu/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, djvulibre, poppler, fontconfig, libjpeg }: stdenv.mkDerivation rec { - version = "0.9.13"; + version = "0.9.14"; pname = "pdf2djvu"; src = fetchurl { url = "https://github.com/jwilk/pdf2djvu/releases/download/${version}/${pname}-${version}.tar.xz"; - sha256 = "0qscmfii1pvnb8g7kbl1rdiqyic6ybfiw4kwvy35qqi967c1daz0"; + sha256 = "05z2bbg54pfsi668fwcjrcr5iz9llf9gprzdsrn6fw5wjv4876zi"; }; nativeBuildInputs = [ pkgconfig ]; From 035dcb39ed3a0ed57a3f3c044428f11c569b0fea Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 15:26:50 -0700 Subject: [PATCH 131/391] python38Packages.flask-jwt-extended: 3.24.0 -> 3.24.1 --- .../development/python-modules/flask-jwt-extended/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/flask-jwt-extended/default.nix b/pkgs/development/python-modules/flask-jwt-extended/default.nix index 23c5c5d3a37..1fcb7e3cd87 100644 --- a/pkgs/development/python-modules/flask-jwt-extended/default.nix +++ b/pkgs/development/python-modules/flask-jwt-extended/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "Flask-JWT-Extended"; - version = "3.24.0"; + version = "3.24.1"; src = fetchPypi { inherit pname version; - sha256 = "1znqjp780nrp94hjcrcx0945izzl3zsrqkmdac44d2fmlnbdp2by"; + sha256 = "1p8rwcsscyjw2m7dbybiaflqk4z1r2d1kp9r9qqyjfzblxpyxa0a"; }; propagatedBuildInputs = [ dateutil flask pyjwt werkzeug ]; From 48b1e9d6edb4f0848e6e64ef1ebc5530fbd1fa21 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 15:52:55 -0700 Subject: [PATCH 132/391] python38Packages.elementpath: 1.3.0 -> 1.3.1 --- pkgs/development/python-modules/elementpath/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/elementpath/default.nix b/pkgs/development/python-modules/elementpath/default.nix index 697ea742ada..637cca7f608 100644 --- a/pkgs/development/python-modules/elementpath/default.nix +++ b/pkgs/development/python-modules/elementpath/default.nix @@ -1,14 +1,14 @@ { lib, buildPythonPackage, fetchFromGitHub }: buildPythonPackage rec { - version = "1.3.0"; + version = "1.3.1"; pname = "elementpath"; src = fetchFromGitHub { owner = "sissaschool"; repo = "elementpath"; rev = "v${version}"; - sha256 = "0ahqqqpcf3fd6xcdhiwwscincyj6h5xyjaacnqxwph1y1b8mnzyw"; + sha256 = "0060cd49m0q25k7anzyiz76360hag2f9j5hvqhbmscivf1ssckzq"; }; # avoid circular dependency with xmlschema which directly depends on this From 19d015894067a1ba4dbd6b38de8b0d1d7159dde0 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 15:59:16 -0700 Subject: [PATCH 133/391] python38Packages.azure-mgmt-storage: 5.0.0 -> 6.0.0 --- .../development/python-modules/azure-mgmt-storage/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/azure-mgmt-storage/default.nix b/pkgs/development/python-modules/azure-mgmt-storage/default.nix index 09641bb2056..c2b172e6c49 100644 --- a/pkgs/development/python-modules/azure-mgmt-storage/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-storage/default.nix @@ -7,13 +7,13 @@ }: buildPythonPackage rec { - version = "5.0.0"; + version = "6.0.0"; pname = "azure-mgmt-storage"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "dd27ffc8c763932100dff1cda3d5a72dc2348686093732747f68396b1dd3fabf"; + sha256 = "0pgmxr8shz6rmgbacfy1xb99y9ja38ck1lap0n58m6jjy1mgxk2w"; }; postInstall = if isPy3k then "" else '' From 742e3de047f09304e9d2c9cd96ba22a3dfebbe46 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 14:15:44 -0700 Subject: [PATCH 134/391] python38Packages.boolean-py: 3.6 -> 3.7 --- pkgs/development/python-modules/boolean-py/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/boolean-py/default.nix b/pkgs/development/python-modules/boolean-py/default.nix index cf35243f2b0..8f5ef73c7e2 100644 --- a/pkgs/development/python-modules/boolean-py/default.nix +++ b/pkgs/development/python-modules/boolean-py/default.nix @@ -3,13 +3,13 @@ buildPythonPackage rec { pname = "boolean.py"; - version = "3.6"; + version = "3.7"; src = fetchFromGitHub { owner = "bastikr"; repo = "boolean.py"; rev = "v${version}"; - sha256 = "1wc89y73va58cj7dsx6c199zpxsy9q53dsffsdj6zmc90inqz6qs"; + sha256 = "1q9ji2jq07qr6vgp9yv6y8lx6h0zyi07fqjga3yi3vpfk46h2jn1"; }; meta = with lib; { From 20361715aa8a8452e4a35301a3a76f8f3d632e39 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 13:50:10 -0700 Subject: [PATCH 135/391] python38Packages.plumbum: 1.6.7 -> 1.6.8 --- pkgs/development/python-modules/plumbum/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/plumbum/default.nix b/pkgs/development/python-modules/plumbum/default.nix index 13afce05ef7..d24b2dcafda 100644 --- a/pkgs/development/python-modules/plumbum/default.nix +++ b/pkgs/development/python-modules/plumbum/default.nix @@ -5,7 +5,7 @@ buildPythonPackage rec { pname = "plumbum"; - version = "1.6.7"; + version = "1.6.8"; checkInputs = [ pytest ]; @@ -14,6 +14,6 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - sha256 = "d143f079bfb60b11e9bec09a49695ce2e55ce5ca0246877bdb0818ab7c7fc312"; + sha256 = "14mbyvc1y25lr72n1zh9ym5ngify7zdr57lxahidq03ycpwz4wc5"; }; } \ No newline at end of file From 780ae6ff39757267d3b3b5bef0977a775c6530c3 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 15:41:23 -0700 Subject: [PATCH 136/391] python38Packages.django_extensions: 2.2.3 -> 2.2.5 --- pkgs/development/python-modules/django-extensions/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/django-extensions/default.nix b/pkgs/development/python-modules/django-extensions/default.nix index 911a313aefd..7f755010b73 100644 --- a/pkgs/development/python-modules/django-extensions/default.nix +++ b/pkgs/development/python-modules/django-extensions/default.nix @@ -7,13 +7,13 @@ buildPythonPackage rec { pname = "django-extensions"; - version = "2.2.3"; + version = "2.2.5"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "19bln9z25dmz1waqcxivlwg20dlm033c7f4z3h3mkhzkbk928y71"; + sha256 = "0053yqq4vq3mwy7zkfs5vfm3g8j9sfy3vrc6xby83qlj9wz43ipi"; }; postPatch = '' From f64ad2582bcd3cbb15b1b89c8acd5f38a3c27dce Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 14:02:50 -0700 Subject: [PATCH 137/391] python38Packages.dogpile_cache: 0.8.0 -> 0.9.0 --- pkgs/development/python-modules/dogpile.cache/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/dogpile.cache/default.nix b/pkgs/development/python-modules/dogpile.cache/default.nix index 86180a609bb..414e9b065c7 100644 --- a/pkgs/development/python-modules/dogpile.cache/default.nix +++ b/pkgs/development/python-modules/dogpile.cache/default.nix @@ -4,11 +4,11 @@ buildPythonPackage rec { pname = "dogpile.cache"; - version = "0.8.0"; + version = "0.9.0"; src = fetchPypi { inherit pname version; - sha256 = "70f5eae4aec908f76188a2c287e07105f60c05d879bb9a4efcc5ba44563d8de6"; + sha256 = "0sr1fn6b4k5bh0cscd9yi8csqxvj4ngzildav58x5p694mc86j5k"; }; # Disable concurrency tests that often fail, From b425aa639300869ca00cab53c1ff855ac9a7045b Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 16:08:51 -0700 Subject: [PATCH 138/391] python38Packages.pypillowfight: 0.2.4 -> 0.3.0 --- pkgs/development/python-modules/pypillowfight/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pypillowfight/default.nix b/pkgs/development/python-modules/pypillowfight/default.nix index 0313632e6fd..feb1f9451bc 100644 --- a/pkgs/development/python-modules/pypillowfight/default.nix +++ b/pkgs/development/python-modules/pypillowfight/default.nix @@ -3,7 +3,7 @@ }: buildPythonPackage rec { pname = "pypillowfight"; - version = "0.2.4"; + version = "0.3.0"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; @@ -11,7 +11,7 @@ buildPythonPackage rec { owner = "OpenPaperwork"; repo = "libpillowfight"; rev = version; - sha256 = "0wbzfhbzim61fmkm7p7f2rwslacla1x00a6xp50haawjh9zfwc4y"; + sha256 = "096242v425mlqqj5g1giy59p7grxp05g78w6bk37vzph98jrgv3w"; }; prePatch = '' From b9948763f54d1ad7710f93d7d5a5365f8739afd3 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sat, 2 Nov 2019 14:52:12 -0700 Subject: [PATCH 139/391] appdaemon: add setuptools --- pkgs/servers/home-assistant/appdaemon.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/servers/home-assistant/appdaemon.nix b/pkgs/servers/home-assistant/appdaemon.nix index 5d4d88e1cda..47d9e88999a 100644 --- a/pkgs/servers/home-assistant/appdaemon.nix +++ b/pkgs/servers/home-assistant/appdaemon.nix @@ -52,7 +52,7 @@ in python.pkgs.buildPythonApplication rec { propagatedBuildInputs = with python.pkgs; [ daemonize astral requests sseclient websocket_client aiohttp yarl jinja2 - aiohttp-jinja2 pyyaml voluptuous feedparser iso8601 bcrypt paho-mqtt + aiohttp-jinja2 pyyaml voluptuous feedparser iso8601 bcrypt paho-mqtt setuptools ]; # no tests implemented From f42e4ef5f9e4ab983430f9888691c0851c319b64 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 17:01:43 -0700 Subject: [PATCH 140/391] python38Packages.twilio: 6.29.3 -> 6.32.0 --- pkgs/development/python-modules/twilio/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix index 657d98722a2..95c58e20d91 100644 --- a/pkgs/development/python-modules/twilio/default.nix +++ b/pkgs/development/python-modules/twilio/default.nix @@ -3,13 +3,13 @@ buildPythonPackage rec { pname = "twilio"; - version = "6.29.3"; + version = "6.32.0"; # tests not included in PyPi, so fetch from github instead src = fetchFromGitHub { owner = "twilio"; repo = "twilio-python"; rev = version; - sha256 = "0xc0lw6js8icshjh65rvgbnxrscqsd7ls3h0ni4xqg0kin9wyz42"; + sha256 = "0by2qjzxv13k4lvy4mas0hf468xf98qbc2arc8fcy6aj7h8jaam8"; }; buildInputs = [ nose mock ]; From eed3a01c782107edc16f3c201dc157ac91cc69b4 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 17:32:34 -0700 Subject: [PATCH 141/391] qbittorrent: 4.1.8 -> 4.1.9.1 --- pkgs/applications/networking/p2p/qbittorrent/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix index c5142c2f9e2..aebdeda6108 100644 --- a/pkgs/applications/networking/p2p/qbittorrent/default.nix +++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix @@ -10,13 +10,13 @@ with lib; mkDerivation rec { pname = "qbittorrent"; - version = "4.1.8"; + version = "4.1.9.1"; src = fetchFromGitHub { owner = "qbittorrent"; repo = "qbittorrent"; rev = "release-${version}"; - sha256 = "1mx59mazfmd5yaqdgb6cm8hr5sbp2xgzz3y3yipq1fwq85dj3r5w"; + sha256 = "19zgqlby7i1kr20wa4zd99qzd062a879xxxbmlf40rnqiqy4bhyi"; }; # NOTE: 2018-05-31: CMake is working but it is not officially supported From 1c74b29b05a55f1a66afb595fd5796cb52879aa3 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 3 Nov 2019 03:22:42 +0100 Subject: [PATCH 142/391] pinentry-gnome: fix target output --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7d118d45d79..0fbad29fa13 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5599,7 +5599,7 @@ in pinentry-emacs = (stdenv.lib.getOutput "emacs" pinentry); pinentry-gtk2 = (stdenv.lib.getOutput "gtk2" pinentry); pinentry-qt = (stdenv.lib.getOutput "qt" pinentry); - pinentry-gnome = (stdenv.lib.getOutput "gnome" pinentry); + pinentry-gnome = (stdenv.lib.getOutput "gnome3" pinentry); pinentry_mac = callPackage ../tools/security/pinentry/mac.nix { inherit (darwin.apple_sdk.frameworks) Cocoa; From f40f98a732659be090ce6b472e5655c8ccd2fc45 Mon Sep 17 00:00:00 2001 From: B YI Date: Sun, 3 Nov 2019 12:43:01 +0800 Subject: [PATCH 143/391] pam_mount: change order of lines in pam_mount.conf Change order of pam_mount.conf.xml so that users can override the preset configs. My use case is to mount a gocryptfs (a fuse program) volume. I can not do that in current order. Because even if I change the `` and `` by add below to extraVolumes ``` ${pkgs.fuse}/bin/mount.fuse %(VOLUME) %(MNTPT) "%(before=\"-o \" OPTIONS)" ${pkgs.fuse}/bin/fusermount -u %(MNTPT) ``` mount.fuse still does not work because it can not find `fusermount`. pam_mount will told stat /bin/fusermount failed. Fine, I can add a `` section to extraVolumes ``` ${pkgs.fuse}/bin:${pkgs.coreutils}/bin:${pkgs.utillinux}/bin ``` but then the `` section is overridden by the hardcoded `${pkgs.utillinux}/bin` below. So it still does not work. --- nixos/modules/security/pam_mount.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/security/pam_mount.nix b/nixos/modules/security/pam_mount.nix index 8b131c54a2a..75f58462d13 100644 --- a/nixos/modules/security/pam_mount.nix +++ b/nixos/modules/security/pam_mount.nix @@ -50,9 +50,6 @@ in - ${concatStrings (map userVolumeEntry (attrValues extraUserVolumes))} - ${concatStringsSep "\n" cfg.extraVolumes} - @@ -64,6 +61,9 @@ in ${pkgs.pam_mount}/bin/mount.crypt %(VOLUME) %(MNTPT) ${pkgs.pam_mount}/bin/umount.crypt %(MNTPT) ${pkgs.pam_mount}/bin/pmvarrun -u %(USER) -o %(OPERATION) + + ${concatStrings (map userVolumeEntry (attrValues extraUserVolumes))} + ${concatStringsSep "\n" cfg.extraVolumes} ''; }]; From cc73a0b2758b6c727ae6f3359837cf745ab72f83 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 23:32:00 -0700 Subject: [PATCH 144/391] rocksdb: 6.3.6 -> 6.4.6 --- pkgs/development/libraries/rocksdb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/rocksdb/default.nix b/pkgs/development/libraries/rocksdb/default.nix index ab2d7778051..d2ea22b85a1 100644 --- a/pkgs/development/libraries/rocksdb/default.nix +++ b/pkgs/development/libraries/rocksdb/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "rocksdb"; - version = "6.3.6"; + version = "6.4.6"; src = fetchFromGitHub { owner = "facebook"; repo = pname; rev = "v${version}"; - sha256 = "0i993z7xxsbs595y7wxfhgm69mg5893lfkpidcbaqnzj8j0kn0ab"; + sha256 = "0s0n4p1b4jzmslz9d2xd4ajra0m6l9x26mjwlbgw0klxjggmy8qn"; }; nativeBuildInputs = [ cmake ]; From 84bf78faa4254fd09517a431b4fa95237285977d Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 23:50:12 -0700 Subject: [PATCH 145/391] solr: 8.2.0 -> 8.3.0 --- pkgs/servers/search/solr/8.x.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/search/solr/8.x.nix b/pkgs/servers/search/solr/8.x.nix index fd888de60de..7abfe9a2b20 100644 --- a/pkgs/servers/search/solr/8.x.nix +++ b/pkgs/servers/search/solr/8.x.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "solr"; - version = "8.2.0"; + version = "8.3.0"; src = fetchurl { url = "mirror://apache/lucene/${pname}/${version}/${pname}-${version}.tgz"; - sha256 = "0j9lydxlng785h2n1b8avinrkqdpbj5qn4rk897p2pbf4fdv795z"; + sha256 = "11qkipmj8qq4gw5lwnx1j8dr2lq8d5h1v1fbdyppw8l6a68j160s"; }; nativeBuildInputs = [ makeWrapper ]; From cf9b33dd499c0a0dc8ef9a81ef8bdfee2e9e8db8 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 3 Nov 2019 00:47:42 -0700 Subject: [PATCH 146/391] template-glib: 3.32.0 -> 3.34.0 --- pkgs/development/libraries/template-glib/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/template-glib/default.nix b/pkgs/development/libraries/template-glib/default.nix index 4314abd2548..070953d0bbc 100644 --- a/pkgs/development/libraries/template-glib/default.nix +++ b/pkgs/development/libraries/template-glib/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, meson, ninja, pkgconfig, glib, gobject-introspection, flex, bison, vala, gettext, gnome3, gtk-doc, docbook_xsl, docbook_xml_dtd_43 }: let - version = "3.32.0"; + version = "3.34.0"; pname = "template-glib"; in stdenv.mkDerivation { @@ -10,7 +10,7 @@ stdenv.mkDerivation { src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1g0zx0sxpw8kqp7p3sgl9kngaqrg9xl6cir24nrahks0vgsk98rr"; + sha256 = "1z9xkin5fyfh071ma9y045jcw83hgx33dfbjraw6cxk0qdmfysr1"; }; buildInputs = [ meson ninja pkgconfig gettext flex bison vala glib gtk-doc docbook_xsl docbook_xml_dtd_43 ]; From 2eb6ea6d1121d8f538ce6e632c3112c8607d9f77 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 3 Nov 2019 00:53:02 -0700 Subject: [PATCH 147/391] gnome3.swell-foop: 3.34.0 -> 3.34.1 --- pkgs/desktops/gnome-3/games/swell-foop/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/games/swell-foop/default.nix b/pkgs/desktops/gnome-3/games/swell-foop/default.nix index 6de5eaa96c3..02a61d46c73 100644 --- a/pkgs/desktops/gnome-3/games/swell-foop/default.nix +++ b/pkgs/desktops/gnome-3/games/swell-foop/default.nix @@ -3,13 +3,13 @@ let pname = "swell-foop"; - version = "3.34.0"; + version = "3.34.1"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1vbclb1jcn2s9rb7whk02v6hfr6fnwx2ppa55bsa7595f3ki79v5"; + sha256 = "1032psxm59nissi268bh3j964m4a0n0ah4dy1pf0ph27j3zvdik1"; }; passthru = { From 0b27dd0bde3038d78e96d0dedfde509c0ef05370 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Sun, 3 Nov 2019 09:56:41 +0100 Subject: [PATCH 148/391] emacs-nox: Add alias for emacs26-nox --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 768fc74fb7a..eeebbeb8efa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18282,6 +18282,7 @@ in emacs = emacs26; emacsPackages = emacs26Packages; + emacs-nox = emacs26-nox; emacs26 = callPackage ../applications/editors/emacs { # use override to enable additional features From a6294b53b78ad5900af541b0ee1086e6622c7d45 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 3 Nov 2019 00:59:04 -0700 Subject: [PATCH 149/391] unrar: 5.8.2 -> 5.8.3 --- pkgs/tools/archivers/unrar/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/archivers/unrar/default.nix b/pkgs/tools/archivers/unrar/default.nix index c445cf854dd..b1d440e51ce 100644 --- a/pkgs/tools/archivers/unrar/default.nix +++ b/pkgs/tools/archivers/unrar/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "unrar"; - version = "5.8.2"; + version = "5.8.3"; src = fetchurl { url = "https://www.rarlab.com/rar/unrarsrc-${version}.tar.gz"; - sha256 = "1nixncpx4psfc5xx1dh332gfcmxld5m4mpwjcasm7c9zzlincf1k"; + sha256 = "19lizlsbblkcdyc81jycp5k8kf5d8h2hlgfy16zb1g2vixf6i49m"; }; postPatch = '' From ee3ab209fe48ba432438b533903cb1760f7624d8 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 3 Nov 2019 01:05:10 -0700 Subject: [PATCH 150/391] sysprof: 3.34.0 -> 3.34.1 --- pkgs/development/tools/profiling/sysprof/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/profiling/sysprof/default.nix b/pkgs/development/tools/profiling/sysprof/default.nix index d01785a8fc0..b7538a2b388 100644 --- a/pkgs/development/tools/profiling/sysprof/default.nix +++ b/pkgs/development/tools/profiling/sysprof/default.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation rec { pname = "sysprof"; - version = "3.34.0"; + version = "3.34.1"; outputs = [ "out" "lib" "dev" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0b7rpwvs5wckiy418vs0d4i62wafpcx1zlspw39ag50d1sjcbv58"; + sha256 = "1l4kr1av7933vb4zql9c5lgzivlw64hyky4nr8xin1v5if6vnjw4"; }; nativeBuildInputs = [ From 21d0acb24951f366fc3efb95dd529984fedd1f13 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 3 Nov 2019 00:06:14 -0700 Subject: [PATCH 151/391] samplv1: 0.9.10 -> 0.9.11 --- pkgs/applications/audio/samplv1/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/samplv1/default.nix b/pkgs/applications/audio/samplv1/default.nix index 134757079f6..4874969b633 100644 --- a/pkgs/applications/audio/samplv1/default.nix +++ b/pkgs/applications/audio/samplv1/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "samplv1"; - version = "0.9.10"; + version = "0.9.11"; src = fetchurl { url = "mirror://sourceforge/samplv1/${pname}-${version}.tar.gz"; - sha256 = "04p5jkighmc8rf7fzzy8ch6knqbxv03vhjzdfh9dva2mlzw9rvjj"; + sha256 = "17zs8kvvwqv00bm4lxpn09a5hxjlbz7k5mkl3k7jspw7rqn3djf2"; }; buildInputs = [ libjack2 alsaLib liblo libsndfile lv2 qt5.qtbase qt5.qttools]; From 5a33df7e1e7538e3eb8ff753516c5b61e79f27a8 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 21:38:26 -0700 Subject: [PATCH 152/391] shairport-sync: 3.3.2 -> 3.3.4 --- pkgs/servers/shairport-sync/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/shairport-sync/default.nix b/pkgs/servers/shairport-sync/default.nix index 40b88c34e8d..f97182612fd 100644 --- a/pkgs/servers/shairport-sync/default.nix +++ b/pkgs/servers/shairport-sync/default.nix @@ -2,11 +2,11 @@ , libdaemon, popt, pkgconfig, libconfig, libpulseaudio, soxr }: stdenv.mkDerivation rec { - version = "3.3.2"; + version = "3.3.4"; pname = "shairport-sync"; src = fetchFromGitHub { - sha256 = "14f09sj2rxmixd5yjmwp82j49rxn1fvcxkvh7qjif893xgk98a3w"; + sha256 = "07rxf1la93g5y7yq49fglhxji8vizzr268p1ccf8ws8j025vbl7n"; rev = version; repo = "shairport-sync"; owner = "mikebrady"; From 99f221538bdffd1b95aa93c797637e389c67ca08 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 21:27:34 -0700 Subject: [PATCH 153/391] gitAndTools.stgit: 0.20 -> 0.21 --- .../version-management/git-and-tools/stgit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/stgit/default.nix b/pkgs/applications/version-management/git-and-tools/stgit/default.nix index 1f8ed744935..660c391c0d5 100644 --- a/pkgs/applications/version-management/git-and-tools/stgit/default.nix +++ b/pkgs/applications/version-management/git-and-tools/stgit/default.nix @@ -2,7 +2,7 @@ let name = "stgit-${version}"; - version = "0.20"; + version = "0.21"; in stdenv.mkDerivation { inherit name; @@ -11,7 +11,7 @@ stdenv.mkDerivation { owner = "ctmarinas"; repo = "stgit"; rev = "v${version}"; - sha256 = "0zfrs9f6a84z5gr3k6y81h8jyar7h3q3z9p13cbrq9slljg5r6iw"; + sha256 = "16gwdad18rc9bivyzrjccp83iccmqr45fp2zawycmrfp2ancffc7"; }; buildInputs = [ python2 git ]; From 0d71f7fec73fdf4de6f9990da061747047f8a481 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 21:03:03 -0700 Subject: [PATCH 154/391] simpleitk: 1.2.2 -> 1.2.3 --- pkgs/development/libraries/simpleitk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/simpleitk/default.nix b/pkgs/development/libraries/simpleitk/default.nix index 1cf40c92db6..2afd7650618 100644 --- a/pkgs/development/libraries/simpleitk/default.nix +++ b/pkgs/development/libraries/simpleitk/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "simpleitk"; - version = "1.2.2"; + version = "1.2.3"; src = fetchFromGitHub { owner = "SimpleITK"; repo = "SimpleITK"; rev = "v${version}"; - sha256 = "1cgq9cxxplv6bkm2zfvcc0lgyh5zw1hbry30k1429n9737wnadaw"; + sha256 = "0nmsq0qx4jmrrhrc6bfm11wwvyszvfgl45xizw69yra3cv9pgmm6"; }; nativeBuildInputs = [ cmake git swig ]; From 8e912bcb30c2625b72b71b2d096195868d1bcc43 Mon Sep 17 00:00:00 2001 From: Kirill Elagin Date: Sun, 3 Nov 2019 12:04:39 +0300 Subject: [PATCH 155/391] fixup! Tweak cross-compilation of some netbsd stuff --- pkgs/os-specific/bsd/netbsd/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/bsd/netbsd/default.nix b/pkgs/os-specific/bsd/netbsd/default.nix index c88f40da2a9..2d51c11f04a 100644 --- a/pkgs/os-specific/bsd/netbsd/default.nix +++ b/pkgs/os-specific/bsd/netbsd/default.nix @@ -127,9 +127,10 @@ let nativeBuildInputs = [ makeMinimal ]; buildInputs = [ zlib ]; - # for some reason the build system re-runs configure with HOST_CC + # the build system re-runs `./configure` with `HOST_CC` (which is their + # name for Build CC) as a compiler to make `defs.mk`, which is installed depsBuildBuild = [ buildPackages.stdenv.cc ] ++ buildInputs; - HOST_CC = "${buildPackages.stdenv.cc}/bin/cc"; + HOST_CC = "${buildPackages.stdenv.cc.targetPrefix}cc"; # temporarily use gnuinstall for bootstrapping # bsdinstall will be built later @@ -215,7 +216,6 @@ let version = "8.0"; nativeBuildInputs = [ ]; propagatedBuildInputs = [ compat ]; - buildInputs = [ stdenv.cc ]; extraPaths = [ (fetchNetBSD "lib/libc/gen/fts.c" "8.0" "1a8hmf26242nmv05ipn3ircxb0jqmmi66rh78kkyi9vjwkfl3qn7") (fetchNetBSD "lib/libc/include/namespace.h" "8.0" "1sjvh9nw3prnk4rmdwrfsxh6gdb9lmilkn46jcfh3q5c8glqzrd7") From 2947823125800bd42e2198b75cbcbe1cedfb6fc5 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 18:20:48 -0700 Subject: [PATCH 156/391] python38Packages.wxPython_4_0: 4.0.6 -> 4.0.7 --- pkgs/development/python-modules/wxPython/4.0.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/wxPython/4.0.nix b/pkgs/development/python-modules/wxPython/4.0.nix index 9f6e9866cef..f03d1fb1e87 100644 --- a/pkgs/development/python-modules/wxPython/4.0.nix +++ b/pkgs/development/python-modules/wxPython/4.0.nix @@ -28,11 +28,11 @@ buildPythonPackage rec { pname = "wxPython"; - version = "4.0.6"; + version = "4.0.7"; src = fetchPypi { inherit pname version; - sha256 = "35cc8ae9dd5246e2c9861bb796026bbcb9fb083e4d49650f776622171ecdab37"; + sha256 = "0cq2iyqm08ihazh5xzdsha5h22mba0w4a0y7iikn6c6yvszhiriv"; }; doCheck = false; From fa5b8c2da6ae1747fea02778f7fd1c722e661387 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 17:05:04 -0700 Subject: [PATCH 157/391] pytrainer: 2.0.0 -> 2.0.1 --- pkgs/applications/misc/pytrainer/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/pytrainer/default.nix b/pkgs/applications/misc/pytrainer/default.nix index 7c560cacda1..0375b99af48 100644 --- a/pkgs/applications/misc/pytrainer/default.nix +++ b/pkgs/applications/misc/pytrainer/default.nix @@ -26,13 +26,13 @@ in python3.pkgs.buildPythonApplication rec { pname = "pytrainer"; - version = "2.0.0"; + version = "2.0.1"; src = fetchFromGitHub { owner = "pytrainer"; repo = "pytrainer"; rev = "v${version}"; - sha256 = "1w5z1xwb2g6j2izm89b7lv9n92r1zhsr8bglxcn7jc5gwbvwysvd"; + sha256 = "0m2sy3f5pyc4wv1ns31r7vlafqkzp0a2jasaskwrkl6273agbbk9"; }; patches = [ From 2177a8ee202cb88503a1b568c0aa055c4c19fa93 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 17:27:05 -0700 Subject: [PATCH 158/391] quilter: 2.0.0 -> 2.0.2 --- pkgs/applications/editors/quilter/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/quilter/default.nix b/pkgs/applications/editors/quilter/default.nix index 41a87de2eff..7df036cc215 100644 --- a/pkgs/applications/editors/quilter/default.nix +++ b/pkgs/applications/editors/quilter/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "quilter"; - version = "2.0.0"; + version = "2.0.2"; src = fetchFromGitHub { owner = "lainsce"; repo = pname; rev = version; - sha256 = "1jmgnmpalnl3261wifk0mqa9viag6yvlrycgzqalmnrm1b20pyg4"; + sha256 = "0qd8qssqzds06l08f4yf39i3bjl1ljyr85wgc3yn6mn698ynx30g"; }; nativeBuildInputs = [ From 7e4bf89408c9d257fd8fb893b9c38d6422955066 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 12:42:19 -0700 Subject: [PATCH 159/391] ps_mem: 3.12 -> 3.13 --- pkgs/tools/system/ps_mem/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/system/ps_mem/default.nix b/pkgs/tools/system/ps_mem/default.nix index ad256e36656..bde4429c481 100644 --- a/pkgs/tools/system/ps_mem/default.nix +++ b/pkgs/tools/system/ps_mem/default.nix @@ -1,7 +1,7 @@ { stdenv, pythonPackages, fetchFromGitHub }: let - version = "3.12"; + version = "3.13"; pname = "ps_mem"; in pythonPackages.buildPythonApplication { name = "${pname}-${version}"; @@ -10,7 +10,7 @@ in pythonPackages.buildPythonApplication { owner = "pixelb"; repo = pname; rev = "v${version}"; - sha256 = "0kcxlmfisbwf24p2k72njfyfp22fjr9p9zalg9b4w0yhnlzk24ph"; + sha256 = "0pgi9hvwfbkzvwicqlkwx4rwal1ikza018yxbwpnf7c80zw0zaw9"; }; meta = with stdenv.lib; { From b1a591dd14f490f9f209bfba32aeb53149d03d9c Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 09:40:45 -0700 Subject: [PATCH 160/391] palemoon: 28.7.0 -> 28.7.2 --- pkgs/applications/networking/browsers/palemoon/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix index 66b947946cd..07234f59a8e 100644 --- a/pkgs/applications/networking/browsers/palemoon/default.nix +++ b/pkgs/applications/networking/browsers/palemoon/default.nix @@ -13,13 +13,13 @@ let in stdenv.mkDerivation rec { pname = "palemoon"; - version = "28.7.0"; + version = "28.7.2"; src = fetchFromGitHub { owner = "MoonchildProductions"; repo = "UXP"; rev = "PM${version}_Release"; - sha256 = "0i6fy1mvjy6vpqnvhh516mxbv4d2z73yghk3frln4ql8zavba7qq"; + sha256 = "08w90269mwcqsdhx4vvp18c5iccvzqhaaw6aw7w0nppf2f2k8lri"; }; desktopItem = makeDesktopItem { From a5e7b47f3dfab961aa63468d27290e3226da191e Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 07:46:09 -0700 Subject: [PATCH 161/391] parallel: 20190922 -> 20191022 --- pkgs/tools/misc/parallel/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix index 46ff72a678a..27fd51ed447 100644 --- a/pkgs/tools/misc/parallel/default.nix +++ b/pkgs/tools/misc/parallel/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, perl, makeWrapper, procps }: stdenv.mkDerivation rec { - name = "parallel-20190922"; + name = "parallel-20191022"; src = fetchurl { url = "mirror://gnu/parallel/${name}.tar.bz2"; - sha256 = "0qrw34rpp8g5knb2nhs8z1hz9i42nxjn6i12m4rblm0anhnfwbr8"; + sha256 = "1a89x5ix9kls1abj8zkgxdf3g3s5phzb83xcd4cwpz4szfjfw6v4"; }; nativeBuildInputs = [ makeWrapper ]; From 7efb8234043caece4da753bb821e2763aa18063f Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Sun, 3 Nov 2019 04:20:00 -0500 Subject: [PATCH 162/391] du-dust: 0.2.3 -> 0.4.1.2 --- pkgs/tools/misc/dust/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/dust/default.nix b/pkgs/tools/misc/dust/default.nix index 4dffae557a4..68f06f1ceb8 100644 --- a/pkgs/tools/misc/dust/default.nix +++ b/pkgs/tools/misc/dust/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "dust"; - version = "0.2.3"; + version = "0.4.1.2"; src = fetchFromGitHub { owner = "bootandy"; repo = "dust"; rev = "v${version}"; - sha256 = "1l8z1daiq2x92449p2ciblcwl0ddgr3vqj2dsd3z8jj3y0z8j51s"; + sha256 = "0a2n96p6z4y09l5z617qbpm8lgxvfagd1l950d2gz9xw4xf1ik5w"; }; - cargoSha256 = "1bby08ijpwb8676pgm87k80s0n0fqsxc3wmz0v8p9s85yzkflnx5"; + cargoSha256 = "0cpgxkgz10na90r3fgz8hs20vihqdcc8983inn71fq90627bhdx7"; doCheck = false; From 5a8a2e9d332c9fcedc33109b18fd3f86c81e335c Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 21:30:17 -0700 Subject: [PATCH 163/391] serialdv: 1.1.2 -> 1.1.4 --- pkgs/development/libraries/serialdv/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/serialdv/default.nix b/pkgs/development/libraries/serialdv/default.nix index b57d90eb21c..178cee5e69a 100644 --- a/pkgs/development/libraries/serialdv/default.nix +++ b/pkgs/development/libraries/serialdv/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "serialdv"; - version ="1.1.2"; + version ="1.1.4"; src = fetchFromGitHub { owner = "f4exb"; repo = "serialdv"; rev = "v${version}"; - sha256 = "0d2lnvfzf31i3f2klm46s87gby3yz3hc46cap0yqifzml0ff1qbm"; + sha256 = "0d88h2wjhf79nisiv96bq522hkbknzm88wsv0q9k33mzmrwnrx93"; }; nativeBuildInputs = [ cmake ]; From 93a2c2ee98522c558281083bec687bab4db608ec Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 23:44:38 -0700 Subject: [PATCH 164/391] s3ql: 3.3 -> 3.3.2 --- pkgs/tools/backup/s3ql/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/backup/s3ql/default.nix b/pkgs/tools/backup/s3ql/default.nix index 7ef213bae23..346f8d27964 100644 --- a/pkgs/tools/backup/s3ql/default.nix +++ b/pkgs/tools/backup/s3ql/default.nix @@ -2,13 +2,13 @@ python3Packages.buildPythonApplication rec { pname = "s3ql"; - version = "3.3"; + version = "3.3.2"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "release-${version}"; - sha256 = "1rb1y1hl6qgwpkfc85ivkk0l0f5dh8skpfaipnvndn73mlya96mk"; + sha256 = "1x0xj8clfs8fdczn8skc2wag5i4z47bsvlczn22iaf20hll1bb2w"; }; checkInputs = [ which ] ++ (with python3Packages; [ cython pytest ]); From 28b0a6a9e078fe920cb6a660f876a77ab2d57ccc Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 22:29:52 -0700 Subject: [PATCH 165/391] star: 2.7.2b -> 2.7.3a --- pkgs/applications/science/biology/star/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/biology/star/default.nix b/pkgs/applications/science/biology/star/default.nix index 8cd23fe06ed..6f4211d0c0d 100644 --- a/pkgs/applications/science/biology/star/default.nix +++ b/pkgs/applications/science/biology/star/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "star"; - version = "2.7.2b"; + version = "2.7.3a"; src = fetchFromGitHub { repo = "STAR"; owner = "alexdobin"; rev = version; - sha256 = "1fb63n3jm1l8k60wdjbq9asv4l1kf7algxxs1aqzvvidx3a8fvzq"; + sha256 = "1hgiqw5qhs0pc1xazzihcfd92na02xyq2kb469z04y1v51kpvvjq"; }; sourceRoot = "source/source"; From 0f4d7128a8e5c3f779b4b3bfe2cb6866d0c7c4d3 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 22:42:16 -0700 Subject: [PATCH 166/391] rss2email: 3.10 -> 3.11 --- .../applications/networking/feedreaders/rss2email/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/feedreaders/rss2email/default.nix b/pkgs/applications/networking/feedreaders/rss2email/default.nix index 89eef9cae4c..07f3f3fde0a 100644 --- a/pkgs/applications/networking/feedreaders/rss2email/default.nix +++ b/pkgs/applications/networking/feedreaders/rss2email/default.nix @@ -4,13 +4,13 @@ with pythonPackages; buildPythonApplication rec { pname = "rss2email"; - version = "3.10"; + version = "3.11"; propagatedBuildInputs = [ feedparser beautifulsoup4 html2text ]; src = fetchurl { url = "mirror://pypi/r/rss2email/${pname}-${version}.tar.gz"; - sha256 = "1yjgbgpq9jjmpywwk6n4lzb2k7mqgdgfgm4jckv4zy0fn595pih1"; + sha256 = "1vk5slp2mhmc1qj30igqkyq3z5h2bl1ayhafqrjapa6cg6rbvhrn"; }; outputs = [ "out" "man" "doc" ]; From 36038807cac5ee21f9dc90b8ad3e3d57d78ababf Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 3 Nov 2019 01:28:07 -0800 Subject: [PATCH 167/391] alembic: 1.7.11 -> 1.7.12 (#72454) --- pkgs/development/libraries/alembic/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/alembic/default.nix b/pkgs/development/libraries/alembic/default.nix index 263acfed63a..0c3ba0abaa9 100644 --- a/pkgs/development/libraries/alembic/default.nix +++ b/pkgs/development/libraries/alembic/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "alembic"; - version = "1.7.11"; + version = "1.7.12"; src = fetchFromGitHub { owner = "alembic"; repo = "alembic"; rev = version; - sha256 = "1lalbqn4cwf0vp4hiq72gwpd7kq501j21rnjb380mv26pk7r2ivz"; + sha256 = "0a9icrv6pwh2b73lywq1aj7i19pmzpg59iy3ngal8vq4zdciylqc"; }; outputs = [ "bin" "dev" "out" "lib" ]; From a4a032376f45f47dd5713f20d6e6ddf3bcb7d329 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 3 Nov 2019 01:31:19 -0800 Subject: [PATCH 168/391] checkstyle: 8.25 -> 8.26 (#72467) --- pkgs/development/tools/analysis/checkstyle/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix index 8f55bf95127..2ecb660ff84 100644 --- a/pkgs/development/tools/analysis/checkstyle/default.nix +++ b/pkgs/development/tools/analysis/checkstyle/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, makeWrapper, jre }: stdenv.mkDerivation rec { - version = "8.25"; + version = "8.26"; pname = "checkstyle"; src = fetchurl { url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar"; - sha256 = "04asn3cqh0f78c4b0968ic2fxgijf47paw3zgh9dh96x1165yhkf"; + sha256 = "0q0jb0ip78vai2qcig51lgp9pbb4bsg9wlwjxq0gm61icbxw6vy3"; }; nativeBuildInputs = [ makeWrapper ]; From c9c0e6f5aaf4eed529e4940caf38d31145fd160b Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 3 Nov 2019 02:03:25 -0800 Subject: [PATCH 169/391] synthv1: 0.9.10 -> 0.9.11 --- pkgs/applications/audio/synthv1/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/synthv1/default.nix b/pkgs/applications/audio/synthv1/default.nix index 6d650abfb97..96aa7737b81 100644 --- a/pkgs/applications/audio/synthv1/default.nix +++ b/pkgs/applications/audio/synthv1/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "synthv1"; - version = "0.9.10"; + version = "0.9.11"; src = fetchurl { url = "mirror://sourceforge/synthv1/${pname}-${version}.tar.gz"; - sha256 = "1ssdm7aiaz908ydqwdx9khxnnd0yfacjgvbxg5p9s9xhkbqqc2f2"; + sha256 = "116k2vca9dygvsd684wvxm61p0l1xrrgdph4qrrprlsr6vj0llgm"; }; buildInputs = [ qt5.qtbase qt5.qttools libjack2 alsaLib liblo lv2 ]; From bd638c7f041cff0c635ee7a6e6f2dcdafba5dbba Mon Sep 17 00:00:00 2001 From: xrelkd <46590321+xrelkd@users.noreply.github.com> Date: Sat, 2 Nov 2019 21:53:10 +0800 Subject: [PATCH 170/391] just: 0.4.4 -> 0.4.5 --- pkgs/development/tools/just/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/just/default.nix b/pkgs/development/tools/just/default.nix index 447cc51ac39..7628bd9558a 100644 --- a/pkgs/development/tools/just/default.nix +++ b/pkgs/development/tools/just/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "just"; - version = "0.4.4"; + version = "0.4.5"; src = fetchFromGitHub { owner = "casey"; repo = pname; rev = "v${version}"; - sha256 = "06k1pl2qmmr9q0ffw6l0dzqqfgpckmrdzjpzn9cw23shhihv99a8"; + sha256 = "0a4bml9nxvyh110a60l4lc11yr2ds5r8d3iplslccrkq1ka96av9"; }; - cargoSha256 = "1blsdl9dsq24vhm8cg1ja9m4b3h343lndibq6wz2kcwdq4i8jhd0"; + cargoSha256 = "0dbgjc21q0zaadsjvq3s6y6f4dmsybxb6g2sg8w2d3phkm9j921z"; checkInputs = [ coreutils bash dash ]; From 7827d3f4497ed722fedca57fd4d5ca1a65c38256 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sun, 3 Nov 2019 11:20:09 +0100 Subject: [PATCH 171/391] python35: 3.5.8 -> 3.5.9 There were no new changes in version 3.5.9; 3.5.9 was released only because of a CDN caching problem, which resulted in some users downloading a prerelease version of the 3.5.8 .xz source tarball. Apart from the version number, 3.5.9 is identical to the proper 3.5.8 release. --- pkgs/development/interpreters/python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index ebf5ef3e66d..ddfa9557582 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -65,10 +65,10 @@ in { sourceVersion = { major = "3"; minor = "5"; - patch = "8"; + patch = "9"; suffix = ""; }; - sha256 = "0hgzn8l4ps93f3h4b47vczsbhy2kihvzdisjjx6mrn85rndk3c8v"; + sha256 = "0jdh9pvx6m6lfz2liwvvhn7vks7qrysqgwn517fkpxb77b33fjn2"; inherit (darwin) CF configd; inherit passthruFun; }; From 7cacaea1db76e3e3969e12ae62a17d4399b649f4 Mon Sep 17 00:00:00 2001 From: Kirill Elagin Date: Sun, 3 Nov 2019 13:24:57 +0300 Subject: [PATCH 172/391] gnu-efi: Use their crosscompilation support correctly IIUC, previously, the cross-compilation support was done in a somewhat hacky way and was, basically, special-cased for ARM. Now we use the cross-compilation support intergrated into their own build system. Test: * nix-build --arg crossSystem '(import ).systems.examples.musl64' '' -A gnu-efi --- pkgs/development/libraries/gnu-efi/default.nix | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/pkgs/development/libraries/gnu-efi/default.nix b/pkgs/development/libraries/gnu-efi/default.nix index af225cc50f2..6ae1f47e38c 100644 --- a/pkgs/development/libraries/gnu-efi/default.nix +++ b/pkgs/development/libraries/gnu-efi/default.nix @@ -1,4 +1,6 @@ -{ stdenv, fetchurl, pciutils }: with stdenv.lib; +{ stdenv, buildPackages, fetchurl, pciutils }: + +with stdenv.lib; stdenv.mkDerivation rec { pname = "gnu-efi"; @@ -15,14 +17,9 @@ stdenv.mkDerivation rec { makeFlags = [ "PREFIX=\${out}" - "CC=${stdenv.cc.targetPrefix}gcc" - "AS=${stdenv.cc.targetPrefix}as" - "LD=${stdenv.cc.targetPrefix}ld" - "AR=${stdenv.cc.targetPrefix}ar" - "RANLIB=${stdenv.cc.targetPrefix}ranlib" - "OBJCOPY=${stdenv.cc.targetPrefix}objcopy" - ] ++ stdenv.lib.optional stdenv.isAarch32 "ARCH=arm" - ++ stdenv.lib.optional stdenv.isAarch64 "ARCH=aarch64"; + "HOSTCC=${buildPackages.stdenv.cc.targetPrefix}cc" + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" + ]; meta = with stdenv.lib; { description = "GNU EFI development toolchain"; From 17e7fb2fefd0f4356096014b35c0c627614bb41c Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Fri, 1 Nov 2019 09:46:59 +0100 Subject: [PATCH 173/391] veracrypt: 1.23-Hotfix-2 -> 1.24-Hotfix1 --- pkgs/applications/misc/veracrypt/default.nix | 27 +++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/misc/veracrypt/default.nix b/pkgs/applications/misc/veracrypt/default.nix index 9639cee2d8c..fe1de349cff 100644 --- a/pkgs/applications/misc/veracrypt/default.nix +++ b/pkgs/applications/misc/veracrypt/default.nix @@ -1,21 +1,36 @@ -{ stdenv, fetchurl, pkgconfig, makeself, yasm, fuse, unzip, wxGTK, lvm2 }: +{ stdenv, fetchurl, fetchpatch, pkgconfig, makeself, yasm, fuse, wxGTK, lvm2 }: with stdenv.lib; stdenv.mkDerivation rec { pname = "veracrypt"; - version = "1.23"; - minorVersion = "-Hotfix-2"; + version = "1.24-Hotfix1"; src = fetchurl { - url = "https://launchpad.net/${pname}/trunk/${version}/+download/VeraCrypt_${version}${minorVersion}_Source.zip"; - sha256 = "229de81b2478cfa5fa73e74e60798a298cd616e9852b9f47b484c80bc2a2c259"; + url = "https://launchpad.net/${pname}/trunk/${toLower version}/+download/VeraCrypt_${version}_Source.tar.bz2"; + sha256 = "8b40ece805b216843d7a71b1a30069c4057931341b030bf65caace59263c5c8c"; }; + + patches = [ + # https://github.com/veracrypt/VeraCrypt/issues/529 - fix build on non-x86 + (fetchpatch { + url = "https://github.com/veracrypt/VeraCrypt/commit/afe6b2f45b15393026a1159e5f3d165ac7d0b94a.patch"; + sha256 = "1xm9cl6zinlr0vah5xr9bvh0y9gw4331zl7d2n5xvqrcdxw3ww1y"; + stripLen = 1; + }) + # https://github.com/veracrypt/VeraCrypt/issues/529 - fix build on non-x86 + (fetchpatch { + url = "https://github.com/veracrypt/VeraCrypt/commit/3fa636d477119fff6e372074568edb42d038f508.patch"; + sha256 = "0qsccilip0ksnlzxina38a052gb533r4s422lxhrj3wv9zgpp7l3"; + stripLen = 1; + }) + ]; + sourceRoot = "src"; nativeBuildInputs = [ makeself pkgconfig yasm ]; - buildInputs = [ fuse lvm2 unzip wxGTK ]; + buildInputs = [ fuse lvm2 wxGTK ]; enableParallelBuilding = true; From a40b03c608401120cb51e18e2fc4e64255967e12 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 3 Nov 2019 03:36:33 -0800 Subject: [PATCH 174/391] x11docker: 6.2.0 -> 6.3.0 --- pkgs/applications/virtualization/x11docker/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/virtualization/x11docker/default.nix b/pkgs/applications/virtualization/x11docker/default.nix index 1d18e4d14e8..b2ebb2f82af 100644 --- a/pkgs/applications/virtualization/x11docker/default.nix +++ b/pkgs/applications/virtualization/x11docker/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchFromGitHub, makeWrapper, nx-libs, xorg }: stdenv.mkDerivation rec { pname = "x11docker"; - version = "6.2.0"; + version = "6.3.0"; src = fetchFromGitHub { owner = "mviereck"; repo = "x11docker"; rev = "v${version}"; - sha256 = "19q5vrhspxpjkdhhlgya2sa2fgjg8gyd3kmnb83nlfs46p8jx4f4"; + sha256 = "0x2sx41y3ylzg511x52k3wh8mfbzp4ialpas6sn4ccagqxh2hc4y"; }; nativeBuildInputs = [ makeWrapper ]; buildInputs = [ nx-libs xorg.xhost xorg.xinit ]; From 7befcddb33da92e0cd55a13263fb8de4e08254f1 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 3 Nov 2019 03:50:53 -0800 Subject: [PATCH 175/391] wolfssl: 4.1.0 -> 4.2.0 --- pkgs/development/libraries/wolfssl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/wolfssl/default.nix b/pkgs/development/libraries/wolfssl/default.nix index 780d7df47cb..1bad9c5eb2a 100644 --- a/pkgs/development/libraries/wolfssl/default.nix +++ b/pkgs/development/libraries/wolfssl/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "wolfssl"; - version = "4.1.0"; + version = "4.2.0"; src = fetchFromGitHub { owner = "wolfSSL"; repo = "wolfssl"; rev = "v${version}-stable"; - sha256 = "16d1dzbdx6x7czbxf6i1rlb5mv59yzzpnha7qgwab3yq62rlsgw3"; + sha256 = "16s7jx2brgii6jbpmr30ggkc7rrf388jl26g357sm7ggwliiwask"; }; configureFlags = [ "--enable-all" ]; From 8177aa48c3e410fb7ff45d8d8bb104330885b10f Mon Sep 17 00:00:00 2001 From: Ente Date: Sun, 3 Nov 2019 13:22:57 +0100 Subject: [PATCH 176/391] keepass-otpkeyprov: init at 2.6 --- .../keepass-plugins/otpkeyprov/default.nix | 32 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/applications/misc/keepass-plugins/otpkeyprov/default.nix diff --git a/pkgs/applications/misc/keepass-plugins/otpkeyprov/default.nix b/pkgs/applications/misc/keepass-plugins/otpkeyprov/default.nix new file mode 100644 index 00000000000..e2b26eaee90 --- /dev/null +++ b/pkgs/applications/misc/keepass-plugins/otpkeyprov/default.nix @@ -0,0 +1,32 @@ +{ stdenv, buildEnv, fetchzip, mono }: + +let + version = "2.6"; + drv = stdenv.mkDerivation { + pname = "otpkeyprov"; + inherit version; + + src = fetchzip { + url = "https://keepass.info/extensions/v2/otpkeyprov/OtpKeyProv-${version}.zip"; + sha256 = "1p60k55v2sxnv1varmp0dgbsi2rhjg9kj19cf54mkc87nss5h1ki"; + stripRoot = false; + }; + + meta = { + description = "OtpKeyProv is a key provider based on one-time passwords"; + homepage = "https://keepass.info/plugins.html#otpkeyprov"; + platforms = with stdenv.lib.platforms; linux; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.ente ]; + }; + + pluginFilename = "OtpKeyProv.plgx"; + + installPhase = '' + mkdir -p $out/lib/dotnet/keepass/ + cp $pluginFilename $out/lib/dotnet/keepass/$pluginFilename + ''; + }; +in + # Mono is required to compile plugin at runtime, after loading. + buildEnv { name = drv.name; paths = [ mono drv ]; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c70cf9417b3..d3d5ca9068c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18423,6 +18423,8 @@ in keepass-keepassrpc = callPackage ../applications/misc/keepass-plugins/keepassrpc { }; + keepass-otpkeyprov = callPackage ../applications/misc/keepass-plugins/otpkeyprov { }; + exrdisplay = callPackage ../applications/graphics/exrdisplay { }; exrtools = callPackage ../applications/graphics/exrtools { }; From edc0b28d28d63cc539e2d03da5a4a1cb802c6064 Mon Sep 17 00:00:00 2001 From: Ente Date: Sun, 3 Nov 2019 13:24:00 +0100 Subject: [PATCH 177/391] maintainers: add Enteee --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 854b033f056..1f2cdda41d1 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2030,6 +2030,12 @@ github = "ericnorris"; githubId = 1906605; }; + Enteee = { + email = "nix@duckpond.ch"; + github = "Enteee"; + githubid = 5493775; + name = "Ente"; + }; enzime = { email = "enzime@users.noreply.github.com"; github = "enzime"; From a7cd3c2d8207a1c21830c283bcd191e23cc6bc9f Mon Sep 17 00:00:00 2001 From: Tobias Mayer Date: Fri, 28 Jun 2019 09:12:47 +0200 Subject: [PATCH 178/391] cmake-format: init at 0.6.0 --- .../tools/cmake-format/default.nix | 32 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/development/tools/cmake-format/default.nix diff --git a/pkgs/development/tools/cmake-format/default.nix b/pkgs/development/tools/cmake-format/default.nix new file mode 100644 index 00000000000..5726b067e67 --- /dev/null +++ b/pkgs/development/tools/cmake-format/default.nix @@ -0,0 +1,32 @@ +{ lib +, buildPythonApplication +, fetchPypi +, autopep8 +, flake8 +, jinja2 +, pylint +, pyyaml +}: + +buildPythonApplication rec { + pname = "cmake-format"; + version = "0.6.0"; + + src = fetchPypi { + inherit version; + pname = "cmake_format"; + sha256 = "0sip832bxsvnm7fhqhx49d53g2s7swdk3fhyhlglm2shgj89b5zw"; + }; + + propagatedBuildInputs = [ autopep8 flake8 jinja2 pylint pyyaml ]; + + doCheck = false; + + meta = with lib; { + description = "Source code formatter for cmake listfiles"; + homepage = "https://github.com/cheshirekow/cmake_format"; + license = licenses.gpl3; + maintainers = [ maintainers.tobim ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5d21b9a7bd6..cebbf487149 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9540,6 +9540,8 @@ in cmakeWithGui = cmakeCurses.override { withQt5 = true; }; cmakeWithQt4Gui = cmakeCurses.override { useQt4 = true; }; + cmake-format = python3Packages.callPackage ../development/tools/cmake-format { }; + # Does not actually depend on Qt 5 inherit (kdeFrameworks) extra-cmake-modules kapidox kdoctools; From 546c02c0e4a9f9b3f914b476ad9666e6ca97ca8f Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Sun, 3 Nov 2019 13:45:30 +0100 Subject: [PATCH 179/391] androidStudioPackages.beta: 3.6.0.13 -> 3.6.0.14 --- pkgs/applications/editors/android-studio/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index 1d1c47bc14f..817bd13e7da 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -13,9 +13,9 @@ let sha256Hash = "0afxlif8pkrl6m1lhiqri1qv4vf5mfm1yg6qk5rad0442hm3kz4l"; }; betaVersion = { - version = "3.6.0.13"; # "Android Studio 3.6 Beta 1" - build = "192.5916306"; - sha256Hash = "0kvz3mgpfb3wqr1pw9847d5syswlzls3b4nilzgk6w127k2zmkfy"; + version = "3.6.0.14"; # "Android Studio 3.6 Beta 2" + build = "192.5947919"; + sha256Hash = "09l7mdjkzwnkkcgxp0x66bzm125ignrfssy7n141wvs2rd66i2fs"; }; latestVersion = { # canary & dev version = "4.0.0.1"; # "Android Studio 4.0 Canary 1" From 5b2a6c9984a4b58d8046c178cabb64697bc40264 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Sun, 3 Nov 2019 13:59:02 +0100 Subject: [PATCH 180/391] gns3-{gui,server}: 2.2.0 -> 2.2.1 --- pkgs/applications/networking/gns3/default.nix | 8 ++++---- pkgs/applications/networking/gns3/gui.nix | 19 ++++++++++++++----- pkgs/applications/networking/gns3/server.nix | 13 +++++++++++-- 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix index 3375bfd04d6..5f6aca51fee 100644 --- a/pkgs/applications/networking/gns3/default.nix +++ b/pkgs/applications/networking/gns3/default.nix @@ -1,16 +1,16 @@ { callPackage }: let - stableVersion = "2.2.0"; - previewVersion = "2.2.0"; + stableVersion = "2.2.1"; + previewVersion = "2.2.1"; addVersion = args: let version = if args.stable then stableVersion else previewVersion; branch = if args.stable then "stable" else "preview"; in args // { inherit version branch; }; mkGui = args: callPackage (import ./gui.nix (addVersion args)) { }; mkServer = args: callPackage (import ./server.nix (addVersion args)) { }; - guiSrcHash = "0xghldzk126ly49y7drp241w7c0h9fb0ags9blk0rlq99i72as78"; - serverSrcHash = "0iphs0w6r9s85cgd95bh6jd0224ywilrzb7a4jjwi38z7a7id4gk"; + guiSrcHash = "16v2sdz37vm8x8w07qxaq2mbx169f9hqqpxnf1lq19v9dfhb19kh"; + serverSrcHash = "0liv9fwi2746542qpnvwzf5wcrsxfv6x5jypwd5db1qkfd50s8xa"; in { guiStable = mkGui { stable = true; diff --git a/pkgs/applications/networking/gns3/gui.nix b/pkgs/applications/networking/gns3/gui.nix index 9af0f1a6bc6..7c155181c50 100644 --- a/pkgs/applications/networking/gns3/gui.nix +++ b/pkgs/applications/networking/gns3/gui.nix @@ -1,11 +1,20 @@ { stable, branch, version, sha256Hash }: -{ stdenv, python3Packages, fetchFromGitHub }: +{ stdenv, python3, fetchFromGitHub }: let - pythonPackages = python3Packages; - -in pythonPackages.buildPythonPackage rec { + python = python3.override { + packageOverrides = self: super: { + jsonschema = super.jsonschema.overridePythonAttrs (oldAttrs: rec { + version = "2.6.0"; + src = oldAttrs.src.override { + inherit version; + sha256 = "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg"; + }; + }); + }; + }; +in python.pkgs.buildPythonPackage rec { name = "${pname}-${version}"; pname = "gns3-gui"; @@ -16,7 +25,7 @@ in pythonPackages.buildPythonPackage rec { sha256 = sha256Hash; }; - propagatedBuildInputs = with pythonPackages; [ + propagatedBuildInputs = with python.pkgs; [ raven psutil jsonschema # tox for check # Runtime dependencies sip (pyqt5.override { withWebSockets = true; }) distro setuptools diff --git a/pkgs/applications/networking/gns3/server.nix b/pkgs/applications/networking/gns3/server.nix index 71223c6f512..db2e085c180 100644 --- a/pkgs/applications/networking/gns3/server.nix +++ b/pkgs/applications/networking/gns3/server.nix @@ -3,8 +3,17 @@ { stdenv, python3, fetchFromGitHub }: let - python = python3; - + python = python3.override { + packageOverrides = self: super: { + jsonschema = super.jsonschema.overridePythonAttrs (oldAttrs: rec { + version = "2.6.0"; + src = oldAttrs.src.override { + inherit version; + sha256 = "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg"; + }; + }); + }; + }; in python.pkgs.buildPythonPackage { pname = "gns3-server"; inherit version; From cf5597809ede716a8daee57104bfc32d201ab0f6 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sun, 3 Nov 2019 14:14:35 +0100 Subject: [PATCH 181/391] freecad: 0.18.3 -> 0.18.4 --- pkgs/applications/graphics/freecad/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix index ee7586709dc..eb087c42ce0 100644 --- a/pkgs/applications/graphics/freecad/default.nix +++ b/pkgs/applications/graphics/freecad/default.nix @@ -1,4 +1,4 @@ -{ stdenv, mkDerivation, fetchurl, fetchpatch, cmake, ninja, coin3d, xercesc, ode +{ stdenv, mkDerivation, fetchFromGitHub, fetchpatch, cmake, ninja, coin3d, xercesc, ode , eigen, qtbase, qttools, qtwebkit, opencascade-occt, gts, hdf5, vtk, medfile , zlib, python3Packages, swig, gfortran, libXmu, soqt, libf2c, libGLU , makeWrapper, pkgconfig, mpi ? null }: @@ -9,11 +9,13 @@ let pythonPackages = python3Packages; in mkDerivation rec { pname = "freecad"; - version = "0.18.3"; + version = "0.18.4"; - src = fetchurl { - url = "https://github.com/FreeCAD/FreeCAD/archive/${version}.tar.gz"; - sha256 = "07j7azgnicmd8cqnyskp15y44ykgj5qqz5y3w1jdynrv3yrvk1kz"; + src = fetchFromGitHub { + owner = "FreeCAD"; + repo = "FreeCAD"; + rev = version; + sha256 = "1phs9a0px5fnzpyx930cz39p5dis0f0yajxzii3c3sazgkzrd55s"; }; nativeBuildInputs = [ cmake ninja pkgconfig pythonPackages.pyside2-tools ]; From 828061351c8aa3e8aa90f97c60c01fe4e6b189f8 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Sun, 3 Nov 2019 14:09:43 +0100 Subject: [PATCH 182/391] fuse3: 3.7.0 -> 3.8.0 --- pkgs/os-specific/linux/fuse/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix index 4a1fe56c5e1..edee6a52ba2 100644 --- a/pkgs/os-specific/linux/fuse/default.nix +++ b/pkgs/os-specific/linux/fuse/default.nix @@ -11,7 +11,7 @@ in { }; fuse_3 = mkFuse { - version = "3.7.0"; - sha256Hash = "0l22gv5h84j5m7khs7l82jw834i8wf7hcgagpsn9y02x7ymmiha2"; + version = "3.8.0"; + sha256Hash = "0zbj5l2pffs0q38lqfrnkafsgxf50mw5mqmh4m2jmqab1fxg5mip"; }; } From 3f0d188f659d7cf1aa86f017788652c90edfc9e4 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Sun, 3 Nov 2019 14:17:23 +0100 Subject: [PATCH 183/391] sshfs: 3.5.2 -> 3.6.0 The patch prevents the following error: [2/7] Generating manpages with a custom command. ../sshfs.rst:210: (ERROR/3) Unexpected indentation. ../sshfs.rst:211: (WARNING/2) Block quote ends without a blank line; unexpected unindent. --- pkgs/tools/filesystems/sshfs-fuse/default.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/filesystems/sshfs-fuse/default.nix b/pkgs/tools/filesystems/sshfs-fuse/default.nix index 85cd0609920..e01cb4dd702 100644 --- a/pkgs/tools/filesystems/sshfs-fuse/default.nix +++ b/pkgs/tools/filesystems/sshfs-fuse/default.nix @@ -1,20 +1,25 @@ -{ stdenv, fetchFromGitHub, meson, pkgconfig, ninja, docutils, makeWrapper +{ stdenv, fetchFromGitHub, fetchpatch, meson, pkgconfig, ninja, docutils, makeWrapper , fuse3, glib , which, python3Packages , openssh }: stdenv.mkDerivation rec { - version = "3.5.2"; + version = "3.6.0"; pname = "sshfs-fuse"; src = fetchFromGitHub { owner = "libfuse"; repo = "sshfs"; rev = "sshfs-${version}"; - sha256 = "0gvk8snivpi2sjidjnd9ypc66ny7lr0z9v4swl56rwjv539dkbx2"; + sha256 = "0l4a6azsp920fhl4safxjam6821b77zxhw8mjgm33f60pksslww0"; }; + patches = [ (fetchpatch { + url = "https://github.com/libfuse/sshfs/commit/a548abd1f33a8423bec72724a5f48eb96fa55dd2.patch"; + sha256 = "03rmks4bz06m9v8s5xjybvmcdw3d09x721jp4i6v0w8pfwsn98w1"; + }) ]; + nativeBuildInputs = [ meson pkgconfig ninja docutils makeWrapper ]; buildInputs = [ fuse3 glib ]; checkInputs = [ which python3Packages.pytest ]; From a881d113a98f31a1d30c4ab7a5dc1d692cf6bf77 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 31 Oct 2019 23:34:06 +0100 Subject: [PATCH 184/391] netsurf.buildsystem: build on Darwin --- pkgs/applications/misc/netsurf/buildsystem/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/misc/netsurf/buildsystem/default.nix b/pkgs/applications/misc/netsurf/buildsystem/default.nix index 36d5a70735a..0560b1d25b3 100644 --- a/pkgs/applications/misc/netsurf/buildsystem/default.nix +++ b/pkgs/applications/misc/netsurf/buildsystem/default.nix @@ -19,6 +19,6 @@ stdenv.mkDerivation rec { description = "Build system for netsurf browser"; license = licenses.gpl2; maintainers = [ maintainers.vrthra ]; - platforms = platforms.linux; + platforms = platforms.unix; }; } From fdd6153555420b0e49079977f64644fe1d72abfe Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 31 Oct 2019 22:54:09 +0100 Subject: [PATCH 185/391] netsurf.libnsgif: build on Darwin --- pkgs/applications/misc/netsurf/libnsgif/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/misc/netsurf/libnsgif/default.nix b/pkgs/applications/misc/netsurf/libnsgif/default.nix index 4de882243fe..e826dee0d25 100644 --- a/pkgs/applications/misc/netsurf/libnsgif/default.nix +++ b/pkgs/applications/misc/netsurf/libnsgif/default.nix @@ -26,6 +26,6 @@ stdenv.mkDerivation rec { description = "GIF Decoder for netsurf browser"; license = licenses.gpl2; maintainers = [ maintainers.vrthra ]; - platforms = platforms.linux; + platforms = platforms.unix; }; } From 148eae459ba2a8e977474ab886b49b84341518a0 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 3 Nov 2019 14:31:23 +0100 Subject: [PATCH 186/391] poly2tri-c: init at 0.1.0 --- .../libraries/poly2tri-c/default.nix | 42 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 44 insertions(+) create mode 100644 pkgs/development/libraries/poly2tri-c/default.nix diff --git a/pkgs/development/libraries/poly2tri-c/default.nix b/pkgs/development/libraries/poly2tri-c/default.nix new file mode 100644 index 00000000000..a3e42b3ae4b --- /dev/null +++ b/pkgs/development/libraries/poly2tri-c/default.nix @@ -0,0 +1,42 @@ +{ stdenv +, fetchFromGitHub +, autoreconfHook +, pkgconfig +, glib +}: + +stdenv.mkDerivation rec { + pname = "poly2tri-c"; + version = "0.1.0"; + + outputs = [ "bin" "out" "dev" ]; + + src = fetchFromGitHub { + owner = "Paul-Browne"; + repo = "poly2tri-c"; + rev = "p2tc-${version}"; + sha256 = "158vm3wqfxs22b74kqc4prlvjny38qqm3kz5wrgasmx0qciwh0g8"; + }; + + nativeBuildInputs = [ + autoreconfHook + pkgconfig + ]; + + buildInputs = [ + glib + ]; + + NIX_CFLAGS_COMPILE = [ + "--std=gnu99" + "-Wno-error" + ]; + + meta = with stdenv.lib; { + description = "Library for generating, refining and rendering 2-Dimensional Constrained Delaunay Triangulations"; + homepage = "https://code.google.com/archive/p/poly2tri-c/"; + license = licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [ jtojnar ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6c9a78ab6f0..4f8303a85e8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5670,6 +5670,8 @@ in polkit_gnome = callPackage ../tools/security/polkit-gnome { }; + poly2tri-c = callPackage ../development/libraries/poly2tri-c { }; + polysh = callPackage ../tools/networking/polysh { }; ponysay = callPackage ../tools/misc/ponysay { }; From 286bfac78c0535cdee8642f89607590386b2cc5d Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sat, 2 Nov 2019 19:09:02 +0100 Subject: [PATCH 187/391] libksi: 2015-07-03 -> 3.20.3025 --- pkgs/development/libraries/libksi/default.nix | 11 ++++++----- pkgs/tools/system/rsyslog/default.nix | 7 +++---- pkgs/top-level/all-packages.nix | 1 - 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/libksi/default.nix b/pkgs/development/libraries/libksi/default.nix index b4e9f2bdf88..f155c0d8506 100644 --- a/pkgs/development/libraries/libksi/default.nix +++ b/pkgs/development/libraries/libksi/default.nix @@ -1,13 +1,14 @@ { stdenv, fetchFromGitHub, autoreconfHook, openssl, curl }: -stdenv.mkDerivation { - name = "libksi-2015-07-03"; +stdenv.mkDerivation rec { + pname = "libksi"; + version = "3.20.3025"; src = fetchFromGitHub { owner = "Guardtime"; - repo = "libksi"; - rev = "b82dd65bd693722db92397cbe0920170e0d2ae1c"; - sha256 = "1sqd31l55kx6knl0sg26ail1k5rgmamq8760p6aj7bpb4jwb8r1n"; + repo = pname; + rev = "v${version}"; + sha256 = "0cagysr8j92r6g7f0mwrlkpn9xz9ncz2v3jymh47j3ljxmfbagpz"; }; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix index 8cf1b16a37d..5617ed9dc93 100644 --- a/pkgs/tools/system/rsyslog/default.nix +++ b/pkgs/tools/system/rsyslog/default.nix @@ -2,7 +2,7 @@ , libkrb5 ? null, systemd ? null, jemalloc ? null, libmysqlclient ? null, postgresql ? null , libdbi ? null, net_snmp ? null, libuuid ? null, curl ? null, gnutls ? null , libgcrypt ? null, liblognorm ? null, openssl ? null, librelp ? null, libksi ? null -, libgt ? null, liblogging ? null, libnet ? null, hadoop ? null, rdkafka ? null +, liblogging ? null, libnet ? null, hadoop ? null, rdkafka ? null , libmongo-client ? null, czmq ? null, rabbitmq-c ? null, hiredis ? null, mongoc ? null }: @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { buildInputs = [ fastJson libestr json_c zlib pythonPackages.docutils libkrb5 jemalloc postgresql libdbi net_snmp libuuid curl gnutls libgcrypt liblognorm openssl - librelp libgt libksi liblogging libnet hadoop rdkafka libmongo-client czmq + librelp libksi liblogging libnet hadoop rdkafka libmongo-client czmq rabbitmq-c hiredis mongoc ] ++ stdenv.lib.optional (libmysqlclient != null) libmysqlclient ++ stdenv.lib.optional stdenv.isLinux systemd; @@ -73,8 +73,7 @@ stdenv.mkDerivation rec { (mkFlag true "mmpstrucdata") (mkFlag (openssl != null) "mmrfc5424addhmac") (mkFlag (librelp != null) "relp") - (mkFlag (libgt != null) "guardtime") - (mkFlag (libksi != null) "gt-ksi") + (mkFlag (libksi != null) "ksi-ls12") (mkFlag (liblogging != null) "liblogging-stdlog") (mkFlag (liblogging != null) "rfc3195") (mkFlag true "imfile") diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cebbf487149..b60bb760d5a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2035,7 +2035,6 @@ in liblognorm = null; openssl = null; librelp = null; - libgt = null; libksi = null; liblogging = null; libnet = null; From 6928b5c12b217ccf0b6cd3da679ec88986640293 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sat, 2 Nov 2019 18:45:28 +0100 Subject: [PATCH 188/391] arangodb: 3.3.23.1 -> 3.3.24, 3.4.7 -> 3.4.8, 3.5.0-rc.7 -> 3.5.1 --- pkgs/servers/nosql/arangodb/default.nix | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/nosql/arangodb/default.nix b/pkgs/servers/nosql/arangodb/default.nix index 52e6c787bef..ef75dad9151 100644 --- a/pkgs/servers/nosql/arangodb/default.nix +++ b/pkgs/servers/nosql/arangodb/default.nix @@ -53,7 +53,16 @@ let }; }; in { - arangodb_3_3 = common { version = "3.3.23.1"; sha256 = "0bnbiispids7jcgrgcmanf9jqgvk0vaflrvgalz587jwr2zf21k8"; }; - arangodb_3_4 = common { version = "3.4.7"; sha256 = "1wr2xvi5lnl6f2ryyxdwn4wnfiaz0rrf58ja1k19m7b6w3264iim"; }; - arangodb_3_5 = common { version = "3.5.0-rc.7"; sha256 = "1sdmbmyml9d3ia3706bv5901qqmh4sxk7js5b9hyfjqpcib10d1k"; }; + arangodb_3_3 = common { + version = "3.3.24"; + sha256 = "18175789j4y586qvpcsaqxmw7d6vc3s29qm1fja5c7wzimx6ilyp"; + }; + arangodb_3_4 = common { + version = "3.4.8"; + sha256 = "0vm94lf1i1vvs04vy68bkkv9q43rsaf1y3kfs6s3jcrs3ay0h0jn"; + }; + arangodb_3_5 = common { + version = "3.5.1"; + sha256 = "1jw3j7vaq3xgkxiqg0bafn4b2169jq7f3y0l7mrpnrpijn77rkrv"; + }; } From 66611546f0a57a4d8c7a36af07ad0105f8942d5d Mon Sep 17 00:00:00 2001 From: Alex Rice Date: Sun, 14 Apr 2019 10:53:43 +0100 Subject: [PATCH 189/391] brillo: init at 1.4.8 --- nixos/modules/hardware/brillo.nix | 22 ++++++++++++ nixos/modules/module-list.nix | 1 + pkgs/os-specific/linux/brillo/default.nix | 34 +++++++++++++++++++ pkgs/os-specific/linux/brillo/udev-rule.patch | 13 +++++++ pkgs/top-level/all-packages.nix | 2 ++ 5 files changed, 72 insertions(+) create mode 100644 nixos/modules/hardware/brillo.nix create mode 100644 pkgs/os-specific/linux/brillo/default.nix create mode 100644 pkgs/os-specific/linux/brillo/udev-rule.patch diff --git a/nixos/modules/hardware/brillo.nix b/nixos/modules/hardware/brillo.nix new file mode 100644 index 00000000000..e970c948099 --- /dev/null +++ b/nixos/modules/hardware/brillo.nix @@ -0,0 +1,22 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + cfg = config.hardware.brillo; +in +{ + options = { + hardware.brillo = { + enable = mkEnableOption '' + Enable brillo in userspace. + This will allow brightness control from users in the video group. + ''; + }; + }; + + + config = mkIf cfg.enable { + services.udev.packages = [ pkgs.brillo ]; + environment.systemPackages = [ pkgs.brillo ]; + }; +} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index df6e4dc1336..88c3a6d73ac 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -44,6 +44,7 @@ ./hardware/all-firmware.nix ./hardware/bladeRF.nix ./hardware/brightnessctl.nix + ./hardware/brillo.nix ./hardware/ckb-next.nix ./hardware/cpu/amd-microcode.nix ./hardware/cpu/intel-microcode.nix diff --git a/pkgs/os-specific/linux/brillo/default.nix b/pkgs/os-specific/linux/brillo/default.nix new file mode 100644 index 00000000000..3ad4acf127b --- /dev/null +++ b/pkgs/os-specific/linux/brillo/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitLab , go-md2man, coreutils, substituteAll }: + +stdenv.mkDerivation rec { + pname = "brillo"; + version = "1.4.8"; + + src = fetchFromGitLab { + owner= "cameronnemo"; + repo= "brillo"; + rev= "v${version}"; + sha256 = "0wxvg541caiwm3bjwbmk7xcng7jd9xsiga2agxwp7gpkrlp74j9f"; + }; + + patches = [ + (substituteAll { + src = ./udev-rule.patch; + inherit coreutils; + }) + ]; + + nativeBuildInputs = [ go-md2man ]; + + makeFlags = [ "PREFIX=$(out)" "AADIR=$(out)/etc/apparmor.d" ]; + + installTargets = "install-dist"; + + meta = with stdenv.lib; { + description = "Backlight and Keyboard LED control tool"; + homepage = https://gitlab.com/cameronnemo/brillo; + license = [ licenses.gpl3 licenses.bsd0 ]; + platforms = platforms.linux; + maintainers = [ maintainers.alexarice ]; + }; +} diff --git a/pkgs/os-specific/linux/brillo/udev-rule.patch b/pkgs/os-specific/linux/brillo/udev-rule.patch new file mode 100644 index 00000000000..7b1cf484067 --- /dev/null +++ b/pkgs/os-specific/linux/brillo/udev-rule.patch @@ -0,0 +1,13 @@ +diff --git a/contrib/udev.in b/contrib/udev.in +index 0625952..a6c940e 100644 +--- a/contrib/udev.in ++++ b/contrib/udev.in +@@ -1,4 +1,4 @@ +-ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chgrp @group@ /sys/class/backlight/%k/brightness" +-ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness" +-ACTION=="add", SUBSYSTEM=="leds", RUN+="/bin/chgrp @group@ /sys/class/leds/%k/brightness" +-ACTION=="add", SUBSYSTEM=="leds", RUN+="/bin/chmod g+w /sys/class/leds/%k/brightness" ++ACTION=="add", SUBSYSTEM=="backlight", RUN+="@coreutils@/bin/chgrp @group@ /sys/class/backlight/%k/brightness" ++ACTION=="add", SUBSYSTEM=="backlight", RUN+="@coreutils@/bin/chmod g+w /sys/class/backlight/%k/brightness" ++ACTION=="add", SUBSYSTEM=="leds", RUN+="@coreutils@/bin/chgrp @group@ /sys/class/leds/%k/brightness" ++ACTION=="add", SUBSYSTEM=="leds", RUN+="@coreutils@/bin/chmod g+w /sys/class/leds/%k/brightness" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b60bb760d5a..a9fd2bf2f8c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15666,6 +15666,8 @@ in bt-fw-converter = callPackage ../os-specific/linux/firmware/bt-fw-converter { }; + brillo = callPackage ../os-specific/linux/brillo { }; + broadcom-bt-firmware = callPackage ../os-specific/linux/firmware/broadcom-bt-firmware { }; batctl = callPackage ../os-specific/linux/batman-adv/batctl.nix { }; From 258f6f4437b50a69cea154c154fe5f75a56f84d7 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 25 Aug 2019 03:13:13 +0200 Subject: [PATCH 190/391] =?UTF-8?q?gegl=5F0=5F4:=200.4.16=20=E2=86=92=200.?= =?UTF-8?q?4.18?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://gitlab.gnome.org/GNOME/gegl/blob/GEGL_0_4_18/docs/NEWS.txt#L1-123 Ported to Meson, which means ton of extra dependencies used by default. Though the closure size effect appears to be minimal: 88.9M → 92.9M Also drop GTK dependency, since it is not needed any more (was it ever?) --- pkgs/desktops/gnome-3/default.nix | 3 +- pkgs/development/libraries/gegl/4.0.nix | 118 +++++++++++++++++++++--- pkgs/top-level/all-packages.nix | 6 +- 3 files changed, 108 insertions(+), 19 deletions(-) diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index aa50aa18c40..952f6eaf4f8 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -24,7 +24,6 @@ lib.makeScope pkgs.newScope (self: with self; { libsoup = pkgs.libsoup.override { gnomeSupport = true; }; libchamplain = pkgs.libchamplain.override { libsoup = libsoup; }; gnome3 = self // { recurseForDerivations = false; }; - gegl_0_4 = pkgs.gegl_0_4.override { gtk = pkgs.gtk3; }; # ISO installer # installerIso = callPackage ./installer.nix {}; @@ -359,4 +358,6 @@ lib.makeScope pkgs.newScope (self: with self; { nautilus-sendto = throw "deprecated 2019-09-17: abandoned"; inherit (pkgs) vala; # added 2019-10-10 + + inherit (pkgs) gegl_0_4; # added 2019-10-31 }) diff --git a/pkgs/development/libraries/gegl/4.0.nix b/pkgs/development/libraries/gegl/4.0.nix index 0e3f79b1814..8632035caf7 100644 --- a/pkgs/development/libraries/gegl/4.0.nix +++ b/pkgs/development/libraries/gegl/4.0.nix @@ -1,31 +1,121 @@ -{ stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg, which -, librsvg, pango, gtk, bzip2, json-glib, gettext, autoreconfHook, libraw -, gexiv2, libwebp, libintl }: +{ stdenv +, fetchurl +, fetchpatch +, pkgconfig +, vala +, gobject-introspection +, gtk-doc +, docbook_xsl +, docbook_xml_dtd_43 +, glib +, babl +, libpng +, cairo +, libjpeg +, librsvg +, lensfun +, libspiro +, netsurf +, pango +, poly2tri-c +, bzip2 +, json-glib +, gettext +, meson +, ninja +, libraw +, gexiv2 +, libwebp +, luajit +, openexr +}: stdenv.mkDerivation rec { pname = "gegl"; - version = "0.4.16"; + version = "0.4.18"; outputs = [ "out" "dev" "devdoc" ]; outputBin = "dev"; src = fetchurl { - url = "https://download.gimp.org/pub/gegl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; - sha256 = "0njydcr6qdmfzh4fxx544681qxdpf7y6b2f47jcypn810dlxy4h1"; + url = "https://download.gimp.org/pub/gegl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0r6akqnrkvxizyhyi8sv40mxm7j4bcwjb6mqjpxy0zzbbfsdyin9"; }; - enableParallelBuilding = true; + patches = [ + # Fix arch detection. + # https://gitlab.gnome.org/GNOME/gegl/merge_requests/53 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gegl/commit/6bcf95fd0f32cf5e8b1ddbe17b14d9ad049bded8.patch"; + sha256 = "0aqdr3y5mr47wq44jnhp97188bvpjlf56zrlmn8aazdf07r2apma"; + }) - doCheck = true; - - buildInputs = [ - libpng cairo libjpeg librsvg pango gtk bzip2 - libraw libwebp gexiv2 + # Fix Darwin build. + # https://gitlab.gnome.org/GNOME/gegl/merge_requests/54 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gegl/commit/2bc06bfedee4fb25f6a966c8235b75292e24e55f.patch"; + sha256 = "1psls61wsrdq5pzpvj22mrm46lpzrw3wkx6li7dv6fyb65wz2n4d"; + }) ]; - propagatedBuildInputs = [ glib json-glib babl ]; # for gegl-4.0.pc + nativeBuildInputs = [ + pkgconfig + gettext + meson + ninja + vala + gobject-introspection + gtk-doc + docbook_xsl + docbook_xml_dtd_43 + ]; - nativeBuildInputs = [ pkgconfig gettext which autoreconfHook libintl ]; + buildInputs = [ + libpng + cairo + libjpeg + librsvg + lensfun + libspiro + netsurf.libnsgif + pango + poly2tri-c + bzip2 + libraw + libwebp + gexiv2 + luajit + openexr + ]; + + # for gegl-4.0.pc + propagatedBuildInputs = [ + glib + json-glib + babl + ]; + + mesonFlags = [ + "-Ddocs=true" + "-Dmrg=disabled" # not sure what that is + "-Dsdl2=disabled" + "-Dpygobject=disabled" + "-Dlibav=disabled" + "-Dlibv4l=disabled" + "-Dlibv4l2=disabled" + "-Dumfpack=disabled" + ]; + + # TODO: Fix missing math symbols in gegl seamless clone. + # It only appears when we use packaged poly2tri-c instead of vendored one. + NIX_CFLAGS_COMPILE = [ "-lm" ]; + + postPatch = '' + chmod +x tests/opencl/opencl_test.sh tests/buffer/buffer-tests-run.sh + patchShebangs tests/ff-load-save/tests_ff_load_save.sh tests/opencl/opencl_test.sh tests/buffer/buffer-tests-run.sh tools/xml_insert.sh + ''; + + doCheck = true; meta = with stdenv.lib; { description = "Graph-based image processing framework"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4f8303a85e8..a98e59e8b6c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3513,7 +3513,7 @@ in gnome-podcasts = callPackage ../applications/audio/gnome-podcasts { }; gnome-photos = callPackage ../applications/graphics/gnome-photos { - gegl = gnome3.gegl_0_4; + gegl = gegl_0_4; }; gnokii = callPackage ../tools/misc/gnokii { }; @@ -11063,9 +11063,7 @@ in inherit (darwin.apple_sdk.frameworks) OpenGL; }; - gegl_0_4 = callPackage ../development/libraries/gegl/4.0.nix { - gtk = res.gtk2; - }; + gegl_0_4 = callPackage ../development/libraries/gegl/4.0.nix { }; geoclue2 = callPackage ../development/libraries/geoclue {}; From c75c6b588ad37c4f300ee6055938a0b5ab7ee8a7 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 31 Oct 2019 21:53:28 +0100 Subject: [PATCH 191/391] =?UTF-8?q?gimp:=202.10.12=20=E2=86=92=202.10.14?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://www.gimp.org/news/2019/10/31/gimp-2-10-14-released/ --- pkgs/applications/graphics/gimp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix index e3994b1b412..ef0348cbee7 100644 --- a/pkgs/applications/graphics/gimp/default.nix +++ b/pkgs/applications/graphics/gimp/default.nix @@ -9,11 +9,11 @@ let inherit (python2Packages) pygtk wrapPython python; in stdenv.mkDerivation rec { pname = "gimp"; - version = "2.10.12"; + version = "2.10.14"; src = fetchurl { url = "http://download.gimp.org/pub/gimp/v${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; - sha256 = "0wdcr8d2ink4swn5r4v13bsiya6s3xm4ya97sdbhs4l40y7bb03x"; + sha256 = "0m6wdnfvsxyhimdd4v3351g4r1fklllnbipbwcfym3h7q88hz6yz"; }; nativeBuildInputs = [ pkgconfig intltool gettext wrapPython ]; From 43c3f471b8899eaf55e298f81b8cf79b65c0bf7d Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 31 Oct 2019 23:20:09 +0100 Subject: [PATCH 192/391] gimp: format with nixpkgs-format --- pkgs/applications/graphics/gimp/default.nix | 127 +++++++++++++++++--- 1 file changed, 107 insertions(+), 20 deletions(-) diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix index ef0348cbee7..3eff5642f11 100644 --- a/pkgs/applications/graphics/gimp/default.nix +++ b/pkgs/applications/graphics/gimp/default.nix @@ -1,9 +1,50 @@ -{ stdenv, fetchurl, substituteAll, pkgconfig, intltool, babl, gegl, gtk2, glib, gdk-pixbuf, isocodes -, pango, cairo, freetype, fontconfig, lcms, libpng, libjpeg, poppler, poppler_data, libtiff -, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, shared-mime-info -, python2Packages, libexif, gettext, xorg, glib-networking, libmypaint, gexiv2 -, harfbuzz, mypaint-brushes, libwebp, libheif, libgudev, openexr -, AppKit, Cocoa, gtk-mac-integration-gtk2 }: +{ stdenv +, lib +, fetchurl +, substituteAll +, pkgconfig +, intltool +, babl +, gegl +, gtk2 +, glib +, gdk-pixbuf +, isocodes +, pango +, cairo +, freetype +, fontconfig +, lcms +, libpng +, libjpeg +, poppler +, poppler_data +, libtiff +, libmng +, librsvg +, libwmf +, zlib +, libzip +, ghostscript +, aalib +, shared-mime-info +, python2Packages +, libexif +, gettext +, xorg +, glib-networking +, libmypaint +, gexiv2 +, harfbuzz +, mypaint-brushes +, libwebp +, libheif +, libgudev +, openexr +, AppKit +, Cocoa +, gtk-mac-integration-gtk2 +}: let inherit (python2Packages) pygtk wrapPython python; @@ -12,20 +53,66 @@ in stdenv.mkDerivation rec { version = "2.10.14"; src = fetchurl { - url = "http://download.gimp.org/pub/gimp/v${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + url = "http://download.gimp.org/pub/gimp/v${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; sha256 = "0m6wdnfvsxyhimdd4v3351g4r1fklllnbipbwcfym3h7q88hz6yz"; }; - nativeBuildInputs = [ pkgconfig intltool gettext wrapPython ]; - propagatedBuildInputs = [ gegl ]; # needed by gimp-2.0.pc + nativeBuildInputs = [ + pkgconfig + intltool + gettext + wrapPython + ]; + buildInputs = [ - babl gegl gtk2 glib gdk-pixbuf pango cairo gexiv2 harfbuzz isocodes - freetype fontconfig lcms libpng libjpeg poppler poppler_data libtiff openexr - libmng librsvg libwmf zlib libzip ghostscript aalib shared-mime-info libwebp libheif - python pygtk libexif xorg.libXpm glib-networking libmypaint mypaint-brushes - ] ++ stdenv.lib.optionals stdenv.isDarwin [ - AppKit Cocoa gtk-mac-integration-gtk2 - ] ++ stdenv.lib.optionals stdenv.isLinux [ libgudev ]; + babl + gegl + gtk2 + glib + gdk-pixbuf + pango + cairo + gexiv2 + harfbuzz + isocodes + freetype + fontconfig + lcms + libpng + libjpeg + poppler + poppler_data + libtiff + openexr + libmng + librsvg + libwmf + zlib + libzip + ghostscript + aalib + shared-mime-info + libwebp + libheif + python + pygtk + libexif + xorg.libXpm + glib-networking + libmypaint + mypaint-brushes + ] ++ lib.optionals stdenv.isDarwin [ + AppKit + Cocoa + gtk-mac-integration-gtk2 + ] ++ lib.optionals stdenv.isLinux [ + libgudev + ]; + + # needed by gimp-2.0.pc + propagatedBuildInputs = [ + gegl + ]; pythonPath = [ pygtk ]; @@ -48,7 +135,7 @@ in stdenv.mkDerivation rec { postFixup = '' wrapPythonProgramsIn $out/lib/gimp/${passthru.majorVersion}/plug-ins/ - wrapProgram $out/bin/gimp-${stdenv.lib.versions.majorMinor version} \ + wrapProgram $out/bin/gimp-${lib.versions.majorMinor version} \ --prefix PYTHONPATH : "$PYTHONPATH" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" ''; @@ -56,7 +143,7 @@ in stdenv.mkDerivation rec { passthru = rec { # The declarations for `gimp-with-plugins` wrapper, # used for determining plug-in installation paths - majorVersion = "${stdenv.lib.versions.major version}.0"; + majorVersion = "${lib.versions.major version}.0"; targetPluginDir = "lib/gimp/${majorVersion}/plug-ins"; targetScriptDir = "lib/gimp/${majorVersion}/scripts"; @@ -76,9 +163,9 @@ in stdenv.mkDerivation rec { enableParallelBuilding = true; - meta = with stdenv.lib; { + meta = with lib; { description = "The GNU Image Manipulation Program"; - homepage = https://www.gimp.org/; + homepage = "https://www.gimp.org/"; maintainers = with maintainers; [ jtojnar ]; license = licenses.gpl3Plus; platforms = platforms.unix; From ae21a2bc60bb4338e8d13899605b2378c1d89c87 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sat, 2 Nov 2019 15:42:33 +0100 Subject: [PATCH 193/391] gimp-with-plugins: fix installing custom scripts script-fu (Scheme) scripts are not actually loaded from $GIMP2_PLUGINDIR (lib/gimp/2.10) but $GIMP_DATADIR (share/gimp/2.10). --- pkgs/applications/graphics/gimp/default.nix | 2 +- pkgs/applications/graphics/gimp/wrapper.nix | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix index 3eff5642f11..e53deb99b5b 100644 --- a/pkgs/applications/graphics/gimp/default.nix +++ b/pkgs/applications/graphics/gimp/default.nix @@ -145,7 +145,7 @@ in stdenv.mkDerivation rec { # used for determining plug-in installation paths majorVersion = "${lib.versions.major version}.0"; targetPluginDir = "lib/gimp/${majorVersion}/plug-ins"; - targetScriptDir = "lib/gimp/${majorVersion}/scripts"; + targetScriptDir = "share/gimp/${majorVersion}/scripts"; # probably its a good idea to use the same gtk in plugins ? gtk = gtk2; diff --git a/pkgs/applications/graphics/gimp/wrapper.nix b/pkgs/applications/graphics/gimp/wrapper.nix index d58dc375cb9..841728d3a29 100644 --- a/pkgs/applications/graphics/gimp/wrapper.nix +++ b/pkgs/applications/graphics/gimp/wrapper.nix @@ -17,6 +17,7 @@ in symlinkJoin { for each in gimp-${versionBranch} gimp-console-${versionBranch}; do wrapProgram $out/bin/$each \ --set GIMP2_PLUGINDIR "$out/lib/gimp/2.0" \ + --set GIMP2_DATADIR "$out/share/gimp/2.0" \ --prefix GTK_PATH : "${gnome3.gnome-themes-extra}/lib/gtk-2.0" \ ${toString extraArgs} done From 8da26cc578eaea5b211d424e792408e29186c544 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 3 Nov 2019 04:35:30 +0100 Subject: [PATCH 194/391] gimp-with-plugins: install plug-ins into subdirs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GIMP 3 will require all plugins to be installed into their own subdirectories, so let’s just do that now. --- .../applications/graphics/gimp/plugins/default.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix index 2c520f21f84..c50d39548c9 100644 --- a/pkgs/applications/graphics/gimp/plugins/default.nix +++ b/pkgs/applications/graphics/gimp/plugins/default.nix @@ -8,22 +8,24 @@ let inherit (pkgs) stdenv fetchurl pkgconfig intltool glib fetchFromGitHub; inherit (gimp) targetPluginDir targetScriptDir; - pluginDerivation = a: stdenv.mkDerivation ({ + pluginDerivation = a: let + name = a.name or "${a.pname}-${a.version}"; + in stdenv.mkDerivation ({ prePhases = "extraLib"; extraLib = '' installScripts(){ - mkdir -p $out/${targetScriptDir}; - for p in "$@"; do cp "$p" $out/${targetScriptDir}; done + mkdir -p $out/${targetScriptDir}/${name}; + for p in "$@"; do cp "$p" -r $out/${targetScriptDir}/${name}; done } installPlugins(){ - mkdir -p $out/${targetPluginDir}; - for p in "$@"; do cp "$p" $out/${targetPluginDir}; done + mkdir -p $out/${targetPluginDir}/${name}; + for p in "$@"; do cp "$p" -r $out/${targetPluginDir}/${name}; done } ''; } // a // { - name = "gimp-plugin-${a.name or "${a.pname}-${a.version}"}"; + name = "gimp-plugin-${name}"; buildInputs = [ gimp gimp.gtk glib ] ++ (a.buildInputs or []); nativeBuildInputs = [ pkgconfig intltool ] ++ (a.nativeBuildInputs or []); } From a73ad445a9b4a96eb21b9ad51e0254f5931fe5de Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 3 Nov 2019 11:57:27 +0100 Subject: [PATCH 195/391] gimpPlugins.waveletSharpen: fix build --- pkgs/applications/graphics/gimp/plugins/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix index c50d39548c9..a1bd7eac153 100644 --- a/pkgs/applications/graphics/gimp/plugins/default.nix +++ b/pkgs/applications/graphics/gimp/plugins/default.nix @@ -133,6 +133,7 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; { Filters/Enhance/Wavelet sharpen */ name = "wavelet-sharpen-0.1.2"; + NIX_LDFLAGS = [ "-lm" ]; src = fetchurl { url = http://registry.gimp.org/files/wavelet-sharpen-0.1.2.tar.gz; sha256 = "0vql1k67i21g5ivaa1jh56rg427m0icrkpryrhg75nscpirfxxqw"; From 46818a55b1c3bc06d170d2dc21686d27e6e32d34 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 3 Nov 2019 12:01:36 +0100 Subject: [PATCH 196/391] gimpPlugins.gap: fix build --- pkgs/applications/graphics/gimp/plugins/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix index a1bd7eac153..29835242193 100644 --- a/pkgs/applications/graphics/gimp/plugins/default.nix +++ b/pkgs/applications/graphics/gimp/plugins/default.nix @@ -48,6 +48,7 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; { url = https://ftp.gimp.org/pub/gimp/plug-ins/v2.6/gap/gimp-gap-2.6.0.tar.bz2; sha256 = "1jic7ixcmsn4kx2cn32nc5087rk6g8xsrz022xy11yfmgvhzb0ql"; }; + NIX_LDFLAGS = [ "-lm" ]; patchPhase = '' sed -e 's,^\(GIMP_PLUGIN_DIR=\).*,\1'"$out/${gimp.name}-plugins", \ -e 's,^\(GIMP_DATA_DIR=\).*,\1'"$out/share/${gimp.name}", -i configure From e93c38ff7cc3500e771dde8488330545c660635e Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 3 Nov 2019 13:56:21 +0100 Subject: [PATCH 197/391] gimp-with-plugins: pass all script attributes to the pluginDerivation --- pkgs/applications/graphics/gimp/plugins/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix index 29835242193..c11910da568 100644 --- a/pkgs/applications/graphics/gimp/plugins/default.nix +++ b/pkgs/applications/graphics/gimp/plugins/default.nix @@ -31,10 +31,10 @@ let } ); - scriptDerivation = {name, src} : pluginDerivation { - inherit name; phases = "extraLib installPhase"; + scriptDerivation = {src, ...}@attrs : pluginDerivation ({ + phases = [ "extraLib" "installPhase" ]; installPhase = "installScripts ${src}"; - }; + } // attrs); in From f3a81474045e817192b860a45abf357d4a7c0aea Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 3 Nov 2019 13:57:25 +0100 Subject: [PATCH 198/391] gimpPlugin.exposureBlend: mark as broken It produces an error: GIMP-Error: Calling error for procedure 'gimp-image-get-active-layer': Procedure 'gimp-image-get-active-layer' has been called with an invalid ID for argument 'image'. Most likely a plug-in is trying to work on an image that doesn't exist any longer. (script-fu:25123): GLib-WARNING **: 12:41:03.500: (../glib/gerror.c:416):g_error_new_valist: runtime check failed: (domain != 0) script-fu-Warning: Error while loading /nix/store/31y1qiyg8fzn07yz6lrnkbja33298gmz-gimp-with-plugins-2.10.14/share/gimp/2.0/scripts/exposure-blend/nds9ds1m18d0wg1b01fch8wyzdwpmr8x-exposure-blend.scm: Error: (/nix/store/31y1qiyg8fzn07yz6lrnkbja33298gmz-gimp-with-plugins-2.10.14/share/gimp/2.0/scripts/exposure-blend/nds9ds1m18d0wg1b01fch8wyzdwpmr8x-exposure-blend.scm : 627) Procedure execution of gimp-image-get-active-layer failed on invalid input arguments: Procedure 'gimp-image-get-active-layer' has been called with an invalid ID for argument 'image'. Most likely a plug-in is trying to work on an image that doesn't exist any longer. --- pkgs/applications/graphics/gimp/plugins/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix index c11910da568..29c1445b9ce 100644 --- a/pkgs/applications/graphics/gimp/plugins/default.nix +++ b/pkgs/applications/graphics/gimp/plugins/default.nix @@ -199,6 +199,7 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; { url = http://tir.astro.utoledo.edu/jdsmith/code/eb/exposure-blend.scm; sha256 = "1b6c9wzpklqras4wwsyw3y3jp6fjmhnnskqiwm5sabs8djknfxla"; }; + meta.broken = true; }; lightning = scriptDerivation { From 5b96d9cf21904ccea0c590fa6adc17ee76d1ecdb Mon Sep 17 00:00:00 2001 From: Michael Eden Date: Sat, 16 Mar 2019 11:43:20 -0400 Subject: [PATCH 199/391] nodejs: cross compile runtime for ARM --- pkgs/development/web/nodejs/nodejs.nix | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix index 6dc68750075..ea23ad06cd2 100644 --- a/pkgs/development/web/nodejs/nodejs.nix +++ b/pkgs/development/web/nodejs/nodejs.nix @@ -53,12 +53,30 @@ in }; buildInputs = optionals stdenv.isDarwin [ CoreServices ApplicationServices ] - ++ [ python2 zlib libuv openssl http-parser icu ]; + ++ [ zlib libuv openssl http-parser icu ]; - nativeBuildInputs = [ which utillinux pkgconfig ] + nativeBuildInputs = [ which utillinux pkgconfig python2 ] ++ optionals stdenv.isDarwin [ xcbuild ]; - configureFlags = sharedConfigureFlags ++ [ "--without-dtrace" ] ++ extraConfigFlags; + configureFlags = let + isCross = stdenv.hostPlatform != stdenv.buildPlatform; + host = stdenv.hostPlatform.platform; + isArm = stdenv.hostPlatform.isArm; + in sharedConfigureFlags ++ [ + "--without-dtrace" + ] ++ (optionals isCross [ + "--cross-compiling" + "--without-intl" + "--without-snapshot" + ]) ++ (optionals (isCross && isArm && hasAttr "fpu" host.gcc) [ + "--with-arm-fpu=${host.gcc.fpu}" + ]) ++ (optionals (isCross && isArm && hasAttr "float-abi" host.gcc) [ + "--with-arm-float-abi=${host.gcc.float-abi}" + ]) ++ (optionals (isCross && isArm) [ + "--dest-cpu=arm" + ]) ++ extraConfigFlags; + + configurePlatforms = []; dontDisableStatic = true; @@ -96,7 +114,7 @@ in postInstall = '' PATH=$out/bin:$PATH patchShebangs $out - ${optionalString enableNpm '' + ${optionalString (enableNpm && stdenv.hostPlatform == stdenv.buildPlatform) '' mkdir -p $out/share/bash-completion/completions/ $out/bin/npm completion > $out/share/bash-completion/completions/npm for dir in "$out/lib/node_modules/npm/man/"*; do From 5b46a7c240fe9e22a673d7dbd107498e042b437b Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 6 Mar 2018 10:15:05 -0600 Subject: [PATCH 200/391] gcc7: make building w/LTO support optional, don't use in bootstrap tools --- pkgs/development/compilers/gcc/7/default.nix | 3 ++- pkgs/stdenv/linux/make-bootstrap-tools.nix | 18 ++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index 68c05d28978..39b3e4734fe 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -6,6 +6,7 @@ , profiledCompiler ? false , staticCompiler ? false , enableShared ? true +, enableLTO ? true , texinfo ? null , perl ? null # optional, for texi2pod (then pod2man) , gmp, mpfr, libmpc, gettext, which @@ -257,7 +258,7 @@ stdenv.mkDerivation ({ # Basic configuration [ - "--enable-lto" + (if enableLTO then "--enable-lto" else "--disable-lto") "--disable-libstdcxx-pch" "--without-included-gettext" "--with-system-zlib" diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix index 8d513625df2..86503b96245 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix @@ -33,6 +33,8 @@ in with pkgs; rec { ''; }; + bootGCC = gcc.cc.override { enableLTO = false; }; + build = stdenv.mkDerivation { @@ -109,12 +111,12 @@ in with pkgs; rec { cp -d ${gnugrep.pcre.out}/lib/libpcre*.so* $out/lib # needed by grep # Copy what we need of GCC. - cp -d ${gcc.cc.out}/bin/gcc $out/bin - cp -d ${gcc.cc.out}/bin/cpp $out/bin - cp -d ${gcc.cc.out}/bin/g++ $out/bin - cp -d ${gcc.cc.lib}/lib/libgcc_s.so* $out/lib - cp -d ${gcc.cc.lib}/lib/libstdc++.so* $out/lib - cp -rd ${gcc.cc.out}/lib/gcc $out/lib + cp -d ${bootGCC.out}/bin/gcc $out/bin + cp -d ${bootGCC.out}/bin/cpp $out/bin + cp -d ${bootGCC.out}/bin/g++ $out/bin + cp -d ${bootGCC.lib}/lib/libgcc_s.so* $out/lib + cp -d ${bootGCC.lib}/lib/libstdc++.so* $out/lib + cp -rd ${bootGCC.out}/lib/gcc $out/lib chmod -R u+w $out/lib rm -f $out/lib/gcc/*/*/include*/linux rm -f $out/lib/gcc/*/*/include*/sound @@ -122,11 +124,11 @@ in with pkgs; rec { rm -f $out/lib/gcc/*/*/include-fixed/asm rm -rf $out/lib/gcc/*/*/plugin #rm -f $out/lib/gcc/*/*/*.a - cp -rd ${gcc.cc.out}/libexec/* $out/libexec + cp -rd ${bootGCC.out}/libexec/* $out/libexec chmod -R u+w $out/libexec rm -rf $out/libexec/gcc/*/*/plugin mkdir -p $out/include - cp -rd ${gcc.cc.out}/include/c++ $out/include + cp -rd ${bootGCC.out}/include/c++ $out/include chmod -R u+w $out/include rm -rf $out/include/c++/*/ext/pb_ds rm -rf $out/include/c++/*/ext/parallel From 78d3cb1d16b3b1df8862018784a2f5da50f218e5 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Mon, 31 Dec 2018 13:56:07 -0600 Subject: [PATCH 201/391] binutils: offer "for bootstrap" variant that's less.. feature-complete --- pkgs/stdenv/linux/make-bootstrap-tools.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix index 86503b96245..697082c01bc 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix @@ -34,6 +34,13 @@ in with pkgs; rec { }; bootGCC = gcc.cc.override { enableLTO = false; }; + bootBinutils = binutils.bintools.override { + withAllTargets = false; + # Don't need two linkers, disable whatever's not primary/default. + gold = false; + # bootstrap is easier w/static + enableShared = false; + }; build = @@ -150,7 +157,7 @@ in with pkgs; rec { # Copy binutils. for i in as ld ar ranlib nm strip readelf objdump; do - cp ${binutils.bintools.out}/bin/$i $out/bin + cp ${bootBinutils.out}/bin/$i $out/bin done cp '${lib.getLib binutils.bintools}'/lib/* "$out/lib/" From 43c721df4af4bb136a3a9504fce9d963efe67c39 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Wed, 26 Sep 2018 16:50:25 -0500 Subject: [PATCH 202/391] make-bootstrap-tools: use 'extreme' option to reduce size but not cost Apparently this option trades compression time for size, and explicitly does so without increasing resources needed in decomp. Doesn't make tarball creation unbearable, so add it to options! --- pkgs/stdenv/linux/make-bootstrap-tools.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix index 697082c01bc..0c285f9661e 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix @@ -181,7 +181,7 @@ in with pkgs; rec { mv $out/.pack $out/pack mkdir $out/on-server - XZ_OPT=-9 tar cvJf $out/on-server/bootstrap-tools.tar.xz --hard-dereference --sort=name --numeric-owner --owner=0 --group=0 --mtime=@1 -C $out/pack . + XZ_OPT="-9 -e" tar cvJf $out/on-server/bootstrap-tools.tar.xz --hard-dereference --sort=name --numeric-owner --owner=0 --group=0 --mtime=@1 -C $out/pack . cp ${busyboxMinimal}/bin/busybox $out/on-server chmod u+w $out/on-server/busybox nuke-refs $out/on-server/busybox From c424a9dec5199013f875e3e62432e2898167915e Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 3 Nov 2019 14:58:26 +0100 Subject: [PATCH 203/391] sshfs: fix fetchpatch hash --- pkgs/tools/filesystems/sshfs-fuse/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/filesystems/sshfs-fuse/default.nix b/pkgs/tools/filesystems/sshfs-fuse/default.nix index e01cb4dd702..33fc5ce2ab6 100644 --- a/pkgs/tools/filesystems/sshfs-fuse/default.nix +++ b/pkgs/tools/filesystems/sshfs-fuse/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { patches = [ (fetchpatch { url = "https://github.com/libfuse/sshfs/commit/a548abd1f33a8423bec72724a5f48eb96fa55dd2.patch"; - sha256 = "03rmks4bz06m9v8s5xjybvmcdw3d09x721jp4i6v0w8pfwsn98w1"; + sha256 = "19p94aw7nvydd7p2bd1f5cqhlhhamjhda31k22sg06xaqyl893jm"; }) ]; nativeBuildInputs = [ meson pkgconfig ninja docutils makeWrapper ]; From 8a1569d1c5813a2e56191f77fa83684360bc863f Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Sun, 3 Nov 2019 09:00:00 -0500 Subject: [PATCH 204/391] x11docker: add missing dependencies --- .../virtualization/x11docker/default.nix | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/virtualization/x11docker/default.nix b/pkgs/applications/virtualization/x11docker/default.nix index b2ebb2f82af..c57a7f6e771 100644 --- a/pkgs/applications/virtualization/x11docker/default.nix +++ b/pkgs/applications/virtualization/x11docker/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, makeWrapper, nx-libs, xorg }: +{ stdenv, fetchFromGitHub, makeWrapper, nx-libs, xorg, getopt, gnugrep, gawk, ps, mount, iproute }: stdenv.mkDerivation rec { pname = "x11docker"; version = "6.3.0"; @@ -9,18 +9,14 @@ stdenv.mkDerivation rec { sha256 = "0x2sx41y3ylzg511x52k3wh8mfbzp4ialpas6sn4ccagqxh2hc4y"; }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ nx-libs xorg.xhost xorg.xinit ]; dontBuild = true; - PATH_PREFIX = "${nx-libs}/bin:${xorg.xdpyinfo}/bin:${xorg.xhost}/bin:${xorg.xinit}/bin"; - + # Don't install `x11docker-gui`, because requires `kaptain` dependency installPhase = '' install -D x11docker "$out/bin/x11docker"; - #install -D x11docker-gui "$out/bin/x11docker-gui"; - wrapProgram "$out/bin/x11docker" --prefix PATH : "${PATH_PREFIX}" - #wrapProgram "$out/bin/x11docker-gui" --prefix PATH : "${PATH_PREFIX}" - # GUI disabled because of missing `kaptain` dependency + wrapProgram "$out/bin/x11docker" \ + --prefix PATH : "${stdenv.lib.makeBinPath [ getopt gnugrep gawk ps mount iproute nx-libs xorg.xdpyinfo xorg.xhost xorg.xinit ]}" ''; meta = { @@ -28,5 +24,6 @@ stdenv.mkDerivation rec { homepage = https://github.com/mviereck/x11docker; license = stdenv.lib.licenses.mit; maintainers = with stdenv.lib.maintainers; [ jD91mZM2 ]; + platforms = stdenv.lib.platforms.linux; }; } From 0724efc30507f2dd9b47ace66f2126d8feaf73ff Mon Sep 17 00:00:00 2001 From: Jon Banafato Date: Sat, 26 Oct 2019 15:47:42 -0400 Subject: [PATCH 205/391] gnomeExtensions.night-theme-switcher: init at 2.1 --- .../night-theme-switcher/default.nix | 21 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 22 insertions(+) create mode 100644 pkgs/desktops/gnome-3/extensions/night-theme-switcher/default.nix diff --git a/pkgs/desktops/gnome-3/extensions/night-theme-switcher/default.nix b/pkgs/desktops/gnome-3/extensions/night-theme-switcher/default.nix new file mode 100644 index 00000000000..8d3a775e949 --- /dev/null +++ b/pkgs/desktops/gnome-3/extensions/night-theme-switcher/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchgit }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-night-theme-switcher"; + version = "2.1"; + + src = fetchgit { + url = "https://git.romainvigier.fr/Romain/nightthemeswitcher-gnome-shell-extension"; + rev = "v${version}"; + sha256 = "1md44vmc83cp35riszhdvysnvl8pmkcpf5j6n4i2b3wwcjwxqwfy"; + }; + + makeFlags = [ "GSEXT_DIR_LOCAL=${placeholder "out"}/share/gnome-shell/extensions" ]; + + meta = with stdenv.lib; { + description = "Automatically change the GTK theme to dark variant when Night Light activates"; + license = licenses.gpl3; + maintainers = with maintainers; [ jonafato ]; + homepage = https://git.romainvigier.fr/Romain/nightthemeswitcher-gnome-shell-extension; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b8bff39ae8f..06042a55668 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22999,6 +22999,7 @@ in icon-hider = callPackage ../desktops/gnome-3/extensions/icon-hider { }; impatience = callPackage ../desktops/gnome-3/extensions/impatience.nix { }; mpris-indicator-button = callPackage ../desktops/gnome-3/extensions/mpris-indicator-button { }; + night-theme-switcher = callPackage ../desktops/gnome-3/extensions/night-theme-switcher { }; no-title-bar = callPackage ../desktops/gnome-3/extensions/no-title-bar { }; pidgin-im-integration = callPackage ../desktops/gnome-3/extensions/pidgin-im-integration { }; remove-dropdown-arrows = callPackage ../desktops/gnome-3/extensions/remove-dropdown-arrows { }; From 458964dea2ccdc65c245bc22af0e3b55687e9d6b Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sun, 3 Nov 2019 15:35:19 +0100 Subject: [PATCH 206/391] gcc8: make building w/LTO support optional, fixes eval --- pkgs/development/compilers/gcc/8/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix index b84b8958325..52f568b2ed9 100644 --- a/pkgs/development/compilers/gcc/8/default.nix +++ b/pkgs/development/compilers/gcc/8/default.nix @@ -6,6 +6,7 @@ , profiledCompiler ? false , staticCompiler ? false , enableShared ? true +, enableLTO ? true , texinfo ? null , perl ? null # optional, for texi2pod (then pod2man) , gmp, mpfr, libmpc, gettext, which @@ -247,7 +248,7 @@ stdenv.mkDerivation ({ # Basic configuration [ - "--enable-lto" + (if enableLTO then "--enable-lto" else "--disable-lto") "--disable-libstdcxx-pch" "--without-included-gettext" "--with-system-zlib" From a88a2387244a5453c19b4a21cee123af37e05c5f Mon Sep 17 00:00:00 2001 From: Benjamin Andresen Date: Sun, 3 Nov 2019 16:20:54 +0100 Subject: [PATCH 207/391] clj-kondo: 2019.07.31-alpha -> 2019.10.26 --- pkgs/development/tools/clj-kondo/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/clj-kondo/default.nix b/pkgs/development/tools/clj-kondo/default.nix index 919061c6d96..9b2e80c7674 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.07.31-alpha"; + version = "2019.10.26"; 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 = "03ipl7br9pgx2hdbiaxv9ip0ibafkyzkc8qlx8xyi528bcfi54bf"; + sha256 = "1pq03g4bkslpa3jv7vrnw3sy6wnqdgnavl8qyb4lb1y96pmk9hd1"; }; dontUnpack = true; @@ -46,6 +46,6 @@ stdenv.mkDerivation rec{ homepage = https://github.com/borkdude/clj-kondo; license = licenses.epl10; platforms = graalvm8.meta.platforms; - maintainers = with maintainers; [ jlesquembre ]; + maintainers = with maintainers; [ jlesquembre bandresen ]; }; } From a7b49ef140201c059f3108d25a58fb6f638b3ca8 Mon Sep 17 00:00:00 2001 From: Ruud van Asseldonk Date: Sun, 3 Nov 2019 16:23:11 +0100 Subject: [PATCH 208/391] acme-client: 0.1.16 -> 0.2.4 * acme-client: 0.1.16 -> 0.2.3 (#71853) The upstream acme-client that used to be at [1] has now been integrated into OpenBSD, and the portable version that it links to at [2] is marked as unmaintained. However, letsencrypt.org links to [3] for a portable version, and indeed, that repository contains a version that has recent activity, so I switched over to that. It is hard to tell what the difference is between the OpenBSD version and what is on Github, and even if that would be easy, there are a lot of Linux-specific changes. This program is dealing with certificates, so I feel it is important to at least check that thare are no obviously unintended differences between the previous version and the new, but I don't know of a good way of doing that at this point. I will continue to investigate before I open a pull request. [1]: https://kristaps.bsd.lv/acme-client/ [2]: https://github.com/kristapsdz/acme-client-portable [3]: https://github.com/graywolf/acme-client-portable * acme-client: fix Linux build of new upstream The new source does not include a configure script in the repository, but we can generate it with automake. Also, the new acme-client-portable has an OpenSSL compatibility layer, but that actually breaks building against LibreSSL. Avoid this issue by patching the compatibility layer to be less eager to define things when linking against LibreSSL. I will also submit a pull request for that upstream. I don't expect this to work on Darwin, and the current package suggests it does, but if the upstream (portable) version is no longer maintained, for Darwin, perhaps we should just drop support for it. But maybe it will just work, CI or somebody with a Darwin system will have to try. * acme-client: 0.2.3 -> 0.2.4 My LibreSSL compatibility patch has been merged upstream into acme-client-portable, and version 0.2.4 that includes it has been released, so we can remove the patch here. * acme-client: address review feedback * Replace the manual autoreconf invocation with autoreconfHook. * Remove DEFAULT_CA_FILE, which no longer affects the build. --- pkgs/tools/networking/acme-client/default.nix | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/pkgs/tools/networking/acme-client/default.nix b/pkgs/tools/networking/acme-client/default.nix index 60b3b6df69a..bf1c96b66b2 100644 --- a/pkgs/tools/networking/acme-client/default.nix +++ b/pkgs/tools/networking/acme-client/default.nix @@ -1,8 +1,8 @@ { stdenv +, fetchFromGitHub +, autoreconfHook +, bison , apple_sdk ? null -, cacert -, defaultCaFile ? "${cacert}/etc/ssl/certs/ca-bundle.crt" -, fetchurl , libbsd , libressl , pkgconfig @@ -12,24 +12,22 @@ with stdenv.lib; stdenv.mkDerivation rec { pname = "acme-client"; - version = "0.1.16"; + version = "0.2.4"; - src = fetchurl { - url = "https://kristaps.bsd.lv/acme-client/snapshots/acme-client-portable-${version}.tgz"; - sha256 = "00q05b3b1dfnfp7sr1nbd212n0mqrycl3cr9lbs51m7ncaihbrz9"; + src = fetchFromGitHub { + owner = "graywolf"; + repo = "acme-client-portable"; + rev = "v${version}"; + sha256 = "1yq2lkrnjwjs0h9mijqysnjmr7kp4zcq1f4cxr9n1db7pw8446xb"; }; - buildInputs = [ libbsd libressl pkgconfig ] - ++ optional stdenv.isDarwin apple_sdk.sdk; + nativeBuildInputs = [ autoreconfHook bison pkgconfig ]; + buildInputs = [ libbsd libressl ] ++ optional stdenv.isDarwin apple_sdk.sdk; - CFLAGS = "-DDEFAULT_CA_FILE='\"${defaultCaFile}\"'"; - - preConfigure = '' - export PREFIX="$out" - ''; + makeFlags = [ "PREFIX=${placeholder "out"}" ]; meta = { - homepage = https://kristaps.bsd.lv/acme-client/; + homepage = "https://github.com/graywolf/acme-client-portable"; description = "Secure ACME/Let's Encrypt client"; platforms = platforms.unix; license = licenses.isc; From 951176ecfc720917841bc642b777786f0babf3c6 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 3 Nov 2019 07:26:06 -0800 Subject: [PATCH 209/391] yaru-theme: 19.10.2 -> 19.10.4 (#72709) --- pkgs/data/themes/yaru/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/themes/yaru/default.nix b/pkgs/data/themes/yaru/default.nix index 2302aa301e3..f83dbc3ebcc 100644 --- a/pkgs/data/themes/yaru/default.nix +++ b/pkgs/data/themes/yaru/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "yaru"; - version = "19.10.2"; + version = "19.10.4"; src = fetchFromGitHub { owner = "ubuntu"; repo = "yaru"; rev = version; - sha256 = "1azyn8pr0kpbq4wlz91f5amqyxqq0x2mxkglzl488sf39fl0gnbj"; + sha256 = "1dj6awlz13787783ds9mdid75rd4vvgpg52h6x19pxdga3k17s9b"; }; nativeBuildInputs = [ meson sassc pkg-config glib ninja python3 ]; From 1c2ac8d7e0617ef389e9d308109e4b2ce73d8772 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 3 Nov 2019 04:01:53 -0800 Subject: [PATCH 210/391] yoshimi: 1.6.0.1 -> 1.6.0.2 --- pkgs/applications/audio/yoshimi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix index 74a59c0e963..b8acaa5a7e4 100644 --- a/pkgs/applications/audio/yoshimi/default.nix +++ b/pkgs/applications/audio/yoshimi/default.nix @@ -6,11 +6,11 @@ assert stdenv ? glibc; stdenv.mkDerivation rec { pname = "yoshimi"; - version = "1.6.0.1"; + version = "1.6.0.2"; src = fetchurl { url = "mirror://sourceforge/yoshimi/${pname}-${version}.tar.bz2"; - sha256 = "140f2k4akj39pny8c7i794q125415gyvmy4rday0il5ncp3glik4"; + sha256 = "0q2cw168r53r50zghkdqcxba2cybn44axbdkwacvkm7ag2z0j2l8"; }; buildInputs = [ From 7153c484cd960c550cd8eedf4cf271994c121644 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 3 Nov 2019 07:33:19 -0800 Subject: [PATCH 211/391] smplayer: 19.5.0 -> 19.10.0 * smplayer: 19.5.0 -> 19.10.0 (#72660) --- pkgs/applications/video/smplayer/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/video/smplayer/default.nix b/pkgs/applications/video/smplayer/default.nix index 495fc6f6745..facb8fabe26 100644 --- a/pkgs/applications/video/smplayer/default.nix +++ b/pkgs/applications/video/smplayer/default.nix @@ -1,11 +1,12 @@ { lib, mkDerivation, fetchurl, qmake, qtscript }: mkDerivation rec { - name = "smplayer-19.5.0"; + pname = "smplayer"; + version = "19.10.0"; src = fetchurl { - url = "mirror://sourceforge/smplayer/${name}.tar.bz2"; - sha256 = "1xda9pbrc3dfbs71n5l8yszlcywz9456mwkv52vmn8lszhvjpjxm"; + url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2"; + sha256 = "0sq7hr10b4pbbi0y1q4mxs24h2lb042nv4rqr03r72bp57353xsl"; }; buildInputs = [ qtscript ]; @@ -13,13 +14,12 @@ mkDerivation rec { dontUseQmakeConfigure = true; - preConfigure = '' - makeFlags="PREFIX=$out" - ''; + makeFlags = [ "PREFIX=${placeholder "out"}" ]; meta = { description = "A complete front-end for MPlayer"; - homepage = http://smplayer.sourceforge.net/; + longDescription = "Either mplayer or mpv should also be installed for smplayer to play medias"; + homepage = https://www.smplayer.info; license = lib.licenses.gpl3Plus; platforms = lib.platforms.linux; }; From 73523e026e894e576a6fd8c1cbf7c0cf46aaab39 Mon Sep 17 00:00:00 2001 From: Renaud Date: Sun, 3 Nov 2019 16:44:17 +0100 Subject: [PATCH 212/391] shellinabox: fix CVE-2018-16789 (#72620) --- pkgs/servers/shellinabox/default.nix | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/shellinabox/default.nix b/pkgs/servers/shellinabox/default.nix index af1992fc869..fe1837e907a 100644 --- a/pkgs/servers/shellinabox/default.nix +++ b/pkgs/servers/shellinabox/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, pam, openssl, openssh, shadow, makeWrapper }: +{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pam, openssl, openssh, shadow, makeWrapper }: stdenv.mkDerivation rec { version = "2.20"; @@ -11,10 +11,17 @@ stdenv.mkDerivation rec { sha256 = "1hmfayh21cks2lyj572944ll0mmgsxbnj981b3hq3nhdg8ywzjfr"; }; - patches = [ ./shellinabox-minus.patch ]; + patches = [ + ./shellinabox-minus.patch + (fetchpatch { + name = "CVE-2018-16789.patch"; + url = "https://github.com/shellinabox/shellinabox/commit/4f0ecc31ac6f985e0dd3f5a52cbfc0e9251f6361.patch"; + sha256 = "1mpm6acxdb0fms9pa2b88fx6hp07ph87ahxi82yyqj2m7p79jx7a"; + }) + ]; - nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ pam openssl openssh makeWrapper ]; + nativeBuildInputs = [ autoreconfHook makeWrapper ]; + buildInputs = [ pam openssl openssh ]; # Disable GSSAPIAuthentication errors. Also, paths in certain source files are # hardcoded. Replace the hardcoded paths with correct paths. From 9a4ae42195eb99ce2525a458eb40e56471604436 Mon Sep 17 00:00:00 2001 From: Terje Larsen Date: Sun, 3 Nov 2019 16:28:54 +0100 Subject: [PATCH 213/391] Revert "python: pg8000: 1.12.5 -> 1.13.2" This reverts commit 35bdea0d6c224a5f1d1cbe8e6ba4ce67959ddbed. --- pkgs/development/python-modules/pg8000/1_12.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pg8000/1_12.nix b/pkgs/development/python-modules/pg8000/1_12.nix index 444da7adc23..efeee5e077f 100644 --- a/pkgs/development/python-modules/pg8000/1_12.nix +++ b/pkgs/development/python-modules/pg8000/1_12.nix @@ -7,11 +7,11 @@ buildPythonPackage rec { pname = "pg8000"; - version = "1.13.2"; + version = "1.12.5"; src = fetchPypi { inherit pname version; - sha256 = "eebcb4176a7e407987e525a07454882f611985e0becb2b73f76efb93bbdc0aab"; + sha256 = "1yc3knh28cx3rjb2ifg5kmqqa78yyyw2gzzslbm9fj0mzh5aq1sx"; }; propagatedBuildInputs = [ pytz six ]; From 4792479a4133faa6998acdd417931d0cac4d40cc Mon Sep 17 00:00:00 2001 From: Jan Hrnko Date: Sun, 3 Nov 2019 16:43:57 +0100 Subject: [PATCH 214/391] dokuwiki: init at stable_2018-04-22b --- pkgs/servers/web-apps/dokuwiki/default.nix | 26 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/servers/web-apps/dokuwiki/default.nix diff --git a/pkgs/servers/web-apps/dokuwiki/default.nix b/pkgs/servers/web-apps/dokuwiki/default.nix new file mode 100644 index 00000000000..ff6fa982228 --- /dev/null +++ b/pkgs/servers/web-apps/dokuwiki/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "dokuwiki"; + version = "2018-04-22b"; + + src = fetchFromGitHub { + owner = "splitbrain"; + repo = "${pname}"; + rev = "release_stable_${version}"; + sha256 = "1na5pn4j4mi2la80ywzg1krwqdxz57mjkw0id6ga9rws809gkdjp"; + }; + + installPhase = '' + mkdir -p $out/share/dokuwiki + cp -r * $out/share/dokuwiki + ''; + + meta = with stdenv.lib; { + description = "Simple to use and highly versatile Open Source wiki software that doesn't require a database"; + license = licenses.gpl2; + homepage = "https://www.dokuwiki.org"; + platforms = platforms.all; + maintainers = [ maintainers."1000101" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8de68c6e924..f6b1ff0ea3d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1555,6 +1555,8 @@ in doitlive = callPackage ../tools/misc/doitlive { }; + dokuwiki = callPackage ../servers/web-apps/dokuwiki { }; + dosage = callPackage ../applications/graphics/dosage { pythonPackages = python3Packages; }; From c4aff4c03abcb3b888c52f94dd102831cc60a768 Mon Sep 17 00:00:00 2001 From: Benjamin Andresen Date: Sun, 3 Nov 2019 16:54:46 +0100 Subject: [PATCH 215/391] calibre: add markdown to inputs fixes #72724 --- pkgs/applications/misc/calibre/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index b2c54105946..22ae573353e 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -47,7 +47,7 @@ mkDerivation rec { poppler_utils libpng imagemagick libjpeg fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils ] ++ (with pypkgs; [ - apsw cssselect css-parser dateutil dnspython html5-parser lxml netifaces pillow + apsw cssselect css-parser dateutil dnspython html5-parser lxml markdown netifaces pillow python pyqt5_with_qtwebkit sip regex msgpack beautifulsoup4 html2text # the following are distributed with calibre, but we use upstream instead From 3f2bdec5068ab5eda127ee65d407ff169cbe4e12 Mon Sep 17 00:00:00 2001 From: Alkeryn Date: Sun, 3 Nov 2019 17:02:02 +0100 Subject: [PATCH 216/391] sdrangel: 4.11.7 -> 4.11.12 --- pkgs/applications/radio/sdrangel/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/radio/sdrangel/default.nix b/pkgs/applications/radio/sdrangel/default.nix index 346c6aeed8e..7cb64f92f3f 100644 --- a/pkgs/applications/radio/sdrangel/default.nix +++ b/pkgs/applications/radio/sdrangel/default.nix @@ -39,7 +39,7 @@ let in mkDerivation rec { pname = "sdrangel"; - version = "4.11.7"; + version = "4.11.12"; src = fetchFromGitHub { owner = "f4exb"; From f3b8d9bae3589e2c6a6804295b9fc6d21eaac0db Mon Sep 17 00:00:00 2001 From: Marek Mahut Date: Sun, 3 Nov 2019 17:24:08 +0100 Subject: [PATCH 217/391] nixos/trac: service init --- nixos/modules/module-list.nix | 1 + nixos/modules/services/web-apps/trac.nix | 79 ++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 nixos/modules/services/web-apps/trac.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index df6e4dc1336..164c6dda75e 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -814,6 +814,7 @@ ./services/web-apps/matomo.nix ./services/web-apps/restya-board.nix ./services/web-apps/tt-rss.nix + ./services/web-apps/trac.nix ./services/web-apps/selfoss.nix ./services/web-apps/shiori.nix ./services/web-apps/virtlyst.nix diff --git a/nixos/modules/services/web-apps/trac.nix b/nixos/modules/services/web-apps/trac.nix new file mode 100644 index 00000000000..207fb857438 --- /dev/null +++ b/nixos/modules/services/web-apps/trac.nix @@ -0,0 +1,79 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.services.trac; + + inherit (lib) mkEnableOption mkIf mkOption types; + +in { + + options = { + + services.trac = { + enable = mkEnableOption "Trac service"; + + listen = { + ip = mkOption { + type = types.str; + default = "0.0.0.0"; + description = '' + IP address that Trac should listen on. + ''; + }; + + port = mkOption { + type = types.port; + default = 8000; + description = '' + Listen port for Trac. + ''; + }; + }; + + dataDir = mkOption { + default = "/var/lib/trac"; + type = types.path; + description = '' + The directory for storing the Trac data. + ''; + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open ports in the firewall for Trac. + ''; + }; + }; + + }; + + config = mkIf cfg.enable { + + systemd.services.trac = { + description = "Trac server"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + DynamicUser = true; + StateDirectory = baseNameOf cfg.dataDir; + ExecStart = '' + ${pkgs.trac}/bin/tracd -s \ + -b ${toString cfg.listen.ip} \ + -p ${toString cfg.listen.port} \ + ${cfg.dataDir} + ''; + }; + preStart = '' + if [ ! -e ${cfg.dataDir}/VERSION ]; then + ${pkgs.trac}/bin/trac-admin ${cfg.dataDir} initenv Trac "sqlite:db/trac.db" + fi + ''; + }; + + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = [ cfg.listen.port ]; + }; + + }; +} From e71b1e3363831a1ae0ded2963142a853cc1e926f Mon Sep 17 00:00:00 2001 From: Marek Mahut Date: Sun, 3 Nov 2019 17:24:22 +0100 Subject: [PATCH 218/391] tests: adding trac --- nixos/tests/all-tests.nix | 1 + nixos/tests/trac.nix | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 nixos/tests/trac.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 744d7ed0f83..1b5e0f52084 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -280,6 +280,7 @@ in tinydns = handleTest ./tinydns.nix {}; tor = handleTest ./tor.nix {}; transmission = handleTest ./transmission.nix {}; + trac = handleTest ./trac.nix {}; trezord = handleTest ./trezord.nix {}; trickster = handleTest ./trickster.nix {}; udisks2 = handleTest ./udisks2.nix {}; diff --git a/nixos/tests/trac.nix b/nixos/tests/trac.nix new file mode 100644 index 00000000000..643095d947e --- /dev/null +++ b/nixos/tests/trac.nix @@ -0,0 +1,19 @@ +import ./make-test.nix ({ pkgs, ... }: { + name = "trac"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ mmahut ]; + }; + + nodes = { + machine = { ... }: { + services.trac.enable = true; + }; + }; + + testScript = '' + startAll; + $machine->waitForUnit("trac.service"); + $machine->waitForOpenPort(8000); + $machine->waitUntilSucceeds("curl -L http://localhost:8000/ | grep 'Trac Powered'"); + ''; +}) From 1af9ccccb0ab26620df4b82e2e5f5519d5b2200c Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sun, 3 Nov 2019 10:57:15 +0100 Subject: [PATCH 219/391] linuxPackages.digimend: init at unstable-2019-06-18 --- pkgs/os-specific/linux/digimend/default.nix | 45 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 47 insertions(+) create mode 100644 pkgs/os-specific/linux/digimend/default.nix diff --git a/pkgs/os-specific/linux/digimend/default.nix b/pkgs/os-specific/linux/digimend/default.nix new file mode 100644 index 00000000000..40f801881fc --- /dev/null +++ b/pkgs/os-specific/linux/digimend/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchFromGitHub, kernel }: + +assert stdenv.lib.versionAtLeast kernel.version "3.5"; + +stdenv.mkDerivation rec { + pname = "digimend"; + version = "unstable-2019-06-18"; + + src = fetchFromGitHub { + owner = "digimend"; + repo = "digimend-kernel-drivers"; + rev = "8b228a755e44106c11f9baaadb30ce668eede5d4"; + sha256 = "1l54j85540386a8aypqka7p5hy1b63cwmpsscv9rmmf10f78v8mm"; + }; + + INSTALL_MOD_PATH = "\${out}"; + + postPatch = '' + sed 's/udevadm /true /' -i Makefile + sed 's/depmod /true /' -i Makefile + ''; + + nativeBuildInputs = kernel.moduleBuildDependencies; + + postInstall = '' + # Remove module reload hack. + # The hid-rebind unloads and then reloads the hid-* module to ensure that + # the extra/ module is loaded. + rm -r $out/lib/udev + ''; + + makeFlags = [ + "KVERSION=${kernel.modDirVersion}" + "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + "DESTDIR=${placeholder "out"}" + ]; + + meta = with stdenv.lib; { + description = "DIGImend graphics tablet drivers for the Linux kernel"; + homepage = "https://digimend.github.io/"; + license = licenses.gpl2; + maintainers = with maintainers; [ gebner ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6c9a78ab6f0..2a9e38f53cf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16120,6 +16120,8 @@ in deepin-anything = callPackage ../os-specific/linux/deepin-anything { }; + digimend = callPackage ../os-specific/linux/digimend { }; + dpdk = callPackage ../os-specific/linux/dpdk { }; exfat-nofuse = callPackage ../os-specific/linux/exfat { }; From a0e4ee31116bc235cdb5430f9c253231403f0596 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sun, 3 Nov 2019 10:57:29 +0100 Subject: [PATCH 220/391] aggregateModules: support depmod.d configuration --- pkgs/os-specific/linux/kmod/aggregator.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/kmod/aggregator.nix b/pkgs/os-specific/linux/kmod/aggregator.nix index 4da87a557cb..cd138f1d7f5 100644 --- a/pkgs/os-specific/linux/kmod/aggregator.nix +++ b/pkgs/os-specific/linux/kmod/aggregator.nix @@ -29,7 +29,7 @@ buildEnv { # kernel version number, otherwise depmod will use `uname -r'. if test -w $out/lib/modules/$kernelVersion; then rm -f $out/lib/modules/$kernelVersion/modules.!(builtin*|order*) - ${kmod}/bin/depmod -b $out -a $kernelVersion + ${kmod}/bin/depmod -b $out -C $out/etc/depmod.d -a $kernelVersion fi ''; } From c2b54c59e804d4755407add9147e2c5108cf051e Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sun, 3 Nov 2019 10:58:15 +0100 Subject: [PATCH 221/391] nixos/digimend: init module --- nixos/modules/module-list.nix | 1 + .../services/x11/hardware/digimend.nix | 43 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 nixos/modules/services/x11/hardware/digimend.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index e181cecced7..b70e732edf8 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -863,6 +863,7 @@ ./services/x11/hardware/multitouch.nix ./services/x11/hardware/synaptics.nix ./services/x11/hardware/wacom.nix + ./services/x11/hardware/digimend.nix ./services/x11/hardware/cmt.nix ./services/x11/gdk-pixbuf.nix ./services/x11/redshift.nix diff --git a/nixos/modules/services/x11/hardware/digimend.nix b/nixos/modules/services/x11/hardware/digimend.nix new file mode 100644 index 00000000000..a9f5640905a --- /dev/null +++ b/nixos/modules/services/x11/hardware/digimend.nix @@ -0,0 +1,43 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.xserver.digimend; + + pkg = config.boot.kernelPackages.digimend; + +in + +{ + + options = { + + services.xserver.digimend = { + + enable = mkOption { + default = false; + description = '' + Whether to enable the digimend drivers for Huion/XP-Pen/etc. tablets. + ''; + }; + + }; + + }; + + + config = mkIf cfg.enable { + + # digimend drivers use xsetwacom and wacom X11 drivers + services.xserver.wacom.enable = true; + + boot.extraModulePackages = [ pkg ]; + + environment.etc."X11/xorg.conf.d/50-digimend.conf".source = + "${pkg}/usr/share/X11/xorg.conf.d/50-digimend.conf"; + + }; + +} From d6cf4946da1f79667e01ea4a5defb17ebe015458 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 3 Nov 2019 11:41:01 -0500 Subject: [PATCH 222/391] pantheon.elementary-gtk-theme: 5.2.5 -> 5.3.0 https://github.com/elementary/stylesheet/releases/tag/5.3.0 --- .../pantheon/artwork/elementary-gtk-theme/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix index fe9db999bb6..34a87a6cb16 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix @@ -3,11 +3,12 @@ , pantheon , meson , ninja +, gettext }: stdenv.mkDerivation rec { pname = "elementary-gtk-theme"; - version = "5.2.5"; + version = "5.3.0"; repoName = "stylesheet"; @@ -15,7 +16,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "0934rfdwkn4315mhayzba8a3b6i1xczp66gl6n45hh5c81gb2p65"; + sha256 = "0kxzgqgzbkwi0h4r7zc5yl57k8cm165d1ki1nzmb442wp42q438y"; }; passthru = { @@ -26,6 +27,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ + gettext meson ninja ]; From d296e58f6dcfbed9589d9e2ed1ff2d480982148f Mon Sep 17 00:00:00 2001 From: gnidorah Date: Wed, 30 Oct 2019 22:29:51 +0300 Subject: [PATCH 223/391] mame: init at 0.215 --- pkgs/misc/emulators/mame/default.nix | 59 ++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 61 insertions(+) create mode 100644 pkgs/misc/emulators/mame/default.nix diff --git a/pkgs/misc/emulators/mame/default.nix b/pkgs/misc/emulators/mame/default.nix new file mode 100644 index 00000000000..499d7dd6c4a --- /dev/null +++ b/pkgs/misc/emulators/mame/default.nix @@ -0,0 +1,59 @@ +{ stdenv, mkDerivation, fetchFromGitHub, makeDesktopItem +, python, pkgconfig, SDL2, SDL2_ttf, alsaLib, which, qtbase, libXinerama }: + +let + majorVersion = "0"; + minorVersion = "215"; + + desktopItem = makeDesktopItem { + name = "MAME"; + exec = "mame${stdenv.lib.optionalString stdenv.is64bit "64"}"; + desktopName = "MAME"; + genericName = "MAME is a multi-purpose emulation framework"; + categories = "System;Emulator;"; + }; +in mkDerivation { + pname = "mame"; + version = "${majorVersion}.${minorVersion}"; + + src = fetchFromGitHub { + owner = "mamedev"; + repo = "mame"; + rev = "mame${majorVersion}${minorVersion}"; + sha256 = "1phz846p3zzgzrbfiq2vn79iqar2dbf7iv6wfkrp32sdkkvp7l3h"; + }; + + hardeningDisable = [ "fortify" ]; + NIX_CFLAGS_COMPILE = [ "-Wno-error=maybe-uninitialized" ]; + + makeFlags = [ "TOOLS=1" ]; + + buildInputs = [ SDL2 SDL2_ttf alsaLib qtbase libXinerama ]; + nativeBuildInputs = [ python pkgconfig which ]; + + installPhase = '' + dest=$out/opt/mame + + make -f dist.mak PTR64=${if stdenv.is64bit then "1" else "0"} + mkdir -p $dest + mv build/release/${if stdenv.is64bit then "x64" else "x32"}/Release/mame/* $dest + + mkdir -p $out/bin + find $dest -maxdepth 1 -executable -type f -exec mv -t $out/bin {} \; + + mkdir -p $out/share/man/man{1,6} + mv $dest/docs/man/*.1 $out/share/man/man1 + mv $dest/docs/man/*.6 $out/share/man/man6 + + mkdir -p $out/share + ln -s ${desktopItem}/share/applications $out/share + ''; + + meta = with stdenv.lib; { + description = "Is a multi-purpose emulation framework"; + homepage = https://www.mamedev.org/; + license = with licenses; [ bsd3 gpl2Plus ]; + platforms = [ "x86_64-linux" "i686-linux" ]; + maintainers = with maintainers; [ gnidorah ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 42203a18847..b5f9cc462ff 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24311,6 +24311,8 @@ in icu = icu58; }; + mame = libsForQt5.callPackage ../misc/emulators/mame { }; + martyr = callPackage ../development/libraries/martyr { }; mess = callPackage ../misc/emulators/mess { From f73694a64a51586b71fd86837592b794c1fc420e Mon Sep 17 00:00:00 2001 From: gnidorah Date: Wed, 30 Oct 2019 22:32:30 +0300 Subject: [PATCH 224/391] mess: drop MAME and MESS are now combined as one distribution as of the 0.162 release and offered as a MAME binary (MESS is included in the build). --- pkgs/misc/emulators/mess/default.nix | 49 ---------------------------- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 4 --- 3 files changed, 1 insertion(+), 53 deletions(-) delete mode 100644 pkgs/misc/emulators/mess/default.nix diff --git a/pkgs/misc/emulators/mess/default.nix b/pkgs/misc/emulators/mess/default.nix deleted file mode 100644 index fc63bf705f4..00000000000 --- a/pkgs/misc/emulators/mess/default.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ stdenv, fetchurl, unzip, pkgconfig, SDL, gtk2, GConf, libGLU_combined -, expat, zlib }: - -let - - version = "139"; - - mameSrc = fetchurl { - url = "https://github.com/mamedev/mame/releases/download/mame0139/mame0${version}s.zip"; - sha256 = "1mpkwxfz38cgxzvlni2y3fxas3b8qmnzj2ik2zzbd8mr622jdp79"; - }; - - messSrc = fetchurl { - url = "http://www.progettosnaps.net/MESS/src/mess0${version}s.zip"; - name = "mess0139s.zip"; - sha256 = "1v892cg6wn8cdwc8pf1gcqqdb1v1v295r6jw2hf58svwx3h27xyy"; - }; - -in - -stdenv.mkDerivation { - name = "mess-0.${version}"; - - unpackPhase = - '' - unzip ${mameSrc} - # Yes, the MAME distribution is a zip file containing a zip file... - unzip mame.zip - unzip -o ${messSrc} - ''; - - makeFlags = "TARGET=mess BUILD_EXPAT= BUILD_ZLIB= NOWERROR=1"; - - buildInputs = - [ unzip pkgconfig SDL gtk2 GConf libGLU_combined expat zlib ]; - - installPhase = - '' - mkdir -p $out/bin - cp mess* $out/bin/mess - ''; - - meta = { - homepage = https://www.mess.org/; - license = "non-commercial"; - description = "Multi Emulator Super System, an emulator of many game consoles and computer systems"; - broken = true; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index d443f81d44b..0b7ccb55873 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -209,6 +209,7 @@ mapAliases ({ man_db = man-db; # added 2016-05 manpages = man-pages; # added 2015-12-06 mariadb-client = hiPrio mariadb.client; #added 2019.07.28 + mess = mame; # added 2019-10-30 mysql-client = hiPrio mariadb.client; memtest86 = memtest86plus; # added 2019-05-08 mesa_noglu = mesa; # added 2019-05-28 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b5f9cc462ff..3e3457589e4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24315,10 +24315,6 @@ in martyr = callPackage ../development/libraries/martyr { }; - mess = callPackage ../misc/emulators/mess { - inherit (pkgs.gnome2) GConf; - }; - moltengamepad = callPackage ../misc/drivers/moltengamepad { }; openzwave = callPackage ../development/libraries/openzwave { }; From cf17479caa8e7d366af602943c095598773b605b Mon Sep 17 00:00:00 2001 From: gnidorah Date: Wed, 30 Oct 2019 22:35:04 +0300 Subject: [PATCH 225/391] sdlmame: drop There are no longer separate programs called SDLMAME or SDLMESS. Instead, the SDL capability is included in MAME and MESS, and the makefile will auto-detect if you are on a non-Windows system and run accordingly. --- pkgs/games/sdlmame/default.nix | 42 --------------------------------- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 2 -- 3 files changed, 1 insertion(+), 44 deletions(-) delete mode 100644 pkgs/games/sdlmame/default.nix diff --git a/pkgs/games/sdlmame/default.nix b/pkgs/games/sdlmame/default.nix deleted file mode 100644 index 7811b4b7373..00000000000 --- a/pkgs/games/sdlmame/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ stdenv, fetchurl, alsaLib, qt48, SDL, fontconfig, freetype, SDL_ttf, xorg }: - -stdenv.mkDerivation rec { - version = "0.151.u0-1"; - pname = "sdlmame"; - - src = if stdenv.hostPlatform.system == "x86_64-linux" - then fetchurl { - url = "http://seblu.net/a/archive/packages/s/sdlmame/${pname}-${version}-x86_64.pkg.tar.xz"; - sha256 = "1j9vjxhrhsskrlk5wr7al4wk2hh3983kcva42mqal09bmc8qg3m9"; - } - else fetchurl { - url = "http://seblu.net/a/archive/packages/s/sdlmame/${pname}-${version}-i686.pkg.tar.xz"; - sha256 = "1i38j9ml66pyxzm0zzf1fv4lb40f6w47cdgaw846q91pzakkkqn7"; - }; - - buildPhase = '' - sed -i "s|/usr|$out|" bin/sdlmame - ''; - - installPhase = '' - patchelf \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${stdenv.lib.makeLibraryPath [ alsaLib qt48 SDL fontconfig freetype SDL_ttf xorg.libX11 xorg.libXinerama stdenv.cc.cc ]}" \ - share/sdlmame/sdlmame - - mkdir -p "$out/bin" - cp -r bin/sdlmame "$out/bin" - cp -r share "$out" - ''; - - dontPatchELF = true; - dontStrip = true; - - meta = with stdenv.lib; { - homepage = http://sdlmame.lngn.net; - description = "A port of the popular Multiple Arcade Machine Emulator using SDL with OpenGL support"; - license = "MAME"; - maintainers = with maintainers; [ lovek323 ]; - platforms = [ "x86_64-linux" "i686-linux" ]; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 0b7ccb55873..29f14a7754b 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -336,6 +336,7 @@ mapAliases ({ sapic = throw "deprecated 2019-1-19: sapic is bundled with 'tamarin-prover' now"; scim = sc-im; # added 2016-01-22 scollector = bosun; # added 2018-04-25 + sdlmame = mame; # added 2019-10-30 shared_mime_info = shared-mime-info; # added 2018-02-25 skrooge2 = skrooge; # added 2017-02-18 skype = skypeforlinux; # added 2017-07-27 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3e3457589e4..9e2372ee7b0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22739,8 +22739,6 @@ in scrolls = callPackage ../games/scrolls { }; - sdlmame = callPackage ../games/sdlmame { }; - service-wrapper = callPackage ../os-specific/linux/service-wrapper { }; sgtpuzzles = callPackage (callPackage ../games/sgt-puzzles) { }; From 71184f8e157672789602d3f28bdd3c8079800687 Mon Sep 17 00:00:00 2001 From: zimbatm Date: Sun, 3 Nov 2019 17:40:43 +0000 Subject: [PATCH 226/391] stdenv/check-meta: getEnv if the attribute is unset (#72376) There were two issues: * builtins.getEnv was called deep into the nixpkgs tree making it hard to discover. This is solved by moving the call into pkgs/top-level/impure.nix * when the config was explicitly set by the user to false, it would still try and load the environment variable. This meant that it was not possible to guarantee the same outcome on two different systems. --- pkgs/stdenv/generic/check-meta.nix | 11 ++++------- pkgs/top-level/impure.nix | 13 ++++++++++++- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix index 6bd6a9bf41e..85a1051ceed 100644 --- a/pkgs/stdenv/generic/check-meta.nix +++ b/pkgs/stdenv/generic/check-meta.nix @@ -13,8 +13,7 @@ let # for why this defaults to false, but I (@copumpkin) want to default it to true soon. shouldCheckMeta = config.checkMeta or false; - allowUnfree = config.allowUnfree or false - || builtins.getEnv "NIXPKGS_ALLOW_UNFREE" == "1"; + allowUnfree = config.allowUnfree or false; whitelist = config.whitelistedLicenses or []; blacklist = config.blacklistedLicenses or []; @@ -41,11 +40,9 @@ let hasBlacklistedLicense = assert areLicenseListsValid; attrs: hasLicense attrs && lib.lists.any (l: builtins.elem l blacklist) (lib.lists.toList attrs.meta.license); - allowBroken = config.allowBroken or false - || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1"; + allowBroken = config.allowBroken or false; - allowUnsupportedSystem = config.allowUnsupportedSystem or false - || builtins.getEnv "NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM" == "1"; + allowUnsupportedSystem = config.allowUnsupportedSystem or false; isUnfree = licenses: lib.lists.any (l: !l.free or true) licenses; @@ -73,7 +70,7 @@ let hasAllowedInsecure = attrs: (attrs.meta.knownVulnerabilities or []) == [] || allowInsecurePredicate attrs || - builtins.getEnv "NIXPKGS_ALLOW_INSECURE" == "1"; + config.allowInsecure or false; showLicense = license: toString (map (l: l.shortName or "unknown") (lib.lists.toList license)); diff --git a/pkgs/top-level/impure.nix b/pkgs/top-level/impure.nix index 3ba6c08a140..9ed31077172 100644 --- a/pkgs/top-level/impure.nix +++ b/pkgs/top-level/impure.nix @@ -10,6 +10,14 @@ let # Return ‘x’ if it evaluates, or ‘def’ if it throws an exception. try = x: def: let res = tryEval x; in if res.success then res.value else def; + defaultConfig = { + # These attributes are used in pkgs/stdenv/generic/check-meta.nix + allowBroken = builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1"; + allowInsecure = builtins.getEnv "NIXPKGS_ALLOW_INSECURE" == "1"; + allowUnfree = builtins.getEnv "NIXPKGS_ALLOW_UNFREE" == "1"; + allowUnsupportedSystem = builtins.getEnv "NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM" == "1"; + }; + in { # We combine legacy `system` and `platform` into `localSystem`, if @@ -82,7 +90,10 @@ in assert args ? localSystem -> !(args ? system || args ? platform); import ./. (builtins.removeAttrs args [ "system" "platform" ] // { - inherit config overlays crossSystem crossOverlays; + inherit overlays crossSystem crossOverlays; + + config = defaultConfig // config; + # Fallback: Assume we are building packages on the current (build, in GNU # Autotools parlance) system. localSystem = if builtins.isString localSystem then localSystem From 80a5dd7f0277f37b90ccf65b6a94635dd7b45311 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Sun, 3 Nov 2019 18:37:39 +0100 Subject: [PATCH 227/391] gegl: fix darwin build ../gegl/opencl/cl_gl.h:37:10: fatal error: 'OpenGL/CGLDevice.h' file not found #include --- pkgs/development/libraries/gegl/4.0.nix | 6 ++++-- pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/gegl/4.0.nix b/pkgs/development/libraries/gegl/4.0.nix index 8632035caf7..2edb47cb9bb 100644 --- a/pkgs/development/libraries/gegl/4.0.nix +++ b/pkgs/development/libraries/gegl/4.0.nix @@ -28,6 +28,7 @@ , libwebp , luajit , openexr +, OpenCL }: stdenv.mkDerivation rec { @@ -86,7 +87,7 @@ stdenv.mkDerivation rec { gexiv2 luajit openexr - ]; + ] ++ stdenv.lib.optional stdenv.isDarwin OpenCL; # for gegl-4.0.pc propagatedBuildInputs = [ @@ -115,7 +116,8 @@ stdenv.mkDerivation rec { patchShebangs tests/ff-load-save/tests_ff_load_save.sh tests/opencl/opencl_test.sh tests/buffer/buffer-tests-run.sh tools/xml_insert.sh ''; - doCheck = true; + # tests fail to connect to the com.apple.fonts daemon in sandboxed mode + doCheck = !stdenv.isDarwin; meta = with stdenv.lib; { description = "Graph-based image processing framework"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a98e59e8b6c..4b0d6743a7f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11063,7 +11063,9 @@ in inherit (darwin.apple_sdk.frameworks) OpenGL; }; - gegl_0_4 = callPackage ../development/libraries/gegl/4.0.nix { }; + gegl_0_4 = callPackage ../development/libraries/gegl/4.0.nix { + inherit (darwin.apple_sdk.frameworks) OpenCL; + }; geoclue2 = callPackage ../development/libraries/geoclue {}; From 3894ec0a509f45cd3b0fe035bfab0c4248b5e9ec Mon Sep 17 00:00:00 2001 From: Vadim-Valdis Yudaev Date: Thu, 17 Oct 2019 16:53:45 +0300 Subject: [PATCH 228/391] keybase, keybase-gui, kbfs: 4.6.0 -> 4.7.2, added dependencies all: update from 4.6.0 to 4.7.2 keybase: - added gnupg as a dependency and patch fix-patch-keybase.patch kbfs: - added fuse as a dependency and patch fix-patch-kbfs.patch --- pkgs/tools/security/keybase/default.nix | 17 +++++-- .../security/keybase/fix-paths-kbfs.patch | 48 +++++++++++++++++++ .../security/keybase/fix-paths-keybase.patch | 16 +++++++ pkgs/tools/security/keybase/gui.nix | 6 +-- pkgs/tools/security/keybase/kbfs.nix | 9 +++- 5 files changed, 88 insertions(+), 8 deletions(-) create mode 100644 pkgs/tools/security/keybase/fix-paths-kbfs.patch create mode 100644 pkgs/tools/security/keybase/fix-paths-keybase.patch diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix index 559ba0383bd..653858d3696 100644 --- a/pkgs/tools/security/keybase/default.nix +++ b/pkgs/tools/security/keybase/default.nix @@ -1,11 +1,12 @@ -{ stdenv, lib, buildGoPackage, fetchFromGitHub +{ stdenv, substituteAll, lib, buildGoPackage, fetchFromGitHub , AVFoundation, AudioToolbox, ImageIO, CoreMedia , Foundation, CoreGraphics, MediaToolbox +, gnupg }: buildGoPackage rec { pname = "keybase"; - version = "4.6.0"; + version = "4.7.2"; goPackagePath = "github.com/keybase/client"; subPackages = [ "go/keybase" ]; @@ -16,10 +17,18 @@ buildGoPackage rec { owner = "keybase"; repo = "client"; rev = "v${version}"; - sha256 = "1aqj5s3vfji1zl7xdzphnsw3b8pnbg22n9rzdxkcdjf7via5wz2k"; + sha256 = "1ixfq9qv71misg04fvf4892z956w5aydq0r1wk6qk5jjqp6gf4lv"; }; - buildInputs = lib.optionals stdenv.isDarwin [ AVFoundation AudioToolbox ImageIO CoreMedia Foundation CoreGraphics MediaToolbox ]; + patches = [ + (substituteAll { + src = ./fix-paths-keybase.patch; + gpg = "${gnupg}/bin/gpg"; + gpg2 = "${gnupg}/bin/gpg2"; + }) + ]; + + buildInputs = stdenv.lib.optionals stdenv.isDarwin [ AVFoundation AudioToolbox ImageIO CoreMedia Foundation CoreGraphics MediaToolbox ]; buildFlags = [ "-tags production" ]; meta = with stdenv.lib; { diff --git a/pkgs/tools/security/keybase/fix-paths-kbfs.patch b/pkgs/tools/security/keybase/fix-paths-kbfs.patch new file mode 100644 index 00000000000..1180f38b865 --- /dev/null +++ b/pkgs/tools/security/keybase/fix-paths-kbfs.patch @@ -0,0 +1,48 @@ +diff --git a/go/kbfs/libfuse/mounter.go b/go/kbfs/libfuse/mounter.go +index d791ffc2..b116ad5d 100644 +--- a/go/kbfs/libfuse/mounter.go ++++ b/go/kbfs/libfuse/mounter.go +@@ -108,7 +108,7 @@ func (m *mounter) Unmount() (err error) { + case "darwin": + _, err = exec.Command("/sbin/umount", dir).Output() + case "linux": +- fusermountOutput, fusermountErr := exec.Command("fusermount", "-u", dir).CombinedOutput() ++ fusermountOutput, fusermountErr := exec.Command("@fusermount@", "-u", dir).CombinedOutput() + // Only clean up mountdir on a clean unmount. + if fusermountErr == nil { + m.log.Info("Successfully unmounted") +@@ -135,7 +135,7 @@ func (m *mounter) Unmount() (err error) { + "/usr/sbin/diskutil", "unmountDisk", "force", dir).Output() + case "linux": + // Lazy unmount; will unmount when KBFS is no longer in use. +- _, err = exec.Command("fusermount", "-u", "-z", dir).Output() ++ _, err = exec.Command("@fusermount@", "-u", "-z", dir).Output() + default: + err = errors.New("Forced unmount is not supported on this platform yet") + } +diff --git a/go/vendor/bazil.org/fuse/mount_linux.go b/go/vendor/bazil.org/fuse/mount_linux.go +index ec7fd89c..4d0a9e30 100644 +--- a/go/vendor/bazil.org/fuse/mount_linux.go ++++ b/go/vendor/bazil.org/fuse/mount_linux.go +@@ -196,7 +196,7 @@ func mount(dir string, conf *mountConfig, ready chan<- struct{}, _ *error) (fuse + defer readFile.Close() + + cmd := exec.Command( +- "fusermount", ++ "@fusermount@", + "-o", conf.getOptions(), + "--", + dir, +diff --git a/go/vendor/bazil.org/fuse/unmount_linux.go b/go/vendor/bazil.org/fuse/unmount_linux.go +index f02448af..6e4c6c23 100644 +--- a/go/vendor/bazil.org/fuse/unmount_linux.go ++++ b/go/vendor/bazil.org/fuse/unmount_linux.go +@@ -21,7 +21,7 @@ func unmount(dir string) error { + return sysunix.Unmount(dir, sysunix.MNT_DETACH) + } + +- cmd := exec.Command("fusermount", "-u", dir) ++ cmd := exec.Command("@fusermount@", "-u", dir) + output, err := cmd.CombinedOutput() + if err != nil { + if len(output) > 0 { diff --git a/pkgs/tools/security/keybase/fix-paths-keybase.patch b/pkgs/tools/security/keybase/fix-paths-keybase.patch new file mode 100644 index 00000000000..b3de7bbb530 --- /dev/null +++ b/pkgs/tools/security/keybase/fix-paths-keybase.patch @@ -0,0 +1,16 @@ +diff --git a/go/libkb/gpg_cli.go b/go/libkb/gpg_cli.go +index 3c7c6257..ae8f7e2f 100644 +--- a/go/libkb/gpg_cli.go ++++ b/go/libkb/gpg_cli.go +@@ -54,9 +54,9 @@ func (g *GpgCLI) Configure(mctx MetaContext) (err error) { + if len(prog) > 0 { + err = canExec(prog) + } else { +- prog, err = exec.LookPath("gpg2") ++ prog, err = exec.LookPath("@gpg2@") + if err != nil { +- prog, err = exec.LookPath("gpg") ++ prog, err = exec.LookPath("@gpg@") + } + } + if err != nil { diff --git a/pkgs/tools/security/keybase/gui.nix b/pkgs/tools/security/keybase/gui.nix index aa4db75cef1..1d32f1cc881 100644 --- a/pkgs/tools/security/keybase/gui.nix +++ b/pkgs/tools/security/keybase/gui.nix @@ -4,16 +4,16 @@ , runtimeShell, gsettings-desktop-schemas }: let - versionSuffix = "20191010154240.134c2d892b"; + versionSuffix = "20191028173732.6fc2e969b4"; in stdenv.mkDerivation rec { pname = "keybase-gui"; - version = "4.6.0"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages + version = "4.7.2"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages src = fetchurl { url = "https://s3.amazonaws.com/prerelease.keybase.io/linux_binaries/deb/keybase_${version + "-" + versionSuffix}_amd64.deb"; - sha256 = "a25f0c676c00d306859d32e4dad7a23dd4955fa0b352be50c281081f2cf000ae"; + sha256 = "01slhdxcjs1543rz1khxhzn25g26vm9fd9mcyd5ahp2v4g37b8sd"; }; nativeBuildInputs = [ diff --git a/pkgs/tools/security/keybase/kbfs.nix b/pkgs/tools/security/keybase/kbfs.nix index 9448182a65a..93c7bd540d8 100644 --- a/pkgs/tools/security/keybase/kbfs.nix +++ b/pkgs/tools/security/keybase/kbfs.nix @@ -1,4 +1,4 @@ -{ stdenv, buildGoPackage, fetchFromGitHub, keybase }: +{ stdenv, substituteAll, buildGoPackage, fetchFromGitHub, fuse, osxfuse, keybase }: buildGoPackage { pname = "kbfs"; @@ -10,6 +10,13 @@ buildGoPackage { dontRenameImports = true; + patches = [ + (substituteAll { + src = ./fix-paths-kbfs.patch; + fusermount = "${fuse}/bin/fusermount"; + }) + ]; + buildFlags = [ "-tags production" ]; meta = with stdenv.lib; { From fbbb67b85879e286a308898351f34c049a682314 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 3 Nov 2019 13:21:15 -0500 Subject: [PATCH 229/391] quilter: 2.0.2 - 2.0.3 --- pkgs/applications/editors/quilter/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/quilter/default.nix b/pkgs/applications/editors/quilter/default.nix index 7df036cc215..d9c3bd0825d 100644 --- a/pkgs/applications/editors/quilter/default.nix +++ b/pkgs/applications/editors/quilter/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "quilter"; - version = "2.0.2"; + version = "2.0.3"; src = fetchFromGitHub { owner = "lainsce"; repo = pname; rev = version; - sha256 = "0qd8qssqzds06l08f4yf39i3bjl1ljyr85wgc3yn6mn698ynx30g"; + sha256 = "13l8z3bchha4ax14s48pcqdxh8gnj4mlvv06lk9dwk9fplc93821"; }; nativeBuildInputs = [ From dcd89d2c8040182efc40981961fd4ca647f95aeb Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 3 Nov 2019 13:25:15 -0500 Subject: [PATCH 230/391] lollypop: 1.2.2 -> 1.2.5 --- pkgs/applications/audio/lollypop/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix index f8a2aa8db76..8bdf45a968a 100644 --- a/pkgs/applications/audio/lollypop/default.nix +++ b/pkgs/applications/audio/lollypop/default.nix @@ -19,7 +19,7 @@ python3.pkgs.buildPythonApplication rec { pname = "lollypop"; - version = "1.2.2"; + version = "1.2.5"; format = "other"; doCheck = false; @@ -28,7 +28,7 @@ python3.pkgs.buildPythonApplication rec { url = "https://gitlab.gnome.org/World/lollypop"; rev = "refs/tags/${version}"; fetchSubmodules = true; - sha256 = "02dgp3b10yaw0yqzdzd15msjgxayvjkg9m652is0d7rwgjq1pk6v"; + sha256 = "148p3ab7nnfz13hgjkx1cf2ahq9mgl72csrl35xy6d0nkfqbfr8r"; }; nativeBuildInputs = [ From 83dbd38821f1bd2e76218cabbf428a4d982018e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= Date: Sun, 3 Nov 2019 18:35:55 +0100 Subject: [PATCH 231/391] libjpeg-turbo: Add flag to build static libraries as well --- pkgs/development/libraries/libjpeg-turbo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix index cb32b22f45e..f05ac6d521b 100644 --- a/pkgs/development/libraries/libjpeg-turbo/default.nix +++ b/pkgs/development/libraries/libjpeg-turbo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, nasm }: +{ stdenv, fetchurl, cmake, nasm, enableStatic ? false }: stdenv.mkDerivation rec { @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake nasm ]; cmakeFlags = [ - "-DENABLE_STATIC=0" + "-DENABLE_STATIC=${if enableStatic then "1" else "0"}" ]; doInstallCheck = true; From 6ca77c43aecc749218059f090780f91c66c58e12 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 3 Nov 2019 04:04:32 -0800 Subject: [PATCH 232/391] yq: 2.7.2 -> 2.8.1 --- pkgs/development/tools/yq/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/yq/default.nix b/pkgs/development/tools/yq/default.nix index f93a24d56f9..e9b54e67f5e 100644 --- a/pkgs/development/tools/yq/default.nix +++ b/pkgs/development/tools/yq/default.nix @@ -2,7 +2,7 @@ buildPythonApplication rec { pname = "yq"; - version = "2.7.2"; + version = "2.8.1"; propagatedBuildInputs = [ pyyaml xmltodict jq ]; @@ -11,7 +11,7 @@ buildPythonApplication rec { src = fetchPypi { inherit pname version; - sha256 = "1fwvwy75n4rqzh6sxyp2jmjqc7939s0xmrhxw7zhdy6iacggvnpp"; + sha256 = "042p3s011635rbjax9wvwjdrb1kyzw38a6qn59b0j0k7krz6rlr4"; }; meta = with lib; { From 049c47c6f633192e7e138dfa800230de5467fbc9 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 3 Nov 2019 03:28:24 -0800 Subject: [PATCH 233/391] wpgtk: 6.0.9 -> 6.0.11 --- pkgs/tools/X11/wpgtk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/X11/wpgtk/default.nix b/pkgs/tools/X11/wpgtk/default.nix index 1a6e99f0393..fce3df19718 100644 --- a/pkgs/tools/X11/wpgtk/default.nix +++ b/pkgs/tools/X11/wpgtk/default.nix @@ -3,13 +3,13 @@ python3Packages.buildPythonApplication rec { pname = "wpgtk"; - version = "6.0.9"; + version = "6.0.11"; src = fetchFromGitHub { owner = "deviantfero"; repo = "wpgtk"; rev = version; - sha256 = "0j2wci85918zsrrvd4qpcqv9bzhzj7qvjchvhvl11fn035jml5l0"; + sha256 = "0da4gj54c361a0bicrjhhb9bp9yr5lx7p1knrsc4dykap1xn23vi"; }; buildInputs = [ From deb201b311f7d8b1d2818fe106cbb3ebc32df86d Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sun, 3 Nov 2019 11:45:07 -0800 Subject: [PATCH 234/391] update-python-libraries: update usage comments --- .../python/update-python-libraries/update-python-libraries.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py index e4a79d0c428..82b2aac39a9 100755 --- a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py +++ b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py @@ -6,9 +6,9 @@ You can pass in multiple files or paths. You'll likely want to use `` - $ ./update-python-libraries ../../pkgs/development/python-modules/* + $ ./update-python-libraries ../../pkgs/development/python-modules/**/default.nix `` -to update all libraries in that folder. +to update all non-pinned libraries in that folder. """ import argparse From 4cf8729c316ecffbe43465ea97a40a83f3cd84da Mon Sep 17 00:00:00 2001 From: Daniel Duan Date: Sun, 3 Nov 2019 12:50:51 -0800 Subject: [PATCH 235/391] Add dduan as a maintainer --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 1f2cdda41d1..724b4e0d55e 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1563,6 +1563,12 @@ githubId = 14032; name = "Daniel Brockman"; }; + dduan = { + email = "daniel@duan.ca"; + github = "dduan"; + githubId = 75067; + name = "Daniel Duan"; + }; deepfire = { email = "_deepfire@feelingofgreen.ru"; github = "deepfire"; From fcd88c820d546ea8e30b98ae7316c2c9fac4ae5f Mon Sep 17 00:00:00 2001 From: Daniel Duan Date: Sun, 3 Nov 2019 12:51:01 -0800 Subject: [PATCH 236/391] tre: init at 0.2.2 tre is a improved version of the command `tree`. Its main additions: 1. colored output 2. ignores paths specified in .gitignore 3. editor alias for each entity listed Source/Homepage: https://github.com/dduan/tre --- pkgs/tools/system/tre-command/default.nix | 24 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/tools/system/tre-command/default.nix diff --git a/pkgs/tools/system/tre-command/default.nix b/pkgs/tools/system/tre-command/default.nix new file mode 100644 index 00000000000..6050b2a709e --- /dev/null +++ b/pkgs/tools/system/tre-command/default.nix @@ -0,0 +1,24 @@ +{ rustPlatform, fetchFromGitHub, stdenv }: + +rustPlatform.buildRustPackage rec { + pname = "tre"; + version = "0.2.2"; + + src = fetchFromGitHub { + owner = "dduan"; + repo = "tre"; + rev = "v${version}"; + sha256 = "1fazw2wn738iknbv54gv7qll7d4q2gy9bq1s3f3cv21cdv6bqral"; + }; + + cargoSha256 = "0m82zbi610zgvcza6n03xl80g31x6bfkjyrfxcxa6fyf2l5cj9pv"; + verifyCargoDeps = true; + + meta = with stdenv.lib; { + description = "Tree command, improved"; + homepage = "https://github.com/dduan/tre"; + license = licenses.mit; + maintainers = [ maintainers.dduan ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 85270623a5d..161fd3eab10 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21312,6 +21312,8 @@ in tdrop = callPackage ../applications/misc/tdrop { }; + tre-command = callPackage ../tools/system/tre-command {}; + tree = callPackage ../tools/system/tree {}; treesheets = callPackage ../applications/office/treesheets { wxGTK = wxGTK31; }; From 8593904aca8d5a7922feae828db010f4f0d900e6 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Sun, 3 Nov 2019 16:20:00 -0500 Subject: [PATCH 237/391] protobuf3_9: 3.9.1 -> 3.9.2 Changelog: https://github.com/protocolbuffers/protobuf/releases/tag/v3.9.2 --- pkgs/development/libraries/protobuf/3.9.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/protobuf/3.9.nix b/pkgs/development/libraries/protobuf/3.9.nix index a2f3e0e0164..e74d5c527b1 100644 --- a/pkgs/development/libraries/protobuf/3.9.nix +++ b/pkgs/development/libraries/protobuf/3.9.nix @@ -1,6 +1,6 @@ { callPackage, ... }: callPackage ./generic-v3.nix { - version = "3.9.1"; - sha256 = "0vv85xb65dx6fa76fsnyps13kaamvwfzd8hr6ii1payr73x4zy2h"; + version = "3.9.2"; + sha256 = "080zxa9w1pxp5y05aiwc0c8mlqkkh98wmid4l7m99cliphsd4qnn"; } From b60853cdca2c0004b692bd27b6b3d3a8ed833b32 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Sun, 3 Nov 2019 16:20:00 -0500 Subject: [PATCH 238/391] ispc: only check on Linux The test suite tries to execute `transcendentals` tests, which is not expected to work anywhere except Linux. --- pkgs/development/compilers/ispc/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/ispc/default.nix b/pkgs/development/compilers/ispc/default.nix index d07bf6b5733..0c44595b24b 100644 --- a/pkgs/development/compilers/ispc/default.nix +++ b/pkgs/development/compilers/ispc/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { # there are missing dependencies in the Makefile, causing sporadic build failures enableParallelBuilding = false; - doCheck = true; + doCheck = stdenv.isLinux; buildInputs = with llvmPackages; [ which From 7960ff7d4ea5f55e43daa10e53251d4849e92fee Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Sun, 3 Nov 2019 16:21:00 -0500 Subject: [PATCH 239/391] protobuf3_10: 3.10.0 -> 3.10.1 Changelog: https://github.com/protocolbuffers/protobuf/releases/tag/v3.10.1 --- pkgs/development/libraries/protobuf/3.10.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/protobuf/3.10.nix b/pkgs/development/libraries/protobuf/3.10.nix index 3549d7af75e..5ecb8e67f84 100644 --- a/pkgs/development/libraries/protobuf/3.10.nix +++ b/pkgs/development/libraries/protobuf/3.10.nix @@ -1,6 +1,6 @@ { callPackage, ... }: callPackage ./generic-v3.nix { - version = "3.10.0"; - sha256 = "0cjwfm9v2gv6skzrq4m7w28810p2h3m1jj4kw6df3x8vvg7q842c"; + version = "3.10.1"; + sha256 = "1kbi2i1m5c7ss02ip8h0bdzvns4dgxx30a5c0iiph8g2ns02lr33"; } From 547b5b7a73e8a780b6438cf1128388dbc51b002e Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 3 Nov 2019 22:09:44 +0000 Subject: [PATCH 240/391] ruby.withPackages: preserve setup hooks (#72743) This fixes nix-shell -p 'ruby.withPackages (const [])' ruby.devdoc which otherwise wouldn't find documentation, unlike nix-shell -p ruby ruby.devdoc which would, because ruby has setup hooks to accomodate for this, that were being masked by the withPackages wrapper. --- pkgs/development/ruby-modules/with-packages/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/ruby-modules/with-packages/default.nix b/pkgs/development/ruby-modules/with-packages/default.nix index ac0a33f4561..7d49b0e0134 100644 --- a/pkgs/development/ruby-modules/with-packages/default.nix +++ b/pkgs/development/ruby-modules/with-packages/default.nix @@ -64,6 +64,8 @@ let rm -f $out/bin/$(basename "$i") makeWrapper "$i" $out/bin/$(basename "$i") --set GEM_PATH ${gemEnv}/${ruby.gemPath} done + + ln -s ${ruby}/nix-support $out/nix-support ''; passthru = { From 963fee775c05733b5ecd40fad299d551057adb86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Gaspard?= Date: Mon, 4 Nov 2019 02:31:31 +0100 Subject: [PATCH 241/391] org-packages: 9.2.3 -> 9.2.6 Note that the update-org script couldn't be used, as it is currently broken. The upgrade was thus done by hand. --- .../editors/emacs-modes/org-generated.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/editors/emacs-modes/org-generated.nix b/pkgs/applications/editors/emacs-modes/org-generated.nix index c1fad2dc865..f1833225013 100644 --- a/pkgs/applications/editors/emacs-modes/org-generated.nix +++ b/pkgs/applications/editors/emacs-modes/org-generated.nix @@ -4,10 +4,10 @@ elpaBuild { pname = "org"; ename = "org"; - version = "20190527"; + version = "20190904"; src = fetchurl { - url = "http://orgmode.org/elpa/org-20190527.tar"; - sha256 = "1fc2nyylzpikjikyb24xq2mcilridcahmjwmg0s426dqrgqpm9ij"; + url = "http://orgmode.org/elpa/org-20190904.tar"; + sha256 = "0ah5zgbxp4j3mfgriw9liamy73npp9zbkq0zrg6cfhf8l3xwbnxn"; }; packageRequires = []; meta = { @@ -19,10 +19,10 @@ elpaBuild { pname = "org-plus-contrib"; ename = "org-plus-contrib"; - version = "20190527"; + version = "20190904"; src = fetchurl { - url = "http://orgmode.org/elpa/org-plus-contrib-20190527.tar"; - sha256 = "16kf47ij25fijf6pbfxzq9xzildj1asdzhnkf5zv5pn4312pvgnq"; + url = "http://orgmode.org/elpa/org-plus-contrib-20190904.tar"; + sha256 = "08s3fk3jim0y2v00l6ah8y08ba8wbcf29z6fxqzyaxj58a5sq81a"; }; packageRequires = []; meta = { From cf8a2d0225d531b3db333aa3c6c89866f90ff4b2 Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Sun, 3 Nov 2019 20:38:35 -0500 Subject: [PATCH 242/391] Revert "stdenv/check-meta: getEnv if the attribute is unset (#72376)" (#72752) This reverts commit 71184f8e157672789602d3f28bdd3c8079800687. --- pkgs/stdenv/generic/check-meta.nix | 11 +++++++---- pkgs/top-level/impure.nix | 13 +------------ 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix index 85a1051ceed..6bd6a9bf41e 100644 --- a/pkgs/stdenv/generic/check-meta.nix +++ b/pkgs/stdenv/generic/check-meta.nix @@ -13,7 +13,8 @@ let # for why this defaults to false, but I (@copumpkin) want to default it to true soon. shouldCheckMeta = config.checkMeta or false; - allowUnfree = config.allowUnfree or false; + allowUnfree = config.allowUnfree or false + || builtins.getEnv "NIXPKGS_ALLOW_UNFREE" == "1"; whitelist = config.whitelistedLicenses or []; blacklist = config.blacklistedLicenses or []; @@ -40,9 +41,11 @@ let hasBlacklistedLicense = assert areLicenseListsValid; attrs: hasLicense attrs && lib.lists.any (l: builtins.elem l blacklist) (lib.lists.toList attrs.meta.license); - allowBroken = config.allowBroken or false; + allowBroken = config.allowBroken or false + || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1"; - allowUnsupportedSystem = config.allowUnsupportedSystem or false; + allowUnsupportedSystem = config.allowUnsupportedSystem or false + || builtins.getEnv "NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM" == "1"; isUnfree = licenses: lib.lists.any (l: !l.free or true) licenses; @@ -70,7 +73,7 @@ let hasAllowedInsecure = attrs: (attrs.meta.knownVulnerabilities or []) == [] || allowInsecurePredicate attrs || - config.allowInsecure or false; + builtins.getEnv "NIXPKGS_ALLOW_INSECURE" == "1"; showLicense = license: toString (map (l: l.shortName or "unknown") (lib.lists.toList license)); diff --git a/pkgs/top-level/impure.nix b/pkgs/top-level/impure.nix index 9ed31077172..3ba6c08a140 100644 --- a/pkgs/top-level/impure.nix +++ b/pkgs/top-level/impure.nix @@ -10,14 +10,6 @@ let # Return ‘x’ if it evaluates, or ‘def’ if it throws an exception. try = x: def: let res = tryEval x; in if res.success then res.value else def; - defaultConfig = { - # These attributes are used in pkgs/stdenv/generic/check-meta.nix - allowBroken = builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1"; - allowInsecure = builtins.getEnv "NIXPKGS_ALLOW_INSECURE" == "1"; - allowUnfree = builtins.getEnv "NIXPKGS_ALLOW_UNFREE" == "1"; - allowUnsupportedSystem = builtins.getEnv "NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM" == "1"; - }; - in { # We combine legacy `system` and `platform` into `localSystem`, if @@ -90,10 +82,7 @@ in assert args ? localSystem -> !(args ? system || args ? platform); import ./. (builtins.removeAttrs args [ "system" "platform" ] // { - inherit overlays crossSystem crossOverlays; - - config = defaultConfig // config; - + inherit config overlays crossSystem crossOverlays; # Fallback: Assume we are building packages on the current (build, in GNU # Autotools parlance) system. localSystem = if builtins.isString localSystem then localSystem From a2f7fc9a5c7edbda770cebb04a6ac92d46808b9a Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Sun, 27 Oct 2019 18:14:41 +0000 Subject: [PATCH 243/391] =?UTF-8?q?ocamlPackages.ocp-indent:=201.7.0=20?= =?UTF-8?q?=E2=86=92=201.8.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/tools/ocaml/ocp-indent/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/ocaml/ocp-indent/default.nix b/pkgs/development/tools/ocaml/ocp-indent/default.nix index 7ecc15da2b5..6f8d80df564 100644 --- a/pkgs/development/tools/ocaml/ocp-indent/default.nix +++ b/pkgs/development/tools/ocaml/ocp-indent/default.nix @@ -1,12 +1,12 @@ { lib, fetchzip, buildDunePackage, cmdliner }: buildDunePackage rec { - version = "1.7.0"; + version = "1.8.1"; pname = "ocp-indent"; src = fetchzip { url = "https://github.com/OCamlPro/ocp-indent/archive/${version}.tar.gz"; - sha256 = "006x3fsd61vxnxj4chlakyk3b2s10pb0bdl46g0ghf3j8h33x7hc"; + sha256 = "0h4ysh36q1fxc40inhsdq2swqpfm15lpilqqcafs5ska42pn7s68"; }; minimumOCamlVersion = "4.02"; From eb2aa009a3506117b9810763e9ed4ef5cda66bb2 Mon Sep 17 00:00:00 2001 From: Pierre Bourdon Date: Mon, 4 Nov 2019 05:26:06 +0100 Subject: [PATCH 244/391] pythonPackages.pyatmo: 2.3.2 requires requests --- pkgs/development/python-modules/pyatmo/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/python-modules/pyatmo/default.nix b/pkgs/development/python-modules/pyatmo/default.nix index bd1caba1d27..56467d1e4a5 100644 --- a/pkgs/development/python-modules/pyatmo/default.nix +++ b/pkgs/development/python-modules/pyatmo/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , fetchPypi +, requests }: buildPythonPackage rec { @@ -12,6 +13,8 @@ buildPythonPackage rec { sha256 = "2c76740e5adbf8b14d8f41d4f84ce23c0e8e738b18b926dc60858c35bf2fa8f2"; }; + propagatedBuildInputs = [ requests ]; + # Upstream provides no unit tests. doCheck = false; From 8db9c3ef4523f7f60789916960892a17c5850af0 Mon Sep 17 00:00:00 2001 From: Sebastian Jordan Date: Mon, 4 Nov 2019 05:08:02 +0100 Subject: [PATCH 245/391] nix-prefetch-github: Delete redundant source, build from python3Packages instead --- .../nix-prefetch-github/default.nix | 29 ------------------- pkgs/top-level/all-packages.nix | 3 +- 2 files changed, 2 insertions(+), 30 deletions(-) delete mode 100644 pkgs/build-support/nix-prefetch-github/default.nix diff --git a/pkgs/build-support/nix-prefetch-github/default.nix b/pkgs/build-support/nix-prefetch-github/default.nix deleted file mode 100644 index 10a6daaf53f..00000000000 --- a/pkgs/build-support/nix-prefetch-github/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ python3 -, fetchFromGitHub -, stdenv -}: - -python3.pkgs.buildPythonApplication rec { - pname = "nix-prefetch-github"; - version = "2.3.1"; - - src = fetchFromGitHub { - owner = "seppeljordan"; - repo = "nix-prefetch-github"; - rev = "v${version}"; - sha256 = "13wvq13iiva97a16kahfpxar5ppb015nnbn7d4v9s9jyxdickc2c"; - }; - - propagatedBuildInputs = with python3.pkgs; [ - attrs - click - effect - jinja2 - ]; - meta = with stdenv.lib; { - description = "Prefetch sources from github"; - homepage = https://github.com/seppeljordan/nix-prefetch-github; - license = licenses.gpl3; - maintainers = [ maintainers.seppeljordan ]; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c5598f328a5..3d03ef6257c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24549,7 +24549,8 @@ in nix-prefetch = callPackage ../tools/package-management/nix-prefetch { }; - nix-prefetch-github = callPackage ../build-support/nix-prefetch-github {}; + nix-prefetch-github = with python3Packages; + toPythonApplication nix-prefetch-github; inherit (callPackages ../tools/package-management/nix-prefetch-scripts { }) nix-prefetch-bzr From d7a618ac011abba0444f1a207abea0640cefc24f Mon Sep 17 00:00:00 2001 From: Sebastian Jordan Date: Mon, 4 Nov 2019 05:10:45 +0100 Subject: [PATCH 246/391] pythonPackages.nix-prefetch-github: 2.3.1 -> 2.3.2 --- .../python-modules/nix-prefetch-github/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/nix-prefetch-github/default.nix b/pkgs/development/python-modules/nix-prefetch-github/default.nix index 71a7701c019..f73fb6dac33 100644 --- a/pkgs/development/python-modules/nix-prefetch-github/default.nix +++ b/pkgs/development/python-modules/nix-prefetch-github/default.nix @@ -9,11 +9,11 @@ buildPythonPackage rec { pname = "nix-prefetch-github"; - version = "2.3.1"; + version = "2.3.2"; src = fetchPypi { inherit pname version; - sha256 = "1jkvmj33xinff0sb47yg33n131yi93pyq86skqc78xd38j6c8q9s"; + sha256 = "18xj618zjs13ib7f996fnl0xiqig0w48yns45nvy3xab55wximdx"; }; propagatedBuildInputs = [ From b07656542939003148d3dfc1f9df5fbd1c800567 Mon Sep 17 00:00:00 2001 From: Keito Kajitani Date: Mon, 4 Nov 2019 15:21:57 +0900 Subject: [PATCH 247/391] liberation-sans-narrow: fonttools requires python3 --- pkgs/data/fonts/liberation-sans-narrow/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/fonts/liberation-sans-narrow/default.nix b/pkgs/data/fonts/liberation-sans-narrow/default.nix index 4a14e095cf0..51af6a20bae 100644 --- a/pkgs/data/fonts/liberation-sans-narrow/default.nix +++ b/pkgs/data/fonts/liberation-sans-narrow/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, fontforge, pythonPackages, python }: +{ stdenv, fetchFromGitHub, fontforge, python3Packages, python3 }: stdenv.mkDerivation rec { pname = "liberation-sans-narrow"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "1qw554jbdnqkg6pjjl4cqkgsalq3398kzvww2naw30vykcz752bm"; }; - buildInputs = [ fontforge pythonPackages.fonttools python ]; + buildInputs = [ fontforge python3Packages.fonttools python3 ]; installPhase = '' find . -name '*Narrow*.ttf' -exec install -m444 -Dt $out/share/fonts/truetype {} \; From 03f38c329f62c98c94d625a85d061cddbe130866 Mon Sep 17 00:00:00 2001 From: Johannes Schleifenbaum Date: Mon, 4 Nov 2019 09:51:09 +0100 Subject: [PATCH 248/391] dbeaver: 6.2.3 -> 6.2.4 --- pkgs/applications/misc/dbeaver/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix index 191c6a31972..1549ab00a4f 100644 --- a/pkgs/applications/misc/dbeaver/default.nix +++ b/pkgs/applications/misc/dbeaver/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { pname = "dbeaver-ce"; - version = "6.2.3"; + version = "6.2.4"; desktopItem = makeDesktopItem { name = "dbeaver"; @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz"; - sha256 = "1v4sllzvaz4fj8s14ddzw11wczlghbdppv8fl5jg6xglg687sgaj"; + sha256 = "1k3aan290kfy2b53gl8r4yxvb8jas6sms1r052m3jld3i8frqgva"; }; installPhase = '' From cdc5bcdea543406814bbf12f3efefa8358065cc7 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 19:24:55 -0700 Subject: [PATCH 249/391] rabbitmq-server: 3.8.0 -> 3.8.1 --- pkgs/servers/amqp/rabbitmq-server/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix index 12211f49698..bc83c5a8ea2 100644 --- a/pkgs/servers/amqp/rabbitmq-server/default.nix +++ b/pkgs/servers/amqp/rabbitmq-server/default.nix @@ -6,12 +6,12 @@ stdenv.mkDerivation rec { pname = "rabbitmq-server"; - version = "3.8.0"; + version = "3.8.1"; # when updating, consider bumping elixir version in all-packages.nix src = fetchurl { url = "https://github.com/rabbitmq/rabbitmq-server/releases/download/v${version}/${pname}-${version}.tar.xz"; - sha256 = "174ai8ihk50gwbqinxxxx5is6izvgmfca7skvvp4yk6fl8nbwm15"; + sha256 = "17ymzjgz3544jgf321f8f788gdxs9l252ah61nlgsglv0x8gggrh"; }; buildInputs = From e6bb21812eba789fa0818e0746a790f024d7445e Mon Sep 17 00:00:00 2001 From: Edmund Wu Date: Sun, 3 Nov 2019 21:06:04 -0500 Subject: [PATCH 250/391] vscode-extensions.ms-vscode.cpptools: 0.26.0 -> 0.26.1 --- pkgs/misc/vscode-extensions/cpptools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/misc/vscode-extensions/cpptools/default.nix b/pkgs/misc/vscode-extensions/cpptools/default.nix index 70d08aa18a0..08fee83d8ce 100644 --- a/pkgs/misc/vscode-extensions/cpptools/default.nix +++ b/pkgs/misc/vscode-extensions/cpptools/default.nix @@ -83,8 +83,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "cpptools"; publisher = "ms-vscode"; - version = "0.26.0"; - sha256 = "1njclj07amj9n187k3rbjvddkhmsc4aljdbsgjxpj58fv7zdy7kq"; + version = "0.26.1"; + sha256 = "09khm0byxa9mv8qbqrikd7akz3p816ra5z8l86xqkmbm6j1k4wpc"; }; buildInputs = [ From 21529a91d98bf3fe31ee5e14b828d9f658296bda Mon Sep 17 00:00:00 2001 From: Edmund Wu Date: Sun, 3 Nov 2019 21:06:41 -0500 Subject: [PATCH 251/391] srht: 0.54.3 -> 0.54.4 --- pkgs/applications/version-management/sourcehut/core.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/sourcehut/core.nix b/pkgs/applications/version-management/sourcehut/core.nix index a284873f003..ef9136daefa 100644 --- a/pkgs/applications/version-management/sourcehut/core.nix +++ b/pkgs/applications/version-management/sourcehut/core.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "srht"; - version = "0.54.3"; + version = "0.54.4"; src = fetchgit { url = "https://git.sr.ht/~sircmpwn/core.sr.ht"; rev = version; - sha256 = "1f4srhp5g6652anifs1vyijzi2v23l2rnfpf3x96j9r8rdap42rq"; + sha256 = "0flxvn178hqd8ljz89ddis80zfnmzgimv4506w4dg2flbwzywy7z"; }; node_modules = fetchNodeModules { From 9bc8540d86303f91163873410a6b853f803816c5 Mon Sep 17 00:00:00 2001 From: Edmund Wu Date: Sun, 3 Nov 2019 21:07:10 -0500 Subject: [PATCH 252/391] buildsrht: 0.47.9 -> 0.48.0 --- pkgs/applications/version-management/sourcehut/builds.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/sourcehut/builds.nix b/pkgs/applications/version-management/sourcehut/builds.nix index 9b6583d6cb8..76edc1b3e64 100644 --- a/pkgs/applications/version-management/sourcehut/builds.nix +++ b/pkgs/applications/version-management/sourcehut/builds.nix @@ -4,7 +4,7 @@ , srht, redis, celery, pyyaml, markdown }: let - version = "0.47.9"; + version = "0.48.0"; buildWorker = src: buildGoModule { inherit src version; @@ -20,7 +20,7 @@ in buildPythonPackage rec { src = fetchgit { url = "https://git.sr.ht/~sircmpwn/builds.sr.ht"; rev = version; - sha256 = "1zgaba58svhksxb1pzz8bym9p0pm7fnxsj5k6jz86095xmfijp34"; + sha256 = "1z5bxsn67cqffixqsrnska86mw0a6494650wbi6dbp10z03870bs"; }; patches = [ From 257f5d6303aaf2cdbe8298d745c576b0d827b106 Mon Sep 17 00:00:00 2001 From: Edmund Wu Date: Sun, 3 Nov 2019 21:07:15 -0500 Subject: [PATCH 253/391] dispatchsrht: 0.11.1 -> 0.12.3 --- pkgs/applications/version-management/sourcehut/dispatch.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/sourcehut/dispatch.nix b/pkgs/applications/version-management/sourcehut/dispatch.nix index 7172cdab402..a61f35b9ee1 100644 --- a/pkgs/applications/version-management/sourcehut/dispatch.nix +++ b/pkgs/applications/version-management/sourcehut/dispatch.nix @@ -4,12 +4,12 @@ buildPythonPackage rec { pname = "dispatchsrht"; - version = "0.11.1"; + version = "0.12.3"; src = fetchgit { url = "https://git.sr.ht/~sircmpwn/dispatch.sr.ht"; rev = version; - sha256 = "1bi7vn0yr326mf2c63f2fahdlrx2c6a8d6p6bzy2ym2835qfcc0v"; + sha256 = "0lpc8jpyz1rg3g98546wlhr27b15g32lds77hl42aixv5f5b8lc9"; }; patches = [ From 7967cb05adc8ffc2589f7169a5db266255cd16d5 Mon Sep 17 00:00:00 2001 From: Edmund Wu Date: Sun, 3 Nov 2019 21:07:22 -0500 Subject: [PATCH 254/391] gitsrht: 0.34.2 -> 0.35.6 --- pkgs/applications/version-management/sourcehut/git.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/sourcehut/git.nix b/pkgs/applications/version-management/sourcehut/git.nix index 9b0b5e2c8e4..39302057b1d 100644 --- a/pkgs/applications/version-management/sourcehut/git.nix +++ b/pkgs/applications/version-management/sourcehut/git.nix @@ -4,7 +4,7 @@ , srht, pygit2, scmsrht }: let - version = "0.34.2"; + version = "0.35.6"; buildDispatcher = src: buildGoModule { inherit src version; @@ -20,7 +20,7 @@ in buildPythonPackage rec { src = fetchgit { url = "https://git.sr.ht/~sircmpwn/git.sr.ht"; rev = version; - sha256 = "1z10r2d9x71n1n36g55j4cswh0dqnzmgj2qiy1h92wwgq8azpiyy"; + sha256 = "0j8caqbzdqkgc1bdhzz4k5hgh8lhsghfgwf46d19ryf83d8ggxqc"; }; patches = [ From 2269781690f5eed29a513ce6686766e100f5d892 Mon Sep 17 00:00:00 2001 From: Edmund Wu Date: Sun, 3 Nov 2019 21:07:28 -0500 Subject: [PATCH 255/391] hgsrht: 0.16.0 -> 0.16.2 --- pkgs/applications/version-management/sourcehut/hg.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/sourcehut/hg.nix b/pkgs/applications/version-management/sourcehut/hg.nix index dc9ced49cea..fd5c3145db0 100644 --- a/pkgs/applications/version-management/sourcehut/hg.nix +++ b/pkgs/applications/version-management/sourcehut/hg.nix @@ -4,12 +4,12 @@ buildPythonPackage rec { pname = "hgsrht"; - version = "0.16.0"; + version = "0.16.2"; src = fetchhg { url = "https://hg.sr.ht/~sircmpwn/hg.sr.ht"; rev = version; - sha256 = "0ncrj1cbls9ix2ig3qqwbzs6q6cmpqy3zs21p9fw3idfw703j3g0"; + sha256 = "02bzy31zplnlqg8rcls5n65q1h920lhy6f51w89w1kskdw7r2mhy"; }; patches = [ From eb9b2ac6a0caa52f76efe2e2bf38bb922895d12f Mon Sep 17 00:00:00 2001 From: Edmund Wu Date: Sun, 3 Nov 2019 21:07:48 -0500 Subject: [PATCH 256/391] metasrht: 0.35.3 -> 0.37.0 --- pkgs/applications/version-management/sourcehut/meta.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/sourcehut/meta.nix b/pkgs/applications/version-management/sourcehut/meta.nix index bac369088a6..a5458b0b864 100644 --- a/pkgs/applications/version-management/sourcehut/meta.nix +++ b/pkgs/applications/version-management/sourcehut/meta.nix @@ -5,12 +5,12 @@ buildPythonPackage rec { pname = "metasrht"; - version = "0.35.3"; + version = "0.37.0"; src = fetchgit { url = "https://git.sr.ht/~sircmpwn/meta.sr.ht"; rev = version; - sha256 = "1kcmlmdk9v59fr3r0g2q2gfkb735xza0wni9s942wh418dr66x2f"; + sha256 = "1jf3h2v27cbam8bwiw3x35319pzp0r651p8mfhw150jvskyvmkmr"; }; nativeBuildInputs = srht.nativeBuildInputs; From 0d487aef711ad30ead0e563d18d18d6718cd2e5d Mon Sep 17 00:00:00 2001 From: Edmund Wu Date: Sun, 3 Nov 2019 21:08:04 -0500 Subject: [PATCH 257/391] pastesrht: 0.7.1 -> 0.7.3 --- pkgs/applications/version-management/sourcehut/paste.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/sourcehut/paste.nix b/pkgs/applications/version-management/sourcehut/paste.nix index 4a86285f50d..4e397c649f9 100644 --- a/pkgs/applications/version-management/sourcehut/paste.nix +++ b/pkgs/applications/version-management/sourcehut/paste.nix @@ -4,12 +4,12 @@ buildPythonPackage rec { pname = "pastesrht"; - version = "0.7.1"; + version = "0.7.3"; src = fetchgit { url = "https://git.sr.ht/~sircmpwn/paste.sr.ht"; rev = version; - sha256 = "19y9ghhi4llyg7kd3a888gbjc698vdamin4hb8dk1j6pd2f0qmjp"; + sha256 = "15689gk37djcwdjb636d97k0il2zpdpksb95l9l4d43wipd7x5qi"; }; patches = [ From 09570b1b0c2c382a21f226abf1f22790651e6a23 Mon Sep 17 00:00:00 2001 From: Edmund Wu Date: Sun, 3 Nov 2019 21:08:12 -0500 Subject: [PATCH 258/391] todosrht: 0.51.11 -> 0.51.13 --- pkgs/applications/version-management/sourcehut/todo.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/sourcehut/todo.nix b/pkgs/applications/version-management/sourcehut/todo.nix index aaee9b54477..a7703bd0729 100644 --- a/pkgs/applications/version-management/sourcehut/todo.nix +++ b/pkgs/applications/version-management/sourcehut/todo.nix @@ -5,12 +5,12 @@ buildPythonPackage rec { pname = "todosrht"; - version = "0.51.11"; + version = "0.51.13"; src = fetchgit { url = "https://git.sr.ht/~sircmpwn/todo.sr.ht"; rev = version; - sha256 = "0x4aray1dappalmn2f4wqrhpa5k1idccnafbfhsnfi6nj718i33a"; + sha256 = "19gywq5j7wlpk7j2whm2ivz0z0i3j50n7k7bx29pghndl7l43c18"; }; patches = [ From 78bbf841ea7f23023e41f8b36b161f7756d96860 Mon Sep 17 00:00:00 2001 From: Edmund Wu Date: Sun, 3 Nov 2019 21:08:19 -0500 Subject: [PATCH 259/391] scmsrht: 0.15.3 -> 0.16.0 --- pkgs/applications/version-management/sourcehut/scm.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/sourcehut/scm.nix b/pkgs/applications/version-management/sourcehut/scm.nix index baccfb1b94b..c5209cee46b 100644 --- a/pkgs/applications/version-management/sourcehut/scm.nix +++ b/pkgs/applications/version-management/sourcehut/scm.nix @@ -4,12 +4,12 @@ buildPythonPackage rec { pname = "scmsrht"; - version = "0.15.3"; + version = "0.16.0"; src = fetchgit { url = "https://git.sr.ht/~sircmpwn/scm.sr.ht"; rev = version; - sha256 = "1rzm3r280211w51sjngm5a3pdlzg07c64324k99bqs1fkc2yrfy6"; + sha256 = "0jny8ihn49n7bpw5nhdrfha78yzpxp277l50y1lj142r59kwmh22"; }; nativeBuildInputs = srht.nativeBuildInputs; From 9e78d12878d3757410bfd3c9d27cadfbd3192543 Mon Sep 17 00:00:00 2001 From: Edmund Wu Date: Sun, 3 Nov 2019 21:09:23 -0500 Subject: [PATCH 260/391] pythonPackages.sqlalchemy-utils: 0.34.2 -> 0.35.0 --- pkgs/development/python-modules/sqlalchemy-utils/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/sqlalchemy-utils/default.nix b/pkgs/development/python-modules/sqlalchemy-utils/default.nix index ef30b6917a3..3db00057c90 100644 --- a/pkgs/development/python-modules/sqlalchemy-utils/default.nix +++ b/pkgs/development/python-modules/sqlalchemy-utils/default.nix @@ -5,12 +5,12 @@ buildPythonPackage rec { pname = "sqlalchemy-utils"; - version = "0.34.2"; + version = "0.35.0"; src = fetchPypi { inherit version; pname = "SQLAlchemy-Utils"; - sha256 = "126c9p8rnnb043w57ah7idqfryczbz4vi9lzsz2cgiaig6fv52b6"; + sha256 = "0phsdcnm21qvxd00zmjd6yxbm1s0i7b1q8zrgfy8cqv9xpmz1w01"; }; propagatedBuildInputs = [ From 9051e284cebd3d1dce2506d38186ef7732a87c34 Mon Sep 17 00:00:00 2001 From: Edmund Wu Date: Sun, 3 Nov 2019 21:19:05 -0500 Subject: [PATCH 261/391] sourcehut.core: fix build --- pkgs/applications/version-management/sourcehut/core.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/version-management/sourcehut/core.nix b/pkgs/applications/version-management/sourcehut/core.nix index ef9136daefa..67486bd28f3 100644 --- a/pkgs/applications/version-management/sourcehut/core.nix +++ b/pkgs/applications/version-management/sourcehut/core.nix @@ -1,6 +1,7 @@ { stdenv, fetchgit, fetchNodeModules, buildPythonPackage , pgpy, flask, bleach, misaka, humanize, markdown, psycopg2, pygments, requests , sqlalchemy, flask_login, beautifulsoup4, sqlalchemy-utils, celery, alembic +, importlib-metadata , sassc, nodejs , writeText }: @@ -47,6 +48,7 @@ buildPythonPackage rec { # Unofficial runtime dependencies? celery alembic + importlib-metadata ]; PKGVER = version; From 8fea62011332f4171b24ca2aa501baa5cf7ad0b0 Mon Sep 17 00:00:00 2001 From: Edmund Wu Date: Sun, 3 Nov 2019 21:20:02 -0500 Subject: [PATCH 262/391] sourcehut.gitsrht: build git-srht-shell --- .../applications/version-management/sourcehut/git.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/version-management/sourcehut/git.nix b/pkgs/applications/version-management/sourcehut/git.nix index 39302057b1d..b580e89c747 100644 --- a/pkgs/applications/version-management/sourcehut/git.nix +++ b/pkgs/applications/version-management/sourcehut/git.nix @@ -6,9 +6,17 @@ let version = "0.35.6"; + buildShell = src: buildGoModule { + inherit src version; + pname = "git-srht-shell"; + goPackagePath = "git.sr.ht/~sircmpwn/git.sr.ht/gitsrht-shell"; + + modSha256 = "1v4npijqgv09ssrxf1y1b3syb2fs7smy7k9rcj3ynsfrn9xgfd9y"; + }; + buildDispatcher = src: buildGoModule { inherit src version; - pname = "git-sr-ht-dispatcher"; + pname = "git-srht-dispatcher"; goPackagePath = "git.sr.ht/~sircmpwn/git.sr.ht/gitsrht-dispatch"; modSha256 = "1lmgmlin460g09dph2hw6yz25d4agqwjhrjv0qqsis7df9qpf3i1"; @@ -42,6 +50,7 @@ in buildPythonPackage rec { postInstall = '' mkdir -p $out/bin + cp ${buildShell "${src}/gitsrht-shell"}/bin/gitsrht-shell $out/bin/gitsrht-shell cp ${buildDispatcher "${src}/gitsrht-dispatch"}/bin/gitsrht-dispatch $out/bin/gitsrht-dispatch ''; From c49707f50f095f8e1f4f66b48d34079a98dd49e8 Mon Sep 17 00:00:00 2001 From: Evan Stoll Date: Sat, 2 Nov 2019 18:27:34 -0400 Subject: [PATCH 263/391] cargo-geiger: init at 0.7.3 --- .../tools/rust/cargo-geiger/default.nix | 30 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 ++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/development/tools/rust/cargo-geiger/default.nix diff --git a/pkgs/development/tools/rust/cargo-geiger/default.nix b/pkgs/development/tools/rust/cargo-geiger/default.nix new file mode 100644 index 00000000000..7d6fc6781df --- /dev/null +++ b/pkgs/development/tools/rust/cargo-geiger/default.nix @@ -0,0 +1,30 @@ +{ stdenv, lib, fetchFromGitHub +, rustPlatform, pkgconfig +, openssl, Security }: + +rustPlatform.buildRustPackage rec { + pname = "cargo-geiger"; + version = "0.7.3"; + + src = fetchFromGitHub { + owner = "anderejd"; + repo = pname; + rev = "${pname}-${version}"; + sha256 = "1lm8dx19svdpg99zbpfcm1272n18y63sq756hf6k99zi51av17xc"; + }; + + doCheck = false; + + cargoSha256 = "16zvm2y0j7ywv6fx0piq99g8q1sayf3qipd6adrwyqyg8rbf4cw6"; + + buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ]; + nativeBuildInputs = [ pkgconfig ]; + + meta = with lib; { + description = "Detects usage of unsafe Rust in a Rust crate and its dependencies."; + homepage = https://github.com/anderejd/cargo-geiger; + license = with licenses; [ asl20 /* or */ mit ]; + maintainers = with maintainers; [ evanjs ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3d03ef6257c..1be6d168b03 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8526,6 +8526,9 @@ in cargo-bloat = callPackage ../development/tools/rust/cargo-bloat { }; cargo-expand = callPackage ../development/tools/rust/cargo-expand { }; cargo-fuzz = callPackage ../development/tools/rust/cargo-fuzz { }; + cargo-geiger = callPackage ../development/tools/rust/cargo-geiger { + inherit (darwin.apple_sdk.frameworks) Security; + }; cargo-inspect = callPackage ../development/tools/rust/cargo-inspect { inherit (darwin.apple_sdk.frameworks) Security; }; From c6705f54c9dc578231619505634b913c70092a4d Mon Sep 17 00:00:00 2001 From: Evan Stoll Date: Sun, 3 Nov 2019 19:13:08 -0500 Subject: [PATCH 264/391] cargo-geiger: run tests; skip tests that require network connectivity - Add note on how we might be able to run all tests in the future --- .../development/tools/rust/cargo-geiger/default.nix | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/rust/cargo-geiger/default.nix b/pkgs/development/tools/rust/cargo-geiger/default.nix index 7d6fc6781df..2512a9ec4f4 100644 --- a/pkgs/development/tools/rust/cargo-geiger/default.nix +++ b/pkgs/development/tools/rust/cargo-geiger/default.nix @@ -13,10 +13,19 @@ rustPlatform.buildRustPackage rec { sha256 = "1lm8dx19svdpg99zbpfcm1272n18y63sq756hf6k99zi51av17xc"; }; - doCheck = false; - cargoSha256 = "16zvm2y0j7ywv6fx0piq99g8q1sayf3qipd6adrwyqyg8rbf4cw6"; + # Multiple tests require internet connectivity, so they are disabled here. + # If we ever get cargo-insta (https://crates.io/crates/insta) in tree, + # we might be able to run these with something like + # `cargo insta review` in the `preCheck` phase. + checkPhase = '' + cargo test -- \ + --skip test_package::case_2 \ + --skip test_package::case_3 \ + --skip test_package::case_6 + ''; + buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ]; nativeBuildInputs = [ pkgconfig ]; From 062a4d4081533812592c43ddb48f6b022f2e04f5 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sat, 2 Nov 2019 16:45:18 -0700 Subject: [PATCH 265/391] paperwork`: add missing dependency --- pkgs/applications/office/paperwork/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/office/paperwork/default.nix b/pkgs/applications/office/paperwork/default.nix index df5e495f936..3506ea8b551 100644 --- a/pkgs/applications/office/paperwork/default.nix +++ b/pkgs/applications/office/paperwork/default.nix @@ -61,7 +61,7 @@ python3Packages.buildPythonApplication rec { ''; propagatedBuildInputs = with python3Packages; [ - paperwork-backend pypillowfight gtk3 cairo pyxdg dateutil setuptools + paperwork-backend pypillowfight gtk3 cairo pyxdg dateutil setuptools pandas ]; makeWrapperArgs = [ From 2d5aa988743c417c5c548854001fc2889e29e5d3 Mon Sep 17 00:00:00 2001 From: Jos van Bakel Date: Sat, 2 Nov 2019 14:11:31 +0100 Subject: [PATCH 266/391] pythonPackages.pyglet: 1.3.2 -> 1.4.2 --- pkgs/development/python-modules/pyglet/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/pyglet/default.nix b/pkgs/development/python-modules/pyglet/default.nix index e303f3415d7..1e7beddda7f 100644 --- a/pkgs/development/python-modules/pyglet/default.nix +++ b/pkgs/development/python-modules/pyglet/default.nix @@ -43,6 +43,8 @@ buildPythonPackage rec { path = '${gtk2-x11}/lib/libgdk-x11-2.0${ext}' elif name == 'gdk_pixbuf-2.0': path = '${gdk-pixbuf}/lib/libgdk_pixbuf-2.0${ext}' + elif name == 'Xext': + path = '${xorg.libXext}/lib/libXext${ext}' if path is not None: return ctypes.cdll.LoadLibrary(path) raise Exception("Could not load library {}".format(names)) From 018f66f6d8d21eeebbd4ba0bd462982dbde9dcb9 Mon Sep 17 00:00:00 2001 From: Jos van Bakel Date: Sat, 2 Nov 2019 14:12:15 +0100 Subject: [PATCH 267/391] pythonPackages.moderngl-window: init at 1.2.0 --- .../moderngl_window/default.nix | 38 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 40 insertions(+) create mode 100644 pkgs/development/python-modules/moderngl_window/default.nix diff --git a/pkgs/development/python-modules/moderngl_window/default.nix b/pkgs/development/python-modules/moderngl_window/default.nix new file mode 100644 index 00000000000..a3c93978ff6 --- /dev/null +++ b/pkgs/development/python-modules/moderngl_window/default.nix @@ -0,0 +1,38 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, isPy3k +, numpy +, moderngl +, pyglet +, pillow +, pyrr +, pytest +}: + +buildPythonPackage rec { + pname = "moderngl_window"; + version = "1.2.0"; + + src = fetchFromGitHub { + owner = "moderngl"; + repo = pname; + rev = version; + sha256 = "054w77lyc2nc0dyx76zsrbq2b3xbywdijhb62b2qqm99ldr1k1x5"; + }; + + propagatedBuildInputs = [ numpy moderngl pyglet pillow pyrr ]; + + disabled = !isPy3k; + + # Tests need a display to run. + doCheck = false; + + meta = with lib; { + homepage = "https://github.com/moderngl/moderngl_window"; + description = "Cross platform helper library for ModernGL making window creation and resource loading simple"; + license = licenses.mit; + platforms = platforms.linux; # should be mesaPlatforms, darwin build breaks. + maintainers = with maintainers; [ c0deaddict ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8fbe53f7904..6691d49137b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3893,6 +3893,8 @@ in { moderngl = callPackage ../development/python-modules/moderngl { }; + moderngl-window = callPackage ../development/python-modules/moderngl_window { }; + modestmaps = callPackage ../development/python-modules/modestmaps { }; # Needed here because moinmoin is loaded as a Python library. From e764c16083062658123d05a7c477ead616a71da0 Mon Sep 17 00:00:00 2001 From: scalavisison Date: Fri, 11 Oct 2019 23:08:15 +0200 Subject: [PATCH 268/391] pythonPackages.py2bit: init at 0.3.0 --- .../python-modules/py2bit/default.nix | 27 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/development/python-modules/py2bit/default.nix diff --git a/pkgs/development/python-modules/py2bit/default.nix b/pkgs/development/python-modules/py2bit/default.nix new file mode 100644 index 00000000000..7699ccab3a2 --- /dev/null +++ b/pkgs/development/python-modules/py2bit/default.nix @@ -0,0 +1,27 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pytest +}: + +buildPythonPackage rec { + pname = "py2bit"; + version = "0.3.0"; + + checkInput = [ pytest ]; + + src = fetchPypi { + inherit pname version; + sha256 = "1vw2nvw1yrl7ikkqsqs1pg239yr5nspvd969r1x9arms1k25a1a5"; + }; + + meta = with lib; { + homepage = "https://github.com/deeptools/py2bit"; + description = "File access to 2bit files"; + longDescription = '' + A python extension, written in C, for quick access to 2bit files. The extension uses lib2bit for file access. + ''; + license = licenses.mit; + maintainers = with maintainers; [ scalavision ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6691d49137b..3876b7b48c9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4447,6 +4447,8 @@ in { pybfd = callPackage ../development/python-modules/pybfd { }; + py2bit = callPackage ../development/python-modules/py2bit { }; + pyblock = callPackage ../development/python-modules/pyblock { }; pyblosxom = callPackage ../development/python-modules/pyblosxom { }; From 1994ed8c7ee6cac8d2039945701725d95e59c16d Mon Sep 17 00:00:00 2001 From: scalavision Date: Thu, 31 Oct 2019 19:24:22 +0100 Subject: [PATCH 269/391] pythonPackages.pybigwig: init at 0.3.17 --- .../python-modules/pybigwig/default.nix | 33 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/development/python-modules/pybigwig/default.nix diff --git a/pkgs/development/python-modules/pybigwig/default.nix b/pkgs/development/python-modules/pybigwig/default.nix new file mode 100644 index 00000000000..be54a38cd99 --- /dev/null +++ b/pkgs/development/python-modules/pybigwig/default.nix @@ -0,0 +1,33 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pytest +, numpy +, zlib +}: + +buildPythonPackage rec { + pname = "pyBigWig"; + version = "0.3.17"; + + src = fetchPypi { + inherit pname version; + sha256 = "157x6v48y299zm382krf1dw08fdxg95im8lnabhp5vc94s04zxj1"; + }; + + buildInputs = [ zlib ]; + + checkInputs = [ numpy pytest ]; + + meta = with lib; { + homepage = "https://github.com/deeptools/pyBigWig"; + description = "File access to bigBed files, and read and write access to bigWig files"; + longDescription = '' + A python extension, written in C, for quick access to bigBed files + and access to and creation of bigWig files. This extension uses + libBigWig for local and remote file access. + ''; + license = licenses.mit; + maintainers = with maintainers; [ scalavision ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3876b7b48c9..ea114f2dd65 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4447,6 +4447,8 @@ in { pybfd = callPackage ../development/python-modules/pybfd { }; + pybigwig = callPackage ../development/python-modules/pybigwig { }; + py2bit = callPackage ../development/python-modules/py2bit { }; pyblock = callPackage ../development/python-modules/pyblock { }; From f3799926800dcb7f53f738e98cffafde6da3a2d9 Mon Sep 17 00:00:00 2001 From: scalavision Date: Thu, 31 Oct 2019 19:27:48 +0100 Subject: [PATCH 270/391] pythonPackages.deeptoolsIntervals: init at 0.1.9 --- .../deeptoolsintervals/default.nix | 28 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 30 insertions(+) create mode 100644 pkgs/development/python-modules/deeptoolsintervals/default.nix diff --git a/pkgs/development/python-modules/deeptoolsintervals/default.nix b/pkgs/development/python-modules/deeptoolsintervals/default.nix new file mode 100644 index 00000000000..eef8d51ae91 --- /dev/null +++ b/pkgs/development/python-modules/deeptoolsintervals/default.nix @@ -0,0 +1,28 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pytest +, zlib +, lzma +}: + +buildPythonPackage rec { + pname = "deeptoolsintervals"; + version = "0.1.9"; + + src = fetchPypi { + inherit pname version; + sha256 = "1xnl80nblysj6dylj4683wgrfa425rkx4dp5k65hvwdns9pw753x"; + }; + + buildInputs = [ zlib lzma ]; + + checkInputs = [ pytest ]; + + meta = with lib; { + homepage = "https://deeptools.readthedocs.io/en/develop"; + description = "Helper library for deeptools"; + license = licenses.mit; + maintainers = with maintainers; [ scalavision ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ea114f2dd65..c4151922d62 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -521,6 +521,8 @@ in { deap = callPackage ../development/python-modules/deap { }; + deeptoolsintervals = callPackage ../development/python-modules/deeptoolsintervals { }; + dkimpy = callPackage ../development/python-modules/dkimpy { }; dictionaries = callPackage ../development/python-modules/dictionaries { }; From d9b40f6397de11c3d59001fa9a5cec226ee408c1 Mon Sep 17 00:00:00 2001 From: scalavision Date: Thu, 31 Oct 2019 19:34:05 +0100 Subject: [PATCH 271/391] deeptools: init at 3.3.1 --- .../science/biology/deeptools/default.nix | 42 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 44 insertions(+) create mode 100644 pkgs/applications/science/biology/deeptools/default.nix diff --git a/pkgs/applications/science/biology/deeptools/default.nix b/pkgs/applications/science/biology/deeptools/default.nix new file mode 100644 index 00000000000..78a6f483337 --- /dev/null +++ b/pkgs/applications/science/biology/deeptools/default.nix @@ -0,0 +1,42 @@ +{ lib +, python +}: +with python.pkgs; +buildPythonApplication rec { + pname = "deepTools"; + version = "3.3.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "08p36p9ncj5s8qf1r7h83x4rnmi63l3yk6mnr3wgpg2qgvwl0hji"; + }; + + propagatedBuildInputs = [ + numpy + numpydoc + scipy + py2bit + pybigwig + pysam + matplotlib + plotly + deeptoolsintervals + ]; + + checkInputs = [ pytest ]; + + meta = with lib; { + homepage = "https://deeptools.readthedocs.io/en/develop"; + description = "Tools for exploring deep DNA sequencing data"; + longDescription = '' + deepTools contains useful modules to process the mapped reads data for multiple + quality checks, creating normalized coverage files in standard bedGraph and bigWig + file formats, that allow comparison between different files (for example, treatment and control). + Finally, using such normalized and standardized files, deepTools can create many + publication-ready visualizations to identify enrichments and for functional + annotations of the genome. + ''; + license = licenses.gpl3; + maintainers = with maintainers; [ scalavision ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1be6d168b03..6e8fe9ac305 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23286,6 +23286,8 @@ in dcm2niix = callPackage ../applications/science/biology/dcm2niix { }; + deeptools = callPackage ../applications/science/biology/deeptools { python = python3; }; + delly = callPackage ../applications/science/biology/delly { }; diamond = callPackage ../applications/science/biology/diamond { }; From e834edcbddaabe967f51abd4fe1fea0ba1e569ab Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 3 Nov 2019 02:37:52 -0800 Subject: [PATCH 272/391] zsh-history-substring-search: 1.0.1 -> 1.0.2 --- pkgs/shells/zsh/zsh-history-substring-search/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/shells/zsh/zsh-history-substring-search/default.nix b/pkgs/shells/zsh/zsh-history-substring-search/default.nix index b7521654667..fcd294f4dce 100644 --- a/pkgs/shells/zsh/zsh-history-substring-search/default.nix +++ b/pkgs/shells/zsh/zsh-history-substring-search/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "zsh-history-substring-search"; - version = "1.0.1"; + version = "1.0.2"; src = fetchFromGitHub { owner = "zsh-users"; repo = "zsh-history-substring-search"; rev = "v${version}"; - sha256 = "0lgmq1xcccnz5cf7vl0r0qj351hwclx9p80cl0qczxry4r2g5qaz"; + sha256 = "0y8va5kc2ram38hbk2cibkk64ffrabfv1sh4xm7pjspsba9n5p1y"; }; installPhase = '' From 59c5bfc86b75247cb48539eeaaea2a3c5f320b1d Mon Sep 17 00:00:00 2001 From: Chuck Date: Thu, 5 Sep 2019 17:29:01 -0700 Subject: [PATCH 273/391] nixos/nixos-option: Rewrite in a more suitable language Also add --all, which shows the value of all options. Diffing the --all output on either side of contemplated changes is a lovely way to better understand what's going on inside nixos. --- nixos/doc/manual/man-nixos-option.xml | 21 +- nixos/modules/installer/tools/nixos-option.sh | 327 ---------- .../tools/nixos-option/CMakeLists.txt | 8 + .../installer/tools/nixos-option/default.nix | 8 + .../tools/nixos-option/libnix-copy-paste.cc | 81 +++ .../tools/nixos-option/libnix-copy-paste.hh | 9 + .../tools/nixos-option/nixos-option.cc | 585 ++++++++++++++++++ nixos/modules/installer/tools/tools.nix | 5 +- 8 files changed, 695 insertions(+), 349 deletions(-) delete mode 100644 nixos/modules/installer/tools/nixos-option.sh create mode 100644 nixos/modules/installer/tools/nixos-option/CMakeLists.txt create mode 100644 nixos/modules/installer/tools/nixos-option/default.nix create mode 100644 nixos/modules/installer/tools/nixos-option/libnix-copy-paste.cc create mode 100644 nixos/modules/installer/tools/nixos-option/libnix-copy-paste.hh create mode 100644 nixos/modules/installer/tools/nixos-option/nixos-option.cc diff --git a/nixos/doc/manual/man-nixos-option.xml b/nixos/doc/manual/man-nixos-option.xml index 81e3739b3be..beabf020c92 100644 --- a/nixos/doc/manual/man-nixos-option.xml +++ b/nixos/doc/manual/man-nixos-option.xml @@ -19,14 +19,10 @@ - + - - - - option.name @@ -62,22 +58,11 @@ - + - This option enables verbose mode, which currently is just the Bash - set debug mode. - - - - - - - - - - This option causes the output to be rendered as XML. + Print the values of all options. diff --git a/nixos/modules/installer/tools/nixos-option.sh b/nixos/modules/installer/tools/nixos-option.sh deleted file mode 100644 index 4560e9c7403..00000000000 --- a/nixos/modules/installer/tools/nixos-option.sh +++ /dev/null @@ -1,327 +0,0 @@ -#! @shell@ -e - -# FIXME: rewrite this in a more suitable language. - -usage () { - exec man nixos-option - exit 1 -} - -##################### -# Process Arguments # -##################### - -xml=false -verbose=false -nixPath="" - -option="" -exit_code=0 - -argfun="" -for arg; do - if test -z "$argfun"; then - case $arg in - -*) - sarg="$arg" - longarg="" - while test "$sarg" != "-"; do - case $sarg in - --*) longarg=$arg; sarg="--";; - -I) argfun="include_nixpath";; - -*) usage;; - esac - # remove the first letter option - sarg="-${sarg#??}" - done - ;; - *) longarg=$arg;; - esac - for larg in $longarg; do - case $larg in - --xml) xml=true;; - --verbose) verbose=true;; - --help) usage;; - -*) usage;; - *) if test -z "$option"; then - option="$larg" - else - usage - fi;; - esac - done - else - case $argfun in - set_*) - var=$(echo $argfun | sed 's,^set_,,') - eval $var=$arg - ;; - include_nixpath) - nixPath="-I $arg $nixPath" - ;; - esac - argfun="" - fi -done - -if $verbose; then - set -x -else - set +x -fi - -############################# -# Process the configuration # -############################# - -evalNix(){ - # disable `-e` flag, it's possible that the evaluation of `nix-instantiate` fails (e.g. due to broken pkgs) - set +e - result=$(nix-instantiate ${nixPath:+$nixPath} - --eval-only "$@" 2>&1) - exit_code=$? - set -e - - if test $exit_code -eq 0; then - sed '/^warning: Nix search path/d' <&2 <" - else if strict then - if isAttrs x then mapAttrs (n: cleanOutput) x - else if isList x then map cleanOutput x - else x - else x; -in - cleanOutput value -EOF -} - -evalOpt(){ - evalAttr "option" "" "$@" -} - -evalCfg(){ - local strict="$1" - evalAttr "config" "$strict" -} - -findSources(){ - local suffix=$1 - evalNix --strict <,0,g; :inner; s/{[^\{\}]*};/0;/g; t inner;' | \ - evalNix --strict -} - -# map a simple list which contains strings or paths. -nixMap() { - local fun="$1" - local list="$2" - local elem - for elem in $list; do - test $elem = '[' -o $elem = ']' && continue; - $fun $elem - done -} - -# This duplicates the work made below, but it is useful for processing -# the output of nixos-option with other tools such as nixos-gui. -if $xml; then - evalNix --xml --no-location < /dev/null)" = '"option"'; then - echo "Value:" - evalCfg 1 - - echo - - echo "Default:" - if default=$(evalOpt "default" - 2> /dev/null); then - echo "$default" - else - echo "" - fi - echo - if example=$(evalOpt "example" - 2> /dev/null); then - echo "Example:" - echo "$example" - echo - fi - echo "Description:" - echo - echo $(evalOpt "description") - - echo $desc; - - printPath () { echo " $1"; } - - echo "Declared by:" - nixMap printPath "$(findSources "declarations")" - echo - echo "Defined by:" - nixMap printPath "$(findSources "files")" - echo - -else - # echo 1>&2 "Warning: This value is not an option." - - result=$(evalCfg "") - if [ ! -z "$result" ]; then - names=$(attrNames "$result" 2> /dev/null) - echo 1>&2 "This attribute set contains:" - escapeQuotes () { eval echo "$1"; } - nixMap escapeQuotes "$names" - else - echo 1>&2 "An error occurred while looking for attribute names. Are you sure that '$option' exists?" - fi -fi - -exit $exit_code diff --git a/nixos/modules/installer/tools/nixos-option/CMakeLists.txt b/nixos/modules/installer/tools/nixos-option/CMakeLists.txt new file mode 100644 index 00000000000..e5834598c4f --- /dev/null +++ b/nixos/modules/installer/tools/nixos-option/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required (VERSION 2.6) +project (nixos-option) + +add_executable(nixos-option nixos-option.cc libnix-copy-paste.cc) +target_link_libraries(nixos-option PRIVATE -lnixmain -lnixexpr -lnixstore -lnixutil) +target_compile_features(nixos-option PRIVATE cxx_std_17) + +install (TARGETS nixos-option DESTINATION bin) diff --git a/nixos/modules/installer/tools/nixos-option/default.nix b/nixos/modules/installer/tools/nixos-option/default.nix new file mode 100644 index 00000000000..6464a91052c --- /dev/null +++ b/nixos/modules/installer/tools/nixos-option/default.nix @@ -0,0 +1,8 @@ +{stdenv, boost, cmake, pkgconfig, nix, ... }: +stdenv.mkDerivation rec { + name = "nixos-option"; + src = ./.; + nativeBuildInputs = [ cmake pkgconfig ]; + buildInputs = [ boost nix ]; + enableParallelBuilding = true; +} diff --git a/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.cc b/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.cc new file mode 100644 index 00000000000..81de5ff8523 --- /dev/null +++ b/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.cc @@ -0,0 +1,81 @@ +// These are useful methods inside the nix library that ought to be exported. +// Since they are not, copy/paste them here. +// TODO: Delete these and use the ones in the library as they become available. + +#include // for nix/globals.hh's reference to SYSTEM + +#include "libnix-copy-paste.hh" +#include // for basic_altstringbuf... +#include // for basic_altstringbuf... +#include // for basic_format +#include // for format +#include // for basic_format::basi... +#include // for get_pointer +#include // for operator<<, basic_... +#include // for Strings, Error +#include // for string, basic_string + +using boost::format; +using nix::Error; +using nix::Strings; +using std::string; + +// From nix/src/libexpr/attr-path.cc +Strings parseAttrPath(const string &s) { + Strings res; + string cur; + string::const_iterator i = s.begin(); + while (i != s.end()) { + if (*i == '.') { + res.push_back(cur); + cur.clear(); + } else if (*i == '"') { + ++i; + while (1) { + if (i == s.end()) + throw Error(format("missing closing quote in selection path '%1%'") % + s); + if (*i == '"') + break; + cur.push_back(*i++); + } + } else + cur.push_back(*i); + ++i; + } + if (!cur.empty()) + res.push_back(cur); + return res; +} + +// From nix/src/nix/repl.cc +bool isVarName(const string &s) { + if (s.size() == 0) + return false; + char c = s[0]; + if ((c >= '0' && c <= '9') || c == '-' || c == '\'') + return false; + for (auto &i : s) + if (!((i >= 'a' && i <= 'z') || (i >= 'A' && i <= 'Z') || + (i >= '0' && i <= '9') || i == '_' || i == '-' || i == '\'')) + return false; + return true; +} + +// From nix/src/nix/repl.cc +std::ostream &printStringValue(std::ostream &str, const char *string) { + str << "\""; + for (const char *i = string; *i; i++) + if (*i == '\"' || *i == '\\') + str << "\\" << *i; + else if (*i == '\n') + str << "\\n"; + else if (*i == '\r') + str << "\\r"; + else if (*i == '\t') + str << "\\t"; + else + str << *i; + str << "\""; + return str; +} diff --git a/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.hh b/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.hh new file mode 100644 index 00000000000..225e8b1b87e --- /dev/null +++ b/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.hh @@ -0,0 +1,9 @@ +#pragma once + +#include +#include +#include + +nix::Strings parseAttrPath(const std::string &s); +bool isVarName(const std::string &s); +std::ostream &printStringValue(std::ostream &str, const char *string); diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc new file mode 100644 index 00000000000..c778596d615 --- /dev/null +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -0,0 +1,585 @@ +#include // for nix/globals.hh's reference to SYSTEM + +#include // for sort +#include // for function +#include // for operator<<, basic_ostream, ostrin... +#include // for next +#include // for _List_iterator +#include // for allocator, unique_ptr, make_unique +#include // for argvToStrings, UsageError +#include // for findAlongAttrPath +#include // for Attr, Bindings, Bindings::iterator +#include // for MixEvalArgs +#include // for EvalState::forceValue +#include // for EvalState, initGC, operator<< +#include // for initPlugins, Settings, settings +#include // for Pos +#include // for getArg, LegacyArgs, printVersion +#include // for openStore +#include // for Symbol, SymbolTable +#include // for Error, Path, Strings, PathSet +#include // for absPath, baseNameOf +#include // for Value, Value::(anonymous), Value:... +#include // for string, operator+, operator== +#include // for move +#include // for get, holds_alternative, variant +#include // for vector<>::iterator, vector + +#include "libnix-copy-paste.hh" + +using nix::absPath; +using nix::Bindings; +using nix::Error; +using nix::EvalState; +using nix::Path; +using nix::PathSet; +using nix::Strings; +using nix::Symbol; +using nix::tAttrs; +using nix::tLambda; +using nix::tString; +using nix::UsageError; +using nix::Value; + +// An ostream wrapper to handle nested indentation +class Out { +public: + class Separator {}; + const static Separator sep; + enum LinePolicy { ONE_LINE, MULTI_LINE }; + explicit Out(std::ostream &ostream) + : ostream(ostream), policy(ONE_LINE), write_since_sep(true) {} + Out(Out &o, std::string const &start, std::string const &end, + LinePolicy policy); + Out(Out &o, std::string const &start, std::string const &end, int count) + : Out(o, start, end, count < 2 ? ONE_LINE : MULTI_LINE) {} + Out(Out const &) = delete; + Out(Out &&) = default; + Out &operator=(Out const &) = delete; + Out &operator=(Out &&) = delete; + ~Out() { ostream << end; } + +private: + std::ostream &ostream; + std::string indentation; + std::string end; + LinePolicy policy; + bool write_since_sep; + template friend Out &operator<<(Out &o, T thing); +}; + +template Out &operator<<(Out &o, T thing) { + if (!o.write_since_sep && o.policy == Out::MULTI_LINE) { + o.ostream << o.indentation; + } + o.write_since_sep = true; + o.ostream << thing; + return o; +} + +template <> +Out &operator<<(Out &o, Out::Separator /* thing */) { + o.ostream << (o.policy == Out::ONE_LINE ? " " : "\n"); + o.write_since_sep = false; + return o; +} + +Out::Out(Out &o, std::string const &start, std::string const &end, + LinePolicy policy) + : ostream(o.ostream), + indentation(policy == ONE_LINE ? o.indentation : o.indentation + " "), + end(policy == ONE_LINE ? end : o.indentation + end), policy(policy), + write_since_sep(true) { + o << start; + *this << Out::sep; +} + +// Stuff needed for evaluation +struct Context { + Context(EvalState *state, Bindings *autoArgs, Value options_root, + Value config_root) + : state(state), autoArgs(autoArgs), options_root(options_root), + config_root(config_root), + underscore_type(state->symbols.create("_type")) {} + EvalState *state; + Bindings *autoArgs; + Value options_root; + Value config_root; + Symbol underscore_type; +}; + +Value evaluateValue(Context *ctx, Value *v) { + ctx->state->forceValue(*v); + if (ctx->autoArgs->empty()) { + return *v; + } + Value called{}; + ctx->state->autoCallFunction(*ctx->autoArgs, *v, called); + return called; +} + +bool isOption(Context *ctx, Value const &v) { + if (v.type != tAttrs) { + return false; + } + auto const &actual_type = v.attrs->find(ctx->underscore_type); + if (actual_type == v.attrs->end()) { + return false; + } + try { + Value evaluated_type = evaluateValue(ctx, actual_type->value); + if (evaluated_type.type != tString) { + return false; + } + return evaluated_type.string.s == static_cast("option"); + } catch (Error &) { + return false; + } +} + +// Add quotes to a component of a path. +// These are needed for paths like: +// fileSystems."/".fsType +// systemd.units."dbus.service".text +std::string quoteAttribute(std::string const &attribute) { + if (isVarName(attribute)) { + return attribute; + } + std::ostringstream buf; + printStringValue(buf, attribute.c_str()); + return buf.str(); +} + +std::string const appendPath(std::string const &prefix, + std::string const &suffix) { + if (prefix.empty()) { + return quoteAttribute(suffix); + } + return prefix + "." + quoteAttribute(suffix); +} + +bool forbiddenRecursionName(std::string name) { + return (!name.empty() && name[0] == '_') || name == "haskellPackages"; +} + +void recurse(const std::function)> &f, + Context *ctx, Value v, std::string const &path) { + std::variant evaluated; + try { + evaluated = evaluateValue(ctx, &v); + } catch (Error &e) { + evaluated = e; + } + if (!f(path, evaluated)) { + return; + } + if (std::holds_alternative(evaluated)) { + return; + } + Value const &evaluated_value = std::get(evaluated); + if (evaluated_value.type != tAttrs) { + return; + } + for (auto const &child : evaluated_value.attrs->lexicographicOrder()) { + if (forbiddenRecursionName(child->name)) { + continue; + } + recurse(f, ctx, *child->value, appendPath(path, child->name)); + } +} + +// Calls f on all the option names +void mapOptions(const std::function &f, + Context *ctx, Value root) { + recurse( + [f, ctx](std::string const &path, std::variant v) { + bool isOpt = std::holds_alternative(v) || + isOption(ctx, std::get(v)); + if (isOpt) { + f(path); + } + return !isOpt; + }, + ctx, root, ""); +} + +// Calls f on all the config values inside one option. +// Simple options have one config value inside, like sound.enable = true. +// Compound options have multiple config values. For example, the option +// "users.users" has about 1000 config values inside it: +// users.users.avahi.createHome = false; +// users.users.avahi.cryptHomeLuks = null; +// users.users.avahi.description = "`avahi-daemon' privilege separation user"; +// ... +// users.users.avahi.openssh.authorizedKeys.keyFiles = [ ]; +// users.users.avahi.openssh.authorizedKeys.keys = [ ]; +// ... +// users.users.avahi.uid = 10; +// users.users.avahi.useDefaultShell = false; +// users.users.cups.createHome = false; +// ... +// users.users.cups.useDefaultShell = false; +// users.users.gdm = ... ... ... +// users.users.messagebus = ... .. ... +// users.users.nixbld1 = ... .. ... +// ... +// users.users.systemd-timesync = ... .. ... +void mapConfigValuesInOption( + const std::function v)> &f, + std::string const &path, Context *ctx) { + Value *option; + try { + option = + findAlongAttrPath(*ctx->state, path, *ctx->autoArgs, ctx->config_root); + } catch (Error &e) { + f(path, e); + return; + } + recurse( + [f, ctx](std::string const &path, std::variant v) { + bool leaf = std::holds_alternative(v) || + std::get(v).type != tAttrs || + ctx->state->isDerivation(std::get(v)); + if (!leaf) { + return true; // Keep digging + } + f(path, v); + return false; + }, + ctx, *option, path); +} + +std::string describeError(Error const &e) { return "«error: " + e.msg() + "»"; } + +void describeDerivation(Context *ctx, Out &out, Value v) { + // Copy-pasted from nix/src/nix/repl.cc :( + Bindings::iterator i = v.attrs->find(ctx->state->sDrvPath); + PathSet pathset; + try { + Path drvPath = i != v.attrs->end() + ? ctx->state->coerceToPath(*i->pos, *i->value, pathset) + : "???"; + out << "«derivation " << drvPath << "»"; + } catch (Error &e) { + out << describeError(e); + } +} + +Value parseAndEval(EvalState *state, std::string const &expression, + std::string const &path) { + Value v{}; + state->eval(state->parseExprFromString(expression, absPath(path)), v); + return v; +} + +void printValue(Context *ctx, Out &out, std::variant maybe_value, + std::string const &path); + +void printUnsortedList(Context *ctx, Out &out, Value &v) { + Out list_out(out, "[", "]", v.listSize()); + for (unsigned int n = 0; n < v.listSize(); ++n) { + printValue(ctx, list_out, *v.listElems()[n], ""); + list_out << Out::sep; + } +} + +void printSortedList(Context *ctx, Out &out, Value &v) { + std::vector results; + for (unsigned int n = 0; n < v.listSize(); ++n) { + std::ostringstream buf; + Out buf_out(buf); + printValue(ctx, buf_out, *v.listElems()[n], ""); + results.push_back(buf.str()); + } + std::sort(results.begin(), results.end()); + Out list_out(out, "[", "]", v.listSize()); + for (auto const &v : results) { + list_out << v << Out::sep; + } +} + +bool shouldSort(Context *ctx, Value &v) { + // Some lists should clearly be printed in sorted order, like + // environment.systemPackages. Some clearly should not, like + // services.xserver.multitouch.buttonsMap. As a conservative heuristic, sort + // lists of derivations. + return v.listSize() > 0 && ctx->state->isDerivation(*v.listElems()[0]); +} + +void printList(Context *ctx, Out &out, Value &v) { + if (shouldSort(ctx, v)) { + printSortedList(ctx, out, v); + } else { + printUnsortedList(ctx, out, v); + } +} + +void printAttrs(Context *ctx, Out &out, Value &v, std::string const &path) { + Out attrs_out(out, "{", "}", v.attrs->size()); + for (const auto &a : v.attrs->lexicographicOrder()) { + std::string name = a->name; + attrs_out << name << " = "; + printValue(ctx, attrs_out, *a->value, appendPath(path, name)); + attrs_out << ";" << Out::sep; + } +} + +void multiLineStringEscape(Out &out, std::string const &s) { + int i; + for (i = 1; i < s.size(); i++) { + if (s[i - 1] == '$' && s[i] == '{') { + out << "''${"; + i++; + } else if (s[i - 1] == '\'' && s[i] == '\'') { + out << "'''"; + i++; + } else { + out << s[i - 1]; + } + } + if (i == s.size()) { + out << s[i - 1]; + } +} + +void printMultiLineString(Out &out, Value const &v) { + std::string s = v.string.s; + Out str_out(out, "''", "''", Out::MULTI_LINE); + std::string::size_type begin = 0; + while (begin < s.size()) { + std::string::size_type end = s.find('\n', begin); + if (end == std::string::npos) { + multiLineStringEscape(str_out, s.substr(begin, s.size() - begin)); + break; + } + multiLineStringEscape(str_out, s.substr(begin, end - begin)); + str_out << Out::sep; + begin = end + 1; + } +} + +void printValue(Context *ctx, Out &out, std::variant maybe_value, + std::string const &path) { + try { + if (std::holds_alternative(maybe_value)) { + throw Error{std::get(maybe_value)}; + } + Value v = evaluateValue(ctx, &std::get(maybe_value)); + if (ctx->state->isDerivation(v)) { + describeDerivation(ctx, out, v); + } else if (v.isList()) { + printList(ctx, out, v); + } else if (v.type == tAttrs) { + printAttrs(ctx, out, v, path); + } else if (v.type == tString && + std::string(v.string.s).find('\n') != std::string::npos) { + printMultiLineString(out, v); + } else { + ctx->state->forceValueDeep(v); + out << v; + } + } catch (Error &e) { + if (e.msg() == "The option `" + path + "' is used but not defined.") { + // 93% of errors are this, and just letting this message through would be + // misleading. These values may or may not actually be "used" in the + // config. The thing throwing the error message assumes that if anything + // ever looks at this value, it is a "use" of this value. But here in + // nixos-options-summary, we are looking at this value only to print it. + // In order to avoid implying that this undefined value is actually + // referenced, eat the underlying error message and emit "«not defined»". + out << "«not defined»"; + } else { + out << describeError(e); + } + } +} + +void printConfigValue(Context *ctx, Out &out, std::string const &path, + std::variant v) { + out << path << " = "; + printValue(ctx, out, std::move(v), path); + out << ";\n"; +} + +void printAll(Context *ctx, Out &out) { + mapOptions( + [ctx, &out](std::string const &option_path) { + mapConfigValuesInOption( + [ctx, &out](std::string const &config_path, + std::variant v) { + printConfigValue(ctx, out, config_path, v); + }, + option_path, ctx); + }, + ctx, ctx->options_root); +} + +void printAttr(Context *ctx, Out &out, std::string const &path, Value *root) { + try { + printValue(ctx, out, + *findAlongAttrPath(*ctx->state, path, *ctx->autoArgs, *root), + path); + } catch (Error &e) { + out << describeError(e); + } +} + +void printOption(Context *ctx, Out &out, std::string const &path, + Value *option) { + out << "Value:\n"; + printAttr(ctx, out, path, &ctx->config_root); + + out << "\n\nDefault:\n"; + printAttr(ctx, out, "default", option); + + out << "\n\nExample:\n"; + printAttr(ctx, out, "example", option); + + out << "\n\nDescription:\n"; + printAttr(ctx, out, "description", option); + + out << "\n\nDeclared by:\n"; + printAttr(ctx, out, "declarations", option); + + out << "\n\nDefined by:\n"; + printAttr(ctx, out, "files", option); + out << "\n"; +} + +void printListing(Out &out, Value *v) { + // Print this header on stderr rather than stdout because the old shell script + // implementation did. I don't know why. + std::cerr << "This attribute set contains:\n"; + for (const auto &a : v->attrs->lexicographicOrder()) { + std::string name = a->name; + if (!name.empty() && name[0] != '_') { + out << name << "\n"; + } + } +} + +// Carefully walk an option path, looking for sub-options when a path walks past +// an option value. +Value findAlongOptionPath(Context *ctx, std::string const &path) { + Strings tokens = parseAttrPath(path); + Value v = ctx->options_root; + for (auto i = tokens.begin(); i != tokens.end(); i++) { + bool last_attribute = std::next(i) == tokens.end(); + auto const &attr = *i; + v = evaluateValue(ctx, &v); + if (attr.empty()) { + throw Error("empty attribute name in selection path '" + path + "'"); + } + if (isOption(ctx, v) && !last_attribute) { + Value getSubOptions = evaluateValue( + ctx, findAlongAttrPath(*ctx->state, "type.getSubOptions", + *ctx->autoArgs, v)); + if (getSubOptions.type != tLambda) { + throw Error("Option's type.getSubOptions isn't a function at '" + attr + + "' in path '" + path + "'"); + } + Value emptyString{}; + nix::mkString(emptyString, ""); + ctx->state->callFunction(getSubOptions, emptyString, v, nix::Pos{}); + // Note that we've consumed attr, but didn't actually use it. + } else if (v.type != tAttrs) { + throw Error("attribute '" + attr + "' in path '" + path + + "' attempts to index a value that should be a set but is " + + showType(v)); + } else { + auto const &next = v.attrs->find(ctx->state->symbols.create(attr)); + if (next == v.attrs->end()) { + throw Error("attribute '" + attr + "' in path '" + path + + "' not found"); + } + v = *next->value; + } + } + return v; +} + +void printOne(Context *ctx, Out &out, std::string const &path) { + try { + Value option = findAlongOptionPath(ctx, path); + option = evaluateValue(ctx, &option); + if (isOption(ctx, option)) { + printOption(ctx, out, path, &option); + } else { + printListing(out, &option); + } + } catch (Error &e) { + std::cerr << "error: " << e.msg() + << "\nAn error occurred while looking for attribute names. Are " + "you sure that '" + << path << "' exists?\n"; + } +} + +int main(int argc, char **argv) { + bool all = false; + std::string path = "."; + std::string options_expr = "(import {}).options"; + std::string config_expr = "(import {}).config"; + std::vector args; + + struct MyArgs : nix::LegacyArgs, nix::MixEvalArgs { + using nix::LegacyArgs::LegacyArgs; + }; + + MyArgs myArgs(nix::baseNameOf(argv[0]), + [&](Strings::iterator &arg, const Strings::iterator &end) { + if (*arg == "--help") { + nix::showManPage("nixos-options-summary"); + } else if (*arg == "--version") { + nix::printVersion("nixos-options-summary"); + } else if (*arg == "--all") { + all = true; + } else if (*arg == "--path") { + path = nix::getArg(*arg, arg, end); + } else if (*arg == "--options_expr") { + options_expr = nix::getArg(*arg, arg, end); + } else if (*arg == "--config_expr") { + config_expr = nix::getArg(*arg, arg, end); + } else if (!arg->empty() && arg->at(0) == '-') { + return false; + } else { + args.push_back(*arg); + } + return true; + }); + + myArgs.parseCmdline(nix::argvToStrings(argc, argv)); + + nix::initPlugins(); + nix::initGC(); + nix::settings.readOnlyMode = true; + auto store = nix::openStore(); + auto state = std::make_unique(myArgs.searchPath, store); + + Value options_root = parseAndEval(state.get(), options_expr, path); + Value config_root = parseAndEval(state.get(), config_expr, path); + + Context ctx{state.get(), myArgs.getAutoArgs(*state), options_root, + config_root}; + Out out(std::cout); + + if (all) { + if (!args.empty()) { + throw UsageError("--all cannot be used with arguments"); + } + printAll(&ctx, out); + } else { + if (args.empty()) { + printOne(&ctx, out, ""); + } + for (auto const &arg : args) { + printOne(&ctx, out, arg); + } + } + + ctx.state->printStats(); + + return 0; +} diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index 052e7fdd4fc..e4db39b5c81 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -41,10 +41,7 @@ let inherit (config.system.nixos-generate-config) configuration; }; - nixos-option = makeProg { - name = "nixos-option"; - src = ./nixos-option.sh; - }; + nixos-option = pkgs.callPackage ./nixos-option { }; nixos-version = makeProg { name = "nixos-version"; From 26c45dfec2716b1508e5d7ac8efdbdf570f2eb99 Mon Sep 17 00:00:00 2001 From: Chuck Date: Fri, 6 Sep 2019 01:25:00 -0700 Subject: [PATCH 274/391] nixos/nixos-option: Show options' types #27920 --- nixos/modules/installer/tools/nixos-option/nixos-option.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index c778596d615..6787c73e164 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -434,6 +434,9 @@ void printOption(Context *ctx, Out &out, std::string const &path, out << "\n\nDefault:\n"; printAttr(ctx, out, "default", option); + out << "\n\nType:\n"; + printAttr(ctx, out, "type.description", option); + out << "\n\nExample:\n"; printAttr(ctx, out, "example", option); From 74f05df671e6381c1515fc9da72c44051ef8753c Mon Sep 17 00:00:00 2001 From: Chuck Date: Fri, 6 Sep 2019 02:50:50 -0700 Subject: [PATCH 275/391] nixos/nixos-option: Fix references to old name --- nixos/modules/installer/tools/nixos-option/nixos-option.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index 6787c73e164..49da3ce6874 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -386,7 +386,7 @@ void printValue(Context *ctx, Out &out, std::variant maybe_value, // misleading. These values may or may not actually be "used" in the // config. The thing throwing the error message assumes that if anything // ever looks at this value, it is a "use" of this value. But here in - // nixos-options-summary, we are looking at this value only to print it. + // nixos-option, we are looking at this value only to print it. // In order to avoid implying that this undefined value is actually // referenced, eat the underlying error message and emit "«not defined»". out << "«not defined»"; @@ -534,9 +534,9 @@ int main(int argc, char **argv) { MyArgs myArgs(nix::baseNameOf(argv[0]), [&](Strings::iterator &arg, const Strings::iterator &end) { if (*arg == "--help") { - nix::showManPage("nixos-options-summary"); + nix::showManPage("nixos-option"); } else if (*arg == "--version") { - nix::printVersion("nixos-options-summary"); + nix::printVersion("nixos-option"); } else if (*arg == "--all") { all = true; } else if (*arg == "--path") { From 4af8dbf8964924dc3d2ec2bbfa159dae288b29fc Mon Sep 17 00:00:00 2001 From: Chuck Date: Fri, 6 Sep 2019 09:45:05 -0700 Subject: [PATCH 276/391] Reformat for 4-space indentation Specifically, with clang-format --style='{ IndentWidth: 4, BreakBeforeBraces: Mozilla, ColumnLimit: 120, PointerAlignment: Middle }' which was the clang-format invocation that produced the fewest diffs on the nix source out of ~20 that I tried. --- .../tools/nixos-option/libnix-copy-paste.cc | 104 +- .../tools/nixos-option/libnix-copy-paste.hh | 6 +- .../tools/nixos-option/nixos-option.cc | 953 +++++++++--------- 3 files changed, 534 insertions(+), 529 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.cc b/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.cc index 81de5ff8523..875c07da639 100644 --- a/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.cc +++ b/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.cc @@ -21,61 +21,63 @@ using nix::Strings; using std::string; // From nix/src/libexpr/attr-path.cc -Strings parseAttrPath(const string &s) { - Strings res; - string cur; - string::const_iterator i = s.begin(); - while (i != s.end()) { - if (*i == '.') { - res.push_back(cur); - cur.clear(); - } else if (*i == '"') { - ++i; - while (1) { - if (i == s.end()) - throw Error(format("missing closing quote in selection path '%1%'") % - s); - if (*i == '"') - break; - cur.push_back(*i++); - } - } else - cur.push_back(*i); - ++i; - } - if (!cur.empty()) - res.push_back(cur); - return res; +Strings parseAttrPath(const string & s) +{ + Strings res; + string cur; + string::const_iterator i = s.begin(); + while (i != s.end()) { + if (*i == '.') { + res.push_back(cur); + cur.clear(); + } else if (*i == '"') { + ++i; + while (1) { + if (i == s.end()) + throw Error(format("missing closing quote in selection path '%1%'") % s); + if (*i == '"') + break; + cur.push_back(*i++); + } + } else + cur.push_back(*i); + ++i; + } + if (!cur.empty()) + res.push_back(cur); + return res; } // From nix/src/nix/repl.cc -bool isVarName(const string &s) { - if (s.size() == 0) - return false; - char c = s[0]; - if ((c >= '0' && c <= '9') || c == '-' || c == '\'') - return false; - for (auto &i : s) - if (!((i >= 'a' && i <= 'z') || (i >= 'A' && i <= 'Z') || - (i >= '0' && i <= '9') || i == '_' || i == '-' || i == '\'')) - return false; - return true; +bool isVarName(const string & s) +{ + if (s.size() == 0) + return false; + char c = s[0]; + if ((c >= '0' && c <= '9') || c == '-' || c == '\'') + return false; + for (auto & i : s) + if (!((i >= 'a' && i <= 'z') || (i >= 'A' && i <= 'Z') || (i >= '0' && i <= '9') || i == '_' || i == '-' || + i == '\'')) + return false; + return true; } // From nix/src/nix/repl.cc -std::ostream &printStringValue(std::ostream &str, const char *string) { - str << "\""; - for (const char *i = string; *i; i++) - if (*i == '\"' || *i == '\\') - str << "\\" << *i; - else if (*i == '\n') - str << "\\n"; - else if (*i == '\r') - str << "\\r"; - else if (*i == '\t') - str << "\\t"; - else - str << *i; - str << "\""; - return str; +std::ostream & printStringValue(std::ostream & str, const char * string) +{ + str << "\""; + for (const char * i = string; *i; i++) + if (*i == '\"' || *i == '\\') + str << "\\" << *i; + else if (*i == '\n') + str << "\\n"; + else if (*i == '\r') + str << "\\r"; + else if (*i == '\t') + str << "\\t"; + else + str << *i; + str << "\""; + return str; } diff --git a/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.hh b/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.hh index 225e8b1b87e..2274e9a0f85 100644 --- a/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.hh +++ b/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.hh @@ -4,6 +4,6 @@ #include #include -nix::Strings parseAttrPath(const std::string &s); -bool isVarName(const std::string &s); -std::ostream &printStringValue(std::ostream &str, const char *string); +nix::Strings parseAttrPath(const std::string & s); +bool isVarName(const std::string & s); +std::ostream & printStringValue(std::ostream & str, const char * string); diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index 49da3ce6874..fe44a347aef 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -42,166 +42,170 @@ using nix::UsageError; using nix::Value; // An ostream wrapper to handle nested indentation -class Out { -public: - class Separator {}; - const static Separator sep; - enum LinePolicy { ONE_LINE, MULTI_LINE }; - explicit Out(std::ostream &ostream) - : ostream(ostream), policy(ONE_LINE), write_since_sep(true) {} - Out(Out &o, std::string const &start, std::string const &end, - LinePolicy policy); - Out(Out &o, std::string const &start, std::string const &end, int count) - : Out(o, start, end, count < 2 ? ONE_LINE : MULTI_LINE) {} - Out(Out const &) = delete; - Out(Out &&) = default; - Out &operator=(Out const &) = delete; - Out &operator=(Out &&) = delete; - ~Out() { ostream << end; } +class Out +{ + public: + class Separator + {}; + const static Separator sep; + enum LinePolicy + { + ONE_LINE, + MULTI_LINE + }; + explicit Out(std::ostream & ostream) : ostream(ostream), policy(ONE_LINE), write_since_sep(true) {} + Out(Out & o, std::string const & start, std::string const & end, LinePolicy policy); + Out(Out & o, std::string const & start, std::string const & end, int count) + : Out(o, start, end, count < 2 ? ONE_LINE : MULTI_LINE) + {} + Out(Out const &) = delete; + Out(Out &&) = default; + Out & operator=(Out const &) = delete; + Out & operator=(Out &&) = delete; + ~Out() { ostream << end; } -private: - std::ostream &ostream; - std::string indentation; - std::string end; - LinePolicy policy; - bool write_since_sep; - template friend Out &operator<<(Out &o, T thing); + private: + std::ostream & ostream; + std::string indentation; + std::string end; + LinePolicy policy; + bool write_since_sep; + template friend Out & operator<<(Out & o, T thing); }; -template Out &operator<<(Out &o, T thing) { - if (!o.write_since_sep && o.policy == Out::MULTI_LINE) { - o.ostream << o.indentation; - } - o.write_since_sep = true; - o.ostream << thing; - return o; +template Out & operator<<(Out & o, T thing) +{ + if (!o.write_since_sep && o.policy == Out::MULTI_LINE) { + o.ostream << o.indentation; + } + o.write_since_sep = true; + o.ostream << thing; + return o; } -template <> -Out &operator<<(Out &o, Out::Separator /* thing */) { - o.ostream << (o.policy == Out::ONE_LINE ? " " : "\n"); - o.write_since_sep = false; - return o; +template <> Out & operator<<(Out & o, Out::Separator /* thing */) +{ + o.ostream << (o.policy == Out::ONE_LINE ? " " : "\n"); + o.write_since_sep = false; + return o; } -Out::Out(Out &o, std::string const &start, std::string const &end, - LinePolicy policy) - : ostream(o.ostream), - indentation(policy == ONE_LINE ? o.indentation : o.indentation + " "), - end(policy == ONE_LINE ? end : o.indentation + end), policy(policy), - write_since_sep(true) { - o << start; - *this << Out::sep; +Out::Out(Out & o, std::string const & start, std::string const & end, LinePolicy policy) + : ostream(o.ostream), indentation(policy == ONE_LINE ? o.indentation : o.indentation + " "), + end(policy == ONE_LINE ? end : o.indentation + end), policy(policy), write_since_sep(true) +{ + o << start; + *this << Out::sep; } // Stuff needed for evaluation -struct Context { - Context(EvalState *state, Bindings *autoArgs, Value options_root, - Value config_root) - : state(state), autoArgs(autoArgs), options_root(options_root), - config_root(config_root), - underscore_type(state->symbols.create("_type")) {} - EvalState *state; - Bindings *autoArgs; - Value options_root; - Value config_root; - Symbol underscore_type; +struct Context +{ + Context(EvalState * state, Bindings * autoArgs, Value options_root, Value config_root) + : state(state), autoArgs(autoArgs), options_root(options_root), config_root(config_root), + underscore_type(state->symbols.create("_type")) + {} + EvalState * state; + Bindings * autoArgs; + Value options_root; + Value config_root; + Symbol underscore_type; }; -Value evaluateValue(Context *ctx, Value *v) { - ctx->state->forceValue(*v); - if (ctx->autoArgs->empty()) { - return *v; - } - Value called{}; - ctx->state->autoCallFunction(*ctx->autoArgs, *v, called); - return called; +Value evaluateValue(Context * ctx, Value * v) +{ + ctx->state->forceValue(*v); + if (ctx->autoArgs->empty()) { + return *v; + } + Value called{}; + ctx->state->autoCallFunction(*ctx->autoArgs, *v, called); + return called; } -bool isOption(Context *ctx, Value const &v) { - if (v.type != tAttrs) { - return false; - } - auto const &actual_type = v.attrs->find(ctx->underscore_type); - if (actual_type == v.attrs->end()) { - return false; - } - try { - Value evaluated_type = evaluateValue(ctx, actual_type->value); - if (evaluated_type.type != tString) { - return false; +bool isOption(Context * ctx, Value const & v) +{ + if (v.type != tAttrs) { + return false; + } + auto const & actual_type = v.attrs->find(ctx->underscore_type); + if (actual_type == v.attrs->end()) { + return false; + } + try { + Value evaluated_type = evaluateValue(ctx, actual_type->value); + if (evaluated_type.type != tString) { + return false; + } + return evaluated_type.string.s == static_cast("option"); + } catch (Error &) { + return false; } - return evaluated_type.string.s == static_cast("option"); - } catch (Error &) { - return false; - } } // Add quotes to a component of a path. // These are needed for paths like: // fileSystems."/".fsType // systemd.units."dbus.service".text -std::string quoteAttribute(std::string const &attribute) { - if (isVarName(attribute)) { - return attribute; - } - std::ostringstream buf; - printStringValue(buf, attribute.c_str()); - return buf.str(); -} - -std::string const appendPath(std::string const &prefix, - std::string const &suffix) { - if (prefix.empty()) { - return quoteAttribute(suffix); - } - return prefix + "." + quoteAttribute(suffix); -} - -bool forbiddenRecursionName(std::string name) { - return (!name.empty() && name[0] == '_') || name == "haskellPackages"; -} - -void recurse(const std::function)> &f, - Context *ctx, Value v, std::string const &path) { - std::variant evaluated; - try { - evaluated = evaluateValue(ctx, &v); - } catch (Error &e) { - evaluated = e; - } - if (!f(path, evaluated)) { - return; - } - if (std::holds_alternative(evaluated)) { - return; - } - Value const &evaluated_value = std::get(evaluated); - if (evaluated_value.type != tAttrs) { - return; - } - for (auto const &child : evaluated_value.attrs->lexicographicOrder()) { - if (forbiddenRecursionName(child->name)) { - continue; +std::string quoteAttribute(std::string const & attribute) +{ + if (isVarName(attribute)) { + return attribute; + } + std::ostringstream buf; + printStringValue(buf, attribute.c_str()); + return buf.str(); +} + +std::string const appendPath(std::string const & prefix, std::string const & suffix) +{ + if (prefix.empty()) { + return quoteAttribute(suffix); + } + return prefix + "." + quoteAttribute(suffix); +} + +bool forbiddenRecursionName(std::string name) { return (!name.empty() && name[0] == '_') || name == "haskellPackages"; } + +void recurse(const std::function)> & f, Context * ctx, + Value v, std::string const & path) +{ + std::variant evaluated; + try { + evaluated = evaluateValue(ctx, &v); + } catch (Error & e) { + evaluated = e; + } + if (!f(path, evaluated)) { + return; + } + if (std::holds_alternative(evaluated)) { + return; + } + Value const & evaluated_value = std::get(evaluated); + if (evaluated_value.type != tAttrs) { + return; + } + for (auto const & child : evaluated_value.attrs->lexicographicOrder()) { + if (forbiddenRecursionName(child->name)) { + continue; + } + recurse(f, ctx, *child->value, appendPath(path, child->name)); } - recurse(f, ctx, *child->value, appendPath(path, child->name)); - } } // Calls f on all the option names -void mapOptions(const std::function &f, - Context *ctx, Value root) { - recurse( - [f, ctx](std::string const &path, std::variant v) { - bool isOpt = std::holds_alternative(v) || - isOption(ctx, std::get(v)); - if (isOpt) { - f(path); - } - return !isOpt; - }, - ctx, root, ""); +void mapOptions(const std::function & f, Context * ctx, Value root) +{ + recurse( + [f, ctx](std::string const & path, std::variant v) { + bool isOpt = std::holds_alternative(v) || isOption(ctx, std::get(v)); + if (isOpt) { + f(path); + } + return !isOpt; + }, + ctx, root, ""); } // Calls f on all the config values inside one option. @@ -225,364 +229,363 @@ void mapOptions(const std::function &f, // users.users.nixbld1 = ... .. ... // ... // users.users.systemd-timesync = ... .. ... -void mapConfigValuesInOption( - const std::function v)> &f, - std::string const &path, Context *ctx) { - Value *option; - try { - option = - findAlongAttrPath(*ctx->state, path, *ctx->autoArgs, ctx->config_root); - } catch (Error &e) { - f(path, e); - return; - } - recurse( - [f, ctx](std::string const &path, std::variant v) { - bool leaf = std::holds_alternative(v) || - std::get(v).type != tAttrs || - ctx->state->isDerivation(std::get(v)); - if (!leaf) { - return true; // Keep digging +void mapConfigValuesInOption(const std::function v)> & f, + std::string const & path, Context * ctx) +{ + Value * option; + try { + option = findAlongAttrPath(*ctx->state, path, *ctx->autoArgs, ctx->config_root); + } catch (Error & e) { + f(path, e); + return; + } + recurse( + [f, ctx](std::string const & path, std::variant v) { + bool leaf = std::holds_alternative(v) || std::get(v).type != tAttrs || + ctx->state->isDerivation(std::get(v)); + if (!leaf) { + return true; // Keep digging + } + f(path, v); + return false; + }, + ctx, *option, path); +} + +std::string describeError(Error const & e) { return "«error: " + e.msg() + "»"; } + +void describeDerivation(Context * ctx, Out & out, Value v) +{ + // Copy-pasted from nix/src/nix/repl.cc :( + Bindings::iterator i = v.attrs->find(ctx->state->sDrvPath); + PathSet pathset; + try { + Path drvPath = i != v.attrs->end() ? ctx->state->coerceToPath(*i->pos, *i->value, pathset) : "???"; + out << "«derivation " << drvPath << "»"; + } catch (Error & e) { + out << describeError(e); + } +} + +Value parseAndEval(EvalState * state, std::string const & expression, std::string const & path) +{ + Value v{}; + state->eval(state->parseExprFromString(expression, absPath(path)), v); + return v; +} + +void printValue(Context * ctx, Out & out, std::variant maybe_value, std::string const & path); + +void printUnsortedList(Context * ctx, Out & out, Value & v) +{ + Out list_out(out, "[", "]", v.listSize()); + for (unsigned int n = 0; n < v.listSize(); ++n) { + printValue(ctx, list_out, *v.listElems()[n], ""); + list_out << Out::sep; + } +} + +void printSortedList(Context * ctx, Out & out, Value & v) +{ + std::vector results; + for (unsigned int n = 0; n < v.listSize(); ++n) { + std::ostringstream buf; + Out buf_out(buf); + printValue(ctx, buf_out, *v.listElems()[n], ""); + results.push_back(buf.str()); + } + std::sort(results.begin(), results.end()); + Out list_out(out, "[", "]", v.listSize()); + for (auto const & v : results) { + list_out << v << Out::sep; + } +} + +bool shouldSort(Context * ctx, Value & v) +{ + // Some lists should clearly be printed in sorted order, like + // environment.systemPackages. Some clearly should not, like + // services.xserver.multitouch.buttonsMap. As a conservative heuristic, sort + // lists of derivations. + return v.listSize() > 0 && ctx->state->isDerivation(*v.listElems()[0]); +} + +void printList(Context * ctx, Out & out, Value & v) +{ + if (shouldSort(ctx, v)) { + printSortedList(ctx, out, v); + } else { + printUnsortedList(ctx, out, v); + } +} + +void printAttrs(Context * ctx, Out & out, Value & v, std::string const & path) +{ + Out attrs_out(out, "{", "}", v.attrs->size()); + for (const auto & a : v.attrs->lexicographicOrder()) { + std::string name = a->name; + attrs_out << name << " = "; + printValue(ctx, attrs_out, *a->value, appendPath(path, name)); + attrs_out << ";" << Out::sep; + } +} + +void multiLineStringEscape(Out & out, std::string const & s) +{ + int i; + for (i = 1; i < s.size(); i++) { + if (s[i - 1] == '$' && s[i] == '{') { + out << "''${"; + i++; + } else if (s[i - 1] == '\'' && s[i] == '\'') { + out << "'''"; + i++; + } else { + out << s[i - 1]; } - f(path, v); - return false; - }, - ctx, *option, path); -} - -std::string describeError(Error const &e) { return "«error: " + e.msg() + "»"; } - -void describeDerivation(Context *ctx, Out &out, Value v) { - // Copy-pasted from nix/src/nix/repl.cc :( - Bindings::iterator i = v.attrs->find(ctx->state->sDrvPath); - PathSet pathset; - try { - Path drvPath = i != v.attrs->end() - ? ctx->state->coerceToPath(*i->pos, *i->value, pathset) - : "???"; - out << "«derivation " << drvPath << "»"; - } catch (Error &e) { - out << describeError(e); - } -} - -Value parseAndEval(EvalState *state, std::string const &expression, - std::string const &path) { - Value v{}; - state->eval(state->parseExprFromString(expression, absPath(path)), v); - return v; -} - -void printValue(Context *ctx, Out &out, std::variant maybe_value, - std::string const &path); - -void printUnsortedList(Context *ctx, Out &out, Value &v) { - Out list_out(out, "[", "]", v.listSize()); - for (unsigned int n = 0; n < v.listSize(); ++n) { - printValue(ctx, list_out, *v.listElems()[n], ""); - list_out << Out::sep; - } -} - -void printSortedList(Context *ctx, Out &out, Value &v) { - std::vector results; - for (unsigned int n = 0; n < v.listSize(); ++n) { - std::ostringstream buf; - Out buf_out(buf); - printValue(ctx, buf_out, *v.listElems()[n], ""); - results.push_back(buf.str()); - } - std::sort(results.begin(), results.end()); - Out list_out(out, "[", "]", v.listSize()); - for (auto const &v : results) { - list_out << v << Out::sep; - } -} - -bool shouldSort(Context *ctx, Value &v) { - // Some lists should clearly be printed in sorted order, like - // environment.systemPackages. Some clearly should not, like - // services.xserver.multitouch.buttonsMap. As a conservative heuristic, sort - // lists of derivations. - return v.listSize() > 0 && ctx->state->isDerivation(*v.listElems()[0]); -} - -void printList(Context *ctx, Out &out, Value &v) { - if (shouldSort(ctx, v)) { - printSortedList(ctx, out, v); - } else { - printUnsortedList(ctx, out, v); - } -} - -void printAttrs(Context *ctx, Out &out, Value &v, std::string const &path) { - Out attrs_out(out, "{", "}", v.attrs->size()); - for (const auto &a : v.attrs->lexicographicOrder()) { - std::string name = a->name; - attrs_out << name << " = "; - printValue(ctx, attrs_out, *a->value, appendPath(path, name)); - attrs_out << ";" << Out::sep; - } -} - -void multiLineStringEscape(Out &out, std::string const &s) { - int i; - for (i = 1; i < s.size(); i++) { - if (s[i - 1] == '$' && s[i] == '{') { - out << "''${"; - i++; - } else if (s[i - 1] == '\'' && s[i] == '\'') { - out << "'''"; - i++; - } else { - out << s[i - 1]; } - } - if (i == s.size()) { - out << s[i - 1]; - } -} - -void printMultiLineString(Out &out, Value const &v) { - std::string s = v.string.s; - Out str_out(out, "''", "''", Out::MULTI_LINE); - std::string::size_type begin = 0; - while (begin < s.size()) { - std::string::size_type end = s.find('\n', begin); - if (end == std::string::npos) { - multiLineStringEscape(str_out, s.substr(begin, s.size() - begin)); - break; + if (i == s.size()) { + out << s[i - 1]; } - multiLineStringEscape(str_out, s.substr(begin, end - begin)); - str_out << Out::sep; - begin = end + 1; - } } -void printValue(Context *ctx, Out &out, std::variant maybe_value, - std::string const &path) { - try { - if (std::holds_alternative(maybe_value)) { - throw Error{std::get(maybe_value)}; +void printMultiLineString(Out & out, Value const & v) +{ + std::string s = v.string.s; + Out str_out(out, "''", "''", Out::MULTI_LINE); + std::string::size_type begin = 0; + while (begin < s.size()) { + std::string::size_type end = s.find('\n', begin); + if (end == std::string::npos) { + multiLineStringEscape(str_out, s.substr(begin, s.size() - begin)); + break; + } + multiLineStringEscape(str_out, s.substr(begin, end - begin)); + str_out << Out::sep; + begin = end + 1; } - Value v = evaluateValue(ctx, &std::get(maybe_value)); - if (ctx->state->isDerivation(v)) { - describeDerivation(ctx, out, v); - } else if (v.isList()) { - printList(ctx, out, v); - } else if (v.type == tAttrs) { - printAttrs(ctx, out, v, path); - } else if (v.type == tString && - std::string(v.string.s).find('\n') != std::string::npos) { - printMultiLineString(out, v); - } else { - ctx->state->forceValueDeep(v); - out << v; +} + +void printValue(Context * ctx, Out & out, std::variant maybe_value, std::string const & path) +{ + try { + if (std::holds_alternative(maybe_value)) { + throw Error{std::get(maybe_value)}; + } + Value v = evaluateValue(ctx, &std::get(maybe_value)); + if (ctx->state->isDerivation(v)) { + describeDerivation(ctx, out, v); + } else if (v.isList()) { + printList(ctx, out, v); + } else if (v.type == tAttrs) { + printAttrs(ctx, out, v, path); + } else if (v.type == tString && std::string(v.string.s).find('\n') != std::string::npos) { + printMultiLineString(out, v); + } else { + ctx->state->forceValueDeep(v); + out << v; + } + } catch (Error & e) { + if (e.msg() == "The option `" + path + "' is used but not defined.") { + // 93% of errors are this, and just letting this message through would be + // misleading. These values may or may not actually be "used" in the + // config. The thing throwing the error message assumes that if anything + // ever looks at this value, it is a "use" of this value. But here in + // nixos-option, we are looking at this value only to print it. + // In order to avoid implying that this undefined value is actually + // referenced, eat the underlying error message and emit "«not defined»". + out << "«not defined»"; + } else { + out << describeError(e); + } } - } catch (Error &e) { - if (e.msg() == "The option `" + path + "' is used but not defined.") { - // 93% of errors are this, and just letting this message through would be - // misleading. These values may or may not actually be "used" in the - // config. The thing throwing the error message assumes that if anything - // ever looks at this value, it is a "use" of this value. But here in - // nixos-option, we are looking at this value only to print it. - // In order to avoid implying that this undefined value is actually - // referenced, eat the underlying error message and emit "«not defined»". - out << "«not defined»"; - } else { - out << describeError(e); +} + +void printConfigValue(Context * ctx, Out & out, std::string const & path, std::variant v) +{ + out << path << " = "; + printValue(ctx, out, std::move(v), path); + out << ";\n"; +} + +void printAll(Context * ctx, Out & out) +{ + mapOptions( + [ctx, &out](std::string const & option_path) { + mapConfigValuesInOption( + [ctx, &out](std::string const & config_path, std::variant v) { + printConfigValue(ctx, out, config_path, v); + }, + option_path, ctx); + }, + ctx, ctx->options_root); +} + +void printAttr(Context * ctx, Out & out, std::string const & path, Value * root) +{ + try { + printValue(ctx, out, *findAlongAttrPath(*ctx->state, path, *ctx->autoArgs, *root), path); + } catch (Error & e) { + out << describeError(e); } - } } -void printConfigValue(Context *ctx, Out &out, std::string const &path, - std::variant v) { - out << path << " = "; - printValue(ctx, out, std::move(v), path); - out << ";\n"; +void printOption(Context * ctx, Out & out, std::string const & path, Value * option) +{ + out << "Value:\n"; + printAttr(ctx, out, path, &ctx->config_root); + + out << "\n\nDefault:\n"; + printAttr(ctx, out, "default", option); + + out << "\n\nType:\n"; + printAttr(ctx, out, "type.description", option); + + out << "\n\nExample:\n"; + printAttr(ctx, out, "example", option); + + out << "\n\nDescription:\n"; + printAttr(ctx, out, "description", option); + + out << "\n\nDeclared by:\n"; + printAttr(ctx, out, "declarations", option); + + out << "\n\nDefined by:\n"; + printAttr(ctx, out, "files", option); + out << "\n"; } -void printAll(Context *ctx, Out &out) { - mapOptions( - [ctx, &out](std::string const &option_path) { - mapConfigValuesInOption( - [ctx, &out](std::string const &config_path, - std::variant v) { - printConfigValue(ctx, out, config_path, v); - }, - option_path, ctx); - }, - ctx, ctx->options_root); -} - -void printAttr(Context *ctx, Out &out, std::string const &path, Value *root) { - try { - printValue(ctx, out, - *findAlongAttrPath(*ctx->state, path, *ctx->autoArgs, *root), - path); - } catch (Error &e) { - out << describeError(e); - } -} - -void printOption(Context *ctx, Out &out, std::string const &path, - Value *option) { - out << "Value:\n"; - printAttr(ctx, out, path, &ctx->config_root); - - out << "\n\nDefault:\n"; - printAttr(ctx, out, "default", option); - - out << "\n\nType:\n"; - printAttr(ctx, out, "type.description", option); - - out << "\n\nExample:\n"; - printAttr(ctx, out, "example", option); - - out << "\n\nDescription:\n"; - printAttr(ctx, out, "description", option); - - out << "\n\nDeclared by:\n"; - printAttr(ctx, out, "declarations", option); - - out << "\n\nDefined by:\n"; - printAttr(ctx, out, "files", option); - out << "\n"; -} - -void printListing(Out &out, Value *v) { - // Print this header on stderr rather than stdout because the old shell script - // implementation did. I don't know why. - std::cerr << "This attribute set contains:\n"; - for (const auto &a : v->attrs->lexicographicOrder()) { - std::string name = a->name; - if (!name.empty() && name[0] != '_') { - out << name << "\n"; +void printListing(Out & out, Value * v) +{ + // Print this header on stderr rather than stdout because the old shell script + // implementation did. I don't know why. + std::cerr << "This attribute set contains:\n"; + for (const auto & a : v->attrs->lexicographicOrder()) { + std::string name = a->name; + if (!name.empty() && name[0] != '_') { + out << name << "\n"; + } } - } } // Carefully walk an option path, looking for sub-options when a path walks past // an option value. -Value findAlongOptionPath(Context *ctx, std::string const &path) { - Strings tokens = parseAttrPath(path); - Value v = ctx->options_root; - for (auto i = tokens.begin(); i != tokens.end(); i++) { - bool last_attribute = std::next(i) == tokens.end(); - auto const &attr = *i; - v = evaluateValue(ctx, &v); - if (attr.empty()) { - throw Error("empty attribute name in selection path '" + path + "'"); +Value findAlongOptionPath(Context * ctx, std::string const & path) +{ + Strings tokens = parseAttrPath(path); + Value v = ctx->options_root; + for (auto i = tokens.begin(); i != tokens.end(); i++) { + bool last_attribute = std::next(i) == tokens.end(); + auto const & attr = *i; + v = evaluateValue(ctx, &v); + if (attr.empty()) { + throw Error("empty attribute name in selection path '" + path + "'"); + } + if (isOption(ctx, v) && !last_attribute) { + Value getSubOptions = + evaluateValue(ctx, findAlongAttrPath(*ctx->state, "type.getSubOptions", *ctx->autoArgs, v)); + if (getSubOptions.type != tLambda) { + throw Error("Option's type.getSubOptions isn't a function at '" + attr + "' in path '" + path + "'"); + } + Value emptyString{}; + nix::mkString(emptyString, ""); + ctx->state->callFunction(getSubOptions, emptyString, v, nix::Pos{}); + // Note that we've consumed attr, but didn't actually use it. + } else if (v.type != tAttrs) { + throw Error("attribute '" + attr + "' in path '" + path + + "' attempts to index a value that should be a set but is " + showType(v)); + } else { + auto const & next = v.attrs->find(ctx->state->symbols.create(attr)); + if (next == v.attrs->end()) { + throw Error("attribute '" + attr + "' in path '" + path + "' not found"); + } + v = *next->value; + } } - if (isOption(ctx, v) && !last_attribute) { - Value getSubOptions = evaluateValue( - ctx, findAlongAttrPath(*ctx->state, "type.getSubOptions", - *ctx->autoArgs, v)); - if (getSubOptions.type != tLambda) { - throw Error("Option's type.getSubOptions isn't a function at '" + attr + - "' in path '" + path + "'"); - } - Value emptyString{}; - nix::mkString(emptyString, ""); - ctx->state->callFunction(getSubOptions, emptyString, v, nix::Pos{}); - // Note that we've consumed attr, but didn't actually use it. - } else if (v.type != tAttrs) { - throw Error("attribute '" + attr + "' in path '" + path + - "' attempts to index a value that should be a set but is " + - showType(v)); + return v; +} + +void printOne(Context * ctx, Out & out, std::string const & path) +{ + try { + Value option = findAlongOptionPath(ctx, path); + option = evaluateValue(ctx, &option); + if (isOption(ctx, option)) { + printOption(ctx, out, path, &option); + } else { + printListing(out, &option); + } + } catch (Error & e) { + std::cerr << "error: " << e.msg() + << "\nAn error occurred while looking for attribute names. Are " + "you sure that '" + << path << "' exists?\n"; + } +} + +int main(int argc, char ** argv) +{ + bool all = false; + std::string path = "."; + std::string options_expr = "(import {}).options"; + std::string config_expr = "(import {}).config"; + std::vector args; + + struct MyArgs : nix::LegacyArgs, nix::MixEvalArgs + { + using nix::LegacyArgs::LegacyArgs; + }; + + MyArgs myArgs(nix::baseNameOf(argv[0]), [&](Strings::iterator & arg, const Strings::iterator & end) { + if (*arg == "--help") { + nix::showManPage("nixos-option"); + } else if (*arg == "--version") { + nix::printVersion("nixos-option"); + } else if (*arg == "--all") { + all = true; + } else if (*arg == "--path") { + path = nix::getArg(*arg, arg, end); + } else if (*arg == "--options_expr") { + options_expr = nix::getArg(*arg, arg, end); + } else if (*arg == "--config_expr") { + config_expr = nix::getArg(*arg, arg, end); + } else if (!arg->empty() && arg->at(0) == '-') { + return false; + } else { + args.push_back(*arg); + } + return true; + }); + + myArgs.parseCmdline(nix::argvToStrings(argc, argv)); + + nix::initPlugins(); + nix::initGC(); + nix::settings.readOnlyMode = true; + auto store = nix::openStore(); + auto state = std::make_unique(myArgs.searchPath, store); + + Value options_root = parseAndEval(state.get(), options_expr, path); + Value config_root = parseAndEval(state.get(), config_expr, path); + + Context ctx{state.get(), myArgs.getAutoArgs(*state), options_root, config_root}; + Out out(std::cout); + + if (all) { + if (!args.empty()) { + throw UsageError("--all cannot be used with arguments"); + } + printAll(&ctx, out); } else { - auto const &next = v.attrs->find(ctx->state->symbols.create(attr)); - if (next == v.attrs->end()) { - throw Error("attribute '" + attr + "' in path '" + path + - "' not found"); - } - v = *next->value; + if (args.empty()) { + printOne(&ctx, out, ""); + } + for (auto const & arg : args) { + printOne(&ctx, out, arg); + } } - } - return v; -} - -void printOne(Context *ctx, Out &out, std::string const &path) { - try { - Value option = findAlongOptionPath(ctx, path); - option = evaluateValue(ctx, &option); - if (isOption(ctx, option)) { - printOption(ctx, out, path, &option); - } else { - printListing(out, &option); - } - } catch (Error &e) { - std::cerr << "error: " << e.msg() - << "\nAn error occurred while looking for attribute names. Are " - "you sure that '" - << path << "' exists?\n"; - } -} - -int main(int argc, char **argv) { - bool all = false; - std::string path = "."; - std::string options_expr = "(import {}).options"; - std::string config_expr = "(import {}).config"; - std::vector args; - - struct MyArgs : nix::LegacyArgs, nix::MixEvalArgs { - using nix::LegacyArgs::LegacyArgs; - }; - - MyArgs myArgs(nix::baseNameOf(argv[0]), - [&](Strings::iterator &arg, const Strings::iterator &end) { - if (*arg == "--help") { - nix::showManPage("nixos-option"); - } else if (*arg == "--version") { - nix::printVersion("nixos-option"); - } else if (*arg == "--all") { - all = true; - } else if (*arg == "--path") { - path = nix::getArg(*arg, arg, end); - } else if (*arg == "--options_expr") { - options_expr = nix::getArg(*arg, arg, end); - } else if (*arg == "--config_expr") { - config_expr = nix::getArg(*arg, arg, end); - } else if (!arg->empty() && arg->at(0) == '-') { - return false; - } else { - args.push_back(*arg); - } - return true; - }); - - myArgs.parseCmdline(nix::argvToStrings(argc, argv)); - - nix::initPlugins(); - nix::initGC(); - nix::settings.readOnlyMode = true; - auto store = nix::openStore(); - auto state = std::make_unique(myArgs.searchPath, store); - - Value options_root = parseAndEval(state.get(), options_expr, path); - Value config_root = parseAndEval(state.get(), config_expr, path); - - Context ctx{state.get(), myArgs.getAutoArgs(*state), options_root, - config_root}; - Out out(std::cout); - - if (all) { - if (!args.empty()) { - throw UsageError("--all cannot be used with arguments"); - } - printAll(&ctx, out); - } else { - if (args.empty()) { - printOne(&ctx, out, ""); - } - for (auto const &arg : args) { - printOne(&ctx, out, arg); - } - } - - ctx.state->printStats(); - - return 0; + + ctx.state->printStats(); + + return 0; } From 36c00c108076915b0074fefc8ae5bb8baba476fa Mon Sep 17 00:00:00 2001 From: Chuck Date: Fri, 6 Sep 2019 09:51:08 -0700 Subject: [PATCH 277/391] Use format strings, not concatenation, in error messages --- .../installer/tools/nixos-option/nixos-option.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index fe44a347aef..d72a2ae3f8d 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -479,25 +479,25 @@ Value findAlongOptionPath(Context * ctx, std::string const & path) auto const & attr = *i; v = evaluateValue(ctx, &v); if (attr.empty()) { - throw Error("empty attribute name in selection path '" + path + "'"); + throw Error("empty attribute name in selection path '%s'", path); } if (isOption(ctx, v) && !last_attribute) { Value getSubOptions = evaluateValue(ctx, findAlongAttrPath(*ctx->state, "type.getSubOptions", *ctx->autoArgs, v)); if (getSubOptions.type != tLambda) { - throw Error("Option's type.getSubOptions isn't a function at '" + attr + "' in path '" + path + "'"); + throw Error("Option's type.getSubOptions isn't a function at '%s' in path '%s'", attr, path); } Value emptyString{}; nix::mkString(emptyString, ""); ctx->state->callFunction(getSubOptions, emptyString, v, nix::Pos{}); // Note that we've consumed attr, but didn't actually use it. } else if (v.type != tAttrs) { - throw Error("attribute '" + attr + "' in path '" + path + - "' attempts to index a value that should be a set but is " + showType(v)); + throw Error("attribute '%s' in path '%s' attempts to index a value that should be a set but is %s", attr, + path, showType(v)); } else { auto const & next = v.attrs->find(ctx->state->symbols.create(attr)); if (next == v.attrs->end()) { - throw Error("attribute '" + attr + "' in path '" + path + "' not found"); + throw Error("attribute '%s' in path '%s' not found", attr, path); } v = *next->value; } From e1ecc2b6c1fe10acf2a1f63f027f002ff4b9ff7c Mon Sep 17 00:00:00 2001 From: Chuck Date: Fri, 6 Sep 2019 09:58:34 -0700 Subject: [PATCH 278/391] Remove list sorting --- .../tools/nixos-option/nixos-option.cc | 37 +------------------ 1 file changed, 1 insertion(+), 36 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index d72a2ae3f8d..01eb0d5ddd1 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -1,6 +1,5 @@ #include // for nix/globals.hh's reference to SYSTEM -#include // for sort #include // for function #include // for operator<<, basic_ostream, ostrin... #include // for next @@ -276,7 +275,7 @@ Value parseAndEval(EvalState * state, std::string const & expression, std::strin void printValue(Context * ctx, Out & out, std::variant maybe_value, std::string const & path); -void printUnsortedList(Context * ctx, Out & out, Value & v) +void printList(Context * ctx, Out & out, Value & v) { Out list_out(out, "[", "]", v.listSize()); for (unsigned int n = 0; n < v.listSize(); ++n) { @@ -285,40 +284,6 @@ void printUnsortedList(Context * ctx, Out & out, Value & v) } } -void printSortedList(Context * ctx, Out & out, Value & v) -{ - std::vector results; - for (unsigned int n = 0; n < v.listSize(); ++n) { - std::ostringstream buf; - Out buf_out(buf); - printValue(ctx, buf_out, *v.listElems()[n], ""); - results.push_back(buf.str()); - } - std::sort(results.begin(), results.end()); - Out list_out(out, "[", "]", v.listSize()); - for (auto const & v : results) { - list_out << v << Out::sep; - } -} - -bool shouldSort(Context * ctx, Value & v) -{ - // Some lists should clearly be printed in sorted order, like - // environment.systemPackages. Some clearly should not, like - // services.xserver.multitouch.buttonsMap. As a conservative heuristic, sort - // lists of derivations. - return v.listSize() > 0 && ctx->state->isDerivation(*v.listElems()[0]); -} - -void printList(Context * ctx, Out & out, Value & v) -{ - if (shouldSort(ctx, v)) { - printSortedList(ctx, out, v); - } else { - printUnsortedList(ctx, out, v); - } -} - void printAttrs(Context * ctx, Out & out, Value & v, std::string const & path) { Out attrs_out(out, "{", "}", v.attrs->size()); From f3eedb6020a0b2bc8a5ce19cf9761fc60d2873f8 Mon Sep 17 00:00:00 2001 From: Chuck Date: Fri, 6 Sep 2019 09:59:45 -0700 Subject: [PATCH 279/391] Parallel build is the default, so no need to specify --- nixos/modules/installer/tools/nixos-option/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/modules/installer/tools/nixos-option/default.nix b/nixos/modules/installer/tools/nixos-option/default.nix index 6464a91052c..2ba5e73d7c0 100644 --- a/nixos/modules/installer/tools/nixos-option/default.nix +++ b/nixos/modules/installer/tools/nixos-option/default.nix @@ -4,5 +4,4 @@ stdenv.mkDerivation rec { src = ./.; nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ boost nix ]; - enableParallelBuilding = true; } From 23369829579594bd8fd1b9423e399f2aeaca5488 Mon Sep 17 00:00:00 2001 From: Chuck Date: Fri, 6 Sep 2019 10:29:32 -0700 Subject: [PATCH 280/391] Add license This is important because this contains some code copied from nix (as an interim expediency until that functionality can be exported via nix's API). The license specified here must be compatible with this borrowing. Select the same license that nix is released under: lgpl2Plus. --- nixos/modules/installer/tools/nixos-option/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/modules/installer/tools/nixos-option/default.nix b/nixos/modules/installer/tools/nixos-option/default.nix index 2ba5e73d7c0..87ba38c29ca 100644 --- a/nixos/modules/installer/tools/nixos-option/default.nix +++ b/nixos/modules/installer/tools/nixos-option/default.nix @@ -4,4 +4,7 @@ stdenv.mkDerivation rec { src = ./.; nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ boost nix ]; + meta { + license = stdenv.lib.licenses.lgpl2Plus; + } } From d89ccc1554d9b4e8064c9d07bf23652a3bd52fce Mon Sep 17 00:00:00 2001 From: Chuck Date: Fri, 6 Sep 2019 10:46:45 -0700 Subject: [PATCH 281/391] Correct syntax for license specification --- nixos/modules/installer/tools/nixos-option/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/default.nix b/nixos/modules/installer/tools/nixos-option/default.nix index 87ba38c29ca..2c2674ad28d 100644 --- a/nixos/modules/installer/tools/nixos-option/default.nix +++ b/nixos/modules/installer/tools/nixos-option/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { src = ./.; nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ boost nix ]; - meta { + meta = { license = stdenv.lib.licenses.lgpl2Plus; - } + }; } From c7c684aaa3e165287be4b9d8345481e1d85c04e8 Mon Sep 17 00:00:00 2001 From: Chuck Date: Fri, 6 Sep 2019 11:37:48 -0700 Subject: [PATCH 282/391] Preserve type of rethrown exceptions --- .../tools/nixos-option/nixos-option.cc | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index 01eb0d5ddd1..5886ee6959b 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -1,10 +1,12 @@ #include // for nix/globals.hh's reference to SYSTEM +#include // for exception_ptr, current_exception #include // for function #include // for operator<<, basic_ostream, ostrin... #include // for next #include // for _List_iterator #include // for allocator, unique_ptr, make_unique +#include // for operator new #include // for argvToStrings, UsageError #include // for findAlongAttrPath #include // for Attr, Bindings, Bindings::iterator @@ -166,19 +168,19 @@ std::string const appendPath(std::string const & prefix, std::string const & suf bool forbiddenRecursionName(std::string name) { return (!name.empty() && name[0] == '_') || name == "haskellPackages"; } -void recurse(const std::function)> & f, Context * ctx, +void recurse(const std::function)> & f, Context * ctx, Value v, std::string const & path) { - std::variant evaluated; + std::variant evaluated; try { evaluated = evaluateValue(ctx, &v); - } catch (Error & e) { - evaluated = e; + } catch (Error &) { + evaluated = std::current_exception(); } if (!f(path, evaluated)) { return; } - if (std::holds_alternative(evaluated)) { + if (std::holds_alternative(evaluated)) { return; } Value const & evaluated_value = std::get(evaluated); @@ -197,8 +199,8 @@ void recurse(const std::function & f, Context * ctx, Value root) { recurse( - [f, ctx](std::string const & path, std::variant v) { - bool isOpt = std::holds_alternative(v) || isOption(ctx, std::get(v)); + [f, ctx](std::string const & path, std::variant v) { + bool isOpt = std::holds_alternative(v) || isOption(ctx, std::get(v)); if (isOpt) { f(path); } @@ -228,19 +230,19 @@ void mapOptions(const std::function & f, Context // users.users.nixbld1 = ... .. ... // ... // users.users.systemd-timesync = ... .. ... -void mapConfigValuesInOption(const std::function v)> & f, +void mapConfigValuesInOption(const std::function v)> & f, std::string const & path, Context * ctx) { Value * option; try { option = findAlongAttrPath(*ctx->state, path, *ctx->autoArgs, ctx->config_root); - } catch (Error & e) { - f(path, e); + } catch (Error &) { + f(path, std::current_exception()); return; } recurse( - [f, ctx](std::string const & path, std::variant v) { - bool leaf = std::holds_alternative(v) || std::get(v).type != tAttrs || + [f, ctx](std::string const & path, std::variant v) { + bool leaf = std::holds_alternative(v) || std::get(v).type != tAttrs || ctx->state->isDerivation(std::get(v)); if (!leaf) { return true; // Keep digging @@ -273,7 +275,7 @@ Value parseAndEval(EvalState * state, std::string const & expression, std::strin return v; } -void printValue(Context * ctx, Out & out, std::variant maybe_value, std::string const & path); +void printValue(Context * ctx, Out & out, std::variant maybe_value, std::string const & path); void printList(Context * ctx, Out & out, Value & v) { @@ -331,11 +333,11 @@ void printMultiLineString(Out & out, Value const & v) } } -void printValue(Context * ctx, Out & out, std::variant maybe_value, std::string const & path) +void printValue(Context * ctx, Out & out, std::variant maybe_value, std::string const & path) { try { - if (std::holds_alternative(maybe_value)) { - throw Error{std::get(maybe_value)}; + if (std::holds_alternative(maybe_value)) { + std::rethrow_exception(std::get(maybe_value)); } Value v = evaluateValue(ctx, &std::get(maybe_value)); if (ctx->state->isDerivation(v)) { @@ -366,7 +368,7 @@ void printValue(Context * ctx, Out & out, std::variant maybe_value } } -void printConfigValue(Context * ctx, Out & out, std::string const & path, std::variant v) +void printConfigValue(Context * ctx, Out & out, std::string const & path, std::variant v) { out << path << " = "; printValue(ctx, out, std::move(v), path); @@ -378,7 +380,7 @@ void printAll(Context * ctx, Out & out) mapOptions( [ctx, &out](std::string const & option_path) { mapConfigValuesInOption( - [ctx, &out](std::string const & config_path, std::variant v) { + [ctx, &out](std::string const & config_path, std::variant v) { printConfigValue(ctx, out, config_path, v); }, option_path, ctx); From 0adf77e2eeb5227666f54ac6476884f9ddb63bee Mon Sep 17 00:00:00 2001 From: Chuck Date: Fri, 6 Sep 2019 11:38:29 -0700 Subject: [PATCH 283/391] =?UTF-8?q?Narrow=20the=20=C2=ABnot=20defined?= =?UTF-8?q?=C2=BB=20check=20to=20just=20ThrownError?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nixos/modules/installer/tools/nixos-option/nixos-option.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index 5886ee6959b..1fde8986fdf 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -352,7 +352,7 @@ void printValue(Context * ctx, Out & out, std::variantstate->forceValueDeep(v); out << v; } - } catch (Error & e) { + } catch (ThrownError & e) { if (e.msg() == "The option `" + path + "' is used but not defined.") { // 93% of errors are this, and just letting this message through would be // misleading. These values may or may not actually be "used" in the @@ -365,6 +365,8 @@ void printValue(Context * ctx, Out & out, std::variant Date: Fri, 6 Sep 2019 12:27:34 -0700 Subject: [PATCH 284/391] Fix missing "using ThrownError" --- nixos/modules/installer/tools/nixos-option/nixos-option.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index 1fde8986fdf..383755f884a 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -37,6 +37,7 @@ using nix::PathSet; using nix::Strings; using nix::Symbol; using nix::tAttrs; +using nix::ThrownError; using nix::tLambda; using nix::tString; using nix::UsageError; From 88349921a46fb303c134f568fbe9d5ba88bb2b6a Mon Sep 17 00:00:00 2001 From: Chuck Date: Fri, 6 Sep 2019 14:30:27 -0700 Subject: [PATCH 285/391] clang-format --- .../installer/tools/nixos-option/nixos-option.cc | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index 383755f884a..8e2a8f5c018 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -169,8 +169,8 @@ std::string const appendPath(std::string const & prefix, std::string const & suf bool forbiddenRecursionName(std::string name) { return (!name.empty() && name[0] == '_') || name == "haskellPackages"; } -void recurse(const std::function)> & f, Context * ctx, - Value v, std::string const & path) +void recurse(const std::function)> & f, + Context * ctx, Value v, std::string const & path) { std::variant evaluated; try { @@ -231,8 +231,9 @@ void mapOptions(const std::function & f, Context // users.users.nixbld1 = ... .. ... // ... // users.users.systemd-timesync = ... .. ... -void mapConfigValuesInOption(const std::function v)> & f, - std::string const & path, Context * ctx) +void mapConfigValuesInOption( + const std::function v)> & f, + std::string const & path, Context * ctx) { Value * option; try { @@ -276,7 +277,8 @@ Value parseAndEval(EvalState * state, std::string const & expression, std::strin return v; } -void printValue(Context * ctx, Out & out, std::variant maybe_value, std::string const & path); +void printValue(Context * ctx, Out & out, std::variant maybe_value, + std::string const & path); void printList(Context * ctx, Out & out, Value & v) { @@ -338,7 +340,7 @@ void printValue(Context * ctx, Out & out, std::variant(maybe_value)) { - std::rethrow_exception(std::get(maybe_value)); + std::rethrow_exception(std::get(maybe_value)); } Value v = evaluateValue(ctx, &std::get(maybe_value)); if (ctx->state->isDerivation(v)) { From b8db81573a1e5a4e26da10d778d4400684a96832 Mon Sep 17 00:00:00 2001 From: Chuck Date: Fri, 6 Sep 2019 14:32:22 -0700 Subject: [PATCH 286/391] Support submodules (Fixes #13121) --- .../tools/nixos-option/nixos-option.cc | 56 +++++++++++++++---- 1 file changed, 46 insertions(+), 10 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index 8e2a8f5c018..755c2f0b002 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -440,6 +440,45 @@ void printListing(Out & out, Value * v) } } +bool optionTypeIs(Context * ctx, Value & v, std::string const & sought_type) +{ + try { + auto const & type_lookup = v.attrs->find(ctx->state->sType); + if (type_lookup == v.attrs->end()) { + return false; + } + Value type = evaluateValue(ctx, type_lookup->value); + if (type.type != tAttrs) { + return false; + } + auto const & name_lookup = type.attrs->find(ctx->state->sName); + if (name_lookup == type.attrs->end()) { + return false; + } + Value name = evaluateValue(ctx, name_lookup->value); + if (name.type != tString) { + return false; + } + return name.string.s == sought_type; + } catch (Error &) { + return false; + } +} + +Value getSubOptions(Context * ctx, Value & option) +{ + Value getSubOptions = + evaluateValue(ctx, findAlongAttrPath(*ctx->state, "type.getSubOptions", *ctx->autoArgs, option)); + if (getSubOptions.type != tLambda) { + throw Error("Option's type.getSubOptions isn't a function"); + } + Value emptyString{}; + nix::mkString(emptyString, ""); + Value v; + ctx->state->callFunction(getSubOptions, emptyString, v, nix::Pos{}); + return v; +} + // Carefully walk an option path, looking for sub-options when a path walks past // an option value. Value findAlongOptionPath(Context * ctx, std::string const & path) @@ -453,16 +492,13 @@ Value findAlongOptionPath(Context * ctx, std::string const & path) if (attr.empty()) { throw Error("empty attribute name in selection path '%s'", path); } - if (isOption(ctx, v) && !last_attribute) { - Value getSubOptions = - evaluateValue(ctx, findAlongAttrPath(*ctx->state, "type.getSubOptions", *ctx->autoArgs, v)); - if (getSubOptions.type != tLambda) { - throw Error("Option's type.getSubOptions isn't a function at '%s' in path '%s'", attr, path); - } - Value emptyString{}; - nix::mkString(emptyString, ""); - ctx->state->callFunction(getSubOptions, emptyString, v, nix::Pos{}); - // Note that we've consumed attr, but didn't actually use it. + if (isOption(ctx, v) && optionTypeIs(ctx, v, "submodule")) { + v = getSubOptions(ctx, v); + } + if (isOption(ctx, v) && optionTypeIs(ctx, v, "loaOf") && !last_attribute) { + v = getSubOptions(ctx, v); + // Note that we've consumed attr, but didn't actually use it. This is the path component that's looked up + // in the list or attribute set that doesn't name an option -- the "root" in "users.users.root.name". } else if (v.type != tAttrs) { throw Error("attribute '%s' in path '%s' attempts to index a value that should be a set but is %s", attr, path, showType(v)); From c352bfeaf096ed11560624b8c5034ba0ed0723b7 Mon Sep 17 00:00:00 2001 From: Chuck Date: Mon, 16 Sep 2019 08:15:28 -0700 Subject: [PATCH 287/391] Switch from east const to west const For consistency with the Nix C++ convention. :~( --- .../tools/nixos-option/nixos-option.cc | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index 755c2f0b002..79a58e510af 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -56,13 +56,13 @@ class Out MULTI_LINE }; explicit Out(std::ostream & ostream) : ostream(ostream), policy(ONE_LINE), write_since_sep(true) {} - Out(Out & o, std::string const & start, std::string const & end, LinePolicy policy); - Out(Out & o, std::string const & start, std::string const & end, int count) + Out(Out & o, const std::string & start, const std::string & end, LinePolicy policy); + Out(Out & o, const std::string & start, const std::string & end, int count) : Out(o, start, end, count < 2 ? ONE_LINE : MULTI_LINE) {} - Out(Out const &) = delete; + Out(const Out &) = delete; Out(Out &&) = default; - Out & operator=(Out const &) = delete; + Out & operator=(const Out &) = delete; Out & operator=(Out &&) = delete; ~Out() { ostream << end; } @@ -92,7 +92,7 @@ template <> Out & operator<<(Out & o, Out::Separator /* thing */ return o; } -Out::Out(Out & o, std::string const & start, std::string const & end, LinePolicy policy) +Out::Out(Out & o, const std::string & start, const std::string & end, LinePolicy policy) : ostream(o.ostream), indentation(policy == ONE_LINE ? o.indentation : o.indentation + " "), end(policy == ONE_LINE ? end : o.indentation + end), policy(policy), write_since_sep(true) { @@ -125,12 +125,12 @@ Value evaluateValue(Context * ctx, Value * v) return called; } -bool isOption(Context * ctx, Value const & v) +bool isOption(Context * ctx, const Value & v) { if (v.type != tAttrs) { return false; } - auto const & actual_type = v.attrs->find(ctx->underscore_type); + const auto & actual_type = v.attrs->find(ctx->underscore_type); if (actual_type == v.attrs->end()) { return false; } @@ -149,7 +149,7 @@ bool isOption(Context * ctx, Value const & v) // These are needed for paths like: // fileSystems."/".fsType // systemd.units."dbus.service".text -std::string quoteAttribute(std::string const & attribute) +std::string quoteAttribute(const std::string & attribute) { if (isVarName(attribute)) { return attribute; @@ -159,7 +159,7 @@ std::string quoteAttribute(std::string const & attribute) return buf.str(); } -std::string const appendPath(std::string const & prefix, std::string const & suffix) +const std::string appendPath(const std::string & prefix, const std::string & suffix) { if (prefix.empty()) { return quoteAttribute(suffix); @@ -169,8 +169,8 @@ std::string const appendPath(std::string const & prefix, std::string const & suf bool forbiddenRecursionName(std::string name) { return (!name.empty() && name[0] == '_') || name == "haskellPackages"; } -void recurse(const std::function)> & f, - Context * ctx, Value v, std::string const & path) +void recurse(const std::function)> & f, + Context * ctx, Value v, const std::string & path) { std::variant evaluated; try { @@ -184,11 +184,11 @@ void recurse(const std::function(evaluated)) { return; } - Value const & evaluated_value = std::get(evaluated); + const Value & evaluated_value = std::get(evaluated); if (evaluated_value.type != tAttrs) { return; } - for (auto const & child : evaluated_value.attrs->lexicographicOrder()) { + for (const auto & child : evaluated_value.attrs->lexicographicOrder()) { if (forbiddenRecursionName(child->name)) { continue; } @@ -197,10 +197,10 @@ void recurse(const std::function & f, Context * ctx, Value root) +void mapOptions(const std::function & f, Context * ctx, Value root) { recurse( - [f, ctx](std::string const & path, std::variant v) { + [f, ctx](const std::string & path, std::variant v) { bool isOpt = std::holds_alternative(v) || isOption(ctx, std::get(v)); if (isOpt) { f(path); @@ -232,8 +232,8 @@ void mapOptions(const std::function & f, Context // ... // users.users.systemd-timesync = ... .. ... void mapConfigValuesInOption( - const std::function v)> & f, - std::string const & path, Context * ctx) + const std::function v)> & f, + const std::string & path, Context * ctx) { Value * option; try { @@ -243,7 +243,7 @@ void mapConfigValuesInOption( return; } recurse( - [f, ctx](std::string const & path, std::variant v) { + [f, ctx](const std::string & path, std::variant v) { bool leaf = std::holds_alternative(v) || std::get(v).type != tAttrs || ctx->state->isDerivation(std::get(v)); if (!leaf) { @@ -255,7 +255,7 @@ void mapConfigValuesInOption( ctx, *option, path); } -std::string describeError(Error const & e) { return "«error: " + e.msg() + "»"; } +std::string describeError(const Error & e) { return "«error: " + e.msg() + "»"; } void describeDerivation(Context * ctx, Out & out, Value v) { @@ -270,7 +270,7 @@ void describeDerivation(Context * ctx, Out & out, Value v) } } -Value parseAndEval(EvalState * state, std::string const & expression, std::string const & path) +Value parseAndEval(EvalState * state, const std::string & expression, const std::string & path) { Value v{}; state->eval(state->parseExprFromString(expression, absPath(path)), v); @@ -278,7 +278,7 @@ Value parseAndEval(EvalState * state, std::string const & expression, std::strin } void printValue(Context * ctx, Out & out, std::variant maybe_value, - std::string const & path); + const std::string & path); void printList(Context * ctx, Out & out, Value & v) { @@ -289,7 +289,7 @@ void printList(Context * ctx, Out & out, Value & v) } } -void printAttrs(Context * ctx, Out & out, Value & v, std::string const & path) +void printAttrs(Context * ctx, Out & out, Value & v, const std::string & path) { Out attrs_out(out, "{", "}", v.attrs->size()); for (const auto & a : v.attrs->lexicographicOrder()) { @@ -300,7 +300,7 @@ void printAttrs(Context * ctx, Out & out, Value & v, std::string const & path) } } -void multiLineStringEscape(Out & out, std::string const & s) +void multiLineStringEscape(Out & out, const std::string & s) { int i; for (i = 1; i < s.size(); i++) { @@ -319,7 +319,7 @@ void multiLineStringEscape(Out & out, std::string const & s) } } -void printMultiLineString(Out & out, Value const & v) +void printMultiLineString(Out & out, const Value & v) { std::string s = v.string.s; Out str_out(out, "''", "''", Out::MULTI_LINE); @@ -336,7 +336,7 @@ void printMultiLineString(Out & out, Value const & v) } } -void printValue(Context * ctx, Out & out, std::variant maybe_value, std::string const & path) +void printValue(Context * ctx, Out & out, std::variant maybe_value, const std::string & path) { try { if (std::holds_alternative(maybe_value)) { @@ -373,7 +373,7 @@ void printValue(Context * ctx, Out & out, std::variant v) +void printConfigValue(Context * ctx, Out & out, const std::string & path, std::variant v) { out << path << " = "; printValue(ctx, out, std::move(v), path); @@ -383,9 +383,9 @@ void printConfigValue(Context * ctx, Out & out, std::string const & path, std::v void printAll(Context * ctx, Out & out) { mapOptions( - [ctx, &out](std::string const & option_path) { + [ctx, &out](const std::string & option_path) { mapConfigValuesInOption( - [ctx, &out](std::string const & config_path, std::variant v) { + [ctx, &out](const std::string & config_path, std::variant v) { printConfigValue(ctx, out, config_path, v); }, option_path, ctx); @@ -393,7 +393,7 @@ void printAll(Context * ctx, Out & out) ctx, ctx->options_root); } -void printAttr(Context * ctx, Out & out, std::string const & path, Value * root) +void printAttr(Context * ctx, Out & out, const std::string & path, Value * root) { try { printValue(ctx, out, *findAlongAttrPath(*ctx->state, path, *ctx->autoArgs, *root), path); @@ -402,7 +402,7 @@ void printAttr(Context * ctx, Out & out, std::string const & path, Value * root) } } -void printOption(Context * ctx, Out & out, std::string const & path, Value * option) +void printOption(Context * ctx, Out & out, const std::string & path, Value * option) { out << "Value:\n"; printAttr(ctx, out, path, &ctx->config_root); @@ -440,10 +440,10 @@ void printListing(Out & out, Value * v) } } -bool optionTypeIs(Context * ctx, Value & v, std::string const & sought_type) +bool optionTypeIs(Context * ctx, Value & v, const std::string & sought_type) { try { - auto const & type_lookup = v.attrs->find(ctx->state->sType); + const auto & type_lookup = v.attrs->find(ctx->state->sType); if (type_lookup == v.attrs->end()) { return false; } @@ -451,7 +451,7 @@ bool optionTypeIs(Context * ctx, Value & v, std::string const & sought_type) if (type.type != tAttrs) { return false; } - auto const & name_lookup = type.attrs->find(ctx->state->sName); + const auto & name_lookup = type.attrs->find(ctx->state->sName); if (name_lookup == type.attrs->end()) { return false; } @@ -481,13 +481,13 @@ Value getSubOptions(Context * ctx, Value & option) // Carefully walk an option path, looking for sub-options when a path walks past // an option value. -Value findAlongOptionPath(Context * ctx, std::string const & path) +Value findAlongOptionPath(Context * ctx, const std::string & path) { Strings tokens = parseAttrPath(path); Value v = ctx->options_root; for (auto i = tokens.begin(); i != tokens.end(); i++) { bool last_attribute = std::next(i) == tokens.end(); - auto const & attr = *i; + const auto & attr = *i; v = evaluateValue(ctx, &v); if (attr.empty()) { throw Error("empty attribute name in selection path '%s'", path); @@ -503,7 +503,7 @@ Value findAlongOptionPath(Context * ctx, std::string const & path) throw Error("attribute '%s' in path '%s' attempts to index a value that should be a set but is %s", attr, path, showType(v)); } else { - auto const & next = v.attrs->find(ctx->state->symbols.create(attr)); + const auto & next = v.attrs->find(ctx->state->symbols.create(attr)); if (next == v.attrs->end()) { throw Error("attribute '%s' in path '%s' not found", attr, path); } @@ -513,7 +513,7 @@ Value findAlongOptionPath(Context * ctx, std::string const & path) return v; } -void printOne(Context * ctx, Out & out, std::string const & path) +void printOne(Context * ctx, Out & out, const std::string & path) { try { Value option = findAlongOptionPath(ctx, path); @@ -588,7 +588,7 @@ int main(int argc, char ** argv) if (args.empty()) { printOne(&ctx, out, ""); } - for (auto const & arg : args) { + for (const auto & arg : args) { printOne(&ctx, out, arg); } } From 4ded9beea2ea5d0dd739c78a5bf1e5f42a1e1c39 Mon Sep 17 00:00:00 2001 From: Chuck Date: Mon, 16 Sep 2019 08:21:54 -0700 Subject: [PATCH 288/391] Add note: Keep error message in sync with nixos-option --- lib/modules.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/modules.nix b/lib/modules.nix index 71672c7d112..44db77b5d1c 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -326,6 +326,8 @@ rec { # The value with a check that it is defined valueDefined = if res.isDefined then res.mergedValue else + # (nixos-option detects this specific error message and gives it special + # handling. If changed here, please change it there too.) throw "The option `${showOption loc}' is used but not defined."; # Apply the 'apply' function to the merged value. This allows options to From aa8e1d5f1e44d5b24538f4b105b9323bd586be61 Mon Sep 17 00:00:00 2001 From: Chuck Date: Mon, 16 Sep 2019 08:39:20 -0700 Subject: [PATCH 289/391] Always say which path component had trouble --- .../tools/nixos-option/nixos-option.cc | 48 +++++++++++-------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index 79a58e510af..fc9315423dd 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -31,6 +31,7 @@ using nix::absPath; using nix::Bindings; using nix::Error; +using nix::EvalError; using nix::EvalState; using nix::Path; using nix::PathSet; @@ -465,12 +466,14 @@ bool optionTypeIs(Context * ctx, Value & v, const std::string & sought_type) } } +MakeError(OptionPathError, EvalError); + Value getSubOptions(Context * ctx, Value & option) { Value getSubOptions = evaluateValue(ctx, findAlongAttrPath(*ctx->state, "type.getSubOptions", *ctx->autoArgs, option)); if (getSubOptions.type != tLambda) { - throw Error("Option's type.getSubOptions isn't a function"); + throw OptionPathError("Option's type.getSubOptions isn't a function"); } Value emptyString{}; nix::mkString(emptyString, ""); @@ -486,28 +489,31 @@ Value findAlongOptionPath(Context * ctx, const std::string & path) Strings tokens = parseAttrPath(path); Value v = ctx->options_root; for (auto i = tokens.begin(); i != tokens.end(); i++) { - bool last_attribute = std::next(i) == tokens.end(); const auto & attr = *i; - v = evaluateValue(ctx, &v); - if (attr.empty()) { - throw Error("empty attribute name in selection path '%s'", path); - } - if (isOption(ctx, v) && optionTypeIs(ctx, v, "submodule")) { - v = getSubOptions(ctx, v); - } - if (isOption(ctx, v) && optionTypeIs(ctx, v, "loaOf") && !last_attribute) { - v = getSubOptions(ctx, v); - // Note that we've consumed attr, but didn't actually use it. This is the path component that's looked up - // in the list or attribute set that doesn't name an option -- the "root" in "users.users.root.name". - } else if (v.type != tAttrs) { - throw Error("attribute '%s' in path '%s' attempts to index a value that should be a set but is %s", attr, - path, showType(v)); - } else { - const auto & next = v.attrs->find(ctx->state->symbols.create(attr)); - if (next == v.attrs->end()) { - throw Error("attribute '%s' in path '%s' not found", attr, path); + try { + bool last_attribute = std::next(i) == tokens.end(); + v = evaluateValue(ctx, &v); + if (attr.empty()) { + throw OptionPathError("empty attribute name"); } - v = *next->value; + if (isOption(ctx, v) && optionTypeIs(ctx, v, "submodule")) { + v = getSubOptions(ctx, v); + } + if (isOption(ctx, v) && optionTypeIs(ctx, v, "loaOf") && !last_attribute) { + v = getSubOptions(ctx, v); + // Note that we've consumed attr, but didn't actually use it. This is the path component that's looked + // up in the list or attribute set that doesn't name an option -- the "root" in "users.users.root.name". + } else if (v.type != tAttrs) { + throw OptionPathError("Value is %s while a set was expected", showType(v)); + } else { + const auto & next = v.attrs->find(ctx->state->symbols.create(attr)); + if (next == v.attrs->end()) { + throw OptionPathError("Attribute not found", attr, path); + } + v = *next->value; + } + } catch (OptionPathError & e) { + throw OptionPathError("At '%s' in path '%s': %s", attr, path, e.msg()); } } return v; From 88183eb484e14eb12aecd2788f6178fe95ec6256 Mon Sep 17 00:00:00 2001 From: Chuck Date: Mon, 16 Sep 2019 08:44:33 -0700 Subject: [PATCH 290/391] Per reviewer request, cast the other side. I don't think this matters. As long as one or the other of these is a std::string, I get an operator== that looks at content rather than pointer equality. I picked casting the constant over casting the dynamic thing in hopes that the compiler would have a better chance at optimizing away any runtime cost. Deferring to reviewer. --- nixos/modules/installer/tools/nixos-option/nixos-option.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index fc9315423dd..536d67c2d09 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -140,7 +140,7 @@ bool isOption(Context * ctx, const Value & v) if (evaluated_type.type != tString) { return false; } - return evaluated_type.string.s == static_cast("option"); + return static_cast(evaluated_type.string.s) == "option"; } catch (Error &) { return false; } From c457766a1f3034eb0ae5e30d7524c05cf4925dea Mon Sep 17 00:00:00 2001 From: Chuck Date: Mon, 16 Sep 2019 09:04:28 -0700 Subject: [PATCH 291/391] Use std::get_if --- nixos/modules/installer/tools/nixos-option/nixos-option.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index 536d67c2d09..b81342715c2 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -340,8 +340,8 @@ void printMultiLineString(Out & out, const Value & v) void printValue(Context * ctx, Out & out, std::variant maybe_value, const std::string & path) { try { - if (std::holds_alternative(maybe_value)) { - std::rethrow_exception(std::get(maybe_value)); + if (auto ex = std::get_if(&maybe_value)) { + std::rethrow_exception(*ex); } Value v = evaluateValue(ctx, &std::get(maybe_value)); if (ctx->state->isDerivation(v)) { From c967e3fd3e2a4f311dc5f6676fff1c1266b20663 Mon Sep 17 00:00:00 2001 From: Chuck Date: Mon, 16 Sep 2019 09:10:29 -0700 Subject: [PATCH 292/391] Hold state and autoArgs by reference Switch from convention "appease clang-tidy --checks='*'" to "References are like non-nullptr pointers". The clang-tidy check "google-runtime-references" complains about non-const reference arguments, but this is not a convention used in Nix. --- .../tools/nixos-option/nixos-option.cc | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index b81342715c2..4c8dc1ec42c 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -104,12 +104,12 @@ Out::Out(Out & o, const std::string & start, const std::string & end, LinePolicy // Stuff needed for evaluation struct Context { - Context(EvalState * state, Bindings * autoArgs, Value options_root, Value config_root) + Context(EvalState & state, Bindings & autoArgs, Value options_root, Value config_root) : state(state), autoArgs(autoArgs), options_root(options_root), config_root(config_root), - underscore_type(state->symbols.create("_type")) + underscore_type(state.symbols.create("_type")) {} - EvalState * state; - Bindings * autoArgs; + EvalState & state; + Bindings & autoArgs; Value options_root; Value config_root; Symbol underscore_type; @@ -117,12 +117,12 @@ struct Context Value evaluateValue(Context * ctx, Value * v) { - ctx->state->forceValue(*v); - if (ctx->autoArgs->empty()) { + ctx->state.forceValue(*v); + if (ctx->autoArgs.empty()) { return *v; } Value called{}; - ctx->state->autoCallFunction(*ctx->autoArgs, *v, called); + ctx->state.autoCallFunction(ctx->autoArgs, *v, called); return called; } @@ -238,7 +238,7 @@ void mapConfigValuesInOption( { Value * option; try { - option = findAlongAttrPath(*ctx->state, path, *ctx->autoArgs, ctx->config_root); + option = findAlongAttrPath(ctx->state, path, ctx->autoArgs, ctx->config_root); } catch (Error &) { f(path, std::current_exception()); return; @@ -246,7 +246,7 @@ void mapConfigValuesInOption( recurse( [f, ctx](const std::string & path, std::variant v) { bool leaf = std::holds_alternative(v) || std::get(v).type != tAttrs || - ctx->state->isDerivation(std::get(v)); + ctx->state.isDerivation(std::get(v)); if (!leaf) { return true; // Keep digging } @@ -261,20 +261,20 @@ std::string describeError(const Error & e) { return "«error: " + e.msg() + "»" void describeDerivation(Context * ctx, Out & out, Value v) { // Copy-pasted from nix/src/nix/repl.cc :( - Bindings::iterator i = v.attrs->find(ctx->state->sDrvPath); + Bindings::iterator i = v.attrs->find(ctx->state.sDrvPath); PathSet pathset; try { - Path drvPath = i != v.attrs->end() ? ctx->state->coerceToPath(*i->pos, *i->value, pathset) : "???"; + Path drvPath = i != v.attrs->end() ? ctx->state.coerceToPath(*i->pos, *i->value, pathset) : "???"; out << "«derivation " << drvPath << "»"; } catch (Error & e) { out << describeError(e); } } -Value parseAndEval(EvalState * state, const std::string & expression, const std::string & path) +Value parseAndEval(EvalState & state, const std::string & expression, const std::string & path) { Value v{}; - state->eval(state->parseExprFromString(expression, absPath(path)), v); + state.eval(state.parseExprFromString(expression, absPath(path)), v); return v; } @@ -344,7 +344,7 @@ void printValue(Context * ctx, Out & out, std::variant(maybe_value)); - if (ctx->state->isDerivation(v)) { + if (ctx->state.isDerivation(v)) { describeDerivation(ctx, out, v); } else if (v.isList()) { printList(ctx, out, v); @@ -353,7 +353,7 @@ void printValue(Context * ctx, Out & out, std::variantstate->forceValueDeep(v); + ctx->state.forceValueDeep(v); out << v; } } catch (ThrownError & e) { @@ -397,7 +397,7 @@ void printAll(Context * ctx, Out & out) void printAttr(Context * ctx, Out & out, const std::string & path, Value * root) { try { - printValue(ctx, out, *findAlongAttrPath(*ctx->state, path, *ctx->autoArgs, *root), path); + printValue(ctx, out, *findAlongAttrPath(ctx->state, path, ctx->autoArgs, *root), path); } catch (Error & e) { out << describeError(e); } @@ -444,7 +444,7 @@ void printListing(Out & out, Value * v) bool optionTypeIs(Context * ctx, Value & v, const std::string & sought_type) { try { - const auto & type_lookup = v.attrs->find(ctx->state->sType); + const auto & type_lookup = v.attrs->find(ctx->state.sType); if (type_lookup == v.attrs->end()) { return false; } @@ -452,7 +452,7 @@ bool optionTypeIs(Context * ctx, Value & v, const std::string & sought_type) if (type.type != tAttrs) { return false; } - const auto & name_lookup = type.attrs->find(ctx->state->sName); + const auto & name_lookup = type.attrs->find(ctx->state.sName); if (name_lookup == type.attrs->end()) { return false; } @@ -471,14 +471,14 @@ MakeError(OptionPathError, EvalError); Value getSubOptions(Context * ctx, Value & option) { Value getSubOptions = - evaluateValue(ctx, findAlongAttrPath(*ctx->state, "type.getSubOptions", *ctx->autoArgs, option)); + evaluateValue(ctx, findAlongAttrPath(ctx->state, "type.getSubOptions", ctx->autoArgs, option)); if (getSubOptions.type != tLambda) { throw OptionPathError("Option's type.getSubOptions isn't a function"); } Value emptyString{}; nix::mkString(emptyString, ""); Value v; - ctx->state->callFunction(getSubOptions, emptyString, v, nix::Pos{}); + ctx->state.callFunction(getSubOptions, emptyString, v, nix::Pos{}); return v; } @@ -506,7 +506,7 @@ Value findAlongOptionPath(Context * ctx, const std::string & path) } else if (v.type != tAttrs) { throw OptionPathError("Value is %s while a set was expected", showType(v)); } else { - const auto & next = v.attrs->find(ctx->state->symbols.create(attr)); + const auto & next = v.attrs->find(ctx->state.symbols.create(attr)); if (next == v.attrs->end()) { throw OptionPathError("Attribute not found", attr, path); } @@ -579,10 +579,10 @@ int main(int argc, char ** argv) auto store = nix::openStore(); auto state = std::make_unique(myArgs.searchPath, store); - Value options_root = parseAndEval(state.get(), options_expr, path); - Value config_root = parseAndEval(state.get(), config_expr, path); + Value options_root = parseAndEval(*state, options_expr, path); + Value config_root = parseAndEval(*state, config_expr, path); - Context ctx{state.get(), myArgs.getAutoArgs(*state), options_root, config_root}; + Context ctx{*state, *myArgs.getAutoArgs(*state), options_root, config_root}; Out out(std::cout); if (all) { @@ -599,7 +599,7 @@ int main(int argc, char ** argv) } } - ctx.state->printStats(); + ctx.state.printStats(); return 0; } From 3d3ce8df7f29418c28ba02d28927e1a52f6db1e9 Mon Sep 17 00:00:00 2001 From: Chuck Date: Mon, 16 Sep 2019 09:19:13 -0700 Subject: [PATCH 293/391] Pass Context by reference Switch from convention "appease clang-tidy --checks='*'" to "References are like non-nullptr pointers". The clang-tidy check "google-runtime-references" complains about non-const reference arguments, but this is not a convention used in Nix. --- .../tools/nixos-option/nixos-option.cc | 87 +++++++++---------- 1 file changed, 43 insertions(+), 44 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index 4c8dc1ec42c..bdcfffb47af 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -115,23 +115,23 @@ struct Context Symbol underscore_type; }; -Value evaluateValue(Context * ctx, Value * v) +Value evaluateValue(Context & ctx, Value * v) { - ctx->state.forceValue(*v); - if (ctx->autoArgs.empty()) { + ctx.state.forceValue(*v); + if (ctx.autoArgs.empty()) { return *v; } Value called{}; - ctx->state.autoCallFunction(ctx->autoArgs, *v, called); + ctx.state.autoCallFunction(ctx.autoArgs, *v, called); return called; } -bool isOption(Context * ctx, const Value & v) +bool isOption(Context & ctx, const Value & v) { if (v.type != tAttrs) { return false; } - const auto & actual_type = v.attrs->find(ctx->underscore_type); + const auto & actual_type = v.attrs->find(ctx.underscore_type); if (actual_type == v.attrs->end()) { return false; } @@ -171,7 +171,7 @@ const std::string appendPath(const std::string & prefix, const std::string & suf bool forbiddenRecursionName(std::string name) { return (!name.empty() && name[0] == '_') || name == "haskellPackages"; } void recurse(const std::function)> & f, - Context * ctx, Value v, const std::string & path) + Context & ctx, Value v, const std::string & path) { std::variant evaluated; try { @@ -198,10 +198,10 @@ void recurse(const std::function & f, Context * ctx, Value root) +void mapOptions(const std::function & f, Context & ctx, Value root) { recurse( - [f, ctx](const std::string & path, std::variant v) { + [f, &ctx](const std::string & path, std::variant v) { bool isOpt = std::holds_alternative(v) || isOption(ctx, std::get(v)); if (isOpt) { f(path); @@ -234,11 +234,11 @@ void mapOptions(const std::function & f, Context // users.users.systemd-timesync = ... .. ... void mapConfigValuesInOption( const std::function v)> & f, - const std::string & path, Context * ctx) + const std::string & path, Context & ctx) { Value * option; try { - option = findAlongAttrPath(ctx->state, path, ctx->autoArgs, ctx->config_root); + option = findAlongAttrPath(ctx.state, path, ctx.autoArgs, ctx.config_root); } catch (Error &) { f(path, std::current_exception()); return; @@ -246,7 +246,7 @@ void mapConfigValuesInOption( recurse( [f, ctx](const std::string & path, std::variant v) { bool leaf = std::holds_alternative(v) || std::get(v).type != tAttrs || - ctx->state.isDerivation(std::get(v)); + ctx.state.isDerivation(std::get(v)); if (!leaf) { return true; // Keep digging } @@ -258,13 +258,13 @@ void mapConfigValuesInOption( std::string describeError(const Error & e) { return "«error: " + e.msg() + "»"; } -void describeDerivation(Context * ctx, Out & out, Value v) +void describeDerivation(Context & ctx, Out & out, Value v) { // Copy-pasted from nix/src/nix/repl.cc :( - Bindings::iterator i = v.attrs->find(ctx->state.sDrvPath); + Bindings::iterator i = v.attrs->find(ctx.state.sDrvPath); PathSet pathset; try { - Path drvPath = i != v.attrs->end() ? ctx->state.coerceToPath(*i->pos, *i->value, pathset) : "???"; + Path drvPath = i != v.attrs->end() ? ctx.state.coerceToPath(*i->pos, *i->value, pathset) : "???"; out << "«derivation " << drvPath << "»"; } catch (Error & e) { out << describeError(e); @@ -278,10 +278,10 @@ Value parseAndEval(EvalState & state, const std::string & expression, const std: return v; } -void printValue(Context * ctx, Out & out, std::variant maybe_value, +void printValue(Context & ctx, Out & out, std::variant maybe_value, const std::string & path); -void printList(Context * ctx, Out & out, Value & v) +void printList(Context & ctx, Out & out, Value & v) { Out list_out(out, "[", "]", v.listSize()); for (unsigned int n = 0; n < v.listSize(); ++n) { @@ -290,7 +290,7 @@ void printList(Context * ctx, Out & out, Value & v) } } -void printAttrs(Context * ctx, Out & out, Value & v, const std::string & path) +void printAttrs(Context & ctx, Out & out, Value & v, const std::string & path) { Out attrs_out(out, "{", "}", v.attrs->size()); for (const auto & a : v.attrs->lexicographicOrder()) { @@ -337,14 +337,14 @@ void printMultiLineString(Out & out, const Value & v) } } -void printValue(Context * ctx, Out & out, std::variant maybe_value, const std::string & path) +void printValue(Context & ctx, Out & out, std::variant maybe_value, const std::string & path) { try { if (auto ex = std::get_if(&maybe_value)) { std::rethrow_exception(*ex); } Value v = evaluateValue(ctx, &std::get(maybe_value)); - if (ctx->state.isDerivation(v)) { + if (ctx.state.isDerivation(v)) { describeDerivation(ctx, out, v); } else if (v.isList()) { printList(ctx, out, v); @@ -353,7 +353,7 @@ void printValue(Context * ctx, Out & out, std::variantstate.forceValueDeep(v); + ctx.state.forceValueDeep(v); out << v; } } catch (ThrownError & e) { @@ -374,39 +374,39 @@ void printValue(Context * ctx, Out & out, std::variant v) +void printConfigValue(Context & ctx, Out & out, const std::string & path, std::variant v) { out << path << " = "; printValue(ctx, out, std::move(v), path); out << ";\n"; } -void printAll(Context * ctx, Out & out) +void printAll(Context & ctx, Out & out) { mapOptions( - [ctx, &out](const std::string & option_path) { + [&ctx, &out](const std::string & option_path) { mapConfigValuesInOption( - [ctx, &out](const std::string & config_path, std::variant v) { + [&ctx, &out](const std::string & config_path, std::variant v) { printConfigValue(ctx, out, config_path, v); }, option_path, ctx); }, - ctx, ctx->options_root); + ctx, ctx.options_root); } -void printAttr(Context * ctx, Out & out, const std::string & path, Value * root) +void printAttr(Context & ctx, Out & out, const std::string & path, Value * root) { try { - printValue(ctx, out, *findAlongAttrPath(ctx->state, path, ctx->autoArgs, *root), path); + printValue(ctx, out, *findAlongAttrPath(ctx.state, path, ctx.autoArgs, *root), path); } catch (Error & e) { out << describeError(e); } } -void printOption(Context * ctx, Out & out, const std::string & path, Value * option) +void printOption(Context & ctx, Out & out, const std::string & path, Value * option) { out << "Value:\n"; - printAttr(ctx, out, path, &ctx->config_root); + printAttr(ctx, out, path, &ctx.config_root); out << "\n\nDefault:\n"; printAttr(ctx, out, "default", option); @@ -441,10 +441,10 @@ void printListing(Out & out, Value * v) } } -bool optionTypeIs(Context * ctx, Value & v, const std::string & sought_type) +bool optionTypeIs(Context & ctx, Value & v, const std::string & sought_type) { try { - const auto & type_lookup = v.attrs->find(ctx->state.sType); + const auto & type_lookup = v.attrs->find(ctx.state.sType); if (type_lookup == v.attrs->end()) { return false; } @@ -452,7 +452,7 @@ bool optionTypeIs(Context * ctx, Value & v, const std::string & sought_type) if (type.type != tAttrs) { return false; } - const auto & name_lookup = type.attrs->find(ctx->state.sName); + const auto & name_lookup = type.attrs->find(ctx.state.sName); if (name_lookup == type.attrs->end()) { return false; } @@ -468,26 +468,25 @@ bool optionTypeIs(Context * ctx, Value & v, const std::string & sought_type) MakeError(OptionPathError, EvalError); -Value getSubOptions(Context * ctx, Value & option) +Value getSubOptions(Context & ctx, Value & option) { - Value getSubOptions = - evaluateValue(ctx, findAlongAttrPath(ctx->state, "type.getSubOptions", ctx->autoArgs, option)); + Value getSubOptions = evaluateValue(ctx, findAlongAttrPath(ctx.state, "type.getSubOptions", ctx.autoArgs, option)); if (getSubOptions.type != tLambda) { throw OptionPathError("Option's type.getSubOptions isn't a function"); } Value emptyString{}; nix::mkString(emptyString, ""); Value v; - ctx->state.callFunction(getSubOptions, emptyString, v, nix::Pos{}); + ctx.state.callFunction(getSubOptions, emptyString, v, nix::Pos{}); return v; } // Carefully walk an option path, looking for sub-options when a path walks past // an option value. -Value findAlongOptionPath(Context * ctx, const std::string & path) +Value findAlongOptionPath(Context & ctx, const std::string & path) { Strings tokens = parseAttrPath(path); - Value v = ctx->options_root; + Value v = ctx.options_root; for (auto i = tokens.begin(); i != tokens.end(); i++) { const auto & attr = *i; try { @@ -506,7 +505,7 @@ Value findAlongOptionPath(Context * ctx, const std::string & path) } else if (v.type != tAttrs) { throw OptionPathError("Value is %s while a set was expected", showType(v)); } else { - const auto & next = v.attrs->find(ctx->state.symbols.create(attr)); + const auto & next = v.attrs->find(ctx.state.symbols.create(attr)); if (next == v.attrs->end()) { throw OptionPathError("Attribute not found", attr, path); } @@ -519,7 +518,7 @@ Value findAlongOptionPath(Context * ctx, const std::string & path) return v; } -void printOne(Context * ctx, Out & out, const std::string & path) +void printOne(Context & ctx, Out & out, const std::string & path) { try { Value option = findAlongOptionPath(ctx, path); @@ -589,13 +588,13 @@ int main(int argc, char ** argv) if (!args.empty()) { throw UsageError("--all cannot be used with arguments"); } - printAll(&ctx, out); + printAll(ctx, out); } else { if (args.empty()) { - printOne(&ctx, out, ""); + printOne(ctx, out, ""); } for (const auto & arg : args) { - printOne(&ctx, out, arg); + printOne(ctx, out, arg); } } From 94a068fe36f8b369071d8185f584d31923f7b00e Mon Sep 17 00:00:00 2001 From: Chuck Date: Mon, 16 Sep 2019 09:24:26 -0700 Subject: [PATCH 294/391] Pass values by reference Switch from convention "appease clang-tidy --checks='*'" to "References are like non-nullptr pointers". The clang-tidy check "google-runtime-references" complains about non-const reference arguments, but this is not a convention used in Nix. --- .../tools/nixos-option/nixos-option.cc | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index bdcfffb47af..5fd8f69d800 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -115,14 +115,14 @@ struct Context Symbol underscore_type; }; -Value evaluateValue(Context & ctx, Value * v) +Value evaluateValue(Context & ctx, Value & v) { - ctx.state.forceValue(*v); + ctx.state.forceValue(v); if (ctx.autoArgs.empty()) { - return *v; + return v; } Value called{}; - ctx.state.autoCallFunction(ctx.autoArgs, *v, called); + ctx.state.autoCallFunction(ctx.autoArgs, v, called); return called; } @@ -136,7 +136,7 @@ bool isOption(Context & ctx, const Value & v) return false; } try { - Value evaluated_type = evaluateValue(ctx, actual_type->value); + Value evaluated_type = evaluateValue(ctx, *actual_type->value); if (evaluated_type.type != tString) { return false; } @@ -175,7 +175,7 @@ void recurse(const std::function evaluated; try { - evaluated = evaluateValue(ctx, &v); + evaluated = evaluateValue(ctx, v); } catch (Error &) { evaluated = std::current_exception(); } @@ -343,7 +343,7 @@ void printValue(Context & ctx, Out & out, std::variant(&maybe_value)) { std::rethrow_exception(*ex); } - Value v = evaluateValue(ctx, &std::get(maybe_value)); + Value v = evaluateValue(ctx, std::get(maybe_value)); if (ctx.state.isDerivation(v)) { describeDerivation(ctx, out, v); } else if (v.isList()) { @@ -394,19 +394,19 @@ void printAll(Context & ctx, Out & out) ctx, ctx.options_root); } -void printAttr(Context & ctx, Out & out, const std::string & path, Value * root) +void printAttr(Context & ctx, Out & out, const std::string & path, Value & root) { try { - printValue(ctx, out, *findAlongAttrPath(ctx.state, path, ctx.autoArgs, *root), path); + printValue(ctx, out, *findAlongAttrPath(ctx.state, path, ctx.autoArgs, root), path); } catch (Error & e) { out << describeError(e); } } -void printOption(Context & ctx, Out & out, const std::string & path, Value * option) +void printOption(Context & ctx, Out & out, const std::string & path, Value & option) { out << "Value:\n"; - printAttr(ctx, out, path, &ctx.config_root); + printAttr(ctx, out, path, ctx.config_root); out << "\n\nDefault:\n"; printAttr(ctx, out, "default", option); @@ -428,12 +428,12 @@ void printOption(Context & ctx, Out & out, const std::string & path, Value * opt out << "\n"; } -void printListing(Out & out, Value * v) +void printListing(Out & out, Value & v) { // Print this header on stderr rather than stdout because the old shell script // implementation did. I don't know why. std::cerr << "This attribute set contains:\n"; - for (const auto & a : v->attrs->lexicographicOrder()) { + for (const auto & a : v.attrs->lexicographicOrder()) { std::string name = a->name; if (!name.empty() && name[0] != '_') { out << name << "\n"; @@ -448,7 +448,7 @@ bool optionTypeIs(Context & ctx, Value & v, const std::string & sought_type) if (type_lookup == v.attrs->end()) { return false; } - Value type = evaluateValue(ctx, type_lookup->value); + Value type = evaluateValue(ctx, *type_lookup->value); if (type.type != tAttrs) { return false; } @@ -456,7 +456,7 @@ bool optionTypeIs(Context & ctx, Value & v, const std::string & sought_type) if (name_lookup == type.attrs->end()) { return false; } - Value name = evaluateValue(ctx, name_lookup->value); + Value name = evaluateValue(ctx, *name_lookup->value); if (name.type != tString) { return false; } @@ -470,7 +470,7 @@ MakeError(OptionPathError, EvalError); Value getSubOptions(Context & ctx, Value & option) { - Value getSubOptions = evaluateValue(ctx, findAlongAttrPath(ctx.state, "type.getSubOptions", ctx.autoArgs, option)); + Value getSubOptions = evaluateValue(ctx, *findAlongAttrPath(ctx.state, "type.getSubOptions", ctx.autoArgs, option)); if (getSubOptions.type != tLambda) { throw OptionPathError("Option's type.getSubOptions isn't a function"); } @@ -491,7 +491,7 @@ Value findAlongOptionPath(Context & ctx, const std::string & path) const auto & attr = *i; try { bool last_attribute = std::next(i) == tokens.end(); - v = evaluateValue(ctx, &v); + v = evaluateValue(ctx, v); if (attr.empty()) { throw OptionPathError("empty attribute name"); } @@ -522,11 +522,11 @@ void printOne(Context & ctx, Out & out, const std::string & path) { try { Value option = findAlongOptionPath(ctx, path); - option = evaluateValue(ctx, &option); + option = evaluateValue(ctx, option); if (isOption(ctx, option)) { - printOption(ctx, out, path, &option); + printOption(ctx, out, path, option); } else { - printListing(out, &option); + printListing(out, option); } } catch (Error & e) { std::cerr << "error: " << e.msg() From 2ddd2d07601d11f31f9bffa61060d680a1708b4c Mon Sep 17 00:00:00 2001 From: Chuck Date: Mon, 16 Sep 2019 09:35:38 -0700 Subject: [PATCH 295/391] Explain why header goes on stderr --- nixos/modules/installer/tools/nixos-option/nixos-option.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index 5fd8f69d800..174b7a0cbb6 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -430,8 +430,8 @@ void printOption(Context & ctx, Out & out, const std::string & path, Value & opt void printListing(Out & out, Value & v) { - // Print this header on stderr rather than stdout because the old shell script - // implementation did. I don't know why. + // Print this header on stderr rather than stdout, presumably to make it + // slightly easier to consume this output in other tools. std::cerr << "This attribute set contains:\n"; for (const auto & a : v.attrs->lexicographicOrder()) { std::string name = a->name; From 84d55716a9899954bc05b000287a54a59ee5aefe Mon Sep 17 00:00:00 2001 From: Chuck Date: Mon, 16 Sep 2019 09:36:00 -0700 Subject: [PATCH 296/391] Don't print header on stderr Automated consumers can use 'sed 1d' or similar to remove this header. This probably makes this output *easier* to consume correctly. Having this header show up in consumers' terminal or log output is probably not useful, but hiding it without hiding all error messages would have been more troublesome that just stripping it from stdout. I.e., previously, unsophisticated use would show undesired output: $ some-other-tool This attribute set contains: This attribute set contains: This attribute set contains: This attribute set contains: The simplest way to hide this undesired output would have been nixos-option ... 2>/dev/null, which would hide all error messages. We do not wish to encourage that. Correct use would have been something like: nixos-option ... 2> >( grep --line-buffered -v 'This attribute set contains:') After this change, correct use is simpler: nixos-option ... | sed 1d or nixos-option ... | sed '1/This attribute set contains:/d' if the caller don't know if this invocation of nixos-option will yield an attribute listing or an option description. --- nixos/modules/installer/tools/nixos-option/nixos-option.cc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index 174b7a0cbb6..2b95f9c9833 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -430,9 +430,7 @@ void printOption(Context & ctx, Out & out, const std::string & path, Value & opt void printListing(Out & out, Value & v) { - // Print this header on stderr rather than stdout, presumably to make it - // slightly easier to consume this output in other tools. - std::cerr << "This attribute set contains:\n"; + out << "This attribute set contains:\n"; for (const auto & a : v.attrs->lexicographicOrder()) { std::string name = a->name; if (!name.empty() && name[0] != '_') { From 4d17d5b31f196416ee4be50b0f7b125966ea210f Mon Sep 17 00:00:00 2001 From: Chuck Date: Mon, 16 Sep 2019 09:56:07 -0700 Subject: [PATCH 297/391] snake_case -> camelCase --- .../tools/nixos-option/nixos-option.cc | 115 +++++++++--------- 1 file changed, 57 insertions(+), 58 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index 2b95f9c9833..58d66bad1c6 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -56,7 +56,7 @@ class Out ONE_LINE, MULTI_LINE }; - explicit Out(std::ostream & ostream) : ostream(ostream), policy(ONE_LINE), write_since_sep(true) {} + explicit Out(std::ostream & ostream) : ostream(ostream), policy(ONE_LINE), writeSinceSep(true) {} Out(Out & o, const std::string & start, const std::string & end, LinePolicy policy); Out(Out & o, const std::string & start, const std::string & end, int count) : Out(o, start, end, count < 2 ? ONE_LINE : MULTI_LINE) @@ -72,16 +72,16 @@ class Out std::string indentation; std::string end; LinePolicy policy; - bool write_since_sep; + bool writeSinceSep; template friend Out & operator<<(Out & o, T thing); }; template Out & operator<<(Out & o, T thing) { - if (!o.write_since_sep && o.policy == Out::MULTI_LINE) { + if (!o.writeSinceSep && o.policy == Out::MULTI_LINE) { o.ostream << o.indentation; } - o.write_since_sep = true; + o.writeSinceSep = true; o.ostream << thing; return o; } @@ -89,13 +89,13 @@ template Out & operator<<(Out & o, T thing) template <> Out & operator<<(Out & o, Out::Separator /* thing */) { o.ostream << (o.policy == Out::ONE_LINE ? " " : "\n"); - o.write_since_sep = false; + o.writeSinceSep = false; return o; } Out::Out(Out & o, const std::string & start, const std::string & end, LinePolicy policy) : ostream(o.ostream), indentation(policy == ONE_LINE ? o.indentation : o.indentation + " "), - end(policy == ONE_LINE ? end : o.indentation + end), policy(policy), write_since_sep(true) + end(policy == ONE_LINE ? end : o.indentation + end), policy(policy), writeSinceSep(true) { o << start; *this << Out::sep; @@ -104,15 +104,15 @@ Out::Out(Out & o, const std::string & start, const std::string & end, LinePolicy // Stuff needed for evaluation struct Context { - Context(EvalState & state, Bindings & autoArgs, Value options_root, Value config_root) - : state(state), autoArgs(autoArgs), options_root(options_root), config_root(config_root), - underscore_type(state.symbols.create("_type")) + Context(EvalState & state, Bindings & autoArgs, Value optionsRoot, Value configRoot) + : state(state), autoArgs(autoArgs), optionsRoot(optionsRoot), configRoot(configRoot), + underscoreType(state.symbols.create("_type")) {} EvalState & state; Bindings & autoArgs; - Value options_root; - Value config_root; - Symbol underscore_type; + Value optionsRoot; + Value configRoot; + Symbol underscoreType; }; Value evaluateValue(Context & ctx, Value & v) @@ -131,16 +131,16 @@ bool isOption(Context & ctx, const Value & v) if (v.type != tAttrs) { return false; } - const auto & actual_type = v.attrs->find(ctx.underscore_type); - if (actual_type == v.attrs->end()) { + const auto & atualType = v.attrs->find(ctx.underscoreType); + if (atualType == v.attrs->end()) { return false; } try { - Value evaluated_type = evaluateValue(ctx, *actual_type->value); - if (evaluated_type.type != tString) { + Value evaluatedType = evaluateValue(ctx, *atualType->value); + if (evaluatedType.type != tString) { return false; } - return static_cast(evaluated_type.string.s) == "option"; + return static_cast(evaluatedType.string.s) == "option"; } catch (Error &) { return false; } @@ -238,7 +238,7 @@ void mapConfigValuesInOption( { Value * option; try { - option = findAlongAttrPath(ctx.state, path, ctx.autoArgs, ctx.config_root); + option = findAlongAttrPath(ctx.state, path, ctx.autoArgs, ctx.configRoot); } catch (Error &) { f(path, std::current_exception()); return; @@ -278,26 +278,25 @@ Value parseAndEval(EvalState & state, const std::string & expression, const std: return v; } -void printValue(Context & ctx, Out & out, std::variant maybe_value, - const std::string & path); +void printValue(Context & ctx, Out & out, std::variant maybeValue, const std::string & path); void printList(Context & ctx, Out & out, Value & v) { - Out list_out(out, "[", "]", v.listSize()); + Out listOut(out, "[", "]", v.listSize()); for (unsigned int n = 0; n < v.listSize(); ++n) { - printValue(ctx, list_out, *v.listElems()[n], ""); - list_out << Out::sep; + printValue(ctx, listOut, *v.listElems()[n], ""); + listOut << Out::sep; } } void printAttrs(Context & ctx, Out & out, Value & v, const std::string & path) { - Out attrs_out(out, "{", "}", v.attrs->size()); + Out attrsOut(out, "{", "}", v.attrs->size()); for (const auto & a : v.attrs->lexicographicOrder()) { std::string name = a->name; - attrs_out << name << " = "; - printValue(ctx, attrs_out, *a->value, appendPath(path, name)); - attrs_out << ";" << Out::sep; + attrsOut << name << " = "; + printValue(ctx, attrsOut, *a->value, appendPath(path, name)); + attrsOut << ";" << Out::sep; } } @@ -323,27 +322,27 @@ void multiLineStringEscape(Out & out, const std::string & s) void printMultiLineString(Out & out, const Value & v) { std::string s = v.string.s; - Out str_out(out, "''", "''", Out::MULTI_LINE); + Out strOut(out, "''", "''", Out::MULTI_LINE); std::string::size_type begin = 0; while (begin < s.size()) { std::string::size_type end = s.find('\n', begin); if (end == std::string::npos) { - multiLineStringEscape(str_out, s.substr(begin, s.size() - begin)); + multiLineStringEscape(strOut, s.substr(begin, s.size() - begin)); break; } - multiLineStringEscape(str_out, s.substr(begin, end - begin)); - str_out << Out::sep; + multiLineStringEscape(strOut, s.substr(begin, end - begin)); + strOut << Out::sep; begin = end + 1; } } -void printValue(Context & ctx, Out & out, std::variant maybe_value, const std::string & path) +void printValue(Context & ctx, Out & out, std::variant maybeValue, const std::string & path) { try { - if (auto ex = std::get_if(&maybe_value)) { + if (auto ex = std::get_if(&maybeValue)) { std::rethrow_exception(*ex); } - Value v = evaluateValue(ctx, std::get(maybe_value)); + Value v = evaluateValue(ctx, std::get(maybeValue)); if (ctx.state.isDerivation(v)) { describeDerivation(ctx, out, v); } else if (v.isList()) { @@ -384,14 +383,14 @@ void printConfigValue(Context & ctx, Out & out, const std::string & path, std::v void printAll(Context & ctx, Out & out) { mapOptions( - [&ctx, &out](const std::string & option_path) { + [&ctx, &out](const std::string & optionPath) { mapConfigValuesInOption( - [&ctx, &out](const std::string & config_path, std::variant v) { - printConfigValue(ctx, out, config_path, v); + [&ctx, &out](const std::string & configPath, std::variant v) { + printConfigValue(ctx, out, configPath, v); }, - option_path, ctx); + optionPath, ctx); }, - ctx, ctx.options_root); + ctx, ctx.optionsRoot); } void printAttr(Context & ctx, Out & out, const std::string & path, Value & root) @@ -406,7 +405,7 @@ void printAttr(Context & ctx, Out & out, const std::string & path, Value & root) void printOption(Context & ctx, Out & out, const std::string & path, Value & option) { out << "Value:\n"; - printAttr(ctx, out, path, ctx.config_root); + printAttr(ctx, out, path, ctx.configRoot); out << "\n\nDefault:\n"; printAttr(ctx, out, "default", option); @@ -439,26 +438,26 @@ void printListing(Out & out, Value & v) } } -bool optionTypeIs(Context & ctx, Value & v, const std::string & sought_type) +bool optionTypeIs(Context & ctx, Value & v, const std::string & soughtType) { try { - const auto & type_lookup = v.attrs->find(ctx.state.sType); - if (type_lookup == v.attrs->end()) { + const auto & typeLookup = v.attrs->find(ctx.state.sType); + if (typeLookup == v.attrs->end()) { return false; } - Value type = evaluateValue(ctx, *type_lookup->value); + Value type = evaluateValue(ctx, *typeLookup->value); if (type.type != tAttrs) { return false; } - const auto & name_lookup = type.attrs->find(ctx.state.sName); - if (name_lookup == type.attrs->end()) { + const auto & nameLookup = type.attrs->find(ctx.state.sName); + if (nameLookup == type.attrs->end()) { return false; } - Value name = evaluateValue(ctx, *name_lookup->value); + Value name = evaluateValue(ctx, *nameLookup->value); if (name.type != tString) { return false; } - return name.string.s == sought_type; + return name.string.s == soughtType; } catch (Error &) { return false; } @@ -484,11 +483,11 @@ Value getSubOptions(Context & ctx, Value & option) Value findAlongOptionPath(Context & ctx, const std::string & path) { Strings tokens = parseAttrPath(path); - Value v = ctx.options_root; + Value v = ctx.optionsRoot; for (auto i = tokens.begin(); i != tokens.end(); i++) { const auto & attr = *i; try { - bool last_attribute = std::next(i) == tokens.end(); + bool lastAttribute = std::next(i) == tokens.end(); v = evaluateValue(ctx, v); if (attr.empty()) { throw OptionPathError("empty attribute name"); @@ -496,7 +495,7 @@ Value findAlongOptionPath(Context & ctx, const std::string & path) if (isOption(ctx, v) && optionTypeIs(ctx, v, "submodule")) { v = getSubOptions(ctx, v); } - if (isOption(ctx, v) && optionTypeIs(ctx, v, "loaOf") && !last_attribute) { + if (isOption(ctx, v) && optionTypeIs(ctx, v, "loaOf") && !lastAttribute) { v = getSubOptions(ctx, v); // Note that we've consumed attr, but didn't actually use it. This is the path component that's looked // up in the list or attribute set that doesn't name an option -- the "root" in "users.users.root.name". @@ -538,8 +537,8 @@ int main(int argc, char ** argv) { bool all = false; std::string path = "."; - std::string options_expr = "(import {}).options"; - std::string config_expr = "(import {}).config"; + std::string optionsExpr = "(import {}).options"; + std::string configExpr = "(import {}).config"; std::vector args; struct MyArgs : nix::LegacyArgs, nix::MixEvalArgs @@ -557,9 +556,9 @@ int main(int argc, char ** argv) } else if (*arg == "--path") { path = nix::getArg(*arg, arg, end); } else if (*arg == "--options_expr") { - options_expr = nix::getArg(*arg, arg, end); + optionsExpr = nix::getArg(*arg, arg, end); } else if (*arg == "--config_expr") { - config_expr = nix::getArg(*arg, arg, end); + configExpr = nix::getArg(*arg, arg, end); } else if (!arg->empty() && arg->at(0) == '-') { return false; } else { @@ -576,10 +575,10 @@ int main(int argc, char ** argv) auto store = nix::openStore(); auto state = std::make_unique(myArgs.searchPath, store); - Value options_root = parseAndEval(*state, options_expr, path); - Value config_root = parseAndEval(*state, config_expr, path); + Value optionsRoot = parseAndEval(*state, optionsExpr, path); + Value configRoot = parseAndEval(*state, configExpr, path); - Context ctx{*state, *myArgs.getAutoArgs(*state), options_root, config_root}; + Context ctx{*state, *myArgs.getAutoArgs(*state), optionsRoot, configRoot}; Out out(std::cout); if (all) { From 56462408700a39bf49d130a862570ebf48b8e17c Mon Sep 17 00:00:00 2001 From: Chuck Date: Mon, 16 Sep 2019 10:01:40 -0700 Subject: [PATCH 298/391] Only print example when there is one --- .../installer/tools/nixos-option/nixos-option.cc | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index 58d66bad1c6..3261b263c2f 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -402,6 +402,15 @@ void printAttr(Context & ctx, Out & out, const std::string & path, Value & root) } } +bool has_example(Context & ctx, Value & option) { + try { + findAlongAttrPath(ctx.state, "example", ctx.autoArgs, option); + return true; + } catch (Error &) { + return false; + } +} + void printOption(Context & ctx, Out & out, const std::string & path, Value & option) { out << "Value:\n"; @@ -413,8 +422,10 @@ void printOption(Context & ctx, Out & out, const std::string & path, Value & opt out << "\n\nType:\n"; printAttr(ctx, out, "type.description", option); - out << "\n\nExample:\n"; - printAttr(ctx, out, "example", option); + if (has_example(ctx, option)) { + out << "\n\nExample:\n"; + printAttr(ctx, out, "example", option); + } out << "\n\nDescription:\n"; printAttr(ctx, out, "description", option); From 57a5752300c3157fe0c2ddea06f694bc78e9ba91 Mon Sep 17 00:00:00 2001 From: Chuck Date: Mon, 16 Sep 2019 10:35:51 -0700 Subject: [PATCH 299/391] Add maintainer --- maintainers/maintainer-list.nix | 6 ++++++ nixos/modules/installer/tools/nixos-option/default.nix | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 1f2cdda41d1..e73e99b47b4 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1194,6 +1194,12 @@ githubId = 30435868; name = "Okina Matara"; }; + chkno = { + email = "chuck@intelligence.org"; + github = "chkno"; + githubId = 1118859; + name = "Scott Worley"; + }; choochootrain = { email = "hurshal@imap.cc"; github = "choochootrain"; diff --git a/nixos/modules/installer/tools/nixos-option/default.nix b/nixos/modules/installer/tools/nixos-option/default.nix index 2c2674ad28d..753fd92c7bb 100644 --- a/nixos/modules/installer/tools/nixos-option/default.nix +++ b/nixos/modules/installer/tools/nixos-option/default.nix @@ -1,4 +1,4 @@ -{stdenv, boost, cmake, pkgconfig, nix, ... }: +{lib, stdenv, boost, cmake, pkgconfig, nix, ... }: stdenv.mkDerivation rec { name = "nixos-option"; src = ./.; @@ -6,5 +6,6 @@ stdenv.mkDerivation rec { buildInputs = [ boost nix ]; meta = { license = stdenv.lib.licenses.lgpl2Plus; + maintainers = with lib.maintainers; [ chkno ]; }; } From a3e31df4d779943cd462a36d63bb88cc4c3c66ed Mon Sep 17 00:00:00 2001 From: Chuck Date: Tue, 17 Sep 2019 17:36:26 -0700 Subject: [PATCH 300/391] (clang-format for has_example) --- .../installer/tools/nixos-option/nixos-option.cc | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index 3261b263c2f..778b7e32617 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -402,13 +402,14 @@ void printAttr(Context & ctx, Out & out, const std::string & path, Value & root) } } -bool has_example(Context & ctx, Value & option) { - try { - findAlongAttrPath(ctx.state, "example", ctx.autoArgs, option); - return true; - } catch (Error &) { - return false; - } +bool has_example(Context & ctx, Value & option) +{ + try { + findAlongAttrPath(ctx.state, "example", ctx.autoArgs, option); + return true; + } catch (Error &) { + return false; + } } void printOption(Context & ctx, Out & out, const std::string & path, Value & option) From 445145d5b9a33a9ded5a6928c52ddaeb862a8a8e Mon Sep 17 00:00:00 2001 From: Chuck Date: Tue, 17 Sep 2019 17:36:48 -0700 Subject: [PATCH 301/391] Support aggregate types attrsOf and listOf --- nixos/modules/installer/tools/nixos-option/nixos-option.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index 778b7e32617..c0c9ec0e5b4 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -475,6 +475,11 @@ bool optionTypeIs(Context & ctx, Value & v, const std::string & soughtType) } } +bool isAggregateOptionType(Context & ctx, Value & v) +{ + return optionTypeIs(ctx, v, "attrsOf") || optionTypeIs(ctx, v, "listOf") || optionTypeIs(ctx, v, "loaOf"); +} + MakeError(OptionPathError, EvalError); Value getSubOptions(Context & ctx, Value & option) @@ -507,7 +512,7 @@ Value findAlongOptionPath(Context & ctx, const std::string & path) if (isOption(ctx, v) && optionTypeIs(ctx, v, "submodule")) { v = getSubOptions(ctx, v); } - if (isOption(ctx, v) && optionTypeIs(ctx, v, "loaOf") && !lastAttribute) { + if (isOption(ctx, v) && isAggregateOptionType(ctx, v) && !lastAttribute) { v = getSubOptions(ctx, v); // Note that we've consumed attr, but didn't actually use it. This is the path component that's looked // up in the list or attribute set that doesn't name an option -- the "root" in "users.users.root.name". From 1e7985942b4f156d20ce2ddac9fc133a9091ed5b Mon Sep 17 00:00:00 2001 From: Chuck Date: Fri, 20 Sep 2019 13:37:12 -0700 Subject: [PATCH 302/391] snake_case -> camelCase --- nixos/modules/installer/tools/nixos-option/nixos-option.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index c0c9ec0e5b4..9b92dc829cd 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -402,7 +402,7 @@ void printAttr(Context & ctx, Out & out, const std::string & path, Value & root) } } -bool has_example(Context & ctx, Value & option) +bool hasExample(Context & ctx, Value & option) { try { findAlongAttrPath(ctx.state, "example", ctx.autoArgs, option); @@ -423,7 +423,7 @@ void printOption(Context & ctx, Out & out, const std::string & path, Value & opt out << "\n\nType:\n"; printAttr(ctx, out, "type.description", option); - if (has_example(ctx, option)) { + if (hasExample(ctx, option)) { out << "\n\nExample:\n"; printAttr(ctx, out, "example", option); } From 348bafc1dfbdf7aed48d08a55231880dffe149ed Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Mon, 4 Nov 2019 08:46:05 -0500 Subject: [PATCH 303/391] vivaldi: 2.9.1705.31-1 -> 2.9.1705.38-1 --- pkgs/applications/networking/browsers/vivaldi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix index c8d8d411f2d..f3228b11eb9 100644 --- a/pkgs/applications/networking/browsers/vivaldi/default.nix +++ b/pkgs/applications/networking/browsers/vivaldi/default.nix @@ -17,11 +17,11 @@ let vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi"; in stdenv.mkDerivation rec { pname = "vivaldi"; - version = "2.9.1705.31-1"; + version = "2.9.1705.38-1"; src = fetchurl { url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb"; - sha256 = "113bycfygyx09bc5bgsmdniffp3282004yrl7gr16dssxrw52al2"; + sha256 = "0jj2kfdl4788l132ncz3jf1pnjig7dc9gaxjmgv51n1ahmmx8shi"; }; unpackPhase = '' From 754e315fb59252a2bb2db71ad892c8d8b1465a01 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Wed, 9 Oct 2019 01:54:56 +0200 Subject: [PATCH 304/391] release-notes 20.03: added notice for rewritten nixos-option --- nixos/doc/manual/release-notes/rl-2003.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml index f001a18b1c1..72766f16eb9 100644 --- a/nixos/doc/manual/release-notes/rl-2003.xml +++ b/nixos/doc/manual/release-notes/rl-2003.xml @@ -49,6 +49,12 @@ zfs as soon as any zfs mountpoint is configured in fileSystems. + + + nixos-option has been rewritten in C++, speeding it up, improving correctness, + and adding a option which prints all options and their values. + + From ed2484f48a5c589564f6d4fc1068e0a55a0c03d2 Mon Sep 17 00:00:00 2001 From: Andrei Lapshin Date: Mon, 4 Nov 2019 13:06:18 +0300 Subject: [PATCH 305/391] hunspell-dicts: add Russian dictionary --- pkgs/development/libraries/hunspell/dictionaries.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/development/libraries/hunspell/dictionaries.nix b/pkgs/development/libraries/hunspell/dictionaries.nix index 3e1799d82cd..fb64aa81d1a 100644 --- a/pkgs/development/libraries/hunspell/dictionaries.nix +++ b/pkgs/development/libraries/hunspell/dictionaries.nix @@ -722,4 +722,14 @@ in rec { platforms = platforms.all; }; }; + + /* RUSSIAN */ + + ru_RU = ru-ru; + ru-ru = mkDictFromLibreOffice { + shortName = "ru-ru"; + dictFileName = "ru_RU"; + shortDescription = "Russian (Russian)"; + license = with stdenv.lib.licenses; [ mpl20 lgpl3 ]; + }; } From c97ca709c1d64927f1dcfbb6cc732e9ddd154039 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Mon, 4 Nov 2019 09:38:27 -0500 Subject: [PATCH 306/391] linux: 5.4-rc5 -> 5.4-rc6 --- pkgs/os-specific/linux/kernel/linux-testing.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index 9c91c91eeb4..8096684b137 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.4-rc5"; + version = "5.4-rc6"; extraMeta.branch = "5.4"; # modDirVersion needs to be x.y.z, will always add .0 @@ -11,7 +11,7 @@ buildLinux (args // rec { src = fetchurl { url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; - sha256 = "0047f1vq93cq9qa0550dnilci0qxy4ygc6brhcr6xbwqakglwr18"; + sha256 = "0ypazqr6z0n8fwaawxca0i56bwd4g4q2bw5qwayf0f4402m34xdh"; }; # Should the testing kernels ever be built on Hydra? From 9b773fd98a02e93cf02e68727096a01da7cc6735 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Mon, 4 Nov 2019 15:59:33 +0100 Subject: [PATCH 307/391] inkscape: fix darwin build Cairo is also a dependency now. /tmp/nix-build-inkscape-0.92.4.drv-0/inkscape-0.92.4/src/display/drawing-context.h:20:10: fatal error: 'cairo.h' file not found #include ^~~~~~~~~ 1 error generated. --- pkgs/applications/graphics/inkscape/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix index c945412bc2c..e3fa897aec6 100644 --- a/pkgs/applications/graphics/inkscape/default.nix +++ b/pkgs/applications/graphics/inkscape/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, perlPackages, libXft , libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm2 , glibmm, libsigcxx, lcms, boost, gettext, makeWrapper -, gsl, gtkspell2, python2, poppler, imagemagick, libwpg, librevenge +, gsl, gtkspell2, cairo, python2, poppler, imagemagick, libwpg, librevenge , libvisio, libcdr, libexif, potrace, cmake , librsvg, wrapGAppsHook }: @@ -52,7 +52,8 @@ stdenv.mkDerivation rec { librsvg # for loading icons python2Env perlPackages.perl - ] ++ stdenv.lib.optional (!stdenv.isDarwin) gtkspell2; + ] ++ stdenv.lib.optional (!stdenv.isDarwin) gtkspell2 + ++ stdenv.lib.optional stdenv.isDarwin cairo; enableParallelBuilding = true; From faf06da0df5824cdb92f8ffe7c66c2c468b7a202 Mon Sep 17 00:00:00 2001 From: Keito Kajitani Date: Tue, 5 Nov 2019 00:23:34 +0900 Subject: [PATCH 308/391] rictydiminished-with-firacode: fonttools requires python3 (#72762) * rictydiminished-with-firacode: fonttools requires python3 * rictydiminished-with-firacode: python3 is sufficient, purge python3Full --- pkgs/data/fonts/rictydiminished-with-firacode/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/fonts/rictydiminished-with-firacode/default.nix b/pkgs/data/fonts/rictydiminished-with-firacode/default.nix index 2e83d5b12d4..8b6c3749962 100644 --- a/pkgs/data/fonts/rictydiminished-with-firacode/default.nix +++ b/pkgs/data/fonts/rictydiminished-with-firacode/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, fontforge, pythonFull }: +{ stdenv, fetchgit, fontforge, python3 }: stdenv.mkDerivation rec { pname = "rictydiminished-with-firacode"; @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ fontforge - (pythonFull.withPackages (ps: [ + (python3.withPackages (ps: [ ps.jinja2 ps.py3to2 ps.fonttools From de1cbcc69234d9301eb60bf8b074239f703f4d0e Mon Sep 17 00:00:00 2001 From: Max Veytsman Date: Sun, 3 Nov 2019 22:20:49 -0500 Subject: [PATCH 309/391] nixos/nat: fix typo in comment This iptables directive is marking packets coming from the internal interfaces so they can later be NATed by the rule in https://github.com/NixOS/nixpkgs/blob/22378e699682778075bcfb12cb6bf710261586f5/nixos/modules/services/networking/nat.nix#L38-L42 . Fix the comment accordingly. --- nixos/modules/services/networking/nat.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix index 89d8590093d..5681bda51cb 100644 --- a/nixos/modules/services/networking/nat.nix +++ b/nixos/modules/services/networking/nat.nix @@ -29,7 +29,7 @@ let iptables -w -t nat -N nixos-nat-post # We can't match on incoming interface in POSTROUTING, so - # mark packets coming from the external interfaces. + # mark packets coming from the internal interfaces. ${concatMapStrings (iface: '' iptables -w -t nat -A nixos-nat-pre \ -i '${iface}' -j MARK --set-mark 1 From a38273aaa58e67ec9c315b8995f9db78fb5f682d Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Mon, 4 Nov 2019 08:09:25 -0800 Subject: [PATCH 310/391] asunder: 2.9.4 -> 2.9.5 (#72459) * asunder: 2.9.4 -> 2.9.5 * asunder: cleanup build inputs Move intltool and makeWrapper to nativeBuildInputs --- pkgs/applications/audio/asunder/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/audio/asunder/default.nix b/pkgs/applications/audio/asunder/default.nix index e252635e953..5a0b6797a24 100644 --- a/pkgs/applications/audio/asunder/default.nix +++ b/pkgs/applications/audio/asunder/default.nix @@ -12,15 +12,15 @@ with stdenv.lib; stdenv.mkDerivation rec { - version = "2.9.4"; + version = "2.9.5"; pname = "asunder"; src = fetchurl { url = "http://littlesvr.ca/asunder/releases/${pname}-${version}.tar.bz2"; - sha256 = "1bwc9v9l1f3kqjd7wis6g2sv6ibc618ybh0gsb8mkkfhadp68w30"; + sha256 = "069x6az2r3wlb2hd07iz0hxpxwknw7s9h7pyhnkmzv1pw9ci3kk4"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gtk2 libcddb intltool makeWrapper ]; + nativeBuildInputs = [ intltool makeWrapper pkgconfig ]; + buildInputs = [ gtk2 libcddb ]; runtimeDeps = optional mp3Support lame ++ From 1c336ed6fcb9cbe6559dcf5cfdd450a5a8832336 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 10:59:32 -0700 Subject: [PATCH 311/391] ocamlPackages.mlgmpidl: 1.2.10 -> 1.2.11 --- pkgs/development/ocaml-modules/mlgmpidl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/ocaml-modules/mlgmpidl/default.nix b/pkgs/development/ocaml-modules/mlgmpidl/default.nix index d25a5f4ce06..2733ad2b0fb 100644 --- a/pkgs/development/ocaml-modules/mlgmpidl/default.nix +++ b/pkgs/development/ocaml-modules/mlgmpidl/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { name = "ocaml${ocaml.version}-mlgmpidl-${version}"; - version = "1.2.10"; + version = "1.2.11"; src = fetchFromGitHub { owner = "nberth"; repo = "mlgmpidl"; rev = version; - sha256 = "181vpqx8zdairq645b8qpkzj4fnkb508iavk7sqzskag1s8613qn"; + sha256 = "1rycl84sdvgb5avdsya9iz8brx92y2zcb6cn4w1j0164j6q2ril9"; }; buildInputs = [ perl gmp mpfr ocaml findlib camlidl ]; From 5524f4df0daa7e71cb94fd554af67b736361dca2 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 16:02:07 -0700 Subject: [PATCH 312/391] gitAndTools.pre-commit: 1.18.3 -> 1.20.0 --- pkgs/development/python-modules/pre-commit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pre-commit/default.nix b/pkgs/development/python-modules/pre-commit/default.nix index 18b548faf21..27d56bab06e 100644 --- a/pkgs/development/python-modules/pre-commit/default.nix +++ b/pkgs/development/python-modules/pre-commit/default.nix @@ -14,12 +14,12 @@ buildPythonApplication rec { pname = "pre-commit"; - version = "1.18.3"; + version = "1.20.0"; src = fetchPypi { inherit version; pname = "pre_commit"; - sha256 = "0gqzx5n5kps7z45rgydciz0sq1m09b4g49vclhvybi57pn3hag0x"; + sha256 = "0vmv3hrivm0sm81cn59n2pmw8h323sg4sgncl910djby2a3jc5cz"; }; propagatedBuildInputs = [ From d751e085221cfc019a9fe0409abd0ec24e426a1b Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 14:28:04 -0700 Subject: [PATCH 313/391] python38Packages.license-expression: 0.999 -> 1.0 --- .../development/python-modules/license-expression/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/license-expression/default.nix b/pkgs/development/python-modules/license-expression/default.nix index 2bf204a9a62..177949fbd51 100644 --- a/pkgs/development/python-modules/license-expression/default.nix +++ b/pkgs/development/python-modules/license-expression/default.nix @@ -4,13 +4,13 @@ buildPythonPackage rec { pname = "license-expression"; - version = "0.999"; + version = "1.0"; src = fetchFromGitHub { owner = "nexB"; repo = "license-expression"; rev = "v${version}"; - sha256 = "0q8sha38w7ajg7ar0rmbqrwv0n58l8yzyl96cqwcbvp578fn3ir0"; + sha256 = "15dk3j5sr8iypzqqa8wa12b2a84f6ssbfvam1c1vzz00y2y5v3ic"; }; postPatch = "patchShebangs ./configure"; From b1b776b11c2e4b73e69d4bef7f33fd2bb215c286 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 17:13:03 -0700 Subject: [PATCH 314/391] python38Packages.xdis: 4.0.4 -> 4.1.2 --- pkgs/development/python-modules/xdis/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/xdis/default.nix b/pkgs/development/python-modules/xdis/default.nix index cec21c44657..d120f17780b 100644 --- a/pkgs/development/python-modules/xdis/default.nix +++ b/pkgs/development/python-modules/xdis/default.nix @@ -6,14 +6,14 @@ buildPythonPackage rec { pname = "xdis"; - version = "4.0.4"; + version = "4.1.2"; disabled = isPy27; src = fetchFromGitHub { owner = "rocky"; repo = "python-xdis"; rev = version; - sha256 = "1m54d61ka9wgq0iqlzmsikzxa6qmwvnwsgm2kxb3vw5ic1psv4pv"; + sha256 = "0icqhafsnmcs6628cg3jjgq0d3x835nqmhljcz93yi457hfqd2lp"; }; checkInputs = [ pytest ]; From 7a17d2df56abadf62dc27a2f63190e6a201f93ce Mon Sep 17 00:00:00 2001 From: gnidorah Date: Sat, 26 Oct 2019 03:38:11 +0300 Subject: [PATCH 315/391] video2midi: 0.3.9.5 -> 0.3.9.6 --- pkgs/tools/audio/video2midi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/audio/video2midi/default.nix b/pkgs/tools/audio/video2midi/default.nix index c664c745f32..43539f1ee29 100644 --- a/pkgs/tools/audio/video2midi/default.nix +++ b/pkgs/tools/audio/video2midi/default.nix @@ -8,7 +8,7 @@ let }); in pythonPackages.buildPythonApplication rec { pname = "video2midi"; - version = "0.3.9.5"; + version = "0.3.9.6"; format = "other"; @@ -16,7 +16,7 @@ in pythonPackages.buildPythonApplication rec { owner = "svsdval"; repo = pname; rev = version; - sha256 = "1jc50zimc64ilc1as3dyh16lsygwqyvi381mw8si8m9j3pw6may4"; + sha256 = "0x9b8hwl325gd6v9i60yh95gbn49nydpwyfqs92mbq8vvvq7x8fk"; }; propagatedBuildInputs = with pythonPackages; [ opencv3_ midiutil pygame pyopengl ]; From 2632156cf592bbdce7d54b6e2de7af7e2c14035b Mon Sep 17 00:00:00 2001 From: gnidorah Date: Sat, 26 Oct 2019 04:21:04 +0300 Subject: [PATCH 316/391] phodav: 2.2 -> 2.3 --- pkgs/tools/networking/phodav/default.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/networking/phodav/default.nix b/pkgs/tools/networking/phodav/default.nix index 320e7614c7c..0d7b30ae152 100644 --- a/pkgs/tools/networking/phodav/default.nix +++ b/pkgs/tools/networking/phodav/default.nix @@ -1,20 +1,24 @@ { stdenv, fetchurl -, intltool, pkgconfig, glib, libsoup }: +, pkgconfig, libsoup, meson, ninja }: let - version = "2.2"; + version = "2.3"; in stdenv.mkDerivation rec { pname = "phodav"; inherit version; src = fetchurl { url = "http://ftp.gnome.org/pub/GNOME/sources/phodav/${version}/${pname}-${version}.tar.xz"; - sha256 = "1hap0lncbcmivnflh0fbx7y58ry78p9wgj7z03r64ic0kvf0a0q8"; + sha256 = "0ndy5qva6bq7vhk06jq2d4nr5fp98xsdwypg42vjz91h9ii1xxkf"; }; - buildInputs = [ intltool glib libsoup ]; + mesonFlags = [ + "-Davahi=disabled" + "-Dsystemd=disabled" + "-Dgtk_doc=disabled" + ]; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ libsoup pkgconfig meson ninja ]; meta = with stdenv.lib; { description = "WebDav server implementation and library using libsoup"; From f7c032ee008ea0762b46817fb132a1cbe5db4bce Mon Sep 17 00:00:00 2001 From: gnidorah Date: Sat, 26 Oct 2019 11:46:05 +0300 Subject: [PATCH 317/391] pythonPackages.pykde4: fix url Became incorrect after #66585 --- pkgs/development/python-modules/pykde4/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/pykde4/default.nix b/pkgs/development/python-modules/pykde4/default.nix index d2c66c8cd2c..5be43a412e5 100644 --- a/pkgs/development/python-modules/pykde4/default.nix +++ b/pkgs/development/python-modules/pykde4/default.nix @@ -19,7 +19,7 @@ in stdenv.mkDerivation rec { pname = "pykde4"; src = fetchurl { - url = "mirror://kde/stable/${version}/src/${pname}-${version}-${version}.tar.xz"; + url = "mirror://kde/stable/${version}/src/${pname}-${version}.tar.xz"; sha256 = "1z40gnkyjlv6ds3cmpzvv99394rhmydr6rxx7qj33m83xnsxgfbz"; }; From 34647cf35b256ea6bb55fc739a3c46ad4c9604ad Mon Sep 17 00:00:00 2001 From: gnidorah Date: Sat, 26 Oct 2019 12:40:13 +0300 Subject: [PATCH 318/391] kmsxx: 2018-10-23 -> 2019-10-28 --- pkgs/development/libraries/kmsxx/default.nix | 14 +++++++------- pkgs/top-level/all-packages.nix | 4 +--- pkgs/top-level/python-packages.nix | 5 +++-- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/pkgs/development/libraries/kmsxx/default.nix b/pkgs/development/libraries/kmsxx/default.nix index 71e88559dee..70058db4c0a 100644 --- a/pkgs/development/libraries/kmsxx/default.nix +++ b/pkgs/development/libraries/kmsxx/default.nix @@ -1,25 +1,25 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, libdrm, python }: +{ stdenv, fetchFromGitHub, cmake, pkgconfig, libdrm +, withPython ? false, python }: stdenv.mkDerivation { pname = "kmsxx"; - version = "2018-10-23"; + version = "2019-10-28"; src = fetchFromGitHub { owner = "tomba"; repo = "kmsxx"; fetchSubmodules = true; - rev = "c0093c91f0fa2fd6a5b9d1b206a6f44dcd55bfb5"; - sha256 = "03rv92r938nxb4k4gwcvxy76jnhxdx6x60b58jws83285hd9rgkf"; + rev = "d29da28c7f2a0212d834136fe64fb8ca96a0a235"; + sha256 = "0r94qjyy3s36s32s1xkzij0g2pfwigmyrshw8ni2xli7mg87g1zm"; }; enableParallelBuilding = true; + cmakeFlags = stdenv.lib.optional (!withPython) "-DKMSXX_ENABLE_PYTHON=OFF"; + nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ libdrm python ]; - pythonPath = [ ]; - passthru.python = python; - meta = with stdenv.lib; { description = "C++11 library, utilities and python bindings for Linux kernel mode setting"; homepage = https://github.com/tomba/kmsxx; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ec5759cd98f..cf87c9b994b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15923,9 +15923,7 @@ in kmscube = callPackage ../os-specific/linux/kmscube { }; - kmsxx = callPackage ../development/libraries/kmsxx { - stdenv = gcc6Stdenv; - }; + kmsxx = callPackage ../development/libraries/kmsxx { }; latencytop = callPackage ../os-specific/linux/latencytop { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c4151922d62..1c38b47576a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4322,12 +4322,13 @@ in { kmapper = callPackage ../development/python-modules/kmapper { }; - kmsxx = (callPackage ../development/libraries/kmsxx { + kmsxx = toPythonModule ((callPackage ../development/libraries/kmsxx { inherit (pkgs.kmsxx) stdenv; inherit (pkgs) pkgconfig; + withPython = true; }).overrideAttrs (oldAttrs: { name = "${python.libPrefix}-${pkgs.kmsxx.name}"; - }); + })); precis-i18n = callPackage ../development/python-modules/precis-i18n { }; From 791f835c2ee4ee0ff7b3ade2b53151d78088e59e Mon Sep 17 00:00:00 2001 From: gnidorah Date: Sat, 26 Oct 2019 13:36:51 +0300 Subject: [PATCH 319/391] vk-messenger: 4.0.1 -> 4.5.2 --- .../instant-messengers/vk-messenger/default.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/vk-messenger/default.nix b/pkgs/applications/networking/instant-messengers/vk-messenger/default.nix index 03bf3b3bbdd..983b8509dc2 100644 --- a/pkgs/applications/networking/instant-messengers/vk-messenger/default.nix +++ b/pkgs/applications/networking/instant-messengers/vk-messenger/default.nix @@ -1,19 +1,19 @@ { stdenv, fetchurl, rpmextract, autoPatchelfHook -, xorg, gtk2, gnome2, nss, alsaLib, udev, libnotify }: +, xorg, gtk3, gnome2, nss, alsaLib, udev, libnotify }: let - version = "4.0.1"; + version = "4.5.2"; in stdenv.mkDerivation { pname = "vk-messenger"; inherit version; src = { i686-linux = fetchurl { url = "https://desktop.userapi.com/rpm/master/vk-${version}.i686.rpm"; - sha256 = "0mgppa9qnhix64zp40dc05yc9klsc7qiwcgw7pwq2wm7m3fz3nm8"; + sha256 = "11xsdmvd2diq3m61si87x2c08nap0vakcypm90wjmdjwayg3fdlw"; }; x86_64-linux = fetchurl { url = "https://desktop.userapi.com/rpm/master/vk-${version}.x86_64.rpm"; - sha256 = "0ra0y4dfx4gfa1r3lm6v42j7c9pf7a8vh12kxv3wkg3pvijwgdsm"; + sha256 = "0j65d6mwj6rxczi0p9fsr6jh37jxw3a3h6w67xwgdvibb7lf3gbb"; }; }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); @@ -21,7 +21,7 @@ in stdenv.mkDerivation { buildInputs = (with xorg; [ libXdamage libXtst libXScrnSaver libxkbfile ]) ++ [ - gtk2 gnome2.GConf nss alsaLib + gtk3 nss alsaLib ]; runtimeDependencies = [ udev.lib libnotify ]; @@ -49,6 +49,5 @@ in stdenv.mkDerivation { license = licenses.unfree; maintainers = [ maintainers.gnidorah ]; platforms = ["i686-linux" "x86_64-linux"]; - hydraPlatforms = []; }; } From afb4d447ba4fa56f12d8c2e742dcbb1ebbaec7c2 Mon Sep 17 00:00:00 2001 From: gnidorah Date: Sat, 26 Oct 2019 14:16:47 +0300 Subject: [PATCH 320/391] vkquake: 1.01.0 -> 1.02.1 --- pkgs/games/quakespasm/vulkan.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix index 114f862888d..e8678253b40 100644 --- a/pkgs/games/quakespasm/vulkan.nix +++ b/pkgs/games/quakespasm/vulkan.nix @@ -2,14 +2,13 @@ stdenv.mkDerivation rec { pname = "vkquake"; - majorVersion = "1.01"; - version = "${majorVersion}.0"; + version = "1.02.1"; src = fetchFromGitHub { owner = "Novum"; repo = "vkQuake"; rev = version; - sha256 = "1iwin8j5kbyrknbkhjgpy8nmm7pxqzr0daa9gn7p38qhg2mh0a39"; + sha256 = "0fk9jqql0crnf0s12cxnris392ajciyw1zbz17qgs5hdyivp9vdx"; }; sourceRoot = "source/Quake"; From 1c3407f954f55b63142271295fa864aec9b857c5 Mon Sep 17 00:00:00 2001 From: gnidorah Date: Sat, 26 Oct 2019 15:12:37 +0300 Subject: [PATCH 321/391] openmw-tes3mp: 2019-06-09 -> 2019-07-01 --- pkgs/games/openmw/tes3mp.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/games/openmw/tes3mp.nix b/pkgs/games/openmw/tes3mp.nix index 2bc34a6ec9d..4bbddfbb1df 100644 --- a/pkgs/games/openmw/tes3mp.nix +++ b/pkgs/games/openmw/tes3mp.nix @@ -24,20 +24,20 @@ let coreScripts = fetchFromGitHub { owner = "TES3MP"; repo = "CoreScripts"; - # usually latest master - rev = "71e15fa3b1d5131b6607ba1589f41c06672ce376"; - sha256 = "1kwii8rpsxjmz4dh06wb0qaix17hq5s1qsvysv6n6209vlclfxjg"; + # usually latest in stable branch (e.g. 0.7.0) + rev = "506146f5b2297242b713a030a589966156df1e8e"; + sha256 = "0p4a4bgigyxfmaczf3jnz6ik4hgvdaafzc4614hbmbm1qbn8wpf9"; }; in openmw.overrideAttrs (oldAttrs: rec { - version = "2019-06-09"; + version = "2019-07-01"; name = "openmw-tes3mp-${version}"; src = fetchFromGitHub { owner = "TES3MP"; repo = "openmw-tes3mp"; # usually latest in stable branch (e.g. 0.7.0) - rev = "01804af100785bc2c162d568258d9662012627a3"; - sha256 = "0j99v9vvmic0bqw3y4550k1dy058lwvs9s9qcjmxh1wkqkvrpdnp"; + rev = "94a9292cc676a037496f98877b62da80cde2ac47"; + sha256 = "0kc45xs33rsxac1aba248slzvljx90ybdk4ag9jwjjmsjmy7w2w5"; }; nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeWrapper ]; From b505f81181bf56eb37a01bc1d8d1532361fdfa16 Mon Sep 17 00:00:00 2001 From: gnidorah Date: Sat, 26 Oct 2019 15:20:36 +0300 Subject: [PATCH 322/391] openjk: 2019-06-24 -> 2019-10-25 --- pkgs/games/openjk/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/games/openjk/default.nix b/pkgs/games/openjk/default.nix index 9109d2667c3..fd12c901583 100644 --- a/pkgs/games/openjk/default.nix +++ b/pkgs/games/openjk/default.nix @@ -21,13 +21,13 @@ let }; in stdenv.mkDerivation { pname = "OpenJK"; - version = "2019-06-24"; + version = "2019-10-25"; src = fetchFromGitHub { owner = "JACoders"; repo = "OpenJK"; - rev = "e8b5c135eccb05ddae67e00ff944001f373fddd4"; - sha256 = "0qkbn59swhnb0anvy9gq945rkb58j6axlcfgb7sff0m4swqw2394"; + rev = "e9116155052ef6a22135a1806a10e959aa9a1e00"; + sha256 = "1f1bz1g2ksw4m3rnbh6fdsawcrpbfjdmq1gs2xj0q450yb840l3z"; }; dontAddPrefix = true; From 0f68bf333ccf7b19252c30cb6a772b55c6857baf Mon Sep 17 00:00:00 2001 From: gnidorah Date: Fri, 1 Nov 2019 23:35:59 +0300 Subject: [PATCH 323/391] openxray: 510 -> 558 --- pkgs/games/openxray/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/openxray/default.nix b/pkgs/games/openxray/default.nix index d8ff0dd8d9e..9960d94a247 100644 --- a/pkgs/games/openxray/default.nix +++ b/pkgs/games/openxray/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "OpenXRay"; - version = "510"; + version = "558"; src = fetchFromGitHub { owner = "OpenXRay"; repo = "xray-16"; rev = version; - sha256 = "0q142l6xvgnd6ycncqld69izxclynqrs73aq89pfy1r1nzhd60ay"; + sha256 = "1wnkx9g0ww4f5pljrb0wzs054jzkig1i5hlz1p509rfvnhc50afp"; fetchSubmodules = true; }; From b7dc9e131f5855d254717e2b2b054400b20aef8a Mon Sep 17 00:00:00 2001 From: gnidorah Date: Mon, 4 Nov 2019 10:31:51 +0300 Subject: [PATCH 324/391] pakcs: 2.1.2 -> 2.2.0 --- .../development/compilers/pakcs/curry-base.nix | 2 +- .../compilers/pakcs/curry-frontend.nix | 18 ++++++++++-------- pkgs/development/compilers/pakcs/default.nix | 4 ++-- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/pkgs/development/compilers/pakcs/curry-base.nix b/pkgs/development/compilers/pakcs/curry-base.nix index 2d98699d283..b34a2146383 100644 --- a/pkgs/development/compilers/pakcs/curry-base.nix +++ b/pkgs/development/compilers/pakcs/curry-base.nix @@ -3,7 +3,7 @@ }: mkDerivation { pname = "curry-base"; - version = "1.0.0"; + version = "1.1.0"; src = ./.; libraryHaskellDepends = [ base containers directory extra filepath mtl parsec pretty time diff --git a/pkgs/development/compilers/pakcs/curry-frontend.nix b/pkgs/development/compilers/pakcs/curry-frontend.nix index d94bef9ec7f..b169578c7c3 100644 --- a/pkgs/development/compilers/pakcs/curry-frontend.nix +++ b/pkgs/development/compilers/pakcs/curry-frontend.nix @@ -1,21 +1,23 @@ -{ mkDerivation, base, Cabal, containers, curry-base, directory -, extra, filepath, mtl, network-uri, pretty, process, set-extra -, stdenv, transformers +{ mkDerivation, base, bytestring, Cabal, containers, curry-base +, directory, extra, file-embed, filepath, mtl, network-uri, pretty +, process, set-extra, stdenv, template-haskell, transformers }: mkDerivation { pname = "curry-frontend"; - version = "1.0.2"; + version = "1.0.4"; src = ./.; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ - base containers curry-base directory extra filepath mtl network-uri - pretty process set-extra transformers + base bytestring containers curry-base directory extra file-embed + filepath mtl network-uri pretty process set-extra template-haskell + transformers ]; executableHaskellDepends = [ - base containers curry-base directory extra filepath mtl network-uri - pretty process set-extra transformers + base bytestring containers curry-base directory extra file-embed + filepath mtl network-uri pretty process set-extra template-haskell + transformers ]; testHaskellDepends = [ base Cabal curry-base filepath ]; homepage = "http://curry-language.org"; diff --git a/pkgs/development/compilers/pakcs/default.nix b/pkgs/development/compilers/pakcs/default.nix index 0b46bd1f24d..94b6daa888e 100644 --- a/pkgs/development/compilers/pakcs/default.nix +++ b/pkgs/development/compilers/pakcs/default.nix @@ -4,13 +4,13 @@ , curl, git, unzip, gnutar, coreutils, sqlite }: let - name = "pakcs-2.1.2"; + name = "pakcs-2.2.0"; # Don't switch to development release without a reason, because its # source updates without version bump. Prefer current release instead. src = fetchurl { url = "https://www.informatik.uni-kiel.de/~pakcs/download/${name}-src.tar.gz"; - sha256 = "0i0nprli3knc7zlp5qkqkpiq3ny36v52hnvgph376l3ajjds7wf6"; + sha256 = "0c0a6cp9lwha5i90kv9ya2zi1ggnvkf4gwjfzbffgwwa77s2wz2l"; }; curry-frontend = (haskellPackages.override { From 5842a29159bf2b8287993706f17b3c424b47be0c Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Fri, 1 Nov 2019 09:33:21 -0700 Subject: [PATCH 325/391] python3Packages.solo-python: 0.0.15 -> 0.0.18 --- .../python-modules/solo-python/default.nix | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/solo-python/default.nix b/pkgs/development/python-modules/solo-python/default.nix index 7b2b578eed8..829874f25ad 100644 --- a/pkgs/development/python-modules/solo-python/default.nix +++ b/pkgs/development/python-modules/solo-python/default.nix @@ -1,21 +1,22 @@ -{ lib, buildPythonPackage, fetchFromGitHub +{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder , click, ecdsa, fido2, intelhex, pyserial, pyusb, requests}: buildPythonPackage rec { pname = "solo-python"; - version = "0.0.15"; + version = "0.0.18"; format = "flit"; + disabled = pythonOlder "3.6"; # only python>=3.6 is supported src = fetchFromGitHub { owner = "solokeys"; repo = pname; rev = version; - sha256 = "14na9s65hxzx141bdv0j7rx1wi3cv85jzpdivsq1rwp6hdhiazr1"; + sha256 = "01mgppjvxlr93vrgz7bzisghpg1vqyaj4cg5wngk0h499iyx4d9q"; }; - # TODO: remove ASAP + # replaced pinned fido, with unrestricted fido version patchPhase = '' - substituteInPlace pyproject.toml --replace "fido2 == 0.7.0" "fido2 >= 0.7.0" + sed -i '/fido2/c\"fido2",' pyproject.toml ''; propagatedBuildInputs = [ @@ -28,6 +29,20 @@ requests ]; + # allow for writable directory for darwin + preBuild = '' + export HOME=$TMPDIR + ''; + + # repo doesn't contain tests, ensure imports aren't broken + pythonImportsCheck = [ + "solo" + "solo.cli" + "solo.commands" + "solo.fido2" + "solo.operations" + ]; + meta = with lib; { description = "Python tool and library for SoloKeys"; homepage = "https://github.com/solokeys/solo-python"; From 1a3f284b9cfcceeb69e1f6d98106a6620f8a0389 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 4 Nov 2019 18:19:23 +0100 Subject: [PATCH 326/391] gnome3.devhelp: clean up * Format with nixpkgs-format * Quote URL * Fix license --- .../gnome-3/devtools/devhelp/default.nix | 46 +++++++++++++++---- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/pkgs/desktops/gnome-3/devtools/devhelp/default.nix b/pkgs/desktops/gnome-3/devtools/devhelp/default.nix index 8d731d829b2..0bc99515b34 100644 --- a/pkgs/desktops/gnome-3/devtools/devhelp/default.nix +++ b/pkgs/desktops/gnome-3/devtools/devhelp/default.nix @@ -1,6 +1,21 @@ -{ stdenv, fetchurl, meson, ninja, pkgconfig, gnome3, gtk3, wrapGAppsHook -, glib, amtk, appstream-glib, gobject-introspection, python3 -, webkitgtk, gettext, itstool, gsettings-desktop-schemas }: +{ stdenv +, fetchurl +, meson +, ninja +, pkgconfig +, gnome3 +, gtk3 +, wrapGAppsHook +, glib +, amtk +, appstream-glib +, gobject-introspection +, python3 +, webkitgtk +, gettext +, itstool +, gsettings-desktop-schemas +}: stdenv.mkDerivation rec { pname = "devhelp"; @@ -11,10 +26,25 @@ stdenv.mkDerivation rec { sha256 = "0zpmn6fgkgiayvn4diia5df0s6s7dqrdnp3nrvpavsmgn0vhb4pg"; }; - nativeBuildInputs = [ meson ninja pkgconfig gettext itstool wrapGAppsHook appstream-glib gobject-introspection python3 ]; + nativeBuildInputs = [ + meson + ninja + pkgconfig + gettext + itstool + wrapGAppsHook + appstream-glib + gobject-introspection + python3 + ]; + buildInputs = [ - glib gtk3 webkitgtk amtk - gnome3.adwaita-icon-theme gsettings-desktop-schemas + glib + gtk3 + webkitgtk + amtk + gnome3.adwaita-icon-theme + gsettings-desktop-schemas ]; doCheck = true; @@ -33,8 +63,8 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "API documentation browser for GNOME"; - homepage = https://wiki.gnome.org/Apps/Devhelp; - license = licenses.gpl2; + homepage = "https://wiki.gnome.org/Apps/Devhelp"; + license = licenses.gpl3Plus; maintainers = gnome3.maintainers; platforms = platforms.linux; }; From 6160907f85f2e014e885599b0e19d5f302577783 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 4 Nov 2019 18:20:42 +0100 Subject: [PATCH 327/391] gnome3.devhelp: fix blank pages --- pkgs/desktops/gnome-3/devtools/devhelp/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/desktops/gnome-3/devtools/devhelp/default.nix b/pkgs/desktops/gnome-3/devtools/devhelp/default.nix index 0bc99515b34..080a332d7df 100644 --- a/pkgs/desktops/gnome-3/devtools/devhelp/default.nix +++ b/pkgs/desktops/gnome-3/devtools/devhelp/default.nix @@ -15,6 +15,7 @@ , gettext , itstool , gsettings-desktop-schemas +, shared-mime-info }: stdenv.mkDerivation rec { @@ -54,6 +55,14 @@ stdenv.mkDerivation rec { patchShebangs meson_post_install.py ''; + preFixup = '' + gappsWrapperArgs+=( + # Fix pages being blank + # https://gitlab.gnome.org/GNOME/devhelp/issues/14 + --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" + ) + ''; + passthru = { updateScript = gnome3.updateScript { packageName = "devhelp"; From c4821a82f880df90987ff56a4e781fc42ed914b5 Mon Sep 17 00:00:00 2001 From: Renaud Date: Mon, 4 Nov 2019 19:41:24 +0100 Subject: [PATCH 328/391] theharvester: 3.0.6 -> 3.1 + use buildPythonApplication now that upstream ships a setup.py (#72748) --- pkgs/tools/security/theharvester/default.nix | 44 +++++++++----------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/pkgs/tools/security/theharvester/default.nix b/pkgs/tools/security/theharvester/default.nix index 4a1e92e6104..4153ddafbf4 100644 --- a/pkgs/tools/security/theharvester/default.nix +++ b/pkgs/tools/security/theharvester/default.nix @@ -1,40 +1,36 @@ -{ stdenv, fetchFromGitHub, makeWrapper, python3Packages }: +{ lib, fetchFromGitHub, python3 }: -stdenv.mkDerivation rec { +python3.pkgs.buildPythonApplication rec { pname = "theHarvester"; - version = "3.0.6"; + version = "3.1"; src = fetchFromGitHub { owner = "laramies"; repo = pname; - rev = version; - sha256 = "0f33a7sfb5ih21yp1wspb03fxsls1m14yizgrw0srfirm2a6aa0c"; + rev = "V${version}"; + sha256 = "0lxzxfa9wbzim50d2jmd27i57szd0grm1dfayhnym86jn01qpvn3"; }; - nativeBuildInputs = [ makeWrapper ]; + propagatedBuildInputs = with python3.pkgs; [ + aiodns beautifulsoup4 dns grequests netaddr + plotly pyyaml requests retrying shodan texttable + ]; - # add dependencies - propagatedBuildInputs = with python3Packages; [ requests beautifulsoup4 plotly ]; + checkInputs = [ python3.pkgs.pytest ]; - installPhase = '' - # create dirs - mkdir -p $out/share/${pname} $out/bin + checkPhase = "runHook preCheck ; pytest tests/test_myparser.py ; runHook postCheck"; + # We don't run other tests (discovery modules) because they require network access - # move project code - mv * $out/share/${pname}/ - - # make project runnable - chmod +x $out/share/${pname}/theHarvester.py - ln -s $out/share/${pname}/theHarvester.py $out/bin - - wrapProgram "$out/bin/theHarvester.py" --prefix PYTHONPATH : $out/share/${pname}:$PYTHONPATH - ''; - - meta = with stdenv.lib; { + meta = with lib; { description = "Gather E-mails, subdomains and names from different public sources"; + longDescription = '' + theHarvester is a very simple, yet effective tool designed to be used in the early + stages of a penetration test. Use it for open source intelligence gathering and + helping to determine an entity's external threat landscape on the internet. The tool + gathers emails, names, subdomains, IPs, and URLs using multiple public data sources. + ''; homepage = "https://github.com/laramies/theHarvester"; - platforms = platforms.all; - maintainers = with maintainers; [ treemo ]; + maintainers = with maintainers; [ c0bw3b treemo ]; license = licenses.gpl2; }; } From e2058c7231555480efda9ac182d394bcad91f9f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Luis=20Lafuente?= Date: Mon, 4 Nov 2019 20:27:52 +0100 Subject: [PATCH 329/391] clj-kondo: 2019.10.26 -> 2019.11.03 --- pkgs/development/tools/clj-kondo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/clj-kondo/default.nix b/pkgs/development/tools/clj-kondo/default.nix index 9b2e80c7674..f821ac32fc4 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.10.26"; + version = "2019.11.03"; 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 = "1pq03g4bkslpa3jv7vrnw3sy6wnqdgnavl8qyb4lb1y96pmk9hd1"; + sha256 = "1chvdfczlxyy1jspyf4yv1kmgz6fq4fih5qvfarvcyw7nlxlj2np"; }; dontUnpack = true; From 527dd6e833be4aff9874f296ae1bd5bd9ea3d27a Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 4 Nov 2019 21:10:41 +0100 Subject: [PATCH 330/391] =?UTF-8?q?mm-common:=200.9.12=20=E2=86=92=201.0.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://download.gnome.org/sources/mm-common/1.0/mm-common-1.0.0.news --- .../libraries/mm-common/default.nix | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/mm-common/default.nix b/pkgs/development/libraries/mm-common/default.nix index f590653df6b..9a789a58cca 100644 --- a/pkgs/development/libraries/mm-common/default.nix +++ b/pkgs/development/libraries/mm-common/default.nix @@ -1,14 +1,26 @@ -{ stdenv, fetchurl, gnome3 }: +{ stdenv +, fetchurl +, gnome3 +, meson +, python3 +, ninja +}: stdenv.mkDerivation rec { pname = "mm-common"; - version = "0.9.12"; + version = "1.0.0"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "02vwgv404b56wxy0gnm9xq9fvzgn9dhfqcy2hhl78ljv3v7drzyf"; + sha256 = "1m4w33da9f4rx2d6kdj3ix3kl0gn16ml82v2mdn4hljr3q29nzdr"; }; + nativeBuildInputs = [ + meson + python3 + ninja + ]; + passthru = { updateScript = gnome3.updateScript { packageName = pname; @@ -25,7 +37,7 @@ stdenv.mkDerivation rec { control repository. An installation of mm-common is not required for building tarball releases, unless configured to use maintainer-mode. ''; - homepage = https://www.gtkmm.org; + homepage = "https://www.gtkmm.org"; license = licenses.gpl2Plus; maintainers = gnome3.maintainers; platforms = platforms.linux; From 3a28fefe7d4e7d842304ff4eee42c76593194b0a Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Fri, 6 Sep 2019 09:25:22 +0200 Subject: [PATCH 331/391] nixos/test: Port test driver to python Thanks @blitz and @jtraue for help with implementing machine methods --- nixos/lib/test-driver/test-driver.py | 762 +++++++++++++++++++++++++++ nixos/lib/testing-python.nix | 279 ++++++++++ nixos/tests/make-test-python.nix | 9 + 3 files changed, 1050 insertions(+) create mode 100644 nixos/lib/test-driver/test-driver.py create mode 100644 nixos/lib/testing-python.nix create mode 100644 nixos/tests/make-test-python.nix diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py new file mode 100644 index 00000000000..16d4b0b907d --- /dev/null +++ b/nixos/lib/test-driver/test-driver.py @@ -0,0 +1,762 @@ +#! /somewhere/python3 + +from contextlib import contextmanager +from xml.sax.saxutils import XMLGenerator +import _thread +import atexit +import os +import pty +import queue +import re +import shutil +import socket +import subprocess +import sys +import tempfile +import time +import unicodedata + +CHAR_TO_KEY = { + "A": "shift-a", + "N": "shift-n", + "-": "0x0C", + "_": "shift-0x0C", + "B": "shift-b", + "O": "shift-o", + "=": "0x0D", + "+": "shift-0x0D", + "C": "shift-c", + "P": "shift-p", + "[": "0x1A", + "{": "shift-0x1A", + "D": "shift-d", + "Q": "shift-q", + "]": "0x1B", + "}": "shift-0x1B", + "E": "shift-e", + "R": "shift-r", + ";": "0x27", + ":": "shift-0x27", + "F": "shift-f", + "S": "shift-s", + "'": "0x28", + '"': "shift-0x28", + "G": "shift-g", + "T": "shift-t", + "`": "0x29", + "~": "shift-0x29", + "H": "shift-h", + "U": "shift-u", + "\\": "0x2B", + "|": "shift-0x2B", + "I": "shift-i", + "V": "shift-v", + ",": "0x33", + "<": "shift-0x33", + "J": "shift-j", + "W": "shift-w", + ".": "0x34", + ">": "shift-0x34", + "K": "shift-k", + "X": "shift-x", + "/": "0x35", + "?": "shift-0x35", + "L": "shift-l", + "Y": "shift-y", + " ": "spc", + "M": "shift-m", + "Z": "shift-z", + "\n": "ret", + "!": "shift-0x02", + "@": "shift-0x03", + "#": "shift-0x04", + "$": "shift-0x05", + "%": "shift-0x06", + "^": "shift-0x07", + "&": "shift-0x08", + "*": "shift-0x09", + "(": "shift-0x0A", + ")": "shift-0x0B", +} + + +def eprint(*args, **kwargs): + print(*args, file=sys.stderr, **kwargs) + + +def create_vlan(vlan_nr): + global log + log.log("starting VDE switch for network {}".format(vlan_nr)) + vde_socket = os.path.abspath("./vde{}.ctl".format(vlan_nr)) + pty_master, pty_slave = pty.openpty() + vde_process = subprocess.Popen( + ["vde_switch", "-s", vde_socket, "--dirmode", "0777"], + bufsize=1, + stdin=pty_slave, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + shell=False, + ) + fd = os.fdopen(pty_master, "w") + fd.write("version\n") + # TODO: perl version checks if this can be read from + # an if not, dies. we could hang here forever. Fix it. + vde_process.stdout.readline() + if not os.path.exists(os.path.join(vde_socket, "ctl")): + raise Exception("cannot start vde_switch") + + return (vlan_nr, vde_socket, vde_process, fd) + + +def retry(fn): + """Call the given function repeatedly, with 1 second intervals, + until it returns True or a timeout is reached. + """ + + for _ in range(900): + if fn(False): + return + time.sleep(1) + + if not fn(True): + raise Exception("action timed out") + + +class Logger: + def __init__(self): + self.logfile = os.environ.get("LOGFILE", "/dev/null") + self.logfile_handle = open(self.logfile, "wb") + self.xml = XMLGenerator(self.logfile_handle, encoding="utf-8") + self.queue = queue.Queue(1000) + + self.xml.startDocument() + self.xml.startElement("logfile", attrs={}) + + def close(self): + self.xml.endElement("logfile") + self.xml.endDocument() + self.logfile_handle.close() + + def sanitise(self, message): + return "".join(ch for ch in message if unicodedata.category(ch)[0] != "C") + + def maybe_prefix(self, message, attributes): + if "machine" in attributes: + return "{}: {}".format(attributes["machine"], message) + return message + + def log_line(self, message, attributes): + self.xml.startElement("line", attributes) + self.xml.characters(message) + self.xml.endElement("line") + + def log(self, message, attributes={}): + eprint(self.maybe_prefix(message, attributes)) + self.drain_log_queue() + self.log_line(message, attributes) + + def enqueue(self, message): + self.queue.put(message) + + def drain_log_queue(self): + try: + while True: + item = self.queue.get_nowait() + attributes = {"machine": item["machine"], "type": "serial"} + self.log_line(self.sanitise(item["msg"]), attributes) + except queue.Empty: + pass + + @contextmanager + def nested(self, message, attributes={}): + eprint(self.maybe_prefix(message, attributes)) + + self.xml.startElement("nest", attrs={}) + self.xml.startElement("head", attributes) + self.xml.characters(message) + self.xml.endElement("head") + + tic = time.time() + self.drain_log_queue() + yield + self.drain_log_queue() + toc = time.time() + self.log("({:.2f} seconds)".format(toc - tic)) + + self.xml.endElement("nest") + + +class Machine: + def __init__(self, args): + if "name" in args: + self.name = args["name"] + else: + self.name = "machine" + try: + cmd = args["startCommand"] + self.name = re.search("run-(.+)-vm$", cmd).group(1) + except KeyError: + pass + except AttributeError: + pass + + self.script = args.get("startCommand", self.create_startcommand(args)) + + tmp_dir = os.environ.get("TMPDIR", tempfile.gettempdir()) + + def create_dir(name): + path = os.path.join(tmp_dir, name) + os.makedirs(path, mode=0o700, exist_ok=True) + return path + + self.state_dir = create_dir("vm-state-{}".format(self.name)) + self.shared_dir = create_dir("xchg-shared") + + self.booted = False + self.connected = False + self.pid = None + self.socket = None + self.monitor = None + self.logger = args["log"] + self.allow_reboot = args.get("allowReboot", False) + + @staticmethod + def create_startcommand(args): + net_backend = "-netdev user,id=net0" + net_frontend = "-device virtio-net-pci,netdev=net0" + + if "netBackendArgs" in args: + net_backend += "," + args["netBackendArgs"] + + if "netFrontendArgs" in args: + net_frontend += "," + args["netFrontendArgs"] + + start_command = ( + "qemu-kvm -m 384 " + net_backend + " " + net_frontend + " $QEMU_OPTS " + ) + + if "hda" in args: + hda_path = os.path.abspath(args["hda"]) + if args.get("hdaInterface", "") == "scsi": + start_command += ( + "-drive id=hda,file=" + + hda_path + + ",werror=report,if=none " + + "-device scsi-hd,drive=hda " + ) + else: + start_command += ( + "-drive file=" + + hda_path + + ",if=" + + args["hdaInterface"] + + ",werror=report " + ) + + if "cdrom" in args: + start_command += "-cdrom " + args["cdrom"] + " " + + if "usb" in args: + start_command += ( + "-device piix3-usb-uhci -drive " + + "id=usbdisk,file=" + + args["usb"] + + ",if=none,readonly " + + "-device usb-storage,drive=usbdisk " + ) + if "bios" in args: + start_command += "-bios " + args["bios"] + " " + + start_command += args.get("qemuFlags", "") + + return start_command + + def is_up(self): + return self.booted and self.connected + + def log(self, msg): + self.logger.log(msg, {"machine": self.name}) + + def nested(self, msg, attrs={}): + my_attrs = {"machine": self.name} + my_attrs.update(attrs) + return self.logger.nested(msg, my_attrs) + + def wait_for_monitor_prompt(self): + while True: + answer = self.monitor.recv(1024).decode() + if answer.endswith("(qemu) "): + return answer + + def send_monitor_command(self, command): + message = ("{}\n".format(command)).encode() + self.log("sending monitor command: {}".format(command)) + self.monitor.send(message) + return self.wait_for_monitor_prompt() + + def wait_for_unit(self, unit, user=None): + while True: + info = self.get_unit_info(unit, user) + state = info["ActiveState"] + if state == "failed": + raise Exception('unit "{}" reached state "{}"'.format(unit, state)) + + if state == "inactive": + status, jobs = self.systemctl("list-jobs --full 2>&1", user) + if "No jobs" in jobs: + info = self.get_unit_info(unit) + if info["ActiveState"] == state: + raise Exception( + ( + 'unit "{}" is inactive and there ' "are no pending jobs" + ).format(unit) + ) + if state == "active": + return True + + def get_unit_info(self, unit, user=None): + status, lines = self.systemctl('--no-pager show "{}"'.format(unit), user) + if status != 0: + return None + + line_pattern = re.compile(r"^([^=]+)=(.*)$") + + def tuple_from_line(line): + match = line_pattern.match(line) + return match[1], match[2] + + return dict( + tuple_from_line(line) + for line in lines.split("\n") + if line_pattern.match(line) + ) + + def systemctl(self, q, user=None): + if user is not None: + q = q.replace("'", "\\'") + return self.execute( + ( + "su -l {} -c " + "$'XDG_RUNTIME_DIR=/run/user/`id -u` " + "systemctl --user {}'" + ).format(user, q) + ) + return self.execute("systemctl {}".format(q)) + + def execute(self, command): + self.connect() + + out_command = "( {} ); echo '|!EOF' $?\n".format(command) + self.shell.send(out_command.encode()) + + output = "" + status_code_pattern = re.compile(r"(.*)\|\!EOF\s+(\d+)") + + while True: + chunk = self.shell.recv(4096).decode() + match = status_code_pattern.match(chunk) + if match: + output += match[1] + status_code = int(match[2]) + return (status_code, output) + output += chunk + + def succeed(self, *commands): + """Execute each command and check that it succeeds.""" + for command in commands: + with self.nested("must succeed: {}".format(command)): + status, output = self.execute(command) + if status != 0: + self.log("output: {}".format(output)) + raise Exception( + "command `{}` failed (exit code {})".format(command, status) + ) + return output + + def fail(self, *commands): + """Execute each command and check that it fails.""" + for command in commands: + with self.nested("must fail: {}".format(command)): + status, output = self.execute(command) + if status == 0: + raise Exception( + "command `{}` unexpectedly succeeded".format(command) + ) + + def wait_until_succeeds(self, command): + with self.nested("waiting for success: {}".format(command)): + while True: + status, output = self.execute(command) + if status == 0: + return output + + def wait_until_fails(self, command): + with self.nested("waiting for failure: {}".format(command)): + while True: + status, output = self.execute(command) + if status != 0: + return output + + def wait_for_shutdown(self): + if not self.booted: + return + + with self.nested("waiting for the VM to power off"): + sys.stdout.flush() + self.process.wait() + + self.pid = None + self.booted = False + self.connected = False + + def get_tty_text(self, tty): + status, output = self.execute( + "fold -w$(stty -F /dev/tty{0} size | " + "awk '{{print $2}}') /dev/vcs{0}".format(tty) + ) + return output + + def wait_until_tty_matches(self, tty, regexp): + matcher = re.compile(regexp) + with self.nested("waiting for {} to appear on tty {}".format(regexp, tty)): + while True: + text = self.get_tty_text(tty) + if len(matcher.findall(text)) > 0: + return True + + def send_chars(self, chars): + with self.nested("sending keys ‘{}‘".format(chars)): + for char in chars: + self.send_key(char) + + def wait_for_file(self, filename): + with self.nested("waiting for file ‘{}‘".format(filename)): + while True: + status, _ = self.execute("test -e {}".format(filename)) + if status == 0: + return True + + def wait_for_open_port(self, port): + def port_is_open(_): + status, _ = self.execute("nc -z localhost {}".format(port)) + return status == 0 + + with self.nested("waiting for TCP port {}".format(port)): + retry(port_is_open) + + def wait_for_closed_port(self, port): + def port_is_closed(_): + status, _ = self.execute("nc -z localhost {}".format(port)) + return status != 0 + + retry(port_is_closed) + + def start_job(self, jobname, user=None): + return self.systemctl("start {}".format(jobname), user) + + def stop_job(self, jobname, user=None): + return self.systemctl("stop {}".format(jobname), user) + + def wait_for_job(self, jobname): + return self.wait_for_unit(jobname) + + def connect(self): + if self.connected: + return + + with self.nested("waiting for the VM to finish booting"): + self.start() + + tic = time.time() + self.shell.recv(1024) + # TODO: Timeout + toc = time.time() + + self.log("connected to guest root shell") + self.log("(connecting took {:.2f} seconds)".format(toc - tic)) + self.connected = True + + def screenshot(self, filename): + out_dir = os.environ.get("out", os.getcwd()) + word_pattern = re.compile(r"^\w+$") + if word_pattern.match(filename): + filename = os.path.join(out_dir, "{}.png".format(filename)) + tmp = "{}.ppm".format(filename) + + with self.nested( + "making screenshot {}".format(filename), + {"image": os.path.basename(filename)}, + ): + self.send_monitor_command("screendump {}".format(tmp)) + ret = subprocess.run("pnmtopng {} > {}".format(tmp, filename), shell=True) + os.unlink(tmp) + if ret.returncode != 0: + raise Exception("Cannot convert screenshot") + + def get_screen_text(self): + if shutil.which("tesseract") is None: + raise Exception("get_screen_text used but enableOCR is false") + + magick_args = ( + "-filter Catrom -density 72 -resample 300 " + + "-contrast -normalize -despeckle -type grayscale " + + "-sharpen 1 -posterize 3 -negate -gamma 100 " + + "-blur 1x65535" + ) + + tess_args = "-c debug_file=/dev/null --psm 11 --oem 2" + + with self.nested("performing optical character recognition"): + with tempfile.NamedTemporaryFile() as tmpin: + self.send_monitor_command("screendump {}".format(tmpin.name)) + + cmd = "convert {} {} tiff:- | tesseract - - {}".format( + magick_args, tmpin.name, tess_args + ) + ret = subprocess.run(cmd, shell=True, capture_output=True) + if ret.returncode != 0: + raise Exception( + "OCR failed with exit code {}".format(ret.returncode) + ) + + return ret.stdout.decode("utf-8") + + def wait_for_text(self, regex): + def screen_matches(last): + text = self.get_screen_text() + m = re.search(regex, text) + + if last and not m: + self.log("Last OCR attempt failed. Text was: {}".format(text)) + + return m + + with self.nested("waiting for {} to appear on screen".format(regex)): + retry(screen_matches) + + def send_key(self, key): + key = CHAR_TO_KEY.get(key, key) + self.send_monitor_command("sendkey {}".format(key)) + + def start(self): + if self.booted: + return + + self.log("starting vm") + + def create_socket(path): + if os.path.exists(path): + os.unlink(path) + s = socket.socket(family=socket.AF_UNIX, type=socket.SOCK_STREAM) + s.bind(path) + s.listen(1) + return s + + monitor_path = os.path.join(self.state_dir, "monitor") + self.monitor_socket = create_socket(monitor_path) + + shell_path = os.path.join(self.state_dir, "shell") + self.shell_socket = create_socket(shell_path) + + qemu_options = ( + " ".join( + [ + "" if self.allow_reboot else "-no-reboot", + "-monitor unix:{}".format(monitor_path), + "-chardev socket,id=shell,path={}".format(shell_path), + "-device virtio-serial", + "-device virtconsole,chardev=shell", + "-device virtio-rng-pci", + "-serial stdio" if "DISPLAY" in os.environ else "-nographic", + ] + ) + + " " + + os.environ.get("QEMU_OPTS", "") + ) + + environment = { + "QEMU_OPTS": qemu_options, + "SHARED_DIR": self.shared_dir, + "USE_TMPDIR": "1", + } + environment.update(dict(os.environ)) + + self.process = subprocess.Popen( + self.script, + bufsize=1, + stdin=subprocess.DEVNULL, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + shell=False, + cwd=self.state_dir, + env=environment, + ) + self.monitor, _ = self.monitor_socket.accept() + self.shell, _ = self.shell_socket.accept() + + def process_serial_output(): + for line in self.process.stdout: + line = line.decode().replace("\r", "").rstrip() + eprint("{} # {}".format(self.name, line)) + self.logger.enqueue({"msg": line, "machine": self.name}) + + _thread.start_new_thread(process_serial_output, ()) + + self.wait_for_monitor_prompt() + + self.pid = self.process.pid + self.booted = True + + self.log("QEMU running (pid {})".format(self.pid)) + + def shutdown(self): + if self.booted: + return + + self.shell.send("poweroff\n".encode()) + self.wait_for_shutdown() + + def crash(self): + if self.booted: + return + + self.log("forced crash") + self.send_monitor_command("quit") + self.wait_for_shutdown() + + def wait_for_x(self): + """Wait until it is possible to connect to the X server. Note that + testing the existence of /tmp/.X11-unix/X0 is insufficient. + """ + with self.nested("waiting for the X11 server"): + while True: + cmd = ( + "journalctl -b SYSLOG_IDENTIFIER=systemd | " + + 'grep "Reached target Current graphical"' + ) + status, _ = self.execute(cmd) + if status != 0: + continue + status, _ = self.execute("[ -e /tmp/.X11-unix/X0 ]") + if status == 0: + return + + def sleep(self, secs): + time.sleep(secs) + + def block(self): + """Make the machine unreachable by shutting down eth1 (the multicast + interface used to talk to the other VMs). We keep eth0 up so that + the test driver can continue to talk to the machine. + """ + self.send_monitor_command("set_link virtio-net-pci.1 off") + + def unblock(self): + """Make the machine reachable. + """ + self.send_monitor_command("set_link virtio-net-pci.1 on") + + +def create_machine(args): + global log + args["log"] = log + args["redirectSerial"] = os.environ.get("USE_SERIAL", "0") == "1" + return Machine(args) + + +def start_all(): + with log.nested("starting all VMs"): + for machine in machines: + machine.start() + + +def join_all(): + with log.nested("waiting for all VMs to finish"): + for machine in machines: + machine.wait_for_shutdown() + + +def test_script(): + exec(os.environ["testScript"]) + + +def run_tests(): + tests = os.environ.get("tests", None) + if tests is not None: + with log.nested("running the VM test script"): + try: + exec(tests) + except Exception as e: + eprint("error: {}".format(str(e))) + sys.exit(1) + else: + while True: + try: + value = input("> ") + exec(value) + except EOFError: + break + + # TODO: Collect coverage data + + for machine in machines: + if machine.is_up(): + machine.execute("sync") + + if nr_tests != 0: + log.log("{} out of {} tests succeeded".format(nr_succeeded, nr_tests)) + + +@contextmanager +def subtest(name): + global nr_tests + global nr_succeeded + + with log.nested(name): + nr_tests += 1 + try: + yield + nr_succeeded += 1 + return True + except Exception as e: + log.log("error: {}".format(str(e))) + + return False + + +if __name__ == "__main__": + global log + log = Logger() + + vlan_nrs = list(dict.fromkeys(os.environ["VLANS"].split())) + vde_sockets = [create_vlan(v) for v in vlan_nrs] + for nr, vde_socket, _, _ in vde_sockets: + os.environ["QEMU_VDE_SOCKET_{}".format(nr)] = vde_socket + + vm_scripts = sys.argv[1:] + machines = [create_machine({"startCommand": s}) for s in vm_scripts] + machine_eval = [ + "{0} = machines[{1}]".format(m.name, idx) for idx, m in enumerate(machines) + ] + exec("\n".join(machine_eval)) + + nr_tests = 0 + nr_succeeded = 0 + + @atexit.register + def clean_up(): + with log.nested("cleaning up"): + for machine in machines: + if machine.pid is None: + continue + log.log("killing {} (pid {})".format(machine.name, machine.pid)) + machine.process.kill() + + for _, _, process, _ in vde_sockets: + process.kill() + log.close() + + tic = time.time() + run_tests() + toc = time.time() + print("test script finished in {:.2f}s".format(toc - tic)) diff --git a/nixos/lib/testing-python.nix b/nixos/lib/testing-python.nix new file mode 100644 index 00000000000..5240cba116f --- /dev/null +++ b/nixos/lib/testing-python.nix @@ -0,0 +1,279 @@ +{ system +, pkgs ? import ../.. { inherit system config; } + # Use a minimal kernel? +, minimal ? false + # Ignored +, config ? {} + # Modules to add to each VM +, extraConfigurations ? [] }: + +with import ./build-vms.nix { inherit system pkgs minimal extraConfigurations; }; +with pkgs; + +let + jquery-ui = callPackage ./testing/jquery-ui.nix { }; + jquery = callPackage ./testing/jquery.nix { }; + +in rec { + + inherit pkgs; + + + testDriver = let + testDriverScript = ./test-driver/test-driver.py; + in stdenv.mkDerivation { + name = "nixos-test-driver"; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ python3 ]; + checkInputs = with python3Packages; [ pylint black ]; + + dontUnpack = true; + + preferLocalBuild = true; + + doCheck = true; + checkPhase = '' + pylint --errors-only ${testDriverScript} + black --check --diff ${testDriverScript} + ''; + + installPhase = + '' + mkdir -p $out/bin + cp ${testDriverScript} $out/bin/nixos-test-driver + chmod u+x $out/bin/nixos-test-driver + # TODO: copy user script part into this file (append) + + wrapProgram $out/bin/nixos-test-driver \ + --prefix PATH : "${lib.makeBinPath [ qemu_test vde2 netpbm coreutils ]}" \ + ''; + }; + + + # Run an automated test suite in the given virtual network. + # `driver' is the script that runs the network. + runTests = driver: + stdenv.mkDerivation { + name = "vm-test-run-${driver.testName}"; + + requiredSystemFeatures = [ "kvm" "nixos-test" ]; + + buildInputs = [ libxslt ]; + + buildCommand = + '' + mkdir -p $out/nix-support + + LOGFILE=$out/log.xml tests='exec(os.environ["testScript"])' ${driver}/bin/nixos-test-driver + + # Generate a pretty-printed log. + xsltproc --output $out/log.html ${./test-driver/log2html.xsl} $out/log.xml + ln -s ${./test-driver/logfile.css} $out/logfile.css + ln -s ${./test-driver/treebits.js} $out/treebits.js + ln -s ${jquery}/js/jquery.min.js $out/ + ln -s ${jquery}/js/jquery.js $out/ + ln -s ${jquery-ui}/js/jquery-ui.min.js $out/ + ln -s ${jquery-ui}/js/jquery-ui.js $out/ + + touch $out/nix-support/hydra-build-products + echo "report testlog $out log.html" >> $out/nix-support/hydra-build-products + + for i in */xchg/coverage-data; do + mkdir -p $out/coverage-data + mv $i $out/coverage-data/$(dirname $(dirname $i)) + done + ''; + }; + + + makeTest = + { testScript + , makeCoverageReport ? false + , enableOCR ? false + , name ? "unnamed" + , ... + } @ t: + + let + # A standard store path to the vm monitor is built like this: + # /tmp/nix-build-vm-test-run-$name.drv-0/vm-state-machine/monitor + # The max filename length of a unix domain socket is 108 bytes. + # This means $name can at most be 50 bytes long. + maxTestNameLen = 50; + testNameLen = builtins.stringLength name; + + testDriverName = with builtins; + if testNameLen > maxTestNameLen then + abort ("The name of the test '${name}' must not be longer than ${toString maxTestNameLen} " + + "it's currently ${toString testNameLen} characters long.") + else + "nixos-test-driver-${name}"; + + nodes = buildVirtualNetwork ( + t.nodes or (if t ? machine then { machine = t.machine; } else { })); + + testScript' = + # Call the test script with the computed nodes. + if lib.isFunction testScript + then testScript { inherit nodes; } + else testScript; + + vlans = map (m: m.config.virtualisation.vlans) (lib.attrValues nodes); + + vms = map (m: m.config.system.build.vm) (lib.attrValues nodes); + + ocrProg = tesseract4.override { enableLanguages = [ "eng" ]; }; + + imagemagick_tiff = imagemagick_light.override { inherit libtiff; }; + + # Generate onvenience wrappers for running the test driver + # interactively with the specified network, and for starting the + # VMs from the command line. + driver = runCommand testDriverName + { buildInputs = [ makeWrapper]; + testScript = testScript'; + preferLocalBuild = true; + testName = name; + } + '' + mkdir -p $out/bin + + echo -n "$testScript" > $out/test-script + ${python3Packages.black}/bin/black --check --diff $out/test-script + + ln -s ${testDriver}/bin/nixos-test-driver $out/bin/ + vms=($(for i in ${toString vms}; do echo $i/bin/run-*-vm; done)) + wrapProgram $out/bin/nixos-test-driver \ + --add-flags "''${vms[*]}" \ + ${lib.optionalString enableOCR + "--prefix PATH : '${ocrProg}/bin:${imagemagick_tiff}/bin'"} \ + --run "export testScript=\"\$(cat $out/test-script)\"" \ + --set VLANS '${toString vlans}' + ln -s ${testDriver}/bin/nixos-test-driver $out/bin/nixos-run-vms + wrapProgram $out/bin/nixos-run-vms \ + --add-flags "''${vms[*]}" \ + ${lib.optionalString enableOCR "--prefix PATH : '${ocrProg}/bin'"} \ + --set tests 'start_all(); join_all();' \ + --set VLANS '${toString vlans}' \ + ${lib.optionalString (builtins.length vms == 1) "--set USE_SERIAL 1"} + ''; # " + + passMeta = drv: drv // lib.optionalAttrs (t ? meta) { + meta = (drv.meta or {}) // t.meta; + }; + + test = passMeta (runTests driver); + report = passMeta (releaseTools.gcovReport { coverageRuns = [ test ]; }); + + nodeNames = builtins.attrNames nodes; + invalidNodeNames = lib.filter + (node: builtins.match "^[A-z_][A-z0-9_]+$" node == null) nodeNames; + + in + if lib.length invalidNodeNames > 0 then + throw '' + Cannot create machines out of (${lib.concatStringsSep ", " invalidNodeNames})! + All machines are referenced as perl variables in the testing framework which will break the + script when special characters are used. + + Please stick to alphanumeric chars and underscores as separation. + '' + else + (if makeCoverageReport then report else test) // { + inherit nodes driver test; + }; + + runInMachine = + { drv + , machine + , preBuild ? "" + , postBuild ? "" + , ... # ??? + }: + let + vm = buildVM { } + [ machine + { key = "run-in-machine"; + networking.hostName = "client"; + nix.readOnlyStore = false; + virtualisation.writableStore = false; + } + ]; + + buildrunner = writeText "vm-build" '' + source $1 + + ${coreutils}/bin/mkdir -p $TMPDIR + cd $TMPDIR + + exec $origBuilder $origArgs + ''; + + testScript = '' + startAll; + $client->waitForUnit("multi-user.target"); + ${preBuild} + $client->succeed("env -i ${bash}/bin/bash ${buildrunner} /tmp/xchg/saved-env >&2"); + ${postBuild} + $client->succeed("sync"); # flush all data before pulling the plug + ''; + + vmRunCommand = writeText "vm-run" '' + xchg=vm-state-client/xchg + ${coreutils}/bin/mkdir $out + ${coreutils}/bin/mkdir -p $xchg + + for i in $passAsFile; do + i2=''${i}Path + _basename=$(${coreutils}/bin/basename ''${!i2}) + ${coreutils}/bin/cp ''${!i2} $xchg/$_basename + eval $i2=/tmp/xchg/$_basename + ${coreutils}/bin/ls -la $xchg + done + + unset i i2 _basename + export | ${gnugrep}/bin/grep -v '^xchg=' > $xchg/saved-env + unset xchg + + export tests='${testScript}' + ${testDriver}/bin/nixos-test-driver ${vm.config.system.build.vm}/bin/run-*-vm + ''; # */ + + in + lib.overrideDerivation drv (attrs: { + requiredSystemFeatures = [ "kvm" ]; + builder = "${bash}/bin/sh"; + args = ["-e" vmRunCommand]; + origArgs = attrs.args; + origBuilder = attrs.builder; + }); + + + runInMachineWithX = { require ? [], ... } @ args: + let + client = + { ... }: + { + inherit require; + virtualisation.memorySize = 1024; + services.xserver.enable = true; + services.xserver.displayManager.slim.enable = false; + services.xserver.displayManager.auto.enable = true; + services.xserver.windowManager.default = "icewm"; + services.xserver.windowManager.icewm.enable = true; + services.xserver.desktopManager.default = "none"; + }; + in + runInMachine ({ + machine = client; + preBuild = + '' + $client->waitForX; + ''; + } // args); + + + simpleTest = as: (makeTest as).test; + +} diff --git a/nixos/tests/make-test-python.nix b/nixos/tests/make-test-python.nix new file mode 100644 index 00000000000..89897fe7e61 --- /dev/null +++ b/nixos/tests/make-test-python.nix @@ -0,0 +1,9 @@ +f: { + system ? builtins.currentSystem, + pkgs ? import ../.. { inherit system; config = {}; }, + ... +} @ args: + +with import ../lib/testing-python.nix { inherit system pkgs; }; + +makeTest (if pkgs.lib.isFunction f then f (args // { inherit pkgs; inherit (pkgs) lib; }) else f) From ac97edf013368c10c0c0978780d89b60bc520900 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Mon, 4 Nov 2019 22:49:45 +0100 Subject: [PATCH 332/391] nixos/test: use ptpython as repl --- nixos/lib/test-driver/test-driver.py | 8 ++------ nixos/lib/testing-python.nix | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py index 16d4b0b907d..45b7e229a5c 100644 --- a/nixos/lib/test-driver/test-driver.py +++ b/nixos/lib/test-driver/test-driver.py @@ -15,6 +15,7 @@ import sys import tempfile import time import unicodedata +import ptpython.repl CHAR_TO_KEY = { "A": "shift-a", @@ -690,12 +691,7 @@ def run_tests(): eprint("error: {}".format(str(e))) sys.exit(1) else: - while True: - try: - value = input("> ") - exec(value) - except EOFError: - break + ptpython.repl.embed(locals(), globals()) # TODO: Collect coverage data diff --git a/nixos/lib/testing-python.nix b/nixos/lib/testing-python.nix index 5240cba116f..21f6172e967 100644 --- a/nixos/lib/testing-python.nix +++ b/nixos/lib/testing-python.nix @@ -25,7 +25,7 @@ in rec { name = "nixos-test-driver"; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ python3 ]; + buildInputs = [ (python3.withPackages (p: [ p.ptpython ])) ]; checkInputs = with python3Packages; [ pylint black ]; dontUnpack = true; From 7d19c5aaa76a43f8c63c665c09601a6ad3cdbc01 Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Mon, 4 Nov 2019 23:50:50 +0100 Subject: [PATCH 333/391] nixos/test: Pythonify documentation --- .../running-nixos-tests-interactively.xml | 12 +-- .../development/writing-nixos-tests.xml | 87 ++++++++++--------- 2 files changed, 50 insertions(+), 49 deletions(-) diff --git a/nixos/doc/manual/development/running-nixos-tests-interactively.xml b/nixos/doc/manual/development/running-nixos-tests-interactively.xml index e390d62fde2..ea3ba0e4bf7 100644 --- a/nixos/doc/manual/development/running-nixos-tests-interactively.xml +++ b/nixos/doc/manual/development/running-nixos-tests-interactively.xml @@ -14,14 +14,14 @@ starting VDE switch for network 1 > - You can then take any Perl statement, e.g. + You can then take any Python statement, e.g. -> startAll -> testScript -> $machine->succeed("touch /tmp/foo") -> print($machine->succeed("pwd")) # Show stdout of command +> start_all() +> test_script() +> machine.succeed("touch /tmp/foo") +> print(machine.succeed("pwd")) # Show stdout of command - The function testScript executes the entire test script + The function test_script executes the entire test script and drops you back into the test driver command line upon its completion. This allows you to inspect the state of the VMs after the test (e.g. to debug the test script). diff --git a/nixos/doc/manual/development/writing-nixos-tests.xml b/nixos/doc/manual/development/writing-nixos-tests.xml index 6be2d0a4d23..24efd2e3273 100644 --- a/nixos/doc/manual/development/writing-nixos-tests.xml +++ b/nixos/doc/manual/development/writing-nixos-tests.xml @@ -8,7 +8,7 @@ A NixOS test is a Nix expression that has the following structure: -import ./make-test.nix { +import ./make-test-python.nix { # Either the configuration of a single machine: machine = @@ -27,11 +27,11 @@ import ./make-test.nix { testScript = '' - Perl code… + Python code… ''; } - The attribute testScript is a bit of Perl code that + The attribute testScript is a bit of Python code that executes the test (described below). During the test, it will start one or more virtual machines, the configuration of which is described by the attribute machine (if you need only one machine in your @@ -96,26 +96,27 @@ xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualis - The test script is a sequence of Perl statements that perform various + The test script is a sequence of Python statements that perform various actions, such as starting VMs, executing commands in the VMs, and so on. Each virtual machine is represented as an object stored in the variable - $name, where - name is the identifier of the machine (which is - just machine if you didn’t specify multiple machines - using the nodes attribute). For instance, the following - starts the machine, waits until it has finished booting, then executes a - command and checks that the output is more-or-less correct: + name if this is also the + identifier of the machine in the declarative config. + If you didn't specify multiple machines using the nodes + attribute, it is just machine. + The following example starts the machine, waits until it has finished booting, + then executes a command and checks that the output is more-or-less correct: -$machine->start; -$machine->waitForUnit("default.target"); -$machine->succeed("uname") =~ /Linux/ or die; +machine.start() +machine.wait_for_unit("default.target") +if not "Linux" in machine.succeed("uname"): + raise Exception("Wrong OS") The first line is actually unnecessary; machines are implicitly started when - you first execute an action on them (such as waitForUnit + you first execute an action on them (such as wait_for_unit or succeed). If you have multiple machines, you can speed up the test by starting them in parallel: -startAll; +start_all() @@ -187,7 +188,7 @@ startAll; - getScreenText + get_screen_text @@ -204,7 +205,7 @@ startAll; - sendMonitorCommand + send_monitor_command @@ -215,23 +216,23 @@ startAll; - sendKeys + send_keys Simulate pressing keys on the virtual keyboard, e.g., - sendKeys("ctrl-alt-delete"). + send_keys("ctrl-alt-delete"). - sendChars + send_chars Simulate typing a sequence of characters on the virtual keyboard, e.g., - sendKeys("foobar\n") will type the string + send_keys("foobar\n") will type the string foobar followed by the Enter key. @@ -272,7 +273,7 @@ startAll; - waitUntilSucceeds + wait_until_succeeds @@ -282,7 +283,7 @@ startAll; - waitUntilFails + wait_until_fails @@ -292,7 +293,7 @@ startAll; - waitForUnit + wait_for_unit @@ -302,7 +303,7 @@ startAll; - waitForFile + wait_for_file @@ -312,7 +313,7 @@ startAll; - waitForOpenPort + wait_for_open_port @@ -323,7 +324,7 @@ startAll; - waitForClosedPort + wait_for_closed_port @@ -333,7 +334,7 @@ startAll; - waitForX + wait_for_x @@ -343,13 +344,13 @@ startAll; - waitForText + wait_for_text Wait until the supplied regular expressions matches the textual contents of the screen by using optical character recognition (see - getScreenText). + get_screen_text). @@ -361,23 +362,23 @@ startAll; - waitForWindow + wait_for_window Wait until an X11 window has appeared whose name matches the given - regular expression, e.g., waitForWindow(qr/Terminal/). + regular expression, e.g., wait_for_window("Terminal"). - copyFileFromHost + copy_file_from_host Copies a file from host to machine, e.g., - copyFileFromHost("myfile", "/etc/my/important/file"). + copy_file_from_host("myfile", "/etc/my/important/file"). The first argument is the file on the host. The file needs to be @@ -397,8 +398,8 @@ startAll; -$machine->systemctl("list-jobs --no-pager"); // runs `systemctl list-jobs --no-pager` -$machine->systemctl("list-jobs --no-pager", "any-user"); // spawns a shell for `any-user` and runs `systemctl --user list-jobs --no-pager` +machine.systemctl("list-jobs --no-pager") # runs `systemctl list-jobs --no-pager` +machine.systemctl("list-jobs --no-pager", "any-user") # spawns a shell for `any-user` and runs `systemctl --user list-jobs --no-pager` @@ -408,14 +409,14 @@ $machine->systemctl("list-jobs --no-pager", "any-user"); // spawns a shell for ` To test user units declared by systemd.user.services the - optional $user argument can be used: + optional user argument can be used: -$machine->start; -$machine->waitForX; -$machine->waitForUnit("xautolock.service", "x-session-user"); +machine.start() +machine.wait_for_x() +machine.wait_for_unit("xautolock.service", "x-session-user") - This applies to systemctl, getUnitInfo, - waitForUnit, startJob and - stopJob. + This applies to systemctl, get_unit_info, + wait_for_unit, start_job and + stop_job. From be48c5c5714146debbb13038d7c125fcba1b5e38 Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Tue, 10 Sep 2019 16:00:04 +0200 Subject: [PATCH 334/391] nixos/login: Port test to python --- nixos/tests/login.nix | 92 ++++++++++++++++++------------------------- 1 file changed, 39 insertions(+), 53 deletions(-) diff --git a/nixos/tests/login.nix b/nixos/tests/login.nix index bd8ed23a7b8..d36c1a91be4 100644 --- a/nixos/tests/login.nix +++ b/nixos/tests/login.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, latestKernel ? false, ... }: +import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }: { name = "login"; @@ -12,62 +12,48 @@ import ./make-test.nix ({ pkgs, latestKernel ? false, ... }: sound.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then }; - testScript = - '' - $machine->waitForUnit('multi-user.target'); - $machine->waitUntilSucceeds("pgrep -f 'agetty.*tty1'"); - $machine->screenshot("postboot"); + testScript = '' + machine.wait_for_unit("multi-user.target") + machine.wait_until_succeeds("pgrep -f 'agetty.*tty1'") + machine.screenshot("postboot") - subtest "create user", sub { - $machine->succeed("useradd -m alice"); - $machine->succeed("(echo foobar; echo foobar) | passwd alice"); - }; + with subtest("create user"): + machine.succeed("useradd -m alice") + machine.succeed("(echo foobar; echo foobar) | passwd alice") - # Check whether switching VTs works. - subtest "virtual console switching", sub { - $machine->fail("pgrep -f 'agetty.*tty2'"); - $machine->sendKeys("alt-f2"); - $machine->waitUntilSucceeds("[ \$(fgconsole) = 2 ]"); - $machine->waitForUnit('getty@tty2.service'); - $machine->waitUntilSucceeds("pgrep -f 'agetty.*tty2'"); - }; + with subtest("Check whether switching VTs works"): + machine.fail("pgrep -f 'agetty.*tty2'") + machine.send_key("alt-f2") + machine.wait_until_succeeds("[ $(fgconsole) = 2 ]") + machine.wait_for_unit("getty@tty2.service") + machine.wait_until_succeeds("pgrep -f 'agetty.*tty2'") - # Log in as alice on a virtual console. - subtest "virtual console login", sub { - $machine->waitUntilTTYMatches(2, "login: "); - $machine->sendChars("alice\n"); - $machine->waitUntilTTYMatches(2, "login: alice"); - $machine->waitUntilSucceeds("pgrep login"); - $machine->waitUntilTTYMatches(2, "Password: "); - $machine->sendChars("foobar\n"); - $machine->waitUntilSucceeds("pgrep -u alice bash"); - $machine->sendChars("touch done\n"); - $machine->waitForFile("/home/alice/done"); - }; + with subtest("Log in as alice on a virtual console"): + machine.wait_until_tty_matches(2, "login: ") + machine.send_chars("alice\n") + machine.wait_until_tty_matches(2, "login: alice") + machine.wait_until_succeeds("pgrep login") + machine.wait_until_tty_matches(2, "Password: ") + machine.send_chars("foobar\n") + machine.wait_until_succeeds("pgrep -u alice bash") + machine.send_chars("touch done\n") + machine.wait_for_file("/home/alice/done") - # Check whether systemd gives and removes device ownership as - # needed. - subtest "device permissions", sub { - $machine->succeed("getfacl -p /dev/snd/timer | grep -q alice"); - $machine->sendKeys("alt-f1"); - $machine->waitUntilSucceeds("[ \$(fgconsole) = 1 ]"); - $machine->fail("getfacl -p /dev/snd/timer | grep -q alice"); - $machine->succeed("chvt 2"); - $machine->waitUntilSucceeds("getfacl -p /dev/snd/timer | grep -q alice"); - }; + with subtest("Systemd gives and removes device ownership as needed"): + machine.succeed("getfacl /dev/snd/timer | grep -q alice") + machine.send_key("alt-f1") + machine.wait_until_succeeds("[ $(fgconsole) = 1 ]") + machine.fail("getfacl /dev/snd/timer | grep -q alice") + machine.succeed("chvt 2") + machine.wait_until_succeeds("getfacl /dev/snd/timer | grep -q alice") - # Log out. - subtest "virtual console logout", sub { - $machine->sendChars("exit\n"); - $machine->waitUntilFails("pgrep -u alice bash"); - $machine->screenshot("mingetty"); - }; - - # Check whether ctrl-alt-delete works. - subtest "ctrl-alt-delete", sub { - $machine->sendKeys("ctrl-alt-delete"); - $machine->waitForShutdown; - }; - ''; + with subtest("Virtual console logout"): + machine.send_chars("exit\n") + machine.wait_until_fails("pgrep -u alice bash") + machine.screenshot("mingetty") + with subtest("Check whether ctrl-alt-delete works"): + machine.send_key("ctrl-alt-delete") + machine.wait_for_shutdown() + ''; }) From 75d3e810d68418b27d3e888bafe5c033c11735c7 Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Tue, 10 Sep 2019 15:59:50 +0200 Subject: [PATCH 335/391] nixos/bittorrent: Port test to python --- nixos/tests/bittorrent.nix | 58 +++++++++++++++++++++++--------------- 1 file changed, 36 insertions(+), 22 deletions(-) diff --git a/nixos/tests/bittorrent.nix b/nixos/tests/bittorrent.nix index 3b1169a1b7f..e5be652c711 100644 --- a/nixos/tests/bittorrent.nix +++ b/nixos/tests/bittorrent.nix @@ -6,7 +6,7 @@ # which only works if the first client successfully uses the UPnP-IGD # protocol to poke a hole in the NAT. -import ./make-test.nix ({ pkgs, ... }: +import ./make-test-python.nix ({ pkgs, ... }: let @@ -108,42 +108,56 @@ in testScript = { nodes, ... }: '' - startAll; + start_all() # Wait for network and miniupnpd. - $router->waitForUnit("network-online.target"); - $router->waitForUnit("miniupnpd"); + router.wait_for_unit("network-online.target") + router.wait_for_unit("miniupnpd") # Create the torrent. - $tracker->succeed("mkdir /tmp/data"); - $tracker->succeed("cp ${file} /tmp/data/test.tar.bz2"); - $tracker->succeed("transmission-create /tmp/data/test.tar.bz2 --private --tracker http://${externalTrackerAddress}:6969/announce --outfile /tmp/test.torrent"); - $tracker->succeed("chmod 644 /tmp/test.torrent"); + tracker.succeed("mkdir /tmp/data") + tracker.succeed( + "cp ${file} /tmp/data/test.tar.bz2" + ) + tracker.succeed( + "transmission-create /tmp/data/test.tar.bz2 --private --tracker http://${externalTrackerAddress}:6969/announce --outfile /tmp/test.torrent" + ) + tracker.succeed("chmod 644 /tmp/test.torrent") # Start the tracker. !!! use a less crappy tracker - $tracker->waitForUnit("network-online.target"); - $tracker->waitForUnit("opentracker.service"); - $tracker->waitForOpenPort(6969); + tracker.wait_for_unit("network-online.target") + tracker.wait_for_unit("opentracker.service") + tracker.wait_for_open_port(6969) # Start the initial seeder. - $tracker->succeed("transmission-remote --add /tmp/test.torrent --no-portmap --no-dht --download-dir /tmp/data"); + tracker.succeed( + "transmission-remote --add /tmp/test.torrent --no-portmap --no-dht --download-dir /tmp/data" + ) # Now we should be able to download from the client behind the NAT. - $tracker->waitForUnit("httpd"); - $client1->waitForUnit("network-online.target"); - $client1->succeed("transmission-remote --add http://${externalTrackerAddress}/test.torrent --download-dir /tmp >&2 &"); - $client1->waitForFile("/tmp/test.tar.bz2"); - $client1->succeed("cmp /tmp/test.tar.bz2 ${file}"); + tracker.wait_for_unit("httpd") + client1.wait_for_unit("network-online.target") + client1.succeed( + "transmission-remote --add http://${externalTrackerAddress}/test.torrent --download-dir /tmp >&2 &" + ) + client1.wait_for_file("/tmp/test.tar.bz2") + client1.succeed( + "cmp /tmp/test.tar.bz2 ${file}" + ) # Bring down the initial seeder. - # $tracker->stopJob("transmission"); + # tracker.stop_job("transmission") # Now download from the second client. This can only succeed if # the first client created a NAT hole in the router. - $client2->waitForUnit("network-online.target"); - $client2->succeed("transmission-remote --add http://${externalTrackerAddress}/test.torrent --no-portmap --no-dht --download-dir /tmp >&2 &"); - $client2->waitForFile("/tmp/test.tar.bz2"); - $client2->succeed("cmp /tmp/test.tar.bz2 ${file}"); + client2.wait_for_unit("network-online.target") + client2.succeed( + "transmission-remote --add http://${externalTrackerAddress}/test.torrent --no-portmap --no-dht --download-dir /tmp >&2 &" + ) + client2.wait_for_file("/tmp/test.tar.bz2") + client2.succeed( + "cmp /tmp/test.tar.bz2 ${file}" + ) ''; }) From 8eead58520f45f55cec40b7d7f0ca47e458356a8 Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Tue, 10 Sep 2019 19:55:35 +0200 Subject: [PATCH 336/391] nixos/postgres: Port test to python --- nixos/tests/postgresql.nix | 44 +++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/nixos/tests/postgresql.nix b/nixos/tests/postgresql.nix index ae5d6d095ea..e71c3888288 100644 --- a/nixos/tests/postgresql.nix +++ b/nixos/tests/postgresql.nix @@ -3,7 +3,7 @@ pkgs ? import ../.. { inherit system config; } }: -with import ../lib/testing.nix { inherit system pkgs; }; +with import ../lib/testing-python.nix { inherit system pkgs; }; with pkgs.lib; let @@ -40,29 +40,33 @@ let backupName = if backup-all then "all" else "postgres"; backupService = if backup-all then "postgresqlBackup" else "postgresqlBackup-postgres"; in '' - sub check_count { - my ($select, $nlines) = @_; - return 'test $(sudo -u postgres psql postgres -tAc "' . $select . '"|wc -l) -eq ' . $nlines; - } + def check_count(statement, lines): + return 'test $(sudo -u postgres psql postgres -tAc "{}"|wc -l) -eq {}'.format( + statement, lines + ) + + + machine.start() + machine.wait_for_unit("postgresql") - $machine->start; - $machine->waitForUnit("postgresql"); # postgresql should be available just after unit start - $machine->succeed("cat ${test-sql} | sudo -u postgres psql"); - $machine->shutdown; # make sure that postgresql survive restart (bug #1735) - sleep(2); - $machine->start; - $machine->waitForUnit("postgresql"); - $machine->fail(check_count("SELECT * FROM sth;", 3)); - $machine->succeed(check_count("SELECT * FROM sth;", 5)); - $machine->fail(check_count("SELECT * FROM sth;", 4)); - $machine->succeed(check_count("SELECT xpath(\'/test/text()\', doc) FROM xmltest;", 1)); + machine.succeed( + "cat ${test-sql} | sudo -u postgres psql" + ) + machine.shutdown() # make sure that postgresql survive restart (bug #1735) + time.sleep(2) + machine.start() + machine.wait_for_unit("postgresql") + machine.fail(check_count("SELECT * FROM sth;", 3)) + machine.succeed(check_count("SELECT * FROM sth;", 5)) + machine.fail(check_count("SELECT * FROM sth;", 4)) + machine.succeed(check_count("SELECT xpath('/test/text()', doc) FROM xmltest;", 1)) # Check backup service - $machine->succeed("systemctl start ${backupService}.service"); - $machine->succeed("zcat /var/backup/postgresql/${backupName}.sql.gz | grep 'ok'"); - $machine->succeed("stat -c '%a' /var/backup/postgresql/${backupName}.sql.gz | grep 600"); - $machine->shutdown; + machine.succeed("systemctl start ${backupService}.service") + machine.succeed("zcat /var/backup/postgresql/${backupName}.sql.gz | grep 'ok'") + machine.succeed("stat -c '%a' /var/backup/postgresql/${backupName}.sql.gz | grep 600") + machine.shutdown() ''; }; From 9b33b5d38c3f2f93ff03e195b090ed1b25f6d51c Mon Sep 17 00:00:00 2001 From: Jana Traue Date: Sun, 27 Oct 2019 11:24:26 +0100 Subject: [PATCH 337/391] nixos/gitea: convert test to python --- nixos/tests/gitea.nix | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/nixos/tests/gitea.nix b/nixos/tests/gitea.nix index b8ab6dabc8c..ffbc07cfbb2 100644 --- a/nixos/tests/gitea.nix +++ b/nixos/tests/gitea.nix @@ -3,7 +3,7 @@ pkgs ? import ../.. { inherit system config; } }: -with import ../lib/testing.nix { inherit system pkgs; }; +with import ../lib/testing-python.nix { inherit system pkgs; }; with pkgs.lib; { @@ -18,11 +18,11 @@ with pkgs.lib; }; testScript = '' - startAll; + start_all() - $machine->waitForUnit('gitea.service'); - $machine->waitForOpenPort('3000'); - $machine->succeed("curl --fail http://localhost:3000/"); + machine.wait_for_unit("gitea.service") + machine.wait_for_open_port(3000) + machine.succeed("curl --fail http://localhost:3000/") ''; }; @@ -37,11 +37,11 @@ with pkgs.lib; }; testScript = '' - startAll; + start_all() - $machine->waitForUnit('gitea.service'); - $machine->waitForOpenPort('3000'); - $machine->succeed("curl --fail http://localhost:3000/"); + machine.wait_for_unit("gitea.service") + machine.wait_for_open_port(3000) + machine.succeed("curl --fail http://localhost:3000/") ''; }; @@ -56,12 +56,14 @@ with pkgs.lib; }; testScript = '' - startAll; + start_all() - $machine->waitForUnit('gitea.service'); - $machine->waitForOpenPort('3000'); - $machine->succeed("curl --fail http://localhost:3000/"); - $machine->succeed("curl --fail http://localhost:3000/user/sign_up | grep 'Registration is disabled. Please contact your site administrator.'"); + machine.wait_for_unit("gitea.service") + machine.wait_for_open_port(3000) + machine.succeed("curl --fail http://localhost:3000/") + machine.succeed( + "curl --fail http://localhost:3000/user/sign_up | grep 'Registration is disabled. Please contact your site administrator.'" + ) ''; }; } From 2af2d59fd611ae6ee3ed8e7867243bdd6945f020 Mon Sep 17 00:00:00 2001 From: Julian Stecklina Date: Sun, 27 Oct 2019 11:44:06 +0100 Subject: [PATCH 338/391] nixos/emacs-daemon: convert test to python --- nixos/tests/emacs-daemon.nix | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/nixos/tests/emacs-daemon.nix b/nixos/tests/emacs-daemon.nix index 3594e35e343..b89d9b1bde6 100644 --- a/nixos/tests/emacs-daemon.nix +++ b/nixos/tests/emacs-daemon.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ...} : { +import ./make-test-python.nix ({ pkgs, ...} : { name = "emacs-daemon"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ ]; @@ -21,25 +21,28 @@ import ./make-test.nix ({ pkgs, ...} : { environment.variables.TEST_SYSTEM_VARIABLE = "system variable"; }; - testScript = - '' - $machine->waitForUnit("multi-user.target"); + testScript = '' + machine.wait_for_unit("multi-user.target") # checks that the EDITOR environment variable is set - $machine->succeed("test \$(basename \"\$EDITOR\") = emacseditor"); + machine.succeed('test $(basename "$EDITOR") = emacseditor') # waits for the emacs service to be ready - $machine->waitUntilSucceeds("systemctl --user status emacs.service | grep 'Active: active'"); + machine.wait_until_succeeds( + "systemctl --user status emacs.service | grep 'Active: active'" + ) # connects to the daemon - $machine->succeed("emacsclient --create-frame \$EDITOR &"); + machine.succeed("emacsclient --create-frame $EDITOR &") # checks that Emacs shows the edited filename - $machine->waitForText("emacseditor"); + machine.wait_for_text("emacseditor") # makes sure environment variables are accessible from Emacs - $machine->succeed("emacsclient --eval '(getenv \"TEST_SYSTEM_VARIABLE\")'") =~ /system variable/ or die; + machine.succeed( + "emacsclient --eval '(getenv \"TEST_SYSTEM_VARIABLE\")' | grep -q 'system variable'" + ) - $machine->screenshot("emacsclient"); + machine.screenshot("emacsclient") ''; }) From 8b12f0ddcc02ed2fd5fa5fc8d465cae765668f04 Mon Sep 17 00:00:00 2001 From: Jana Traue Date: Sun, 27 Oct 2019 12:08:55 +0100 Subject: [PATCH 339/391] nixos/quake3: convert test to python --- nixos/tests/quake3.nix | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/nixos/tests/quake3.nix b/nixos/tests/quake3.nix index 4253ce4a867..4d57e219790 100644 --- a/nixos/tests/quake3.nix +++ b/nixos/tests/quake3.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ...} : +import ./make-test-python.nix ({ pkgs, ...} : let @@ -59,37 +59,37 @@ rec { testScript = '' - startAll; + start_all() - $server->waitForUnit("quake3-server"); - $client1->waitForX; - $client2->waitForX; + server.wait_for_unit("quake3-server") + client1.wait_for_x() + client2.wait_for_x() - $client1->execute("quake3 +set r_fullscreen 0 +set name Foo +connect server &"); - $client2->execute("quake3 +set r_fullscreen 0 +set name Bar +connect server &"); + client1.execute("quake3 +set r_fullscreen 0 +set name Foo +connect server &") + client2.execute("quake3 +set r_fullscreen 0 +set name Bar +connect server &") - $server->waitUntilSucceeds("grep -q 'Foo.*entered the game' /tmp/log"); - $server->waitUntilSucceeds("grep -q 'Bar.*entered the game' /tmp/log"); + server.wait_until_succeeds("grep -q 'Foo.*entered the game' /tmp/log") + server.wait_until_succeeds("grep -q 'Bar.*entered the game' /tmp/log") - $server->sleep(10); # wait for a while to get a nice screenshot + server.sleep(10) # wait for a while to get a nice screenshot - $client1->block(); + client1.block() - $server->sleep(20); + server.sleep(20) - $client1->screenshot("screen1"); - $client2->screenshot("screen2"); + client1.screenshot("screen1") + client2.screenshot("screen2") - $client1->unblock(); + client1.unblock() - $server->sleep(10); + server.sleep(10) - $client1->screenshot("screen3"); - $client2->screenshot("screen4"); + client1.screenshot("screen3") + client2.screenshot("screen4") - $client1->shutdown(); - $client2->shutdown(); - $server->stopJob("quake3-server"); + client1.shutdown() + client2.shutdown() + server.stop_job("quake3-server") ''; }) From baec88a119949d5a4875a9063c0a199901c0415f Mon Sep 17 00:00:00 2001 From: Jana Traue Date: Sun, 27 Oct 2019 12:23:36 +0100 Subject: [PATCH 340/391] nixos/wireguard: convert default test to python --- nixos/tests/wireguard/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nixos/tests/wireguard/default.nix b/nixos/tests/wireguard/default.nix index b0797b96323..8206823a918 100644 --- a/nixos/tests/wireguard/default.nix +++ b/nixos/tests/wireguard/default.nix @@ -2,7 +2,7 @@ let wg-snakeoil-keys = import ./snakeoil-keys.nix; in -import ../make-test.nix ({ pkgs, ...} : { +import ../make-test-python.nix ({ pkgs, ...} : { name = "wireguard"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ ma27 ]; @@ -86,12 +86,12 @@ import ../make-test.nix ({ pkgs, ...} : { }; testScript = '' - startAll; + start_all() - $peer0->waitForUnit("wireguard-wg0.service"); - $peer1->waitForUnit("wireguard-wg0.service"); + peer0.wait_for_unit("wireguard-wg0.service") + peer1.wait_for_unit("wireguard-wg0.service") - $peer1->succeed("ping -c5 fc00::1"); - $peer1->succeed("ping -c5 10.23.42.1") + peer1.succeed("ping -c5 fc00::1") + peer1.succeed("ping -c5 10.23.42.1") ''; }) From cdd4d4fadf0d2d0b8ce9c92fabf2a808d8a97e07 Mon Sep 17 00:00:00 2001 From: Jana Traue Date: Sun, 27 Oct 2019 12:35:15 +0100 Subject: [PATCH 341/391] nixos/wireguard: convert generated test to python --- nixos/tests/wireguard/generated.nix | 44 ++++++++++++++++------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/nixos/tests/wireguard/generated.nix b/nixos/tests/wireguard/generated.nix index 897feafe3ff..a29afd2d466 100644 --- a/nixos/tests/wireguard/generated.nix +++ b/nixos/tests/wireguard/generated.nix @@ -1,4 +1,4 @@ -import ../make-test.nix ({ pkgs, ...} : { +import ../make-test-python.nix ({ pkgs, ...} : { name = "wireguard-generated"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ ma27 grahamc ]; @@ -28,30 +28,34 @@ import ../make-test.nix ({ pkgs, ...} : { }; testScript = '' - startAll; + start_all() - $peer1->waitForUnit("wireguard-wg0.service"); - $peer2->waitForUnit("wireguard-wg0.service"); + peer1.wait_for_unit("wireguard-wg0.service") + peer2.wait_for_unit("wireguard-wg0.service") - my ($retcode, $peer1pubkey) = $peer1->execute("wg pubkey < /etc/wireguard/private"); - $peer1pubkey =~ s/\s+$//; - if ($retcode != 0) { - die "Could not read public key from peer1"; - } + retcode, peer1pubkey = peer1.execute("wg pubkey < /etc/wireguard/private") + if retcode != 0: + raise Exception("Could not read public key from peer1") - my ($retcode, $peer2pubkey) = $peer2->execute("wg pubkey < /etc/wireguard/private"); - $peer2pubkey =~ s/\s+$//; - if ($retcode != 0) { - die "Could not read public key from peer2"; - } + retcode, peer2pubkey = peer2.execute("wg pubkey < /etc/wireguard/private") + if retcode != 0: + raise Exception("Could not read public key from peer2") - $peer1->succeed("wg set wg0 peer $peer2pubkey allowed-ips 10.10.10.2/32 endpoint 192.168.1.2:12345 persistent-keepalive 1"); - $peer1->succeed("ip route replace 10.10.10.2/32 dev wg0 table main"); + peer1.succeed( + "wg set wg0 peer {} allowed-ips 10.10.10.2/32 endpoint 192.168.1.2:12345 persistent-keepalive 1".format( + peer2pubkey.strip() + ) + ) + peer1.succeed("ip route replace 10.10.10.2/32 dev wg0 table main") - $peer2->succeed("wg set wg0 peer $peer1pubkey allowed-ips 10.10.10.1/32 endpoint 192.168.1.1:12345 persistent-keepalive 1"); - $peer2->succeed("ip route replace 10.10.10.1/32 dev wg0 table main"); + peer2.succeed( + "wg set wg0 peer {} allowed-ips 10.10.10.1/32 endpoint 192.168.1.1:12345 persistent-keepalive 1".format( + peer1pubkey.strip() + ) + ) + peer2.succeed("ip route replace 10.10.10.1/32 dev wg0 table main") - $peer1->succeed("ping -c1 10.10.10.2"); - $peer2->succeed("ping -c1 10.10.10.1"); + peer1.succeed("ping -c1 10.10.10.2") + peer2.succeed("ping -c1 10.10.10.1") ''; }) From d4a5ea5219c548287d0c4f253e9b43b159199244 Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Sun, 27 Oct 2019 13:22:46 +0100 Subject: [PATCH 342/391] nixos/boot: Port test to python --- nixos/tests/boot.nix | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/nixos/tests/boot.nix b/nixos/tests/boot.nix index 57d8006d7ac..c5040f3b31f 100644 --- a/nixos/tests/boot.nix +++ b/nixos/tests/boot.nix @@ -3,7 +3,7 @@ pkgs ? import ../.. { inherit system config; } }: -with import ../lib/testing.nix { inherit system pkgs; }; +with import ../lib/testing-python.nix { inherit system pkgs; }; with pkgs.lib; let @@ -17,11 +17,11 @@ let ]; }).config.system.build.isoImage; - perlAttrs = params: "{ ${concatStringsSep ", " (mapAttrsToList (name: param: "${name} => ${builtins.toJSON param}") params)} }"; + pythonDict = params: "\n {\n ${concatStringsSep ",\n " (mapAttrsToList (name: param: "\"${name}\": \"${param}\"") params)},\n }\n"; makeBootTest = name: extraConfig: let - machineConfig = perlAttrs ({ qemuFlags = "-m 768"; } // extraConfig); + machineConfig = pythonDict ({ qemuFlags = "-m 768"; } // extraConfig); in makeTest { inherit iso; @@ -29,16 +29,16 @@ let nodes = { }; testScript = '' - my $machine = createMachine(${machineConfig}); - $machine->start; - $machine->waitForUnit("multi-user.target"); - $machine->succeed("nix verify -r --no-trust /run/current-system"); + machine = create_machine(${machineConfig}) + machine.start() + machine.wait_for_unit("multi-user.target") + machine.succeed("nix verify -r --no-trust /run/current-system") - # Test whether the channel got installed correctly. - $machine->succeed("nix-instantiate --dry-run '' -A hello"); - $machine->succeed("nix-env --dry-run -iA nixos.procps"); + with subtest("Check whether the channel got installed correctly"): + machine.succeed("nix-instantiate --dry-run '' -A hello") + machine.succeed("nix-env --dry-run -iA nixos.procps") - $machine->shutdown; + machine.shutdown() ''; }; @@ -60,7 +60,7 @@ let config.system.build.netbootIpxeScript ]; }; - machineConfig = perlAttrs ({ + machineConfig = pythonDict ({ qemuFlags = "-boot order=n -m 2000"; netBackendArgs = "tftp=${ipxeBootDir},bootfile=netboot.ipxe"; } // extraConfig); @@ -68,12 +68,11 @@ let makeTest { name = "boot-netboot-" + name; nodes = { }; - testScript = - '' - my $machine = createMachine(${machineConfig}); - $machine->start; - $machine->waitForUnit("multi-user.target"); - $machine->shutdown; + testScript = '' + machine = create_machine(${machineConfig}) + machine.start() + machine.wait_for_unit("multi-user.target") + machine.shutdown() ''; }; in { From e5ee59626309a3af57fe1befbff75081f942f5e3 Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Sun, 27 Oct 2019 13:53:55 +0100 Subject: [PATCH 343/391] nixos/acme: Port test to python --- nixos/tests/acme.nix | 53 ++++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 24 deletions(-) diff --git a/nixos/tests/acme.nix b/nixos/tests/acme.nix index 206d97849f0..6bd315ff1ea 100644 --- a/nixos/tests/acme.nix +++ b/nixos/tests/acme.nix @@ -1,6 +1,6 @@ let commonConfig = ./common/letsencrypt/common.nix; -in import ./make-test.nix { +in import ./make-test-python.nix { name = "acme"; nodes = rec { @@ -90,39 +90,44 @@ in import ./make-test.nix { newServerSystem = nodes.webserver2.config.system.build.toplevel; switchToNewServer = "${newServerSystem}/bin/switch-to-configuration test"; in - # Note, waitForUnit does not work for oneshot services that do not have RemainAfterExit=true, + # Note, wait_for_unit does not work for oneshot services that do not have RemainAfterExit=true, # this is because a oneshot goes from inactive => activating => inactive, and never # reaches the active state. To work around this, we create some mock target units which # get pulled in by the oneshot units. The target units linger after activation, and hence we # can use them to probe that a oneshot fired. It is a bit ugly, but it is the best we can do '' - $client->start; - $letsencrypt->start; - $acmeStandalone->start; + client.start() + letsencrypt.start() + acmeStandalone.start() - $letsencrypt->waitForUnit("default.target"); - $letsencrypt->waitForUnit("pebble.service"); + letsencrypt.wait_for_unit("default.target") + letsencrypt.wait_for_unit("pebble.service") - subtest "can request certificate with HTTPS-01 challenge", sub { - $acmeStandalone->waitForUnit("default.target"); - $acmeStandalone->succeed("systemctl start acme-standalone.com.service"); - $acmeStandalone->waitForUnit("acme-finished-standalone.com.target"); - }; + with subtest("can request certificate with HTTPS-01 challenge"): + acmeStandalone.wait_for_unit("default.target") + acmeStandalone.succeed("systemctl start acme-standalone.com.service") + acmeStandalone.wait_for_unit("acme-finished-standalone.com.target") - $client->waitForUnit("default.target"); + client.wait_for_unit("default.target") - $client->succeed('curl https://acme-v02.api.letsencrypt.org:15000/roots/0 > /tmp/ca.crt'); - $client->succeed('curl https://acme-v02.api.letsencrypt.org:15000/intermediate-keys/0 >> /tmp/ca.crt'); + client.succeed("curl https://acme-v02.api.letsencrypt.org:15000/roots/0 > /tmp/ca.crt") + client.succeed( + "curl https://acme-v02.api.letsencrypt.org:15000/intermediate-keys/0 >> /tmp/ca.crt" + ) - subtest "Can request certificate for nginx service", sub { - $webserver->waitForUnit("acme-finished-a.example.com.target"); - $client->succeed('curl --cacert /tmp/ca.crt https://a.example.com/ | grep -qF "hello world"'); - }; + with subtest("Can request certificate for nginx service"): + webserver.wait_for_unit("acme-finished-a.example.com.target") + client.succeed( + "curl --cacert /tmp/ca.crt https://a.example.com/ | grep -qF 'hello world'" + ) - subtest "Can add another certificate for nginx service", sub { - $webserver->succeed("/run/current-system/fine-tune/child-1/bin/switch-to-configuration test"); - $webserver->waitForUnit("acme-finished-b.example.com.target"); - $client->succeed('curl --cacert /tmp/ca.crt https://b.example.com/ | grep -qF "hello world"'); - }; + with subtest("Can add another certificate for nginx service"): + webserver.succeed( + "/run/current-system/fine-tune/child-1/bin/switch-to-configuration test" + ) + webserver.wait_for_unit("acme-finished-b.example.com.target") + client.succeed( + "curl --cacert /tmp/ca.crt https://b.example.com/ | grep -qF 'hello world'" + ) ''; } From 986a1eb32b9e9f8c099de6153e13492be96820f4 Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Sun, 27 Oct 2019 13:56:33 +0100 Subject: [PATCH 344/391] nixos/ammonite: Port test to python --- nixos/tests/ammonite.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/tests/ammonite.nix b/nixos/tests/ammonite.nix index fedfde233e8..1955e42be5f 100644 --- a/nixos/tests/ammonite.nix +++ b/nixos/tests/ammonite.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ...} : { +import ./make-test-python.nix ({ pkgs, ...} : { name = "ammonite"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ nequissimus ]; @@ -13,8 +13,8 @@ import ./make-test.nix ({ pkgs, ...} : { }; testScript = '' - startAll; + start_all() - $amm->succeed("amm -c 'val foo = 21; println(foo * 2)' | grep 42") + amm.succeed("amm -c 'val foo = 21; println(foo * 2)' | grep 42") ''; }) From 48508da01e754f3ed3a7d2656bbc695ab66036bc Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Sun, 27 Oct 2019 14:20:06 +0100 Subject: [PATCH 345/391] nixos/automysqlackup: Port test to python --- nixos/tests/automysqlbackup.nix | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/nixos/tests/automysqlbackup.nix b/nixos/tests/automysqlbackup.nix index ada104a34de..224b93862fb 100644 --- a/nixos/tests/automysqlbackup.nix +++ b/nixos/tests/automysqlbackup.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, lib, ... }: +import ./make-test-python.nix ({ pkgs, lib, ... }: { name = "automysqlbackup"; @@ -15,20 +15,24 @@ import ./make-test.nix ({ pkgs, lib, ... }: }; testScript = '' - startAll; + start_all() # Need to have mysql started so that it can be populated with data. - $machine->waitForUnit("mysql.service"); + machine.wait_for_unit("mysql.service") - # Wait for testdb to be fully populated (5 rows). - $machine->waitUntilSucceeds("mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"); + with subtest("Wait for testdb to be fully populated (5 rows)."): + machine.wait_until_succeeds( + "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5" + ) - # Do a backup and wait for it to start - $machine->startJob("automysqlbackup.service"); - $machine->waitForJob("automysqlbackup.service"); + with subtest("Do a backup and wait for it to start"): + machine.start_job("automysqlbackup.service") + machine.wait_for_job("automysqlbackup.service") - # wait for backup file and check that data appears in backup - $machine->waitForFile("/var/backup/mysql/daily/testdb"); - $machine->succeed("${pkgs.gzip}/bin/zcat /var/backup/mysql/daily/testdb/daily_testdb_*.sql.gz | grep hello"); + with subtest("wait for backup file and check that data appears in backup"): + machine.wait_for_file("/var/backup/mysql/daily/testdb") + machine.succeed( + "${pkgs.gzip}/bin/zcat /var/backup/mysql/daily/testdb/daily_testdb_*.sql.gz | grep hello" + ) ''; }) From 40396a7e12419fc772063d2a3fa87ec7d14a46d9 Mon Sep 17 00:00:00 2001 From: Julian Stecklina Date: Sun, 27 Oct 2019 13:53:36 +0100 Subject: [PATCH 346/391] nixos/zfs: convert test to python --- nixos/tests/zfs.nix | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/nixos/tests/zfs.nix b/nixos/tests/zfs.nix index d7a08268e98..8f844aca416 100644 --- a/nixos/tests/zfs.nix +++ b/nixos/tests/zfs.nix @@ -7,7 +7,7 @@ with import ../lib/testing.nix { inherit system pkgs; }; let - makeTest = import ./make-test.nix; + makeTest = import ./make-test-python.nix; makeZfsTest = name: { kernelPackage ? pkgs.linuxPackages_latest @@ -34,12 +34,12 @@ let }; testScript = '' - $machine->succeed("modprobe zfs"); - $machine->succeed("zpool status"); + machine.succeed("modprobe zfs") + machine.succeed("zpool status") - $machine->succeed("ls /dev"); + machine.succeed("ls /dev") - $machine->succeed( + machine.succeed( "mkdir /tmp/mnt", "udevadm settle", @@ -55,9 +55,7 @@ let "umount /tmp/mnt", "zpool destroy rpool", "udevadm settle" - - ); - + ) '' + extraTest; }; @@ -70,8 +68,8 @@ in { unstable = makeZfsTest "unstable" { enableUnstable = true; extraTest = '' - $machine->succeed( - "echo password | zpool create -o altroot='/tmp/mnt' -O encryption=aes-256-gcm -O keyformat=passphrase rpool /dev/vdb1", + machine.succeed( + "echo password | zpool create -o altroot=\"/tmp/mnt\" -O encryption=aes-256-gcm -O keyformat=passphrase rpool /dev/vdb1", "zfs create -o mountpoint=legacy rpool/root", "mount -t zfs rpool/root /tmp/mnt", "udevadm settle", @@ -79,7 +77,7 @@ in { "umount /tmp/mnt", "zpool destroy rpool", "udevadm settle" - ); + ) ''; }; From 4704bbdd183deed592df261a2857a411840d06f8 Mon Sep 17 00:00:00 2001 From: Stig Palmquist Date: Thu, 24 Oct 2019 15:26:17 +0200 Subject: [PATCH 347/391] perlPackages.CryptOpenSSLX509: init at 1.813 --- pkgs/top-level/perl-packages.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index dcd72f0267a..d8037d399c8 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3601,6 +3601,23 @@ let buildInputs = [ CryptOpenSSLGuess ]; }; + CryptOpenSSLX509 = buildPerlPackage rec { + pname = "Crypt-OpenSSL-X509"; + version = "1.813"; + src = fetchurl { + url = "mirror://cpan/authors/id/J/JO/JONASBN/Crypt-OpenSSL-X509-1.813.tar.gz"; + sha256 = "684bd888d2ed4c748f8f6dd8e87c14afa2974b12ee01faa082ad9cfa1e321e62"; + }; + NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include"; + NIX_CFLAGS_LINK = "-L${pkgs.openssl.out}/lib -lcrypto"; + meta = { + homepage = "https://github.com/dsully/perl-crypt-openssl-x509"; + description = "Perl extension to OpenSSL's X509 API"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + maintainers = [ maintainers.sgo ]; + }; + }; + CryptPBKDF2 = buildPerlPackage { pname = "Crypt-PBKDF2"; version = "0.161520"; From 3d89ead7c698ad7cdab22903d78303405832bd11 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Tue, 5 Nov 2019 00:38:42 +0100 Subject: [PATCH 348/391] gjs: move to top-level --- nixos/tests/gjs.nix | 4 ++-- pkgs/desktops/gnome-3/default.nix | 4 ++-- pkgs/desktops/gnome-3/devtools/anjuta/default.nix | 4 ++-- .../gnome-3/extensions/drop-down-terminal/default.nix | 5 ++--- pkgs/desktops/gnome-3/extensions/gsconnect/default.nix | 4 ++-- .../gnome-3/core => development/libraries}/gjs/default.nix | 2 +- pkgs/development/libraries/libsecret/default.nix | 4 ++-- pkgs/tools/misc/ostree/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 2 ++ 9 files changed, 17 insertions(+), 16 deletions(-) rename pkgs/{desktops/gnome-3/core => development/libraries}/gjs/default.nix (94%) diff --git a/nixos/tests/gjs.nix b/nixos/tests/gjs.nix index e6002ef98dd..87c8d7f2817 100644 --- a/nixos/tests/gjs.nix +++ b/nixos/tests/gjs.nix @@ -3,13 +3,13 @@ import ./make-test.nix ({ pkgs, ... }: { name = "gjs"; meta = { - maintainers = pkgs.gnome3.gjs.meta.maintainers; + maintainers = pkgs.gjs.meta.maintainers; }; machine = { pkgs, ... }: { imports = [ ./common/x11.nix ]; environment.systemPackages = with pkgs; [ gnome-desktop-testing ]; - environment.variables.XDG_DATA_DIRS = [ "${pkgs.gnome3.gjs.installedTests}/share" ]; + environment.variables.XDG_DATA_DIRS = [ "${pkgs.gjs.installedTests}/share" ]; }; testScript = '' diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 952f6eaf4f8..6d2ae92ac80 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -49,8 +49,6 @@ lib.makeScope pkgs.newScope (self: with self; { gdm = callPackage ./core/gdm { }; - gjs = callPackage ./core/gjs { }; - gnome-backgrounds = callPackage ./core/gnome-backgrounds { }; gnome-bluetooth = callPackage ./core/gnome-bluetooth { }; @@ -360,4 +358,6 @@ lib.makeScope pkgs.newScope (self: with self; { inherit (pkgs) vala; # added 2019-10-10 inherit (pkgs) gegl_0_4; # added 2019-10-31 + + inherit (pkgs) gjs; # added 2019-01-05 }) diff --git a/pkgs/desktops/gnome-3/devtools/anjuta/default.nix b/pkgs/desktops/gnome-3/devtools/anjuta/default.nix index 4df3ed10a69..4f5562bbffa 100644 --- a/pkgs/desktops/gnome-3/devtools/anjuta/default.nix +++ b/pkgs/desktops/gnome-3/devtools/anjuta/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, flex, bison, libxml2, intltool, +{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, gjs, flex, bison, libxml2, intltool, gdl, libgda, gtksourceview, gsettings-desktop-schemas, itstool, python3, ncurses, makeWrapper }: @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ncurses ]; buildInputs = [ - flex bison gtk3 libxml2 gnome3.gjs gdl + flex bison gtk3 libxml2 gjs gdl libgda gtksourceview gsettings-desktop-schemas ]; diff --git a/pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix b/pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix index c0ecfc29e2c..4e7fa17d495 100644 --- a/pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix +++ b/pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, substituteAll, gnome3, vte }: +{ stdenv, fetchFromGitHub, substituteAll, gjs, vte }: stdenv.mkDerivation rec { pname = "gnome-shell-extension-drop-down-terminal"; @@ -16,8 +16,7 @@ stdenv.mkDerivation rec { patches = [ (substituteAll { src = ./fix_vte_and_gjs.patch; - inherit vte; - gjs = gnome3.gjs; + inherit gjs vte; }) ]; diff --git a/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix b/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix index cb1dd5ceaa8..ca232d090a8 100644 --- a/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix +++ b/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, substituteAll, python3, openssl, folks, gsound , meson, ninja, libxml2, pkgconfig, gobject-introspection, wrapGAppsHook -, glib, gtk3, at-spi2-core, upower, openssh, gnome3 }: +, glib, gtk3, at-spi2-core, upower, openssh, gnome3, gjs }: stdenv.mkDerivation rec { pname = "gnome-shell-gsconnect"; @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { gsound upower gnome3.caribou - gnome3.gjs # for running daemon + gjs # for running daemon gnome3.evolution-data-server # for libebook-contacts typelib ]; diff --git a/pkgs/desktops/gnome-3/core/gjs/default.nix b/pkgs/development/libraries/gjs/default.nix similarity index 94% rename from pkgs/desktops/gnome-3/core/gjs/default.nix rename to pkgs/development/libraries/gjs/default.nix index b0c1e2d3077..abad7fc2fc9 100644 --- a/pkgs/desktops/gnome-3/core/gjs/default.nix +++ b/pkgs/development/libraries/gjs/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { }; passthru = { - updateScript = gnome3.updateScript { packageName = "gjs"; attrPath = "gnome3.gjs"; }; + updateScript = gnome3.updateScript { packageName = "gjs"; }; }; outputs = [ "out" "installedTests" ]; diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix index 0a3c110bbbd..ca2449adefd 100644 --- a/pkgs/development/libraries/libsecret/default.nix +++ b/pkgs/development/libraries/libsecret/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, glib, pkgconfig, gettext, libxslt, python3, docbook_xsl, docbook_xml_dtd_42 -, libgcrypt, gobject-introspection, vala, gtk-doc, gnome3, libintl, dbus, xvfb_run }: +, libgcrypt, gobject-introspection, vala, gtk-doc, gnome3, gjs, libintl, dbus, xvfb_run }: stdenv.mkDerivation rec { pname = "libsecret"; @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - installCheckInputs = [ python3 python3.pkgs.dbus-python python3.pkgs.pygobject3 xvfb_run dbus gnome3.gjs ]; + installCheckInputs = [ python3 python3.pkgs.dbus-python python3.pkgs.pygobject3 xvfb_run dbus gjs ]; # needs to run after install because typelibs point to absolute paths doInstallCheck = false; # Failed to load shared library '/force/shared/libmock_service.so.0' referenced by the typelib diff --git a/pkgs/tools/misc/ostree/default.nix b/pkgs/tools/misc/ostree/default.nix index 9f423cf6a4d..4c5e4a50ef6 100644 --- a/pkgs/tools/misc/ostree/default.nix +++ b/pkgs/tools/misc/ostree/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchpatch, pkgconfig, gtk-doc, gobject-introspection, gnome3 +{ stdenv, fetchurl, fetchpatch, pkgconfig, gtk-doc, gobject-introspection, gjs , glib, systemd, xz, e2fsprogs, libsoup, gpgme, which, autoconf, automake, libtool, fuse, utillinuxMinimal, libselinux , libarchive, libcap, bzip2, yacc, libxslt, docbook_xsl, docbook_xml_dtd_42, python3 }: @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { glib systemd e2fsprogs libsoup gpgme fuse libselinux libcap libarchive bzip2 xz utillinuxMinimal # for libmount - (python3.withPackages (p: with p; [ pyyaml ])) gnome3.gjs # for tests + (python3.withPackages (p: with p; [ pyyaml ])) gjs # for tests ]; preConfigure = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 69b3af91c2f..7a2dd987fcf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -877,6 +877,8 @@ in gitter = callPackage ../applications/networking/instant-messengers/gitter { }; + gjs = callPackage ../development/libraries/gjs { }; + glasgow = with python3Packages; toPythonApplication glasgow; gucci = callPackage ../tools/text/gucci { }; From a2f69282576b441447e454a166014278c4bfbcbb Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Tue, 5 Nov 2019 00:49:38 +0100 Subject: [PATCH 349/391] gjs: clean up * format * add homepage --- pkgs/development/libraries/gjs/default.nix | 51 +++++++++++++++++----- 1 file changed, 40 insertions(+), 11 deletions(-) diff --git a/pkgs/development/libraries/gjs/default.nix b/pkgs/development/libraries/gjs/default.nix index abad7fc2fc9..46550c3e50f 100644 --- a/pkgs/development/libraries/gjs/default.nix +++ b/pkgs/development/libraries/gjs/default.nix @@ -1,6 +1,19 @@ -{ fetchurl, stdenv, pkgconfig, gnome3, gtk3, atk, gobject-introspection -, spidermonkey_60, pango, readline, glib, libxml2, dbus, gdk-pixbuf -, makeWrapper }: +{ fetchurl +, stdenv +, pkgconfig +, gnome3 +, gtk3 +, atk +, gobject-introspection +, spidermonkey_60 +, pango +, readline +, glib +, libxml2 +, dbus +, gdk-pixbuf +, makeWrapper +}: stdenv.mkDerivation rec { pname = "gjs"; @@ -11,16 +24,25 @@ stdenv.mkDerivation rec { sha256 = "1xf68rbagkflb9yi3visfw8cbxqlzd717y8jakgw0y6whzm1dpxl"; }; - passthru = { - updateScript = gnome3.updateScript { packageName = "gjs"; }; - }; - outputs = [ "out" "installedTests" ]; - nativeBuildInputs = [ pkgconfig makeWrapper ]; - buildInputs = [ libxml2 gobject-introspection glib pango readline dbus ]; + nativeBuildInputs = [ + pkgconfig + makeWrapper + ]; - propagatedBuildInputs = [ spidermonkey_60 ]; + buildInputs = [ + libxml2 + gobject-introspection + glib + pango + readline + dbus + ]; + + propagatedBuildInputs = [ + spidermonkey_60 + ]; configureFlags = [ "--enable-installed-tests" @@ -42,10 +64,17 @@ stdenv.mkDerivation rec { --prefix GI_TYPELIB_PATH : "${stdenv.lib.makeSearchPath "lib/girepository-1.0" [ gtk3 atk pango.out gdk-pixbuf ]}:$installedTests/libexec/gjs/installed-tests" ''; + passthru = { + updateScript = gnome3.updateScript { + packageName = "gjs"; + }; + }; + meta = with stdenv.lib; { description = "JavaScript bindings for GNOME"; + homepage = "https://gitlab.gnome.org/GNOME/gjs/blob/master/doc/Home.md"; + license = licenses.lgpl2Plus; maintainers = gnome3.maintainers; platforms = platforms.linux; - license = licenses.lgpl2Plus; }; } From a17cda6ddf06970522dd57a352496c29027c18af Mon Sep 17 00:00:00 2001 From: xrelkd <46590321+xrelkd@users.noreply.github.com> Date: Tue, 5 Nov 2019 08:08:53 +0800 Subject: [PATCH 350/391] youtube-dl: 2019.10.29 -> 2019.11.05 --- pkgs/tools/misc/youtube-dl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index 610738daebd..bc198eb595b 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.10.29"; + version = "2019.11.05"; src = fetchurl { url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz"; - sha256 = "1lq6ycjbx07831s24yx42q6m6svas4mf02vbszw0965dbbzs7vp4"; + sha256 = "129461i4103slqj3nq69djnlmgjj3lfgmazn41avc5g967w29b85"; }; nativeBuildInputs = [ makeWrapper ]; From a5d9600125f6e74d39bf33feca038036022f929d Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Mon, 4 Nov 2019 23:00:00 -0500 Subject: [PATCH 351/391] comic-neue: 2.2 -> 2.3 --- pkgs/data/fonts/comic-neue/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/data/fonts/comic-neue/default.nix b/pkgs/data/fonts/comic-neue/default.nix index 2615d0260f0..6dcefe90055 100644 --- a/pkgs/data/fonts/comic-neue/default.nix +++ b/pkgs/data/fonts/comic-neue/default.nix @@ -1,7 +1,7 @@ { lib, fetchzip }: let - version = "2.2"; + version = "2.3"; in fetchzip rec { name = "comic-neue-${version}"; @@ -9,15 +9,15 @@ in fetchzip rec { postFetch = '' mkdir -vp $out/share/{doc,fonts} - unzip -j $downloadedFile comic-neue-2.2/\*.otf -d $out/share/fonts/opentype - unzip -j $downloadedFile comic-neue-2.2/\*.ttf -d $out/share/fonts/truetype - unzip -j $downloadedFile comic-neue-2.2/\*.eot -d $out/share/fonts/EOT - unzip -j $downloadedFile comic-neue-2.2/\*.woff -d $out/share/fonts/WOFF - unzip -j $downloadedFile comic-neue-2.2/\*.woff2 -d $out/share/fonts/WOFF2 - unzip -j $downloadedFile comic-neue-2.2/\*.pdf comic-neue-2.2/FONTLOG.txt comic-neue-2.2/OFL-FAQ.txt comic-neue-2.2/SIL-License.txt -d $out/share/doc/${name} + unzip -j $downloadedFile OTF/\*.otf -d $out/share/fonts/opentype + unzip -j $downloadedFile Web/\*.ttf -d $out/share/fonts/truetype + unzip -j $downloadedFile Web/\*.eot -d $out/share/fonts/EOT + unzip -j $downloadedFile Web/\*.woff -d $out/share/fonts/WOFF + unzip -j $downloadedFile Web/\*.woff2 -d $out/share/fonts/WOFF2 + unzip -j $downloadedFile \*.pdf FONTLOG.txt OFL-FAQ.txt SIL-License.txt -d $out/share/doc/${name} ''; - sha256 = "1yypq5aqqzv3q1c6vx5130mi2iwihzzvrawhwqpwsfjl0p25sq9q"; + sha256 = "1gs4vhys0m3qsw06qaxzyi81f06w5v66kbyl64yw3pq2rb656779"; meta = with lib; { homepage = http://comicneue.com/; From c855dceacf55060540b89151dc8d1aadd118406c Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Mon, 4 Nov 2019 21:00:00 -0500 Subject: [PATCH 352/391] python3Packages.nvchecker: 1.4.4 -> 1.5 --- .../python-modules/nvchecker/default.nix | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/nvchecker/default.nix b/pkgs/development/python-modules/nvchecker/default.nix index f21624acf14..641db7008f8 100644 --- a/pkgs/development/python-modules/nvchecker/default.nix +++ b/pkgs/development/python-modules/nvchecker/default.nix @@ -1,22 +1,20 @@ -{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, pytest, setuptools, structlog, pytest-asyncio, flaky, tornado, pycurl }: +{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, pytest, setuptools, structlog, pytest-asyncio, flaky, tornado, pycurl, pytest-httpbin }: buildPythonPackage rec { pname = "nvchecker"; - version = "1.4.4"; + version = "1.5"; src = fetchPypi { inherit pname version; - sha256 = "6276ed2a897a30ccd71bfd7cf9e6b7842f37f3d5a86d7a70fe46f437c62b1875"; + sha256 = "0973f7c3ea5ad65fb19837e8915882a9f2c2f21f5c2589005478697391fea2fd"; }; propagatedBuildInputs = [ setuptools structlog tornado pycurl ]; - checkInputs = [ pytest pytest-asyncio flaky ]; - - # requires network access - doCheck = false; + checkInputs = [ pytest pytest-asyncio flaky pytest-httpbin ]; + # disable `test_ubuntupkg` because it requires network checkPhase = '' - py.test + py.test -m "not needs_net" --ignore=tests/test_ubuntupkg.py ''; disabled = pythonOlder "3.5"; From 8632698b067243c2693c0d050c0a58c8227f907f Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Tue, 29 Oct 2019 06:31:14 +0000 Subject: [PATCH 353/391] =?UTF-8?q?ocamlPackages.checkseum:=200.0.3=20?= =?UTF-8?q?=E2=86=92=200.1.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes the “decompress” library on non-x86_64 platforms --- .../ocaml-modules/checkseum/default.nix | 45 +++++++------------ .../ocaml-modules/decompress/default.nix | 1 - 2 files changed, 16 insertions(+), 30 deletions(-) diff --git a/pkgs/development/ocaml-modules/checkseum/default.nix b/pkgs/development/ocaml-modules/checkseum/default.nix index 18e06d260f4..731dd476c5d 100644 --- a/pkgs/development/ocaml-modules/checkseum/default.nix +++ b/pkgs/development/ocaml-modules/checkseum/default.nix @@ -1,41 +1,28 @@ -{ stdenv, fetchurl, ocaml, findlib, dune, alcotest, cmdliner, fmt, optint, rresult }: +{ lib, fetchurl, buildDunePackage +, bigarray-compat, optint +, cmdliner, fmt, rresult +, alcotest +}: -if !stdenv.lib.versionAtLeast ocaml.version "4.03" -then throw "checkseum is not available for OCaml ${ocaml.version}" -else +buildDunePackage rec { + version = "0.1.1"; + pname = "checkseum"; -# The C implementation is not portable: x86 only -let hasC = stdenv.isi686 || stdenv.isx86_64; in - -stdenv.mkDerivation rec { - version = "0.0.3"; - name = "ocaml${ocaml.version}-checkseum-${version}"; src = fetchurl { - url = "https://github.com/mirage/checkseum/releases/download/v0.0.3/checkseum-v0.0.3.tbz"; - sha256 = "12j45zsvil1ynwx1x8fbddhqacc8r1zf7f6h576y3f3yvbg7l1fm"; + url = "https://github.com/mirage/checkseum/releases/download/v${version}/checkseum-v${version}.tbz"; + sha256 = "0aa2r1l65a5hcgciw6n8r5ij4gpgg0cf9k24isybxiaiz63k94d3"; }; - postPatch = stdenv.lib.optionalString (!hasC) '' - rm -r bin src-c - ''; + buildInputs = [ cmdliner fmt rresult ]; + propagatedBuildInputs = [ bigarray-compat optint ]; + checkInputs = lib.optionals doCheck [ alcotest ]; - buildInputs = [ ocaml findlib dune alcotest cmdliner fmt rresult ]; - propagatedBuildInputs = [ optint ]; - - buildPhase = "dune build"; - - doCheck = hasC; - checkPhase = "dune runtest"; - - inherit (dune) installPhase; - - passthru = { inherit hasC; }; + doCheck = true; meta = { homepage = "https://github.com/mirage/checkseum"; description = "ADLER-32 and CRC32C Cyclic Redundancy Check"; - license = stdenv.lib.licenses.mit; - maintainers = [ stdenv.lib.maintainers.vbgl ]; - inherit (ocaml.meta) platforms; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.vbgl ]; }; } diff --git a/pkgs/development/ocaml-modules/decompress/default.nix b/pkgs/development/ocaml-modules/decompress/default.nix index 828d3a98f9d..753f894e085 100644 --- a/pkgs/development/ocaml-modules/decompress/default.nix +++ b/pkgs/development/ocaml-modules/decompress/default.nix @@ -22,6 +22,5 @@ buildDunePackage rec { license = lib.licenses.mit; maintainers = [ lib.maintainers.vbgl ]; homepage = "https://github.com/mirage/decompress"; - broken = !checkseum.hasC; }; } From 1f2fff49e0c39013ab01c11409795d48038a2c6e Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Tue, 5 Nov 2019 08:18:29 +0100 Subject: [PATCH 354/391] nextcloud-client: 2.6.0 -> 2.6.1 https://github.com/nextcloud/desktop/releases/tag/v2.6.1 --- pkgs/applications/networking/nextcloud-client/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix index 27ccbf6d88a..974d1e5a077 100644 --- a/pkgs/applications/networking/nextcloud-client/default.nix +++ b/pkgs/applications/networking/nextcloud-client/default.nix @@ -18,13 +18,13 @@ mkDerivation rec { pname = "nextcloud-client"; - version = "2.6.0"; + version = "2.6.1"; src = fetchFromGitHub { owner = "nextcloud"; repo = "desktop"; rev = "v${version}"; - sha256 = "1cggk8yfy6lak48nfh691ad5y3bap49cfa2krp7vak108krgvkxi"; + sha256 = "18318j488pxksf4zc6zag8pdpyaks55yivn91nx3x458ax6albkz"; }; patches = [ From b5d42984bb450cc8fa68b76dc09d2b16cb59c1bf Mon Sep 17 00:00:00 2001 From: Sascha Grunert Date: Tue, 5 Nov 2019 08:38:54 +0100 Subject: [PATCH 355/391] podman: v1.6.2 -> v1.6.3 Signed-off-by: Sascha Grunert --- pkgs/applications/virtualization/podman/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix index fa48c8b5e5e..9d94ced0bf2 100644 --- a/pkgs/applications/virtualization/podman/default.nix +++ b/pkgs/applications/virtualization/podman/default.nix @@ -5,13 +5,13 @@ buildGoPackage rec { pname = "podman"; - version = "1.6.2"; + version = "1.6.3"; src = fetchFromGitHub { owner = "containers"; repo = "libpod"; rev = "v${version}"; - sha256 = "0cwyrzjjgxclnzc1yx6vm2bvq73mldwxfwalkprzlg8vpqbxji8y"; + sha256 = "0y87pylpff2xl796n5s2vrm90pspzqfw8h4a5gndn1mx18s09s69"; }; goPackagePath = "github.com/containers/libpod"; From d15b9b15619fb1d753319321bc44d71802cfdece Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 1 Nov 2019 10:33:46 -0700 Subject: [PATCH 356/391] avocode: 3.9.3 -> 3.9.6 --- pkgs/applications/graphics/avocode/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/avocode/default.nix b/pkgs/applications/graphics/avocode/default.nix index 20cbd6fc5cf..1497fe19991 100644 --- a/pkgs/applications/graphics/avocode/default.nix +++ b/pkgs/applications/graphics/avocode/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "avocode"; - version = "3.9.3"; + version = "3.9.6"; src = fetchurl { url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip"; - sha256 = "1ki2fpn70p1rzf52q8511a90n7y7dqi86fs2a48qhass1abxlpqx"; + sha256 = "0jnl461dg2s5panrw12707bv34g6wxc1pxc90awnja13yq0z6bfc"; }; libPath = stdenv.lib.makeLibraryPath (with xorg; [ From b7f151df700cb54114b620192b6e62845c686398 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 3 Nov 2019 02:40:54 -0800 Subject: [PATCH 357/391] yacas: 1.6.1 -> 1.8.0 --- pkgs/applications/science/math/yacas/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/math/yacas/default.nix b/pkgs/applications/science/math/yacas/default.nix index bae0d9a18c6..ed680b1b4cd 100644 --- a/pkgs/applications/science/math/yacas/default.nix +++ b/pkgs/applications/science/math/yacas/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "yacas"; - version = "1.6.1"; + version = "1.8.0"; src = fetchFromGitHub { owner = "grzegorzmazur"; repo = "yacas"; rev = "v${version}"; - sha256 = "0awvlvf607r4hwl1vkhs6jq2s6ig46c66pmr4vspj2cdnypx99cc"; + sha256 = "0fwd98dwq6g0md3yhgyl30i377593b8rw6gsvffzvs11g3aqf1ga"; }; hardeningDisable = [ "format" ]; From 7c723450a186e85aa324268a0a48d9a850ac774d Mon Sep 17 00:00:00 2001 From: Azulinho Date: Mon, 4 Nov 2019 15:45:39 +0000 Subject: [PATCH 358/391] nfstrace: init at 0.4.3.2 Co-authored-by: Renaud Co-authored-by: Nick Partridge --- pkgs/tools/networking/nfstrace/default.nix | 37 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 39 insertions(+) create mode 100644 pkgs/tools/networking/nfstrace/default.nix diff --git a/pkgs/tools/networking/nfstrace/default.nix b/pkgs/tools/networking/nfstrace/default.nix new file mode 100644 index 00000000000..50654da54e4 --- /dev/null +++ b/pkgs/tools/networking/nfstrace/default.nix @@ -0,0 +1,37 @@ +{ cmake, fetchFromGitHub, fetchpatch, json_c, libpcap, ncurses, stdenv }: + +stdenv.mkDerivation rec { + pname = "nfstrace"; + version = "0.4.3.2"; + + src = fetchFromGitHub { + owner = "epam"; + repo = "nfstrace"; + rev = "${version}"; + sha256 = "1djsyn7i3xp969rnmsdaf5vwjiik9wylxxrc5nm7by00i76c1vsg"; + }; + + patches = [ + (fetchpatch { + url = "https://salsa.debian.org/debian/nfstrace/raw/debian/0.4.3.1-3/debian/patches/reproducible_build.patch"; + sha256 = "0fd96r8xi142kjwibqkd46s6jwsg5kfc5v28bqsj9rdlc2aqmay5"; + }) + ]; + + buildInputs = [ json_c libpcap ncurses ]; + nativeBuildInputs = [ cmake ]; + + # To build with GCC 8+ it needs: + CXXFLAGS = [ "-Wno-class-memaccess" "-Wno-ignored-qualifiers" ]; + # CMake can't find json_c without: + NIX_CFLAGS_COMPILE = [ "-I${json_c.dev}/include/json-c" ]; + + doCheck = false; # requires network access + + meta = with stdenv.lib; { + homepage = "http://epam.github.io/nfstrace/"; + description = "NFS and CIFS tracing/monitoring/capturing/analyzing tool"; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 85270623a5d..c441ad63540 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1906,6 +1906,8 @@ in nfdump = callPackage ../tools/networking/nfdump { }; + nfstrace = callPackage ../tools/networking/nfstrace { }; + nixpkgs-pytools = with python3.pkgs; toPythonApplication nixpkgs-pytools; noteshrink = callPackage ../tools/misc/noteshrink { }; From aa1ad7b8667b4ee9723bc4c52c3fda34ee58e44f Mon Sep 17 00:00:00 2001 From: Tobias Mayer Date: Sun, 3 Nov 2019 10:51:58 +0100 Subject: [PATCH 359/391] pythonPackages.schema: Fix This depends on contextlib2 and mock. The preConfigure hook can probably be removed with the next version bump, see https://github.com/keleshev/schema/pull/222. --- pkgs/development/python-modules/schema/default.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/schema/default.nix b/pkgs/development/python-modules/schema/default.nix index 6afa5944372..2f6c9d0947e 100644 --- a/pkgs/development/python-modules/schema/default.nix +++ b/pkgs/development/python-modules/schema/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildPythonPackage, fetchPypi, pytest }: +{ stdenv, buildPythonPackage, fetchPypi, contextlib2, pytest, mock }: buildPythonPackage rec { @@ -10,7 +10,14 @@ buildPythonPackage rec { sha256 = "c9dc8f4624e287c7d1435f8fd758f6a0aabbb7eff442db9192cd46f0e2b6d959"; }; - checkInputs = [ pytest ]; + preConfigure = '' + substituteInPlace requirements.txt --replace '==' '>=' + ''; + + propagatedBuildInputs = [ contextlib2 ]; + + checkInputs = [ pytest mock ]; + checkPhase = "pytest ./test_schema.py"; meta = with stdenv.lib; { description = "Library for validating Python data structures"; From 85fb93535c805bf8a364362bcd9f335172fb2b32 Mon Sep 17 00:00:00 2001 From: Tobias Mayer Date: Sun, 3 Nov 2019 11:00:38 +0100 Subject: [PATCH 360/391] pythonPackages.schema: Add myself as maintainer --- pkgs/development/python-modules/schema/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/schema/default.nix b/pkgs/development/python-modules/schema/default.nix index 2f6c9d0947e..2c1173ce68f 100644 --- a/pkgs/development/python-modules/schema/default.nix +++ b/pkgs/development/python-modules/schema/default.nix @@ -23,5 +23,6 @@ buildPythonPackage rec { description = "Library for validating Python data structures"; homepage = https://github.com/keleshev/schema; license = licenses.mit; + maintainers = [ maintainers.tobim ]; }; } From 4e60c4731be01f6d203824c3b556e712d047d8d9 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 3 Nov 2019 03:31:31 -0800 Subject: [PATCH 361/391] yad: 0.42.0 -> 5.0 --- pkgs/tools/misc/yad/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/yad/default.nix b/pkgs/tools/misc/yad/default.nix index 946a07d17b4..776b41ac1aa 100644 --- a/pkgs/tools/misc/yad/default.nix +++ b/pkgs/tools/misc/yad/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "yad"; - version = "0.42.0"; + version = "5.0"; src = fetchFromGitHub { owner = "v1cont"; repo = "yad"; rev = "v${version}"; - sha256 = "0ym8pgbzx7ydk5rmi2kwwdyzi6pdpcps86i0c20cqcjmqh8kdl36"; + sha256 = "07rd61hvilsxxrj7lf8c9k0a8glj07s48m7ya8d45030r90g3lvc"; }; configureFlags = [ From 89814c917fe8ce28c0e784575510c3889590419f Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 23:19:14 -0700 Subject: [PATCH 362/391] simplenote: 1.8.0 -> 1.9.1 --- pkgs/applications/misc/simplenote/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/simplenote/default.nix b/pkgs/applications/misc/simplenote/default.nix index 87125eb1b36..be8e2105401 100644 --- a/pkgs/applications/misc/simplenote/default.nix +++ b/pkgs/applications/misc/simplenote/default.nix @@ -6,10 +6,10 @@ let pname = "simplenote"; - version = "1.8.0"; + version = "1.9.1"; sha256 = { - x86_64-linux = "066gr1awdj5nwdr1z57mmvx7dd1z19g0wzsgbnrrb89bqfj67ykl"; + x86_64-linux = "1zqrjh1xfdpkpj1fsri9r4qkazh9j89pbj8vjr474b39v56v693j"; }.${system}; meta = with stdenv.lib; { From b9611d2287897cd328e9c7fd7f75740b22ca5265 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 18:08:51 -0700 Subject: [PATCH 363/391] python38Packages.willow: 1.1 -> 1.3 --- pkgs/development/python-modules/willow/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/willow/default.nix b/pkgs/development/python-modules/willow/default.nix index fb9182ab179..138facad701 100644 --- a/pkgs/development/python-modules/willow/default.nix +++ b/pkgs/development/python-modules/willow/default.nix @@ -8,13 +8,13 @@ buildPythonPackage rec { pname = "willow"; - version = "1.1"; + version = "1.3"; disabled = pythonOlder "2.7"; src = fetchPypi { pname = "Willow"; inherit version; - sha256 = "818ee11803c90a0a6d49c94b0453d6266be1ef83ae00de72731c45fae4d3e78c"; + sha256 = "0dzc3cjkwp0h3v1n94c33zr5yw5fdd6dkm6vccp9i8dncmpw912g"; }; propagatedBuildInputs = [ six pillow ]; From 78c5c976955e69c933e882e8f2207059858bdeaa Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 18:24:50 -0700 Subject: [PATCH 364/391] python38Packages.wurlitzer: 1.0.3 -> 2.0.0 --- pkgs/development/python-modules/wurlitzer/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/wurlitzer/default.nix b/pkgs/development/python-modules/wurlitzer/default.nix index d1797acb7d2..8a4d96515d7 100644 --- a/pkgs/development/python-modules/wurlitzer/default.nix +++ b/pkgs/development/python-modules/wurlitzer/default.nix @@ -7,11 +7,11 @@ buildPythonPackage rec { pname = "wurlitzer"; - version = "1.0.3"; + version = "2.0.0"; src = fetchPypi { inherit pname version; - sha256 = "0nab45pfgqdxhhyshf717xfzniss2h3bx19zdaq9gqr6v8lw6wpr"; + sha256 = "0xndv47iwc9k8cp5r9r1z3r0xww0r5x5b7qsmn39gk2gsg0119c6"; }; checkInputs = [ mock pytest ]; From ccadfbeb24e0f8825449795d250c36a4a81616e2 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 2 Nov 2019 17:55:23 -0700 Subject: [PATCH 365/391] python38Packages.telethon: 1.9.0 -> 1.10.8 --- pkgs/development/python-modules/telethon/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/telethon/default.nix b/pkgs/development/python-modules/telethon/default.nix index 334163114a1..375667e91dc 100644 --- a/pkgs/development/python-modules/telethon/default.nix +++ b/pkgs/development/python-modules/telethon/default.nix @@ -2,12 +2,12 @@ buildPythonPackage rec { pname = "telethon"; - version = "1.9.0"; + version = "1.10.8"; src = fetchPypi { inherit version; pname = "Telethon"; - sha256 = "a8797ad5bfee2b350cfc9b73cbb30fc19c8f73c0db42471e0df1371b1a269edc"; + sha256 = "1v0zq6kdvcff6pygi8syylqndamz884gaby4v16p5brg5rz6k25g"; }; propagatedBuildInputs = [ From 2e8ed0f443fb8674baace434e3468ba93d0f8836 Mon Sep 17 00:00:00 2001 From: Kirill Elagin Date: Tue, 5 Nov 2019 13:29:14 +0300 Subject: [PATCH 366/391] Revert "lvm2: enable parallel building" (#72823) * Revert "lvm2: enable parallel building" This reverts commit 494d2deebfc3bde363ca5fe0bb32ddf81a86e62d. I am getting ``` gcc: error: ../../device_mapper/libdevice-mapper.a: No such file or directory ``` --- pkgs/os-specific/linux/lvm2/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix index d5b45117732..9c48caaa243 100644 --- a/pkgs/os-specific/linux/lvm2/default.nix +++ b/pkgs/os-specific/linux/lvm2/default.nix @@ -40,7 +40,9 @@ stdenv.mkDerivation { --replace /usr/bin/udevadm ${systemd}/bin/udevadm ''; - enableParallelBuilding = true; + # https://github.com/NixOS/nixpkgs/pull/52597 + # gcc: error: ../../device_mapper/libdevice-mapper.a: No such file or directory + enableParallelBuilding = false; patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [ (fetchpatch { From 6d7ab9e14681cf55f07dfa5280a81d23bcc68fb7 Mon Sep 17 00:00:00 2001 From: Tyler Benster Date: Mon, 4 Nov 2019 20:45:25 -0800 Subject: [PATCH 367/391] pythonPackages.scikitlearn: 0.21.2 -> 0.21.3 --- pkgs/development/python-modules/scikitlearn/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/scikitlearn/default.nix b/pkgs/development/python-modules/scikitlearn/default.nix index 939782722c6..4830e3fb2ab 100644 --- a/pkgs/development/python-modules/scikitlearn/default.nix +++ b/pkgs/development/python-modules/scikitlearn/default.nix @@ -12,13 +12,13 @@ buildPythonPackage rec { pname = "scikit-learn"; - version = "0.21.2"; + version = "0.21.3"; # UnboundLocalError: local variable 'message' referenced before assignment disabled = stdenv.isi686; # https://github.com/scikit-learn/scikit-learn/issues/5534 src = fetchPypi { inherit pname version; - sha256 = "1nvj9j16y1hz9gm0qwzpnx2zmz55c63k1fai643migsyll9c7bqa"; + sha256 = "eb9b8ebf59eddd8b96366428238ab27d05a19e89c5516ce294abc35cea75d003"; }; buildInputs = [ From d6292986d8d083b2a03b7dee0c29bdbd5639c94b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 5 Nov 2019 10:31:58 +0000 Subject: [PATCH 368/391] android-udev-rules: 20190315 -> 20191103 --- pkgs/os-specific/linux/android-udev-rules/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/android-udev-rules/default.nix b/pkgs/os-specific/linux/android-udev-rules/default.nix index aed0ed374a7..2aa71b92beb 100644 --- a/pkgs/os-specific/linux/android-udev-rules/default.nix +++ b/pkgs/os-specific/linux/android-udev-rules/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "android-udev-rules"; - version = "20190315"; + version = "20191103"; src = fetchFromGitHub { owner = "M0Rf30"; repo = "android-udev-rules"; rev = version; - sha256 = "1w8zkww3cj6yzcsfzwvj1gkf4dfflhp1vd9fixnmlbm43kwkqrdr"; + sha256 = "0x2f2sv0x0ry7kccp47s0hlxps3hbpg37dj3xjjgpdm5hmn2cjq3"; }; installPhase = '' From b786c1be04639fe19eabdfee09a923eab1c41984 Mon Sep 17 00:00:00 2001 From: Marijan Date: Tue, 5 Nov 2019 00:33:17 +0100 Subject: [PATCH 369/391] nixos/openssh: port test to python --- nixos/tests/openssh.nix | 80 ++++++++++++++++++++++------------------- 1 file changed, 44 insertions(+), 36 deletions(-) diff --git a/nixos/tests/openssh.nix b/nixos/tests/openssh.nix index 8b9e2170f15..e9692b50327 100644 --- a/nixos/tests/openssh.nix +++ b/nixos/tests/openssh.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ... }: +import ./make-test-python.nix ({ pkgs, ... }: let inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey; @@ -58,47 +58,55 @@ in { }; testScript = '' - startAll; + start_all() - my $key=`${pkgs.openssh}/bin/ssh-keygen -t ed25519 -f key -N ""`; + server.wait_for_unit("sshd") - $server->waitForUnit("sshd"); + with subtest("manual-authkey"): + client.succeed("mkdir -m 700 /root/.ssh") + client.succeed( + '${pkgs.openssh}/bin/ssh-keygen -t ed25519 -f /root/.ssh/id_ed25519 -N ""' + ) + public_key = client.succeed( + "${pkgs.openssh}/bin/ssh-keygen -y -f /root/.ssh/id_ed25519" + ) + public_key = public_key.strip() + client.succeed("chmod 600 /root/.ssh/id_ed25519") - subtest "manual-authkey", sub { - $server->succeed("mkdir -m 700 /root/.ssh"); - $server->copyFileFromHost("key.pub", "/root/.ssh/authorized_keys"); - $server_lazy->succeed("mkdir -m 700 /root/.ssh"); - $server_lazy->copyFileFromHost("key.pub", "/root/.ssh/authorized_keys"); + server.succeed("mkdir -m 700 /root/.ssh") + server.succeed("echo '{}' > /root/.ssh/authorized_keys".format(public_key)) + server_lazy.succeed("mkdir -m 700 /root/.ssh") + server_lazy.succeed("echo '{}' > /root/.ssh/authorized_keys".format(public_key)) - $client->succeed("mkdir -m 700 /root/.ssh"); - $client->copyFileFromHost("key", "/root/.ssh/id_ed25519"); - $client->succeed("chmod 600 /root/.ssh/id_ed25519"); + client.wait_for_unit("network.target") + client.succeed( + "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'echo hello world' >&2" + ) + client.succeed( + "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'ulimit -l' | grep 1024" + ) - $client->waitForUnit("network.target"); - $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'echo hello world' >&2"); - $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'ulimit -l' | grep 1024"); + client.succeed( + "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'echo hello world' >&2" + ) + client.succeed( + "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'ulimit -l' | grep 1024" + ) - $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'echo hello world' >&2"); - $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'ulimit -l' | grep 1024"); + with subtest("configured-authkey"): + client.succeed( + "cat ${snakeOilPrivateKey} > privkey.snakeoil" + ) + client.succeed("chmod 600 privkey.snakeoil") + client.succeed( + "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil server true" + ) + client.succeed( + "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil server_lazy true" + ) - }; - - subtest "configured-authkey", sub { - $client->succeed("cat ${snakeOilPrivateKey} > privkey.snakeoil"); - $client->succeed("chmod 600 privkey.snakeoil"); - $client->succeed("ssh -o UserKnownHostsFile=/dev/null" . - " -o StrictHostKeyChecking=no -i privkey.snakeoil" . - " server true"); - - $client->succeed("ssh -o UserKnownHostsFile=/dev/null" . - " -o StrictHostKeyChecking=no -i privkey.snakeoil" . - " server_lazy true"); - - }; - - subtest "localhost-only", sub { - $server_localhost_only->succeed("ss -nlt | grep '127.0.0.1:22'"); - $server_localhost_only_lazy->succeed("ss -nlt | grep '127.0.0.1:22'"); - } + with subtest("localhost-only"): + server_localhost_only.succeed("ss -nlt | grep '127.0.0.1:22'") + server_localhost_only_lazy.succeed("ss -nlt | grep '127.0.0.1:22'") ''; }) From daa97862b58ce768f1f8317df8831f64a2bf25b2 Mon Sep 17 00:00:00 2001 From: Marijan Date: Tue, 5 Nov 2019 00:35:20 +0100 Subject: [PATCH 370/391] nixos/tor: port test to python --- nixos/tests/tor.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/nixos/tests/tor.nix b/nixos/tests/tor.nix index 0cb44ddff24..ad07231557c 100644 --- a/nixos/tests/tor.nix +++ b/nixos/tests/tor.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ lib, ... }: with lib; +import ./make-test-python.nix ({ lib, ... }: with lib; rec { name = "tor"; @@ -21,8 +21,10 @@ rec { }; testScript = '' - $client->waitForUnit("tor.service"); - $client->waitForOpenPort(9051); - $client->succeed("echo GETINFO version | nc 127.0.0.1 9051") =~ /514 Authentication required./ or die; + client.wait_for_unit("tor.service") + client.wait_for_open_port(9051) + assert "514 Authentication required." in client.succeed( + "echo GETINFO version | nc 127.0.0.1 9051" + ) ''; }) From 04f0961627034f47939d99ac00e9d1afab2ebc68 Mon Sep 17 00:00:00 2001 From: Marijan Date: Tue, 5 Nov 2019 00:36:18 +0100 Subject: [PATCH 371/391] nixos/transmission: port test to python --- nixos/tests/transmission.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/tests/transmission.nix b/nixos/tests/transmission.nix index f1c238730eb..f4f2186be1f 100644 --- a/nixos/tests/transmission.nix +++ b/nixos/tests/transmission.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ...} : { +import ./make-test-python.nix ({ pkgs, ...} : { name = "transmission"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ coconnor ]; @@ -14,8 +14,8 @@ import ./make-test.nix ({ pkgs, ...} : { testScript = '' - startAll; - $machine->waitForUnit("transmission"); - $machine->shutdown; + start_all() + machine.wait_for_unit("transmission") + machine.shutdown() ''; }) From 1afa50aef1f23253b454201b8f8c29045bd01dcb Mon Sep 17 00:00:00 2001 From: Marijan Date: Tue, 5 Nov 2019 00:38:50 +0100 Subject: [PATCH 372/391] nixos/fsck: port test to python --- nixos/tests/fsck.nix | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/nixos/tests/fsck.nix b/nixos/tests/fsck.nix index f943bb7f235..e522419fde2 100644 --- a/nixos/tests/fsck.nix +++ b/nixos/tests/fsck.nix @@ -1,4 +1,4 @@ -import ./make-test.nix { +import ./make-test-python.nix { name = "fsck"; machine = { lib, ... }: { @@ -14,16 +14,18 @@ import ./make-test.nix { }; testScript = '' - $machine->waitForUnit('default.target'); + machine.wait_for_unit("default.target") - subtest "root fs is fsckd", sub { - $machine->succeed('journalctl -b | grep "fsck.ext4.*/dev/vda"'); - }; + with subtest("root fs is fsckd"): + machine.succeed("journalctl -b | grep 'fsck.ext4.*/dev/vda'") - subtest "mnt fs is fsckd", sub { - $machine->succeed('journalctl -b | grep "fsck.*/dev/vdb.*clean"'); - $machine->succeed('grep "Requires=systemd-fsck@dev-vdb.service" /run/systemd/generator/mnt.mount'); - $machine->succeed('grep "After=systemd-fsck@dev-vdb.service" /run/systemd/generator/mnt.mount'); - }; + with subtest("mnt fs is fsckd"): + machine.succeed("journalctl -b | grep 'fsck.*/dev/vdb.*clean'") + machine.succeed( + "grep 'Requires=systemd-fsck@dev-vdb.service' /run/systemd/generator/mnt.mount" + ) + machine.succeed( + "grep 'After=systemd-fsck@dev-vdb.service' /run/systemd/generator/mnt.mount" + ) ''; } From 16d2fccfd93228c9ce41e5c4703b54016bc83fc5 Mon Sep 17 00:00:00 2001 From: Marijan Date: Tue, 5 Nov 2019 00:39:07 +0100 Subject: [PATCH 373/391] nixos/nix-generate-config: port test to python --- nixos/tests/nixos-generate-config.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/nixos/tests/nixos-generate-config.nix b/nixos/tests/nixos-generate-config.nix index 15a173e024b..6c83ccecc70 100644 --- a/nixos/tests/nixos-generate-config.nix +++ b/nixos/tests/nixos-generate-config.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ lib, ... } : { +import ./make-test-python.nix ({ lib, ... } : { name = "nixos-generate-config"; meta.maintainers = with lib.maintainers; [ basvandijk ]; machine = { @@ -11,14 +11,16 @@ import ./make-test.nix ({ lib, ... } : { ''; }; testScript = '' - startAll; - $machine->waitForUnit("multi-user.target"); - $machine->succeed("nixos-generate-config"); + start_all() + machine.wait_for_unit("multi-user.target") + machine.succeed("nixos-generate-config") # Test if the configuration really is overridden - $machine->succeed("grep 'OVERRIDDEN' /etc/nixos/configuration.nix"); + machine.succeed("grep 'OVERRIDDEN' /etc/nixos/configuration.nix") # Test of if the Perl variable $bootLoaderConfig is spliced correctly: - $machine->succeed("grep 'boot\\.loader\\.grub\\.enable = true;' /etc/nixos/configuration.nix"); + machine.succeed( + "grep 'boot\\.loader\\.grub\\.enable = true;' /etc/nixos/configuration.nix" + ) ''; }) From 7d98a8ba77d075c3b058b2876b112ee8f0a70048 Mon Sep 17 00:00:00 2001 From: Marijan Date: Tue, 5 Nov 2019 00:39:28 +0100 Subject: [PATCH 374/391] nixos/simple: port test to python --- nixos/tests/simple.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/tests/simple.nix b/nixos/tests/simple.nix index 84c5621d962..3810a2cd3a5 100644 --- a/nixos/tests/simple.nix +++ b/nixos/tests/simple.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ...} : { +import ./make-test-python.nix ({ pkgs, ...} : { name = "simple"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ eelco ]; @@ -10,8 +10,8 @@ import ./make-test.nix ({ pkgs, ...} : { testScript = '' - startAll; - $machine->waitForUnit("multi-user.target"); - $machine->shutdown; + start_all() + machine.wait_for_unit("multi-user.target") + machine.shutdown() ''; }) From eb98b1d1d299870c706a7b74b11fa1351f775496 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Mon, 4 Nov 2019 17:08:34 +0100 Subject: [PATCH 375/391] pythonPackages.intreehooks: init at 1.0 --- .../python-modules/intreehooks/default.nix | 28 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 30 insertions(+) create mode 100644 pkgs/development/python-modules/intreehooks/default.nix diff --git a/pkgs/development/python-modules/intreehooks/default.nix b/pkgs/development/python-modules/intreehooks/default.nix new file mode 100644 index 00000000000..be8d3927c9f --- /dev/null +++ b/pkgs/development/python-modules/intreehooks/default.nix @@ -0,0 +1,28 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pytoml +, pytest +}: + +buildPythonPackage rec { + pname = "intreehooks"; + version = "1.0"; + format = "setuptools"; + + src = fetchPypi { + inherit pname version; + sha256 = "87e600d3b16b97ed219c078681260639e77ef5a17c0e0dbdd5a302f99b4e34e1"; + }; + + propagatedBuildInputs = [ pytoml ]; + + checkInputs = [ pytest ]; + + meta = { + description = "Load a PEP 517 backend from inside the source tree"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.fridh ]; + homepage = https://github.com/takluyver/intreehooks; + }; +} \ No newline at end of file diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 64036cec56a..40532bda450 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2540,6 +2540,8 @@ in { iniparse = callPackage ../development/python-modules/iniparse { }; + intreehooks = callPackage ../development/python-modules/intreehooks { }; + i3-py = callPackage ../development/python-modules/i3-py { }; JayDeBeApi = callPackage ../development/python-modules/JayDeBeApi {}; From d9b0ef5b0a1534b2b6ffd96ec4def88a29fc9d97 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Tue, 5 Nov 2019 11:25:49 +0100 Subject: [PATCH 376/391] pythonPackages.meson: init Add meson as Python package so it can easily be used by mesonpep517 for PEP 517 builds. --- pkgs/top-level/python-packages.nix | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 40532bda450..5c2b009731e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -717,7 +717,7 @@ in { jwcrypto = callPackage ../development/python-modules/jwcrypto { }; kconfiglib = callPackage ../development/python-modules/kconfiglib { }; - + labelbox = callPackage ../development/python-modules/labelbox { }; lammps-cython = callPackage ../development/python-modules/lammps-cython { @@ -919,7 +919,7 @@ in { pybullet = callPackage ../development/python-modules/pybullet { }; pycairo = callPackage ../development/python-modules/pycairo { - inherit (pkgs) pkgconfig; + inherit (pkgs) meson pkgconfig; }; pycategories = callPackage ../development/python-modules/pycategories { }; @@ -979,7 +979,7 @@ in { }; pygobject3 = callPackage ../development/python-modules/pygobject/3.nix { - inherit (pkgs) pkgconfig; + inherit (pkgs) meson pkgconfig; }; pygtail = callPackage ../development/python-modules/pygtail { }; @@ -2470,7 +2470,7 @@ in { grip = callPackage ../development/python-modules/grip { }; gst-python = callPackage ../development/python-modules/gst-python { - inherit (pkgs) pkgconfig; + inherit (pkgs) meson pkgconfig; gst-plugins-base = pkgs.gst_all_1.gst-plugins-base; }; @@ -2795,7 +2795,7 @@ in { python-axolotl-curve25519 = callPackage ../development/python-modules/python-axolotl-curve25519 { }; pythonix = callPackage ../development/python-modules/pythonix { - inherit (pkgs) pkgconfig; + inherit (pkgs) meson pkgconfig; }; pyramid = callPackage ../development/python-modules/pyramid { }; @@ -3852,6 +3852,14 @@ in { mesa = callPackage ../development/python-modules/mesa { }; + meson = disabledIf (pythonOlder "3.5") (toPythonModule ((pkgs.meson.override { + python3Packages = self; + }).overrideAttrs(oldAttrs: { + # We do not want the setup hook in Python packages + # because the build is performed differently. + setupHook = null; + }))); + metaphone = callPackage ../development/python-modules/metaphone { }; mezzanine = callPackage ../development/python-modules/mezzanine { }; From 21c201adeeee05b23930f5fa5a6117500d3b1fb7 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Mon, 4 Nov 2019 17:08:50 +0100 Subject: [PATCH 377/391] pythonPackages.mesonpep517: init at 0.1.9999994 --- .../python-modules/mesonpep517/default.nix | 42 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 44 insertions(+) create mode 100644 pkgs/development/python-modules/mesonpep517/default.nix diff --git a/pkgs/development/python-modules/mesonpep517/default.nix b/pkgs/development/python-modules/mesonpep517/default.nix new file mode 100644 index 00000000000..ec63526070a --- /dev/null +++ b/pkgs/development/python-modules/mesonpep517/default.nix @@ -0,0 +1,42 @@ +{ lib +, buildPythonPackage +, fetchPypi +, meson +, ninja +, intreehooks +, pytoml +, pythonOlder +}: + +# TODO: offer meson as a Python package so we have dist-info folder. + +buildPythonPackage rec { + pname = "mesonpep517"; + version = "0.1.9999994"; + format = "pyproject"; + + src = fetchPypi { + inherit pname version; + sha256 = "b5bcca61024164c4a51d29e6921ea1f756d54197c8f052e4c66a2b8399aa9349"; + }; + + nativeBuildInputs = [ intreehooks ]; + + propagatedBuildInputs = [ pytoml ]; + + # postPatch = '' + # # Meson tries to detect ninja as well, so we should patch meson as well. + # substituteInPlace mesonpep517/buildapi.py \ + # --replace "'meson'" "'${meson}/bin/meson'" \ + # --replace "'ninja'" "'${ninja}/bin/ninja'" + # ''; + + propagatedNativeBuildInputs = [ meson ninja ]; + + meta = { + description = "Create pep517 compliant packages from the meson build system"; + homepage = https://gitlab.com/thiblahute/mesonpep517; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.fridh ]; + }; +} \ No newline at end of file diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5c2b009731e..d776e80a9e3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3860,6 +3860,8 @@ in { setupHook = null; }))); + mesonpep517 = callPackage ../development/python-modules/mesonpep517 { }; + metaphone = callPackage ../development/python-modules/metaphone { }; mezzanine = callPackage ../development/python-modules/mezzanine { }; From eee979043debc67c3c48bafe90d0d245ad57c68e Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Tue, 5 Nov 2019 12:27:18 +0100 Subject: [PATCH 378/391] android-studio: 3.5.1.0 -> 3.5.2.0 --- pkgs/applications/editors/android-studio/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index 817bd13e7da..ca5a6e91a59 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -8,9 +8,9 @@ let inherit (gnome2) GConf gnome_vfs; }; stableVersion = { - version = "3.5.1.0"; # "Android Studio 3.5.1" - build = "191.5900203"; - sha256Hash = "0afxlif8pkrl6m1lhiqri1qv4vf5mfm1yg6qk5rad0442hm3kz4l"; + version = "3.5.2.0"; # "Android Studio 3.5.2" + build = "191.5977832"; + sha256Hash = "0kcd6kd5rn4b76damkfddin18d1r0dck05piv8mq1ns7x1n4hf7q"; }; betaVersion = { version = "3.6.0.14"; # "Android Studio 3.6 Beta 2" From ce6364a5ba2897701b08bd0243ec4f470213e234 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Tue, 5 Nov 2019 12:31:16 +0100 Subject: [PATCH 379/391] gns3-{gui,server}: 2.2.1 -> 2.2.2 --- pkgs/applications/networking/gns3/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix index 5f6aca51fee..6bc2554d8c9 100644 --- a/pkgs/applications/networking/gns3/default.nix +++ b/pkgs/applications/networking/gns3/default.nix @@ -1,16 +1,16 @@ { callPackage }: let - stableVersion = "2.2.1"; - previewVersion = "2.2.1"; + stableVersion = "2.2.2"; + previewVersion = "2.2.2"; addVersion = args: let version = if args.stable then stableVersion else previewVersion; branch = if args.stable then "stable" else "preview"; in args // { inherit version branch; }; mkGui = args: callPackage (import ./gui.nix (addVersion args)) { }; mkServer = args: callPackage (import ./server.nix (addVersion args)) { }; - guiSrcHash = "16v2sdz37vm8x8w07qxaq2mbx169f9hqqpxnf1lq19v9dfhb19kh"; - serverSrcHash = "0liv9fwi2746542qpnvwzf5wcrsxfv6x5jypwd5db1qkfd50s8xa"; + guiSrcHash = "0i335fjbadixp39l75w0fl5iwz2cb8rcdj2xvx1my3vzhg8lijfl"; + serverSrcHash = "1g6km8jc53y8ph14ifjxscbimdxma6bw5ir9gqzvkjn39k9fy1w6"; in { guiStable = mkGui { stable = true; From 44efab627f360093318cf475b7cc0ecfdcfdeebf Mon Sep 17 00:00:00 2001 From: Tadeo Kondrak Date: Mon, 28 Oct 2019 08:40:31 -0600 Subject: [PATCH 380/391] aerc: Fix store references in default config --- .../networking/mailreaders/aerc/default.nix | 4 ++ .../mailreaders/aerc/runtime-sharedir.patch | 43 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch diff --git a/pkgs/applications/networking/mailreaders/aerc/default.nix b/pkgs/applications/networking/mailreaders/aerc/default.nix index b94ce269566..98ab5f56352 100644 --- a/pkgs/applications/networking/mailreaders/aerc/default.nix +++ b/pkgs/applications/networking/mailreaders/aerc/default.nix @@ -18,6 +18,10 @@ buildGoModule rec { python3.pkgs.wrapPython ]; + patches = [ + ./runtime-sharedir.patch + ]; + pythonPath = [ python3.pkgs.colorama ]; diff --git a/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch b/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch new file mode 100644 index 00000000000..4ff1283b5e3 --- /dev/null +++ b/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch @@ -0,0 +1,43 @@ +From 7ea68a2eef026723903d72f54ca54b629881ec06 Mon Sep 17 00:00:00 2001 +From: Tadeo Kondrak +Date: Mon, 28 Oct 2019 08:36:36 -0600 +Subject: [PATCH] Fix aerc breaking every time the package is rebuilt. + +On NixOS, the SHAREDIR changes on every rebuild to the package, but aerc +fills it in as part of the default config. Fix this by not substituting +@SHAREDIR@ in the default config until runtime. +--- + Makefile | 2 +- + config/config.go | 3 +++ + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index d3072d3..17ca0be 100644 +--- a/Makefile ++++ b/Makefile +@@ -24,7 +24,7 @@ aerc: $(GOSRC) + -o $@ + + aerc.conf: config/aerc.conf.in +- sed -e 's:@SHAREDIR@:$(SHAREDIR):g' > $@ < config/aerc.conf.in ++ cat config/aerc.conf.in > $@ + + DOCS := \ + aerc.1 \ +diff --git a/config/config.go b/config/config.go +index bfcbecf..2f4e703 100644 +--- a/config/config.go ++++ b/config/config.go +@@ -377,6 +377,9 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) { + if err = config.LoadConfig(file); err != nil { + return nil, err + } ++ for i, filter := range config.Filters { ++ config.Filters[i].Command = strings.ReplaceAll(filter.Command, "@SHAREDIR@", sharedir) ++ } + if ui, err := file.GetSection("general"); err == nil { + if err := ui.MapTo(&config.General); err != nil { + return nil, err +-- +2.23.0 + From fa2909bf51c29d568dd9ce5c27cdbf7393644909 Mon Sep 17 00:00:00 2001 From: Philip Kranz Date: Fri, 11 Oct 2019 09:15:42 +0200 Subject: [PATCH 381/391] python.pkgs.pyglet: Fix missing libraries Add the paths for Xext, fontconfig and freetype to the hardcoded library paths in load_library. --- pkgs/development/python-modules/pyglet/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/python-modules/pyglet/default.nix b/pkgs/development/python-modules/pyglet/default.nix index 1e7beddda7f..16484cb1211 100644 --- a/pkgs/development/python-modules/pyglet/default.nix +++ b/pkgs/development/python-modules/pyglet/default.nix @@ -8,6 +8,8 @@ , glibc , gtk2-x11 , gdk-pixbuf +, fontconfig +, freetype }: buildPythonPackage rec { @@ -45,6 +47,10 @@ buildPythonPackage rec { path = '${gdk-pixbuf}/lib/libgdk_pixbuf-2.0${ext}' elif name == 'Xext': path = '${xorg.libXext}/lib/libXext${ext}' + elif name == 'fontconfig': + path = '${fontconfig.lib}/lib/libfontconfig${ext}' + elif name == 'freetype': + path = '${freetype}/lib/libfreetype${ext}' if path is not None: return ctypes.cdll.LoadLibrary(path) raise Exception("Could not load library {}".format(names)) From aa98348f880052547f4035c6ce1f5403e6a91d15 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 5 Nov 2019 14:57:06 +0100 Subject: [PATCH 382/391] jormungandr: Remove This is a good example of a package/module that should be distributed externally (e.g. as a flake [1]): it's not stable yet so anybody who seriously wants to use it will want to use the upstream repo. Also, it's highly specialized so NixOS is not really the right place at the moment (every NixOS module slows down NixOS evaluation for everybody). [1] https://github.com/edolstra/jormungandr/tree/flake --- nixos/modules/module-list.nix | 1 - .../services/networking/jormungandr.nix | 102 ------------------ nixos/tests/all-tests.nix | 1 - nixos/tests/jormungandr.nix | 77 ------------- .../blockchains/jormungandr/default.nix | 56 ---------- pkgs/top-level/all-packages.nix | 2 - 6 files changed, 239 deletions(-) delete mode 100644 nixos/modules/services/networking/jormungandr.nix delete mode 100644 nixos/tests/jormungandr.nix delete mode 100644 pkgs/applications/blockchains/jormungandr/default.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index cacb4b13f41..24912c27245 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -620,7 +620,6 @@ ./services/networking/iodine.nix ./services/networking/iperf3.nix ./services/networking/ircd-hybrid/default.nix - ./services/networking/jormungandr.nix ./services/networking/iwd.nix ./services/networking/keepalived/default.nix ./services/networking/keybase.nix diff --git a/nixos/modules/services/networking/jormungandr.nix b/nixos/modules/services/networking/jormungandr.nix deleted file mode 100644 index 152cceb4bf9..00000000000 --- a/nixos/modules/services/networking/jormungandr.nix +++ /dev/null @@ -1,102 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - cfg = config.services.jormungandr; - - inherit (lib) mkEnableOption mkIf mkOption; - inherit (lib) optionalString types; - - dataDir = "/var/lib/jormungandr"; - - # Default settings so far, as the service matures we will - # move these out as separate settings - configSettings = { - storage = dataDir; - p2p = { - public_address = "/ip4/127.0.0.1/tcp/8299"; - topics_of_interest = { - messages = "high"; - blocks = "high"; - }; - }; - rest = { - listen = "127.0.0.1:8607"; - }; - }; - - configFile = if cfg.configFile == null then - pkgs.writeText "jormungandr.yaml" (builtins.toJSON configSettings) - else cfg.configFile; - -in { - - options = { - - services.jormungandr = { - enable = mkEnableOption "jormungandr service"; - - configFile = mkOption { - type = types.nullOr types.path; - default = null; - example = "/var/lib/jormungandr/node.yaml"; - description = '' - The path of the jormungandr blockchain configuration file in YAML format. - If no file is specified, a file is generated using the other options. - ''; - }; - - secretFile = mkOption { - type = types.nullOr types.path; - default = null; - example = "/etc/secret/jormungandr.yaml"; - description = '' - The path of the jormungandr blockchain secret node configuration file in - YAML format. Do not store this in nix store! - ''; - }; - - genesisBlockHash = mkOption { - type = types.nullOr types.str; - default = null; - example = "d70495af81ae8600aca3e642b2427327cb6001ec4d7a0037e96a00dabed163f9"; - description = '' - Set the genesis block hash (the hash of the block0) so we can retrieve - the genesis block (and the blockchain configuration) from the existing - storage or from the network. - ''; - }; - - genesisBlockFile = mkOption { - type = types.nullOr types.path; - default = null; - example = "/var/lib/jormungandr/block-0.bin"; - description = '' - The path of the genesis block file if we are hosting it locally. - ''; - }; - - }; - }; - - config = mkIf cfg.enable { - - systemd.services.jormungandr = { - description = "jormungandr server"; - wantedBy = [ "multi-user.target" ]; - after = [ "network-online.target" ]; - environment = { - RUST_BACKTRACE = "full"; - }; - serviceConfig = { - DynamicUser = true; - StateDirectory = baseNameOf dataDir; - ExecStart = '' - ${pkgs.jormungandr}/bin/jormungandr --config ${configFile} \ - ${optionalString (cfg.secretFile != null) " --secret ${cfg.secretFile}"} \ - ${optionalString (cfg.genesisBlockHash != null) " --genesis-block-hash ${cfg.genesisBlockHash}"} \ - ${optionalString (cfg.genesisBlockFile != null) " --genesis-block ${cfg.genesisBlockFile}"} - ''; - }; - }; - }; -} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 1d933153ffa..53fd6dd785e 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -135,7 +135,6 @@ in jackett = handleTest ./jackett.nix {}; jellyfin = handleTest ./jellyfin.nix {}; jenkins = handleTest ./jenkins.nix {}; - jormungandr = handleTest ./jormungandr.nix {}; kafka = handleTest ./kafka.nix {}; kerberos = handleTest ./kerberos/default.nix {}; kernel-latest = handleTest ./kernel-latest.nix {}; diff --git a/nixos/tests/jormungandr.nix b/nixos/tests/jormungandr.nix deleted file mode 100644 index 2abafc53ce5..00000000000 --- a/nixos/tests/jormungandr.nix +++ /dev/null @@ -1,77 +0,0 @@ -import ./make-test.nix ({ pkgs, ... }: { - name = "jormungandr"; - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ mmahut ]; - }; - - nodes = { - # Testing the Byzantine Fault Tolerant protocol - bft = { ... }: { - environment.systemPackages = [ pkgs.jormungandr ]; - services.jormungandr.enable = true; - services.jormungandr.genesisBlockFile = "/var/lib/jormungandr/block-0.bin"; - services.jormungandr.secretFile = "/etc/secrets/jormungandr.yaml"; - }; - - # Testing the Ouroboros Genesis Praos protocol - genesis = { ... }: { - environment.systemPackages = [ pkgs.jormungandr ]; - services.jormungandr.enable = true; - services.jormungandr.genesisBlockFile = "/var/lib/jormungandr/block-0.bin"; - services.jormungandr.secretFile = "/etc/secrets/jormungandr.yaml"; - }; - }; - - testScript = '' - startAll; - - ## Testing BFT - # Let's wait for the StateDirectory - $bft->waitForFile("/var/lib/jormungandr/"); - - # First, we generate the genesis file for our new blockchain - $bft->succeed("jcli genesis init > /root/genesis.yaml"); - - # We need to generate our secret key - $bft->succeed("jcli key generate --type=Ed25519 > /root/key.prv"); - - # We include the secret key into our services.jormungandr.secretFile - $bft->succeed("mkdir -p /etc/secrets"); - $bft->succeed("echo -e \"bft:\\n signing_key:\" \$(cat /root/key.prv) > /etc/secrets/jormungandr.yaml"); - - # After that, we generate our public key from it - $bft->succeed("cat /root/key.prv | jcli key to-public > /root/key.pub"); - - # We add our public key as a consensus leader in the genesis configration file - $bft->succeed("sed -ie \"s/ed25519_pk1vvwp2s0n5jl5f4xcjurp2e92sj2awehkrydrlas4vgqr7xzt33jsadha32/\$(cat /root/key.pub)/\" /root/genesis.yaml"); - - # Now we can generate the genesis block from it - $bft->succeed("jcli genesis encode --input /root/genesis.yaml --output /var/lib/jormungandr/block-0.bin"); - - # We should have everything to start the service now - $bft->succeed("systemctl restart jormungandr"); - $bft->waitForUnit("jormungandr.service"); - - # Now we can test if we are able to reach the REST API - $bft->waitUntilSucceeds("curl -L http://localhost:8607/api/v0/node/stats | grep uptime"); - - ## Testing Genesis - # Let's wait for the StateDirectory - $genesis->waitForFile("/var/lib/jormungandr/"); - - # Bootstraping the configuration - $genesis->succeed("jormungandr-bootstrap -g -p 8607 -s 1"); - - # Moving generated files in place - $genesis->succeed("mkdir -p /etc/secrets"); - $genesis->succeed("mv pool-secret1.yaml /etc/secrets/jormungandr.yaml"); - $genesis->succeed("mv block-0.bin /var/lib/jormungandr/"); - - # We should have everything to start the service now - $genesis->succeed("systemctl restart jormungandr"); - $genesis->waitForUnit("jormungandr.service"); - - # Now we can create and delegate an account - $genesis->succeed("./create-account-and-delegate.sh | tee -a /tmp/delegate.log"); - ''; -}) diff --git a/pkgs/applications/blockchains/jormungandr/default.nix b/pkgs/applications/blockchains/jormungandr/default.nix deleted file mode 100644 index 0898e469a6f..00000000000 --- a/pkgs/applications/blockchains/jormungandr/default.nix +++ /dev/null @@ -1,56 +0,0 @@ -{ stdenv -, lib -, fetchgit -, rustPlatform -, openssl -, pkgconfig -, protobuf -, darwin -}: - -rustPlatform.buildRustPackage rec { - pname = "jormungandr"; - version = "0.7.0-rc4"; - - src = fetchgit { - url = "https://github.com/input-output-hk/${pname}"; - rev = "v${version}"; - sha256 = "1cjdapy0r2bikqck64cl09vzs307wcfi628hfmpczrg33i81pr3g"; - fetchSubmodules = true; - }; - - cargoSha256 = "0546ahgwcczaxda1hc1r20skzi93s40isq2ys40y9165sgdydn4i"; - - nativeBuildInputs = [ pkgconfig protobuf ]; - buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ]; - - patchPhase = '' - sed -i "s~SCRIPTPATH=.*~SCRIPTPATH=$out/templates/~g" scripts/bootstrap - ''; - - installPhase = '' - install -d $out/bin $out/templates - install -m755 target/*/release/jormungandr $out/bin/ - install -m755 target/*/release/jcli $out/bin/ - install -m755 target/*/release/jormungandr-scenario-tests $out/bin/ - install -m755 scripts/send-transaction $out/templates - install -m755 scripts/jcli-helpers $out/bin/ - install -m755 scripts/bootstrap $out/bin/jormungandr-bootstrap - install -m644 scripts/faucet-send-money.shtempl $out/templates/ - install -m644 scripts/create-account-and-delegate.shtempl $out/templates/ - install -m644 scripts/faucet-send-certificate.shtempl $out/templates/ - ''; - - PROTOC = "${protobuf}/bin/protoc"; - - # Disabling integration tests - doCheck = false; - - meta = with stdenv.lib; { - description = "An aspiring blockchain node"; - homepage = "https://input-output-hk.github.io/jormungandr/"; - license = licenses.mit; - maintainers = [ maintainers.mmahut ]; - platforms = platforms.all; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9e7a04a8931..c7b04408106 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22175,8 +22175,6 @@ in inherit (darwin.apple_sdk.frameworks) IOKit; }; - jormungandr = callPackage ../applications/blockchains/jormungandr { }; - ledger-live-desktop = callPackage ../applications/blockchains/ledger-live-desktop { }; litecoin = callPackage ../applications/blockchains/litecoin.nix { From 50ea99cbc18d3f480a773de5250b4ef9c7f6d514 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 5 Nov 2019 15:14:30 +0100 Subject: [PATCH 383/391] nixos/tests/quake3.nix: Remove This was a demo of the VM testing approach in an old paper but there's no need to keep it around. --- nixos/tests/all-tests.nix | 1 - nixos/tests/quake3.nix | 95 --------------------------------------- 2 files changed, 96 deletions(-) delete mode 100644 nixos/tests/quake3.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 53fd6dd785e..5e7c8a7f4b5 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -242,7 +242,6 @@ in prosodyMysql = handleTest ./xmpp/prosody-mysql.nix {}; proxy = handleTest ./proxy.nix {}; quagga = handleTest ./quagga.nix {}; - quake3 = handleTest ./quake3.nix {}; rabbitmq = handleTest ./rabbitmq.nix {}; radarr = handleTest ./radarr.nix {}; radicale = handleTest ./radicale.nix {}; diff --git a/nixos/tests/quake3.nix b/nixos/tests/quake3.nix deleted file mode 100644 index 4d57e219790..00000000000 --- a/nixos/tests/quake3.nix +++ /dev/null @@ -1,95 +0,0 @@ -import ./make-test-python.nix ({ pkgs, ...} : - -let - - # Build Quake with coverage instrumentation. - overrides = pkgs: - { - quake3game = pkgs.quake3game.override (args: { - stdenv = pkgs.stdenvAdapters.addCoverageInstrumentation args.stdenv; - }); - }; - - # Only allow the demo data to be used (only if it's unfreeRedistributable). - unfreePredicate = pkg: with pkgs.lib; let - allowPackageNames = [ "quake3-demodata" "quake3-pointrelease" ]; - allowLicenses = [ pkgs.lib.licenses.unfreeRedistributable ]; - in elem pkg.pname allowPackageNames && - elem (pkg.meta.license or null) allowLicenses; - -in - -rec { - name = "quake3"; - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ domenkozar eelco ]; - }; - - # TODO: lcov doesn't work atm - #makeCoverageReport = true; - - client = - { pkgs, ... }: - - { imports = [ ./common/x11.nix ]; - hardware.opengl.driSupport = true; - environment.systemPackages = [ pkgs.quake3demo ]; - nixpkgs.config.packageOverrides = overrides; - nixpkgs.config.allowUnfreePredicate = unfreePredicate; - }; - - nodes = - { server = - { pkgs, ... }: - - { systemd.services.quake3-server = - { wantedBy = [ "multi-user.target" ]; - script = - "${pkgs.quake3demo}/bin/quake3-server +set g_gametype 0 " + - "+map q3dm7 +addbot grunt +addbot daemia 2> /tmp/log"; - }; - nixpkgs.config.packageOverrides = overrides; - nixpkgs.config.allowUnfreePredicate = unfreePredicate; - networking.firewall.allowedUDPPorts = [ 27960 ]; - }; - - client1 = client; - client2 = client; - }; - - testScript = - '' - start_all() - - server.wait_for_unit("quake3-server") - client1.wait_for_x() - client2.wait_for_x() - - client1.execute("quake3 +set r_fullscreen 0 +set name Foo +connect server &") - client2.execute("quake3 +set r_fullscreen 0 +set name Bar +connect server &") - - server.wait_until_succeeds("grep -q 'Foo.*entered the game' /tmp/log") - server.wait_until_succeeds("grep -q 'Bar.*entered the game' /tmp/log") - - server.sleep(10) # wait for a while to get a nice screenshot - - client1.block() - - server.sleep(20) - - client1.screenshot("screen1") - client2.screenshot("screen2") - - client1.unblock() - - server.sleep(10) - - client1.screenshot("screen3") - client2.screenshot("screen4") - - client1.shutdown() - client2.shutdown() - server.stop_job("quake3-server") - ''; - -}) From 51de90ef44455651d389fd54f961021a099de52e Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Tue, 5 Nov 2019 00:51:07 +0100 Subject: [PATCH 384/391] gjs: add separateDebugInfo --- pkgs/development/libraries/gjs/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/gjs/default.nix b/pkgs/development/libraries/gjs/default.nix index 46550c3e50f..6430be0b57f 100644 --- a/pkgs/development/libraries/gjs/default.nix +++ b/pkgs/development/libraries/gjs/default.nix @@ -64,6 +64,8 @@ stdenv.mkDerivation rec { --prefix GI_TYPELIB_PATH : "${stdenv.lib.makeSearchPath "lib/girepository-1.0" [ gtk3 atk pango.out gdk-pixbuf ]}:$installedTests/libexec/gjs/installed-tests" ''; + separateDebugInfo = stdenv.isLinux; + passthru = { updateScript = gnome3.updateScript { packageName = "gjs"; From 9b78e5f35d209754bd539a7f026ab6d3ada2d67d Mon Sep 17 00:00:00 2001 From: "EEva (JPotier)" Date: Mon, 4 Nov 2019 19:08:57 +0200 Subject: [PATCH 385/391] vault: fix config when file backend is used When the option services.vault.storageBackend is set to "file", a systemd.tmpfiles.rules was added, with extraneous []. These are not needed and have been removed. --- nixos/modules/services/security/vault.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/security/vault.nix b/nixos/modules/services/security/vault.nix index d5962ba9af9..b0ab8fadcbe 100644 --- a/nixos/modules/services/security/vault.nix +++ b/nixos/modules/services/security/vault.nix @@ -119,9 +119,8 @@ in }; users.groups.vault.gid = config.ids.gids.vault; - systemd.tmpfiles.rules = optional (cfg.storagePath != null) [ - "d '${cfg.storagePath}' 0700 vault vault - -" - ]; + systemd.tmpfiles.rules = optional (cfg.storagePath != null) + "d '${cfg.storagePath}' 0700 vault vault - -"; systemd.services.vault = { description = "Vault server daemon"; From 5fecc35bb2ef82e118e023779bf1f38491234e92 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Tue, 5 Nov 2019 16:57:08 +0100 Subject: [PATCH 386/391] nixos/vault: convert test to python --- nixos/tests/vault.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/nixos/tests/vault.nix b/nixos/tests/vault.nix index caf0cbb2abf..ac8cf0703da 100644 --- a/nixos/tests/vault.nix +++ b/nixos/tests/vault.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ... }: +import ./make-test-python.nix ({ pkgs, ... }: { name = "vault"; meta = with pkgs.stdenv.lib.maintainers; { @@ -12,12 +12,12 @@ import ./make-test.nix ({ pkgs, ... }: testScript = '' - startAll; + start_all() - $machine->waitForUnit('multi-user.target'); - $machine->waitForUnit('vault.service'); - $machine->waitForOpenPort(8200); - $machine->succeed('vault operator init'); - $machine->succeed('vault status | grep Sealed | grep true'); + machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("vault.service") + machine.wait_for_open_port(8200) + machine.succeed("vault operator init") + machine.succeed("vault status | grep Sealed | grep true") ''; }) From 1eafac2ac66ce63ffc8e29a6b1e846c168ceb39f Mon Sep 17 00:00:00 2001 From: Andrew Newman Date: Tue, 5 Nov 2019 20:00:42 +0300 Subject: [PATCH 387/391] qtcreator 4.9.1 -> 4.10.0 (#70573) Added optional withClangPlugins to disable clang plugins compilation and, therefore, vendor clang dependency. --- .../0001-Fix-clang-libcpp-regexp.patch | 4 +- .../0002-Dont-remove-clang-header-paths.patch | 13 ++++++ pkgs/development/tools/qtcreator/default.nix | 40 ++++++++----------- 3 files changed, 31 insertions(+), 26 deletions(-) create mode 100644 pkgs/development/tools/qtcreator/0002-Dont-remove-clang-header-paths.patch diff --git a/pkgs/development/tools/qtcreator/0001-Fix-clang-libcpp-regexp.patch b/pkgs/development/tools/qtcreator/0001-Fix-clang-libcpp-regexp.patch index 8744b753a6e..39c5c06a285 100644 --- a/pkgs/development/tools/qtcreator/0001-Fix-clang-libcpp-regexp.patch +++ b/pkgs/development/tools/qtcreator/0001-Fix-clang-libcpp-regexp.patch @@ -1,8 +1,8 @@ diff --git a/src/plugins/cpptools/headerpathfilter.cpp b/src/plugins/cpptools/headerpathfilter.cpp -index b514c46..5f96358 100644 +index e2d1e6a..1a1d839 100644 --- a/src/plugins/cpptools/headerpathfilter.cpp +++ b/src/plugins/cpptools/headerpathfilter.cpp -@@ -92,8 +92,8 @@ HeaderPaths::iterator resourceIterator(HeaderPaths &headerPaths, bool isMacOs) +@@ -96,8 +96,8 @@ HeaderPaths::iterator resourceIterator(HeaderPaths &headerPaths, bool isMacOs) { // include/c++, include/g++, libc++\include and libc++abi\include static const QString cppIncludes = R"((.*\/include\/.*(g\+\+|c\+\+).*))" diff --git a/pkgs/development/tools/qtcreator/0002-Dont-remove-clang-header-paths.patch b/pkgs/development/tools/qtcreator/0002-Dont-remove-clang-header-paths.patch new file mode 100644 index 00000000000..5cd34991c39 --- /dev/null +++ b/pkgs/development/tools/qtcreator/0002-Dont-remove-clang-header-paths.patch @@ -0,0 +1,13 @@ +diff --git a/src/plugins/cpptools/headerpathfilter.cpp b/src/plugins/cpptools/headerpathfilter.cpp +index e2d1e6a..1a1d839 100644 +--- a/src/plugins/cpptools/headerpathfilter.cpp ++++ b/src/plugins/cpptools/headerpathfilter.cpp +@@ -134,8 +134,6 @@ void removeClangSystemHeaderPaths(HeaderPaths &headerPaths) + + void HeaderPathFilter::tweakHeaderPaths() + { +- removeClangSystemHeaderPaths(builtInHeaderPaths); +- + auto split = resourceIterator(builtInHeaderPaths, + projectPart.toolChainTargetTriple.contains("darwin")); + diff --git a/pkgs/development/tools/qtcreator/default.nix b/pkgs/development/tools/qtcreator/default.nix index 7e592bf060a..55eb30ab370 100644 --- a/pkgs/development/tools/qtcreator/default.nix +++ b/pkgs/development/tools/qtcreator/default.nix @@ -1,14 +1,11 @@ { mkDerivation, lib, fetchurl, fetchgit, fetchpatch , qtbase, qtquickcontrols, qtscript, qtdeclarative, qmake, llvmPackages_8 -, withDocumentation ? false +, withDocumentation ? false, withClangPlugins ? true }: with lib; let - baseVersion = "4.9"; - revision = "1"; - # Fetch clang from qt vendor, this contains submodules like this: # clang<-clang-tools-extra<-clazy. clang_qt_vendor = llvmPackages_8.clang-unwrapped.overrideAttrs (oldAttrs: { @@ -23,35 +20,28 @@ in mkDerivation rec { pname = "qtcreator"; - version = "${baseVersion}.${revision}"; + version = "4.10.0"; + baseVersion = builtins.concatStringsSep "." (lib.take 2 (builtins.splitVersion version)); src = fetchurl { url = "http://download.qt-project.org/official_releases/${pname}/${baseVersion}/${version}/qt-creator-opensource-src-${version}.tar.xz"; - sha256 = "10ddp1365rf0z4bs7yzc9hajisp3j6mzjshyd0vpi4ki126j5f3r"; + sha256 = "12hgxdghz05ms4zl8prz2w8l66vmgw1qw2gsmmwqi2rdaay3lpcg"; }; - buildInputs = [ qtbase qtscript qtquickcontrols qtdeclarative llvmPackages_8.libclang clang_qt_vendor llvmPackages_8.llvm ]; + buildInputs = [ qtbase qtscript qtquickcontrols qtdeclarative ] ++ + optionals withClangPlugins [ llvmPackages_8.libclang + clang_qt_vendor + llvmPackages_8.llvm ]; nativeBuildInputs = [ qmake ]; # 0001-Fix-clang-libcpp-regexp.patch is for fixing regexp that is used to # find clang libc++ library include paths. By default it's not covering paths # like libc++-version, which is default name for libc++ folder in nixos. + # ./0002-Dont-remove-clang-header-paths.patch is for forcing qtcreator to not + # remove system clang include paths. patches = [ ./0001-Fix-clang-libcpp-regexp.patch - - # Fix clazy plugin name. This plugin was renamed with clang8 - # release, and patch didn't make it into 4.9.1 release. Should be removed - # on qtcreator update, if this problem is fixed. - (fetchpatch { - url = "https://code.qt.io/cgit/qt-creator/qt-creator.git/patch/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp?id=53c407bc0c87e0b65b537bf26836ddd8e00ead82"; - sha256 = "1lanp7jg0x8jffajb852q8p4r34facg41l410xsz6s1k91jskbi9"; - }) - - (fetchpatch { - url = "https://code.qt.io/cgit/qt-creator/qt-creator.git/patch/src/plugins/clangtools/clangtidyclazyrunner.cpp?id=53c407bc0c87e0b65b537bf26836ddd8e00ead82"; - sha256 = "1rl0rc2l297lpfhhawvkkmj77zb081hhp0bbi7nnykf3q9ch0clh"; - }) - ]; + ./0002-Dont-remove-clang-header-paths.patch ]; doCheck = true; @@ -63,8 +53,8 @@ mkDerivation rec { preConfigure = '' substituteInPlace src/plugins/plugins.pro \ - --replace '$$[QT_INSTALL_QML]/QtQuick/Controls' '${qtquickcontrols}/${qtbase.qtQmlPrefix}/QtQuick/Controls' - + --replace '$$[QT_INSTALL_QML]/QtQuick/Controls' '${qtquickcontrols}/${qtbase.qtQmlPrefix}/QtQuick/Controls' + '' + optionalString withClangPlugins '' # Fix paths for llvm/clang includes directories. substituteInPlace src/shared/clang/clang_defines.pri \ --replace '$$clean_path($${LLVM_LIBDIR}/clang/$${LLVM_VERSION}/include)' '${clang_qt_vendor}/lib/clang/8.0.0/include' \ @@ -77,7 +67,9 @@ mkDerivation rec { # Fix paths to libclang library. substituteInPlace src/shared/clang/clang_installation.pri \ --replace 'LIBCLANG_LIBS = -L$${LLVM_LIBDIR}' 'LIBCLANG_LIBS = -L${llvmPackages_8.libclang}/lib' \ - --replace 'LIBCLANG_LIBS += $${CLANG_LIB}' 'LIBCLANG_LIBS += -lclang' + --replace 'LIBCLANG_LIBS += $${CLANG_LIB}' 'LIBCLANG_LIBS += -lclang' \ + --replace 'LIBTOOLING_LIBS = -L$${LLVM_LIBDIR}' 'LIBTOOLING_LIBS = -L${clang_qt_vendor}/lib' \ + --replace 'LLVM_CXXFLAGS ~= s,-gsplit-dwarf,' '${lib.concatStringsSep "\n" ["LLVM_CXXFLAGS ~= s,-gsplit-dwarf," " LLVM_CXXFLAGS += -fno-rtti"]}' ''; preBuild = optional withDocumentation '' From f605e22cc396416ad13777ef666e577533d4f67d Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Mon, 4 Nov 2019 01:25:38 -0800 Subject: [PATCH 388/391] python3Packages.cytoolz: 0.10.0 -> 0.10.1 --- pkgs/development/python-modules/cytoolz/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/cytoolz/default.nix b/pkgs/development/python-modules/cytoolz/default.nix index f95da9b75b2..1a142cae0f0 100644 --- a/pkgs/development/python-modules/cytoolz/default.nix +++ b/pkgs/development/python-modules/cytoolz/default.nix @@ -10,11 +10,11 @@ buildPythonPackage rec { pname = "cytoolz"; - version = "0.10.0"; + version = "0.10.1"; src = fetchPypi { inherit pname version; - sha256 = "ed9f6a07c2bac70d6c597df360d0666d11d2adc90141d54c5c2db08b380a4fac"; + sha256 = "0p4a9nadsy1337gy2cnb5yanbn03j3zm6d9adyqad9bk3nlbpxc2"; }; # Extension types From 65db5ce85c1fcd2c47240a9abb229c00305b78e6 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Wed, 30 Oct 2019 11:25:38 -0700 Subject: [PATCH 389/391] onnxruntime: 0.5.0 -> 1.0.0 --- pkgs/development/libraries/onnxruntime/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/onnxruntime/default.nix b/pkgs/development/libraries/onnxruntime/default.nix index b5549c6735f..33bc4c6e82c 100644 --- a/pkgs/development/libraries/onnxruntime/default.nix +++ b/pkgs/development/libraries/onnxruntime/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "onnxruntime"; - version = "0.5.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "microsoft"; repo = "onnxruntime"; rev = "v${version}"; - sha256 = "0s8ylc5xr55490hbz7zn3hnp9dnyp92d320ln8xw5hqkw3mgyr3p"; + sha256 = "1d28lzrjnq69yl8j9ncxlsxl0bniacn3hnsr9van10zgp527436v"; # TODO: use nix-versions of grpc, onnx, eigen, googletest, etc. # submodules increase src size and compile times significantly # not currently feasible due to how integrated cmake build is with git @@ -43,6 +43,8 @@ stdenv.mkDerivation rec { rm -r $out/bin # ctest runner ''; + enableParallelBuilding = true; + meta = with stdenv.lib; { description = "Cross-platform, high performance scoring engine for ML models"; longDescription = '' @@ -55,6 +57,9 @@ stdenv.mkDerivation rec { compatibility. ''; homepage = "https://github.com/microsoft/onnxruntime"; + changelog = "https://github.com/microsoft/onnxruntime/releases"; + # https://github.com/microsoft/onnxruntime/blob/master/BUILD.md#architectures + platforms = platforms.unix; license = licenses.mit; maintainers = with maintainers; [ jonringer ]; }; From 1a1bab34ccf6d96950366eb672d6a1c675b80a73 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 5 Nov 2019 09:50:06 -0800 Subject: [PATCH 390/391] sysbench: 1.0.17 -> 1.0.18 * sysbench: 1.0.17 -> 1.0.18 (#72685) * sysbench: set meta.homepage + cleanup build inputs (vim isn't needed since 1.0.12) + enable parallel building --- .../tools/misc/sysbench/default.nix | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/pkgs/development/tools/misc/sysbench/default.nix b/pkgs/development/tools/misc/sysbench/default.nix index 8076925f29b..8feeb13db95 100644 --- a/pkgs/development/tools/misc/sysbench/default.nix +++ b/pkgs/development/tools/misc/sysbench/default.nix @@ -1,21 +1,26 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, vim, libmysqlclient -, libaio }: +{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig +, libmysqlclient, libaio +}: -stdenv.mkDerivation { - name = "sysbench-1.0.17"; +stdenv.mkDerivation rec { + pname = "sysbench"; + version = "1.0.18"; nativeBuildInputs = [ autoreconfHook pkgconfig ]; - buildInputs = [ vim libmysqlclient libaio ]; + buildInputs = [ libmysqlclient libaio ]; src = fetchFromGitHub { owner = "akopytov"; - repo = "sysbench"; - rev = "1.0.17"; - sha256 = "02i9knvp0bjw6ri848xxiy2dbww2xv70nah9yn67a6zgw617hwa6"; + repo = pname; + rev = version; + sha256 = "1r6lkyfp65xqklj1rdfw551srqqyak144agi8x3wjz3wmsbqls19"; }; + enableParallelBuilding = true; + meta = { description = "Modular, cross-platform and multi-threaded benchmark tool"; + homepage = https://github.com/akopytov/sysbench; license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.linux; }; From aaaea2ab84064f5c195149bdb53ccf6102438975 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Tue, 5 Nov 2019 14:12:41 -0500 Subject: [PATCH 391/391] synthv1: use qt5's mkDerivation --- pkgs/applications/audio/synthv1/default.nix | 6 +++--- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/audio/synthv1/default.nix b/pkgs/applications/audio/synthv1/default.nix index 96aa7737b81..349c7acc3db 100644 --- a/pkgs/applications/audio/synthv1/default.nix +++ b/pkgs/applications/audio/synthv1/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, pkgconfig, qt5, libjack2, alsaLib, liblo, lv2 }: +{ mkDerivation, stdenv, fetchurl, pkgconfig, qtbase, qttools, libjack2, alsaLib, liblo, lv2 }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "synthv1"; version = "0.9.11"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "116k2vca9dygvsd684wvxm61p0l1xrrgdph4qrrprlsr6vj0llgm"; }; - buildInputs = [ qt5.qtbase qt5.qttools libjack2 alsaLib liblo lv2 ]; + buildInputs = [ qtbase qttools libjack2 alsaLib liblo lv2 ]; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3c4af7fab59..1c88c07684f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22839,7 +22839,7 @@ in superTuxKart = callPackage ../games/super-tux-kart { }; - synthv1 = callPackage ../applications/audio/synthv1 { }; + synthv1 = libsForQt5.callPackage ../applications/audio/synthv1 { }; system-syzygy = callPackage ../games/system-syzygy { };