summaryrefslogtreecommitdiff
path: root/sys-apps/nix/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-09-08 01:07:24 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-09-08 01:07:24 +0100
commite3cf2c86fca1750343c1885311f857f185ee4f2d (patch)
treed9d1fbc20509d4c90f57fb2d9e1459bc8034c831 /sys-apps/nix/files
parentf1af93971b7490792d8541bc790e0d8c6d787059 (diff)
gentoo resync : 08.09.2019
Diffstat (limited to 'sys-apps/nix/files')
-rw-r--r--sys-apps/nix/files/nix-2.3-libpaths.patch48
1 files changed, 48 insertions, 0 deletions
diff --git a/sys-apps/nix/files/nix-2.3-libpaths.patch b/sys-apps/nix/files/nix-2.3-libpaths.patch
new file mode 100644
index 000000000000..42931e7e8d5f
--- /dev/null
+++ b/sys-apps/nix/files/nix-2.3-libpaths.patch
@@ -0,0 +1,48 @@
+Workaround -L path order by passing local library paths before
+systemwide paths to avoid pulling libnixstore.so from system
+instead of locally-built library.
+
+The patch is not perfect because it passes LDFLAGS after local
+libraries but it makes nix link correctly.
+
+Bug: https://github.com/NixOS/nix/issues/3087
+--- a/mk/libraries.mk
++++ b/mk/libraries.mk
+@@ -91,7 +91,7 @@ define build-library
+ $(1)_PATH := $$(_d)/$$($(1)_NAME).$(SO_EXT)
+
+ $$($(1)_PATH): $$($(1)_OBJS) $$(_libs) | $$(_d)/
+- $$(trace-ld) $(CXX) -o $$(abspath $$@) -shared $$(LDFLAGS) $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS) $$($(1)_LDFLAGS_PROPAGATED) $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE)) $$($(1)_LDFLAGS_UNINSTALLED)
++ $$(trace-ld) $(CXX) -o $$(abspath $$@) -shared $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE)) $$($(1)_LDFLAGS_UNINSTALLED) $$(LDFLAGS) $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS) $$($(1)_LDFLAGS_PROPAGATED)
+
+ ifneq ($(OS), Darwin)
+ $(1)_LDFLAGS_USE += -Wl,-rpath,$$(abspath $$(_d))
+@@ -105,7 +105,7 @@ define build-library
+ $$(eval $$(call create-dir, $$($(1)_INSTALL_DIR)))
+
+ $$($(1)_INSTALL_PATH): $$($(1)_OBJS) $$(_libs_final) | $(DESTDIR)$$($(1)_INSTALL_DIR)/
+- $$(trace-ld) $(CXX) -o $$@ -shared $$(LDFLAGS) $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS) $$($(1)_LDFLAGS_PROPAGATED) $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE_INSTALLED))
++ $$(trace-ld) $(CXX) -o $$@ -shared $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE_INSTALLED)) $$(LDFLAGS) $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS) $$($(1)_LDFLAGS_PROPAGATED)
+
+ $(1)_LDFLAGS_USE_INSTALLED += -L$$(DESTDIR)$$($(1)_INSTALL_DIR) -l$$(patsubst lib%,%,$$(strip $$($(1)_NAME)))
+ ifneq ($(OS), Darwin)
+--- a/mk/programs.mk
++++ b/mk/programs.mk
+@@ -32,7 +32,7 @@ define build-program
+ $$(eval $$(call create-dir, $$(_d)))
+
+ $$($(1)_PATH): $$($(1)_OBJS) $$(_libs) | $$(_d)/
+- $$(trace-ld) $(CXX) -o $$@ $$(LDFLAGS) $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS) $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE))
++ $$(trace-ld) $(CXX) -o $$@ $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE)) $$(LDFLAGS) $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS)
+
+ $(1)_INSTALL_DIR ?= $$(bindir)
+ $(1)_INSTALL_PATH := $$($(1)_INSTALL_DIR)/$(1)
+@@ -46,7 +46,7 @@ define build-program
+ _libs_final := $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_INSTALL_PATH))
+
+ $(DESTDIR)$$($(1)_INSTALL_PATH): $$($(1)_OBJS) $$(_libs_final) | $(DESTDIR)$$($(1)_INSTALL_DIR)/
+- $$(trace-ld) $(CXX) -o $$@ $$(LDFLAGS) $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS) $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE_INSTALLED))
++ $$(trace-ld) $(CXX) -o $$@ $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE_INSTALLED)) $$(LDFLAGS) $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS)
+
+ else
+