Merge pull request #51180 from mayflower/xorg-cross
treewide: cross-fixes
This commit is contained in:
commit
84162175a3
@ -1,5 +1,6 @@
|
|||||||
{ stdenv
|
{ stdenv
|
||||||
, fetchurl
|
, fetchurl
|
||||||
|
, fetchpatch
|
||||||
|
|
||||||
, meson
|
, meson
|
||||||
, ninja
|
, ninja
|
||||||
@ -21,6 +22,13 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1kp4b1hpx2ky20ixgy2xhj5iygfl7ps5k9kglh1z5i7mhykg4r3a";
|
sha256 = "1kp4b1hpx2ky20ixgy2xhj5iygfl7ps5k9kglh1z5i7mhykg4r3a";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/fribidi/fribidi/pull/88.patch";
|
||||||
|
sha256 = "1n4l6333vhbxfckwg101flmvq6bbygg66fjp69ddcjqaqb6gh9k9";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
patchShebangs test
|
patchShebangs test
|
||||||
'';
|
'';
|
||||||
|
35
pkgs/development/libraries/ilmbase/cross.patch
Normal file
35
pkgs/development/libraries/ilmbase/cross.patch
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
From: Helmut Grohne <>
|
||||||
|
Subject: compile build tools with the build architecture compiler
|
||||||
|
|
||||||
|
Patch-Source: https://github.com/openexr/openexr/issues/221
|
||||||
|
|
||||||
|
Index: ilmbase-2.2.0/configure.ac
|
||||||
|
===================================================================
|
||||||
|
--- ilmbase-2.2.0.orig/configure.ac
|
||||||
|
+++ ilmbase-2.2.0/configure.ac
|
||||||
|
@@ -28,6 +28,7 @@
|
||||||
|
AC_PROG_LN_S
|
||||||
|
AC_PROG_LIBTOOL
|
||||||
|
AC_PROG_MAKE_SET
|
||||||
|
+AX_PROG_CXX_FOR_BUILD
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl PKGCONFIG preparations
|
||||||
|
Index: ilmbase-2.2.0/Half/Makefile.am
|
||||||
|
===================================================================
|
||||||
|
--- ilmbase-2.2.0.orig/Half/Makefile.am
|
||||||
|
+++ ilmbase-2.2.0/Half/Makefile.am
|
||||||
|
@@ -17,9 +17,11 @@
|
||||||
|
|
||||||
|
CLEANFILES = eLut eLut.h toFloat toFloat.h
|
||||||
|
|
||||||
|
-eLut_SOURCES = eLut.cpp
|
||||||
|
+eLut$(EXEEXT): eLut.cpp
|
||||||
|
+ $(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@
|
||||||
|
|
||||||
|
-toFloat_SOURCES = toFloat.cpp
|
||||||
|
+toFloat$(EXEEXT): toFloat.cpp
|
||||||
|
+ $(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@
|
||||||
|
|
||||||
|
eLut.h: eLut
|
||||||
|
./eLut > eLut.h
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, automake, autoconf, libtool, which }:
|
{ stdenv, fetchurl, buildPackages, automake, autoconf, libtool, which }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "ilmbase-${version}";
|
name = "ilmbase-${version}";
|
||||||
@ -16,11 +16,12 @@ stdenv.mkDerivation rec {
|
|||||||
./bootstrap
|
./bootstrap
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildInputs = [ automake autoconf libtool which ];
|
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||||
|
nativeBuildInputs = [ automake autoconf libtool which ];
|
||||||
|
|
||||||
NIX_CFLAGS_LINK = [ "-pthread" ];
|
NIX_CFLAGS_LINK = [ "-pthread" ];
|
||||||
|
|
||||||
patches = [ ./bootstrap.patch ];
|
patches = [ ./bootstrap.patch ./cross.patch ];
|
||||||
|
|
||||||
# fails 1 out of 1 tests with
|
# fails 1 out of 1 tests with
|
||||||
# "lt-ImathTest: testBoxAlgo.cpp:892: void {anonymous}::boxMatrixTransform(): Assertion `b21 == b2' failed"
|
# "lt-ImathTest: testBoxAlgo.cpp:892: void {anonymous}::boxMatrixTransform(): Assertion `b21 == b2' failed"
|
||||||
|
@ -60,7 +60,9 @@ stdenv.mkDerivation rec {
|
|||||||
++ optional (libpaper != null) "--enable-libpaper"
|
++ optional (libpaper != null) "--enable-libpaper"
|
||||||
++ optional stdenv.isDarwin "--disable-launchd";
|
++ optional stdenv.isDarwin "--disable-launchd";
|
||||||
|
|
||||||
|
# AR has to be an absolute path
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
export AR="${getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar"
|
||||||
configureFlagsArray+=(
|
configureFlagsArray+=(
|
||||||
# Put just lib/* and locale into $lib; this didn't work directly.
|
# Put just lib/* and locale into $lib; this didn't work directly.
|
||||||
# lib/cups is moved back to $out in postInstall.
|
# lib/cups is moved back to $out in postInstall.
|
||||||
|
@ -1248,7 +1248,7 @@ lib.makeScope newScope (self: with self; {
|
|||||||
meta.platforms = stdenv.lib.platforms.unix;
|
meta.platforms = stdenv.lib.platforms.unix;
|
||||||
}) {};
|
}) {};
|
||||||
|
|
||||||
libxcb = callPackage ({ stdenv, pkgconfig, fetchurl, libxslt, libpthreadstubs, python, libXau, xcbproto, libXdmcp }: stdenv.mkDerivation {
|
libxcb = callPackage ({ stdenv, pkgconfig, fetchurl, libxslt, libpthreadstubs, libXau, xcbproto, libXdmcp, python }: stdenv.mkDerivation {
|
||||||
name = "libxcb-1.13.1";
|
name = "libxcb-1.13.1";
|
||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
@ -1256,8 +1256,8 @@ lib.makeScope newScope (self: with self; {
|
|||||||
sha256 = "1i27lvrcsygims1pddpl5c4qqs6z715lm12ax0n3vx0igapvg7x8";
|
sha256 = "1i27lvrcsygims1pddpl5c4qqs6z715lm12ax0n3vx0igapvg7x8";
|
||||||
};
|
};
|
||||||
hardeningDisable = [ "bindnow" "relro" ];
|
hardeningDisable = [ "bindnow" "relro" ];
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig python ];
|
||||||
buildInputs = [ libxslt libpthreadstubs python libXau xcbproto libXdmcp ];
|
buildInputs = [ libxslt libpthreadstubs libXau xcbproto libXdmcp ];
|
||||||
meta.platforms = stdenv.lib.platforms.unix;
|
meta.platforms = stdenv.lib.platforms.unix;
|
||||||
}) {};
|
}) {};
|
||||||
|
|
||||||
@ -1594,8 +1594,8 @@ lib.makeScope newScope (self: with self; {
|
|||||||
sha256 = "1qdxw9syhbvswiqj5dvj278lrmfhs81apzmvx6205s4vcqg7563v";
|
sha256 = "1qdxw9syhbvswiqj5dvj278lrmfhs81apzmvx6205s4vcqg7563v";
|
||||||
};
|
};
|
||||||
hardeningDisable = [ "bindnow" "relro" ];
|
hardeningDisable = [ "bindnow" "relro" ];
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig python ];
|
||||||
buildInputs = [ python ];
|
buildInputs = [ ];
|
||||||
meta.platforms = stdenv.lib.platforms.unix;
|
meta.platforms = stdenv.lib.platforms.unix;
|
||||||
}) {};
|
}) {};
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@ my %pkgURLs;
|
|||||||
my %pkgHashes;
|
my %pkgHashes;
|
||||||
my %pkgNames;
|
my %pkgNames;
|
||||||
my %pkgRequires;
|
my %pkgRequires;
|
||||||
|
my %pkgNativeRequires;
|
||||||
|
|
||||||
my %pcMap;
|
my %pcMap;
|
||||||
|
|
||||||
@ -106,6 +107,7 @@ while (<>) {
|
|||||||
my $provides = `find $pkgDir -name "*.pc.in"`;
|
my $provides = `find $pkgDir -name "*.pc.in"`;
|
||||||
my @provides2 = split '\n', $provides;
|
my @provides2 = split '\n', $provides;
|
||||||
my @requires = ();
|
my @requires = ();
|
||||||
|
my @nativeRequires = ();
|
||||||
|
|
||||||
foreach my $pcFile (@provides2) {
|
foreach my $pcFile (@provides2) {
|
||||||
my $pc = $pcFile;
|
my $pc = $pcFile;
|
||||||
@ -163,7 +165,7 @@ while (<>) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($file =~ /AM_PATH_PYTHON/) {
|
if ($file =~ /AM_PATH_PYTHON/) {
|
||||||
push @requires, "python";
|
push @nativeRequires, "python";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($file =~ /AC_PATH_PROG\(FCCACHE/) {
|
if ($file =~ /AC_PATH_PROG\(FCCACHE/) {
|
||||||
@ -230,7 +232,9 @@ while (<>) {
|
|||||||
push @requires, "gperf", "m4", "xproto" if $pkg =~ /xcbutil/;
|
push @requires, "gperf", "m4", "xproto" if $pkg =~ /xcbutil/;
|
||||||
|
|
||||||
print "REQUIRES $pkg => @requires\n";
|
print "REQUIRES $pkg => @requires\n";
|
||||||
|
print "NATIVE_REQUIRES $pkg => @nativeRequires\n";
|
||||||
$pkgRequires{$pkg} = \@requires;
|
$pkgRequires{$pkg} = \@requires;
|
||||||
|
$pkgNativeRequires{$pkg} = \@nativeRequires;
|
||||||
|
|
||||||
print "done\n";
|
print "done\n";
|
||||||
}
|
}
|
||||||
@ -255,6 +259,20 @@ EOF
|
|||||||
foreach my $pkg (sort (keys %pkgURLs)) {
|
foreach my $pkg (sort (keys %pkgURLs)) {
|
||||||
print "$pkg\n";
|
print "$pkg\n";
|
||||||
|
|
||||||
|
my %nativeRequires = ();
|
||||||
|
my @nativeBuildInputs;
|
||||||
|
foreach my $req (sort @{$pkgNativeRequires{$pkg}}) {
|
||||||
|
if (defined $pcMap{$req}) {
|
||||||
|
# Some packages have .pc that depends on itself.
|
||||||
|
next if $pcMap{$req} eq $pkg;
|
||||||
|
if (!defined $nativeRequires{$pcMap{$req}}) {
|
||||||
|
push @nativeBuildInputs, $pcMap{$req};
|
||||||
|
$nativeRequires{$pcMap{$req}} = 1;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print " NOT FOUND: $req\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
my %requires = ();
|
my %requires = ();
|
||||||
my @buildInputs;
|
my @buildInputs;
|
||||||
foreach my $req (sort @{$pkgRequires{$pkg}}) {
|
foreach my $req (sort @{$pkgRequires{$pkg}}) {
|
||||||
@ -270,9 +288,11 @@ foreach my $pkg (sort (keys %pkgURLs)) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $nativeBuildInputsStr = join "", map { $_ . " " } @nativeBuildInputs;
|
||||||
my $buildInputsStr = join "", map { $_ . " " } @buildInputs;
|
my $buildInputsStr = join "", map { $_ . " " } @buildInputs;
|
||||||
|
|
||||||
my @arguments = @buildInputs;
|
my @arguments = @buildInputs;
|
||||||
|
push @arguments, @nativeBuildInputs;
|
||||||
unshift @arguments, "stdenv", "pkgconfig", "fetchurl";
|
unshift @arguments, "stdenv", "pkgconfig", "fetchurl";
|
||||||
my $argumentsStr = join ", ", @arguments;
|
my $argumentsStr = join ", ", @arguments;
|
||||||
|
|
||||||
@ -290,7 +310,7 @@ foreach my $pkg (sort (keys %pkgURLs)) {
|
|||||||
sha256 = "$pkgHashes{$pkg}";
|
sha256 = "$pkgHashes{$pkg}";
|
||||||
};
|
};
|
||||||
hardeningDisable = [ "bindnow" "relro" ];
|
hardeningDisable = [ "bindnow" "relro" ];
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig $nativeBuildInputsStr];
|
||||||
buildInputs = [ $buildInputsStr];$extraAttrsStr
|
buildInputs = [ $buildInputsStr];$extraAttrsStr
|
||||||
meta.platforms = stdenv.lib.platforms.unix;
|
meta.platforms = stdenv.lib.platforms.unix;
|
||||||
}) {};
|
}) {};
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{ abiCompat ? null,
|
{ abiCompat ? null,
|
||||||
stdenv, makeWrapper, lib, fetchurl, fetchpatch,
|
stdenv, makeWrapper, lib, fetchurl, fetchpatch, buildPackages,
|
||||||
|
|
||||||
automake, autoconf, libtool, intltool, mtdev, libevdev, libinput,
|
automake, autoconf, libtool, intltool, mtdev, libevdev, libinput,
|
||||||
python, freetype, tradcpp, fontconfig,
|
freetype, tradcpp, fontconfig,
|
||||||
libGL, spice-protocol, zlib, libGLU, dbus, libunwind, libdrm,
|
libGL, spice-protocol, zlib, libGLU, dbus, libunwind, libdrm,
|
||||||
mesa_noglu, udev, bootstrap_cmds, bison, flex, clangStdenv, autoreconfHook,
|
mesa_noglu, udev, bootstrap_cmds, bison, flex, clangStdenv, autoreconfHook,
|
||||||
mcpp, epoxy, openssl, pkgconfig, llvm_6,
|
mcpp, epoxy, openssl, pkgconfig, llvm_6,
|
||||||
@ -85,19 +85,15 @@ self: super:
|
|||||||
});
|
});
|
||||||
|
|
||||||
libxcb = super.libxcb.overrideAttrs (attrs: {
|
libxcb = super.libxcb.overrideAttrs (attrs: {
|
||||||
nativeBuildInputs = attrs.nativeBuildInputs ++ [ python ];
|
|
||||||
configureFlags = [ "--enable-xkb" "--enable-xinput" ];
|
configureFlags = [ "--enable-xkb" "--enable-xinput" ];
|
||||||
outputs = [ "out" "dev" "man" "doc" ];
|
outputs = [ "out" "dev" "man" "doc" ];
|
||||||
});
|
});
|
||||||
|
|
||||||
xcbproto = super.xcbproto.overrideAttrs (attrs: {
|
|
||||||
nativeBuildInputs = attrs.nativeBuildInputs ++ [ python ];
|
|
||||||
});
|
|
||||||
|
|
||||||
libX11 = super.libX11.overrideAttrs (attrs: {
|
libX11 = super.libX11.overrideAttrs (attrs: {
|
||||||
outputs = [ "out" "dev" "man" ];
|
outputs = [ "out" "dev" "man" ];
|
||||||
configureFlags = attrs.configureFlags or []
|
configureFlags = attrs.configureFlags or []
|
||||||
++ malloc0ReturnsNullCrossFlag;
|
++ malloc0ReturnsNullCrossFlag;
|
||||||
|
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
sed 's,^as_dummy.*,as_dummy="\$PATH",' -i configure
|
sed 's,^as_dummy.*,as_dummy="\$PATH",' -i configure
|
||||||
'';
|
'';
|
||||||
@ -249,6 +245,8 @@ self: super:
|
|||||||
|
|
||||||
libXv = super.libXv.overrideAttrs (attrs: {
|
libXv = super.libXv.overrideAttrs (attrs: {
|
||||||
outputs = [ "out" "dev" "devdoc" ];
|
outputs = [ "out" "dev" "devdoc" ];
|
||||||
|
configureFlags = attrs.configureFlags or []
|
||||||
|
++ malloc0ReturnsNullCrossFlag;
|
||||||
});
|
});
|
||||||
|
|
||||||
libXvMC = super.libXvMC.overrideAttrs (attrs: {
|
libXvMC = super.libXvMC.overrideAttrs (attrs: {
|
||||||
|
@ -26,6 +26,8 @@ stdenv.mkDerivation {
|
|||||||
sed -e '/INSTALLED_CONFIGURATION_FILE/d' \
|
sed -e '/INSTALLED_CONFIGURATION_FILE/d' \
|
||||||
-e 's|/lib/sendmail|$(TMPDIR)/sendmail|' \
|
-e 's|/lib/sendmail|$(TMPDIR)/sendmail|' \
|
||||||
-i Makefile
|
-i Makefile
|
||||||
|
substituteInPlace Makefile \
|
||||||
|
--replace '$(INSTALL) -s' '$(INSTALL) -s --strip-program $(STRIP)'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installFlags = "etcdir=$(out)/etc";
|
installFlags = "etcdir=$(out)/etc";
|
||||||
|
@ -13969,7 +13969,6 @@ with pkgs;
|
|||||||
inherit (darwin.apple_sdk.frameworks) ApplicationServices Carbon Cocoa;
|
inherit (darwin.apple_sdk.frameworks) ApplicationServices Carbon Cocoa;
|
||||||
inherit (darwin.apple_sdk.libs) Xplugin;
|
inherit (darwin.apple_sdk.libs) Xplugin;
|
||||||
bootstrap_cmds = if stdenv.isDarwin then darwin.bootstrap_cmds else null;
|
bootstrap_cmds = if stdenv.isDarwin then darwin.bootstrap_cmds else null;
|
||||||
python = python2; # Incompatible with Python 3x
|
|
||||||
udev = if stdenv.isLinux then udev else null;
|
udev = if stdenv.isLinux then udev else null;
|
||||||
libdrm = if stdenv.isLinux then libdrm else null;
|
libdrm = if stdenv.isLinux then libdrm else null;
|
||||||
abiCompat = config.xorg.abiCompat # `config` because we have no `xorg.override`
|
abiCompat = config.xorg.abiCompat # `config` because we have no `xorg.override`
|
||||||
|
@ -596,7 +596,7 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
|
patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||||
substituteInPlace src/makefile --replace gcc cc \
|
substituteInPlace src/makefile \
|
||||||
--replace 10.3 10.5
|
--replace 10.3 10.5
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@ -604,6 +604,8 @@ let
|
|||||||
makeFlagsArray=(
|
makeFlagsArray=(
|
||||||
LUAV=${lua.luaversion}
|
LUAV=${lua.luaversion}
|
||||||
PLAT=${platformString}
|
PLAT=${platformString}
|
||||||
|
CC=''${CC}
|
||||||
|
LD=''${CC}
|
||||||
prefix=$out
|
prefix=$out
|
||||||
);
|
);
|
||||||
'';
|
'';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user