mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-20 04:19:00 +02:00
Merge pull request #300894 from wegank/gnat13-fix
gnat13: fix build on x86_64-darwin
This commit is contained in:
commit
d7d443c4ce
|
@ -41,6 +41,10 @@ stdenv.mkDerivation {
|
||||||
"LIBRARY_TYPE=relocatable"
|
"LIBRARY_TYPE=relocatable"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
env = lib.optionalAttrs stdenv.isDarwin {
|
||||||
|
NIX_LDFLAGS = "-headerpad_max_install_names";
|
||||||
|
};
|
||||||
|
|
||||||
# Fixes gprbuild being linked statically always. Based on the AUR's patch:
|
# Fixes gprbuild being linked statically always. Based on the AUR's patch:
|
||||||
# https://aur.archlinux.org/cgit/aur.git/plain/0001-Makefile-build-relocatable-instead-of-static-binary.patch?h=gprbuild&id=bac524c76cd59c68fb91ef4dfcbe427357b9f850
|
# https://aur.archlinux.org/cgit/aur.git/plain/0001-Makefile-build-relocatable-instead-of-static-binary.patch?h=gprbuild&id=bac524c76cd59c68fb91ef4dfcbe427357b9f850
|
||||||
patches = lib.optionals (!stdenv.hostPlatform.isStatic) [
|
patches = lib.optionals (!stdenv.hostPlatform.isStatic) [
|
||||||
|
|
|
@ -128,7 +128,10 @@ in
|
||||||
++ optional (atLeast12 && stdenv.isDarwin && langAda) ./ada-cctools-as-detection-configure.patch
|
++ optional (atLeast12 && stdenv.isDarwin && langAda) ./ada-cctools-as-detection-configure.patch
|
||||||
|
|
||||||
# Use absolute path in GNAT dylib install names on Darwin
|
# Use absolute path in GNAT dylib install names on Darwin
|
||||||
++ optional (atLeast12 && stdenv.isDarwin && langAda) ./gnat-darwin-dylib-install-name.patch
|
++ optionals (stdenv.isDarwin && langAda) ({
|
||||||
|
"13" = [ ./gnat-darwin-dylib-install-name-13.patch ];
|
||||||
|
"12" = [ ./gnat-darwin-dylib-install-name.patch ];
|
||||||
|
}.${majorVersion} or [])
|
||||||
|
|
||||||
# We only apply this patch when building a native toolchain for aarch64-darwin, as it breaks building
|
# We only apply this patch when building a native toolchain for aarch64-darwin, as it breaks building
|
||||||
# a foreign one: https://github.com/iains/gcc-12-branch/issues/18
|
# a foreign one: https://github.com/iains/gcc-12-branch/issues/18
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
--- a/gcc/ada/gcc-interface/Makefile.in
|
||||||
|
+++ b/gcc/ada/gcc-interface/Makefile.in
|
||||||
|
@@ -788,13 +788,13 @@ gnatlib-shared-darwin:
|
||||||
|
-o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
|
||||||
|
$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
|
||||||
|
$(SO_OPTS) \
|
||||||
|
- -Wl,-install_name,@rpath/libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
|
||||||
|
+ -Wl,-install_name,$(ADA_RTL_DSO_DIR)/libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
|
||||||
|
$(MISCLIB)
|
||||||
|
cd $(RTSDIR); $(GCC_FOR_ADA_RTS) -dynamiclib $(PICFLAG_FOR_TARGET) \
|
||||||
|
-o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
|
||||||
|
$(GNATRTL_TASKING_OBJS) \
|
||||||
|
$(SO_OPTS) \
|
||||||
|
- -Wl,-install_name,@rpath/libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
|
||||||
|
+ -Wl,-install_name,$(ADA_RTL_DSO_DIR)/libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
|
||||||
|
$(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)
|
||||||
|
cd $(RTSDIR); $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
|
||||||
|
libgnat$(soext)
|
Loading…
Reference in a new issue