Patch apt to work with busybox cp
[termux-packages] / packages / apt / build.sh
1 TERMUX_PKG_HOMEPAGE=https://packages.debian.org/apt
2 TERMUX_PKG_DESCRIPTION="Front-end for the dpkg package manager"
3 TERMUX_PKG_DEPENDS="libbz2, liblzma, libgnustl, dpkg, gnupg"
4 TERMUX_PKG_VERSION=1.1.3
5 TERMUX_PKG_BUILD_REVISION=1
6 TERMUX_PKG_SRCURL=http://ftp.debian.org/debian/pool/main/a/apt/apt_${TERMUX_PKG_VERSION}.tar.xz
7 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"
8 # When ready to drop bz2 support:
9 # TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" ac_cv_lib_bz2_BZ2_bzopen=no"
10 TERMUX_PKG_FOLDERNAME=apt-${TERMUX_PKG_VERSION}
11 TERMUX_PKG_ESSENTIAL=yes
12
13 # $NDK/docs/STANDALONE-TOOLCHAIN.html: "If you use the GNU libstdc++, you will need to explicitly link with libsupc++ if you use these features"
14 export LDFLAGS="$LDFLAGS -lgnustl_shared" # -lsupc++"
15
16 # Some files use STD*_FILENO without including <unistd.h> where they are declared.
17 # Define them here to avoid having to patch files:
18 CXXFLAGS+=" -DSTDIN_FILENO=0 -DSTDOUT_FILENO=1 -DSTDERR_FILENO=2 -DAI_IDN=0"
19
20 termux_step_pre_configure () {
21 cp $TERMUX_COMMON_CACHEDIR/config.{guess,sub} $TERMUX_PKG_SRCDIR/buildlib
22 perl -p -i -e "s/TERMUX_ARCH/$TERMUX_ARCH/" $TERMUX_PKG_SRCDIR/configure
23 }
24
25 termux_step_post_configure () {
26 # This is needed to generate makefile, but does not work due to configure arguments not being remembered
27 ./config.status
28 }
29
30 termux_step_make () {
31 unset CC
32 unset CFLAGS
33 unset LDFLAGS
34 unset CXX
35 unset CXXFLAGS
36 make
37 }
38
39 termux_step_make_install () {
40 cp $TERMUX_PKG_BUILDDIR/bin/apt{,-get,-cache,-config,-key} $TERMUX_PREFIX/bin/
41 cp $TERMUX_PKG_BUILDDIR/bin/libapt-{pkg.so.5.0.0,private.so.0.0} $TERMUX_PREFIX/lib/
42 (cd $TERMUX_PREFIX/lib; ln -s -f libapt-pkg.so.5.0.0 libapt-pkg.so.5.0; ln -s -f libapt-pkg.so )
43 mkdir -p $TERMUX_PREFIX/lib/apt/methods $TERMUX_PREFIX/share/man/man{5,8}
44 cp $TERMUX_PKG_BUILDDIR/docs/apt{,-cache,-get}.8 $TERMUX_PREFIX/share/man/man8/
45 cp $TERMUX_PKG_BUILDDIR/docs/{apt.conf,sources.list}.5 $TERMUX_PREFIX/share/man/man5/
46 cp $TERMUX_PKG_BUILDDIR/bin/methods/{copy,file,gpgv,gzip,http,https} $TERMUX_PREFIX/lib/apt/methods
47 (cd $TERMUX_PREFIX/lib/apt/methods; ln -f -s gzip bzip2)
48 (cd $TERMUX_PREFIX/lib/apt/methods; ln -f -s gzip xz)
49
50 mkdir -p $TERMUX_PREFIX/etc/apt
51 printf "# The main termux repository:\ndeb [arch=all,${TERMUX_ARCH}] http://apt.termux.com stable main\n" > $TERMUX_PREFIX/etc/apt/sources.list
52
53 # The trusted.gpg was created with "apt-key add public-key.key":
54 cp $TERMUX_PKG_BUILDER_DIR/trusted.gpg $TERMUX_PREFIX/etc/apt/
55 }