Merge master into staging-next

authored by github-actions[bot] and committed by GitHub 9e9e41da 28abf69f

+440 -190
+12
maintainers/maintainer-list.nix
··· 7170 githubId = 13791; 7171 name = "Luke Gorrie"; 7172 }; 7173 lumi = { 7174 email = "lumi@pew.im"; 7175 github = "lumi-me-not"; ··· 11125 longkeyid = "rsa4096/0x86E30E5A0F5FC59C"; 11126 fingerprint = "4242 834C D401 86EF 8281 4093 86E3 0E5A 0F5F C59C"; 11127 }]; 11128 }; 11129 smironov = { 11130 email = "grrwlf@gmail.com";
··· 7170 githubId = 13791; 7171 name = "Luke Gorrie"; 7172 }; 7173 + luker = { 7174 + email = "luker@fenrirproject.org"; 7175 + github = "LucaFulchir"; 7176 + githubId = 2486026; 7177 + name = "Luca Fulchir"; 7178 + }; 7179 lumi = { 7180 email = "lumi@pew.im"; 7181 github = "lumi-me-not"; ··· 11131 longkeyid = "rsa4096/0x86E30E5A0F5FC59C"; 11132 fingerprint = "4242 834C D401 86EF 8281 4093 86E3 0E5A 0F5F C59C"; 11133 }]; 11134 + }; 11135 + smasher164 = { 11136 + email = "aindurti@gmail.com"; 11137 + github = "smasher164"; 11138 + githubId = 12636891; 11139 + name = "Akhil Indurti"; 11140 }; 11141 smironov = { 11142 email = "grrwlf@gmail.com";
+11 -2
nixos/modules/services/networking/mosquitto.nix
··· 136 + concatStringsSep "\n" 137 (plainLines 138 ++ optional (plainLines != []) '' 139 - ${pkgs.mosquitto}/bin/mosquitto_passwd -U "$file" 140 '' 141 ++ hashedLines)); 142 ··· 444 globalOptions = with types; { 445 enable = mkEnableOption "the MQTT Mosquitto broker"; 446 447 bridges = mkOption { 448 type = attrsOf bridgeOptions; 449 default = {}; ··· 565 RuntimeDirectory = "mosquitto"; 566 WorkingDirectory = cfg.dataDir; 567 Restart = "on-failure"; 568 - ExecStart = "${pkgs.mosquitto}/bin/mosquitto -c ${configFile}"; 569 ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; 570 571 # Hardening
··· 136 + concatStringsSep "\n" 137 (plainLines 138 ++ optional (plainLines != []) '' 139 + ${cfg.package}/bin/mosquitto_passwd -U "$file" 140 '' 141 ++ hashedLines)); 142 ··· 444 globalOptions = with types; { 445 enable = mkEnableOption "the MQTT Mosquitto broker"; 446 447 + package = mkOption { 448 + type = package; 449 + default = pkgs.mosquitto; 450 + defaultText = literalExpression "pkgs.mosquitto"; 451 + description = '' 452 + Mosquitto package to use. 453 + ''; 454 + }; 455 + 456 bridges = mkOption { 457 type = attrsOf bridgeOptions; 458 default = {}; ··· 574 RuntimeDirectory = "mosquitto"; 575 WorkingDirectory = cfg.dataDir; 576 Restart = "on-failure"; 577 + ExecStart = "${cfg.package}/bin/mosquitto -c ${configFile}"; 578 ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; 579 580 # Hardening
+2 -2
nixos/modules/services/x11/desktop-managers/cinnamon.nix
··· 136 # session requirements 137 cinnamon-screensaver 138 # cinnamon-killer-daemon: provided by cinnamon-common 139 - gnome.networkmanagerapplet # session requirement - also nm-applet not needed 140 141 # For a polkit authentication agent 142 polkit_gnome ··· 145 nemo 146 cinnamon-control-center 147 cinnamon-settings-daemon 148 - gnome.libgnomekbd 149 orca 150 151 # theme
··· 136 # session requirements 137 cinnamon-screensaver 138 # cinnamon-killer-daemon: provided by cinnamon-common 139 + networkmanagerapplet # session requirement - also nm-applet not needed 140 141 # For a polkit authentication agent 142 polkit_gnome ··· 145 nemo 146 cinnamon-control-center 147 cinnamon-settings-daemon 148 + libgnomekbd 149 orca 150 151 # theme
+1 -1
nixos/tests/lorri/default.nix
··· 14 ) 15 16 # Start the daemon and wait until it is ready 17 - machine.execute("lorri daemon > lorri.stdout 2> lorri.stderr >&2 &") 18 machine.wait_until_succeeds("grep --fixed-strings 'ready' lorri.stdout") 19 20 # Ping the daemon
··· 14 ) 15 16 # Start the daemon and wait until it is ready 17 + machine.execute("lorri daemon > lorri.stdout 2> lorri.stderr &") 18 machine.wait_until_succeeds("grep --fixed-strings 'ready' lorri.stdout") 19 20 # Ping the daemon
+3 -3
pkgs/applications/audio/plexamp/default.nix
··· 2 3 let 4 pname = "plexamp"; 5 - version = "3.9.0"; 6 7 src = fetchurl { 8 url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage"; 9 name="${pname}-${version}.AppImage"; 10 - sha512 = "2OaV8dONv7yBcQsfecgfedP2ypBN6svD9rgZLgUwSydyH2+rODNPne4O7z2Hahm7Y0Ae+NFxbpQ9lbNbX0vhsg=="; 11 }; 12 13 appimageContents = appimageTools.extractType2 { ··· 33 meta = with lib; { 34 description = "A beautiful Plex music player for audiophiles, curators, and hipsters"; 35 homepage = "https://plexamp.com/"; 36 - changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/36"; 37 license = licenses.unfree; 38 maintainers = with maintainers; [ killercup synthetica ]; 39 platforms = [ "x86_64-linux" ];
··· 2 3 let 4 pname = "plexamp"; 5 + version = "3.9.1"; 6 7 src = fetchurl { 8 url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage"; 9 name="${pname}-${version}.AppImage"; 10 + sha512 = "uassNLdCXx3WLarUMJNhU8fbXugG7yTLMQacPAszLoRdmbMwcN6wT7ED26VhlNVhY3xr02GjZSDw4/LADZWqKw=="; 11 }; 12 13 appimageContents = appimageTools.extractType2 { ··· 33 meta = with lib; { 34 description = "A beautiful Plex music player for audiophiles, curators, and hipsters"; 35 homepage = "https://plexamp.com/"; 36 + changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/37"; 37 license = licenses.unfree; 38 maintainers = with maintainers; [ killercup synthetica ]; 39 platforms = [ "x86_64-linux" ];
+34
pkgs/applications/networking/instant-messengers/signalbackup-tools/apple-sdk-missing-utimensat.patch
···
··· 1 + diff --git a/signalbackup/setfiletimestamp.cc b/signalbackup/setfiletimestamp.cc 2 + index f53a168..d2d1c5e 100644 3 + --- a/signalbackup/setfiletimestamp.cc 4 + +++ b/signalbackup/setfiletimestamp.cc 5 + @@ -21,24 +21,23 @@ 6 + 7 + #if !defined(_WIN32) && !defined(__MINGW64__) 8 + 9 + -#include <fcntl.h> 10 + -#include <sys/stat.h> 11 + +#include <sys/time.h> 12 + 13 + bool SignalBackup::setFileTimeStamp(std::string const &file, long long int time_usec) const 14 + { 15 + - struct timespec ntimes[] = 16 + + struct timeval ntimes[] = 17 + { 18 + { // ntimes[0] = 19 + time_usec / 1000, // tv_sec, seconds 20 + - (time_usec % 1000) * 1000 // tv_usec, nanoseconds 21 + + static_cast<int>(time_usec) // tv_usec, nanoseconds 22 + }, 23 + { // ntimes[1] = 24 + time_usec / 1000, // tv_sec, seconds 25 + - (time_usec % 1000) * 1000 // tv_usec, nanoseconds 26 + + static_cast<int>(time_usec) // tv_usec, nanoseconds 27 + } 28 + }; 29 + 30 + - return (utimensat(AT_FDCWD, file.c_str(), ntimes, 0) == 0); 31 + + return (utimes(file.c_str(), ntimes) == 0); 32 + } 33 + 34 + #else // this is poorly tested, I don't have windows
+45
pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
···
··· 1 + { lib, stdenv, fetchFromGitHub, openssl, sqlite }: 2 + 3 + stdenv.mkDerivation rec { 4 + pname = "signalbackup-tools"; 5 + version = "20220107"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "bepaald"; 9 + repo = pname; 10 + rev = version; 11 + sha256 = "sha256-sB8/xQgSORtwupcwSejKUhHoz04exdYS0ymefw9wXDQ="; 12 + }; 13 + 14 + # Remove when Apple SDK is >= 10.13 15 + patches = lib.optional (stdenv.system == "x86_64-darwin") ./apple-sdk-missing-utimensat.patch; 16 + 17 + buildInputs = [ openssl sqlite ]; 18 + buildFlags = [ 19 + "-Wall" 20 + "-Wextra" 21 + "-Wshadow" 22 + "-Wold-style-cast" 23 + "-Woverloaded-virtual" 24 + "-pedantic" 25 + "-std=c++2a" 26 + "-O3" 27 + "-march=native" 28 + ]; 29 + buildPhase = '' 30 + $CXX $buildFlags */*.cc *.cc -lcrypto -lsqlite3 -o signalbackup-tools 31 + ''; 32 + 33 + installPhase = '' 34 + mkdir -p $out/bin 35 + cp signalbackup-tools $out/bin/ 36 + ''; 37 + 38 + meta = with lib; { 39 + description = "Tool to work with Signal Backup files"; 40 + homepage = "https://github.com/bepaald/signalbackup-tools"; 41 + license = licenses.gpl3Only; 42 + maintainers = [ maintainers.malo ]; 43 + platforms = platforms.all; 44 + }; 45 + }
+105 -100
pkgs/applications/science/math/mathematica/default.nix
··· 1 - { lib, stdenv 2 - , coreutils 3 - , patchelf 4 , requireFile 5 - , callPackage 6 - , makeWrapper 7 , alsa-lib 8 , dbus 9 , fontconfig 10 , freetype 11 - , gcc 12 , glib 13 - , libssh2 14 , ncurses 15 , opencv4 16 , openssl 17 , unixODBC 18 , xkeyboard_config 19 , xorg 20 , zlib 21 - , libxml2 22 - , libuuid 23 , lang ? "en" 24 - , libGL 25 - , libGLU 26 }: 27 28 let 29 - l10n = 30 - import ./l10ns.nix { 31 - lib = lib; 32 - inherit requireFile lang; 33 - }; 34 - in 35 - stdenv.mkDerivation rec { 36 inherit (l10n) version name src; 37 38 buildInputs = [ 39 - coreutils 40 - patchelf 41 - makeWrapper 42 alsa-lib 43 - coreutils 44 dbus 45 fontconfig 46 freetype 47 - gcc.cc 48 - gcc.libc 49 glib 50 - libssh2 51 ncurses 52 opencv4 53 openssl 54 - stdenv.cc.cc.lib 55 unixODBC 56 xkeyboard_config 57 - libxml2 58 - libuuid 59 - zlib 60 - libGL 61 - libGLU 62 ] ++ (with xorg; [ 63 libX11 64 libXext 65 - libXtst 66 libXi 67 libXmu 68 libXrender 69 libxcb 70 - libXcursor 71 - libXfixes 72 - libXrandr 73 - libICE 74 - libSM 75 ]); 76 77 - ldpath = lib.makeLibraryPath buildInputs 78 - + lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") 79 - (":" + lib.makeSearchPathOutput "lib" "lib64" buildInputs); 80 81 unpackPhase = '' 82 - echo "=== Extracting makeself archive ===" 83 - # find offset from file 84 offset=$(${stdenv.shell} -c "$(grep -axm1 -e 'offset=.*' $src); echo \$offset" $src) 85 - dd if="$src" ibs=$offset skip=1 | tar -xf - 86 - cd Unix 87 ''; 88 89 installPhase = '' 90 - cd Installer 91 - # don't restrict PATH, that has already been done 92 - sed -i -e 's/^PATH=/# PATH=/' MathInstaller 93 94 - # Fix the installation script as follows: 95 - # 1. Adjust the shebang 96 - # 2. Use the wrapper in the desktop items 97 - substituteInPlace MathInstaller \ 98 - --replace "/bin/bash" "/bin/sh" \ 99 - --replace "Executables/Mathematica" "../../bin/mathematica" 100 101 - # Install the desktop items 102 - export XDG_DATA_HOME="$out/share" 103 104 - echo "=== Running MathInstaller ===" 105 - ./MathInstaller -auto -createdir=y -execdir=$out/bin -targetdir=$out/libexec/Mathematica -silent 106 107 - # Fix library paths 108 - cd $out/libexec/Mathematica/Executables 109 - for path in mathematica MathKernel Mathematica WolframKernel wolfram math; do 110 - sed -i -e "2iexport LD_LIBRARY_PATH=${zlib}/lib:${stdenv.cc.cc.lib}/lib:${libssh2}/lib:\''${LD_LIBRARY_PATH}\n" $path 111 - done 112 113 - # Fix xkeyboard config path for Qt 114 - for path in mathematica Mathematica; do 115 - sed -i -e "2iexport QT_XKB_CONFIG_ROOT=\"${xkeyboard_config}/share/X11/xkb\"\n" $path 116 - done 117 118 - # Remove some broken libraries 119 - rm -f $out/libexec/Mathematica/SystemFiles/Libraries/Linux-x86-64/libz.so* 120 121 - # Set environment variable to fix libQt errors - see https://github.com/NixOS/nixpkgs/issues/96490 122 - wrapProgram $out/bin/mathematica --set USE_WOLFRAM_LD_LIBRARY_PATH 1 123 ''; 124 125 preFixup = '' 126 - echo "=== PatchElfing away ===" 127 - # This code should be a bit forgiving of errors, unfortunately 128 - set +e 129 - find $out/libexec/Mathematica/SystemFiles -type f -perm -0100 | while read f; do 130 - type=$(readelf -h "$f" 2>/dev/null | grep 'Type:' | sed -e 's/ *Type: *\([A-Z]*\) (.*/\1/') 131 - if [ -z "$type" ]; then 132 - : 133 - elif [ "$type" == "EXEC" ]; then 134 - echo "patching $f executable <<" 135 - patchelf --shrink-rpath "$f" 136 - patchelf \ 137 - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ 138 - --set-rpath "$(patchelf --print-rpath "$f"):${ldpath}" \ 139 - "$f" \ 140 - && patchelf --shrink-rpath "$f" \ 141 - || echo unable to patch ... ignoring 1>&2 142 - elif [ "$type" == "DYN" ]; then 143 - echo "patching $f library <<" 144 - patchelf \ 145 - --set-rpath "$(patchelf --print-rpath "$f"):${ldpath}" \ 146 - "$f" \ 147 - && patchelf --shrink-rpath "$f" \ 148 - || echo unable to patch ... ignoring 1>&2 149 - else 150 - echo "not patching $f <<: unknown elf type" 151 - fi 152 done 153 ''; 154 155 dontBuild = true; 156 157 - # This is primarily an IO bound build; there's little benefit to building remotely. 158 preferLocalBuild = true; 159 160 - # all binaries are already stripped 161 dontStrip = true; 162 163 - # we did this in prefixup already 164 - dontPatchELF = true; 165 166 meta = with lib; { 167 description = "Wolfram Mathematica computational software system";
··· 1 + { lib 2 + , stdenv 3 + , autoPatchelfHook 4 + , buildEnv 5 + , makeWrapper 6 , requireFile 7 , alsa-lib 8 + , cups 9 , dbus 10 + , flite 11 , fontconfig 12 , freetype 13 + , gcc-unwrapped 14 , glib 15 + , gmpxx 16 + , keyutils 17 + , libGL 18 + , libGLU 19 + , libpcap 20 + , libtins 21 + , libuuid 22 + , libxkbcommon 23 + , libxml2 24 + , llvmPackages_12 25 + , matio 26 + , mpfr 27 , ncurses 28 , opencv4 29 + , openjdk11 30 , openssl 31 + , pciutils 32 + , tre 33 , unixODBC 34 , xkeyboard_config 35 , xorg 36 , zlib 37 , lang ? "en" 38 }: 39 40 let 41 + l10n = import ./l10ns.nix { 42 + inherit lib requireFile lang; 43 + }; 44 + in stdenv.mkDerivation { 45 inherit (l10n) version name src; 46 47 + nativeBuildInputs = [ 48 + autoPatchelfHook 49 + makeWrapper 50 + ]; 51 + 52 buildInputs = [ 53 alsa-lib 54 + cups.lib 55 dbus 56 + flite 57 fontconfig 58 freetype 59 glib 60 + gmpxx 61 + keyutils.lib 62 + libGL 63 + libGLU 64 + libpcap 65 + libtins 66 + libuuid 67 + libxkbcommon 68 + libxml2 69 + llvmPackages_12.libllvm.lib 70 + matio 71 + mpfr 72 ncurses 73 opencv4 74 + openjdk11 75 openssl 76 + pciutils 77 + tre 78 unixODBC 79 xkeyboard_config 80 ] ++ (with xorg; [ 81 + libICE 82 + libSM 83 libX11 84 + libXScrnSaver 85 + libXcomposite 86 + libXcursor 87 + libXdamage 88 libXext 89 + libXfixes 90 libXi 91 + libXinerama 92 libXmu 93 + libXrandr 94 libXrender 95 + libXtst 96 libxcb 97 ]); 98 99 + wrapProgramFlags = [ 100 + "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ gcc-unwrapped.lib zlib ]}" 101 + "--prefix PATH : ${lib.makeBinPath [ stdenv.cc ]}" 102 + # Fix libQt errors - #96490 103 + "--set USE_WOLFRAM_LD_LIBRARY_PATH 1" 104 + # Fix xkeyboard config path for Qt 105 + "--set QT_XKB_CONFIG_ROOT ${xkeyboard_config}/share/X11/xkb" 106 + ]; 107 108 unpackPhase = '' 109 + runHook preUnpack 110 + 111 + # Find offset from file 112 offset=$(${stdenv.shell} -c "$(grep -axm1 -e 'offset=.*' $src); echo \$offset" $src) 113 + tail -c +$(($offset + 1)) $src | tar -xf - 114 + 115 + runHook postUnpack 116 ''; 117 118 installPhase = '' 119 + runHook preInstall 120 121 + cd "$TMPDIR/Unix/Installer" 122 123 + mkdir -p "$out/lib/udev/rules.d" 124 125 + # Patch MathInstaller's shebangs and udev rules dir 126 + patchShebangs MathInstaller 127 + substituteInPlace MathInstaller \ 128 + --replace /etc/udev/rules.d $out/lib/udev/rules.d 129 130 + # Remove PATH restriction, root and avahi daemon checks, and hostname call 131 + sed -i ' 132 + s/^PATH=/# &/ 133 + s/isRoot="false"/# &/ 134 + s/^checkAvahiDaemon$/# &/ 135 + s/`hostname`/""/ 136 + ' MathInstaller 137 138 + # NOTE: some files placed under HOME may be useful 139 + XDG_DATA_HOME="$out/share" HOME="$TMPDIR/home" vernierLink=y \ 140 + ./MathInstaller -execdir="$out/bin" -targetdir="$out/libexec/Mathematica" -auto -verbose -createdir=y 141 142 + # Check if MathInstaller produced any errors 143 + errLog="$out/libexec/Mathematica/InstallErrors" 144 + if [ -f "$errLog" ]; then 145 + echo "Installation errors:" 146 + cat "$errLog" 147 + return 1 148 + fi 149 150 + runHook postInstall 151 ''; 152 153 preFixup = '' 154 + for bin in $out/libexec/Mathematica/Executables/*; do 155 + wrapProgram "$bin" ''${wrapProgramFlags[@]} 156 done 157 ''; 158 159 + dontConfigure = true; 160 dontBuild = true; 161 162 + # This is primarily an IO bound build; there's little benefit to building remotely 163 preferLocalBuild = true; 164 165 + # All binaries are already stripped 166 dontStrip = true; 167 168 + # NOTE: Some deps are still not found; ignore for now 169 + autoPatchelfIgnoreMissingDeps = true; 170 171 meta = with lib; { 172 description = "Wolfram Mathematica computational software system";
+3 -3
pkgs/applications/version-management/pijul/default.nix
··· 13 14 rustPlatform.buildRustPackage rec { 15 pname = "pijul"; 16 - version = "1.0.0-alpha.57"; 17 18 src = fetchCrate { 19 inherit version pname; 20 - sha256 = "sha256-HhGUoO8UHJkfQ5QQ/H+PT8mqvdPb8Ok4D3j7QArLBeA="; 21 }; 22 23 - cargoSha256 = "sha256-SyyJqUC7bCUJf53/+GJ/7+huab8hycNABwAFaHHmJtY="; 24 25 doCheck = false; 26 nativeBuildInputs = [ pkg-config ];
··· 13 14 rustPlatform.buildRustPackage rec { 15 pname = "pijul"; 16 + version = "1.0.0-beta"; 17 18 src = fetchCrate { 19 inherit version pname; 20 + sha256 = "sha256-s7fHg6Le4y0yAyxOQf6iUUHA4dYsamlTUb0KISOHI7Q="; 21 }; 22 23 + cargoSha256 = "sha256-09PWy1yfr1FY2AsKaoZZswi4P5JdNcumIOmTm+M21UE="; 24 25 doCheck = false; 26 nativeBuildInputs = [ pkg-config ];
+20 -12
pkgs/common-updater/scripts/update-source-version
··· 10 11 usage() { 12 echo "Usage: $scriptName <attr> <version> [<new-source-hash>] [<new-source-url>]" 13 - echo " [--version-key=<version-key>] [--system=<system>] [--file=<file-to-update>] [--rev=<revision>]" 14 echo " [--ignore-same-hash] [--print-changes]" 15 } 16 ··· 24 ;; 25 --version-key=*) 26 versionKey="${arg#*=}" 27 ;; 28 --file=*) 29 nixFile="${arg#*=}" ··· 79 versionKey=version 80 fi 81 82 # Allow finding packages among flake outputs in repos using flake-compat. 83 pname=$(nix-instantiate $systemArg --eval --strict -A "$attr.name" || echo) 84 if [[ -z "$pname" ]]; then ··· 106 fi 107 108 # flake-compat will return paths in the Nix store, we need to correct for that. 109 - possiblyOutPath=$(nix-instantiate $systemArg --eval -E "with $importTree; outPath" | tr -d '"') 110 if [[ -n "$possiblyOutPath" ]]; then 111 outPathEscaped=$(echo "$possiblyOutPath" | sed 's#[$^*\\.[|]#\\&#g') 112 pwdEscaped=$(echo "$PWD" | sed 's#[$^*\\.[|]#\\&#g') ··· 114 fi 115 fi 116 117 - oldHashAlgo=$(nix-instantiate $systemArg --eval --strict -A "$attr.src.drvAttrs.outputHashAlgo" | tr -d '"') 118 - oldHash=$(nix-instantiate $systemArg --eval --strict -A "$attr.src.drvAttrs.outputHash" | tr -d '"') 119 120 if [[ -z "$oldHashAlgo" || -z "$oldHash" ]]; then 121 - die "Couldn't evaluate old source hash from '$attr.src'!" 122 fi 123 124 if [[ $(grep --count "$oldHash" "$nixFile") != 1 ]]; then 125 die "Couldn't locate old source hash '$oldHash' (or it appeared more than once) in '$nixFile'!" 126 fi 127 128 - oldUrl=$(nix-instantiate $systemArg --eval -E "with $importTree; builtins.elemAt ($attr.src.drvAttrs.urls or [ $attr.src.url ]) 0" | tr -d '"') 129 130 if [[ -z "$oldUrl" ]]; then 131 - die "Couldn't evaluate source url from '$attr.src'!" 132 fi 133 134 oldVersion=$(nix-instantiate $systemArg --eval -E "with $importTree; $attr.${versionKey} or (builtins.parseDrvName $attr.name).version" | tr -d '"') ··· 146 fi 147 148 if [[ -n "$newRevision" ]]; then 149 - oldRevision=$(nix-instantiate $systemArg --eval -E "with $importTree; $attr.src.rev" | tr -d '"') 150 if [[ -z "$oldRevision" ]]; then 151 - die "Couldn't evaluate source revision from '$attr.src'!" 152 fi 153 fi 154 ··· 228 229 # If new hash not given on the command line, recalculate it ourselves. 230 if [[ -z "$newHash" ]]; then 231 - nix-build $systemArg --no-out-link -A "$attr.src" 2>"$attr.fetchlog" >/dev/null || true 232 # FIXME: use nix-build --hash here once https://github.com/NixOS/nix/issues/1172 is fixed 233 newHash=$(sed '1,/hash mismatch in fixed-output derivation/d' "$attr.fetchlog" | grep --perl-regexp --only-matching 'got: +.+[:-]\K.+') 234 ··· 242 243 if [[ -z "$newHash" ]]; then 244 cat "$attr.fetchlog" >&2 245 - die "Couldn't figure out new hash of '$attr.src'!" 246 fi 247 248 if [[ -z "${ignoreSameHash}" && "$oldVersion" != "$newVersion" && "$oldHash" = "$newHash" ]]; then 249 mv "$nixFile.bak" "$nixFile" 250 - die "Both the old and new source hashes of '$attr.src' were equivalent. Please fix the package's source URL to be dependent on '\${version}'!" 251 fi 252 253 sed -i "$nixFile" -re "s|\"$tempHashEscaped\"|\"$newHash\"|"
··· 10 11 usage() { 12 echo "Usage: $scriptName <attr> <version> [<new-source-hash>] [<new-source-url>]" 13 + echo " [--version-key=<version-key>] [--source-key=<source-key>]" 14 + echo " [--system=<system>] [--file=<file-to-update>] [--rev=<revision>]" 15 echo " [--ignore-same-hash] [--print-changes]" 16 } 17 ··· 25 ;; 26 --version-key=*) 27 versionKey="${arg#*=}" 28 + ;; 29 + --source-key=*) 30 + sourceKey="${arg#*=}" 31 ;; 32 --file=*) 33 nixFile="${arg#*=}" ··· 83 versionKey=version 84 fi 85 86 + if [[ -z "$sourceKey" ]]; then 87 + sourceKey=src 88 + fi 89 + 90 # Allow finding packages among flake outputs in repos using flake-compat. 91 pname=$(nix-instantiate $systemArg --eval --strict -A "$attr.name" || echo) 92 if [[ -z "$pname" ]]; then ··· 114 fi 115 116 # flake-compat will return paths in the Nix store, we need to correct for that. 117 + possiblyOutPath=$(nix-instantiate $systemArg --eval -E "with $importTree; outPath" 2>/dev/null | tr -d '"') 118 if [[ -n "$possiblyOutPath" ]]; then 119 outPathEscaped=$(echo "$possiblyOutPath" | sed 's#[$^*\\.[|]#\\&#g') 120 pwdEscaped=$(echo "$PWD" | sed 's#[$^*\\.[|]#\\&#g') ··· 122 fi 123 fi 124 125 + oldHashAlgo=$(nix-instantiate $systemArg --eval --strict -A "$attr.$sourceKey.drvAttrs.outputHashAlgo" | tr -d '"') 126 + oldHash=$(nix-instantiate $systemArg --eval --strict -A "$attr.$sourceKey.drvAttrs.outputHash" | tr -d '"') 127 128 if [[ -z "$oldHashAlgo" || -z "$oldHash" ]]; then 129 + die "Couldn't evaluate old source hash from '$attr.$sourceKey'!" 130 fi 131 132 if [[ $(grep --count "$oldHash" "$nixFile") != 1 ]]; then 133 die "Couldn't locate old source hash '$oldHash' (or it appeared more than once) in '$nixFile'!" 134 fi 135 136 + oldUrl=$(nix-instantiate $systemArg --eval -E "with $importTree; builtins.elemAt ($attr.$sourceKey.drvAttrs.urls or [ $attr.$sourceKey.url ]) 0" | tr -d '"') 137 138 if [[ -z "$oldUrl" ]]; then 139 + die "Couldn't evaluate source url from '$attr.$sourceKey'!" 140 fi 141 142 oldVersion=$(nix-instantiate $systemArg --eval -E "with $importTree; $attr.${versionKey} or (builtins.parseDrvName $attr.name).version" | tr -d '"') ··· 154 fi 155 156 if [[ -n "$newRevision" ]]; then 157 + oldRevision=$(nix-instantiate $systemArg --eval -E "with $importTree; $attr.$sourceKey.rev" | tr -d '"') 158 if [[ -z "$oldRevision" ]]; then 159 + die "Couldn't evaluate source revision from '$attr.$sourceKey'!" 160 fi 161 fi 162 ··· 236 237 # If new hash not given on the command line, recalculate it ourselves. 238 if [[ -z "$newHash" ]]; then 239 + nix-build $systemArg --no-out-link -A "$attr.$sourceKey" 2>"$attr.fetchlog" >/dev/null || true 240 # FIXME: use nix-build --hash here once https://github.com/NixOS/nix/issues/1172 is fixed 241 newHash=$(sed '1,/hash mismatch in fixed-output derivation/d' "$attr.fetchlog" | grep --perl-regexp --only-matching 'got: +.+[:-]\K.+') 242 ··· 250 251 if [[ -z "$newHash" ]]; then 252 cat "$attr.fetchlog" >&2 253 + die "Couldn't figure out new hash of '$attr.$sourceKey'!" 254 fi 255 256 if [[ -z "${ignoreSameHash}" && "$oldVersion" != "$newVersion" && "$oldHash" = "$newHash" ]]; then 257 mv "$nixFile.bak" "$nixFile" 258 + die "Both the old and new source hashes of '$attr.$sourceKey' were equivalent. Please fix the package's source URL to be dependent on '\${version}'!" 259 fi 260 261 sed -i "$nixFile" -re "s|\"$tempHashEscaped\"|\"$newHash\"|"
+2 -2
pkgs/desktops/cinnamon/nemo/default.nix
··· 24 25 stdenv.mkDerivation rec { 26 pname = "nemo"; 27 - version = "5.2.0"; 28 29 # TODO: add plugins support (see https://github.com/NixOS/nixpkgs/issues/78327) 30 ··· 32 owner = "linuxmint"; 33 repo = pname; 34 rev = version; 35 - hash = "sha256-ehcqRlI1d/KWNas36dz+hb7KU1H8wtQHTpg2fz1XdXU="; 36 }; 37 38 outputs = [ "out" "dev" ];
··· 24 25 stdenv.mkDerivation rec { 26 pname = "nemo"; 27 + version = "5.2.3"; 28 29 # TODO: add plugins support (see https://github.com/NixOS/nixpkgs/issues/78327) 30 ··· 32 owner = "linuxmint"; 33 repo = pname; 34 rev = version; 35 + sha256 = "sha256-kPxwWciNf4KQx3JG1qPQcZJeOa4B+udMyQmH8A7JcfQ="; 36 }; 37 38 outputs = [ "out" "dev" ];
+24
pkgs/development/interpreters/ivy/default.nix
···
··· 1 + { lib, buildGoModule, fetchFromGitHub }: 2 + 3 + buildGoModule rec { 4 + pname = "ivy"; 5 + version = "0.1.13"; 6 + 7 + src = fetchFromGitHub { 8 + rev = "v${version}"; 9 + owner = "robpike"; 10 + repo = "ivy"; 11 + sha256 = "sha256-IiQrmmHitKUItm/ZSTQ3jGO3ls8vPPexyOtUvfq3yeU="; 12 + }; 13 + 14 + vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo="; 15 + 16 + subPackages = [ "." ]; 17 + 18 + meta = with lib; { 19 + homepage = "https://github.com/robpike/ivy"; 20 + description = "ivy, an APL-like calculator"; 21 + license = licenses.bsd3; 22 + maintainers = with maintainers; [ smasher164 ]; 23 + }; 24 + }
+2 -2
pkgs/development/libraries/umockdev/default.nix
··· 19 20 stdenv.mkDerivation rec { 21 pname = "umockdev"; 22 - version = "0.17.2"; 23 24 outputs = [ "bin" "out" "dev" "devdoc" ]; 25 26 src = fetchurl { 27 url = "https://github.com/martinpitt/umockdev/releases/download/${version}/${pname}-${version}.tar.xz"; 28 - sha256 = "sha256-D9Kb67HACi8guMoT5n3Yp9INigjuuGAIyKMgcICBJmA="; 29 }; 30 31 nativeBuildInputs = [
··· 19 20 stdenv.mkDerivation rec { 21 pname = "umockdev"; 22 + version = "0.17.5"; 23 24 outputs = [ "bin" "out" "dev" "devdoc" ]; 25 26 src = fetchurl { 27 url = "https://github.com/martinpitt/umockdev/releases/download/${version}/${pname}-${version}.tar.xz"; 28 + sha256 = "sha256-9mNKYFiQtzkBTQEuVWIfR9+e2jAqDszlHGMEQpcRe8U="; 29 }; 30 31 nativeBuildInputs = [
+33
pkgs/development/python-modules/pynut2/default.nix
···
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , requests 5 + }: 6 + 7 + buildPythonPackage rec { 8 + pname = "pynut2"; 9 + version = "2.1.2"; 10 + 11 + src = fetchFromGitHub { 12 + owner = "mezz64"; 13 + repo = "python-nut2"; 14 + rev = version; 15 + sha256 = "1lg7n1frndfgw73s0ssl1h7kc6zxm7fpiwlc6v6d60kxzaj1dphx"; 16 + }; 17 + 18 + propagatedBuildInputs = [ 19 + requests 20 + ]; 21 + 22 + pythonImportsCheck = [ "pynut2.nut2" ]; 23 + 24 + # tests are unmaintained and broken 25 + doCheck = false; 26 + 27 + meta = with lib; { 28 + description = "API overhaul of PyNUT, a Python library to allow communication with NUT (Network UPS Tools) servers."; 29 + homepage = "https://github.com/mezz64/python-nut2"; 30 + license = with licenses; [ gpl3Plus ]; 31 + maintainers = [ maintainers.luker ]; 32 + }; 33 + }
+12 -1
pkgs/development/ruby-modules/gem-config/default.nix
··· 26 , file, libvirt, glib, vips, taglib, libopus, linux-pam, libidn, protobuf, fribidi, harfbuzz 27 , bison, flex, pango, python3, patchelf, binutils, freetds, wrapGAppsHook, atk 28 , bundler, libsass, libexif, libselinux, libsepol, shared-mime-info, libthai, libdatrie 29 - , CoreServices, DarwinTools, cctools, libtool 30 }@args: 31 32 let ··· 133 134 digest-sha3 = attrs: { 135 hardeningDisable = [ "format" ]; 136 }; 137 138 ethon = attrs: {
··· 26 , file, libvirt, glib, vips, taglib, libopus, linux-pam, libidn, protobuf, fribidi, harfbuzz 27 , bison, flex, pango, python3, patchelf, binutils, freetds, wrapGAppsHook, atk 28 , bundler, libsass, libexif, libselinux, libsepol, shared-mime-info, libthai, libdatrie 29 + , CoreServices, DarwinTools, cctools, libtool, discount 30 }@args: 31 32 let ··· 133 134 digest-sha3 = attrs: { 135 hardeningDisable = [ "format" ]; 136 + }; 137 + 138 + rdiscount = attrs: { 139 + # Use discount from nixpkgs instead of vendored version 140 + dontBuild = false; 141 + buildInputs = [ discount ]; 142 + patches = [ 143 + # Adapted from Debian: 144 + # https://sources.debian.org/data/main/r/ruby-rdiscount/2.1.8-1/debian/patches/01_use-system-libmarkdown.patch 145 + ./rdiscount-use-nixpkgs-libmarkdown.patch 146 + ]; 147 }; 148 149 ethon = attrs: {
+14
pkgs/development/ruby-modules/gem-config/rdiscount-use-nixpkgs-libmarkdown.patch
···
··· 1 + diff --git a/ext/extconf.rb b/ext/extconf.rb 2 + index 30764cb..b87ac2b 100644 3 + --- a/ext/extconf.rb 4 + +++ b/ext/extconf.rb 5 + @@ -46,4 +46,9 @@ if /mswin/.match RbConfig::CONFIG['host_os'] 6 + $defs.push("-Dinline=__inline") 7 + end 8 + 9 + +$srcs = %w[ 10 + + rdiscount.c 11 + +] 12 + +have_library('markdown') 13 + + 14 + create_makefile('rdiscount')
+3 -1
pkgs/development/tools/ronn/default.nix
··· 1 - { stdenv, lib, bundlerEnv, bundlerUpdateScript, makeWrapper, groff }: 2 3 stdenv.mkDerivation rec { 4 pname = "ronn"; ··· 20 ''; 21 22 passthru.updateScript = bundlerUpdateScript "ronn"; 23 24 meta = with lib; { 25 description = "markdown-based tool for building manpages";
··· 1 + { stdenv, lib, bundlerEnv, bundlerUpdateScript, makeWrapper, groff, callPackage }: 2 3 stdenv.mkDerivation rec { 4 pname = "ronn"; ··· 20 ''; 21 22 passthru.updateScript = bundlerUpdateScript "ronn"; 23 + 24 + passthru.tests.reproducible-html-manpage = callPackage ./test-reproducible-html.nix { }; 25 26 meta = with lib; { 27 description = "markdown-based tool for building manpages";
+30
pkgs/development/tools/ronn/test-reproducible-html.nix
···
··· 1 + { runCommand 2 + , diffutils 3 + , ronn 4 + }: 5 + runCommand "ronn-test-reproducible-html" { } '' 6 + set -euo pipefail 7 + 8 + cat > aprog.1.ronn << EOF 9 + aprog 10 + ===== 11 + 12 + ## AUTHORS 13 + 14 + Vincent Haupert <veehaitch@users.noreply.github.com> 15 + EOF 16 + 17 + # We have to repeat the manpage generation a few times to be confident 18 + # it is in fact reproducible. 19 + for i in {1..20}; do 20 + ${ronn}/bin/ronn --html --pipe aprog.1.ronn > aprog.1.html-1 21 + ${ronn}/bin/ronn --html --pipe aprog.1.ronn > aprog.1.html-2 22 + 23 + ${diffutils}/bin/diff -q aprog.1.html-1 aprog.1.html-2 \ 24 + || (printf 'The HTML manpage is not reproducible (round %d)' "$i" && exit 1) 25 + done 26 + 27 + echo 'The HTML manpage appears reproducible' 28 + 29 + mkdir $out 30 + ''
+3 -3
pkgs/development/tools/rust/svd2rust/default.nix
··· 2 3 rustPlatform.buildRustPackage rec { 4 pname = "svd2rust"; 5 - version = "0.19.0"; 6 7 src = fetchCrate { 8 inherit pname version; 9 - sha256 = "sha256-LNJd88Gw8HaE1qnRbD7mipVEFgG7jCsyUu9pbwY/4JY="; 10 }; 11 12 - cargoSha256 = "sha256-Qg/wA3R98FAb8UZ5s7GOEgOeifrqwFJ4lg0BC2SZOE8="; 13 14 buildInputs = lib.optional stdenv.isDarwin libiconv; 15
··· 2 3 rustPlatform.buildRustPackage rec { 4 pname = "svd2rust"; 5 + version = "0.21.0"; 6 7 src = fetchCrate { 8 inherit pname version; 9 + sha256 = "0mxzbbxrg1jysxpjqcvgwwmh8qf0lyf64fl1gxxp0whph0x279qj"; 10 }; 11 12 + cargoSha256 = "0kvya6swx1nsxxlhn2w8x4dhl4j3v56jxqr2h259cx6lzv3xjhin"; 13 14 buildInputs = lib.optional stdenv.isDarwin libiconv; 15
+2 -1
pkgs/servers/home-assistant/component-packages.nix
··· 589 "nuki" = ps: with ps; [ pynuki ]; 590 "numato" = ps: with ps; [ ]; # missing inputs: numato-gpio 591 "number" = ps: with ps; [ ]; 592 - "nut" = ps: with ps; [ ]; # missing inputs: pynut2 593 "nws" = ps: with ps; [ pynws ]; 594 "nx584" = ps: with ps; [ pynx584 ]; 595 "nzbget" = ps: with ps; [ ]; # missing inputs: pynzbgetapi ··· 1348 "nsw_rural_fire_service_feed" 1349 "nuki" 1350 "number" 1351 "nws" 1352 "nx584" 1353 "octoprint"
··· 589 "nuki" = ps: with ps; [ pynuki ]; 590 "numato" = ps: with ps; [ ]; # missing inputs: numato-gpio 591 "number" = ps: with ps; [ ]; 592 + "nut" = ps: with ps; [ pynut2 ]; 593 "nws" = ps: with ps; [ pynws ]; 594 "nx584" = ps: with ps; [ pynx584 ]; 595 "nzbget" = ps: with ps; [ ]; # missing inputs: pynzbgetapi ··· 1348 "nsw_rural_fire_service_feed" 1349 "nuki" 1350 "number" 1351 + "nut" 1352 "nws" 1353 "nx584" 1354 "octoprint"
+56 -32
pkgs/tools/graphics/gmic-qt/default.nix
··· 1 { lib 2 , mkDerivation 3 , fetchurl 4 - , fetchpatch 5 , variant ? "standalone" 6 , fetchFromGitHub 7 - , fetchFromGitLab 8 , cmake 9 , pkg-config 10 , opencv3 ··· 20 , gimp ? null 21 , qtbase 22 , qttools 23 }: 24 25 let ··· 52 53 mkDerivation rec { 54 pname = "gmic-qt${lib.optionalString (variant != "standalone") "-${variant}"}"; 55 - version = "2.7.1"; 56 57 gmic-community = fetchFromGitHub { 58 owner = "dtschump"; 59 repo = "gmic-community"; 60 - rev = "3fd528f20a2a7d651e96078c205ff21efb9cdd1a"; 61 - sha256 = "08d37b49qgh5d4rds7hvr5wjj4p1y8cnbidz1cyqsibq0555pwq2"; 62 }; 63 64 - CImg = fetchFromGitLab { 65 - domain = "framagit.org"; 66 owner = "dtschump"; 67 repo = "CImg"; 68 rev = "v.${version}"; 69 - sha256 = "1mfkjvf5r3ppc1dd6yvqn7xlhgzfg9k1k5v2sq2k9m70g8p7rgpd"; 70 }; 71 72 gmic_stdlib = fetchurl { 73 name = "gmic_stdlib.h"; 74 url = "http://gmic.eu/gmic_stdlib${lib.replaceStrings ["."] [""] version}.h"; 75 - sha256 = "0v12smknr1s44s6wq2gbnw0hb98xrwp6i3zg9wf49cl7s9qf76j3"; 76 }; 77 78 gmic = fetchFromGitHub { 79 owner = "dtschump"; 80 repo = "gmic"; 81 rev = "v.${version}"; 82 - sha256 = "0pa6kflr1gqgzh8rk7bylvkxs989r5jy0q7b62mnzx8895slwfb5"; 83 }; 84 85 gmic_qt = fetchFromGitHub { 86 owner = "c-koi"; 87 repo = "gmic-qt"; 88 rev = "v.${version}"; 89 - sha256 = "08a0660083wv5fb1w9qqhm4f8cfwbqq723qzqq647mid1n7sy959"; 90 }; 91 92 - patches = [ 93 - # Install GIMP plug-in to a correct destination 94 - # https://github.com/c-koi/gmic-qt/pull/78 95 - ./fix-gimp-plugin-path.patch 96 - ]; 97 - 98 - unpackPhase = '' 99 - cp -r ${gmic} gmic 100 - ln -s ${gmic-community} gmic-community 101 - cp -r ${gmic_qt} gmic_qt 102 - chmod -R +w gmic gmic_qt 103 - ln -s ${CImg} CImg 104 - 105 - cp ${gmic_stdlib} gmic/src/gmic_stdlib.h 106 - 107 - cd gmic_qt 108 - ''; 109 - 110 nativeBuildInputs = [ 111 cmake 112 pkg-config ··· 130 "-DGMIC_QT_HOST=${if variant == "standalone" then "none" else variant}" 131 ]; 132 133 postFixup = lib.optionalString (variant == "gimp") '' 134 - echo "wrapping $out/${gimp.targetPluginDir}/gmic_gimp_qt" 135 - wrapQtApp "$out/${gimp.targetPluginDir}/gmic_gimp_qt" 136 ''; 137 138 meta = with lib; { 139 description = variants.${variant}.description; 140 homepage = "http://gmic.eu/"; 141 - license = licenses.gpl3; 142 platforms = platforms.unix; 143 }; 144 }
··· 1 { lib 2 , mkDerivation 3 , fetchurl 4 , variant ? "standalone" 5 , fetchFromGitHub 6 , cmake 7 , pkg-config 8 , opencv3 ··· 18 , gimp ? null 19 , qtbase 20 , qttools 21 + , writeShellScript 22 + , common-updater-scripts 23 + , gnugrep 24 + , gnused 25 + , coreutils 26 + , jq 27 }: 28 29 let ··· 56 57 mkDerivation rec { 58 pname = "gmic-qt${lib.optionalString (variant != "standalone") "-${variant}"}"; 59 + version = "3.0.0"; 60 61 gmic-community = fetchFromGitHub { 62 owner = "dtschump"; 63 repo = "gmic-community"; 64 + rev = "df23b08bc52767762f0e38d040cd8ffeea4b865e"; 65 + sha256 = "euk5RsFPBgx2czAukPRdi/O4ahgXO8J8VJdiGHNge5M="; 66 }; 67 68 + CImg = fetchFromGitHub { 69 owner = "dtschump"; 70 repo = "CImg"; 71 rev = "v.${version}"; 72 + sha256 = "dC4VuWTz0uyFxLjBQ+2ggndHaCErcoI7tJMfkqbWmeg="; 73 }; 74 75 gmic_stdlib = fetchurl { 76 name = "gmic_stdlib.h"; 77 url = "http://gmic.eu/gmic_stdlib${lib.replaceStrings ["."] [""] version}.h"; 78 + sha256 = "CAYSxw5NCmE29hie1/J1csBcdQvIrmZ/+mNMl0sLLGI="; 79 }; 80 81 gmic = fetchFromGitHub { 82 owner = "dtschump"; 83 repo = "gmic"; 84 rev = "v.${version}"; 85 + sha256 = "PyeJmjOqjbHlZ1Xl3IpoOD6oZEcUrHNHqF7Ft1RZDL4="; 86 }; 87 88 gmic_qt = fetchFromGitHub { 89 owner = "c-koi"; 90 repo = "gmic-qt"; 91 rev = "v.${version}"; 92 + sha256 = "nENXumOArRAHENqnBUjM7m+I5hf/WAFTVfm6cJgnv+0="; 93 }; 94 95 nativeBuildInputs = [ 96 cmake 97 pkg-config ··· 115 "-DGMIC_QT_HOST=${if variant == "standalone" then "none" else variant}" 116 ]; 117 118 + unpackPhase = '' 119 + cp -r ${gmic} gmic 120 + ln -s ${gmic-community} gmic-community 121 + cp -r ${gmic_qt} gmic_qt 122 + chmod -R +w gmic gmic_qt 123 + ln -s ${CImg} CImg 124 + 125 + cp ${gmic_stdlib} gmic/src/gmic_stdlib.h 126 + 127 + cd gmic_qt 128 + ''; 129 + 130 postFixup = lib.optionalString (variant == "gimp") '' 131 + echo "wrapping $out/${gimp.targetPluginDir}/gmic_gimp_qt/gmic_gimp_qt" 132 + wrapQtApp "$out/${gimp.targetPluginDir}/gmic_gimp_qt/gmic_gimp_qt" 133 ''; 134 135 + passthru = { 136 + updateScript = writeShellScript "${pname}-update-script" '' 137 + set -o errexit 138 + PATH=${lib.makeBinPath [ common-updater-scripts curl gnugrep gnused coreutils jq ]} 139 + 140 + latestVersion=$(curl 'https://gmic.eu/files/source/' | grep -E 'gmic_[^"]+\.tar\.gz' | sed -E 's/.+<a href="gmic_([^"]+)\.tar\.gz".+/\1/g' | sort --numeric-sort --reverse | head -n1) 141 + 142 + if [[ "${version}" = "$latestVersion" ]]; then 143 + echo "The new version same as the old version." 144 + exit 0 145 + fi 146 + 147 + # gmic-community is not versioned so let’s just update to master. 148 + communityLatestCommit=$(curl "https://api.github.com/repos/dtschump/gmic-community/commits/master") 149 + communityLatestSha=$(echo "$communityLatestCommit" | jq .sha --raw-output) 150 + communityLatestDate=$(echo "$communityLatestCommit" | jq .commit.committer.date --raw-output | sed 's/T.\+//') 151 + update-source-version --source-key=gmic-community "gmic-qt" "unstable-$communityLatestDate" --rev="$communityLatestSha" 152 + 153 + for component in CImg gmic_stdlib gmic gmic_qt; do 154 + # The script will not perform an update when the version attribute is up to date from previous platform run 155 + # We need to clear it before each run 156 + update-source-version "--source-key=$component" "gmic-qt" 0 "$(printf '0%.0s' {1..64})" 157 + update-source-version "--source-key=$component" "gmic-qt" $latestVersion 158 + done 159 + ''; 160 + }; 161 + 162 meta = with lib; { 163 description = variants.${variant}.description; 164 homepage = "http://gmic.eu/"; 165 + license = licenses.gpl3Plus; 166 platforms = platforms.unix; 167 }; 168 }
-21
pkgs/tools/graphics/gmic-qt/fix-gimp-plugin-path.patch
··· 1 - diff --git a/CMakeLists.txt b/CMakeLists.txt 2 - index 1483056..26d2b9a 100644 3 - --- a/CMakeLists.txt 4 - +++ b/CMakeLists.txt 5 - @@ -473,6 +473,7 @@ 6 - 7 - execute_process(COMMAND gimptool-2.0 --libs-noui OUTPUT_VARIABLE GIMP2_LIBRARIES OUTPUT_STRIP_TRAILING_WHITESPACE) 8 - execute_process(COMMAND gimptool-2.0 --cflags-noui OUTPUT_VARIABLE GIMP2_INCLUDE_DIRS OUTPUT_STRIP_TRAILING_WHITESPACE) 9 - + execute_process(COMMAND pkg-config gimp-2.0 --define-variable=prefix=${CMAKE_INSTALL_PREFIX} --variable gimplibdir OUTPUT_VARIABLE GIMP2_PKGLIBDIR OUTPUT_STRIP_TRAILING_WHITESPACE) 10 - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GIMP2_INCLUDE_DIRS}") 11 - 12 - set (gmic_qt_SRCS ${gmic_qt_SRCS} src/Host/Gimp/host_gimp.cpp) 13 - @@ -484,7 +485,7 @@ 14 - ${GIMP2_LIBRARIES} 15 - ${gmic_qt_LIBRARIES} 16 - ) 17 - - install(TARGETS gmic_gimp_qt RUNTIME DESTINATION bin) 18 - + install(TARGETS gmic_gimp_qt RUNTIME DESTINATION "${GIMP2_PKGLIBDIR}/plug-ins") 19 - 20 - elseif (${GMIC_QT_HOST} STREQUAL "krita") 21 -
···
+2 -2
pkgs/tools/misc/pipectl/default.nix
··· 6 7 stdenv.mkDerivation rec { 8 pname = "pipectl"; 9 - version = "0.2.2"; 10 11 src = fetchFromGitHub { 12 owner = "Ferdi265"; 13 repo = pname; 14 rev = "v${version}"; 15 - hash = "sha256-wa/SKKNXkl8XxE7XORodoAlrMc2QNGXGPE+/yya209Y="; 16 }; 17 18 nativeBuildInputs = [ cmake ];
··· 6 7 stdenv.mkDerivation rec { 8 pname = "pipectl"; 9 + version = "0.3.0"; 10 11 src = fetchFromGitHub { 12 owner = "Ferdi265"; 13 repo = pname; 14 rev = "v${version}"; 15 + hash = "sha256-+o5hIDtDAh4r+AKCUhueQ3GBYf2sZtMATGX73Qg+tbo="; 16 }; 17 18 nativeBuildInputs = [ cmake ];
+6
pkgs/tools/text/discount/default.nix
··· 26 "--pkg-config" 27 "--shared" 28 "--with-fenced-code" 29 ]; 30 31 enableParallelBuilding = true; 32 doCheck = true; 33 34 meta = with lib; { 35 description = "Implementation of Markdown markup language in C";
··· 26 "--pkg-config" 27 "--shared" 28 "--with-fenced-code" 29 + # Use deterministic mangling 30 + "--debian-glitch" 31 ]; 32 33 enableParallelBuilding = true; 34 doCheck = true; 35 + 36 + postFixup = lib.optionalString stdenv.isDarwin '' 37 + install_name_tool -id $out/lib/libmarkdown.dylib $out/lib/libmarkdown.dylib 38 + ''; 39 40 meta = with lib; { 41 description = "Implementation of Markdown markup language in C";
+2 -2
pkgs/tools/text/ugrep/default.nix
··· 11 12 stdenv.mkDerivation rec { 13 pname = "ugrep"; 14 - version = "3.5.0"; 15 16 src = fetchFromGitHub { 17 owner = "Genivia"; 18 repo = pname; 19 rev = "v${version}"; 20 - sha256 = "sha256-4A0UrXSJhV330W6phNDfqd/iNWYmKuzYUwr4gfTndQw="; 21 }; 22 23 buildInputs = [
··· 11 12 stdenv.mkDerivation rec { 13 pname = "ugrep"; 14 + version = "3.6.0"; 15 16 src = fetchFromGitHub { 17 owner = "Genivia"; 18 repo = pname; 19 rev = "v${version}"; 20 + sha256 = "sha256-hEP7Oe1CNLEvSfUIXoXwRJUG4kIkb2f1549cZRXK+NY="; 21 }; 22 23 buildInputs = [
+6
pkgs/top-level/all-packages.nix
··· 9602 9603 sigil = libsForQt5.callPackage ../applications/editors/sigil { }; 9604 9605 signald = callPackage ../applications/networking/instant-messengers/signald { }; 9606 9607 signal-cli = callPackage ../applications/networking/instant-messengers/signal-cli { }; ··· 13491 hadoop = hadoop3; 13492 13493 io = callPackage ../development/interpreters/io { }; 13494 13495 j = callPackage ../development/interpreters/j { 13496 stdenv = clangStdenv;
··· 9602 9603 sigil = libsForQt5.callPackage ../applications/editors/sigil { }; 9604 9605 + signalbackup-tools = callPackage ../applications/networking/instant-messengers/signalbackup-tools { }; 9606 + 9607 signald = callPackage ../applications/networking/instant-messengers/signald { }; 9608 9609 signal-cli = callPackage ../applications/networking/instant-messengers/signal-cli { }; ··· 13493 hadoop = hadoop3; 13494 13495 io = callPackage ../development/interpreters/io { }; 13496 + 13497 + ivy = callPackage ../development/interpreters/ivy { 13498 + buildGoModule = buildGo117Module; 13499 + }; 13500 13501 j = callPackage ../development/interpreters/j { 13502 stdenv = clangStdenv;
+5
pkgs/top-level/nixpkgs-basic-release-checks.nix
··· 33 for platform in ${pkgs.lib.concatStringsSep " " supportedSystems}; do 34 header "checking Nixpkgs on $platform" 35 36 nix-env -f $src \ 37 --show-trace --argstr system "$platform" \ 38 --arg config '{ allowAliases = false; }' \ ··· 40 -qa --drv-path --system-filter \* --system \ 41 "''${opts[@]}" 2>&1 >/dev/null | tee eval-warnings.log 42 43 if [ -s eval-warnings.log ]; then 44 echo "Nixpkgs on $platform evaluated with warnings, aborting" 45 exit 1
··· 33 for platform in ${pkgs.lib.concatStringsSep " " supportedSystems}; do 34 header "checking Nixpkgs on $platform" 35 36 + # To get a call trace; see https://nixos.org/manual/nixpkgs/stable/#function-library-lib.trivial.warn 37 + # Relies on impure eval 38 + export NIX_ABORT_ON_WARN=true 39 + 40 nix-env -f $src \ 41 --show-trace --argstr system "$platform" \ 42 --arg config '{ allowAliases = false; }' \ ··· 44 -qa --drv-path --system-filter \* --system \ 45 "''${opts[@]}" 2>&1 >/dev/null | tee eval-warnings.log 46 47 + # Catch any trace calls not caught by NIX_ABORT_ON_WARN (lib.warn) 48 if [ -s eval-warnings.log ]; then 49 echo "Nixpkgs on $platform evaluated with warnings, aborting" 50 exit 1
+2
pkgs/top-level/python-packages.nix
··· 6052 6053 pynuki = callPackage ../development/python-modules/pynuki { }; 6054 6055 pynws = callPackage ../development/python-modules/pynws { }; 6056 6057 pynx584 = callPackage ../development/python-modules/pynx584 { };
··· 6052 6053 pynuki = callPackage ../development/python-modules/pynuki { }; 6054 6055 + pynut2 = callPackage ../development/python-modules/pynut2 { }; 6056 + 6057 pynws = callPackage ../development/python-modules/pynws { }; 6058 6059 pynx584 = callPackage ../development/python-modules/pynx584 { };