summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGonzalo Exequiel Pedone2019-05-05 20:15:14 -0300
committerGonzalo Exequiel Pedone2019-05-05 20:15:14 -0300
commit49b13966efe8da8a803a6bbdb0ec3e1af581e026 (patch)
tree37f2d208bfa7a747c62fa2235e3874636d63f40a
downloadaur-49b13966efe8da8a803a6bbdb0ec3e1af581e026.tar.gz
Added android-giflib package.
-rw-r--r--.SRCINFO22
-rw-r--r--.gitignore5
-rw-r--r--Makefile.patch23
-rw-r--r--PKGBUILD48
-rwxr-xr-xandroid-env.sh101
5 files changed, 199 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..d07ff1b4a4eb
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,22 @@
+# Generated by mksrcinfo v8
+# dom may 5 23:13:28 UTC 2019
+pkgbase = android-x86-giflib
+ pkgdesc = A library for reading and writing gif images (android)
+ pkgver = 5.1.9
+ pkgrel = 1
+ url = http://sourceforge.net/projects/giflib/
+ arch = any
+ license = MIT
+ makedepends = android-pkg-config
+ depends = android-ndk
+ options = !strip
+ options = !buildflags
+ options = staticlibs
+ options = !emptydirs
+ source = http://downloads.sourceforge.net/sourceforge/giflib/giflib-5.1.9.tar.bz2
+ source = Makefile.patch
+ md5sums = c1df79d223b10b92f44ca649ef5f1459
+ md5sums = 0c6a08273d51f7fd965c79c967f5e7ed
+
+pkgname = android-x86-giflib
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..47731b2e7117
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+pkg
+src
+*.tar.xz
+*.tar.gz
+*.tar.bz2
diff --git a/Makefile.patch b/Makefile.patch
new file mode 100644
index 000000000000..8a30493ac17e
--- /dev/null
+++ b/Makefile.patch
@@ -0,0 +1,23 @@
+--- a/Makefile
++++ b/Makefile
+@@ -68,7 +68,7 @@
+ $(UTILS):: libgif.a libutil.a
+
+ libgif.so: $(OBJECTS) $(HEADERS)
+- $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(OBJECTS)
++ $(CC) $(CFLAGS) -shared $(LDFLAGS) -o libgif.so $(OBJECTS)
+
+ libgif.a: $(OBJECTS) $(HEADERS)
+ $(AR) rcs libgif.a $(OBJECTS)
+@@ -100,9 +100,7 @@
+ install-lib:
+ $(INSTALL) -d "$(DESTDIR)$(LIBDIR)"
+ $(INSTALL) -m 644 libgif.a "$(DESTDIR)$(LIBDIR)/libgif.a"
+- $(INSTALL) -m 755 libgif.so "$(DESTDIR)$(LIBDIR)/libgif.so.$(LIBVER)"
+- ln -sf libgif.so.$(LIBVER) "$(DESTDIR)$(LIBDIR)/libgif.so.$(LIBMAJOR)"
+- ln -sf libgif.so.$(LIBMAJOR) "$(DESTDIR)$(LIBDIR)/libgif.so"
++ $(INSTALL) -m 755 libgif.so "$(DESTDIR)$(LIBDIR)/libgif.so"
+ install-man:
+ $(INSTALL) -d "$(DESTDIR)$(MANDIR)/man1"
+ $(INSTALL) -m 644 doc/*.1 "$(DESTDIR)$(MANDIR)/man1"
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..9071d330d17c
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,48 @@
+# PKGBUILD for android-giflib
+# Maintainer: Gonzalo Exequiel Pedone <hipersayan DOT x AT gmail DOT com>
+
+_android_arch=x86
+source android-env.sh ${_android_arch}
+
+pkgname=android-${_android_arch}-giflib
+pkgver=5.1.9
+pkgrel=1
+pkgdesc="A library for reading and writing gif images (android)"
+arch=('any')
+url="http://sourceforge.net/projects/giflib/"
+license=("MIT")
+depends=('android-ndk')
+options=(!strip !buildflags staticlibs !emptydirs)
+makedepends=('android-pkg-config')
+source=("http://downloads.sourceforge.net/sourceforge/giflib/giflib-${pkgver}.tar.bz2"
+ 'Makefile.patch')
+md5sums=('c1df79d223b10b92f44ca649ef5f1459'
+ '0c6a08273d51f7fd965c79c967f5e7ed')
+
+prepare() {
+ cd "${srcdir}"/giflib-${pkgver}
+
+ check_ndk_version_ge_than 18.0
+ patch -Np1 -i "../Makefile.patch"
+}
+
+build() {
+ cd "${srcdir}"/giflib-${pkgver}
+
+ make \
+ libgif.a \
+ libgif.so \
+ CC=${ANDROID_CC} \
+ AR=${ANDROID_AR} \
+ $MAKEFLAGS
+}
+
+package() {
+ cd "${srcdir}"/giflib-${pkgver}
+
+ make DESTDIR="$pkgdir" install-include install-lib
+ mkdir -p "${pkgdir}"/${ANDROID_LIBS}
+ mv -vf "${pkgdir}"/usr/local/* "${pkgdir}"/${ANDROID_LIBS}/
+ ${ANDROID_STRIP} -g --strip-unneeded "${pkgdir}"/${ANDROID_LIBS}/lib/*.so
+ ${ANDROID_STRIP} -g "$pkgdir"/${ANDROID_LIBS}/lib/*.a
+}
diff --git a/android-env.sh b/android-env.sh
new file mode 100755
index 000000000000..517f38e9b563
--- /dev/null
+++ b/android-env.sh
@@ -0,0 +1,101 @@
+#!/bin/sh
+
+# Useful link to keep track of latest API changes:
+#
+# https://developer.android.com/ndk/downloads/revision_history
+
+_android_arch=$1
+
+if [ -z "${_android_arch}" ]; then
+ _android_arch=armv7a-eabi
+fi
+
+# Minimum Android platform based on:
+#
+# http://gs.statcounter.com/os-version-market-share/android/mobile-tablet/worldwide
+if [ -z "${ANDROID_MINIMUM_PLATFORM}" ]; then
+ export ANDROID_MINIMUM_PLATFORM=22
+fi
+
+if [ -z "${ANDROID_HOME}" ]; then
+ export ANDROID_HOME=/opt/android-sdk
+fi
+
+if [ -z "${ANDROID_NDK_HOME}" ]; then
+ export ANDROID_NDK_HOME=/opt/android-ndk
+fi
+
+get_last() {
+ ls $1 | sort -V | tail -n 1
+}
+
+if [ -z "${ANDROID_BUILD_TOOLS_REVISION}" ]; then
+ export ANDROID_BUILD_TOOLS_REVISION=$(get_last ${ANDROID_HOME}/build-tools)
+fi
+
+if [ -z "${ANDROID_API_VERSION}" ]; then
+ export ANDROID_API_VERSION=android-$ANDROID_MINIMUM_PLATFORM
+fi
+
+if [ -z "${ANDROID_NDK_PLATFORM}" ]; then
+ export ANDROID_NDK_PLATFORM=android-$ANDROID_MINIMUM_PLATFORM
+fi
+
+export ANDROID_PLATFORM=${ANDROID_NDK_HOME}/platforms/$ANDROID_NDK_PLATFORM
+export ANDROID_TOOLCHAIN=${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64
+export ANDROID_SYSROOT=${ANDROID_TOOLCHAIN}/sysroot
+export ANDROID_CROSS_PREFIX=$ANDROID_TOOLCHAIN/bin/
+export ANDROID_PKGCONFIG=android-${_android_arch}-pkg-config
+
+case "$_android_arch" in
+ aarch64)
+ export ANDROID_TOOLS_COMPILER_PREFIX=${ANDROID_CROSS_PREFIX}aarch64-linux-android${ANDROID_MINIMUM_PLATFORM}-
+ export ANDROID_TOOLS_PREFIX=${ANDROID_CROSS_PREFIX}aarch64-linux-android-
+ ;;
+ armv7a-eabi)
+ export ANDROID_TOOLS_COMPILER_PREFIX=${ANDROID_CROSS_PREFIX}armv7a-linux-androideabi${ANDROID_MINIMUM_PLATFORM}-
+ export ANDROID_TOOLS_PREFIX=${ANDROID_CROSS_PREFIX}arm-linux-androideabi-
+ ;;
+ x86)
+ export ANDROID_TOOLS_COMPILER_PREFIX=${ANDROID_CROSS_PREFIX}i686-linux-android${ANDROID_MINIMUM_PLATFORM}-
+ export ANDROID_TOOLS_PREFIX=${ANDROID_CROSS_PREFIX}i686-linux-android-
+ ;;
+ x86-64)
+ export ANDROID_TOOLS_COMPILER_PREFIX=${ANDROID_CROSS_PREFIX}x86_64-linux-android${ANDROID_MINIMUM_PLATFORM}-
+ export ANDROID_TOOLS_PREFIX=${ANDROID_CROSS_PREFIX}x86_64-linux-android-
+ ;;
+esac
+
+export ANDROID_CC=${ANDROID_TOOLS_COMPILER_PREFIX}clang
+export ANDROID_CXX=${ANDROID_TOOLS_COMPILER_PREFIX}clang++
+export ANDROID_AR=${ANDROID_TOOLS_PREFIX}ar
+export ANDROID_AS=${ANDROID_TOOLS_PREFIX}as
+export ANDROID_NM=${ANDROID_TOOLS_PREFIX}nm
+export ANDROID_RANLIB=${ANDROID_TOOLS_PREFIX}ranlib
+export ANDROID_STRIP=${ANDROID_TOOLS_PREFIX}strip
+export ANDROID_LIBS=/opt/android-libs/${_android_arch}
+export PKG_CONFIG_SYSROOT_DIR=${ANDROID_LIBS}
+export PKG_CONFIG_LIBDIR=${PKG_CONFIG_SYSROOT_DIR}/lib/pkgconfig:${PKG_CONFIG_SYSROOT_DIR}/share/pkgconfig
+
+ndk_version() {
+ grep 'Pkg.Revision' ${ANDROID_NDK_HOME}/source.properties | awk '{print $3}'
+}
+
+check_ndk_version_ge_than() {
+ version=$1
+ ndk_ver=$(ndk_version)
+
+ if [ "${version}" = "${ndk_ver}" ]; then
+ return 0
+ fi
+
+ older_ver=$(printf "${version}\n${ndk_ver}" | sort -V | head -n 1)
+
+ if [ "${older_ver}" = "${ndk_ver}" ]; then
+ echo "ERROR: NDK version >= $version required."
+
+ return 1
+ fi
+
+ return 0
+}