Merge staging into staging-next

+2072 -383
+10
doc/stdenv/stdenv.xml
··· 729 729 <title>Variables controlling the patch phase</title> 730 730 <varlistentry> 731 731 <term> 732 + <varname>dontPatch</varname> 733 + </term> 734 + <listitem> 735 + <para> 736 + Set to true to skip the patch phase. 737 + </para> 738 + </listitem> 739 + </varlistentry> 740 + <varlistentry> 741 + <term> 732 742 <varname>patches</varname> 733 743 </term> 734 744 <listitem>
+5
nixos/modules/config/fonts/fontconfig.nix
··· 45 45 46 46 # generate the font cache setting file for a fontconfig version 47 47 # use latest when no version is passed 48 + # When cross-compiling, we can’t generate the cache, so we skip the 49 + # <cachedir> part. fontconfig still works but is a little slower in 50 + # looking things up. 48 51 makeCacheConf = { version ? null }: 49 52 let 50 53 fcPackage = if version == null ··· 60 63 <fontconfig> 61 64 <!-- Font directories --> 62 65 ${concatStringsSep "\n" (map (font: "<dir>${font}</dir>") config.fonts.fonts)} 66 + ${optionalString (pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform) '' 63 67 <!-- Pre-generated font caches --> 64 68 <cachedir>${cache}</cachedir> 65 69 ${optionalString (pkgs.stdenv.isx86_64 && cfg.cache32Bit) '' 66 70 <cachedir>${cache32}</cachedir> 71 + ''} 67 72 ''} 68 73 </fontconfig> 69 74 '';
+1 -1
nixos/modules/config/networking.nix
··· 197 197 198 198 } // optionalAttrs (pkgs.stdenv.hostPlatform.libc == "glibc") { 199 199 # /etc/rpc: RPC program numbers. 200 - rpc.source = pkgs.glibc.out + "/etc/rpc"; 200 + rpc.source = pkgs.stdenv.cc.libc.out + "/etc/rpc"; 201 201 }; 202 202 203 203 networking.proxy.envVars =
+8 -4
nixos/modules/services/system/nscd.nix
··· 7 7 nssModulesPath = config.system.nssModules.path; 8 8 cfg = config.services.nscd; 9 9 10 + nscd = if pkgs.stdenv.hostPlatform.libc == "glibc" 11 + then pkgs.stdenv.cc.libc.bin 12 + else pkgs.glibc.bin; 13 + 10 14 in 11 15 12 16 { ··· 59 63 # files. So prefix the ExecStart command with "!" to prevent systemd 60 64 # from dropping privileges early. See ExecStart in systemd.service(5). 61 65 serviceConfig = 62 - { ExecStart = "!@${pkgs.glibc.bin}/sbin/nscd nscd"; 66 + { ExecStart = "!@${nscd}/sbin/nscd nscd"; 63 67 Type = "forking"; 64 68 DynamicUser = true; 65 69 RuntimeDirectory = "nscd"; 66 70 PIDFile = "/run/nscd/nscd.pid"; 67 71 Restart = "always"; 68 72 ExecReload = 69 - [ "${pkgs.glibc.bin}/sbin/nscd --invalidate passwd" 70 - "${pkgs.glibc.bin}/sbin/nscd --invalidate group" 71 - "${pkgs.glibc.bin}/sbin/nscd --invalidate hosts" 73 + [ "${nscd}/sbin/nscd --invalidate passwd" 74 + "${nscd}/sbin/nscd --invalidate group" 75 + "${nscd}/sbin/nscd --invalidate hosts" 72 76 ]; 73 77 }; 74 78 };
+2 -2
nixos/modules/services/x11/gdk-pixbuf.nix
··· 19 19 continue 20 20 fi 21 21 GDK_PIXBUF_MODULEDIR="$module_dir" \ 22 - ${pkgs.gdk-pixbuf.dev}/bin/gdk-pixbuf-query-loaders 22 + ${pkgs.stdenv.hostPlatform.emulator pkgs.buildPackages} ${pkgs.gdk-pixbuf.dev}/bin/gdk-pixbuf-query-loaders 23 23 done 24 24 ) > "$out" 25 25 ''; ··· 37 37 # If there is any package configured in modulePackages, we generate the 38 38 # loaders.cache based on that and set the environment variable 39 39 # GDK_PIXBUF_MODULE_FILE to point to it. 40 - config = mkIf (cfg.modulePackages != []) { 40 + config = mkIf (cfg.modulePackages != [] || pkgs.stdenv.hostPlatform != pkgs.stdenv.buildPlatform) { 41 41 environment.variables = { 42 42 GDK_PIXBUF_MODULE_FILE = "${loadersCache}"; 43 43 };
+2 -2
pkgs/applications/editors/vim/common.nix
··· 1 1 { lib, fetchFromGitHub }: 2 2 rec { 3 - version = "8.2.0343"; 3 + version = "8.2.0510"; 4 4 5 5 src = fetchFromGitHub { 6 6 owner = "vim"; 7 7 repo = "vim"; 8 8 rev = "v${version}"; 9 - sha256 = "063i52h8v7f87zamrw2ph057f0x2nzwf1s0izrm2psy41cyf4wa3"; 9 + sha256 = "16ggwf238pzzkn3ng6n09qz9cgdzha9vc0ghlcxhwilnjh12l7p9"; 10 10 }; 11 11 12 12 enableParallelBuilding = true;
+2
pkgs/applications/version-management/git-and-tools/git/default.nix
··· 80 80 configureFlags = stdenv.lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ 81 81 "ac_cv_fread_reads_directories=yes" 82 82 "ac_cv_snprintf_returns_bogus=no" 83 + "ac_cv_iconv_omits_bom=no" 84 + "ac_cv_prog_CURL_CONFIG=${curl.dev}/bin/curl-config" 83 85 ]; 84 86 85 87 preBuild = ''
+54 -20
pkgs/applications/video/kodi/default.nix
··· 4 4 , boost, avahi, lame, autoreconfHook 5 5 , gettext, pcre-cpp, yajl, fribidi, which 6 6 , openssl, gperf, tinyxml2, taglib, libssh, swig, jre 7 - , libX11, xorgproto, libxml2 8 - , libXt, libXmu, libXext 9 - , libXinerama, libXrandr 10 - , libXtst, libXfixes, systemd 7 + , libxml2, systemd 11 8 , alsaLib, libGLU, libGL, glew, fontconfig, freetype, ftgl 12 9 , libjpeg, libpng, libtiff 13 10 , libmpeg2, libsamplerate, libmad 14 11 , libogg, libvorbis, flac, libxslt 15 12 , lzo, libcdio, libmodplug, libass, libbluray 16 13 , sqlite, libmysqlclient, nasm, gnutls, libva, libdrm 17 - , curl, bzip2, zip, unzip, glxinfo, xdpyinfo 14 + , curl, bzip2, zip, unzip, glxinfo 18 15 , libcec, libcec_platform, dcadec, libuuid 19 16 , libcrossguid, libmicrohttpd 20 - , bluez, doxygen, giflib, glib, harfbuzz, lcms2, libidn, libpthreadstubs, libtasn1, libXdmcp 17 + , bluez, doxygen, giflib, glib, harfbuzz, lcms2, libidn, libpthreadstubs, libtasn1 21 18 , libplist, p11-kit, zlib, flatbuffers, fmt, fstrcmp, rapidjson 22 19 , lirc 20 + , x11Support ? true, libX11, xorgproto, libXt, libXmu, libXext, libXinerama, libXrandr, libXtst, libXfixes, xdpyinfo, libXdmcp 23 21 , dbusSupport ? true, dbus ? null 24 22 , joystickSupport ? true, cwiid ? null 25 23 , nfsSupport ? true, libnfs ? null ··· 32 30 , useWayland ? false, wayland ? null, wayland-protocols ? null 33 31 , waylandpp ? null, libxkbcommon ? null 34 32 , useGbm ? false, mesa ? null, libinput ? null 33 + , buildPackages 35 34 }: 36 35 37 36 assert dbusSupport -> dbus != null; ··· 94 93 sha256 = "1krsjlr949iy5l6ljxancza1yi6w1annxc5s6k283i9mb15qy8cy"; 95 94 preConfigure = '' 96 95 cp ${kodi_src}/tools/depends/target/ffmpeg/{CMakeLists.txt,*.cmake} . 96 + sed -i 's/ --cpu=''${CPU}//' CMakeLists.txt 97 + sed -i 's/--strip=''${CMAKE_STRIP}/--strip=''${CMAKE_STRIP} --ranlib=''${CMAKE_RANLIB}/' CMakeLists.txt 97 98 ''; 98 - buildInputs = [ gnutls libidn libtasn1 p11-kit zlib libva ] 99 + cmakeFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ 100 + "-DCROSSCOMPILING=ON" 101 + "-DCPU=${stdenv.hostPlatform.parsed.cpu.name}" 102 + "-DOS=${stdenv.hostPlatform.parsed.kernel.name}" 103 + "-DPKG_CONFIG_EXECUTABLE=pkgconfig" 104 + ]; 105 + buildInputs = [ libidn libtasn1 p11-kit zlib libva ] 99 106 ++ lib.optional vdpauSupport libvdpau; 100 - nativeBuildInputs = [ cmake nasm pkgconfig ]; 107 + nativeBuildInputs = [ cmake nasm pkgconfig gnutls ]; 101 108 }; 102 109 103 110 # We can build these externally but FindLibDvd.cmake forces us to build it ··· 152 159 153 160 buildInputs = [ 154 161 gnutls libidn libtasn1 nasm p11-kit 155 - libxml2 yasm python2Packages.python 162 + libxml2 python2Packages.python 156 163 boost libmicrohttpd 157 164 gettext pcre-cpp yajl fribidi libva libdrm 158 - openssl gperf tinyxml2 taglib libssh swig jre 159 - libX11 xorgproto libXt libXmu libXext 160 - libXinerama libXrandr libXtst libXfixes 161 - alsaLib libGL libGLU glew fontconfig freetype ftgl 165 + openssl gperf tinyxml2 taglib libssh 166 + alsaLib libGL libGLU fontconfig freetype ftgl 162 167 libjpeg libpng libtiff 163 168 libmpeg2 libsamplerate libmad 164 169 libogg libvorbis flac libxslt systemd 165 170 lzo libcdio libmodplug libass libbluray 166 171 sqlite libmysqlclient avahi lame 167 - curl bzip2 zip unzip glxinfo xdpyinfo 172 + curl bzip2 zip unzip glxinfo 168 173 libcec libcec_platform dcadec libuuid 169 174 libgcrypt libgpgerror libunistring 170 - libcrossguid cwiid libplist 171 - bluez giflib glib harfbuzz lcms2 libpthreadstubs libXdmcp 175 + libcrossguid libplist 176 + bluez giflib glib harfbuzz lcms2 libpthreadstubs 172 177 ffmpeg flatbuffers fmt fstrcmp rapidjson 173 178 lirc 174 179 # libdvdcss libdvdnav libdvdread 175 180 ] 181 + ++ lib.optional x11Support [ 182 + libX11 xorgproto libXt libXmu libXext libXdmcp 183 + libXinerama libXrandr libXtst libXfixes 184 + ] 176 185 ++ lib.optional dbusSupport dbus 177 - ++ lib.optionals joystickSupport [ cwiid ] 186 + ++ lib.optional joystickSupport cwiid 178 187 ++ lib.optional nfsSupport libnfs 179 188 ++ lib.optional pulseSupport libpulseaudio 180 189 ++ lib.optional rtmpSupport rtmpdump ··· 183 192 ++ lib.optional usbSupport libusb 184 193 ++ lib.optional vdpauSupport libvdpau 185 194 ++ lib.optionals useWayland [ 186 - wayland waylandpp 195 + wayland waylandpp wayland-protocols 187 196 # Not sure why ".dev" is needed here, but CMake doesn't find libxkbcommon otherwise 188 197 libxkbcommon.dev 189 198 ] ··· 200 209 which 201 210 pkgconfig gnumake 202 211 autoconf automake libtool # still needed for some components. Check if that is the case with 19.0 212 + jre yasm gettext python2Packages.python flatbuffers 213 + 214 + # for TexturePacker 215 + giflib zlib libpng libjpeg lzo 203 216 ] ++ lib.optionals useWayland [ wayland-protocols ]; 204 217 218 + depsBuildBuild = [ 219 + buildPackages.stdenv.cc 220 + ]; 221 + 205 222 cmakeFlags = [ 206 223 "-Dlibdvdcss_URL=${libdvdcss.src}" 207 224 "-Dlibdvdnav_URL=${libdvdnav.src}" ··· 210 227 "-DENABLE_EVENTCLIENTS=ON" 211 228 "-DENABLE_INTERNAL_CROSSGUID=OFF" 212 229 "-DENABLE_OPTICAL=ON" 230 + "-DLIRC_DEVICE=/run/lirc/lircd" 231 + "-DSWIG_EXECUTABLE=${buildPackages.swig}/bin/swig" 232 + "-DFLATBUFFERS_FLATC_EXECUTABLE=${buildPackages.flatbuffers}/bin/flatc" 233 + "-DPYTHON_EXECUTABLE=${buildPackages.python2Packages.python}/bin/python" 213 234 ] ++ lib.optional useWayland [ 214 235 "-DCORE_PLATFORM_NAME=wayland" 215 236 "-DWAYLAND_RENDER_SYSTEM=gl" 237 + "-DWAYLANDPP_SCANNER=${buildPackages.waylandpp}/bin/wayland-scanner++" 216 238 ] ++ lib.optional useGbm [ 217 239 "-DCORE_PLATFORM_NAME=gbm" 218 240 "-DGBM_RENDER_SYSTEM=gles" ··· 224 246 # I'm guessing there is a thing waiting to time out 225 247 doCheck = false; 226 248 249 + # Need these tools on the build system when cross compiling, 250 + # hacky, but have found no other way. 251 + preConfigure = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' 252 + CXX=c++ LD=ld make -C tools/depends/native/JsonSchemaBuilder 253 + cmakeFlags+=" -DWITH_JSONSCHEMABUILDER=$PWD/tools/depends/native/JsonSchemaBuilder/bin" 254 + 255 + CXX=c++ LD=ld make EXTRA_CONFIGURE= -C tools/depends/native/TexturePacker 256 + cmakeFlags+=" -DWITH_TEXTUREPACKER=$PWD/tools/depends/native/TexturePacker/bin" 257 + ''; 258 + 227 259 postPatch = '' 228 260 substituteInPlace xbmc/platform/linux/LinuxTimezone.cpp \ 229 261 --replace 'usr/share/zoneinfo' 'etc/zoneinfo' ··· 232 264 postInstall = '' 233 265 for p in $(ls $out/bin/) ; do 234 266 wrapProgram $out/bin/$p \ 235 - --prefix PATH ":" "${lib.makeBinPath [ python2Packages.python glxinfo xdpyinfo ]}" \ 267 + --prefix PATH ":" "${lib.makeBinPath ([ python2Packages.python glxinfo ] ++ lib.optional x11Support xdpyinfo)}" \ 236 268 --prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath 237 - ([ curl systemd libmad libvdpau libcec libcec_platform rtmpdump libass ] ++ lib.optional nfsSupport libnfs)}" 269 + ([ curl systemd libmad libvdpau libcec libcec_platform libass ] 270 + ++ lib.optional nfsSupport libnfs 271 + ++ lib.optional rtmpSupport rtmpdump)}" 238 272 done 239 273 240 274 substituteInPlace $out/share/xsessions/kodi.desktop \
+5
pkgs/build-support/cc-wrapper/add-flags.sh
··· 10 10 NIX+CFLAGS_LINK 11 11 NIX+CXXSTDLIB_COMPILE 12 12 NIX+CXXSTDLIB_LINK 13 + NIX+GNATFLAGS_COMPILE 13 14 ) 14 15 var_templates_bool=( 15 16 NIX+ENFORCE_NO_NATIVE ··· 38 39 39 40 if [ -e @out@/nix-support/cc-cflags ]; then 40 41 NIX_@infixSalt@_CFLAGS_COMPILE="$(< @out@/nix-support/cc-cflags) $NIX_@infixSalt@_CFLAGS_COMPILE" 42 + fi 43 + 44 + if [ -e @out@/nix-support/gnat-cflags ]; then 45 + NIX_@infixSalt@_GNATFLAGS_COMPILE="$(< @out@/nix-support/gnat-cflags) $NIX_@infixSalt@_GNATFLAGS_COMPILE" 41 46 fi 42 47 43 48 if [ -e @out@/nix-support/cc-ldflags ]; then
+15
pkgs/build-support/cc-wrapper/default.nix
··· 199 199 fi 200 200 '' 201 201 202 + + optionalString cc.langAda or false '' 203 + wrap ${targetPrefix}gnatmake ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatmake 204 + wrap ${targetPrefix}gnatbind ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatbind 205 + wrap ${targetPrefix}gnatlink ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatlink 206 + '' 207 + 202 208 + optionalString cc.langFortran or false '' 203 209 wrap ${targetPrefix}gfortran $wrapper $ccPath/${targetPrefix}gfortran 204 210 ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}g77 ··· 283 289 ccLDFlags+=" -L${cc_solib}/lib" 284 290 ccCFlags+=" -B${cc_solib}/lib" 285 291 292 + '' + optionalString cc.langAda or false '' 293 + basePath=$(echo $cc/lib/*/*/*) 294 + ccCFlags+=" -B$basePath -I$basePath/adainclude" 295 + gnatCFlags="-I$basePath/adainclude -I$basePath/adalib" 296 + 297 + echo "$gnatCFlags" > $out/nix-support/gnat-cflags 298 + '' + '' 286 299 echo "$ccLDFlags" > $out/nix-support/cc-ldflags 287 300 echo "$ccCFlags" > $out/nix-support/cc-cflags 288 301 '' + optionalString (targetPlatform.isDarwin && (libcxx != null) && (cc.isClang or false)) '' ··· 351 364 hardening_unsupported_flags+=" stackprotector fortify pie pic" 352 365 '' + optionalString targetPlatform.isNetBSD '' 353 366 hardening_unsupported_flags+=" stackprotector fortify" 367 + '' + optionalString cc.langAda or false '' 368 + hardening_unsupported_flags+=" stackprotector strictoverflow" 354 369 '' 355 370 356 371 + optionalString targetPlatform.isWasm ''
+165
pkgs/build-support/cc-wrapper/gnat-wrapper.sh
··· 1 + #! @shell@ 2 + set -eu -o pipefail +o posix 3 + shopt -s nullglob 4 + 5 + if (( "${NIX_DEBUG:-0}" >= 7 )); then 6 + set -x 7 + fi 8 + 9 + path_backup="$PATH" 10 + 11 + # That @-vars are substituted separately from bash evaluation makes 12 + # shellcheck think this, and others like it, are useless conditionals. 13 + # shellcheck disable=SC2157 14 + if [[ -n "@coreutils_bin@" && -n "@gnugrep_bin@" ]]; then 15 + PATH="@coreutils_bin@/bin:@gnugrep_bin@/bin" 16 + fi 17 + 18 + source @out@/nix-support/utils.bash 19 + 20 + # Flirting with a layer violation here. 21 + if [ -z "${NIX_BINTOOLS_WRAPPER_@infixSalt@_FLAGS_SET:-}" ]; then 22 + source @bintools@/nix-support/add-flags.sh 23 + fi 24 + 25 + # Put this one second so libc ldflags take priority. 26 + if [ -z "${NIX_CC_WRAPPER_@infixSalt@_FLAGS_SET:-}" ]; then 27 + source @out@/nix-support/add-flags.sh 28 + fi 29 + 30 + 31 + # Parse command line options and set several variables. 32 + # For instance, figure out if linker flags should be passed. 33 + # GCC prints annoying warnings when they are not needed. 34 + dontLink=0 35 + nonFlagArgs=0 36 + # shellcheck disable=SC2193 37 + 38 + expandResponseParams "$@" 39 + declare -i n=0 40 + nParams=${#params[@]} 41 + while (( "$n" < "$nParams" )); do 42 + p=${params[n]} 43 + p2=${params[n+1]:-} # handle `p` being last one 44 + if [ "$p" = -c ]; then 45 + dontLink=1 46 + elif [ "$p" = -S ]; then 47 + dontLink=1 48 + elif [ "$p" = -E ]; then 49 + dontLink=1 50 + elif [ "$p" = -E ]; then 51 + dontLink=1 52 + elif [ "$p" = -M ]; then 53 + dontLink=1 54 + elif [ "$p" = -MM ]; then 55 + dontLink=1 56 + elif [[ "$p" = -x && "$p2" = *-header ]]; then 57 + dontLink=1 58 + elif [[ "$p" != -?* ]]; then 59 + # A dash alone signifies standard input; it is not a flag 60 + nonFlagArgs=1 61 + fi 62 + n+=1 63 + done 64 + 65 + # If we pass a flag like -Wl, then gcc will call the linker unless it 66 + # can figure out that it has to do something else (e.g., because of a 67 + # "-c" flag). So if no non-flag arguments are given, don't pass any 68 + # linker flags. This catches cases like "gcc" (should just print 69 + # "gcc: no input files") and "gcc -v" (should print the version). 70 + if [ "$nonFlagArgs" = 0 ]; then 71 + dontLink=1 72 + fi 73 + 74 + # Optionally filter out paths not refering to the store. 75 + if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "$NIX_STORE" ]]; then 76 + rest=() 77 + nParams=${#params[@]} 78 + declare -i n=0 79 + while (( "$n" < "$nParams" )); do 80 + p=${params[n]} 81 + p2=${params[n+1]:-} # handle `p` being last one 82 + if [ "${p:0:3}" = -L/ ] && badPath "${p:2}"; then 83 + skip "${p:2}" 84 + elif [ "$p" = -L ] && badPath "$p2"; then 85 + n+=1; skip "$p2" 86 + elif [ "${p:0:3}" = -I/ ] && badPath "${p:2}"; then 87 + skip "${p:2}" 88 + elif [ "$p" = -I ] && badPath "$p2"; then 89 + n+=1; skip "$p2" 90 + elif [ "${p:0:4}" = -aI/ ] && badPath "${p:3}"; then 91 + skip "${p:3}" 92 + elif [ "$p" = -aI ] && badPath "$p2"; then 93 + n+=1; skip "$p2" 94 + elif [ "${p:0:4}" = -aO/ ] && badPath "${p:3}"; then 95 + skip "${p:3}" 96 + elif [ "$p" = -aO ] && badPath "$p2"; then 97 + n+=1; skip "$p2" 98 + elif [ "$p" = -isystem ] && badPath "$p2"; then 99 + n+=1; skip "$p2" 100 + else 101 + rest+=("$p") 102 + fi 103 + n+=1 104 + done 105 + # Old bash empty array hack 106 + params=(${rest+"${rest[@]}"}) 107 + fi 108 + 109 + 110 + # Clear march/mtune=native -- they bring impurity. 111 + if [ "$NIX_@infixSalt@_ENFORCE_NO_NATIVE" = 1 ]; then 112 + rest=() 113 + # Old bash empty array hack 114 + for p in ${params+"${params[@]}"}; do 115 + if [[ "$p" = -m*=native ]]; then 116 + skip "$p" 117 + else 118 + rest+=("$p") 119 + fi 120 + done 121 + # Old bash empty array hack 122 + params=(${rest+"${rest[@]}"}) 123 + fi 124 + 125 + if [ "$(basename $0)x" = "gnatmakex" ]; then 126 + extraBefore=("--GNATBIND=@out@/bin/gnatbind" "--GNATLINK=@out@/bin/gnatlink") 127 + extraAfter=($NIX_@infixSalt@_GNATFLAGS_COMPILE) 128 + fi 129 + 130 + if [ "$(basename $0)x" = "gnatbindx" ]; then 131 + extraBefore=() 132 + extraAfter=($NIX_@infixSalt@_GNATFLAGS_COMPILE) 133 + fi 134 + 135 + if [ "$(basename $0)x" = "gnatlinkx" ]; then 136 + extraBefore=() 137 + extraAfter=("--GCC=@out@/bin/gcc") 138 + fi 139 + 140 + # As a very special hack, if the arguments are just `-v', then don't 141 + # add anything. This is to prevent `gcc -v' (which normally prints 142 + # out the version number and returns exit code 0) from printing out 143 + # `No input files specified' and returning exit code 1. 144 + if [ "$*" = -v ]; then 145 + extraAfter=() 146 + extraBefore=() 147 + fi 148 + 149 + # Optionally print debug info. 150 + if (( "${NIX_DEBUG:-0}" >= 1 )); then 151 + # Old bash workaround, see ld-wrapper for explanation. 152 + echo "extra flags before to @prog@:" >&2 153 + printf " %q\n" ${extraBefore+"${extraBefore[@]}"} >&2 154 + echo "original flags to @prog@:" >&2 155 + printf " %q\n" ${params+"${params[@]}"} >&2 156 + echo "extra flags after to @prog@:" >&2 157 + printf " %q\n" ${extraAfter+"${extraAfter[@]}"} >&2 158 + fi 159 + 160 + PATH="$path_backup" 161 + # Old bash workaround, see above. 162 + exec @prog@ \ 163 + ${extraBefore+"${extraBefore[@]}"} \ 164 + ${params+"${params[@]}"} \ 165 + ${extraAfter+"${extraAfter[@]}"}
+2 -2
pkgs/build-support/setup-hooks/auto-patchelf.sh
··· 15 15 # *or* there is an INTERP section. This also catches position-independent 16 16 # executables, as they typically have an INTERP section but their ELF type 17 17 # is DYN. 18 - isExeResult="$(LANG=C readelf -h -l "$1" 2> /dev/null \ 18 + isExeResult="$(LANG=C $READELF -h -l "$1" 2> /dev/null \ 19 19 | grep '^ *Type: *EXEC\>\|^ *INTERP\>')" 20 20 # not using grep -q, because it can cause Broken pipe 21 21 [ -n "$isExeResult" ] ··· 207 207 # outside of this function. 208 208 while IFS= read -r -d $'\0' file; do 209 209 isELF "$file" || continue 210 - segmentHeaders="$(LANG=C readelf -l "$file")" 210 + segmentHeaders="$(LANG=C $READELF -l "$file")" 211 211 # Skip if the ELF file doesn't have segment headers (eg. object files). 212 212 # not using grep -q, because it can cause Broken pipe 213 213 [ -n "$(echo "$segmentHeaders" | grep '^Program Headers:')" ] || continue
+1 -1
pkgs/data/icons/hicolor-icon-theme/setup-hook.sh
··· 10 10 } 11 11 12 12 # I think this is meant to be a runtime dep 13 - addEnvHooks "${hostOffset:?}" hicolorIconThemeHook 13 + addEnvHooks "${targetOffset:?}" hicolorIconThemeHook
+1
pkgs/desktops/gnome-3/core/epiphany/default.nix
··· 58 58 python3 59 59 wrapGAppsHook 60 60 buildPackages.glib 61 + buildPackages.gtk3 61 62 ]; 62 63 63 64 buildInputs = [
+4 -1
pkgs/desktops/gnome-3/core/gnome-shell/default.nix
··· 65 65 66 66 # Install bash-completions to correct prefix. 67 67 # https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1194 68 - ./fix-bash-completion.patch 68 + (fetchpatch { 69 + url = "https://gitlab.gnome.org/GNOME/gnome-shell/commit/9f1ad5d86ddbabaa840eb2860279d53f4e635453.patch"; 70 + sha256 = "f8MDFbfg9D7ORF84Ld9GIvf0xRCYuSszo3QLMji2VaE="; 71 + }) 69 72 70 73 # Use absolute path for libshew installation to make our patched gobject-introspection 71 74 # aware of the location to hardcode in the generated GIR file.
-10
pkgs/desktops/gnome-3/core/gnome-shell/fix-bash-completion.patch
··· 1 - --- a/subprojects/extensions-tool/meson.build 2 - +++ a/subprojects/extensions-tool/meson.build 3 - @@ -39,6 +39,6 @@ subdir('src') 4 - 5 - if bash_completion.found() 6 - install_data('completion/bash/gnome-extensions', 7 - - install_dir: bash_completion.get_pkgconfig_variable('completionsdir') 8 - + install_dir: bash_completion.get_pkgconfig_variable('completionsdir', define_variable: ['prefix', prefix]) 9 - ) 10 - endif
+9 -2
pkgs/development/compilers/gcc/6/default.nix
··· 1 1 { stdenv, targetPackages, fetchurl, fetchpatch, fetchFromGitHub, noSysDirs 2 2 , langC ? true, langCC ? true, langFortran ? false 3 + , langAda ? false 3 4 , langObjC ? stdenv.targetPlatform.isDarwin 4 5 , langObjCpp ? stdenv.targetPlatform.isDarwin 5 6 , langJava ? false ··· 15 16 , libelf # optional, for link-time optimizations (LTO) 16 17 , isl ? null # optional, for the Graphite optimization framework. 17 18 , zlib ? null, boehmgc ? null 19 + , gnatboot ? null 18 20 , zip ? null, unzip ? null, pkgconfig ? null 19 21 , gtk2 ? null, libart_lgpl ? null 20 22 , libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null ··· 48 50 # The go frontend is written in c++ 49 51 assert langGo -> langCC; 50 52 53 + assert langAda -> gnatboot != null; 54 + 51 55 # threadsCross is just for MinGW 52 56 assert threadsCross != null -> stdenv.targetPlatform.isWindows; 53 57 ··· 63 67 [ ../use-source-date-epoch.patch ] 64 68 ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch 65 69 ++ optional noSysDirs ../no-sys-dirs.patch 70 + ++ optional langAda ../gnat-cflags.patch 66 71 ++ optional langFortran ../gfortran-driving.patch 67 72 ++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch 68 73 ++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch { ··· 200 205 # The builder relies on GNU sed (for instance, Darwin's `sed' fails with 201 206 # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. 202 207 ++ (optional hostPlatform.isDarwin gnused) 208 + ++ (optional langAda gnatboot) 203 209 ; 204 210 205 211 depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross; ··· 208 214 209 215 preConfigure = import ../common/pre-configure.nix { 210 216 inherit (stdenv) lib; 211 - inherit version hostPlatform langJava langGo; 217 + inherit version hostPlatform gnatboot langJava langAda langGo; 212 218 }; 213 219 214 220 dontDisableStatic = true; ··· 234 240 langCC 235 241 langFortran 236 242 langJava javaAwtGtk javaAntlr javaEcj 243 + langAda 237 244 langGo 238 245 langObjC 239 246 langObjCpp ··· 292 299 ; 293 300 294 301 passthru = { 295 - inherit langC langCC langObjC langObjCpp langFortran langGo version; 302 + inherit langC langCC langObjC langObjCpp langFortran langAda langGo version; 296 303 isGNU = true; 297 304 }; 298 305
+8 -2
pkgs/development/compilers/gcc/9/default.nix
··· 1 1 { stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs 2 2 , langC ? true, langCC ? true, langFortran ? false 3 + , langAda ? false 3 4 , langObjC ? stdenv.targetPlatform.isDarwin 4 5 , langObjCpp ? stdenv.targetPlatform.isDarwin 5 6 , langGo ? false ··· 13 14 , libelf # optional, for link-time optimizations (LTO) 14 15 , isl ? null # optional, for the Graphite optimization framework. 15 16 , zlib ? null 17 + , gnatboot ? null 16 18 , enableMultilib ? false 17 19 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins 18 20 , name ? "gcc" ··· 35 37 36 38 # The go frontend is written in c++ 37 39 assert langGo -> langCC; 40 + assert langAda -> gnatboot != null; 38 41 39 42 # threadsCross is just for MinGW 40 43 assert threadsCross != null -> stdenv.targetPlatform.isWindows; ··· 54 57 url = "https://git.busybox.net/buildroot/plain/package/gcc/${version}/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02"; 55 58 sha256 = ""; # TODO: uncomment and check hash when available. 56 59 }) */ 60 + ++ optional langAda ../gnat-cflags.patch 57 61 ++ optional langFortran ../gfortran-driving.patch 58 62 ++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch 59 63 ++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch { ··· 160 164 # The builder relies on GNU sed (for instance, Darwin's `sed' fails with 161 165 # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. 162 166 ++ (optional hostPlatform.isDarwin gnused) 167 + ++ (optional langAda gnatboot) 163 168 ; 164 169 165 170 depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross; ··· 168 173 169 174 preConfigure = import ../common/pre-configure.nix { 170 175 inherit (stdenv) lib; 171 - inherit version hostPlatform langGo; 176 + inherit version hostPlatform gnatboot langAda langGo; 172 177 }; 173 178 174 179 dontDisableStatic = true; ··· 193 198 langC 194 199 langCC 195 200 langFortran 201 + langAda 196 202 langGo 197 203 langObjC 198 204 langObjCpp ··· 236 242 ; 237 243 238 244 passthru = { 239 - inherit langC langCC langObjC langObjCpp langFortran langGo version; 245 + inherit langC langCC langObjC langObjCpp langAda langFortran langGo version; 240 246 isGNU = true; 241 247 }; 242 248
+1
pkgs/development/compilers/gcc/builder.sh
··· 216 216 moveToOutput "${targetConfig+$targetConfig/}lib/lib*.so*" "$lib" 217 217 moveToOutput "${targetConfig+$targetConfig/}lib/lib*.la" "$lib" 218 218 moveToOutput "${targetConfig+$targetConfig/}lib/lib*.dylib" "$lib" 219 + moveToOutput "${targetConfig+$targetConfig/}lib/lib*.dll.a" "$lib" 219 220 moveToOutput "share/gcc-*/python" "$lib" 220 221 221 222 for i in "$lib/${targetConfig}"/lib/*.{la,py}; do
+5
pkgs/development/compilers/gcc/common/configure-flags.nix
··· 16 16 , langCC 17 17 , langFortran 18 18 , langJava ? false, javaAwtGtk ? false, javaAntlr ? null, javaEcj ? null 19 + , langAda ? false 19 20 , langGo 20 21 , langObjC 21 22 , langObjCpp ··· 115 116 ++ lib.optional langCC "c++" 116 117 ++ lib.optional langFortran "fortran" 117 118 ++ lib.optional langJava "java" 119 + ++ lib.optional langAda "ada" 118 120 ++ lib.optional langGo "go" 119 121 ++ lib.optional langObjC "objc" 120 122 ++ lib.optional langObjCpp "obj-c++" ··· 139 141 "--disable-cloog-version-check" 140 142 "--enable-cloog-backend=isl" 141 143 ] 144 + 145 + # Ada options 146 + ++ lib.optional langAda "--enable-libada" 142 147 143 148 # Java options 144 149 ++ lib.optionals langJava [
+8 -1
pkgs/development/compilers/gcc/common/pre-configure.nix
··· 1 - { lib, version, hostPlatform, langJava ? false, langGo }: 1 + { lib, version, hostPlatform 2 + , gnatboot ? null 3 + , langAda ? false 4 + , langJava ? false 5 + , langGo }: 2 6 3 7 assert langJava -> lib.versionOlder version "7"; 8 + assert langAda -> gnatboot != null; 4 9 5 10 lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) '' 6 11 export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g` ··· 9 14 export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET" 10 15 '' + lib.optionalString (lib.versionOlder version "7" && (langJava || langGo)) '' 11 16 export lib=$out; 17 + '' + lib.optionalString langAda '' 18 + export PATH=${gnatboot}/bin:$PATH 12 19 ''
+35
pkgs/development/compilers/gcc/gnat-cflags.patch
··· 1 + diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in 2 + index 4e74252bd74..0d848b5b4e3 100644 3 + --- a/gcc/ada/gcc-interface/Makefile.in 4 + +++ b/gcc/ada/gcc-interface/Makefile.in 5 + @@ -111,7 +111,7 @@ NO_OMIT_ADAFLAGS = -fno-omit-frame-pointer 6 + NO_SIBLING_ADAFLAGS = -fno-optimize-sibling-calls 7 + NO_REORDER_ADAFLAGS = -fno-toplevel-reorder 8 + GNATLIBFLAGS = -W -Wall -gnatpg -nostdinc 9 + -GNATLIBCFLAGS = -g -O2 10 + +GNATLIBCFLAGS = -g -O2 $(CFLAGS_FOR_TARGET) 11 + # Pretend that _Unwind_GetIPInfo is available for the target by default. This 12 + # should be autodetected during the configuration of libada and passed down to 13 + # here, but we need something for --disable-libada and hope for the best. 14 + @@ -198,7 +198,7 @@ RTSDIR = rts$(subst /,_,$(MULTISUBDIR)) 15 + # Link flags used to build gnat tools. By default we prefer to statically 16 + # link with libgcc to avoid a dependency on shared libgcc (which is tricky 17 + # to deal with as it may conflict with the libgcc provided by the system). 18 + -GCC_LINK_FLAGS=-static-libstdc++ -static-libgcc 19 + +GCC_LINK_FLAGS=-static-libstdc++ -static-libgcc $(CFLAGS_FOR_TARGET) 20 + 21 + # End of variables for you to override. 22 + 23 + diff --git a/libada/Makefile.in b/libada/Makefile.in 24 + index 522b9207326..ca866c74471 100644 25 + --- a/libada/Makefile.in 26 + +++ b/libada/Makefile.in 27 + @@ -59,7 +59,7 @@ LDFLAGS= 28 + CFLAGS=-g 29 + PICFLAG = @PICFLAG@ 30 + GNATLIBFLAGS= -W -Wall -gnatpg -nostdinc 31 + -GNATLIBCFLAGS= -g -O2 32 + +GNATLIBCFLAGS= -g -O2 $(CFLAGS) 33 + GNATLIBCFLAGS_FOR_C = -W -Wall $(GNATLIBCFLAGS) $(CFLAGS_FOR_TARGET) \ 34 + -fexceptions -DIN_RTS @have_getipinfo@ @have_capability@ 35 +
+40
pkgs/development/compilers/ghdl/default.nix
··· 1 + { stdenv, fetchFromGitHub, gnat, zlib, llvm, lib 2 + , backend ? "mcode" }: 3 + 4 + assert backend == "mcode" || backend == "llvm"; 5 + 6 + stdenv.mkDerivation rec { 7 + pname = "ghdl-${backend}"; 8 + version = "0.37"; 9 + 10 + src = fetchFromGitHub { 11 + owner = "ghdl"; 12 + repo = "ghdl"; 13 + rev = "v${version}"; 14 + sha256 = "0b53yl4im33c1cd4mdyc4ks9cmrpixym17gzchfmplrl22w3l17y"; 15 + }; 16 + 17 + LIBRARY_PATH = "${stdenv.cc.libc}/lib"; 18 + 19 + buildInputs = [ gnat zlib ]; 20 + 21 + preConfigure = '' 22 + # If llvm 7.0 works, 7.x releases should work too. 23 + sed -i 's/check_version 7.0/check_version 7/g' configure 24 + ''; 25 + 26 + configureFlags = lib.optional (backend == "llvm") 27 + "--with-llvm-config=${llvm}/bin/llvm-config"; 28 + 29 + hardeningDisable = [ "format" ]; 30 + 31 + enableParallelBuilding = true; 32 + 33 + meta = with lib; { 34 + homepage = "https://github.com/ghdl/ghdl"; 35 + description = "VHDL 2008/93/87 simulator"; 36 + maintainers = with maintainers; [ lucus16 ]; 37 + platforms = platforms.linux; 38 + license = licenses.gpl2; 39 + }; 40 + }
+51
pkgs/development/compilers/gnatboot/default.nix
··· 1 + { stdenv, fetchurl }: 2 + 3 + stdenv.mkDerivation { 4 + pname = "gentoo-gnatboot"; 5 + version = "4.1"; 6 + 7 + src = if stdenv.system == "i686-linux" then 8 + fetchurl { 9 + url = mirror://gentoo/distfiles/gnatboot-4.1-i386.tar.bz2; 10 + sha256 = "0665zk71598204bf521vw68i5y6ccqarq9fcxsqp7ccgycb4lysr"; 11 + } 12 + else if stdenv.system == "x86_64-linux" then 13 + fetchurl { 14 + url = mirror://gentoo/distfiles/gnatboot-4.1-amd64.tar.bz2; 15 + sha256 = "1li4d52lmbnfs6llcshlbqyik2q2q4bvpir0f7n38nagp0h6j0d4"; 16 + } 17 + else 18 + throw "Platform not supported"; 19 + 20 + dontStrip = 1; 21 + 22 + installPhase = '' 23 + mkdir -p $out 24 + cp -R * $out 25 + 26 + set +e 27 + for a in $out/bin/* ; do 28 + patchelf --interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ 29 + --set-rpath $(cat $NIX_CC/nix-support/orig-libc)/lib:$(cat $NIX_CC/nix-support/orig-cc)/lib64:$(cat $NIX_CC/nix-support/orig-cc)/lib $a 30 + done 31 + set -e 32 + 33 + mv $out/bin/gnatgcc_2wrap $out/bin/gnatgcc 34 + ln -s $out/bin/gnatgcc $out/bin/gcc 35 + ''; 36 + 37 + passthru = { 38 + langC = true; # TRICK for gcc-wrapper to wrap it 39 + langCC = false; 40 + langFortran = false; 41 + langAda = true; 42 + }; 43 + 44 + meta = with stdenv.lib; { 45 + homepage = "https://gentoo.org"; 46 + license = licenses.gpl3Plus; 47 + maintainers = [ maintainers.lucus16 ]; 48 + 49 + platforms = platforms.linux; 50 + }; 51 + }
+2 -2
pkgs/development/interpreters/python/default.nix
··· 57 57 sourceVersion = { 58 58 major = "2"; 59 59 minor = "7"; 60 - patch = "17"; 60 + patch = "18"; 61 61 suffix = ""; 62 62 }; 63 - sha256 = "0hds28cg226m8j8sr394nm9yc4gxhvlv109w0avsf2mxrlrz0hsd"; 63 + sha256 = "0hzgxl94hnflis0d6m4szjx0b52gah7wpmcg5g00q7am6xwhwb5n"; 64 64 inherit (darwin) configd; 65 65 inherit passthruFun; 66 66 };
+2 -2
pkgs/development/libraries/atk/default.nix
··· 4 4 5 5 let 6 6 pname = "atk"; 7 - version = "2.35.1"; 7 + version = "2.36.0"; 8 8 in 9 9 10 10 stdenv.mkDerivation rec { ··· 12 12 13 13 src = fetchurl { 14 14 url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; 15 - sha256 = "111qajn7kxwmh40drc8i6jc3hnril2rp63n207q92pl47zx614xy"; 15 + sha256 = "1217cmmykjgkkim0zr1lv5j13733m4w5vipmy4ivw0ll6rz28xpv"; 16 16 }; 17 17 18 18 outputs = [ "out" "dev" ];
+2 -2
pkgs/development/libraries/cairo/default.nix
··· 61 61 ++ optional glSupport libGL 62 62 ; # TODO: maybe liblzo but what would it be for here? 63 63 64 - configureFlags = if stdenv.isDarwin then [ 64 + configureFlags = (if stdenv.isDarwin then [ 65 65 "--disable-dependency-tracking" 66 66 "--enable-quartz" 67 67 "--enable-quartz-font" ··· 71 71 ++ optional xcbSupport "--enable-xcb" 72 72 ++ optional glSupport "--enable-gl" 73 73 ++ optional pdfSupport "--enable-pdf" 74 - ); 74 + )) ++ optional (!x11Support) "--disable-xlib"; 75 75 76 76 preConfigure = 77 77 # On FreeBSD, `-ldl' doesn't exist.
+2 -2
pkgs/development/libraries/chromaprint/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "chromaprint"; 5 - version = "1.4.3"; 5 + version = "1.5.0"; 6 6 7 7 src = fetchurl { 8 8 url = "https://github.com/acoustid/chromaprint/releases/download/v${version}/${pname}-${version}.tar.gz"; 9 - sha256 = "10kz8lncal4s2rp2rqpgc6xyjp0jzcrihgkx7chf127vfs5n067a"; 9 + sha256 = "0sknmyl5254rc55bvkhfwpl4dfvz45xglk1rq8zq5crmwq058fjp"; 10 10 }; 11 11 12 12 nativeBuildInputs = [ cmake ];
+2 -1
pkgs/development/libraries/cracklib/default.nix
··· 18 18 nativeBuildInputs = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) buildPackages.cracklib; 19 19 buildInputs = [ zlib gettext ]; 20 20 21 - postPatch = '' 21 + postPatch = stdenv.lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' 22 22 chmod +x util/cracklib-format 23 23 patchShebangs util 24 24 25 + '' + '' 25 26 ln -vs ${toString wordlists} dicts/ 26 27 ''; 27 28
+55 -16
pkgs/development/libraries/dconf/default.nix
··· 1 - { stdenv, fetchurl, meson, ninja, python3, vala, libxslt, pkgconfig, glib, bash-completion, dbus, gnome3 2 - , libxml2, gtk-doc, docbook_xsl, docbook_xml_dtd_42 }: 1 + { stdenv 2 + , fetchurl 3 + , fetchpatch 4 + , meson 5 + , ninja 6 + , python3 7 + , vala 8 + , libxslt 9 + , pkg-config 10 + , glib 11 + , bash-completion 12 + , dbus 13 + , gnome3 14 + , libxml2 15 + , gtk-doc 16 + , docbook-xsl-nons 17 + , docbook_xml_dtd_42 18 + }: 3 19 4 - let 20 + stdenv.mkDerivation rec { 5 21 pname = "dconf"; 6 - in 7 - stdenv.mkDerivation rec { 8 - name = "${pname}-${version}"; 9 22 version = "0.36.0"; 23 + 24 + outputs = [ "out" "lib" "dev" "devdoc" ]; 10 25 11 26 src = fetchurl { 12 - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; 27 + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 13 28 sha256 = "0bfs069pjv6lhp7xrzmrhz3876ay2ryqxzc6mlva1hhz34ibprlz"; 14 29 }; 15 30 16 - postPatch = '' 17 - chmod +x meson_post_install.py tests/test-dconf.py 18 - patchShebangs meson_post_install.py 19 - patchShebangs tests/test-dconf.py 20 - ''; 31 + patches = [ 32 + # Fix bash-completion installation 33 + # https://gitlab.gnome.org/GNOME/dconf/merge_requests/58 34 + (fetchpatch { 35 + url = "https://gitlab.gnome.org/GNOME/dconf/commit/b3c9423c6151f3c28e526083ea2f04987a780fdf.patch"; 36 + sha256 = "zrIPKmgEpa1iIGUKv03+z+GNwJwgdf2hDATgP3i8qk0="; 37 + }) 38 + ]; 21 39 22 - outputs = [ "out" "lib" "dev" "devdoc" ]; 40 + nativeBuildInputs = [ 41 + meson 42 + ninja 43 + vala 44 + pkg-config 45 + python3 46 + libxslt 47 + libxml2 48 + glib 49 + gtk-doc 50 + docbook-xsl-nons 51 + docbook_xml_dtd_42 52 + ]; 23 53 24 - nativeBuildInputs = [ meson ninja vala pkgconfig python3 libxslt libxml2 glib gtk-doc docbook_xsl docbook_xml_dtd_42 ]; 25 - buildInputs = [ glib bash-completion dbus ]; 54 + buildInputs = [ 55 + glib 56 + bash-completion 57 + dbus 58 + ]; 26 59 27 60 mesonFlags = [ 28 61 "--sysconfdir=/etc" ··· 31 64 32 65 doCheck = !stdenv.isAarch32 && !stdenv.isAarch64 && !stdenv.isDarwin; 33 66 67 + postPatch = '' 68 + chmod +x meson_post_install.py tests/test-dconf.py 69 + patchShebangs meson_post_install.py 70 + patchShebangs tests/test-dconf.py 71 + ''; 72 + 34 73 passthru = { 35 74 updateScript = gnome3.updateScript { 36 75 packageName = pname; ··· 40 79 meta = with stdenv.lib; { 41 80 homepage = "https://wiki.gnome.org/Projects/dconf"; 42 81 license = licenses.lgpl21Plus; 43 - platforms = platforms.linux ++ platforms.darwin; 82 + platforms = platforms.unix; 44 83 maintainers = teams.gnome.members; 45 84 }; 46 85 }
+3 -1
pkgs/development/libraries/flatbuffers/default.nix
··· 18 18 nativeBuildInputs = [ cmake ]; 19 19 enableParallelBuilding = true; 20 20 21 - doCheck = true; 21 + cmakeFlags = [ "-DFLATBUFFERS_BUILD_TESTS=${if doCheck then "ON" else "OFF"}" ]; 22 + 23 + doCheck = stdenv.hostPlatform == stdenv.buildPlatform; 22 24 checkTarget = "test"; 23 25 24 26 meta = {
+24
pkgs/development/libraries/fstrcmp/cross.patch
··· 1 + diff '--color=auto' -ur fstrcmp-0.7-D001-old/configure.ac fstrcmp-0.7.D001/configure.ac 2 + --- fstrcmp-0.7-D001-old/configure.ac 2014-03-04 19:13:45.000000000 -0500 3 + +++ fstrcmp-0.7.D001/configure.ac 2020-04-02 13:57:52.805154634 -0400 4 + @@ -32,6 +32,8 @@ 5 + AC_OBJEXT 6 + AC_EXEEXT 7 + 8 + +LT_INIT 9 + + 10 + dnl @synopsis AC_ADD_CFLAGS 11 + dnl 12 + dnl Add the given option to CFLAGS, if it doesn't break the compiler 13 + diff '--color=auto' -ur fstrcmp-0.7-D001-old/Makefile.in fstrcmp-0.7.D001/Makefile.in 14 + --- fstrcmp-0.7-D001-old/Makefile.in 2014-03-04 19:13:45.000000000 -0500 15 + +++ fstrcmp-0.7.D001/Makefile.in 2020-04-02 13:57:12.355269595 -0400 16 + @@ -37,6 +37,8 @@ 17 + srcdir = @srcdir@ 18 + VPATH = @srcdir@ 19 + 20 + +top_builddir = $(srcdir) 21 + + 22 + # 23 + # the name of the install program to use 24 + #
+4 -2
pkgs/development/libraries/fstrcmp/default.nix
··· 1 - { stdenv, fetchzip, libtool, ghostscript, groff }: 1 + { stdenv, fetchzip, libtool, ghostscript, groff, autoreconfHook }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "fstrcmp"; ··· 9 9 sha256 = "0yg3y3k0wz50gmhgigfi2dx725w1gc8snb95ih7vpcnj6kabgz9a"; 10 10 }; 11 11 12 + patches = [ ./cross.patch ]; 13 + 12 14 outputs = [ "out" "dev" "doc" "man" "devman" ]; 13 15 14 - nativeBuildInputs = [ libtool ghostscript groff ]; 16 + nativeBuildInputs = [ libtool ghostscript groff autoreconfHook ]; 15 17 16 18 enableParallelBuilding = true; 17 19
+2
pkgs/development/libraries/ftgl/default.nix
··· 18 18 [ libGL libGLU ]) 19 19 ; 20 20 21 + configureFlags = [ "--with-ft-prefix=${stdenv.lib.getDev freetype}" ]; 22 + 21 23 enableParallelBuilding = true; 22 24 23 25 meta = {
+2 -2
pkgs/development/libraries/gdk-pixbuf/default.nix
··· 35 35 36 36 nativeBuildInputs = [ 37 37 meson ninja pkgconfig gettext python3 libxml2 libxslt docbook_xsl docbook_xml_dtd_43 38 - gtk-doc gobject-introspection makeWrapper 38 + gtk-doc gobject-introspection makeWrapper glib 39 39 ] 40 40 ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames; 41 41 ··· 68 68 + '' 69 69 moveToOutput "bin" "$dev" 70 70 moveToOutput "bin/gdk-pixbuf-thumbnailer" "$out" 71 - 71 + '' + stdenv.lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' 72 72 # We need to install 'loaders.cache' in lib/gdk-pixbuf-2.0/2.10.0/ 73 73 $dev/bin/gdk-pixbuf-query-loaders --update-cache 74 74 '';
+1 -1
pkgs/development/libraries/gdk-pixbuf/setup-hook.sh
··· 14 14 15 15 } 16 16 17 - addEnvHooks "$hostOffset" findGdkPixbufLoaders 17 + addEnvHooks "$targetOffset" findGdkPixbufLoaders
+2 -2
pkgs/development/libraries/glib-networking/default.nix
··· 18 18 19 19 stdenv.mkDerivation rec { 20 20 pname = "glib-networking"; 21 - version = "2.64.0"; 21 + version = "2.64.1"; 22 22 23 23 outputs = [ "out" "installedTests" ]; 24 24 25 25 src = fetchurl { 26 26 url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 27 - sha256 = "1fm1462v7z556qivlwflvc3qpz36jwpzqxxvsihh45j7aka2gnjw"; 27 + sha256 = "0wmg5n2h0r1rcdmp4w48akqlsbpjrjrj6p59g5ylc5yqyzg4dhx4"; 28 28 }; 29 29 30 30 patches = [
+1 -2
pkgs/development/libraries/glib/setup-hook.sh
··· 1 - 2 1 make_glib_find_gsettings_schemas() { 3 2 # For packages that need gschemas of other packages (e.g. empathy) 4 3 for maybe_dir in "$1"/share/gsettings-schemas/*; do ··· 7 6 fi 8 7 done 9 8 } 10 - addEnvHooks "$hostOffset" make_glib_find_gsettings_schemas 9 + addEnvHooks "$targetOffset" make_glib_find_gsettings_schemas 11 10 12 11 # Install gschemas, if any, in a package-specific directory 13 12 glibPreInstallPhase() {
+2 -2
pkgs/development/libraries/gobject-introspection/default.nix
··· 10 10 with stdenv.lib; 11 11 stdenv.mkDerivation rec { 12 12 pname = "gobject-introspection"; 13 - version = "1.64.0"; 13 + version = "1.64.1"; 14 14 15 15 src = fetchurl { 16 16 url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 17 - sha256 = "10pwykfnk7pw8k9k8iz3p72phxvyrh5q4d7gr3ysv08w15immh7a"; 17 + sha256 = "19vz7vp10h0zj3f491yk72dp89bix6rgkzxg4qcm4d6151ksxgl0"; 18 18 }; 19 19 20 20 outputs = [ "out" "dev" "man" ];
+11 -7
pkgs/development/libraries/gpgme/default.nix
··· 1 - { stdenv, fetchurl, fetchpatch, libgpgerror, gnupg, pkgconfig, glib, pth, libassuan 1 + { stdenv, fetchurl, fetchpatch 2 + , autoreconfHook, libgpgerror, gnupg, pkgconfig, glib, pth, libassuan 2 3 , file, which, ncurses 3 4 , texinfo 4 5 , buildPackages ··· 33 34 url = "http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=patch;h=c4cf527ea227edb468a84bf9b8ce996807bd6992"; 34 35 sha256 = "pKL1tvUw7PB2w4FHSt2up4SvpFiprBH6TLdgKxYFC3g="; 35 36 }) 36 - ]; 37 + # https://lists.gnupg.org/pipermail/gnupg-devel/2020-April/034591.html 38 + (fetchpatch { 39 + name = "0001-Fix-python-tests-on-non-Linux.patch"; 40 + url = "https://lists.gnupg.org/pipermail/gnupg-devel/attachments/20200415/f7be62d1/attachment.obj"; 41 + sha256 = "00d4sxq63601lzdp2ha1i8fvybh7dzih4531jh8bx07fab3sw65g"; 42 + }) 43 + # Disable python tests on Darwin as they use gpg (see configureFlags below) 44 + ] ++ lib.optional stdenv.isDarwin ./disable-python-tests.patch; 37 45 38 46 outputs = [ "out" "dev" "info" ]; 39 47 outputBin = "dev"; # gpgme-config; not so sure about gpgme-tool ··· 42 50 [ libgpgerror glib libassuan pth ] 43 51 ++ lib.optional (qtbase != null) qtbase; 44 52 45 - nativeBuildInputs = [ file pkgconfig gnupg texinfo ] 53 + nativeBuildInputs = [ pkgconfig gnupg texinfo autoreconfHook ] 46 54 ++ lib.optionals pythonSupport [ python swig2 which ncurses ]; 47 55 48 56 depsBuildBuild = [ buildPackages.stdenv.cc ]; 49 - 50 - postPatch ='' 51 - substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file 52 - ''; 53 57 54 58 configureFlags = [ 55 59 "--enable-fixed-path=${gnupg}/bin"
+12
pkgs/development/libraries/gpgme/disable-python-tests.patch
··· 1 + diff -Naur --strip-trailing-cr gpgme-1.13.1.org/lang/python/Makefile.am gpgme-1.13.1/lang/python/Makefile.am 2 + --- gpgme-1.13.1.org/lang/python/Makefile.am 2019-06-04 07:27:49.000000000 +0100 3 + +++ gpgme-1.13.1/lang/python/Makefile.am 2020-04-15 14:27:34.810172944 +0100 4 + @@ -23,7 +23,7 @@ 5 + gpgme.i \ 6 + helpers.c helpers.h private.h 7 + 8 + -SUBDIRS = . tests examples doc src 9 + +SUBDIRS = . examples doc src 10 + 11 + .PHONY: prepare 12 + prepare: copystamp
+2 -2
pkgs/development/libraries/gsm/default.nix
··· 9 9 10 10 stdenv.mkDerivation rec { 11 11 pname = "gsm"; 12 - version = "1.0.18"; 12 + version = "1.0.19"; 13 13 14 14 src = fetchurl { 15 15 url = "http://www.quut.com/gsm/${pname}-${version}.tar.gz"; 16 - sha256 = "041amvpz8cvxykl3pwqldrzxligmmzcg8ncdnxbg32rlqf3q1xh4"; 16 + sha256 = "1xkha9ss5g5qnfaybi8il0mcvp8knwg9plgh8404vh58d0pna0s9"; 17 17 }; 18 18 19 19 patchPhase = ''
+1 -1
pkgs/development/libraries/gstreamer/bad/default.nix
··· 10 10 , gst-plugins-base 11 11 , orc 12 12 , gobject-introspection 13 - , enableZbar ? true 13 + , enableZbar ? false 14 14 , faacSupport ? false 15 15 , faac ? null 16 16 , faad2
+7
pkgs/development/libraries/gstreamer/core/default.nix
··· 37 37 38 38 patches = [ 39 39 ./fix_pkgconfig_includedir.patch 40 + 41 + # Fix build with bash-completion 2.10 42 + # https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/436 43 + (fetchpatch { 44 + url = "https://gitlab.freedesktop.org/gstreamer/gstreamer/commit/dd2ec3681e2d38e13e01477efa36e851650690fb.patch"; 45 + sha256 = "CMYQF2MTsC5A0btMpLVLemkwsMtEbzhDXVE3u49xHB4="; 46 + }) 40 47 ]; 41 48 42 49 nativeBuildInputs = [
+15
pkgs/development/libraries/gtk/3.x.nix
··· 73 73 74 74 # https://gitlab.gnome.org/GNOME/gtk/merge_requests/1002 75 75 ./patches/01-build-Fix-path-handling-in-pkgconfig.patch 76 + 77 + # https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1634 78 + (fetchpatch { 79 + url = "https://gitlab.gnome.org/GNOME/gtk/-/commit/79732da1ed8cb167440fb047c72cfc0d888a187b.patch"; 80 + sha256 = "1ynrx81dkwjfqhvg80q28qbb6jabg4x73fkbrnligzgkzimfjpx3"; 81 + }) 82 + # https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1633 83 + (fetchpatch { 84 + url = "https://gitlab.gnome.org/GNOME/gtk/-/commit/12fc9a45efcbb546eb7de13c5c4d3183f2f5a3b8.patch"; 85 + sha256 = "00zrm77qk39p1hgn207az82cgvqiyp6is7dk0ssjxkc34403r78v"; 86 + }) 87 + (fetchpatch { 88 + url = "https://gitlab.gnome.org/GNOME/gtk/-/commit/5a52af20cba76474e631b2a7548963bcad22d66d.patch"; 89 + sha256 = "0sbzzwa0si1w83m5abyf312f4w445wwlms53m5hb7kdgkjbhaa3f"; 90 + }) 76 91 ] ++ optionals stdenv.isDarwin [ 77 92 # X11 module requires <gio/gdesktopappinfo.h> which is not installed on Darwin 78 93 # let’s drop that dependency in similar way to how other parts of the library do it
+5
pkgs/development/libraries/libasyncns/default.nix
··· 8 8 sha256 = "0x5b6lcic4cd7q0bx00x93kvpyzl7n2abbgvqbrlzrfb8vknc6jg"; 9 9 }; 10 10 11 + configureFlags = stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ 12 + "ac_cv_func_malloc_0_nonnull=yes" 13 + "ac_cv_func_realloc_0_nonnull=yes" 14 + ]; 15 + 11 16 meta = with stdenv.lib; { 12 17 homepage = "http://0pointer.de/lennart/projects/libasyncns/"; 13 18 description = "A C library for Linux/Unix for executing name service queries asynchronously";
+5
pkgs/development/libraries/libcddb/default.nix
··· 10 10 11 11 buildInputs = stdenv.lib.optional stdenv.isDarwin libiconv; 12 12 13 + configureFlags = stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ 14 + "ac_cv_func_malloc_0_nonnull=yes" 15 + "ac_cv_func_realloc_0_nonnull=yes" 16 + ]; 17 + 13 18 doCheck = false; # fails 3 of 5 tests with locale errors 14 19 15 20 meta = with stdenv.lib; {
+2 -2
pkgs/development/libraries/libcdio/default.nix
··· 12 12 patchShebangs . 13 13 ''; 14 14 15 - nativeBuildInputs = [ pkgconfig ]; 16 - buildInputs = [ libcddb ncurses help2man ] 15 + nativeBuildInputs = [ pkgconfig help2man ]; 16 + buildInputs = [ libcddb ncurses ] 17 17 ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Carbon IOKit ]; 18 18 19 19 doCheck = !stdenv.isDarwin;
+2 -2
pkgs/development/libraries/libcec/default.nix
··· 11 11 sha256 = "02j09y06csaic4m0fyb4dr9l3hl15nxbbniwq0i1qlccpxjak0j3"; 12 12 }; 13 13 14 - nativeBuildInputs = [ pkgconfig ]; 15 - buildInputs = [ cmake udev libcec_platform ] ++ 14 + nativeBuildInputs = [ pkgconfig cmake ]; 15 + buildInputs = [ udev libcec_platform ] ++ 16 16 stdenv.lib.optional (libraspberrypi != null) libraspberrypi; 17 17 18 18 cmakeFlags = [ "-DBUILD_SHARED_LIBS=1" ];
+2 -2
pkgs/development/libraries/libcrossguid/default.nix
··· 15 15 buildInputs = [ libuuid ]; 16 16 17 17 buildPhase = '' 18 - g++ -c guid.cpp -o guid.o $CXXFLAGS -std=c++11 -DGUID_LIBUUID 19 - ar rvs libcrossguid.a guid.o 18 + $CXX -c guid.cpp -o guid.o $CXXFLAGS -std=c++11 -DGUID_LIBUUID 19 + $AR rvs libcrossguid.a guid.o 20 20 ''; 21 21 installPhase = '' 22 22 mkdir -p $out/{lib,include}
+7 -24
pkgs/development/libraries/libfido2/default.nix
··· 3 3 , fetchpatch 4 4 , cmake 5 5 , pkgconfig 6 + , hidapi 6 7 , libcbor 7 8 , openssl 8 9 , udev 9 - , IOKit }: 10 + }: 10 11 11 12 stdenv.mkDerivation rec { 12 13 pname = "libfido2"; 13 - version = "1.3.1"; 14 + version = "1.4.0"; 14 15 src = fetchurl { 15 16 url = "https://developers.yubico.com/${pname}/Releases/${pname}-${version}.tar.gz"; 16 - sha256 = "0hdgxbmjbnm9kjwc07nrl2zy87qclvb3rzvdwr5iw35n2qhf4dds"; 17 + sha256 = "0v1a3n0qljmrp8y9pmnmbsdsy79l3z84qmhyjx50xdsbgnz1z4md"; 17 18 }; 18 19 19 20 nativeBuildInputs = [ cmake pkgconfig ]; 20 21 21 - buildInputs = [ libcbor openssl ] 22 - ++ stdenv.lib.optionals stdenv.isLinux [ udev ] 23 - ++ stdenv.lib.optionals stdenv.isDarwin [ IOKit ]; 24 - 25 - patches = [ 26 - # fix build on darwin 27 - (fetchpatch { 28 - url = "https://github.com/Yubico/libfido2/commit/916ebd18a89e4028de203d603726805339be7a5b.patch"; 29 - sha256 = "07f0xpxnq02cccmqcric87b6pms7k7ssvdw722zr970a6qs8p6i7"; 30 - }) 31 - # allow attestation using any supported algorithm 32 - (fetchpatch { 33 - url = "https://github.com/Yubico/libfido2/commit/f7a9471fa0588cb91cbefffb13c1e4d06c2179b7.patch"; 34 - sha256 = "02qbw9bqy3sixvwig6az7v3vimgznxnfikn9p1jczm3d7mn8asw2"; 35 - }) 36 - # fix EdDSA attestation signature verification bug 37 - (fetchpatch { 38 - url = "https://github.com/Yubico/libfido2/commit/95126eea52294419515e6540dfd7220f35664c48.patch"; 39 - sha256 = "076mwpl9xndjhy359jdv2drrwyq7wd3pampkn28mn1rlwxfgf0d0"; 40 - }) 41 - ]; 22 + buildInputs = [ hidapi libcbor openssl ] 23 + ++ stdenv.lib.optionals stdenv.isLinux [ udev ]; 42 24 43 25 cmakeFlags = [ 44 26 "-DUDEV_RULES_DIR=${placeholder "out"}/etc/udev/rules.d" 27 + "-DUSE_HIDAPI=1" 45 28 "-DCMAKE_INSTALL_LIBDIR=lib" 46 29 ]; 47 30
-11
pkgs/development/libraries/libfido2/detect_apple_ld.patch
··· 1 - --- a/CMakeLists.txt 2020-02-19 17:21:59.000000000 +0000 2 - +++ b/CMakeLists.txt 2020-02-23 15:57:34.241115306 +0000 3 - @@ -296,7 +296,7 @@ 4 - endif() 5 - 6 - # export list 7 - -if(CMAKE_C_COMPILER_ID STREQUAL "AppleClang") 8 - +if(APPLE AND CMAKE_C_COMPILER_ID STREQUAL "Clang" OR CMAKE_C_COMPILER_ID STREQUAL "AppleClang") 9 - # clang + lld 10 - string(CONCAT CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} 11 - " -exported_symbols_list ${CMAKE_CURRENT_SOURCE_DIR}/src/export.llvm")
+2 -2
pkgs/development/libraries/libinput/default.nix
··· 27 27 with stdenv.lib; 28 28 stdenv.mkDerivation rec { 29 29 pname = "libinput"; 30 - version = "1.15.3"; 30 + version = "1.15.4"; 31 31 32 32 src = fetchurl { 33 33 url = "https://www.freedesktop.org/software/libinput/${pname}-${version}.tar.xz"; 34 - sha256 = "0kb9i1xav8hmrl6g0qdq7jii589i9sjjrbh43fsc5284smyl44jv"; 34 + sha256 = "1ha5qyak1ka5npy5i6hzqfpii8samkj389mkppj4wdsfv536i2ww"; 35 35 }; 36 36 37 37 outputs = [ "bin" "out" "dev" ];
+3 -3
pkgs/development/libraries/libjpeg-turbo/default.nix
··· 3 3 stdenv.mkDerivation rec { 4 4 5 5 pname = "libjpeg-turbo"; 6 - version = "2.0.3"; 6 + version = "2.0.4"; 7 7 8 8 src = fetchurl { 9 9 url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz"; 10 - sha256 = "1ds16bnj17v6hzd43w8pzijz3imd9am4hw75ir0fxm240m8dwij2"; 10 + sha256 = "01ill8bgjyk582wipx7sh7gj2nidylpbzvwhx0wkcm6mxx3qbp9k"; 11 11 }; 12 12 13 13 patches = ··· 29 29 homepage = "http://libjpeg-turbo.virtualgl.org/"; 30 30 description = "A faster (using SIMD) libjpeg implementation"; 31 31 license = licenses.ijg; # and some parts under other BSD-style licenses 32 - maintainers = [ maintainers.vcunat ]; 32 + maintainers = with maintainers; [ vcunat colemickens ]; 33 33 platforms = platforms.all; 34 34 }; 35 35 }
+2 -2
pkgs/development/libraries/libnetfilter_conntrack/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "libnetfilter_conntrack"; 5 - version = "1.0.7"; 5 + version = "1.0.8"; 6 6 7 7 src = fetchurl { 8 8 url = "https://netfilter.org/projects/libnetfilter_conntrack/files/${pname}-${version}.tar.bz2"; 9 - sha256 = "1dl9z50yny04xi5pymlykwmy6hcfc9p4nd7m47697zwxw98m6s1k"; 9 + sha256 = "1ky1mqgnplw2h9jf0kn0a69d94jkydhbiipng9l2hdcj13h3pl8c"; 10 10 }; 11 11 12 12 buildInputs = [ libmnl ];
+2 -2
pkgs/development/libraries/librsvg/default.nix
··· 4 4 5 5 let 6 6 pname = "librsvg"; 7 - version = "2.48.0"; 7 + version = "2.48.2"; 8 8 in 9 9 stdenv.mkDerivation rec { 10 10 name = "${pname}-${version}"; 11 11 12 12 src = fetchurl { 13 13 url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; 14 - sha256 = "19ndf9l99wcrmkwcrk20vd1ggrwgldksfz1kkj786ljcrxv8nd2a"; 14 + sha256 = "1jmxd03fs8vkwycxpmx69kdfmgq52g64bhv82gmj3kjgw2h5h9i7"; 15 15 }; 16 16 17 17 outputs = [ "out" "dev" "installedTests" ];
+2 -2
pkgs/development/libraries/libsecret/default.nix
··· 4 4 5 5 stdenv.mkDerivation rec { 6 6 pname = "libsecret"; 7 - version = "0.20.1"; 7 + version = "0.20.2"; 8 8 9 9 src = fetchurl { 10 10 url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 11 - sha256 = "0ir4ynpf8b64xss1azvsi5x6697lik7hkf3z0xxa2qv2xja3xxsp"; 11 + sha256 = "1hzz34gmsxxf1jm1b7qin390rkwbg8sx198xdkwxqp3q6cw19sc1"; 12 12 }; 13 13 14 14 postPatch = ''
+2 -2
pkgs/development/libraries/libunwind/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "libunwind"; 5 - version = "1.3.1"; 5 + version = "1.4.0"; 6 6 7 7 src = fetchurl { 8 8 url = "mirror://savannah/libunwind/${pname}-${version}.tar.gz"; 9 - sha256 = "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3"; 9 + sha256 = "0dc46flppifrv2z0mrdqi60165ghxm1wk0g47vcbyzjdplqwjnfz"; 10 10 }; 11 11 12 12 patches = [ ./backtrace-only-with-glibc.patch ];
+3 -1
pkgs/development/libraries/libva/default.nix
··· 2 2 , libXext, libdrm, libXfixes, wayland, libffi, libX11 3 3 , libGL, mesa 4 4 , minimal ? false, libva-minimal 5 + , buildPackages 5 6 }: 6 7 7 8 stdenv.mkDerivation rec { ··· 18 19 19 20 outputs = [ "dev" "out" ]; 20 21 21 - nativeBuildInputs = [ autoreconfHook pkgconfig ]; 22 + nativeBuildInputs = [ autoreconfHook pkgconfig wayland ]; 22 23 23 24 buildInputs = [ libdrm ] 24 25 ++ lib.optionals (!minimal) [ libva-minimal libX11 libXext libXfixes wayland libffi libGL ]; ··· 29 30 configureFlags = [ 30 31 # Add FHS paths for non-NixOS applications. 31 32 "--with-drivers-path=${mesa.drivers.driverLink}/lib/dri:/usr/lib/dri:/usr/lib32/dri" 33 + "ac_cv_path_WAYLAND_SCANNER=${buildPackages.wayland}/bin/wayland-scanner" 32 34 ] ++ lib.optionals (!minimal) [ "--enable-glx" ]; 33 35 34 36 installFlags = [
+2 -2
pkgs/development/libraries/libvdpau/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "libvdpau"; 5 - version = "1.3"; 5 + version = "1.4"; 6 6 7 7 src = fetchurl { 8 8 url = "https://gitlab.freedesktop.org/vdpau/libvdpau/-/archive/${version}/${pname}-${version}.tar.bz2"; 9 - sha256 = "b5a52eeac9417edbc396f26c40591ba5df0cd18285f68d84614ef8f06196e50e"; 9 + sha256 = "0c1zsfr6ypzwv8g9z50kdahpb7pirarq4z8avqqyyma5b9684n22"; 10 10 }; 11 11 patches = [ ./installdir.patch ]; 12 12
+5
pkgs/development/libraries/libvisual/default.nix
··· 13 13 14 14 hardeningDisable = [ "format" ]; 15 15 16 + configureFlags = stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ 17 + "ac_cv_func_malloc_0_nonnull=yes" 18 + "ac_cv_func_realloc_0_nonnull=yes" 19 + ]; 20 + 16 21 meta = { 17 22 description = "An abstraction library for audio visualisations"; 18 23 homepage = "https://sourceforge.net/projects/libvisual/";
+1 -7
pkgs/development/libraries/libvpx/default.nix
··· 135 135 experimentalFpMbStatsSupport || 136 136 experimentalEmulateHardwareSupport) "experimental") 137 137 ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ 138 - #"--extra-cflags=" 139 - #"--extra-cxxflags=" 140 - #"--prefix=" 141 - #"--libc=" 142 - #"--libdir=" 143 - "--enable-external-build" 144 138 # libvpx darwin targets include darwin version (ie. ARCH-darwinXX-gcc, XX being the darwin version) 145 139 # See all_platforms: https://github.com/webmproject/libvpx/blob/master/configure 146 140 # Darwin versions: 10.4=8, 10.5=9, 10.6=10, 10.7=11, 10.8=12, 10.9=13, 10.10=14 147 - "--force-target=${stdenv.hostPlatform.config}${ 141 + "--force-target=${stdenv.hostPlatform.parsed.cpu.name}-${stdenv.hostPlatform.parsed.kernel.name}${ 148 142 if stdenv.hostPlatform.isDarwin then 149 143 if stdenv.hostPlatform.osxMinVersion == "10.10" then "14" 150 144 else if stdenv.hostPlatform.osxMinVersion == "10.9" then "13"
+6 -5
pkgs/development/libraries/libwacom/default.nix
··· 1 - { stdenv, fetchFromGitHub, meson, ninja, glib, pkgconfig, udev, libgudev }: 1 + { stdenv, fetchFromGitHub, meson, ninja, glib, pkgconfig, udev, libgudev, doxygen }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "libwacom"; 5 - version = "1.1"; 5 + version = "1.3"; 6 6 7 7 outputs = [ "out" "dev" ]; 8 8 ··· 10 10 owner = "linuxwacom"; 11 11 repo = "libwacom"; 12 12 rev = "libwacom-${version}"; 13 - sha256 = "037vnyfg7nim6h3f4m04w6a9pr6hi04df14qpys580kf5xnf87nz"; 13 + sha256 = "12g8jb67wj6sgg9ar2w8kkw1m1431rn9nd0j64qkrd3vy9g4l0hk"; 14 14 }; 15 15 16 - nativeBuildInputs = [ pkgconfig meson ninja ]; 16 + nativeBuildInputs = [ pkgconfig meson ninja doxygen ]; 17 17 18 - mesonFlags = [ "-Dtests=false" ]; 18 + mesonFlags = [ "-Dtests=disabled" ]; 19 19 20 20 buildInputs = [ glib udev libgudev ]; 21 21 ··· 23 23 platforms = platforms.linux; 24 24 homepage = "https://linuxwacom.github.io/"; 25 25 description = "Libraries, configuration, and diagnostic tools for Wacom tablets running under Linux"; 26 + maintainers = teams.freedesktop.members; 26 27 license = licenses.mit; 27 28 }; 28 29 }
+2 -2
pkgs/development/libraries/libyaml/default.nix
··· 5 5 6 6 stdenv.mkDerivation rec { 7 7 pname = "libyaml"; 8 - version = "0.2.2"; 8 + version = "0.2.3"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "yaml"; 12 12 repo = "libyaml"; 13 13 rev = version; 14 - sha256 = "0839nqcmxjzfgjn39j7740pnlsgmvngpkamiw1lfy1qlcqyc3r4v"; 14 + sha256 = "0a7n575rmm1xkz0sn455rzapm1w9mgqjk29hbmzp53zddqkphvsm"; 15 15 }; 16 16 17 17 nativeBuildInputs = [ autoreconfHook ];
+2 -2
pkgs/development/libraries/tinyxml/2.6.2.nix
··· 23 23 ./2.6.2-cxx.patch 24 24 ]; 25 25 26 - preConfigure = "export LD=${if stdenv.isDarwin then "clang++" else "g++"}"; 26 + preConfigure = "export LD=${stdenv.cc.targetPrefix}c++"; 27 27 28 28 hardeningDisable = [ "format" ]; 29 29 30 30 NIX_CFLAGS_COMPILE = 31 31 stdenv.lib.optionalString stdenv.isDarwin "-mmacosx-version-min=10.9"; 32 32 33 - buildInputs = [ unzip ]; 33 + nativeBuildInputs = [ unzip ]; 34 34 buildPhase = '' 35 35 # use STL (xbmc requires it) 36 36 sed '1i#define TIXML_USE_STL 1' -i tinyxml.h
+2 -2
pkgs/development/libraries/vulkan-loader/default.nix
··· 12 12 sha256 = "12n4mxc6db89258k8i47ql1zna7k94lkwv7lpxg39nm8ypa1ywrv"; 13 13 }; 14 14 15 - nativeBuildInputs = [ pkgconfig ]; 16 - buildInputs = [ cmake python3 xlibsWrapper libxcb libXrandr libXext wayland ]; 15 + nativeBuildInputs = [ pkgconfig cmake ]; 16 + buildInputs = [ python3 xlibsWrapper libxcb libXrandr libXext wayland ]; 17 17 enableParallelBuilding = true; 18 18 19 19 preConfigure = ''
+4 -2
pkgs/development/libraries/waylandpp/default.nix
··· 1 - { stdenv, fetchFromGitHub, cmake, pkgconfig, pugixml, wayland, libGL }: 1 + { stdenv, fetchFromGitHub, cmake, pkgconfig, pugixml, wayland, libGL, libffi, buildPackages }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "waylandpp"; ··· 11 11 sha256 = "16h57hzd688664qcyznzhjp3hxipdkzgv46x82yhkww24av8b55n"; 12 12 }; 13 13 14 + cmakeFlags = stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "-DWAYLAND_SCANNERPP=${buildPackages.waylandpp}/bin/wayland-scanner++"; 15 + 14 16 nativeBuildInputs = [ cmake pkgconfig ]; 15 - buildInputs = [ pugixml wayland libGL ]; 17 + buildInputs = [ pugixml wayland libGL libffi ]; 16 18 17 19 meta = with stdenv.lib; { 18 20 description = "Wayland C++ binding";
+45
pkgs/development/perl-modules/xml-parser-0001-HACK-Assumes-Expat-paths-are-good.patch
··· 1 + From e996904128653c67b04ddbdb1e10cef158098957 Mon Sep 17 00:00:00 2001 2 + From: Samuel Dionne-Riel <samuel@dionne-riel.com> 3 + Date: Fri, 6 Dec 2019 23:00:51 -0500 4 + Subject: [PATCH] [HACK]: Assumes Expat paths are good. 5 + 6 + The `check_lib` check fails with the cross-compilation build platform's 7 + Perl, since apparently `mktemp` is missing... 8 + 9 + Even then, side-stepping the issue, it seems it is not actually enough 10 + to work, as the compilation fails. 11 + --- 12 + Makefile.PL | 17 +++++++++++------ 13 + 1 file changed, 11 insertions(+), 6 deletions(-) 14 + 15 + diff --git a/Makefile.PL b/Makefile.PL 16 + index 505d1df..fc38b76 100644 17 + --- a/Makefile.PL 18 + +++ b/Makefile.PL 19 + @@ -29,12 +29,17 @@ foreach (@ARGV) { 20 + @ARGV = @replacement_args; 21 + 22 + unless ( 23 + - check_lib( # fill in what you prompted the user for here 24 + - lib => [qw(expat)], 25 + - header => ['expat.h'], 26 + - incpath => $expat_incpath, 27 + - ( $expat_libpath ? ( libpath => $expat_libpath ) : () ), 28 + - ) 29 + + #check_lib( # fill in what you prompted the user for here 30 + + # lib => [qw(expat)], 31 + + # header => ['expat.h'], 32 + + # incpath => $expat_incpath, 33 + + # ( $expat_libpath ? ( libpath => $expat_libpath ) : () ), 34 + + #) 35 + + # The check_lib implementation fails horribly with cross-compilation. 36 + + # We are giving known good paths to expat. 37 + + # And in all cases, the previous behaviour of not actually failing 38 + + # seemed to work just fine :/. 39 + + false 40 + ) { 41 + warn <<'Expat_Not_Installed;'; 42 + 43 + -- 44 + 2.23.0 45 +
+2 -2
pkgs/development/python-modules/python-dbusmock/default.nix
··· 44 44 45 45 checkInputs = [ 46 46 nose dbus dbus-python which pycodestyle pyflakes 47 - pygobject3 bluez bluez.test networkmanager 47 + pygobject3 bluez (lib.getOutput "test" bluez) networkmanager 48 48 ]; 49 49 50 50 checkPhase = '' 51 51 runHook preCheck 52 - export PATH="$PATH:${bluez.test}/test"; 52 + export PATH="$PATH:${lib.getOutput "test" bluez}/test"; 53 53 nosetests -v 54 54 runHook postCheck 55 55 '';
+12 -18
pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch
··· 1 1 --- a/mesonbuild/coredata.py 2 2 +++ b/mesonbuild/coredata.py 3 - @@ -375,18 +375,13 @@ 4 - ''' 5 - if option.endswith('dir') and os.path.isabs(value) and \ 3 + @@ -483,7 +483,6 @@ class CoreData: 4 + return value 5 + if option.endswith('dir') and value.is_absolute() and \ 6 6 option not in builtin_dir_noprefix_options: 7 7 - # Value must be a subdir of the prefix 8 8 # commonpath will always return a path in the native format, so we 9 9 # must use pathlib.PurePath to do the same conversion before 10 10 # comparing. 11 - - if os.path.commonpath([value, prefix]) != str(PurePath(prefix)): 12 - - m = 'The value of the {!r} option is {!r} which must be a ' \ 13 - - 'subdir of the prefix {!r}.\nNote that if you pass a ' \ 14 - - 'relative path, it is assumed to be a subdir of prefix.' 15 - - raise MesonException(m.format(option, value, prefix)) 16 - - # Convert path to be relative to prefix 17 - - skip = len(prefix) + 1 18 - - value = value[skip:] 19 - + if os.path.commonpath([value, prefix]) == str(PurePath(prefix)): 20 - + # Convert path to be relative to prefix 21 - + skip = len(prefix) + 1 22 - + value = value[skip:] 23 - return value 24 - 25 - def init_builtins(self): 11 + @@ -495,7 +494,7 @@ class CoreData: 12 + try: 13 + value = value.relative_to(prefix) 14 + except ValueError: 15 + - raise MesonException(msg.format(option, value, prefix)) 16 + + pass 17 + if '..' in str(value): 18 + raise MesonException(msg.format(option, value, prefix)) 19 + return value.as_posix()
+2 -2
pkgs/development/tools/build-managers/meson/default.nix
··· 19 19 in 20 20 python3Packages.buildPythonApplication rec { 21 21 pname = "meson"; 22 - version = "0.53.2"; 22 + version = "0.54.0"; 23 23 24 24 src = python3Packages.fetchPypi { 25 25 inherit pname version; 26 - sha256 = "Po+DDzMYQ5fC6wtlHsUCrbY97LKJeL3ISzVY1xKEwh8="; 26 + sha256 = "3eVybXeBEqy9Sme7NjOrLuddM9HoeaYoOntKRMM2PCc="; 27 27 }; 28 28 29 29 postFixup = ''
+2 -2
pkgs/development/tools/build-managers/waf/default.nix
··· 8 8 in 9 9 stdenv.mkDerivation rec { 10 10 pname = "waf"; 11 - version = "2.0.19"; 11 + version = "2.0.20"; 12 12 13 13 src = fetchFromGitLab { 14 14 owner = "ita1024"; 15 15 repo = "waf"; 16 16 rev = "${pname}-${version}"; 17 - sha256 = "1ydmx20blr776qnmnqp0whyiy81a3glln49m9fva2cmampmandpb"; 17 + sha256 = "1xbd1lmchq9pdrplkr2db28xqafyw753qbhnrfn8pxdg3inxxqvq"; 18 18 }; 19 19 20 20 buildInputs = [ python ensureNewerSourcesForZipFilesHook ];
+2 -2
pkgs/development/tools/documentation/doxygen/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 5 - name = "doxygen-1.8.17"; 5 + name = "doxygen-1.8.18"; 6 6 7 7 src = fetchurl { 8 8 urls = [ 9 9 "mirror://sourceforge/doxygen/${name}.src.tar.gz" # faster, with https, etc. 10 10 "http://doxygen.nl/files/${name}.src.tar.gz" 11 11 ]; 12 - sha256 = "16dmv0gm1x8rvbm82fmjvi213q8fxqxinm75pcf595flya59ific"; 12 + sha256 = "0mh6s1ri1fs5yb27m0avnjsbcxpchgb9aaprq4bd3lj6vjg3s5qq"; 13 13 }; 14 14 15 15 nativeBuildInputs = [
+2 -2
pkgs/development/tools/parsing/bison/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "bison"; 5 - version = "3.5.2"; 5 + version = "3.5.4"; 6 6 7 7 src = fetchurl { 8 8 url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz"; 9 - sha256 = "1ylls1ba8y62q78vnzawy4ajpjkk5580crgi8krvfk8g13fvdnxl"; 9 + sha256 = "0a2cbrqh7mgx2dwf5qm10v68iakv1i0dqh9di4x5aqxsz96ibpf0"; 10 10 }; 11 11 12 12 nativeBuildInputs = [ m4 perl ] ++ stdenv.lib.optional stdenv.isSunOS help2man;
+2 -2
pkgs/development/tools/parsing/byacc/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "byacc"; 5 - version = "20191125"; 5 + version = "20200330"; 6 6 7 7 src = fetchurl { 8 8 urls = [ 9 9 "ftp://ftp.invisible-island.net/byacc/${pname}-${version}.tgz" 10 10 "https://invisible-mirror.net/archives/byacc/${pname}-${version}.tgz" 11 11 ]; 12 - sha256 = "1phw8410ly3msv03dmjfi8xkmrl1lrrk928fp1489amg6sz2w707"; 12 + sha256 = "1c0zyn6v286i09jlc8gx6jyaa5438qyy985rqsd76kb8ibfy56g0"; 13 13 }; 14 14 15 15 configureFlags = [
+8 -2
pkgs/misc/emulators/retroarch/default.nix
··· 15 15 , enableNvidiaCgToolkit ? false, nvidia_cg_toolkit ? null 16 16 , withVulkan ? stdenv.isLinux, vulkan-loader ? null 17 17 , fetchurl 18 + , wayland 19 + , libxkbcommon 18 20 }: 19 21 20 22 with stdenv.lib; ··· 30 32 rev = "v${version}"; 31 33 }; 32 34 33 - nativeBuildInputs = [ pkgconfig ] 35 + nativeBuildInputs = [ pkgconfig wayland ] 34 36 ++ optional withVulkan makeWrapper; 35 37 36 38 buildInputs = [ ffmpeg freetype libxml2 libGLU libGL python3 SDL2 which ] ··· 38 40 ++ optional withVulkan vulkan-loader 39 41 ++ optionals stdenv.isDarwin [ libobjc AppKit Foundation ] 40 42 ++ optionals stdenv.isLinux [ alsaLib libdrm libpulseaudio libv4l libX11 41 - libXdmcp libXext libXxf86vm mesa udev ]; 43 + libXdmcp libXext libXxf86vm mesa udev 44 + wayland libxkbcommon ]; 45 + 46 + # we use prefix-less pkg-config 47 + PKG_CONF_PATH = "pkg-config"; 42 48 43 49 enableParallelBuilding = true; 44 50
+3 -1
pkgs/os-specific/linux/alsa-plugins/default.nix
··· 9 9 sha256 = "0z9k3ssbfk2ky2w13avgyf202j1drsz9sv3834bp33cj1i2hc3qw"; 10 10 }; 11 11 12 + nativeBuildInputs = [ pkgconfig ]; 13 + 12 14 # ToDo: a52, etc.? 13 15 buildInputs = 14 - [ pkgconfig alsaLib libogg ] 16 + [ alsaLib libogg ] 15 17 ++ lib.optional (libpulseaudio != null) libpulseaudio 16 18 ++ lib.optional (libjack2 != null) libjack2; 17 19
+11 -13
pkgs/os-specific/linux/bluez/default.nix
··· 11 11 , readline 12 12 , systemd 13 13 , udev 14 - }: 15 - 16 - stdenv.mkDerivation rec { 14 + }: let 15 + pythonPath = with python3.pkgs; [ 16 + dbus-python 17 + pygobject3 18 + recursivePthLoader 19 + ]; 20 + in stdenv.mkDerivation rec { 17 21 pname = "bluez"; 18 22 version = "5.54"; 19 23 ··· 22 26 sha256 = "1p2ncvjz6alr9n3l5wvq2arqgc7xjs6dqyar1l9jp0z8cfgapkb8"; 23 27 }; 24 28 25 - pythonPath = with python3.pkgs; [ 26 - dbus-python 27 - pygobject3 28 - recursivePthLoader 29 - ]; 30 - 31 29 buildInputs = [ 32 30 alsaLib 33 31 dbus ··· 44 42 python3.pkgs.wrapPython 45 43 ]; 46 44 47 - outputs = [ "out" "dev" "test" ]; 45 + outputs = [ "out" "dev" ] ++ lib.optional doCheck "test"; 48 46 49 47 postPatch = '' 50 48 substituteInPlace tools/hid2hci.rules \ ··· 79 77 80 78 doCheck = stdenv.hostPlatform.isx86_64; 81 79 82 - postInstall = '' 80 + postInstall = lib.optionalString doCheck '' 83 81 mkdir -p $test/{bin,test} 84 82 cp -a test $test 85 83 pushd $test/test ··· 94 92 ln -s ../test/$a $test/bin/bluez-$a 95 93 done 96 94 popd 97 - wrapPythonProgramsIn $test/test "$test/test $pythonPath" 98 - 95 + wrapPythonProgramsIn $test/test "$test/test ${toString pythonPath}" 96 + '' + '' 99 97 # for bluez4 compatibility for NixOS 100 98 mkdir $out/sbin 101 99 ln -s ../libexec/bluetooth/bluetoothd $out/sbin/bluetoothd
+10 -15
pkgs/os-specific/linux/iproute/default.nix
··· 1 - { fetchurl, stdenv, flex, bash, bison, db, iptables, pkgconfig, libelf, libmnl }: 1 + { stdenv, fetchurl 2 + , buildPackages, bison, flex, pkg-config 3 + , db, iptables, libelf, libmnl 4 + }: 2 5 3 6 stdenv.mkDerivation rec { 4 7 pname = "iproute2"; 5 - version = "5.5.0"; 8 + version = "5.6.0"; 6 9 7 10 src = fetchurl { 8 11 url = "mirror://kernel/linux/utils/net/${pname}/${pname}-${version}.tar.xz"; 9 - sha256 = "0ywg70f98wgfai35jl47xzpjp45a6n7crja4vc8ql85cbi1l7ids"; 12 + sha256 = "14j6n1bc09xhq8lxs40vfsx8bb8lx12a07ga4rsxl8vfrqjhwnqv"; 10 13 }; 11 14 12 15 preConfigure = '' 13 - patchShebangs ./configure 16 + # Don't try to create /var/lib/arpd: 14 17 sed -e '/ARPDDIR/d' -i Makefile 15 - # Don't build netem tools--they're not installed and require HOSTCC 16 - substituteInPlace Makefile --replace " netem " " " 17 18 ''; 18 19 19 20 outputs = [ "out" "dev" ]; 20 21 21 22 makeFlags = [ 22 - "DESTDIR=" 23 - "LIBDIR=$(out)/lib" 23 + "PREFIX=$(out)" 24 24 "SBINDIR=$(out)/sbin" 25 - "MANDIR=$(out)/share/man" 26 - "BASH_COMPDIR=$(out)/share/bash-completion/completions" 27 25 "DOCDIR=$(TMPDIR)/share/doc/${pname}" # Don't install docs 28 26 "HDRDIR=$(dev)/include/iproute2" 29 27 ]; ··· 36 34 "CONFDIR=$(out)/etc/iproute2" 37 35 ]; 38 36 37 + depsBuildBuild = [ buildPackages.stdenv.cc ]; # netem requires $HOSTCC 38 + nativeBuildInputs = [ bison flex pkg-config ]; 39 39 buildInputs = [ db iptables libelf libmnl ]; 40 - nativeBuildInputs = [ bison flex pkgconfig ]; 41 40 42 41 enableParallelBuilding = true; 43 - 44 - postInstall = '' 45 - PATH=${bash}/bin:$PATH patchShebangs $out/sbin 46 - ''; 47 42 48 43 meta = with stdenv.lib; { 49 44 homepage = "https://wiki.linuxfoundation.org/networking/iproute2";
+5
pkgs/os-specific/linux/kernel/common-config.nix
··· 122 122 XDP_SOCKETS = whenAtLeast "4.19" yes; 123 123 XDP_SOCKETS_DIAG = whenAtLeast "4.19" yes; 124 124 WAN = yes; 125 + TCP_CONG_CUBIC = yes; # This is the default congestion control algorithm since 2.6.19 125 126 # Required by systemd per-cgroup firewalling 126 127 CGROUP_BPF = option yes; 127 128 CGROUP_NET_PRIO = yes; # Required by systemd ··· 176 177 # Bridge Netfilter Configuration 177 178 NF_TABLES_BRIDGE = mkMerge [ (whenBetween "4.19" "5.3" yes) 178 179 (whenAtLeast "5.3" module) ]; 180 + 181 + # needed for `dropwatch` 182 + # Builtin-only since https://github.com/torvalds/linux/commit/f4b6bcc7002f0e3a3428bac33cf1945abff95450 183 + NET_DROP_MONITOR = yes; 179 184 180 185 # needed for ss 181 186 INET_DIAG = yes;
+2 -1
pkgs/os-specific/linux/plymouth/default.nix
··· 1 1 { stdenv, fetchurl, autoreconfHook, pkgconfig, libxslt, docbook_xsl 2 - , gtk3, udev, systemd 2 + , gtk3, udev, systemd, lib 3 3 }: 4 4 5 5 stdenv.mkDerivation rec { ··· 44 44 "--enable-pango" 45 45 "--enable-gdm-transition" 46 46 "--enable-gtk" 47 + "ac_cv_path_SYSTEMD_ASK_PASSWORD_AGENT=${lib.getBin systemd}/bin/systemd-tty-ask-password-agent" 47 48 ]; 48 49 49 50 configurePlatforms = [ "host" ];
+32
pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch
··· 1 + From a6c9317a905ef478b8e0d3dad263990feb5d11cb Mon Sep 17 00:00:00 2001 2 + From: Eelco Dolstra <eelco.dolstra@logicblox.com> 3 + Date: Tue, 8 Jan 2013 15:46:30 +0100 4 + Subject: [PATCH 01/27] Start device units for uninitialised encrypted devices 5 + 6 + This is necessary because the NixOS service that initialises the 7 + filesystem depends on the appearance of the device unit. Also, this 8 + makes more sense to me: the device is ready; it's the filesystem 9 + that's not, but taking care of that is the responsibility of the mount 10 + unit. (However, this ignores the fsck unit, so it's not perfect...) 11 + --- 12 + rules.d/99-systemd.rules.in | 4 ---- 13 + 1 file changed, 4 deletions(-) 14 + 15 + diff --git a/rules.d/99-systemd.rules.in b/rules.d/99-systemd.rules.in 16 + index c34b606216..3ab8c1c3fe 100644 17 + --- a/rules.d/99-systemd.rules.in 18 + +++ b/rules.d/99-systemd.rules.in 19 + @@ -17,10 +17,6 @@ SUBSYSTEM=="ubi", TAG+="systemd" 20 + SUBSYSTEM=="block", TAG+="systemd" 21 + SUBSYSTEM=="block", ACTION=="add", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0" 22 + 23 + -# Ignore encrypted devices with no identified superblock on it, since 24 + -# we are probably still calling mke2fs or mkswap on it. 25 + -SUBSYSTEM=="block", ENV{DM_UUID}=="CRYPT-*", ENV{ID_PART_TABLE_TYPE}=="", ENV{ID_FS_USAGE}=="", ENV{SYSTEMD_READY}="0" 26 + - 27 + # add symlink to GPT root disk 28 + SUBSYSTEM=="block", ENV{ID_PART_GPT_AUTO_ROOT}=="1", ENV{ID_FS_TYPE}!="crypto_LUKS", SYMLINK+="gpt-auto-root" 29 + SUBSYSTEM=="block", ENV{ID_PART_GPT_AUTO_ROOT}=="1", ENV{ID_FS_TYPE}=="crypto_LUKS", SYMLINK+="gpt-auto-root-luks" 30 + -- 31 + 2.24.1 32 +
+42
pkgs/os-specific/linux/systemd/0003-Don-t-try-to-unmount-nix-or-nix-store.patch
··· 1 + From fd9c882581877eef8ba1b34a9502a1ff546b3833 Mon Sep 17 00:00:00 2001 2 + From: Eelco Dolstra <eelco.dolstra@logicblox.com> 3 + Date: Fri, 12 Apr 2013 13:16:57 +0200 4 + Subject: [PATCH 03/27] Don't try to unmount /nix or /nix/store 5 + 6 + They'll still be remounted read-only. 7 + 8 + https://github.com/NixOS/nixos/issues/126 9 + --- 10 + src/core/mount.c | 4 +++- 11 + src/shutdown/umount.c | 2 ++ 12 + 2 files changed, 5 insertions(+), 1 deletion(-) 13 + 14 + diff --git a/src/core/mount.c b/src/core/mount.c 15 + index a0dfa6a1a7..4ca6adcdc6 100644 16 + --- a/src/core/mount.c 17 + +++ b/src/core/mount.c 18 + @@ -414,6 +414,8 @@ static bool mount_is_extrinsic(Mount *m) { 19 + 20 + if (PATH_IN_SET(m->where, /* Don't bother with the OS data itself */ 21 + "/", /* (strictly speaking redundant: should already be covered by the perpetual flag check above) */ 22 + + "/nix", 23 + + "/nix/store", 24 + "/usr", 25 + "/etc")) 26 + return true; 27 + diff --git a/src/shutdown/umount.c b/src/shutdown/umount.c 28 + index 2d07d3d6c1..8b112f464e 100644 29 + --- a/src/shutdown/umount.c 30 + +++ b/src/shutdown/umount.c 31 + @@ -373,6 +373,8 @@ static int delete_dm(dev_t devnum) { 32 + 33 + static bool nonunmountable_path(const char *path) { 34 + return path_equal(path, "/") 35 + + || path_equal(path, "/nix") 36 + + || path_equal(path, "/nix/store") 37 + #if ! HAVE_SPLIT_USR 38 + || path_equal(path, "/usr") 39 + #endif 40 + -- 41 + 2.25.1 42 +
+34
pkgs/os-specific/linux/systemd/0004-Fix-NixOS-containers.patch
··· 1 + From 58c4a7b4e9d9c34b92deded6aea814738821059d Mon Sep 17 00:00:00 2001 2 + From: Eelco Dolstra <eelco.dolstra@logicblox.com> 3 + Date: Wed, 16 Apr 2014 10:59:28 +0200 4 + Subject: [PATCH 04/27] Fix NixOS containers 5 + 6 + In NixOS containers, the init script is bind-mounted into the 7 + container, so checking early whether it exists will fail. 8 + --- 9 + src/nspawn/nspawn.c | 2 ++ 10 + 1 file changed, 2 insertions(+) 11 + 12 + diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c 13 + index 5d9290b1cf..26615901c3 100644 14 + --- a/src/nspawn/nspawn.c 15 + +++ b/src/nspawn/nspawn.c 16 + @@ -4924,6 +4924,7 @@ static int run(int argc, char *argv[]) { 17 + goto finish; 18 + } 19 + } else { 20 + +#if 0 21 + const char *p, *q; 22 + 23 + if (arg_pivot_root_new) 24 + @@ -4938,6 +4939,7 @@ static int run(int argc, char *argv[]) { 25 + r = -EINVAL; 26 + goto finish; 27 + } 28 + +#endif 29 + } 30 + 31 + } else { 32 + -- 33 + 2.24.1 34 +
+25
pkgs/os-specific/linux/systemd/0006-Look-for-fsck-in-the-right-place.patch
··· 1 + From c841ffab8fb6174b51382b9d4334f78c74018730 Mon Sep 17 00:00:00 2001 2 + From: Eelco Dolstra <eelco.dolstra@logicblox.com> 3 + Date: Thu, 1 May 2014 14:10:10 +0200 4 + Subject: [PATCH 06/27] Look for fsck in the right place 5 + 6 + --- 7 + src/fsck/fsck.c | 2 +- 8 + 1 file changed, 1 insertion(+), 1 deletion(-) 9 + 10 + diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c 11 + index 55e6544d31..3626aadda7 100644 12 + --- a/src/fsck/fsck.c 13 + +++ b/src/fsck/fsck.c 14 + @@ -371,7 +371,7 @@ static int run(int argc, char *argv[]) { 15 + } else 16 + dash_c[0] = 0; 17 + 18 + - cmdline[i++] = "/sbin/fsck"; 19 + + cmdline[i++] = "/run/current-system/sw/bin/fsck"; 20 + cmdline[i++] = arg_repair; 21 + cmdline[i++] = "-T"; 22 + 23 + -- 24 + 2.24.1 25 +
+107
pkgs/os-specific/linux/systemd/0007-Add-some-NixOS-specific-unit-directories.patch
··· 1 + From 8c0be07ccbad35d0c1106015057996aa55b9a1f9 Mon Sep 17 00:00:00 2001 2 + From: Eelco Dolstra <eelco.dolstra@logicblox.com> 3 + Date: Fri, 19 Dec 2014 14:46:17 +0100 4 + Subject: [PATCH 07/27] Add some NixOS-specific unit directories 5 + 6 + Look in /nix/var/nix/profiles/default/lib/systemd for units provided 7 + by packages in the default (system-wide) profile, and in 8 + /etc/systemd-mutable/system for persistent, mutable units (not 9 + recommended). 10 + 11 + Also, remove /usr and /lib as these don't exist on NixOS. 12 + --- 13 + src/core/systemd.pc.in | 4 ++-- 14 + src/shared/path-lookup.c | 18 +++++------------- 15 + 2 files changed, 7 insertions(+), 15 deletions(-) 16 + 17 + diff --git a/src/core/systemd.pc.in b/src/core/systemd.pc.in 18 + index 5d1ddd7620..21b977d6fc 100644 19 + --- a/src/core/systemd.pc.in 20 + +++ b/src/core/systemd.pc.in 21 + @@ -17,8 +17,8 @@ systemduserunitdir=${prefix}/lib/systemd/user 22 + systemduserpresetdir=${prefix}/lib/systemd/user-preset 23 + systemdsystemconfdir=${sysconfdir}/systemd/system 24 + systemduserconfdir=${sysconfdir}/systemd/user 25 + -systemdsystemunitpath=${systemdsystemconfdir}:/etc/systemd/system:/run/systemd/system:/usr/local/lib/systemd/system:${systemdsystemunitdir}:/usr/lib/systemd/system:/lib/systemd/system 26 + -systemduserunitpath=${systemduserconfdir}:/etc/systemd/user:/run/systemd/user:/usr/local/lib/systemd/user:/usr/local/share/systemd/user:${systemduserunitdir}:/usr/lib/systemd/user:/usr/share/systemd/user 27 + +systemdsystemunitpath=${systemdsystemconfdir}:/etc/systemd/system:/etc/systemd-mutable/system:/nix/var/nix/profiles/default/lib/systemd/user:/run/systemd/system:${systemdsystemunitdir} 28 + +systemduserunitpath=${systemduserconfdir}:/etc/systemd/user:/etc/systemd-mutable/user:/nix/var/nix/profiles/default/lib/systemd/system:/run/systemd/user:${systemduserunitdir} 29 + systemdsystemgeneratordir=${rootprefix}/lib/systemd/system-generators 30 + systemdusergeneratordir=${prefix}/lib/systemd/user-generators 31 + systemdsleepdir=${rootprefix}/lib/systemd/system-sleep 32 + diff --git a/src/shared/path-lookup.c b/src/shared/path-lookup.c 33 + index 6bf0ff0316..2b6324ad8c 100644 34 + --- a/src/shared/path-lookup.c 35 + +++ b/src/shared/path-lookup.c 36 + @@ -99,17 +99,14 @@ int xdg_user_data_dir(char **ret, const char *suffix) { 37 + } 38 + 39 + static const char* const user_data_unit_paths[] = { 40 + - "/usr/local/lib/systemd/user", 41 + - "/usr/local/share/systemd/user", 42 + USER_DATA_UNIT_PATH, 43 + - "/usr/lib/systemd/user", 44 + - "/usr/share/systemd/user", 45 + NULL 46 + }; 47 + 48 + static const char* const user_config_unit_paths[] = { 49 + USER_CONFIG_UNIT_PATH, 50 + "/etc/systemd/user", 51 + + "/etc/systemd-mutable/user", 52 + NULL 53 + }; 54 + 55 + @@ -604,15 +601,14 @@ int lookup_paths_init( 56 + persistent_config, 57 + SYSTEM_CONFIG_UNIT_PATH, 58 + "/etc/systemd/system", 59 + + "/etc/systemd-mutable/system", 60 + + "/nix/var/nix/profiles/default/lib/systemd/system", 61 + STRV_IFNOTNULL(persistent_attached), 62 + runtime_config, 63 + "/run/systemd/system", 64 + STRV_IFNOTNULL(runtime_attached), 65 + STRV_IFNOTNULL(generator), 66 + - "/usr/local/lib/systemd/system", 67 + SYSTEM_DATA_UNIT_PATH, 68 + - "/usr/lib/systemd/system", 69 + - STRV_IFNOTNULL(flags & LOOKUP_PATHS_SPLIT_USR ? "/lib/systemd/system" : NULL), 70 + STRV_IFNOTNULL(generator_late)); 71 + break; 72 + 73 + @@ -628,14 +624,12 @@ int lookup_paths_init( 74 + persistent_config, 75 + USER_CONFIG_UNIT_PATH, 76 + "/etc/systemd/user", 77 + + "/etc/systemd-mutable/user", 78 + + "/nix/var/nix/profiles/default/lib/systemd/user", 79 + runtime_config, 80 + "/run/systemd/user", 81 + STRV_IFNOTNULL(generator), 82 + - "/usr/local/share/systemd/user", 83 + - "/usr/share/systemd/user", 84 + - "/usr/local/lib/systemd/user", 85 + USER_DATA_UNIT_PATH, 86 + - "/usr/lib/systemd/user", 87 + STRV_IFNOTNULL(generator_late)); 88 + break; 89 + 90 + @@ -824,14 +818,12 @@ char **generator_binary_paths(UnitFileScope scope) { 91 + case UNIT_FILE_SYSTEM: 92 + return strv_new("/run/systemd/system-generators", 93 + "/etc/systemd/system-generators", 94 + - "/usr/local/lib/systemd/system-generators", 95 + SYSTEM_GENERATOR_PATH); 96 + 97 + case UNIT_FILE_GLOBAL: 98 + case UNIT_FILE_USER: 99 + return strv_new("/run/systemd/user-generators", 100 + "/etc/systemd/user-generators", 101 + - "/usr/local/lib/systemd/user-generators", 102 + USER_GENERATOR_PATH); 103 + 104 + default: 105 + -- 106 + 2.24.1 107 +
+31
pkgs/os-specific/linux/systemd/0009-Get-rid-of-a-useless-message-in-user-sessions.patch
··· 1 + From 99c86daa5244d45a19f75f6ce92bd4255edef420 Mon Sep 17 00:00:00 2001 2 + From: Eelco Dolstra <eelco.dolstra@logicblox.com> 3 + Date: Mon, 11 May 2015 15:39:38 +0200 4 + Subject: [PATCH 09/27] Get rid of a useless message in user sessions 5 + 6 + Namely lots of variants of 7 + 8 + Unit nix-var-nix-db.mount is bound to inactive unit dev-disk-by\x2dlabel-nixos.device. Stopping, too. 9 + 10 + in containers. 11 + --- 12 + src/core/unit.c | 3 ++- 13 + 1 file changed, 2 insertions(+), 1 deletion(-) 14 + 15 + diff --git a/src/core/unit.c b/src/core/unit.c 16 + index a1dc76aa6a..07670af8e2 100644 17 + --- a/src/core/unit.c 18 + +++ b/src/core/unit.c 19 + @@ -2045,7 +2045,8 @@ static void unit_check_binds_to(Unit *u) { 20 + } 21 + 22 + assert(other); 23 + - log_unit_info(u, "Unit is bound to inactive unit %s. Stopping, too.", other->id); 24 + + if (u->type != UNIT_MOUNT || detect_container() <= 0) 25 + + log_unit_info(u, "Unit is bound to inactive unit %s. Stopping, too.", other->id); 26 + 27 + /* A unit we need to run is gone. Sniff. Let's stop this. */ 28 + r = manager_add_job(u->manager, JOB_STOP, u, JOB_FAIL, NULL, &error, NULL); 29 + -- 30 + 2.24.1 31 +
+118
pkgs/os-specific/linux/systemd/0010-hostnamed-localed-timedated-disable-methods-that-cha.patch
··· 1 + From cec1430f72edfedb951fe34e87765ef422ea9843 Mon Sep 17 00:00:00 2001 2 + From: Gabriel Ebner <gebner@gebner.org> 3 + Date: Sun, 6 Dec 2015 14:26:36 +0100 4 + Subject: [PATCH 10/27] hostnamed, localed, timedated: disable methods that 5 + change system settings. 6 + 7 + --- 8 + src/hostname/hostnamed.c | 9 +++++++++ 9 + src/locale/localed.c | 9 +++++++++ 10 + src/timedate/timedated.c | 10 ++++++++++ 11 + 3 files changed, 28 insertions(+) 12 + 13 + diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c 14 + index 9e4f4fb59e..141b8acc08 100644 15 + --- a/src/hostname/hostnamed.c 16 + +++ b/src/hostname/hostnamed.c 17 + @@ -423,6 +423,9 @@ static int method_set_hostname(sd_bus_message *m, void *userdata, sd_bus_error * 18 + if (r < 0) 19 + return r; 20 + 21 + + return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, 22 + + "Changing system settings via systemd is not supported on NixOS."); 23 + + 24 + if (isempty(name)) 25 + name = c->data[PROP_STATIC_HOSTNAME]; 26 + 27 + @@ -479,6 +482,9 @@ static int method_set_static_hostname(sd_bus_message *m, void *userdata, sd_bus_ 28 + if (r < 0) 29 + return r; 30 + 31 + + return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, 32 + + "Changing system settings via systemd is not supported on NixOS."); 33 + + 34 + name = empty_to_null(name); 35 + 36 + if (streq_ptr(name, c->data[PROP_STATIC_HOSTNAME])) 37 + @@ -536,6 +542,9 @@ static int set_machine_info(Context *c, sd_bus_message *m, int prop, sd_bus_mess 38 + if (r < 0) 39 + return r; 40 + 41 + + return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, 42 + + "Changing system settings via systemd is not supported on NixOS."); 43 + + 44 + name = empty_to_null(name); 45 + 46 + if (streq_ptr(name, c->data[prop])) 47 + diff --git a/src/locale/localed.c b/src/locale/localed.c 48 + index 8d0eec96a5..0b1c1d664e 100644 49 + --- a/src/locale/localed.c 50 + +++ b/src/locale/localed.c 51 + @@ -276,6 +276,9 @@ static int method_set_locale(sd_bus_message *m, void *userdata, sd_bus_error *er 52 + if (r < 0) 53 + return r; 54 + 55 + + return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, 56 + + "Changing system settings via systemd is not supported on NixOS."); 57 + + 58 + /* If single locale without variable name is provided, then we assume it is LANG=. */ 59 + if (strv_length(l) == 1 && !strchr(*l, '=')) { 60 + if (!locale_is_valid(*l)) 61 + @@ -411,6 +414,9 @@ static int method_set_vc_keyboard(sd_bus_message *m, void *userdata, sd_bus_erro 62 + if (r < 0) 63 + return r; 64 + 65 + + return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, 66 + + "Changing system settings via systemd is not supported on NixOS."); 67 + + 68 + keymap = empty_to_null(keymap); 69 + keymap_toggle = empty_to_null(keymap_toggle); 70 + 71 + @@ -587,6 +593,9 @@ static int method_set_x11_keyboard(sd_bus_message *m, void *userdata, sd_bus_err 72 + if (r < 0) 73 + return r; 74 + 75 + + return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, 76 + + "Changing system settings via systemd is not supported on NixOS."); 77 + + 78 + layout = empty_to_null(layout); 79 + model = empty_to_null(model); 80 + variant = empty_to_null(variant); 81 + diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c 82 + index 6c94b23de4..fa20d22cde 100644 83 + --- a/src/timedate/timedated.c 84 + +++ b/src/timedate/timedated.c 85 + @@ -653,6 +653,10 @@ static int method_set_timezone(sd_bus_message *m, void *userdata, sd_bus_error * 86 + if (r < 0) 87 + return r; 88 + 89 + + if (getenv("NIXOS_STATIC_TIMEZONE")) 90 + + return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, 91 + + "Changing timezone via systemd is not supported when it is set in NixOS configuration."); 92 + + 93 + if (!timezone_is_valid(z, LOG_DEBUG)) 94 + return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid or not installed time zone '%s'", z); 95 + 96 + @@ -732,6 +736,9 @@ static int method_set_local_rtc(sd_bus_message *m, void *userdata, sd_bus_error 97 + if (r < 0) 98 + return r; 99 + 100 + + return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, 101 + + "Changing system settings via systemd is not supported on NixOS."); 102 + + 103 + if (lrtc == c->local_rtc) 104 + return sd_bus_reply_method_return(m, NULL); 105 + 106 + @@ -924,6 +931,9 @@ static int method_set_ntp(sd_bus_message *m, void *userdata, sd_bus_error *error 107 + if (r < 0) 108 + return r; 109 + 110 + + return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, 111 + + "Changing system settings via systemd is not supported on NixOS."); 112 + + 113 + r = context_update_ntp_status(c, bus, m); 114 + if (r < 0) 115 + return r; 116 + -- 117 + 2.24.1 118 +
+32
pkgs/os-specific/linux/systemd/0011-Fix-hwdb-paths.patch
··· 1 + From 0f434c6baee63eff913f36aee839df3718a75d4a Mon Sep 17 00:00:00 2001 2 + From: Nikolay Amiantov <ab@fmap.me> 3 + Date: Thu, 7 Jul 2016 02:47:13 +0300 4 + Subject: [PATCH 11/27] Fix hwdb paths 5 + 6 + Patch by vcunat. 7 + --- 8 + src/libsystemd/sd-hwdb/sd-hwdb.c | 7 +------ 9 + 1 file changed, 1 insertion(+), 6 deletions(-) 10 + 11 + diff --git a/src/libsystemd/sd-hwdb/sd-hwdb.c b/src/libsystemd/sd-hwdb/sd-hwdb.c 12 + index 58124abd21..d80e408b8c 100644 13 + --- a/src/libsystemd/sd-hwdb/sd-hwdb.c 14 + +++ b/src/libsystemd/sd-hwdb/sd-hwdb.c 15 + @@ -298,13 +298,8 @@ static int trie_search_f(sd_hwdb *hwdb, const char *search) { 16 + } 17 + 18 + static const char hwdb_bin_paths[] = 19 + - "/etc/systemd/hwdb/hwdb.bin\0" 20 + "/etc/udev/hwdb.bin\0" 21 + - "/usr/lib/systemd/hwdb/hwdb.bin\0" 22 + -#if HAVE_SPLIT_USR 23 + - "/lib/systemd/hwdb/hwdb.bin\0" 24 + -#endif 25 + - UDEVLIBEXECDIR "/hwdb.bin\0"; 26 + + ; 27 + 28 + _public_ int sd_hwdb_new(sd_hwdb **ret) { 29 + _cleanup_(sd_hwdb_unrefp) sd_hwdb *hwdb = NULL; 30 + -- 31 + 2.24.1 32 +
+132
pkgs/os-specific/linux/systemd/0012-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch
··· 1 + From 78479b75c9f9342646223b3db6b4b0744817dc24 Mon Sep 17 00:00:00 2001 2 + From: Nikolay Amiantov <ab@fmap.me> 3 + Date: Tue, 11 Oct 2016 13:12:08 +0300 4 + Subject: [PATCH] Change /usr/share/zoneinfo to /etc/zoneinfo 5 + 6 + NixOS uses this path. 7 + --- 8 + man/localtime.xml | 4 ++-- 9 + src/basic/time-util.c | 6 +++--- 10 + src/firstboot/firstboot.c | 2 +- 11 + src/nspawn/nspawn.c | 4 ++-- 12 + src/timedate/timedated.c | 8 ++++---- 13 + 5 files changed, 12 insertions(+), 12 deletions(-) 14 + 15 + diff --git a/man/localtime.xml b/man/localtime.xml 16 + index 0f1652ee2e..71c4f95c2e 100644 17 + --- a/man/localtime.xml 18 + +++ b/man/localtime.xml 19 + @@ -20,7 +20,7 @@ 20 + </refnamediv> 21 + 22 + <refsynopsisdiv> 23 + - <para><filename>/etc/localtime</filename> -&gt; <filename>../usr/share/zoneinfo/…</filename></para> 24 + + <para><filename>/etc/localtime</filename> -&gt; <filename>zoneinfo/…</filename></para> 25 + </refsynopsisdiv> 26 + 27 + <refsect1> 28 + @@ -30,7 +30,7 @@ 29 + system-wide timezone of the local system that is used by 30 + applications for presentation to the user. It should be an 31 + absolute or relative symbolic link pointing to 32 + - <filename>/usr/share/zoneinfo/</filename>, followed by a timezone 33 + + <filename>/etc/zoneinfo/</filename>, followed by a timezone 34 + identifier such as <literal>Europe/Berlin</literal> or 35 + <literal>Etc/UTC</literal>. The resulting link should lead to the 36 + corresponding binary 37 + diff --git a/src/basic/time-util.c b/src/basic/time-util.c 38 + index 105584e2e7..5238f69931 100644 39 + --- a/src/basic/time-util.c 40 + +++ b/src/basic/time-util.c 41 + @@ -1217,7 +1217,7 @@ int get_timezones(char ***ret) { 42 + n_allocated = 2; 43 + n_zones = 1; 44 + 45 + - f = fopen("/usr/share/zoneinfo/zone1970.tab", "re"); 46 + + f = fopen("/etc/zoneinfo/zone1970.tab", "re"); 47 + if (f) { 48 + for (;;) { 49 + _cleanup_free_ char *line = NULL; 50 + @@ -1312,7 +1312,7 @@ bool timezone_is_valid(const char *name, int log_level) { 51 + if (p - name >= PATH_MAX) 52 + return false; 53 + 54 + - t = strjoina("/usr/share/zoneinfo/", name); 55 + + t = strjoina("/etc/zoneinfo/", name); 56 + 57 + fd = open(t, O_RDONLY|O_CLOEXEC); 58 + if (fd < 0) { 59 + @@ -1410,7 +1410,7 @@ int get_timezone(char **ret) { 60 + if (r < 0) 61 + return r; /* returns EINVAL if not a symlink */ 62 + 63 + - e = PATH_STARTSWITH_SET(t, "/usr/share/zoneinfo/", "../usr/share/zoneinfo/"); 64 + + e = PATH_STARTSWITH_SET(t, "/etc/zoneinfo/", "../etc/zoneinfo/"); 65 + if (!e) 66 + return -EINVAL; 67 + 68 + diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c 69 + index 528e6452cf..c712ca9072 100644 70 + --- a/src/firstboot/firstboot.c 71 + +++ b/src/firstboot/firstboot.c 72 + @@ -443,7 +443,7 @@ static int process_timezone(void) { 73 + if (isempty(arg_timezone)) 74 + return 0; 75 + 76 + - e = strjoina("../usr/share/zoneinfo/", arg_timezone); 77 + + e = strjoina("zoneinfo/", arg_timezone); 78 + 79 + (void) mkdir_parents(etc_localtime, 0755); 80 + if (symlink(e, etc_localtime) < 0) 81 + diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c 82 + index 873a76596f..a024b10f32 100644 83 + --- a/src/nspawn/nspawn.c 84 + +++ b/src/nspawn/nspawn.c 85 + @@ -1642,8 +1642,8 @@ static int userns_mkdir(const char *root, const char *path, mode_t mode, uid_t u 86 + static const char *timezone_from_path(const char *path) { 87 + return PATH_STARTSWITH_SET( 88 + path, 89 + - "../usr/share/zoneinfo/", 90 + - "/usr/share/zoneinfo/"); 91 + + "../etc/zoneinfo/", 92 + + "/etc/zoneinfo/"); 93 + } 94 + 95 + static bool etc_writable(void) { 96 + diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c 97 + index 5e2fb50d83..02eb2ca11d 100644 98 + --- a/src/timedate/timedated.c 99 + +++ b/src/timedate/timedated.c 100 + @@ -264,7 +264,7 @@ static int context_read_data(Context *c) { 101 + 102 + r = get_timezone(&t); 103 + if (r == -EINVAL) 104 + - log_warning_errno(r, "/etc/localtime should be a symbolic link to a time zone data file in /usr/share/zoneinfo/."); 105 + + log_warning_errno(r, "/etc/localtime should be a symbolic link to a time zone data file in /etc/zoneinfo/."); 106 + else if (r < 0) 107 + log_warning_errno(r, "Failed to get target of /etc/localtime: %m"); 108 + 109 + @@ -288,7 +288,7 @@ static int context_write_data_timezone(Context *c) { 110 + 111 + if (isempty(c->zone) || streq(c->zone, "UTC")) { 112 + 113 + - if (access("/usr/share/zoneinfo/UTC", F_OK) < 0) { 114 + + if (access("/etc/zoneinfo/UTC", F_OK) < 0) { 115 + 116 + if (unlink("/etc/localtime") < 0 && errno != ENOENT) 117 + return -errno; 118 + @@ -296,9 +296,9 @@ static int context_write_data_timezone(Context *c) { 119 + return 0; 120 + } 121 + 122 + - source = "../usr/share/zoneinfo/UTC"; 123 + + source = "../etc/zoneinfo/UTC"; 124 + } else { 125 + - p = path_join("../usr/share/zoneinfo", c->zone); 126 + + p = path_join("../etc/zoneinfo", c->zone); 127 + if (!p) 128 + return -ENOMEM; 129 + 130 + -- 131 + 2.25.1 132 +
+27
pkgs/os-specific/linux/systemd/0013-localectl-use-etc-X11-xkb-for-list-x11.patch
··· 1 + From 5365ffbfba2de03628e8bbb6cc0bc022272436a1 Mon Sep 17 00:00:00 2001 2 + From: Imuli <i@imu.li> 3 + Date: Wed, 19 Oct 2016 08:46:47 -0400 4 + Subject: [PATCH 13/27] localectl: use /etc/X11/xkb for list-x11-* 5 + 6 + NixOS has an option to link the xkb data files to /etc/X11, but not to 7 + /usr/share/X11. 8 + --- 9 + src/locale/localectl.c | 2 +- 10 + 1 file changed, 1 insertion(+), 1 deletion(-) 11 + 12 + diff --git a/src/locale/localectl.c b/src/locale/localectl.c 13 + index 9fb5152110..9554c2cf76 100644 14 + --- a/src/locale/localectl.c 15 + +++ b/src/locale/localectl.c 16 + @@ -287,7 +287,7 @@ static int list_x11_keymaps(int argc, char **argv, void *userdata) { 17 + } state = NONE, look_for; 18 + int r; 19 + 20 + - f = fopen("/usr/share/X11/xkb/rules/base.lst", "re"); 21 + + f = fopen("/etc/X11/xkb/rules/base.lst", "re"); 22 + if (!f) 23 + return log_error_errno(errno, "Failed to open keyboard mapping list. %m"); 24 + 25 + -- 26 + 2.24.1 27 +
+26
pkgs/os-specific/linux/systemd/0016-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch
··· 1 + From 1408762890aba25e58598d1e4dfa17ed2b75de26 Mon Sep 17 00:00:00 2001 2 + From: Franz Pletz <fpletz@fnordicwalking.de> 3 + Date: Sun, 11 Feb 2018 04:37:44 +0100 4 + Subject: [PATCH 16/27] build: don't create statedir and don't touch prefixdir 5 + 6 + --- 7 + meson.build | 3 --- 8 + 1 file changed, 3 deletions(-) 9 + 10 + diff --git a/meson.build b/meson.build 11 + index 8ccc947e37..263cc7189a 100644 12 + --- a/meson.build 13 + +++ b/meson.build 14 + @@ -2944,9 +2944,6 @@ install_data('LICENSE.GPL2', 15 + 'src/libsystemd/sd-bus/GVARIANT-SERIALIZATION', 16 + install_dir : docdir) 17 + 18 + -meson.add_install_script('sh', '-c', mkdir_p.format(systemdstatedir)) 19 + -meson.add_install_script('sh', '-c', 'touch $DESTDIR@0@'.format(prefixdir)) 20 + - 21 + ############################################################ 22 + 23 + meson_check_help = find_program('tools/meson-check-help.sh') 24 + -- 25 + 2.24.1 26 +
+317
pkgs/os-specific/linux/systemd/0018-Install-default-configuration-into-out-share-factory.patch
··· 1 + From a087cb535b2d3c7a5d989b5aabc0a257369e9f9d Mon Sep 17 00:00:00 2001 2 + From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io> 3 + Date: Mon, 26 Feb 2018 14:25:57 +0000 4 + Subject: [PATCH 18/27] Install default configuration into $out/share/factory 5 + 6 + By default systemd should read all its configuration from /etc. Therefor 7 + we rely on -Dsysconfdir=/etc in meson as default value. Unfortunately 8 + this would also lead to installation of systemd's own configuration 9 + files to `/etc` whereas we are limited to /nix/store. To counter that 10 + this commit introduces two new configuration variables `factoryconfdir` 11 + and `factorypkgconfdir` to install systemd's own configuration into nix 12 + store again, while having executables looking up files in /etc. 13 + --- 14 + hwdb.d/meson.build | 2 +- 15 + meson.build | 11 +++++++---- 16 + network/meson.build | 2 +- 17 + src/core/meson.build | 10 +++++----- 18 + src/coredump/meson.build | 2 +- 19 + src/journal-remote/meson.build | 4 ++-- 20 + src/journal/meson.build | 2 +- 21 + src/kernel-install/meson.build | 2 +- 22 + src/login/meson.build | 2 +- 23 + src/network/meson.build | 2 +- 24 + src/pstore/meson.build | 2 +- 25 + src/resolve/meson.build | 2 +- 26 + src/timesync/meson.build | 2 +- 27 + src/udev/meson.build | 4 ++-- 28 + sysctl.d/meson.build | 2 +- 29 + tmpfiles.d/meson.build | 2 +- 30 + units/meson.build | 3 ++- 31 + 17 files changed, 30 insertions(+), 26 deletions(-) 32 + 33 + diff --git a/hwdb.d/meson.build b/hwdb.d/meson.build 34 + index badf39f555..8fd9c7639f 100644 35 + --- a/hwdb.d/meson.build 36 + +++ b/hwdb.d/meson.build 37 + @@ -26,7 +26,7 @@ if conf.get('ENABLE_HWDB') == 1 38 + install_dir : udevhwdbdir) 39 + 40 + meson.add_install_script('sh', '-c', 41 + - mkdir_p.format(join_paths(sysconfdir, 'udev/hwdb.d'))) 42 + + mkdir_p.format(join_paths(factoryconfdir, 'udev/hwdb.d'))) 43 + 44 + meson.add_install_script('sh', '-c', 45 + 'test -n "$DESTDIR" || @0@/systemd-hwdb update' 46 + .format(rootbindir)) 47 + endif 48 + 49 + ############################################################ 50 + diff --git a/meson.build b/meson.build 51 + index 263cc7189a..7a67078208 100644 52 + --- a/meson.build 53 + +++ b/meson.build 54 + @@ -151,6 +151,9 @@ udevhwdbdir = join_paths(udevlibexecdir, 'hwdb.d') 55 + catalogdir = join_paths(prefixdir, 'lib/systemd/catalog') 56 + kernelinstalldir = join_paths(prefixdir, 'lib/kernel/install.d') 57 + factorydir = join_paths(datadir, 'factory') 58 + +factoryconfdir = join_paths(datadir, 'factory/etc') 59 + +factorypkgconfdir = join_paths(datadir, 'factory/etc/systemd') 60 + +factoryxinitrcdir = join_paths(datadir, 'factory/etc/X11/xinit/xinitrc.d') 61 + bootlibdir = join_paths(prefixdir, 'lib/systemd/boot/efi') 62 + testsdir = join_paths(prefixdir, 'lib/systemd/tests') 63 + systemdstatedir = join_paths(localstatedir, 'lib/systemd') 64 + @@ -2287,7 +2290,7 @@ if conf.get('ENABLE_BINFMT') == 1 65 + meson.add_install_script('sh', '-c', 66 + mkdir_p.format(binfmtdir)) 67 + meson.add_install_script('sh', '-c', 68 + - mkdir_p.format(join_paths(sysconfdir, 'binfmt.d'))) 69 + + mkdir_p.format(join_paths(factoryconfdir, 'binfmt.d'))) 70 + endif 71 + 72 + if conf.get('ENABLE_VCONSOLE') == 1 73 + @@ -2373,7 +2376,7 @@ executable('systemd-sleep', 74 + install_dir : rootlibexecdir) 75 + 76 + install_data('src/sleep/sleep.conf', 77 + - install_dir : pkgsysconfdir) 78 + + install_dir : factorypkgconfdir) 79 + 80 + exe = executable('systemd-sysctl', 81 + 'src/sysctl/sysctl.c', 82 + @@ -2685,7 +2688,7 @@ if conf.get('HAVE_KMOD') == 1 83 + meson.add_install_script('sh', '-c', 84 + mkdir_p.format(modulesloaddir)) 85 + meson.add_install_script('sh', '-c', 86 + - mkdir_p.format(join_paths(sysconfdir, 'modules-load.d'))) 87 + + mkdir_p.format(join_paths(factoryconfdir, 'modules-load.d'))) 88 + endif 89 + 90 + exe = executable('systemd-nspawn', 91 + @@ -2927,7 +2930,7 @@ install_subdir('factory/etc', 92 + install_dir : factorydir) 93 + 94 + install_data('xorg/50-systemd-user.sh', 95 + - install_dir : xinitrcdir) 96 + + install_dir : factoryxinitrcdir) 97 + install_data('modprobe.d/systemd.conf', 98 + install_dir : modprobedir) 99 + install_data('LICENSE.GPL2', 100 + diff --git a/network/meson.build b/network/meson.build 101 + index 59d4be1a17..72da2c16a2 100644 102 + --- a/network/meson.build 103 + +++ b/network/meson.build 104 + @@ -7,7 +7,7 @@ if conf.get('ENABLE_NETWORKD') == 1 105 + install_dir : networkdir) 106 + 107 + meson.add_install_script('sh', '-c', 108 + - mkdir_p.format(join_paths(sysconfdir, 'systemd/network'))) 109 + + mkdir_p.format(join_paths(factoryconfdir, 'systemd/network'))) 110 + endif 111 + 112 + install_data('99-default.link', 113 + diff --git a/src/core/meson.build b/src/core/meson.build 114 + index df3aa5c6c1..305f67a80a 100644 115 + --- a/src/core/meson.build 116 + +++ b/src/core/meson.build 117 + @@ -179,8 +179,8 @@ libcore = static_library( 118 + systemd_sources = files('main.c') 119 + 120 + in_files = [['macros.systemd', rpmmacrosdir], 121 + - ['system.conf', pkgsysconfdir], 122 + - ['user.conf', pkgsysconfdir], 123 + + ['system.conf', factorypkgconfdir], 124 + + ['user.conf', factorypkgconfdir], 125 + ['systemd.pc', pkgconfigdatadir], 126 + ['triggers.systemd', '']] 127 + 128 + @@ -210,6 +210,6 @@ meson.add_install_script('sh', '-c', mkdir_p.format(systemsleepdir)) 129 + meson.add_install_script('sh', '-c', mkdir_p.format(systemgeneratordir)) 130 + meson.add_install_script('sh', '-c', mkdir_p.format(usergeneratordir)) 131 + 132 + -meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(pkgsysconfdir, 'system'))) 133 + -meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(pkgsysconfdir, 'user'))) 134 + -meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(sysconfdir, 'xdg/systemd'))) 135 + +meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(factorypkgconfdir, 'system'))) 136 + +meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(factorypkgconfdir, 'user'))) 137 + +meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(factorypkgconfdir, 'xdg/systemd'))) 138 + diff --git a/src/coredump/meson.build b/src/coredump/meson.build 139 + index 7fa5942697..34c865dfa0 100644 140 + --- a/src/coredump/meson.build 141 + +++ b/src/coredump/meson.build 142 + @@ -15,7 +15,7 @@ coredumpctl_sources = files('coredumpctl.c') 143 + 144 + if conf.get('ENABLE_COREDUMP') == 1 145 + install_data('coredump.conf', 146 + - install_dir : pkgsysconfdir) 147 + + install_dir : factorypkgconfdir) 148 + endif 149 + 150 + tests += [ 151 + diff --git a/src/journal-remote/meson.build b/src/journal-remote/meson.build 152 + index 87b8ba6495..daff8ec967 100644 153 + --- a/src/journal-remote/meson.build 154 + +++ b/src/journal-remote/meson.build 155 + @@ -49,7 +49,7 @@ if conf.get('ENABLE_REMOTE') ==1 and conf.get('HAVE_LIBCURL') == 1 156 + output : 'journal-upload.conf', 157 + configuration : substs) 158 + install_data(journal_upload_conf, 159 + - install_dir : pkgsysconfdir) 160 + + install_dir : factorypkgconfdir) 161 + endif 162 + 163 + if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_MICROHTTPD') == 1 164 + @@ -58,7 +58,7 @@ if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_MICROHTTPD') == 1 165 + output : 'journal-remote.conf', 166 + configuration : substs) 167 + install_data(journal_remote_conf, 168 + - install_dir : pkgsysconfdir) 169 + + install_dir : factorypkgconfdir) 170 + 171 + install_data('browse.html', 172 + install_dir : join_paths(pkgdatadir, 'gatewayd')) 173 + diff --git a/src/journal/meson.build b/src/journal/meson.build 174 + index 5796f77cac..75d975c260 100644 175 + --- a/src/journal/meson.build 176 + +++ b/src/journal/meson.build 177 + @@ -109,7 +109,7 @@ if conf.get('HAVE_QRENCODE') == 1 178 + endif 179 + 180 + install_data('journald.conf', 181 + - install_dir : pkgsysconfdir) 182 + + install_dir : factorypkgconfdir) 183 + 184 + if get_option('create-log-dirs') 185 + meson.add_install_script( 186 + diff --git a/src/kernel-install/meson.build b/src/kernel-install/meson.build 187 + index 261c3aaae4..dbc5e23513 100644 188 + --- a/src/kernel-install/meson.build 189 + +++ b/src/kernel-install/meson.build 190 + @@ -11,4 +11,4 @@ install_data('00-entry-directory.install', 191 + install_dir : kernelinstalldir) 192 + 193 + meson.add_install_script('sh', '-c', 194 + - mkdir_p.format(join_paths(sysconfdir, 'kernel/install.d'))) 195 + + mkdir_p.format(join_paths(factoryconfdir, 'kernel/install.d'))) 196 + diff --git a/src/login/meson.build b/src/login/meson.build 197 + index 0a7d3d5440..ff90149c1c 100644 198 + --- a/src/login/meson.build 199 + +++ b/src/login/meson.build 200 + @@ -75,7 +75,7 @@ if conf.get('ENABLE_LOGIND') == 1 201 + output : 'logind.conf', 202 + configuration : substs) 203 + install_data(logind_conf, 204 + - install_dir : pkgsysconfdir) 205 + + install_dir : factorypkgconfdir) 206 + 207 + install_data('org.freedesktop.login1.conf', 208 + install_dir : dbuspolicydir) 209 + diff --git a/src/network/meson.build b/src/network/meson.build 210 + index 6bed37a170..35f15bcaf1 100644 211 + --- a/src/network/meson.build 212 + +++ b/src/network/meson.build 213 + @@ -168,7 +168,7 @@ if conf.get('ENABLE_NETWORKD') == 1 214 + endif 215 + 216 + install_data('networkd.conf', 217 + - install_dir : pkgsysconfdir) 218 + + install_dir : factorypkgconfdir) 219 + 220 + fuzzers += [ 221 + [['src/network/fuzz-netdev-parser.c', 222 + diff --git a/src/pstore/meson.build b/src/pstore/meson.build 223 + index adbac24b54..e9dc88dfa2 100644 224 + --- a/src/pstore/meson.build 225 + +++ b/src/pstore/meson.build 226 + @@ -6,5 +6,5 @@ systemd_pstore_sources = files(''' 227 + 228 + if conf.get('ENABLE_PSTORE') == 1 229 + install_data('pstore.conf', 230 + - install_dir : pkgsysconfdir) 231 + + install_dir : factorypkgconfdir) 232 + endif 233 + diff --git a/src/resolve/meson.build b/src/resolve/meson.build 234 + index 92b67b6333..ac5b9a0b0a 100644 235 + --- a/src/resolve/meson.build 236 + +++ b/src/resolve/meson.build 237 + @@ -168,7 +168,7 @@ if conf.get('ENABLE_RESOLVE') == 1 238 + output : 'resolved.conf', 239 + configuration : substs) 240 + install_data(resolved_conf, 241 + - install_dir : pkgsysconfdir) 242 + + install_dir : factorypkgconfdir) 243 + 244 + install_data('resolv.conf', 245 + install_dir : rootlibexecdir) 246 + diff --git a/src/timesync/meson.build b/src/timesync/meson.build 247 + index e5c118c8db..19235df9ca 100644 248 + --- a/src/timesync/meson.build 249 + +++ b/src/timesync/meson.build 250 + @@ -27,7 +27,7 @@ if conf.get('ENABLE_TIMESYNCD') == 1 251 + output : 'timesyncd.conf', 252 + configuration : substs) 253 + install_data(timesyncd_conf, 254 + - install_dir : pkgsysconfdir) 255 + + install_dir : factorypkgconfdir) 256 + install_data('org.freedesktop.timesync1.conf', 257 + install_dir : dbuspolicydir) 258 + install_data('org.freedesktop.timesync1.service', 259 + diff --git a/src/udev/meson.build b/src/udev/meson.build 260 + index 511fe428b9..32333efea6 100644 261 + --- a/src/udev/meson.build 262 + +++ b/src/udev/meson.build 263 + @@ -186,7 +186,7 @@ foreach prog : [['ata_id/ata_id.c'], 264 + endforeach 265 + 266 + install_data('udev.conf', 267 + - install_dir : join_paths(sysconfdir, 'udev')) 268 + + install_dir : join_paths(factoryconfdir, 'udev')) 269 + 270 + configure_file( 271 + input : 'udev.pc.in', 272 + @@ -195,7 +195,7 @@ configure_file( 273 + install_dir : pkgconfigdatadir == 'no' ? '' : pkgconfigdatadir) 274 + 275 + meson.add_install_script('sh', '-c', 276 + - mkdir_p.format(join_paths(sysconfdir, 'udev/rules.d'))) 277 + + mkdir_p.format(join_paths(factoryconfdir, 'udev/rules.d'))) 278 + 279 + fuzzers += [ 280 + [['src/udev/net/fuzz-link-parser.c', 281 + diff --git a/sysctl.d/meson.build b/sysctl.d/meson.build 282 + index 3f072e3db7..bd9f843eba 100644 283 + --- a/sysctl.d/meson.build 284 + +++ b/sysctl.d/meson.build 285 + @@ -27,4 +27,4 @@ foreach file : in_files 286 + endforeach 287 + 288 + meson.add_install_script('sh', '-c', 289 + - mkdir_p.format(join_paths(sysconfdir, 'sysctl.d'))) 290 + + mkdir_p.format(join_paths(factoryconfdir, 'sysctl.d'))) 291 + diff --git a/tmpfiles.d/meson.build b/tmpfiles.d/meson.build 292 + index e77f46d06b..04d2ef621d 100644 293 + --- a/tmpfiles.d/meson.build 294 + +++ b/tmpfiles.d/meson.build 295 + @@ -57,5 +57,5 @@ endforeach 296 + if enable_tmpfiles 297 + meson.add_install_script( 298 + 'sh', '-c', 299 + - mkdir_p.format(join_paths(sysconfdir, 'tmpfiles.d'))) 300 + + mkdir_p.format(join_paths(factoryconfdir, 'tmpfiles.d'))) 301 + endif 302 + diff --git a/units/meson.build b/units/meson.build 303 + index 476991edba..3d9dc6e1c8 100644 304 + --- a/units/meson.build 305 + +++ b/units/meson.build 306 + @@ -308,7 +308,7 @@ install_data('user-.slice.d/10-defaults.conf', 307 + 308 + meson.add_install_script(meson_make_symlink, 309 + join_paths(pkgsysconfdir, 'user'), 310 + - join_paths(sysconfdir, 'xdg/systemd/user')) 311 + + join_paths(factorypkgconfdir, 'xdg/systemd/user')) 312 + meson.add_install_script(meson_make_symlink, 313 + join_paths(dbussystemservicedir, 'org.freedesktop.systemd1.service'), 314 + join_paths(dbussessionservicedir, 'org.freedesktop.systemd1.service')) 315 + -- 316 + 2.24.1 317 +
+42
pkgs/os-specific/linux/systemd/0019-inherit-systemd-environment-when-calling-generators.patch
··· 1 + From 3eb1716dd80c245a2883da04156af79fb9097519 Mon Sep 17 00:00:00 2001 2 + From: Andreas Rammhold <andreas@rammhold.de> 3 + Date: Fri, 2 Nov 2018 21:15:42 +0100 4 + Subject: [PATCH 19/27] inherit systemd environment when calling generators. 5 + 6 + Systemd generators need access to the environment configured in 7 + stage-2-init.sh since it schedules fsck and mkfs executions based on 8 + being able to find an appropriate binary for the target filesystem. 9 + 10 + With this commit I am altering the systemd behaviour since upstream 11 + tries to gather environments with that they call 12 + "environment-generators" and then seems to pass that on to all the other 13 + executables that are being called from managers. 14 + --- 15 + src/core/manager.c | 11 ++++++++--- 16 + 1 file changed, 8 insertions(+), 3 deletions(-) 17 + 18 + diff --git a/src/core/manager.c b/src/core/manager.c 19 + index d9114bb0c5..22c3b6ff76 100644 20 + --- a/src/core/manager.c 21 + +++ b/src/core/manager.c 22 + @@ -3868,9 +3868,14 @@ static int manager_run_generators(Manager *m) { 23 + argv[4] = NULL; 24 + 25 + RUN_WITH_UMASK(0022) 26 + - (void) execute_directories((const char* const*) paths, DEFAULT_TIMEOUT_USEC, NULL, NULL, 27 + - (char**) argv, m->transient_environment, EXEC_DIR_PARALLEL | EXEC_DIR_IGNORE_ERRORS); 28 + - 29 + + (void) execute_directories((const char* const*) paths, DEFAULT_TIMEOUT_USEC, 30 + + // On NixOS we must propagate PATH to generators so they are 31 + + // able to find binaries such as `fsck.${fstype}` and 32 + + // `mkfs.${fstype}`. That is why the last argument of the 33 + + // function (envp) is set to NULL. This propagates systemd's 34 + + // environment (e.g. PATH) that was setup 35 + + // before calling systemd from stage-2-init.sh. 36 + + NULL, NULL, (char**) argv, /* NixOS: use inherited env */ NULL, EXEC_DIR_PARALLEL | EXEC_DIR_IGNORE_ERRORS); 37 + r = 0; 38 + 39 + finish: 40 + -- 41 + 2.24.1 42 +
+38
pkgs/os-specific/linux/systemd/0021-add-rootprefix-to-lookup-dir-paths.patch
··· 1 + From 8d1618a97ad08078815f409f03b45aff3ae6bd0a Mon Sep 17 00:00:00 2001 2 + From: Andreas Rammhold <andreas@rammhold.de> 3 + Date: Thu, 9 May 2019 11:15:22 +0200 4 + Subject: [PATCH 21/27] add rootprefix to lookup dir paths 5 + 6 + systemd does not longer use the UDEVLIBEXEC directory as root for 7 + discovery default udev rules. By adding `$out/lib` to the lookup paths 8 + we should again be able to discover the udev rules amongst other default 9 + files that I might have missed. 10 + --- 11 + src/basic/def.h | 6 ++++-- 12 + 1 file changed, 4 insertions(+), 2 deletions(-) 13 + 14 + diff --git a/src/basic/def.h b/src/basic/def.h 15 + index 2af0b763f0..17959b07e8 100644 16 + --- a/src/basic/def.h 17 + +++ b/src/basic/def.h 18 + @@ -39,13 +39,15 @@ 19 + "/run/" n "\0" \ 20 + "/usr/local/lib/" n "\0" \ 21 + "/usr/lib/" n "\0" \ 22 + - _CONF_PATHS_SPLIT_USR_NULSTR(n) 23 + + _CONF_PATHS_SPLIT_USR_NULSTR(n) \ 24 + + ROOTPREFIX "/lib/" n "\0" 25 + 26 + #define CONF_PATHS_USR(n) \ 27 + "/etc/" n, \ 28 + "/run/" n, \ 29 + "/usr/local/lib/" n, \ 30 + - "/usr/lib/" n 31 + + "/usr/lib/" n, \ 32 + + ROOTPREFIX "/lib/" n 33 + 34 + #define CONF_PATHS(n) \ 35 + CONF_PATHS_USR(n) \ 36 + -- 37 + 2.24.1 38 +
+27
pkgs/os-specific/linux/systemd/0022-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch
··· 1 + From 859c16c52cdd61ec99d256bf5b35637d59e5dac9 Mon Sep 17 00:00:00 2001 2 + From: Nikolay Amiantov <ab@fmap.me> 3 + Date: Thu, 25 Jul 2019 20:45:55 +0300 4 + Subject: [PATCH 22/27] systemd-shutdown: execute scripts in 5 + /etc/systemd/system-shutdown 6 + 7 + This is needed for NixOS to use such scripts as systemd directory is immutable. 8 + --- 9 + src/shutdown/shutdown.c | 2 +- 10 + 1 file changed, 1 insertion(+), 1 deletion(-) 11 + 12 + diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c 13 + index 0eb17989d0..93e619c58a 100644 14 + --- a/src/shutdown/shutdown.c 15 + +++ b/src/shutdown/shutdown.c 16 + @@ -299,7 +299,7 @@ int main(int argc, char *argv[]) { 17 + _cleanup_free_ char *cgroup = NULL; 18 + char *arguments[3], *watchdog_device; 19 + int cmd, r, umount_log_level = LOG_INFO; 20 + - static const char* const dirs[] = {SYSTEM_SHUTDOWN_PATH, NULL}; 21 + + static const char* const dirs[] = {SYSTEM_SHUTDOWN_PATH, "/etc/systemd/system-shutdown", NULL}; 22 + 23 + /* The log target defaults to console, but the original systemd process will pass its log target in through a 24 + * command line argument, which will override this default. Also, ensure we'll never log to the journal or 25 + -- 26 + 2.24.1 27 +
+26
pkgs/os-specific/linux/systemd/0023-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch
··· 1 + From 9be689d5243d0c78bec7b285774c58749da08c9c Mon Sep 17 00:00:00 2001 2 + From: Nikolay Amiantov <ab@fmap.me> 3 + Date: Thu, 25 Jul 2019 20:46:58 +0300 4 + Subject: [PATCH 23/27] systemd-sleep: execute scripts in 5 + /etc/systemd/system-sleep 6 + 7 + This is needed for NixOS to use such scripts as systemd directory is immutable. 8 + --- 9 + src/sleep/sleep.c | 1 + 10 + 1 file changed, 1 insertion(+) 11 + 12 + diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c 13 + index b9fe96635d..f1c3ca06a3 100644 14 + --- a/src/sleep/sleep.c 15 + +++ b/src/sleep/sleep.c 16 + @@ -191,6 +191,7 @@ static int execute(char **modes, char **states) { 17 + }; 18 + static const char* const dirs[] = { 19 + SYSTEM_SLEEP_PATH, 20 + + "/etc/systemd/system-sleep", 21 + NULL 22 + }; 23 + 24 + -- 25 + 2.24.1 26 +
+27
pkgs/os-specific/linux/systemd/0024-kmod-static-nodes.service-Update-ConditionFileNotEmpty.patch
··· 1 + From 7db89c2236158461c99fe5c5da7ddb7feab825cf Mon Sep 17 00:00:00 2001 2 + From: Florian Klink <flokli@flokli.de> 3 + Date: Sat, 7 Mar 2020 22:40:27 +0100 4 + Subject: [PATCH] kmod-static-nodes.service: Update ConditionFileNotEmpty 5 + 6 + On NixOS, kernel modules of the currently booted systems are located at 7 + /run/booted-system/kernel-modules/lib/modules/%v/, not /lib/modules/%v/. 8 + --- 9 + units/kmod-static-nodes.service.in | 2 +- 10 + 1 file changed, 1 insertion(+), 1 deletion(-) 11 + 12 + diff --git a/units/kmod-static-nodes.service.in b/units/kmod-static-nodes.service.in 13 + index 0971edf9ec..87105a87b9 100644 14 + --- a/units/kmod-static-nodes.service.in 15 + +++ b/units/kmod-static-nodes.service.in 16 + @@ -12,7 +12,7 @@ Description=Create list of static device nodes for the current kernel 17 + DefaultDependencies=no 18 + Before=sysinit.target systemd-tmpfiles-setup-dev.service 19 + ConditionCapability=CAP_SYS_MODULE 20 + -ConditionFileNotEmpty=/lib/modules/%v/modules.devname 21 + +ConditionFileNotEmpty=/run/booted-system/kernel-modules/lib/modules/%v/modules.devname 22 + 23 + [Service] 24 + Type=oneshot 25 + -- 26 + 2.25.1 27 +
+33
pkgs/os-specific/linux/systemd/0025-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
··· 1 + From 0939ac4be7ced099670979f26adf8a579173ce4b Mon Sep 17 00:00:00 2001 2 + From: Florian Klink <flokli@flokli.de> 3 + Date: Sun, 8 Mar 2020 01:05:54 +0100 4 + Subject: [PATCH] path-util.h: add placeholder for DEFAULT_PATH_NORMAL 5 + 6 + This will be the $PATH used to lookup ExecStart= etc. options, which 7 + systemd itself uses extensively. 8 + --- 9 + src/basic/path-util.h | 6 +++--- 10 + 1 file changed, 3 insertions(+), 3 deletions(-) 11 + 12 + diff --git a/src/basic/path-util.h b/src/basic/path-util.h 13 + index 111d85d445..cfd92aeb73 100644 14 + --- a/src/basic/path-util.h 15 + +++ b/src/basic/path-util.h 16 + @@ -24,11 +24,11 @@ 17 + # define PATH_SBIN_BIN_NULSTR(x) PATH_NORMAL_SBIN_BIN_NULSTR(x) 18 + #endif 19 + 20 + -#define DEFAULT_PATH_NORMAL PATH_SBIN_BIN("/usr/local/") ":" PATH_SBIN_BIN("/usr/") 21 + -#define DEFAULT_PATH_NORMAL_NULSTR PATH_SBIN_BIN_NULSTR("/usr/local/") PATH_SBIN_BIN_NULSTR("/usr/") 22 + +#define DEFAULT_PATH_NORMAL "@defaultPathNormal@" 23 + +#define DEFAULT_PATH_NORMAL_NULSTR "@defaultPathNormal@\0" 24 + #define DEFAULT_PATH_SPLIT_USR DEFAULT_PATH_NORMAL ":" PATH_SBIN_BIN("/") 25 + #define DEFAULT_PATH_SPLIT_USR_NULSTR DEFAULT_PATH_NORMAL_NULSTR PATH_SBIN_BIN_NULSTR("/") 26 + -#define DEFAULT_PATH_COMPAT PATH_SPLIT_SBIN_BIN("/usr/local/") ":" PATH_SPLIT_SBIN_BIN("/usr/") ":" PATH_SPLIT_SBIN_BIN("/") 27 + +#define DEFAULT_PATH_COMPAT DEFAULT_PATH_NORMAL 28 + 29 + #if HAVE_SPLIT_USR 30 + # define DEFAULT_PATH DEFAULT_PATH_SPLIT_USR 31 + -- 32 + 2.25.1 33 +
+40 -7
pkgs/os-specific/linux/systemd/default.nix
··· 7 7 , gettext, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_45 8 8 , ninja, meson, python3Packages, glibcLocales 9 9 , patchelf 10 + , substituteAll 10 11 , getent 11 12 , buildPackages 12 13 , perl ··· 23 24 pinentry = null; 24 25 adns = null; 25 26 gnutls = null; 26 - libusb = null; 27 + libusb1 = null; 27 28 openldap = null; 28 29 readline = null; 29 30 zlib = null; 30 31 bzip2 = null; 31 32 }; 32 33 in stdenv.mkDerivation { 33 - version = "243.7"; 34 + version = "245.3"; 34 35 pname = "systemd"; 35 36 36 37 # When updating, use https://github.com/systemd/systemd-stable tree, not the development one! 37 38 # Also fresh patches should be cherry-picked from that tree to our current one. 38 39 src = fetchFromGitHub { 39 - owner = "nixos"; 40 - repo = "systemd"; 41 - rev = "e7d881488292fc8bdf96acd12767eca1bd65adae"; 42 - sha256 = "0haj3iff3y13pm4w5dbqj1drp5wryqfad58jbbmnb6zdgis56h8f"; 40 + owner = "systemd"; 41 + repo = "systemd-stable"; 42 + rev = "0f5047b7d393cfba37f91e25cae559a0bc910582"; 43 + sha256 = "0wyh14gbvvpgdmk1mjgpxr9i4pv1i9n7pnwpa0gvjh6hq948fyn2"; 43 44 }; 44 45 46 + patches = [ 47 + ./0001-Start-device-units-for-uninitialised-encrypted-devic.patch 48 + ./0003-Don-t-try-to-unmount-nix-or-nix-store.patch 49 + ./0004-Fix-NixOS-containers.patch 50 + ./0006-Look-for-fsck-in-the-right-place.patch 51 + ./0007-Add-some-NixOS-specific-unit-directories.patch 52 + ./0009-Get-rid-of-a-useless-message-in-user-sessions.patch 53 + ./0010-hostnamed-localed-timedated-disable-methods-that-cha.patch 54 + ./0011-Fix-hwdb-paths.patch 55 + ./0012-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch 56 + ./0013-localectl-use-etc-X11-xkb-for-list-x11.patch 57 + ./0016-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch 58 + ./0018-Install-default-configuration-into-out-share-factory.patch 59 + ./0019-inherit-systemd-environment-when-calling-generators.patch 60 + ./0021-add-rootprefix-to-lookup-dir-paths.patch 61 + ./0022-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch 62 + ./0023-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch 63 + ./0024-kmod-static-nodes.service-Update-ConditionFileNotEmpty.patch 64 + ./0025-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch 65 + ]; 66 + 67 + postPatch = '' 68 + substituteInPlace src/basic/path-util.h --replace "@defaultPathNormal@" "${placeholder "out"}/bin/" 69 + ''; 70 + 45 71 outputs = [ "out" "lib" "man" "dev" ]; 46 72 47 73 nativeBuildInputs = ··· 83 109 "-Dtests=false" 84 110 "-Dimportd=true" 85 111 "-Dlz4=true" 112 + "-Dhomed=false" 86 113 "-Dhostnamed=true" 87 114 "-Dnetworkd=true" 115 + "-Dportabled=false" 88 116 "-Dsysusers=false" 89 117 "-Dtimedated=true" 90 118 "-Dtimesyncd=true" ··· 195 223 196 224 doCheck = false; # fails a bunch of tests 197 225 226 + # trigger the test -n "$DESTDIR" || mutate in upstreams build system 227 + preInstall = '' 228 + export DESTDIR=/ 229 + ''; 230 + 198 231 postInstall = '' 199 232 # sysinit.target: Don't depend on 200 233 # systemd-tmpfiles-setup.service. This interferes with NixOps's ··· 263 296 license = licenses.lgpl21Plus; 264 297 platforms = platforms.linux; 265 298 priority = 10; 266 - maintainers = with maintainers; [ andir eelco flokli mic92 ]; 299 + maintainers = with maintainers; [ andir eelco flokli ]; 267 300 }; 268 301 }
+2 -2
pkgs/os-specific/linux/util-linux/default.nix
··· 3 3 4 4 stdenv.mkDerivation rec { 5 5 pname = "util-linux"; 6 - version = "2.33.2"; 6 + version = "2.35.1"; 7 7 8 8 src = fetchurl { 9 9 url = "mirror://kernel/linux/utils/util-linux/v${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 10 - sha256 = "15yf2dh4jd1kg6066hydlgdhhs2j3na13qld8yx30qngqvmfh6v3"; 10 + sha256 = "1yfpy6bkab4jw61mpx48gfy24yrqp4a7arvpis8csrkk53fkxpnr"; 11 11 }; 12 12 13 13 patches = [
+55 -13
pkgs/os-specific/linux/util-linux/rtcwake-search-PATH-for-shutdown.patch
··· 2 2 which isn't valid on NixOS (and a compatibility link on most other modern 3 3 distros anyway). 4 4 5 - -- nckx <github@tobias.gr> 6 5 --- a/include/pathnames.h 7 6 +++ b/include/pathnames.h 8 - @@ -53,7 +53,7 @@ 7 + @@ -50,8 +50,8 @@ 9 8 #ifndef _PATH_LOGIN 10 - #define _PATH_LOGIN "/bin/login" 9 + # define _PATH_LOGIN "/bin/login" 11 10 #endif 12 11 -#define _PATH_SHUTDOWN "/sbin/shutdown" 13 - +#define _PATH_SHUTDOWN "shutdown" 14 - 12 + -#define _PATH_POWEROFF "/sbin/poweroff" 13 + +#define _PATH_SHUTDOWN "shutdown" 14 + +#define _PATH_POWEROFF "poweroff" 15 + 15 16 #define _PATH_TERMCOLORS_DIRNAME "terminal-colors.d" 16 17 #define _PATH_TERMCOLORS_DIR "/etc/" _PATH_TERMCOLORS_DIRNAME 17 18 --- a/sys-utils/rtcwake.c 18 19 +++ b/sys-utils/rtcwake.c 19 - @@ -575,7 +575,7 @@ int main(int argc, char **argv) 20 - arg[i++] = "now"; 21 - arg[i] = NULL; 22 - if (!ctl.dryrun) { 23 - - execv(arg[0], arg); 20 + @@ -587,29 +587,29 @@ int main(int argc, char **argv) 21 + char *arg[5]; 22 + int i = 0; 23 + 24 + - if (!access(_PATH_SHUTDOWN, X_OK)) { 25 + - arg[i++] = _PATH_SHUTDOWN; 26 + - arg[i++] = "-h"; 27 + - arg[i++] = "-P"; 28 + - arg[i++] = "now"; 29 + - arg[i] = NULL; 30 + - } else if (!access(_PATH_POWEROFF, X_OK)) { 31 + - arg[i++] = _PATH_POWEROFF; 32 + - arg[i] = NULL; 33 + - } else { 34 + - arg[i] = NULL; 35 + - } 36 + + arg[i++] = _PATH_SHUTDOWN; 37 + + arg[i++] = "-h"; 38 + + arg[i++] = "-P"; 39 + + arg[i++] = "now"; 40 + + arg[i] = NULL; 41 + 42 + - if (arg[0]) { 43 + - if (ctl.verbose) 44 + - printf(_("suspend mode: off; executing %s\n"), 45 + - arg[0]); 46 + - if (!ctl.dryrun) { 47 + - execv(arg[0], arg); 48 + + if (ctl.verbose) 49 + + printf(_("suspend mode: off; executing %s\n"), 50 + + arg[0]); 51 + + 52 + + if (!ctl.dryrun) { 24 53 + execvp(arg[0], arg); 25 - warn(_("failed to execute %s"), _PATH_SHUTDOWN); 26 - rc = EXIT_FAILURE; 27 - } 54 + + if (ctl.verbose) { 55 + warn(_("failed to execute %s"), arg[0]); 56 + - rc = EX_EXEC_ENOENT; 57 + + // Reuse translations. 58 + + printf(_("suspend mode: off; executing %s\n"), 59 + + _PATH_POWEROFF); 60 + } 61 + - } else { 62 + + 63 + + i = 0; 64 + + arg[i++] = _PATH_POWEROFF; 65 + + arg[i] = NULL; 66 + + execvp(arg[0], arg); 67 + /* Failed to find shutdown command */ 68 + warn(_("failed to find shutdown command")); 69 + rc = EX_EXEC_ENOENT;
+2 -2
pkgs/servers/samba/4.x.nix
··· 42 42 43 43 stdenv.mkDerivation rec { 44 44 pname = "samba"; 45 - version = "4.12.0"; 45 + version = "4.12.1"; 46 46 47 47 src = fetchurl { 48 48 url = "mirror://samba/pub/samba/stable/${pname}-${version}.tar.gz"; 49 - sha256 = "1zk5jqnkifkfi6ssn02bh2ih7vyw2nsr0angsd6kyg3xaq5bgh3f"; 49 + sha256 = "0xbdf9651lm4b5g60ly40nc7r8gssvnvq7m3pdma99mdcs5vcz01"; 50 50 }; 51 51 52 52 outputs = [ "out" "dev" "man" ];
+9
pkgs/servers/x11/xorg/overrides.nix
··· 256 256 257 257 libXres = super.libXres.overrideAttrs (attrs: { 258 258 outputs = [ "out" "dev" "devdoc" ]; 259 + buildInputs = with self; attrs.buildInputs ++ [ utilmacros ]; 260 + configureFlags = attrs.configureFlags or [] 261 + ++ malloc0ReturnsNullCrossFlag; 262 + }); 263 + 264 + libXScrnSaver = super.libXScrnSaver.overrideAttrs (attrs: { 265 + buildInputs = with self; attrs.buildInputs ++ [ utilmacros ]; 266 + configureFlags = attrs.configureFlags or [] 267 + ++ malloc0ReturnsNullCrossFlag; 259 268 }); 260 269 261 270 libXv = super.libXv.overrideAttrs (attrs: {
-86
pkgs/shells/bash/bash-completion/0001-Revert-build-Do-cmake-pc-and-profile-variable-replac.patch
··· 1 - From 398f44b4ed545fc1b6c13a057bf0900001f7958b Mon Sep 17 00:00:00 2001 2 - From: Frederik Rietdijk <fridh@fridh.nl> 3 - Date: Tue, 22 Oct 2019 15:07:05 +0200 4 - Subject: [PATCH] Revert "build: Do cmake, pc, and profile variable 5 - replacements in Makefile" 6 - 7 - This reverts commit 81ba2c7e7dfbaefbafa1e8615727c9612e5fb314. 8 - --- 9 - Makefile.am | 12 ++++++++---- 10 - bash-completion-config.cmake.in | 4 ++-- 11 - bash-completion.pc.in | 4 ++-- 12 - configure.ac | 3 +++ 13 - 4 files changed, 15 insertions(+), 8 deletions(-) 14 - 15 - diff --git a/Makefile.am b/Makefile.am 16 - index 8f441185..53979529 100644 17 - --- a/Makefile.am 18 - +++ b/Makefile.am 19 - @@ -23,8 +23,7 @@ cmakeconfig_DATA = bash-completion-config.cmake \ 20 - -e 's|@VERSION[@]|$(VERSION)|' \ 21 - <$(srcdir)/$@.in >$@ 22 - 23 - -CLEANFILES = bash_completion.sh bash-completion.pc \ 24 - - bash-completion-config.cmake bash-completion-config-version.cmake 25 - +CLEANFILES = bash_completion.sh bash-completion.pc 26 - 27 - EXTRA_DIST = CHANGES $(pkgdata_DATA) bash_completion.sh.in .dir-locals.el \ 28 - .editorconfig README.md CONTRIBUTING.md pyproject.toml .perltidyrc \ 29 - @@ -34,6 +33,11 @@ EXTRA_DIST = CHANGES $(pkgdata_DATA) bash_completion.sh.in .dir-locals.el \ 30 - install-data-hook: 31 - tmpfile=`mktemp $${TMPDIR:-/tmp}/bash_completion.XXXXXX` && \ 32 - $(SED) -e 's|-/etc/bash_completion\.d|-$(compatdir)|' \ 33 - - $(DESTDIR)$(pkgdatadir)/bash_completion >$$tmpfile && \ 34 - - cat $$tmpfile >$(DESTDIR)$(pkgdatadir)/bash_completion && \ 35 - + $(DESTDIR)$(pkgdatadir)/bash_completion > $$tmpfile && \ 36 - + cat $$tmpfile > $(DESTDIR)$(pkgdatadir)/bash_completion && \ 37 - + $(SED) -e 's|\$${prefix}|$(prefix)|' \ 38 - + $(DESTDIR)$(datadir)/cmake/$(PACKAGE)/bash-completion-config.cmake \ 39 - + > $$tmpfile && \ 40 - + cat $$tmpfile > \ 41 - + $(DESTDIR)$(datadir)/cmake/$(PACKAGE)/bash-completion-config.cmake && \ 42 - rm $$tmpfile 43 - diff --git a/bash-completion-config.cmake.in b/bash-completion-config.cmake.in 44 - index d907b76c..ccc6e052 100644 45 - --- a/bash-completion-config.cmake.in 46 - +++ b/bash-completion-config.cmake.in 47 - @@ -5,7 +5,7 @@ set (BASH_COMPLETION_VERSION "@VERSION@") 48 - 49 - set (BASH_COMPLETION_PREFIX "@prefix@") 50 - set (BASH_COMPLETION_COMPATDIR "@compatdir@") 51 - -set (BASH_COMPLETION_COMPLETIONSDIR "@pkgdatadir@/completions") 52 - -set (BASH_COMPLETION_HELPERSDIR "@pkgdatadir@/helpers") 53 - +set (BASH_COMPLETION_COMPLETIONSDIR "@datarootdir@/@PACKAGE@/completions") 54 - +set (BASH_COMPLETION_HELPERSDIR "@datarootdir@/@PACKAGE@/helpers") 55 - 56 - set (BASH_COMPLETION_FOUND "TRUE") 57 - diff --git a/bash-completion.pc.in b/bash-completion.pc.in 58 - index ea03fd75..bde217db 100644 59 - --- a/bash-completion.pc.in 60 - +++ b/bash-completion.pc.in 61 - @@ -1,7 +1,7 @@ 62 - prefix=@prefix@ 63 - compatdir=@compatdir@ 64 - -completionsdir=@pkgdatadir@/completions 65 - -helpersdir=@pkgdatadir@/helpers 66 - +completionsdir=@datarootdir@/@PACKAGE@/completions 67 - +helpersdir=@datarootdir@/@PACKAGE@/helpers 68 - 69 - Name: bash-completion 70 - Description: programmable completion for the bash shell 71 - diff --git a/configure.ac b/configure.ac 72 - index 1f3b37e8..a216d9b7 100644 73 - --- a/configure.ac 74 - +++ b/configure.ac 75 - @@ -13,5 +13,8 @@ helpers/Makefile 76 - test/Makefile 77 - test/t/Makefile 78 - test/t/unit/Makefile 79 - +bash-completion.pc 80 - +bash-completion-config.cmake 81 - +bash-completion-config-version.cmake 82 - ]) 83 - AC_OUTPUT 84 - -- 85 - 2.21.0 86 -
+28 -19
pkgs/shells/bash/bash-completion/default.nix
··· 1 1 { stdenv, fetchFromGitHub 2 2 , fetchpatch 3 3 , autoreconfHook 4 + , perl 5 + , ps 4 6 , python3Packages 5 7 , bashInteractive 6 8 }: 7 9 8 10 stdenv.mkDerivation rec { 9 11 pname = "bash-completion"; 10 - # TODO: Remove musl patch below upon next release! 11 - version = "2.9"; 12 + version = "2.10"; 12 13 13 14 src = fetchFromGitHub { 14 15 owner = "scop"; 15 16 repo = "bash-completion"; 16 17 rev = version; 17 - sha256 = "1813r4jxfa2zgzm2ppjhrq62flfmxai8433pklxcrl4fp5wwx9yv"; 18 + sha256 = "047yjryy9d6hp18wkigbfrw9r0sm31inlsp8l28fhxg8ii032sgq"; 18 19 }; 19 20 20 21 nativeBuildInputs = [ autoreconfHook ]; 21 22 22 23 doCheck = !stdenv.isDarwin; 23 24 checkInputs = [ 25 + # perl is assumed by perldoc completion 26 + perl 27 + # ps assumed to exist by gdb, killall, pgrep, pidof, 28 + # pkill, pwdx, renice, and reptyr completions 29 + ps 24 30 python3Packages.pexpect 25 31 python3Packages.pytest 26 32 bashInteractive 27 33 ]; 28 34 29 - patches = [ 30 - ./0001-Revert-build-Do-cmake-pc-and-profile-variable-replac.patch 31 - # TODO: Remove when https://github.com/scop/bash-completion/commit/2cdac1b9f24df62a1fa80c1824ee8524c9b02393 32 - # is availabe in a release in nixpkgs. see https://github.com/scop/bash-completion/issues/312. 33 - # Fixes a test failure with musl. 34 - (fetchpatch { 35 - url = "https://github.com/scop/bash-completion/commit/2cdac1b9f24df62a1fa80c1824ee8524c9b02393.patch"; 36 - name = "bash-completion-musl-test_iconv-skip-option-completion-if-help-fails"; 37 - sha256 = "1l53d62zf01k625nzw3vcrxky93h7bzdpchgk4argxalrn17ckvb"; 38 - }) 39 - ]; 40 - 41 - # ignore ip_addresses because it tries to touch network 42 - # ignore test_ls because impure logic 35 + # - ignore test_gcc on ARM because it assumes -march=native 36 + # - ignore test_chsh because it assumes /etc/shells exists 37 + # - ignore test_ether_wake, test_ifdown, test_ifstat, test_ifup, 38 + # test_iperf, test_iperf3, test_nethogs and ip_addresses 39 + # because they try to touch network 40 + # - ignore test_ls because impure logic 41 + # - ignore test_screen because it assumes vt terminals exist 43 42 checkPhase = '' 44 43 pytest . \ 44 + ${stdenv.lib.optionalString (stdenv.hostPlatform.isAarch64) "--ignore=test/t/test_gcc.py"} \ 45 + --ignore=test/t/test_chsh.py \ 46 + --ignore=test/t/test_ether_wake.py \ 47 + --ignore=test/t/test_ifdown.py \ 48 + --ignore=test/t/test_ifstat.py \ 49 + --ignore=test/t/test_ifup.py \ 50 + --ignore=test/t/test_iperf.py \ 51 + --ignore=test/t/test_iperf3.py \ 52 + --ignore=test/t/test_nethogs.py \ 45 53 --ignore=test/t/unit/test_unit_ip_addresses.py \ 46 - --ignore=test/t/test_ls.py 54 + --ignore=test/t/test_ls.py \ 55 + --ignore=test/t/test_screen.py 47 56 ''; 48 57 49 58 prePatch = stdenv.lib.optionalString stdenv.isDarwin '' ··· 55 64 description = "Programmable completion for the bash shell"; 56 65 license = licenses.gpl2Plus; 57 66 platforms = platforms.unix; 58 - maintainers = [ maintainers.peti ]; 67 + maintainers = [ maintainers.peti maintainers.xfix ]; 59 68 }; 60 69 }
+2 -1
pkgs/stdenv/generic/setup.sh
··· 779 779 # the environment used for building. 780 780 dumpVars() { 781 781 if [ "${noDumpEnvVars:-0}" != 1 ]; then 782 - export > "$NIX_BUILD_TOP/env-vars" || true 782 + export >| "$NIX_BUILD_TOP/env-vars" || true 783 783 fi 784 784 } 785 785 ··· 1266 1266 1267 1267 for curPhase in $phases; do 1268 1268 if [[ "$curPhase" = unpackPhase && -n "${dontUnpack:-}" ]]; then continue; fi 1269 + if [[ "$curPhase" = patchPhase && -n "${dontPatch:-}" ]]; then continue; fi 1269 1270 if [[ "$curPhase" = configurePhase && -n "${dontConfigure:-}" ]]; then continue; fi 1270 1271 if [[ "$curPhase" = buildPhase && -n "${dontBuild:-}" ]]; then continue; fi 1271 1272 if [[ "$curPhase" = checkPhase && -z "${doCheck:-}" ]]; then continue; fi
+9
pkgs/tools/compression/gzip/default.nix
··· 17 17 18 18 makeFlags = [ "SHELL=/bin/sh" "GREP=grep" ]; 19 19 20 + # Many gzip executables are shell scripts that depend upon other gzip 21 + # executables being in $PATH. Rather than try to re-write all the 22 + # internal cross-references, just add $out/bin to PATH at the top of 23 + # all the executables that are shell scripts. 24 + preFixup = '' 25 + sed -i '1{;/#!\/bin\/sh/aPATH="'$out'/bin:$PATH" 26 + }' $out/bin/* 27 + ''; 28 + 20 29 meta = { 21 30 homepage = "https://www.gnu.org/software/gzip/"; 22 31 description = "GNU zip compression program";
+2 -2
pkgs/tools/filesystems/btrfs-progs/default.nix
··· 4 4 5 5 stdenv.mkDerivation rec { 6 6 pname = "btrfs-progs"; 7 - version = "5.4.1"; 7 + version = "5.6"; 8 8 9 9 src = fetchurl { 10 10 url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz"; 11 - sha256 = "0scxg9p6z0wss92gmv5a8yxdmr8x449kb5v3bfnvs26n92r7zq7k"; 11 + sha256 = "0srg276yccfmqz0skmmga3vbqx4wiqsk1l6h86n6ryhxa9viqcm1"; 12 12 }; 13 13 14 14 nativeBuildInputs = [
+2 -3
pkgs/tools/misc/dvtm/dvtm.nix
··· 9 9 cp ${builtins.toFile "config.h" customConfig} ./config.h 10 10 ''; 11 11 12 + nativeBuildInputs = [ ncurses ]; 12 13 buildInputs = [ ncurses ]; 13 14 14 15 prePatch = '' ··· 16 17 --replace /usr/share/terminfo $out/share/terminfo 17 18 ''; 18 19 19 - installPhase = '' 20 - make PREFIX=$out install 21 - ''; 20 + makeFlags = [ "PREFIX=$(out)" ]; 22 21 23 22 meta = with stdenv.lib; { 24 23 description = "Dynamic virtual terminal manager";
+2 -2
pkgs/tools/networking/modem-manager/default.nix
··· 3 3 4 4 stdenv.mkDerivation rec { 5 5 pname = "modem-manager"; 6 - version = "1.12.6"; 6 + version = "1.12.8"; 7 7 8 8 package = "ModemManager"; 9 9 src = fetchurl { 10 10 url = "https://www.freedesktop.org/software/${package}/${package}-${version}.tar.xz"; 11 - sha256 = "0k32rjh06p3q9yq054gxya6c7n39bilhi4s23p2hb02iwlz3bcrf"; 11 + sha256 = "1zrsf57bn9rmaa2qvavr1aisci76vwlx0viqpwmkw3ds2l33vdb8"; 12 12 }; 13 13 14 14 nativeBuildInputs = [ vala gobject-introspection gettext pkgconfig ];
+1 -1
pkgs/tools/security/gnome-keysign/default.nix
··· 53 53 gst_all_1.gstreamer 54 54 gst_all_1.gst-plugins-base 55 55 (gst_all_1.gst-plugins-good.override { gtkSupport = true; }) 56 - gst_all_1.gst-plugins-bad # for zbar plug-in 56 + (gst_all_1.gst-plugins-bad.override { enableZbar = true; }) # for zbar plug-in 57 57 ]; 58 58 59 59 propagatedBuildInputs = with python3.pkgs; [
+2 -2
pkgs/tools/security/gnupg/22.nix
··· 4 4 # Each of the dependencies below are optional. 5 5 # Gnupg can be built without them at the cost of reduced functionality. 6 6 , guiSupport ? true, enableMinimal ? false 7 - , adns ? null , bzip2 ? null , gnutls ? null , libusb ? null , openldap ? null 7 + , adns ? null , bzip2 ? null , gnutls ? null , libusb1 ? null , openldap ? null 8 8 , pcsclite ? null , pinentry ? null , readline ? null , sqlite ? null , zlib ? 9 9 null 10 10 }: ··· 27 27 nativeBuildInputs = [ pkgconfig texinfo ]; 28 28 buildInputs = [ 29 29 libgcrypt libassuan libksba libiconv npth gettext 30 - readline libusb gnutls adns openldap zlib bzip2 sqlite 30 + readline libusb1 gnutls adns openldap zlib bzip2 sqlite 31 31 ]; 32 32 33 33 patches = [
+34 -3
pkgs/top-level/all-packages.nix
··· 8404 8404 inherit (gnome2) libart_lgpl; 8405 8405 }); 8406 8406 8407 + gnat = gnat9; 8408 + 8409 + gnat6 = wrapCC (gcc6.cc.override { 8410 + name = "gnat"; 8411 + langC = true; 8412 + langCC = false; 8413 + langAda = true; 8414 + profiledCompiler = false; 8415 + inherit gnatboot; 8416 + }); 8417 + 8418 + gnat9 = wrapCC (gcc9.cc.override { 8419 + name = "gnat"; 8420 + langC = true; 8421 + langCC = false; 8422 + langAda = true; 8423 + profiledCompiler = false; 8424 + gnatboot = gnat6; 8425 + }); 8426 + 8427 + gnatboot = wrapCC (callPackage ../development/compilers/gnatboot { }); 8428 + 8407 8429 gnu-smalltalk = callPackage ../development/compilers/gnu-smalltalk { }; 8408 8430 8409 8431 gccgo = gccgo6; ··· 8414 8436 langGo = true; 8415 8437 profiledCompiler = false; 8416 8438 }); 8439 + 8440 + ghdl = ghdl-mcode; 8441 + 8442 + ghdl-mcode = callPackage ../development/compilers/ghdl { 8443 + backend = "mcode"; 8444 + }; 8445 + 8446 + ghdl-llvm = callPackage ../development/compilers/ghdl { 8447 + backend = "llvm"; 8448 + }; 8417 8449 8418 8450 gcl = callPackage ../development/compilers/gcl { 8419 8451 gmp = gmp4; ··· 12652 12684 12653 12685 libfakekey = callPackage ../development/libraries/libfakekey { }; 12654 12686 12655 - libfido2 = callPackage ../development/libraries/libfido2 { 12656 - inherit (darwin.apple_sdk.frameworks) IOKit; 12657 - }; 12687 + libfido2 = callPackage ../development/libraries/libfido2 { }; 12658 12688 12659 12689 libfilezilla = callPackage ../development/libraries/libfilezilla { }; 12660 12690 ··· 12999 13029 libjcat = callPackage ../development/libraries/libjcat { }; 13000 13030 13001 13031 libjpeg_original = callPackage ../development/libraries/libjpeg { }; 13032 + # also known as libturbojpeg 13002 13033 libjpeg_turbo = callPackage ../development/libraries/libjpeg-turbo { }; 13003 13034 libjpeg_drop = callPackage ../development/libraries/libjpeg-drop { }; 13004 13035 libjpeg = libjpeg_turbo;
+5 -4
pkgs/top-level/perl-packages.nix
··· 21094 21094 21095 21095 XMLParser = buildPerlPackage { 21096 21096 pname = "XML-Parser"; 21097 - version = "2.44"; 21097 + version = "2.46"; 21098 21098 src = fetchurl { 21099 - url = "mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.44.tar.gz"; 21100 - sha256 = "05ij0g6bfn27iaggxf8nl5rhlwx6f6p6xmdav6rjcly3x5zd1s8s"; 21099 + url = "mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.46.tar.gz"; 21100 + sha256 = "0pai3ik47q7rgnix9644c673fwydz52gqkxr9kxwq765j4j36cfk"; 21101 21101 }; 21102 - patchPhase = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' 21102 + patches = [ ../development/perl-modules/xml-parser-0001-HACK-Assumes-Expat-paths-are-good.patch ]; 21103 + postPatch = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' 21103 21104 substituteInPlace Expat/Makefile.PL --replace 'use English;' '#' 21104 21105 '' + stdenv.lib.optionalString stdenv.isCygwin '' 21105 21106 sed -i"" -e "s@my \$compiler = File::Spec->catfile(\$path, \$cc\[0\]) \. \$Config{_exe};@my \$compiler = File::Spec->catfile(\$path, \$cc\[0\]) \. (\$^O eq 'cygwin' ? \"\" : \$Config{_exe});@" inc/Devel/CheckLib.pm
+2 -2
pkgs/top-level/unix-tools.nix
··· 66 66 linux = pkgs.utillinux; 67 67 }; 68 68 getconf = { 69 - linux = if stdenv.hostPlatform.libc == "glibc" then pkgs.glibc 69 + linux = if stdenv.hostPlatform.libc == "glibc" then pkgs.stdenv.cc.libc 70 70 else pkgs.netbsd.getconf; 71 71 darwin = pkgs.darwin.system_cmds; 72 72 }; 73 73 getent = { 74 - linux = if stdenv.hostPlatform.libc == "glibc" then pkgs.glibc 74 + linux = if stdenv.hostPlatform.libc == "glibc" then pkgs.stdenv.cc.libc 75 75 else pkgs.netbsd.getent; 76 76 darwin = pkgs.netbsd.getent; 77 77 };