Merge pull request #51180 from mayflower/xorg-cross
treewide: cross-fixes
This commit is contained in:
commit
84162175a3
@ -1,5 +1,6 @@
|
||||
{ stdenv
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
|
||||
, meson
|
||||
, ninja
|
||||
@ -21,6 +22,13 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1kp4b1hpx2ky20ixgy2xhj5iygfl7ps5k9kglh1z5i7mhykg4r3a";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/fribidi/fribidi/pull/88.patch";
|
||||
sha256 = "1n4l6333vhbxfckwg101flmvq6bbygg66fjp69ddcjqaqb6gh9k9";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
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 {
|
||||
name = "ilmbase-${version}";
|
||||
@ -16,11 +16,12 @@ stdenv.mkDerivation rec {
|
||||
./bootstrap
|
||||
'';
|
||||
|
||||
buildInputs = [ automake autoconf libtool which ];
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||
nativeBuildInputs = [ automake autoconf libtool which ];
|
||||
|
||||
NIX_CFLAGS_LINK = [ "-pthread" ];
|
||||
|
||||
patches = [ ./bootstrap.patch ];
|
||||
patches = [ ./bootstrap.patch ./cross.patch ];
|
||||
|
||||
# fails 1 out of 1 tests with
|
||||
# "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 stdenv.isDarwin "--disable-launchd";
|
||||
|
||||
# AR has to be an absolute path
|
||||
preConfigure = ''
|
||||
export AR="${getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar"
|
||||
configureFlagsArray+=(
|
||||
# Put just lib/* and locale into $lib; this didn't work directly.
|
||||
# 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;
|
||||
}) {};
|
||||
|
||||
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";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
@ -1256,8 +1256,8 @@ lib.makeScope newScope (self: with self; {
|
||||
sha256 = "1i27lvrcsygims1pddpl5c4qqs6z715lm12ax0n3vx0igapvg7x8";
|
||||
};
|
||||
hardeningDisable = [ "bindnow" "relro" ];
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ libxslt libpthreadstubs python libXau xcbproto libXdmcp ];
|
||||
nativeBuildInputs = [ pkgconfig python ];
|
||||
buildInputs = [ libxslt libpthreadstubs libXau xcbproto libXdmcp ];
|
||||
meta.platforms = stdenv.lib.platforms.unix;
|
||||
}) {};
|
||||
|
||||
@ -1594,8 +1594,8 @@ lib.makeScope newScope (self: with self; {
|
||||
sha256 = "1qdxw9syhbvswiqj5dvj278lrmfhs81apzmvx6205s4vcqg7563v";
|
||||
};
|
||||
hardeningDisable = [ "bindnow" "relro" ];
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ python ];
|
||||
nativeBuildInputs = [ pkgconfig python ];
|
||||
buildInputs = [ ];
|
||||
meta.platforms = stdenv.lib.platforms.unix;
|
||||
}) {};
|
||||
|
||||
|
@ -23,6 +23,7 @@ my %pkgURLs;
|
||||
my %pkgHashes;
|
||||
my %pkgNames;
|
||||
my %pkgRequires;
|
||||
my %pkgNativeRequires;
|
||||
|
||||
my %pcMap;
|
||||
|
||||
@ -106,6 +107,7 @@ while (<>) {
|
||||
my $provides = `find $pkgDir -name "*.pc.in"`;
|
||||
my @provides2 = split '\n', $provides;
|
||||
my @requires = ();
|
||||
my @nativeRequires = ();
|
||||
|
||||
foreach my $pcFile (@provides2) {
|
||||
my $pc = $pcFile;
|
||||
@ -163,7 +165,7 @@ while (<>) {
|
||||
}
|
||||
|
||||
if ($file =~ /AM_PATH_PYTHON/) {
|
||||
push @requires, "python";
|
||||
push @nativeRequires, "python";
|
||||
}
|
||||
|
||||
if ($file =~ /AC_PATH_PROG\(FCCACHE/) {
|
||||
@ -230,7 +232,9 @@ while (<>) {
|
||||
push @requires, "gperf", "m4", "xproto" if $pkg =~ /xcbutil/;
|
||||
|
||||
print "REQUIRES $pkg => @requires\n";
|
||||
print "NATIVE_REQUIRES $pkg => @nativeRequires\n";
|
||||
$pkgRequires{$pkg} = \@requires;
|
||||
$pkgNativeRequires{$pkg} = \@nativeRequires;
|
||||
|
||||
print "done\n";
|
||||
}
|
||||
@ -255,6 +259,20 @@ EOF
|
||||
foreach my $pkg (sort (keys %pkgURLs)) {
|
||||
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 @buildInputs;
|
||||
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 @arguments = @buildInputs;
|
||||
push @arguments, @nativeBuildInputs;
|
||||
unshift @arguments, "stdenv", "pkgconfig", "fetchurl";
|
||||
my $argumentsStr = join ", ", @arguments;
|
||||
|
||||
@ -290,7 +310,7 @@ foreach my $pkg (sort (keys %pkgURLs)) {
|
||||
sha256 = "$pkgHashes{$pkg}";
|
||||
};
|
||||
hardeningDisable = [ "bindnow" "relro" ];
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
nativeBuildInputs = [ pkgconfig $nativeBuildInputsStr];
|
||||
buildInputs = [ $buildInputsStr];$extraAttrsStr
|
||||
meta.platforms = stdenv.lib.platforms.unix;
|
||||
}) {};
|
||||
|
@ -1,8 +1,8 @@
|
||||
{ abiCompat ? null,
|
||||
stdenv, makeWrapper, lib, fetchurl, fetchpatch,
|
||||
stdenv, makeWrapper, lib, fetchurl, fetchpatch, buildPackages,
|
||||
|
||||
automake, autoconf, libtool, intltool, mtdev, libevdev, libinput,
|
||||
python, freetype, tradcpp, fontconfig,
|
||||
freetype, tradcpp, fontconfig,
|
||||
libGL, spice-protocol, zlib, libGLU, dbus, libunwind, libdrm,
|
||||
mesa_noglu, udev, bootstrap_cmds, bison, flex, clangStdenv, autoreconfHook,
|
||||
mcpp, epoxy, openssl, pkgconfig, llvm_6,
|
||||
@ -85,19 +85,15 @@ self: super:
|
||||
});
|
||||
|
||||
libxcb = super.libxcb.overrideAttrs (attrs: {
|
||||
nativeBuildInputs = attrs.nativeBuildInputs ++ [ python ];
|
||||
configureFlags = [ "--enable-xkb" "--enable-xinput" ];
|
||||
outputs = [ "out" "dev" "man" "doc" ];
|
||||
});
|
||||
|
||||
xcbproto = super.xcbproto.overrideAttrs (attrs: {
|
||||
nativeBuildInputs = attrs.nativeBuildInputs ++ [ python ];
|
||||
});
|
||||
|
||||
libX11 = super.libX11.overrideAttrs (attrs: {
|
||||
outputs = [ "out" "dev" "man" ];
|
||||
configureFlags = attrs.configureFlags or []
|
||||
++ malloc0ReturnsNullCrossFlag;
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||
preConfigure = ''
|
||||
sed 's,^as_dummy.*,as_dummy="\$PATH",' -i configure
|
||||
'';
|
||||
@ -249,6 +245,8 @@ self: super:
|
||||
|
||||
libXv = super.libXv.overrideAttrs (attrs: {
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
configureFlags = attrs.configureFlags or []
|
||||
++ malloc0ReturnsNullCrossFlag;
|
||||
});
|
||||
|
||||
libXvMC = super.libXvMC.overrideAttrs (attrs: {
|
||||
|
@ -26,6 +26,8 @@ stdenv.mkDerivation {
|
||||
sed -e '/INSTALLED_CONFIGURATION_FILE/d' \
|
||||
-e 's|/lib/sendmail|$(TMPDIR)/sendmail|' \
|
||||
-i Makefile
|
||||
substituteInPlace Makefile \
|
||||
--replace '$(INSTALL) -s' '$(INSTALL) -s --strip-program $(STRIP)'
|
||||
'';
|
||||
|
||||
installFlags = "etcdir=$(out)/etc";
|
||||
|
@ -13969,7 +13969,6 @@ with pkgs;
|
||||
inherit (darwin.apple_sdk.frameworks) ApplicationServices Carbon Cocoa;
|
||||
inherit (darwin.apple_sdk.libs) Xplugin;
|
||||
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;
|
||||
libdrm = if stdenv.isLinux then libdrm else null;
|
||||
abiCompat = config.xorg.abiCompat # `config` because we have no `xorg.override`
|
||||
|
@ -596,7 +596,7 @@ let
|
||||
};
|
||||
|
||||
patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace src/makefile --replace gcc cc \
|
||||
substituteInPlace src/makefile \
|
||||
--replace 10.3 10.5
|
||||
'';
|
||||
|
||||
@ -604,6 +604,8 @@ let
|
||||
makeFlagsArray=(
|
||||
LUAV=${lua.luaversion}
|
||||
PLAT=${platformString}
|
||||
CC=''${CC}
|
||||
LD=''${CC}
|
||||
prefix=$out
|
||||
);
|
||||
'';
|
||||
|
Loading…
Reference in New Issue
Block a user