From 772afa03bfc62f930552623aa62d7fe1fca78e5a Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sun, 27 Dec 2020 19:10:49 +0100 Subject: [PATCH] ncurses5: build from ncurses6 sources It's possible to build ncurses 6 using the ncurses 5 ABI. This allows to get the old ghc binary up and running. --- sys-libs/ncurses/ncurses-5.9.recipe | 206 ------------------ sys-libs/ncurses/patches/ncurses-5.9.patchset | 141 ------------ sys-libs/ncurses5/ncurses5-6.2.recipe | 122 +++++++++++ .../ncurses5/patches/ncurses-6.2.patchset | 89 ++++++++ 4 files changed, 211 insertions(+), 347 deletions(-) delete mode 100644 sys-libs/ncurses/ncurses-5.9.recipe delete mode 100644 sys-libs/ncurses/patches/ncurses-5.9.patchset create mode 100644 sys-libs/ncurses5/ncurses5-6.2.recipe create mode 100644 sys-libs/ncurses5/patches/ncurses-6.2.patchset diff --git a/sys-libs/ncurses/ncurses-5.9.recipe b/sys-libs/ncurses/ncurses-5.9.recipe deleted file mode 100644 index 073335e93..000000000 --- a/sys-libs/ncurses/ncurses-5.9.recipe +++ /dev/null @@ -1,206 +0,0 @@ -SUMMARY="New curses library" -DESCRIPTION="The Ncurses (new curses) library is a free software emulation \ -of curses in System V Release 4.0, and more. It uses Terminfo format, \ -supports pads and color and multiple highlights and forms characters and \ -function-key mapping, and has all the other SVr4-curses enhancements over \ -BSD Curses. - -The Ncurses code was developed under GNU/Linux. It has been in use for some \ -time with OpenBSD as the system curses library, and on FreeBSD and NetBSD as \ -an external package. It should port easily to any ANSI/POSIX-conforming UNIX. \ -It has even been ported to OS/2 Warp! - -The distribution includes the library and support utilities, including a \ -terminfo compiler tic, a decompiler infocmp, clear, tput, tset, and a termcap \ -conversion tool captoinfo. Full manual pages are provided for the library and \ -tools." -HOMEPAGE="http://www.gnu.org/software/ncurses/ncurses.html" -COPYRIGHT="1998-2011 Free Software Foundation, Inc." -LICENSE="MIT" -REVISION="13" -SOURCE_URI="http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz" -CHECKSUM_SHA256="9046298fb440324c9d4135ecea7879ffed8546dd1b58e59430ea07a4633f563b" -PATCHES="ncurses-5.9.patchset" - -# Do not re-activate this package unless it is absolutely necessary. By default, -# haikuporter picks the lowest possible version of a package to satisfy a depen- -# dency, so this gets pulled in before ncurses6. -ARCHITECTURES="?x86_gcc2 ?x86 ?x86_64 ?arm" -SECONDARY_ARCHITECTURES="?x86_gcc2 ?x86" - -PROVIDES=" - ncurses$secondaryArchSuffix = $portVersion compat >= 5 - lib:libform$secondaryArchSuffix = $portVersion compat >= 5 - lib:libformw$secondaryArchSuffix = $portVersion compat >= 5 - lib:libmenu$secondaryArchSuffix = $portVersion compat >= 5 - lib:libmenuw$secondaryArchSuffix = $portVersion compat >= 5 - lib:libncurses$secondaryArchSuffix = $portVersion compat >= 5 - lib:libncursesw$secondaryArchSuffix = $portVersion compat >= 5 - lib:libncurses++$secondaryArchSuffix = $portVersion compat >= 5 - lib:libncurses++w$secondaryArchSuffix = $portVersion compat >= 5 - lib:libpanel$secondaryArchSuffix = $portVersion compat >= 5 - lib:libpanelw$secondaryArchSuffix = $portVersion compat >= 5 - " -if [ -z "$secondaryArchSuffix" ]; then - PROVIDES="$PROVIDES - cmd:captoinfo = $portVersion compat >= 5 - cmd:clear = $portVersion compat >= 5 - cmd:infocmp = $portVersion compat >= 5 - cmd:infotocap = $portVersion compat >= 5 - cmd:reset = $portVersion compat >= 5 - cmd:tabs = $portVersion compat >= 5 - cmd:tic = $portVersion compat >= 5 - cmd:toe = $portVersion compat >= 5 - cmd:tput = $portVersion compat >= 5 - cmd:tset = $portVersion compat >= 5 - " -fi -REQUIRES=" - haiku$secondaryArchSuffix - " -if [ -n "$secondaryArchSuffix" ]; then - REQUIRES="$REQUIRES - ncurses == $portVersion base - " -fi - -PROVIDES_devel=" - ncurses${secondaryArchSuffix}_devel = $portVersion compat >= 5 - cmd:ncurses5_config${secondaryArchSuffix} = $portVersion compat >= 5 - cmd:ncursesw5_config${secondaryArchSuffix} = $portVersion compat >= 5 - devel:libform${secondaryArchSuffix} = $portVersion compat >= 5 - devel:libformw${secondaryArchSuffix} = $portVersion compat >= 5 - devel:libmenu${secondaryArchSuffix} = $portVersion compat >= 5 - devel:libmenuw${secondaryArchSuffix} = $portVersion compat >= 5 - devel:libncurses${secondaryArchSuffix} = $portVersion compat >= 5 - devel:libncursesw${secondaryArchSuffix} = $portVersion compat >= 5 - devel:libncurses++${secondaryArchSuffix} = $portVersion compat >= 5 - devel:libncurses++w${secondaryArchSuffix} = $portVersion compat >= 5 - devel:libpanel${secondaryArchSuffix} = $portVersion compat >= 5 - devel:libpanelw${secondaryArchSuffix} = $portVersion compat >= 5 - " -REQUIRES_devel=" - ncurses${secondaryArchSuffix} == $portVersion base - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - " -BUILD_PREREQUIRES=" - cmd:gcc$secondaryArchSuffix - cmd:grep - cmd:ld$secondaryArchSuffix - cmd:libtool - cmd:make - cmd:sed - " - -doBuild() -{ - if [ $# -lt 1 ]; then - echo >&2 "Usage: doBuild [ ... ]" - exit 1 - fi - - targetDir=$(pwd)/$1 - shift 1 - - # Parse additional arguments. "--libs-only" means we only want the - # libraries, nothing else. "--without-progs" means no programs and no - # terminfo DB (requires tic). - local noData - local libsOnly - local configureArgs - local arg - for arg in $@; do - case "$arg" in - --libs-only) - noData=1 - libsOnly=1 - arg="--without-progs" - ;; - --without-progs) - noData=1 - ;; - esac - configureArgs="$configureArgs $arg" - done - - rm -rf $targetDir - mkdir $targetDir - - runConfigure \ - --omit-dirs "dataRootDir docDir" ./configure \ - --with-libtool \ - --enable-termcap \ - --enable-hard-tabs \ - $configureArgs - make $jobArgs - - if [ -z "$noData" ]; then - # We need LIBRARY_PATH to include the library installation directory, - # since the installation process for the terminfo database will run tic - # and the built-in rpath doesn't consider the DESTDIR we're using. - LIBRARY_PATH="$targetDir/$prefix/lib:$LIBRARY_PATH" \ - make install DESTDIR=$targetDir - else - make install.libs DESTDIR=$targetDir - if [ -z "$libsOnly" ]; then - make install.includes DESTDIR=$targetDir - make install.man DESTDIR=$targetDir - fi - fi - - # clean up for the next build - make clean -} - -BUILD() -{ - # Unfortunately building only works in the source directory. So we build - # two times -- once without and once with wide-char support -- installing in - # temporary directories from which we copy to the actual installation - # directory in INSTALL(). - - # For the secondary architecture we don't want the programs nor the - # terminfo DB. The main package will depend on the primary package which - # provides all this. - local withoutProgramArgs - if [ -n "$secondaryArchSuffix" ]; then - withoutProgramArgs="--without-progs" - fi - - doBuild build-nowidec $withoutProgramArgs - doBuild build-widec --enable-widec --libs-only -} - -INSTALL() -{ - cp -ra build-nowidec/$prefix/. $prefix - cp -ra build-widec/$prefix/. $prefix - - # remove libtool files - rm $libDir/lib*.la - - # prepare develop/lib - prepareInstalledDevelLibs \ - libform libmenu libncurses libncurses++ libpanel \ - libformw libmenuw libncursesw libncurses++w libpanelw - - # fix ncurses[w]5-config - fixDevelopLibDirReferences $binDir/ncurses5-config $binDir/ncursesw5-config - - # devel package - packageEntries devel \ - $binDir/ncurses5-config \ - $binDir/ncursesw5-config \ - $developDir \ - $manDir/man3 - - # For the secondary architecture package clean up stuff we don't need, since - # we make it depend on the primary architecture package. - if [ -n "$secondaryArchSuffix" ]; then - rm -rf $binDir - rm -rf $documentationDir - fi -} diff --git a/sys-libs/ncurses/patches/ncurses-5.9.patchset b/sys-libs/ncurses/patches/ncurses-5.9.patchset deleted file mode 100644 index 5aa1b00c5..000000000 --- a/sys-libs/ncurses/patches/ncurses-5.9.patchset +++ /dev/null @@ -1,141 +0,0 @@ -From 37e997f3fcf44261e3af16289f7412f63c7060d8 Mon Sep 17 00:00:00 2001 -From: Ingo Weinhold -Date: Mon, 8 Jul 2013 15:51:09 +0200 -Subject: progs/Makefile.in: make sure the right programs are installed - -The Makefile installed the libtool wrapper scripts which are only meant -to be used for the build. - -diff --git a/progs/Makefile.in b/progs/Makefile.in -index bdb8a0f..f3170f1 100644 ---- a/progs/Makefile.in -+++ b/progs/Makefile.in -@@ -188,19 +188,19 @@ transform.h : - echo "#endif /* __TRANSFORM_H */" >>$@ - - install.progs: $(AUTO_SRC) $(PROGS) $(DESTDIR)$(bindir) --@MAKE_TERMINFO@ $(LIBTOOL_INSTALL) $(INSTALL_PROG) tic$x $(DESTDIR)$(bindir)/$(actual_tic) --@MAKE_TERMINFO@ $(LIBTOOL_INSTALL) $(INSTALL_PROG) toe$x $(DESTDIR)$(bindir)/$(actual_toe) -+@MAKE_TERMINFO@ $(LIBTOOL_INSTALL) $(INSTALL_PROG) .libs/tic$x $(DESTDIR)$(bindir)/$(actual_tic) -+@MAKE_TERMINFO@ $(LIBTOOL_INSTALL) $(INSTALL_PROG) .libs/toe$x $(DESTDIR)$(bindir)/$(actual_toe) - @MAKE_TERMINFO@ @echo "linking $(actual_infotocap) to $(actual_tic)" - @MAKE_TERMINFO@ -@rm -f $(DESTDIR)$(bindir)/$(actual_infotocap) - @MAKE_TERMINFO@ (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_infotocap)) - @MAKE_TERMINFO@ @echo "linking $(actual_captoinfo) to $(actual_tic)" - @MAKE_TERMINFO@ -@rm -f $(DESTDIR)$(bindir)/$(actual_captoinfo) - @MAKE_TERMINFO@ (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_captoinfo)) -- $(LIBTOOL_INSTALL) $(INSTALL_PROG) infocmp$x $(DESTDIR)$(bindir)/$(actual_infocmp) -- $(LIBTOOL_INSTALL) $(INSTALL_PROG) clear$x $(DESTDIR)$(bindir)/$(actual_clear) -- $(LIBTOOL_INSTALL) $(INSTALL_PROG) tabs$x $(DESTDIR)$(bindir)/$(actual_tabs) -- $(LIBTOOL_INSTALL) $(INSTALL_PROG) tput$x $(DESTDIR)$(bindir)/$(actual_tput) -- $(LIBTOOL_INSTALL) $(INSTALL_PROG) tset$x $(DESTDIR)$(bindir)/$(actual_tset) -+ $(LIBTOOL_INSTALL) $(INSTALL_PROG) .libs/infocmp$x $(DESTDIR)$(bindir)/$(actual_infocmp) -+ $(LIBTOOL_INSTALL) $(INSTALL_PROG) .libs/clear$x $(DESTDIR)$(bindir)/$(actual_clear) -+ $(LIBTOOL_INSTALL) $(INSTALL_PROG) .libs/tabs$x $(DESTDIR)$(bindir)/$(actual_tabs) -+ $(LIBTOOL_INSTALL) $(INSTALL_PROG) .libs/tput$x $(DESTDIR)$(bindir)/$(actual_tput) -+ $(LIBTOOL_INSTALL) $(INSTALL_PROG) .libs/tset$x $(DESTDIR)$(bindir)/$(actual_tset) - @echo "linking $(actual_reset) to $(actual_tset)" - -@rm -f $(DESTDIR)$(bindir)/$(actual_reset) - (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tset) $(actual_reset)) --- -2.16.4 - - -From da0fc621f822b1a96893382c96671a6107d4c8fc Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sat, 11 Aug 2018 15:25:13 +0200 -Subject: applying patch ncurses-5.9-gcc-5.patch - - -diff --git a/ncurses/base/MKlib_gen.sh b/ncurses/base/MKlib_gen.sh -index 66ae295..b92f22b 100755 ---- a/ncurses/base/MKlib_gen.sh -+++ b/ncurses/base/MKlib_gen.sh -@@ -437,11 +437,22 @@ sed -n -f $ED1 \ - -e 's/gen_$//' \ - -e 's/ / /g' >>$TMP - -+cat >$ED1 < $ED2 -+cat $ED2 >$TMP -+ - $preprocessor $TMP 2>/dev/null \ --| sed \ -- -e 's/ / /g' \ -- -e 's/^ //' \ -- -e 's/_Bool/NCURSES_BOOL/g' \ -+| sed -f $ED1 \ - | $AWK -f $AW2 \ - | sed -f $ED3 \ - | sed \ --- -2.16.4 - - -From f3bd12f6cbc6838c00758b2a0d2d57223cc2d429 Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sat, 11 Aug 2018 16:23:27 +0200 -Subject: gcc7 build fix. - - -diff --git a/c++/cursesf.h b/c++/cursesf.h -index 70a30c3..21eae51 100644 ---- a/c++/cursesf.h -+++ b/c++/cursesf.h -@@ -381,7 +381,7 @@ protected: - uptr->m_user = user; - } - -- inline void *get_user() { -+ inline void *get_user() const { - UserHook* uptr = reinterpret_cast(::form_userptr (form)); - assert (uptr != 0 && uptr->m_back==this && uptr->m_owner==form); - return uptr->m_user; -diff --git a/c++/cursesm.h b/c++/cursesm.h -index d9c2273..f2d9466 100644 ---- a/c++/cursesm.h -+++ b/c++/cursesm.h -@@ -242,7 +242,7 @@ protected: - uptr->m_user = user; - } - -- inline void *get_user() { -+ inline void *get_user() const { - UserHook* uptr = STATIC_CAST(UserHook*)(::menu_userptr (menu)); - assert (uptr != 0 && uptr->m_back==this && uptr->m_owner==menu); - return uptr->m_user; -diff --git a/c++/cursesp.h b/c++/cursesp.h -index 9b63d6d..ca8f283 100644 ---- a/c++/cursesp.h -+++ b/c++/cursesp.h -@@ -58,7 +58,7 @@ private: - const PANEL* m_owner; // the panel itself - } UserHook; - -- inline UserHook *UserPointer() -+ inline UserHook *UserPointer() const - { - UserHook* uptr = reinterpret_cast( - const_cast(::panel_userptr (p))); -@@ -77,7 +77,7 @@ protected: - } - // Set the user pointer of the panel. - -- void *get_user() -+ void *get_user() const - { - UserHook* uptr = UserPointer(); - void *result = 0; --- -2.16.4 - diff --git a/sys-libs/ncurses5/ncurses5-6.2.recipe b/sys-libs/ncurses5/ncurses5-6.2.recipe new file mode 100644 index 000000000..7faf95972 --- /dev/null +++ b/sys-libs/ncurses5/ncurses5-6.2.recipe @@ -0,0 +1,122 @@ +SUMMARY="New curses library" +DESCRIPTION="The Ncurses (new curses) library is a free software emulation of \ +curses in System V Release 4.0, and more. It uses Terminfo format, supports \ +pads and color and multiple highlights and forms characters and function-key \ +mapping, and has all the other SYSV-curses enhancements over BSD Curses. +The ncurses code was developed under GNU/Linux. It has been in use for some \ +time with OpenBSD as the system curses library, and on FreeBSD and NetBSD as \ +an external package. It should port easily to any ANSI/POSIX-conforming UNIX. \ +It has even been ported to OS/2 Warp! +This packages provides ncurses 5 ABI ocmpatibility and should not be used for \ +new software." +HOMEPAGE="https://www.gnu.org/software/ncurses/ncurses.html" +COPYRIGHT="1998-2018 Free Software Foundation, Inc." +LICENSE="MIT" +REVISION="1" +SOURCE_URI="https://ftpmirror.gnu.org/ncurses/ncurses-$portVersion.tar.gz + https://ftp.gnu.org/gnu/ncurses/ncurses-$portVersion.tar.gz" +CHECKSUM_SHA256="30306e0c76e0f9f1f0de987cf1c82a5c21e1ce6568b9227f7da5b71cbea86c9d" +SOURCE_DIR="ncurses-$portVersion" +PATCHES="ncurses-$portVersion.patchset" + +ARCHITECTURES="" +SECONDARY_ARCHITECTURES="x86" + +libVersion="5.9.0" +libVersionCompat="$libVersion compat >= 5" + +PROVIDES=" + ncurses5$secondaryArchSuffix = $portVersion + lib:libformw$secondaryArchSuffix = $libVersionCompat + lib:libmenuw$secondaryArchSuffix = $libVersionCompat + lib:libncursesw$secondaryArchSuffix = $libVersionCompat + lib:libncurses++w$secondaryArchSuffix = $libVersionCompat + lib:libpanelw$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + " + +BUILD_REQUIRES=" + " +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel + cmd:gcc$secondaryArchSuffix + cmd:grep + cmd:ld$secondaryArchSuffix + cmd:libtool$secondaryArchSuffix + cmd:make + cmd:sed + " + +doBuild() +{ + if [ $# -lt 1 ]; then + echo >&2 "Usage: doBuild [ ... ]" + exit 1 + fi + + targetDir=$(pwd)/$1 + shift 1 + + # Parse additional arguments. "--libs-only" means we only want the + # libraries, nothing else. "--without-progs" means no programs and no + # terminfo DB (requires tic). + local noData + local libsOnly + local configureArgs + local arg + for arg in $@; do + case "$arg" in + --libs-only) + noData=1 + libsOnly=1 + arg="--without-progs" + ;; + --without-progs) + noData=1 + ;; + esac + configureArgs="$configureArgs $arg" + done + + runConfigure \ + --omit-dirs "dataRootDir docDir" ./configure \ + --with-libtool --with-abi-version=5 --with-rel-version=5.9 \ + --enable-termcap --without-tests \ + --enable-hard-tabs \ + --disable-pc-files \ + $configureArgs + make $jobArgs + + if [ -z "$noData" ]; then + # We need LIBRARY_PATH to include the library installation directory, + # since the installation process for the terminfo database will run tic + # and the built-in rpath doesn't consider the DESTDIR we're using. + LIBRARY_PATH="$targetDir/$prefix/lib:$LIBRARY_PATH" \ + make install DESTDIR=$targetDir + else + make install.libs DESTDIR=$targetDir + if [ -z "$libsOnly" ]; then + make install.includes DESTDIR=$targetDir + make install.man DESTDIR=$targetDir + fi + fi +} + +BUILD() +{ + doBuild build-widec --enable-widec --libs-only +} + +INSTALL() +{ + cp -ra build-widec/$prefix/. $prefix + + # prepare develop/lib + prepareInstalledDevelLibs \ + libformw libmenuw libncursesw libncurses++w libpanelw + + # library-only package, remove all other files + rm -r $binDir $developDir +} diff --git a/sys-libs/ncurses5/patches/ncurses-6.2.patchset b/sys-libs/ncurses5/patches/ncurses-6.2.patchset new file mode 100644 index 000000000..a36c08c4d --- /dev/null +++ b/sys-libs/ncurses5/patches/ncurses-6.2.patchset @@ -0,0 +1,89 @@ +From d8b36eeadc493fe6193016174997dffa126bc312 Mon Sep 17 00:00:00 2001 +From: Ingo Weinhold +Date: Mon, 8 Jul 2013 15:51:09 +0200 +Subject: progs/Makefile.in: make sure the right programs are installed + +The Makefile installed the libtool wrapper scripts which are only meant +to be used for the build. + +diff --git a/progs/Makefile.in b/progs/Makefile.in +index 79cbc99..b2aad36 100644 +--- a/progs/Makefile.in ++++ b/progs/Makefile.in +@@ -199,19 +199,19 @@ transform.h : + echo "#endif /* __TRANSFORM_H */" >>$@ + + install.progs: $(AUTO_SRC) $(PROGS) $(DESTDIR)$(bindir) +-@MAKE_TERMINFO@ $(LIBTOOL_INSTALL) $(INSTALL_PROG) tic$x $(DESTDIR)$(bindir)/$(actual_tic) +-@MAKE_TERMINFO@ $(LIBTOOL_INSTALL) $(INSTALL_PROG) toe$x $(DESTDIR)$(bindir)/$(actual_toe) ++@MAKE_TERMINFO@ $(LIBTOOL_INSTALL) $(INSTALL_PROG) .libs/tic$x $(DESTDIR)$(bindir)/$(actual_tic) ++@MAKE_TERMINFO@ $(LIBTOOL_INSTALL) $(INSTALL_PROG) .libs/toe$x $(DESTDIR)$(bindir)/$(actual_toe) + @MAKE_TERMINFO@ @echo "linking $(actual_infotocap) to $(actual_tic)" + @MAKE_TERMINFO@ -@rm -f $(DESTDIR)$(bindir)/$(actual_infotocap) + @MAKE_TERMINFO@ (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_infotocap)) + @MAKE_TERMINFO@ @echo "linking $(actual_captoinfo) to $(actual_tic)" + @MAKE_TERMINFO@ -@rm -f $(DESTDIR)$(bindir)/$(actual_captoinfo) + @MAKE_TERMINFO@ (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_captoinfo)) +- $(LIBTOOL_INSTALL) $(INSTALL_PROG) infocmp$x $(DESTDIR)$(bindir)/$(actual_infocmp) +- $(LIBTOOL_INSTALL) $(INSTALL_PROG) clear$x $(DESTDIR)$(bindir)/$(actual_clear) +- $(LIBTOOL_INSTALL) $(INSTALL_PROG) tabs$x $(DESTDIR)$(bindir)/$(actual_tabs) +- $(LIBTOOL_INSTALL) $(INSTALL_PROG) tput$x $(DESTDIR)$(bindir)/$(actual_tput) +- $(LIBTOOL_INSTALL) $(INSTALL_PROG) tset$x $(DESTDIR)$(bindir)/$(actual_tset) ++ $(LIBTOOL_INSTALL) $(INSTALL_PROG) .libs/infocmp$x $(DESTDIR)$(bindir)/$(actual_infocmp) ++ $(LIBTOOL_INSTALL) $(INSTALL_PROG) .libs/clear$x $(DESTDIR)$(bindir)/$(actual_clear) ++ $(LIBTOOL_INSTALL) $(INSTALL_PROG) .libs/tabs$x $(DESTDIR)$(bindir)/$(actual_tabs) ++ $(LIBTOOL_INSTALL) $(INSTALL_PROG) .libs/tput$x $(DESTDIR)$(bindir)/$(actual_tput) ++ $(LIBTOOL_INSTALL) $(INSTALL_PROG) .libs/tset$x $(DESTDIR)$(bindir)/$(actual_tset) + @echo "linking $(actual_reset) to $(actual_tset)" + -@rm -f $(DESTDIR)$(bindir)/$(actual_reset) + (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tset) $(actual_reset)) +-- +2.28.0 + + +From 67e19e268a2f5f200ec1a4e218e7a9299dc92841 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Sun, 27 Dec 2020 17:47:12 +0100 +Subject: Fix linking with libtool disabled + +Disabling libtool allows to set the ABI version for backwards +compatibility. + +diff --git a/aclocal.m4 b/aclocal.m4 +index c27cc36..2899f53 100644 +--- a/aclocal.m4 ++++ b/aclocal.m4 +@@ -6704,6 +6704,10 @@ CF_EOF + LDFLAGS="$LDFLAGS -Wl,-search_paths_first" + fi + ;; ++ (haiku*) ++ CF_SHARED_SONAME ++ MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]' ++ ;; + (hpux[[7-8]]*) + # HP-UX 8.07 ld lacks "+b" option used for libdir search-list + if test "$GCC" != yes; then +diff --git a/configure b/configure +index 06f344f..8713faf 100755 +--- a/configure ++++ b/configure +@@ -5899,6 +5899,15 @@ echo "${ECHO_T}$cf_cv_ldflags_search_paths_first" >&6 + LDFLAGS="$LDFLAGS -Wl,-search_paths_first" + fi + ;; ++ (haiku*) ++ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel ++ if test "$cf_cv_shlib_version" = rel; then ++ cf_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}' ++ else ++ cf_shared_soname='`basename $@`' ++ fi ++ MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $@' ++ ;; + (hpux[7-8]*) + # HP-UX 8.07 ld lacks "+b" option used for libdir search-list + if test "$GCC" != yes; then +-- +2.28.0 +