diff --git a/disabled-packages/alsa-lib/alsa-conf-dir.patch b/disabled-packages/alsa-lib/alsa-conf-dir.patch new file mode 100644 index 000000000..7e6fe5912 --- /dev/null +++ b/disabled-packages/alsa-lib/alsa-conf-dir.patch @@ -0,0 +1,11 @@ +--- ./src/conf/alsa.conf.orig 2016-12-20 14:43:20.000000000 +0000 ++++ ./src/conf/alsa.conf 2017-03-06 22:51:47.242150837 +0000 +@@ -15,7 +15,7 @@ + "/alsa.conf.d/" + ] + } +- "/etc/asound.conf" ++ "@TERMUX_PREFIX@/etc/asound.conf" + "~/.asoundrc" + ] + errors false diff --git a/disabled-packages/alsa-lib/build.sh b/disabled-packages/alsa-lib/build.sh new file mode 100644 index 000000000..2c5b1b13c --- /dev/null +++ b/disabled-packages/alsa-lib/build.sh @@ -0,0 +1,17 @@ +# patches taken from https://github.com/michaelwu/alsa-lib +TERMUX_PKG_HOMEPAGE=http://www.alsa-project.org +TERMUX_PKG_VERSION=1.1.3 +# TERMUX_PKG_DEPENDS="libandroid-shmem, python2" +TERMUX_PKG_DEPENDS="libandroid-shmem" +TERMUX_PKG_SRCURL=ftp://ftp.alsa-project.org/pub/lib/alsa-lib-$TERMUX_PKG_VERSION.tar.bz2 +TERMUX_PKG_SHA256=71282502184c592c1a008e256c22ed0ba5728ca65e05273ceb480c70f515969c +# TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-pythonlibs=\"-lpython2.7\" --with-pythonincludes=-I/$TERMUX_PREFIX/include/python2.7" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-python" + +termux_step_pre_configure () { + #LDFLAGS="$LDFLAGS -landroid-shmem" + #_files='src/pcm/pcm_dsnoop.c src/pcm/pcm_mmap.c src/pcm/pcm_shm.c src/pcm/pcm_dmix.c src/pcm/pcm_dshare.c src/pcm/pcm_direct.c src/shmarea.c src/control/control_shm.c aserver/aserver.c' + #for _file in $_files; do sed -i 's%#include %#include %' "$TERMUX_PKG_SRCDIR/$_file"; done + #export ac_cv_header_sys_shm_h='no' + CPPFLAGS="$CPPFLAGS -DTERMUX_SHMEM_STUBS -DTERMUX_SEMOPS_STUBS" +} diff --git a/disabled-packages/alsa-lib/pcm_direct.c.patch b/disabled-packages/alsa-lib/pcm_direct.c.patch new file mode 100644 index 000000000..4dc377439 --- /dev/null +++ b/disabled-packages/alsa-lib/pcm_direct.c.patch @@ -0,0 +1,17 @@ +--- ./src/pcm/pcm_direct.c 2016-08-02 23:18:38.000000000 +0530 ++++ ./src/pcm/pcm_direct.c 2016-12-02 23:19:30.771819040 +0530 +@@ -44,12 +44,14 @@ + * + */ + ++#if !defined(ANDROID) && !defined(__ANDROID__) + union semun { + int val; /* Value for SETVAL */ + struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */ + unsigned short *array; /* Array for GETALL, SETALL */ + struct seminfo *__buf; /* Buffer for IPC_INFO (Linux specific) */ + }; ++#endif + + /* + * FIXME: diff --git a/disabled-packages/alsa-lib/pcm_mmap.c.patch.old b/disabled-packages/alsa-lib/pcm_mmap.c.patch.old new file mode 100644 index 000000000..703b09732 --- /dev/null +++ b/disabled-packages/alsa-lib/pcm_mmap.c.patch.old @@ -0,0 +1,20 @@ +--- ./src/pcm/pcm_mmap.c 2016-08-02 23:18:38.000000000 +0530 ++++ /home/vishal/AndroidDev/alsa/src/pcm/pcm_mmap.c 2016-12-03 00:06:36.620336924 +0530 +@@ -344,7 +344,7 @@ + i->addr = ptr; + break; + case SND_PCM_AREA_SHM: +-#ifdef HAVE_SYS_SHM_H ++#if 0 + if (i->u.shm.shmid < 0) { + int id; + /* FIXME: safer permission? */ +@@ -474,7 +474,7 @@ + errno = 0; + break; + case SND_PCM_AREA_SHM: +-#ifdef HAVE_SYS_SHM_H ++#if 0 + if (i->u.shm.area) { + snd_shm_area_destroy(i->u.shm.area); + i->u.shm.area = NULL; diff --git a/disabled-packages/alsa-lib/versionsort.patch b/disabled-packages/alsa-lib/versionsort.patch new file mode 100644 index 000000000..2f6ca1d76 --- /dev/null +++ b/disabled-packages/alsa-lib/versionsort.patch @@ -0,0 +1,24 @@ +diff -ruN ./src/conf.c /home/vishal/AndroidDev/alsa/src/conf.c +--- ./src/conf.c 2016-08-02 23:18:38.000000000 +0530 ++++ /home/vishal/AndroidDev/alsa/src/conf.c 2016-12-02 23:42:04.689785910 +0530 +@@ -3558,7 +3558,7 @@ + int n; + + #ifndef DOC_HIDDEN +-#if defined(_GNU_SOURCE) && !defined(__NetBSD__) && !defined(__FreeBSD__) && !defined(__sun) ++#if defined(_GNU_SOURCE) && !defined(__NetBSD__) && !defined(__FreeBSD__) && !defined(__sun) && !defined(__ANDROID__) && !defined(ANDROID) + #define SORTFUNC versionsort + #else + #define SORTFUNC alphasort +diff -ruN ./src/ucm/parser.c /home/vishal/AndroidDev/alsa/src/ucm/parser.c +--- ./src/ucm/parser.c 2016-08-02 23:18:38.000000000 +0530 ++++ /home/vishal/AndroidDev/alsa/src/ucm/parser.c 2016-12-02 23:42:17.406370931 +0530 +@@ -1274,7 +1274,7 @@ + "%s", env ? env : ALSA_USE_CASE_DIR); + filename[MAX_FILE-1] = '\0'; + +-#if defined(_GNU_SOURCE) && !defined(__NetBSD__) && !defined(__FreeBSD__) && !defined(__sun) ++#if defined(_GNU_SOURCE) && !defined(__NetBSD__) && !defined(__FreeBSD__) && !defined(__sun) && !defined(__ANDROID__) && !defined(ANDROID) + #define SORTFUNC versionsort + #else + #define SORTFUNC alphasort diff --git a/disabled-packages/alsa-plugins/asound.conf b/disabled-packages/alsa-plugins/asound.conf new file mode 100644 index 000000000..3637db07d --- /dev/null +++ b/disabled-packages/alsa-plugins/asound.conf @@ -0,0 +1,16 @@ +# Use pulseaudio by default +pcm.!default { + type pulse + fallback "sysdefault" + hint { + show on + description "Default ALSA Output (currently PulseAudio Sound Server)" + } +} + +ctl.!default { + type pulse + fallback "sysdefault" +} + +# vim:set ft=alsaconf: diff --git a/disabled-packages/alsa-plugins/build.sh b/disabled-packages/alsa-plugins/build.sh new file mode 100644 index 000000000..36d417411 --- /dev/null +++ b/disabled-packages/alsa-plugins/build.sh @@ -0,0 +1,10 @@ +TERMUX_PKG_HOMEPAGE=http://www.alsa-project.org +TERMUX_PKG_VERSION=1.1.1 +TERMUX_PKG_SRCURL=ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-$TERMUX_PKG_VERSION.tar.bz2 +TERMUX_PKG_SHA256=8ea4d1e082c36528a896a2581e5eb62d4dc2683238e353050d0d624e65f901f1 +TERMUX_PKG_DEPENDS="alsa-lib, pulseaudio" +TERMUX_PKG_EXTRA_MAKE_ARGS='SUBDIRS=pulse' + +termux_step_post_make_install () { + cp $TERMUX_PKG_BUILDER_DIR/asound.conf $TERMUX_PREFIX/etc +} diff --git a/disabled-packages/alsa-utils/build.sh b/disabled-packages/alsa-utils/build.sh new file mode 100644 index 000000000..bc163c708 --- /dev/null +++ b/disabled-packages/alsa-utils/build.sh @@ -0,0 +1,10 @@ +TERMUX_PKG_HOMEPAGE=http://www.alsa-project.org +TERMUX_PKG_VERSION=1.1.3 +TERMUX_PKG_SRCURL=ftp://ftp.alsa-project.org/pub/utils/alsa-utils-$TERMUX_PKG_VERSION.tar.bz2 +TERMUX_PKG_SHA256=127217a54eea0f9a49700a2f239a2d4f5384aa094d68df04a8eb80132eb6167c +TERMUX_PKG_DEPENDS="alsa-lib, ncurses" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-udev-rules-dir=$TERMUX_PREFIX/lib/udev/rules.d --with-asound-state-dir=$TERMUX_PREFIX/var/lib/alsa --disable-bat --disable-rst2man" + +termux_step_pre_configure () { + LDFLAGS+=" -llog" +} diff --git a/disabled-packages/alsa-utils/configure.patch b/disabled-packages/alsa-utils/configure.patch new file mode 100644 index 000000000..e2e18f6bc --- /dev/null +++ b/disabled-packages/alsa-utils/configure.patch @@ -0,0 +1,27 @@ +--- ./configure 2016-08-02 22:44:23.000000000 +0530 ++++ ../configure 2016-12-03 23:06:46.641370754 +0530 +@@ -7123,7 +7123,7 @@ + LDFLAGS="$LDFLAGS $ALSA_LIBS" + fi + +-ALSA_LIBS="$ALSA_LIBS -lasound -lm -ldl -lpthread" ++ALSA_LIBS="$ALSA_LIBS -lasound -lm -ldl" + LIBS="$ALSA_LIBS $LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ALSA_LIBS" >&5 + $as_echo "$ALSA_LIBS" >&6; } +@@ -7741,7 +7741,6 @@ + $as_echo_n "(cached) " >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lpthread $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -7776,7 +7775,6 @@ + #define HAVE_LIBPTHREAD 1 + _ACEOF + +- LIBS="-lpthread $LIBS" + + else + as_fn_error $? "Error: need PTHREAD library" "$LINENO" 5 diff --git a/disabled-packages/alsa-utils/volume_mapping.c.patch b/disabled-packages/alsa-utils/volume_mapping.c.patch new file mode 100644 index 000000000..bb6721616 --- /dev/null +++ b/disabled-packages/alsa-utils/volume_mapping.c.patch @@ -0,0 +1,11 @@ +--- ./alsamixer/volume_mapping.c 2016-08-02 22:39:45.000000000 +0530 ++++ ../volume_mapping.c 2016-12-03 23:15:26.390744307 +0530 +@@ -37,7 +37,7 @@ + #include + #include "volume_mapping.h" + +-#ifdef __UCLIBC__ ++#if defined(__UCLIBC__) || defined(__ANDROID__) + /* 10^x = 10^(log e^x) = (e^x)^log10 = e^(x * log 10) */ + #define exp10(x) (exp((x) * log(10))) + #endif /* __UCLIBC__ */ diff --git a/packages/libpulseaudio/build.sh b/packages/libpulseaudio/build.sh new file mode 100644 index 000000000..1413c2c54 --- /dev/null +++ b/packages/libpulseaudio/build.sh @@ -0,0 +1,26 @@ +TERMUX_PKG_HOMEPAGE=http://www.freedesktop.org/wiki/Software/PulseAudio +TERMUX_PKG_DESCRIPTION="A featureful, general-purpose sound server - shared libraries" +TERMUX_PKG_VERSION=10.0 +TERMUX_PKG_SRCURL=https://www.freedesktop.org/software/pulseaudio/releases/pulseaudio-${TERMUX_PKG_VERSION}.tar.xz +TERMUX_PKG_SHA256=a3186824de9f0d2095ded5d0d0db0405dc73133983c2fbb37291547e37462f57 +TERMUX_PKG_DEPENDS="libltdl, libsndfile" +TERMUX_PKG_INCLUDE_IN_DEVPACKAGE="share/vala" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-neon-opt --disable-alsa --disable-esound --disable-glib2 --disable-openssl --without-caps --with-database=simple" +TERMUX_PKG_CONFFILES="etc/pulse/client.conf etc/pulse/daemon.conf etc/pulse/dafault.pa etc/pulse/system.pa" + +termux_step_pre_configure () { + LDFLAGS+=" -llog" +} + +termux_step_post_make_install () { + # Some binaries link against these: + cd $TERMUX_PREFIX/lib + for lib in pulseaudio/lib*.so* pulse-${TERMUX_PKG_VERSION}/modules/lib*.so*; do + ln -s -f $lib `basename $lib` + done + + # Pulseaudio fails to start when it cannot detect any sound hardware + # so disable hardware detection. + sed -i $TERMUX_PREFIX/etc/pulse/default.pa \ + -e '/^load-module module-detect$/s/^/#/' +} diff --git a/packages/libpulseaudio/pulseaudio-discuss-iochannel-don-t-use-variable-length-array-in-union.patch b/packages/libpulseaudio/pulseaudio-discuss-iochannel-don-t-use-variable-length-array-in-union.patch new file mode 100644 index 000000000..96d9654a2 --- /dev/null +++ b/packages/libpulseaudio/pulseaudio-discuss-iochannel-don-t-use-variable-length-array-in-union.patch @@ -0,0 +1,28 @@ +diff --git a/src/pulsecore/iochannel.c b/src/pulsecore/iochannel.c +index 8ace297ff..897337522 100644 +--- a/src/pulsecore/iochannel.c ++++ b/src/pulsecore/iochannel.c +@@ -355,7 +355,7 @@ ssize_t pa_iochannel_write_with_fds(pa_iochannel*io, const void*data, size_t l, + struct iovec iov; + union { + struct cmsghdr hdr; +- uint8_t data[CMSG_SPACE(sizeof(int) * nfd)]; ++ uint8_t data[CMSG_SPACE(sizeof(int) * MAX_ANCIL_DATA_FDS)]; + } cmsg; + + pa_assert(io); +@@ -382,7 +382,13 @@ ssize_t pa_iochannel_write_with_fds(pa_iochannel*io, const void*data, size_t l, + mh.msg_iov = &iov; + mh.msg_iovlen = 1; + mh.msg_control = &cmsg; +- mh.msg_controllen = sizeof(cmsg); ++ ++ /* If we followed the example on the cmsg man page, we'd use ++ * sizeof(cmsg.data) here, but if nfd < MAX_ANCIL_DATA_FDS, then the data ++ * buffer is larger than needed, and the kernel doesn't like it if we set ++ * msg_controllen to a larger than necessary value. The commit message for ++ * commit 451d1d6762 contains a longer explanation. */ ++ mh.msg_controllen = CMSG_SPACE(sizeof(int) * nfd); + + if ((r = sendmsg(io->ofd, &mh, MSG_NOSIGNAL)) >= 0) { + io->writable = io->hungup = false; diff --git a/packages/libpulseaudio/pulseaudio.subpackage.sh b/packages/libpulseaudio/pulseaudio.subpackage.sh new file mode 100644 index 000000000..a91c881a6 --- /dev/null +++ b/packages/libpulseaudio/pulseaudio.subpackage.sh @@ -0,0 +1,3 @@ +TERMUX_SUBPKG_INCLUDE="bin/ etc/ lib/libcli.so* lib/libprotocol-*.so* lib/librtp.so* lib/pulse-${TERMUX_PKG_VERSION}/ share/" +TERMUX_SUBPKG_DESCRIPTION="A featureful, general-purpose sound server" +TERMUX_SUBPKG_DEPENDS="libpulseaudio" diff --git a/packages/libpulseaudio/tmpdir.patch b/packages/libpulseaudio/tmpdir.patch new file mode 100644 index 000000000..7a47e9bcb --- /dev/null +++ b/packages/libpulseaudio/tmpdir.patch @@ -0,0 +1,29 @@ +--- src/src/pulsecore/core-util.c.orig 2017-01-13 03:02:18.000000000 +0000 ++++ src/src/pulsecore/core-util.c 2017-03-06 22:31:51.321911880 +0000 +@@ -1812,7 +1812,7 @@ + * users, too. Since we need POSIX locking and UNIX sockets in + * this directory, we try XDG_RUNTIME_DIR first, and if that isn't + * set create a directory in $HOME and link it to a random subdir +- * in /tmp, if it was not explicitly configured. */ ++ * in @TERMUX_PREFIX@/tmp, if it was not explicitly configured. */ + + m = pa_in_system_mode() ? 0755U : 0700U; + +@@ -1885,7 +1885,7 @@ + + #ifdef HAVE_SYMLINK + /* Hmm, so the runtime directory didn't exist yet, so let's +- * create one in /tmp and symlink that to it */ ++ * create one in @TERMUX_PREFIX@/tmp and symlink that to it */ + + if (make_random_dir_and_link(0700, k) < 0) { + +@@ -3429,7 +3429,7 @@ + pa_is_path_absolute(t)) + return t; + +- return "/tmp"; ++ return "@TERMUX_PREFIX@/tmp"; + } + + int pa_open_cloexec(const char *fn, int flags, mode_t mode) { diff --git a/packages/libsndfile/build.sh b/packages/libsndfile/build.sh new file mode 100644 index 000000000..883c1f1af --- /dev/null +++ b/packages/libsndfile/build.sh @@ -0,0 +1,6 @@ +TERMUX_PKG_HOMEPAGE=http://www.mega-nerd.com/libsndfile +TERMUX_PKG_VERSION=1.0.27 +TERMUX_PKG_SRCURL=http://www.mega-nerd.com/libsndfile/files/libsndfile-$TERMUX_PKG_VERSION.tar.gz +TERMUX_PKG_SHA256=a391952f27f4a92ceb2b4c06493ac107896ed6c76be9a613a4731f076d30fac0 +TERMUX_PKG_DEPENDS="libflac, libvorbis" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-sqlite --disable-alsa"