summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-libs/readline/files/readline-8.0-darwin-shlib-versioning.patch41
-rw-r--r--sys-libs/readline/readline-8.1.ebuild15
2 files changed, 53 insertions, 3 deletions
diff --git a/sys-libs/readline/files/readline-8.0-darwin-shlib-versioning.patch b/sys-libs/readline/files/readline-8.0-darwin-shlib-versioning.patch
new file mode 100644
index 00000000000..88128008771
--- /dev/null
+++ b/sys-libs/readline/files/readline-8.0-darwin-shlib-versioning.patch
@@ -0,0 +1,41 @@
+darwin: don't do multi-arch stuff, just build a normal shared library
+
+--- a/support/shobj-conf
++++ b/support/shobj-conf
+@@ -180,34 +180,8 @@
+ SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
+ SHLIB_LIBSUFF='dylib'
+
+- # unused at this time
+- SHLIB_SONAME='$(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF)'
+-
+- case "${host_os}" in
+- # Darwin versions 1, 5, 6, 7 correspond to Mac OS X 10.0, 10.1, 10.2,
+- # and 10.3, respectively.
+- darwin[1-7].*)
+- SHOBJ_STATUS=unsupported
+- SHOBJ_LDFLAGS='-dynamic'
+- SHLIB_XLDFLAGS='-arch_only `/usr/bin/arch` -install_name $(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF) -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -v'
+- ;;
+- # Darwin 8 == Mac OS X 10.4; Mac OS X 10.N == Darwin N+4
+- *)
+- case "${host_os}" in
+- darwin[89]*|darwin1[012]*)
+- SHOBJ_ARCHFLAGS='-arch_only `/usr/bin/arch`'
+- ;;
+- *) # Mac OS X 10.9 (Mavericks) and later
+- SHOBJ_ARCHFLAGS=
+- # for 32 and 64bit universal library
+- #SHOBJ_ARCHFLAGS='-arch i386 -arch x86_64'
+- #SHOBJ_CFLAGS=${SHOBJ_CFLAGS}' -arch i386 -arch x86_64'
+- ;;
+- esac
+- SHOBJ_LDFLAGS="-dynamiclib -dynamic -undefined dynamic_lookup ${SHOBJ_ARCHFLAGS}"
+- SHLIB_XLDFLAGS="-dynamiclib ${SHOBJ_ARCHFLAGS}"' -install_name $(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF) -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -v'
+- ;;
+- esac
++ SHOBJ_LDFLAGS='-dynamiclib -dynamic -undefined dynamic_lookup'
++ SHLIB_XLDFLAGS='-dynamiclib -install_name $(libdir)/`basename $@ $(SHLIB_MINOR)$(SHLIB_DOT)$(SHLIB_LIBSUFF)`$(SHLIB_DOT)$(SHLIB_LIBSUFF) -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR)'
+
+ SHLIB_LIBS='-lncurses' # see if -lcurses works on MacOS X 10.1
+ ;;
diff --git a/sys-libs/readline/readline-8.1.ebuild b/sys-libs/readline/readline-8.1.ebuild
index 025bd0395bd..1fbdc060022 100644
--- a/sys-libs/readline/readline-8.1.ebuild
+++ b/sys-libs/readline/readline-8.1.ebuild
@@ -42,7 +42,7 @@ esac
LICENSE="GPL-3"
SLOT="0/8" # subslot matches SONAME major
[[ "${PV}" == *_rc* ]] || \
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="static-libs +unicode utils"
RDEPEND=">=sys-libs/ncurses-5.9-r3:0=[static-libs?,unicode?,${MULTILIB_USEDEP}]"
@@ -58,6 +58,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-6.2-rlfe-tgoto.patch #385091
"${FILESDIR}"/${PN}-7.0-headers.patch
"${FILESDIR}"/${PN}-8.0-headers.patch
+ "${FILESDIR}"/${PN}-8.0-darwin-shlib-versioning.patch
)
# Needed because we don't want the patches being unpacked
@@ -168,9 +169,17 @@ multilib_src_install_all() {
pkg_preinst() {
# bug #29865
# Reappeared in #595324 with paludis so keeping this for now...
- preserve_old_lib /$(get_libdir)/lib{history,readline}.so.{4,5,6,7}
+ preserve_old_lib \
+ /$(get_libdir)/lib{history,readline}$(get_libname 4) \
+ /$(get_libdir)/lib{history,readline}$(get_libname 5) \
+ /$(get_libdir)/lib{history,readline}$(get_libname 6) \
+ /$(get_libdir)/lib{history,readline}$(get_libname 7)
}
pkg_postinst() {
- preserve_old_lib_notify /$(get_libdir)/lib{history,readline}.so.{4,5,6,7}
+ preserve_old_lib_notify \
+ /$(get_libdir)/lib{history,readline}$(get_libname 4) \
+ /$(get_libdir)/lib{history,readline}$(get_libname 5) \
+ /$(get_libdir)/lib{history,readline}$(get_libname 6) \
+ /$(get_libdir)/lib{history,readline}$(get_libname 7)
}