diff --git a/packages/binutils/bfd-dynamic_interpreter.patch b/packages/binutils-libs/bfd-dynamic_interpreter.patch similarity index 100% rename from packages/binutils/bfd-dynamic_interpreter.patch rename to packages/binutils-libs/bfd-dynamic_interpreter.patch diff --git a/packages/binutils-libs/binutils-bin.subpackage.sh b/packages/binutils-libs/binutils-bin.subpackage.sh new file mode 100644 index 0000000000..f014635c58 --- /dev/null +++ b/packages/binutils-libs/binutils-bin.subpackage.sh @@ -0,0 +1,16 @@ +TERMUX_SUBPKG_INCLUDE=" +bin/as +bin/elfedit +bin/gprof +bin/ld.bfd +libexec/binutils/ +share/info/as.info +share/info/binutils.info +share/info/gprof.info +share/info/ld.info +share/man/ +" +TERMUX_SUBPKG_DESCRIPTION="Collection of binary tools, the main ones being ld, the GNU linker, and as, the GNU assembler" +TERMUX_SUBPKG_DEPENDS="libc++" +TERMUX_SUBPKG_BREAKS="binutils (<< 2.39-3)" +TERMUX_SUBPKG_REPLACES="binutils (<< 2.39-3)" diff --git a/packages/binutils/binutils-cross.subpackage.sh b/packages/binutils-libs/binutils-cross.subpackage.sh similarity index 100% rename from packages/binutils/binutils-cross.subpackage.sh rename to packages/binutils-libs/binutils-cross.subpackage.sh diff --git a/packages/binutils/binutils-gold.subpackage.sh b/packages/binutils-libs/binutils-gold.subpackage.sh similarity index 100% rename from packages/binutils/binutils-gold.subpackage.sh rename to packages/binutils-libs/binutils-gold.subpackage.sh diff --git a/packages/binutils/binutils.patch b/packages/binutils-libs/binutils.patch similarity index 100% rename from packages/binutils/binutils.patch rename to packages/binutils-libs/binutils.patch diff --git a/packages/binutils-libs/binutils.subpackage.sh b/packages/binutils-libs/binutils.subpackage.sh new file mode 100644 index 0000000000..3f7c5be167 --- /dev/null +++ b/packages/binutils-libs/binutils.subpackage.sh @@ -0,0 +1,21 @@ +TERMUX_SUBPKG_INCLUDE=" +bin/$TERMUX_HOST_PLATFORM-* +bin/addr2line +bin/ar +bin/c++filt +bin/dwp +bin/ld +bin/nm +bin/objcopy +bin/objdump +bin/ranlib +bin/readelf +bin/size +bin/strings +bin/strip +share/binutils/ +" +TERMUX_SUBPKG_DESCRIPTION="GNU Binutils (metapackage)" +TERMUX_SUBPKG_DEPEND_ON_PARENT=no +TERMUX_SUBPKG_DEPENDS="binutils-bin" +TERMUX_SUBPKG_CONFLICTS="binutils-is-llvm" diff --git a/packages/binutils/build.sh b/packages/binutils-libs/build.sh similarity index 63% rename from packages/binutils/build.sh rename to packages/binutils-libs/build.sh index 4f8424beaf..b405a01f3e 100644 --- a/packages/binutils/build.sh +++ b/packages/binutils-libs/build.sh @@ -1,16 +1,16 @@ TERMUX_PKG_HOMEPAGE=https://www.gnu.org/software/binutils/ -TERMUX_PKG_DESCRIPTION="Collection of binary tools, the main ones being ld, the GNU linker, and as, the GNU assembler" +TERMUX_PKG_DESCRIPTION="GNU Binutils libraries" TERMUX_PKG_LICENSE="GPL-2.0" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION=2.39 -TERMUX_PKG_REVISION=2 +TERMUX_PKG_REVISION=3 TERMUX_PKG_SRCURL=https://mirrors.kernel.org/gnu/binutils/binutils-${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_SHA256=645c25f563b8adc0a81dbd6a41cffbf4d37083a382e02d5d3df4f65c09516d00 -TERMUX_PKG_DEPENDS="binutils-libs (>= ${TERMUX_PKG_VERSION}), libc++, zlib" -TERMUX_PKG_SUGGESTS="ldd" -TERMUX_PKG_BREAKS="binutils-dev" -TERMUX_PKG_REPLACES="binutils-dev" +TERMUX_PKG_DEPENDS="zlib" +TERMUX_PKG_BREAKS="binutils (<< 2.39), binutils-dev" +TERMUX_PKG_REPLACES="binutils (<< 2.39), binutils-dev" TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" +--bindir=$TERMUX_PREFIX/libexec/binutils --enable-gold --disable-gprofng --enable-plugins @@ -58,12 +58,35 @@ termux_step_pre_configure() { } termux_step_post_make_install() { - cd $TERMUX_PREFIX/bin + local d=$TERMUX_PREFIX/share/binutils + mkdir -p ${d} + touch ${d}/.placeholder + + mkdir -p $TERMUX_PREFIX/bin + cd $TERMUX_PREFIX/libexec/binutils + + mv ld{.bfd,} + ln -sf ld{,.bfd} + ln -sfr $TERMUX_PREFIX/libexec/binutils/ld $TERMUX_PREFIX/bin/ld.bfd + + rm -f $TERMUX_PREFIX/bin/ld.gold + mv ld.gold $TERMUX_PREFIX/bin/ + ln -sfr $TERMUX_PREFIX/bin/{ld.,}gold + + for b in *; do + ln -sfr $TERMUX_PREFIX/libexec/binutils/${b} \ + $TERMUX_PREFIX/bin/${b} + done + # Setup symlinks as these are used when building, so used by # system setup in e.g. python, perl and libtool: - for b in ar ld nm objdump ranlib readelf strip; do - ln -s -f $b $TERMUX_HOST_PLATFORM-$b + local _TOOLS_WITH_HOST_PREFIX="ar ld nm objdump ranlib readelf strip" + for b in ${_TOOLS_WITH_HOST_PREFIX}; do + ln -sfr $TERMUX_PREFIX/libexec/binutils/${b} \ + $TERMUX_PREFIX/bin/$TERMUX_HOST_PLATFORM-${b} done - mv ld.bfd ld - ln -sf ld.gold gold +} + +termux_step_post_massage() { + rm -rf bin } diff --git a/packages/binutils/dirsearch.cc.patch b/packages/binutils-libs/dirsearch.cc.patch similarity index 100% rename from packages/binutils/dirsearch.cc.patch rename to packages/binutils-libs/dirsearch.cc.patch diff --git a/packages/binutils/gas-decrease-input-buffer-size.patch b/packages/binutils-libs/gas-decrease-input-buffer-size.patch similarity index 100% rename from packages/binutils/gas-decrease-input-buffer-size.patch rename to packages/binutils-libs/gas-decrease-input-buffer-size.patch diff --git a/packages/binutils/gold-ffsll.c.patch b/packages/binutils-libs/gold-ffsll.c.patch similarity index 100% rename from packages/binutils/gold-ffsll.c.patch rename to packages/binutils-libs/gold-ffsll.c.patch diff --git a/packages/binutils/native_lib_dirs.patch32 b/packages/binutils-libs/native_lib_dirs.patch32 similarity index 100% rename from packages/binutils/native_lib_dirs.patch32 rename to packages/binutils-libs/native_lib_dirs.patch32 diff --git a/packages/binutils/native_lib_dirs.patch64 b/packages/binutils-libs/native_lib_dirs.patch64 similarity index 100% rename from packages/binutils/native_lib_dirs.patch64 rename to packages/binutils-libs/native_lib_dirs.patch64 diff --git a/packages/binutils/no-hardlink.patch.beforehostbuild b/packages/binutils-libs/no-hardlink.patch.beforehostbuild similarity index 100% rename from packages/binutils/no-hardlink.patch.beforehostbuild rename to packages/binutils-libs/no-hardlink.patch.beforehostbuild diff --git a/packages/binutils/options.cc.patch32 b/packages/binutils-libs/options.cc.patch32 similarity index 100% rename from packages/binutils/options.cc.patch32 rename to packages/binutils-libs/options.cc.patch32 diff --git a/packages/binutils/options.cc.patch64 b/packages/binutils-libs/options.cc.patch64 similarity index 100% rename from packages/binutils/options.cc.patch64 rename to packages/binutils-libs/options.cc.patch64 diff --git a/packages/binutils/binutils-libs.subpackage.sh b/packages/binutils/binutils-libs.subpackage.sh deleted file mode 100644 index d49af10af0..0000000000 --- a/packages/binutils/binutils-libs.subpackage.sh +++ /dev/null @@ -1,11 +0,0 @@ -TERMUX_SUBPKG_INCLUDE=" -include/ -lib/ -share/info/bfd.info -share/info/ctf-spec.info -" -TERMUX_SUBPKG_DESCRIPTION="Binutils libraries" -TERMUX_SUBPKG_DEPEND_ON_PARENT=no -TERMUX_SUBPKG_DEPENDS="zlib" -TERMUX_SUBPKG_REPLACES="binutils (<< 2.39)" -TERMUX_SUBPKG_BREAKS="binutils (<< ${TERMUX_PKG_VERSION})"