commit:     fc6fd10b22e18f1729a45a56ccd71fca410be662
Author:     Artemis Everfree <artemis <AT> artemis <DOT> sh>
AuthorDate: Thu Nov 14 01:50:32 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Nov 14 03:38:14 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc6fd10b

dev-lang/luajit: fix LJLIBD not relative to PREFIX

luajit contains a hardcoded path (LJLIBD) where it searches
for some lua libraries it installs. This patch was
previously defined relative to PREFIX. Upstream commit
ae4735f [1] changes them to be defined relative to DPREFIX,
which is in turn relative to DESTDIR. I believe this is a
bug, which I've reported upstream [2].

This commit patches the Makefile to define LJLIBD relative
to PREFIX again.

1: 
https://github.com/LuaJIT/LuaJIT/commit/ae4735f621d89d84758769b76432d2319dda9827
2: https://github.com/LuaJIT/LuaJIT/issues/1303
Closes: https://bugs.gentoo.org/943395
Closes: https://bugs.gentoo.org/943346
Signed-off-by: Artemis Everfree <artemis <AT> artemis.sh>
Closes: https://github.com/gentoo/gentoo/pull/39311
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../luajit-2.1.1727870382-fix-ljlibd-prefix.patch  | 25 ++++++++++++++++++++++
 ...0382.ebuild => luajit-2.1.1727870382-r1.ebuild} |  1 +
 dev-lang/luajit/luajit-2.1.9999999999.ebuild       |  1 +
 3 files changed, 27 insertions(+)

diff --git 
a/dev-lang/luajit/files/luajit-2.1.1727870382-fix-ljlibd-prefix.patch 
b/dev-lang/luajit/files/luajit-2.1.1727870382-fix-ljlibd-prefix.patch
new file mode 100644
index 000000000000..98ae276fcc9f
--- /dev/null
+++ b/dev-lang/luajit/files/luajit-2.1.1727870382-fix-ljlibd-prefix.patch
@@ -0,0 +1,25 @@
+# LJLIBD is traversed at runtime, should be relative to
+# PREFIX instead of DESTDIR/PREFIX
+#
+# https://github.com/LuaJIT/LuaJIT/issues/1303
+# https://bugs.gentoo.org/943395
+
+--- a/Makefile
++++ b/Makefile
+@@ -37,12 +37,13 @@
+ DPREFIX= $(DESTDIR)$(PREFIX)
+ INSTALL_BIN=   $(DPREFIX)/bin
+ INSTALL_LIB=   $(DPREFIX)/$(MULTILIB)
+-INSTALL_SHARE= $(DPREFIX)/share
++INSTALL_SHARE_LOCAL= $(PREFIX)/share
++INSTALL_SHARE= $(DESTDIR)$(INSTALL_SHARE_LOCAL)
+ INSTALL_DEFINC= $(DPREFIX)/include/luajit-$(MMVERSION)
+ INSTALL_INC=   $(INSTALL_DEFINC)
+ 
+-export INSTALL_LJLIBD= $(INSTALL_SHARE)/luajit-$(MMVERSION)
+-INSTALL_JITLIB= $(INSTALL_LJLIBD)/jit
++export INSTALL_LJLIBD= $(INSTALL_SHARE_LOCAL)/luajit-$(MMVERSION)
++INSTALL_JITLIB= $(DESTDIR)$(INSTALL_LJLIBD)/jit
+ INSTALL_LMODD= $(INSTALL_SHARE)/lua
+ INSTALL_LMOD= $(INSTALL_LMODD)/$(ABIVER)
+ INSTALL_CMODD= $(INSTALL_LIB)/lua

diff --git a/dev-lang/luajit/luajit-2.1.1727870382.ebuild 
b/dev-lang/luajit/luajit-2.1.1727870382-r1.ebuild
similarity index 97%
rename from dev-lang/luajit/luajit-2.1.1727870382.ebuild
rename to dev-lang/luajit/luajit-2.1.1727870382-r1.ebuild
index ba62499c0453..c3beab8c9c1a 100644
--- a/dev-lang/luajit/luajit-2.1.1727870382.ebuild
+++ b/dev-lang/luajit/luajit-2.1.1727870382-r1.ebuild
@@ -43,6 +43,7 @@ LICENSE="MIT"
 # this should probably be pkgmoved to 2.1 for sake of consistency.
 SLOT="2/${PV}"
 IUSE="lua52compat static-libs"
+PATCHES=( "${FILESDIR}/${PN}-2.1.1727870382-fix-ljlibd-prefix.patch" )
 
 _emake() {
        emake \

diff --git a/dev-lang/luajit/luajit-2.1.9999999999.ebuild 
b/dev-lang/luajit/luajit-2.1.9999999999.ebuild
index f8f7cfba19d2..a27f77162d26 100644
--- a/dev-lang/luajit/luajit-2.1.9999999999.ebuild
+++ b/dev-lang/luajit/luajit-2.1.9999999999.ebuild
@@ -43,6 +43,7 @@ LICENSE="MIT"
 # this should probably be pkgmoved to 2.1 for sake of consistency.
 SLOT="2/${PV}"
 IUSE="lua52compat static-libs"
+PATCHES=( "${FILESDIR}/${PN}-2.1.1727870382-fix-ljlibd-prefix.patch" )
 
 _emake() {
        emake \

Reply via email to