lol

Merge pull request #177538 from Artturin/fixcross3

authored by

Artturi and committed by
GitHub
4427b7df b2fe1ecd

+282 -147
+2 -2
doc/stdenv/cross-compilation.chapter.md
··· 155 155 156 156 #### Package using Meson needs to run binaries for the host platform during build. {#cross-meson-runs-host-code} 157 157 158 - Add `mesonEmulatorHook` cross conditionally to `nativeBuildInputs`. 158 + Add `mesonEmulatorHook` to `nativeBuildInputs` conditionally on if the target binaries can be executed. 159 159 160 160 e.g. 161 161 162 162 ``` 163 163 nativeBuildInputs = [ 164 164 meson 165 - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ 165 + ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ 166 166 mesonEmulatorHook 167 167 ]; 168 168 ```
+2 -4
pkgs/development/libraries/atk/default.nix
··· 39 39 fixDarwinDylibNames 40 40 ]; 41 41 42 + buildInputs = [ gobject-introspection ]; 43 + 42 44 propagatedBuildInputs = [ 43 45 # Required by atk.pc 44 46 glib 45 - ]; 46 - 47 - mesonFlags = [ 48 - "-Dintrospection=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" 49 47 ]; 50 48 51 49 doCheck = true;
+16 -17
pkgs/development/libraries/gdk-pixbuf/default.nix
··· 16 16 , libjpeg 17 17 , libpng 18 18 , gnome 19 + , gobject-introspection 20 + , buildPackages 19 21 , doCheck ? false 20 22 , makeWrapper 21 23 , lib 22 - , withIntrospection ? (stdenv.buildPlatform == stdenv.hostPlatform) 23 - , gobject-introspection 24 24 }: 25 25 26 - let 27 - withGtkDoc = stdenv.buildPlatform == stdenv.hostPlatform; 28 - in 29 26 stdenv.mkDerivation rec { 30 27 pname = "gdk-pixbuf"; 31 28 version = "2.42.8"; 32 29 33 - outputs = [ "out" "dev" "man" ] 34 - ++ lib.optional withGtkDoc "devdoc" 30 + outputs = [ "out" "dev" "man" "devdoc" ] 35 31 ++ lib.optional (stdenv.buildPlatform == stdenv.hostPlatform) "installedTests"; 36 32 37 33 src = fetchurl { ··· 60 56 makeWrapper 61 57 glib 62 58 gi-docgen 59 + gobject-introspection 63 60 64 61 # for man pages 65 62 libxslt ··· 67 64 docbook_xml_dtd_43 68 65 ] ++ lib.optionals stdenv.isDarwin [ 69 66 fixDarwinDylibNames 70 - ] ++ lib.optionals withIntrospection [ 71 - gobject-introspection 72 67 ]; 73 68 69 + buildInputs = [ gobject-introspection ]; 70 + 74 71 propagatedBuildInputs = [ 75 72 glib 76 73 libtiff ··· 79 76 ]; 80 77 81 78 mesonFlags = [ 82 - "-Dgtk_doc=${lib.boolToString withGtkDoc}" 83 - "-Dintrospection=${if withIntrospection then "enabled" else "disabled"}" 84 79 "-Dgio_sniffing=false" 80 + "-Dgtk_doc=true" 85 81 ]; 86 82 87 83 postPatch = '' ··· 89 85 patchShebangs build-aux 90 86 91 87 substituteInPlace tests/meson.build --subst-var-by installedtestsprefix "$installedTests" 92 - ''; 93 88 94 - preInstall = '' 95 - PATH=$PATH:$out/bin # for install script 89 + # Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake) 90 + # it should be a build-time dep for build 91 + # TODO: send upstream 92 + substituteInPlace docs/meson.build \ 93 + --replace "dependency('gi-docgen'," "dependency('gi-docgen', native:true," \ 94 + --replace "'gi-docgen', req" "'gi-docgen', native:true, req" 96 95 ''; 97 96 98 97 postInstall = ··· 108 107 install_name_tool -change @rpath/libgdk_pixbuf-2.0.0.dylib $out/lib/libgdk_pixbuf-2.0.0.dylib $f 109 108 mv $f ''${f%.dylib}.so 110 109 done 111 - '' + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' 110 + '' + '' 112 111 # We need to install 'loaders.cache' in lib/gdk-pixbuf-2.0/2.10.0/ 113 - $dev/bin/gdk-pixbuf-query-loaders --update-cache 112 + ${stdenv.hostPlatform.emulator buildPackages} $dev/bin/gdk-pixbuf-query-loaders --update-cache 114 113 ''; 115 114 116 115 # The fixDarwinDylibNames hook doesn't patch binaries. ··· 120 119 done 121 120 ''; 122 121 123 - postFixup = lib.optionalString withGtkDoc '' 122 + postFixup = '' 124 123 # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. 125 124 moveToOutput "share/doc" "$devdoc" 126 125 '';
+4
pkgs/development/libraries/geoclue/default.nix
··· 4 4 , fetchpatch 5 5 , intltool 6 6 , meson 7 + , mesonEmulatorHook 7 8 , ninja 8 9 , pkg-config 9 10 , gtk-doc ··· 74 75 gtk-doc 75 76 docbook-xsl-nons 76 77 docbook_xml_dtd_412 78 + ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ 79 + mesonEmulatorHook 77 80 ]; 78 81 79 82 buildInputs = [ ··· 81 84 json-glib 82 85 libsoup 83 86 avahi 87 + gobject-introspection 84 88 ] ++ lib.optionals withDemoAgent [ 85 89 libnotify gdk-pixbuf 86 90 ] ++ lib.optionals (!stdenv.isDarwin) [
+19 -5
pkgs/development/libraries/gobject-introspection/default.nix
··· 27 27 # it may be worth thinking about using multiple derivation outputs 28 28 # In that case its about 6MB which could be separated 29 29 30 - stdenv.mkDerivation rec { 30 + stdenv.mkDerivation (finalAttrs: { 31 31 pname = "gobject-introspection"; 32 32 version = "1.72.0"; 33 33 ··· 37 37 outputBin = "dev"; 38 38 39 39 src = fetchurl { 40 - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 40 + url = "mirror://gnome/sources/gobject-introspection/${lib.versions.majorMinor finalAttrs.version}/gobject-introspection-${finalAttrs.version}.tar.xz"; 41 41 sha256 = "Av6OWQhh2I+DBg3TnNpcyqYLLaHSHQ+VSZMBsYa+qrw="; 42 42 }; 43 43 ··· 68 68 docbook-xsl-nons 69 69 docbook_xml_dtd_45 70 70 python3 71 - setupHook # move .gir files 71 + finalAttrs.setupHook # move .gir files 72 72 ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ gobject-introspection-unwrapped ]; 73 73 74 74 buildInputs = [ ··· 105 105 106 106 postInstall = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' 107 107 cp -r ${buildPackages.gobject-introspection-unwrapped.devdoc} $devdoc 108 + # these are uncompiled c and header files which aren't installed when cross-compiling because 109 + # code that installs them is in tests/meson.build which is only run when not cross-compiling 110 + # pygobject3 needs them 111 + cp -r ${buildPackages.gobject-introspection-unwrapped.dev}/share/gobject-introspection-1.0/tests $dev/share/gobject-introspection-1.0/tests 108 112 ''; 109 113 110 114 preCheck = '' ··· 120 124 rm $out/lib/libregress-1.0${stdenv.targetPlatform.extensions.sharedLibrary} 121 125 ''; 122 126 127 + # when cross-compiling and using the wrapper then when a package looks up the g_ir_X 128 + # variable with pkg-config they'll get the host version which can't be run 129 + # switch the variables to use g_ir_X from path instead of an absolute path 130 + postFixup = lib.optionalString (!lib.hasSuffix "wrapped" finalAttrs.pname) '' 131 + find "''${!outputDev}/lib/pkgconfig" -name '*.pc' | while read pc; do 132 + substituteInPlace "$pc" \ 133 + --replace '=''${bindir}/g-ir' '=g-ir' 134 + done 135 + ''; 136 + 123 137 setupHook = ./setup-hook.sh; 124 138 125 139 passthru = { 126 140 updateScript = gnome.updateScript { 127 - packageName = pname; 141 + packageName = "gobject-introspection"; 128 142 versionPolicy = "odd-unstable"; 129 143 }; 130 144 }; ··· 144 158 automatically provide bindings to call into the C library. 145 159 ''; 146 160 }; 147 - } 161 + })
+32
pkgs/development/libraries/gobject-introspection/giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
··· 1 + From e0fc4a2a5161a36483ddc518be9bb14390f11b19 Mon Sep 17 00:00:00 2001 2 + From: Alexander Kanavin <alex.kanavin@gmail.com> 3 + Date: Wed, 5 Sep 2018 16:46:52 +0200 4 + Subject: [PATCH] giscanner: ignore error return codes from ldd-wrapper 5 + 6 + prelink-rtld, which we use instead of ldd returns 127 when it can't find a library. 7 + It is not an error per se, but it breaks subprocess.check_output(). 8 + 9 + Upstream-Status: Inappropriate [oe-core specific] 10 + Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 11 + Signed-off-by: Adam Duskett <aduskett@gmail.com> 12 + --- 13 + giscanner/shlibs.py | 2 +- 14 + 1 file changed, 1 insertion(+), 1 deletion(-) 15 + 16 + diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py 17 + index 9f8ab5df..7a1a72fe 100644 18 + --- a/giscanner/shlibs.py 19 + +++ b/giscanner/shlibs.py 20 + @@ -103,7 +103,7 @@ def _resolve_non_libtool(options, binary, libraries): 21 + args.extend(['otool', '-L', binary.args[0]]) 22 + else: 23 + args.extend(['ldd', binary.args[0]]) 24 + - output = subprocess.check_output(args) 25 + + output = subprocess.run(args, check=False, stdout=subprocess.PIPE).stdout 26 + if isinstance(output, bytes): 27 + output = output.decode("utf-8", "replace") 28 + 29 + -- 30 + 2.25.1 31 + 32 +
+1 -1
pkgs/development/libraries/gobject-introspection/setup-hook.sh
··· 10 10 fi 11 11 } 12 12 13 - addEnvHooks "$hostOffset" make_gobject_introspection_find_gir_files 13 + addEnvHooks "$targetOffset" make_gobject_introspection_find_gir_files 14 14 15 15 giDiscoverSelf() { 16 16 if [ -d "$prefix/lib/girepository-1.0" ]; then
+5 -2
pkgs/development/libraries/gobject-introspection/wrapper.nix
··· 7 7 8 8 # to build, run 9 9 # `nix build ".#pkgsCross.aarch64-multiplatform.buildPackages.gobject-introspection"` 10 - gobject-introspection-unwrapped.overrideAttrs (_previousAttrs: { 10 + gobject-introspection-unwrapped.overrideAttrs (previousAttrs: { 11 11 pname = "gobject-introspection-wrapped"; 12 - postFixup = '' 12 + # failure in e.g. pkgsCross.aarch64-multiplatform.polkit 13 + # subprocess.CalledProcessError: Command '['/nix/store/...-prelink-unstable-2019-06-24/bin/prelink-rtld', '/build/source/build/tmp-introspectzp2ldkyk/PolkitAgent-1.0']' returned non-zero exit status 127. 14 + patches = previousAttrs.patches ++ [ ./giscanner-ignore-error-return-codes-from-ldd-wrapper.patch ]; 15 + postFixup = (previousAttrs.postFixup or "") + '' 13 16 mv $dev/bin/g-ir-compiler $dev/bin/.g-ir-compiler-wrapped 14 17 mv $dev/bin/g-ir-scanner $dev/bin/.g-ir-scanner-wrapped 15 18
+1 -5
pkgs/development/libraries/gstreamer/bad/default.nix
··· 121 121 ]; 122 122 123 123 buildInputs = [ 124 + gobject-introspection 124 125 gst-plugins-base 125 126 orc 126 - # gobject-introspection has to be in both nativeBuildInputs and 127 - # buildInputs. The build tries to link against libgirepository-1.0.so 128 - gobject-introspection 129 127 json-glib 130 128 ldacbt 131 129 libass ··· 294 292 # `applemedia/videotexturecache.h` requires `gst/gl/gl.h`, 295 293 # but its meson build system does not declare the dependency. 296 294 "-Dapplemedia=disabled" 297 - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ 298 - "-Dintrospection=disabled" 299 295 ] ++ (if enableGplPlugins then [ 300 296 "-Dgpl=enabled" 301 297 ] else [
+5 -6
pkgs/development/libraries/gstreamer/base/default.nix
··· 18 18 , libvisual 19 19 , tremor # provides 'virbisidec' 20 20 , libGL 21 + , gobject-introspection 21 22 , enableX11 ? stdenv.isLinux 22 23 , libXv 23 24 , libXext ··· 36 37 , enableCdparanoia ? (!stdenv.isDarwin) 37 38 , cdparanoia 38 39 , glib 39 - , withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform 40 - , gobject-introspection 41 40 }: 42 41 43 42 stdenv.mkDerivation rec { ··· 52 51 }; 53 52 54 53 strictDeps = true; 54 + depsBuildBuild = [ 55 + pkg-config 56 + ]; 55 57 nativeBuildInputs = [ 56 58 meson 57 59 ninja ··· 63 65 gstreamer 64 66 # docs 65 67 # TODO add hotdoc here 66 - ] ++ lib.optionals withIntrospection [ 67 68 gobject-introspection 68 69 ] ++ lib.optional enableWayland wayland; 69 70 70 71 buildInputs = [ 72 + gobject-introspection 71 73 orc 72 74 libtheora 73 75 libintl ··· 91 93 ] ++ lib.optionals enableWayland [ 92 94 wayland 93 95 wayland-protocols 94 - ] ++ lib.optionals withIntrospection [ 95 - gobject-introspection 96 96 ] ++ lib.optional enableCocoa Cocoa 97 97 ++ lib.optional enableCdparanoia cdparanoia; 98 98 ··· 106 106 "-Dgl-graphene=disabled" # not packaged in nixpkgs as of writing 107 107 # See https://github.com/GStreamer/gst-plugins-base/blob/d64a4b7a69c3462851ff4dcfa97cc6f94cd64aef/meson_options.txt#L15 for a list of choices 108 108 "-Dgl_winsys=${lib.concatStringsSep "," (lib.optional enableX11 "x11" ++ lib.optional enableWayland "wayland" ++ lib.optional enableCocoa "cocoa")}" 109 - "-Dintrospection=${if withIntrospection then "enabled" else "disabled"}" 110 109 ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ 111 110 "-Dtests=disabled" 112 111 ]
+6 -6
pkgs/development/libraries/gstreamer/core/default.nix
··· 16 16 , bash-completion 17 17 , lib 18 18 , CoreServices 19 - , withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform 20 19 , gobject-introspection 21 20 }: 22 21 ··· 38 37 sha256 = "0cghi6n4nhdbajz3wqcgbh5xm94myvnqgsi9g2bz9n1s9904l2fy"; 39 38 }; 40 39 40 + depsBuildBuild = [ 41 + pkg-config 42 + ]; 43 + 41 44 strictDeps = true; 42 45 nativeBuildInputs = [ 43 46 meson ··· 50 53 makeWrapper 51 54 glib 52 55 bash-completion 56 + gobject-introspection 53 57 54 58 # documentation 55 59 # TODO add hotdoc here 56 60 ] ++ lib.optionals stdenv.isLinux [ 57 61 libcap # for setcap binary 58 - ] ++ lib.optionals withIntrospection [ 59 - gobject-introspection 60 62 ]; 61 63 62 64 buildInputs = [ 63 65 bash-completion 66 + gobject-introspection 64 67 ] ++ lib.optionals stdenv.isLinux [ 65 68 libcap 66 69 libunwind 67 70 elfutils 68 - ] ++ lib.optionals withIntrospection [ 69 - gobject-introspection 70 71 ] ++ lib.optionals stdenv.isDarwin [ 71 72 CoreServices 72 73 ]; ··· 79 80 "-Ddbghelp=disabled" # not needed as we already provide libunwind and libdw, and dbghelp is a fallback to those 80 81 "-Dexamples=disabled" # requires many dependencies and probably not useful for our users 81 82 "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing 82 - "-Dintrospection=${if withIntrospection then "enabled" else "disabled"}" 83 83 ] ++ lib.optionals stdenv.isDarwin [ 84 84 # darwin.libunwind doesn't have pkg-config definitions so meson doesn't detect it. 85 85 "-Dlibunwind=disabled"
+5 -2
pkgs/development/libraries/gstreamer/devtools/default.nix
··· 26 26 # "devdoc" # disabled until `hotdoc` is packaged in nixpkgs 27 27 ]; 28 28 29 + depsBuildBuild = [ 30 + pkg-config 31 + ]; 32 + 29 33 nativeBuildInputs = [ 30 34 meson 31 35 ninja ··· 40 44 cairo 41 45 python3 42 46 json-glib 47 + gobject-introspection 43 48 ]; 44 49 45 50 propagatedBuildInputs = [ ··· 49 54 50 55 mesonFlags = [ 51 56 "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing 52 - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ 53 - "-Dintrospection=disabled" 54 57 ]; 55 58 56 59 meta = with lib; {
+1 -2
pkgs/development/libraries/gstreamer/ges/default.nix
··· 46 46 buildInputs = [ 47 47 bash-completion 48 48 libxml2 49 + gobject-introspection 49 50 ]; 50 51 51 52 propagatedBuildInputs = [ ··· 55 56 56 57 mesonFlags = [ 57 58 "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing 58 - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ 59 - "-Dintrospection=disabled" 60 59 ]; 61 60 62 61 postPatch = ''
+1 -2
pkgs/development/libraries/gstreamer/rtsp-server/default.nix
··· 41 41 buildInputs = [ 42 42 gst-plugins-base 43 43 gst-plugins-bad 44 + gobject-introspection 44 45 ]; 45 46 46 47 mesonFlags = [ 47 48 "-Dexamples=disabled" # requires many dependencies and probably not useful for our users 48 49 "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing 49 - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ 50 - "-Dintrospection=disabled" 51 50 ]; 52 51 53 52 postPatch = ''
+1 -1
pkgs/development/libraries/gtk/3.x.nix
··· 110 110 ]; 111 111 112 112 buildInputs = [ 113 + gobject-introspection 113 114 libxkbcommon 114 115 (libepoxy.override { inherit x11Support; }) 115 116 isocodes ··· 158 159 "-Dbroadway_backend=${lib.boolToString broadwaySupport}" 159 160 "-Dx11_backend=${lib.boolToString x11Support}" 160 161 "-Dquartz_backend=${lib.boolToString (stdenv.isDarwin && !x11Support)}" 161 - "-Dintrospection=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" 162 162 ]; 163 163 164 164 doCheck = false; # needs X11
+6 -5
pkgs/development/libraries/harfbuzz/default.nix
··· 34 34 inherit (lib) optional optionals optionalString; 35 35 mesonFeatureFlag = opt: b: 36 36 "-D${opt}=${if b then "enabled" else "disabled"}"; 37 - isNativeCompilation = stdenv.buildPlatform == stdenv.hostPlatform; 38 37 in 39 38 40 39 stdenv.mkDerivation { ··· 70 69 (mesonFeatureFlag "coretext" withCoreText) 71 70 (mesonFeatureFlag "graphite" withGraphite2) 72 71 (mesonFeatureFlag "icu" withIcu) 73 - (mesonFeatureFlag "introspection" isNativeCompilation) 72 + ]; 73 + 74 + depsBuildBuild = [ 75 + pkg-config 74 76 ]; 75 77 76 78 nativeBuildInputs = [ ··· 85 87 docbook_xml_dtd_43 86 88 ]; 87 89 88 - buildInputs = [ glib freetype ] 89 - ++ lib.optionals withCoreText [ ApplicationServices CoreText ] 90 - ++ lib.optionals isNativeCompilation [ gobject-introspection ]; 90 + buildInputs = [ glib freetype gobject-introspection ] 91 + ++ lib.optionals withCoreText [ ApplicationServices CoreText ]; 91 92 92 93 propagatedBuildInputs = optional withGraphite2 graphite2 93 94 ++ optionals withIcu [ icu harfbuzz ];
+17 -12
pkgs/development/libraries/json-glib/default.nix
··· 6 6 , ninja 7 7 , pkg-config 8 8 , gettext 9 - , withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform 10 9 , gobject-introspection 11 - , fixDarwinDylibNames 12 10 , gi-docgen 11 + , libxslt 12 + , fixDarwinDylibNames 13 13 , gnome 14 14 }: 15 15 ··· 17 17 pname = "json-glib"; 18 18 version = "1.6.6"; 19 19 20 - outputs = [ "out" "dev" ] 21 - ++ lib.optional withIntrospection "devdoc"; 20 + outputs = [ "out" "dev" "devdoc" ]; 22 21 23 22 src = fetchurl { 24 23 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; ··· 37 36 pkg-config 38 37 gettext 39 38 glib 39 + libxslt 40 + gobject-introspection 41 + gi-docgen 40 42 ] ++ lib.optional stdenv.hostPlatform.isDarwin [ 41 43 fixDarwinDylibNames 42 - ] ++ lib.optionals withIntrospection [ 43 - gobject-introspection 44 - gi-docgen 45 44 ]; 45 + 46 + buildInputs = [ gobject-introspection ]; 46 47 47 48 propagatedBuildInputs = [ 48 49 glib 49 50 ]; 50 51 51 - mesonFlags = lib.optionals (!withIntrospection) [ 52 - "-Dintrospection=disabled" 53 - # gi-docgen relies on introspection data 54 - "-Dgtk_doc=disabled" 55 - ]; 52 + 53 + # Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake) 54 + # it should be a build-time dep for build 55 + # TODO: send upstream 56 + postPatch = '' 57 + substituteInPlace doc/meson.build \ 58 + --replace "'gi-docgen', ver" "'gi-docgen', native:true, ver" \ 59 + --replace "'gi-docgen', req" "'gi-docgen', native:true, req" 60 + ''; 56 61 57 62 doCheck = true; 58 63
+21 -5
pkgs/development/libraries/libgudev/default.nix
··· 7 7 , glib 8 8 , gnome 9 9 , vala 10 - , withIntrospection ? (stdenv.buildPlatform == stdenv.hostPlatform) 11 10 , gobject-introspection 11 + , fetchpatch 12 12 }: 13 13 14 14 stdenv.mkDerivation rec { ··· 22 22 sha256 = "1al6nr492nzbm8ql02xhzwci2kwb1advnkaky3j9636jf08v41hd"; 23 23 }; 24 24 25 + patches = [ 26 + # https://gitlab.gnome.org/GNOME/libgudev/-/merge_requests/27 27 + (fetchpatch { 28 + name = "gir-dep"; 29 + url = "https://gitlab.gnome.org/GNOME/libgudev/-/commit/6bdde16a0cfde462502fce1d9a7eb6ec33f388bb.diff"; 30 + sha256 = "sha256-bDtLUxOLEgyJURshqEQC4YCBTUVzQQP4qoWL786b3Z8="; 31 + }) 32 + (fetchpatch { 33 + name = "vapi-dep"; 34 + url = "https://gitlab.gnome.org/GNOME/libgudev/-/commit/d1f6457910842ba869c9871e7a2131fbe0d6b6be.diff"; 35 + sha256 = "sha256-/PY8ziZST/vQvksJm69a3O6/YesknIxCDvj0z40piik="; 36 + }) 37 + (fetchpatch { 38 + name = "gtk-doc-dep"; 39 + url = "https://gitlab.gnome.org/GNOME/libgudev/-/commit/34336cbadbcaac8b9b029f730eed0bdf4c633617.diff"; 40 + sha256 = "sha256-Bk05xe69LGqWH1uhLMZhwbVMSsCTyBrrOvqWic2TTd4="; 41 + }) 42 + ]; 43 + 25 44 strictDeps = true; 26 45 27 46 depsBuildBuild = [ pkg-config ]; ··· 32 51 ninja 33 52 vala 34 53 glib # for glib-mkenums needed during the build 35 - ] ++ lib.optionals withIntrospection [ 36 54 gobject-introspection 37 55 ]; 38 56 39 57 buildInputs = [ 58 + gobject-introspection 40 59 udev 41 60 glib 42 61 ]; ··· 44 63 mesonFlags = [ 45 64 # There's a dependency cycle with umockdev and the tests fail to LD_PRELOAD anyway 46 65 "-Dtests=disabled" 47 - "-Dintrospection=${if withIntrospection then "enabled" else "disabled"}" 48 - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ 49 - "-Dvapi=disabled" 50 66 ]; 51 67 52 68 passthru = {
+3 -8
pkgs/development/libraries/libical/default.nix
··· 13 13 , python3 14 14 , tzdata 15 15 , fixDarwinDylibNames 16 - , withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform 17 16 , gobject-introspection 18 17 , vala 19 18 }: ··· 37 36 ninja 38 37 perl 39 38 pkg-config 39 + gobject-introspection 40 + vala 40 41 # Docs building fails: 41 42 # https://github.com/NixOS/nixpkgs/pull/67204 42 43 # previously with https://github.com/NixOS/nixpkgs/pull/61657#issuecomment-495579489 ··· 44 45 ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ 45 46 # provides ical-glib-src-generator that runs during build 46 47 libical 47 - ] ++ lib.optionals withIntrospection [ 48 - gobject-introspection 49 - vala 50 48 ] ++ lib.optionals stdenv.isDarwin [ 51 49 fixDarwinDylibNames 52 50 ]; 53 51 installCheckInputs = [ 54 52 # running libical-glib tests 55 - (python3.withPackages (pkgs: with pkgs; [ 53 + (python3.pythonForBuild.withPackages (pkgs: with pkgs; [ 56 54 pygobject3 57 55 ])) 58 56 ]; ··· 61 59 glib 62 60 libxml2 63 61 icu 64 - ] ++ lib.optionals withIntrospection [ 65 62 gobject-introspection 66 63 ]; 67 64 68 65 cmakeFlags = [ 69 66 "-DENABLE_GTK_DOC=False" 70 - "-DGOBJECT_INTROSPECTION=${if withIntrospection then "True" else "False"}" 71 - "-DICAL_GLIB_VAPI=${if withIntrospection then "True" else "False"}" 72 67 ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ 73 68 "-DIMPORT_ICAL_GLIB_SRC_GENERATOR=${lib.getDev buildPackages.libical}/lib/cmake/LibIcal/IcalGlibSrcGenerator.cmake" 74 69 ];
+4
pkgs/development/libraries/libmanette/default.nix
··· 2 2 , fetchurl 3 3 , ninja 4 4 , meson 5 + , mesonEmulatorHook 5 6 , pkg-config 6 7 , vala 7 8 , gobject-introspection ··· 34 35 gtk-doc 35 36 docbook-xsl-nons 36 37 docbook_xml_dtd_43 38 + ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ 39 + mesonEmulatorHook 37 40 ]; 38 41 39 42 buildInputs = [ 43 + gobject-introspection 40 44 glib 41 45 libgudev 42 46 libevdev
+13 -11
pkgs/development/libraries/librdf/raptor2.nix
··· 1 - { lib, stdenv, fetchurl, libxml2, libxslt }: 1 + { lib, stdenv, libxml2, libxslt, pkg-config, cmake, fetchFromGitHub, perl, bison, flex, fetchpatch }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "raptor2"; 5 - version = "2.0.15"; 5 + version = "unstable-2022-06-06"; 6 6 7 - src = fetchurl { 8 - url = "http://download.librdf.org/source/${pname}-${version}.tar.gz"; 9 - sha256 = "ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed"; 7 + src = fetchFromGitHub { 8 + owner = "dajobe"; 9 + repo = "raptor"; 10 + rev = "3cca62a33da68143b687c9e486eefc7c7cbb4586"; 11 + sha256 = "sha256-h03IyFH1GHPqajfHBBTb19lCEu+VXzQLGC1wiEGVvgY="; 10 12 }; 11 13 12 14 patches = [ 13 - (fetchurl { 14 - name = "CVE-2017-18926.patch"; 15 - url = "https://github.com/dajobe/raptor/commit/590681e546cd9aa18d57dc2ea1858cb734a3863f.patch"; 16 - sha256 = "1qlpb5rm3j2yi0x6zgdi5apymg5zlvwq3g1zl417gkjrlvxmndgp"; 15 + # https://github.com/dajobe/raptor/pull/52 16 + (fetchpatch { 17 + name = "fix-cmake-generated-pc-file"; 18 + url = "https://github.com/dajobe/raptor/commit/fa1ef9a27d8762f5588ac2e92554a188e73dee9f.diff"; 19 + sha256 = "sha256-zXIbrYGgC9oTpiD0WUikT4vRdc9b6bsyfnDkwUSlqao="; 17 20 }) 18 21 ]; 19 22 23 + nativeBuildInputs = [ pkg-config cmake perl bison flex ]; 20 24 buildInputs = [ libxml2 libxslt ]; 21 - 22 - postInstall = "rm -rvf $out/share/gtk-doc"; 23 25 24 26 meta = { 25 27 description = "The RDF Parser Toolkit";
+5
pkgs/development/libraries/libsecret/default.nix
··· 31 31 sha256 = "P7PONA/NfbVNh8iT5pv8Kx9uTUsnkGX/5m2snw/RK00="; 32 32 }; 33 33 34 + depsBuildBuild = [ 35 + pkg-config 36 + ]; 37 + 34 38 nativeBuildInputs = [ 35 39 meson 36 40 ninja ··· 48 52 49 53 buildInputs = [ 50 54 libgcrypt 55 + gobject-introspection 51 56 ]; 52 57 53 58 propagatedBuildInputs = [
+14 -11
pkgs/development/libraries/libsoup/default.nix
··· 8 8 , pkg-config 9 9 , gnome 10 10 , libsysprof-capture 11 - , gnomeSupport ? true 12 - , sqlite 13 - , glib-networking 14 11 , gobject-introspection 15 - , withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform 16 12 , vala 17 - , withVala ? stdenv.buildPlatform == stdenv.hostPlatform 18 13 , libpsl 19 - , python3 20 14 , brotli 15 + , gnomeSupport ? true 16 + , sqlite 17 + , glib-networking 21 18 }: 22 19 23 20 stdenv.mkDerivation rec { ··· 30 27 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 31 28 sha256 = "sha256-8KQnZW5f4Z4d9xwQfojfobLmc8JcVHt4I7YBi0DQEVk="; 32 29 }; 30 + 31 + depsBuildBuild = [ 32 + pkg-config 33 + ]; 33 34 34 35 nativeBuildInputs = [ 35 36 meson 36 37 ninja 37 38 pkg-config 38 39 glib 39 - ] ++ lib.optionals withIntrospection [ 40 40 gobject-introspection 41 - ] ++ lib.optionals withVala [ 42 41 vala 43 42 ]; 44 43 45 44 buildInputs = [ 46 - python3 45 + gobject-introspection 47 46 sqlite 48 47 libpsl 49 48 glib.out ··· 60 59 mesonFlags = [ 61 60 "-Dtls_check=false" # glib-networking is a runtime dependency, not a compile-time dependency 62 61 "-Dgssapi=disabled" 63 - "-Dvapi=${if withVala then "enabled" else "disabled"}" 64 - "-Dintrospection=${if withIntrospection then "enabled" else "disabled"}" 65 62 "-Dgnome=${lib.boolToString gnomeSupport}" 66 63 "-Dntlm=disabled" 67 64 ] ++ lib.optionals (!stdenv.isLinux) [ ··· 73 70 doCheck = false; # ERROR:../tests/socket-test.c:37:do_unconnected_socket_test: assertion failed (res == SOUP_STATUS_OK): (2 == 200) 74 71 75 72 postPatch = '' 73 + # fixes finding vapigen when cross-compiling 74 + # the commit is in 3.0.6 75 + # https://gitlab.gnome.org/GNOME/libsoup/-/commit/5280e936d0a76f94dbc5d8489cfbdc0a06343f65 76 + substituteInPlace meson.build \ 77 + --replace "required: vapi_opt)" "required: vapi_opt, native: false)" 78 + 76 79 patchShebangs libsoup/ 77 80 ''; 78 81
+4
pkgs/development/libraries/neon/default.nix
··· 35 35 (lib.withFeature sslSupport "ssl") 36 36 ]; 37 37 38 + preConfigure = '' 39 + export PKG_CONFIG="$(command -v "$PKG_CONFIG")" 40 + ''; 41 + 38 42 passthru = {inherit compressionSupport sslSupport;}; 39 43 40 44 meta = with lib; {
+5
pkgs/development/libraries/opencv/4.x.nix
··· 13 13 , protobuf 14 14 , config 15 15 , ocl-icd 16 + , buildPackages 16 17 17 18 , enableJPEG ? true 18 19 , libjpeg ··· 291 292 "-DOPENCV_GENERATE_PKGCONFIG=ON" 292 293 "-DWITH_OPENMP=ON" 293 294 "-DBUILD_PROTOBUF=OFF" 295 + "-DProtobuf_PROTOC_EXECUTABLE=${lib.getExe buildPackages.protobuf}" 294 296 "-DPROTOBUF_UPDATE_FILES=ON" 295 297 "-DOPENCV_ENABLE_NONFREE=${printEnabled enableUnfree}" 296 298 "-DBUILD_TESTS=OFF" 297 299 "-DBUILD_PERF_TESTS=OFF" 298 300 "-DBUILD_DOCS=${printEnabled enableDocs}" 301 + # "OpenCV disables pkg-config to avoid using of host libraries. Consider using PKG_CONFIG_LIBDIR to specify target SYSROOT" 302 + # but we have proper separation of build and host libs :), fixes cross 303 + "-DOPENCV_ENABLE_PKG_CONFIG=ON" 299 304 (opencvFlag "IPP" enableIpp) 300 305 (opencvFlag "TIFF" enableTIFF) 301 306 (opencvFlag "WEBP" enableWebP)
+16 -12
pkgs/development/libraries/pango/default.nix
··· 16 16 , ninja 17 17 , glib 18 18 , python3 19 - , x11Support? !stdenv.isDarwin, libXft 20 - , withIntrospection ? (stdenv.buildPlatform == stdenv.hostPlatform) 21 19 , gobject-introspection 22 - , withDocs ? (stdenv.buildPlatform == stdenv.hostPlatform) 20 + , x11Support? !stdenv.isDarwin, libXft 23 21 }: 24 22 25 23 stdenv.mkDerivation rec { 26 24 pname = "pango"; 27 25 version = "1.50.7"; 28 26 29 - outputs = [ "bin" "out" "dev" ] 30 - ++ lib.optionals withDocs [ "devdoc" ]; 27 + outputs = [ "bin" "out" "dev" "devdoc" ]; 31 28 32 29 src = fetchurl { 33 30 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 34 31 sha256 = "BHfzaaPUxpXfcpmmmJ3ABHVqf03ifuysQFxnkLfjrTM="; 35 32 }; 36 33 37 - strictDeps = !withIntrospection; 38 - 39 34 depsBuildBuild = [ 40 35 pkg-config 41 36 ]; ··· 44 39 meson ninja 45 40 glib # for glib-mkenum 46 41 pkg-config 47 - ] ++ lib.optionals withIntrospection [ 48 42 gobject-introspection 49 - ] ++ lib.optionals withDocs [ 50 43 gi-docgen 51 44 python3 52 45 ]; ··· 54 47 buildInputs = [ 55 48 fribidi 56 49 libthai 50 + gobject-introspection 57 51 ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ 58 52 ApplicationServices 59 53 Carbon ··· 71 65 ]; 72 66 73 67 mesonFlags = [ 74 - "-Dgtk_doc=${lib.boolToString withDocs}" 75 - "-Dintrospection=${if withIntrospection then "enabled" else "disabled"}" 68 + "-Dgtk_doc=true" 76 69 ] ++ lib.optionals (!x11Support) [ 77 70 "-Dxft=disabled" # only works with x11 78 71 ]; ··· 82 75 fontDirectories = [ freefont_ttf ]; 83 76 }; 84 77 78 + # Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake) 79 + # it should be a build-time dep for build 80 + # TODO: send upstream 81 + postPatch = '' 82 + substituteInPlace meson.build \ 83 + --replace "dependency('gi-docgen', ver" "dependency('gi-docgen', native:true, ver" 84 + 85 + substituteInPlace docs/meson.build \ 86 + --replace "'gi-docgen', req" "'gi-docgen', native:true, req" 87 + ''; 88 + 85 89 doCheck = false; # test-font: FAIL 86 90 87 - postFixup = lib.optionalString withDocs '' 91 + postFixup = '' 88 92 # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. 89 93 moveToOutput "share/doc" "$devdoc" 90 94 '';
+11 -9
pkgs/development/libraries/polkit/default.nix
··· 6 6 , expat 7 7 , pam 8 8 , meson 9 + , mesonEmulatorHook 9 10 , ninja 10 11 , perl 11 12 , rsync ··· 23 24 , useSystemd ? stdenv.isLinux 24 25 , systemd 25 26 , elogind 26 - # needed until gobject-introspection does cross-compile (https://github.com/NixOS/nixpkgs/pull/88222) 27 - , withIntrospection ? (stdenv.buildPlatform == stdenv.hostPlatform) 28 - # cross build fails on polkit-1-scan (https://github.com/NixOS/nixpkgs/pull/152704) 29 - , withGtkDoc ? (stdenv.buildPlatform == stdenv.hostPlatform) 30 27 # A few tests currently fail on musl (polkitunixusertest, polkitunixgrouptest, polkitidentitytest segfault). 31 28 # Not yet investigated; it may be due to the "Make netgroup support optional" 32 29 # patch not updating the tests correctly yet, or doing something wrong, ··· 88 85 }) 89 86 ]; 90 87 88 + depsBuildBuild = [ 89 + pkg-config 90 + ]; 91 + 91 92 nativeBuildInputs = [ 92 93 glib 93 94 gtk-doc ··· 97 98 ninja 98 99 perl 99 100 rsync 100 - (python3.withPackages (pp: with pp; [ 101 + gobject-introspection 102 + (python3.pythonForBuild.withPackages (pp: with pp; [ 101 103 dbus-python 102 104 (python-dbusmock.overridePythonAttrs (attrs: { 103 105 # Avoid dependency cycle. ··· 109 111 libxslt 110 112 docbook-xsl-nons 111 113 docbook_xml_dtd_412 114 + ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ 115 + mesonEmulatorHook 112 116 ]; 113 117 114 118 buildInputs = [ 119 + gobject-introspection 115 120 expat 116 121 pam 117 122 spidermonkey_78 123 + dbus 118 124 ] ++ lib.optionals stdenv.isLinux [ 119 125 # On Linux, fall back to elogind when systemd support is off. 120 126 (if useSystemd then systemd else elogind) 121 - ] ++ lib.optionals withIntrospection [ 122 - gobject-introspection 123 127 ]; 124 128 125 129 propagatedBuildInputs = [ ··· 136 140 "-Dsystemdsystemunitdir=${placeholder "out"}/etc/systemd/system" 137 141 "-Dpolkitd_user=polkituser" #TODO? <nixos> config.ids.uids.polkituser 138 142 "-Dos_type=redhat" # only affects PAM includes 139 - "-Dintrospection=${lib.boolToString withIntrospection}" 140 143 "-Dtests=${lib.boolToString doCheck}" 141 - "-Dgtk_doc=${lib.boolToString withGtkDoc}" 142 144 "-Dman=true" 143 145 ] ++ lib.optionals stdenv.isLinux [ 144 146 "-Dsession_tracking=${if useSystemd then "libsystemd-login" else "libelogind"}"
+22 -10
pkgs/development/libraries/tracker/default.nix
··· 25 25 , json-glib 26 26 , systemd 27 27 , dbus 28 + , writeText 28 29 }: 29 30 30 31 stdenv.mkDerivation rec { ··· 46 47 patchShebangs utils/data-generators/cc/generate 47 48 ''; 48 49 50 + depsBuildBuild = [ 51 + pkg-config 52 + ]; 53 + 49 54 nativeBuildInputs = [ 50 55 meson 51 56 ninja ··· 58 63 gobject-introspection 59 64 docbook-xsl-nons 60 65 docbook_xml_dtd_45 61 - python3 # for data-generators 62 - systemd # used for checks to install systemd user service 63 - dbus # used for checks and pkg-config to install dbus service/s 64 - ] ++ checkInputs; # gi is in the main meson.build and checked regardless of 65 - # whether tests are enabled 66 + (python3.pythonForBuild.withPackages (p: [ p.pygobject3 ])) 67 + ]; 66 68 67 69 buildInputs = [ 70 + gobject-introspection 68 71 glib 69 72 libxml2 70 73 sqlite ··· 74 77 libuuid 75 78 json-glib 76 79 libstemmer 77 - ]; 78 - 79 - checkInputs = with python3.pkgs; [ 80 - pygobject3 80 + dbus 81 + systemd 81 82 ]; 82 83 83 84 mesonFlags = [ 84 85 "-Ddocs=true" 85 - ]; 86 + ] ++ ( 87 + let 88 + # https://gitlab.gnome.org/GNOME/tracker/-/blob/master/meson.build#L159 89 + crossFile = writeText "cross-file.conf" '' 90 + [properties] 91 + sqlite3_has_fts5 = '${lib.boolToString (lib.hasInfix "-DSQLITE_ENABLE_FTS3" sqlite.NIX_CFLAGS_COMPILE)}' 92 + ''; 93 + in 94 + [ 95 + "--cross-file=${crossFile}" 96 + ] 97 + ); 86 98 87 99 doCheck = true; 88 100
+14 -1
pkgs/development/python-modules/pygobject/3.nix
··· 12 12 , ninja 13 13 , isPy3k 14 14 , gnome 15 + , python 15 16 }: 16 17 17 18 buildPythonPackage rec { ··· 29 30 sha256 = "HzS192JN415E61p+tCg1MoW9AwBNVRMaX39/qbkPPMk="; 30 31 }; 31 32 33 + depsBuildBuild = [ 34 + pkg-config 35 + ]; 36 + 32 37 nativeBuildInputs = [ 33 38 pkg-config 34 39 meson ··· 37 42 ]; 38 43 39 44 buildInputs = [ 45 + # # .so files link to these 46 + gobject-introspection 40 47 glib 41 - gobject-introspection 42 48 ] ++ lib.optionals stdenv.isDarwin [ 43 49 ncurses 44 50 ]; ··· 46 52 propagatedBuildInputs = [ 47 53 pycairo 48 54 cairo 55 + ]; 56 + 57 + mesonFlags = [ 58 + # This is only used for figuring out what version of Python is in 59 + # use, and related stuff like figuring out what the install prefix 60 + # should be, but it does need to be able to execute Python code. 61 + "-Dpython=${python.pythonForBuild.interpreter}" 49 62 ]; 50 63 51 64 passthru = {
+21 -4
pkgs/tools/networking/networkmanager/default.nix
··· 34 34 , iputils 35 35 , kmod 36 36 , jansson 37 + , elfutils 37 38 , gtk-doc 38 39 , libxslt 39 40 , docbook_xsl ··· 43 44 , openconnect 44 45 , curl 45 46 , meson 47 + , mesonEmulatorHook 46 48 , ninja 47 49 , libpsl 48 50 , mobile-broadband-provider-info 49 51 , runtimeShell 52 + , buildPackages 50 53 }: 51 54 52 55 let 53 - pythonForDocs = python3.withPackages (pkgs: with pkgs; [ pygobject3 ]); 56 + pythonForDocs = python3.pythonForBuild.withPackages (pkgs: with pkgs; [ pygobject3 ]); 54 57 in 55 58 stdenv.mkDerivation rec { 56 59 pname = "networkmanager"; ··· 102 105 "-Ddhcpcanon=no" 103 106 104 107 # Miscellaneous 105 - "-Ddocs=true" 108 + # almost cross-compiles, however fails with 109 + # ** (process:9234): WARNING **: Failed to load shared library '/nix/store/...-networkmanager-aarch64-unknown-linux-gnu-1.38.2/lib/libnm.so.0' referenced by the typelib: /nix/store/...-networkmanager-aarch64-unknown-linux-gnu-1.38.2/lib/libnm.so.0: cannot open shared object file: No such file or directory 110 + "-Ddocs=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" 106 111 # We don't use firewalld in NixOS 107 112 "-Dfirewalld_zone=false" 108 113 "-Dtests=no" ··· 138 143 ]; 139 144 140 145 buildInputs = [ 146 + gobject-introspection 141 147 systemd 142 148 libselinux 143 149 audit ··· 150 156 mobile-broadband-provider-info 151 157 bluez5 152 158 dnsmasq 153 - gobject-introspection 154 159 modemmanager 155 160 readline 156 161 newt 157 162 libsoup 158 163 jansson 164 + dbus # used to get directory paths with pkg-config during configuration 159 165 ]; 160 166 161 167 propagatedBuildInputs = [ gnutls libgcrypt ]; ··· 167 173 pkg-config 168 174 vala 169 175 gobject-introspection 170 - dbus 176 + elfutils # used to find jansson soname 171 177 # Docs 172 178 gtk-doc 173 179 libxslt ··· 176 182 docbook_xml_dtd_42 177 183 docbook_xml_dtd_43 178 184 pythonForDocs 185 + ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ 186 + mesonEmulatorHook 179 187 ]; 180 188 181 189 doCheck = false; # requires /sys, the net ··· 183 191 postPatch = '' 184 192 patchShebangs ./tools 185 193 patchShebangs libnm/generate-setting-docs.py 194 + 195 + # TODO: submit upstream 196 + substituteInPlace meson.build \ 197 + --replace "'vala', req" "'vala', native: false, req" 186 198 ''; 187 199 188 200 preBuild = '' ··· 192 204 # We are using a symlink that will be overridden during installation. 193 205 mkdir -p ${placeholder "out"}/lib 194 206 ln -s $PWD/src/libnm-client-impl/libnm.so.0 ${placeholder "out"}/lib/libnm.so.0 207 + ''; 208 + 209 + postFixup = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' 210 + cp -r ${buildPackages.networkmanager.devdoc} $devdoc 211 + cp -r ${buildPackages.networkmanager.man} $man 195 212 ''; 196 213 197 214 passthru = {
+3 -3
pkgs/top-level/all-packages.nix
··· 4148 4148 # example of an error which this fixes 4149 4149 # [Errno 8] Exec format error: './gdk3-scan' 4150 4150 mesonEmulatorHook = 4151 - if (stdenv.buildPlatform != stdenv.targetPlatform) then 4151 + if (!stdenv.buildPlatform.canExecute stdenv.targetPlatform) then 4152 4152 makeSetupHook 4153 4153 { 4154 4154 name = "mesonEmulatorHook"; ··· 4159 4159 ''; 4160 4160 }; 4161 4161 } ../development/tools/build-managers/meson/emulator-hook.sh 4162 - else throw "mesonEmulatorHook has to be in a cross conditional i.e. (stdenv.buildPlatform != stdenv.hostPlatform)"; 4162 + else throw "mesonEmulatorHook has to be in a conditional to check if the target binaries can be executed i.e. (!stdenv.buildPlatform.canExecute stdenv.hostPlatform)"; 4163 4163 4164 4164 meson-tools = callPackage ../misc/meson-tools { }; 4165 4165 ··· 17943 17943 gns3-gui = gns3Packages.guiStable; 17944 17944 gns3-server = gns3Packages.serverStable; 17945 17945 17946 - gobject-introspection = if (stdenv.hostPlatform != stdenv.targetPlatform) 17946 + gobject-introspection = if (!stdenv.hostPlatform.canExecute stdenv.targetPlatform) 17947 17947 then callPackage ../development/libraries/gobject-introspection/wrapper.nix { } else gobject-introspection-unwrapped; 17948 17948 17949 17949 gobject-introspection-unwrapped = callPackage ../development/libraries/gobject-introspection {
+2 -1
pkgs/top-level/python-packages.nix
··· 7476 7476 pygobject2 = callPackage ../development/python-modules/pygobject { }; 7477 7477 7478 7478 pygobject3 = callPackage ../development/python-modules/pygobject/3.nix { 7479 - inherit (pkgs) meson; 7479 + # inherit (pkgs) meson won't work because it won't be spliced 7480 + inherit (pkgs.buildPackages) meson; 7480 7481 }; 7481 7482 7482 7483 pygogo = callPackage ../development/python-modules/pygogo { };