X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/b7ba9bd75e75efc4bfe820fd162813d6e8147881..de9af52cfceb33b568f7da5b2c856a278a32c445:/packages/apt/build.sh diff --git a/packages/apt/build.sh b/packages/apt/build.sh index 398630af..ef4fbfac 100644 --- a/packages/apt/build.sh +++ b/packages/apt/build.sh @@ -1,57 +1,51 @@ TERMUX_PKG_HOMEPAGE=https://packages.debian.org/apt TERMUX_PKG_DESCRIPTION="Front-end for the dpkg package manager" -TERMUX_PKG_DEPENDS="liblzma, libgnustl, dpkg, gnupg" -TERMUX_PKG_VERSION=1.2.1 -TERMUX_PKG_SRCURL=http://ftp.debian.org/debian/pool/main/a/apt/apt_${TERMUX_PKG_VERSION}.tar.xz -TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--host=${TERMUX_ARCH}-linux --disable-rpath acl_cv_rpath=$TERMUX_PREFIX/lib gt_cv_func_CFPreferencesCopyAppValue=no gt_cv_func_CFLocaleCopyCurrent=no ac_cv_c_bigendian=no --no-create" -# When ready to drop bz2 support: -TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" ac_cv_lib_bz2_BZ2_bzopen=no" +TERMUX_PKG_DEPENDS="liblzma, dpkg, gpgv" +# Wait with updating to later version until the NDK supports std::to_string() and other +# functions (hopefully in r15, https://github.com/android-ndk/ndk/issues/82). +# Updating to apt 1.4 will also get rid of the build hacks used as apt has transitioned +# to a clean cmake build system. +TERMUX_PKG_VERSION=1.2.12 +TERMUX_PKG_REVISION=2 +# TERMUX_PKG_SRCURL=http://ftp.debian.org/debian/pool/main/a/apt/apt_${TERMUX_PKG_VERSION}.tar.xz +TERMUX_PKG_SRCURL=https://launchpad.net/ubuntu/+archive/primary/+files/apt_${TERMUX_PKG_VERSION}.tar.xz +TERMUX_PKG_SHA256=e820d27cba73476df4abcff27dadd1b5847474bfe85f7e9202a9a07526973ea6 +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="\ +--no-create +ac_cv_c_bigendian=no +ac_cv_lib_bz2_BZ2_bzopen=no" TERMUX_PKG_FOLDERNAME=apt-${TERMUX_PKG_VERSION} +TERMUX_PKG_BUILD_IN_SRC=yes TERMUX_PKG_ESSENTIAL=yes - -# $NDK/docs/STANDALONE-TOOLCHAIN.html: "If you use the GNU libstdc++, you will need to explicitly link with libsupc++ if you use these features" -export LDFLAGS="$LDFLAGS -lgnustl_shared" # -lsupc++" - -# Some files use STD*_FILENO without including where they are declared. -# Define them here to avoid having to patch files: -CXXFLAGS+=" -DSTDIN_FILENO=0 -DSTDOUT_FILENO=1 -DSTDERR_FILENO=2 -DAI_IDN=0" +TERMUX_PKG_CONFFILES="etc/apt/sources.list" termux_step_pre_configure () { - cp $TERMUX_COMMON_CACHEDIR/config.{guess,sub} $TERMUX_PKG_SRCDIR/buildlib - perl -p -i -e "s/TERMUX_ARCH/$TERMUX_ARCH/" $TERMUX_PKG_SRCDIR/configure + # Some files use STD*_FILENO without including where they are declared. + # Define them here to avoid having to patch files: + CXXFLAGS+=" -DSTDIN_FILENO=0 -DSTDOUT_FILENO=1 -DSTDERR_FILENO=2 -DAI_IDN=0" - rm $TERMUX_PKG_SRCDIR/apt-pkg/{cdrom.cc,indexcopy.cc} -} + cp $TERMUX_SCRIPTDIR/scripts/config.{guess,sub} $TERMUX_PKG_SRCDIR/buildlib + perl -p -i -e "s/TERMUX_ARCH/$TERMUX_ARCH/" $TERMUX_PKG_SRCDIR/configure -termux_step_post_configure () { - # This is needed to generate makefile, but does not work due to configure arguments not being remembered - ./config.status -} - -termux_step_make () { - unset CC - unset CFLAGS - unset LDFLAGS - unset CXX - unset CXXFLAGS - make + rm $TERMUX_PKG_SRCDIR/apt-pkg/{cdrom.cc,indexcopy.cc} } termux_step_make_install () { - cp $TERMUX_PKG_BUILDDIR/bin/apt{,-get,-cache,-config,-key} $TERMUX_PREFIX/bin/ - cp $TERMUX_PKG_BUILDDIR/bin/libapt-{pkg.so.5.0.0,private.so.0.0} $TERMUX_PREFIX/lib/ + cp $TERMUX_PKG_BUILDDIR/build/bin/apt{,-get,-cache,-config,-key} $TERMUX_PREFIX/bin/ + cp $TERMUX_PKG_BUILDDIR/build/bin/libapt-{pkg.so.5.0.0,private.so.0.0} $TERMUX_PREFIX/lib/ (cd $TERMUX_PREFIX/lib; ln -s -f libapt-pkg.so.5.0.0 libapt-pkg.so.5.0; ln -s -f libapt-pkg.so.5.0.0 libapt-pkg.so ) - mkdir -p $TERMUX_PREFIX/lib/apt/methods $TERMUX_PREFIX/share/man/man{5,8} - cp $TERMUX_PKG_BUILDDIR/docs/apt{,-cache,-get}.8 $TERMUX_PREFIX/share/man/man8/ - cp $TERMUX_PKG_BUILDDIR/docs/{apt.conf,sources.list}.5 $TERMUX_PREFIX/share/man/man5/ - cp $TERMUX_PKG_BUILDDIR/bin/methods/{copy,file,gpgv,gzip,http,https} $TERMUX_PREFIX/lib/apt/methods - (cd $TERMUX_PREFIX/lib/apt/methods; ln -f -s gzip xz) - - mkdir -p $TERMUX_PREFIX/etc/apt - printf "# The main termux repository:\ndeb [arch=all,${TERMUX_ARCH}] http://termux.net stable main\n" > $TERMUX_PREFIX/etc/apt/sources.list - - # The trusted.gpg was created with "apt-key add public-key.key": - cp $TERMUX_PKG_BUILDER_DIR/trusted.gpg $TERMUX_PREFIX/etc/apt/ + mkdir -p $TERMUX_PREFIX/lib/apt/methods $TERMUX_PREFIX/share/man/man{5,8} + cp $TERMUX_PKG_BUILDDIR/build/docs/apt{,-cache,-get}.8 $TERMUX_PREFIX/share/man/man8/ + cp $TERMUX_PKG_BUILDDIR/build/docs/{apt.conf,sources.list}.5 $TERMUX_PREFIX/share/man/man5/ + cp $TERMUX_PKG_BUILDDIR/build/bin/methods/{copy,file,gpgv,gzip,http,https,rsh,store} $TERMUX_PREFIX/lib/apt/methods + (cd $TERMUX_PREFIX/lib/apt/methods; ln -f -s gzip xz) + (cd $TERMUX_PREFIX/lib/apt/methods; ln -f -s rsh ssh) + + mkdir -p $TERMUX_PREFIX/etc/apt + printf "# The main termux repository:\ndeb [arch=all,${TERMUX_ARCH}] http://termux.net stable main\n" > $TERMUX_PREFIX/etc/apt/sources.list + + # The trusted.gpg was created with "apt-key add public-key.key": + cp $TERMUX_PKG_BUILDER_DIR/trusted.gpg $TERMUX_PREFIX/etc/apt/ mkdir -p $TERMUX_PREFIX/etc/bash_completion.d/ cp $TERMUX_PKG_SRCDIR/completions/bash/apt \