Merge master into staging-next

authored by

github-actions[bot] and committed by
GitHub
4b60db03 b9b9cdb8

+238 -42
+31 -8
nixos/modules/installer/cd-dvd/iso-image.nix
··· 182 182 # Menu configuration 183 183 # 184 184 185 + # Search using a "marker file" 186 + search --set=root --file /EFI/nixos-installer-image 187 + 185 188 insmod gfxterm 186 189 insmod png 187 190 set gfxpayload=keep 191 + set gfxmode=${concatStringsSep "," [ 192 + # GRUB will use the first valid mode listed here. 193 + # `auto` will sometimes choose the smallest valid mode it detects. 194 + # So instead we'll list a lot of possibly valid modes :/ 195 + #"3840x2160" 196 + #"2560x1440" 197 + "1920x1080" 198 + "1366x768" 199 + "1280x720" 200 + "1024x768" 201 + "800x600" 202 + "auto" 203 + ]} 188 204 189 205 # Fonts can be loaded? 190 206 # (This font is assumed to always be provided as a fallback by NixOS) 191 - if loadfont /EFI/boot/unicode.pf2; then 207 + if loadfont (\$root)/EFI/boot/unicode.pf2; then 192 208 set with_fonts=true 193 209 fi 194 210 if [ "\$textmode" != "true" -a "\$with_fonts" == "true" ]; then ··· 212 228 ${ # When there is a theme configured, use it, otherwise use the background image. 213 229 if config.isoImage.grubTheme != null then '' 214 230 # Sets theme. 215 - set theme=/EFI/boot/grub-theme/theme.txt 231 + set theme=(\$root)/EFI/boot/grub-theme/theme.txt 216 232 # Load theme fonts 217 - $(find ${config.isoImage.grubTheme} -iname '*.pf2' -printf "loadfont /EFI/boot/grub-theme/%P\n") 233 + $(find ${config.isoImage.grubTheme} -iname '*.pf2' -printf "loadfont (\$root)/EFI/boot/grub-theme/%P\n") 218 234 '' else '' 219 - if background_image /EFI/boot/efi-background.png; then 235 + if background_image (\$root)/EFI/boot/efi-background.png; then 220 236 # Black background means transparent background when there 221 237 # is a background image set... This seems undocumented :( 222 238 set color_normal=black/black ··· 238 254 strictDeps = true; 239 255 } '' 240 256 mkdir -p $out/EFI/boot/ 257 + 258 + # Add a marker so GRUB can find the filesystem. 259 + touch $out/EFI/nixos-installer-image 241 260 242 261 # ALWAYS required modules. 243 262 MODULES="fat iso9660 part_gpt part_msdos \ ··· 294 313 ${grubMenuCfg} 295 314 296 315 hiddenentry 'Text mode' --hotkey 't' { 297 - loadfont /EFI/boot/unicode.pf2 316 + loadfont (\$root)/EFI/boot/unicode.pf2 298 317 set textmode=true 299 318 terminal_output gfxterm console 300 319 } 301 320 hiddenentry 'GUI mode' --hotkey 'g' { 302 - $(find ${config.isoImage.grubTheme} -iname '*.pf2' -printf "loadfont /EFI/boot/grub-theme/%P\n") 321 + $(find ${config.isoImage.grubTheme} -iname '*.pf2' -printf "loadfont (\$root)/EFI/boot/grub-theme/%P\n") 303 322 set textmode=false 304 323 terminal_output gfxterm 305 324 } ··· 370 389 ${lib.optionalString (refindBinary != null) '' 371 390 # GRUB apparently cannot do "chainloader" operations on "CD". 372 391 if [ "\$root" != "cd0" ]; then 392 + # Force root to be the FAT partition 393 + # Otherwise it breaks rEFInd's boot 394 + search --set=root --no-floppy --fs-uuid 1234-5678 373 395 menuentry 'rEFInd' --class refind { 374 - # \$root defaults to the drive the EFI is found on. 375 396 chainloader (\$root)/EFI/boot/${refindBinary} 376 397 } 377 398 fi ··· 403 424 mkdir ./boot 404 425 cp -p "${config.boot.kernelPackages.kernel}/${config.system.boot.loader.kernelFile}" \ 405 426 "${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}" ./boot/ 406 - touch --date=@0 ./EFI ./boot 427 + 428 + # Rewrite dates for everything in the FS 429 + find . -exec touch --date=2000-01-01 {} + 407 430 408 431 usage_size=$(du -sb --apparent-size . | tr -cd '[:digit:]') 409 432 # Make the image 110% as big as the files need to make up for FAT overhead
-21
pkgs/applications/editors/sublime/3/common.nix
··· 2 2 3 3 { fetchurl, lib, stdenv, xorg, glib, glibcLocales, gtk3, cairo, pango, libredirect, makeWrapper, wrapGAppsHook 4 4 , pkexecPath ? "/run/wrappers/bin/pkexec" 5 - , writeScript, common-updater-scripts, curl, gnugrep 6 5 , openssl, bzip2, bash, unzip, zip 7 6 }: 8 7 ··· 125 124 size=$(basename $directory) 126 125 mkdir -p "$out/share/icons/hicolor/$size/apps" 127 126 ln -s ''$${primaryBinary}/Icon/$size/* $out/share/icons/hicolor/$size/apps 128 - done 129 - ''; 130 - 131 - passthru.updateScript = writeScript "${pname}-update-script" '' 132 - #!${stdenv.shell} 133 - set -o errexit 134 - PATH=${lib.makeBinPath [ common-updater-scripts curl gnugrep ]} 135 - 136 - latestVersion=$(curl -s ${versionUrl}) 137 - 138 - if [[ "${buildVersion}" = "$latestVersion" ]]; then 139 - echo "The new version same as the old version." 140 - exit 0 141 - fi 142 - 143 - for platform in ${lib.concatStringsSep " " meta.platforms}; do 144 - # The script will not perform an update when the version attribute is up to date from previous platform run 145 - # We need to clear it before each run 146 - update-source-version ${packageAttribute}.${primaryBinary} 0 0000000000000000000000000000000000000000000000000000000000000000 --file=${versionFile} --version-key=buildVersion --system=$platform 147 - update-source-version ${packageAttribute}.${primaryBinary} $latestVersion --file=${versionFile} --version-key=buildVersion --system=$platform 148 127 done 149 128 ''; 150 129
+148
pkgs/applications/editors/sublime/4/common.nix
··· 1 + { buildVersion, aarch64sha256, x64sha256, dev ? false }: 2 + 3 + { fetchurl, stdenv, lib, xorg, glib, libglvnd, glibcLocales, gtk3, cairo, pango, makeWrapper, wrapGAppsHook 4 + , writeShellScript, common-updater-scripts, curl 5 + , openssl, bzip2, bash, unzip, zip 6 + }: 7 + 8 + let 9 + pname = "sublimetext4"; 10 + packageAttribute = "sublime4${lib.optionalString dev "-dev"}"; 11 + binaries = [ "sublime_text" "plugin_host-3.3" "plugin_host-3.8" "crash_reporter" ]; 12 + primaryBinary = "sublime_text"; 13 + primaryBinaryAliases = [ "subl" "sublime" "sublime4" ]; 14 + downloadUrl = "https://download.sublimetext.com/sublime_text_build_${buildVersion}_${arch}.tar.xz"; 15 + versionUrl = "https://download.sublimetext.com/latest/${if dev then "dev" else "stable"}"; 16 + versionFile = builtins.toString ./packages.nix; 17 + archSha256 = { 18 + "aarch64-linux" = aarch64sha256; 19 + "x86_64-linux" = x64sha256; 20 + }.${stdenv.hostPlatform.system}; 21 + arch = { 22 + "aarch64-linux" = "arm64"; 23 + "x86_64-linux" = "x64"; 24 + }.${stdenv.hostPlatform.system}; 25 + 26 + libPath = lib.makeLibraryPath [ xorg.libX11 xorg.libXtst glib libglvnd openssl gtk3 cairo pango ]; 27 + in let 28 + binaryPackage = stdenv.mkDerivation { 29 + pname = "${pname}-bin"; 30 + version = buildVersion; 31 + 32 + src = fetchurl { 33 + url = downloadUrl; 34 + sha256 = archSha256; 35 + }; 36 + 37 + dontStrip = true; 38 + dontPatchELF = true; 39 + buildInputs = [ glib gtk3 ]; # for GSETTINGS_SCHEMAS_PATH 40 + nativeBuildInputs = [ zip unzip makeWrapper wrapGAppsHook ]; 41 + 42 + # make exec.py in Default.sublime-package use own bash with an LD_PRELOAD instead of "/bin/bash" 43 + patchPhase = '' 44 + runHook prePatch 45 + 46 + # TODO: Should not be necessary even in 3 47 + mkdir Default.sublime-package-fix 48 + ( cd Default.sublime-package-fix 49 + unzip -q ../Packages/Default.sublime-package 50 + substituteInPlace "exec.py" --replace \ 51 + "[\"/bin/bash\"" \ 52 + "[\"$out/sublime_bash\"" 53 + zip -q ../Packages/Default.sublime-package **/* 54 + ) 55 + rm -r Default.sublime-package-fix 56 + 57 + runHook postPatch 58 + ''; 59 + 60 + buildPhase = '' 61 + runHook preBuild 62 + 63 + for binary in ${ builtins.concatStringsSep " " binaries }; do 64 + patchelf \ 65 + --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ 66 + --set-rpath ${libPath}:${stdenv.cc.cc.lib}/lib${lib.optionalString stdenv.is64bit "64"} \ 67 + $binary 68 + done 69 + 70 + # Rewrite pkexec argument. Note that we cannot delete bytes in binary. 71 + sed -i -e 's,/bin/cp\x00,cp\x00\x00\x00\x00\x00\x00,g' ${primaryBinary} 72 + 73 + runHook postBuild 74 + ''; 75 + 76 + installPhase = '' 77 + runHook preInstall 78 + 79 + mkdir -p $out 80 + cp -r * $out/ 81 + 82 + # We can't just call /usr/bin/env bash because a relocation error occurs 83 + # when trying to run a build from within Sublime Text 84 + ln -s ${bash}/bin/bash $out/sublime_bash 85 + 86 + runHook postInstall 87 + ''; 88 + 89 + dontWrapGApps = true; # non-standard location, need to wrap the executables manually 90 + 91 + postFixup = '' 92 + sed -i 's#/usr/bin/pkexec#pkexec\x00\x00\x00\x00\x00\x00\x00\x00\x00#g' "$out/${primaryBinary}" 93 + 94 + wrapProgram $out/${primaryBinary} \ 95 + --set LOCALE_ARCHIVE "${glibcLocales.out}/lib/locale/locale-archive" \ 96 + "''${gappsWrapperArgs[@]}" 97 + ''; 98 + }; 99 + in stdenv.mkDerivation (rec { 100 + inherit pname; 101 + version = buildVersion; 102 + 103 + phases = [ "installPhase" ]; 104 + 105 + ${primaryBinary} = binaryPackage; 106 + 107 + nativeBuildInputs = [ makeWrapper ]; 108 + 109 + installPhase = '' 110 + mkdir -p "$out/bin" 111 + makeWrapper "''$${primaryBinary}/${primaryBinary}" "$out/bin/${primaryBinary}" 112 + '' + builtins.concatStringsSep "" (map (binaryAlias: "ln -s $out/bin/${primaryBinary} $out/bin/${binaryAlias}\n") primaryBinaryAliases) + '' 113 + mkdir -p "$out/share/applications" 114 + substitute "''$${primaryBinary}/${primaryBinary}.desktop" "$out/share/applications/${primaryBinary}.desktop" --replace "/opt/${primaryBinary}/${primaryBinary}" "$out/bin/${primaryBinary}" 115 + for directory in ''$${primaryBinary}/Icon/*; do 116 + size=$(basename $directory) 117 + mkdir -p "$out/share/icons/hicolor/$size/apps" 118 + ln -s ''$${primaryBinary}/Icon/$size/* $out/share/icons/hicolor/$size/apps 119 + done 120 + ''; 121 + 122 + passthru.updateScript = writeShellScript "${pname}-update-script" '' 123 + set -o errexit 124 + PATH=${lib.makeBinPath [ common-updater-scripts curl ]} 125 + 126 + latestVersion=$(curl -s ${versionUrl}) 127 + 128 + if [[ "${buildVersion}" = "$latestVersion" ]]; then 129 + echo "The new version same as the old version." 130 + exit 0 131 + fi 132 + 133 + for platform in ${lib.concatStringsSep " " meta.platforms}; do 134 + # The script will not perform an update when the version attribute is up to date from previous platform run 135 + # We need to clear it before each run 136 + update-source-version ${packageAttribute}.${primaryBinary} 0 0000000000000000000000000000000000000000000000000000000000000000 --file=${versionFile} --version-key=buildVersion --system=$platform 137 + update-source-version ${packageAttribute}.${primaryBinary} $latestVersion --file=${versionFile} --version-key=buildVersion --system=$platform 138 + done 139 + ''; 140 + 141 + meta = with lib; { 142 + description = "Sophisticated text editor for code, markup and prose"; 143 + homepage = "https://www.sublimetext.com/"; 144 + maintainers = with maintainers; [ jtojnar wmertens demin-dmitriy zimbatm ]; 145 + license = licenses.unfree; 146 + platforms = [ "aarch64-linux" "x86_64-linux" ]; 147 + }; 148 + })
+19
pkgs/applications/editors/sublime/4/packages.nix
··· 1 + { callPackage }: 2 + 3 + let 4 + common = opts: callPackage (import ./common.nix opts); 5 + in 6 + { 7 + sublime4 = common { 8 + buildVersion = "4107"; 9 + x64sha256 = "05ar7qd1d880442bx4w32mapsib7j27g9l96q2v2s7591r9fgnf7"; 10 + aarch64sha256 = "4MzwhZ17c6cYtlwPA+SBiey6GiVruADXOLJAeJlMrgM="; 11 + } {}; 12 + 13 + sublime4-dev = common { 14 + buildVersion = "4106"; 15 + dev = true; 16 + x64sha256 = "09jnn52zb0mjxpj5xz4sixl34cr6j60x46c2dj1m0dlgxap0sh8x"; 17 + aarch64sha256 = "7blbeSZI0V6q89jMM+zi2ODEdoc1b3Am8F2b2jLr5O8="; 18 + } {}; 19 + }
+2 -2
pkgs/development/libraries/caf/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "actor-framework"; 5 - version = "0.18.1"; 5 + version = "0.18.3"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "actor-framework"; 9 9 repo = "actor-framework"; 10 10 rev = version; 11 - sha256 = "sha256-tRR+YFI/Ikf4rov4dzt59nDqaooALNspKEQehHP6sKU="; 11 + sha256 = "sha256-9oQVsfh2mUVr64PjNXYD1wRBNJ8dCLO9eI5WnZ1SSww="; 12 12 }; 13 13 14 14 nativeBuildInputs = [ cmake ];
+2 -2
pkgs/development/libraries/libavif/default.nix
··· 11 11 12 12 stdenv.mkDerivation rec { 13 13 pname = "libavif"; 14 - version = "0.9.0"; 14 + version = "0.9.1"; 15 15 16 16 src = fetchFromGitHub { 17 17 owner = "AOMediaCodec"; 18 18 repo = pname; 19 19 rev = "v${version}"; 20 - sha256 = "sha256-7p0w94Od33vjTI5wGLxmDC5P2hebAl7OwJPl1lANhKs="; 20 + sha256 = "sha256-XWPB5JI4V/anvtHFGY4ejeSlBbxzK6KRG8e5vBhxL8A="; 21 21 }; 22 22 23 23 # reco: encode libaom slowest but best, decode dav1d fastest
+2 -2
pkgs/servers/jackett/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "jackett"; 5 - version = "0.18.95"; 5 + version = "0.18.98"; 6 6 7 7 src = fetchurl { 8 8 url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.Mono.tar.gz"; 9 - sha256 = "sha256-8TkIixPot4V0h4MBh/+WdrWhjgsqyq9wHQyGyfxqZ6s="; 9 + sha256 = "sha256-zWbeS+pRkpLTKC50yHM1TgTzIVslVdsD4lH6sTzFI4k="; 10 10 }; 11 11 12 12 nativeBuildInputs = [ makeWrapper ];
+3 -3
pkgs/tools/admin/eksctl/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "eksctl"; 5 - version = "0.48.0"; 5 + version = "0.51.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "weaveworks"; 9 9 repo = pname; 10 10 rev = version; 11 - sha256 = "sha256-jhf+FIhKkROyNUYh96zFrzxE5hVFnxF6xrTwvivj9B8="; 11 + sha256 = "sha256-OTgcQLYtUAf7EeaEafzfPG02SGjVvSAVvVGI4A/S0Zs="; 12 12 }; 13 13 14 - vendorSha256 = "sha256-U5NAhhum+VsSlhB3pHMmnkaqjWvZJw4BDHVIo4YIkrY="; 14 + vendorSha256 = "sha256-RkUr4ytoFa6/luaxDLj0FiF3cs9fJav0JHcZCN46Mqs="; 15 15 16 16 doCheck = false; 17 17
+14 -4
pkgs/tools/filesystems/curlftpfs/default.nix
··· 1 1 { lib, stdenv, fetchurl, autoreconfHook, fuse, curl, pkg-config, glib, zlib }: 2 2 3 - stdenv.mkDerivation { 4 - name = "curlftpfs-0.9.2"; 3 + stdenv.mkDerivation rec { 4 + pname = "curlftpfs"; 5 + version = "0.9.2"; 6 + 5 7 src = fetchurl { 6 - url = "mirror://sourceforge/curlftpfs/curlftpfs-0.9.2.tar.gz"; 8 + url = "mirror://sourceforge/curlftpfs/curlftpfs-${version}.tar.gz"; 7 9 sha256 = "0n397hmv21jsr1j7zx3m21i7ryscdhkdsyqpvvns12q7qwwlgd2f"; 8 10 }; 11 + 12 + patches = [ 13 + # This removes AC_FUNC_MALLOC and AC_FUNC_REALLOC from configure.ac because 14 + # it is known to cause problems. Search online for "rpl_malloc" and 15 + # "rpl_realloc" to find out more. 16 + ./fix-rpl_malloc.patch 17 + ]; 18 + 9 19 nativeBuildInputs = [ autoreconfHook pkg-config ]; 10 20 buildInputs = [ fuse curl glib zlib ]; 11 21 ··· 24 34 meta = with lib; { 25 35 description = "Filesystem for accessing FTP hosts based on FUSE and libcurl"; 26 36 homepage = "http://curlftpfs.sourceforge.net"; 27 - license = licenses.gpl2; 37 + license = licenses.gpl2Only; 28 38 platforms = platforms.unix; 29 39 }; 30 40 }
+13
pkgs/tools/filesystems/curlftpfs/fix-rpl_malloc.patch
··· 1 + diff -Naur a/configure.ac b/configure.ac 2 + --- a/configure.ac 2008-04-23 20:37:42.000000000 +0900 3 + +++ b/configure.ac 2021-05-16 01:28:24.000000000 +0900 4 + @@ -46,9 +46,7 @@ 5 + 6 + # Checks for library functions. 7 + AC_FUNC_CHOWN 8 + -AC_FUNC_MALLOC 9 + AC_FUNC_MKTIME 10 + -AC_FUNC_REALLOC 11 + AC_FUNC_SELECT_ARGTYPES 12 + AC_FUNC_STRFTIME 13 + AC_FUNC_UTIME_NULL
+4
pkgs/top-level/all-packages.nix
··· 26503 26503 26504 26504 sublime3-dev = sublime3Packages.sublime3-dev; 26505 26505 26506 + inherit (recurseIntoAttrs (callPackage ../applications/editors/sublime/4/packages.nix { })) 26507 + sublime4 26508 + sublime4-dev; 26509 + 26506 26510 inherit (callPackage ../applications/version-management/sublime-merge {}) 26507 26511 sublime-merge 26508 26512 sublime-merge-dev;