commit:     73ae1aa406e513c68881ce1c3c1036c76964b0ad
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 19 02:24:53 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Mar 19 02:26:54 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73ae1aa4

dev-libs/libtomcrypt: fix build with slibtool

Closes: https://bugs.gentoo.org/777084
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/libtomcrypt-1.18.2-slibtool.patch        | 72 ++++++++++++++++++++++
 dev-libs/libtomcrypt/libtomcrypt-1.18.2-r2.ebuild  |  4 ++
 2 files changed, 76 insertions(+)

diff --git a/dev-libs/libtomcrypt/files/libtomcrypt-1.18.2-slibtool.patch 
b/dev-libs/libtomcrypt/files/libtomcrypt-1.18.2-slibtool.patch
new file mode 100644
index 00000000000..5c7bcda502c
--- /dev/null
+++ b/dev-libs/libtomcrypt/files/libtomcrypt-1.18.2-slibtool.patch
@@ -0,0 +1,72 @@
+https://github.com/libtom/libtomcrypt/pull/433
+https://bugs.gentoo.org/777084
+
+From ccc18b9eda52c31cc70a3e46eb33b87b3c076d65 Mon Sep 17 00:00:00 2001
+From: orbea <or...@fredslev.dk>
+Date: Mon, 13 Aug 2018 19:20:37 -0700
+Subject: [PATCH] makefile.shared: Support rlibtool.
+
+When building libtomcrypt with rlibtool instead of libtool it will fail
+when rlibtool fails to parse the generated libtool which does not exist.
+
+Since rlibtool should be the default choice for most slibtool users in
+the future this patch will use slibtool-shared instead which will
+correctly build the shared library.
+
+This could also help build the shared library on additional targets and
+hosts where the stock libtool does not have shared libraries enabled.
+---
+ makefile.shared | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/makefile.shared b/makefile.shared
+index 98ec2b501..c72f2ac8d 100644
+--- a/makefile.shared
++++ b/makefile.shared
+@@ -16,19 +16,24 @@
+ 
+ PLATFORM := $(shell uname | sed -e 's/_.*//')
+ 
++ifeq ($(LIBTOOL),rlibtool)
++  TGTLIBTOOL:=slibtool-shared
++endif
++
+ ifndef LIBTOOL
+   ifeq ($(PLATFORM), Darwin)
+     LIBTOOL:=glibtool
+   else
+     LIBTOOL:=libtool
+   endif
++  TGTLIBTOOL=$(LIBTOOL)
+ endif
+ ifeq ($(PLATFORM), CYGWIN)
+   NO_UNDEFINED:=-no-undefined
+ endif
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC)
+-INSTALL_CMD = $(LIBTOOL) --mode=install install
+-UNINSTALL_CMD = $(LIBTOOL) --mode=uninstall rm
++LTCOMPILE = $(TGTLIBTOOL) --mode=compile --tag=CC $(CC)
++INSTALL_CMD = $(TGTLIBTOOL) --mode=install install
++UNINSTALL_CMD = $(TGTLIBTOOL) --mode=uninstall rm
+ 
+ #Output filenames for various targets.
+ ifndef LIBNAME
+@@ -49,15 +54,15 @@ src/ciphers/aes/aes_enc.o: src/ciphers/aes/aes.c 
src/ciphers/aes/aes_tab.c
+ LOBJECTS = $(OBJECTS:.o=.lo)
+ 
+ $(LIBNAME): $(OBJECTS)
+-      $(LIBTOOL) --mode=link --tag=CC $(CC) $(LTC_LDFLAGS) $(LOBJECTS) 
$(EXTRALIBS) -o $@ -rpath $(LIBPATH) -version-info $(VERSION_LT) $(NO_UNDEFINED)
++      $(TGTLIBTOOL) --mode=link --tag=CC $(CC) $(LTC_LDFLAGS) $(LOBJECTS) 
$(EXTRALIBS) -o $@ -rpath $(LIBPATH) -version-info $(VERSION_LT) $(NO_UNDEFINED)
+ 
+ test: $(call print-help,test,Builds the library and the 'test' application to 
run all self-tests) $(LIBNAME) $(TOBJECTS)
+-      $(LIBTOOL) --mode=link --tag=CC $(CC) $(LTC_LDFLAGS) -o $(TEST) 
$(TOBJECTS) $(LIBNAME) $(EXTRALIBS)
++      $(TGTLIBTOOL) --mode=link --tag=CC $(CC) $(LTC_LDFLAGS) -o $(TEST) 
$(TOBJECTS) $(LIBNAME) $(EXTRALIBS)
+ 
+ # build the demos from a template
+ define DEMO_template
+ $(1): $(call print-help,$(1),Builds the library and the '$(1)' demo) 
demos/$(1).o $$(LIBNAME)
+-      $$(LIBTOOL) --mode=link --tag=CC $$(CC) $$(LTC_LDFLAGS) $$^ 
$$(EXTRALIBS) -o $(1)
++      $$(TGTLIBTOOL) --mode=link --tag=CC $$(CC) $$(LTC_LDFLAGS) $$^ 
$$(EXTRALIBS) -o $(1)
+ endef
+ 
+ $(foreach demo, $(strip $(DEMOS)), $(eval $(call DEMO_template,$(demo))))

diff --git a/dev-libs/libtomcrypt/libtomcrypt-1.18.2-r2.ebuild 
b/dev-libs/libtomcrypt/libtomcrypt-1.18.2-r2.ebuild
index 134002447d9..27156ce371c 100644
--- a/dev-libs/libtomcrypt/libtomcrypt-1.18.2-r2.ebuild
+++ b/dev-libs/libtomcrypt/libtomcrypt-1.18.2-r2.ebuild
@@ -31,6 +31,10 @@ DEPEND="
 "
 RDEPEND="${DEPEND}"
 
+PATCHES=(
+       "${FILESDIR}"/${P}-slibtool.patch
+)
+
 mymake() {
        # Standard boilerplate
        # Upstream use homebrewed makefiles

Reply via email to