Merge staging into staging-next

+2072 -383
+10
doc/stdenv/stdenv.xml
··· 729 <title>Variables controlling the patch phase</title> 730 <varlistentry> 731 <term> 732 <varname>patches</varname> 733 </term> 734 <listitem>
··· 729 <title>Variables controlling the patch phase</title> 730 <varlistentry> 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> 742 <varname>patches</varname> 743 </term> 744 <listitem>
+5
nixos/modules/config/fonts/fontconfig.nix
··· 45 46 # generate the font cache setting file for a fontconfig version 47 # use latest when no version is passed 48 makeCacheConf = { version ? null }: 49 let 50 fcPackage = if version == null ··· 60 <fontconfig> 61 <!-- Font directories --> 62 ${concatStringsSep "\n" (map (font: "<dir>${font}</dir>") config.fonts.fonts)} 63 <!-- Pre-generated font caches --> 64 <cachedir>${cache}</cachedir> 65 ${optionalString (pkgs.stdenv.isx86_64 && cfg.cache32Bit) '' 66 <cachedir>${cache32}</cachedir> 67 ''} 68 </fontconfig> 69 '';
··· 45 46 # generate the font cache setting file for a fontconfig version 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. 51 makeCacheConf = { version ? null }: 52 let 53 fcPackage = if version == null ··· 63 <fontconfig> 64 <!-- Font directories --> 65 ${concatStringsSep "\n" (map (font: "<dir>${font}</dir>") config.fonts.fonts)} 66 + ${optionalString (pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform) '' 67 <!-- Pre-generated font caches --> 68 <cachedir>${cache}</cachedir> 69 ${optionalString (pkgs.stdenv.isx86_64 && cfg.cache32Bit) '' 70 <cachedir>${cache32}</cachedir> 71 + ''} 72 ''} 73 </fontconfig> 74 '';
+1 -1
nixos/modules/config/networking.nix
··· 197 198 } // optionalAttrs (pkgs.stdenv.hostPlatform.libc == "glibc") { 199 # /etc/rpc: RPC program numbers. 200 - rpc.source = pkgs.glibc.out + "/etc/rpc"; 201 }; 202 203 networking.proxy.envVars =
··· 197 198 } // optionalAttrs (pkgs.stdenv.hostPlatform.libc == "glibc") { 199 # /etc/rpc: RPC program numbers. 200 + rpc.source = pkgs.stdenv.cc.libc.out + "/etc/rpc"; 201 }; 202 203 networking.proxy.envVars =
+8 -4
nixos/modules/services/system/nscd.nix
··· 7 nssModulesPath = config.system.nssModules.path; 8 cfg = config.services.nscd; 9 10 in 11 12 { ··· 59 # files. So prefix the ExecStart command with "!" to prevent systemd 60 # from dropping privileges early. See ExecStart in systemd.service(5). 61 serviceConfig = 62 - { ExecStart = "!@${pkgs.glibc.bin}/sbin/nscd nscd"; 63 Type = "forking"; 64 DynamicUser = true; 65 RuntimeDirectory = "nscd"; 66 PIDFile = "/run/nscd/nscd.pid"; 67 Restart = "always"; 68 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" 72 ]; 73 }; 74 };
··· 7 nssModulesPath = config.system.nssModules.path; 8 cfg = config.services.nscd; 9 10 + nscd = if pkgs.stdenv.hostPlatform.libc == "glibc" 11 + then pkgs.stdenv.cc.libc.bin 12 + else pkgs.glibc.bin; 13 + 14 in 15 16 { ··· 63 # files. So prefix the ExecStart command with "!" to prevent systemd 64 # from dropping privileges early. See ExecStart in systemd.service(5). 65 serviceConfig = 66 + { ExecStart = "!@${nscd}/sbin/nscd nscd"; 67 Type = "forking"; 68 DynamicUser = true; 69 RuntimeDirectory = "nscd"; 70 PIDFile = "/run/nscd/nscd.pid"; 71 Restart = "always"; 72 ExecReload = 73 + [ "${nscd}/sbin/nscd --invalidate passwd" 74 + "${nscd}/sbin/nscd --invalidate group" 75 + "${nscd}/sbin/nscd --invalidate hosts" 76 ]; 77 }; 78 };
+2 -2
nixos/modules/services/x11/gdk-pixbuf.nix
··· 19 continue 20 fi 21 GDK_PIXBUF_MODULEDIR="$module_dir" \ 22 - ${pkgs.gdk-pixbuf.dev}/bin/gdk-pixbuf-query-loaders 23 done 24 ) > "$out" 25 ''; ··· 37 # If there is any package configured in modulePackages, we generate the 38 # loaders.cache based on that and set the environment variable 39 # GDK_PIXBUF_MODULE_FILE to point to it. 40 - config = mkIf (cfg.modulePackages != []) { 41 environment.variables = { 42 GDK_PIXBUF_MODULE_FILE = "${loadersCache}"; 43 };
··· 19 continue 20 fi 21 GDK_PIXBUF_MODULEDIR="$module_dir" \ 22 + ${pkgs.stdenv.hostPlatform.emulator pkgs.buildPackages} ${pkgs.gdk-pixbuf.dev}/bin/gdk-pixbuf-query-loaders 23 done 24 ) > "$out" 25 ''; ··· 37 # If there is any package configured in modulePackages, we generate the 38 # loaders.cache based on that and set the environment variable 39 # GDK_PIXBUF_MODULE_FILE to point to it. 40 + config = mkIf (cfg.modulePackages != [] || pkgs.stdenv.hostPlatform != pkgs.stdenv.buildPlatform) { 41 environment.variables = { 42 GDK_PIXBUF_MODULE_FILE = "${loadersCache}"; 43 };
+2 -2
pkgs/applications/editors/vim/common.nix
··· 1 { lib, fetchFromGitHub }: 2 rec { 3 - version = "8.2.0343"; 4 5 src = fetchFromGitHub { 6 owner = "vim"; 7 repo = "vim"; 8 rev = "v${version}"; 9 - sha256 = "063i52h8v7f87zamrw2ph057f0x2nzwf1s0izrm2psy41cyf4wa3"; 10 }; 11 12 enableParallelBuilding = true;
··· 1 { lib, fetchFromGitHub }: 2 rec { 3 + version = "8.2.0510"; 4 5 src = fetchFromGitHub { 6 owner = "vim"; 7 repo = "vim"; 8 rev = "v${version}"; 9 + sha256 = "16ggwf238pzzkn3ng6n09qz9cgdzha9vc0ghlcxhwilnjh12l7p9"; 10 }; 11 12 enableParallelBuilding = true;
+2
pkgs/applications/version-management/git-and-tools/git/default.nix
··· 80 configureFlags = stdenv.lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ 81 "ac_cv_fread_reads_directories=yes" 82 "ac_cv_snprintf_returns_bogus=no" 83 ]; 84 85 preBuild = ''
··· 80 configureFlags = stdenv.lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ 81 "ac_cv_fread_reads_directories=yes" 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" 85 ]; 86 87 preBuild = ''
+54 -20
pkgs/applications/video/kodi/default.nix
··· 4 , boost, avahi, lame, autoreconfHook 5 , gettext, pcre-cpp, yajl, fribidi, which 6 , openssl, gperf, tinyxml2, taglib, libssh, swig, jre 7 - , libX11, xorgproto, libxml2 8 - , libXt, libXmu, libXext 9 - , libXinerama, libXrandr 10 - , libXtst, libXfixes, systemd 11 , alsaLib, libGLU, libGL, glew, fontconfig, freetype, ftgl 12 , libjpeg, libpng, libtiff 13 , libmpeg2, libsamplerate, libmad 14 , libogg, libvorbis, flac, libxslt 15 , lzo, libcdio, libmodplug, libass, libbluray 16 , sqlite, libmysqlclient, nasm, gnutls, libva, libdrm 17 - , curl, bzip2, zip, unzip, glxinfo, xdpyinfo 18 , libcec, libcec_platform, dcadec, libuuid 19 , libcrossguid, libmicrohttpd 20 - , bluez, doxygen, giflib, glib, harfbuzz, lcms2, libidn, libpthreadstubs, libtasn1, libXdmcp 21 , libplist, p11-kit, zlib, flatbuffers, fmt, fstrcmp, rapidjson 22 , lirc 23 , dbusSupport ? true, dbus ? null 24 , joystickSupport ? true, cwiid ? null 25 , nfsSupport ? true, libnfs ? null ··· 32 , useWayland ? false, wayland ? null, wayland-protocols ? null 33 , waylandpp ? null, libxkbcommon ? null 34 , useGbm ? false, mesa ? null, libinput ? null 35 }: 36 37 assert dbusSupport -> dbus != null; ··· 94 sha256 = "1krsjlr949iy5l6ljxancza1yi6w1annxc5s6k283i9mb15qy8cy"; 95 preConfigure = '' 96 cp ${kodi_src}/tools/depends/target/ffmpeg/{CMakeLists.txt,*.cmake} . 97 ''; 98 - buildInputs = [ gnutls libidn libtasn1 p11-kit zlib libva ] 99 ++ lib.optional vdpauSupport libvdpau; 100 - nativeBuildInputs = [ cmake nasm pkgconfig ]; 101 }; 102 103 # We can build these externally but FindLibDvd.cmake forces us to build it ··· 152 153 buildInputs = [ 154 gnutls libidn libtasn1 nasm p11-kit 155 - libxml2 yasm python2Packages.python 156 boost libmicrohttpd 157 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 162 libjpeg libpng libtiff 163 libmpeg2 libsamplerate libmad 164 libogg libvorbis flac libxslt systemd 165 lzo libcdio libmodplug libass libbluray 166 sqlite libmysqlclient avahi lame 167 - curl bzip2 zip unzip glxinfo xdpyinfo 168 libcec libcec_platform dcadec libuuid 169 libgcrypt libgpgerror libunistring 170 - libcrossguid cwiid libplist 171 - bluez giflib glib harfbuzz lcms2 libpthreadstubs libXdmcp 172 ffmpeg flatbuffers fmt fstrcmp rapidjson 173 lirc 174 # libdvdcss libdvdnav libdvdread 175 ] 176 ++ lib.optional dbusSupport dbus 177 - ++ lib.optionals joystickSupport [ cwiid ] 178 ++ lib.optional nfsSupport libnfs 179 ++ lib.optional pulseSupport libpulseaudio 180 ++ lib.optional rtmpSupport rtmpdump ··· 183 ++ lib.optional usbSupport libusb 184 ++ lib.optional vdpauSupport libvdpau 185 ++ lib.optionals useWayland [ 186 - wayland waylandpp 187 # Not sure why ".dev" is needed here, but CMake doesn't find libxkbcommon otherwise 188 libxkbcommon.dev 189 ] ··· 200 which 201 pkgconfig gnumake 202 autoconf automake libtool # still needed for some components. Check if that is the case with 19.0 203 ] ++ lib.optionals useWayland [ wayland-protocols ]; 204 205 cmakeFlags = [ 206 "-Dlibdvdcss_URL=${libdvdcss.src}" 207 "-Dlibdvdnav_URL=${libdvdnav.src}" ··· 210 "-DENABLE_EVENTCLIENTS=ON" 211 "-DENABLE_INTERNAL_CROSSGUID=OFF" 212 "-DENABLE_OPTICAL=ON" 213 ] ++ lib.optional useWayland [ 214 "-DCORE_PLATFORM_NAME=wayland" 215 "-DWAYLAND_RENDER_SYSTEM=gl" 216 ] ++ lib.optional useGbm [ 217 "-DCORE_PLATFORM_NAME=gbm" 218 "-DGBM_RENDER_SYSTEM=gles" ··· 224 # I'm guessing there is a thing waiting to time out 225 doCheck = false; 226 227 postPatch = '' 228 substituteInPlace xbmc/platform/linux/LinuxTimezone.cpp \ 229 --replace 'usr/share/zoneinfo' 'etc/zoneinfo' ··· 232 postInstall = '' 233 for p in $(ls $out/bin/) ; do 234 wrapProgram $out/bin/$p \ 235 - --prefix PATH ":" "${lib.makeBinPath [ python2Packages.python glxinfo xdpyinfo ]}" \ 236 --prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath 237 - ([ curl systemd libmad libvdpau libcec libcec_platform rtmpdump libass ] ++ lib.optional nfsSupport libnfs)}" 238 done 239 240 substituteInPlace $out/share/xsessions/kodi.desktop \
··· 4 , boost, avahi, lame, autoreconfHook 5 , gettext, pcre-cpp, yajl, fribidi, which 6 , openssl, gperf, tinyxml2, taglib, libssh, swig, jre 7 + , libxml2, systemd 8 , alsaLib, libGLU, libGL, glew, fontconfig, freetype, ftgl 9 , libjpeg, libpng, libtiff 10 , libmpeg2, libsamplerate, libmad 11 , libogg, libvorbis, flac, libxslt 12 , lzo, libcdio, libmodplug, libass, libbluray 13 , sqlite, libmysqlclient, nasm, gnutls, libva, libdrm 14 + , curl, bzip2, zip, unzip, glxinfo 15 , libcec, libcec_platform, dcadec, libuuid 16 , libcrossguid, libmicrohttpd 17 + , bluez, doxygen, giflib, glib, harfbuzz, lcms2, libidn, libpthreadstubs, libtasn1 18 , libplist, p11-kit, zlib, flatbuffers, fmt, fstrcmp, rapidjson 19 , lirc 20 + , x11Support ? true, libX11, xorgproto, libXt, libXmu, libXext, libXinerama, libXrandr, libXtst, libXfixes, xdpyinfo, libXdmcp 21 , dbusSupport ? true, dbus ? null 22 , joystickSupport ? true, cwiid ? null 23 , nfsSupport ? true, libnfs ? null ··· 30 , useWayland ? false, wayland ? null, wayland-protocols ? null 31 , waylandpp ? null, libxkbcommon ? null 32 , useGbm ? false, mesa ? null, libinput ? null 33 + , buildPackages 34 }: 35 36 assert dbusSupport -> dbus != null; ··· 93 sha256 = "1krsjlr949iy5l6ljxancza1yi6w1annxc5s6k283i9mb15qy8cy"; 94 preConfigure = '' 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 98 ''; 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 ] 106 ++ lib.optional vdpauSupport libvdpau; 107 + nativeBuildInputs = [ cmake nasm pkgconfig gnutls ]; 108 }; 109 110 # We can build these externally but FindLibDvd.cmake forces us to build it ··· 159 160 buildInputs = [ 161 gnutls libidn libtasn1 nasm p11-kit 162 + libxml2 python2Packages.python 163 boost libmicrohttpd 164 gettext pcre-cpp yajl fribidi libva libdrm 165 + openssl gperf tinyxml2 taglib libssh 166 + alsaLib libGL libGLU fontconfig freetype ftgl 167 libjpeg libpng libtiff 168 libmpeg2 libsamplerate libmad 169 libogg libvorbis flac libxslt systemd 170 lzo libcdio libmodplug libass libbluray 171 sqlite libmysqlclient avahi lame 172 + curl bzip2 zip unzip glxinfo 173 libcec libcec_platform dcadec libuuid 174 libgcrypt libgpgerror libunistring 175 + libcrossguid libplist 176 + bluez giflib glib harfbuzz lcms2 libpthreadstubs 177 ffmpeg flatbuffers fmt fstrcmp rapidjson 178 lirc 179 # libdvdcss libdvdnav libdvdread 180 ] 181 + ++ lib.optional x11Support [ 182 + libX11 xorgproto libXt libXmu libXext libXdmcp 183 + libXinerama libXrandr libXtst libXfixes 184 + ] 185 ++ lib.optional dbusSupport dbus 186 + ++ lib.optional joystickSupport cwiid 187 ++ lib.optional nfsSupport libnfs 188 ++ lib.optional pulseSupport libpulseaudio 189 ++ lib.optional rtmpSupport rtmpdump ··· 192 ++ lib.optional usbSupport libusb 193 ++ lib.optional vdpauSupport libvdpau 194 ++ lib.optionals useWayland [ 195 + wayland waylandpp wayland-protocols 196 # Not sure why ".dev" is needed here, but CMake doesn't find libxkbcommon otherwise 197 libxkbcommon.dev 198 ] ··· 209 which 210 pkgconfig gnumake 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 216 ] ++ lib.optionals useWayland [ wayland-protocols ]; 217 218 + depsBuildBuild = [ 219 + buildPackages.stdenv.cc 220 + ]; 221 + 222 cmakeFlags = [ 223 "-Dlibdvdcss_URL=${libdvdcss.src}" 224 "-Dlibdvdnav_URL=${libdvdnav.src}" ··· 227 "-DENABLE_EVENTCLIENTS=ON" 228 "-DENABLE_INTERNAL_CROSSGUID=OFF" 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" 234 ] ++ lib.optional useWayland [ 235 "-DCORE_PLATFORM_NAME=wayland" 236 "-DWAYLAND_RENDER_SYSTEM=gl" 237 + "-DWAYLANDPP_SCANNER=${buildPackages.waylandpp}/bin/wayland-scanner++" 238 ] ++ lib.optional useGbm [ 239 "-DCORE_PLATFORM_NAME=gbm" 240 "-DGBM_RENDER_SYSTEM=gles" ··· 246 # I'm guessing there is a thing waiting to time out 247 doCheck = false; 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 + 259 postPatch = '' 260 substituteInPlace xbmc/platform/linux/LinuxTimezone.cpp \ 261 --replace 'usr/share/zoneinfo' 'etc/zoneinfo' ··· 264 postInstall = '' 265 for p in $(ls $out/bin/) ; do 266 wrapProgram $out/bin/$p \ 267 + --prefix PATH ":" "${lib.makeBinPath ([ python2Packages.python glxinfo ] ++ lib.optional x11Support xdpyinfo)}" \ 268 --prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath 269 + ([ curl systemd libmad libvdpau libcec libcec_platform libass ] 270 + ++ lib.optional nfsSupport libnfs 271 + ++ lib.optional rtmpSupport rtmpdump)}" 272 done 273 274 substituteInPlace $out/share/xsessions/kodi.desktop \
+5
pkgs/build-support/cc-wrapper/add-flags.sh
··· 10 NIX+CFLAGS_LINK 11 NIX+CXXSTDLIB_COMPILE 12 NIX+CXXSTDLIB_LINK 13 ) 14 var_templates_bool=( 15 NIX+ENFORCE_NO_NATIVE ··· 38 39 if [ -e @out@/nix-support/cc-cflags ]; then 40 NIX_@infixSalt@_CFLAGS_COMPILE="$(< @out@/nix-support/cc-cflags) $NIX_@infixSalt@_CFLAGS_COMPILE" 41 fi 42 43 if [ -e @out@/nix-support/cc-ldflags ]; then
··· 10 NIX+CFLAGS_LINK 11 NIX+CXXSTDLIB_COMPILE 12 NIX+CXXSTDLIB_LINK 13 + NIX+GNATFLAGS_COMPILE 14 ) 15 var_templates_bool=( 16 NIX+ENFORCE_NO_NATIVE ··· 39 40 if [ -e @out@/nix-support/cc-cflags ]; then 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" 46 fi 47 48 if [ -e @out@/nix-support/cc-ldflags ]; then
+15
pkgs/build-support/cc-wrapper/default.nix
··· 199 fi 200 '' 201 202 + optionalString cc.langFortran or false '' 203 wrap ${targetPrefix}gfortran $wrapper $ccPath/${targetPrefix}gfortran 204 ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}g77 ··· 283 ccLDFlags+=" -L${cc_solib}/lib" 284 ccCFlags+=" -B${cc_solib}/lib" 285 286 echo "$ccLDFlags" > $out/nix-support/cc-ldflags 287 echo "$ccCFlags" > $out/nix-support/cc-cflags 288 '' + optionalString (targetPlatform.isDarwin && (libcxx != null) && (cc.isClang or false)) '' ··· 351 hardening_unsupported_flags+=" stackprotector fortify pie pic" 352 '' + optionalString targetPlatform.isNetBSD '' 353 hardening_unsupported_flags+=" stackprotector fortify" 354 '' 355 356 + optionalString targetPlatform.isWasm ''
··· 199 fi 200 '' 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 + 208 + optionalString cc.langFortran or false '' 209 wrap ${targetPrefix}gfortran $wrapper $ccPath/${targetPrefix}gfortran 210 ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}g77 ··· 289 ccLDFlags+=" -L${cc_solib}/lib" 290 ccCFlags+=" -B${cc_solib}/lib" 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 + '' + '' 299 echo "$ccLDFlags" > $out/nix-support/cc-ldflags 300 echo "$ccCFlags" > $out/nix-support/cc-cflags 301 '' + optionalString (targetPlatform.isDarwin && (libcxx != null) && (cc.isClang or false)) '' ··· 364 hardening_unsupported_flags+=" stackprotector fortify pie pic" 365 '' + optionalString targetPlatform.isNetBSD '' 366 hardening_unsupported_flags+=" stackprotector fortify" 367 + '' + optionalString cc.langAda or false '' 368 + hardening_unsupported_flags+=" stackprotector strictoverflow" 369 '' 370 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 # *or* there is an INTERP section. This also catches position-independent 16 # executables, as they typically have an INTERP section but their ELF type 17 # is DYN. 18 - isExeResult="$(LANG=C readelf -h -l "$1" 2> /dev/null \ 19 | grep '^ *Type: *EXEC\>\|^ *INTERP\>')" 20 # not using grep -q, because it can cause Broken pipe 21 [ -n "$isExeResult" ] ··· 207 # outside of this function. 208 while IFS= read -r -d $'\0' file; do 209 isELF "$file" || continue 210 - segmentHeaders="$(LANG=C readelf -l "$file")" 211 # Skip if the ELF file doesn't have segment headers (eg. object files). 212 # not using grep -q, because it can cause Broken pipe 213 [ -n "$(echo "$segmentHeaders" | grep '^Program Headers:')" ] || continue
··· 15 # *or* there is an INTERP section. This also catches position-independent 16 # executables, as they typically have an INTERP section but their ELF type 17 # is DYN. 18 + isExeResult="$(LANG=C $READELF -h -l "$1" 2> /dev/null \ 19 | grep '^ *Type: *EXEC\>\|^ *INTERP\>')" 20 # not using grep -q, because it can cause Broken pipe 21 [ -n "$isExeResult" ] ··· 207 # outside of this function. 208 while IFS= read -r -d $'\0' file; do 209 isELF "$file" || continue 210 + segmentHeaders="$(LANG=C $READELF -l "$file")" 211 # Skip if the ELF file doesn't have segment headers (eg. object files). 212 # not using grep -q, because it can cause Broken pipe 213 [ -n "$(echo "$segmentHeaders" | grep '^Program Headers:')" ] || continue
+1 -1
pkgs/data/icons/hicolor-icon-theme/setup-hook.sh
··· 10 } 11 12 # I think this is meant to be a runtime dep 13 - addEnvHooks "${hostOffset:?}" hicolorIconThemeHook
··· 10 } 11 12 # I think this is meant to be a runtime dep 13 + addEnvHooks "${targetOffset:?}" hicolorIconThemeHook
+1
pkgs/desktops/gnome-3/core/epiphany/default.nix
··· 58 python3 59 wrapGAppsHook 60 buildPackages.glib 61 ]; 62 63 buildInputs = [
··· 58 python3 59 wrapGAppsHook 60 buildPackages.glib 61 + buildPackages.gtk3 62 ]; 63 64 buildInputs = [
+4 -1
pkgs/desktops/gnome-3/core/gnome-shell/default.nix
··· 65 66 # Install bash-completions to correct prefix. 67 # https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1194 68 - ./fix-bash-completion.patch 69 70 # Use absolute path for libshew installation to make our patched gobject-introspection 71 # aware of the location to hardcode in the generated GIR file.
··· 65 66 # Install bash-completions to correct prefix. 67 # https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1194 68 + (fetchpatch { 69 + url = "https://gitlab.gnome.org/GNOME/gnome-shell/commit/9f1ad5d86ddbabaa840eb2860279d53f4e635453.patch"; 70 + sha256 = "f8MDFbfg9D7ORF84Ld9GIvf0xRCYuSszo3QLMji2VaE="; 71 + }) 72 73 # Use absolute path for libshew installation to make our patched gobject-introspection 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 { stdenv, targetPackages, fetchurl, fetchpatch, fetchFromGitHub, noSysDirs 2 , langC ? true, langCC ? true, langFortran ? false 3 , langObjC ? stdenv.targetPlatform.isDarwin 4 , langObjCpp ? stdenv.targetPlatform.isDarwin 5 , langJava ? false ··· 15 , libelf # optional, for link-time optimizations (LTO) 16 , isl ? null # optional, for the Graphite optimization framework. 17 , zlib ? null, boehmgc ? null 18 , zip ? null, unzip ? null, pkgconfig ? null 19 , gtk2 ? null, libart_lgpl ? null 20 , libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null ··· 48 # The go frontend is written in c++ 49 assert langGo -> langCC; 50 51 # threadsCross is just for MinGW 52 assert threadsCross != null -> stdenv.targetPlatform.isWindows; 53 ··· 63 [ ../use-source-date-epoch.patch ] 64 ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch 65 ++ optional noSysDirs ../no-sys-dirs.patch 66 ++ optional langFortran ../gfortran-driving.patch 67 ++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch 68 ++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch { ··· 200 # The builder relies on GNU sed (for instance, Darwin's `sed' fails with 201 # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. 202 ++ (optional hostPlatform.isDarwin gnused) 203 ; 204 205 depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross; ··· 208 209 preConfigure = import ../common/pre-configure.nix { 210 inherit (stdenv) lib; 211 - inherit version hostPlatform langJava langGo; 212 }; 213 214 dontDisableStatic = true; ··· 234 langCC 235 langFortran 236 langJava javaAwtGtk javaAntlr javaEcj 237 langGo 238 langObjC 239 langObjCpp ··· 292 ; 293 294 passthru = { 295 - inherit langC langCC langObjC langObjCpp langFortran langGo version; 296 isGNU = true; 297 }; 298
··· 1 { stdenv, targetPackages, fetchurl, fetchpatch, fetchFromGitHub, noSysDirs 2 , langC ? true, langCC ? true, langFortran ? false 3 + , langAda ? false 4 , langObjC ? stdenv.targetPlatform.isDarwin 5 , langObjCpp ? stdenv.targetPlatform.isDarwin 6 , langJava ? false ··· 16 , libelf # optional, for link-time optimizations (LTO) 17 , isl ? null # optional, for the Graphite optimization framework. 18 , zlib ? null, boehmgc ? null 19 + , gnatboot ? null 20 , zip ? null, unzip ? null, pkgconfig ? null 21 , gtk2 ? null, libart_lgpl ? null 22 , libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null ··· 50 # The go frontend is written in c++ 51 assert langGo -> langCC; 52 53 + assert langAda -> gnatboot != null; 54 + 55 # threadsCross is just for MinGW 56 assert threadsCross != null -> stdenv.targetPlatform.isWindows; 57 ··· 67 [ ../use-source-date-epoch.patch ] 68 ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch 69 ++ optional noSysDirs ../no-sys-dirs.patch 70 + ++ optional langAda ../gnat-cflags.patch 71 ++ optional langFortran ../gfortran-driving.patch 72 ++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch 73 ++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch { ··· 205 # The builder relies on GNU sed (for instance, Darwin's `sed' fails with 206 # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. 207 ++ (optional hostPlatform.isDarwin gnused) 208 + ++ (optional langAda gnatboot) 209 ; 210 211 depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross; ··· 214 215 preConfigure = import ../common/pre-configure.nix { 216 inherit (stdenv) lib; 217 + inherit version hostPlatform gnatboot langJava langAda langGo; 218 }; 219 220 dontDisableStatic = true; ··· 240 langCC 241 langFortran 242 langJava javaAwtGtk javaAntlr javaEcj 243 + langAda 244 langGo 245 langObjC 246 langObjCpp ··· 299 ; 300 301 passthru = { 302 + inherit langC langCC langObjC langObjCpp langFortran langAda langGo version; 303 isGNU = true; 304 }; 305
+8 -2
pkgs/development/compilers/gcc/9/default.nix
··· 1 { stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs 2 , langC ? true, langCC ? true, langFortran ? false 3 , langObjC ? stdenv.targetPlatform.isDarwin 4 , langObjCpp ? stdenv.targetPlatform.isDarwin 5 , langGo ? false ··· 13 , libelf # optional, for link-time optimizations (LTO) 14 , isl ? null # optional, for the Graphite optimization framework. 15 , zlib ? null 16 , enableMultilib ? false 17 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins 18 , name ? "gcc" ··· 35 36 # The go frontend is written in c++ 37 assert langGo -> langCC; 38 39 # threadsCross is just for MinGW 40 assert threadsCross != null -> stdenv.targetPlatform.isWindows; ··· 54 url = "https://git.busybox.net/buildroot/plain/package/gcc/${version}/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02"; 55 sha256 = ""; # TODO: uncomment and check hash when available. 56 }) */ 57 ++ optional langFortran ../gfortran-driving.patch 58 ++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch 59 ++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch { ··· 160 # The builder relies on GNU sed (for instance, Darwin's `sed' fails with 161 # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. 162 ++ (optional hostPlatform.isDarwin gnused) 163 ; 164 165 depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross; ··· 168 169 preConfigure = import ../common/pre-configure.nix { 170 inherit (stdenv) lib; 171 - inherit version hostPlatform langGo; 172 }; 173 174 dontDisableStatic = true; ··· 193 langC 194 langCC 195 langFortran 196 langGo 197 langObjC 198 langObjCpp ··· 236 ; 237 238 passthru = { 239 - inherit langC langCC langObjC langObjCpp langFortran langGo version; 240 isGNU = true; 241 }; 242
··· 1 { stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs 2 , langC ? true, langCC ? true, langFortran ? false 3 + , langAda ? false 4 , langObjC ? stdenv.targetPlatform.isDarwin 5 , langObjCpp ? stdenv.targetPlatform.isDarwin 6 , langGo ? false ··· 14 , libelf # optional, for link-time optimizations (LTO) 15 , isl ? null # optional, for the Graphite optimization framework. 16 , zlib ? null 17 + , gnatboot ? null 18 , enableMultilib ? false 19 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins 20 , name ? "gcc" ··· 37 38 # The go frontend is written in c++ 39 assert langGo -> langCC; 40 + assert langAda -> gnatboot != null; 41 42 # threadsCross is just for MinGW 43 assert threadsCross != null -> stdenv.targetPlatform.isWindows; ··· 57 url = "https://git.busybox.net/buildroot/plain/package/gcc/${version}/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02"; 58 sha256 = ""; # TODO: uncomment and check hash when available. 59 }) */ 60 + ++ optional langAda ../gnat-cflags.patch 61 ++ optional langFortran ../gfortran-driving.patch 62 ++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch 63 ++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch { ··· 164 # The builder relies on GNU sed (for instance, Darwin's `sed' fails with 165 # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. 166 ++ (optional hostPlatform.isDarwin gnused) 167 + ++ (optional langAda gnatboot) 168 ; 169 170 depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross; ··· 173 174 preConfigure = import ../common/pre-configure.nix { 175 inherit (stdenv) lib; 176 + inherit version hostPlatform gnatboot langAda langGo; 177 }; 178 179 dontDisableStatic = true; ··· 198 langC 199 langCC 200 langFortran 201 + langAda 202 langGo 203 langObjC 204 langObjCpp ··· 242 ; 243 244 passthru = { 245 + inherit langC langCC langObjC langObjCpp langAda langFortran langGo version; 246 isGNU = true; 247 }; 248
+1
pkgs/development/compilers/gcc/builder.sh
··· 216 moveToOutput "${targetConfig+$targetConfig/}lib/lib*.so*" "$lib" 217 moveToOutput "${targetConfig+$targetConfig/}lib/lib*.la" "$lib" 218 moveToOutput "${targetConfig+$targetConfig/}lib/lib*.dylib" "$lib" 219 moveToOutput "share/gcc-*/python" "$lib" 220 221 for i in "$lib/${targetConfig}"/lib/*.{la,py}; do
··· 216 moveToOutput "${targetConfig+$targetConfig/}lib/lib*.so*" "$lib" 217 moveToOutput "${targetConfig+$targetConfig/}lib/lib*.la" "$lib" 218 moveToOutput "${targetConfig+$targetConfig/}lib/lib*.dylib" "$lib" 219 + moveToOutput "${targetConfig+$targetConfig/}lib/lib*.dll.a" "$lib" 220 moveToOutput "share/gcc-*/python" "$lib" 221 222 for i in "$lib/${targetConfig}"/lib/*.{la,py}; do
+5
pkgs/development/compilers/gcc/common/configure-flags.nix
··· 16 , langCC 17 , langFortran 18 , langJava ? false, javaAwtGtk ? false, javaAntlr ? null, javaEcj ? null 19 , langGo 20 , langObjC 21 , langObjCpp ··· 115 ++ lib.optional langCC "c++" 116 ++ lib.optional langFortran "fortran" 117 ++ lib.optional langJava "java" 118 ++ lib.optional langGo "go" 119 ++ lib.optional langObjC "objc" 120 ++ lib.optional langObjCpp "obj-c++" ··· 139 "--disable-cloog-version-check" 140 "--enable-cloog-backend=isl" 141 ] 142 143 # Java options 144 ++ lib.optionals langJava [
··· 16 , langCC 17 , langFortran 18 , langJava ? false, javaAwtGtk ? false, javaAntlr ? null, javaEcj ? null 19 + , langAda ? false 20 , langGo 21 , langObjC 22 , langObjCpp ··· 116 ++ lib.optional langCC "c++" 117 ++ lib.optional langFortran "fortran" 118 ++ lib.optional langJava "java" 119 + ++ lib.optional langAda "ada" 120 ++ lib.optional langGo "go" 121 ++ lib.optional langObjC "objc" 122 ++ lib.optional langObjCpp "obj-c++" ··· 141 "--disable-cloog-version-check" 142 "--enable-cloog-backend=isl" 143 ] 144 + 145 + # Ada options 146 + ++ lib.optional langAda "--enable-libada" 147 148 # Java options 149 ++ lib.optionals langJava [
+8 -1
pkgs/development/compilers/gcc/common/pre-configure.nix
··· 1 - { lib, version, hostPlatform, langJava ? false, langGo }: 2 3 assert langJava -> lib.versionOlder version "7"; 4 5 lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) '' 6 export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g` ··· 9 export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET" 10 '' + lib.optionalString (lib.versionOlder version "7" && (langJava || langGo)) '' 11 export lib=$out; 12 ''
··· 1 + { lib, version, hostPlatform 2 + , gnatboot ? null 3 + , langAda ? false 4 + , langJava ? false 5 + , langGo }: 6 7 assert langJava -> lib.versionOlder version "7"; 8 + assert langAda -> gnatboot != null; 9 10 lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) '' 11 export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g` ··· 14 export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET" 15 '' + lib.optionalString (lib.versionOlder version "7" && (langJava || langGo)) '' 16 export lib=$out; 17 + '' + lib.optionalString langAda '' 18 + export PATH=${gnatboot}/bin:$PATH 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 sourceVersion = { 58 major = "2"; 59 minor = "7"; 60 - patch = "17"; 61 suffix = ""; 62 }; 63 - sha256 = "0hds28cg226m8j8sr394nm9yc4gxhvlv109w0avsf2mxrlrz0hsd"; 64 inherit (darwin) configd; 65 inherit passthruFun; 66 };
··· 57 sourceVersion = { 58 major = "2"; 59 minor = "7"; 60 + patch = "18"; 61 suffix = ""; 62 }; 63 + sha256 = "0hzgxl94hnflis0d6m4szjx0b52gah7wpmcg5g00q7am6xwhwb5n"; 64 inherit (darwin) configd; 65 inherit passthruFun; 66 };
+2 -2
pkgs/development/libraries/atk/default.nix
··· 4 5 let 6 pname = "atk"; 7 - version = "2.35.1"; 8 in 9 10 stdenv.mkDerivation rec { ··· 12 13 src = fetchurl { 14 url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; 15 - sha256 = "111qajn7kxwmh40drc8i6jc3hnril2rp63n207q92pl47zx614xy"; 16 }; 17 18 outputs = [ "out" "dev" ];
··· 4 5 let 6 pname = "atk"; 7 + version = "2.36.0"; 8 in 9 10 stdenv.mkDerivation rec { ··· 12 13 src = fetchurl { 14 url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; 15 + sha256 = "1217cmmykjgkkim0zr1lv5j13733m4w5vipmy4ivw0ll6rz28xpv"; 16 }; 17 18 outputs = [ "out" "dev" ];
+2 -2
pkgs/development/libraries/cairo/default.nix
··· 61 ++ optional glSupport libGL 62 ; # TODO: maybe liblzo but what would it be for here? 63 64 - configureFlags = if stdenv.isDarwin then [ 65 "--disable-dependency-tracking" 66 "--enable-quartz" 67 "--enable-quartz-font" ··· 71 ++ optional xcbSupport "--enable-xcb" 72 ++ optional glSupport "--enable-gl" 73 ++ optional pdfSupport "--enable-pdf" 74 - ); 75 76 preConfigure = 77 # On FreeBSD, `-ldl' doesn't exist.
··· 61 ++ optional glSupport libGL 62 ; # TODO: maybe liblzo but what would it be for here? 63 64 + configureFlags = (if stdenv.isDarwin then [ 65 "--disable-dependency-tracking" 66 "--enable-quartz" 67 "--enable-quartz-font" ··· 71 ++ optional xcbSupport "--enable-xcb" 72 ++ optional glSupport "--enable-gl" 73 ++ optional pdfSupport "--enable-pdf" 74 + )) ++ optional (!x11Support) "--disable-xlib"; 75 76 preConfigure = 77 # On FreeBSD, `-ldl' doesn't exist.
+2 -2
pkgs/development/libraries/chromaprint/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "chromaprint"; 5 - version = "1.4.3"; 6 7 src = fetchurl { 8 url = "https://github.com/acoustid/chromaprint/releases/download/v${version}/${pname}-${version}.tar.gz"; 9 - sha256 = "10kz8lncal4s2rp2rqpgc6xyjp0jzcrihgkx7chf127vfs5n067a"; 10 }; 11 12 nativeBuildInputs = [ cmake ];
··· 2 3 stdenv.mkDerivation rec { 4 pname = "chromaprint"; 5 + version = "1.5.0"; 6 7 src = fetchurl { 8 url = "https://github.com/acoustid/chromaprint/releases/download/v${version}/${pname}-${version}.tar.gz"; 9 + sha256 = "0sknmyl5254rc55bvkhfwpl4dfvz45xglk1rq8zq5crmwq058fjp"; 10 }; 11 12 nativeBuildInputs = [ cmake ];
+2 -1
pkgs/development/libraries/cracklib/default.nix
··· 18 nativeBuildInputs = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) buildPackages.cracklib; 19 buildInputs = [ zlib gettext ]; 20 21 - postPatch = '' 22 chmod +x util/cracklib-format 23 patchShebangs util 24 25 ln -vs ${toString wordlists} dicts/ 26 ''; 27
··· 18 nativeBuildInputs = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) buildPackages.cracklib; 19 buildInputs = [ zlib gettext ]; 20 21 + postPatch = stdenv.lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' 22 chmod +x util/cracklib-format 23 patchShebangs util 24 25 + '' + '' 26 ln -vs ${toString wordlists} dicts/ 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 }: 3 4 - let 5 pname = "dconf"; 6 - in 7 - stdenv.mkDerivation rec { 8 - name = "${pname}-${version}"; 9 version = "0.36.0"; 10 11 src = fetchurl { 12 - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; 13 sha256 = "0bfs069pjv6lhp7xrzmrhz3876ay2ryqxzc6mlva1hhz34ibprlz"; 14 }; 15 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 - ''; 21 22 - outputs = [ "out" "lib" "dev" "devdoc" ]; 23 24 - nativeBuildInputs = [ meson ninja vala pkgconfig python3 libxslt libxml2 glib gtk-doc docbook_xsl docbook_xml_dtd_42 ]; 25 - buildInputs = [ glib bash-completion dbus ]; 26 27 mesonFlags = [ 28 "--sysconfdir=/etc" ··· 31 32 doCheck = !stdenv.isAarch32 && !stdenv.isAarch64 && !stdenv.isDarwin; 33 34 passthru = { 35 updateScript = gnome3.updateScript { 36 packageName = pname; ··· 40 meta = with stdenv.lib; { 41 homepage = "https://wiki.gnome.org/Projects/dconf"; 42 license = licenses.lgpl21Plus; 43 - platforms = platforms.linux ++ platforms.darwin; 44 maintainers = teams.gnome.members; 45 }; 46 }
··· 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 + }: 19 20 + stdenv.mkDerivation rec { 21 pname = "dconf"; 22 version = "0.36.0"; 23 + 24 + outputs = [ "out" "lib" "dev" "devdoc" ]; 25 26 src = fetchurl { 27 + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 28 sha256 = "0bfs069pjv6lhp7xrzmrhz3876ay2ryqxzc6mlva1hhz34ibprlz"; 29 }; 30 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 + ]; 39 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 + ]; 53 54 + buildInputs = [ 55 + glib 56 + bash-completion 57 + dbus 58 + ]; 59 60 mesonFlags = [ 61 "--sysconfdir=/etc" ··· 64 65 doCheck = !stdenv.isAarch32 && !stdenv.isAarch64 && !stdenv.isDarwin; 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 + 73 passthru = { 74 updateScript = gnome3.updateScript { 75 packageName = pname; ··· 79 meta = with stdenv.lib; { 80 homepage = "https://wiki.gnome.org/Projects/dconf"; 81 license = licenses.lgpl21Plus; 82 + platforms = platforms.unix; 83 maintainers = teams.gnome.members; 84 }; 85 }
+3 -1
pkgs/development/libraries/flatbuffers/default.nix
··· 18 nativeBuildInputs = [ cmake ]; 19 enableParallelBuilding = true; 20 21 - doCheck = true; 22 checkTarget = "test"; 23 24 meta = {
··· 18 nativeBuildInputs = [ cmake ]; 19 enableParallelBuilding = true; 20 21 + cmakeFlags = [ "-DFLATBUFFERS_BUILD_TESTS=${if doCheck then "ON" else "OFF"}" ]; 22 + 23 + doCheck = stdenv.hostPlatform == stdenv.buildPlatform; 24 checkTarget = "test"; 25 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 }: 2 3 stdenv.mkDerivation rec { 4 pname = "fstrcmp"; ··· 9 sha256 = "0yg3y3k0wz50gmhgigfi2dx725w1gc8snb95ih7vpcnj6kabgz9a"; 10 }; 11 12 outputs = [ "out" "dev" "doc" "man" "devman" ]; 13 14 - nativeBuildInputs = [ libtool ghostscript groff ]; 15 16 enableParallelBuilding = true; 17
··· 1 + { stdenv, fetchzip, libtool, ghostscript, groff, autoreconfHook }: 2 3 stdenv.mkDerivation rec { 4 pname = "fstrcmp"; ··· 9 sha256 = "0yg3y3k0wz50gmhgigfi2dx725w1gc8snb95ih7vpcnj6kabgz9a"; 10 }; 11 12 + patches = [ ./cross.patch ]; 13 + 14 outputs = [ "out" "dev" "doc" "man" "devman" ]; 15 16 + nativeBuildInputs = [ libtool ghostscript groff autoreconfHook ]; 17 18 enableParallelBuilding = true; 19
+2
pkgs/development/libraries/ftgl/default.nix
··· 18 [ libGL libGLU ]) 19 ; 20 21 enableParallelBuilding = true; 22 23 meta = {
··· 18 [ libGL libGLU ]) 19 ; 20 21 + configureFlags = [ "--with-ft-prefix=${stdenv.lib.getDev freetype}" ]; 22 + 23 enableParallelBuilding = true; 24 25 meta = {
+2 -2
pkgs/development/libraries/gdk-pixbuf/default.nix
··· 35 36 nativeBuildInputs = [ 37 meson ninja pkgconfig gettext python3 libxml2 libxslt docbook_xsl docbook_xml_dtd_43 38 - gtk-doc gobject-introspection makeWrapper 39 ] 40 ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames; 41 ··· 68 + '' 69 moveToOutput "bin" "$dev" 70 moveToOutput "bin/gdk-pixbuf-thumbnailer" "$out" 71 - 72 # We need to install 'loaders.cache' in lib/gdk-pixbuf-2.0/2.10.0/ 73 $dev/bin/gdk-pixbuf-query-loaders --update-cache 74 '';
··· 35 36 nativeBuildInputs = [ 37 meson ninja pkgconfig gettext python3 libxml2 libxslt docbook_xsl docbook_xml_dtd_43 38 + gtk-doc gobject-introspection makeWrapper glib 39 ] 40 ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames; 41 ··· 68 + '' 69 moveToOutput "bin" "$dev" 70 moveToOutput "bin/gdk-pixbuf-thumbnailer" "$out" 71 + '' + stdenv.lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' 72 # We need to install 'loaders.cache' in lib/gdk-pixbuf-2.0/2.10.0/ 73 $dev/bin/gdk-pixbuf-query-loaders --update-cache 74 '';
+1 -1
pkgs/development/libraries/gdk-pixbuf/setup-hook.sh
··· 14 15 } 16 17 - addEnvHooks "$hostOffset" findGdkPixbufLoaders
··· 14 15 } 16 17 + addEnvHooks "$targetOffset" findGdkPixbufLoaders
+2 -2
pkgs/development/libraries/glib-networking/default.nix
··· 18 19 stdenv.mkDerivation rec { 20 pname = "glib-networking"; 21 - version = "2.64.0"; 22 23 outputs = [ "out" "installedTests" ]; 24 25 src = fetchurl { 26 url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 27 - sha256 = "1fm1462v7z556qivlwflvc3qpz36jwpzqxxvsihh45j7aka2gnjw"; 28 }; 29 30 patches = [
··· 18 19 stdenv.mkDerivation rec { 20 pname = "glib-networking"; 21 + version = "2.64.1"; 22 23 outputs = [ "out" "installedTests" ]; 24 25 src = fetchurl { 26 url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 27 + sha256 = "0wmg5n2h0r1rcdmp4w48akqlsbpjrjrj6p59g5ylc5yqyzg4dhx4"; 28 }; 29 30 patches = [
+1 -2
pkgs/development/libraries/glib/setup-hook.sh
··· 1 - 2 make_glib_find_gsettings_schemas() { 3 # For packages that need gschemas of other packages (e.g. empathy) 4 for maybe_dir in "$1"/share/gsettings-schemas/*; do ··· 7 fi 8 done 9 } 10 - addEnvHooks "$hostOffset" make_glib_find_gsettings_schemas 11 12 # Install gschemas, if any, in a package-specific directory 13 glibPreInstallPhase() {
··· 1 make_glib_find_gsettings_schemas() { 2 # For packages that need gschemas of other packages (e.g. empathy) 3 for maybe_dir in "$1"/share/gsettings-schemas/*; do ··· 6 fi 7 done 8 } 9 + addEnvHooks "$targetOffset" make_glib_find_gsettings_schemas 10 11 # Install gschemas, if any, in a package-specific directory 12 glibPreInstallPhase() {
+2 -2
pkgs/development/libraries/gobject-introspection/default.nix
··· 10 with stdenv.lib; 11 stdenv.mkDerivation rec { 12 pname = "gobject-introspection"; 13 - version = "1.64.0"; 14 15 src = fetchurl { 16 url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 17 - sha256 = "10pwykfnk7pw8k9k8iz3p72phxvyrh5q4d7gr3ysv08w15immh7a"; 18 }; 19 20 outputs = [ "out" "dev" "man" ];
··· 10 with stdenv.lib; 11 stdenv.mkDerivation rec { 12 pname = "gobject-introspection"; 13 + version = "1.64.1"; 14 15 src = fetchurl { 16 url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 17 + sha256 = "19vz7vp10h0zj3f491yk72dp89bix6rgkzxg4qcm4d6151ksxgl0"; 18 }; 19 20 outputs = [ "out" "dev" "man" ];
+11 -7
pkgs/development/libraries/gpgme/default.nix
··· 1 - { stdenv, fetchurl, fetchpatch, libgpgerror, gnupg, pkgconfig, glib, pth, libassuan 2 , file, which, ncurses 3 , texinfo 4 , buildPackages ··· 33 url = "http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=patch;h=c4cf527ea227edb468a84bf9b8ce996807bd6992"; 34 sha256 = "pKL1tvUw7PB2w4FHSt2up4SvpFiprBH6TLdgKxYFC3g="; 35 }) 36 - ]; 37 38 outputs = [ "out" "dev" "info" ]; 39 outputBin = "dev"; # gpgme-config; not so sure about gpgme-tool ··· 42 [ libgpgerror glib libassuan pth ] 43 ++ lib.optional (qtbase != null) qtbase; 44 45 - nativeBuildInputs = [ file pkgconfig gnupg texinfo ] 46 ++ lib.optionals pythonSupport [ python swig2 which ncurses ]; 47 48 depsBuildBuild = [ buildPackages.stdenv.cc ]; 49 - 50 - postPatch ='' 51 - substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file 52 - ''; 53 54 configureFlags = [ 55 "--enable-fixed-path=${gnupg}/bin"
··· 1 + { stdenv, fetchurl, fetchpatch 2 + , autoreconfHook, libgpgerror, gnupg, pkgconfig, glib, pth, libassuan 3 , file, which, ncurses 4 , texinfo 5 , buildPackages ··· 34 url = "http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=patch;h=c4cf527ea227edb468a84bf9b8ce996807bd6992"; 35 sha256 = "pKL1tvUw7PB2w4FHSt2up4SvpFiprBH6TLdgKxYFC3g="; 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; 45 46 outputs = [ "out" "dev" "info" ]; 47 outputBin = "dev"; # gpgme-config; not so sure about gpgme-tool ··· 50 [ libgpgerror glib libassuan pth ] 51 ++ lib.optional (qtbase != null) qtbase; 52 53 + nativeBuildInputs = [ pkgconfig gnupg texinfo autoreconfHook ] 54 ++ lib.optionals pythonSupport [ python swig2 which ncurses ]; 55 56 depsBuildBuild = [ buildPackages.stdenv.cc ]; 57 58 configureFlags = [ 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 10 stdenv.mkDerivation rec { 11 pname = "gsm"; 12 - version = "1.0.18"; 13 14 src = fetchurl { 15 url = "http://www.quut.com/gsm/${pname}-${version}.tar.gz"; 16 - sha256 = "041amvpz8cvxykl3pwqldrzxligmmzcg8ncdnxbg32rlqf3q1xh4"; 17 }; 18 19 patchPhase = ''
··· 9 10 stdenv.mkDerivation rec { 11 pname = "gsm"; 12 + version = "1.0.19"; 13 14 src = fetchurl { 15 url = "http://www.quut.com/gsm/${pname}-${version}.tar.gz"; 16 + sha256 = "1xkha9ss5g5qnfaybi8il0mcvp8knwg9plgh8404vh58d0pna0s9"; 17 }; 18 19 patchPhase = ''
+1 -1
pkgs/development/libraries/gstreamer/bad/default.nix
··· 10 , gst-plugins-base 11 , orc 12 , gobject-introspection 13 - , enableZbar ? true 14 , faacSupport ? false 15 , faac ? null 16 , faad2
··· 10 , gst-plugins-base 11 , orc 12 , gobject-introspection 13 + , enableZbar ? false 14 , faacSupport ? false 15 , faac ? null 16 , faad2
+7
pkgs/development/libraries/gstreamer/core/default.nix
··· 37 38 patches = [ 39 ./fix_pkgconfig_includedir.patch 40 ]; 41 42 nativeBuildInputs = [
··· 37 38 patches = [ 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 + }) 47 ]; 48 49 nativeBuildInputs = [
+15
pkgs/development/libraries/gtk/3.x.nix
··· 73 74 # https://gitlab.gnome.org/GNOME/gtk/merge_requests/1002 75 ./patches/01-build-Fix-path-handling-in-pkgconfig.patch 76 ] ++ optionals stdenv.isDarwin [ 77 # X11 module requires <gio/gdesktopappinfo.h> which is not installed on Darwin 78 # let’s drop that dependency in similar way to how other parts of the library do it
··· 73 74 # https://gitlab.gnome.org/GNOME/gtk/merge_requests/1002 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 + }) 91 ] ++ optionals stdenv.isDarwin [ 92 # X11 module requires <gio/gdesktopappinfo.h> which is not installed on Darwin 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 sha256 = "0x5b6lcic4cd7q0bx00x93kvpyzl7n2abbgvqbrlzrfb8vknc6jg"; 9 }; 10 11 meta = with stdenv.lib; { 12 homepage = "http://0pointer.de/lennart/projects/libasyncns/"; 13 description = "A C library for Linux/Unix for executing name service queries asynchronously";
··· 8 sha256 = "0x5b6lcic4cd7q0bx00x93kvpyzl7n2abbgvqbrlzrfb8vknc6jg"; 9 }; 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 + 16 meta = with stdenv.lib; { 17 homepage = "http://0pointer.de/lennart/projects/libasyncns/"; 18 description = "A C library for Linux/Unix for executing name service queries asynchronously";
+5
pkgs/development/libraries/libcddb/default.nix
··· 10 11 buildInputs = stdenv.lib.optional stdenv.isDarwin libiconv; 12 13 doCheck = false; # fails 3 of 5 tests with locale errors 14 15 meta = with stdenv.lib; {
··· 10 11 buildInputs = stdenv.lib.optional stdenv.isDarwin libiconv; 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 + 18 doCheck = false; # fails 3 of 5 tests with locale errors 19 20 meta = with stdenv.lib; {
+2 -2
pkgs/development/libraries/libcdio/default.nix
··· 12 patchShebangs . 13 ''; 14 15 - nativeBuildInputs = [ pkgconfig ]; 16 - buildInputs = [ libcddb ncurses help2man ] 17 ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Carbon IOKit ]; 18 19 doCheck = !stdenv.isDarwin;
··· 12 patchShebangs . 13 ''; 14 15 + nativeBuildInputs = [ pkgconfig help2man ]; 16 + buildInputs = [ libcddb ncurses ] 17 ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Carbon IOKit ]; 18 19 doCheck = !stdenv.isDarwin;
+2 -2
pkgs/development/libraries/libcec/default.nix
··· 11 sha256 = "02j09y06csaic4m0fyb4dr9l3hl15nxbbniwq0i1qlccpxjak0j3"; 12 }; 13 14 - nativeBuildInputs = [ pkgconfig ]; 15 - buildInputs = [ cmake udev libcec_platform ] ++ 16 stdenv.lib.optional (libraspberrypi != null) libraspberrypi; 17 18 cmakeFlags = [ "-DBUILD_SHARED_LIBS=1" ];
··· 11 sha256 = "02j09y06csaic4m0fyb4dr9l3hl15nxbbniwq0i1qlccpxjak0j3"; 12 }; 13 14 + nativeBuildInputs = [ pkgconfig cmake ]; 15 + buildInputs = [ udev libcec_platform ] ++ 16 stdenv.lib.optional (libraspberrypi != null) libraspberrypi; 17 18 cmakeFlags = [ "-DBUILD_SHARED_LIBS=1" ];
+2 -2
pkgs/development/libraries/libcrossguid/default.nix
··· 15 buildInputs = [ libuuid ]; 16 17 buildPhase = '' 18 - g++ -c guid.cpp -o guid.o $CXXFLAGS -std=c++11 -DGUID_LIBUUID 19 - ar rvs libcrossguid.a guid.o 20 ''; 21 installPhase = '' 22 mkdir -p $out/{lib,include}
··· 15 buildInputs = [ libuuid ]; 16 17 buildPhase = '' 18 + $CXX -c guid.cpp -o guid.o $CXXFLAGS -std=c++11 -DGUID_LIBUUID 19 + $AR rvs libcrossguid.a guid.o 20 ''; 21 installPhase = '' 22 mkdir -p $out/{lib,include}
+7 -24
pkgs/development/libraries/libfido2/default.nix
··· 3 , fetchpatch 4 , cmake 5 , pkgconfig 6 , libcbor 7 , openssl 8 , udev 9 - , IOKit }: 10 11 stdenv.mkDerivation rec { 12 pname = "libfido2"; 13 - version = "1.3.1"; 14 src = fetchurl { 15 url = "https://developers.yubico.com/${pname}/Releases/${pname}-${version}.tar.gz"; 16 - sha256 = "0hdgxbmjbnm9kjwc07nrl2zy87qclvb3rzvdwr5iw35n2qhf4dds"; 17 }; 18 19 nativeBuildInputs = [ cmake pkgconfig ]; 20 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 - ]; 42 43 cmakeFlags = [ 44 "-DUDEV_RULES_DIR=${placeholder "out"}/etc/udev/rules.d" 45 "-DCMAKE_INSTALL_LIBDIR=lib" 46 ]; 47
··· 3 , fetchpatch 4 , cmake 5 , pkgconfig 6 + , hidapi 7 , libcbor 8 , openssl 9 , udev 10 + }: 11 12 stdenv.mkDerivation rec { 13 pname = "libfido2"; 14 + version = "1.4.0"; 15 src = fetchurl { 16 url = "https://developers.yubico.com/${pname}/Releases/${pname}-${version}.tar.gz"; 17 + sha256 = "0v1a3n0qljmrp8y9pmnmbsdsy79l3z84qmhyjx50xdsbgnz1z4md"; 18 }; 19 20 nativeBuildInputs = [ cmake pkgconfig ]; 21 22 + buildInputs = [ hidapi libcbor openssl ] 23 + ++ stdenv.lib.optionals stdenv.isLinux [ udev ]; 24 25 cmakeFlags = [ 26 "-DUDEV_RULES_DIR=${placeholder "out"}/etc/udev/rules.d" 27 + "-DUSE_HIDAPI=1" 28 "-DCMAKE_INSTALL_LIBDIR=lib" 29 ]; 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 with stdenv.lib; 28 stdenv.mkDerivation rec { 29 pname = "libinput"; 30 - version = "1.15.3"; 31 32 src = fetchurl { 33 url = "https://www.freedesktop.org/software/libinput/${pname}-${version}.tar.xz"; 34 - sha256 = "0kb9i1xav8hmrl6g0qdq7jii589i9sjjrbh43fsc5284smyl44jv"; 35 }; 36 37 outputs = [ "bin" "out" "dev" ];
··· 27 with stdenv.lib; 28 stdenv.mkDerivation rec { 29 pname = "libinput"; 30 + version = "1.15.4"; 31 32 src = fetchurl { 33 url = "https://www.freedesktop.org/software/libinput/${pname}-${version}.tar.xz"; 34 + sha256 = "1ha5qyak1ka5npy5i6hzqfpii8samkj389mkppj4wdsfv536i2ww"; 35 }; 36 37 outputs = [ "bin" "out" "dev" ];
+3 -3
pkgs/development/libraries/libjpeg-turbo/default.nix
··· 3 stdenv.mkDerivation rec { 4 5 pname = "libjpeg-turbo"; 6 - version = "2.0.3"; 7 8 src = fetchurl { 9 url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz"; 10 - sha256 = "1ds16bnj17v6hzd43w8pzijz3imd9am4hw75ir0fxm240m8dwij2"; 11 }; 12 13 patches = ··· 29 homepage = "http://libjpeg-turbo.virtualgl.org/"; 30 description = "A faster (using SIMD) libjpeg implementation"; 31 license = licenses.ijg; # and some parts under other BSD-style licenses 32 - maintainers = [ maintainers.vcunat ]; 33 platforms = platforms.all; 34 }; 35 }
··· 3 stdenv.mkDerivation rec { 4 5 pname = "libjpeg-turbo"; 6 + version = "2.0.4"; 7 8 src = fetchurl { 9 url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz"; 10 + sha256 = "01ill8bgjyk582wipx7sh7gj2nidylpbzvwhx0wkcm6mxx3qbp9k"; 11 }; 12 13 patches = ··· 29 homepage = "http://libjpeg-turbo.virtualgl.org/"; 30 description = "A faster (using SIMD) libjpeg implementation"; 31 license = licenses.ijg; # and some parts under other BSD-style licenses 32 + maintainers = with maintainers; [ vcunat colemickens ]; 33 platforms = platforms.all; 34 }; 35 }
+2 -2
pkgs/development/libraries/libnetfilter_conntrack/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "libnetfilter_conntrack"; 5 - version = "1.0.7"; 6 7 src = fetchurl { 8 url = "https://netfilter.org/projects/libnetfilter_conntrack/files/${pname}-${version}.tar.bz2"; 9 - sha256 = "1dl9z50yny04xi5pymlykwmy6hcfc9p4nd7m47697zwxw98m6s1k"; 10 }; 11 12 buildInputs = [ libmnl ];
··· 2 3 stdenv.mkDerivation rec { 4 pname = "libnetfilter_conntrack"; 5 + version = "1.0.8"; 6 7 src = fetchurl { 8 url = "https://netfilter.org/projects/libnetfilter_conntrack/files/${pname}-${version}.tar.bz2"; 9 + sha256 = "1ky1mqgnplw2h9jf0kn0a69d94jkydhbiipng9l2hdcj13h3pl8c"; 10 }; 11 12 buildInputs = [ libmnl ];
+2 -2
pkgs/development/libraries/librsvg/default.nix
··· 4 5 let 6 pname = "librsvg"; 7 - version = "2.48.0"; 8 in 9 stdenv.mkDerivation rec { 10 name = "${pname}-${version}"; 11 12 src = fetchurl { 13 url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; 14 - sha256 = "19ndf9l99wcrmkwcrk20vd1ggrwgldksfz1kkj786ljcrxv8nd2a"; 15 }; 16 17 outputs = [ "out" "dev" "installedTests" ];
··· 4 5 let 6 pname = "librsvg"; 7 + version = "2.48.2"; 8 in 9 stdenv.mkDerivation rec { 10 name = "${pname}-${version}"; 11 12 src = fetchurl { 13 url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; 14 + sha256 = "1jmxd03fs8vkwycxpmx69kdfmgq52g64bhv82gmj3kjgw2h5h9i7"; 15 }; 16 17 outputs = [ "out" "dev" "installedTests" ];
+2 -2
pkgs/development/libraries/libsecret/default.nix
··· 4 5 stdenv.mkDerivation rec { 6 pname = "libsecret"; 7 - version = "0.20.1"; 8 9 src = fetchurl { 10 url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 11 - sha256 = "0ir4ynpf8b64xss1azvsi5x6697lik7hkf3z0xxa2qv2xja3xxsp"; 12 }; 13 14 postPatch = ''
··· 4 5 stdenv.mkDerivation rec { 6 pname = "libsecret"; 7 + version = "0.20.2"; 8 9 src = fetchurl { 10 url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 11 + sha256 = "1hzz34gmsxxf1jm1b7qin390rkwbg8sx198xdkwxqp3q6cw19sc1"; 12 }; 13 14 postPatch = ''
+2 -2
pkgs/development/libraries/libunwind/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "libunwind"; 5 - version = "1.3.1"; 6 7 src = fetchurl { 8 url = "mirror://savannah/libunwind/${pname}-${version}.tar.gz"; 9 - sha256 = "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3"; 10 }; 11 12 patches = [ ./backtrace-only-with-glibc.patch ];
··· 2 3 stdenv.mkDerivation rec { 4 pname = "libunwind"; 5 + version = "1.4.0"; 6 7 src = fetchurl { 8 url = "mirror://savannah/libunwind/${pname}-${version}.tar.gz"; 9 + sha256 = "0dc46flppifrv2z0mrdqi60165ghxm1wk0g47vcbyzjdplqwjnfz"; 10 }; 11 12 patches = [ ./backtrace-only-with-glibc.patch ];
+3 -1
pkgs/development/libraries/libva/default.nix
··· 2 , libXext, libdrm, libXfixes, wayland, libffi, libX11 3 , libGL, mesa 4 , minimal ? false, libva-minimal 5 }: 6 7 stdenv.mkDerivation rec { ··· 18 19 outputs = [ "dev" "out" ]; 20 21 - nativeBuildInputs = [ autoreconfHook pkgconfig ]; 22 23 buildInputs = [ libdrm ] 24 ++ lib.optionals (!minimal) [ libva-minimal libX11 libXext libXfixes wayland libffi libGL ]; ··· 29 configureFlags = [ 30 # Add FHS paths for non-NixOS applications. 31 "--with-drivers-path=${mesa.drivers.driverLink}/lib/dri:/usr/lib/dri:/usr/lib32/dri" 32 ] ++ lib.optionals (!minimal) [ "--enable-glx" ]; 33 34 installFlags = [
··· 2 , libXext, libdrm, libXfixes, wayland, libffi, libX11 3 , libGL, mesa 4 , minimal ? false, libva-minimal 5 + , buildPackages 6 }: 7 8 stdenv.mkDerivation rec { ··· 19 20 outputs = [ "dev" "out" ]; 21 22 + nativeBuildInputs = [ autoreconfHook pkgconfig wayland ]; 23 24 buildInputs = [ libdrm ] 25 ++ lib.optionals (!minimal) [ libva-minimal libX11 libXext libXfixes wayland libffi libGL ]; ··· 30 configureFlags = [ 31 # Add FHS paths for non-NixOS applications. 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" 34 ] ++ lib.optionals (!minimal) [ "--enable-glx" ]; 35 36 installFlags = [
+2 -2
pkgs/development/libraries/libvdpau/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "libvdpau"; 5 - version = "1.3"; 6 7 src = fetchurl { 8 url = "https://gitlab.freedesktop.org/vdpau/libvdpau/-/archive/${version}/${pname}-${version}.tar.bz2"; 9 - sha256 = "b5a52eeac9417edbc396f26c40591ba5df0cd18285f68d84614ef8f06196e50e"; 10 }; 11 patches = [ ./installdir.patch ]; 12
··· 2 3 stdenv.mkDerivation rec { 4 pname = "libvdpau"; 5 + version = "1.4"; 6 7 src = fetchurl { 8 url = "https://gitlab.freedesktop.org/vdpau/libvdpau/-/archive/${version}/${pname}-${version}.tar.bz2"; 9 + sha256 = "0c1zsfr6ypzwv8g9z50kdahpb7pirarq4z8avqqyyma5b9684n22"; 10 }; 11 patches = [ ./installdir.patch ]; 12
+5
pkgs/development/libraries/libvisual/default.nix
··· 13 14 hardeningDisable = [ "format" ]; 15 16 meta = { 17 description = "An abstraction library for audio visualisations"; 18 homepage = "https://sourceforge.net/projects/libvisual/";
··· 13 14 hardeningDisable = [ "format" ]; 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 + 21 meta = { 22 description = "An abstraction library for audio visualisations"; 23 homepage = "https://sourceforge.net/projects/libvisual/";
+1 -7
pkgs/development/libraries/libvpx/default.nix
··· 135 experimentalFpMbStatsSupport || 136 experimentalEmulateHardwareSupport) "experimental") 137 ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ 138 - #"--extra-cflags=" 139 - #"--extra-cxxflags=" 140 - #"--prefix=" 141 - #"--libc=" 142 - #"--libdir=" 143 - "--enable-external-build" 144 # libvpx darwin targets include darwin version (ie. ARCH-darwinXX-gcc, XX being the darwin version) 145 # See all_platforms: https://github.com/webmproject/libvpx/blob/master/configure 146 # 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}${ 148 if stdenv.hostPlatform.isDarwin then 149 if stdenv.hostPlatform.osxMinVersion == "10.10" then "14" 150 else if stdenv.hostPlatform.osxMinVersion == "10.9" then "13"
··· 135 experimentalFpMbStatsSupport || 136 experimentalEmulateHardwareSupport) "experimental") 137 ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ 138 # libvpx darwin targets include darwin version (ie. ARCH-darwinXX-gcc, XX being the darwin version) 139 # See all_platforms: https://github.com/webmproject/libvpx/blob/master/configure 140 # Darwin versions: 10.4=8, 10.5=9, 10.6=10, 10.7=11, 10.8=12, 10.9=13, 10.10=14 141 + "--force-target=${stdenv.hostPlatform.parsed.cpu.name}-${stdenv.hostPlatform.parsed.kernel.name}${ 142 if stdenv.hostPlatform.isDarwin then 143 if stdenv.hostPlatform.osxMinVersion == "10.10" then "14" 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 }: 2 3 stdenv.mkDerivation rec { 4 pname = "libwacom"; 5 - version = "1.1"; 6 7 outputs = [ "out" "dev" ]; 8 ··· 10 owner = "linuxwacom"; 11 repo = "libwacom"; 12 rev = "libwacom-${version}"; 13 - sha256 = "037vnyfg7nim6h3f4m04w6a9pr6hi04df14qpys580kf5xnf87nz"; 14 }; 15 16 - nativeBuildInputs = [ pkgconfig meson ninja ]; 17 18 - mesonFlags = [ "-Dtests=false" ]; 19 20 buildInputs = [ glib udev libgudev ]; 21 ··· 23 platforms = platforms.linux; 24 homepage = "https://linuxwacom.github.io/"; 25 description = "Libraries, configuration, and diagnostic tools for Wacom tablets running under Linux"; 26 license = licenses.mit; 27 }; 28 }
··· 1 + { stdenv, fetchFromGitHub, meson, ninja, glib, pkgconfig, udev, libgudev, doxygen }: 2 3 stdenv.mkDerivation rec { 4 pname = "libwacom"; 5 + version = "1.3"; 6 7 outputs = [ "out" "dev" ]; 8 ··· 10 owner = "linuxwacom"; 11 repo = "libwacom"; 12 rev = "libwacom-${version}"; 13 + sha256 = "12g8jb67wj6sgg9ar2w8kkw1m1431rn9nd0j64qkrd3vy9g4l0hk"; 14 }; 15 16 + nativeBuildInputs = [ pkgconfig meson ninja doxygen ]; 17 18 + mesonFlags = [ "-Dtests=disabled" ]; 19 20 buildInputs = [ glib udev libgudev ]; 21 ··· 23 platforms = platforms.linux; 24 homepage = "https://linuxwacom.github.io/"; 25 description = "Libraries, configuration, and diagnostic tools for Wacom tablets running under Linux"; 26 + maintainers = teams.freedesktop.members; 27 license = licenses.mit; 28 }; 29 }
+2 -2
pkgs/development/libraries/libyaml/default.nix
··· 5 6 stdenv.mkDerivation rec { 7 pname = "libyaml"; 8 - version = "0.2.2"; 9 10 src = fetchFromGitHub { 11 owner = "yaml"; 12 repo = "libyaml"; 13 rev = version; 14 - sha256 = "0839nqcmxjzfgjn39j7740pnlsgmvngpkamiw1lfy1qlcqyc3r4v"; 15 }; 16 17 nativeBuildInputs = [ autoreconfHook ];
··· 5 6 stdenv.mkDerivation rec { 7 pname = "libyaml"; 8 + version = "0.2.3"; 9 10 src = fetchFromGitHub { 11 owner = "yaml"; 12 repo = "libyaml"; 13 rev = version; 14 + sha256 = "0a7n575rmm1xkz0sn455rzapm1w9mgqjk29hbmzp53zddqkphvsm"; 15 }; 16 17 nativeBuildInputs = [ autoreconfHook ];
+2 -2
pkgs/development/libraries/tinyxml/2.6.2.nix
··· 23 ./2.6.2-cxx.patch 24 ]; 25 26 - preConfigure = "export LD=${if stdenv.isDarwin then "clang++" else "g++"}"; 27 28 hardeningDisable = [ "format" ]; 29 30 NIX_CFLAGS_COMPILE = 31 stdenv.lib.optionalString stdenv.isDarwin "-mmacosx-version-min=10.9"; 32 33 - buildInputs = [ unzip ]; 34 buildPhase = '' 35 # use STL (xbmc requires it) 36 sed '1i#define TIXML_USE_STL 1' -i tinyxml.h
··· 23 ./2.6.2-cxx.patch 24 ]; 25 26 + preConfigure = "export LD=${stdenv.cc.targetPrefix}c++"; 27 28 hardeningDisable = [ "format" ]; 29 30 NIX_CFLAGS_COMPILE = 31 stdenv.lib.optionalString stdenv.isDarwin "-mmacosx-version-min=10.9"; 32 33 + nativeBuildInputs = [ unzip ]; 34 buildPhase = '' 35 # use STL (xbmc requires it) 36 sed '1i#define TIXML_USE_STL 1' -i tinyxml.h
+2 -2
pkgs/development/libraries/vulkan-loader/default.nix
··· 12 sha256 = "12n4mxc6db89258k8i47ql1zna7k94lkwv7lpxg39nm8ypa1ywrv"; 13 }; 14 15 - nativeBuildInputs = [ pkgconfig ]; 16 - buildInputs = [ cmake python3 xlibsWrapper libxcb libXrandr libXext wayland ]; 17 enableParallelBuilding = true; 18 19 preConfigure = ''
··· 12 sha256 = "12n4mxc6db89258k8i47ql1zna7k94lkwv7lpxg39nm8ypa1ywrv"; 13 }; 14 15 + nativeBuildInputs = [ pkgconfig cmake ]; 16 + buildInputs = [ python3 xlibsWrapper libxcb libXrandr libXext wayland ]; 17 enableParallelBuilding = true; 18 19 preConfigure = ''
+4 -2
pkgs/development/libraries/waylandpp/default.nix
··· 1 - { stdenv, fetchFromGitHub, cmake, pkgconfig, pugixml, wayland, libGL }: 2 3 stdenv.mkDerivation rec { 4 pname = "waylandpp"; ··· 11 sha256 = "16h57hzd688664qcyznzhjp3hxipdkzgv46x82yhkww24av8b55n"; 12 }; 13 14 nativeBuildInputs = [ cmake pkgconfig ]; 15 - buildInputs = [ pugixml wayland libGL ]; 16 17 meta = with stdenv.lib; { 18 description = "Wayland C++ binding";
··· 1 + { stdenv, fetchFromGitHub, cmake, pkgconfig, pugixml, wayland, libGL, libffi, buildPackages }: 2 3 stdenv.mkDerivation rec { 4 pname = "waylandpp"; ··· 11 sha256 = "16h57hzd688664qcyznzhjp3hxipdkzgv46x82yhkww24av8b55n"; 12 }; 13 14 + cmakeFlags = stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "-DWAYLAND_SCANNERPP=${buildPackages.waylandpp}/bin/wayland-scanner++"; 15 + 16 nativeBuildInputs = [ cmake pkgconfig ]; 17 + buildInputs = [ pugixml wayland libGL libffi ]; 18 19 meta = with stdenv.lib; { 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 45 checkInputs = [ 46 nose dbus dbus-python which pycodestyle pyflakes 47 - pygobject3 bluez bluez.test networkmanager 48 ]; 49 50 checkPhase = '' 51 runHook preCheck 52 - export PATH="$PATH:${bluez.test}/test"; 53 nosetests -v 54 runHook postCheck 55 '';
··· 44 45 checkInputs = [ 46 nose dbus dbus-python which pycodestyle pyflakes 47 + pygobject3 bluez (lib.getOutput "test" bluez) networkmanager 48 ]; 49 50 checkPhase = '' 51 runHook preCheck 52 + export PATH="$PATH:${lib.getOutput "test" bluez}/test"; 53 nosetests -v 54 runHook postCheck 55 '';
+12 -18
pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch
··· 1 --- a/mesonbuild/coredata.py 2 +++ b/mesonbuild/coredata.py 3 - @@ -375,18 +375,13 @@ 4 - ''' 5 - if option.endswith('dir') and os.path.isabs(value) and \ 6 option not in builtin_dir_noprefix_options: 7 - # Value must be a subdir of the prefix 8 # commonpath will always return a path in the native format, so we 9 # must use pathlib.PurePath to do the same conversion before 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):
··· 1 --- a/mesonbuild/coredata.py 2 +++ b/mesonbuild/coredata.py 3 + @@ -483,7 +483,6 @@ class CoreData: 4 + return value 5 + if option.endswith('dir') and value.is_absolute() and \ 6 option not in builtin_dir_noprefix_options: 7 - # Value must be a subdir of the prefix 8 # commonpath will always return a path in the native format, so we 9 # must use pathlib.PurePath to do the same conversion before 10 # comparing. 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 in 20 python3Packages.buildPythonApplication rec { 21 pname = "meson"; 22 - version = "0.53.2"; 23 24 src = python3Packages.fetchPypi { 25 inherit pname version; 26 - sha256 = "Po+DDzMYQ5fC6wtlHsUCrbY97LKJeL3ISzVY1xKEwh8="; 27 }; 28 29 postFixup = ''
··· 19 in 20 python3Packages.buildPythonApplication rec { 21 pname = "meson"; 22 + version = "0.54.0"; 23 24 src = python3Packages.fetchPypi { 25 inherit pname version; 26 + sha256 = "3eVybXeBEqy9Sme7NjOrLuddM9HoeaYoOntKRMM2PCc="; 27 }; 28 29 postFixup = ''
+2 -2
pkgs/development/tools/build-managers/waf/default.nix
··· 8 in 9 stdenv.mkDerivation rec { 10 pname = "waf"; 11 - version = "2.0.19"; 12 13 src = fetchFromGitLab { 14 owner = "ita1024"; 15 repo = "waf"; 16 rev = "${pname}-${version}"; 17 - sha256 = "1ydmx20blr776qnmnqp0whyiy81a3glln49m9fva2cmampmandpb"; 18 }; 19 20 buildInputs = [ python ensureNewerSourcesForZipFilesHook ];
··· 8 in 9 stdenv.mkDerivation rec { 10 pname = "waf"; 11 + version = "2.0.20"; 12 13 src = fetchFromGitLab { 14 owner = "ita1024"; 15 repo = "waf"; 16 rev = "${pname}-${version}"; 17 + sha256 = "1xbd1lmchq9pdrplkr2db28xqafyw753qbhnrfn8pxdg3inxxqvq"; 18 }; 19 20 buildInputs = [ python ensureNewerSourcesForZipFilesHook ];
+2 -2
pkgs/development/tools/documentation/doxygen/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 5 - name = "doxygen-1.8.17"; 6 7 src = fetchurl { 8 urls = [ 9 "mirror://sourceforge/doxygen/${name}.src.tar.gz" # faster, with https, etc. 10 "http://doxygen.nl/files/${name}.src.tar.gz" 11 ]; 12 - sha256 = "16dmv0gm1x8rvbm82fmjvi213q8fxqxinm75pcf595flya59ific"; 13 }; 14 15 nativeBuildInputs = [
··· 2 3 stdenv.mkDerivation rec { 4 5 + name = "doxygen-1.8.18"; 6 7 src = fetchurl { 8 urls = [ 9 "mirror://sourceforge/doxygen/${name}.src.tar.gz" # faster, with https, etc. 10 "http://doxygen.nl/files/${name}.src.tar.gz" 11 ]; 12 + sha256 = "0mh6s1ri1fs5yb27m0avnjsbcxpchgb9aaprq4bd3lj6vjg3s5qq"; 13 }; 14 15 nativeBuildInputs = [
+2 -2
pkgs/development/tools/parsing/bison/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "bison"; 5 - version = "3.5.2"; 6 7 src = fetchurl { 8 url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz"; 9 - sha256 = "1ylls1ba8y62q78vnzawy4ajpjkk5580crgi8krvfk8g13fvdnxl"; 10 }; 11 12 nativeBuildInputs = [ m4 perl ] ++ stdenv.lib.optional stdenv.isSunOS help2man;
··· 2 3 stdenv.mkDerivation rec { 4 pname = "bison"; 5 + version = "3.5.4"; 6 7 src = fetchurl { 8 url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz"; 9 + sha256 = "0a2cbrqh7mgx2dwf5qm10v68iakv1i0dqh9di4x5aqxsz96ibpf0"; 10 }; 11 12 nativeBuildInputs = [ m4 perl ] ++ stdenv.lib.optional stdenv.isSunOS help2man;
+2 -2
pkgs/development/tools/parsing/byacc/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "byacc"; 5 - version = "20191125"; 6 7 src = fetchurl { 8 urls = [ 9 "ftp://ftp.invisible-island.net/byacc/${pname}-${version}.tgz" 10 "https://invisible-mirror.net/archives/byacc/${pname}-${version}.tgz" 11 ]; 12 - sha256 = "1phw8410ly3msv03dmjfi8xkmrl1lrrk928fp1489amg6sz2w707"; 13 }; 14 15 configureFlags = [
··· 2 3 stdenv.mkDerivation rec { 4 pname = "byacc"; 5 + version = "20200330"; 6 7 src = fetchurl { 8 urls = [ 9 "ftp://ftp.invisible-island.net/byacc/${pname}-${version}.tgz" 10 "https://invisible-mirror.net/archives/byacc/${pname}-${version}.tgz" 11 ]; 12 + sha256 = "1c0zyn6v286i09jlc8gx6jyaa5438qyy985rqsd76kb8ibfy56g0"; 13 }; 14 15 configureFlags = [
+8 -2
pkgs/misc/emulators/retroarch/default.nix
··· 15 , enableNvidiaCgToolkit ? false, nvidia_cg_toolkit ? null 16 , withVulkan ? stdenv.isLinux, vulkan-loader ? null 17 , fetchurl 18 }: 19 20 with stdenv.lib; ··· 30 rev = "v${version}"; 31 }; 32 33 - nativeBuildInputs = [ pkgconfig ] 34 ++ optional withVulkan makeWrapper; 35 36 buildInputs = [ ffmpeg freetype libxml2 libGLU libGL python3 SDL2 which ] ··· 38 ++ optional withVulkan vulkan-loader 39 ++ optionals stdenv.isDarwin [ libobjc AppKit Foundation ] 40 ++ optionals stdenv.isLinux [ alsaLib libdrm libpulseaudio libv4l libX11 41 - libXdmcp libXext libXxf86vm mesa udev ]; 42 43 enableParallelBuilding = true; 44
··· 15 , enableNvidiaCgToolkit ? false, nvidia_cg_toolkit ? null 16 , withVulkan ? stdenv.isLinux, vulkan-loader ? null 17 , fetchurl 18 + , wayland 19 + , libxkbcommon 20 }: 21 22 with stdenv.lib; ··· 32 rev = "v${version}"; 33 }; 34 35 + nativeBuildInputs = [ pkgconfig wayland ] 36 ++ optional withVulkan makeWrapper; 37 38 buildInputs = [ ffmpeg freetype libxml2 libGLU libGL python3 SDL2 which ] ··· 40 ++ optional withVulkan vulkan-loader 41 ++ optionals stdenv.isDarwin [ libobjc AppKit Foundation ] 42 ++ optionals stdenv.isLinux [ alsaLib libdrm libpulseaudio libv4l libX11 43 + libXdmcp libXext libXxf86vm mesa udev 44 + wayland libxkbcommon ]; 45 + 46 + # we use prefix-less pkg-config 47 + PKG_CONF_PATH = "pkg-config"; 48 49 enableParallelBuilding = true; 50
+3 -1
pkgs/os-specific/linux/alsa-plugins/default.nix
··· 9 sha256 = "0z9k3ssbfk2ky2w13avgyf202j1drsz9sv3834bp33cj1i2hc3qw"; 10 }; 11 12 # ToDo: a52, etc.? 13 buildInputs = 14 - [ pkgconfig alsaLib libogg ] 15 ++ lib.optional (libpulseaudio != null) libpulseaudio 16 ++ lib.optional (libjack2 != null) libjack2; 17
··· 9 sha256 = "0z9k3ssbfk2ky2w13avgyf202j1drsz9sv3834bp33cj1i2hc3qw"; 10 }; 11 12 + nativeBuildInputs = [ pkgconfig ]; 13 + 14 # ToDo: a52, etc.? 15 buildInputs = 16 + [ alsaLib libogg ] 17 ++ lib.optional (libpulseaudio != null) libpulseaudio 18 ++ lib.optional (libjack2 != null) libjack2; 19
+11 -13
pkgs/os-specific/linux/bluez/default.nix
··· 11 , readline 12 , systemd 13 , udev 14 - }: 15 - 16 - stdenv.mkDerivation rec { 17 pname = "bluez"; 18 version = "5.54"; 19 ··· 22 sha256 = "1p2ncvjz6alr9n3l5wvq2arqgc7xjs6dqyar1l9jp0z8cfgapkb8"; 23 }; 24 25 - pythonPath = with python3.pkgs; [ 26 - dbus-python 27 - pygobject3 28 - recursivePthLoader 29 - ]; 30 - 31 buildInputs = [ 32 alsaLib 33 dbus ··· 44 python3.pkgs.wrapPython 45 ]; 46 47 - outputs = [ "out" "dev" "test" ]; 48 49 postPatch = '' 50 substituteInPlace tools/hid2hci.rules \ ··· 79 80 doCheck = stdenv.hostPlatform.isx86_64; 81 82 - postInstall = '' 83 mkdir -p $test/{bin,test} 84 cp -a test $test 85 pushd $test/test ··· 94 ln -s ../test/$a $test/bin/bluez-$a 95 done 96 popd 97 - wrapPythonProgramsIn $test/test "$test/test $pythonPath" 98 - 99 # for bluez4 compatibility for NixOS 100 mkdir $out/sbin 101 ln -s ../libexec/bluetooth/bluetoothd $out/sbin/bluetoothd
··· 11 , readline 12 , systemd 13 , udev 14 + }: let 15 + pythonPath = with python3.pkgs; [ 16 + dbus-python 17 + pygobject3 18 + recursivePthLoader 19 + ]; 20 + in stdenv.mkDerivation rec { 21 pname = "bluez"; 22 version = "5.54"; 23 ··· 26 sha256 = "1p2ncvjz6alr9n3l5wvq2arqgc7xjs6dqyar1l9jp0z8cfgapkb8"; 27 }; 28 29 buildInputs = [ 30 alsaLib 31 dbus ··· 42 python3.pkgs.wrapPython 43 ]; 44 45 + outputs = [ "out" "dev" ] ++ lib.optional doCheck "test"; 46 47 postPatch = '' 48 substituteInPlace tools/hid2hci.rules \ ··· 77 78 doCheck = stdenv.hostPlatform.isx86_64; 79 80 + postInstall = lib.optionalString doCheck '' 81 mkdir -p $test/{bin,test} 82 cp -a test $test 83 pushd $test/test ··· 92 ln -s ../test/$a $test/bin/bluez-$a 93 done 94 popd 95 + wrapPythonProgramsIn $test/test "$test/test ${toString pythonPath}" 96 + '' + '' 97 # for bluez4 compatibility for NixOS 98 mkdir $out/sbin 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 }: 2 3 stdenv.mkDerivation rec { 4 pname = "iproute2"; 5 - version = "5.5.0"; 6 7 src = fetchurl { 8 url = "mirror://kernel/linux/utils/net/${pname}/${pname}-${version}.tar.xz"; 9 - sha256 = "0ywg70f98wgfai35jl47xzpjp45a6n7crja4vc8ql85cbi1l7ids"; 10 }; 11 12 preConfigure = '' 13 - patchShebangs ./configure 14 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 19 outputs = [ "out" "dev" ]; 20 21 makeFlags = [ 22 - "DESTDIR=" 23 - "LIBDIR=$(out)/lib" 24 "SBINDIR=$(out)/sbin" 25 - "MANDIR=$(out)/share/man" 26 - "BASH_COMPDIR=$(out)/share/bash-completion/completions" 27 "DOCDIR=$(TMPDIR)/share/doc/${pname}" # Don't install docs 28 "HDRDIR=$(dev)/include/iproute2" 29 ]; ··· 36 "CONFDIR=$(out)/etc/iproute2" 37 ]; 38 39 buildInputs = [ db iptables libelf libmnl ]; 40 - nativeBuildInputs = [ bison flex pkgconfig ]; 41 42 enableParallelBuilding = true; 43 - 44 - postInstall = '' 45 - PATH=${bash}/bin:$PATH patchShebangs $out/sbin 46 - ''; 47 48 meta = with stdenv.lib; { 49 homepage = "https://wiki.linuxfoundation.org/networking/iproute2";
··· 1 + { stdenv, fetchurl 2 + , buildPackages, bison, flex, pkg-config 3 + , db, iptables, libelf, libmnl 4 + }: 5 6 stdenv.mkDerivation rec { 7 pname = "iproute2"; 8 + version = "5.6.0"; 9 10 src = fetchurl { 11 url = "mirror://kernel/linux/utils/net/${pname}/${pname}-${version}.tar.xz"; 12 + sha256 = "14j6n1bc09xhq8lxs40vfsx8bb8lx12a07ga4rsxl8vfrqjhwnqv"; 13 }; 14 15 preConfigure = '' 16 + # Don't try to create /var/lib/arpd: 17 sed -e '/ARPDDIR/d' -i Makefile 18 ''; 19 20 outputs = [ "out" "dev" ]; 21 22 makeFlags = [ 23 + "PREFIX=$(out)" 24 "SBINDIR=$(out)/sbin" 25 "DOCDIR=$(TMPDIR)/share/doc/${pname}" # Don't install docs 26 "HDRDIR=$(dev)/include/iproute2" 27 ]; ··· 34 "CONFDIR=$(out)/etc/iproute2" 35 ]; 36 37 + depsBuildBuild = [ buildPackages.stdenv.cc ]; # netem requires $HOSTCC 38 + nativeBuildInputs = [ bison flex pkg-config ]; 39 buildInputs = [ db iptables libelf libmnl ]; 40 41 enableParallelBuilding = true; 42 43 meta = with stdenv.lib; { 44 homepage = "https://wiki.linuxfoundation.org/networking/iproute2";
+5
pkgs/os-specific/linux/kernel/common-config.nix
··· 122 XDP_SOCKETS = whenAtLeast "4.19" yes; 123 XDP_SOCKETS_DIAG = whenAtLeast "4.19" yes; 124 WAN = yes; 125 # Required by systemd per-cgroup firewalling 126 CGROUP_BPF = option yes; 127 CGROUP_NET_PRIO = yes; # Required by systemd ··· 176 # Bridge Netfilter Configuration 177 NF_TABLES_BRIDGE = mkMerge [ (whenBetween "4.19" "5.3" yes) 178 (whenAtLeast "5.3" module) ]; 179 180 # needed for ss 181 INET_DIAG = yes;
··· 122 XDP_SOCKETS = whenAtLeast "4.19" yes; 123 XDP_SOCKETS_DIAG = whenAtLeast "4.19" yes; 124 WAN = yes; 125 + TCP_CONG_CUBIC = yes; # This is the default congestion control algorithm since 2.6.19 126 # Required by systemd per-cgroup firewalling 127 CGROUP_BPF = option yes; 128 CGROUP_NET_PRIO = yes; # Required by systemd ··· 177 # Bridge Netfilter Configuration 178 NF_TABLES_BRIDGE = mkMerge [ (whenBetween "4.19" "5.3" yes) 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; 184 185 # needed for ss 186 INET_DIAG = yes;
+2 -1
pkgs/os-specific/linux/plymouth/default.nix
··· 1 { stdenv, fetchurl, autoreconfHook, pkgconfig, libxslt, docbook_xsl 2 - , gtk3, udev, systemd 3 }: 4 5 stdenv.mkDerivation rec { ··· 44 "--enable-pango" 45 "--enable-gdm-transition" 46 "--enable-gtk" 47 ]; 48 49 configurePlatforms = [ "host" ];
··· 1 { stdenv, fetchurl, autoreconfHook, pkgconfig, libxslt, docbook_xsl 2 + , gtk3, udev, systemd, lib 3 }: 4 5 stdenv.mkDerivation rec { ··· 44 "--enable-pango" 45 "--enable-gdm-transition" 46 "--enable-gtk" 47 + "ac_cv_path_SYSTEMD_ASK_PASSWORD_AGENT=${lib.getBin systemd}/bin/systemd-tty-ask-password-agent" 48 ]; 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 , gettext, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_45 8 , ninja, meson, python3Packages, glibcLocales 9 , patchelf 10 , getent 11 , buildPackages 12 , perl ··· 23 pinentry = null; 24 adns = null; 25 gnutls = null; 26 - libusb = null; 27 openldap = null; 28 readline = null; 29 zlib = null; 30 bzip2 = null; 31 }; 32 in stdenv.mkDerivation { 33 - version = "243.7"; 34 pname = "systemd"; 35 36 # When updating, use https://github.com/systemd/systemd-stable tree, not the development one! 37 # Also fresh patches should be cherry-picked from that tree to our current one. 38 src = fetchFromGitHub { 39 - owner = "nixos"; 40 - repo = "systemd"; 41 - rev = "e7d881488292fc8bdf96acd12767eca1bd65adae"; 42 - sha256 = "0haj3iff3y13pm4w5dbqj1drp5wryqfad58jbbmnb6zdgis56h8f"; 43 }; 44 45 outputs = [ "out" "lib" "man" "dev" ]; 46 47 nativeBuildInputs = ··· 83 "-Dtests=false" 84 "-Dimportd=true" 85 "-Dlz4=true" 86 "-Dhostnamed=true" 87 "-Dnetworkd=true" 88 "-Dsysusers=false" 89 "-Dtimedated=true" 90 "-Dtimesyncd=true" ··· 195 196 doCheck = false; # fails a bunch of tests 197 198 postInstall = '' 199 # sysinit.target: Don't depend on 200 # systemd-tmpfiles-setup.service. This interferes with NixOps's ··· 263 license = licenses.lgpl21Plus; 264 platforms = platforms.linux; 265 priority = 10; 266 - maintainers = with maintainers; [ andir eelco flokli mic92 ]; 267 }; 268 }
··· 7 , gettext, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_45 8 , ninja, meson, python3Packages, glibcLocales 9 , patchelf 10 + , substituteAll 11 , getent 12 , buildPackages 13 , perl ··· 24 pinentry = null; 25 adns = null; 26 gnutls = null; 27 + libusb1 = null; 28 openldap = null; 29 readline = null; 30 zlib = null; 31 bzip2 = null; 32 }; 33 in stdenv.mkDerivation { 34 + version = "245.3"; 35 pname = "systemd"; 36 37 # When updating, use https://github.com/systemd/systemd-stable tree, not the development one! 38 # Also fresh patches should be cherry-picked from that tree to our current one. 39 src = fetchFromGitHub { 40 + owner = "systemd"; 41 + repo = "systemd-stable"; 42 + rev = "0f5047b7d393cfba37f91e25cae559a0bc910582"; 43 + sha256 = "0wyh14gbvvpgdmk1mjgpxr9i4pv1i9n7pnwpa0gvjh6hq948fyn2"; 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 + 71 outputs = [ "out" "lib" "man" "dev" ]; 72 73 nativeBuildInputs = ··· 109 "-Dtests=false" 110 "-Dimportd=true" 111 "-Dlz4=true" 112 + "-Dhomed=false" 113 "-Dhostnamed=true" 114 "-Dnetworkd=true" 115 + "-Dportabled=false" 116 "-Dsysusers=false" 117 "-Dtimedated=true" 118 "-Dtimesyncd=true" ··· 223 224 doCheck = false; # fails a bunch of tests 225 226 + # trigger the test -n "$DESTDIR" || mutate in upstreams build system 227 + preInstall = '' 228 + export DESTDIR=/ 229 + ''; 230 + 231 postInstall = '' 232 # sysinit.target: Don't depend on 233 # systemd-tmpfiles-setup.service. This interferes with NixOps's ··· 296 license = licenses.lgpl21Plus; 297 platforms = platforms.linux; 298 priority = 10; 299 + maintainers = with maintainers; [ andir eelco flokli ]; 300 }; 301 }
+2 -2
pkgs/os-specific/linux/util-linux/default.nix
··· 3 4 stdenv.mkDerivation rec { 5 pname = "util-linux"; 6 - version = "2.33.2"; 7 8 src = fetchurl { 9 url = "mirror://kernel/linux/utils/util-linux/v${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 10 - sha256 = "15yf2dh4jd1kg6066hydlgdhhs2j3na13qld8yx30qngqvmfh6v3"; 11 }; 12 13 patches = [
··· 3 4 stdenv.mkDerivation rec { 5 pname = "util-linux"; 6 + version = "2.35.1"; 7 8 src = fetchurl { 9 url = "mirror://kernel/linux/utils/util-linux/v${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 10 + sha256 = "1yfpy6bkab4jw61mpx48gfy24yrqp4a7arvpis8csrkk53fkxpnr"; 11 }; 12 13 patches = [
+55 -13
pkgs/os-specific/linux/util-linux/rtcwake-search-PATH-for-shutdown.patch
··· 2 which isn't valid on NixOS (and a compatibility link on most other modern 3 distros anyway). 4 5 - -- nckx <github@tobias.gr> 6 --- a/include/pathnames.h 7 +++ b/include/pathnames.h 8 - @@ -53,7 +53,7 @@ 9 #ifndef _PATH_LOGIN 10 - #define _PATH_LOGIN "/bin/login" 11 #endif 12 -#define _PATH_SHUTDOWN "/sbin/shutdown" 13 - +#define _PATH_SHUTDOWN "shutdown" 14 - 15 #define _PATH_TERMCOLORS_DIRNAME "terminal-colors.d" 16 #define _PATH_TERMCOLORS_DIR "/etc/" _PATH_TERMCOLORS_DIRNAME 17 --- a/sys-utils/rtcwake.c 18 +++ 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); 24 + execvp(arg[0], arg); 25 - warn(_("failed to execute %s"), _PATH_SHUTDOWN); 26 - rc = EXIT_FAILURE; 27 - }
··· 2 which isn't valid on NixOS (and a compatibility link on most other modern 3 distros anyway). 4 5 --- a/include/pathnames.h 6 +++ b/include/pathnames.h 7 + @@ -50,8 +50,8 @@ 8 #ifndef _PATH_LOGIN 9 + # define _PATH_LOGIN "/bin/login" 10 #endif 11 -#define _PATH_SHUTDOWN "/sbin/shutdown" 12 + -#define _PATH_POWEROFF "/sbin/poweroff" 13 + +#define _PATH_SHUTDOWN "shutdown" 14 + +#define _PATH_POWEROFF "poweroff" 15 + 16 #define _PATH_TERMCOLORS_DIRNAME "terminal-colors.d" 17 #define _PATH_TERMCOLORS_DIR "/etc/" _PATH_TERMCOLORS_DIRNAME 18 --- a/sys-utils/rtcwake.c 19 +++ b/sys-utils/rtcwake.c 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) { 53 + execvp(arg[0], arg); 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 43 stdenv.mkDerivation rec { 44 pname = "samba"; 45 - version = "4.12.0"; 46 47 src = fetchurl { 48 url = "mirror://samba/pub/samba/stable/${pname}-${version}.tar.gz"; 49 - sha256 = "1zk5jqnkifkfi6ssn02bh2ih7vyw2nsr0angsd6kyg3xaq5bgh3f"; 50 }; 51 52 outputs = [ "out" "dev" "man" ];
··· 42 43 stdenv.mkDerivation rec { 44 pname = "samba"; 45 + version = "4.12.1"; 46 47 src = fetchurl { 48 url = "mirror://samba/pub/samba/stable/${pname}-${version}.tar.gz"; 49 + sha256 = "0xbdf9651lm4b5g60ly40nc7r8gssvnvq7m3pdma99mdcs5vcz01"; 50 }; 51 52 outputs = [ "out" "dev" "man" ];
+9
pkgs/servers/x11/xorg/overrides.nix
··· 256 257 libXres = super.libXres.overrideAttrs (attrs: { 258 outputs = [ "out" "dev" "devdoc" ]; 259 }); 260 261 libXv = super.libXv.overrideAttrs (attrs: {
··· 256 257 libXres = super.libXres.overrideAttrs (attrs: { 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; 268 }); 269 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 { stdenv, fetchFromGitHub 2 , fetchpatch 3 , autoreconfHook 4 , python3Packages 5 , bashInteractive 6 }: 7 8 stdenv.mkDerivation rec { 9 pname = "bash-completion"; 10 - # TODO: Remove musl patch below upon next release! 11 - version = "2.9"; 12 13 src = fetchFromGitHub { 14 owner = "scop"; 15 repo = "bash-completion"; 16 rev = version; 17 - sha256 = "1813r4jxfa2zgzm2ppjhrq62flfmxai8433pklxcrl4fp5wwx9yv"; 18 }; 19 20 nativeBuildInputs = [ autoreconfHook ]; 21 22 doCheck = !stdenv.isDarwin; 23 checkInputs = [ 24 python3Packages.pexpect 25 python3Packages.pytest 26 bashInteractive 27 ]; 28 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 43 checkPhase = '' 44 pytest . \ 45 --ignore=test/t/unit/test_unit_ip_addresses.py \ 46 - --ignore=test/t/test_ls.py 47 ''; 48 49 prePatch = stdenv.lib.optionalString stdenv.isDarwin '' ··· 55 description = "Programmable completion for the bash shell"; 56 license = licenses.gpl2Plus; 57 platforms = platforms.unix; 58 - maintainers = [ maintainers.peti ]; 59 }; 60 }
··· 1 { stdenv, fetchFromGitHub 2 , fetchpatch 3 , autoreconfHook 4 + , perl 5 + , ps 6 , python3Packages 7 , bashInteractive 8 }: 9 10 stdenv.mkDerivation rec { 11 pname = "bash-completion"; 12 + version = "2.10"; 13 14 src = fetchFromGitHub { 15 owner = "scop"; 16 repo = "bash-completion"; 17 rev = version; 18 + sha256 = "047yjryy9d6hp18wkigbfrw9r0sm31inlsp8l28fhxg8ii032sgq"; 19 }; 20 21 nativeBuildInputs = [ autoreconfHook ]; 22 23 doCheck = !stdenv.isDarwin; 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 30 python3Packages.pexpect 31 python3Packages.pytest 32 bashInteractive 33 ]; 34 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 42 checkPhase = '' 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 \ 53 --ignore=test/t/unit/test_unit_ip_addresses.py \ 54 + --ignore=test/t/test_ls.py \ 55 + --ignore=test/t/test_screen.py 56 ''; 57 58 prePatch = stdenv.lib.optionalString stdenv.isDarwin '' ··· 64 description = "Programmable completion for the bash shell"; 65 license = licenses.gpl2Plus; 66 platforms = platforms.unix; 67 + maintainers = [ maintainers.peti maintainers.xfix ]; 68 }; 69 }
+2 -1
pkgs/stdenv/generic/setup.sh
··· 779 # the environment used for building. 780 dumpVars() { 781 if [ "${noDumpEnvVars:-0}" != 1 ]; then 782 - export > "$NIX_BUILD_TOP/env-vars" || true 783 fi 784 } 785 ··· 1266 1267 for curPhase in $phases; do 1268 if [[ "$curPhase" = unpackPhase && -n "${dontUnpack:-}" ]]; then continue; fi 1269 if [[ "$curPhase" = configurePhase && -n "${dontConfigure:-}" ]]; then continue; fi 1270 if [[ "$curPhase" = buildPhase && -n "${dontBuild:-}" ]]; then continue; fi 1271 if [[ "$curPhase" = checkPhase && -z "${doCheck:-}" ]]; then continue; fi
··· 779 # the environment used for building. 780 dumpVars() { 781 if [ "${noDumpEnvVars:-0}" != 1 ]; then 782 + export >| "$NIX_BUILD_TOP/env-vars" || true 783 fi 784 } 785 ··· 1266 1267 for curPhase in $phases; do 1268 if [[ "$curPhase" = unpackPhase && -n "${dontUnpack:-}" ]]; then continue; fi 1269 + if [[ "$curPhase" = patchPhase && -n "${dontPatch:-}" ]]; then continue; fi 1270 if [[ "$curPhase" = configurePhase && -n "${dontConfigure:-}" ]]; then continue; fi 1271 if [[ "$curPhase" = buildPhase && -n "${dontBuild:-}" ]]; then continue; fi 1272 if [[ "$curPhase" = checkPhase && -z "${doCheck:-}" ]]; then continue; fi
+9
pkgs/tools/compression/gzip/default.nix
··· 17 18 makeFlags = [ "SHELL=/bin/sh" "GREP=grep" ]; 19 20 meta = { 21 homepage = "https://www.gnu.org/software/gzip/"; 22 description = "GNU zip compression program";
··· 17 18 makeFlags = [ "SHELL=/bin/sh" "GREP=grep" ]; 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 + 29 meta = { 30 homepage = "https://www.gnu.org/software/gzip/"; 31 description = "GNU zip compression program";
+2 -2
pkgs/tools/filesystems/btrfs-progs/default.nix
··· 4 5 stdenv.mkDerivation rec { 6 pname = "btrfs-progs"; 7 - version = "5.4.1"; 8 9 src = fetchurl { 10 url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz"; 11 - sha256 = "0scxg9p6z0wss92gmv5a8yxdmr8x449kb5v3bfnvs26n92r7zq7k"; 12 }; 13 14 nativeBuildInputs = [
··· 4 5 stdenv.mkDerivation rec { 6 pname = "btrfs-progs"; 7 + version = "5.6"; 8 9 src = fetchurl { 10 url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz"; 11 + sha256 = "0srg276yccfmqz0skmmga3vbqx4wiqsk1l6h86n6ryhxa9viqcm1"; 12 }; 13 14 nativeBuildInputs = [
+2 -3
pkgs/tools/misc/dvtm/dvtm.nix
··· 9 cp ${builtins.toFile "config.h" customConfig} ./config.h 10 ''; 11 12 buildInputs = [ ncurses ]; 13 14 prePatch = '' ··· 16 --replace /usr/share/terminfo $out/share/terminfo 17 ''; 18 19 - installPhase = '' 20 - make PREFIX=$out install 21 - ''; 22 23 meta = with stdenv.lib; { 24 description = "Dynamic virtual terminal manager";
··· 9 cp ${builtins.toFile "config.h" customConfig} ./config.h 10 ''; 11 12 + nativeBuildInputs = [ ncurses ]; 13 buildInputs = [ ncurses ]; 14 15 prePatch = '' ··· 17 --replace /usr/share/terminfo $out/share/terminfo 18 ''; 19 20 + makeFlags = [ "PREFIX=$(out)" ]; 21 22 meta = with stdenv.lib; { 23 description = "Dynamic virtual terminal manager";
+2 -2
pkgs/tools/networking/modem-manager/default.nix
··· 3 4 stdenv.mkDerivation rec { 5 pname = "modem-manager"; 6 - version = "1.12.6"; 7 8 package = "ModemManager"; 9 src = fetchurl { 10 url = "https://www.freedesktop.org/software/${package}/${package}-${version}.tar.xz"; 11 - sha256 = "0k32rjh06p3q9yq054gxya6c7n39bilhi4s23p2hb02iwlz3bcrf"; 12 }; 13 14 nativeBuildInputs = [ vala gobject-introspection gettext pkgconfig ];
··· 3 4 stdenv.mkDerivation rec { 5 pname = "modem-manager"; 6 + version = "1.12.8"; 7 8 package = "ModemManager"; 9 src = fetchurl { 10 url = "https://www.freedesktop.org/software/${package}/${package}-${version}.tar.xz"; 11 + sha256 = "1zrsf57bn9rmaa2qvavr1aisci76vwlx0viqpwmkw3ds2l33vdb8"; 12 }; 13 14 nativeBuildInputs = [ vala gobject-introspection gettext pkgconfig ];
+1 -1
pkgs/tools/security/gnome-keysign/default.nix
··· 53 gst_all_1.gstreamer 54 gst_all_1.gst-plugins-base 55 (gst_all_1.gst-plugins-good.override { gtkSupport = true; }) 56 - gst_all_1.gst-plugins-bad # for zbar plug-in 57 ]; 58 59 propagatedBuildInputs = with python3.pkgs; [
··· 53 gst_all_1.gstreamer 54 gst_all_1.gst-plugins-base 55 (gst_all_1.gst-plugins-good.override { gtkSupport = true; }) 56 + (gst_all_1.gst-plugins-bad.override { enableZbar = true; }) # for zbar plug-in 57 ]; 58 59 propagatedBuildInputs = with python3.pkgs; [
+2 -2
pkgs/tools/security/gnupg/22.nix
··· 4 # Each of the dependencies below are optional. 5 # Gnupg can be built without them at the cost of reduced functionality. 6 , guiSupport ? true, enableMinimal ? false 7 - , adns ? null , bzip2 ? null , gnutls ? null , libusb ? null , openldap ? null 8 , pcsclite ? null , pinentry ? null , readline ? null , sqlite ? null , zlib ? 9 null 10 }: ··· 27 nativeBuildInputs = [ pkgconfig texinfo ]; 28 buildInputs = [ 29 libgcrypt libassuan libksba libiconv npth gettext 30 - readline libusb gnutls adns openldap zlib bzip2 sqlite 31 ]; 32 33 patches = [
··· 4 # Each of the dependencies below are optional. 5 # Gnupg can be built without them at the cost of reduced functionality. 6 , guiSupport ? true, enableMinimal ? false 7 + , adns ? null , bzip2 ? null , gnutls ? null , libusb1 ? null , openldap ? null 8 , pcsclite ? null , pinentry ? null , readline ? null , sqlite ? null , zlib ? 9 null 10 }: ··· 27 nativeBuildInputs = [ pkgconfig texinfo ]; 28 buildInputs = [ 29 libgcrypt libassuan libksba libiconv npth gettext 30 + readline libusb1 gnutls adns openldap zlib bzip2 sqlite 31 ]; 32 33 patches = [
+34 -3
pkgs/top-level/all-packages.nix
··· 8404 inherit (gnome2) libart_lgpl; 8405 }); 8406 8407 gnu-smalltalk = callPackage ../development/compilers/gnu-smalltalk { }; 8408 8409 gccgo = gccgo6; ··· 8414 langGo = true; 8415 profiledCompiler = false; 8416 }); 8417 8418 gcl = callPackage ../development/compilers/gcl { 8419 gmp = gmp4; ··· 12652 12653 libfakekey = callPackage ../development/libraries/libfakekey { }; 12654 12655 - libfido2 = callPackage ../development/libraries/libfido2 { 12656 - inherit (darwin.apple_sdk.frameworks) IOKit; 12657 - }; 12658 12659 libfilezilla = callPackage ../development/libraries/libfilezilla { }; 12660 ··· 12999 libjcat = callPackage ../development/libraries/libjcat { }; 13000 13001 libjpeg_original = callPackage ../development/libraries/libjpeg { }; 13002 libjpeg_turbo = callPackage ../development/libraries/libjpeg-turbo { }; 13003 libjpeg_drop = callPackage ../development/libraries/libjpeg-drop { }; 13004 libjpeg = libjpeg_turbo;
··· 8404 inherit (gnome2) libart_lgpl; 8405 }); 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 + 8429 gnu-smalltalk = callPackage ../development/compilers/gnu-smalltalk { }; 8430 8431 gccgo = gccgo6; ··· 8436 langGo = true; 8437 profiledCompiler = false; 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 + }; 8449 8450 gcl = callPackage ../development/compilers/gcl { 8451 gmp = gmp4; ··· 12684 12685 libfakekey = callPackage ../development/libraries/libfakekey { }; 12686 12687 + libfido2 = callPackage ../development/libraries/libfido2 { }; 12688 12689 libfilezilla = callPackage ../development/libraries/libfilezilla { }; 12690 ··· 13029 libjcat = callPackage ../development/libraries/libjcat { }; 13030 13031 libjpeg_original = callPackage ../development/libraries/libjpeg { }; 13032 + # also known as libturbojpeg 13033 libjpeg_turbo = callPackage ../development/libraries/libjpeg-turbo { }; 13034 libjpeg_drop = callPackage ../development/libraries/libjpeg-drop { }; 13035 libjpeg = libjpeg_turbo;
+5 -4
pkgs/top-level/perl-packages.nix
··· 21094 21095 XMLParser = buildPerlPackage { 21096 pname = "XML-Parser"; 21097 - version = "2.44"; 21098 src = fetchurl { 21099 - url = "mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.44.tar.gz"; 21100 - sha256 = "05ij0g6bfn27iaggxf8nl5rhlwx6f6p6xmdav6rjcly3x5zd1s8s"; 21101 }; 21102 - patchPhase = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' 21103 substituteInPlace Expat/Makefile.PL --replace 'use English;' '#' 21104 '' + stdenv.lib.optionalString stdenv.isCygwin '' 21105 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
··· 21094 21095 XMLParser = buildPerlPackage { 21096 pname = "XML-Parser"; 21097 + version = "2.46"; 21098 src = fetchurl { 21099 + url = "mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.46.tar.gz"; 21100 + sha256 = "0pai3ik47q7rgnix9644c673fwydz52gqkxr9kxwq765j4j36cfk"; 21101 }; 21102 + patches = [ ../development/perl-modules/xml-parser-0001-HACK-Assumes-Expat-paths-are-good.patch ]; 21103 + postPatch = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' 21104 substituteInPlace Expat/Makefile.PL --replace 'use English;' '#' 21105 '' + stdenv.lib.optionalString stdenv.isCygwin '' 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 linux = pkgs.utillinux; 67 }; 68 getconf = { 69 - linux = if stdenv.hostPlatform.libc == "glibc" then pkgs.glibc 70 else pkgs.netbsd.getconf; 71 darwin = pkgs.darwin.system_cmds; 72 }; 73 getent = { 74 - linux = if stdenv.hostPlatform.libc == "glibc" then pkgs.glibc 75 else pkgs.netbsd.getent; 76 darwin = pkgs.netbsd.getent; 77 };
··· 66 linux = pkgs.utillinux; 67 }; 68 getconf = { 69 + linux = if stdenv.hostPlatform.libc == "glibc" then pkgs.stdenv.cc.libc 70 else pkgs.netbsd.getconf; 71 darwin = pkgs.darwin.system_cmds; 72 }; 73 getent = { 74 + linux = if stdenv.hostPlatform.libc == "glibc" then pkgs.stdenv.cc.libc 75 else pkgs.netbsd.getent; 76 darwin = pkgs.netbsd.getent; 77 };