From 86d71028df503597b49aa9cb38fd6f55405c0146 Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Wed, 8 Jun 2022 00:39:32 +0200 Subject: Ports/readline: Build it as a shared library --- Ports/readline/package.sh | 10 +++++ ...yOS-support-to-the-shared-library-scripts.patch | 46 ++++++++++++++++++++++ Ports/readline/patches/ReadMe.md | 8 ++++ 3 files changed, 64 insertions(+) create mode 100644 Ports/readline/patches/0001-Add-SerenityOS-support-to-the-shared-library-scripts.patch create mode 100644 Ports/readline/patches/ReadMe.md diff --git a/Ports/readline/package.sh b/Ports/readline/package.sh index 9a971739dc..c5316d70ca 100755 --- a/Ports/readline/package.sh +++ b/Ports/readline/package.sh @@ -7,3 +7,13 @@ config_sub_paths=("support/config.sub") use_fresh_config_sub=true files="https://ftpmirror.gnu.org/gnu/readline/readline-${version}.tar.gz readline-${version}.tar.gz 7589a2381a8419e68654a47623ce7dfcb756815c8fee726b98f90bf668af7bc6" auth_type=sha256 +configopts=( + "--disable-static" + "--enable-shared" +) + +post_install() { + # readline specifies termcap as a dependency in its pkgconfig file, without checking if it exists. + # Remove it manually to keep other ports from discarding readline because termcap is supposedly missing. + sed -i -e '/^Requires.private:/s/termcap//' "${SERENITY_INSTALL_ROOT}/usr/local/lib/pkgconfig/readline.pc" +} diff --git a/Ports/readline/patches/0001-Add-SerenityOS-support-to-the-shared-library-scripts.patch b/Ports/readline/patches/0001-Add-SerenityOS-support-to-the-shared-library-scripts.patch new file mode 100644 index 0000000000..f6d3f7e875 --- /dev/null +++ b/Ports/readline/patches/0001-Add-SerenityOS-support-to-the-shared-library-scripts.patch @@ -0,0 +1,46 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Tim Schumacher +Date: Wed, 8 Jun 2022 00:30:22 +0200 +Subject: [PATCH] Add SerenityOS support to the shared library scripts + +This allows us to have properly named library symlinks. +--- + support/shlib-install | 4 ++-- + support/shobj-conf | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/support/shlib-install b/support/shlib-install +index 661355d..f15ec01 100755 +--- a/support/shlib-install ++++ b/support/shlib-install +@@ -71,7 +71,7 @@ fi + # Cygwin installs both a dll (which must go in $BINDIR) and an implicit + # link library (in $libdir) + case "$host_os" in +-hpux*|darwin*|macosx*|linux*|solaris2*) ++hpux*|darwin*|macosx*|linux*|solaris2*|serenity*) + if [ -z "$uninstall" ]; then + chmod 755 ${INSTALLDIR}/${LIBNAME} + fi ;; +@@ -118,7 +118,7 @@ INSTALL_LINK2='${echo} cd $INSTALLDIR && ${echo} ${LN} $LIBNAME $LINK2' + # Create symlinks to the installed library. This section is incomplete. + # + case "$host_os-$host_vendor" in +-*linux*|freebsd*|dragonfly*) ++*linux*|freebsd*|dragonfly*|serenity*) + # libname.so.M -> libname.so.M.N + ${echo} ${RM} ${INSTALLDIR}/$LINK2 + if [ -z "$uninstall" ]; then +diff --git a/support/shobj-conf b/support/shobj-conf +index 5a3f977..f6978ea 100644 +--- a/support/shobj-conf ++++ b/support/shobj-conf +@@ -123,7 +123,7 @@ sunos5*|solaris2*) + ;; + + # All versions of Linux (including Gentoo/FreeBSD) or the semi-mythical GNU Hurd. +-linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*|dragonfly*) ++linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*|dragonfly*|serenity*) + SHOBJ_CFLAGS=-fPIC + SHOBJ_LD='${CC}' + SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' diff --git a/Ports/readline/patches/ReadMe.md b/Ports/readline/patches/ReadMe.md new file mode 100644 index 0000000000..fbb555929f --- /dev/null +++ b/Ports/readline/patches/ReadMe.md @@ -0,0 +1,8 @@ +# Patches for readline on SerenityOS + +## `0001-Add-SerenityOS-support-to-the-shared-library-scripts.patch` + +Add SerenityOS support to the shared library scripts + +This allows us to have properly named library symlinks. + -- cgit v1.2.3