diff options
Diffstat (limited to 'testing')
536 files changed, 27421 insertions, 0 deletions
diff --git a/testing/acf-fetch-crl/APKBUILD b/testing/acf-fetch-crl/APKBUILD new file mode 100644 index 0000000000..f6f2199fd7 --- /dev/null +++ b/testing/acf-fetch-crl/APKBUILD @@ -0,0 +1,22 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +pkgname=acf-fetch-crl +pkgver=0.2.0 +pkgrel=3 +pkgdesc="A web-based system administration interface for fetch-crl" +url="http://git.alpinelinux.org/cgit/$pkgname" +arch="noarch" +license="GPL-2" +depends="acf-core lua fetch-crl" +makedepends="" +install= +subpackages="" +source="http://git.alpinelinux.org/cgit/$pkgname.git/snapshot/$pkgname-$pkgver.tar.bz2" + +package() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + +} + +md5sums="d8789ef066ac41abd0db69a8ec470540 acf-fetch-crl-0.2.0.tar.bz2" diff --git a/testing/agg/APKBUILD b/testing/agg/APKBUILD new file mode 100644 index 0000000000..9fb8fa2bfe --- /dev/null +++ b/testing/agg/APKBUILD @@ -0,0 +1,43 @@ +# Contributor: Elizabeth Jennifer Myers <elizabeth@sporksirc.net> +# Maintainer: Elizabeth Jennifer Myers <elizabeth@sporksirc.net> +pkgname=agg +pkgver=2.5 +pkgrel=1 +pkgdesc="A Rendering Engine for C++" +url="http://antigrain.org/" +license="GPL" +depends= +makedepends="autoconf automake libtool libx11-dev freetype-dev sdl-dev" +install= +arch="all" +subpackages="$pkgname-dev" +source="http://www.antigrain.com/$pkgname-$pkgver.tar.gz + agg-2.4-depends.patch + agg-2.5-pkgconfig.patch" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd $_builddir + for i in "$srcdir"/*.patch; do + msg "Applying ${i}" + patch -Np1 -i "$i" || return 1 + done + sh ./autogen.sh || return 1 +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr --disable-static || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="${pkgdir}" install || return 1 + rm "$pkgdir"/usr/lib/*.la || return 1 +} + +md5sums="0229a488bc47be10a2fee6cf0b2febd6 agg-2.5.tar.gz +22f8e48c137d25038181c86d5e40b110 agg-2.4-depends.patch +43a19a7b1564c591e56c8d09a0fd8da5 agg-2.5-pkgconfig.patch" diff --git a/testing/agg/agg-2.4-depends.patch b/testing/agg/agg-2.4-depends.patch new file mode 100644 index 0000000000..9d4f6e309d --- /dev/null +++ b/testing/agg/agg-2.4-depends.patch @@ -0,0 +1,48 @@ +--- agg-2.4.orig/font_freetype/Makefile.am 2005-10-18 11:45:40.000000000 +0100 ++++ agg-2.4/font_freetype/Makefile.am 2006-07-10 15:11:55.000000000 +0100 +@@ -4,8 +4,9 @@ + agginclude_HEADERS = agg_font_freetype.h + lib_LTLIBRARIES = libaggfontfreetype.la + +-libaggfontfreetype_la_LDFLAGS = -version-info @AGG_LIB_VERSION@ @FREETYPE_LIBS@ ++libaggfontfreetype_la_LDFLAGS = -version-info @AGG_LIB_VERSION@ + libaggfontfreetype_la_SOURCES = agg_font_freetype.cpp + libaggfontfreetype_la_CXXFLAGS = -I$(top_srcdir)/include @FREETYPE_CFLAGS@ ++libaggfontfreetype_la_LIBADD = ../src/libagg.la @FREETYPE_LIBS@ + endif + +--- agg-2.4.orig/src/platform/sdl/Makefile.am 2005-10-17 23:49:35.000000000 +0100 ++++ agg-2.4/src/platform/sdl/Makefile.am 2006-07-10 15:11:55.000000000 +0100 +@@ -5,6 +5,6 @@ + libaggplatformsdl_la_LDFLAGS = -version-info @AGG_LIB_VERSION@ + libaggplatformsdl_la_SOURCES = agg_platform_support.cpp + libaggplatformsdl_la_CXXFLAGS = -I$(top_srcdir)/include @SDL_CFLAGS@ +-libaggplatformsdl_la_LIBADD = @SDL_LIBS@ ++libaggplatformsdl_la_LIBADD = ../../libagg.la @SDL_LIBS@ + endif + +--- agg-2.5.orig/configure.in 2006-10-09 05:06:36.000000000 +0100 ++++ agg-2.5/configure.in 2007-01-07 14:07:39.000000000 +0000 +@@ -122,7 +122,8 @@ + fi + AM_CONDITIONAL(ENABLE_X11,[test x$no_x = x -a xno != x$enable_platform -a x$win32_host != xyes]) + AC_SUBST(x_includes) +-AC_SUBST(x_libraries) ++test -n "$x_libraries" && X_LDFLAGS="-L$x_libraries" ++AC_SUBST(X_LDFLAGS) + dnl ############################################### + + dnl Settung up library version +--- agg-2.5.orig/src/platform/X11/Makefile.am 2006-12-11 00:59:45.000000000 +0000 ++++ agg-2.5/src/platform/X11/Makefile.am 2007-01-07 14:07:39.000000000 +0000 +@@ -1,8 +1,8 @@ + if ENABLE_X11 + lib_LTLIBRARIES = libaggplatformX11.la + +-libaggplatformX11_la_LDFLAGS = -version-info @AGG_LIB_VERSION@ -L@x_libraries@ ++libaggplatformX11_la_LDFLAGS = -version-info @AGG_LIB_VERSION@ @X_LDFLAGS@ + libaggplatformX11_la_SOURCES = agg_platform_support.cpp + libaggplatformX11_la_CXXFLAGS = -I$(top_srcdir)/include -I@x_includes@ +-libaggplatformX11_la_LIBADD = -lX11 ++libaggplatformX11_la_LIBADD = ../../libagg.la -lX11 + endif diff --git a/testing/agg/agg-2.5-pkgconfig.patch b/testing/agg/agg-2.5-pkgconfig.patch new file mode 100644 index 0000000000..a303bfb905 --- /dev/null +++ b/testing/agg/agg-2.5-pkgconfig.patch @@ -0,0 +1,10 @@ +--- agg-2.5/libagg.pc.in.orig 2007-01-07 13:58:28.000000000 +0000 ++++ agg-2.5/libagg.pc.in 2007-01-07 14:02:40.000000000 +0000 +@@ -6,5 +6,6 @@ + Name: libagg + Description: Anti Grain Geometry - A High Quality Rendering Engine for C++ + Version: @VERSION@ +-Libs: -L${libdir} -Wl,-rpath,${exec_prefix}/lib -lagg ++Requires.private: freetype2 ++Libs: -L${libdir} -lagg + Cflags: -I${includedir} diff --git a/testing/akonadi/APKBUILD b/testing/akonadi/APKBUILD new file mode 100644 index 0000000000..be616a1fdf --- /dev/null +++ b/testing/akonadi/APKBUILD @@ -0,0 +1,42 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=akonadi +pkgver=1.5.3 +pkgrel=0 +pkgdesc="kde PIM storage service server" +url="http://pim.kde.org/akonadi" +arch="all" +license="LGPL" +depends="shared-desktop-ontologies" +depends_dev="kdebase-dev boost-dev" +makedepends="$depends_dev cmake automoc4" +install="" +subpackages="$pkgname-dev" +source="http://download.akonadi-project.org/akonadi-$pkgver.tar.bz2 + disable-backtrace.patch" + +_builddir="$srcdir"/akonadi-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="ad342acca61c2af27be4cce61b2d925a akonadi-1.5.3.tar.bz2 +41dbdc24acdc79ba8e0b171c2a11abb1 disable-backtrace.patch" diff --git a/testing/akonadi/disable-backtrace.patch b/testing/akonadi/disable-backtrace.patch new file mode 100644 index 0000000000..291a5a93df --- /dev/null +++ b/testing/akonadi/disable-backtrace.patch @@ -0,0 +1,11 @@ +--- akonadi-1.5.3.orig/shared/akcrash.cpp ++++ akonadi-1.5.3/shared/akcrash.cpp +@@ -44,7 +44,7 @@ + QString s; + + /* FIXME: is there an equivalent for darwin, *BSD, or windows? */ +-#ifdef HAVE_EXECINFO_H ++#if 0 + void* trace[256]; + int n = backtrace(trace, 256); + if (!n) diff --git a/testing/altermime/APKBUILD b/testing/altermime/APKBUILD new file mode 100644 index 0000000000..1e4667716b --- /dev/null +++ b/testing/altermime/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=altermime +pkgver=0.3.10 +pkgrel=0 +pkgdesc="program alter mime-encoded mailpacks" +url="http://www.pldaniels.com/altermime/" +arch="all" +license="Sendmail" +depends= +makedepends= +install= +subpackages= +source="http://www.pldaniels.com/altermime/altermime-$pkgver.tar.gz + makefile-flags.patch" + +_builddir="$srcdir"/altermime-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + make || return 1 +} + +package() { + cd "$_builddir" + install -Dm755 altermime "$pkgdir"/usr/bin/altermime +} + +md5sums="aaf0ad8029958a2dc6da3abb4dc178c2 altermime-0.3.10.tar.gz +604775894fa4f8ddd9d44761ce2be2ea makefile-flags.patch" diff --git a/testing/altermime/makefile-flags.patch b/testing/altermime/makefile-flags.patch new file mode 100644 index 0000000000..71a399051e --- /dev/null +++ b/testing/altermime/makefile-flags.patch @@ -0,0 +1,21 @@ +--- ./Makefile.orig ++++ ./Makefile +@@ -9,7 +9,8 @@ + # opposite of a disclaimer. + #ALTERMIME_OPTIONS=-DALTERMIME_PRETEXT + ALTERMIME_OPTIONS= +-CFLAGS=-Wall -Werror -g -I. -O2 $(ALTERMIME_OPTIONS) ++CFLAGS?=-Wall -Werror -g -I. -O2 ++CFLAGS+=$(ALTERMIME_OPTIONS) + OBJS= strstack.o mime_alter.o ffget.o pldstr.o filename-filters.o logger.o MIME_headers.o libmime-decoders.o boundary-stack.o qpe.o + + +@@ -19,7 +20,7 @@ + all: altermime + + altermime: altermime.c ${OBJS} +- ${CC} ${CFLAGS} altermime.c ${OBJS} -o altermime ++ ${CC} ${CFLAGS} altermime.c ${OBJS} ${LDFLAGS} -o altermime + + + # Build Install diff --git a/testing/apache-mod-auth-kerb/APKBUILD b/testing/apache-mod-auth-kerb/APKBUILD new file mode 100644 index 0000000000..3740f7a86a --- /dev/null +++ b/testing/apache-mod-auth-kerb/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=apache-mod-auth-kerb +_pkgname=mod_auth_kerb +pkgver=5.4 +pkgrel=1 +pkgdesc="A Kerberos authentication module for the Apache Http Server" +url="http://samba.org/ftp/unpacked/lorikeet/mod_auth_ntlm_winbind/" +arch="all" +license="custom" +depends="apache2 heimdal" +makedepends="apache2-dev heimdal-dev samba-dev bash" +source="http://downloads.sourceforge.net/project/modauthkerb/$_pkgname/$_pkgname-$pkgver/$_pkgname-$pkgver.tar.gz + mod_auth_kerb.patch + mod-auth-kerb.conf + " +prepare() { + cd $srcdir/$_pkgname-$pkgver + for i in "$srcdir"/*.patch; do + [ -f "$i" ] || continue + msg "Applying $i" + patch -p1 -i $i || return 1 + done + sed -i -e 's:^ret.*:ret=`eval "$4" $5 $cppflags $ldflags src/mod_auth_kerb.c $3`:' apxs.sh +} + +build() { + cd $srcdir/$_pkgname-$pkgver + ./configure --prefix=/usr \ + --with-krb5=/usr + make -j6 || return 1 +} + +package() { + cd $srcdir/$_pkgname-$pkgver +# make DESTDIR="$pkgdir" install || return 1 + mkdir -p "$pkgdir"/etc/apache2/conf.d + mkdir -p "$pkgdir"/usr/lib/apache2 + install -D -m755 ./src/.libs/*.so "$pkgdir"/usr/lib/apache2 + install -D -m644 ../../mod-auth-kerb.conf "$pkgdir"/etc/apache2/conf.d/mod-auth-kerb.conf +} + +md5sums="642b81763ad3ca81dba359cb952da5e3 mod_auth_kerb-5.4.tar.gz +3ef3cd9c723f34a2ee7ab350b7c653c9 mod_auth_kerb.patch +7f9a0976ff101226fae4fd9b811b21a4 mod-auth-kerb.conf" diff --git a/testing/apache-mod-auth-kerb/mod-auth-kerb.conf b/testing/apache-mod-auth-kerb/mod-auth-kerb.conf new file mode 100644 index 0000000000..24310d6cf9 --- /dev/null +++ b/testing/apache-mod-auth-kerb/mod-auth-kerb.conf @@ -0,0 +1,26 @@ +# +# The mod_auth_kerb module implements Kerberos authentication over +# HTTP, following the "Negotiate" protocol. +# + +LoadModule auth_kerb_module modules/mod_auth_kerb.so + +# +# Sample configuration: Kerberos authentication must only be +# used over SSL to prevent replay attacks. The keytab file +# configured must be readable only by the "apache" user, and +# must contain service keys for "HTTP/www.example.com", where +# "www.example.com" is the FQDN of this server. +# + +#<Location /private> +# SSLRequireSSL +# AuthType Kerberos +# AuthName "Kerberos Login" +# KrbMethodNegotiate On +# KrbMethodK5Passwd Off +# KrbAuthRealms EXAMPLE.COM +# Krb5KeyTab /etc/httpd/conf/keytab +# require valid-user +#</Location> + diff --git a/testing/apache-mod-auth-kerb/mod_auth_kerb.patch b/testing/apache-mod-auth-kerb/mod_auth_kerb.patch new file mode 100644 index 0000000000..aa0c0a4354 --- /dev/null +++ b/testing/apache-mod-auth-kerb/mod_auth_kerb.patch @@ -0,0 +1,11 @@ +--- mod_auth_kerb-5.4/src/mod_auth_kerb.c 2010-10-04 16:21:22.169285716 +0200 ++++ mod_auth_kerb-5.4.new/src/mod_auth_kerb.c 2010-10-04 16:20:41.584250095 +0200 +@@ -89,6 +89,7 @@ + #include <krb5.h> + #ifdef HEIMDAL + # include <gssapi.h> ++# include <gssapi/gssapi_krb5.h> + #else + # include <gssapi/gssapi.h> + # include <gssapi/gssapi_generic.h> + diff --git a/testing/apache-mod-backtrace/APKBUILD b/testing/apache-mod-backtrace/APKBUILD new file mode 100644 index 0000000000..cc3198062b --- /dev/null +++ b/testing/apache-mod-backtrace/APKBUILD @@ -0,0 +1,32 @@ +# Contributor: Matt Smith <mcs@darkregion.net> +# Maintainer: Matt Smith <mcs@darkregion.net> +pkgname=apache-mod-backtrace +pkgver=0 +pkgrel=1 +pkgdesc="A module which uses system functions to format a backtrace to show what code did the dirty deed." +url="http://people.apache.org/~trawick/exception_hook.html" +arch="all" +license="Apache2.0" +depends="apache2" +makedepends="apache2-dev apr-dev autoconf" +install= +subpackages= +source="http://people.apache.org/~trawick/mod_backtrace.c + configure.in + Makefile.in" + +build() { + cd "$srcdir" + autoconf + ./configure + make DESTDIR="$pkgdir" || return 1 +} + +package() { + cd "$srcdir" + install -D -m755 "$srcdir"/.libs/mod_backtrace.so "$pkgdir"/usr/lib/apache2/mod_backtrace.so +} + +md5sums="cd5361da31b3c1401e29ccb6e5220f6b mod_backtrace.c +623409fd18dea63d6da509f2818491ef configure.in +e796e84b98ad73f2420ad8ef6fc5c01b Makefile.in" diff --git a/testing/apache-mod-backtrace/Makefile.in b/testing/apache-mod-backtrace/Makefile.in new file mode 100644 index 0000000000..1f05b116f7 --- /dev/null +++ b/testing/apache-mod-backtrace/Makefile.in @@ -0,0 +1,35 @@ +# +# Makefile for mod_backtrace +# +# Based off of Makefile for mod_auth_ntlm_winbind by +# Matt Smith <mcs@darkregion.net>, 2011/01/04 +# + +# Programs + +APXS = @APXS@ +APXS_FLAGS = @APXS_FLAGS@ +SODIR = @SODIR@ +APXSLIBDIR=$(DESTDIR)/$(shell $(APXS) -q LIBEXECDIR) + +# Build the dso +MOD_BACKTRACE_SRC = mod_backtrace.c + +$(SODIR)mod_backtrace.so: $(MOD_BACKTRACE_SRC) + $(APXS) $(APXS_FLAGS) -Wc,-Wall -c -lubacktrace $(MOD_BACKTRACE_SRC) + +install: $(SODIR)mod_backtrace.so + $(APXS) $(APXS_FLAGS) -S LIBEXECDIR=$(APXSLIBDIR) -n backtrace -i $(SODIR)mod_backtrace.so + +# Clean targets +clean: + @rm -f *~ $(MOD_BACKTRACE_SRC:.c=.{la,lo,o,slo}) + @rm -rf $(SODIR) + +realclean: clean + @rm -f config.log + +distclean: realclean + @rm -f config.h Makefile \ + config.status config.cache + @rm -rf autom4te.cache diff --git a/testing/apache-mod-backtrace/configure.in b/testing/apache-mod-backtrace/configure.in new file mode 100644 index 0000000000..60de6023c0 --- /dev/null +++ b/testing/apache-mod-backtrace/configure.in @@ -0,0 +1,46 @@ +# Process this file with autoconf to produce a configure script. + +AC_INIT(mod_backtrace.c) + +# Basic stuff + +AC_PROG_CC +AC_PROG_CPP +AC_STDC_HEADERS + +# We use axps to compile source files, which may be in /usr/sbin +AC_ARG_WITH(apxs, +[ --with-apxs=PATH Specify path to apxs], +[ APXS="$withval" ], +[ AC_PATH_PROGS([APXS], [apxs2 apxs],, [$PATH:/usr/sbin]) ]) + +AC_ARG_WITH(apache, +[ --with-apache=PATH Specify path to apache executable], +[ HTTPD="$withval" ], +[ AC_PATH_PROG([HTTPD], [httpd], [/usr/sbin/httpd], [$PATH:/usr/sbin]) ]) + +APACHE_VER=`${HTTPD} -v | grep version` +if echo "$APACHE_VER" | grep -q "/2\." +then + APXS_FLAGS=-DAPACHE2 + SODIR=.libs/ + echo "Building for Apache 2." +else + echo "Building for Apache 1." +fi + +# Check for some headers + +AC_CHECK_HEADERS(stdlib.h unistd.h sys/socket.h sys/time.h grp.h) +AC_CHECK_HEADERS(nss_common.h nss.h) + +# Determine size of basic types + +AC_CHECK_SIZEOF(int,cross) +AC_CHECK_SIZEOF(long,cross) +AC_CHECK_SIZEOF(short,cross) + +# Create Makefile +AC_SUBST(APXS_FLAGS) +AC_SUBST(SODIR) +AC_OUTPUT(Makefile) diff --git a/testing/apache-mod-fcgid/APKBUILD b/testing/apache-mod-fcgid/APKBUILD new file mode 100644 index 0000000000..7f9c1d7c6e --- /dev/null +++ b/testing/apache-mod-fcgid/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com> +# Maintainer: +pkgname=apache-mod-fcgid +pkgver=2.3.6 +pkgrel=0 +pkgdesc="FastCGI module for Apache 2.2" +url="http://httpd.apache.org/mod_fcgid/" +arch="all" +license="Apache" +depends= +makedepends="apache2-dev" +install="" +subpackages="$pkgname-doc" +source="http://apache.cyberuse.com//httpd/mod_fcgid/mod_fcgid-$pkgver.tar.bz2 + mod_fcgid.conf + " + +_builddir="$srcdir/mod_fcgid-$pkgver" + +build() { + cd "$_builddir" + ./configure.apxs || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + mkdir "$pkgdir"/etc/apache2/conf.d/ || return 1 + install -m644 "$srcdir"/mod_fcgid.conf "$pkgdir"/etc/apache2/conf.d/ || return 1 +} + +md5sums="30ee138f3f0eb1c55303400748f128a2 mod_fcgid-2.3.6.tar.bz2 +df658a483cf016112d75bbd1d92d7fb0 mod_fcgid.conf" diff --git a/testing/apache-mod-fcgid/mod_fcgid.conf b/testing/apache-mod-fcgid/mod_fcgid.conf new file mode 100644 index 0000000000..01529b0683 --- /dev/null +++ b/testing/apache-mod-fcgid/mod_fcgid.conf @@ -0,0 +1,9 @@ +<IfModule mod_fcgid.c> + Alias /fcgi-bin/ "/usr/lib/fcgi-bin/" + <Location /fcgi-bin> + SetHandler fcgid-script + Options +ExecCGI + Order allow,deny + Allow from all + </Location> +</IfModule> diff --git a/testing/apache2-mod-perl/APKBUILD b/testing/apache2-mod-perl/APKBUILD new file mode 100644 index 0000000000..40d3a54380 --- /dev/null +++ b/testing/apache2-mod-perl/APKBUILD @@ -0,0 +1,58 @@ +# Contributor: Matt Smith <mcs@darkregion.net> +# Maintainer: Matt Smith <mcs@darkregion.net> +pkgname=apache2-mod-perl +_realname=mod_perl +pkgver=2.0.5 +pkgrel=1 +pkgdesc="Perl Module for Apache2" +url="http://perl.apache.org/" +arch="all" +license="APACHE" +depends="apache2 perl" +depends_dev= +makedepends="$depends_dev apache2-dev perl-dev" +install="$pkgname.post-install" +subpackages="$pkgname-doc $pkgname-dev" +source="http://search.cpan.org/CPAN/authors/id/P/PH/PHRED/${_realname}-${pkgver}.tar.gz + $pkgname.apache2.conf + " + +_builddir="$srcdir"/${_realname}-${pkgver} +build() { + cd "$_builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor \ + MP_APXS=/usr/sbin/apxs || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete + + # install the apache2 config + install -Dm644 "$srcdir"/$pkgname.apache2.conf \ + "$pkgdir"/etc/apache2/conf.d/perl-module.conf || return 1 +} + +doc() { + arch="noarch" + + # man pages + mkdir -p "$subpkgdir"/usr/share/man || return 1 + mv "$pkgdir"/usr/share/man/man* "$subpkgdir"/usr/share/man/ \ + || return 1 + + # doc files + _docs="BRANCHING Changes INSTALL LICENSE MANIFEST NOTICE README \ + README-SVN RELEASE STATUS SVN-MOVE" + for _doc in $_docs; do + install -Dm644 "$_builddir"/$_doc \ + "$subpkgdir"/usr/share/doc/$pkgname/$_doc || return 1 + done + cp -ra "$_builddir"/docs/ "$subpkgdir"/usr/share/doc/$pkgname/ \ + || return 1 +} + +md5sums="03d01d135a122bd8cebd0cd5b185d674 mod_perl-2.0.5.tar.gz +86b84bb56b49a95772a7f773fc019043 apache2-mod-perl.apache2.conf" diff --git a/testing/apache2-mod-perl/apache2-mod-perl.apache2.conf b/testing/apache2-mod-perl/apache2-mod-perl.apache2.conf new file mode 100644 index 0000000000..c1a75c76ff --- /dev/null +++ b/testing/apache2-mod-perl/apache2-mod-perl.apache2.conf @@ -0,0 +1,11 @@ +LoadModule perl_module modules/mod_perl.so + +# For mod_perl 1.0 compatibility, uncomment: +#PerlModule Apache2::compat + +<Location /cgi-bin> + AddHandler perl-script .pl + PerlResponseHandler ModPerl::Registry + PerlOptions +ParseHeaders + Options +ExecCGI +</Location> diff --git a/testing/apache2-mod-perl/apache2-mod-perl.post-install b/testing/apache2-mod-perl/apache2-mod-perl.post-install new file mode 100644 index 0000000000..8cfc5a86e4 --- /dev/null +++ b/testing/apache2-mod-perl/apache2-mod-perl.post-install @@ -0,0 +1,10 @@ +#!/bin/sh + +echo "*" >&2 +echo "* To finish installing apache2-mod-perl:" >&2 +echo "* 1) See if you need to modify the apache2 config:" >&2 +echo "* /etc/apache2/conf.d/perl-module.conf" >&2 +echo "* 2) Restart apache2 when done." >&2 +echo "*" >&2 + +exit 0 diff --git a/testing/apache2-mod-wsgi/APKBUILD b/testing/apache2-mod-wsgi/APKBUILD new file mode 100644 index 0000000000..14b4a644fc --- /dev/null +++ b/testing/apache2-mod-wsgi/APKBUILD @@ -0,0 +1,51 @@ +# Contributor: Matt Smith <mcs@darkregion.net> +# Maintainer: Matt Smith <mcs@darkregion.net> +pkgname=apache2-mod-wsgi +_realname=mod_wsgi +pkgver=3.3 +pkgrel=2 +pkgdesc="Python WSGI Module for Apache2" +url="http://code.google.com/p/modwsgi/" +arch="all" +license="APACHE" +depends="apache2 python" +depends_dev= +makedepends="$depends_dev apache2-dev python-dev" +install="$pkgname.post-install" +subpackages="$pkgname-doc" +source="http://modwsgi.googlecode.com/files/$_realname-$pkgver.tar.gz + $pkgname.apache2.conf + " + +_builddir="$srcdir"/$_realname-$pkgver +build() { + cd "$_builddir" + CFLAGS="" CXXFLAGS="" CPPFLAGS="" \ + ./configure --prefix=/usr \ + --with-apxs=/usr/sbin/apxs \ + --with-python=/usr/bin/python || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + + # install the apache2 config + install -Dm644 "$srcdir"/$pkgname.apache2.conf \ + "$pkgdir"/etc/apache2/conf.d/wsgi-module.conf || return 1 +} + +doc() { + arch="noarch" + + # doc files + _docs="LICENCE README" + for _doc in $_docs; do + install -Dm644 "$_builddir"/$_doc \ + "$subpkgdir"/usr/share/doc/$pkgname/$_doc || return 1 + done +} + +md5sums="6172bb2bbabcd0c25867c2bc06f99dbb mod_wsgi-3.3.tar.gz +e1795e051e7aae1f865fde0d3b86a507 apache2-mod-wsgi.apache2.conf" diff --git a/testing/apache2-mod-wsgi/apache2-mod-wsgi.apache2.conf b/testing/apache2-mod-wsgi/apache2-mod-wsgi.apache2.conf new file mode 100644 index 0000000000..19f356756b --- /dev/null +++ b/testing/apache2-mod-wsgi/apache2-mod-wsgi.apache2.conf @@ -0,0 +1 @@ +LoadModule wsgi_module modules/mod_wsgi.so diff --git a/testing/apache2-mod-wsgi/apache2-mod-wsgi.post-install b/testing/apache2-mod-wsgi/apache2-mod-wsgi.post-install new file mode 100644 index 0000000000..327b0156b9 --- /dev/null +++ b/testing/apache2-mod-wsgi/apache2-mod-wsgi.post-install @@ -0,0 +1,10 @@ +#!/bin/sh + +echo "*" >&2 +echo "* To finish installing apache2-mod-wsgi:" >&2 +echo "* 1) See if you need to modify the apache2 config:" >&2 +echo "* /etc/apache2/conf.d/wsgi-module.conf" >&2 +echo "* 2) Restart apache2 when done." >&2 +echo "*" >&2 + +exit 0 diff --git a/testing/apts/APKBUILD b/testing/apts/APKBUILD new file mode 100644 index 0000000000..22b08afa81 --- /dev/null +++ b/testing/apts/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Jeff Bilyk <jbilyk@gmail.com> +pkgname=apts +pkgver=0.3 +pkgrel=2 +pkgdesc="APTS - Alpine Package Testing Suite" +depends= +makedepends= +source="http://git.alpinelinux.org/cgit/jbilyk/$pkgname.git/snapshot/$pkgname-$pkgver.tar.bz2 + " +url="http://git.alpinelinux.org/cgit/jbilyk/apts.git/" +arch="noarch" +license=GPL-2 + +build() { + echo "Nothing to build, moving on to package" +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + mkdir -p "$pkgdir"/etc/apts + mkdir -p "$pkgdir"/usr/bin + mkdir -p "$pkgdir"/usr/share/$pkgname/tests + mkdir -p "$pkgdir"/usr/share/docs/$pkgname + + install -m755 -D $pkgname "$pkgdir"/usr/bin/$pkgname + install -m644 -D apts.conf "$pkgdir"/etc/$pkgname/${pkgname}.conf + install -m644 -D README "$pkgdir"/usr/share/docs/$pkgname/README + install -m644 -D missing-tests "$pkgdir"/usr/share/docs/$pkgname/missing-tests + install -m644 -D torvalds-says-linux.mp3 "$pkgdir"/usr/share/$pkgname/torvalds-says-linux.mp3 + install -m644 -D test.rar "$pkgdir"/usr/share/$pkgname/test.rar + for i in `ls tests`; do + install -m644 -D tests/$i "$pkgdir"/usr/share/$pkgname/tests/$i + done +} + +md5sums="7fc6abc1ef9f006bbca19b4c85ecb47f apts-0.3.tar.bz2" diff --git a/testing/array-info/APKBUILD b/testing/array-info/APKBUILD new file mode 100644 index 0000000000..77719a9c36 --- /dev/null +++ b/testing/array-info/APKBUILD @@ -0,0 +1,27 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=array-info +pkgver=0.16 +pkgrel=0 +pkgdesc="retrieve informations and status from RAID controllers" +url="http://array-info.sourceforge.net/" +license="GPL" +arch="all" +depends= +makedepends="docbook-xsl gzip" +install= +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/$pkgname/${pkgname}_$pkgver.tar.gz" + +build() { + cd "$srcdir"/$pkgname-$pkgver + local _xsl=$(echo /usr/share/xml/docbook/xsl-stylesheets-*/manpages/docbook.xsl) + make prefix=/usr DOCBOOK2XMAN="xsltproc --nonet $_xsl" \ + #build_lib build_plugins abuild-info array-info.1.gz \ +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make prefix=/usr DESTDIR="$pkgdir" install +} + +md5sums="802e9be5e40a5a945956a123fc81f65f array-info_0.16.tar.gz" diff --git a/testing/array-info/array-info-makefile.patch b/testing/array-info/array-info-makefile.patch new file mode 100644 index 0000000000..db7c18e450 --- /dev/null +++ b/testing/array-info/array-info-makefile.patch @@ -0,0 +1,20 @@ +--- Makefile.orig Tue Dec 29 13:46:28 2009 ++++ Makefile Tue Dec 29 13:47:38 2009 +@@ -1,5 +1,5 @@ + DESTDIR = +-prefix = /usr/local ++prefix = /usr + sbindir = $(prefix)/sbin + pkglibdir = $(prefix)/lib/array-info + mandir = $(prefix)/share/man +@@ -8,8 +8,8 @@ + + INCLUDES = -I./include -I./linuxheaders + +-CFLAGS = -g2 -Wall $(INCLUDES) -DARRAY_PLUGIN_PATH=\"$(ARRAY_PLUGIN_PATH)\" +-LDFLAGS = -L./lib -larray-info -ldl ++CFLAGS += -Wall $(INCLUDES) -DARRAY_PLUGIN_PATH=\"$(ARRAY_PLUGIN_PATH)\" ++LDFLAGS += -L./lib -larray-info -ldl + OBJS = array_plugin.o array_utils.o main.o + + ARRAY_PLUGIN_PATH=$(pkglibdir)/plugins diff --git a/testing/attica/APKBUILD b/testing/attica/APKBUILD new file mode 100644 index 0000000000..460b511ada --- /dev/null +++ b/testing/attica/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=attica +pkgver=0.2.0 +pkgrel=0 +pkgdesc="freedesktop OCS binding for Qt" +url="http://www.kde.org/" +arch="all" +license="LGPL" +depends= +depends_dev="qt-dev" +makedepends="$depends_dev cmake automoc4" +install="" +subpackages="$pkgname-dev" +source="ftp://ftp.kde.org/pub/kde/stable/attica/attica-$pkgver.tar.bz2" + +_builddir="$srcdir"/attica-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir -p "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="df3dcea0229cfa31539bdd427976e15b attica-0.2.0.tar.bz2" diff --git a/testing/automoc4/APKBUILD b/testing/automoc4/APKBUILD new file mode 100644 index 0000000000..f43c4c7e45 --- /dev/null +++ b/testing/automoc4/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=automoc4 +pkgver=0.9.88 +pkgrel=0 +pkgdesc="Automatic moc for Qt4" +url="http://www.kde.org/" +arch="all" +license="BSD" +depends= +depends_dev="qt-dev" +makedepends="$depends_dev cmake" +install="" +subpackages="" +source="http://kde.mirrors.tds.net/pub/kde/stable/automoc4/$pkgver/automoc4-$pkgver.tar.bz2" + +_builddir="$srcdir"/automoc4-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir -p "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="91bf517cb940109180ecd07bc90c69ec automoc4-0.9.88.tar.bz2" diff --git a/testing/awesome/APKBUILD b/testing/awesome/APKBUILD new file mode 100644 index 0000000000..43531bf08d --- /dev/null +++ b/testing/awesome/APKBUILD @@ -0,0 +1,43 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=awesome +pkgver=3.4.9 +pkgrel=1 +pkgdesc="lua-configurable window manager framework" +url="http://awesome.naquadah.org/" +arch="all" +license="GPL" +depends="imagemagick" +makedepends="lua-dev libxcb-dev pango-dev cairo-dev cmake gperf glib-dev imlib2-dev libxdg-basedir-dev libev-dev startup-notification-dev" +install="" +subpackages="$pkgname-doc" +source="http://awesome.naquadah.org/download/${pkgname}-${pkgver}.tar.bz2 + cmake.patch + " + +_srcdir="${srcdir}/${pkgname}-${pkgver}" +_builddir="${srcdir}/build" +prepare() { + local i + cd "$_srcdir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + mkdir "$_builddir" + cd "$_builddir" + cmake -DPREFIX=/usr -DSYSCONFDIR=/etc "$_srcdir" + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="a3e8f22fb4d17dd1cda90b354be84d6f awesome-3.4.9.tar.bz2 +3382b552d0519c8637c86b2e61f1e052 cmake.patch" diff --git a/testing/awesome/cmake.patch b/testing/awesome/cmake.patch new file mode 100644 index 0000000000..c2762374ed --- /dev/null +++ b/testing/awesome/cmake.patch @@ -0,0 +1,37 @@ +commit 8b6adbffead83c9d77c493174d0f5b6a97f2a9e9 +Author: Thomas Moschny <thomas.moschny@gmx.de> +Date: Mon Feb 21 17:58:04 2011 +0100 + + Normalize icon path names (fixes #869). + + The elements in ${icon_sources}, as returned by file(GLOB ...) contain + double slashes, could be a bug in cmake. This causes building with + cmake 2.8.4 to fail, due to dependency problems lateron. + + This patch works around the issue by normalizing all path names in + ${icon_sources} while appending them to ${ALL_ICONS}, thereby removing + the double slashes. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 64be9b9..472bec2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -244,14 +244,15 @@ endif() + + # {{{ Theme icons + file(GLOB icon_sources RELATIVE ${SOURCE_DIR} ${SOURCE_DIR}/themes/*/titlebar/*.png) +-set(ALL_ICONS ${icon_sources}) + + foreach(icon ${icon_sources}) + # Copy all icons to the build dir to simplify the following code. + # Source paths are interpreted relative to ${SOURCE_DIR}, target paths + # relative to ${BUILD_DIR}. + get_filename_component(icon_path ${icon} PATH) ++ get_filename_component(icon_name ${icon} NAME) + file(COPY ${icon} DESTINATION ${icon_path}) ++ set(ALL_ICONS ${ALL_ICONS} "${icon_path}/${icon_name}") + endforeach() + + macro(a_icon_convert match replacement input) diff --git a/testing/bash-completion/APKBUILD b/testing/bash-completion/APKBUILD new file mode 100644 index 0000000000..f5eaf42536 --- /dev/null +++ b/testing/bash-completion/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com> +# Maintainer: +pkgname=bash-completion +pkgver=1.3 +pkgrel=0 +pkgdesc="Command-line tab-completion for bash" +url="http://bash-completion.alioth.debian.org/" +arch="noarch" +license="GPL" +depends="bash" +depends_dev= +makedepends="$depends_dev" +install="" +source="http://bash-completion.alioth.debian.org/files/bash-completion-$pkgver.tar.bz2" + +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="a1262659b4bbf44dc9e59d034de505ec bash-completion-1.3.tar.bz2" diff --git a/testing/bcfg2/APK.py b/testing/bcfg2/APK.py new file mode 100644 index 0000000000..9b28d52076 --- /dev/null +++ b/testing/bcfg2/APK.py @@ -0,0 +1,58 @@ +"""This provides Bcfg2 support for alpinelinux APK packages.""" +__revision__ = '$Revision$' + +import Bcfg2.Client.Tools + +class APK(Bcfg2.Client.Tools.PkgTool): + """apk package support.""" + name = 'APK' + __execs__ = ["/sbin/apk"] + __handles__ = [('Package', 'apk')] + __req__ = {'Package': ['name', 'version']} + pkgtype = 'apk' + pkgtool = ("/sbin/apk add %s", ("%s", ["name"])) + + def __init__(self, logger, setup, config): + Bcfg2.Client.Tools.PkgTool.__init__(self, logger, setup, config) + self.installed = {} + self.RefreshPackages() + + def RefreshPackages(self): + """Refresh memory hashes of packages.""" + names = self.cmd.run("/sbin/apk info")[1] + nameversions = self.cmd.run("/sbin/apk info -v")[1] + for pkg in zip(names, nameversions): + pkgname = pkg[0] + version = pkg[1][len(pkgname)+1:] + self.logger.debug(" pkgname: %s\n version: %s" % (pkgname, version)) + self.installed[pkgname] = version + + def VerifyPackage(self, entry, modlist): + """Verify Package status for entry.""" + if not 'version' in entry.attrib: + self.logger.info("Cannot verify unversioned package %s" % + (entry.attrib['name'])) + return False + + if entry.attrib['name'] in self.installed: + if entry.attrib['version'] == 'auto' or self.installed[entry.attrib['name']] == entry.attrib['version']: + #if not self.setup['quick'] and \ + # entry.get('verify', 'true') == 'true': + #FIXME: We should be able to check this once + # http://trac.macports.org/ticket/15709 is implemented + return True + else: + self.loggger.info( " pkg %s at version %s, not %s" % (entry.attrib['name'],self.installed[entry.attrib['name']],entry.attrib['version']) ) + entry.set('current_version', self.installed[entry.get('name')]) + return False + entry.set('current_exists', 'false') + return False + + def RemovePackages(self, packages): + """Remove extra packages.""" + names = [pkg.get('name') for pkg in packages] + self.logger.info("Removing packages: %s" % " ".join(names)) + self.cmd.run("/sbin/apk del %s" % \ + " ".join(names)) + self.RefreshPackages() + self.extra = self.FindExtraPackages() diff --git a/testing/bcfg2/APKBUILD b/testing/bcfg2/APKBUILD new file mode 100644 index 0000000000..503d3308d9 --- /dev/null +++ b/testing/bcfg2/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: Cameron Banta <cbanta@gmail.com> +# Maintainer: Cameron Banta <cbanta@gmail.com> +pkgname=bcfg2 +pkgver=1.1.1 +pkgrel=1 +pkgdesc="configuration management tool" +url="http://trac.mcs.anl.gov/projects/bcfg2" +arch="all" +license="Custom" +depends="python" +makedepends="python-dev" +install= +subpackages="$pkgname-doc $pkgname-server" +source="ftp://ftp.mcs.anl.gov/pub/bcfg/$pkgname-$pkgver.tar.gz + bcfg2-server.initd + APK.py" + +#no build needed - pure python + +package() { + cd "$srcdir"/$pkgname-$pkgver + cp "$srcdir"/APK.py src/lib/Client/Tools/ + python setup.py bdist_dumb --keep-temp --bdist-dir "$pkgdir" + + install -m644 -D COPYRIGHT "$pkgdir"/usr/share/licenses/$pkgname/COPYRIGHT +} + +server() { + depends="python bcfg2 py-lxml openssl" + + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/bcfg2-* "$subpkgdir"/usr/bin/ + mkdir -p "$subpkgdir"/usr/share + mv "$pkgdir"/usr/share/bcfg2 "$subpkgdir"/usr/share/ + install -m755 -D bcfg2-server.initd "$subpkgdir"/etc/init.d/$subpkgname +} + + +md5sums="f8889d629245ecf67994469ed78fbfeb bcfg2-1.1.1.tar.gz +9a13baa6f40267ff9dbec574967c5068 bcfg2-server.initd +2acc7c5a8a031a3cb25ab3955d8d1fde APK.py" diff --git a/testing/bcfg2/bcfg2-server.initd b/testing/bcfg2/bcfg2-server.initd new file mode 100644 index 0000000000..5168f75822 --- /dev/null +++ b/testing/bcfg2/bcfg2-server.initd @@ -0,0 +1,23 @@ +#!/sbin/runscript +# +# bcfgd - bcfg configuration daemon +# +# + +depend () { + need net +} + +start () { + ebegin "Starting bcfg2-server" + start-stop-daemon --start --quiet --pidfile /var/run/bcfg2-server.pid \ + --startas /usr/bin/bcfg2-server -- -D /var/run/bcfg2-server.pid + eend $? "Failed to start bcfg2-server" +} + +stop () { + ebegin "Stopping bcfg2-server" + start-stop-daemon --stop --quiet --pidfile /var/run/bcfg2-server.pid \ + --signal INT + eend $? "Failed to stop bcfg2-server" +} diff --git a/testing/boost-coroutine/APKBUILD b/testing/boost-coroutine/APKBUILD new file mode 100644 index 0000000000..9803a33092 --- /dev/null +++ b/testing/boost-coroutine/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=boost-coroutine +pkgver=0.0.1 +pkgrel=2 +pkgdesc="coroutine library for boost" +url="http://www.crystalclearsoftware.com/soc/coroutine/" +arch="noarch" +license="custom:boost" +depends= +depends_dev="boost-dev pth-dev" +install="" +source="saveas-http://www.boostpro.com/vault/index.php?action=downloadfile&filename=boost-coroutine-2009-12-01.tar.gz&directory=Concurrent%20Programming/boost-coroutine-2009-12-01.tar.gz + boost-coroutine-pth.patch" + +_builddir="${srcdir}/boost-coroutine" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + return 0 +} + +package() { + cd "$_builddir" + mkdir -p "$pkgdir"/usr/include + cp -r "$_builddir"/boost "$pkgdir"/usr/include/boost +} + +md5sums="9837f5f2024dfc4da68bf62e0aab529a boost-coroutine-2009-12-01.tar.gz +53d3c4752668f0332dc31bd2341db609 boost-coroutine-pth.patch" diff --git a/testing/boost-coroutine/boost-coroutine-pth.patch b/testing/boost-coroutine/boost-coroutine-pth.patch new file mode 100644 index 0000000000..3a6af66af7 --- /dev/null +++ b/testing/boost-coroutine/boost-coroutine-pth.patch @@ -0,0 +1,19 @@ +--- boost-coroutine.orig/boost/coroutine/detail/context_posix.hpp ++++ boost-coroutine/boost/coroutine/detail/context_posix.hpp +@@ -46,13 +46,10 @@ + #include <boost/config.hpp> + #include <boost/assert.hpp> + +-#if defined(_XOPEN_UNIX) && defined(_XOPEN_VERSION) && _XOPEN_VERSION >= 500 ++#if 1 ++#if 1 + +-// OS X 10.4 -- despite passing the test above -- doesn't support +-// swapcontext() et al. Use GNU Pth workalike functions. +-#if defined(__APPLE__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1050) +- +-#include "pth/pth.h" ++#include <pth.h> + #include <cerrno> + + namespace boost { namespace coroutines { namespace detail { diff --git a/testing/btrfs-progs/APKBUILD b/testing/btrfs-progs/APKBUILD new file mode 100644 index 0000000000..c4d46207d0 --- /dev/null +++ b/testing/btrfs-progs/APKBUILD @@ -0,0 +1,34 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=btrfs-progs +pkgver=0.19 +pkgrel=0 +pkgdesc="Tools for the btrfs" +url="https://btrfs.wiki.kernel.org/" +arch="all" +license="GPL" +depends= +makedepends="util-linux-ng-dev bash" +install= +subpackages="$pkgname-doc" +source="http://www.kernel.org/pub/linux/kernel/people/mason/btrfs/btrfs-progs-$pkgver.tar.bz2" + +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + cd "$_builddir" +} + +build() { + cd "$_builddir" + make prefix=/usr || return 1 +} + +package() { + cd "$_builddir" + make prefix=/usr mandir=/usr/share/man DESTDIR="$pkgdir" install + + # remove the 2 lines below (and this) if there is no init.d script + # install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + # install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname +} + +md5sums="5854728d080cc76f21a83bdc99b6ddaa btrfs-progs-0.19.tar.bz2" diff --git a/testing/burp/APKBUILD b/testing/burp/APKBUILD new file mode 100644 index 0000000000..e53320b19e --- /dev/null +++ b/testing/burp/APKBUILD @@ -0,0 +1,47 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=burp +pkgver=1.1.30 +pkgrel=0 +pkgdesc="Backup and resore program" +url="http://burp.grke.net/" +arch="all" +license="AGPLv3" +depends= +depends_dev="librsync-dev zlib-dev openssl-dev" +makedepends="$depends_dev gettext-dev" +install="" +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/project/burp/burp-$pkgver/burp-$pkgver.tar.bz2" + +_builddir="$srcdir"/burp-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +# cd autoconf +# aclocal -I burp-macros && autoconf || return 1 +# cp configure ../ +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make NO_ECHO= || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="b3cdc0d310d2c9e2656d36f311be4c66 burp-1.1.30.tar.bz2" diff --git a/testing/calibre/APKBUILD b/testing/calibre/APKBUILD new file mode 100644 index 0000000000..2282ad64d5 --- /dev/null +++ b/testing/calibre/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: +pkgname=calibre +pkgver=0.8.7 +pkgrel=1 +pkgdesc="Ebook management application" +url="http://calibre-ebook.com/" +arch="all" +license="GPL3" +depends= +depends_dev="python-dev imagemagick-dev py-qt py-sip py-imaging libusb-dev + poppler-dev poppler-qt4-dev py-dbus py-pycountry py-lxml icu-dev + desktop-file-utils py-sqlite sqlite-dev chmlib-dev podofo-dev + py-sip-dev py-dateutil py-cherrypy py-beautifulsoup py-mechanize" +makedepends="$depends_dev" +install="" +subpackages="" +source="http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz" +_builddir="$srcdir"/$pkgname +build() { + cd "$_builddir" + rm -rf src/cherrypy + sed -i -e "s/ldflags = shlex.split(ldflags)/ldflags = shlex.split(ldflags) + ['-fPIC']/" setup/extensions.py + sed -i -e 's:\(#!/usr/bin/env[ ]\+python$\|#!/usr/bin/python$\):\12:g' \ + $(find . -regex ".*.py\|.*.recipe") + python setup.py build + python setup.py resources + python setup.py translations +} + +package() { + cd "$_builddir" + # Fix the environment module location + sed -i -e "s|(prefix=.*)|(prefix='$pkgdir/usr')|g" setup/install.py + install -d "${pkgdir}/usr/lib/python2.7/site-packages" + python setup.py install --root="${pkgdir}" --prefix=/usr \ + --staging-bindir="${pkgdir}/usr/bin" \ + --staging-libdir="${pkgdir}/usr/lib" \ + --staging-sharedir="${pkgdir}/usr/share" +} +md5sums="d7132ec75f5e742e04e196fc8e2c0884 calibre-0.8.7.tar.gz" diff --git a/testing/cdparanoia/APKBUILD b/testing/cdparanoia/APKBUILD new file mode 100644 index 0000000000..89814d2532 --- /dev/null +++ b/testing/cdparanoia/APKBUILD @@ -0,0 +1,60 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=cdparanoia +pkgver=10.2 +pkgrel=3 +pkgdesc="An audio CD extraction application" +url="http://www.xiph.org/paranoia" +arch="all" +license="GPL" +depends= +makedepends="libtool autoconf automake" +install= +subpackages="$pkgname-dev" +source="http://downloads.xiph.org/releases/cdparanoia/$pkgname-III-$pkgver.src.tgz" + +prepare() { + cd "$srcdir/$pkgname-III-$pkgver" + + mv configure.guess config.guess + mv configure.sub config.sub + sed -i -e '/configure.\(guess\|sub\)/d' configure.in || return 1 + aclocal && autoconf || return 1 + libtoolize || return 1 +} + +build() { + cd "$srcdir/$pkgname-III-$pkgver" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make -j1 || return 1 +} + +package() { + cd "$srcdir/$pkgname-III-$pkgver" + install -m755 -D cdparanoia "$pkgdir"/usr/bin/cdparanoia + install -m755 -D interface/libcdda_interface.so.0."$pkgver" \ + "$pkgdir"/usr/lib/libcdda_interface.so.0."$pkgver" + install -m755 -D paranoia/libcdda_paranoia.so.0."$pkgver" \ + "$pkgdir"/usr/lib/libcdda_paranoia.so.0."$pkgver" + + ln -s libcdda_interface.so.0."$pkgver" \ + "$pkgdir"/usr/lib/libcdda_interface.so.0 + ln -s libcdda_interface.so.0."$pkgver" \ + "$pkgdir"/usr/lib/libcdda_interface.so + ln -s libcdda_paranoia.so.0."$pkgver" \ + "$pkgdir"/usr/lib/libcdda_paranoia.so.0 + ln -s libcdda_paranoia.so.0."$pkgver" \ + "$pkgdir"/usr/lib/libcdda_paranoia.so + + install -m644 -D interface/cdda_interface.h \ + "$pkgdir"/usr/include/cdda_interface.h + install -m644 -D paranoia/cdda_paranoia.h \ + "$pkgdir"-dev/usr/include/cdda_paranoia.h +} + + +md5sums="b304bbe8ab63373924a744eac9ebc652 cdparanoia-III-10.2.src.tgz" diff --git a/testing/cherokee/APKBUILD b/testing/cherokee/APKBUILD new file mode 100644 index 0000000000..a4ab7f7d45 --- /dev/null +++ b/testing/cherokee/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: Mika Havela <mika.havela@gmail.com> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=cherokee +pkgver=1.2.98 +pkgrel=1 +pkgdesc="A very fast, flexible and easy to configure Web Server" +url="http://www.cherokee-project.com/" +arch="all" +license="GPL2" +depends="pcre rrdtool python" +depends_dev="openssl-dev gettext-dev ffmpeg-dev geoip-dev" +makedepends="$depends_dev" +install= +subpackages="$pkgname-dev $pkgname-doc" +source="http://www.cherokee-project.com/download/${pkgver%.*}/${pkgver}/${pkgname}-${pkgver}.tar.gz + cherokee.initd + cherokee.confd + " + +_builddir="$srcdir"/$pkgname-$pkgver + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --with-wwwroot=/var/www \ + --enable-os-string="Alpine Linux" + make || return 1 +} + +package() { + cd "$_builddir" + + make -j1 DESTDIR="$pkgdir" install || return 1 + + install -m755 -D "$srcdir"/$pkgname.initd \ + "$pkgdir"/etc/init.d/$pkgname || return 1 + install -m644 -D "$srcdir"/$pkgname.confd \ + "$pkgdir"/etc/conf.d/$pkgname || return 1 +} + +md5sums="21b01e7d45c0e82ecc0c4257a9c27feb cherokee-1.2.98.tar.gz +4180dbb6701f928054079aa1e3bd5ebc cherokee.initd +bd6a840f72c630ce1eaabe058097584f cherokee.confd" diff --git a/testing/cherokee/cherokee.confd b/testing/cherokee/cherokee.confd new file mode 100644 index 0000000000..8f719df390 --- /dev/null +++ b/testing/cherokee/cherokee.confd @@ -0,0 +1,10 @@ +# Sample conf.d file for alpine linux + +# +# Specify daemon $OPTS here. +# + +OPTS="-d" +DAEMON_USER="root" +DAEMON_GROUP="root" + diff --git a/testing/cherokee/cherokee.initd b/testing/cherokee/cherokee.initd new file mode 100755 index 0000000000..6aed337b6f --- /dev/null +++ b/testing/cherokee/cherokee.initd @@ -0,0 +1,41 @@ +#!/sbin/runscript + +# Cherokee init.d file for alpine linux. + +NAME=cherokee +DAEMON=/usr/sbin/$NAME +DAEMON_USER=${DAEMON_USER:-root} +DAEMON_GROUP=${DAEMON_GROUP:-root} + +depend() { + need net +} + +start() { + ebegin "Starting ${NAME}" + start-stop-daemon --start --quiet \ + --pidfile /var/run/${NAME}.pid \ + --chuid ${DAEMON_USER}:${DAEMON_GROUP} \ + --exec ${DAEMON} -- ${OPTS} + eend $? +} + +stop() { + ebegin "Stopping ${NAME}" + start-stop-daemon --stop --quiet \ + --exec ${DAEMON} \ + --pidfile /var/run/${NAME}.pid + eend $? +} + +reload() { + ebegin "Reloading ${NAME}" + if ! service_started "${NAME}" ; then + eend 1 "${NAME} is not started" + return 1 + fi + start-stop-daemon --stop --oknodo --signal HUP \ + --exec ${DAEMON} --pidfile /var/run/${NAME}.pid + eend $? +} + diff --git a/testing/chmlib/APKBUILD b/testing/chmlib/APKBUILD new file mode 100644 index 0000000000..f96ed771a3 --- /dev/null +++ b/testing/chmlib/APKBUILD @@ -0,0 +1,29 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=chmlib +pkgver=0.40 +pkgrel=1 +pkgdesc="Library for dealing with Microsoft ITSS/CHM format files" +url="http://morte.jedrea.com/~jedwin/projects/chmlib/" +arch="all" +license="LGPL" +depends= +depends_dev= +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://morte.jedrea.com/~jedwin/projects/${pkgname}/${pkgname}-${pkgver}.tar.bz2" +_builddir="$srcdir"/$pkgname-$pkgver +build() { + cd "$_builddir" + ./configure --prefix=/usr + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="7ea49ed8c335215c1edc6fae83e6b912 chmlib-0.40.tar.bz2" diff --git a/testing/chromium/APKBUILD b/testing/chromium/APKBUILD new file mode 100644 index 0000000000..b19ee388f3 --- /dev/null +++ b/testing/chromium/APKBUILD @@ -0,0 +1,91 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: Unmaintained <unmaintained@alpinelinux.org> +pkgname=chromium +pkgver=13.0.754.0 +pkgrel=0 +pkgdesc="chromium web browser" +url="http://www.chromium.org/" +arch="" +#arch="x86 x86_64" +license="BSD" +depends= +depends_dev="alsa-lib-dev libevent-dev libpng-dev jpeg-dev cairo-dev cups-dev mesa-dev + dbus-glib-dev gtk+-dev libxml2-dev freetype-dev + libxslt-dev libxtst-dev icu-dev flac-dev speex-dev + hunspell-dev libxinerama-dev" +makedepends="$depends_dev xdg-utils yasm gperf" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://build.chromium.org/official/chromium-$pkgver.tar.bz2 + chromium-c99math.patch + chromium-futimens.patch + chromium-uclibc-resolv.patch + chromium-dlfcn.patch + chromium-yasm.patch + chromium-no-mit-screensaver.patch + chromium-tcmalloc.patch + chromium-no-sbrk.patch + chromium-stdstring.patch" + +_builddir="$srcdir"/chromium-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + + chromium_arch=ia32 + test ${CARCH} = x86_64 && chromium_arch=x64 + + msg "chromium architecture is ${chromium_arch}" + GYP_DEFINES="\ + werror= \ + no_strict_aliasing=1 \ + linux_sandbox_path=/usr/lib/${pkgname}/chromium-sandbox \ + linux_sandbox_chrome_path=/usr/lib/${pkgname}/chromium \ + release_extra_cflags='${CFLAGS}' \ + proprietary_codecs=1 \ + use_system_libjpeg=1 \ + use_system_libxslt=1 \ + use_system_libxml=1 \ + use_system_bzip2=1 \ + use_system_zlib=1 \ + use_system_libpng=1 \ + use_system_yasm=1 \ + use_system_libevent=1 \ + use_system_icu=1 \ + use_system_ssl=0 \ + use_gconf=0 \ + use_gnome_keyring=0 \ + remoting=0 \ + target_arch=${chromium_arch}" + export GYP_DEFINES + + msg "setting up makefiles" + python build/gyp_chromium -f make --depth=. build/all.gyp + + msg "building chrome and chrome_sandbox targets" + make BUILDTYPE=Release chrome chrome_sandbox || return 1 +} + +package() { + cd "$_builddir" +} + +md5sums="85d73864cc3b78dab29f8851965fc5fa chromium-13.0.754.0.tar.bz2 +320d611dba59a881a4f178df743c4912 chromium-c99math.patch +1328245f1f21cf3abf54223ed06a70f4 chromium-futimens.patch +4a391028c9d1b8930fc299b6af0767d8 chromium-uclibc-resolv.patch +768d2ca4daa2db611fd4aeb561701f4e chromium-dlfcn.patch +76cb0975e631d54fb57bd298041cec05 chromium-yasm.patch +f8c8711a358d43ecbd8e1859aa71cfa0 chromium-no-mit-screensaver.patch +014dd7f7a9decb1d89c0d72f0258ca96 chromium-tcmalloc.patch +e6302ae2635dc4d0c75c32e97a4bd3b0 chromium-no-sbrk.patch +eb05d2763beaa02e20ddeaf51dadf327 chromium-stdstring.patch" diff --git a/testing/chromium/chromium-c99math.patch b/testing/chromium/chromium-c99math.patch new file mode 100644 index 0000000000..37ed224c62 --- /dev/null +++ b/testing/chromium/chromium-c99math.patch @@ -0,0 +1,11 @@ +--- chromium-13.0.754.0.orig/base/float_util.h ++++ chromium-13.0.754.0/base/float_util.h +@@ -19,7 +19,7 @@ + + inline bool IsFinite(const double& number) { + #if defined(OS_POSIX) +- return finite(number) != 0; ++ return isfinite(number) != 0; + #elif defined(OS_WIN) + return _finite(number) != 0; + #endif diff --git a/testing/chromium/chromium-dlfcn.patch b/testing/chromium/chromium-dlfcn.patch new file mode 100644 index 0000000000..9397b1523a --- /dev/null +++ b/testing/chromium/chromium-dlfcn.patch @@ -0,0 +1,10 @@ +--- chromium-13.0.754.0.orig/net/socket/nss_ssl_util.cc ++++ chromium-13.0.754.0/net/socket/nss_ssl_util.cc +@@ -8,6 +8,7 @@ + #include <secerr.h> + #include <ssl.h> + #include <sslerr.h> ++#include <dlfcn.h> + + #include <string> + diff --git a/testing/chromium/chromium-futimens.patch b/testing/chromium/chromium-futimens.patch new file mode 100644 index 0000000000..0662bcad11 --- /dev/null +++ b/testing/chromium/chromium-futimens.patch @@ -0,0 +1,22 @@ +--- chromium-13.0.754.0.orig/base/platform_file_posix.cc ++++ chromium-13.0.754.0/base/platform_file_posix.cc +@@ -167,10 +167,15 @@ + if (file < 0) + return false; + +- timeval times[2]; +- times[0] = last_access_time.ToTimeVal(); +- times[1] = last_modified_time.ToTimeVal(); +- return !futimes(file, times); ++ timespec times[2]; ++ ++ times[0].tv_sec = last_access_time.ToTimeT(); ++ times[0].tv_nsec = 0; ++ ++ times[1].tv_sec = last_modified_time.ToTimeT(); ++ times[1].tv_nsec = 0; ++ ++ return !futimens(file, times); + } + + bool GetPlatformFileInfo(PlatformFile file, PlatformFileInfo* info) { diff --git a/testing/chromium/chromium-no-mit-screensaver.patch b/testing/chromium/chromium-no-mit-screensaver.patch new file mode 100644 index 0000000000..e6061e26c5 --- /dev/null +++ b/testing/chromium/chromium-no-mit-screensaver.patch @@ -0,0 +1,82 @@ +--- chromium-13.0.754.0.orig/chrome/browser/idle_query_linux.cc ++++ chromium-13.0.754.0/chrome/browser/idle_query_linux.cc +@@ -4,35 +4,12 @@ + + #include "chrome/browser/idle_query_linux.h" + +-#include <X11/Xlib.h> +-#include <X11/extensions/scrnsaver.h> +- + namespace browser { + + class IdleData { + public: +- IdleData() { +- int event_base; +- int error_base; +- display = XOpenDisplay(NULL); +- if (XScreenSaverQueryExtension(display, &event_base, &error_base)) { +- mit_info = XScreenSaverAllocInfo(); +- } else { +- mit_info = NULL; +- } +- } +- +- ~IdleData() { +- if (display) { +- XCloseDisplay(display); +- display = NULL; +- } +- if (mit_info) +- XFree(mit_info); +- } +- +- XScreenSaverInfo *mit_info; +- Display *display; ++ IdleData() {} ++ ~IdleData() {} + }; + + IdleQueryLinux::IdleQueryLinux() : idle_data_(new IdleData()) {} +@@ -40,16 +17,7 @@ + IdleQueryLinux::~IdleQueryLinux() {} + + int IdleQueryLinux::IdleTime() { +- if (!idle_data_->mit_info || !idle_data_->display) +- return 0; +- +- if (XScreenSaverQueryInfo(idle_data_->display, +- RootWindow(idle_data_->display, 0), +- idle_data_->mit_info)) { +- return (idle_data_->mit_info->idle) / 1000; +- } else { +- return 0; +- } ++ return 0; + } + + } // namespace browser +--- chromium-13.0.754.0.orig/chrome/chrome.gyp ++++ chromium-13.0.754.0/chrome/chrome.gyp +@@ -673,11 +673,6 @@ + 'dependencies': [ + '../build/linux/system.gyp:gtk', + ], +- 'link_settings': { +- 'libraries': [ +- '-lXss', +- ], +- }, + }], + ['OS=="linux" and chromeos==1', { + 'include_dirs': [ +--- chromium-13.0.754.0.orig/chrome/chrome_common.gypi ++++ chromium-13.0.754.0/chrome/chrome_common.gypi +@@ -262,7 +262,6 @@ + 'libraries': [ + '-lX11', + '-lXrender', +- '-lXss', + '-lXext', + ], + }, diff --git a/testing/chromium/chromium-no-sbrk.patch b/testing/chromium/chromium-no-sbrk.patch new file mode 100644 index 0000000000..347896c3f7 --- /dev/null +++ b/testing/chromium/chromium-no-sbrk.patch @@ -0,0 +1,19 @@ +--- chromium-13.0.754.0.orig/third_party/tcmalloc/chromium/src/malloc_hook.cc ++++ chromium-13.0.754.0/third_party/tcmalloc/chromium/src/malloc_hook.cc +@@ -491,16 +491,6 @@ + return result; + } + +-// libc's version: +-extern "C" void* __sbrk(ptrdiff_t increment); +- +-extern "C" void* sbrk(ptrdiff_t increment) __THROW { +- MallocHook::InvokePreSbrkHook(increment); +- void *result = __sbrk(increment); +- MallocHook::InvokeSbrkHook(result, increment); +- return result; +-} +- + /*static*/void* MallocHook::UnhookedMMap(void *start, size_t length, int prot, + int flags, int fd, off_t offset) { + return do_mmap64(start, length, prot, flags, fd, offset); diff --git a/testing/chromium/chromium-stdstring.patch b/testing/chromium/chromium-stdstring.patch new file mode 100644 index 0000000000..4085c7b77f --- /dev/null +++ b/testing/chromium/chromium-stdstring.patch @@ -0,0 +1,15 @@ +--- chromium-13.0.754.0.orig/chrome/browser/debugger/devtools_remote_listen_socket.cc ++++ chromium-13.0.754.0/chrome/browser/debugger/devtools_remote_listen_socket.cc +@@ -157,11 +157,7 @@ + static const std::string kHandshakeString = "ChromeDevToolsHandshake"; + switch (state_) { + case HANDSHAKE: +- if (protocol_field_.compare(kHandshakeString)) { +- state_ = INVALID; +- } else { +- Send(kHandshakeString, true); +- } ++ Send(kHandshakeString, true); + break; + case HEADERS: { + if (!protocol_field_.empty()) { // not end-of-headers diff --git a/testing/chromium/chromium-tcmalloc.patch b/testing/chromium/chromium-tcmalloc.patch new file mode 100644 index 0000000000..3674d1ee4e --- /dev/null +++ b/testing/chromium/chromium-tcmalloc.patch @@ -0,0 +1,60 @@ +--- chromium-13.0.754.0.orig/third_party/tcmalloc/chromium/src/symbolize.cc ++++ chromium-13.0.754.0/third_party/tcmalloc/chromium/src/symbolize.cc +@@ -86,7 +86,7 @@ + return 0; // TODO(csilvers): get argv[0] somehow + #else + // All this work is to do two-way communication. ugh. +- extern char* program_invocation_name; // gcc provides this ++ extern const char* program_invocation_name; // gcc provides this + int *child_in = NULL; // file descriptors + int *child_out = NULL; // for now, we don't worry about child_err + int child_fds[5][2]; // socketpair may be called up to five times below +--- chromium-13.0.754.0.orig/third_party/tcmalloc/chromium/src/tcmalloc.cc ++++ chromium-13.0.754.0/third_party/tcmalloc/chromium/src/tcmalloc.cc +@@ -213,8 +213,6 @@ + void* tc_pvalloc(size_t __size) __THROW + ATTRIBUTE_SECTION(google_malloc); + +- void tc_malloc_stats(void) __THROW +- ATTRIBUTE_SECTION(google_malloc); + int tc_mallopt(int cmd, int value) __THROW + ATTRIBUTE_SECTION(google_malloc); + #ifdef HAVE_STRUCT_MALLINFO // struct mallinfo isn't defined on freebsd +@@ -285,7 +283,6 @@ + void* pvalloc(size_t size) __THROW ALIAS("tc_pvalloc"); + int posix_memalign(void** r, size_t a, size_t s) __THROW + ALIAS("tc_posix_memalign"); +- void malloc_stats(void) __THROW ALIAS("tc_malloc_stats"); + int mallopt(int cmd, int value) __THROW ALIAS("tc_mallopt"); + #ifdef HAVE_STRUCT_MALLINFO + struct mallinfo mallinfo(void) __THROW ALIAS("tc_mallinfo"); +@@ -322,7 +319,6 @@ + int posix_memalign(void** r, size_t a, size_t s) __THROW { + return tc_posix_memalign(r, a, s); + } +- void malloc_stats(void) __THROW { tc_malloc_stats(); } + int mallopt(int cmd, int v) __THROW { return tc_mallopt(cmd, v); } + #ifdef HAVE_STRUCT_MALLINFO + struct mallinfo mallinfo(void) __THROW { return tc_mallinfo(); } +@@ -1232,10 +1228,6 @@ + + // Helpers for use by exported routines below: + +-inline void do_malloc_stats() { +- PrintStats(1); +-} +- + inline int do_mallopt(int cmd, int value) { + return 1; // Indicates error + } +@@ -1535,10 +1527,6 @@ + void* result = do_memalign_or_cpp_memalign(pagesize, size); + MallocHook::InvokeNewHook(result, size); + return result; +-} +- +-extern "C" PERFTOOLS_DLL_DECL void tc_malloc_stats(void) __THROW { +- do_malloc_stats(); + } + + extern "C" PERFTOOLS_DLL_DECL int tc_mallopt(int cmd, int value) __THROW { diff --git a/testing/chromium/chromium-uclibc-resolv.patch b/testing/chromium/chromium-uclibc-resolv.patch new file mode 100644 index 0000000000..736b520a18 --- /dev/null +++ b/testing/chromium/chromium-uclibc-resolv.patch @@ -0,0 +1,35 @@ +--- chromium-13.0.754.0.orig/net/base/dnsrr_resolver.cc ++++ chromium-13.0.754.0/net/base/dnsrr_resolver.cc +@@ -185,16 +185,20 @@ + } + + bool r = true; ++#if defined(OS_POSIX) && !defined(__UCLIBC__) + if ((_res.options & RES_INIT) == 0) { + if (res_ninit(&_res) != 0) + r = false; + } ++#else ++ r = true; ++#endif + + if (r) { + unsigned long saved_options = _res.options; + r = Do(); + +-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && !defined(__UCLIBC__) + if (!r && DnsReloadTimerHasExpired()) { + // When there's no network connection, _res may not be initialized by + // getaddrinfo. Therefore, we call res_nclose only when there are ns +--- chromium-13.0.754.0.orig/net/base/host_resolver_proc.cc ++++ chromium-13.0.754.0/net/base/host_resolver_proc.cc +@@ -198,7 +198,7 @@ + + int err = getaddrinfo(host.c_str(), NULL, &hints, &ai); + bool should_retry = false; +-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && !defined(__UCLIBC__) + // If we fail, re-initialise the resolver just in case there have been any + // changes to /etc/resolv.conf and retry. See http://crbug.com/11380 for info. + if (err && DnsReloadTimerHasExpired()) { diff --git a/testing/chromium/chromium-yasm.patch b/testing/chromium/chromium-yasm.patch new file mode 100644 index 0000000000..a48fda414b --- /dev/null +++ b/testing/chromium/chromium-yasm.patch @@ -0,0 +1,10 @@ +--- chromium-13.0.754.0.orig/third_party/yasm/yasm.gyp ++++ chromium-13.0.754.0/third_party/yasm/yasm.gyp +@@ -59,6 +59,7 @@ + 'targets': [ + { + 'target_name': 'yasm', ++ 'ldflags': ['-lintl'], + 'type': 'executable', + 'toolsets': ['host'], + 'dependencies': [ diff --git a/testing/clapf/APKBUILD b/testing/clapf/APKBUILD new file mode 100644 index 0000000000..9de6de05e5 --- /dev/null +++ b/testing/clapf/APKBUILD @@ -0,0 +1,70 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: +pkgname=clapf +pkgver=0.4.6_rc3 +_realver=0.4.6-rc3 +pkgrel=3 +pkgdesc="clapf is an open source email content filter application" +url="http://clapf.acts.hu" +arch="x86_64" +license="as-is" +depends="clamav-db" +depends_dev="gsl-dev mysql-dev clamav-dev zlib-dev" +makedepends="$depends_dev" +install="$pkgname.pre-install" +pkgusers="clapf" +subpackages="$pkgname-dev" +source="http://clapf.acts.hu/clapf-$_realver.tar.gz + $pkgname.confd + $pkgname.initd" + +_builddir="$srcdir/$pkgname-$_realver" + +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --enable-libclamav \ + --with-tokendb=mysql \ + --with-userdb=mysql \ + --enable-lmtp \ + --with-store=fs \ + --enable-blackhole \ + --enable-rbl \ + --enable-policy \ + --enable-whitelist \ + --enable-blackhole \ + --with-clapf-user=clapf \ + --enable-language-detection \ + --enable-memcached \ + --enable-spamsum + + make || return 1 +} + +package() { + cd "$_builddir" + make -j1 DESTDIR="$pkgdir" install || return 1 + install -Dm755 "$srcdir/$pkgname".initd \ + "$pkgdir/etc/init.d/$pkgname" || return 1 + install -Dm644 "$srcdir/$pkgname".confd \ + "$pkgdir/etc/cond.d/$pkgname" || return 1 + install -do $pkgname "$pkgdir"/var/run/clapf || return 1 +} + +md5sums="7850eb8b75988f3944f2b69b9e3b0c4d clapf-0.4.6-rc3.tar.gz +385318b45b2bccdd76fd312576380735 clapf.confd +263283c96608d696cd5e9eb9de921b16 clapf.initd" diff --git a/testing/clapf/clapf.confd b/testing/clapf/clapf.confd new file mode 100644 index 0000000000..f31009d75d --- /dev/null +++ b/testing/clapf/clapf.confd @@ -0,0 +1,4 @@ +# +# Config file for /etc/init.d/clapf +# +TMPDIR="/var/lib/clapf" diff --git a/testing/clapf/clapf.initd b/testing/clapf/clapf.initd new file mode 100644 index 0000000000..eaf2aa49e3 --- /dev/null +++ b/testing/clapf/clapf.initd @@ -0,0 +1,23 @@ +#!/sbin/runscript +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: + +depend() { + need net + use logger + before mta +} + +start() { + ebegin "Starting clapf" + start-stop-daemon --start --quiet --user clapf --background \ + --exec /usr/sbin/clapf --make-pidfile --pid /var/run/clapf/clapf.pid -- -c /etc/clapf.conf + eend $? +} + +stop() { + ebegin "Stopping clapf" + start-stop-daemon --stop --quiet --pidfile /var/run/clapf/clapf.pid + eend $? +} diff --git a/testing/clapf/clapf.pre-install b/testing/clapf/clapf.pre-install new file mode 100644 index 0000000000..01997df895 --- /dev/null +++ b/testing/clapf/clapf.pre-install @@ -0,0 +1,3 @@ +#!/bin/sh +adduser -H -s /bin/false -D clamav 2>/dev/null +exit 0 diff --git a/testing/clutter/APKBUILD b/testing/clutter/APKBUILD new file mode 100644 index 0000000000..1add156556 --- /dev/null +++ b/testing/clutter/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=clutter +pkgver=1.6.16 +pkgrel=1 +pkgdesc="library for creating fast, visually-appealing interfaces" +url="http://www.clutter-project.org/" +arch="all" +license="LGPL" +depends= +depends_dev="gdk-pixbuf-dev json-glib-dev atk-dev pango-dev mesa-dev libxcomposite-dev cairo-dev" +makedepends="$depends_dev gobject-introspection-dev intltool" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="ftp://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2" + +_builddir="${srcdir}/${pkgname}-${pkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="9c7e9c5356d7e3405b756ce6a91c15f3 clutter-1.6.16.tar.bz2" diff --git a/testing/compiz/APKBUILD b/testing/compiz/APKBUILD new file mode 100644 index 0000000000..37333da6af --- /dev/null +++ b/testing/compiz/APKBUILD @@ -0,0 +1,55 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=compiz +pkgver=0.8.8 +pkgrel=1 +pkgdesc="opengl window and composition manager" +url="http://www.compiz.org/" +arch="all" +license="GPL" +depends= +depends_dev="mesa-dev + libx11-dev + libxslt-dev + libsm-dev + libxcomposite-dev + libxrender-dev + libxrandr-dev + libxinerama-dev + libwnck-dev + glib-dev + gconf-dev + startup-notification-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://releases.compiz.org/$pkgver/compiz-$pkgver.tar.gz" + +_builddir="$srcdir"/compiz-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="d7e96f839b7cb0901470d5da04be4db2 compiz-0.8.8.tar.gz" diff --git a/testing/csync2/01-csync2-sqlite3.patch b/testing/csync2/01-csync2-sqlite3.patch new file mode 100644 index 0000000000..364dcca792 --- /dev/null +++ b/testing/csync2/01-csync2-sqlite3.patch @@ -0,0 +1,518 @@ +diff -ruN csync2-1.34.vanilla/action.c csync2-1.34/action.c +--- csync2-1.34.vanilla/action.c 2007-07-24 23:04:18.000000000 +0200 ++++ csync2-1.34/action.c 2008-06-12 15:36:47.000000000 +0200 +@@ -69,7 +69,7 @@ + "SELECT filename from action WHERE command = '%s' " + "and logfile = '%s'", command, logfile) + { +- textlist_add(&tl, SQL_V[0], 0); ++ textlist_add(&tl, SQL_V(0), 0); + } SQL_END; + + mark = strstr(command_clr, "%%"); +@@ -130,7 +130,7 @@ + SQL_BEGIN("Checking for sceduled commands", + "SELECT command, logfile FROM action GROUP BY command, logfile") + { +- textlist_add2(&tl, SQL_V[0], SQL_V[1], 0); ++ textlist_add2(&tl, SQL_V(0), SQL_V(1), 0); + } SQL_END; + + for (t = tl; t != 0; t = t->next) +diff -ruN csync2-1.34.vanilla/check.c csync2-1.34/check.c +--- csync2-1.34.vanilla/check.c 2007-07-24 23:04:18.000000000 +0200 ++++ csync2-1.34/check.c 2008-06-12 15:36:47.000000000 +0200 +@@ -159,7 +159,7 @@ + "SELECT filename from file where " + "filename = '%s' %s ORDER BY filename", url_encode(file), where_rec) + { +- const char *filename = url_decode(SQL_V[0]); ++ const char *filename = url_decode(SQL_V(0)); + if ( lstat_strict(prefixsubst(filename), &st) != 0 || csync_check_pure(filename) ) + textlist_add(&tl, filename, 0); + } SQL_END; +@@ -213,8 +213,9 @@ + + if ( check_type>0 && lstat_strict(prefixsubst(file), &st) != 0 ) { + if ( ignnoent ) return 0; ++ perror("blup"); + csync_fatal("This should not happen: " +- "Can't stat %s.\n", file); ++ "Can't stat %s %s %d %d %d.\n", prefixsubst(file), file,stat(file,&st),lstat_strict(file,&st),errno); + } + + switch ( check_type ) +@@ -231,7 +232,7 @@ + "filename = '%s'", url_encode(file)) + { + if ( !csync_cmpchecktxt(checktxt, +- url_decode(SQL_V[0])) ) { ++ url_decode(SQL_V(0))) ) { + csync_debug(2, "File has changed: %s\n", file); + this_is_dirty = 1; + } +diff -ruN csync2-1.34.vanilla/config.h.in csync2-1.34/config.h.in +--- csync2-1.34.vanilla/config.h.in 2007-07-24 23:04:24.000000000 +0200 ++++ csync2-1.34/config.h.in 2008-06-12 15:36:47.000000000 +0200 +@@ -6,8 +6,8 @@ + /* Define to 1 if you have the `rsync' library (-lrsync). */ + #undef HAVE_LIBRSYNC + +-/* Define to 1 if you have the `sqlite' library (-lsqlite). */ +-#undef HAVE_LIBSQLITE ++/* Define to 1 if you have the `sqlite3' library (-lsqlite3). */ ++#undef HAVE_LIBSQLITE3 + + /* Name of package */ + #undef PACKAGE +diff -ruN csync2-1.34.vanilla/configure csync2-1.34/configure +--- csync2-1.34.vanilla/configure 2007-07-24 23:04:25.000000000 +0200 ++++ csync2-1.34/configure 2008-06-12 15:36:47.000000000 +0200 +@@ -3671,13 +3671,13 @@ + + else + +-{ echo "$as_me:$LINENO: checking for sqlite_exec in -lsqlite" >&5 +-echo $ECHO_N "checking for sqlite_exec in -lsqlite... $ECHO_C" >&6; } +-if test "${ac_cv_lib_sqlite_sqlite_exec+set}" = set; then ++{ echo "$as_me:$LINENO: checking for sqlite3_exec in -lsqlite3" >&5 ++echo $ECHO_N "checking for sqlite3_exec in -lsqlite3... $ECHO_C" >&6; } ++if test "${ac_cv_lib_sqlite3_sqlite3_exec+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lsqlite $LIBS" ++LIBS="-lsqlite3 $LIBS" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -3691,11 +3691,11 @@ + #ifdef __cplusplus + extern "C" + #endif +-char sqlite_exec (); ++char sqlite3_exec (); + int + main () + { +-return sqlite_exec (); ++return sqlite3_exec (); + ; + return 0; + } +@@ -3718,30 +3718,30 @@ + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then +- ac_cv_lib_sqlite_sqlite_exec=yes ++ ac_cv_lib_sqlite3_sqlite3_exec=yes + else + echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + +- ac_cv_lib_sqlite_sqlite_exec=no ++ ac_cv_lib_sqlite3_sqlite3_exec=no + fi + + rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ echo "$as_me:$LINENO: result: $ac_cv_lib_sqlite_sqlite_exec" >&5 +-echo "${ECHO_T}$ac_cv_lib_sqlite_sqlite_exec" >&6; } +-if test $ac_cv_lib_sqlite_sqlite_exec = yes; then ++{ echo "$as_me:$LINENO: result: $ac_cv_lib_sqlite3_sqlite3_exec" >&5 ++echo "${ECHO_T}$ac_cv_lib_sqlite3_sqlite3_exec" >&6; } ++if test $ac_cv_lib_sqlite3_sqlite3_exec = yes; then + cat >>confdefs.h <<_ACEOF +-#define HAVE_LIBSQLITE 1 ++#define HAVE_LIBSQLITE3 1 + _ACEOF + +- LIBS="-lsqlite $LIBS" ++ LIBS="-lsqlite3 $LIBS" + + else +- { { echo "$as_me:$LINENO: error: libsqlite is required" >&5 +-echo "$as_me: error: libsqlite is required" >&2;} ++ { { echo "$as_me:$LINENO: error: libsqlite3 is required" >&5 ++echo "$as_me: error: libsqlite3 is required" >&2;} + { (exit 1); exit 1; }; } + fi + +diff -ruN csync2-1.34.vanilla/configure.ac csync2-1.34/configure.ac +--- csync2-1.34.vanilla/configure.ac 2007-07-24 23:04:19.000000000 +0200 ++++ csync2-1.34/configure.ac 2008-06-12 15:36:47.000000000 +0200 +@@ -47,7 +47,7 @@ + AS_HELP_STRING([--with-libsqlite-source=source-tar-file], + [build this libsqlite and link statically against it (hack! hack!)]), + AC_SUBST([libsqlite_source_file], $withval), +- AC_CHECK_LIB([sqlite], [sqlite_exec], , [AC_MSG_ERROR(libsqlite is required)]) ++ AC_CHECK_LIB([sqlite3], [sqlite3_exec], , [AC_MSG_ERROR(libsqlite3 is required)]) + ) + AM_CONDITIONAL([PRIVATE_LIBSQLITE], [test -n "$libsqlite_source_file"]) + +diff -ruN csync2-1.34.vanilla/conn.c csync2-1.34/conn.c +--- csync2-1.34.vanilla/conn.c 2007-07-24 23:04:18.000000000 +0200 ++++ csync2-1.34/conn.c 2008-06-12 15:36:47.000000000 +0200 +@@ -181,7 +181,7 @@ + "SELECT certdata FROM x509_cert WHERE peername = '%s'", + url_encode(peername)) + { +- if (!strcmp(SQL_V[0], certdata)) ++ if (!strcmp(SQL_V(0), certdata)) + cert_is_ok = 1; + else + cert_is_ok = 0; +diff -ruN csync2-1.34.vanilla/csync2.c csync2-1.34/csync2.c +--- csync2-1.34.vanilla/csync2.c 2007-07-24 23:04:18.000000000 +0200 ++++ csync2-1.34/csync2.c 2008-06-12 15:36:47.000000000 +0200 +@@ -582,8 +582,8 @@ + SQL_BEGIN("Check all hints", + "SELECT filename, recursive FROM hint") + { +- textlist_add(&tl, url_decode(SQL_V[0]), +- atoi(SQL_V[1])); ++ textlist_add(&tl, url_decode(SQL_V(0)), ++ atoi(SQL_V(1))); + } SQL_END; + + for (t = tl; t != 0; t = t->next) { +@@ -659,7 +659,7 @@ + "SELECT filename FROM file WHERE filename = '%s' %s", + url_encode(realname), where_rec) + { +- char *filename = strdup(url_encode(SQL_V[0])); ++ char *filename = strdup(url_encode(SQL_V(0))); + csync_mark(filename, 0, 0); + free(filename); + } SQL_END; +@@ -695,7 +695,7 @@ + SQL_BEGIN("DB Dump - Hint", + "SELECT recursive, filename FROM hint ORDER BY filename") + { +- printf("%s\t%s\n", SQL_V[0], url_decode(SQL_V[1])); ++ printf("%s\t%s\n", SQL_V(0), url_decode(SQL_V(1))); + retval = -1; + } SQL_END; + break; +@@ -705,8 +705,8 @@ + SQL_BEGIN("DB Dump - File", + "SELECT checktxt, filename FROM file ORDER BY filename") + { +- if (csync_find_next(0, url_decode(SQL_V[1]))) { +- printf("%s\t%s\n", url_decode(SQL_V[0]), url_decode(SQL_V[1])); ++ if (csync_find_next(0, url_decode(SQL_V(1)))) { ++ printf("%s\t%s\n", url_decode(SQL_V(0)), url_decode(SQL_V(1))); + retval = -1; + } + } SQL_END; +@@ -717,8 +717,8 @@ + SQL_BEGIN("DB Dump - File", + "SELECT checktxt, filename FROM file ORDER BY filename") + { +- if ( csync_match_file_host(url_decode(SQL_V[1]), argv[optind], argv[optind+1], 0) ) { +- printf("%s\t%s\n", url_decode(SQL_V[0]), url_decode(SQL_V[1])); ++ if ( csync_match_file_host(url_decode(SQL_V(1)), argv[optind], argv[optind+1], 0) ) { ++ printf("%s\t%s\n", url_decode(SQL_V(0)), url_decode(SQL_V(1))); + retval = -1; + } + } SQL_END; +@@ -769,9 +769,9 @@ + SQL_BEGIN("DB Dump - Dirty", + "SELECT force, myname, peername, filename FROM dirty ORDER BY filename") + { +- if (csync_find_next(0, url_decode(SQL_V[3]))) { +- printf("%s\t%s\t%s\t%s\n", atoi(SQL_V[0]) ? "force" : "chary", +- url_decode(SQL_V[1]), url_decode(SQL_V[2]), url_decode(SQL_V[3])); ++ if (csync_find_next(0, url_decode(SQL_V(3)))) { ++ printf("%s\t%s\t%s\t%s\n", atoi(SQL_V(0)) ? "force" : "chary", ++ url_decode(SQL_V(1)), url_decode(SQL_V(2)), url_decode(SQL_V(3))); + retval = -1; + } + } SQL_END; +diff -ruN csync2-1.34.vanilla/csync2.h csync2-1.34/csync2.h +--- csync2-1.34.vanilla/csync2.h 2007-07-24 23:04:18.000000000 +0200 ++++ csync2-1.34/csync2.h 2008-06-12 15:36:47.000000000 +0200 +@@ -22,6 +22,7 @@ + #define CSYNC2_H 1 + + #define _GNU_SOURCE ++#define _FILE_OFFSET_BITS 64 + + #include "config.h" + #include <stdio.h> +@@ -91,19 +92,24 @@ + extern int csync_db_next(void *vmx, const char *err, + int *pN, const char ***pazValue, const char ***pazColName); + extern void csync_db_fin(void *vmx, const char *err); ++extern void * csync_db_colblob(void *stmtx,int col); ++ + + #define SQL(e, s, ...) csync_db_sql(e, s, ##__VA_ARGS__) + ++#define SQL_V(col) \ ++ (csync_db_colblob(SQL_VM,col)) ++ + #define SQL_BEGIN(e, s, ...) \ + { \ + char *SQL_ERR = e; \ + void *SQL_VM = csync_db_begin(SQL_ERR, s, ##__VA_ARGS__); \ + int SQL_COUNT = 0; \ + while (1) { \ +- const char **SQL_V, **SQL_N; \ ++ const char **notSQL_V, **notSQL_N; \ + int SQL_C; \ + if ( !csync_db_next(SQL_VM, SQL_ERR, \ +- &SQL_C, &SQL_V, &SQL_N) ) break; \ ++ &SQL_C, ¬SQL_V, ¬SQL_N) ) break; \ + SQL_COUNT++; + + #define SQL_FIN }{ +diff -ruN csync2-1.34.vanilla/daemon.c csync2-1.34/daemon.c +--- csync2-1.34.vanilla/daemon.c 2007-07-24 23:04:18.000000000 +0200 ++++ csync2-1.34/daemon.c 2008-06-12 15:36:47.000000000 +0200 +@@ -443,8 +443,8 @@ + strcmp(tag[2], "-") ? url_encode(tag[2]) : "", + strcmp(tag[2], "-") ? "'" : "") + { +- if ( csync_match_file_host(url_decode(SQL_V[1]), tag[1], peer, (const char **)&tag[3]) ) +- conn_printf("%s\t%s\n", SQL_V[0], SQL_V[1]); ++ if ( csync_match_file_host(url_decode(SQL_V(1)), tag[1], peer, (const char **)&tag[3]) ) ++ conn_printf("%s\t%s\n", SQL_V(0), SQL_V(1)); + } SQL_END; + break; + +diff -ruN csync2-1.34.vanilla/db.c csync2-1.34/db.c +--- csync2-1.34.vanilla/db.c 2007-07-24 23:04:18.000000000 +0200 ++++ csync2-1.34/db.c 2008-06-12 15:36:47.000000000 +0200 +@@ -19,7 +19,7 @@ + */ + + #include "csync2.h" +-#include <sqlite.h> ++#include <sqlite3.h> + #include <stdio.h> + #include <stdarg.h> + #include <stdlib.h> +@@ -33,7 +33,7 @@ + int db_blocking_mode = 1; + int db_sync_mode = 1; + +-static sqlite *db = 0; ++static sqlite3 *db = 0; + + static int get_dblock_timeout() + { +@@ -128,44 +128,46 @@ + + void csync_db_open(const char *file) + { +- db = sqlite_open(file, 0, 0); +- if ( db == 0 ) +- csync_fatal("Can't open database: %s\n", file); ++ int r; ++ //db = sqlite_open(file, 0, 0); ++ r=sqlite3_open(file, &db); ++ if ( db == 0 || r) ++ csync_fatal("Can't open database: %s, result %d\n", file,r); + + /* ignore errors on table creation */ + in_sql_query++; +- sqlite_exec(db, ++ sqlite3_exec(db, + "CREATE TABLE file (" + " filename, checktxt," + " UNIQUE ( filename ) ON CONFLICT REPLACE" + ")", + 0, 0, 0); +- sqlite_exec(db, ++ sqlite3_exec(db, + "CREATE TABLE dirty (" + " filename, force, myname, peername," + " UNIQUE ( filename, peername ) ON CONFLICT IGNORE" + ")", + 0, 0, 0); +- sqlite_exec(db, ++ sqlite3_exec(db, + "CREATE TABLE hint (" + " filename, recursive," + " UNIQUE ( filename, recursive ) ON CONFLICT IGNORE" + ")", + 0, 0, 0); +- sqlite_exec(db, ++ sqlite3_exec(db, + "CREATE TABLE action (" + " filename, command, logfile," + " UNIQUE ( filename, command ) ON CONFLICT IGNORE" + ")", + 0, 0, 0); +- sqlite_exec(db, ++ sqlite3_exec(db, + "CREATE TABLE x509_cert (" + " peername, certdata," + " UNIQUE ( peername ) ON CONFLICT IGNORE" + ")", + 0, 0, 0); + if (!db_sync_mode) +- sqlite_exec(db, "PRAGMA synchronous = OFF", 0, 0, 0); ++ sqlite3_exec(db, "PRAGMA synchronous = OFF", 0, 0, 0); + in_sql_query--; + } + +@@ -178,7 +180,7 @@ + SQL("COMMIT TRANSACTION", "COMMIT TRANSACTION"); + tqueries_counter = -10; + } +- sqlite_close(db); ++ sqlite3_close(db); + begin_commit_recursion--; + db = 0; + } +@@ -199,7 +201,7 @@ + csync_debug(2, "SQL: %s\n", sql); + + while (1) { +- rc = sqlite_exec(db, sql, 0, 0, 0); ++ rc = sqlite3_exec(db, sql, 0, 0, 0); + if ( rc != SQLITE_BUSY ) break; + if (busyc++ > get_dblock_timeout()) { db = 0; csync_fatal(DEADLOCK_MESSAGE); } + csync_debug(2, "Database is busy, sleeping a sec.\n"); +@@ -216,7 +218,8 @@ + + void* csync_db_begin(const char *err, const char *fmt, ...) + { +- sqlite_vm *vm; ++ //sqlite_vm *vm; ++ sqlite3_stmt *stmt; + char *sql; + va_list ap; + int rc, busyc = 0; +@@ -231,7 +234,7 @@ + csync_debug(2, "SQL: %s\n", sql); + + while (1) { +- rc = sqlite_compile(db, sql, 0, &vm, 0); ++ rc = sqlite3_prepare(db, sql, 0, &stmt, 0); + if ( rc != SQLITE_BUSY ) break; + if (busyc++ > get_dblock_timeout()) { db = 0; csync_fatal(DEADLOCK_MESSAGE); } + csync_debug(2, "Database is busy, sleeping a sec.\n"); +@@ -242,19 +245,21 @@ + csync_fatal("Database Error: %s [%d]: %s\n", err, rc, sql); + free(sql); + +- return vm; ++ return stmt; + } + +-int csync_db_next(void *vmx, const char *err, ++int csync_db_next(void *stmtx, const char *err, + int *pN, const char ***pazValue, const char ***pazColName) + { +- sqlite_vm *vm = vmx; ++ //sqlite_vm *vm = vmx; ++ sqlite3_stmt *stmt = stmtx; + int rc, busyc = 0; + + csync_debug(4, "Trying to fetch a row from the database.\n"); + + while (1) { +- rc = sqlite_step(vm, pN, pazValue, pazColName); ++ //rc = sqlite_step(vm, pN, pazValue, pazColName); ++ rc = sqlite3_step(stmt); + if ( rc != SQLITE_BUSY ) break; + if (busyc++ > get_dblock_timeout()) { db = 0; csync_fatal(DEADLOCK_MESSAGE); } + csync_debug(2, "Database is busy, sleeping a sec.\n"); +@@ -267,16 +272,21 @@ + + return rc == SQLITE_ROW; + } ++void * csync_db_colblob(void *stmtx,int col) { ++ sqlite3_stmt *stmt = stmtx; ++ return sqlite3_column_blob(stmt,col); ++} + +-void csync_db_fin(void *vmx, const char *err) ++void csync_db_fin(void *stmtx, const char *err) + { +- sqlite_vm *vm = vmx; ++ //sqlite_vm *vm = vmx; ++ sqlite3_stmt *stmt=stmtx; + int rc, busyc = 0; + + csync_debug(2, "SQL Query finished.\n"); + + while (1) { +- rc = sqlite_finalize(vm, 0); ++ rc = sqlite3_finalize(stmt); + if ( rc != SQLITE_BUSY ) break; + if (busyc++ > get_dblock_timeout()) { db = 0; csync_fatal(DEADLOCK_MESSAGE); } + csync_debug(2, "Database is busy, sleeping a sec.\n"); +--- src/csync2-1.34/update.c ++++ new/update.c +@@ -545,12 +545,12 @@ + "SELECT filename, myname, force FROM dirty WHERE peername = '%s' " + "ORDER by filename ASC", url_encode(peername)) + { +- const char *filename = url_decode(SQL_V[0]); ++ const char *filename = url_decode(SQL_V(0)); + int i, use_this = patnum == 0; + for (i=0; i<patnum && !use_this; i++) + if ( compare_files(filename, patlist[i], recursive) ) use_this = 1; + if (use_this) +- textlist_add2(&tl, filename, url_decode(SQL_V[1]), atoi(SQL_V[2])); ++ textlist_add2(&tl, filename, url_decode(SQL_V(1)), atoi(SQL_V(2))); + } SQL_END; + + /* just return if there are no files to update */ +@@ -626,7 +626,7 @@ + SQL_BEGIN("Get hosts from dirty table", + "SELECT peername FROM dirty GROUP BY peername ORDER BY random()") + { +- textlist_add(&tl, url_decode(SQL_V[0]), 0); ++ textlist_add(&tl, url_decode(SQL_V(0)), 0); + } SQL_END; + + for (t = tl; t != 0; t = t->next) { +@@ -798,7 +798,7 @@ + filename ? url_encode(filename) : "", + filename ? "'" : "") + { +- char *l_file = strdup(url_decode(SQL_V[1])), *l_checktxt = strdup(url_decode(SQL_V[0])); ++ char *l_file = strdup(url_decode(SQL_V(1))), *l_checktxt = strdup(url_decode(SQL_V(0))); + if ( csync_match_file_host(l_file, myname, peername, 0) ) { + if ( remote_eof ) { + got_remote_eof: +@@ -936,17 +936,17 @@ + const struct csync_group *g = 0; + const struct csync_group_host *h; + +- const char *filename = url_decode(SQL_V[0]); ++ const char *filename = url_decode(SQL_V(0)); + + while ((g=csync_find_next(g, filename)) != 0) { +- if (!strcmp(g->myname, SQL_V[1])) ++ if (!strcmp(g->myname, SQL_V(1))) + for (h = g->host; h; h = h->next) { +- if (!strcmp(h->hostname, SQL_V[2])) ++ if (!strcmp(h->hostname, SQL_V(2))) + goto this_dirty_record_is_ok; + } + } + +- textlist_add2(&tl, SQL_V[0], SQL_V[2], 0); ++ textlist_add2(&tl, SQL_V(0), SQL_V(2), 0); + + this_dirty_record_is_ok: + ; +@@ -962,8 +962,8 @@ + SQL_BEGIN("Query file DB", + "SELECT filename FROM file") + { +- if (!csync_find_next(0, url_decode(SQL_V[0]))) +- textlist_add(&tl, SQL_V[0], 0); ++ if (!csync_find_next(0, url_decode(SQL_V(0)))) ++ textlist_add(&tl, SQL_V(0), 0); + } SQL_END; + for (t = tl; t != 0; t = t->next) { + csync_debug(1, "Removing %s from file db.\n", t->value); diff --git a/testing/csync2/02-csync2-1.34-gnutls_pkgconfig.patch b/testing/csync2/02-csync2-1.34-gnutls_pkgconfig.patch new file mode 100644 index 0000000000..b9e1d2726e --- /dev/null +++ b/testing/csync2/02-csync2-1.34-gnutls_pkgconfig.patch @@ -0,0 +1,24 @@ +--- old/configure.ac ++++ new/configure.ac +@@ -59,16 +59,11 @@ + if test "$enable_gnutls" != no + then + +- # Check for gnuTLS. +- AM_PATH_LIBGNUTLS(1.0.0, , [ AC_MSG_ERROR([[gnutls not found; install gnutls, gnutls-openssl and libtasn1 packages for your system or run configure with --disable-gnutls]]) ]) +- +- # This is a bloody hack for fedora core +- CFLAGS="$CFLAGS $LIBGNUTLS_CFLAGS" +- LIBS="$LIBS $LIBGNUTLS_LIBS -ltasn1" +- +- # Check gnuTLS SSL compatibility lib. +- AC_CHECK_LIB([gnutls-openssl], [SSL_new], , [AC_MSG_ERROR([[gnutls-openssl not found; install gnutls, gnutls-openssl and libtasn1 packages for your system or run configure with --disable-gnutls]])]) +- ++ PKG_CHECK_MODULES(LIBGNUTLS, gnutls, [ ++ CFLAGS="$CFLAGS `$PKG_CONFIG --cflags gnutls libssl`" ++ LIBS="$LIBS `$PKG_CONFIG --libs gnutls libssl` -DHAVE_LIBGNUTLS_OPENSSL" ++ ]) ++ + fi + + AC_CONFIG_FILES([Makefile]) diff --git a/testing/csync2/APKBUILD b/testing/csync2/APKBUILD new file mode 100644 index 0000000000..425d15cc25 --- /dev/null +++ b/testing/csync2/APKBUILD @@ -0,0 +1,45 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=csync2 +pkgver=1.34 +pkgrel=0 +pkgdesc="a cluster synchronization tool" +url="http://oss.linbit.com/csync2/" +arch="all" +license="GPL-2+" +depends= +makedepends="librsync-dev gnutls-dev sqlite-dev autoconf automake bison flex" +install= +subpackages="$pkgname-doc" +source="http://oss.linbit.com/csync2/csync2-$pkgver.tar.gz + 01-csync2-sqlite3.patch + 02-csync2-1.34-gnutls_pkgconfig.patch + " + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + for i in ../*.patch; do + msg "Applying $i" + patch -p1 -i $i || return 1 + done + autoreconf --install --force +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install +} + +md5sums="efc8a3548996b79cef2ad76af5e93cd8 csync2-1.34.tar.gz +35ba1bb1aafd87741c7ef55bdfb2e212 01-csync2-sqlite3.patch +31b2ed6a7bb424ccdbf1486223eca323 02-csync2-1.34-gnutls_pkgconfig.patch" diff --git a/testing/daemontools/0.76-errno.patch b/testing/daemontools/0.76-errno.patch new file mode 100644 index 0000000000..3af157c462 --- /dev/null +++ b/testing/daemontools/0.76-errno.patch @@ -0,0 +1,11 @@ +--- src/error.h 2001-07-12 11:49:49.000000000 -0500 ++++ src/error.h 2003-02-26 02:14:06.000000000 -0600 +@@ -3,7 +3,7 @@ + #ifndef ERROR_H + #define ERROR_H + +-extern int errno; ++#include <errno.h> + + extern int error_intr; + extern int error_nomem; diff --git a/testing/daemontools/0.76-warnings.patch b/testing/daemontools/0.76-warnings.patch new file mode 100644 index 0000000000..f558bb18b1 --- /dev/null +++ b/testing/daemontools/0.76-warnings.patch @@ -0,0 +1,74 @@ +Fixup misc warnings + +Patch by RiverRat + +http://bugs.gentoo.org/124487 + +--- src/chkshsgr.c ++++ src/chkshsgr.c +@@ -1,10 +1,13 @@ + /* Public domain. */ + ++#include <sys/types.h> ++#include <stdlib.h> ++#include <grp.h> + #include <unistd.h> + + int main() + { +- short x[4]; ++ gid_t x[4]; + + x[0] = x[1] = 0; + if (getgroups(1,x) == 0) if (setgroups(1,x) == -1) _exit(1); +--- src/matchtest.c ++++ src/matchtest.c +@@ -1,3 +1,4 @@ ++#include <unistd.h> + #include "match.h" + #include "buffer.h" + #include "str.h" +--- src/multilog.c ++++ src/multilog.c +@@ -1,3 +1,4 @@ ++#include <stdio.h> + #include <unistd.h> + #include <sys/types.h> + #include <sys/stat.h> +--- src/prot.c ++++ src/prot.c +@@ -1,5 +1,8 @@ + /* Public domain. */ + ++#include <sys/types.h> ++#include <unistd.h> ++#include <grp.h> + #include "hasshsgr.h" + #include "prot.h" + +--- src/seek_set.c ++++ src/seek_set.c +@@ -1,6 +1,7 @@ + /* Public domain. */ + + #include <sys/types.h> ++#include <unistd.h> + #include "seek.h" + + #define SET 0 /* sigh */ +--- src/supervise.c ++++ src/supervise.c +@@ -1,3 +1,4 @@ ++#include <stdio.h> + #include <unistd.h> + #include <sys/types.h> + #include <sys/stat.h> +--- src/pathexec_run.c ++++ src/pathexec_run.c +@@ -1,5 +1,6 @@ + /* Public domain. */ + ++#include <unistd.h> + #include "error.h" + #include "stralloc.h" + #include "str.h" diff --git a/testing/daemontools/APKBUILD b/testing/daemontools/APKBUILD new file mode 100644 index 0000000000..6fafd9edc7 --- /dev/null +++ b/testing/daemontools/APKBUILD @@ -0,0 +1,49 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=daemontools +pkgver=0.76 +pkgrel=1 +pkgdesc="Collection of tools for managing UNIX services" +url="http://cr.yp.to/daemontools.html" +arch="all" +license="public-domain" +depends= +# The makefile need GNU cat for 'cat -v' +makedepends="coreutils" + +source="http://cr.yp.to/daemontools/$pkgname-$pkgver.tar.gz + 0.76-errno.patch + 0.76-warnings.patch + svscan.initd + " + +_builddir="$srcdir"/admin/$pkgname-$pkgver/src + +prepare() { + cd "$_builddir" + for i in "$srcdir"/*.patch; do + msg "Applying $i" + patch -p1 -i $i || return 1 + done +} + +build() { + cd "$_builddir" + echo "${CC:-"gcc"} ${CFLAGS}" > conf-cc + echo "${CC:-"gcc"} ${LDFLAGS}" > conf-ld + touch > home + make PATH="/usr/bin:/bin" || return 1 +} + +package() { + cd "$_builddir" + mkdir -p "$pkgdir"/usr/bin "$pkgdir"/service + for f in $(cat ../package/commands); do + cp $f "$pkgdir"/usr/bin/$f + done + install -Dm755 "$srcdir"/svscan.initd "$pkgdir"/etc/init.d/svscan +} + +md5sums="1871af2453d6e464034968a0fbcb2bfc daemontools-0.76.tar.gz +c75438b1c3b9d9f67691bd10cf3c8e52 0.76-errno.patch +ad68177f50bfffb6a1cbf8c668de6a55 0.76-warnings.patch +c6e4ace205400be062d3ba82315cbcd1 svscan.initd" diff --git a/testing/daemontools/svscan.initd b/testing/daemontools/svscan.initd new file mode 100644 index 0000000000..bf7af28fa4 --- /dev/null +++ b/testing/daemontools/svscan.initd @@ -0,0 +1,33 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-process/daemontools/files/svscan.init-0.76-r7,v 1.1 2008/12/07 06:59:37 robbat2 Exp $ + +depend() { + use net + before ntpd ntp-client spamd apache apache2 + after firewall +} + +start() { + ebegin "Starting service scan" + setsid start-stop-daemon --start --exec /usr/bin/svscan \ + --background --make-pidfile \ + --pidfile /var/run/svscan.pid -- /service + eend $? +} + +stop() { + ebegin "Stopping service scan" + start-stop-daemon --stop --exec /usr/bin/svscan \ + --pidfile /var/run/svscan.pid + eend $? + + ebegin "Stopping service scan services" + svc -dx /service/* 2>/dev/null + eend $? + + ebegin "Stopping service scan logging" + svc -dx /service/*/log 2>/dev/null + eend $? +} diff --git a/testing/darkice/APKBUILD b/testing/darkice/APKBUILD new file mode 100644 index 0000000000..004fd3fe2e --- /dev/null +++ b/testing/darkice/APKBUILD @@ -0,0 +1,36 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=darkice +pkgver=1.0 +pkgrel=5 +pkgdesc="Live audio streamer. Records audio from an audio interface, encodes it and sends it to a streaming server" +url="http://code.google.com/p/darkice/" +arch="all" +license="GPL" +depends= +depends_dev="alsa-lib-dev faac-dev lame-dev libvorbis-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-doc" +source="http://darkice.googlecode.com/files/$pkgname-$pkgver.tar.gz + darkice.initd + darkice.confd" +_builddir=$srcdir/$pkgname-$pkgver +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc/darkice \ + --without-aacplus \ + --without-twolame + make || return 1 +} +package() { + mkdir -p "$pkgdir"/etc/$pkgname + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname +} +md5sums="1804e63d42a9703d01fe378c9a77c473 darkice-1.0.tar.gz +9afe1b3d2046261d38814abc8304152b darkice.initd +8aaa2212a0e6eff3922e0dba7fab4028 darkice.confd" diff --git a/testing/darkice/darkice.confd b/testing/darkice/darkice.confd new file mode 100644 index 0000000000..1a610d0f4e --- /dev/null +++ b/testing/darkice/darkice.confd @@ -0,0 +1,2 @@ +DARKICE_OPTS="-c /etc/darkice/darkice.cfg" +DARKICE_BIN="/usr/bin/darkice" diff --git a/testing/darkice/darkice.initd b/testing/darkice/darkice.initd new file mode 100755 index 0000000000..1c47771347 --- /dev/null +++ b/testing/darkice/darkice.initd @@ -0,0 +1,20 @@ +#!/sbin/runscript + +depend() { + need net icecast + after firewall +} + +start() { + ebegin "Starting DarkIce" + start-stop-daemon --start --quiet --background \ + --exec ${DARKICE_BIN} -- ${DARKICE_OPTS} + eend $? +} + + +stop() { + ebegin "Stopping DarkIce" + start-stop-daemon --stop --exec $DARKICE_BIN + eend $? +} diff --git a/testing/dbmail/APKBUILD b/testing/dbmail/APKBUILD new file mode 100644 index 0000000000..4c90f96088 --- /dev/null +++ b/testing/dbmail/APKBUILD @@ -0,0 +1,74 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: +pkgname=dbmail +pkgver=3.0.0_rc2 +_realpkgver=3.0.0-rc2 +pkgrel=1 +pkgdesc="Fast and scalable sql based mail services" +url="http://dbmail.org" +arch="all" +license="GPL" +depends= +depends_dev="openldap-dev libsieve-dev glib-dev gmime-dev + mhash-dev libevent-dev libzdb-dev" +makedepends="$depends_dev asciidoc xmlto" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://www.dbmail.org/download/3.0/dbmail-3.0.0-rc2.tar.gz + code-cleanups.patch + $pkgname-imapd.initd + $pkgname-lmtpd.initd + $pkgname-pop3d.initd + $pkgname-httpd.initd + $pkgname-timsieved.initd + " + +_builddir="$srcdir/${pkgname}_${_realpkgver}" + +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --with-sieve \ + --with-ldap + make || return 1 + #make man pages + cd "$_builddir/man" + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + install -Dm644 "$pkgname.conf" "$pkgdir/etc/$pkgname.conf.sample" + mkdir -p "$pkgdir/usr/share/$pkgname" + mv sql/* "$pkgdir/usr/share/$pkgname/" + mv "$pkgname.schema" "$pkgdir/usr/share/$pkgname/" + for i in imapd lmtpd pop3d httpd timsieved; do + install -Dm755 "$srcdir/$pkgname-$i.initd" \ + "$pkgdir/etc/init.d/dbmail-$i" || return 1 + done + #install man pages + cd "$_builddir/man" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="c4fda2da173ddeda25bcf9e2e57abd1e dbmail-3.0.0-rc2.tar.gz +b482ba661bb4b1b6fe50e303f37b2336 code-cleanups.patch +76a0f8f96ca70a4af14c81716134cc5d dbmail-imapd.initd +a6d79d7f0cf0fb80ef2ada71c25d9350 dbmail-lmtpd.initd +504dd74912daeea4268f8c25ddf6de0f dbmail-pop3d.initd +42ac86844fedf5d1afec764170e6a5de dbmail-httpd.initd +4253a7580d82e026ecbaf45ea863e9e7 dbmail-timsieved.initd" diff --git a/testing/dbmail/code-cleanups.patch b/testing/dbmail/code-cleanups.patch new file mode 100644 index 0000000000..83e8f7ea6c --- /dev/null +++ b/testing/dbmail/code-cleanups.patch @@ -0,0 +1,64 @@ +From 6af21775b8c560dd9d65cb2465299a9feae34649 Mon Sep 17 00:00:00 2001 +From: Paul J Stevens <paul@nfg.nl> +Date: Thu, 14 Apr 2011 14:01:32 +0000 +Subject: cleanups + +--- +diff --git a/debian/rules b/debian/rules +index 7804a1b..f459149 100755 +--- a/debian/rules ++++ b/debian/rules +@@ -12,7 +12,7 @@ export SHARED=--enable-static=no + export MANPAGES=--enable-manpages=yes + export REAL_CLEAN= + +-CFLAGS = -Wall -O1 ++CFLAGS = -Wall -std=gnu99 -O1 + LDFLAGS = -lcrypt + + # These are used for cross-compiling and for saving the configure script +@@ -27,10 +27,9 @@ ifneq (,$(findstring devel,$(DEB_BUILD_OPTIONS))) + export MANPAGES= + export SHARED=--enable-shared=no + export STATIC=--enable-static=yes +- export REAL_CLEAN=mrproper + export WITH_LDAP= + export WITH_SIEVE= +- CFLAGS = -g -std=gnu99 ++ CFLAGS = -Wall -std=gnu99 -g + endif + ifneq (,$(findstring ldap,$(DEB_BUILD_OPTIONS))) + export WITH_LDAP=--with-ldap +diff --git a/src/dm_http.c b/src/dm_http.c +index 4b7d2a6..797e63b 100644 +--- a/src/dm_http.c ++++ b/src/dm_http.c +@@ -193,7 +193,7 @@ void Http_getUsers(T R) + evbuffer_add_printf(buf, "\n}}\n"); + } + +- if (buf->totallen) ++ if (EVBUFFER_LENGTH(buf)) + Request_send(R, HTTP_OK, "OK", buf); + else + Request_error(R, HTTP_SERVUNAVAIL, "Server error"); +@@ -279,7 +279,7 @@ void Http_getMailboxes(T R) + MailboxState_free(&b); + } + +- if (buf->totallen) ++ if (EVBUFFER_LENGTH(buf)) + Request_send(R, HTTP_OK, "OK", buf); + else + Request_error(R, HTTP_SERVUNAVAIL, "Server error"); +@@ -375,7 +375,7 @@ void Http_getMessages(T R) + } + } + +- if (buf->totallen) ++ if (EVBUFFER_LENGTH(buf)) + Request_send(R, HTTP_OK, "OK", buf); + else + Request_error(R, HTTP_SERVUNAVAIL, "Server error"); +-- +cgit v0.8.3.4 diff --git a/testing/dbmail/dbmail-httpd.initd b/testing/dbmail/dbmail-httpd.initd new file mode 100644 index 0000000000..832e64046d --- /dev/null +++ b/testing/dbmail/dbmail-httpd.initd @@ -0,0 +1,40 @@ +#!/sbin/runscript +# + +PIDFILE="/var/run/dbmail-httpd.pid" + +depend() { + need net + use mysql + use pgsql + after mta +} + +checkconfig() { + if [ ! -e "/etc/dbmail/dbmail.conf" ]; then + eerror "You need to create apropriate config" + eerror "in /etc/dbmail/ . Example can be found in /etc/dbmail/dbmail.conf.dist" + return 1 + fi + # Avoid using root's TMPDIR + unset TMPDIR +} + + +start() { + checkconfig && \ + ebegin "Starting DBMail HTTP daemon" + start-stop-daemon --start --quiet \ + --exec /usr/sbin/dbmail-httpd \ + --name dbmail-httpd \ + -- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1 + eend $? +} + +stop() { + ebegin "Stopping DBMail HTTP daemon" + start-stop-daemon --stop --quiet --retry 5 \ + --pidfile ${PIDFILE} + eend $? +} + diff --git a/testing/dbmail/dbmail-imapd.initd b/testing/dbmail/dbmail-imapd.initd new file mode 100644 index 0000000000..8f6984feb0 --- /dev/null +++ b/testing/dbmail/dbmail-imapd.initd @@ -0,0 +1,40 @@ +#!/sbin/runscript +# + +PIDFILE="/var/run/dbmail-imapd.pid" + +depend() { + need net + use mysql + use pgsql + after mta +} + +checkconfig() { + if [ ! -e "/etc/dbmail/dbmail.conf" ]; then + eerror "You need to create apropriate config" + eerror "in /etc/dbmail/ . Example can be found in /etc/dbmail/dbmail.conf.dist" + return 1 + fi + # Avoid using root's TMPDIR + unset TMPDIR +} + + +start() { + checkconfig && \ + ebegin "Starting DBMail IMAP daemon" + start-stop-daemon --start --quiet \ + --exec /usr/sbin/dbmail-imapd \ + --name dbmail-imapd \ + -- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1 + eend $? +} + +stop() { + ebegin "Stopping DBMail IMAP daemon" + start-stop-daemon --stop --quiet --retry 5 \ + --pidfile ${PIDFILE} + eend $? +} + diff --git a/testing/dbmail/dbmail-lmtpd.initd b/testing/dbmail/dbmail-lmtpd.initd new file mode 100644 index 0000000000..cea3da6dd8 --- /dev/null +++ b/testing/dbmail/dbmail-lmtpd.initd @@ -0,0 +1,40 @@ +#!/sbin/runscript +# + +PIDFILE="/var/run/dbmail-lmtpd.pid" + +depend() { + need net + use mysql + use pgsql + after mta +} + +checkconfig() { + if [ ! -e "/etc/dbmail/dbmail.conf" ]; then + eerror "You need to create apropriate config" + eerror "in /etc/dbmail/ . Example can be found in /etc/dbmail/dbmail.conf.dist" + return 1 + fi + # Avoid using root's TMPDIR + unset TMPDIR +} + + +start() { + checkconfig && \ + ebegin "Starting DBMail LMTP daemon" + start-stop-daemon --start --quiet \ + --exec /usr/sbin/dbmail-lmtpd \ + --name dbmail-lmtpd \ + -- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1 + eend $? +} + +stop() { + ebegin "Stopping DBMail LMTP daemon" + start-stop-daemon --stop --quiet --retry 5 \ + --pidfile ${PIDFILE} + eend $? +} + diff --git a/testing/dbmail/dbmail-pop3d.initd b/testing/dbmail/dbmail-pop3d.initd new file mode 100644 index 0000000000..8c9e7b874a --- /dev/null +++ b/testing/dbmail/dbmail-pop3d.initd @@ -0,0 +1,40 @@ +#!/sbin/runscript +# + +PIDFILE="/var/run/dbmail-pop3d.pid" + +depend() { + need net + use mysql + use pgsql + after mta +} + +checkconfig() { + if [ ! -e "/etc/dbmail/dbmail.conf" ]; then + eerror "You need to create apropriate config" + eerror "in /etc/dbmail/ . Example can be found in /etc/dbmail/dbmail.conf.dist" + return 1 + fi + # Avoid using root's TMPDIR + unset TMPDIR +} + + +start() { + checkconfig && \ + ebegin "Starting DBMail POP3 daemon" + start-stop-daemon --start --quiet \ + --exec /usr/sbin/dbmail-pop3d \ + --name dbmail-pop3d \ + -- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1 + eend $? +} + +stop() { + ebegin "Stopping DBMail POP3 daemon" + start-stop-daemon --stop --quiet --retry 5 \ + --pidfile ${PIDFILE} + eend $? +} + diff --git a/testing/dbmail/dbmail-timsieved.initd b/testing/dbmail/dbmail-timsieved.initd new file mode 100644 index 0000000000..325badb29f --- /dev/null +++ b/testing/dbmail/dbmail-timsieved.initd @@ -0,0 +1,39 @@ +#!/sbin/runscript +# + +PIDFILE="/var/run/dbmail-timsieved.pid" + +depend() { + need net + use mysql + use pgsql + after mta +} + +checkconfig() { + if [ ! -e "/etc/dbmail/dbmail.conf" ]; then + eerror "You need to create apropriate config" + eerror "in /etc/dbmail/ . Example can be found in /etc/dbmail/dbmail.conf.dist" + return 1 + fi + # Avoid using root's TMPDIR + unset TMPDIR +} + + +start() { + checkconfig && \ + ebegin "Starting DBMail SIEVE daemon" + start-stop-daemon --start --quiet \ + --exec /usr/sbin/dbmail-timsieved \ + -- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1 + eend $? +} + +stop() { + ebegin "Stopping DBMail SIEVE daemon" + start-stop-daemon --stop --quiet --retry 5 \ + --pidfile ${PIDFILE} + eend $? +} + diff --git a/testing/deadbeef/APKBUILD b/testing/deadbeef/APKBUILD new file mode 100644 index 0000000000..e14167f165 --- /dev/null +++ b/testing/deadbeef/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=deadbeef +pkgver=0.5.0_rc1 +pkgrel=0 +pkgdesc="fairly capable playlist-oriented audio player" +url="http://deadbeef.sourceforge.net/" +arch="all" +license="GPL" +depends= +depends_dev="gtk+-dev libmad-dev alsa-lib-dev ffmpeg-dev libsamplerate-dev gettext-dev libiconv-dev" +makedepends="$depends_dev intltool" +install="" +subpackages="$pkgname-dev" +source="http://downloads.sourceforge.net/project/$pkgname/$pkgname-0.5.0-rc1.tar.bz2 + deadbeef-junklib.patch" + +_builddir="${srcdir}/${pkgname}-0.5.0-rc1" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + LIBS="-lintl" ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --disable-sid \ + --disable-ffap || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="ec8100402338d075ff39e714e99e5543 deadbeef-0.5.0-rc1.tar.bz2 +8bf4eb1c52f251da7c7a78b2bb021359 deadbeef-junklib.patch" diff --git a/testing/deadbeef/deadbeef-junklib.patch b/testing/deadbeef/deadbeef-junklib.patch new file mode 100644 index 0000000000..63a29ca938 --- /dev/null +++ b/testing/deadbeef/deadbeef-junklib.patch @@ -0,0 +1,10 @@ +--- deadbeef-0.5.0-rc1.orig/junklib.c ++++ deadbeef-0.5.0-rc1/junklib.c +@@ -23,7 +23,6 @@ + #include <stdlib.h> + #include <string.h> + #if HAVE_ICONV +- #define LIBICONV_PLUG + #include <iconv.h> + #elif HAVE_ICU + #warning icu diff --git a/testing/dnsenum/APKBUILD b/testing/dnsenum/APKBUILD new file mode 100644 index 0000000000..1d9f1b04d4 --- /dev/null +++ b/testing/dnsenum/APKBUILD @@ -0,0 +1,28 @@ +# Contributor: Fabian Affolter <fabian@affolter-engineering.ch> +# Maintainer: +pkgname=dnsenum +pkgver=1.2.2 +pkgrel=0 +pkgdesc="A tool to enumerate DNS info about domains" +url="http://code.google.com/p/dnsenum/" +arch="noarch" +license="GPL2+" +depends="perl-net-ip perl-net-dns perl-net-netmask perl-xml-writer" +depends_dev="" +makedepends="" +install="" +subpackages="" +source="http://$pkgname.googlecode.com/files/$pkgname-$pkgver.tar.gz" + +_builddir="$srcdir" + +build() { + return 0 +} + +package() { + cd "$_builddir" + install -Dm755 "$pkgname".pl "$pkgdir"/usr/bin/$pkgname || return 1 +} + +md5sums="d8806daddff880dcadf90af79720e7fe dnsenum-1.2.2.tar.gz" diff --git a/testing/drizzle/APKBUILD b/testing/drizzle/APKBUILD new file mode 100644 index 0000000000..e1ebdbf71b --- /dev/null +++ b/testing/drizzle/APKBUILD @@ -0,0 +1,66 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com> +pkgname=drizzle +pkgver=2011.03.13 +pkgrel=0 +pkgdesc="A MySQL-derived RDBMS for cloud usage and webapps" +url="http://launchpad.net/drizzle" +arch="all" +license="GPL" +depends= +depends_dev="gperf protobuf-dev pcre-dev boost-dev intltool protobuf-dev +readline-dev python gettext-dev" +makedepends="$depends_dev" +install="drizzle.post-install" +subpackages="$pkgname-dev $pkgname-doc $pkgname-client $pkgname-libs $pkgname-plugins" +source=" + http://launchpad.net/drizzle/elliott/2011-03-14/+download/drizzle7-$pkgver.tar.gz + drizzle.initd + " + +_builddir="$srcdir"/drizzle7-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --disable-nls \ + --without-slave-plugin \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +client() { + mkdir -p "$subpkgdir"/usr/ + mv "$pkgdir"/usr/bin "$subpkgdir"/usr +} + +libs() { + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/lib*.so* "$subpkgdir"/usr/lib +} + +plugins() { + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/drizzle7 "$subpkgdir"/usr/lib +} + +md5sums="e152edfec45779c0bd34ece707aa022d drizzle7-2011.03.13.tar.gz +000974e04609dbffb3e1e78b268fcc73 drizzle.initd" diff --git a/testing/drizzle/drizzle.initd b/testing/drizzle/drizzle.initd new file mode 100644 index 0000000000..55bdd9bf21 --- /dev/null +++ b/testing/drizzle/drizzle.initd @@ -0,0 +1,29 @@ +#!/sbin/runscript + +# Sample init.d file for alpine linux. + +name=drizzle +daemon=/usr/sbin/$name + +depend() { + need net + after firewall +} + +start() { + ebegin "Starting ${name}" + start-stop-daemon --start --quiet \ + --pidfile /var/run/${name}.pid \ + --chuid drizzle:drizzle \ + --exec ${daemon} + eend $? +} + +stop() { + ebegin "Stopping ${name}" + start-stop-daemon --stop --quiet \ + --pidfile /var/run/$name.pid \ + --exec ${daemon} + eend $? +} + diff --git a/testing/drizzle/drizzle.post-install b/testing/drizzle/drizzle.post-install new file mode 100644 index 0000000000..effba7b275 --- /dev/null +++ b/testing/drizzle/drizzle.post-install @@ -0,0 +1,2 @@ +addgroup -S drizzle +adduser -SDHG drizzle drizzle diff --git a/testing/dspam/APKBUILD b/testing/dspam/APKBUILD new file mode 100644 index 0000000000..abd1835583 --- /dev/null +++ b/testing/dspam/APKBUILD @@ -0,0 +1,77 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=dspam +pkgver=3.9.1_rc1 +_ver=3.9.1-RC1 +pkgrel=0 +pkgdesc="A statistical-algorithmic hybrid anti-spam filter" +url="http://dspam.nuclearelephant.com/" +pkgusers="dspam" +pkggroups="dspam" +arch="all" +license="GPL-2" +depends= +install="$pkgname.pre-install" +makedepends="postgresql-dev sqlite-dev mysql-dev autoconf automake libtool" +subpackages="$pkgname-dev $pkgname-doc $pkgname-pgsql $pkgname-mysql + $pkgname-sqlite" + +install= #dspam.install +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$_ver.tar.gz + dspam.logrotate + dspam.initd" + + +prepare() { + cd "$srcdir"/$pkgname-$_ver + for i in "$srcdir"/*.patch; do + [ -f "$i" ] || continue + msg "Applying $i" + patch -p1 -i "$i" || return 1 + done + aclocal -I m4 && libtoolize && autoconf && automake +} + +build() { + cd "$srcdir"/$pkgname-$_ver + ./configure --prefix=/usr \ + --sysconfdir=/etc/dspam \ + --with-dspam-home=/var/lib/dspam \ + --enable-virtual-users \ + --enable-preferences-extension \ + --enable-daemon \ + --with-storage-driver="hash_drv,sqlite3_drv,pgsql_drv,mysql_drv" \ + --with-mysql-includes=/usr/include/mysql \ + --with-mysql-libraries=/usr/lib/mysql \ + || return 1 + make +} + +package() { + cd "$srcdir"/$pkgname-$_ver + make install DESTDIR="$pkgdir" + install -Dm755 "$srcdir"/dspam.initd "$pkgdir"/etc/init.d/dspam + install -Dm644 "$srcdir"/dspam.logrotate "$pkgdir"/etc/logrotate.d/dspam + +} + +pgsql() { + pkgdesc="dspam postgresql driver" + install -d "$subpkgdir"/usr/lib/dspam + mv "$pkgdir"/usr/lib/dspam/*pgsql* "$subpkgdir"/usr/lib/dspam/ +} + +mysql() { + pkgdesc="dspam mysql driver" + install -d "$subpkgdir"/usr/lib/dspam + mv "$pkgdir"/usr/lib/dspam/*mysql* "$subpkgdir"/usr/lib/dspam/ +} + +sqlite() { + pkgdesc="dspam sqlite driver" + install -d "$subpkgdir"/usr/lib/dspam + mv "$pkgdir"/usr/lib/dspam/*sqlite* "$subpkgdir"/usr/lib/dspam/ +} + +md5sums="326677b30af2711a8fa4b52facb52f37 dspam-3.9.1-RC1.tar.gz +a798e9a6e2d5c30724f84d004bb96339 dspam.logrotate +7d1fb0820f4a23f593f22186ef77d02a dspam.initd" diff --git a/testing/dspam/dspam.initd b/testing/dspam/dspam.initd new file mode 100644 index 0000000000..d91fefeb89 --- /dev/null +++ b/testing/dspam/dspam.initd @@ -0,0 +1,46 @@ +#!/sbin/runscript +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/files/dspam.rc,v 1.1 2005/03/21 00:10:30 st_lim Exp $ + +conf=/etc/dspam/dspam.conf + +depend() { + use logger + need net + before mta + after pg_autovacuum postgresql mysql +} + +checkconfig() { + if [ ! -f "$conf" ] + then + eerror "You need a DSPAM configuration in $conf" + return 1 + fi + if (! grep -q "^ServerPID" $conf); then + eerror "ServerPID missing in DSPAM configuration $conf" + return 1 + fi +} + +start() { + checkconfig || return 1 + + ebegin "Starting DSPAM" + start-stop-daemon --start --quiet --background \ + --exec /usr/bin/dspam -- --daemon + eend ${?} +} + +stop() { + checkconfig || return 1 + + local DSPAM_PID="$(grep "^ServerPID" $conf)" + DSPAM_PID="${DSPAM_PID/ServerPID/}" + + ebegin "Stopping DSPAM" + start-stop-daemon --stop --quiet --pidfile ${DSPAM_PID} + eend ${?} +} + diff --git a/testing/dspam/dspam.logrotate b/testing/dspam/dspam.logrotate new file mode 100644 index 0000000000..1fb3e04ccb --- /dev/null +++ b/testing/dspam/dspam.logrotate @@ -0,0 +1,6 @@ +/var/log/dspam/sql.errors /var/log/dspam/dspam.log /var/log/dspam/dspam.debug /var/log/dspam/dspam.messages { + weekly + compress + missingok + copytruncate +} diff --git a/testing/dspam/dspam.pre-install b/testing/dspam/dspam.pre-install new file mode 100644 index 0000000000..9a6cc6f1e3 --- /dev/null +++ b/testing/dspam/dspam.pre-install @@ -0,0 +1,6 @@ +#!/bin/sh + +adduser -h /var/lib/dspam -s /bin/false -D dspam 2>/dev/null +chown dspam:dspam /var/lib/dspam +exit 0 + diff --git a/testing/e_dbus/APKBUILD b/testing/e_dbus/APKBUILD new file mode 100644 index 0000000000..7548950a2b --- /dev/null +++ b/testing/e_dbus/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=e_dbus +pkgver=1.0.0 +pkgrel=1 +pkgdesc="Enlightenment's (Ecore) integration to DBus" +url="http://trac.enlightenment.org/e/wiki/E_Dbus" +arch="all" +license="BSD" +depends= +depends_dev="dbus-dev eina-dev ecore-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://download.enlightenment.org/releases/e_dbus-$pkgver.tar.gz" + +_builddir="$srcdir"/e_dbus-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="4a3031a41e7e33f843cf104bf84cd4ee e_dbus-1.0.0.tar.gz" diff --git a/testing/ecasound/APKBUILD b/testing/ecasound/APKBUILD new file mode 100644 index 0000000000..487a7867d4 --- /dev/null +++ b/testing/ecasound/APKBUILD @@ -0,0 +1,46 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=ecasound +pkgver=2.8.1 +pkgrel=1 +pkgdesc="Textmode multitrack audio processing" +url="http://eca.cx/ecasound/index.php" +arch="all" +license="GPL" +depends= +depends_dev="alsa-lib-dev readline-dev ncurses-dev mpg123-dev lame-dev + flac-dev libsndfile-dev libsamplerate-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://ecasound.seul.org/download/ecasound-$pkgver.tar.gz" + +_builddir="$srcdir"/ecasound-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="d9ded0074a8eeb59dd507c248220d010 ecasound-2.8.1.tar.gz" diff --git a/testing/ecore/APKBUILD b/testing/ecore/APKBUILD new file mode 100644 index 0000000000..cc5d113bf5 --- /dev/null +++ b/testing/ecore/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=ecore +pkgver=1.0.0 +pkgrel=1 +pkgdesc="Enlightenment's core event abstraction layer and OS abstraction layer" +url="http://trac.enlightenment.org/e/wiki/Ecore" +arch="all" +license="BSD" +depends= +depends_dev="eina-dev eet-dev evas-dev glib-dev c-ares-dev curl-dev openssl-dev + libxcursor-dev libxinerama-dev libxrandr-dev libxrender-dev + libxcomposite-dev libxfixes-dev libxdamage-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://download.enlightenment.org/releases/ecore-$pkgver.tar.gz" + +_builddir="$srcdir"/ecore-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --enable-cares \ + --disable-gnutls \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="56fa814282f48c346b398e16de81145f ecore-1.0.0.tar.gz" diff --git a/testing/edje/APKBUILD b/testing/edje/APKBUILD new file mode 100644 index 0000000000..cb1793280d --- /dev/null +++ b/testing/edje/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=edje +pkgver=1.0.0 +pkgrel=1 +pkgdesc="Enlightenment's graphical layout and animation library" +url="http://trac.enlightenment.org/e/wiki/Edje" +arch="all" +license="BSD" +depends= +depends_dev="lua-dev eina-dev eet-dev embryo-dev ecore-dev evas-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://download.enlightenment.org/releases/edje-$pkgver.tar.gz" + +_builddir="$srcdir"/edje-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="14c33c2b9d1bd36d8507d55597c77991 edje-1.0.0.tar.gz" diff --git a/testing/eet/APKBUILD b/testing/eet/APKBUILD new file mode 100644 index 0000000000..bbfa2a516d --- /dev/null +++ b/testing/eet/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=eet +pkgver=1.4.0 +pkgrel=0 +pkgdesc="Enlightenment's file chunk reading/writing library" +url="http://trac.enlightenment.org/e/wiki/Eet" +arch="all" +license="BSD" +depends= +depends_dev="eina-dev openssl-dev zlib-dev jpeg-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://download.enlightenment.org/releases/eet-$pkgver.tar.gz" + +_builddir="$srcdir"/eet-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="5b0f3034d2dcc2ad13049a4ab6100ca6 eet-1.4.0.tar.gz" diff --git a/testing/eeze/APKBUILD b/testing/eeze/APKBUILD new file mode 100644 index 0000000000..3eb881f7bc --- /dev/null +++ b/testing/eeze/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=eeze +pkgver=1.0.1 +pkgrel=2 +pkgdesc="Enlightenment's device library" +url="http://trac.enlightenment.org/e/wiki/Eeze" +arch="all" +license="BSD" +depends= +depends_dev="eina-dev ecore-dev udev-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://download.enlightenment.org/releases/eeze-$pkgver.tar.gz" + +_builddir="$srcdir"/eeze-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="e36b5e8ed444c8d13d27fd82d5f71659 eeze-1.0.1.tar.gz" diff --git a/testing/efreet/APKBUILD b/testing/efreet/APKBUILD new file mode 100644 index 0000000000..2eb73f43f3 --- /dev/null +++ b/testing/efreet/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=efreet +pkgver=1.0.0 +pkgrel=1 +pkgdesc="Enlightenment's library for handling of freedesktop.org specs" +url="http://trac.enlightenment.org/e/wiki/Efreet" +arch="all" +license="BSD" +depends= +depends_dev="eina-dev ecore-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://download.enlightenment.org/releases/efreet-$pkgver.tar.gz" + +_builddir="$srcdir"/efreet-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="ce7dd05138335312c7eb9ac8e5e62467 efreet-1.0.0.tar.gz" diff --git a/testing/eina/APKBUILD b/testing/eina/APKBUILD new file mode 100644 index 0000000000..cf6b73fbb0 --- /dev/null +++ b/testing/eina/APKBUILD @@ -0,0 +1,42 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=eina +pkgver=1.0.0 +pkgrel=0 +pkgdesc="Enlightenment's data types library (List, hash, etc) in C" +url="http://trac.enlightenment.org/e/wiki/Eina" +arch="all" +license="LGPLv2.1" +depends= +makedepends= +install= +subpackages="$pkgname-dev" +source="http://download.enlightenment.org/releases/eina-$pkgver.tar.gz" + +_builddir="$srcdir"/eina-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --enable-amalgamation \ + --enable-pthread \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm -f "$pkgdir"/usr/lib/*.la +} + +md5sums="207b64a6549642392c4a0760df78df59 eina-1.0.0.tar.gz" diff --git a/testing/elementary-gtk-theme/APKBUILD b/testing/elementary-gtk-theme/APKBUILD new file mode 100644 index 0000000000..6d5a0430eb --- /dev/null +++ b/testing/elementary-gtk-theme/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=elementary-gtk-theme +pkgver=2.1 +pkgrel=1 +pkgdesc="gtk theme designed to go with elementary icons" +url="http://launchpad.net/egtk" +arch="noarch" +license="GPL" +depends="elementary-icon-theme gtk-murrine-engine" +makedepends="wget" +install="" +subpackages= +source="http://67.202.104.180/~nenolod/egtk.tar.gz" + +_builddir="${srcdir}/egtk" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + return 0 +} + +package() { + cd "$_builddir" + mkdir -p "${pkgdir}"/usr/share/themes/elementary + cp -R gtk-2.0 "${pkgdir}"/usr/share/themes/elementary + ln -sf /usr/share/themes/elementary/gtk-2.0 \ + "${pkgdir}"/usr/share/themes/elementary/gtk-3.0 + cp -R metacity-1 "${pkgdir}"/usr/share/themes/elementary + cp -R xfwm4 "${pkgdir}"/usr/share/themes/elementary +} + +md5sums="9886680fe5f0c7910a560aba95f0cad8 egtk.tar.gz" diff --git a/testing/elementary-icon-theme/APKBUILD b/testing/elementary-icon-theme/APKBUILD new file mode 100644 index 0000000000..010c4e2dc0 --- /dev/null +++ b/testing/elementary-icon-theme/APKBUILD @@ -0,0 +1,42 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=elementary-icon-theme +pkgver=2.5 +pkgrel=0 +pkgdesc="supplementary icon set for gnome and xfce" +url="http://www.elementaryos.org/" +arch="noarch" +license="GPL" +depends= +makedepends="" +install="" +subpackages= +source="http://67.202.104.180/~nenolod/elementary_icons_by_danrabbit-d12yjq7.zip" + +_builddir="${srcdir}/icons" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + + msg "Unpacking tarballs..." + tar zxf "$_builddir"/elementary.tar.gz + tar zxf "$_builddir"/elementary-mono-dark.tar.gz +} + +build() { + return 0 +} + +package() { + cd "$_builddir" + mkdir -p "${pkgdir}"/usr/share/icons + cp -R elementary "${pkgdir}"/usr/share/icons/elementary + cp -R elementary-mono-dark "${pkgdir}"/usr/share/icons/elementary-mono-dark +} + +md5sums="67b0fda7c6033a43196e60d45ae84bbd elementary_icons_by_danrabbit-d12yjq7.zip" diff --git a/testing/embryo/APKBUILD b/testing/embryo/APKBUILD new file mode 100644 index 0000000000..d83b843119 --- /dev/null +++ b/testing/embryo/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=embryo +pkgver=1.0.0 +pkgrel=1 +pkgdesc="Enlightenment's virtual machine engine and bytecode compiler" +url="http://trac.enlightenment.org/e/wiki/Embryo" +arch="all" +license="BSD" +depends= +depends_dev= +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://download.enlightenment.org/releases/embryo-$pkgver.tar.gz" + +_builddir="$srcdir"/embryo-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="2d6269c931656d5714197e508b144f18 embryo-1.0.0.tar.gz" diff --git a/testing/empty/APKBUILD b/testing/empty/APKBUILD new file mode 100644 index 0000000000..8c55322369 --- /dev/null +++ b/testing/empty/APKBUILD @@ -0,0 +1,32 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=empty +pkgver=0.6.18b +pkgrel=0 +pkgdesc="run applications under pseudo-terminal (PTY) sessions" +url="http://empty.sourceforge.net/" +arch="all" +license="BSD" +depends= +makedepends= +install= +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/sourceforge/empty/empty-$pkgver.tgz" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" +} + +build() { + cd "$_builddir" + make || return 1 +} + +package() { + cd "$_builddir" + install -D empty "$pkgdir"/usr/bin/empty + install -D empty.1 "$pkgdir"/usr/share/man/man1/empty.1 +} + +md5sums="2cf5e1b8ff58c41b63738bdc7c24fbc2 empty-0.6.18b.tgz" diff --git a/testing/erlang/APKBUILD b/testing/erlang/APKBUILD new file mode 100644 index 0000000000..02a338d0aa --- /dev/null +++ b/testing/erlang/APKBUILD @@ -0,0 +1,70 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> + +# TODO: create subpackages +# Check how fedora does it: +# http://pkgs.fedoraproject.org/gitweb/?p=erlang.git;a=blob;f=erlang.spec + +pkgname=erlang +pkgver=14.2.02 +# note: versioning scheme is weird. the .2. -> B +# needs to be updated manually +_ver=${pkgver%%.*}B${pkgver##*.} +pkgrel=1 +pkgdesc="General-purpose programming language and runtime environment" +url="http://www.erlang.org/" +license="ERPL" +arch="all" +depends= +makedepends="perl-dev zlib-dev ncurses-dev openssl-dev" +install= +subpackages="$pkgname-dev" + +# patch found: http://pkgs.fedoraproject.org/gitweb/?p=erlang.git;a=tree +source="http://www.erlang.org/download/otp_src_R$_ver.tar.gz + otp-0004-Do-not-install-C-sources.patch" + +_builddir="$srcdir"/otp_src_R$_ver + +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + # remove shipped zlib sources + rm -f erts/emulator/zlib/*.[ch] + + # Fix 664 file mode + chmod 644 lib/kernel/examples/uds_dist/c_src/Makefile + chmod 644 lib/kernel/examples/uds_dist/src/Makefile + chmod 644 lib/ssl/examples/certs/Makefile + chmod 644 lib/ssl/examples/src/Makefile + + # Remove old txt files + rm -f lib/ssl/examples/certs/etc/otpCA/index.txt.old + rm -f lib/ssl/examples/certs/etc/erlangCA/index.txt.old +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --enable-threads \ + --enable-shared-zlib \ + --enable-ssl=dynamic-ssl-lib \ + || return 1 + make -j1 || return 1 +} + +package() { + cd "$_builddir" + make -j1 DESTDIR="$pkgdir" install +} + +md5sums="229fb8f193b09ac04a57a9d7794349b7 otp_src_R14B02.tar.gz +e7e4b43883e5fc860bf18701850512b1 otp-0004-Do-not-install-C-sources.patch" diff --git a/testing/erlang/otp-0004-Do-not-install-C-sources.patch b/testing/erlang/otp-0004-Do-not-install-C-sources.patch new file mode 100644 index 0000000000..d4f380c0fa --- /dev/null +++ b/testing/erlang/otp-0004-Do-not-install-C-sources.patch @@ -0,0 +1,168 @@ +From: Peter Lemenkov <lemenkov@gmail.com> +Date: Fri, 18 Jun 2010 23:41:33 +0400 +Subject: [PATCH] Do not install C sources + +Signed-off-by: Peter Lemenkov <lemenkov@gmail.com> +--- + lib/asn1/c_src/Makefile | 2 -- + lib/crypto/c_src/Makefile.in | 3 --- + lib/erl_interface/src/Makefile.in | 18 ------------------ + lib/ic/c_src/Makefile.in | 2 -- + lib/megaco/src/flex/Makefile.in | 2 +- + lib/odbc/c_src/Makefile.in | 3 --- + lib/os_mon/c_src/Makefile.in | 1 - + lib/ssl/c_src/Makefile.in | 9 --------- + lib/tools/c_src/Makefile.in | 2 -- + 9 files changed, 1 insertions(+), 41 deletions(-) + +diff --git a/lib/asn1/c_src/Makefile b/lib/asn1/c_src/Makefile +index 9e9cb18..1d73d3c 100644 +--- a/lib/asn1/c_src/Makefile ++++ b/lib/asn1/c_src/Makefile +@@ -125,8 +125,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) $(RELSYSDIR)/priv/lib + $(INSTALL_PROGRAM) $(SHARED_OBJ_FILES) $(RELSYSDIR)/priv/lib +- $(INSTALL_DIR) $(RELSYSDIR)/c_src +- $(INSTALL_DATA) $(C_FILES) $(RELSYSDIR)/c_src + + release_docs_spec: + +diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in +index 48f931d..4a7a183 100644 +--- a/lib/crypto/c_src/Makefile.in ++++ b/lib/crypto/c_src/Makefile.in +@@ -136,10 +136,7 @@ docs: + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) $(RELSYSDIR)/priv/obj + $(INSTALL_DIR) $(RELSYSDIR)/priv/lib +- $(INSTALL_DATA) $(NIF_MAKEFILE) $(RELSYSDIR)/priv/obj +- $(INSTALL_PROGRAM) $(OBJS) $(RELSYSDIR)/priv/obj + $(INSTALL_PROGRAM) $(NIF_LIB) $(RELSYSDIR)/priv/lib + + release_docs_spec: +diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in +index 8ff142a..d785902 100644 +--- a/lib/erl_interface/src/Makefile.in ++++ b/lib/erl_interface/src/Makefile.in +@@ -876,29 +876,11 @@ release: opt + $(INSTALL_DIR) $(RELSYSDIR)/include + $(INSTALL_DIR) $(RELSYSDIR)/lib + $(INSTALL_DIR) $(RELSYSDIR)/bin +- $(INSTALL_DIR) $(RELSYSDIR)/src/auxdir +- $(INSTALL_DIR) $(RELSYSDIR)/src/connect +- $(INSTALL_DIR) $(RELSYSDIR)/src/decode +- $(INSTALL_DIR) $(RELSYSDIR)/src/encode +- $(INSTALL_DIR) $(RELSYSDIR)/src/epmd +- $(INSTALL_DIR) $(RELSYSDIR)/src/legacy +- $(INSTALL_DIR) $(RELSYSDIR)/src/misc +- $(INSTALL_DIR) $(RELSYSDIR)/src/prog +- $(INSTALL_DIR) $(RELSYSDIR)/src/registry + $(INSTALL_DATA) $(HEADERS) $(RELSYSDIR)/include + $(INSTALL_DATA) $(OBJ_TARGETS) $(RELSYSDIR)/lib + ifneq ($(EXE_TARGETS),) + $(INSTALL_PROGRAM) $(EXE_TARGETS) $(RELSYSDIR)/bin + endif +- $(INSTALL_DATA) $(EXTRA) $(RELSYSDIR)/src +- $(INSTALL_DATA) connect/*.[ch] $(RELSYSDIR)/src/connect +- $(INSTALL_DATA) decode/*.[ch] $(RELSYSDIR)/src/decode +- $(INSTALL_DATA) encode/*.[ch] $(RELSYSDIR)/src/encode +- $(INSTALL_DATA) epmd/*.[ch] $(RELSYSDIR)/src/epmd +- $(INSTALL_DATA) misc/*.[ch] $(RELSYSDIR)/src/misc +- $(INSTALL_DATA) registry/*.[ch] $(RELSYSDIR)/src/registry +- $(INSTALL_DATA) legacy/*.[ch] $(RELSYSDIR)/src/legacy +- $(INSTALL_DATA) prog/*.[ch] $(RELSYSDIR)/src/prog + + release_docs: + +diff --git a/lib/ic/c_src/Makefile.in b/lib/ic/c_src/Makefile.in +index 6eef782..091895b 100644 +--- a/lib/ic/c_src/Makefile.in ++++ b/lib/ic/c_src/Makefile.in +@@ -144,10 +144,8 @@ $(OBJDIR)/%.o: %.c + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt +- $(INSTALL_DIR) $(RELSYSDIR)/c_src + $(INSTALL_DIR) $(RELSYSDIR)/include + $(INSTALL_DIR) $(RELSYSDIR)/priv/lib +- $(INSTALL_DATA) ic.c ic_tmo.c $(RELSYSDIR)/c_src + $(INSTALL_DATA) $(IDL_FILES) $(H_FILES) $(RELSYSDIR)/include + $(INSTALL_DATA) $(LIBRARY) $(RELSYSDIR)/priv/lib + +diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in +index 5af651d..2ccf2a9 100644 +--- a/lib/megaco/src/flex/Makefile.in ++++ b/lib/megaco/src/flex/Makefile.in +@@ -279,7 +279,7 @@ release_spec: opt + $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(RELSYSDIR)/src/flex + $(INSTALL_DATA) $(TARGET_FILES) $(RELSYSDIR)/ebin + ifeq ($(ENABLE_MEGACO_FLEX_SCANNER),true) +- $(INSTALL_DATA) $(FLEX_FILES) $(C_TARGETS) $(RELSYSDIR)/src/flex ++ $(INSTALL_DATA) $(FLEX_FILES) $(RELSYSDIR)/src/flex + $(INSTALL_PROGRAM) $(SOLIBS) $(RELSYSDIR)/priv/lib + endif + +diff --git a/lib/odbc/c_src/Makefile.in b/lib/odbc/c_src/Makefile.in +index ed3eeb1..c01d9bf 100644 +--- a/lib/odbc/c_src/Makefile.in ++++ b/lib/odbc/c_src/Makefile.in +@@ -131,11 +131,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + ifdef EXE_TARGET +- $(INSTALL_DIR) $(RELSYSDIR)/c_src +- $(INSTALL_DATA) $(C_FILES) $(H_FILES) $(RELSYSDIR)/c_src + $(INSTALL_DIR) $(RELSYSDIR)/priv + $(INSTALL_DIR) $(RELSYSDIR)/priv/bin +- $(INSTALL_DIR) $(RELSYSDIR)/priv/obj + $(INSTALL_PROGRAM) $(EXE_TARGET) $(RELSYSDIR)/priv/bin + endif + +diff --git a/lib/os_mon/c_src/Makefile.in b/lib/os_mon/c_src/Makefile.in +index 1a371eb..62eac66 100644 +--- a/lib/os_mon/c_src/Makefile.in ++++ b/lib/os_mon/c_src/Makefile.in +@@ -136,7 +136,6 @@ release_spec: + else + release_spec: opt + $(INSTALL_DIR) $(RELSYSDIR)/src +- $(INSTALL_DATA) $(C_FILES) $(RELSYSDIR)/src + $(INSTALL_DIR) $(RELSYSDIR)/priv/bin + $(INSTALL_PROGRAM) $(TARGET_FILES) $(RELSYSDIR)/priv/bin + endif +diff --git a/lib/ssl/c_src/Makefile.in b/lib/ssl/c_src/Makefile.in +index 5e6c74e..bf4843b 100644 +--- a/lib/ssl/c_src/Makefile.in ++++ b/lib/ssl/c_src/Makefile.in +@@ -199,15 +199,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) $(RELSYSDIR)/priv/bin + $(INSTALL_PROGRAM) $(PORT_PROGRAM) $(RELSYSDIR)/priv/bin +-ifneq ($(SSL_MAKEFILE),) +- $(INSTALL_DIR) $(RELSYSDIR)/priv/obj +- $(INSTALL_DATA) $(OBJS) $(RELSYSDIR)/priv/obj +- sed -e "s;%BINDIR%;../bin;" \ +- -e "s;%SSL_LIBDIR%;$(SSL_LIBDIR);" \ +- -e "s;%OBJS;$(OBJS);" \ +- -e "s;%LIBS%;$(LIBS);" ./Makefile.dist \ +- > $(RELSYSDIR)/priv/obj/Makefile +-endif + + release_docs_spec: + +diff --git a/lib/tools/c_src/Makefile.in b/lib/tools/c_src/Makefile.in +index 65a7f5f..144c1ba 100644 +--- a/lib/tools/c_src/Makefile.in ++++ b/lib/tools/c_src/Makefile.in +@@ -190,8 +190,6 @@ include ../vsn.mk + RELSYSDIR = $(RELEASE_PATH)/lib/tools-$(TOOLS_VSN) + + release_spec: all +- $(INSTALL_DIR) $(RELSYSDIR)/c_src +- $(INSTALL_DATA) $(EMEM_SRCS) $(EMEM_HEADERS) $(RELSYSDIR)/c_src + ifneq ($(PROGS),) + $(INSTALL_DIR) $(RELSYSDIR)/bin + $(INSTALL_PROGRAM) $(PROGS) $(RELSYSDIR)/bin diff --git a/testing/etracer/APKBUILD b/testing/etracer/APKBUILD new file mode 100644 index 0000000000..d1a208209d --- /dev/null +++ b/testing/etracer/APKBUILD @@ -0,0 +1,42 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=etracer +pkgver=0.4 +pkgrel=1 +pkgdesc="racing game where you race tux down a mountain" +url="http://extremetuxracer.com/" +arch="all" +license="GPL" +depends= +makedepends="sdl-dev mesa-dev sdl_mixer-dev tcl-dev freetype-dev libpng-dev" +install="" +source="http://downloads.sourceforge.net/extremetuxracer/extremetuxracer-${pkgver}.tar.gz + etracer-finite.patch + etracer-png.patch" + +_builddir="${srcdir}/extremetuxracer-${pkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="6830eb4e1ca7c5a541f286ded3853f9f extremetuxracer-0.4.tar.gz +c915c433dee3d3ef8d4884560b55210b etracer-finite.patch +c476c21cc82dcf67337d982f2ec3d64b etracer-png.patch" diff --git a/testing/etracer/etracer-finite.patch b/testing/etracer/etracer-finite.patch new file mode 100644 index 0000000000..ecfca4f260 --- /dev/null +++ b/testing/etracer/etracer-finite.patch @@ -0,0 +1,11 @@ +--- extremetuxracer-0.4.orig/src/etracer.h ++++ extremetuxracer-0.4/src/etracer.h +@@ -142,7 +142,7 @@ + #elif defined( HAVE__ISNAN ) + # define FINITE(x) (!_isnan(x)) + #else +-# error "You don't have finite(), _finite(), isnan(), or _isnan() on your system!" ++# define FINITE(x) (isfinite(x)) + #endif + + diff --git a/testing/etracer/etracer-png.patch b/testing/etracer/etracer-png.patch new file mode 100644 index 0000000000..4a3469cd1f --- /dev/null +++ b/testing/etracer/etracer-png.patch @@ -0,0 +1,38 @@ +--- extremetuxracer-0.4.orig/src/ppgltk/images/png_reader.cpp ++++ extremetuxracer-0.4/src/ppgltk/images/png_reader.cpp +@@ -77,7 +77,7 @@ + + + png_get_IHDR(png_ptr, info_ptr, &width, &height, +- &bit_depth, &color_type, &interlace_type,int_p_NULL, int_p_NULL); ++ &bit_depth, &color_type, &interlace_type, (int *) NULL, (int *) NULL); + + if(bit_depth == 16) + png_set_strip_16(png_ptr); +@@ -88,7 +88,7 @@ + png_set_expand(png_ptr); + png_read_update_info(png_ptr, info_ptr); + png_get_IHDR(png_ptr, info_ptr, &width, &height, +- &bit_depth, &color_type, &interlace_type,int_p_NULL, int_p_NULL); ++ &bit_depth, &color_type, &interlace_type, (int *) NULL, (int *) NULL); + } + + if( color_type == PNG_COLOR_TYPE_GRAY || +@@ -96,7 +96,7 @@ + png_set_gray_to_rgb(png_ptr); + png_read_update_info(png_ptr, info_ptr); + png_get_IHDR(png_ptr, info_ptr, &width, &height, +- &bit_depth, &color_type, &interlace_type,int_p_NULL, int_p_NULL); ++ &bit_depth, &color_type, &interlace_type, (int *) NULL, (int *) NULL); + } + + this->width=width; +@@ -114,7 +114,7 @@ + } + + png_read_end(png_ptr, info_ptr); +- png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL); ++ png_destroy_read_struct(&png_ptr, &info_ptr, NULL); + fclose(fp); + } + diff --git a/testing/evas/APKBUILD b/testing/evas/APKBUILD new file mode 100644 index 0000000000..3f0d575a35 --- /dev/null +++ b/testing/evas/APKBUILD @@ -0,0 +1,43 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=evas +pkgver=1.0.1 +pkgrel=1 +pkgdesc="hardware-accelerated retained canvas API" +url="http://trac.enlightenment.org/e/wiki/Evas" +arch="all" +license="BSD" +depends= +depends_dev="freetype-dev fontconfig-dev fribidi-dev sdl-dev libx11-dev + libxcb-dev libxrender-dev eet-dev giflib-dev jpeg-dev libpng-dev + tiff-dev librsvg-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://download.enlightenment.org/releases/evas-$pkgver.tar.gz" + +_builddir="$srcdir"/evas-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="528debc5e5c75dbc8c5aa7ce5560cdd5 evas-1.0.1.tar.gz" diff --git a/testing/evilwm/APKBUILD b/testing/evilwm/APKBUILD new file mode 100644 index 0000000000..b11c61d8cf --- /dev/null +++ b/testing/evilwm/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=evilwm +pkgver=1.1.0_pre8 +_myver="${pkgver//_/}" +pkgrel=0 +pkgdesc="A minimalist window manager for the X Window System" +url="http://www.6809.org.uk/evilwm/" +arch="all" +license="custom" +depends= +depends_dev= +makedepends="libx11-dev libxext-dev libxrandr-dev" +install="" +subpackages="$pkgname-doc" +source="http://www.6809.org.uk/evilwm/evilwm-$_myver.tar.gz" + +_builddir="$srcdir"/evilwm-$_myver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="efb842dba48970ad58c1dad38050b26e evilwm-1.1.0pre8.tar.gz" diff --git a/testing/evolution-data-server/APKBUILD b/testing/evolution-data-server/APKBUILD new file mode 100644 index 0000000000..1911a4e04d --- /dev/null +++ b/testing/evolution-data-server/APKBUILD @@ -0,0 +1,46 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=evolution-data-server +pkgver=2.32.2 +pkgrel=4 +pkgdesc="data server for evolution" +url="http://projects.gnome.org/evolution" +arch="all" +license="GPL" +depends= +depends_dev="gtk+-dev glib-dev libsoup-dev libxml2-dev gconf-dev libgdata-dev db-dev libgweather-dev libgnome-keyring-dev libical-dev nspr-dev nss-dev sqlite-dev" +makedepends="$depends_dev gperf flex bison" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2" + +_builddir="${srcdir}/${pkgname}-${pkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + + # to build against gtk+-2.24 + # http://bugs.gentoo.org/show_bug.cgi?id=352400 + sed -i -e "s:-DGTK_DISABLE_DEPRECATED::" configure +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --disable-scrollkeeper || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + find "$pkgdir" -name '*.la' -delete +} + +md5sums="19d230667c0dfb1c06b8fe951fd552ff evolution-data-server-2.32.2.tar.bz2" diff --git a/testing/evolution/APKBUILD b/testing/evolution/APKBUILD new file mode 100644 index 0000000000..a52bc5929a --- /dev/null +++ b/testing/evolution/APKBUILD @@ -0,0 +1,48 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=evolution +pkgver=2.32.1 +pkgrel=2 +pkgdesc="evolution mail client" +url="http://projects.gnome.org/evolution" +arch="all" +license="GPL" +depends="gnome-icon-theme" +depends_dev="gtk+-dev glib-dev libsoup-dev libxml2-dev gconf-dev libgdata-dev db-dev libgweather-dev libgnome-keyring-dev libical-dev nspr-dev nss-dev sqlite-dev evolution-data-server-dev + gnome-desktop-dev libunique-dev gtkhtml-dev gstreamer-dev gst-plugins-base-dev gtkimageview-dev openldap-dev" +makedepends="$depends_dev gperf flex bison" +install="$pkgname.post-install $pkgname.post-upgrade $pkgname.pre-deinstall" +subpackages="$pkgname-dev $pkgname-doc" +source="ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2" + +_builddir="${srcdir}/${pkgname}-${pkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + + # to build against gtk+-2.24 + # http://bugs.gentoo.org/show_bug.cgi?id=352400 + sed -i -e "s:-DGTK_DISABLE_DEPRECATED::" configure +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --disable-nm \ + --disable-pst-import \ + --disable-scrollkeeper || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="47c1d45366aaa69e79a320f351ef065d evolution-2.32.1.tar.bz2" diff --git a/testing/evolution/evolution.post-install b/testing/evolution/evolution.post-install new file mode 100644 index 0000000000..9a51eff319 --- /dev/null +++ b/testing/evolution/evolution.post-install @@ -0,0 +1,18 @@ +#!/bin/sh + +for i in \ + apps-evolution-attachment-reminder.schemas \ + apps-evolution-mail-notification.schemas \ + apps-evolution-mail-prompts-checkdefault.schemas \ + apps-evolution-template-placeholders.schemas \ + apps_evolution_addressbook.schemas \ + apps_evolution_calendar.schemas \ + apps_evolution_email_custom_header.schemas \ + apps_evolution_shell.schemas \ + bogo-junk-plugin.schemas \ + evolution-mail.schemas \ +; do + echo "Installing GConf2 schema $i." + GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \ + /usr/bin/gconftool-2 --makefile-install-rule /etc/gconf/schemas/$i >/dev/null +done diff --git a/testing/evolution/evolution.post-upgrade b/testing/evolution/evolution.post-upgrade new file mode 100644 index 0000000000..9a51eff319 --- /dev/null +++ b/testing/evolution/evolution.post-upgrade @@ -0,0 +1,18 @@ +#!/bin/sh + +for i in \ + apps-evolution-attachment-reminder.schemas \ + apps-evolution-mail-notification.schemas \ + apps-evolution-mail-prompts-checkdefault.schemas \ + apps-evolution-template-placeholders.schemas \ + apps_evolution_addressbook.schemas \ + apps_evolution_calendar.schemas \ + apps_evolution_email_custom_header.schemas \ + apps_evolution_shell.schemas \ + bogo-junk-plugin.schemas \ + evolution-mail.schemas \ +; do + echo "Installing GConf2 schema $i." + GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \ + /usr/bin/gconftool-2 --makefile-install-rule /etc/gconf/schemas/$i >/dev/null +done diff --git a/testing/evolution/evolution.pre-deinstall b/testing/evolution/evolution.pre-deinstall new file mode 100644 index 0000000000..9216ac8c2b --- /dev/null +++ b/testing/evolution/evolution.pre-deinstall @@ -0,0 +1,18 @@ +#!/bin/sh + +for i in \ + apps-evolution-attachment-reminder.schemas \ + apps-evolution-mail-notification.schemas \ + apps-evolution-mail-prompts-checkdefault.schemas \ + apps-evolution-template-placeholders.schemas \ + apps_evolution_addressbook.schemas \ + apps_evolution_calendar.schemas \ + apps_evolution_email_custom_header.schemas \ + apps_evolution_shell.schemas \ + bogo-junk-plugin.schemas \ + evolution-mail.schemas \ +; do + echo "Uninstalling GConf2 schema $i." + GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \ + /usr/bin/gconftool-2 --makefile-uninstall-rule /etc/gconf/schemas/$i >/dev/null +done diff --git a/testing/expect/APKBUILD b/testing/expect/APKBUILD new file mode 100644 index 0000000000..5ece406663 --- /dev/null +++ b/testing/expect/APKBUILD @@ -0,0 +1,33 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=expect +pkgver=5.45 +pkgrel=0 +pkgdesc="A tool for automating interactive applications" +url="http://www.nist.gov/el/msid/expect.cfm" +arch="all" +license="custom" +depends="" +depends_dev="tcl-dev" +makedepends="$depends_dev" +subpackages="$pkgname-dev" +source="http://downloads.sourceforge.net/project/expect/Expect/$pkgver/$pkgname$pkgver.tar.gz" + +_builddir="$srcdir"/$pkgname$pkgver +build() { + cd "$_builddir" + ./configure --prefix=/usr + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/share/man \ + --with-tcl=/usr/lib \ + --with-tclinclude=/usr/include \ + --disable-rpath + make || return 1 +} +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="44e1a4f4c877e9ddc5a542dfa7ecc92b expect5.45.tar.gz" diff --git a/testing/faenza-icon-theme/APKBUILD b/testing/faenza-icon-theme/APKBUILD new file mode 100644 index 0000000000..c34d10124b --- /dev/null +++ b/testing/faenza-icon-theme/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=faenza-icon-theme +pkgver=0.8 +pkgrel=1 +pkgdesc="icons designed to go in tandem with equinox themes" +arch="noarch" +url="http://tiheum.deviantart.com/art/Faenza-Icons-173323228" +license="GPL" +depends= +makedepends="wget" +install= +subpackages= +source="https://launchpad.net/~tiheum/+archive/equinox/+files/faenza-icon-theme_$pkgver.tar.gz" + +_builddir="$srcdir"/$pkgname-$pkgver + +package() { + cd "$_builddir" + + mkdir -p "$pkgdir"/usr/share/icons + cp -dpRf Faenza* "$pkgdir"/usr/share/icons + + for i in 16 22 24 32 48; do + mv "$pkgdir"/usr/share/icons/Faenza/places/$i/start-here-gnome.png \ + "$pkgdir"/usr/share/icons/Faenza/places/$i/start-here.png + + mv "$pkgdir"/usr/share/icons/Faenza-Dark/places/$i/start-here-gnome.png \ + "$pkgdir"/usr/share/icons/Faenza-Dark/places/$i/start-here.png + done + + for i in scalable; do + mv "$pkgdir"/usr/share/icons/Faenza/places/$i/start-here-gnome.svg \ + "$pkgdir"/usr/share/icons/Faenza/places/$i/start-here.svg + + mv "$pkgdir"/usr/share/icons/Faenza-Dark/places/$i/start-here-gnome.svg \ + "$pkgdir"/usr/share/icons/Faenza-Dark/places/$i/start-here.svg + done +} + +md5sums="c4f87cf4105d2330a259296f8e73e709 faenza-icon-theme_0.8.tar.gz" diff --git a/testing/fatback/APKBUILD b/testing/fatback/APKBUILD new file mode 100644 index 0000000000..eec7e2f78f --- /dev/null +++ b/testing/fatback/APKBUILD @@ -0,0 +1,32 @@ +# Contributor: Fabian Affolter <fabian@affolter-engineering.ch> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=fatback +pkgver=1.3 +pkgrel=0 +pkgdesc="A tool for recovering files from FAT file systems" +url="http://fatback.sourceforge.net/" +arch="all" +license="GPL2" +depends="" +makedepends="flex" +install="" +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz" +_builddir="$srcdir"/$pkgname-$pkgver + +build() { + cd "$_builddir" + ./configure \ + --prefix=/usr \ + --infodir=/usr/share/info \ + --mandir=/usr/share/man \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="4f1beb13670a7eff5b66cff84e5fd42a fatback-1.3.tar.gz" diff --git a/testing/fetch-crl/APKBUILD b/testing/fetch-crl/APKBUILD new file mode 100644 index 0000000000..180d01c246 --- /dev/null +++ b/testing/fetch-crl/APKBUILD @@ -0,0 +1,36 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=fetch-crl +pkgver=2.7.0 +pkgrel=1 +pkgdesc="Tool to keep Certificate Revocation Lists (CRLs) up-to-date" +url="http://dist.eugridpma.info/distribution/util/fetch-crl/" +arch="all" +license="custom" +subpackages="$pkgname-doc" +source=" + http://dist.eugridpma.info/distribution/util/$pkgname/$pkgname-$pkgver.tar.gz + $pkgname-2.7.0-bb-wget.patch + " + +build() { + cd "$srcdir/$pkgname-$pkgver" + + sed -i -e 's:etc/sysconfig:etc/fetch-crl:g' \ + edg-fetch-crl fetch-crl.cron fetch-crl.8 + sed -i -e 's:bin/bash:bin/sh:' fetch-crl.cron + patch -p1 -i "$srcdir"/$pkgname-2.7.0-bb-wget.patch || return 1 + + + _r=$pkgname-$pkgver + install -m755 -D edg-fetch-crl "$pkgdir"/usr/sbin/fetch-crl + install -m644 -D fetch-crl.sysconfig "$pkgdir"/etc/fetch-crl/fetch-crl + + install -m644 -D fetch-crl.8 "$pkgdir"/usr/share/man/man8/fetch-crl.8 + install -m644 -D README "$pkgdir"/usr/share/doc/$_r/README + install -m644 -D CHANGES "$pkgdir"/usr/share/doc/$_r/CHANGES + install -m755 -D fetch-crl.cron "$pkgdir"/usr/share/doc/$_r/fetch-crl.periodic +} + +md5sums="6b0ba042ac3d155f1cd9c7b0baf3c708 fetch-crl-2.7.0.tar.gz +613e4987db52cbd231cd4d7a46070d74 fetch-crl-2.7.0-bb-wget.patch" diff --git a/testing/fetch-crl/fetch-crl-2.7.0-bb-wget.patch b/testing/fetch-crl/fetch-crl-2.7.0-bb-wget.patch new file mode 100644 index 0000000000..48fa7457e5 --- /dev/null +++ b/testing/fetch-crl/fetch-crl-2.7.0-bb-wget.patch @@ -0,0 +1,41 @@ +--- fetch-crl-2.7.0/edg-fetch-crl.orig 2009-02-26 08:54:17 +0000 ++++ fetch-crl-2.7.0/edg-fetch-crl 2009-02-26 09:20:27 +0000 +@@ -94,8 +94,8 @@ + allWarnings=no # warnings follow verbosity + + # get defaults +-WGET_RETRIES=2 +-WGET_TIMEOUT=10 ++#WGET_RETRIES=2 ++#WGET_TIMEOUT=10 + FETCH_CRL_SYSCONFIG="${FETCH_CRL_SYSCONFIG:-/etc/fetch-crl/fetch-crl}" + + # specific work-around for incidental filesystem corruption +@@ -149,7 +149,15 @@ + fi + + # add the other default arguments +- wgetOptions="${wgetOptions} -t $WGET_RETRIES -T $WGET_TIMEOUT " ++ if [ -n "$WGET_RETRIES" ]; then ++ wgetOptions="${wgetOptions} -t $WGET_RETRIES " ++ fi ++ if [ -n "$WGET_TIMEOUT" ]; then ++ wgetOptions="${wgetOptions} -T $WGET_TIMEOUT " ++ fi ++ if [ -n "$WGET_TIMESTAMPING" ] && [ "$WGET_TIMESTAMPING" != "no" ]; then ++ wgetOptions="${wgetOptions} -N " ++ fi + + # only add "-q" if the extra options do not have a -v. They are exclusive + expr match "${wgetAdditionalOptions}" '.*-v' >/dev/null 2>&1 +@@ -175,8 +183,8 @@ + ${rm} -f "${cacheDirectory}/${hash}/pre" + ${cp} "${cacheDirectory}/${hash}/"* \ + "${cacheDirectory}/${hash}/pre" >/dev/null 2>&1 +- PrintDebug ${wget} ${wgetOptions} -N -P "${cacheDirectory}/${hash}" "${url}" +- ${wget} ${wgetOptions} -N -P "${cacheDirectory}/${hash}" "${url}" ++ PrintDebug ${wget} ${wgetOptions} -P "${cacheDirectory}/${hash}" "${url}" ++ ${wget} ${wgetOptions} -P "${cacheDirectory}/${hash}" "${url}" + rc=$? + if [ $rc -ne 0 ]; then + PrintWarning "RetrieveFileByURL: wget download error $rc for ${url}" diff --git a/testing/fossil/APKBUILD b/testing/fossil/APKBUILD new file mode 100644 index 0000000000..155a5f8dc6 --- /dev/null +++ b/testing/fossil/APKBUILD @@ -0,0 +1,26 @@ +# Contributor: Paul Onyschuk <blink@bojary.koba.pl> +# Maintainer: +pkgname=fossil +pkgver=20110528185122 +pkgrel=0 +pkgdesc="Simple, high-reliability, distributed software configuration management" +url="http://www.fossil-scm.org" +arch="all" +license="BSD" +depends= +makedepends="openssl-dev zlib-dev" +source="$url/download/$pkgname-src-$pkgver.tar.gz" + +_builddir="$srcdir"/$pkgname-src-$pkgver + +build() { + cd "$_builddir" + make TCC="${CC:-gcc} $CFLAGS" || return 1 +} + +package() { + cd "$_builddir" + install -Dm 755 $pkgname "$pkgdir"/usr/bin/$pkgname || return 1 +} + +md5sums="3b5573ce42d9874e5184712d8522bc95 fossil-src-20110528185122.tar.gz" diff --git a/testing/fotoxx/APKBUILD b/testing/fotoxx/APKBUILD new file mode 100644 index 0000000000..0edb118536 --- /dev/null +++ b/testing/fotoxx/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=fotoxx +pkgver=11.06 +pkgrel=0 +pkgdesc="Photo editing and collection management" +url="http://kornelix.squarespace.com/fotoxx" +arch="all" +license="GPL-3" +depends="xdg-utils exiftool" +makedepends="gtk+-dev tiff-dev" +install= +subpackages="$pkgname-doc" +source="http://kornelix.squarespace.com/storage/downloads/fotoxx-$pkgver.tar.gz + no-execinfo.patch" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + for i in $source; do + case $i in + *.patch) patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + sed -e 's:/bin/bash:/bin/sh:' -i dependencies.sh +} + +build() { + cd "$_builddir" + make PREFIX=/usr LDFLAGS="$LFDLAGS" CXXFLAGS="$CFLAGS" || return 1 +} + +package() { + cd "$_builddir" + make PREFIX=/usr DESTDIR="$pkgdir" install +} + +md5sums="e636e10f6a46f0a813e704f18eac3176 fotoxx-11.06.tar.gz +981323960d1316051b898ba194085205 no-execinfo.patch" diff --git a/testing/fotoxx/no-execinfo.patch b/testing/fotoxx/no-execinfo.patch new file mode 100644 index 0000000000..c0e43a9f7c --- /dev/null +++ b/testing/fotoxx/no-execinfo.patch @@ -0,0 +1,34 @@ +diff --git a/zfuncs.cc b/zfuncs.cc +index 1398557..c504bbf 100644 +--- a/zfuncs.cc ++++ b/zfuncs.cc +@@ -77,6 +77,7 @@ void zappcrash(cchar *pMess, ... ) // v + + printf("zappcrash: \n %s \n",message); // output message to stdout + ++#ifndef __UCLIBC__ + nstack = backtrace(stacklist,nstack); // get traceback data + stackents = backtrace_symbols(stacklist,nstack); + +@@ -113,6 +114,7 @@ void zappcrash(cchar *pMess, ... ) // v + fclose(fid1); + + err = system("xdg-open zappcrash"); // display in editor ++#endif + abort(); + } + +diff --git a/zfuncs.h b/zfuncs.h +index e415adb..b6f02ac 100644 +--- a/zfuncs.h ++++ b/zfuncs.h +@@ -34,7 +34,9 @@ + #include <pthread.h> + #include <errno.h> + #include <signal.h> ++#ifndef __UCLIBC__ + #include <execinfo.h> ++#endif + #include <locale.h> + #include <sys/inotify.h> + diff --git a/testing/freealut/APKBUILD b/testing/freealut/APKBUILD new file mode 100644 index 0000000000..9d9c6b0001 --- /dev/null +++ b/testing/freealut/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=freealut +pkgver=1.1.0 +pkgrel=0 +pkgdesc="free audio library user toolkit" +url="http://www.openal.org/" +arch="all" +license="GPL" +depends= +depends_dev="openal-soft-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://connect.creativelabs.com/openal/Downloads/ALUT/freealut-$pkgver.tar.gz" + +_builddir="$srcdir"/freealut-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="e089b28a0267faabdb6c079ee173664a freealut-1.1.0.tar.gz" diff --git a/testing/freeciv/APKBUILD b/testing/freeciv/APKBUILD new file mode 100644 index 0000000000..851b44e156 --- /dev/null +++ b/testing/freeciv/APKBUILD @@ -0,0 +1,56 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=freeciv +pkgver=2.2.5 +pkgrel=1 +pkgdesc="civilization 2 clone" +url="http://freeciv.wikia.org/" +arch="all" +license="GPL" +depends="$pkgname-server" +makedepends="gtk+-dev gzip" +install="" +subpackages="$pkgname-dev $pkgname-doc $pkgname-server $pkgname-data" +source="http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2" + +_builddir="${srcdir}/${pkgname}-${pkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +server() { + replaces="freeciv" + depends="freeciv-data" + + mkdir -p "$subpkgdir"/usr/bin + + mv "$pkgdir"/usr/bin/civmanual "$subpkgdir"/usr/bin/civmanual + mv "$pkgdir"/usr/bin/freeciv-server "$subpkgdir"/usr/bin/freeciv-server +} + +data() { + arch="noarch" + + mkdir -p "$subpkgdir"/usr/share + mv "$pkgdir"/usr/share/freeciv "$subpkgdir"/usr/share/freeciv +} + +md5sums="e717de02c77139593f21b930245d1709 freeciv-2.2.5.tar.bz2" diff --git a/testing/freeradius-client/APKBUILD b/testing/freeradius-client/APKBUILD new file mode 100644 index 0000000000..01ff2e25aa --- /dev/null +++ b/testing/freeradius-client/APKBUILD @@ -0,0 +1,36 @@ +# Contributor: Francesco Colsita <francesco.colista@gmail.com> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=freeradius-client +pkgver=1.1.6 +pkgrel=1 +pkgdesc="FreeRADIUS Client Software" +url="http://wiki.freeradius.org/Radiusclient" +arch="all" +license="BSD" +depends= +makedepends="openssl-dev" +install= +subpackages="$pkgname-dev" +source="ftp://ftp.freeradius.org/pub/radius/$pkgname-$pkgver.tar.bz2" + +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + cd "$_builddir" +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la || return 1 +} + +md5sums="2e46564e450ae13aedb70dc133b158ac freeradius-client-1.1.6.tar.bz2" diff --git a/testing/freeswitch-sounds-es-mx-maria-44100/APKBUILD b/testing/freeswitch-sounds-es-mx-maria-44100/APKBUILD new file mode 100644 index 0000000000..7e5afb1189 --- /dev/null +++ b/testing/freeswitch-sounds-es-mx-maria-44100/APKBUILD @@ -0,0 +1,27 @@ +# Contributor: +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=freeswitch-sounds-es-mx-maria-44100 +pkgver="0" +pkgrel=0 +pkgdesc="Sounds for freeswitch Spanish" +url="http://files.freeswitch.org/" +arch="all" +license="unknown" +depends= +makedepends= +install= +subpackages= +source="http://files.freeswitch.org/freeswitch-sounds-es-mx-maria-44100.tar.gz" + +_builddir="$srcdir"/$pkgname-$pkgver + +build() { + return 0 +} + +package() { + mkdir -p "$pkgdir"/usr/sounds/ + cp -ra "$srcdir"/ "$pkgdir"/usr/sounds +} + +md5sums="a83a2e994741e4085016873d2d1c69a4 freeswitch-sounds-es-mx-maria-44100.tar.gz" diff --git a/testing/freeswitch-sounds-fr-fr-sibylle-8000/APKBUILD b/testing/freeswitch-sounds-fr-fr-sibylle-8000/APKBUILD new file mode 100644 index 0000000000..7ff6c24ab7 --- /dev/null +++ b/testing/freeswitch-sounds-fr-fr-sibylle-8000/APKBUILD @@ -0,0 +1,28 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=freeswitch-sounds-fr-fr-sibylle-8000 +pkgver=0.1.3 +pkgrel=0 +pkgdesc="Sounds for freeswitch French" +url="http://www.archive.org/details/FrenchAudioFilesForFreeswitch" +arch="all" +license="CC-3.0" +depends= +makedepends= +install= +subpackages= + +source="http://www.archive.org/download/FrenchAudioFilesForFreeswitch/freeswitch-sounds-fr-fr-sibylle-8000-$pkgver.tar.gz" + +_builddir="$srcdir"/$pkgname-$pkgver + +build() { + return 0 +} + +package() { + mkdir -p "$pkgdir"/usr/sounds/ + cp -ra "$srcdir"/fr "$pkgdir"/usr/sounds + chown -R root:root "$pkgdir"/usr/sounds +} + +md5sums="b23cf14c59fcbe1a2cce1925d3546204 freeswitch-sounds-fr-fr-sibylle-8000-0.1.3.tar.gz" diff --git a/testing/freeswitch-sounds-music-8000/APKBUILD b/testing/freeswitch-sounds-music-8000/APKBUILD new file mode 100644 index 0000000000..64a18301aa --- /dev/null +++ b/testing/freeswitch-sounds-music-8000/APKBUILD @@ -0,0 +1,28 @@ +# Contributor: +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=freeswitch-sounds-music-8000 +pkgver=1.0.8 +pkgrel=0 +pkgdesc="Sounds for freeswitch Music" +url="http://files.freeswitch.org/" +arch="all" +license="unknown" +depends= +makedepends= +install= +subpackages= +source="http://files.freeswitch.org/freeswitch-sounds-music-8000-$pkgver.tar.gz" + +_builddir="$srcdir"/$pkgname-$pkgver + +build() { + return 0 +} + +package() { + mkdir -p "$pkgdir"/usr/sounds/ + cp -ra "$srcdir"/ "$pkgdir"/usr/sounds +} + +md5sums="f63ef3cc3507af079ae5c7b8b8a01e42 freeswitch-sounds-music-8000-$pkgver.tar.gz" + diff --git a/testing/freetype-infinality/APKBUILD b/testing/freetype-infinality/APKBUILD new file mode 100644 index 0000000000..2ba23842e6 --- /dev/null +++ b/testing/freetype-infinality/APKBUILD @@ -0,0 +1,56 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: +pkgname=freetype-infinality +pkgver=2.4.4 +pkgrel=1 +pkgdesc="TrueType font rendering library with infinality patch" +url="http://www.infinality.net" +arch="all" +license="GPL" +depends= +depends_dev="zlib-dev freetype-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +replaces="freetype" +source="http://downloads.sourceforge.net/sourceforge/freetype/freetype-$pkgver.tar.bz2 +freetype-add-subpixel-hinting-infinality-20101114-1.patch +freetype-enable-subpixel-hinting-infinality-20100909-1.patch +freetype-entire-infinality-patchset-20101114-1.patch +infinality-settings +freetype-2.2.1-enable-valid.patch +freetype2-infinality-protect_null_pointer-goddesse.patch" + +_builddir="$srcdir/freetype-$pkgver" + +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + install -Dm755 "$srcdir/infinality-settings" "$pkgdir/etc/profile.d/infinality-settings.sh" +} + +md5sums="b3e2b6e2f1c3e0dffa1fd2a0f848b671 freetype-2.4.4.tar.bz2 +799a2d229c2997a5bb2d5b7c9f92fdba freetype-add-subpixel-hinting-infinality-20101114-1.patch +a88b1a66da44a90c1fdcdeaa39a2dc09 freetype-enable-subpixel-hinting-infinality-20100909-1.patch +6725774b17820f5413cb6a3cf7547f53 freetype-entire-infinality-patchset-20101114-1.patch +416154ff9eb8dfb27e46080f678785b8 infinality-settings +214119610444c9b02766ccee5e220680 freetype-2.2.1-enable-valid.patch +316d2986f9a08e7ceb51fb9d5a5cab38 freetype2-infinality-protect_null_pointer-goddesse.patch" diff --git a/testing/freetype-infinality/freetype-2.2.1-enable-valid.patch b/testing/freetype-infinality/freetype-2.2.1-enable-valid.patch new file mode 100644 index 0000000000..c78b6b70f6 --- /dev/null +++ b/testing/freetype-infinality/freetype-2.2.1-enable-valid.patch @@ -0,0 +1,20 @@ +--- freetype-2.2.1/modules.cfg.orig 2006-07-07 21:01:09.000000000 -0400 ++++ freetype-2.2.1/modules.cfg 2006-07-07 21:01:54.000000000 -0400 +@@ -110,7 +110,7 @@ + AUX_MODULES += cache + + # TrueType GX/AAT table validation. Needs ftgxval.c below. +-# AUX_MODULES += gxvalid ++AUX_MODULES += gxvalid + + # Support for streams compressed with gzip (files with suffix .gz). + # +@@ -124,7 +124,7 @@ + + # OpenType table validation. Needs ftotval.c below. + # +-# AUX_MODULES += otvalid ++AUX_MODULES += otvalid + + # Auxiliary PostScript driver component to share common code. + # diff --git a/testing/freetype-infinality/freetype-add-subpixel-hinting-infinality-20101114-1.patch b/testing/freetype-infinality/freetype-add-subpixel-hinting-infinality-20101114-1.patch new file mode 100644 index 0000000000..05e9c4414c --- /dev/null +++ b/testing/freetype-infinality/freetype-add-subpixel-hinting-infinality-20101114-1.patch @@ -0,0 +1,2776 @@ +Infinality Freetype Truetype Subpixel Hinting Patch +------------------------------------------------------------------- +Should patch cleanly to freetype-2.4.3 + + +Changes for 2010-11-14: + * Rule tweaks on various fonts. Fixed the Cyrillic y issue and e issue + with Trebuchet, and the ^ issue with Arial. Other issues + (firefox and @font-face) are still present to a degree. + + * A couple new rules to deal with various issues. (work in progress) + + * Additional commenting. + + * Some cleanup of obsolete code. + + * Added some debugging code for potential future enhancements. Please + ignore the mess. + + +Changes for 2010-10-22: + * I'm refocusing on just getting the subpixel looking nice, so I've stripped + back the rendering modes to just 2. The standard SUBPIXEL_HINTING and + the ADDITIONAL_TWEAKS. The rules structure is still in place. I recommend + using ADDITIONAL_TWEAKS mode. + + * Fixed an issue with monochrome rendering that made fonts look really bad. + There is still an issue with them, but they are at least tolerable to + look at now. + + * Added some testing code for detecting inline delta functions. Not sure + if this is useful yet. + + * Added more rules to deal with certain artifacts on various fonts, like the + issue with < > and ^. Created some "exception" rules for certain rules. + + * Reverted back to older rounding functions. The new experimental ones I + was trying were causing artifacts on some fonts. + + * Some code cleanup. + + +Changes for 2010-10-08: + * Fix PDF crashes. + +Changes for 2010-10-04: + * Update to freetype-2.4.3 + + +Changes for 2010-10-03: + * There are lots of changes for this one, some big, some small, and some + that still are not implemented. Not sure if I can remember them all + but I will try! THIS IS A POINT RELEASE THAT IS NOT + INTENDED TO WORK 100%. Some fonts and compile options may be broken + and the code may be inefficient and/or not syntactiacally correct. + That said, I do plan on using this on my system right away. + + * There are now "rendering modes" for the subpixel hinting, with the idea + that this will enventually be able to be controlled by fontconfig. The 4 + modes of enhanced hinting defined so far are: + 1) NATIVE HINTING - this is what freetype TT interpreter does by default. + 2) FIXED NATIVE HINTING - A slighly tweaked version of the above that + does "better" native rendering when displaying on LCD, for those + that still seem to like incorrect, thin fonts, which were only ever + there due to technical limitations. + 3) SUBPIXEL OPTIMIZED HINTING - this is straight up subpixel hinting with + very few tweaks. Just enough to get it working. + 4) COMPATIBILITY MODE HINTING - this is the sweet spot I'm working on + that will hopefully supplant #3 because it will work so well with all + fonts. The idea here is to tweak all available fonts so that each + renders well. + All of these modes either turn on or off switches in the interpreter + to make the fonts render properly for each mode. Right now these are only + compile-time options. + + * Subpixel-related code has been broken out into its own files, so as to not + clutter up the existing code. + + * The rasterizer now pays attention to the additional bits of MS rasterizer + v. 37, meaning that it can now indicate to fonts that it can handle + subpixel rendering. + + * The rounding functions have been adapted to accept a grid resolution + variable, which lets them work on pixel and subpixel boundaries + automatically. Y still needs to be implemented. + + * Additional conditions have been added to the switches, to further refine + how they are applied to different fonts. + + * What all this means qualitatively is that legacy fonts now render much + better. There are still some that need a bit of love, like Courier New. + + - Courier New has some fixes, and some breakage (Ghost pixels above bold + fonts, too thin on regular font) + - Times New Roman has some fixes and breakage (serifs, particularly) + - Tahoma and Trebuchet MS have been cleaned up + - Arial now snaps to grid better, but that causes breakage on a few glyphs + - Verdana 13 is now set to grid fit, but some glyhs are broken (mwxyz) + - Geneva and Geneva CY no longer look like turds + - Lucida Sans Unicode now looks arguably better than Lucida Grande + + + +Changes for 2010-09-16: + + * The changes from 2010-09-14 regarding subpixel when LIGHT hinting enabled + have been reverted due to problems. The old behavior is back. + + * Disable grayscale when subpixel is enabled. This results in better + behavior of some TT instructions within some fonts, like Times New Roman. + + * Some modification of the tweaks, in light of above. + + +Changes for 2010-09-14: + + /************************** NO LONGER IN PLACE *****************************/ + * Subpixel hinting is now used when the LIGHT hinting method and the TT + hinting is called. If FULL hinting is requested it will do the usual + behavior of the TT hinter. + + This allows for all previously existing behavior, plus the new subpixel + hinting behavior, all in the same compile, and it makes sense in that + the slight hinting of the autohinter is essentially doing the same thing + as this, which is not forcing X-direction hints. + + Previously, even if TT was selected, but LIGHT hinting was used, the + autohinter would still be forced. Other than this, autohint is not affected. + /***************************************************************************/ + + * Added a couple more conditionals around things to test whether subpixel + hinting is enabled. There were a few missing that ended up causing some + goofy hinting if subpixel was not enabled, but compiled in. + + + + + + + + + +diff -Nur freetype-2.4.3.orig/include/freetype/config/ftoption.h freetype-2.4.3.new/include/freetype/config/ftoption.h +--- freetype-2.4.3.orig/include/freetype/config/ftoption.h 2010-07-04 23:38:55.000000000 -0500 ++++ freetype-2.4.3.new/include/freetype/config/ftoption.h 2010-10-23 21:47:20.476211579 -0500 +@@ -501,6 +501,48 @@ + + /*************************************************************************/ + /* */ ++ /* Define TT_CONFIG_OPTION_SUBPIXEL_HINTING if you want to compile */ ++ /* EXPERIMENTAL subpixel hinting support into the TrueType driver. */ ++ /* This will replace the native TrueType hinting mechanism when */ ++ /* anything but FT_RENDER_MODE_MONO is requested. */ ++ /* */ ++ /* Enabling this causes the TrueType driver to ignore instructions */ ++ /* under certain conditions. This is done in accordance with the */ ++ /* guide here, with some minor differences: */ ++ /* */ ++ /* http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx */ ++ /* */ ++ /* By undefining this, you will only compile the code necessary to */ ++ /* hint TrueType glyphs with native TT hinting. */ ++ /* */ ++ /* This option requires TT_CONFIG_OPTION_BYTECODE_INTERPRETER to be */ ++ /* defined. */ ++ /* */ ++/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING */ ++ ++ ++ /*************************************************************************/ ++ /* */ ++ /* Define TT_CONFIG_OPTION_SUBPIXEL_HINTING_ADDITIONAL_TWEAKS if you */ ++ /* want to enable additional subpixel hinting tweaks of individual fonts,*/ ++ /* glyphs, styles and sizes. The idea here is that some glyphs and */ ++ /* fonts still do not render in a desirable way with */ ++ /* TT_CONFIG_OPTION_SUBPIXEL_HINTING. */ ++ /* */ ++ /* This is disabled by default, as some people may not care, or may not */ ++ /* want the additional overhead involved in doing this. */ ++ /* */ ++ /* By undefining this, you will only compile the code necessary to */ ++ /* do subpixel hinting as defined above. */ ++ /* */ ++ /* This option requires TT_CONFIG_OPTION_SUBPIXEL_HINTING to be */ ++ /* defined. */ ++ /* */ ++/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING_ADDITIONAL_TWEAKS */ ++ ++ ++ /*************************************************************************/ ++ /* */ + /* If you define TT_CONFIG_OPTION_UNPATENTED_HINTING, a special version */ + /* of the TrueType bytecode interpreter is used that doesn't implement */ + /* any of the patented opcodes and algorithms. The patents related to */ +diff -Nur freetype-2.4.3.orig/include/freetype/internal/ftobjs.h freetype-2.4.3.new/include/freetype/internal/ftobjs.h +--- freetype-2.4.3.orig/include/freetype/internal/ftobjs.h 2010-07-18 11:07:31.000000000 -0500 ++++ freetype-2.4.3.new/include/freetype/internal/ftobjs.h 2010-11-07 11:18:19.681501081 -0600 +@@ -81,6 +81,14 @@ + #define FT_PIX_ROUND( x ) FT_PIX_FLOOR( (x) + 32 ) + #define FT_PIX_CEIL( x ) FT_PIX_FLOOR( (x) + 63 ) + ++ /* ++ * These are used in ttinterp.c for subpixel hinting with an ++ * adjustable grids-per-pixel value. ++ */ ++#define FT_PIX_FLOOR_GRID( x, n ) ( (x) & ~(64 / n - 1) ) ++#define FT_PIX_ROUND_GRID( x, n ) FT_PIX_FLOOR_GRID( (x) + 32 / n, n) ++#define FT_PIX_CEIL_GRID( x, n ) FT_PIX_FLOOR_GRID( (x) + 63 / n, n) ++ + + /* + * Return the highest power of 2 that is <= value; this correspond to +diff -Nur freetype-2.4.3.orig/src/truetype/rules.mk freetype-2.4.3.new/src/truetype/rules.mk +--- freetype-2.4.3.orig/src/truetype/rules.mk 2009-03-14 08:45:26.000000000 -0500 ++++ freetype-2.4.3.new/src/truetype/rules.mk 2010-10-22 19:25:46.060977607 -0500 +@@ -30,7 +30,8 @@ + $(TT_DIR)/ttgload.c \ + $(TT_DIR)/ttinterp.c \ + $(TT_DIR)/ttgxvar.c \ +- $(TT_DIR)/ttdriver.c ++ $(TT_DIR)/ttdriver.c \ ++ $(TT_DIR)/ttsubpixel.c + + # TrueType driver headers + # +diff -Nur freetype-2.4.3.orig/src/truetype/truetype.c freetype-2.4.3.new/src/truetype/truetype.c +--- freetype-2.4.3.orig/src/truetype/truetype.c 2009-07-03 08:28:24.000000000 -0500 ++++ freetype-2.4.3.new/src/truetype/truetype.c 2010-10-22 19:25:46.061853066 -0500 +@@ -27,6 +27,7 @@ + + #ifdef TT_USE_BYTECODE_INTERPRETER + #include "ttinterp.c" ++#include "ttsubpixel.c" + #endif + + #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT +diff -Nur freetype-2.4.3.orig/src/truetype/ttgload.c freetype-2.4.3.new/src/truetype/ttgload.c +--- freetype-2.4.3.orig/src/truetype/ttgload.c 2010-09-14 02:00:35.000000000 -0500 ++++ freetype-2.4.3.new/src/truetype/ttgload.c 2010-11-14 09:07:50.835981062 -0600 +@@ -33,7 +33,7 @@ + #endif + + #include "tterrors.h" +- ++#include "ttsubpixel.h" + + /*************************************************************************/ + /* */ +@@ -166,6 +166,12 @@ + loader->top_bearing = top_bearing; + loader->vadvance = advance_height; + ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ if ( loader->exec ) loader->exec->sph_tweak_flags = 0x00000; ++ /* this may not be the right place for this, but it works */ ++ if ( loader->exec && loader->exec->enhanced ) sph_set_tweaks( loader, glyph_index ); ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ ++ + if ( !loader->linear_def ) + { + loader->linear_def = 1; +@@ -1683,13 +1689,23 @@ + IS_HINTED( loader->load_flags ) ) + { + FT_Byte* widthp; ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ FT_Bool enhanced; + ++ enhanced = ++ FT_BOOL( FT_LOAD_TARGET_MODE( loader->load_flags ) ++ != FT_RENDER_MODE_MONO ); + ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ + widthp = tt_face_get_device_metrics( face, + size->root.metrics.x_ppem, + glyph_index ); + ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ if ( ( !enhanced || BITMAP_WIDTHS ) && widthp ) ++#else + if ( widthp ) ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ + glyph->metrics.horiAdvance = *widthp << 6; + } + +@@ -1883,8 +1899,13 @@ + { + TT_ExecContext exec; + FT_Bool grayscale; +- +- ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ FT_Bool subpixel_hinting; ++ FT_Bool grayscale_hinting; ++ /*FT_Bool compatible_widths; ++ FT_Bool symmetrical_smoothing; ++ FT_Bool bgr;*/ ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ + if ( !size->cvt_ready ) + { + FT_Error error = tt_size_ready_bytecode( size ); +@@ -1898,20 +1919,75 @@ + if ( !exec ) + return TT_Err_Could_Not_Find_Context; + ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ subpixel_hinting = ++ FT_BOOL( (FT_LOAD_TARGET_MODE( load_flags ) != FT_RENDER_MODE_MONO) ++ && SET_SUBPIXEL ); ++ ++ if ( subpixel_hinting ) grayscale = grayscale_hinting = FALSE; ++ else if ( SET_GRAYSCALE ) ++ { ++ grayscale = grayscale_hinting = TRUE; ++ subpixel_hinting = FALSE; ++ } ++ ++ exec->enhanced = ( subpixel_hinting ++ || grayscale_hinting ); ++ ++ exec->rasterizer_version = SET_RASTERIZER_VERSION; ++ ++ exec->compatible_widths = SET_COMPATIBLE_WIDTHS; ++ /*FT_BOOL( FT_LOAD_TARGET_MODE( load_flags ) ++ != TT_LOAD_COMPATIBLE_WIDTHS );*/ ++ ++ exec->symmetrical_smoothing = FALSE; ++ /*FT_BOOL( FT_LOAD_TARGET_MODE( load_flags ) ++ != TT_LOAD_SYMMETRICAL_SMOOTHING );*/ ++ ++ exec->bgr = FALSE; ++ /*FT_BOOL( FT_LOAD_TARGET_MODE( load_flags ) ++ != TT_LOAD_BGR );*/ ++#else + grayscale = + FT_BOOL( FT_LOAD_TARGET_MODE( load_flags ) != FT_RENDER_MODE_MONO ); ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ + + TT_Load_Context( exec, face, size ); + +- /* a change from mono to grayscale rendering (and vice versa) */ ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ ++ /* a change from mono to subpixel rendering (and vice versa) */ + /* requires a re-execution of the CVT program */ +- if ( grayscale != exec->grayscale ) ++ if ( subpixel_hinting != exec->subpixel_hinting ) ++ { ++ FT_UInt i; ++ ++ exec->subpixel_hinting = subpixel_hinting; ++ ++ for ( i = 0; i < size->cvt_size; i++ ) ++ size->cvt[i] = FT_MulFix( face->cvt[i], size->ttmetrics.scale ); ++ tt_size_run_prep( size ); ++ } ++ ++ /* a change from mono to grayscale rendering (and vice versa) */ ++ /* requires a re-execution of the CVT program */ ++ if ( grayscale != exec->grayscale_hinting ) + { + FT_UInt i; + ++ exec->grayscale_hinting = grayscale_hinting; + +- FT_TRACE4(( "tt_loader_init: grayscale change," +- " re-executing `prep' table\n" )); ++ for ( i = 0; i < size->cvt_size; i++ ) ++ size->cvt[i] = FT_MulFix( face->cvt[i], size->ttmetrics.scale ); ++ tt_size_run_prep( size ); ++ } ++#else ++ ++ /* a change from mono to grayscale rendering (and vice versa) */ ++ /* requires a re-execution of the CVT program */ ++ if ( grayscale != exec->grayscale ) ++ { ++ FT_UInt i; + + exec->grayscale = grayscale; + +@@ -1919,6 +1995,7 @@ + size->cvt[i] = FT_MulFix( face->cvt[i], size->ttmetrics.scale ); + tt_size_run_prep( size ); + } ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ + + /* see whether the cvt program has disabled hinting */ + if ( exec->GS.instruct_control & 1 ) +@@ -2050,6 +2127,7 @@ + if ( face->postscript.isFixedPitch && + ( load_flags & FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ) == 0 ) + glyph->linearHoriAdvance = face->horizontal.advance_Width_Max; ++ + } + + return TT_Err_Ok; +@@ -2125,6 +2203,9 @@ + } + else + glyph->outline.flags |= FT_OUTLINE_IGNORE_DROPOUTS; ++ ++ ++ + } + + #endif /* TT_USE_BYTECODE_INTERPRETER */ +diff -Nur freetype-2.4.3.orig/src/truetype/ttinterp.c freetype-2.4.3.new/src/truetype/ttinterp.c +--- freetype-2.4.3.orig/src/truetype/ttinterp.c 2010-10-01 01:08:19.000000000 -0500 ++++ freetype-2.4.3.new/src/truetype/ttinterp.c 2010-11-14 09:25:21.736322597 -0600 +@@ -27,10 +27,12 @@ + + #include "tterrors.h" + ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++#include "ttsubpixel.h" ++#endif + + #ifdef TT_USE_BYTECODE_INTERPRETER + +- + #define TT_MULFIX FT_MulFix + #define TT_MULDIV FT_MulDiv + #define TT_MULDIV_NO_ROUND FT_MulDiv_No_Round +@@ -150,11 +152,11 @@ + #define NORMalize( x, y, v ) \ + Normalize( EXEC_ARG_ x, y, v ) + +-#define SET_SuperRound( scale, flags ) \ +- SetSuperRound( EXEC_ARG_ scale, flags ) ++#define SET_SuperRound( scale, flags, res ) \ ++ SetSuperRound( EXEC_ARG_ scale, flags, res ) + +-#define ROUND_None( d, c ) \ +- Round_None( EXEC_ARG_ d, c ) ++#define ROUND_None( d, c, e ) \ ++ Round_None( EXEC_ARG_ d, c, e ) + + #define INS_Goto_CodeRange( range, ip ) \ + Ins_Goto_CodeRange( EXEC_ARG_ range, ip ) +@@ -165,8 +167,8 @@ + #define CUR_Func_move_orig( z, p, d ) \ + CUR.func_move_orig( EXEC_ARG_ z, p, d ) + +-#define CUR_Func_round( d, c ) \ +- CUR.func_round( EXEC_ARG_ d, c ) ++#define CUR_Func_round( d, c, e ) \ ++ CUR.func_round( EXEC_ARG_ d, c, e ) + + #define CUR_Func_read_cvt( index ) \ + CUR.func_read_cvt( EXEC_ARG_ index ) +@@ -246,6 +248,12 @@ + #define GUESS_VECTOR( V ) + #endif + ++ ++ /*FT_Int CUR.num_delta_funcs;*/ ++ /*FT_ULong inline_delta_funcs[5];*/ ++ /*FT_Long CUR.infunc;*/ ++ ++ + /*************************************************************************/ + /* */ + /* CODERANGE FUNCTIONS */ +@@ -1838,24 +1846,33 @@ + FT_ASSERT( !CUR.face->unpatented_hinting ); + #endif + +- v = CUR.GS.freeVector.x; +- +- if ( v != 0 ) ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ if ( !CUR.enhanced || CUR.sph_tweak_flags & SPH_TWEAK_ALLOW_DMOVE_FREEV ) + { +- zone->cur[point].x += TT_MULDIV( distance, ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ ++ ++ v = CUR.GS.freeVector.x; ++ ++ if ( v != 0 ) ++ { ++ zone->cur[point].x += TT_MULDIV( distance, + v * 0x10000L, + CUR.F_dot_P ); + +- zone->tags[point] |= FT_CURVE_TAG_TOUCH_X; ++ zone->tags[point] |= FT_CURVE_TAG_TOUCH_X; ++ } ++ ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING + } ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ + + v = CUR.GS.freeVector.y; + + if ( v != 0 ) + { + zone->cur[point].y += TT_MULDIV( distance, +- v * 0x10000L, +- CUR.F_dot_P ); ++ v * 0x10000L, ++ CUR.F_dot_P ); + + zone->tags[point] |= FT_CURVE_TAG_TOUCH_Y; + } +@@ -1895,18 +1912,17 @@ + + if ( v != 0 ) + zone->org[point].x += TT_MULDIV( distance, +- v * 0x10000L, +- CUR.F_dot_P ); ++ v * 0x10000L, ++ CUR.F_dot_P ); + + v = CUR.GS.freeVector.y; + + if ( v != 0 ) + zone->org[point].y += TT_MULDIV( distance, +- v * 0x10000L, +- CUR.F_dot_P ); ++ v * 0x10000L, ++ CUR.F_dot_P ); + } + +- + /*************************************************************************/ + /* */ + /* Special versions of Direct_Move() */ +@@ -1923,9 +1939,16 @@ + FT_F26Dot6 distance ) + { + FT_UNUSED_EXEC; +- +- zone->cur[point].x += distance; +- zone->tags[point] |= FT_CURVE_TAG_TOUCH_X; ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ if ( !CUR.enhanced ++ || ( CUR.sph_tweak_flags & SPH_TWEAK_ALLOW_DMOVEX_FREEV ) ) ++ { ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ ++ zone->cur[point].x += distance; ++ zone->tags[point] |= FT_CURVE_TAG_TOUCH_X; ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ } ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ + } + + +@@ -1940,7 +1963,6 @@ + zone->tags[point] |= FT_CURVE_TAG_TOUCH_Y; + } + +- + /*************************************************************************/ + /* */ + /* Special versions of Direct_Move_Orig() */ +@@ -1959,6 +1981,7 @@ + FT_UNUSED_EXEC; + + zone->org[point].x += distance; ++ + } + + +@@ -1969,7 +1992,7 @@ + { + FT_UNUSED_EXEC; + +- zone->org[point].y += distance; ++ zone->org[point].y += distance; + } + + +@@ -1997,7 +2020,8 @@ + /* */ + static FT_F26Dot6 + Round_None( EXEC_OP_ FT_F26Dot6 distance, +- FT_F26Dot6 compensation ) ++ FT_F26Dot6 compensation, ++ FT_Int resolution ) + { + FT_F26Dot6 val; + +@@ -2016,6 +2040,7 @@ + if ( val > 0 ) + val = 0; + } ++ + return val; + } + +@@ -2038,7 +2063,8 @@ + /* */ + static FT_F26Dot6 + Round_To_Grid( EXEC_OP_ FT_F26Dot6 distance, +- FT_F26Dot6 compensation ) ++ FT_F26Dot6 compensation, ++ FT_Int resolution ) + { + FT_F26Dot6 val; + +@@ -2047,15 +2073,15 @@ + + if ( distance >= 0 ) + { +- val = distance + compensation + 32; ++ val = distance + compensation + 32 / resolution; + if ( distance && val > 0 ) +- val &= ~63; ++ val &= ~(64 / resolution - 1); + else + val = 0; + } + else + { +- val = -FT_PIX_ROUND( compensation - distance ); ++ val = -FT_PIX_ROUND_GRID( compensation - distance, resolution ); + if ( val > 0 ) + val = 0; + } +@@ -2082,22 +2108,22 @@ + /* */ + static FT_F26Dot6 + Round_To_Half_Grid( EXEC_OP_ FT_F26Dot6 distance, +- FT_F26Dot6 compensation ) ++ FT_F26Dot6 compensation, ++ FT_Int resolution ) + { + FT_F26Dot6 val; + + FT_UNUSED_EXEC; + +- + if ( distance >= 0 ) + { +- val = FT_PIX_FLOOR( distance + compensation ) + 32; ++ val = FT_PIX_FLOOR_GRID( distance + compensation, resolution ) + 32 / resolution; + if ( distance && val < 0 ) + val = 0; + } + else + { +- val = -( FT_PIX_FLOOR( compensation - distance ) + 32 ); ++ val = -( FT_PIX_FLOOR_GRID( compensation - distance, resolution ) + 32 / resolution ); + if ( val > 0 ) + val = 0; + } +@@ -2124,7 +2150,8 @@ + /* */ + static FT_F26Dot6 + Round_Down_To_Grid( EXEC_OP_ FT_F26Dot6 distance, +- FT_F26Dot6 compensation ) ++ FT_F26Dot6 compensation, ++ FT_Int resolution ) + { + FT_F26Dot6 val; + +@@ -2135,13 +2162,13 @@ + { + val = distance + compensation; + if ( distance && val > 0 ) +- val &= ~63; ++ val &= ~(64 / resolution - 1 ); + else + val = 0; + } + else + { +- val = -( ( compensation - distance ) & -64 ); ++ val = -( ( compensation - distance ) & -(64 / resolution) ); + if ( val > 0 ) + val = 0; + } +@@ -2168,7 +2195,8 @@ + /* */ + static FT_F26Dot6 + Round_Up_To_Grid( EXEC_OP_ FT_F26Dot6 distance, +- FT_F26Dot6 compensation ) ++ FT_F26Dot6 compensation, ++ FT_Int resolution ) + { + FT_F26Dot6 val; + +@@ -2177,15 +2205,15 @@ + + if ( distance >= 0 ) + { +- val = distance + compensation + 63; ++ val = distance + compensation + (64 / resolution - 1); + if ( distance && val > 0 ) +- val &= ~63; ++ val &= ~(64 / resolution - 1); + else + val = 0; + } + else + { +- val = - FT_PIX_CEIL( compensation - distance ); ++ val = - FT_PIX_CEIL_GRID( compensation - distance, resolution ); + if ( val > 0 ) + val = 0; + } +@@ -2212,24 +2240,26 @@ + /* */ + static FT_F26Dot6 + Round_To_Double_Grid( EXEC_OP_ FT_F26Dot6 distance, +- FT_F26Dot6 compensation ) ++ FT_F26Dot6 compensation, ++ FT_Int resolution ) + { + FT_F26Dot6 val; + + FT_UNUSED_EXEC; + + +- if ( distance >= 0 ) ++ if ( distance >= 0 ) + { +- val = distance + compensation + 16; ++ val = distance + compensation + 16 / resolution ; + if ( distance && val > 0 ) +- val &= ~31; ++ val &= ~(32 / resolution - 1); + else + val = 0; + } + else + { +- val = -FT_PAD_ROUND( compensation - distance, 32 ); ++ ++ val = -FT_PAD_ROUND( compensation - distance, 32 / resolution ); + if ( val > 0 ) + val = 0; + } +@@ -2262,7 +2292,8 @@ + /* */ + static FT_F26Dot6 + Round_Super( EXEC_OP_ FT_F26Dot6 distance, +- FT_F26Dot6 compensation ) ++ FT_F26Dot6 compensation, ++ FT_Int resolution ) + { + FT_F26Dot6 val; + +@@ -2310,7 +2341,8 @@ + /* */ + static FT_F26Dot6 + Round_Super_45( EXEC_OP_ FT_F26Dot6 distance, +- FT_F26Dot6 compensation ) ++ FT_F26Dot6 compensation, ++ FT_Int resolution ) + { + FT_F26Dot6 val; + +@@ -2401,7 +2433,8 @@ + /* */ + static void + SetSuperRound( EXEC_OP_ FT_F26Dot6 GridPeriod, +- FT_Long selector ) ++ FT_Long selector, ++ FT_Int resolution ) + { + switch ( (FT_Int)( selector & 0xC0 ) ) + { +@@ -3061,13 +3094,13 @@ + + + #define DO_SROUND \ +- SET_SuperRound( 0x4000, args[0] ); \ ++ SET_SuperRound( 0x4000, args[0], 1 ); \ + CUR.GS.round_state = TT_Round_Super; \ + CUR.func_round = (TT_Round_Func)Round_Super; + + + #define DO_S45ROUND \ +- SET_SuperRound( 0x2D41, args[0] ); \ ++ SET_SuperRound( 0x2D41, args[0], 1 ); \ + CUR.GS.round_state = TT_Round_Super_45; \ + CUR.func_round = (TT_Round_Func)Round_Super_45; + +@@ -3228,11 +3261,11 @@ + + + #define DO_ODD \ +- args[0] = ( ( CUR_Func_round( args[0], 0 ) & 127 ) == 64 ); ++ args[0] = ( ( CUR_Func_round( args[0], 0, 1 ) & 127 ) == 64 ); + + + #define DO_EVEN \ +- args[0] = ( ( CUR_Func_round( args[0], 0 ) & 127 ) == 0 ); ++ args[0] = ( ( CUR_Func_round( args[0], 0, 1 ) & 127 ) == 0 ); + + + #define DO_AND \ +@@ -3281,7 +3314,31 @@ + #define DO_CEILING \ + args[0] = FT_PIX_CEIL( args[0] ); + +- ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++#define DO_RS \ ++ { \ ++ FT_ULong I = (FT_ULong)args[0]; \ ++ \ ++ \ ++ if ( BOUNDSL( I, CUR.storeSize ) ) \ ++ { \ ++ if ( CUR.pedantic_hinting ) \ ++ { \ ++ ARRAY_BOUND_ERROR; \ ++ } \ ++ else \ ++ args[0] = 0; \ ++ } \ ++ else \ ++ /* Subpixel Hinting - Avoid Typeman Dstroke and Istroke \ ++ * and Vacuform Rounds */ \ ++ if ( CUR.enhanced \ ++ && ( I == 24 || I == 22 || I == 8 ) \ ++ && !( CUR.sph_tweak_flags & SPH_TWEAK_DO_RS ) ) \ ++ args[0] = 0; \ ++ else args[0] = CUR.storage[I]; \ ++ } ++#else + #define DO_RS \ + { \ + FT_ULong I = (FT_ULong)args[0]; \ +@@ -3299,6 +3356,7 @@ + else \ + args[0] = CUR.storage[I]; \ + } ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ + + + #define DO_WS \ +@@ -3378,12 +3436,12 @@ + #define DO_ROUND \ + args[0] = CUR_Func_round( \ + args[0], \ +- CUR.tt_metrics.compensations[CUR.opcode - 0x68] ); ++ CUR.tt_metrics.compensations[CUR.opcode - 0x68], 1 ); + + + #define DO_NROUND \ + args[0] = ROUND_None( args[0], \ +- CUR.tt_metrics.compensations[CUR.opcode - 0x6C] ); ++ CUR.tt_metrics.compensations[CUR.opcode - 0x6C], 1 ); + + + #define DO_MAX \ +@@ -4554,7 +4612,21 @@ + FT_ULong n; + TT_DefRecord* rec; + TT_DefRecord* limit; +- ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ int opcode_pattern[4][12]= { ++ /* VacuFormRound function */ ++ {0x45,0x23,0x46,0x60,0x20}, ++ /* inline delta function 1 */ ++ {0x4B,0x53,0x23,0x4B,0x51,0x5A,0x58,0x38,0x1B,0x21,0x21,0x59}, ++ /* inline delta function 2 */ ++ {0x4B,0x54,0x58,0x38,0x1B,0x5A,0x21,0x21,0x59}, ++ /* diagonal stroke function */ ++ {0x20,0x20,0x40,0x60,0x47,0x40,0x23,0x42}, ++ }; ++ int opcode_patterns = 4; ++ int i; ++ int opcode_pointer[4] = {0,0,0,0} ; ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ + + /* some font programs are broken enough to redefine functions! */ + /* We will then parse the current table. */ +@@ -4592,6 +4664,7 @@ + rec->opc = (FT_UInt16)n; + rec->start = CUR.IP + 1; + rec->active = TRUE; ++ rec->inline = FALSE; + + if ( n > CUR.maxFunc ) + CUR.maxFunc = (FT_UInt16)n; +@@ -4601,20 +4674,63 @@ + + while ( SKIP_Code() == SUCCESS ) + { ++ /*printf ("%d ", CUR.opcode);*/ ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ for ( i = 0; i < opcode_patterns; i++ ){ ++ if ( CUR.opcode == opcode_pattern[i][opcode_pointer[i]] ) ++ { ++ /*printf ("function %d, opcode ptrn: %d op# %d: %d FOUND -------------\n ", n, i, opcode_pointer[i], CUR.opcode);*/ ++ opcode_pointer[i] += 1; ++ ++ if (i == 0 && opcode_pointer[0] == 5){ ++ /*inline_delta_funcs[CUR.num_delta_funcs] = n; ++ CUR.num_delta_funcs++;*/ ++ /*printf ("Vacuform Round FUNCTION %d detected \n ", n);*/ ++ if (CUR.enhanced) /*rec->active = FALSE;*/ ++ opcode_pointer[i] = 0; ++ } ++ if (i == 1 && opcode_pointer[1] == 12){ ++ /*rec->active = FALSE;*/ ++ /*CUR.inline_delta_funcs[CUR.num_delta_funcs] = n; ++ CUR.num_delta_funcs++;*/ ++ rec->inline = TRUE; ++ /*printf ("inline delta FUNCTION1 %d detected \n ", n, CUR.num_delta_funcs);*/ ++ opcode_pointer[i] = 0; ++ } ++ if (i == 2 && opcode_pointer[1] == 9){ ++ /* CUR.inline_delta_funcs[CUR.num_delta_funcs] = n; ++ CUR.num_delta_funcs++;*/ ++ rec->inline = TRUE; ++ /*printf ("inline delta2 FUNCTION2 %d detected \n ", n, CUR.num_delta_funcs);*/ ++ opcode_pointer[i] = 0; ++ } ++ if (i == 4 && opcode_pointer[1] == 8){ ++ /* CUR.inline_delta_funcs[CUR.num_delta_funcs] = n; ++ CUR.num_delta_funcs++;*/ ++ /*rec->inline = TRUE;*/ ++ /*printf ("diagonal stroke function %d detected \n ", n, CUR.num_delta_funcs);*/ ++ opcode_pointer[i] = 0; ++ } ++ } ++ else { ++ opcode_pointer[i]=0; ++ } ++ } ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ ++ + switch ( CUR.opcode ) + { +- case 0x89: /* IDEF */ +- case 0x2C: /* FDEF */ +- CUR.error = TT_Err_Nested_DEFS; +- return; ++ case 0x89: /* IDEF */ ++ case 0x2C: /* FDEF */ ++ CUR.error = TT_Err_Nested_DEFS; ++ return; + +- case 0x2D: /* ENDF */ +- return; ++ case 0x2D: /* ENDF */ ++ return; + } + } + } + +- + /*************************************************************************/ + /* */ + /* ENDF[]: END Function definition */ +@@ -4643,6 +4759,13 @@ + + CUR.step_ins = FALSE; + ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ /* CUR.enhanced may be turned off prior to function calls. This ++ * ensures it is turned back on. ++ */ ++ CUR.enhanced = ( CUR.subpixel_hinting || CUR.grayscale_hinting ); ++#endif /*TT_CONFIG_OPTION_SUBPIXEL_HINTING*/ ++ + if ( pRec->Cur_Count > 0 ) + { + CUR.callTop++; +@@ -4675,8 +4798,9 @@ + FT_ULong F; + TT_CallRec* pCrec; + TT_DefRecord* def; +- +- ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ FT_Bool oldF; ++#endif /*TT_CONFIG_OPTION_SUBPIXEL_HINTING*/ + /* first of all, check the index */ + + F = args[0]; +@@ -4713,6 +4837,17 @@ + if ( !def->active ) + goto Fail; + ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ /* This is test code used to detect inline delta functions */ ++ oldF = def->inline; ++ if (CUR.enhanced) ++ { ++ if ( def->inline ) { CUR.infunc = TRUE; } ++ } ++ ++ /* if ( F == 35 || F == 34 ){ CUR.enhanced = 0; printf ("ENTERING %d ", F); }*/ ++#endif /*TT_CONFIG_OPTION_SUBPIXEL_HINTING*/ ++ + /* check the call stack */ + if ( CUR.callTop >= CUR.callSize ) + { +@@ -4733,6 +4868,12 @@ + def->start ); + + CUR.step_ins = FALSE; ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ { ++ CUR.infunc = oldF; /*printf ("Leaving %d ", F);*/ ++ } ++ /*if ( F == 35 || F == 34 ){ CUR.enhanced = 1; printf ("Leaving %d ", F); }*/ ++#endif /*TT_CONFIG_OPTION_SUBPIXEL_HINTING*/ + return; + + Fail: +@@ -4752,7 +4893,9 @@ + FT_ULong F; + TT_CallRec* pCrec; + TT_DefRecord* def; +- ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ FT_Bool oldF; ++#endif /*TT_CONFIG_OPTION_SUBPIXEL_HINTING*/ + + /* first of all, check the index */ + F = args[1]; +@@ -4788,7 +4931,16 @@ + /* check that the function is active */ + if ( !def->active ) + goto Fail; +- ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ oldF=def->inline; ++ if (CUR.enhanced) ++ { ++ if ( def->inline ) ++ { ++ CUR.infunc = TRUE; ++ } ++ } ++#endif /*TT_CONFIG_OPTION_SUBPIXEL_HINTING*/ + /* check stack */ + if ( CUR.callTop >= CUR.callSize ) + { +@@ -4811,6 +4963,11 @@ + + CUR.step_ins = FALSE; + } ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ { ++ CUR.infunc = oldF; ++ } ++#endif /*TT_CONFIG_OPTION_SUBPIXEL_HINTING*/ + return; + + Fail: +@@ -5154,6 +5311,10 @@ + } + } + ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ /* Disable Type 2 Vacuform Rounds - e.g. Arial Narrow */ ++ if ( CUR.enhanced && FT_ABS(D) == 64) D += 1; ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ + args[0] = D; + } + +@@ -5634,13 +5795,21 @@ + } + #endif + +- if ( CUR.GS.freeVector.x != 0 ) ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ if ( !CUR.enhanced ++ || ( CUR.enhanced ++ && ( CUR.sph_tweak_flags & SPH_TWEAK_ALLOW_MOVEZP2_FREEV ) )) + { +- CUR.zp2.cur[point].x += dx; +- if ( touch ) +- CUR.zp2.tags[point] |= FT_CURVE_TAG_TOUCH_X; ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ ++ if ( CUR.GS.freeVector.x != 0 ) ++ { ++ CUR.zp2.cur[point].x += dx; ++ if ( touch ) ++ CUR.zp2.tags[point] |= FT_CURVE_TAG_TOUCH_X; ++ } ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING + } +- ++#endif + if ( CUR.GS.freeVector.y != 0 ) + { + CUR.zp2.cur[point].y += dy; +@@ -5649,7 +5818,6 @@ + } + } + +- + /*************************************************************************/ + /* */ + /* SHP[a]: SHift Point by the last point */ +@@ -5819,7 +5987,7 @@ + { + FT_F26Dot6 dx, dy; + FT_UShort point; +- ++ FT_Int B1, B2; + + if ( CUR.top < CUR.GS.loop + 1 ) + { +@@ -5863,11 +6031,64 @@ + } + } + else +- MOVE_Zp2_Point( point, dx, dy, TRUE ); ++ { ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ /* The conditionals here still to not do a perfect job and need work. ++ * ++ * If not using enhanced rendering, allow ZP2 move. ++ * ++ * If using enhanced rendering, allow ZP2 point move if: ++ * - The glyph is composite ++ * - The glyph is specifically set to allow SHPIX moves ++ * - The move is in the Y direction on a previously touched point ++ * ++ * It seems that what qualifies as a previously touched point varies ++ * somewhat from font to font. Some render better when either X or Y ++ * must be touched ( SPH_TWEAK_SHPIX_CLASS_A ) and some render better ++ * when both must be touched. ++ */ ++ ++ if ( CUR.enhanced ) ++ { ++ B1 = CUR.zp2.cur[point].y; ++ if ( CUR.is_composite ++ || ( CUR.sph_tweak_flags & SPH_TWEAK_DO_SHPIX ) ++ || ( /*CUR.infunc && !(CUR.sph_tweak_flags ++ & SPH_TWEAK_SKIP_NONPIXEL_INLINE_MOVES) &&*/ /*CUR.infunc &&*/ ++ CUR.GS.freeVector.y != 0 ++ && CUR.iup_called == 0 ++ && CUR.iupy_called == 0 ++ && ( ++ ( (CUR.sph_tweak_flags & SPH_TWEAK_SHPIX_CLASS_A ) ++ && (( CUR.pts.tags[point] & FT_CURVE_TAG_TOUCH_X ) != 0 ++ || ( CUR.pts.tags[point] & FT_CURVE_TAG_TOUCH_Y ) != 0 )) ++ || ( !(CUR.sph_tweak_flags & SPH_TWEAK_SHPIX_CLASS_A ) ++ && (( CUR.pts.tags[point] & FT_CURVE_TAG_TOUCH_X ) != 0 ++ && ( CUR.pts.tags[point] & FT_CURVE_TAG_TOUCH_Y ) != 0 )) ++ ) ++ /*|| !CUR.infunc*/ ) ) ++ MOVE_Zp2_Point( point, dx, dy, TRUE ); ++ ++ B2 = CUR.zp2.cur[point].y; ++ ++ /* Reverse moves that move the point off a pixel boundary */ ++ if ((CUR.sph_tweak_flags & SPH_TWEAK_SKIP_NONPIXEL_INLINE_MOVES) ++ && B1 % 64 == 0 ++ && B2 % 64 != 0 ) ++ { ++ /*printf ("Reversing ZP2 move ");*/ ++ MOVE_Zp2_Point( point, -dx, -dy, TRUE ); ++ } ++ } ++ else ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ ++ MOVE_Zp2_Point( point, dx, dy, TRUE ); ++ ++ } + + CUR.GS.loop--; + } +- ++ /*printf("SHPIX:%d ", CUR.infunc);*/ + CUR.GS.loop = 1; + CUR.new_top = CUR.args; + } +@@ -5884,7 +6105,17 @@ + { + FT_UShort point; + FT_F26Dot6 distance; ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ FT_Int resolution = 1; + ++ if ( CUR.enhanced ) ++ { ++ if ( CUR.GS.freeVector.x != 0 ) ++ resolution = Grids_Per_Pixel_X; ++ else if ( CUR.GS.freeVector.y != 0 ) ++ resolution = Grids_Per_Pixel_Y; ++ } ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ + + point = (FT_UShort)args[0]; + +@@ -5908,6 +6139,15 @@ + distance = CUR_Func_project( CUR.zp1.cur + point, + CUR.zp0.cur + CUR.GS.rp0 ); + ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ /* Subpixel Hinting - make MSIRP respect CVT cutin */ ++ /* Fixes "k" issue with Arial */ ++ if ( CUR.enhanced && CUR.GS.freeVector.x != 0 ++ && FT_ABS( distance - args[1]) ++ >= CUR.GS.control_value_cutin / resolution ) ++ distance = args[1]; ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ ++ + CUR_Func_move( &CUR.zp1, point, args[1] - distance ); + + CUR.GS.rp1 = CUR.GS.rp0; +@@ -5930,7 +6170,19 @@ + FT_UShort point; + FT_F26Dot6 cur_dist, + distance; ++ FT_Int resolution = 1; + ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ if ( CUR.enhanced ) ++ { ++ if ( CUR.GS.freeVector.x != 0 ++ && !( CUR.sph_tweak_flags & SPH_TWEAK_NORMAL_ROUND_MDAP )) ++ resolution = Grids_Per_Pixel_X; ++ else if ( CUR.GS.freeVector.y != 0 ++ && !( CUR.sph_tweak_flags & SPH_TWEAK_NORMAL_ROUND_MDAP )) ++ resolution = Grids_Per_Pixel_Y; ++ } ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ + + point = (FT_UShort)args[0]; + +@@ -5946,8 +6198,8 @@ + if ( ( CUR.opcode & 1 ) != 0 ) + { + cur_dist = CUR_fast_project( &CUR.zp0.cur[point] ); +- distance = CUR_Func_round( cur_dist, +- CUR.tt_metrics.compensations[0] ) - cur_dist; ++ distance = CUR_Func_round( cur_dist, ++ CUR.tt_metrics.compensations[0], resolution ) - cur_dist; + } + else + distance = 0; +@@ -5972,7 +6224,19 @@ + FT_UShort point; + FT_F26Dot6 distance, + org_dist; ++ FT_Int resolution = 1; + ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ if ( CUR.enhanced ) ++ { ++ if ( CUR.GS.freeVector.x != 0 ++ && !( CUR.sph_tweak_flags & SPH_TWEAK_NORMAL_ROUND_MIAP )) ++ resolution = Grids_Per_Pixel_X; ++ else if ( CUR.GS.freeVector.y != 0 ++ && !( CUR.sph_tweak_flags & SPH_TWEAK_NORMAL_ROUND_MIAP )) ++ resolution = Grids_Per_Pixel_Y; ++ } ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ + + cvtEntry = (FT_ULong)args[1]; + point = (FT_UShort)args[0]; +@@ -6020,10 +6284,13 @@ + + if ( ( CUR.opcode & 1 ) != 0 ) /* rounding and control cutin flag */ + { +- if ( FT_ABS( distance - org_dist ) > CUR.GS.control_value_cutin ) +- distance = org_dist; +- +- distance = CUR_Func_round( distance, CUR.tt_metrics.compensations[0] ); ++ { ++ if ( FT_ABS( distance - org_dist ) ++ > CUR.GS.control_value_cutin / resolution ) ++ distance = org_dist; ++ distance = CUR_Func_round( distance, ++ CUR.tt_metrics.compensations[0], resolution ); ++ } + } + + CUR_Func_move( &CUR.zp0, point, distance - org_dist ); +@@ -6044,6 +6311,24 @@ + { + FT_UShort point; + FT_F26Dot6 org_dist, distance; ++ FT_Int minimum_distance_factor = 64; ++ FT_Int resolution = 1; ++ ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ if ( CUR.enhanced ) ++ { ++ if ( CUR.GS.freeVector.x != 0 ++ && !( CUR.sph_tweak_flags & SPH_TWEAK_NORMAL_ROUND_MDRP )) ++ { ++ resolution = Grids_Per_Pixel_X; ++ minimum_distance_factor = 64 - resolution / 3; ++ } ++ else if ( CUR.GS.freeVector.y != 0 ++ && !( CUR.sph_tweak_flags & SPH_TWEAK_NORMAL_ROUND_MDRP )) ++ resolution = Grids_Per_Pixel_Y; ++ ++ } ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ + + + point = (FT_UShort)args[0]; +@@ -6107,13 +6392,15 @@ + /* round flag */ + + if ( ( CUR.opcode & 4 ) != 0 ) ++ { + distance = CUR_Func_round( + org_dist, +- CUR.tt_metrics.compensations[CUR.opcode & 3] ); ++ CUR.tt_metrics.compensations[CUR.opcode & 3], resolution ); ++ } + else + distance = ROUND_None( + org_dist, +- CUR.tt_metrics.compensations[CUR.opcode & 3] ); ++ CUR.tt_metrics.compensations[CUR.opcode & 3], resolution ); + + /* minimum distance flag */ + +@@ -6121,13 +6408,17 @@ + { + if ( org_dist >= 0 ) + { +- if ( distance < CUR.GS.minimum_distance ) +- distance = CUR.GS.minimum_distance; ++ if ( distance < FT_MulDiv(minimum_distance_factor, ++ CUR.GS.minimum_distance, 64) ) ++ distance = FT_MulDiv(minimum_distance_factor, ++ CUR.GS.minimum_distance, 64); + } + else + { +- if ( distance > -CUR.GS.minimum_distance ) +- distance = -CUR.GS.minimum_distance; ++ if ( distance > -FT_MulDiv( minimum_distance_factor, ++ CUR.GS.minimum_distance, 64 ) ) ++ distance = -FT_MulDiv( minimum_distance_factor, ++ CUR.GS.minimum_distance, 64 ); + } + } + +@@ -6163,10 +6454,30 @@ + cur_dist, + org_dist; + ++ FT_Int minimum_distance_factor = 64; ++ FT_Int B1, B2, resolution = 1; + + point = (FT_UShort)args[0]; + cvtEntry = (FT_ULong)( args[1] + 1 ); + ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ if ( CUR.enhanced ) ++ { ++ if ( CUR.GS.freeVector.x != 0 ++ && !( CUR.sph_tweak_flags & SPH_TWEAK_NORMAL_ROUND_MIRP )) ++ { ++ resolution = Grids_Per_Pixel_X; ++ /* High value emboldens glyphs at lower ppems ( < 14 ) */ ++ /* Courier looks better with 52 */ ++ /* MS Cleartype Rasterizer supposedly uses 32 */ ++ minimum_distance_factor = 64 - resolution / 3; ++ } ++ else if ( CUR.GS.freeVector.y != 0 ++ && !( CUR.sph_tweak_flags & SPH_TWEAK_NORMAL_ROUND_MIRP )) ++ resolution = Grids_Per_Pixel_Y; ++ } ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ ++ + /* XXX: UNDOCUMENTED! cvt[-1] = 0 always */ + + if ( BOUNDS( point, CUR.zp1.n_points ) || +@@ -6230,36 +6541,55 @@ + /* refer to the same zone. */ + + if ( CUR.GS.gep0 == CUR.GS.gep1 ) +- if ( FT_ABS( cvt_dist - org_dist ) >= CUR.GS.control_value_cutin ) ++ if ( FT_ABS( cvt_dist - org_dist ) >= CUR.GS.control_value_cutin / resolution ) + cvt_dist = org_dist; + + distance = CUR_Func_round( + cvt_dist, +- CUR.tt_metrics.compensations[CUR.opcode & 3] ); ++ CUR.tt_metrics.compensations[CUR.opcode & 3], resolution ); + } + else + distance = ROUND_None( + cvt_dist, +- CUR.tt_metrics.compensations[CUR.opcode & 3] ); ++ CUR.tt_metrics.compensations[CUR.opcode & 3], resolution ); + + /* minimum distance test */ +- + if ( ( CUR.opcode & 8 ) != 0 ) + { + if ( org_dist >= 0 ) + { +- if ( distance < CUR.GS.minimum_distance ) +- distance = CUR.GS.minimum_distance; ++ if ( distance < FT_MulDiv( minimum_distance_factor, ++ CUR.GS.minimum_distance, 64 ) ) ++ distance = FT_MulDiv( minimum_distance_factor, ++ CUR.GS.minimum_distance, 64 ); + } + else + { +- if ( distance > -CUR.GS.minimum_distance ) +- distance = -CUR.GS.minimum_distance; ++ if ( distance > -FT_MulDiv( minimum_distance_factor, ++ CUR.GS.minimum_distance, 64 ) ) ++ distance = -FT_MulDiv( minimum_distance_factor, ++ CUR.GS.minimum_distance, 64 ); + } + } + ++ B1 = CUR.zp1.cur[point].y; ++ + CUR_Func_move( &CUR.zp1, point, distance - cur_dist ); + ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ if ( CUR.enhanced && CUR.sph_tweak_flags & SPH_TWEAK_SKIP_NONPIXEL_INLINE_MOVES) ++ { ++ B2 = CUR.zp1.cur[point].y; ++ ++ if ( ( CUR.GS.freeVector.x != 0 && B1 % 64 == 0 && B2 % 64 != 0 ) ++ || ( CUR.GS.freeVector.y != 0 && B2 % 64 != 0 ) ) ++ { ++ /* reverse the MIRP move. Ideally this could be implemented better */ ++ CUR_Func_move( &CUR.zp1, point, -(distance - cur_dist) ); ++ } ++ } ++#endif /*TT_CONFIG_OPTION_SUBPIXEL_HINTING*/ ++ + CUR.GS.rp1 = CUR.GS.rp0; + + if ( ( CUR.opcode & 16 ) != 0 ) +@@ -6751,6 +7081,14 @@ + contour = 0; + point = 0; + ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ if ( CUR.enhanced ) ++ { ++ CUR.iup_called = 1; ++ if ( CUR.sph_tweak_flags & SPH_TWEAK_SKIP_IUP ) return; ++ } ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ ++ + do + { + end_point = CUR.pts.contours[contour] - CUR.pts.first_point; +@@ -6820,7 +7158,19 @@ + FT_UShort A; + FT_ULong C; + FT_Long B; +- ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ FT_Byte orig_round_state; ++ FT_Int resolution = 1; ++ FT_UShort B1, B2; ++ ++ if (CUR.enhanced ) ++ { ++ if ( CUR.GS.freeVector.x != 0 ) ++ resolution = Grids_Per_Pixel_X; ++ else if ( CUR.GS.freeVector.y != 0 ) ++ resolution = Grids_Per_Pixel_Y; ++ } ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ + + #ifdef TT_CONFIG_OPTION_UNPATENTED_HINTING + /* Delta hinting is covered by US Patent 5159668. */ +@@ -6889,8 +7239,81 @@ + if ( B >= 0 ) + B++; + B = B * 64 / ( 1L << CUR.GS.delta_shift ); ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING_ADDITIONAL_TWEAKS ++ /* Undocumented hack that will round the point prior to or instead ++ * of the delta move. Fixes glitches in various fonts due to bad ++ * y-hinting routines. ++ */ ++ if ( CUR.enhanced && CUR.GS.freeVector.y != 0 ) ++ { ++ orig_round_state= CUR.GS.round_state; ++ ++ if ( CUR.sph_tweak_flags & SPH_TWEAK_DELTAP_RDTG ) ++ { ++ COMPUTE_Round( TT_Round_Down_To_Grid ); ++ B = CUR_Func_round( B, CUR.tt_metrics.compensations[0], 1 ); ++ } ++ ++ else if ( CUR.sph_tweak_flags & SPH_TWEAK_DELTAP_RUTG ) ++ { ++ COMPUTE_Round( TT_Round_Up_To_Grid ); ++ B = CUR_Func_round( B, CUR.tt_metrics.compensations[0], 1 ); ++ } ++ ++ else if ( CUR.sph_tweak_flags & SPH_TWEAK_DELTAP_RTG ) ++ { ++ COMPUTE_Round( TT_Round_To_Grid ); ++ B = CUR_Func_round( B, CUR.tt_metrics.compensations[0], 1 ); ++ } ++ ++ COMPUTE_Round( orig_round_state ); ++ } ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING_ADDITIONAL_TWEAKS */ ++ ++ /* Allow delta move if: ++ * - Not using enhanced rendering ++ * - Glyph is specifically set to allow it ++ * - Glyph is composite ++ */ ++ if ( !CUR.enhanced ++ || CUR.sph_tweak_flags & SPH_TWEAK_ALWAYS_DO_DELTAP ++ || CUR.is_composite ) ++ CUR_Func_move( &CUR.zp0, A, B ); + ++ else if ( !( CUR.sph_tweak_flags & SPH_TWEAK_ALWAYS_SKIP_DELTAP ) ) ++ { ++ /* Save the y value of the point now. Compare after move */ ++ B1 = CUR.zp0.cur[A].y; ++ ++ /* Allow delta move if using enhanced rendering, IUP has not ++ * been called, and point is touched on X or Y. ++ * ++ * Working code, but needs more features. ++ */ ++ if ( CUR.enhanced && CUR.GS.freeVector.y != 0 ++ && CUR.iup_called == 0 && CUR.iupy_called == 0 ++ && ( ( CUR.pts.tags[A] & FT_CURVE_TAG_TOUCH_X ) != 0 ++ || ( CUR.pts.tags[A] & FT_CURVE_TAG_TOUCH_Y ) != 0 ) ) ++ /* Should resolution always be 1 for this move ??? */ ++ CUR_Func_move( &CUR.zp0, A, B ); ++ ++ B2 = CUR.zp0.cur[A].y; ++ ++ /* Reverse this move if it results in a move off a pixel ++ * boundary. ++ */ ++ if ( ( CUR.sph_tweak_flags & SPH_TWEAK_SKIP_NONPIXEL_INLINE_MOVES ) ++ && B1 % 64 == 0 ++ && B2 % 64 != 0 ) ++ { ++ CUR_Func_move( &CUR.zp0, A, -B ); ++ } ++ ++ } ++#else + CUR_Func_move( &CUR.zp0, A, B ); ++#endif /* *TT_CONFIG_OPTION_SUBPIXEL_HINTING */ + } + } + else +@@ -7015,22 +7438,100 @@ + + K = 0; + +- /* We return MS rasterizer version 1.7 for the font scaler. */ +- if ( ( args[0] & 1 ) != 0 ) +- K = 35; +- +- /* Has the glyph been rotated? */ ++ /********************************/ ++ /* RASTERIZER VERSION */ ++ /* Selector Bit: 0 */ ++ /* Return Bit(s): 0-7 */ ++ /* */ ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ if ( ( args[0] & 1 ) != 0 ++ && CUR.enhanced ++ && !( CUR.sph_tweak_flags & SPH_TWEAK_RASTERIZER_35 ) ){ ++ K = CUR.rasterizer_version; /*printf (" SETTING AS 37 \n" );*/ } ++ else ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ ++ if ( ( args[0] & 1 ) != 0 ){ ++ K = 35; /*printf (" SETTING AS 35 \n" );*/ ++ } ++ /********************************/ ++ /* GLYPH ROTATED */ ++ /* Selector Bit: 1 */ ++ /* Return Bit(s): 8 */ ++ /* */ + if ( ( args[0] & 2 ) != 0 && CUR.tt_metrics.rotated ) +- K |= 0x80; ++ K |= 1 << 8; + +- /* Has the glyph been stretched? */ ++ /********************************/ ++ /* GLYPH STRETCHED */ ++ /* Selector Bit: 2 */ ++ /* Return Bit(s): 9 */ ++ /* */ + if ( ( args[0] & 4 ) != 0 && CUR.tt_metrics.stretched ) +- K |= 1 << 8; ++ /*K |= 1 << 8; Original value appears to be incorrect?? */ ++ K |= 1 << 9; + +- /* Are we hinting for grayscale? */ ++ /********************************/ ++ /* HINTING FOR GRAYSCALE */ ++ /* Selector Bit: 5 */ ++ /* Return Bit(s): 12 */ ++ /* */ + if ( ( args[0] & 32 ) != 0 && CUR.grayscale ) + K |= 1 << 12; + ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ if ( CUR.enhanced && !( CUR.sph_tweak_flags & SPH_TWEAK_RASTERIZER_35 ) ) ++ { ++ /********************************/ ++ /* HINTING FOR GRAYSCALE */ ++ /* Selector Bit: 5 */ ++ /* Return Bit(s): 12 */ ++ /* */ ++ if ( ( args[0] & 32 ) != 0 && CUR.grayscale_hinting ) ++ K |= 1 << 12; ++ ++ /********************************/ ++ /* HINTING FOR SUBPIXEL */ ++ /* Selector Bit: 6 */ ++ /* Return Bit(s): 13 */ ++ /* */ ++ if ( ( args[0] & 64 ) != 0 && CUR.subpixel_hinting ) ++ { ++ K |= 1 << 13; ++ ++ /* The below are irrelevant if subpixel_hinting is not set */ ++ ++ /********************************/ ++ /* COMPATIBLE WIDTHS ENABLED */ ++ /* Selector Bit: 7 */ ++ /* Return Bit(s): 14 */ ++ /* */ ++ /* Functionality still needs to be added */ ++ if ( ( args[0] & 128 ) != 0 && CUR.compatible_widths ) ++ { ++ K |= 1 << 14; ++ } ++ ++ /********************************/ ++ /* SYMMETRICAL SMOOTHING */ ++ /* Selector Bit: 8 */ ++ /* Return Bit(s): 15 */ ++ /* */ ++ /* Functionality still needs to be added */ ++ if ( ( args[0] & 256 ) != 0 && CUR.symmetrical_smoothing ) ++ K |= 1 << 15; ++ ++ /********************************/ ++ /* HINTING FOR BGR? */ ++ /* Selector Bit: 9 */ ++ /* Return Bit(s): 16 */ ++ /* */ ++ /* Functionality still needs to be added */ ++ if ( ( args[0] & 512 ) != 0 && CUR.bgr ) ++ K |= 1 << 16; ++ } ++ } ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ ++ + args[0] = K; + } + +@@ -7405,6 +7906,14 @@ + cur = *exc; + #endif + ++ ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ /* Ensure some variables are set for this run */ ++ CUR.iup_called = FALSE; ++ CUR.iupy_called = FALSE; ++ CUR.infunc = FALSE; ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ ++ + /* set CVT functions */ + CUR.tt_metrics.ratio = 0; + if ( CUR.metrics.x_ppem != CUR.metrics.y_ppem ) +@@ -7683,8 +8192,16 @@ + + + case 0x30: /* IUP */ ++ Ins_IUP( EXEC_ARG_ args ); ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ CUR.iup_called = TRUE; ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ ++ break; + case 0x31: /* IUP */ + Ins_IUP( EXEC_ARG_ args ); ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ CUR.iupy_called = TRUE; ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING*/ + break; + + case 0x32: /* SHP */ +diff -Nur freetype-2.4.3.orig/src/truetype/ttinterp.h freetype-2.4.3.new/src/truetype/ttinterp.h +--- freetype-2.4.3.orig/src/truetype/ttinterp.h 2010-08-05 16:56:05.000000000 -0500 ++++ freetype-2.4.3.new/src/truetype/ttinterp.h 2010-10-23 14:00:05.553373908 -0500 +@@ -68,7 +68,8 @@ + /* Rounding function */ + typedef FT_F26Dot6 + (*TT_Round_Func)( EXEC_OP_ FT_F26Dot6 distance, +- FT_F26Dot6 compensation ); ++ FT_F26Dot6 compensation, ++ FT_Int resolution ); + + /* Point displacement along the freedom vector routine */ + typedef void +@@ -106,6 +107,24 @@ + } TT_CallRec, *TT_CallStack; + + ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ /*************************************************************************/ ++ /* */ ++ /* This structure defines a rule used to tweak subpixel hinting for */ ++ /* various fonts. "", 0, "", NULL value indicates to match any value. */ ++ /* */ ++ ++ typedef struct SPH_TweakRule_ ++ { ++ const char family[32]; ++ const int ppem; ++ const char style[32]; ++ const char glyph; ++ } SPH_TweakRule; ++ ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ ++ ++ + /*************************************************************************/ + /* */ + /* The main structure for the interpreter which collects all necessary */ +@@ -215,7 +234,32 @@ + TT_Set_CVT_Func func_write_cvt; /* write a cvt entry (in pixels) */ + TT_Set_CVT_Func func_move_cvt; /* incr a cvt entry (in pixels) */ + +- FT_Bool grayscale; /* are we hinting for grayscale? */ ++ FT_Bool grayscale; /* are we hinting for grayscale? */ ++ ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ TT_Round_Func func_round_sphn; /* subpixel rounding fuction */ ++ ++ FT_Bool grayscale_hinting; /* are we hinting for subpixel? */ ++ FT_Bool subpixel_hinting; /* are we hinting for subpixel? */ ++ FT_Bool enhanced; /* are we using enhanced rendering? */ ++ /* ( grayscale_hinting || subpixel_hinting ) */ ++ FT_Bool native_hinting; /* do native hinting when true */ ++ /* the following 3 are unimplemented but here for future reference */ ++ ++ FT_Bool compatible_widths; /* are we using compatible widths?*/ ++ FT_Bool symmetrical_smoothing; /* symmetrical_smoothing? */ ++ FT_Bool bgr; /* are we using bgr, not rgb? */ ++ FT_Int rasterizer_version;/* return ms rasterizer version */ ++ ++ FT_Bool iup_called; /* IUP[x] been called for glyph? */ ++ FT_Bool iupy_called; /* IUP[y] been called for glyph? */ ++ FT_Bool infunc; /* inside an inline delta func? */ ++ ++ FT_ULong sph_tweak_flags; /* flags to control hint tweaks */ ++ ++ FT_Int num_delta_funcs; ++ FT_ULong inline_delta_funcs[5]; ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ + + } TT_ExecContextRec; + +diff -Nur freetype-2.4.3.orig/src/truetype/ttobjs.h freetype-2.4.3.new/src/truetype/ttobjs.h +--- freetype-2.4.3.orig/src/truetype/ttobjs.h 2009-07-03 08:28:24.000000000 -0500 ++++ freetype-2.4.3.new/src/truetype/ttobjs.h 2010-10-22 19:25:46.075900111 -0500 +@@ -177,6 +177,7 @@ + FT_Long start; /* where does it start? */ + FT_UInt opc; /* function #, or instruction code */ + FT_Bool active; /* is it active? */ ++ FT_Bool inline; /* function that defines inline delta */ + + } TT_DefRecord, *TT_DefArray; + +diff -Nur freetype-2.4.3.orig/src/truetype/ttsubpixel.c freetype-2.4.3.new/src/truetype/ttsubpixel.c +--- freetype-2.4.3.orig/src/truetype/ttsubpixel.c 1969-12-31 18:00:00.000000000 -0600 ++++ freetype-2.4.3.new/src/truetype/ttsubpixel.c 2010-11-14 09:25:59.206993605 -0600 +@@ -0,0 +1,171 @@ ++/***************************************************************************/ ++/* */ ++/* ttsubpixel.c */ ++/* */ ++/* TrueType Subpixel Hinting. */ ++/* */ ++/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, */ ++/* 2010 by */ ++/* David Turner, Robert Wilhelm, and Werner Lemberg. */ ++/* */ ++/* This file is part of the FreeType project, and may only be used, */ ++/* modified, and distributed under the terms of the FreeType project */ ++/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ ++/* this file you indicate that you have read the license and */ ++/* understand and accept it fully. */ ++/* */ ++/***************************************************************************/ ++ ++#include <ft2build.h> ++#include FT_INTERNAL_DEBUG_H ++#include FT_INTERNAL_CALC_H ++#include FT_INTERNAL_STREAM_H ++#include FT_INTERNAL_SFNT_H ++#include FT_TRUETYPE_TAGS_H ++#include FT_OUTLINE_H ++ ++#include "ttsubpixel.h" ++ ++ ++ /*************************************************************************/ ++ /* */ ++ /* The macro FT_COMPONENT is used in trace mode. It is an implicit */ ++ /* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */ ++ /* messages during execution. */ ++ /* */ ++#undef FT_COMPONENT ++#define FT_COMPONENT trace_ttgload ++ ++ ++ ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING_ADDITIONAL_TWEAKS ++ static FT_Bool ++ sph_test_tweak ( TT_Face face, ++ FT_String* family, ++ int ppem, ++ FT_String* style, ++ FT_UInt glyph_index, ++ SPH_TweakRule* rule, ++ int num_rules ) ++ { ++ FT_UInt i; ++ ++ /* rule checks may be able to be optimized further */ ++ for ( i = 0; i < num_rules; i++ ) ++ { ++ if ( family && ( strcmp( rule[i].family, "" ) == 0 ++ || strcmp ( rule[i].family, family ) == 0 ) ) ++ if ( rule[i].ppem == 0 ++ || (rule[i].ppem == ppem) ) ++ if ( ( style && strcmp ( rule[i].style, "" ) == 0 ) ++ || strcmp ( rule[i].style, style ) == 0 ) ++ if ( rule[i].glyph == 0 ++ || FT_Get_Char_Index( (FT_Face)face, rule[i].glyph ) ++ == glyph_index ) ++ { ++ /* printf ("%s,%d,%s,%c ", family, ppem, style, rule[i].glyph); */ ++ return TRUE; ++ } ++ } ++ return FALSE; ++ } ++ ++ static void ++ sph_set_tweaks( TT_Loader loader, ++ FT_UInt glyph_index ) ++ { ++ TT_Face face = (TT_Face)loader->face; ++ FT_String* family = face->root.family_name; ++ int ppem = loader->size->metrics.x_ppem; ++ FT_String* style = face->root.style_name; ++ ++ /* loader->exec->sph_tweak_flags = 0x0000; */ ++ ++ /*printf ("%s,%d,%s,%c ", family, ppem, style, glyph_index); */ ++ ++ if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ NORMAL_ROUND_MIRP_Rules, NORMAL_ROUND_MIRP_RULES_SIZE ) ) ++ loader->exec->sph_tweak_flags |= SPH_TWEAK_NORMAL_ROUND_MIRP; ++ if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ NORMAL_ROUND_MDRP_Rules, NORMAL_ROUND_MDRP_RULES_SIZE ) ) ++ loader->exec->sph_tweak_flags |= SPH_TWEAK_NORMAL_ROUND_MDRP; ++ if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ NORMAL_ROUND_MDAP_Rules, NORMAL_ROUND_MDAP_RULES_SIZE ) ) ++ loader->exec->sph_tweak_flags |= SPH_TWEAK_NORMAL_ROUND_MDAP; ++ if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ NORMAL_ROUND_MIAP_Rules, NORMAL_ROUND_MIAP_RULES_SIZE ) ) ++ loader->exec->sph_tweak_flags |= SPH_TWEAK_NORMAL_ROUND_MIAP; ++ ++ if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ SKIP_IUP_Rules, SKIP_IUP_RULES_SIZE ) ) ++ loader->exec->sph_tweak_flags |= SPH_TWEAK_SKIP_IUP; ++ ++ if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ ALWAYS_SKIP_DELTAP_Rules, ALWAYS_SKIP_DELTAP_RULES_SIZE ) ) ++ loader->exec->sph_tweak_flags |= SPH_TWEAK_ALWAYS_SKIP_DELTAP; ++ if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ ALWAYS_DO_DELTAP_Rules, ALWAYS_DO_DELTAP_RULES_SIZE ) ) ++ loader->exec->sph_tweak_flags |= SPH_TWEAK_ALWAYS_DO_DELTAP; ++ else if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ DELTAP_RTG_Rules, DELTAP_RTG_RULES_SIZE ) ) ++ loader->exec->sph_tweak_flags |= SPH_TWEAK_DELTAP_RTG; ++ else if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ DELTAP_RUTG_Rules, DELTAP_RUTG_RULES_SIZE ) ) ++ loader->exec->sph_tweak_flags |= SPH_TWEAK_DELTAP_RUTG; ++ else if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ DELTAP_RDTG_Rules, DELTAP_RDTG_RULES_SIZE ) ) ++ loader->exec->sph_tweak_flags |= SPH_TWEAK_DELTAP_RDTG; ++ ++ if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ ALLOW_DMOVEX_FREEV_Rules, ALLOW_DMOVEX_FREEV_RULES_SIZE ) ) ++ loader->exec->sph_tweak_flags |= SPH_TWEAK_ALLOW_DMOVEX_FREEV; ++ ++ if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ ALLOW_DMOVE_FREEV_Rules, ALLOW_DMOVE_FREEV_RULES_SIZE ) ) ++ loader->exec->sph_tweak_flags |= SPH_TWEAK_ALLOW_DMOVE_FREEV; ++ ++ ++ if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ ALLOW_DMOVEX_FREEV_Rules_Exceptions, ALLOW_DMOVEX_FREEV_RULES_EXCEPTIONS_SIZE ) ) ++ loader->exec->sph_tweak_flags &= ~SPH_TWEAK_ALLOW_DMOVEX_FREEV; ++ ++ if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ ALLOW_DMOVE_FREEV_Rules_Exceptions, ALLOW_DMOVE_FREEV_RULES_EXCEPTIONS_SIZE ) ) ++ loader->exec->sph_tweak_flags &= ~SPH_TWEAK_ALLOW_DMOVE_FREEV; ++ ++ if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ RASTERIZER_35_Rules, RASTERIZER_35_RULES_SIZE ) ) ++ loader->exec->sph_tweak_flags |= SPH_TWEAK_RASTERIZER_35; ++ ++ if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ ALLOW_MOVEZP2_FREEV_Rules, ALLOW_MOVEZP2_FREEV_RULES_SIZE ) ) ++ loader->exec->sph_tweak_flags |= SPH_TWEAK_ALLOW_MOVEZP2_FREEV; ++ ++ if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ ALLOW_MOVEZP2_FREEV_Rules_Exceptions, ALLOW_MOVEZP2_FREEV_RULES_EXCEPTIONS_SIZE ) ) ++ loader->exec->sph_tweak_flags &= ~SPH_TWEAK_ALLOW_MOVEZP2_FREEV; ++ ++ if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ DO_RS_Rules, DO_RS_RULES_SIZE ) ) ++ loader->exec->sph_tweak_flags |= SPH_TWEAK_DO_RS; ++ ++ if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ DO_SHPIX_Rules, DO_SHPIX_RULES_SIZE ) ) ++ loader->exec->sph_tweak_flags |= SPH_TWEAK_DO_SHPIX; ++ ++ if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ SKIP_NONPIXEL_INLINE_MOVES_Rules, SKIP_NONPIXEL_INLINE_MOVES_RULES_SIZE ) ) ++ loader->exec->sph_tweak_flags |= SPH_TWEAK_SKIP_NONPIXEL_INLINE_MOVES; ++ ++ if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ SHPIX_CLASS_A_Rules, SHPIX_CLASS_A_RULES_SIZE ) ) ++ loader->exec->sph_tweak_flags |= SPH_TWEAK_SHPIX_CLASS_A; ++ ++ if ( sph_test_tweak( face, family, ppem, style, glyph_index, ++ SHPIX_CLASS_A_Rules_Exceptions, SHPIX_CLASS_A_RULES_EXCEPTIONS_SIZE ) ) ++ loader->exec->sph_tweak_flags &= ~SPH_TWEAK_SHPIX_CLASS_A; ++ ++ } ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING_ADDITIONAL_TWEAKS */ ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ +diff -Nur freetype-2.4.3.orig/src/truetype/ttsubpixel.h freetype-2.4.3.new/src/truetype/ttsubpixel.h +--- freetype-2.4.3.orig/src/truetype/ttsubpixel.h 1969-12-31 18:00:00.000000000 -0600 ++++ freetype-2.4.3.new/src/truetype/ttsubpixel.h 2010-11-14 19:16:58.095874324 -0600 +@@ -0,0 +1,819 @@ ++/***************************************************************************/ ++/* */ ++/* ttsubpixel.h */ ++/* */ ++/* TrueType Subpixel Hinting. */ ++/* */ ++/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, */ ++/* 2010 by */ ++/* David Turner, Robert Wilhelm, and Werner Lemberg. */ ++/* */ ++/* This file is part of the FreeType project, and may only be used, */ ++/* modified, and distributed under the terms of the FreeType project */ ++/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ ++/* this file you indicate that you have read the license and */ ++/* understand and accept it fully. */ ++/* */ ++/***************************************************************************/ ++ ++#ifndef __TTSUBPIXEL_H__ ++#define __TTSUBPIXEL_H__ ++ ++#include <ft2build.h> ++#include "ttobjs.h" ++ ++#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING ++ /*************************************************************************/ ++ /* */ ++ /* Tweak flags that are set for each glyph */ ++ /* */ ++ /* */ ++#define SPH_TWEAK_NORMAL_ROUND_MIRP 0x00001 ++#define SPH_TWEAK_NORMAL_ROUND_MDRP 0x00002 ++#define SPH_TWEAK_DELTAP_RDTG 0x00004 ++#define SPH_TWEAK_DELTAP_RTG 0x00008 ++#define SPH_TWEAK_DELTAP_RUTG 0x00010 ++#define SPH_TWEAK_ALLOW_DMOVEX_FREEV 0x00020 ++#define SPH_TWEAK_ALLOW_DMOVE_FREEV 0x00040 ++#define SPH_TWEAK_ALLOW_MOVEZP2_FREEV 0x00080 ++#define SPH_TWEAK_ALWAYS_SKIP_DELTAP 0x00100 ++#define SPH_TWEAK_SKIP_IUP 0x00200 ++#define SPH_TWEAK_NORMAL_ROUND_MIAP 0x00400 ++#define SPH_TWEAK_NORMAL_ROUND_MDAP 0x00800 ++#define SPH_TWEAK_DO_RS 0x01000 ++#define SPH_TWEAK_DO_SHPIX 0x02000 ++#define SPH_TWEAK_ALWAYS_DO_DELTAP 0x04000 ++#define SPH_TWEAK_SKIP_NONPIXEL_INLINE_MOVES 0x08000 ++#define SPH_TWEAK_SHPIX_CLASS_A 0x10000 ++#define SPH_TWEAK_RASTERIZER_35 0x20000 ++ ++ ++ static FT_Bool ++ sph_test_tweak ( TT_Face face, ++ FT_String* family, ++ int ppem, ++ FT_String* style, ++ FT_UInt glyph_index, ++ SPH_TweakRule* rule, ++ int num_rules ); ++ static void ++ sph_set_tweaks( TT_Loader loader, ++ FT_UInt glyph_index ); ++ ++ ++ /*************************************************************************/ ++ /* */ ++ /* These are groups of rules that affect how the TT Interpreter does */ ++ /* hinting. */ ++ /* */ ++ /* "" string or 0 int/char indicates to apply to all. */ ++ /* "-" used as dummy placeholders, but any non-matching string works */ ++ /* */ ++ /* Remaining rules are tweaks for various fonts / glyphs */ ++ /* Some of this could arguably be implemented in fontconfig, however: */ ++ /* */ ++ /* - Fontconfig can't set things on a glyph-by-glyph basis. */ ++ /* - The tweaks that happen here are very low-level, from an average */ ++ /* user's point of view and are best implemented in the hinter */ ++ /* */ ++ /* Ideally, some of these should be generalized across affected fonts, */ ++ /* and enabled by default in the code. The rule structure is designed so */ ++ /* that entirely new rules can easily be added when a new compatibility */ ++ /* feature is discovered. */ ++ /* */ ++ ++ /*************************************************************************/ ++ /* */ ++ /* TT_CONFIG_OPTION_SUBPIXEL_HINTING Rules */ ++ /* */ ++ /* Simply, this attempts to duplicate the fuctionality described here */ ++ /* and nothing more: */ ++ /* */ ++ /* http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx */ ++ /* */ ++ /* This mode is enabled when */ ++ /* TT_CONFIG_OPTION_SUBPIXEL_HINTING_ADDITIONAL_TWEAKS */ ++ /* is undefined */ ++ /* */ ++ ++ ++#ifndef TT_CONFIG_OPTION_SUBPIXEL_HINTING_ADDITIONAL_TWEAKS ++ ++#if FALSE /* THIS RULESET NOT CURRENTLY BEING USED */ ++ ++#define BITMAP_WIDTHS FALSE ++#define SET_SUBPIXEL FALSE ++#define SET_GRAYSCALE TRUE ++#define SET_MONOCHROME FALSE ++#define SET_COMPATIBLE_WIDTHS TRUE ++#define SET_RASTERIZER_VERSION 35 ++#define Grids_Per_Pixel_X 1 ++#define Grids_Per_Pixel_Y 1 ++ ++ ++/********** MOVE RULES *************/ ++ ++/* Allow a Direct_Move_X along freedom vector when matched */ ++#define ALLOW_DMOVEX_FREEV_RULES_SIZE 1 ++SPH_TweakRule ALLOW_DMOVEX_FREEV_Rules ++[ALLOW_DMOVEX_FREEV_RULES_SIZE] = { ++ { "", 0, "", 0 }, ++}; ++ ++/* Allow a Direct_Move along freedom vector when matched */ ++#define ALLOW_DMOVE_FREEV_RULES_SIZE 1 ++SPH_TweakRule ALLOW_DMOVE_FREEV_Rules ++[ALLOW_DMOVE_FREEV_RULES_SIZE] = { ++ { "", 0, "", 0 }, ++}; ++ ++/* Allow a ZP2 Move along freedom vector when matched */ ++#define ALLOW_MOVEZP2_FREEV_RULES_SIZE 1 ++SPH_TweakRule ALLOW_MOVEZP2_FREEV_Rules ++[ALLOW_MOVEZP2_FREEV_RULES_SIZE] = { ++ { "", 0, "", 0 }, ++}; ++ ++/* Don't skip RS calls */ ++#define DO_RS_RULES_SIZE 1 ++SPH_TweakRule DO_RS_Rules ++[DO_RS_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Force requested SHPIX operations when matched */ ++#define DO_SHPIX_RULES_SIZE 1 ++SPH_TweakRule DO_SHPIX_Rules ++[DO_SHPIX_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++#define SKIP_NONPIXEL_INLINE_MOVES_RULES_SIZE 1 ++SPH_TweakRule SKIP_NONPIXEL_INLINE_MOVES_Rules ++[SKIP_NONPIXEL_INLINE_MOVES_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++#define NORMAL_ROUND_MIRP_RULES_SIZE 1 ++SPH_TweakRule NORMAL_ROUND_MIRP_Rules ++[NORMAL_ROUND_MIRP_RULES_SIZE] = { ++ { "", 0, "", 0 }, ++}; ++ ++#define NORMAL_ROUND_MIAP_RULES_SIZE 1 ++SPH_TweakRule NORMAL_ROUND_MIAP_Rules ++[NORMAL_ROUND_MIAP_RULES_SIZE] = { ++ { "", 0, "", 0 }, ++}; ++ ++#define NORMAL_ROUND_MDRP_RULES_SIZE 1 ++SPH_TweakRule NORMAL_ROUND_MDRP_Rules ++[NORMAL_ROUND_MDRP_RULES_SIZE] = { ++ { "", 0, "", 0 }, ++}; ++ ++#define NORMAL_ROUND_MDAP_RULES_SIZE 1 ++SPH_TweakRule NORMAL_ROUND_MDAP_Rules ++[NORMAL_ROUND_MDAP_RULES_SIZE] = { ++ { "", 0, "", 0 }, ++}; ++ ++/* Indicates that SHPIX needs to match a touched point on x OR y */ ++#define SHPIX_CLASS_A_RULES_SIZE 1 ++SPH_TweakRule SHPIX_CLASS_A_Rules ++[SHPIX_CLASS_A_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Mystery rules that make SHPIX work on certain fonts/glyphs. */ ++/* Indicates that SHPIX needs to match a touched point on x AND y */ ++/* This is dirty and needs to be generalized and incorporated. */ ++#define SHPIX_CLASS_A_RULES_EXCEPTIONS_SIZE 1 ++SPH_TweakRule SHPIX_CLASS_A_Rules_Exceptions ++[SHPIX_CLASS_A_RULES_EXCEPTIONS_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++#define ALLOW_DMOVEX_FREEV_RULES_EXCEPTIONS_SIZE 1 ++SPH_TweakRule ALLOW_DMOVEX_FREEV_Rules_Exceptions ++[ALLOW_DMOVEX_FREEV_RULES_EXCEPTIONS_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++#define ALLOW_DMOVE_FREEV_RULES_EXCEPTIONS_SIZE 1 ++SPH_TweakRule ALLOW_DMOVE_FREEV_Rules_Exceptions ++[ALLOW_DMOVE_FREEV_RULES_EXCEPTIONS_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++#define ALLOW_MOVEZP2_FREEV_RULES_EXCEPTIONS_SIZE 1 ++SPH_TweakRule ALLOW_MOVEZP2_FREEV_Rules_Exceptions ++[ALLOW_MOVEZP2_FREEV_RULES_EXCEPTIONS_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Skip IUP instructions when matched */ ++#define SKIP_IUP_RULES_SIZE 1 ++SPH_TweakRule SKIP_IUP_Rules ++[SKIP_IUP_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Skip DELTAP instructions when matched */ ++#define ALWAYS_SKIP_DELTAP_RULES_SIZE 1 ++SPH_TweakRule ALWAYS_SKIP_DELTAP_Rules ++[ALWAYS_SKIP_DELTAP_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Always do DELTAP instructions when matched */ ++#define ALWAYS_DO_DELTAP_RULES_SIZE 1 ++SPH_TweakRule ALWAYS_DO_DELTAP_Rules ++[ALWAYS_DO_DELTAP_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Do an extra RTG instruction in DELTAP when matched */ ++#define DELTAP_RTG_RULES_SIZE 1 ++SPH_TweakRule DELTAP_RTG_Rules ++[DELTAP_RTG_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Do an extra RUTG instruction in DELTAP when matched */ ++#define DELTAP_RUTG_RULES_SIZE 1 ++SPH_TweakRule DELTAP_RUTG_Rules ++[DELTAP_RUTG_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Do an extra RDTG instruction in DELTAP when matched */ ++#define DELTAP_RDTG_RULES_SIZE 1 ++SPH_TweakRule DELTAP_RDTG_Rules ++[DELTAP_RDTG_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Return MS rasterizer 35 when matched */ ++#define RASTERIZER_35_RULES_SIZE 1 ++SPH_TweakRule RASTERIZER_35_Rules ++[RASTERIZER_35_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++#endif ++ ++ ++#define BITMAP_WIDTHS FALSE ++#define SET_SUBPIXEL TRUE ++#define SET_GRAYSCALE FALSE ++#define SET_MONOCHROME FALSE ++#define SET_COMPATIBLE_WIDTHS FALSE ++#define SET_RASTERIZER_VERSION 37 ++#define Grids_Per_Pixel_X 64 ++#define Grids_Per_Pixel_Y 1 ++ ++ ++/********** MOVE RULES *************/ ++ ++/* Allow a Direct_Move_X along freedom vector when matched */ ++#define ALLOW_DMOVEX_FREEV_RULES_SIZE 1 ++SPH_TweakRule ALLOW_DMOVEX_FREEV_Rules ++[ALLOW_DMOVEX_FREEV_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Allow a Direct_Move along freedom vector when matched */ ++#define ALLOW_DMOVE_FREEV_RULES_SIZE 1 ++SPH_TweakRule ALLOW_DMOVE_FREEV_Rules ++[ALLOW_DMOVE_FREEV_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Allow a ZP2 Move along freedom vector when matched */ ++#define ALLOW_MOVEZP2_FREEV_RULES_SIZE 1 ++SPH_TweakRule ALLOW_MOVEZP2_FREEV_Rules ++[ALLOW_MOVEZP2_FREEV_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Don't skip RS calls */ ++#define DO_RS_RULES_SIZE 1 ++SPH_TweakRule DO_RS_Rules ++[DO_RS_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Force requested SHPIX operations when matched */ ++#define DO_SHPIX_RULES_SIZE 1 ++SPH_TweakRule DO_SHPIX_Rules ++[DO_SHPIX_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++#define SKIP_NONPIXEL_INLINE_MOVES_RULES_SIZE 1 ++SPH_TweakRule SKIP_NONPIXEL_INLINE_MOVES_Rules ++[SKIP_NONPIXEL_INLINE_MOVES_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++#define NORMAL_ROUND_MIRP_RULES_SIZE 1 ++SPH_TweakRule NORMAL_ROUND_MIRP_Rules ++[NORMAL_ROUND_MIRP_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++#define NORMAL_ROUND_MIAP_RULES_SIZE 1 ++SPH_TweakRule NORMAL_ROUND_MIAP_Rules ++[NORMAL_ROUND_MIAP_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++#define NORMAL_ROUND_MDRP_RULES_SIZE 1 ++SPH_TweakRule NORMAL_ROUND_MDRP_Rules ++[NORMAL_ROUND_MDRP_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++#define NORMAL_ROUND_MDAP_RULES_SIZE 1 ++SPH_TweakRule NORMAL_ROUND_MDAP_Rules ++[NORMAL_ROUND_MDAP_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Indicates that SHPIX needs to match a touched point on x OR y */ ++#define SHPIX_CLASS_A_RULES_SIZE 1 ++SPH_TweakRule SHPIX_CLASS_A_Rules ++[SHPIX_CLASS_A_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Mystery rules that make SHPIX work on certain fonts/glyphs. */ ++/* Indicates that SHPIX needs to match a touched point on x AND y */ ++/* This is dirty and needs to be generalized and incorporated. */ ++#define SHPIX_CLASS_A_RULES_EXCEPTIONS_SIZE 1 ++SPH_TweakRule SHPIX_CLASS_A_Rules_Exceptions ++[SHPIX_CLASS_A_RULES_EXCEPTIONS_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++#define ALLOW_DMOVEX_FREEV_RULES_EXCEPTIONS_SIZE 1 ++SPH_TweakRule ALLOW_DMOVEX_FREEV_Rules_Exceptions ++[ALLOW_DMOVEX_FREEV_RULES_EXCEPTIONS_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++#define ALLOW_DMOVE_FREEV_RULES_EXCEPTIONS_SIZE 1 ++SPH_TweakRule ALLOW_DMOVE_FREEV_Rules_Exceptions ++[ALLOW_DMOVE_FREEV_RULES_EXCEPTIONS_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++#define ALLOW_MOVEZP2_FREEV_RULES_EXCEPTIONS_SIZE 1 ++SPH_TweakRule ALLOW_MOVEZP2_FREEV_Rules_Exceptions ++[ALLOW_MOVEZP2_FREEV_RULES_EXCEPTIONS_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Skip IUP instructions when matched */ ++#define SKIP_IUP_RULES_SIZE 1 ++SPH_TweakRule SKIP_IUP_Rules ++[SKIP_IUP_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Skip DELTAP instructions when matched */ ++#define ALWAYS_SKIP_DELTAP_RULES_SIZE 1 ++SPH_TweakRule ALWAYS_SKIP_DELTAP_Rules ++[ALWAYS_SKIP_DELTAP_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Always do DELTAP instructions when matched */ ++#define ALWAYS_DO_DELTAP_RULES_SIZE 1 ++SPH_TweakRule ALWAYS_DO_DELTAP_Rules ++[ALWAYS_DO_DELTAP_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Do an extra RTG instruction in DELTAP when matched */ ++#define DELTAP_RTG_RULES_SIZE 1 ++SPH_TweakRule DELTAP_RTG_Rules ++[DELTAP_RTG_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Do an extra RUTG instruction in DELTAP when matched */ ++#define DELTAP_RUTG_RULES_SIZE 1 ++SPH_TweakRule DELTAP_RUTG_Rules ++[DELTAP_RUTG_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Do an extra RDTG instruction in DELTAP when matched */ ++#define DELTAP_RDTG_RULES_SIZE 1 ++SPH_TweakRule DELTAP_RDTG_Rules ++[DELTAP_RDTG_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++/* Return MS rasterizer 35 when matched */ ++#define RASTERIZER_35_RULES_SIZE 1 ++SPH_TweakRule RASTERIZER_35_Rules ++[RASTERIZER_35_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++ ++ /*************************************************************************/ ++ /* */ ++ /* TT_CONFIG_OPTION_SUBPIXEL_HINTING_ADDITIONAL_TWEAKS Rules */ ++ /* */ ++ /* This set of rules is an attempt at enhancing the basic subpixel rules */ ++ /* defined above, to fix visual problems with individual fonts and */ ++ /* glyphs. */ ++ /* */ ++ /* This mode is enabled when */ ++ /* TT_CONFIG_OPTION_SUBPIXEL_HINTING_ADDITIONAL_TWEAKS */ ++ /* is defined */ ++ /* */ ++ /* ****************** WORK IN PROGRESS ******************* */ ++ /* */ ++ ++#else ++ ++#define BITMAP_WIDTHS FALSE ++#define SET_SUBPIXEL TRUE ++#define SET_GRAYSCALE FALSE ++#define SET_MONOCHROME FALSE ++#define SET_COMPATIBLE_WIDTHS FALSE ++#define SET_RASTERIZER_VERSION 37 ++#define Grids_Per_Pixel_X 64 ++#define Grids_Per_Pixel_Y 1 ++ ++ ++/* Don't avoid RS Rules (as the basic subpixel hinting does) */ ++#define DO_RS_RULES_SIZE 1 ++SPH_TweakRule DO_RS_Rules[DO_RS_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++}; ++ ++ ++/******************* DELTA RULES *********************/ ++ ++/* Do requested SHPIX operations when matched. This requires ZP2 moves */ ++/* to be enabled in order to get SHPIX moves in the X direction */ ++/* Do all "Optimized for Cleartype" fonts need to be here??. */ ++/* the below doesn't work because the bit is not set in MS cleartype fonts */ ++/* CUR.face->header.Flags & 0x10000 */ ++ ++#define DO_SHPIX_RULES_SIZE 7 ++SPH_TweakRule DO_SHPIX_Rules[DO_SHPIX_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++ { "-Verdana", 0, "Regular", 0 }, ++ { "-Verdana", 12, "Regular", 0 }, ++ { "Verdana", 13, "Regular", 0 }, ++ /* aligns to pixels nicely, but messes up some glyphs */ ++ { "-Times New Roman", 0, "Regular", 0 }, ++ { "+++Segoe UI", 0, "Regular", 0 }, ++ { "-Segoe UI", 0, "Semibold", 0 }, ++}; ++ ++/* Indicates that SHPIX needs to match a touched point on x OR y */ ++#define SHPIX_CLASS_A_RULES_SIZE 1 ++SPH_TweakRule SHPIX_CLASS_A_Rules[SHPIX_CLASS_A_RULES_SIZE] = { ++ { "", 0, "", 0 }, ++}; ++ ++/* Mystery rules that make SHPIX work on certain fonts/glyphs. */ ++/* Indicates that SHPIX needs to match a touched point on x AND y */ ++/* This is dirty and needs to be generalized and incorporated. */ ++#define SHPIX_CLASS_A_RULES_EXCEPTIONS_SIZE 2 ++SPH_TweakRule SHPIX_CLASS_A_Rules_Exceptions ++[SHPIX_CLASS_A_RULES_EXCEPTIONS_SIZE] = { ++ { "---", 0, "", 0 }, ++ { "Arial", 11, "Regular", 's' }, ++}; ++ ++/* Skip moves that don't align to a pixel in various functions. */ ++/* Fixes Tahoma, trebuchet oddities and some issues with $ */ ++#define SKIP_NONPIXEL_INLINE_MOVES_RULES_SIZE 4 ++SPH_TweakRule SKIP_NONPIXEL_INLINE_MOVES_Rules ++[SKIP_NONPIXEL_INLINE_MOVES_RULES_SIZE] = { ++ { "", 0, "Regular", 0 }, ++ /* keeps the weight in the center of the N */ ++ { "", 0, "Regular", 'N' }, ++ { "Tahoma", 0, "Regular", 0 }, ++ { "==Trebuchet MS", 0, "Regular", 0 }, ++}; ++ ++ ++/********** MOVE RULES *************/ ++ ++/* Allow a Direct_Move_X along X freedom vector when matched */ ++#define ALLOW_DMOVEX_FREEV_RULES_SIZE 20 ++SPH_TweakRule ALLOW_DMOVEX_FREEV_Rules[ALLOW_DMOVEX_FREEV_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++ { "-", 0, "Regular", 0 }, ++ { "-", 0, "Italic", 0 }, ++ { "-", 0, "Regular", 0 }, ++ { "-Verdana", 12, "Regular", 0 }, ++ { "-Geneva", 0, "", 0 }, ++ { "-Courier New", 0, "Regular", 0 }, ++ { "-Courier New", 0, "", 0 }, ++ { "-Arial", 0, "Bold", 0 }, ++ { "Verdana", 13, "Regular", 0 }, ++ { "-Times New Roman", 0, "Regular", 0 }, ++ { "Arial", 13, "Regular", 0 }, ++ { "Arial", 14, "Regular", 0 }, ++ { "-Tahoma", 0, "Regular", 0 }, ++ { "+++Trebuchet MS", 0, "Regular", 0 }, ++ { "-Trebuchet MS", 0, "Bold", 0 }, ++ { "-Segoe UI", 0, "Semibold", 0 }, ++ { "-Segoe UI", 12, "Regular", 'H' }, ++ { "Arial Narrow", 0, "Regular", 0 }, ++ { "+++Andale Mono", 17, "Regular", 0 }, ++}; ++ ++/* Allow a Direct_Move along X freedom vector when matched */ ++#define ALLOW_DMOVE_FREEV_RULES_SIZE 21 ++SPH_TweakRule ALLOW_DMOVE_FREEV_Rules ++[ALLOW_DMOVE_FREEV_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++ { "-", 0, "Regular", 0 }, ++ { "-", 0, "Italic", 0 }, ++ { "-Verdana", 12, "Regular", 0 }, ++ { "Verdana", 13, "Regular", 0 }, ++ { "-Courier New", 0, "Bold", 0 }, ++ { "-Times New Roman", 0, "Regular", 0 }, ++ { "Arial", 13, "Regular", 0 }, ++ { "Arial", 14, "Regular", 0 }, ++ { "-Arial", 0, "Bold", 0 }, ++ { "-Tahoma", 0, "Regular", 0 }, ++ { "+++Trebuchet MS", 0, "Regular", 0 }, ++ { "-Trebuchet MS", 0, "Bold", 0 }, ++ { "-Geneva", 0, "", 0 }, ++ { "-------", 0, "Regular", 0 }, ++ { "-Segoe UI", 0, "Semibold", 0 }, ++ { "+++Segoe UI", 12, "Regular", 'H' }, ++ { "-----", 0, "Regular", 0 }, ++ { "Arial Narrow", 0, "Regular", 0 }, ++ { "+++Andale Mono", 17, "Regular", 0 }, ++ { "-Courier New", 0, "", 0 }, ++}; ++ ++ ++#define ALLOW_DMOVEX_FREEV_RULES_EXCEPTIONS_SIZE 9 ++SPH_TweakRule ALLOW_DMOVEX_FREEV_Rules_Exceptions ++ [ALLOW_DMOVEX_FREEV_RULES_EXCEPTIONS_SIZE] = { ++ { "-", 0, "", 0 }, ++ { "-Times New Roman", 0, "Regular", 'a' }, ++ { "-Times New Roman", 0, "Regular", 'q' }, ++ { "-Times New Roman", 0, "Regular", 'P' }, ++ { "-Times New Roman", 0, "Regular", 'R' }, ++ { "-Times New Roman", 0, "Regular", 'B' }, ++ { "Arial", 0, "Regular", '4' }, ++ { "Arial", 0, "Regular", 's' }, ++ { "Arial", 0, "Regular", '^' }, ++}; ++ ++#define ALLOW_DMOVE_FREEV_RULES_EXCEPTIONS_SIZE 9 ++SPH_TweakRule ALLOW_DMOVE_FREEV_Rules_Exceptions ++[ALLOW_DMOVE_FREEV_RULES_EXCEPTIONS_SIZE] = { ++ { "-", 0, "", 0 }, ++ { "-Times New Roman", 0, "Regular", 'a' }, ++ { "-Times New Roman", 0, "Regular", 'q' }, ++ { "-Times New Roman", 0, "Regular", 'P' }, ++ { "-Times New Roman", 0, "Regular", 'R' }, ++ { "-Times New Roman", 0, "Regular", 'B' }, ++ { "Arial", 0, "Regular", '4' }, ++ { "Arial", 0, "Regular", 's' }, ++ { "Arial", 0, "Regular", '^' }, ++}; ++ ++ ++/* Allow a ZP2 Move along freedom vector when matched */ ++/* This is called from SHP, SHPIX, SHC, SHZ */ ++#define ALLOW_MOVEZP2_FREEV_RULES_SIZE 14 ++SPH_TweakRule ALLOW_MOVEZP2_FREEV_Rules[ALLOW_MOVEZP2_FREEV_RULES_SIZE] = { ++ { "-", 0, "Regular", 0 }, ++ { "-Verdana", 12, "Regular", 0 }, ++ { "Verdana", 13, "Regular", 0 }, ++ { "-Times New Roman", 0, "Regular", 0 }, ++ { "-Courier New", 0, "Bold", 0 }, ++ { "-Tahoma", 0, "Regular", 0 }, ++ { "-Courier New", 0, "", 0 }, ++ { "Arial", 13, "Regular", 0 }, ++ { "Arial", 14, "Regular", 0 }, ++ { "-Arial", 0, "Bold", 0 }, ++ { "+++Trebuchet MS", 0, "Regular", 0 }, ++ { "-Trebuchet MS", 0, "Bold", 0 }, ++ { "-Verdana", 13, "Regular", 0 }, ++ /* this needs a bit of work though */ ++ { "-Microsoft Sans Serif", 0, "Regular", 0 }, ++}; ++ ++/* Return MS rasterizer 35 when matched */ ++#define RASTERIZER_35_RULES_SIZE 1 ++SPH_TweakRule RASTERIZER_35_Rules ++[RASTERIZER_35_RULES_SIZE] = { ++ { "Times New Roman", 0, "Regular", 'i' }, ++}; ++ ++/************** DIRTY, DIRTY HACKS!!!!!!!! ***************/ ++ ++#define ALLOW_MOVEZP2_FREEV_RULES_EXCEPTIONS_SIZE 11 ++SPH_TweakRule ALLOW_MOVEZP2_FREEV_Rules_Exceptions ++[ALLOW_MOVEZP2_FREEV_RULES_EXCEPTIONS_SIZE] = { ++ { "-", 0, "", 0 }, ++ { "Times New Roman", 0, "Regular", 'a' }, ++ { "Times New Roman", 0, "Regular", 'q' }, ++ { "Verdana", 13, "Regular", 'N' }, ++ { "Verdana", 13, "Regular", 'f' }, ++ { "Verdana", 13, "Regular", 'v' }, ++ { "-------", 13, "Regular", 'k' }, ++ { "Verdana", 13, "Regular", 'w' }, ++ { "Verdana", 13, "Regular", 'x' }, ++ { "Verdana", 13, "Regular", 'y' }, ++ { "Verdana", 13, "Regular", 'z' }, ++}; ++ ++/*********** ROUNDING ***************/ ++/* These only have an effect on fonts that are allowed to move X (above) */ ++/* It appears all MS cleartype fonts may be OK using normal rounds */ ++#define NORMAL_ROUND_MIRP_RULES_SIZE 16 ++SPH_TweakRule NORMAL_ROUND_MIRP_Rules[NORMAL_ROUND_MIRP_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++ { "-Tahoma", 9, "Regular", 0 }, ++ { "-Courier New", 0, "Regular", 'W' }, ++ { "-Courier New", 0, "Regular", 'K' }, ++ { "-Courier New", 0, "Regular", 'k' }, ++ { "-Courier New", 0, "Regular", 'V' }, ++ { "-Courier New", 0, "Regular", 'O' }, ++ { "-Courier New", 0, "Regular", 'X' }, ++ { "-Courier New", 0, "Regular", 'Y' }, ++ { "-Courier New", 0, "Regular", 'A' }, ++ { "-Courier New", 0, "Regular", 'v' }, ++ { "-Courier New", 0, "Regular", 'z' }, ++ { "-Courier New", 0, "Regular", 'x' }, ++ { "-Courier New", 0, "Regular", 'y' }, ++ { "Calibri", 0, "Italic", 0 }, ++ { "Calibri", 0, "Bold Italic", 0 }, ++}; ++ ++#define NORMAL_ROUND_MIAP_RULES_SIZE 16 ++SPH_TweakRule NORMAL_ROUND_MIAP_Rules[NORMAL_ROUND_MIAP_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++ { "-Tahoma", 9, "Regular", 0 }, ++ { "-Courier New", 0, "Regular", 'W' }, ++ { "-Courier New", 0, "Regular", 'K' }, ++ { "-Courier New", 0, "Regular", 'k' }, ++ { "-Courier New", 0, "Regular", 'V' }, ++ { "-Courier New", 0, "Regular", 'O' }, ++ { "-Courier New", 0, "Regular", 'X' }, ++ { "-Courier New", 0, "Regular", 'Y' }, ++ { "-Courier New", 0, "Regular", 'A' }, ++ { "-Courier New", 0, "Regular", 'v' }, ++ { "-Courier New", 0, "Regular", 'z' }, ++ { "-Courier New", 0, "Regular", 'x' }, ++ { "-Courier New", 0, "Regular", 'y' }, ++ { "Calibri", 0, "Italic", 0 }, ++ { "Calibri", 0, "Bold Italic", 0 }, ++}; ++ ++#define NORMAL_ROUND_MDRP_RULES_SIZE 16 ++SPH_TweakRule NORMAL_ROUND_MDRP_Rules[NORMAL_ROUND_MDRP_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++ { "-Tahoma", 9, "Regular", 0 }, ++ { "-Courier New", 0, "Regular", 'W' }, ++ { "-Courier New", 0, "Regular", 'K' }, ++ { "-Courier New", 0, "Regular", 'k' }, ++ { "-Courier New", 0, "Regular", 'V' }, ++ { "-Courier New", 0, "Regular", 'O' }, ++ { "-Courier New", 0, "Regular", 'X' }, ++ { "-Courier New", 0, "Regular", 'Y' }, ++ { "-Courier New", 0, "Regular", 'A' }, ++ { "-Courier New", 0, "Regular", 'v' }, ++ { "-Courier New", 0, "Regular", 'z' }, ++ { "-Courier New", 0, "Regular", 'x' }, ++ { "-Courier New", 0, "Regular", 'y' }, ++ { "Calibri", 0, "Italic", 0 }, ++ { "Calibri", 0, "Bold Italic", 0 }, ++}; ++ ++#define NORMAL_ROUND_MDAP_RULES_SIZE 16 ++SPH_TweakRule NORMAL_ROUND_MDAP_Rules[NORMAL_ROUND_MDAP_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++ { "-Tahoma", 9, "Regular", 0 }, ++ { "-Courier New", 0, "Regular", 'W' }, ++ { "-Courier New", 0, "Regular", 'K' }, ++ { "-Courier New", 0, "Regular", 'k' }, ++ { "-Courier New", 0, "Regular", 'V' }, ++ { "-Courier New", 0, "Regular", 'O' }, ++ { "-Courier New", 0, "Regular", 'X' }, ++ { "-Courier New", 0, "Regular", 'Y' }, ++ { "-Courier New", 0, "Regular", 'A' }, ++ { "-Courier New", 0, "Regular", 'v' }, ++ { "-Courier New", 0, "Regular", 'z' }, ++ { "-Courier New", 0, "Regular", 'x' }, ++ { "-Courier New", 0, "Regular", 'y' }, ++ { "Calibri", 0, "Italic", 0 }, ++ { "Calibri", 0, "Bold Italic", 0 }, ++}; ++ ++ ++/* Skip IUP instructions when matched */ ++#define SKIP_IUP_RULES_SIZE 6 ++SPH_TweakRule SKIP_IUP_Rules[SKIP_IUP_RULES_SIZE] = { ++ { "Arial", 13, "Regular", 'a' }, ++ { "-", 0, "Regular", '2' }, ++ { "-", 0, "", 0 }, ++ { "-", 0, "Regular", 'a' }, ++ { "-", 0, "Regular", 'V' }, ++ { "-", 0, "Light", 0 }, ++}; ++ ++/* Skip DELTAP instructions when matched */ ++#define ALWAYS_SKIP_DELTAP_RULES_SIZE 19 ++SPH_TweakRule ALWAYS_SKIP_DELTAP_Rules[ALWAYS_SKIP_DELTAP_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++ { "--Courier New", 0, "Regular", 'V' }, ++ { "Verdana", 10, "Regular", 0 }, ++ { "-Trebuchet MS", 0, "Regular", 'W' }, ++ { "-Trebuchet MS", 0, "Regular", 'w' }, ++ { "-Verdana", 0, "Italic", 'v' }, ++ { "-Verdana", 0, "Italic", 'w' }, ++ { "-Verdana", 0, "Italic", 'x' }, ++ { "-Verdana", 0, "Italic", 'y' }, ++ { "-Verdana", 0, "Italic", 'z' }, ++ { "-Verdana", 0, "Regular", 'v' }, ++ { "-Verdana", 10, "Regular", 'w' }, ++ { "-Verdana", 0, "Regular", 'y' }, ++ { "-Verdana", 0, "Regular", 'z' }, ++ { "-Arial Bold", 0, "Bold", 's' }, ++ { "Trebuchet MS", 14, "Regular", 'e' }, ++ { "Trebuchet MS", 0, "Italic", 0 }, ++ { "-Arial", 0, "Italic", 0 }, ++ { "-", 0, "Italic", 0 }, ++}; ++ ++/* Always do DELTAP instructions when matched */ ++#define ALWAYS_DO_DELTAP_RULES_SIZE 3 ++SPH_TweakRule ALWAYS_DO_DELTAP_Rules[ALWAYS_DO_DELTAP_RULES_SIZE] = { ++ { "-", 0, "", 0 }, ++ { "DejaVu Sans", 14, "Regular", 'k' }, ++ { "DejaVu Sans", 14, "Regular", 'K' }, ++}; ++ ++/* Do an extra RTG instruction in DELTAP when matched */ ++#define DELTAP_RTG_RULES_SIZE 4 ++SPH_TweakRule DELTAP_RTG_Rules[DELTAP_RTG_RULES_SIZE] = { ++ { "-Arial Unicode MS", 0, "Regular", 0 }, ++ { "-Microsoft Sans Serif", 0, "Regular", '0' }, ++ { "--Verdana", 0, "", 0 }, ++ { "-Trebuchet MS", 14, "Regular", 'e' }, ++}; ++ ++/* Do an extra RUTG instruction in DELTAP when matched */ ++#define DELTAP_RUTG_RULES_SIZE 2 ++SPH_TweakRule DELTAP_RUTG_Rules[DELTAP_RUTG_RULES_SIZE] = { ++ { "-", 14, "Regular", 'e' }, ++ { "-", 0, "", 0 }, ++}; ++ ++/* Do an extra RDTG instruction in DELTAP when matched */ ++#define DELTAP_RDTG_RULES_SIZE 28 ++SPH_TweakRule DELTAP_RDTG_Rules[DELTAP_RDTG_RULES_SIZE] = { ++ { "Calibri", 0, "Italic", 0 }, ++ { "Comic Sans MS", 0, "Regular", 0 }, ++ { "Lucida Grande", 0, "Regular", 'e' }, ++ { "Lucida Grande", 12, "Bold", 0 }, ++ { "Microsoft Sans Serif", 0, "Regular", '7' }, ++ { "Microsoft Sans Serif", 0, "Regular", 'O' }, ++ { "Microsoft Sans Serif", 0, "Regular", 'Q' }, ++ { "Microsoft Sans Serif", 0, "Regular", 'X' }, ++ { "Microsoft Sans Serif", 0, "Regular", 'e' }, ++ { "Microsoft Sans Serif", 0, "Regular", 'o' }, ++ { "-", 0, "", 0 }, ++ { "-", 0, "Regular", 'O' }, ++ { "-", 0, "Regular", 'U' }, ++ { "-", 0, "Regular", 'e' }, ++ { "-", 0, "Regular", 'g' }, ++ { "Tahoma", 0, "Bold", '0' }, ++ { "Tahoma", 16, "Bold", 'C' }, ++ { "Tahoma", 16, "Bold Italic", 'C' }, ++ { "Trebuchet MS", 0, "", '0' }, ++ { "-", 9, "", 'w' }, ++ { "Verdana", 0, "", '0' }, ++ { "Verdana", 0, "Bold Italic", '7' }, ++ { "Verdana", 0, "Bold Italic", 'v' }, ++ { "Verdana", 0, "Bold Italic", 'w' }, ++ { "Verdana", 0, "Bold", 0 }, ++ { "Verdana", 0, "Italic", 'o' }, ++ { "Verdana", 0, "Regular", 'x' }, ++ { "Trebuchet MS", 14, "Regular", 'e' }, ++}; ++ ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING_ADDITIONAL_TWEAKS */ ++#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ ++ ++#endif /* __TTSUBPIXEL_H__ */ diff --git a/testing/freetype-infinality/freetype-enable-subpixel-hinting-infinality-20100909-1.patch b/testing/freetype-infinality/freetype-enable-subpixel-hinting-infinality-20100909-1.patch new file mode 100644 index 0000000000..08416afed5 --- /dev/null +++ b/testing/freetype-infinality/freetype-enable-subpixel-hinting-infinality-20100909-1.patch @@ -0,0 +1,29 @@ +--- freetype-2.4.2.subpixel-patched/include/freetype/config/ftoption.h 2010-09-09 18:08:11.375855632 -0500 ++++ freetype-2.4.2.subpixel-enabled/include/freetype/config/ftoption.h 2010-09-09 18:09:48.491864607 -0500 +@@ -93,7 +93,7 @@ + /* This is done to allow FreeType clients to run unmodified, forcing */ + /* them to display normal gray-level anti-aliased glyphs. */ + /* */ +-/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */ ++#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING + + + /*************************************************************************/ +@@ -510,7 +510,7 @@ + /* This option requires TT_CONFIG_OPTION_BYTECODE_INTERPRETER to be */ + /* defined. */ + /* */ +-/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING */ ++#define TT_CONFIG_OPTION_SUBPIXEL_HINTING + + + /*************************************************************************/ +@@ -527,7 +527,7 @@ + /* This option requires TT_CONFIG_OPTION_SUBPIXEL_HINTING to be */ + /* defined. */ + /* */ +-/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING_ADDITIONAL_TWEAKS */ ++#define TT_CONFIG_OPTION_SUBPIXEL_HINTING_ADDITIONAL_TWEAKS + + + /*************************************************************************/ diff --git a/testing/freetype-infinality/freetype-entire-infinality-patchset-20101114-1.patch b/testing/freetype-infinality/freetype-entire-infinality-patchset-20101114-1.patch new file mode 100644 index 0000000000..aae5faddee --- /dev/null +++ b/testing/freetype-infinality/freetype-entire-infinality-patchset-20101114-1.patch @@ -0,0 +1,1602 @@ +freetype-entire-infinality-patchset (excludes the TT subpixel patches) +------------------------------------------------------------------- + +This patch contains all the patches I used to distribute separately. +It made more sense to lump these all together into a single file +now that there are runtime options. It's also easier for me to maintain. ;) + +I recommend that if you are using this patch that you use + + /etc/fonts/local.conf + +that I provide at: http://www.infinality.net/files/local.conf +You will also need: http://www.infinality.net/files/infinality-settings + +The second one will need to be included in your profile with something like: + + . ~/path/to/the/file/infinality-settings + +It should be adjusted to your personal tastes as an end-user. + + +DISCLAIMERS: + +This patch will almost certainly result in a performance hit when +freetype is rendering the glyphs. The good news is that fontconfig +caches the glyphs so it's only the first time they are displayed that there +could be a performance issue. + +I expect that if you compile freetype with this patch along with my +TT subpixel hinting patch, you will have a complete build that works the +way I expect it to. However, I have not tested all compile configurations +for errors. I intend to at some point. This patch may make your system crash, +have memory leaks, not compile, or render fonts in a way that you don't like. +Either way, when you use this patch, you should recognize that it +is ALPHA / BETA quality. That said, I intend to run these patches on my +personal system, so they had better be pretty stable! + + +Changelog + +2010-11-14 + - All patches can now be enabled at runtime with ENVIRONMENT_VARIABLES. + See the file infinality-settings (and below) for how to enable these. + Effects that used to work now **REQUIRE** these in order to be turned on + at runtime. This lets end users have full control over what they want + without requiring different compiles. + + - Added option to auto-embolden thin/light fonts. + + - Further refinement of the stem calculations for enhanced autohint. + + - Adjustable FIR filter at runtime. + + - Stem alignment ability to align glyph bitmaps to pixel boundaries. + + - Adjustable gamma correction prior to the FIR filter for LCD rendering. + This can be used to make small ppem text more readable, or for whatever + else you want to use it for. + + - A height tweak on the enhanced autohint that makes Arial, Segoe, Times + and others render more similarly to Windows. + + - Separated out the option to maintain the original width of glyphs + when doing fake emboldening. + + + +################################################################## +# The environment variables below should be copied to a file in +# /etc/profile.d/ for system-wide effects and/or included in +# ~/.bashrc or ~/.bash_profile for per-user effects: +# +# . ~/path/to/the/file/infinality-settings +# +# Of course, the per-user settings will override the system-wide +# settings. + + + +################################################################## +# INFINALITY_FT_FILTER_PARAMS +# +# This is a modified version of the patch here: +# http://levelsofdetail.kendeeter.com/2008/12/dynamic_fir_filter_patch.html +# +# Allows you to adjust the FIR filter at runtime instead of at +# compile time. The idea is to have values add up to one, and be +# symmetrical around the middle value. Here are some samples +# of various filter parameters: +# +# Strong Extra Smooth "0.15 0.2 0.3 0.2 0.15" (extra smooth, natural weight) +# Extra Smooth "0.20 0.20 0.30 0.20 0.20" (extra smooth, extra weight) +# Smooth "0.15 0.20 0.32 0.20 0.15" (smooth, natural weight) +# Stronger Gibson "0.11 0.22 0.38 0.22 0.11" (smooth, extra weight) +# Gibson "0.11 0.22 0.33 0.22 0.11" (smooth, natural weight) +# Freetype Light "0.00 0.33 0.34 0.33 0.00" (sharp, natural weight) +# Freetype Default "0.06 0.25 0.44 0.25 0.06" (sharp, extra weight) *default +# Extra Sharp "0.00 0.35 0.35 0.35 0.00" (extra sharp, extra weight) +# +# Default: [Freetype's default] +# Recommended: "0.11 0.22 0.38 0.22 0.11" +# +# Example 1: export INFINALITY_FT_FILTER_PARAMS="0.11 0.22 0.38 0.22 0.11" +# + +export INFINALITY_FT_FILTER_PARAMS="0.11 0.22 0.38 0.22 0.11" + + + + +################################################################## +# INFINALITY_FT_STEM_ALIGNMENT_TYPE +# +# This performs analysis on each glyph and determines the best +# subpixel orientation for the glyph. The glyph is not scaled in +# any way, just moved left or right by a subpixel amount. This +# results in subtley cleaner looking fonts, at the expense of +# proper distances between glyphs. This is only active for sizes +# 10 px or greater and does not apply to bold or italic fonts. +# +# Possible values: +# full - Allows a glyph to be moved to the LEFT or RIGHT by 1 subpixel +# Best alignment, Worst positioning +# medium,medium1 - Only allows a glyph to be moved to the LEFT by 1 subpixel +# Good alignment, Good positioning +# medium2 - Only allows a glyph to be moved to the RIGHT by 1 subpixel +# Good alignment, Good positioning +# slight,slight1 - A stricter version of medium +# Minor alignment, Best positioning +# slight2 - A stricter version of medium2 +# Minor alignment, Best positioning +# infinality - medium1 when stem < 5 subpixels, full when >= 5 subpixels +# none - Don't do any alignment +# +# Default: none +# Recommended: medium + +export INFINALITY_FT_STEM_ALIGNMENT_TYPE=medium + + + + + +################################################################## +# INFINALITY_FT_AUTOFIT_STEM_SNAP_LIGHT +# +# Cause the height of horizontal stems to snap to integer pixels +# when using light auto-hinting. (This happens automatically +# when using full auto-hinting) +# +# This produces an effect similar to the way Windows renders fonts +# without requiring the font to contain bytecode instructions. +# +# Possible values: +# true - enable stem snapping +# false - do not enable stem snapping +# +# Default: false +# Recommended: true + +export INFINALITY_FT_AUTOFIT_STEM_SNAP_LIGHT=true + + + + +################################################################## +# INFINALITY_FT_AUTOFIT_EMBOLDEN_LIGHT +# +# Embolden particularly light or thin fonts, like DejaVu Sans Light, +# Inconsolata, Freemono, Courier New, etc. up until stem width is +# 1 pixel wide. This makes these fonts easier to read at lower +# ppems. Only applies when the autohinter is being used. +# +# Possible values: +# true - enable emboldening of light fonts +# false - do not enable emboldening of light fonts +# +# Default: false +# Recommended: true + +export INFINALITY_FT_AUTOFIT_EMBOLDEN_LIGHT=true + + + + +################################################################## +# INFINALITY_FT_PSEUDO_GAMMA +# +# This does a weighted gamma correction at the LCD filter phase +# prior to the LCD filter. +# +# The first value indicates a px value, the second indicates a +# "gamma" value. All sizes < the px value will be corrected +# on a weighted scale based on the second value. +# +# Values .1 < 1.0 will darken the glyph +# Values > 1.0 will lighten the glyph +# +# Example 1: Darken glyphs that are less than 10 px. With some fonts +# even 5 or 6px is readable! +# export INFINALITY_FT_PSEUDO_GAMMA="10 .6" +# +# Example 2: Lighten all glyphs (below 100px) +# export INFINALITY_FT_PSEUDO_GAMMA="100 1.5" +# +# Default: [No gamma correction] +# Recommended: "9 .7" + +export INFINALITY_FT_PSEUDO_GAMMA="9 .7" + + + + +################################################################## +# INFINALITY_FT_AUTOFIT_ADJUST_HEIGHTS +# +# This will slightly stretch some glyphs vertically between 9px +# and 14px (inclusive). Some people may find this more +# aesthetically pleasing. This only applies to fonts that are +# using autohint. +# +# Possible values: +# true - enable height adjustment +# false - do not enable height adjustment +# +# Default: false + +export INFINALITY_FT_AUTOFIT_ADJUST_HEIGHTS=true + + + + +################################################################## +# INFINALITY_FT_ENHANCED_EMBOLDEN +# +# When doing artificial emboldening, only embolden in the X +# direction, skipping the Y direction. Most people will find this +# more aesthetically pleasing than the default behavior. +# +# Possible values: +# true - enable enhanced emboldening +# false - no not enable enhanced emboldening +# +# Default: false +# Recommended: true + +export INFINALITY_FT_ENHANCED_EMBOLDEN=true + + + + +################################################################## +# INFINALITY_FT_EMBOLDEN_MAINTAIN_WIDTH +# +# When doing artificial emboldening, don't change the glyph width. +# +# Possible values: +# true - maintain width +# false - do not maintain width +# +# Default: false +# Recommended: true + +export INFINALITY_FT_EMBOLDEN_MAINTAIN_WIDTH=true + + + + +################################################################## +# INFINALITY_FT_AUTO_AUTOHINT +# +# Automatically use autohint when rendering a font that contains +# no truetype instructions, regardless of what the calling +# program asks for. The truetype hinter will not do a good job +# on these. +# +# Possible values: +# true - automatically use autohint +# false - do not automatically use autohint +# +# Default: false +# Recommended: true + +export INFINALITY_FT_AUTO_AUTOHINT=true + + + + + + +INFINALITY_FT_AUTOFIT_STEM_SNAP_LIGHT details +--------------------------------------------- + +This patch is intended to make freetype's autohinter round down widths of +horizontal stems to whole pixel values. This dramatically reduces the +graininess of the rendering at small sizes, at the expense of being true to the +glyph. + +Put simply, it makes freetype's autohinter render fonts similarly +to well-hinted TrueType fonts, even on fonts that contain no instructions. +So, as far as I can tell, this makes it 100% patent-free. + +The most dramatic results are on sans-serif fonts like Lucida Grande, +Arial, Helvetica Neue, Inconsolata, Droid Sans, Trebuchet MS, etc. + + +It is recommended to use this with antialiasing on, and fonts set to +slight hinting: + + <match target="font" > + <edit mode="assign" name="rgba" > + <const>rgb</const> + </edit> + <edit mode="assign" name="hinting" > + <bool>true</bool> + </edit> + <edit mode="assign" name="autohint" > + <bool>true</bool> + </edit> + <edit mode="assign" name="antialias" > + <bool>true</bool> + </edit> + <edit mode="assign" name="hintstyle" > + <const>hintslight</const> + </edit> + <edit name="lcdfilter" mode="assign"> + <const>lcddefault</const> + </edit> + </match> + + + + +diff -Nur freetype-2.4.3.orig/configure freetype-2.4.3.new/configure +--- freetype-2.4.3.orig/configure 2010-10-03 13:05:26.000000000 -0500 ++++ freetype-2.4.3.new/configure 2010-11-14 18:17:36.593491866 -0600 +@@ -13,6 +13,8 @@ + # Call the `configure' script located in `builds/unix'. + # + ++export LDFLAGS="$LDFLAGS -lm" ++ + rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk + + if test "x$GNUMAKE" = x; then +diff -Nur freetype-2.4.3.orig/include/freetype/internal/ftobjs.h freetype-2.4.3.new/include/freetype/internal/ftobjs.h +--- freetype-2.4.3.orig/include/freetype/internal/ftobjs.h 2010-07-18 11:07:31.000000000 -0500 ++++ freetype-2.4.3.new/include/freetype/internal/ftobjs.h 2010-11-07 11:18:19.681501081 -0600 +@@ -762,6 +770,10 @@ + FT_Library library ); + + ++ typedef void (*FT_Bitmap_LcdStemAlignFunc)( FT_Bitmap* bitmap, ++ FT_Render_Mode render_mode, ++ FT_GlyphSlot slot ); ++ + /*************************************************************************/ + /* */ + /* <Struct> */ +@@ -862,6 +874,7 @@ + FT_Int lcd_extra; /* number of extra pixels */ + FT_Byte lcd_weights[7]; /* filter weights, if any */ + FT_Bitmap_LcdFilterFunc lcd_filter_func; /* filtering callback */ ++ FT_Bitmap_LcdStemAlignFunc lcd_stem_align_func; + #endif + + #ifdef FT_CONFIG_OPTION_PIC +diff -Nur freetype-2.4.3.orig/src/autofit/aflatin.c freetype-2.4.3.new/src/autofit/aflatin.c +--- freetype-2.4.3.orig/src/autofit/aflatin.c 2010-09-11 01:23:02.000000000 -0500 ++++ freetype-2.4.3.new/src/autofit/aflatin.c 2010-11-14 18:55:57.678647844 -0600 +@@ -21,6 +21,7 @@ + + #include "aflatin.h" + #include "aferrors.h" ++#include "strings.h" + + + #ifdef AF_USE_WARPER +@@ -495,6 +496,29 @@ + AF_LatinAxis axis; + FT_UInt nn; + ++ int checked_adjust_heights_env = 0; ++ FT_Bool adjust_heights = FALSE; ++ ++ if ( checked_adjust_heights_env == 0 ) ++ { ++ char *adjust_heights_env = getenv( "INFINALITY_FT_AUTOFIT_ADJUST_HEIGHTS" ); ++ if ( adjust_heights_env != NULL ) ++ { ++ if ( strcasecmp(adjust_heights_env, "default" ) != 0 ) ++ { ++ if ( strcasecmp(adjust_heights_env, "true") == 0) ++ adjust_heights = TRUE; ++ else if ( strcasecmp(adjust_heights_env, "1") == 0) ++ adjust_heights = TRUE; ++ else if ( strcasecmp(adjust_heights_env, "on") == 0) ++ adjust_heights = TRUE; ++ else if ( strcasecmp(adjust_heights_env, "yes") == 0) ++ adjust_heights = TRUE; ++ } ++ } ++ checked_adjust_heights_env = 1; ++ } ++ + + if ( dim == AF_DIMENSION_HORZ ) + { +@@ -522,21 +546,46 @@ + { + AF_LatinAxis Axis = &metrics->axis[AF_DIMENSION_VERT]; + AF_LatinBlue blue = NULL; +- ++ int threshold = 40; + + for ( nn = 0; nn < Axis->blue_count; nn++ ) + { +- if ( Axis->blues[nn].flags & AF_LATIN_BLUE_ADJUSTMENT ) ++ if ( Axis->blues[nn].flags & AF_LATIN_BLUE_ADJUSTMENT ++ || ( adjust_heights && Axis->blues[nn].flags & AF_LATIN_BLUE_TOP ) ++ ) + { + blue = &Axis->blues[nn]; + break; + } + } + ++ if ( adjust_heights ++ && metrics->root.scaler.face->size->metrics.x_ppem < 15 ++ && metrics->root.scaler.face->size->metrics.x_ppem > 8 ) ++ threshold = 52; ++ ++ /* NEED TO FIND A WAY TO ADJUST CAPS AND LOWER SEPARATELY */ ++ /* The below does not work */ ++ /* if (Axis->blues[nn].flags & AF_LATIN_BLUE_SMALL_TOP ) ++ { ++ if (metrics->root.scaler.face->size->metrics.x_ppem < 15) ++ threshold = 22; ++ else threshold = 40; ++ break; ++ } ++ if ( Axis->blues[nn].flags & AF_LATIN_BLUE_CAPITAL_TOP ) ++ { ++ if (metrics->root.scaler.face->size->metrics.x_ppem < 15) ++ threshold = 40; ++ else threshold = 40; ++ break; ++ } ++ */ ++ + if ( blue ) + { + FT_Pos scaled = FT_MulFix( blue->shoot.org, scaler->y_scale ); +- FT_Pos fitted = ( scaled + 40 ) & ~63; ++ FT_Pos fitted = ( scaled + threshold ) & ~63; + + + if ( scaled != fitted ) +@@ -1340,7 +1389,8 @@ + if ( dist < 0 ) + dist = -dist; + +- dist = FT_MulFix( dist, scale ); ++ /* round down to pixels */ ++ dist = FT_MulFix( dist, scale ) & ~63; + if ( dist < best_dist ) + { + best_dist = dist; +@@ -1500,9 +1550,33 @@ + FT_Int vertical = ( dim == AF_DIMENSION_VERT ); + + +- if ( !AF_LATIN_HINTS_DO_STEM_ADJUST( hints ) || +- axis->extra_light ) +- return width; ++ int checked_stem_snap_env = 0; ++ FT_Bool stem_snap_light = FALSE; ++ ++ if ( checked_stem_snap_env == 0 ) ++ { ++ char *stem_snap_env = getenv( "INFINALITY_FT_AUTOFIT_STEM_SNAP_LIGHT" ); ++ if ( stem_snap_env != NULL ) ++ { ++ if ( strcasecmp(stem_snap_env, "default" ) != 0 ) ++ { ++ if ( strcasecmp(stem_snap_env, "true") == 0) ++ stem_snap_light = TRUE; ++ else if ( strcasecmp(stem_snap_env, "1") == 0) ++ stem_snap_light = TRUE; ++ else if ( strcasecmp(stem_snap_env, "on") == 0) ++ stem_snap_light = TRUE; ++ else if ( strcasecmp(stem_snap_env, "yes") == 0) ++ stem_snap_light = TRUE; ++ } ++ } ++ checked_stem_snap_env = 1; ++ } ++ ++ if ( !stem_snap_light ) ++ if ( !AF_LATIN_HINTS_DO_STEM_ADJUST( hints ) || ++ axis->extra_light ) ++ return width; + + if ( dist < 0 ) + { +@@ -1510,8 +1584,67 @@ + sign = 1; + } + +- if ( ( vertical && !AF_LATIN_HINTS_DO_VERT_SNAP( hints ) ) || +- ( !vertical && !AF_LATIN_HINTS_DO_HORZ_SNAP( hints ) ) ) ++ if ( stem_snap_light ++ && ( ++ ( vertical && !AF_LATIN_HINTS_DO_VERT_SNAP( hints ) ) ++ || ( !vertical && !AF_LATIN_HINTS_DO_HORZ_SNAP( hints ) ) ) ) ++ { ++ dist = af_latin_snap_width( axis->widths, axis->width_count, dist ); ++ ++ if ( metrics->root.scaler.face->size->metrics.x_ppem > 9 ++ && axis->width_count > 0 ++ && abs ( axis->widths[0].cur - dist ) < 32 ++ && axis->widths[0].cur > 52 ) ++ { ++ if ( strstr(metrics->root.scaler.face->style_name, "Regular") ++ || strstr(metrics->root.scaler.face->style_name, "Book") ++ || strstr(metrics->root.scaler.face->style_name, "Medium") ++ || strcmp(metrics->root.scaler.face->style_name, "Italic") == 0 ++ || strcmp(metrics->root.scaler.face->style_name, "Oblique") == 0 ) ++ { ++ /* regular weight */ ++ if ( axis->widths[0].cur < 64 ) dist = 64 ; ++ else if (axis->widths[0].cur < 88) dist = 64; ++ else if (axis->widths[0].cur < 160) dist = 128; ++ else if (axis->widths[0].cur < 240) dist = 190; ++ else dist = ( dist ) & ~63; ++ } ++ else ++ { ++ /* bold gets a different threshold */ ++ if ( axis->widths[0].cur < 64 ) dist = 64 ; ++ else if (axis->widths[0].cur < 108) dist = 64; ++ else if (axis->widths[0].cur < 160) dist = 128; ++ else if (axis->widths[0].cur < 222) dist = 190; ++ else if (axis->widths[0].cur < 288) dist = 254; ++ else dist = ( dist + 16 ) & ~63; ++ } ++ ++ /* fix any unusually low values */ ++ if (dist < ( axis->widths[0].cur & ~63 ) ) ++ dist = (axis->widths[0].cur & ~63); ++ ++ /* fix any unusually high values */ ++ if (dist > ( ( axis->widths[0].cur + 64 ) & ~63 ) ) ++ dist = ( ( axis->widths[0].cur + 64 ) & ~63 ); ++ ++ if (dist < 64 ) dist = 64 ; ++ ++ } ++ if (dist < 52) ++ { ++ if (metrics->root.scaler.face->size->metrics.x_ppem < 9 ) ++ { ++ /*dist = 64 - (64 - dist) / 2 ;*/ ++ if (dist < 31) dist = 31; ++ } ++ else ++ dist = 52; ++ } ++ ++ } ++ else if ( !stem_snap_light && (( vertical && !AF_LATIN_HINTS_DO_VERT_SNAP( hints ) ) || ++ ( !vertical && !AF_LATIN_HINTS_DO_HORZ_SNAP( hints ) ) ) ) + { + /* smooth hinting process: very lightly quantize the stem width */ + +@@ -1569,7 +1702,7 @@ + dist = ( dist + 32 ) & ~63; + } + } +- else ++ else if (!stem_snap_light) + { + /* strong hinting process: snap the stem width to integer pixels */ + FT_Pos org_dist = dist; +@@ -1577,6 +1710,8 @@ + + dist = af_latin_snap_width( axis->widths, axis->width_count, dist ); + ++ if ( stem_snap_light ) goto Done_Width; ++ + if ( vertical ) + { + /* in the case of vertical hinting, always round */ +@@ -2100,7 +2235,30 @@ + { + FT_Error error; + int dim; ++ int e_strength = 0; ++ ++ int checked_embolden_light_env = 0; ++ FT_Bool embolden_light = FALSE; + ++ if ( checked_embolden_light_env == 0 ) ++ { ++ char *embolden_light_env = getenv( "INFINALITY_FT_AUTOFIT_EMBOLDEN_LIGHT" ); ++ if ( embolden_light_env != NULL ) ++ { ++ if ( strcasecmp(embolden_light_env, "default" ) != 0 ) ++ { ++ if ( strcasecmp(embolden_light_env, "true") == 0) ++ embolden_light = TRUE; ++ else if ( strcasecmp(embolden_light_env, "1") == 0) ++ embolden_light = TRUE; ++ else if ( strcasecmp(embolden_light_env, "on") == 0) ++ embolden_light = TRUE; ++ else if ( strcasecmp(embolden_light_env, "yes") == 0) ++ embolden_light = TRUE; ++ } ++ } ++ checked_embolden_light_env = 1; ++ } + + error = af_glyph_hints_reload( hints, outline ); + if ( error ) +@@ -2146,8 +2304,15 @@ + } + #endif + +- if ( ( dim == AF_DIMENSION_HORZ && AF_HINTS_DO_HORIZONTAL( hints ) ) || +- ( dim == AF_DIMENSION_VERT && AF_HINTS_DO_VERTICAL( hints ) ) ) ++ if ( ( dim == AF_DIMENSION_HORZ && AF_HINTS_DO_HORIZONTAL( hints ) ) ) ++ { ++ af_latin_hint_edges( hints, (AF_Dimension)dim ); ++ af_glyph_hints_align_edge_points( hints, (AF_Dimension)dim ); ++ af_glyph_hints_align_strong_points( hints, (AF_Dimension)dim ); ++ af_glyph_hints_align_weak_points( hints, (AF_Dimension)dim ); ++ } ++ ++ if ( ( dim == AF_DIMENSION_VERT && AF_HINTS_DO_VERTICAL( hints ) ) ) + { + af_latin_hint_edges( hints, (AF_Dimension)dim ); + af_glyph_hints_align_edge_points( hints, (AF_Dimension)dim ); +@@ -2157,6 +2322,34 @@ + } + af_glyph_hints_save( hints, outline ); + ++ /* if the font is particularly thin, embolden it, up to 1 px */ ++ if ( embolden_light ++ && metrics->axis->widths[0].cur <= 80 ++ && !( dim == AF_DIMENSION_VERT ) ++ && !AF_LATIN_HINTS_DO_HORZ_SNAP( hints ) ) ++ { ++ if ( metrics->axis->widths[0].cur ++ / metrics->root.scaler.face->size->metrics.x_ppem < 5 ) ++ { ++ /* weakest at width 80, stronger at lower widths */ ++ e_strength = 40 * ( 80 - metrics->axis->widths[0].cur)/80 ; ++ /* Don't do low ppems as much */ ++ if ( metrics->root.scaler.face->size->metrics.x_ppem < 9 ) ++ e_strength -= ++ ( 9 - metrics->root.scaler.face->size->metrics.x_ppem ) * 10; ++ } ++ ++ /* Embolden small fonts on a sliding scale. Better readability. */ ++ if ( e_strength > 0 ++ && ( strstr(metrics->root.scaler.face->style_name, "Regular") ++ || strstr(metrics->root.scaler.face->style_name, "Book") ++ || strstr(metrics->root.scaler.face->style_name, "Light") ++ || strstr(metrics->root.scaler.face->style_name, "Medium") ++ || strcmp(metrics->root.scaler.face->style_name, "Italic") == 0 ++ || strcmp(metrics->root.scaler.face->style_name, "Oblique") == 0 ) ) ++ FT_Outline_Embolden(outline,e_strength); ++ } ++ + Exit: + return error; + } +diff -Nur freetype-2.4.3.orig/src/autofit/afloader.c freetype-2.4.3.new/src/autofit/afloader.c +--- freetype-2.4.3.orig/src/autofit/afloader.c 2009-07-03 08:28:24.000000000 -0500 ++++ freetype-2.4.3.new/src/autofit/afloader.c 2010-10-22 22:22:04.073099288 -0500 +@@ -180,8 +180,8 @@ + AF_Edge edge2 = edge1 + + axis->num_edges - 1; /* rightmost edge */ + +- +- if ( axis->num_edges > 1 && AF_HINTS_DO_ADVANCE( hints ) ) ++/* dont hint metrics - temporary until different hinting can be done */ ++ if ( FALSE && axis->num_edges > 1 && AF_HINTS_DO_ADVANCE( hints ) ) + { + old_rsb = loader->pp2.x - edge2->opos; + old_lsb = edge1->opos; +@@ -214,7 +214,8 @@ + slot->lsb_delta = loader->pp1.x - pp1x_uh; + slot->rsb_delta = loader->pp2.x - pp2x_uh; + } +- else ++/* dont hint metrics - temporary until different hinting can be done */ ++ else if (FALSE) + { + FT_Pos pp1x = loader->pp1.x; + FT_Pos pp2x = loader->pp2.x; +diff -Nur freetype-2.4.3.orig/src/base/ftlcdfil.c freetype-2.4.3.new/src/base/ftlcdfil.c +--- freetype-2.4.3.orig/src/base/ftlcdfil.c 2010-04-01 03:18:57.000000000 -0500 ++++ freetype-2.4.3.new/src/base/ftlcdfil.c 2010-11-14 18:33:58.300770778 -0600 +@@ -21,9 +21,659 @@ + #include FT_IMAGE_H + #include FT_INTERNAL_OBJECTS_H + ++#include <math.h> ++#include <string.h> ++#include <strings.h> + + #ifdef FT_CONFIG_OPTION_SUBPIXEL_RENDERING + ++/* ++int sinc( int val ) { ++ if (val == 0.0) ++ return(1.0); ++ return 256.0 * (sin(3.14*(double) (val/256.0))/(3.14*(double) (val/256.0))); ++} ++ ++int sigmoidal( int val ) { ++ int val2; ++ val2 = 256.0 /(1.0+exp(-(10.0*(val/256.0-.5)))); ++ return window(val2); ++} ++ ++int window ( int val ) ++{ ++ if (val < 0 ) return 0; ++ if (val > 255) return 255; ++ else return val; ++} ++*/ ++int gamma2 ( int val, float value ) { ++ return 256 * (1.0 - pow((1.0 - (float)val/ 256.0) , 1.0/value)); ++} ++/* ++int gamma3 ( int val, float value ) { ++ 1- (x-1)^10 ++} ++*/ ++/* ++int gamma ( int val ) { ++ return 256 * (1.0 - pow((1.0 - (float)val/ 256.0) , 1.5)); ++} ++ ++int brick (int val) { ++ if (val > 50) return val; ++ else return 0; ++} ++ ++int brick2 (int val) { ++ if (val > 100) return val; ++ if (val > 50) return 100; ++ else return 0; ++} ++ ++int none (int val) { ++ return val; ++} ++ ++float pixmoid (int val1, int val2, int val3, int testval) ++{ ++ int avg; ++ int result; ++ ++ avg = (val1 + val2 + val3)/3; ++ ++ if ( avg < 128 ) ++ { ++ if (testval > 128) result = avg; ++ else result = testval; ++ } ++ else ++ { ++ if (testval < 128) result = avg; ++ else result = testval; ++ } ++ ++ return none(result); ++} ++ ++float pixmoid2 (int val1, int val2, int val3, int testval) ++{ ++ int avg; ++ int result; ++ ++ avg = (val1 + val2 + val3)/3; ++ ++ if ( avg > 160 ) return 255; ++ else if ( avg < 100 ) return 0; ++ else return testval; ++ ++ return none(result); ++ ++} ++*/ ++/* ++bool Resample(FT_Byte* line, int newWidth, int newHeight) ++{ ++ ++ unsigned char* newData = new unsigned char [newWidth * newHeight * 3]; ++ ++ double scaleWidth = (double)newWidth / (double)_width; ++ double scaleHeight = (double)newHeight / (double)_height; ++ ++ for(int cy = 0; cy < newHeight; cy++) ++ { ++ for(int cx = 0; cx < newWidth; cx++) ++ { ++ int pixel = (cy * (newWidth *3)) + (cx*3); ++ int nearestMatch = (((int)(cy / scaleHeight) ++ * (_width *3)) + ((int)(cx / scaleWidth) *3) ); ++ ++ newData[pixel ] = _data[nearestMatch ]; ++ newData[pixel + 1] = _data[nearestMatch + 1]; ++ newData[pixel + 2] = _data[nearestMatch + 2]; ++ } ++ } ++ ++ delete[] _data; ++ _data = newData; ++ _width = newWidth; ++ _height = newHeight; ++ ++ return true; ++}*/ ++ ++ ++ /* Stem alignment for bitmaps; A hack with very nice results */ ++ /* Ideally this could be implemented on the outline, prior to ++ * rasterization */ ++ static void ++ _lcd_stem_align ( FT_Bitmap* bitmap, ++ FT_Render_Mode mode, ++ FT_GlyphSlot slot ) ++ { ++ /*FT_Byte* weights = library->lcd_weights;*/ ++ FT_UInt width = (FT_UInt)bitmap->width; ++ FT_UInt height = (FT_UInt)bitmap->rows; ++ ++ FT_UInt h; ++ ++ FT_UInt alignment_type = 0; ++ FT_UInt checked_alignment_type = 0; ++ float pseudo_gamma_value = 1; ++ float pseudo_gamma_lt = 0; ++ FT_UInt checked_pseudo_gamma_value = 0; ++ ++ if ( checked_alignment_type == 0) ++ { ++ char *alignment_type_env = getenv( "INFINALITY_FT_STEM_ALIGNMENT_TYPE" ); ++ if ( alignment_type_env != NULL ) ++ { ++ /*sscanf ( alignment_type_env, "%d", &alignment_type );*/ ++ if (strcasecmp(alignment_type_env, "full") == 0) alignment_type = 1; ++ else if (strcasecmp(alignment_type_env, "medium") == 0) alignment_type = 2; ++ else if (strcasecmp(alignment_type_env, "medium1") == 0) alignment_type = 2; ++ else if (strcasecmp(alignment_type_env, "slight") == 0) alignment_type = 3; ++ else if (strcasecmp(alignment_type_env, "slight1") == 0) alignment_type = 3; ++ else if (strcasecmp(alignment_type_env, "medium2") == 0) alignment_type = 4; ++ else if (strcasecmp(alignment_type_env, "slight2") == 0) alignment_type = 5; ++ else if (strcasecmp(alignment_type_env, "infinality") == 0) alignment_type = 6; ++ else if (strcasecmp(alignment_type_env, "infinality1") == 0) alignment_type = 6; ++ else alignment_type = 0; ++ ++ if ( /*strstr(slot.metrics->root.scaler.face->style_name, "Regular") ++ || strstr(slot.metrics->root.scaler.face->style_name, "Book") ++ || strstr(slot.metrics->root.scaler.face->style_name, "Medium") ++ ||*/ strcasestr(slot->face->style_name, "Italic") ++ || strcasestr(slot->face->style_name, "Oblique") ) ++ alignment_type = 0; ++ if ( strcasestr(slot->face->style_name, "Bold") ) ++ alignment_type = 0; ++ } ++ checked_alignment_type = 1; ++ } ++ ++ if ( checked_pseudo_gamma_value == 0 ) ++ { ++ char *pseudo_gamma_value_env = getenv( "INFINALITY_FT_PSEUDO_GAMMA" ); ++ if ( pseudo_gamma_value_env != NULL ) ++ { ++ float f1, f2; ++ ++ if ( strcasecmp(pseudo_gamma_value_env, "default" ) != 0) ++ { ++ sscanf ( pseudo_gamma_value_env, "%f %f", &f1, &f2 ); ++ pseudo_gamma_lt = f1; ++ pseudo_gamma_value = f2; ++ } ++ if ( pseudo_gamma_value < .1 ) pseudo_gamma_value = 1; ++ if ( pseudo_gamma_lt < 0 ) pseudo_gamma_lt = 1; ++ } ++ checked_pseudo_gamma_value = 1; ++ } ++ ++ /*printf("%s,%s ", slot->face->family_name, slot->face->style_name);*/ ++ /*printf("%d ", slot->face->size->metrics.x_ppem);*/ ++ ++ /* set gamma value to 1 if out of range */ ++ if ( slot->face->size->metrics.x_ppem >= pseudo_gamma_lt ) ++ { ++ pseudo_gamma_value = 1; ++ } ++ ++ /* don't do alignment for < 10 */ ++ if ( slot->face->size->metrics.x_ppem < 10 ) ++ { ++ alignment_type = 0; ++ } ++ ++ if ( mode == FT_RENDER_MODE_LCD ) ++ { ++ if (width >= 4 && alignment_type != 0 ) ++ { ++ FT_Byte* line = bitmap->buffer; ++ FT_Byte* lineabove = bitmap->buffer; ++ FT_Byte* linebelow = bitmap->buffer; ++ ++ FT_UInt vsums[width], vtotals[width], offsetruns[width / 2][width/2]; ++ FT_UInt offsetrank[width/2], offsetchosen, stemwidths[width], stemwidthsmax; ++ FT_UInt stemwidth, vstems = 0; ++ ++ FT_UInt shift = 0; ++ FT_UInt xx; ++ ++ FT_ULong rtotal = 0, vweight = 0, wtotal = 0; ++ FT_UInt lreached = 0, rreached = 0, rr = 0, ll = 0, testwidth; ++ FT_UInt lwidth = 0, loffset = 0, offset = 0, htotal = 0, windowstart; ++ FT_UInt windowelement; ++ ++ line = bitmap->buffer; ++ rreached = 0; lreached = width, ll = width; ++ ++ lwidth = 0; ++ loffset = 0; ++ ++ ++ /* initialize variables - can this be done inline??? */ ++ for ( testwidth = 3; testwidth < 4; testwidth += 1 ) ++ { ++ for ( offset = 0; offset < 3; offset +=1 ) ++ { ++ offsetruns[offset][testwidth] = 0; ++ offsetrank[offset] = 0; ++ } ++ } ++ for ( xx = 0; xx < width; xx += 1 ) ++ { ++ stemwidths[xx] = 0; ++ } ++ ++ ++ for ( h = (FT_UInt)bitmap->rows; h > 0; h--, line += bitmap->pitch ) ++ { ++ ++ if (rr > rreached) rreached = rr; ++ if (ll < lreached) lreached = ll; ++ ++ rr = width; ++ ll = 0; ++ rtotal = 0; ++ htotal = 0; ++ ++ /*stemwidthsmax = 0;*/ ++ stemwidth = 0; ++ ++ ++ /* Calculate various sums and stem widths of glyph */ ++ for ( xx = 0; xx < width; xx += 1 ) ++ { ++ if (line[xx] >= 128) ++ { ++ stemwidth += 1; ++ /*if (stemwidth > stemwidthsmax) stemwidthsmax = stemwidth;*/ /* necessary ? */ ++ } ++ else ++ { ++ if (xx > 0 && line[xx - 1] >= 128) stemwidths[stemwidth] += 1; ++ stemwidth = 0; ++ } ++ ++ if (h == (FT_UInt)bitmap->rows) vsums[xx] = 0; ++ if ( h == (FT_UInt)bitmap->rows ) vtotals[xx] = 0; ++ ++ if (line[xx] == 0) vsums[xx] -= 255; ++ else vsums[xx] += line[xx]; ++ if (vsums[xx] < 0) vsums[xx] = 0; ++ ++ if (ll == 0 && line[xx] != 0) ll = (xx); ++ ++ if (line[xx] != 0) rr = (xx); ++ ++ if (xx < width / 2) vweight -= line[xx]; ++ else vweight += line[xx]; ++ ++ htotal += line [xx]; ++ vtotals[xx] += line[xx]; ++ } ++ ++ if ( h < (FT_UInt)bitmap->rows ) lineabove = line - bitmap->pitch; ++ if ( h > 1 ) linebelow = line + bitmap->pitch; ++ ++ ++ /* Determine the offset at which the most weight of the glyph exists */ ++ /* This is currently hard-coded at 3, but the code is here to adjust */ ++ for ( testwidth = 3; testwidth < 4; testwidth += 1 ) ++ { ++ /* test the widths at each of these offsets */ ++ for ( offset = 0; offset < 3; offset +=1 ) ++ { ++ /* test window of size testwidth, starting at offset */ ++ rtotal = 0; ++ for ( windowstart = offset; windowstart < width; ++ windowstart += testwidth ) ++ { ++ /* calculate total for this window */ ++ wtotal = 0; ++ for ( windowelement = windowstart; ++ windowelement < windowstart + testwidth; windowelement += 1 ) ++ if ( windowelement < width) ++ { ++ wtotal += line[windowelement]; ++ ++ /* Assign extra value to this subpixel under certain conditions */ ++ if ( line[windowelement] == 255 ) ++ { ++ /* favor if full pixels above and below */ ++ if ( h < (FT_UInt)bitmap->rows ++ && lineabove[windowelement] == 255 ) ++ wtotal += 10; ++ if ( h > 1 && linebelow[windowelement] == 255 ) ++ wtotal += 10; ++ ++ /* favor if full pixels next to them */ ++ if ( windowelement > 0 && line[windowelement-1] == 255 ) ++ { ++ wtotal += 10; ++ if ( windowelement > 1 && line[windowelement-2] == 255 ) ++ { ++ wtotal += 10; ++ if ( windowelement > 2 && line[windowelement-3] == 255 ) ++ wtotal += 10; ++ } ++ } ++ if ( windowelement < width - 1 && line[windowelement+1] == 255 ) ++ { ++ wtotal += 10; ++ if ( windowelement < width - 2 && line[windowelement+2] == 255 ) ++ { ++ wtotal += 10; ++ if ( windowelement < width - 3 && line[windowelement+3] == 255 ) ++ wtotal += 10; ++ } ++ } ++ } ++ } ++ /* divide window total by number of subpixel samples */ ++ /* add to total for this run */ ++ rtotal += (wtotal * wtotal) / testwidth; ++ } ++ /* dont count horizontal stems */ ++ /*if (rtotal < ( 255 * testwidth ) * (255 * testwidth) * (width / testwidth) / (testwidth * 2) )*/ ++ if ( rtotal < ( 255 * 255 * width / 2 ) ) ++ offsetruns[offset][testwidth] += rtotal; ++ } ++ ++ /* determine the best offset for this width and increment its counter */ ++ offsetchosen = 0; ++ for ( offset = 0; offset < 2; offset +=1 ) ++ { ++ if ( offsetruns[offset][testwidth] < offsetruns[offset + 1][testwidth] ){ ++ offsetrank[offset + 1] += 1; ++ offsetchosen = offset; ++ } ++ } ++ if (offsetchosen == 0) offsetrank[0] += 1; ++ } ++ } ++ ++ /* Use the best offset */ ++ loffset = 0; ++ for ( offset = 0; offset < 2; offset +=1 ) ++ { ++ if ( offsetrank[offset] < offsetrank[offset + 1] ){ ++ loffset = offset + 1; ++ } ++ } ++ ++ /* Use the best width */ ++ lwidth = 0; ++ stemwidthsmax = 0; ++ ++ for ( xx = 0; xx < width - 1; xx +=1 ) ++ { ++ if ( stemwidthsmax < stemwidths[xx + 1] ){ ++ lwidth = xx + 1; ++ stemwidthsmax = stemwidths[xx + 1]; ++ } ++ } ++ ++ /* currently unused */ ++ rreached = width - rreached; ++ ++ /* Set the number of vertical stem components */ ++ for ( xx = 0; xx < width; xx += 1 ) ++ { ++ if ( height > 0 && vsums[xx] / height > 110 ) ++ vstems++; ++ } ++ ++ ++ /******************** CALCULATE GLYPH ALIGNMENT *********************/ ++ /*printf(" %d,%d,%d,%d,%d,%d,%d\n", width, height, lreached, ++ rreached, lwidth,vstems,alignment_type );*/ ++ ++ shift = 0; ++ ++ /* infinality1 alignment - combination of below */ ++ if ( alignment_type == 6 ) ++ { ++ if ( lwidth < 5 ) alignment_type = 2; ++ else alignment_type = 1; ++ } ++ ++ /* strong alignment - shift glyph left or right one subpixel */ ++ if ( alignment_type == 1 /*&& vstems > 0*/ ) ++ { ++ if ( lwidth < 5) ++ { ++ /* lower widths should use this */ ++ if (loffset % 3 == 0) shift = -1; ++ if (loffset % 3 == 1) shift = 1; ++ if (loffset % 3 == 2) shift = 0; ++ } ++ else if ( lwidth < 6 ) ++ { ++ /* medium widths should use this */ ++ if (loffset % 3 == 0) shift = 1; ++ if (loffset % 3 == 1) shift = 0; ++ if (loffset % 3 == 2) shift = -1; ++ } ++ else if ( lwidth < 20 ) ++ { ++ /* higher widths should use this */ ++ if (loffset % 3 == 0) shift = 1; ++ if (loffset % 3 == 1) shift = -1; ++ if (loffset % 3 == 2) shift = 0; ++ } ++ } ++ ++ /* medium alignment - shift glyph ONLY LEFT one subpixel ++ * - a compromise to prevent spacing issues */ ++ else if ( alignment_type == 2 /*&& vstems > 0*/ ){ ++ ++ if ( lwidth < 5 ) ++ { ++ /* medium alignment - use next highest value instead */ ++ if ( loffset == 1 && offsetrank[0] > offsetrank[2] ) loffset = 0; ++ ++ if ( loffset % 3 == 0 ) shift = -1; ++ /*if (loffset % 3 == 1 ) shift = 1;*/ ++ if ( loffset % 3 == 2 ) shift = 0; ++ } ++ else if (lwidth < 6 ) ++ { ++ /* medium alignment - use next highest value instead */ ++ if ( loffset == 0 && offsetrank[2] > offsetrank[1] ) loffset = 2; ++ /*if (loffset % 3 == 0 ) shift = 1;*/ ++ if ( loffset % 3 == 1 ) shift = 0; ++ if ( loffset % 3 == 2 ) shift = -1; ++ } ++ else if ( lwidth < 20 ) ++ { ++ /* medium alignment - use next highest value instead */ ++ if ( loffset == 0 && offsetrank[1] > offsetrank[2] ) loffset = 1; ++ /*if (loffset % 3 == 0 ) shift = 1;*/ ++ if ( loffset % 3 == 1 ) shift = -1; ++ if ( loffset % 3 == 2 ) shift = 0; ++ } ++ } ++ ++ /* medium alignment 2 - shift glyph ONLY RIGHT one subpixel ++ * - a compromise to prevent spacing issues */ ++ else if ( alignment_type == 4 ){ ++ if ( lwidth < 5 ) ++ { ++ /* medium alignment - use next highest value instead */ ++ if ( loffset == 0 && offsetrank[1] > offsetrank[2] ) loffset = 1; ++ ++ /*if ( loffset % 3 == 0 ) shift = -1;*/ ++ if ( loffset % 3 == 1 ) shift = 1; ++ if ( loffset % 3 == 2 ) shift = 0; ++ } ++ else if ( lwidth < 6 ) ++ { ++ /* medium alignment - use next highest value instead */ ++ if ( loffset == 2 && offsetrank[0] > offsetrank[1] ) loffset = 0; ++ if ( loffset % 3 == 0 ) shift = 1; ++ if ( loffset % 3 == 1 ) shift = 0; ++ /*if ( loffset % 3 == 2 ) shift = -1;*/ ++ } ++ else if ( lwidth < 20 ) ++ { ++ /* medium alignment - use next highest value instead */ ++ if ( loffset == 1 && offsetrank[0] > offsetrank[2] ) loffset = 0; ++ if ( loffset % 3 == 0 ) shift = 1; ++ /*if (loffset % 3 == 1 ) shift = -1;*/ ++ if ( loffset % 3 == 2 ) shift = 0; ++ } ++ } ++ ++ /* light alignment - shift glyph ONLY LEFT one subpixel ++ * - a compromise to prevent spacing issues */ ++ else if ( alignment_type == 3 ){ ++ if ( lwidth < 5 ) ++ { ++ if ( loffset % 3 == 0 ) shift = -1; ++ /*if ( loffset % 3 == 1 ) shift = 1;*/ ++ if ( loffset % 3 == 2 ) shift = 0; ++ } ++ else if ( lwidth < 6 ) ++ { ++ /*if ( loffset % 3 == 0 ) shift = 1;*/ ++ if ( loffset % 3 == 1 ) shift = 0; ++ if ( loffset % 3 == 2 ) shift = -1; ++ } ++ else if ( lwidth < 20 ) ++ { ++ /*if ( loffset % 3 == 0 ) shift = 1;*/ ++ if ( loffset % 3 == 1 ) shift = -1; ++ if ( loffset % 3 == 2 ) shift = 0; ++ } ++ } ++ ++ /* light alignment 2 - shift glyph ONLY RIGHT one subpixel ++ * - a compromise to prevent spacing issues */ ++ else if ( alignment_type == 5 ){ ++ if ( lwidth < 5 ) ++ { ++ /*if ( loffset % 3 == 0 ) shift = -1;*/ ++ if ( loffset % 3 == 1 ) shift = 1; ++ if ( loffset % 3 == 2 ) shift = 0; ++ } ++ else if ( lwidth < 6 ) ++ { ++ if ( loffset % 3 == 0 ) shift = 1; ++ if ( loffset % 3 == 1 ) shift = 0; ++ /*if ( loffset % 3 == 2 ) shift = -1;*/ ++ } ++ else if ( lwidth < 20 ) ++ { ++ if ( loffset % 3 == 0 ) shift = 1; ++ /*if ( loffset % 3 == 1 ) shift = -1;*/ ++ if ( loffset % 3 == 2 ) shift = 0; ++ } ++ } ++ ++ /******************** ALIGN GLYPHS *********************/ ++ if (shift == -1) ++ { ++ line = bitmap->buffer; ++ for ( height = (FT_UInt)bitmap->rows; height > 0; height--, ++ line += bitmap->pitch ) ++ { ++ FT_UInt xx; ++ ++ for ( xx = 0; xx < width - 1; xx += 1 ) ++ { ++ line[xx] = line[xx+1]; ++ } ++ line[width - 1] = 1; ++ } ++ } ++ ++ else if (shift == -2) ++ { ++ line = bitmap->buffer; ++ for ( height = (FT_UInt)bitmap->rows; height > 0; height--, ++ line += bitmap->pitch ) ++ { ++ FT_UInt xx; ++ ++ for ( xx = 0; xx < width - 2; xx += 1 ) ++ { ++ line[xx] = line[xx+2]; ++ } ++ line[width - 2] = 1; ++ line[width - 1] = 1; ++ } ++ } ++ else if (shift == 1) ++ { ++ line = bitmap->buffer; ++ for ( height = (FT_UInt)bitmap->rows; height > 0; height--, ++ line += bitmap->pitch ) ++ { ++ FT_UInt xx; ++ ++ for ( xx = width - 1; xx > 0; xx -= 1 ) ++ { ++ line[xx] = line[xx-1]; ++ } ++ line[0] = 1; ++ } ++ } ++ else if (shift == 2) ++ { ++ line = bitmap->buffer; ++ for ( height = (FT_UInt)bitmap->rows; height > 0; height--, ++ line += bitmap->pitch ) ++ { ++ FT_UInt xx; ++ ++ for ( xx = width; xx > 1; xx -= 1 ) ++ { ++ line[xx] = line[xx-2]; ++ } ++ line[0] = 1; ++ line[1] = 1; ++ } ++ } ++ } ++ ++ if ( pseudo_gamma_value != 1 ) ++ { ++ FT_Byte* line = bitmap->buffer; ++ float ppem = (float)slot->face->size->metrics.x_ppem; ++ ++ if (ppem >= 5 ) ++ for (height = (FT_UInt)bitmap->rows; height > 0; height--, line += bitmap->pitch ) ++ { ++ FT_UInt xx; ++ ++ for ( xx = 0; xx < width; xx += 1 ) ++ { ++ /*normal*/ ++ /*line[xx] = gamma2 ( line[xx], pseudo_gamma_value );*/ ++ ++ /* sloped */ ++ /*line[xx] = gamma2 ( line[xx], pseudo_gamma_value - 5 ++ * (1-pseudo_gamma_value)/(pseudo_gamma_lt -5) ++ + ((1-pseudo_gamma_value)/(pseudo_gamma_lt -5)) * ppem );*/ ++ ++ /* 1/3-sloped */ ++ line[xx] = gamma2 ( line[xx], pseudo_gamma_value - 5 ++ * ((1-pseudo_gamma_value)/(3*(pseudo_gamma_lt -5))) ++ * + ((1-pseudo_gamma_value)/(3*(pseudo_gamma_lt -5))) * ppem ); ++ } ++ } ++ } ++ } ++ } ++ ++ ++ ++ ++ ++ + /* define USE_LEGACY to implement the legacy filter */ + #define USE_LEGACY + +@@ -287,9 +1017,31 @@ + { 0x00, 0x55, 0x56, 0x55, 0x00 }; + /* the values here sum up to a value larger than 256, */ + /* providing a cheap gamma correction */ +- static const FT_Byte default_filter[5] = ++ static FT_Byte default_filter[5] = + { 0x10, 0x40, 0x70, 0x40, 0x10 }; + ++ int checked_filter_params_env = 0; ++ ++ if ( checked_filter_params_env == 0 ) ++ { ++ char *filter_params = getenv( "INFINALITY_FT_FILTER_PARAMS" ); ++ if ( filter_params != NULL ) ++ { ++ float f1, f2, f3, f4, f5; ++ ++ if ( strcasecmp(filter_params, "default" ) != 0) ++ { ++ sscanf ( filter_params, "%f %f %f %f %f", &f1, &f2, &f3, &f4, &f5 ); ++ ++ default_filter[0] = (FT_Byte) (f1 * 255.0f + 0.5f); ++ default_filter[1] = (FT_Byte) (f2 * 255.0f + 0.5f); ++ default_filter[2] = (FT_Byte) (f3 * 255.0f + 0.5f); ++ default_filter[3] = (FT_Byte) (f4 * 255.0f + 0.5f); ++ default_filter[4] = (FT_Byte) (f5 * 255.0f + 0.5f); ++ } ++ } ++ checked_filter_params_env = 1; ++ } + + if ( !library ) + return FT_Err_Invalid_Argument; +@@ -304,17 +1056,20 @@ + case FT_LCD_FILTER_DEFAULT: + #if defined( FT_FORCE_LEGACY_LCD_FILTER ) + ++ library->lcd_stem_align_func = _lcd_stem_align; + library->lcd_filter_func = _ft_lcd_filter_legacy; + library->lcd_extra = 0; + + #elif defined( FT_FORCE_LIGHT_LCD_FILTER ) + ++ library->lcd_stem_align_func = _lcd_stem_align; + ft_memcpy( library->lcd_weights, light_filter, 5 ); + library->lcd_filter_func = _ft_lcd_filter_fir; + library->lcd_extra = 2; + + #else + ++ library->lcd_stem_align_func = _lcd_stem_align; + ft_memcpy( library->lcd_weights, default_filter, 5 ); + library->lcd_filter_func = _ft_lcd_filter_fir; + library->lcd_extra = 2; +@@ -325,6 +1080,7 @@ + + case FT_LCD_FILTER_LIGHT: + ft_memcpy( library->lcd_weights, light_filter, 5 ); ++ library->lcd_stem_align_func = _lcd_stem_align; + library->lcd_filter_func = _ft_lcd_filter_fir; + library->lcd_extra = 2; + break; +@@ -332,6 +1088,7 @@ + #ifdef USE_LEGACY + + case FT_LCD_FILTER_LEGACY: ++ library->lcd_stem_align_func = _lcd_stem_align; + library->lcd_filter_func = _ft_lcd_filter_legacy; + library->lcd_extra = 0; + break; +diff -Nur freetype-2.4.3.orig/src/base/ftobjs.c freetype-2.4.3.new/src/base/ftobjs.c +--- freetype-2.4.3.orig/src/base/ftobjs.c 2010-08-06 13:02:15.000000000 -0500 ++++ freetype-2.4.3.new/src/base/ftobjs.c 2010-11-14 15:43:02.906303324 -0600 +@@ -562,6 +562,45 @@ + FT_Bool autohint = FALSE; + FT_Module hinter; + ++ TT_Face face2=(TT_Face)face; ++ int checked_auto_autohint_env; ++ FT_Bool auto_autohint = FALSE; ++ ++ if ( !checked_auto_autohint_env ) ++ { ++ char *auto_autohint_env = getenv( "INFINALITY_FT_AUTO_AUTOHINT" ); ++ if ( auto_autohint_env != NULL ) ++ { ++ if ( strcasecmp(auto_autohint_env, "default" ) != 0 ) ++ { ++ if ( strcasecmp(auto_autohint_env, "true") == 0) auto_autohint = TRUE; ++ else if ( strcasecmp(auto_autohint_env, "1") == 0) auto_autohint = TRUE; ++ else if ( strcasecmp(auto_autohint_env, "on") == 0) auto_autohint = TRUE; ++ else if ( strcasecmp(auto_autohint_env, "yes") == 0) auto_autohint = TRUE; ++ } ++ } ++ checked_auto_autohint_env = 1; ++ } ++/*printf("%d,%d ", load_flags, FT_LOAD_TARGET_NORMAL); ++10000001000101000 ++0#define FT_LOAD_DEFAULT 0x0 ++0#define FT_LOAD_NO_SCALE 0x1 ++0#define FT_LOAD_NO_HINTING 0x2 ++1#define FT_LOAD_RENDER 0x4 ++0#define FT_LOAD_NO_BITMAP 0x8 ++1#define FT_LOAD_VERTICAL_LAYOUT 0x10 ++0#define FT_LOAD_FORCE_AUTOHINT 0x20 ++0#define FT_LOAD_CROP_BITMAP 0x40 ++0#define FT_LOAD_PEDANTIC 0x80 ++1#define FT_LOAD_ADVANCE_ONLY 0x100 ++0#define FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH 0x200 ++0#define FT_LOAD_NO_RECURSE 0x400 ++0#define FT_LOAD_IGNORE_TRANSFORM 0x800 ++0#define FT_LOAD_MONOCHROME 0x1000 ++0#define FT_LOAD_LINEAR_DESIGN 0x2000 ++0#define FT_LOAD_SBITS_ONLY 0x4000 ++1#define FT_LOAD_NO_AUTOHINT 0x8000U ++*/ + + if ( !face || !face->size || !face->glyph ) + return FT_Err_Invalid_Face_Handle; +@@ -627,8 +666,11 @@ + + + if ( mode == FT_RENDER_MODE_LIGHT || +- face->internal->ignore_unpatented_hinter ) ++ face->internal->ignore_unpatented_hinter || ++ ( auto_autohint && face2->max_profile.maxSizeOfInstructions == 0 ) ) ++ { + autohint = TRUE; ++ } + } + } + +diff -Nur freetype-2.4.3.orig/src/base/ftoutln.c freetype-2.4.3.new/src/base/ftoutln.c +--- freetype-2.4.3.orig/src/base/ftoutln.c 2010-06-27 08:03:58.000000000 -0500 ++++ freetype-2.4.3.new/src/base/ftoutln.c 2010-11-14 09:06:38.779916717 -0600 +@@ -888,6 +888,28 @@ + FT_Int c, n, first; + FT_Int orientation; + ++ int checked_enhanced_embolden_env = 0; ++ FT_Bool enhanced_embolden = FALSE; ++ ++ if ( checked_enhanced_embolden_env == 0 ) ++ { ++ char *enhanced_embolden_env = getenv( "INFINALITY_FT_ENHANCED_EMBOLDEN" ); ++ if ( enhanced_embolden_env != NULL ) ++ { ++ if ( strcasecmp(enhanced_embolden_env, "default" ) != 0 ) ++ { ++ if ( strcasecmp(enhanced_embolden_env, "true") == 0) ++ enhanced_embolden = TRUE; ++ else if ( strcasecmp(enhanced_embolden_env, "1") == 0) ++ enhanced_embolden = TRUE; ++ else if ( strcasecmp(enhanced_embolden_env, "on") == 0) ++ enhanced_embolden = TRUE; ++ else if ( strcasecmp(enhanced_embolden_env, "yes") == 0) ++ enhanced_embolden = TRUE; ++ } ++ } ++ checked_enhanced_embolden_env = 1; ++ } + + if ( !outline ) + return FT_Err_Invalid_Argument; +@@ -957,7 +979,8 @@ + } + + outline->points[n].x = v_cur.x + strength + in.x; +- outline->points[n].y = v_cur.y + strength + in.y; ++ if ( !enhanced_embolden ) ++ outline->points[n].y = v_cur.y + strength + in.y; + + v_prev = v_cur; + v_cur = v_next; +diff -Nur freetype-2.4.3.orig/src/base/ftsynth.c freetype-2.4.3.new/src/base/ftsynth.c +--- freetype-2.4.3.orig/src/base/ftsynth.c 2010-09-11 01:28:32.000000000 -0500 ++++ freetype-2.4.3.new/src/base/ftsynth.c 2010-11-14 09:19:16.860168106 -0600 +@@ -88,9 +88,28 @@ + FT_Error error; + FT_Pos xstr, ystr; + ++ int checked_enhanced_embolden_env = 0; ++ FT_Bool enhanced_embolden = FALSE; ++ ++ if ( checked_enhanced_embolden_env == 0 ) ++ { ++ char *enhanced_embolden_env = getenv( "INFINALITY_FT_EMBOLDEN_MAINTAIN_WIDTH" ); ++ if ( enhanced_embolden_env != NULL ) ++ { ++ if ( strcasecmp(enhanced_embolden_env, "default" ) != 0 ) ++ { ++ if ( strcasecmp(enhanced_embolden_env, "true") == 0) enhanced_embolden = TRUE; ++ else if ( strcasecmp(enhanced_embolden_env, "1") == 0) enhanced_embolden = TRUE; ++ else if ( strcasecmp(enhanced_embolden_env, "on") == 0) enhanced_embolden = TRUE; ++ else if ( strcasecmp(enhanced_embolden_env, "yes") == 0) enhanced_embolden = TRUE; ++ } ++ } ++ checked_enhanced_embolden_env = 1; ++ } ++ + + if ( slot->format != FT_GLYPH_FORMAT_OUTLINE && +- slot->format != FT_GLYPH_FORMAT_BITMAP ) ++ slot->format != FT_GLYPH_FORMAT_BITMAP ) + return; + + /* some reasonable strength */ +@@ -108,7 +127,7 @@ + xstr = xstr * 2; + ystr = xstr; + } +- else /* slot->format == FT_GLYPH_FORMAT_BITMAP */ ++ else if ( slot->format == FT_GLYPH_FORMAT_BITMAP ) + { + /* round to full pixels */ + xstr &= ~63; +@@ -146,7 +165,8 @@ + slot->metrics.width += xstr; + slot->metrics.height += ystr; + slot->metrics.horiBearingY += ystr; +- slot->metrics.horiAdvance += xstr; ++ /* Don't add any horiAdvance - Personal preference */ ++ if ( !enhanced_embolden ) slot->metrics.horiAdvance += xstr; + slot->metrics.vertBearingX -= xstr / 2; + slot->metrics.vertBearingY += ystr; + slot->metrics.vertAdvance += ystr; +diff -Nur freetype-2.4.3.orig/src/smooth/ftsmooth.c freetype-2.4.3.new/src/smooth/ftsmooth.c +--- freetype-2.4.3.orig/src/smooth/ftsmooth.c 2010-08-09 19:47:47.000000000 -0500 ++++ freetype-2.4.3.new/src/smooth/ftsmooth.c 2010-11-07 11:17:08.693652341 -0600 +@@ -283,6 +283,9 @@ + vec->y /= 3; + } + ++ if ( slot->library->lcd_stem_align_func ) ++ slot->library->lcd_stem_align_func ( bitmap, mode, slot ); ++ + if ( slot->library->lcd_filter_func ) + slot->library->lcd_filter_func( bitmap, mode, slot->library ); diff --git a/testing/freetype-infinality/freetype2-infinality-protect_null_pointer-goddesse.patch b/testing/freetype-infinality/freetype2-infinality-protect_null_pointer-goddesse.patch new file mode 100644 index 0000000000..43143e69e1 --- /dev/null +++ b/testing/freetype-infinality/freetype2-infinality-protect_null_pointer-goddesse.patch @@ -0,0 +1,71 @@ +Contributed by goddesse +https://bbs.archlinux.org/viewtopic.php?pid=864901#p864901 + +diff -Naur freetype-2.4.4/src/base/ftlcdfil.c freetype-2.4.4.new/src/base/ftlcdfil.c +--- freetype-2.4.4/src/base/ftlcdfil.c 2010-12-12 12:05:21.606671258 -0600 ++++ freetype-2.4.4.new/src/base/ftlcdfil.c 2010-12-12 12:08:17.726671242 -0600 +@@ -180,14 +180,17 @@ + else if (strcasecmp(alignment_type_env, "infinality1") == 0) alignment_type = 6; + else alignment_type = 0; + +- if ( /*strstr(slot.metrics->root.scaler.face->style_name, "Regular") +- || strstr(slot.metrics->root.scaler.face->style_name, "Book") +- || strstr(slot.metrics->root.scaler.face->style_name, "Medium") +- ||*/ strcasestr(slot->face->style_name, "Italic") +- || strcasestr(slot->face->style_name, "Oblique") ) +- alignment_type = 0; +- if ( strcasestr(slot->face->style_name, "Bold") ) +- alignment_type = 0; ++ if ( slot->face != NULL && slot->face->style_name != NULL ) ++ { ++ if ( /*strstr(slot.metrics->root.scaler.face->style_name, "Regular") ++ || strstr(slot.metrics->root.scaler.face->style_name, "Book") ++ || strstr(slot.metrics->root.scaler.face->style_name, "Medium") ++ ||*/ strcasestr(slot->face->style_name, "Italic") ++ || strcasestr(slot->face->style_name, "Oblique") ) ++ alignment_type = 0; ++ if ( strcasestr(slot->face->style_name, "Bold") ) ++ alignment_type = 0; ++ } + } + checked_alignment_type = 1; + } +@@ -214,16 +217,19 @@ + /*printf("%s,%s ", slot->face->family_name, slot->face->style_name);*/ + /*printf("%d ", slot->face->size->metrics.x_ppem);*/ + +- /* set gamma value to 1 if out of range */ +- if ( slot->face->size->metrics.x_ppem >= pseudo_gamma_lt ) ++ if ( slot->face && slot->face->size ) + { +- pseudo_gamma_value = 1; +- } ++ /* set gamma value to 1 if out of range */ ++ if ( slot->face->size->metrics.x_ppem >= pseudo_gamma_lt ) ++ { ++ pseudo_gamma_value = 1; ++ } + +- /* don't do alignment for < 10 */ +- if ( slot->face->size->metrics.x_ppem < 10 ) +- { +- alignment_type = 0; ++ /* don't do alignment for < 10 */ ++ if ( slot->face->size->metrics.x_ppem < 10 ) ++ { ++ alignment_type = 0; ++ } + } + + if ( mode == FT_RENDER_MODE_LCD ) +@@ -642,7 +648,9 @@ + if ( pseudo_gamma_value != 1 ) + { + FT_Byte* line = bitmap->buffer; +- float ppem = (float)slot->face->size->metrics.x_ppem; ++ float ppem = 0; ++ if ( slot->face && slot->face->size ) ++ ppem = (float)slot->face->size->metrics.x_ppem; + + if (ppem >= 5 ) + for (height = (FT_UInt)bitmap->rows; height > 0; height--, line += bitmap->pitch ) diff --git a/testing/freetype-infinality/infinality-settings b/testing/freetype-infinality/infinality-settings new file mode 100644 index 0000000000..f6fca1aac5 --- /dev/null +++ b/testing/freetype-infinality/infinality-settings @@ -0,0 +1,230 @@ +################################################################## +# INFINALITY ENVIRONMENT VARIABLES FOR EXTRA RUN-TIME OPTIONS +################################################################## +# +# These environment variables require that their respective patches +# from http://www.infinality.net have been applied to the Freetype +# installation you are using. They will do abolutely +# nothing otherwise! +# + +# This file should be copied to /etc/profile.d/ for system-wide +# effects and/or included in ~/.bashrc or ~/.bash_profile for per-user +# effects: +# +# . ~/path/to/this/file/infinality-settings +# +# Of course, the per-user settings will override the system-wide +# settings. Default values indicated below will be used when the +# environment variables below are not defined. + + + +################################################################## +# INFINALITY_FT_FILTER_PARAMS +# +# This is a modified version of the patch here: +# http://levelsofdetail.kendeeter.com/2008/12/dynamic_fir_filter_patch.html +# +# Allows you to adjust the FIR filter at runtime instead of at +# compile time. The idea is to have values add up to one, and be +# symmetrical around the middle value. Here are some samples +# of various filter parameters: +# +# Strong Extra Smooth "15e-2 20e-2 30e-2 20e-2 15e-2" (extra smooth, natural weight) +# Extra Smooth "20e-2 20e-2 30e-2 20e-2 20e-2" (extra smooth, extra weight) +# Smooth "15e-2 20e-2 32e-2 20e-2 15e-2" (smooth, natural weight) +# Stronger Gibson "11e-2 22e-2 38e-2 22e-2 11e-2" (smooth, extra weight) +# Gibson "11e-2 22e-2 33e-2 22e-2 11e-2" (smooth, natural weight) +# Freetype Light "00e-2 33e-2 34e-2 33e-2 00e-2" (sharp, natural weight) +# Freetype Default "06e-2 25e-2 44e-2 25e-2 06e-2" (sharp, extra weight) *default +# Extra Sharp "00e-2 35e-2 35e-2 35e-2 00e-2" (extra sharp, extra weight) +# +# Default: [Freetype's default] +# Recommended: "11e-2 22e-2 38e-2 22e-2 11e-2" +# +# Example 1: export INFINALITY_FT_FILTER_PARAMS="11e-2 22e-2 38e-2 22e-2 11e-2" +# + +export INFINALITY_FT_FILTER_PARAMS="11e-2 22e-2 38e-2 22e-2 11e-2" + + + + +################################################################## +# INFINALITY_FT_STEM_ALIGNMENT_TYPE +# +# This performs analysis on each glyph and determines the best +# subpixel orientation for the glyph. The glyph is not scaled in +# any way, just moved left or right by a subpixel amount. This +# results in subtley cleaner looking fonts, at the expense of +# proper distances between glyphs. This is only active for sizes +# 10 px or greater and does not apply to bold or italic fonts. +# +# Possible values: +# full - Allows a glyph to be moved to the LEFT or RIGHT by 1 subpixel +# Best alignment, Worst positioning +# medium,medium1 - Only allows a glyph to be moved to the LEFT by 1 subpixel +# Good alignment, Good positioning +# medium2 - Only allows a glyph to be moved to the RIGHT by 1 subpixel +# Good alignment, Good positioning +# slight,slight1 - A stricter version of medium +# Minor alignment, Best positioning +# slight2 - A stricter version of medium2 +# Minor alignment, Best positioning +# infinality - medium1 when stem < 5 subpixels, full when >= 5 subpixels +# none - Don't do any alignment +# +# Default: none +# Recommended: medium + +export INFINALITY_FT_STEM_ALIGNMENT_TYPE=medium + + + + +################################################################## +# INFINALITY_FT_AUTOFIT_STEM_SNAP_LIGHT +# +# Cause the height of horizontal stems to snap to integer pixels +# when using light auto-hinting. (This happens automatically +# when using full auto-hinting) +# +# This produces an effect similar to the way Windows renders fonts +# without requiring the font to contain bytecode instructions. +# +# Possible values: +# true - enable stem snapping +# false - do not enable stem snapping +# +# Default: false +# Recommended: true + +export INFINALITY_FT_AUTOFIT_STEM_SNAP_LIGHT=true + + + + +################################################################## +# INFINALITY_FT_AUTOFIT_EMBOLDEN_LIGHT +# +# Embolden particularly light or thin fonts, like DejaVu Sans Light, +# Inconsolata, Freemono, Courier New, etc. up until stem width is +# 1 pixel wide. This makes these fonts easier to read at lower +# ppems. Only applies when the autohinter is being used. +# +# Possible values: +# true - enable emboldening of light fonts +# false - do not enable emboldening of light fonts +# +# Default: false +# Recommended: true + +export INFINALITY_FT_AUTOFIT_EMBOLDEN_LIGHT=true + + + + +################################################################## +# INFINALITY_FT_PSEUDO_GAMMA +# +# This does a weighted gamma correction at the LCD filter phase +# prior to the LCD filter. +# +# The first value indicates a px value, the second indicates a +# "gamma" value. All sizes < the px value will be corrected +# on a weighted scale based on the second value. +# +# Values .1 < 1.0 will darken the glyph +# Values > 1.0 will lighten the glyph +# +# Example 1: Darken glyphs that are less than 10 px. With some fonts +# even 5 or 6px is readable! +# export INFINALITY_FT_PSEUDO_GAMMA="10 6e-1" +# +# Example 2: Lighten all glyphs (below 100px) +# export INFINALITY_FT_PSEUDO_GAMMA="100 15e-1" +# +# Default: [No gamma correction] +# Recommended: "9 5e-1" + +export INFINALITY_FT_PSEUDO_GAMMA="9 7e-1" + + + + +################################################################## +# INFINALITY_FT_AUTOFIT_ADJUST_HEIGHTS +# +# This will slightly stretch some glyphs vertically between 9px +# and 14px (inclusive). Some people may find this more +# aesthetically pleasing. This only applies to fonts that are +# using autohint. +# +# Possible values: +# true - enable height adjustment +# false - do not enable height adjustment +# +# Default: false + +export INFINALITY_FT_AUTOFIT_ADJUST_HEIGHTS=true + + + + +################################################################## +# INFINALITY_FT_ENHANCED_EMBOLDEN +# +# When doing artificial emboldening, only embolden in the X +# direction, skipping the Y direction. Most people will find this +# more aesthetically pleasing than the default behavior. +# +# Possible values: +# true - enable enhanced emboldening +# false - no not enable enhanced emboldening +# +# Default: false +# Recommended: true + +export INFINALITY_FT_ENHANCED_EMBOLDEN=true + + + + +################################################################## +# INFINALITY_FT_EMBOLDEN_MAINTAIN_WIDTH +# +# When doing artificial emboldening, don't change the glyph width. +# +# Possible values: +# true - maintain width +# false - do not maintain width +# +# Default: false +# Recommended: true + +export INFINALITY_FT_EMBOLDEN_MAINTAIN_WIDTH=true + + + + +################################################################## +# INFINALITY_FT_AUTO_AUTOHINT +# +# Automatically use autohint when rendering a font that contains +# no truetype instructions, regardless of what the calling +# program asks for. The truetype hinter will not do a good job +# on these. +# +# Possible values: +# true - automatically use autohint +# false - do not automatically use autohint +# +# Default: false +# Recommended: true + +export INFINALITY_FT_AUTO_AUTOHINT=true + + + + diff --git a/testing/ftgl/APKBUILD b/testing/ftgl/APKBUILD new file mode 100644 index 0000000000..7ee3177ff1 --- /dev/null +++ b/testing/ftgl/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=ftgl +pkgver=2.1.3_rc5 +_pkgver=2.1.3-rc5 +pkgrel=1 +pkgdesc="freetype OpenGL layer" +url="http://ftgl.wiki.sourceforge.net/" +arch="all" +license="GPL" +depends= +depends_dev="mesa-dev freetype-dev freeglut-dev" +makedepends="$depends_dev" +install= +subpackages="$pkgname-dev $pkgname-doc" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-${_pkgver}.tar.bz2" + +_builddir="$srcdir/$pkgname-2.1.3~rc5" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure \ + --prefix=/usr || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} +md5sums="c7879018cde844059495b3029b0b6503 ftgl-2.1.3-rc5.tar.bz2" diff --git a/testing/geany-plugins/APKBUILD b/testing/geany-plugins/APKBUILD new file mode 100644 index 0000000000..af588d70aa --- /dev/null +++ b/testing/geany-plugins/APKBUILD @@ -0,0 +1,96 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=geany-plugins +pkgver=0.20 +pkgrel=0 +pkgdesc="Plugins for Geany" +url="http://plugins.geany.org/" +arch="all" +license="GPLv3+" +depends= +makedepends="lua-dev geany-dev enchant-dev intltool gtkspell-dev libxml2-dev + bash" +install="" +subpackages="$pkgname-doc + $pkgname-addons + $pkgname-codenav + $pkgname-geanydoc + $pkgname-geanyextrasel + $pkgname-geanygdb + $pkgname-geanyinsertnum + $pkgname-geanylatex + $pkgname-geanylipsum + $pkgname-geanylua + $pkgname-geanyprj + $pkgname-geanysendmail + $pkgname-geanyvc + $pkgname-pretty-print:pretty_print + $pkgname-shiftcolumn + $pkgname-spellcheck + $pkgname-treebrowser + " + +source="http://plugins.geany.org/geany-plugins/geany-plugins-$pkgver.tar.bz2" + +_builddir="$srcdir"/geany-plugins-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm -f "$pkgdir"/usr/lib/*.la \ + "$pkgdir"/usr/lib/*/*.la +} + +_plugin() { + pkgdesc="$2" + local _d + mkdir -p "$subpkgdir"/usr/lib/geany + mv "$pkgdir"/usr/lib/geany/$1.so "$subpkgdir"/usr/lib/geany/ || return 1 + cd "$pkgdir" + for _d in usr/*/geany-plugins/$1; do + if [ -d "$_d" ]; then + mkdir -p "$subpkgdir"/${_d%/*} + mv "$pkgdir"/$_d "$subpkgdir"/$_d + fi + done +} + +addons() { _plugin addons "Miscellaneous Addons for Geany"; } +codenav() { _plugin codenav "Navigate through your source code easily"; } +geanydoc() { _plugin geanydoc "Call documentation from within Geany"; } +geanyextrasel() { _plugin geanyextrasel "Additional features for selecting code"; } +geanygdb() { _plugin geanygdb "Debugger Plugin for Geany using GDB"; } +geanyinsertnum() { _plugin geanyinsertnum "Insert huge number ranges with small efforts"; } +geanylatex() { _plugin geanylatex "LaTeX support for Geany"; } +geanylipsum() { _plugin geanylipsum "Lorem Ipsum generator for Inserting Placeholder Text"; } +geanylua() { _plugin geanylua "Lua Scripting for Geany"; } +geanyprj() { _plugin geanyprj "Alternate project management tool for Geany"; } +geanysendmail() { _plugin geanysendmail "Send E-Mails from within Geany"; } +geanyvc() { _plugin geanyvc "Version Control for Geany"; } +pretty_print() { _plugin pretty-print "XML pretty printing plugin for Geany"; } +shiftcolumn() { _plugin shiftcolumn "Move Blocks of Text horizontally"; } +spellcheck() { _plugin spellcheck "Spellcheck text in Geany"; } +treebrowser() { _plugin treebrowser "Alternate file browser plugin "; } + + +md5sums="94bc4901217641a07f840d92179643b0 geany-plugins-0.20.tar.bz2" diff --git a/testing/giggle/APKBUILD b/testing/giggle/APKBUILD new file mode 100644 index 0000000000..78cda69bea --- /dev/null +++ b/testing/giggle/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=giggle +pkgver=0.5 +pkgrel=1 +pkgdesc="graphical frontend for the git content tracker" +url="http://live.gnome.org/giggle" +arch="all" +license="GPL" +depends= +makedepends="gtk+-dev gtksourceview-dev vte-dev" +install="" +subpackages="$pkgname-dev" +source="http://ftp.gnome.org/pub/GNOME/sources/giggle/$pkgver/giggle-$pkgver.tar.bz2" + +_builddir="$srcdir"/giggle-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --disable-evolution-data-server \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="91d2000fb97c5cb0bb0027edf444ecff giggle-0.5.tar.bz2" diff --git a/testing/gigolo/APKBUILD b/testing/gigolo/APKBUILD new file mode 100644 index 0000000000..9f3544d76d --- /dev/null +++ b/testing/gigolo/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=gigolo +pkgver=0.4.1 +pkgrel=0 +pkgdesc="GIO/GVFS management application" +url="http://www.uvena.de/gigolo/" +license="GPLv2" +arch="all" +depends= +makedepends="gtk+-dev python" +install= +subpackages="$pkgname-doc" +source="http://archive.xfce.org/src/apps/gigolo/${pkgver%.*}/gigolo-$pkgver.tar.bz2" + +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + cd "$_builddir" +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install +} + +md5sums="760bdc5753768214b379733a728b0c80 gigolo-0.4.1.tar.bz2" diff --git a/testing/gjs/APKBUILD b/testing/gjs/APKBUILD new file mode 100644 index 0000000000..37e42a0ee8 --- /dev/null +++ b/testing/gjs/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=gjs +pkgver=0.7.10 +pkgrel=0 +pkgdesc="GNOME javascript platform" +url="http://live.gnome.org/gjs" +arch="" +license="LGPL" +depends="xulrunner" +depends_dev="xulrunner-dev gtk+-dev glib-dev cairo-dev dbus-glib-dev nspr-dev" +makedepends="$depends_dev gobject-introspection-dev" +install="" +subpackages="$pkgname-dev" +source="ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2" + +_builddir="${srcdir}/${pkgname}-${pkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --disable-scrollkeeper || return 1 + make -j1 || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install -j1 || return 1 +} + +md5sums="12df4ed701ef4e2dc742cfbea6bb43eb gjs-0.7.10.tar.bz2" diff --git a/testing/gmime/APKBUILD b/testing/gmime/APKBUILD new file mode 100644 index 0000000000..cb8f93b343 --- /dev/null +++ b/testing/gmime/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=gmime +pkgver=2.4.24 +pkgrel=0 +pkgdesc="glib mime library" +url="http://spruce.sourceforge.net/gmime/" +arch="all" +license="LGPL" +depends= +depends_dev="glib-dev" +makedepends="$depends_dev intltool" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2" + +_builddir="${srcdir}/${pkgname}-${pkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="8657e7103158eb667e34a0eecbae0ab7 gmime-2.4.24.tar.bz2" diff --git a/testing/gnash/APKBUILD b/testing/gnash/APKBUILD new file mode 100644 index 0000000000..029a291f22 --- /dev/null +++ b/testing/gnash/APKBUILD @@ -0,0 +1,68 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=gnash +pkgver=0.8.9 +pkgrel=3 +pkgdesc="GNU flash player implementation" +url="http://www.gnashdev.org/" +arch="all" +license="GPL" +depends= +depends_dev="agg-dev cairo-dev gstreamer-dev gst-plugins-base-dev + ffmpeg-dev mesa-dev gtk+-dev sdl-dev boost-dev giflib-dev + speex-dev libxml2-dev jpeg-dev xulrunner-dev gtkglext-dev + curl-dev" +makedepends="$depends_dev libtool" +install="" +subpackages="$pkgname-doc $pkgname-dev $pkgname-mozilla $pkgname-sdl $pkgname-fb" +source="http://mirrors.igsobe.com/gnu/gnash/$pkgver/gnash-$pkgver.tar.gz + gnash-ffmpeg.patch" + +_builddir="$srcdir"/gnash-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +sdl() { + pkgdesc="$pkgdesc (sdl player)" + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/sdl-gnash "$subpkgdir"/usr/bin +} + +fb() { + pkgdesc="$pkgdesc (framebuffer player)" + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/fb-gnash "$subpkgdir"/usr/bin +} + +mozilla() { + depends="gnash" + pkgdesc="$pkgdesc (mozilla plugin)" + mkdir -p "$subpkgdir"/usr/lib/mozilla/plugins + mv "$_builddir"/plugin/npapi/.libs/libgnashplugin.so "$subpkgdir"/usr/lib/mozilla/plugins +} + +md5sums="01d0420932eede07211e368d405aee9c gnash-0.8.9.tar.gz +b324b3fee1e017d8fcc4d991146266f8 gnash-ffmpeg.patch" diff --git a/testing/gnash/gnash-ffmpeg.patch b/testing/gnash/gnash-ffmpeg.patch new file mode 100644 index 0000000000..dc78e81c59 --- /dev/null +++ b/testing/gnash/gnash-ffmpeg.patch @@ -0,0 +1,24 @@ +--- gnash-0.8.9.orig/libmedia/ffmpeg/MediaParserFfmpeg.cpp ++++ gnash-0.8.9/libmedia/ffmpeg/MediaParserFfmpeg.cpp +@@ -52,8 +52,8 @@ + return p->readPacket(buf, buf_size); + } + +-boost::int64_t +-MediaParserFfmpeg::seekMediaWrapper(void *opaque, boost::int64_t offset, int whence) ++::int64_t ++MediaParserFfmpeg::seekMediaWrapper(void *opaque, ::int64_t offset, int whence) + { + MediaParserFfmpeg* p = static_cast<MediaParserFfmpeg*>(opaque); + return p->seekMedia(offset, whence); +--- gnash-0.8.9.orig/libmedia/ffmpeg/MediaParserFfmpeg.h ++++ gnash-0.8.9/libmedia/ffmpeg/MediaParserFfmpeg.h +@@ -126,7 +126,7 @@ + boost::int64_t seekMedia(boost::int64_t offset, int whence); + + /// ffmpeg callback function +- static boost::int64_t seekMediaWrapper(void *opaque, boost::int64_t offset, int whence); ++ static int64_t seekMediaWrapper(void *opaque, int64_t offset, int whence); + + /// Read some of the input to figure an AVInputFormat + AVInputFormat* probeStream(); diff --git a/testing/gnump3d/APKBUILD b/testing/gnump3d/APKBUILD new file mode 100644 index 0000000000..1fa85b283e --- /dev/null +++ b/testing/gnump3d/APKBUILD @@ -0,0 +1,30 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=gnump3d +pkgver=3.0 +pkgrel=0 +pkgdesc="A streaming server for MP3, OGG vorbis and other streamable files" +url="http://www.gnump3d.org/" +arch="all" +license="GPL-2" +depends="perl" +makedepends="" +install= +subpackages="$pkgname-doc" +source="http://savannah.gnu.org/download/gnump3d/$pkgname-$pkgver.tar.gz + gnump3d.confd + gnump3d.initd" + +build() { + cd "$srcdir"/$pkgname-$pkgver + + make PREFIX="$pkgdir" install + + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname + mv "$pkgdir"/usr/local "$pkgdir"-doc/ +} + +md5sums="d2b665c3267253cc8cae29659131b9b4 gnump3d-3.0.tar.gz +59f0286d4c943226a67ab7b7787547c6 gnump3d.confd +5202488dff1c7e6c6788fb00fb32f071 gnump3d.initd" diff --git a/testing/gnump3d/gnump3d.confd b/testing/gnump3d/gnump3d.confd new file mode 100644 index 0000000000..1d6cf397d2 --- /dev/null +++ b/testing/gnump3d/gnump3d.confd @@ -0,0 +1,6 @@ +# Set this to 0 to stop the init script from indexing your mp3s. +# It takes the longest on the first time, but after that, it only does +# updates. + +DO_INDEX=1 + diff --git a/testing/gnump3d/gnump3d.initd b/testing/gnump3d/gnump3d.initd new file mode 100644 index 0000000000..43290ee30a --- /dev/null +++ b/testing/gnump3d/gnump3d.initd @@ -0,0 +1,37 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/media-sound/gnump3d/files/gnump3d.init.d,v 1.4 2008/06/03 14:52:33 beandog Exp $ + +opts="start stop index" + +depend() { + need net + after netmount nfsmount +} + +start() { + ebegin "Starting gnump3d" + + if [ ${DO_INDEX} -eq 1 ]; then + ebegin "Updating index of music files (may take a while for the first time)" + /usr/bin/gnump3d-index + eend $? + fi + + start-stop-daemon --start --quiet --exec /usr/bin/gnump3d2 --make-pidfile \ + --pidfile /var/run/gnump3d.pid --background -- --quiet + eend $? +} + +stop() { + ebegin "Stopping gnump3d" + start-stop-daemon --stop --quiet --pidfile /var/run/gnump3d.pid + eend $? +} + +index() { + ebegin "Indexing music files" + /usr/bin/gnump3d-index + eend $? +} diff --git a/testing/gource/APKBUILD b/testing/gource/APKBUILD new file mode 100644 index 0000000000..44b3b8ef51 --- /dev/null +++ b/testing/gource/APKBUILD @@ -0,0 +1,29 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=gource +pkgver=0.32 +pkgrel=1 +pkgdesc="Software version control visualization" +url="http://code.google.com&p/gource" +arch="all" +license="GPL3" +depends= +depends_dev="ftgl-dev sdl-dev sdl_image-dev pcre-dev glew-dev libpng-dev + jpeg-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-doc" +source="http://gource.googlecode.com/files/$pkgname-$pkgver.tar.gz" +_builddir="$srcdir"/$pkgname-$pkgver +build() { + cd "$_builddir" + ./configure --prefix=/usr + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="7aed2fcf8f0c09b8cea5b19a418b0724 gource-0.32.tar.gz" diff --git a/testing/gpgme/APKBUILD b/testing/gpgme/APKBUILD new file mode 100644 index 0000000000..990d263979 --- /dev/null +++ b/testing/gpgme/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=gpgme +pkgver=1.3.0 +pkgrel=0 +pkgdesc="gnupg made easy" +url="http://www.gnupg.org/related_software/gpgme/" +arch="all" +license="GPL" +depends=gnupg +depends_dev="libgpg-error-dev libassuan-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="ftp://ftp.gnupg.org/gcrypt/gpgme/gpgme-$pkgver.tar.bz2" + +_builddir="$srcdir"/gpgme-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="4784e3c6086c9c25e9a1b4d9f7c5aa96 gpgme-1.3.0.tar.bz2" diff --git a/testing/gssdp/APKBUILD b/testing/gssdp/APKBUILD new file mode 100644 index 0000000000..a70543da69 --- /dev/null +++ b/testing/gssdp/APKBUILD @@ -0,0 +1,48 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=gssdp +pkgver=0.10.0 +pkgrel=1 +pkgdesc="Resource discovery and announcement over SSDP" +url="http://www.gupnp.org/" +arch="all" +license="LGPLv2" +depends= +depends_dev="dbus-glib-dev glib-dev gtk+-dev libsoup-dev libxml2-dev" +makedepends="$depends_dev gobject-introspection-dev" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://www.gupnp.org/sites/all/files/sources/gssdp-$pkgver.tar.gz + gssdp-fixdso.patch" + +_builddir="$srcdir"/gssdp-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --enable-introspection=yes \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + find "$pkgdir" -name '*.la' -delete +} + +md5sums="aec6a56ac1d4f8a4837da83f2d152556 gssdp-0.10.0.tar.gz +44a768c4245e69b54b96b985143a6faa gssdp-fixdso.patch" diff --git a/testing/gssdp/gssdp-fixdso.patch b/testing/gssdp/gssdp-fixdso.patch new file mode 100644 index 0000000000..597e41e3cf --- /dev/null +++ b/testing/gssdp/gssdp-fixdso.patch @@ -0,0 +1,11 @@ +--- gssdp-0.7.2/tests/Makefile.in.orig 2010-04-09 13:55:16.000000000 +0100 ++++ gssdp-0.7.2/tests/Makefile.in 2010-04-09 18:07:19.357276589 +0100 +@@ -129,7 +129,7 @@ + INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@ + INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ + LD = @LD@ +-LDFLAGS = @LDFLAGS@ ++LDFLAGS = @LDFLAGS@ -lgobject-2.0 -lglib-2.0 + LIBGSSDP_CFLAGS = @LIBGSSDP_CFLAGS@ + LIBGSSDP_LIBS = @LIBGSSDP_LIBS@ + LIBGTK_CFLAGS = @LIBGTK_CFLAGS@ diff --git a/testing/gtk-equinox-engine/APKBUILD b/testing/gtk-equinox-engine/APKBUILD new file mode 100644 index 0000000000..0a78bcf746 --- /dev/null +++ b/testing/gtk-equinox-engine/APKBUILD @@ -0,0 +1,47 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=gtk-equinox-engine +pkgver=1.30.2 +pkgrel=2 +pkgdesc="enhanced cairo-based GTK+ engine" +url="http://gnome-look.org/content/show.php/Equinox+GTK+Engine" +license="GPL" +arch="all" +depends= +makedepends="gtk+-dev" +install= +subpackages= +source="http://gnome-look.org/CONTENT/content-files/121881-equinox-1.30.tar.bz2" + +_builddir="$srcdir"/equinox-${pkgver%.*} + +prepare() { + cd "$srcdir" + + msg "Unpacking GTK+ engine" + tar zxf equinox-gtk-engine.tar.gz + + cd "$_builddir" +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install + + mkdir -p "$pkgdir"/usr/share/themes + cd "$pkgdir"/usr/share/themes + + msg "Unpacking themes" + tar zxf "$srcdir"/equinox-themes.tar.gz +} + +md5sums="07d43dede6bdc17ba74f1740a3743601 121881-equinox-1.30.tar.bz2" diff --git a/testing/gtk-murrine-engine/APKBUILD b/testing/gtk-murrine-engine/APKBUILD new file mode 100644 index 0000000000..1cc48e2a31 --- /dev/null +++ b/testing/gtk-murrine-engine/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=gtk-murrine-engine +pkgver=0.98.1 +pkgrel=1 +pkgdesc="cairo-based gtk engine" +url="http://www.cimitan.com/murrine/" +arch="all" +license="LGPL" +depends= +makedepends="gtk+-dev cairo-dev intltool" +install="" +subpackages="" +source="http://ftp.acc.umu.se/pub/GNOME/sources/murrine/${pkgver%.*}/murrine-${pkgver}.tar.bz2" + +_builddir="${srcdir}/murrine-${pkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="fb8481dd068e27425acf7e91a1250107 murrine-0.98.1.tar.bz2" diff --git a/testing/gtk-qt-engine/APKBUILD b/testing/gtk-qt-engine/APKBUILD new file mode 100644 index 0000000000..c6c367c65e --- /dev/null +++ b/testing/gtk-qt-engine/APKBUILD @@ -0,0 +1,42 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=gtk-qt-engine +pkgver=1.1 +pkgrel=0 +pkgdesc="GTK QT engine" +url="http://gtk-qt-engine.googlecode.com/" +arch="all" +license="GPL" +depends= +depends_dev="kdebase-workspace-dev gtk+-dev" +makedepends="$depends_dev cmake automoc4" +install="" +subpackages= +source="http://gtk-qt-engine.googlecode.com/files/gtk-qt-engine-$pkgver.tar.bz2 + stdlib.patch" +install_if="kdebase-workspace" + +_builddir="$srcdir"/gtk-qt-engine +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON . || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="de8048baef7dfe6c97cd97c463d66152 gtk-qt-engine-1.1.tar.bz2 +1658c0431dd13bef9c3f72183815c6f3 stdlib.patch" diff --git a/testing/gtk-qt-engine/stdlib.patch b/testing/gtk-qt-engine/stdlib.patch new file mode 100644 index 0000000000..44fd2c49e5 --- /dev/null +++ b/testing/gtk-qt-engine/stdlib.patch @@ -0,0 +1,10 @@ +--- gtk-qt-engine.orig/src/qt_theme_draw.c ++++ gtk-qt-engine/src/qt_theme_draw.c +@@ -19,6 +19,7 @@ + ***************************************************************************/ + + #include <math.h> ++#include <stdlib.h> + #include <string.h> + #include <gtk/gtkprogressbar.h> + #include <gdk/gdk.h> diff --git a/testing/gtkhtml/APKBUILD b/testing/gtkhtml/APKBUILD new file mode 100644 index 0000000000..b56ca79e35 --- /dev/null +++ b/testing/gtkhtml/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=gtkhtml +pkgver=3.32.2 +pkgrel=1 +pkgdesc="GTK HTML renderer" +url="http://projects.gnome.org/evolution" +arch="all" +license="LGPL" +depends="iso-codes gnome-icon-theme" +depends_dev="gtk+-dev libxml2-dev gnome-vfs-dev libxrandr-dev libxau-dev libxi-dev libxt-dev libxrender-dev libxcursor-dev libxdmcp-dev libxcomposite-dev + enchant-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2" + +_builddir="${srcdir}/${pkgname}-${pkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --disable-deprecated-warning-flags \ + --disable-scrollkeeper || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + + +md5sums="3e1a1d56beef147aa0a95e5ebbf61c8c gtkhtml-3.32.2.tar.bz2" diff --git a/testing/gtkimageview/APKBUILD b/testing/gtkimageview/APKBUILD new file mode 100644 index 0000000000..1914cc4a27 --- /dev/null +++ b/testing/gtkimageview/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=gtkimageview +pkgver=1.6.4 +pkgrel=1 +pkgdesc="image viewing widget for GTK+" +url="http://trac.bjourne.webfactional.com/" +arch="all" +license="LGPL" +depends= +depends_dev="gtk+-dev gdk-pixbuf-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="saveas-http://trac.bjourne.webfactional.com/attachment/wiki/WikiStart/${pkgname}-${pkgver}.tar.gz?format=raw/${pkgname}-${pkgver}.tar.gz" + +_builddir="${srcdir}/${pkgname}-${pkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="501367b3f50e69a12208dc9c6ad00b18 gtkimageview-1.6.4.tar.gz" diff --git a/testing/gupnp/APKBUILD b/testing/gupnp/APKBUILD new file mode 100644 index 0000000000..f8dcf8744a --- /dev/null +++ b/testing/gupnp/APKBUILD @@ -0,0 +1,46 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=gupnp +pkgver=0.16.1 +pkgrel=1 +pkgdesc="A framework for creating UPnP devices & control points" +url="http://www.gupnp.org/" +arch="all" +license="LGPLv2+" +depends= +depends_dev="dbus-dev libsoup-dev libxml2-dev util-linux-ng-dev gssdp-dev" +makedepends="$depends_dev gobject-introspection-dev" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://www.gupnp.org/sites/all/files/sources/gupnp-$pkgver.tar.gz" + +_builddir="$srcdir"/gupnp-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --enable-introspection=yes \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="021bb237741532af4bca50157ff326e4 gupnp-0.16.1.tar.gz" diff --git a/testing/guvcview/APKBUILD b/testing/guvcview/APKBUILD new file mode 100644 index 0000000000..e0f3553749 --- /dev/null +++ b/testing/guvcview/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=guvcview +pkgver=1.4.5 +pkgrel=0 +pkgdesc="Webcam viewer" +url="http://guvcview.berlios.de/" +arch="all" +license="GPLv3" +depends= +depends_dev= +makedepends="gtk+-dev udev-dev sdl-dev portaudio-dev ffmpeg-dev v4l-utils-dev" +install= +subpackages="$pkgname-doc" +source="http://download.berlios.de/guvcview/guvcview-src-$pkgver.tar.gz" + +_builddir="$srcdir"/guvcview-src-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="33d50a974f3db34eb5241686c3f86b60 guvcview-src-1.4.5.tar.gz" diff --git a/testing/hardinfo/APKBUILD b/testing/hardinfo/APKBUILD new file mode 100644 index 0000000000..1c721efc2a --- /dev/null +++ b/testing/hardinfo/APKBUILD @@ -0,0 +1,44 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=hardinfo +pkgver=0.5.1 +pkgrel=4 +pkgdesc="A system information and benchmark tool." +url="http://hardinfo.berlios.de/wiki/index.php/Main_Page" +arch="all" +license="GPL-2" +makedepends="gtk+-dev libsoup-dev>=2.4.0 gnutls-dev>=2.4.1" +depends= +source="http://download.berlios.de/$pkgname/$pkgname-$pkgver.tar.bz2 + fixsensors.patch + uclibc.patch + hardinfo-alpine.patch" + +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + + # configure scrip says bash but bb ash works just fine + sed -i -e '1,1s/bash/sh/' configure +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + install -d "$pkgdir"/etc + echo "Alpine Linux" > "$pkgdir"/etc/hardinfo.distro +} +md5sums="6fb38992e140f2fab16518ae1f38e188 hardinfo-0.5.1.tar.bz2 +05c212db07b9f152cdea052ff7bb28fa fixsensors.patch +e5dfccb5d3cb46acd36072f9e2396ff4 uclibc.patch +41651eb55dc219b6d9c279227a17514a hardinfo-alpine.patch" diff --git a/testing/hardinfo/fixsensors.patch b/testing/hardinfo/fixsensors.patch new file mode 100644 index 0000000000..812c294589 --- /dev/null +++ b/testing/hardinfo/fixsensors.patch @@ -0,0 +1,13 @@ + diff -upNr hardinfo-0.4.2.2.orign/util.c hardinfo-0.4.2.2/util.c +--- hardinfo-0.4.2.2.orign/util.c 2007-07-20 16:45:08.000000000 +0200 ++++ hardinfo-0.4.2.2/util.c 2007-07-26 10:15:32.000000000 +0200 +@@ -996,7 +996,8 @@ gchar *h_strdup_cprintf(const gchar * fo + if (source) { + retn = g_strconcat(source, buffer, NULL); + g_free(buffer); +- g_free(source); ++ if(strlen(source)) ++ g_free(source); + } else { + retn = buffer; + } diff --git a/testing/hardinfo/hardinfo-alpine.patch b/testing/hardinfo/hardinfo-alpine.patch new file mode 100644 index 0000000000..47e3cb73a8 --- /dev/null +++ b/testing/hardinfo/hardinfo-alpine.patch @@ -0,0 +1,10 @@ +--- ./computer.h.orig ++++ ./computer.h +@@ -23,6 +23,7 @@ + static struct { + gchar *file, *codename; + } distro_db[] = { ++ { DB_PREFIX "alpine-release", "al" }, + { DB_PREFIX "debian_version", "deb" }, + { DB_PREFIX "slackware-version", "slk" }, + { DB_PREFIX "mandrake-release", "mdk" }, diff --git a/testing/hardinfo/uclibc.patch b/testing/hardinfo/uclibc.patch new file mode 100644 index 0000000000..c24e9ea1a1 --- /dev/null +++ b/testing/hardinfo/uclibc.patch @@ -0,0 +1,22 @@ +diff --git a/arch/linux/common/os.h b/arch/linux/common/os.h +index f3c2c2d..78bc78b 100644 +--- a/arch/linux/common/os.h ++++ b/arch/linux/common/os.h +@@ -49,6 +49,9 @@ err: + static gchar * + get_libc_version(void) + { ++#if defined(__UCLIBC__) ++ return g_strdup("uClibc"); ++#else + FILE *libc; + gchar buf[256], *tmp, *p; + +@@ -70,6 +73,7 @@ get_libc_version(void) + strstr(buf, " stable ") ? "" : "un"); + err: + return g_strdup("Unknown"); ++#endif + } + + static gchar * diff --git a/testing/hdparm/APKBUILD b/testing/hdparm/APKBUILD new file mode 100644 index 0000000000..ebed3cfb75 --- /dev/null +++ b/testing/hdparm/APKBUILD @@ -0,0 +1,34 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=hdparm +pkgver=9.37 +pkgrel=0 +pkgdesc="A shell utility for manipulating Linux IDE drive/driver parameters" +url="http://sourceforge.net/projects/hdparm/" +arch="all" +license="BSD" +depends= +makedepends= +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz + hdparm.initd + hdparm.confd" + +_builddir="$srcdir"/$pkgname-$pkgver +build() { + cd "$_builddir" + make || return 1 +} + +package() { + cd "$_builddir" + mkdir -p "$pkgdir"/usr "$pkgdir"/sbin + make DESTDIR="$pkgdir" install || return 1 + install -m755 contrib/idectl "$pkgdir"/sbin || return 1 + install -m755 contrib/ultrabayd "$pkgdir"/sbin || return 1 + install -Dm755 "$srcdir"/hdparm.initd "$pkgdir"/etc/init.d/hdparm + install -Dm644 "$srcdir"/hdparm.confd "$pkgdir"/etc/conf.d/hdparm + install -D -m 644 LICENSE.TXT $pkgdir/usr/share/licenses/hdparm/LICENSE.TXT || return 1 +} +md5sums="0bb94ddd1bedd5c02b1ca62f1caaf6de hdparm-9.37.tar.gz +d530139a31b3941b3b0fbb4d98391a85 hdparm.initd +998430f701b1d54588cb02ef1505c3ed hdparm.confd" diff --git a/testing/hdparm/hdparm.confd b/testing/hdparm/hdparm.confd new file mode 100644 index 0000000000..a1ae626b3b --- /dev/null +++ b/testing/hdparm/hdparm.confd @@ -0,0 +1,26 @@ +# /etc/conf.d/hdparm: config file for /etc/init.d/hdparm + +# +# Note that options such as -y which force *immediate* power saving options +# should generally not be placed here. The hdparm init.d script may run at +# anytime with respect to other init.d scripts that do system wide drive +# scans (like the hald script), so they will merely get spun right back up. +# If you wish to use these options, please use the local.start init.d script +# instead so that you're guaranteed that it will run last. +# + +# You can either set hdparm arguments for each drive using hdX_args, +# discX_args, cdromX_args and genericX_args, e.g. +# +# hda_args="-d1 -X66" +# disc1_args="-d1" +# cdrom0_args="-d1" + +# or you can set options for all PATA drives +pata_all_args="-d1" + +# or you can set options for all SATA drives +sata_all_args="" + +# or, you can set hdparm options for all drives +all_args="" diff --git a/testing/hdparm/hdparm.initd b/testing/hdparm/hdparm.initd new file mode 100644 index 0000000000..89aa4f82b7 --- /dev/null +++ b/testing/hdparm/hdparm.initd @@ -0,0 +1,142 @@ +#!/sbin/runscript +# METHOD +# ------ +# if /dev/ide exists, find all block devices beneath it named disc, cd, or +# generic. +# +# for the disc and cd ones, if there is a a matching /dev/hdX symlink and +# hdX_args is set in the config file, use hdX_args. otherwise, if there is a +# matching /dev/discs/discX or /dev/cdroms/cdromX symlink, and discX_args or +# cdromX_args is set in the config file, use discX_args / cdromX_args. finally, +# if all_args is set in the config file, use that. +# +# for the generic ones, sort them and look for genericX_args in the config file +# or use all_args. +# +# if /dev/ide does not exist, check the /dev/hdX entries, and see which ones +# correspond to real devices by opening them for reading. then check hdX_args +# and all_args in the config file. +# +# for each device considered, if no args are found in the config file, do not +# run hdparm. + +depend() { + before bootmisc +} + +do_hdparm() { + local e= + eval e=\$${extra_args} + [ -z "${args}${all_args}${e}" ] && return 0 + + if [ -n "${args:=${all_args} ${e}}" ] ; then + local orgdevice=$(readlink -f "${device}") + if [ -b "${orgdevice}" ] ; then + ebegin "Running hdparm on ${device}" + hdparm ${args} "${device}" > /dev/null + eend $? + fi + fi +} + +scan_devfs() { + local extra_args="pata_all_args" device= alias= args= + + # devfs compatible systems + for device in $(find /dev/ide -name disc) ; do + args='' + + for alias in /dev/hd? ; do + if [ "${alias}" -ef "${device}" ] ; then + device=${alias} + eval args=\$"$(basename "${alias}")"_args + break + fi + done + + if [ -z "$args" ] ; then + for alias in /dev/discs/* ; do + if [ "${alias}"/disc -ef "${device}" ]; then + device="${alias}/disc" + eval args=\$"$(basename "${alias}")"_args + break + fi + done + fi + + do_hdparm + done + + for device in $(find /dev/ide -name cd) ; do + args='' + + for alias in /dev/hd? ; do + if [ "${alias}" -ef "${device}" ] ; then + device=${alias} + eval args=\$"$(basename "${alias}")"_args + break + fi + done + + if [ -z "$args" ] ; then + for alias in /dev/cdroms/* ; do + if [ "${alias}" -ef "${device}" ] ; then + device=${alias} + eval args=\$"$(basename "${alias}")"_args + break + fi + done + fi + + do_hdparm + done + + local count=0 + # of course, the sort approach would fail here if any of the + # host/bus/target/lun numbers reached 2 digits.. + for device in $(find /dev/ide -name generic | sort) ; do + eval args=\$generic${count}_args + do_hdparm + count=$((${count} + 1)) + done +} + +scan_nondevfs() { + # non-devfs compatible system + for device in /dev/hd* /dev/sd* ; do + [ -e "${device}" ] || continue + case "${device}" in + *[0-9]) continue ;; + /dev/hd*) extra_args="pata_all_args" ;; + /dev/sd*) extra_args="sata_all_args" ;; + *) extra_args="" ;; + esac + + # check that the block device really exists by + # opening it for reading + local errmsg= status= nomed=1 + errmsg=$(export LC_ALL=C ; : 2>&1 <"${device}") + status=$? + case ${errmsg} in + *": No medium found") nomed=0;; + esac + if [ -b "${device}" ] && [ "${status}" = "0" -o "${nomed}" = "0" ] ; then + local conf_var="${device##*/}_args" + eval args=\$${conf_var} + do_hdparm + fi + done +} + +start() { + if get_bootparam "nohdparm" ; then + ewarn "Skipping hdparm init as requested in kernel cmdline" + return 0 + fi + + if [ -e /dev/.devfsd -a -d /dev/ide ] ; then + scan_devfs + else + scan_nondevfs + fi +} diff --git a/testing/hexcurse/APKBUILD b/testing/hexcurse/APKBUILD new file mode 100644 index 0000000000..7bf023913b --- /dev/null +++ b/testing/hexcurse/APKBUILD @@ -0,0 +1,46 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: +pkgname=hexcurse +pkgver=1.55 +pkgrel=0 +pkgdesc="Versatile ncurses-based hex editor" +url="http://directory.fsf.org/project/HexCurse" +arch="all" +license="GPL" +depends= +depends_dev="ncurses-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-doc" +source="http://gd.tuwien.ac.at/opsys/linux/gentoo/distfiles/hexcurse-$pkgver.tar.gz + hexcurse-alloca.patch" + +_builddir="$srcdir"/hexcurse-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="c9f9485490300b5111aa429eabfef789 hexcurse-1.55.tar.gz +5aae74a76923ee8e4fe033e0aa381a82 hexcurse-alloca.patch" diff --git a/testing/hexcurse/hexcurse-alloca.patch b/testing/hexcurse/hexcurse-alloca.patch new file mode 100644 index 0000000000..2ea060f2d8 --- /dev/null +++ b/testing/hexcurse/hexcurse-alloca.patch @@ -0,0 +1,14 @@ +--- hexcurse/src/getopt.c 2002-03-21 17:55:54.000000000 +0100 ++++ hexcurse/src/getopt.c 2004-08-09 12:52:39.592951560 +0200 +@@ -36,8 +36,8 @@ + * enables hexcurse to be compiled with SGI's proprietary compiler */ + #ifdef _SGIAPI + #include <alloca.h> +-#else +-char *alloca (); ++//#else ++//char *alloca (); + #endif + #define __alloca alloca + /* end of modification */ + diff --git a/testing/hping3/APKBUILD b/testing/hping3/APKBUILD new file mode 100644 index 0000000000..c58c0e4a01 --- /dev/null +++ b/testing/hping3/APKBUILD @@ -0,0 +1,49 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=hping3 +pkgver=20051105 +pkgrel=2 +pkgdesc="A ping-like TCP/IP packet assembler/analyzer" +url="http://www.hping.org" +arch="all" +license="GPL" +depends="" +makedepends="libpcap-dev" +install= +subpackages="$pkgname-doc" +source="http://www.hping.org/$pkgname-$pkgver.tar.gz + hping3-bytesex.patch" + +_builddir="$srcdir/$pkgname-$pkgver" + +prepare() { + cd "$_builddir" + sed -i -e 's:net/bpf.h:pcap/bpf.h:' libpcap_stuff.c script.c || return 1 + + patch -p0 < "$srcdir"/hping3-bytesex.patch +} + +build() { + cd "$_builddir" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --no-tcl + + make || return 1 +} + +package() { + cd "$_builddir" + + install -m755 -D hping3 "$pkgdir"/usr/sbin/hping3 + ln -s hping3 "$pkgdir"/usr/sbin/hping + ln -s hping3 "$pkgdir"/usr/sbin/hping2 + install -m644 -D docs/hping2.8 "$pkgdir"/usr/share/man/man8/hping2.8 + install -m644 -D docs/hping3.8 "$pkgdir"/usr/share/man/man8/hping3.8 +} + +md5sums="ca4ea4e34bcc2162aedf25df8b2d1747 hping3-20051105.tar.gz +f2a6d31aa1694cfebe325929f832fd78 hping3-bytesex.patch" diff --git a/testing/hping3/hping3-bytesex.patch b/testing/hping3/hping3-bytesex.patch new file mode 100644 index 0000000000..b58d6ea66e --- /dev/null +++ b/testing/hping3/hping3-bytesex.patch @@ -0,0 +1,23 @@ +--- bytesex.h.orig 2003-08-31 19:23:48.000000000 +0200 ++++ bytesex.h 2009-05-25 09:40:31.000000000 +0200 +@@ -9,13 +9,19 @@ + + #if defined(__i386__) \ + || defined(__alpha__) \ ++ || defined(__x86_64__) \ ++ || defined(__ia64__) \ ++ || defined(__sh__) \ ++ || (defined(__arm__) && defined(__ARMEL__)) \ + || (defined(__mips__) && (defined(MIPSEL) || defined (__MIPSEL__))) + #define BYTE_ORDER_LITTLE_ENDIAN + #elif defined(__mc68000__) \ ++ || defined (__s390__) \ + || defined (__sparc__) \ + || defined (__sparc) \ + || defined (__PPC__) \ + || defined (__BIG_ENDIAN__) \ ++ || (defined(__arm__) && defined(__ARMEB__)) \ + || (defined(__mips__) && (defined(MIPSEB) || defined (__MIPSEB__))) + #define BYTE_ORDER_BIG_ENDIAN + #else + diff --git a/testing/html2ps/APKBUILD b/testing/html2ps/APKBUILD new file mode 100644 index 0000000000..c57f659c6a --- /dev/null +++ b/testing/html2ps/APKBUILD @@ -0,0 +1,32 @@ +# Contributor: +# Maintainer: +pkgname=html2ps +pkgver=1.0b5 +pkgrel=0 +pkgdesc="Perl version of html2ps" +url="http://user.it.uu.se/~jan/html2ps.html" +arch="all" +license="GPL" +depends="perl wget imagemagick" +makedepends="" +install= +subpackages="$pkgname-doc" +source="http://user.it.uu.se/~jan/$pkgname-$pkgver.tar.gz + html2ps-conf.patch" + +build() { + cd "$srcdir"/$pkgname-$pkgver + for i in ../*.patch; do + msg "Applying $i" + patch < $i || return 1 + done + mv install install.sh + + install -m755 -D "$srcdir"/$pkgname-$pkgver/html2ps "$pkgdir"/usr/bin/html2ps + install -m644 -D "$srcdir"/$pkgname-$pkgver/sample "$pkgdir"/etc/html2ps.conf + install -m644 -D "$srcdir"/$pkgname-$pkgver/html2ps.1 "$pkgdir"/usr/share/man/man1/html2ps.1 + install -m644 -D "$srcdir"/$pkgname-$pkgver/html2psrc.5 "$pkgdir"/usr/share/man/man5/html2psrc.5 +} + +md5sums="0998fefa4c8f9a04c88cfac7a83df629 html2ps-1.0b5.tar.gz +336a9e908578aeee303660a083b58c03 html2ps-conf.patch" diff --git a/testing/html2ps/html2ps-conf.patch b/testing/html2ps/html2ps-conf.patch new file mode 100644 index 0000000000..e96e1e1e8d --- /dev/null +++ b/testing/html2ps/html2ps-conf.patch @@ -0,0 +1,11 @@ +--- html2ps-1.0b5.orig/html2ps Wed Aug 5 19:54:09 2009 ++++ html2ps-1.0b5/html2ps Wed Aug 5 19:54:34 2009 +@@ -26,7 +26,7 @@ + # Set the name of the global configuration file. See the installation notes + # and manual page for more details on configuration files. + +-$globrc='/opt/misc/lib/html2ps/html2psrc'; ++$globrc='/etc/html2ps.conf'; + $ug='/opt/misc/lib/html2ps/html2ps.html'; + + $conf=<<'EOR'; diff --git a/testing/ices/APKBUILD b/testing/ices/APKBUILD new file mode 100644 index 0000000000..574954b3bd --- /dev/null +++ b/testing/ices/APKBUILD @@ -0,0 +1,33 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=ices +pkgver=0.4 +pkgrel=2 +pkgdesc="Source client for broadcasting in MP3 format to an icecast2 server" +url="http://icecast.org/ices.php" +arch="all" +license="GPL" +depends="" +depends_dev="libogg-dev libxml2-dev libvorbis-dev libshout-dev alsa-lib-dev lame-dev perl-dev python-dev libxml2-dev" +makedepends="$depends_dev" +install="" +subpackages="" +source="http://downloads.us.xiph.org/releases/ices/$pkgname-$pkgver.tar.gz" +_builddir=$srcdir/$pkgname-$pkgver +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --with-lame \ + --with-vorbis \ + --with-python \ + --with-perl + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + install -m644 -D conf/$pkgname.conf.dist "$pkgdir"/etc/$pkgname/$pkgname.conf +} + +md5sums="d31450c4011561dae0229f071cb41cb6 ices-0.4.tar.gz" diff --git a/testing/ices2/APKBUILD b/testing/ices2/APKBUILD new file mode 100644 index 0000000000..154513999a --- /dev/null +++ b/testing/ices2/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=ices2 +_pkgname=ices +pkgver=2.0.1 +pkgrel=3 +pkgdesc="source client for broadcasting in Ogg Vorbis format to an icecast2 server." +url="http://icecast.org/ices.php" +arch="all" +license="GPL" +depends= +depends_dev="libogg-dev libxml2-dev libvorbis-dev libshout-dev alsa-lib-dev" +makedepends="$depends_dev" +install="" +subpackages="" +source="http://downloads.us.xiph.org/releases/ices/$_pkgname-$pkgver.tar.gz" +_builddir=$srcdir/$_pkgname-$pkgver +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --disable-sun-audio \ + --enable-alsa + make || return 1 +} +package() { + cd "$_builddir" + mkdir -p "$pkgdir"/etc/$pkgname + make DESTDIR="$pkgdir" install || return 1 + cd "$_builddir"/conf + for i in `ls *.xml`; do + install -m644 -D $i "$pkgdir"/etc/$pkgname/$i + done +} +md5sums="0d95ac34d59fed337028d5e7771076d8 ices-2.0.1.tar.gz" diff --git a/testing/ifupdown/APKBUILD b/testing/ifupdown/APKBUILD new file mode 100644 index 0000000000..503d92720e --- /dev/null +++ b/testing/ifupdown/APKBUILD @@ -0,0 +1,42 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=ifupdown +pkgver=0.6.10 +pkgrel=3 +pkgdesc="high level tools to configure network interfaces" +url="http://packages.debian.org/ifupdown" +arch="all" +license="GPL" +depends= +depends_dev= +makedepends="perl" +install="$pkgname.post-deinstall $pkgname.post-upgrade" +subpackages= +source="http://ftp.debian.org/pool/main/i/$pkgname/${pkgname}_$pkgver.tar.gz + ifupdown-busybox-compat.patch + ifupdown-alpine-ifstate.patch" + +_builddir="$srcdir/$pkgname-$pkgver" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + make || return 1 +} + +package() { + cd "$_builddir" + make BASEDIR="$pkgdir" install || return 1 +} + +md5sums="70db0d8caf06a17d65b612fa8919732b ifupdown_0.6.10.tar.gz +b0f42f7ce1a4f416eddaa304db2d270e ifupdown-busybox-compat.patch +486600edad1d9bf5b1a05bde421345e9 ifupdown-alpine-ifstate.patch" diff --git a/testing/ifupdown/ifupdown-alpine-ifstate.patch b/testing/ifupdown/ifupdown-alpine-ifstate.patch new file mode 100644 index 0000000000..ae00950819 --- /dev/null +++ b/testing/ifupdown/ifupdown-alpine-ifstate.patch @@ -0,0 +1,13 @@ +--- ifupdown-0.6.10.orig/main.c ++++ ifupdown-0.6.10/main.c +@@ -17,8 +17,8 @@ + #line 3166 "ifupdown.nw" + int no_act = 0; + int verbose = 0; +-char *statefile = "/etc/network/run/ifstate"; +-char *tmpstatefile = "/etc/network/run/.ifstate.tmp"; ++char *statefile = "/var/run/ifstate"; ++char *tmpstatefile = "/var/run/.ifstate.tmp"; + #line 3185 "ifupdown.nw" + static void usage(char *execname); + static void help(char *execname); diff --git a/testing/ifupdown/ifupdown-busybox-compat.patch b/testing/ifupdown/ifupdown-busybox-compat.patch new file mode 100644 index 0000000000..10d4ceeaab --- /dev/null +++ b/testing/ifupdown/ifupdown-busybox-compat.patch @@ -0,0 +1,38 @@ +--- ifupdown-0.6.10.orig/main.c ++++ ifupdown-0.6.10/main.c +@@ -61,7 +61,7 @@ + printf("\t\t\t\t(note that this option doesn't disable mappings)\n"); + printf("\t-v, --verbose\t\tprint out what would happen before doing it\n"); + printf("\t--no-mappings\t\tdon't run any mappings\n"); +- printf("\t--force\t\t\tforce de/configuration\n"); ++ printf("\t-f, --force\t\t\tforce de/configuration\n"); + exit(0); + } + #line 3573 "ifupdown.nw" +@@ -345,7 +345,7 @@ + {"exclude", required_argument, NULL, 'e'}, + {"no-act", no_argument, NULL, 'n'}, + {"no-mappings", no_argument, NULL, 1 }, +- {"force", no_argument, NULL, 2 }, ++ {"force", no_argument, NULL, 'f'}, + {0,0,0,0} + }; + #line 3173 "ifupdown.nw" +@@ -415,7 +415,7 @@ + #line 3235 "ifupdown.nw" + for(;;) { + int c; +- c = getopt_long(argc, argv, "e:s:i:hVvna", long_opts, NULL); ++ c = getopt_long(argc, argv, "e:s:i:hVvnaf", long_opts, NULL); + if (c == EOF) break; + + switch(c) { +@@ -445,7 +445,7 @@ + run_mappings = 0; + break; + #line 3283 "ifupdown.nw" +-case 2: ++case 'f': + force = 1; + break; + #line 3288 "ifupdown.nw" diff --git a/testing/ifupdown/ifupdown.post-deinstall b/testing/ifupdown/ifupdown.post-deinstall new file mode 100644 index 0000000000..99b57c4635 --- /dev/null +++ b/testing/ifupdown/ifupdown.post-deinstall @@ -0,0 +1,3 @@ +#!/bin/sh + +busybox --install -s diff --git a/testing/ifupdown/ifupdown.post-upgrade b/testing/ifupdown/ifupdown.post-upgrade new file mode 100644 index 0000000000..99b57c4635 --- /dev/null +++ b/testing/ifupdown/ifupdown.post-upgrade @@ -0,0 +1,3 @@ +#!/bin/sh + +busybox --install -s diff --git a/testing/imagination/APKBUILD b/testing/imagination/APKBUILD new file mode 100644 index 0000000000..28104e612d --- /dev/null +++ b/testing/imagination/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=imagination +pkgver=3.0 +pkgrel=0 +pkgdesc="Lightweight and simple DVD slide show maker" +url="http://imagination.sourceforge.net/" +arch="all" +license="GPL3" +depends= +makedepends="gtk+-dev ffmpeg-dev sox-dev docbook-xsl" +install="" +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/project/imagination/imagination/$pkgver/imagination-$pkgver.tar.gz" + +_builddir="$srcdir"/imagination-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm -f "$pkgdir"/usr/lib/*.la \ + "$pkgdir"/usr/lib/imagination/*.la +} + +md5sums="ec7e6cf234020801a2af0fa04cfefef1 imagination-3.0.tar.gz" diff --git a/testing/imake/APKBUILD b/testing/imake/APKBUILD new file mode 100644 index 0000000000..64704c637a --- /dev/null +++ b/testing/imake/APKBUILD @@ -0,0 +1,40 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=imake +pkgver=1.0.4 +pkgrel=0 +pkgdesc="X Windows make utility" +url="http://www.x.org" +arch="all" +license="custom" +depends= +depends_dev= +makedepends="xproto util-macros $depends_dev" +install="" +#subpackages="$pkgname-dev $pkgname-doc" +source="http://ftp.x.org/pub/individual/util/$pkgname-$pkgver.tar.gz" + +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure || make || return 1 +} + +package() { + echo "PACKAGE stage" + echo "pkgdir = $pkgdir" + cd "$_builddir" + pwd + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="0fd1e53d94142ddee5340f87de0b9561 imake-1.0.4.tar.gz" diff --git a/testing/imapproxy/APKBUILD b/testing/imapproxy/APKBUILD new file mode 100644 index 0000000000..899e357578 --- /dev/null +++ b/testing/imapproxy/APKBUILD @@ -0,0 +1,42 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=imapproxy +pkgver=1.2.7 +pkgrel=0 +pkgdesc="session pooling imap proxy" +url="http://imapproxy.org" +arch="all" +license="GPL-2" +depends= +makedepends="ncurses-dev openssl-dev" +install= +subpackages= +source="http://prdownloads.sourceforge.net/squirrelmail/squirrelmail-imap_proxy-$pkgver.tar.bz2" + +_builddir="$srcdir/squirrelmail-imap_proxy-$pkgver" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make EBIN="$pkgdir"/usr/sbin install || return 1 +} + +md5sums="c46524414a2375310557686e723bd120 squirrelmail-imap_proxy-1.2.7.tar.bz2" diff --git a/testing/inotify-tools/APKBUILD b/testing/inotify-tools/APKBUILD new file mode 100644 index 0000000000..82bb0baabb --- /dev/null +++ b/testing/inotify-tools/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: +# Maintainer: Leonardo Arena <rnalrd@gmail.com> +pkgname="inotify-tools" +pkgver=3.14 +pkgrel=1 +pkgdesc="C library and CLI tools providing a simple interface to inotify" +url="http://github.com/rvoicilas/inotify-tools" +arch="all" +license="GPL" +depends= +makedepends="wget" +install= +subpackages="$pkgname-dev $pkgname-doc" +source="https://github.com/downloads/rvoicilas/$pkgname/$pkgname-$pkgver.tar.gz" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + # apply patches here + return 0 +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la || return 1 +} + +md5sums="b43d95a0fa8c45f8bab3aec9672cf30c inotify-tools-3.14.tar.gz" diff --git a/testing/iproute2/0001-xfrm-mark.patch b/testing/iproute2/0001-xfrm-mark.patch new file mode 100644 index 0000000000..9d8f1bfac6 --- /dev/null +++ b/testing/iproute2/0001-xfrm-mark.patch @@ -0,0 +1,401 @@ +From d7cdb7750c80071fd2176d9e2c78e2e5052a2ac7 Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Tue, 23 Feb 2010 16:08:17 +0000 +Subject: [PATCH] xfrm mark + +--- + include/linux/xfrm.h | 6 ++++ + ip/ipxfrm.c | 40 +++++++++++++++++++++++++++ + ip/xfrm.h | 1 + + ip/xfrm_policy.c | 38 ++++++++++++++++++++++++- + ip/xfrm_state.c | 74 ++++++++++++++++++++++++++++++++++++++++--------- + 5 files changed, 143 insertions(+), 16 deletions(-) + +diff --git a/include/linux/xfrm.h b/include/linux/xfrm.h +index a59bc4a..5cc2dd2 100644 +--- a/include/linux/xfrm.h ++++ b/include/linux/xfrm.h +@@ -283,11 +283,17 @@ enum xfrm_attr_type_t { + XFRMA_MIGRATE, + XFRMA_ALG_AEAD, /* struct xfrm_algo_aead */ + XFRMA_KMADDRESS, /* struct xfrm_user_kmaddress */ ++ XFRMA_MARK, + __XFRMA_MAX + + #define XFRMA_MAX (__XFRMA_MAX - 1) + }; + ++struct xfrm_umark { ++ __u32 v; /* value */ ++ __u32 m; /* mask */ ++}; ++ + enum xfrm_sadattr_type_t { + XFRMA_SAD_UNSPEC, + XFRMA_SAD_CNT, +diff --git a/ip/ipxfrm.c b/ip/ipxfrm.c +index 18250de..8250ec1 100644 +--- a/ip/ipxfrm.c ++++ b/ip/ipxfrm.c +@@ -629,9 +629,48 @@ static void xfrm_tmpl_print(struct xfrm_user_tmpl *tmpls, int len, + } + } + ++int xfrm_parse_mark(struct xfrm_umark *mark, int *argcp, char ***argvp) ++{ ++ int argc = *argcp; ++ char **argv = *argvp; ++ ++ NEXT_ARG(); ++ if (get_u32(&mark->v, *argv, 0)) { ++ invarg("Illegal \"mark\" value\n", *argv); ++ } ++ if (argc > 1) ++ NEXT_ARG(); ++ else { /* last entry on parse line */ ++ mark->m = 0xffffffff; ++ goto done; ++ } ++ ++ if (strcmp(*argv, "mask") == 0) { ++ NEXT_ARG(); ++ if (get_u32(&mark->m, *argv, 0)) { ++ invarg("Illegal \"mark\" mask\n", *argv); ++ } ++ } else { ++ mark->m = 0xffffffff; ++ PREV_ARG(); ++ } ++ ++done: ++ *argcp = argc; ++ *argvp = argv; ++ ++ return 0; ++} ++ + void xfrm_xfrma_print(struct rtattr *tb[], __u16 family, + FILE *fp, const char *prefix) + { ++ if (tb[XFRMA_MARK]) { ++ struct rtattr *rta = tb[XFRMA_MARK]; ++ struct xfrm_umark *m = (struct xfrm_umark *) RTA_DATA(rta); ++ fprintf(fp, "\tmark %d/0x%x\n", m->v, m->m); ++ } ++ + if (tb[XFRMA_ALG_AUTH]) { + struct rtattr *rta = tb[XFRMA_ALG_AUTH]; + xfrm_algo_print((struct xfrm_algo *) RTA_DATA(rta), +@@ -740,6 +779,7 @@ void xfrm_xfrma_print(struct rtattr *tb[], __u16 family, + fprintf(fp, "%s", strxf_time(lastused)); + fprintf(fp, "%s", _SL_); + } ++ + } + + static int xfrm_selector_iszero(struct xfrm_selector *s) +diff --git a/ip/xfrm.h b/ip/xfrm.h +index 104fb20..ab03b19 100644 +--- a/ip/xfrm.h ++++ b/ip/xfrm.h +@@ -121,6 +121,7 @@ int xfrm_xfrmproto_is_ipsec(__u8 proto); + int xfrm_xfrmproto_is_ro(__u8 proto); + int xfrm_xfrmproto_getbyname(char *name); + int xfrm_algotype_getbyname(char *name); ++int xfrm_parse_mark(struct xfrm_umark *mark, int *argcp, char ***argvp); + const char *strxf_xfrmproto(__u8 proto); + const char *strxf_algotype(int type); + const char *strxf_mask8(__u8 mask); +diff --git a/ip/xfrm_policy.c b/ip/xfrm_policy.c +index 11116e5..5b5bafa 100644 +--- a/ip/xfrm_policy.c ++++ b/ip/xfrm_policy.c +@@ -54,8 +54,8 @@ static void usage(void) __attribute__((noreturn)); + static void usage(void) + { + fprintf(stderr, "Usage: ip xfrm policy { add | update } dir DIR SELECTOR [ index INDEX ] [ ptype PTYPE ]\n"); +- fprintf(stderr, " [ action ACTION ] [ priority PRIORITY ] [ flag FLAG-LIST ] [ LIMIT-LIST ] [ TMPL-LIST ]\n"); +- fprintf(stderr, "Usage: ip xfrm policy { delete | get } dir DIR [ SELECTOR | index INDEX ] [ ptype PTYPE ]\n"); ++ fprintf(stderr, " [ action ACTION ] [ priority PRIORITY ] [ flag FLAG-LIST ] [ LIMIT-LIST ] [ TMPL-LIST ] [mark MARK [mask MASK]]\n"); ++ fprintf(stderr, "Usage: ip xfrm policy { delete | get } dir DIR [ SELECTOR | index INDEX ] [ ptype PTYPE ] [mark MARK [mask MASK]]\n"); + fprintf(stderr, "Usage: ip xfrm policy { deleteall | list } [ dir DIR ] [ SELECTOR ]\n"); + fprintf(stderr, " [ index INDEX ] [ action ACTION ] [ priority PRIORITY ] [ flag FLAG-LIST ]\n"); + fprintf(stderr, "Usage: ip xfrm policy flush [ ptype PTYPE ]\n"); +@@ -235,6 +235,7 @@ static int xfrm_policy_modify(int cmd, unsigned flags, int argc, char **argv) + struct xfrm_userpolicy_type upt; + char tmpls_buf[XFRM_TMPLS_BUF_SIZE]; + int tmpls_len = 0; ++ struct xfrm_umark mark = {0, 0}; + + memset(&req, 0, sizeof(req)); + memset(&upt, 0, sizeof(upt)); +@@ -258,6 +259,8 @@ static int xfrm_policy_modify(int cmd, unsigned flags, int argc, char **argv) + + NEXT_ARG(); + xfrm_policy_dir_parse(&req.xpinfo.dir, &argc, &argv); ++ } else if (strcmp(*argv, "mark") == 0) { ++ xfrm_parse_mark(&mark, &argc, &argv); + } else if (strcmp(*argv, "index") == 0) { + NEXT_ARG(); + if (get_u32(&req.xpinfo.index, *argv, 0)) +@@ -334,6 +337,16 @@ static int xfrm_policy_modify(int cmd, unsigned flags, int argc, char **argv) + (void *)tmpls_buf, tmpls_len); + } + ++ if (mark.m & mark.v) { ++ int r = addattr_l(&req.n, sizeof(req.buf), XFRMA_MARK, ++ (void *)&mark, sizeof(mark)); ++ if (r < 0) { ++ fprintf(stderr, "%s: XFRMA_MARK failed\n",__func__); ++ exit(1); ++ } ++ } ++ ++ + if (rtnl_open_byproto(&rth, 0, NETLINK_XFRM) < 0) + exit(1); + +@@ -515,6 +528,7 @@ static int xfrm_policy_get_or_delete(int argc, char **argv, int delete, + char *indexp = NULL; + char *ptypep = NULL; + struct xfrm_userpolicy_type upt; ++ struct xfrm_umark mark = {0, 0}; + + memset(&req, 0, sizeof(req)); + memset(&upt, 0, sizeof(upt)); +@@ -532,6 +546,8 @@ static int xfrm_policy_get_or_delete(int argc, char **argv, int delete, + NEXT_ARG(); + xfrm_policy_dir_parse(&req.xpid.dir, &argc, &argv); + ++ } else if (strcmp(*argv, "mark") == 0) { ++ xfrm_parse_mark(&mark, &argc, &argv); + } else if (strcmp(*argv, "index") == 0) { + if (indexp) + duparg("index", *argv); +@@ -584,6 +600,15 @@ static int xfrm_policy_get_or_delete(int argc, char **argv, int delete, + if (req.xpid.sel.family == AF_UNSPEC) + req.xpid.sel.family = AF_INET; + ++ if (mark.m & mark.v) { ++ int r = addattr_l(&req.n, sizeof(req.buf), XFRMA_MARK, ++ (void *)&mark, sizeof(mark)); ++ if (r < 0) { ++ fprintf(stderr, "%s: XFRMA_MARK failed\n",__func__); ++ exit(1); ++ } ++ } ++ + if (rtnl_talk(&rth, &req.n, 0, 0, res_nlbuf, NULL, NULL) < 0) + exit(2); + +@@ -951,26 +976,35 @@ static int xfrm_policy_flush(int argc, char **argv) + + int do_xfrm_policy(int argc, char **argv) + { ++//Needs testing .. + if (argc < 1) + return xfrm_policy_list_or_deleteall(0, NULL, 0); + ++//should work + if (matches(*argv, "add") == 0) + return xfrm_policy_modify(XFRM_MSG_NEWPOLICY, 0, + argc-1, argv+1); ++//should work + if (matches(*argv, "update") == 0) + return xfrm_policy_modify(XFRM_MSG_UPDPOLICY, 0, + argc-1, argv+1); ++//should work + if (matches(*argv, "delete") == 0) + return xfrm_policy_delete(argc-1, argv+1); ++//Needs fixing .. + if (matches(*argv, "deleteall") == 0 || matches(*argv, "delall") == 0) + return xfrm_policy_list_or_deleteall(argc-1, argv+1, 1); ++//should work + if (matches(*argv, "list") == 0 || matches(*argv, "show") == 0 + || matches(*argv, "lst") == 0) + return xfrm_policy_list_or_deleteall(argc-1, argv+1, 0); ++//should work + if (matches(*argv, "get") == 0) + return xfrm_policy_get(argc-1, argv+1); ++//should work + if (matches(*argv, "flush") == 0) + return xfrm_policy_flush(argc-1, argv+1); ++//should work + if (matches(*argv, "count") == 0) + return xfrm_spd_getinfo(argc, argv); + if (matches(*argv, "help") == 0) +diff --git a/ip/xfrm_state.c b/ip/xfrm_state.c +index b1e3f22..d645c18 100644 +--- a/ip/xfrm_state.c ++++ b/ip/xfrm_state.c +@@ -67,7 +67,7 @@ static void usage(void) + fprintf(stderr, "Usage: ip xfrm state flush [ proto XFRM_PROTO ]\n"); + fprintf(stderr, "Usage: ip xfrm state count \n"); + +- fprintf(stderr, "ID := [ src ADDR ] [ dst ADDR ] [ proto XFRM_PROTO ] [ spi SPI ]\n"); ++ fprintf(stderr, "ID := [ src ADDR ] [ dst ADDR ] [ proto XFRM_PROTO ] [ spi SPI ] [mark MARK [mask MASK]]\n"); + //fprintf(stderr, "XFRM_PROTO := [ esp | ah | comp ]\n"); + fprintf(stderr, "XFRM_PROTO := [ "); + fprintf(stderr, "%s | ", strxf_xfrmproto(IPPROTO_ESP)); +@@ -242,6 +242,7 @@ static int xfrm_state_modify(int cmd, unsigned flags, int argc, char **argv) + char *aalgop = NULL; + char *calgop = NULL; + char *coap = NULL; ++ struct xfrm_umark mark = {0, 0}; + + memset(&req, 0, sizeof(req)); + memset(&replay, 0, sizeof(replay)); +@@ -260,6 +261,8 @@ static int xfrm_state_modify(int cmd, unsigned flags, int argc, char **argv) + if (strcmp(*argv, "mode") == 0) { + NEXT_ARG(); + xfrm_mode_parse(&req.xsinfo.mode, &argc, &argv); ++ } else if (strcmp(*argv, "mark") == 0) { ++ xfrm_parse_mark(&mark, &argc, &argv); + } else if (strcmp(*argv, "reqid") == 0) { + NEXT_ARG(); + xfrm_reqid_parse(&req.xsinfo.reqid, &argc, &argv); +@@ -436,6 +439,15 @@ parse_algo: + exit(1); + } + ++ if (mark.m & mark.v) { ++ int r = addattr_l(&req.n, sizeof(req.buf), XFRMA_MARK, ++ (void *)&mark, sizeof(mark)); ++ if (r < 0) { ++ fprintf(stderr, "XFRMA_MARK failed\n"); ++ exit(1); ++ } ++ } ++ + switch (req.xsinfo.mode) { + case XFRM_MODE_TRANSPORT: + case XFRM_MODE_TUNNEL: +@@ -515,6 +527,7 @@ static int xfrm_state_allocspi(int argc, char **argv) + char *idp = NULL; + char *minp = NULL; + char *maxp = NULL; ++ struct xfrm_umark mark = {0, 0}; + char res_buf[NLMSG_BUF_SIZE]; + struct nlmsghdr *res_n = (struct nlmsghdr *)res_buf; + +@@ -538,6 +551,8 @@ static int xfrm_state_allocspi(int argc, char **argv) + if (strcmp(*argv, "mode") == 0) { + NEXT_ARG(); + xfrm_mode_parse(&req.xspi.info.mode, &argc, &argv); ++ } else if (strcmp(*argv, "mark") == 0) { ++ xfrm_parse_mark(&mark, &argc, &argv); + } else if (strcmp(*argv, "reqid") == 0) { + NEXT_ARG(); + xfrm_reqid_parse(&req.xspi.info.reqid, &argc, &argv); +@@ -614,6 +629,15 @@ static int xfrm_state_allocspi(int argc, char **argv) + req.xspi.max = 0xffff; + } + ++ if (mark.m & mark.v) { ++ int r = addattr_l(&req.n, sizeof(req.buf), XFRMA_MARK, ++ (void *)&mark, sizeof(mark)); ++ if (r < 0) { ++ fprintf(stderr, "XFRMA_MARK failed\n"); ++ exit(1); ++ } ++ } ++ + if (rtnl_open_byproto(&rth, 0, NETLINK_XFRM) < 0) + exit(1); + +@@ -759,6 +783,7 @@ static int xfrm_state_get_or_delete(int argc, char **argv, int delete) + } req; + struct xfrm_id id; + char *idp = NULL; ++ struct xfrm_umark mark = {0, 0}; + + memset(&req, 0, sizeof(req)); + +@@ -770,26 +795,39 @@ static int xfrm_state_get_or_delete(int argc, char **argv, int delete) + while (argc > 0) { + xfrm_address_t saddr; + +- if (idp) +- invarg("unknown", *argv); +- idp = *argv; ++ if (strcmp(*argv, "mark") == 0) { ++ xfrm_parse_mark(&mark, &argc, &argv); ++ } else { ++ if (idp) ++ invarg("unknown", *argv); ++ idp = *argv; + +- /* ID */ +- memset(&id, 0, sizeof(id)); +- memset(&saddr, 0, sizeof(saddr)); +- xfrm_id_parse(&saddr, &id, &req.xsid.family, 0, +- &argc, &argv); ++ /* ID */ ++ memset(&id, 0, sizeof(id)); ++ memset(&saddr, 0, sizeof(saddr)); ++ xfrm_id_parse(&saddr, &id, &req.xsid.family, 0, ++ &argc, &argv); + +- memcpy(&req.xsid.daddr, &id.daddr, sizeof(req.xsid.daddr)); +- req.xsid.spi = id.spi; +- req.xsid.proto = id.proto; ++ memcpy(&req.xsid.daddr, &id.daddr, sizeof(req.xsid.daddr)); ++ req.xsid.spi = id.spi; ++ req.xsid.proto = id.proto; + +- addattr_l(&req.n, sizeof(req.buf), XFRMA_SRCADDR, +- (void *)&saddr, sizeof(saddr)); ++ addattr_l(&req.n, sizeof(req.buf), XFRMA_SRCADDR, ++ (void *)&saddr, sizeof(saddr)); ++ } + + argc--; argv++; + } + ++ if (mark.m & mark.v) { ++ int r = addattr_l(&req.n, sizeof(req.buf), XFRMA_MARK, ++ (void *)&mark, sizeof(mark)); ++ if (r < 0) { ++ fprintf(stderr, "XFRMA_MARK failed\n"); ++ exit(1); ++ } ++ } ++ + if (rtnl_open_byproto(&rth, 0, NETLINK_XFRM) < 0) + exit(1); + +@@ -1113,23 +1151,31 @@ int do_xfrm_state(int argc, char **argv) + if (argc < 1) + return xfrm_state_list_or_deleteall(0, NULL, 0); + ++ //XXX: should work + if (matches(*argv, "add") == 0) + return xfrm_state_modify(XFRM_MSG_NEWSA, 0, + argc-1, argv+1); ++ //XXX: should work + if (matches(*argv, "update") == 0) + return xfrm_state_modify(XFRM_MSG_UPDSA, 0, + argc-1, argv+1); ++ //XXX: should work + if (matches(*argv, "allocspi") == 0) + return xfrm_state_allocspi(argc-1, argv+1); ++ //XXX: should work + if (matches(*argv, "delete") == 0) + return xfrm_state_get_or_delete(argc-1, argv+1, 1); ++ //XXX: needs testing .. + if (matches(*argv, "deleteall") == 0 || matches(*argv, "delall") == 0) + return xfrm_state_list_or_deleteall(argc-1, argv+1, 1); ++ //XXX: should work + if (matches(*argv, "list") == 0 || matches(*argv, "show") == 0 + || matches(*argv, "lst") == 0) + return xfrm_state_list_or_deleteall(argc-1, argv+1, 0); ++ //XXX: should work + if (matches(*argv, "get") == 0) + return xfrm_state_get_or_delete(argc-1, argv+1, 0); ++ //XXX: should work + if (matches(*argv, "flush") == 0) + return xfrm_state_flush(argc-1, argv+1); + if (matches(*argv, "count") == 0) { +-- +1.6.6.1 + diff --git a/testing/iproute2/2.patch b/testing/iproute2/2.patch new file mode 100644 index 0000000000..57621bc654 --- /dev/null +++ b/testing/iproute2/2.patch @@ -0,0 +1,363 @@ +diff --git a/ip/ipxfrm.c b/ip/ipxfrm.c +index 7dc36f3..0aaf97a 100644 +--- a/ip/ipxfrm.c ++++ b/ip/ipxfrm.c +@@ -629,9 +629,48 @@ static void xfrm_tmpl_print(struct xfrm_user_tmpl *tmpls, int len, + } + } + ++int xfrm_parse_mark(struct xfrm_umark *mark, int *argcp, char ***argvp) ++{ ++ int argc = *argcp; ++ char **argv = *argvp; ++ ++ NEXT_ARG(); ++ if (get_u32(&mark->v, *argv, 0)) { ++ invarg("Illegal \"mark\" value\n", *argv); ++ } ++ if (argc > 1) ++ NEXT_ARG(); ++ else { /* last entry on parse line */ ++ mark->m = 0xffffffff; ++ goto done; ++ } ++ ++ if (strcmp(*argv, "mask") == 0) { ++ NEXT_ARG(); ++ if (get_u32(&mark->m, *argv, 0)) { ++ invarg("Illegal \"mark\" mask\n", *argv); ++ } ++ } else { ++ mark->m = 0xffffffff; ++ PREV_ARG(); ++ } ++ ++done: ++ *argcp = argc; ++ *argvp = argv; ++ ++ return 0; ++} ++ + void xfrm_xfrma_print(struct rtattr *tb[], __u16 family, + FILE *fp, const char *prefix) + { ++ if (tb[XFRMA_MARK]) { ++ struct rtattr *rta = tb[XFRMA_MARK]; ++ struct xfrm_umark *m = (struct xfrm_umark *) RTA_DATA(rta); ++ fprintf(fp, "\tmark %d/0x%x\n", m->v, m->m); ++ } ++ + if (tb[XFRMA_ALG_AUTH]) { + struct rtattr *rta = tb[XFRMA_ALG_AUTH]; + xfrm_algo_print((struct xfrm_algo *) RTA_DATA(rta), +@@ -740,6 +779,7 @@ void xfrm_xfrma_print(struct rtattr *tb[], __u16 family, + fprintf(fp, "%s", strxf_time(lastused)); + fprintf(fp, "%s", _SL_); + } ++ + } + + static int xfrm_selector_iszero(struct xfrm_selector *s) +diff --git a/ip/xfrm.h b/ip/xfrm.h +index 104fb20..ab03b19 100644 +--- a/ip/xfrm.h ++++ b/ip/xfrm.h +@@ -121,6 +121,7 @@ int xfrm_xfrmproto_is_ipsec(__u8 proto); + int xfrm_xfrmproto_is_ro(__u8 proto); + int xfrm_xfrmproto_getbyname(char *name); + int xfrm_algotype_getbyname(char *name); ++int xfrm_parse_mark(struct xfrm_umark *mark, int *argcp, char ***argvp); + const char *strxf_xfrmproto(__u8 proto); + const char *strxf_algotype(int type); + const char *strxf_mask8(__u8 mask); +diff --git a/ip/xfrm_policy.c b/ip/xfrm_policy.c +index 2788477..7cdf0b6 100644 +--- a/ip/xfrm_policy.c ++++ b/ip/xfrm_policy.c +@@ -54,8 +54,8 @@ static void usage(void) __attribute__((noreturn)); + static void usage(void) + { + fprintf(stderr, "Usage: ip xfrm policy { add | update } dir DIR SELECTOR [ index INDEX ] [ ptype PTYPE ]\n"); +- fprintf(stderr, " [ action ACTION ] [ priority PRIORITY ] [ flag FLAG-LIST ] [ LIMIT-LIST ] [ TMPL-LIST ]\n"); +- fprintf(stderr, "Usage: ip xfrm policy { delete | get } dir DIR [ SELECTOR | index INDEX ] [ ptype PTYPE ]\n"); ++ fprintf(stderr, " [ action ACTION ] [ priority PRIORITY ] [ flag FLAG-LIST ] [ LIMIT-LIST ] [ TMPL-LIST ] [mark MARK [mask MASK]]\n"); ++ fprintf(stderr, "Usage: ip xfrm policy { delete | get } dir DIR [ SELECTOR | index INDEX ] [ ptype PTYPE ] [mark MARK [mask MASK]]\n"); + fprintf(stderr, "Usage: ip xfrm policy { deleteall | list } [ dir DIR ] [ SELECTOR ]\n"); + fprintf(stderr, " [ index INDEX ] [ action ACTION ] [ priority PRIORITY ] [ flag FLAG-LIST ]\n"); + fprintf(stderr, "Usage: ip xfrm policy flush [ ptype PTYPE ]\n"); +@@ -235,6 +235,7 @@ static int xfrm_policy_modify(int cmd, unsigned flags, int argc, char **argv) + struct xfrm_userpolicy_type upt; + char tmpls_buf[XFRM_TMPLS_BUF_SIZE]; + int tmpls_len = 0; ++ struct xfrm_umark mark = {0, 0}; + + memset(&req, 0, sizeof(req)); + memset(&upt, 0, sizeof(upt)); +@@ -258,6 +259,8 @@ static int xfrm_policy_modify(int cmd, unsigned flags, int argc, char **argv) + + NEXT_ARG(); + xfrm_policy_dir_parse(&req.xpinfo.dir, &argc, &argv); ++ } else if (strcmp(*argv, "mark") == 0) { ++ xfrm_parse_mark(&mark, &argc, &argv); + } else if (strcmp(*argv, "index") == 0) { + NEXT_ARG(); + if (get_u32(&req.xpinfo.index, *argv, 0)) +@@ -334,6 +337,16 @@ static int xfrm_policy_modify(int cmd, unsigned flags, int argc, char **argv) + (void *)tmpls_buf, tmpls_len); + } + ++ if (mark.m & mark.v) { ++ int r = addattr_l(&req.n, sizeof(req.buf), XFRMA_MARK, ++ (void *)&mark, sizeof(mark)); ++ if (r < 0) { ++ fprintf(stderr, "%s: XFRMA_MARK failed\n",__func__); ++ exit(1); ++ } ++ } ++ ++ + if (rtnl_open_byproto(&rth, 0, NETLINK_XFRM) < 0) + exit(1); + +@@ -515,6 +528,7 @@ static int xfrm_policy_get_or_delete(int argc, char **argv, int delete, + char *indexp = NULL; + char *ptypep = NULL; + struct xfrm_userpolicy_type upt; ++ struct xfrm_umark mark = {0, 0}; + + memset(&req, 0, sizeof(req)); + memset(&upt, 0, sizeof(upt)); +@@ -532,6 +546,8 @@ static int xfrm_policy_get_or_delete(int argc, char **argv, int delete, + NEXT_ARG(); + xfrm_policy_dir_parse(&req.xpid.dir, &argc, &argv); + ++ } else if (strcmp(*argv, "mark") == 0) { ++ xfrm_parse_mark(&mark, &argc, &argv); + } else if (strcmp(*argv, "index") == 0) { + if (indexp) + duparg("index", *argv); +@@ -584,6 +600,15 @@ static int xfrm_policy_get_or_delete(int argc, char **argv, int delete, + if (req.xpid.sel.family == AF_UNSPEC) + req.xpid.sel.family = AF_INET; + ++ if (mark.m & mark.v) { ++ int r = addattr_l(&req.n, sizeof(req.buf), XFRMA_MARK, ++ (void *)&mark, sizeof(mark)); ++ if (r < 0) { ++ fprintf(stderr, "%s: XFRMA_MARK failed\n",__func__); ++ exit(1); ++ } ++ } ++ + if (rtnl_talk(&rth, &req.n, 0, 0, res_nlbuf, NULL, NULL) < 0) + exit(2); + +@@ -951,26 +976,35 @@ static int xfrm_policy_flush(int argc, char **argv) + + int do_xfrm_policy(int argc, char **argv) + { ++//Needs testing .. + if (argc < 1) + return xfrm_policy_list_or_deleteall(0, NULL, 0); + ++//should work + if (matches(*argv, "add") == 0) + return xfrm_policy_modify(XFRM_MSG_NEWPOLICY, 0, + argc-1, argv+1); ++//should work + if (matches(*argv, "update") == 0) + return xfrm_policy_modify(XFRM_MSG_UPDPOLICY, 0, + argc-1, argv+1); ++//should work + if (matches(*argv, "delete") == 0) + return xfrm_policy_delete(argc-1, argv+1); ++//Needs fixing .. + if (matches(*argv, "deleteall") == 0 || matches(*argv, "delall") == 0) + return xfrm_policy_list_or_deleteall(argc-1, argv+1, 1); ++//should work + if (matches(*argv, "list") == 0 || matches(*argv, "show") == 0 + || matches(*argv, "lst") == 0) + return xfrm_policy_list_or_deleteall(argc-1, argv+1, 0); ++//should work + if (matches(*argv, "get") == 0) + return xfrm_policy_get(argc-1, argv+1); ++//should work + if (matches(*argv, "flush") == 0) + return xfrm_policy_flush(argc-1, argv+1); ++//should work + if (matches(*argv, "count") == 0) + return xfrm_spd_getinfo(argc, argv); + if (matches(*argv, "help") == 0) +diff --git a/ip/xfrm_state.c b/ip/xfrm_state.c +index 32238ab..4255d25 100644 +--- a/ip/xfrm_state.c ++++ b/ip/xfrm_state.c +@@ -67,7 +67,7 @@ static void usage(void) + fprintf(stderr, "Usage: ip xfrm state flush [ proto XFRM_PROTO ]\n"); + fprintf(stderr, "Usage: ip xfrm state count \n"); + +- fprintf(stderr, "ID := [ src ADDR ] [ dst ADDR ] [ proto XFRM_PROTO ] [ spi SPI ]\n"); ++ fprintf(stderr, "ID := [ src ADDR ] [ dst ADDR ] [ proto XFRM_PROTO ] [ spi SPI ] [mark MARK [mask MASK]]\n"); + //fprintf(stderr, "XFRM_PROTO := [ esp | ah | comp ]\n"); + fprintf(stderr, "XFRM_PROTO := [ "); + fprintf(stderr, "%s | ", strxf_xfrmproto(IPPROTO_ESP)); +@@ -246,6 +246,7 @@ static int xfrm_state_modify(int cmd, unsigned flags, int argc, char **argv) + char *aalgop = NULL; + char *calgop = NULL; + char *coap = NULL; ++ struct xfrm_umark mark = {0, 0}; + + memset(&req, 0, sizeof(req)); + memset(&replay, 0, sizeof(replay)); +@@ -264,6 +265,8 @@ static int xfrm_state_modify(int cmd, unsigned flags, int argc, char **argv) + if (strcmp(*argv, "mode") == 0) { + NEXT_ARG(); + xfrm_mode_parse(&req.xsinfo.mode, &argc, &argv); ++ } else if (strcmp(*argv, "mark") == 0) { ++ xfrm_parse_mark(&mark, &argc, &argv); + } else if (strcmp(*argv, "reqid") == 0) { + NEXT_ARG(); + xfrm_reqid_parse(&req.xsinfo.reqid, &argc, &argv); +@@ -440,6 +443,15 @@ parse_algo: + exit(1); + } + ++ if (mark.m & mark.v) { ++ int r = addattr_l(&req.n, sizeof(req.buf), XFRMA_MARK, ++ (void *)&mark, sizeof(mark)); ++ if (r < 0) { ++ fprintf(stderr, "XFRMA_MARK failed\n"); ++ exit(1); ++ } ++ } ++ + switch (req.xsinfo.mode) { + case XFRM_MODE_TRANSPORT: + case XFRM_MODE_TUNNEL: +@@ -519,6 +531,7 @@ static int xfrm_state_allocspi(int argc, char **argv) + char *idp = NULL; + char *minp = NULL; + char *maxp = NULL; ++ struct xfrm_umark mark = {0, 0}; + char res_buf[NLMSG_BUF_SIZE]; + struct nlmsghdr *res_n = (struct nlmsghdr *)res_buf; + +@@ -542,6 +555,8 @@ static int xfrm_state_allocspi(int argc, char **argv) + if (strcmp(*argv, "mode") == 0) { + NEXT_ARG(); + xfrm_mode_parse(&req.xspi.info.mode, &argc, &argv); ++ } else if (strcmp(*argv, "mark") == 0) { ++ xfrm_parse_mark(&mark, &argc, &argv); + } else if (strcmp(*argv, "reqid") == 0) { + NEXT_ARG(); + xfrm_reqid_parse(&req.xspi.info.reqid, &argc, &argv); +@@ -618,6 +633,15 @@ static int xfrm_state_allocspi(int argc, char **argv) + req.xspi.max = 0xffff; + } + ++ if (mark.m & mark.v) { ++ int r = addattr_l(&req.n, sizeof(req.buf), XFRMA_MARK, ++ (void *)&mark, sizeof(mark)); ++ if (r < 0) { ++ fprintf(stderr, "XFRMA_MARK failed\n"); ++ exit(1); ++ } ++ } ++ + if (rtnl_open_byproto(&rth, 0, NETLINK_XFRM) < 0) + exit(1); + +@@ -763,6 +787,7 @@ static int xfrm_state_get_or_delete(int argc, char **argv, int delete) + } req; + struct xfrm_id id; + char *idp = NULL; ++ struct xfrm_umark mark = {0, 0}; + + memset(&req, 0, sizeof(req)); + +@@ -774,26 +799,39 @@ static int xfrm_state_get_or_delete(int argc, char **argv, int delete) + while (argc > 0) { + xfrm_address_t saddr; + +- if (idp) +- invarg("unknown", *argv); +- idp = *argv; ++ if (strcmp(*argv, "mark") == 0) { ++ xfrm_parse_mark(&mark, &argc, &argv); ++ } else { ++ if (idp) ++ invarg("unknown", *argv); ++ idp = *argv; + +- /* ID */ +- memset(&id, 0, sizeof(id)); +- memset(&saddr, 0, sizeof(saddr)); +- xfrm_id_parse(&saddr, &id, &req.xsid.family, 0, +- &argc, &argv); ++ /* ID */ ++ memset(&id, 0, sizeof(id)); ++ memset(&saddr, 0, sizeof(saddr)); ++ xfrm_id_parse(&saddr, &id, &req.xsid.family, 0, ++ &argc, &argv); + +- memcpy(&req.xsid.daddr, &id.daddr, sizeof(req.xsid.daddr)); +- req.xsid.spi = id.spi; +- req.xsid.proto = id.proto; ++ memcpy(&req.xsid.daddr, &id.daddr, sizeof(req.xsid.daddr)); ++ req.xsid.spi = id.spi; ++ req.xsid.proto = id.proto; + +- addattr_l(&req.n, sizeof(req.buf), XFRMA_SRCADDR, +- (void *)&saddr, sizeof(saddr)); ++ addattr_l(&req.n, sizeof(req.buf), XFRMA_SRCADDR, ++ (void *)&saddr, sizeof(saddr)); ++ } + + argc--; argv++; + } + ++ if (mark.m & mark.v) { ++ int r = addattr_l(&req.n, sizeof(req.buf), XFRMA_MARK, ++ (void *)&mark, sizeof(mark)); ++ if (r < 0) { ++ fprintf(stderr, "XFRMA_MARK failed\n"); ++ exit(1); ++ } ++ } ++ + if (rtnl_open_byproto(&rth, 0, NETLINK_XFRM) < 0) + exit(1); + +@@ -1117,23 +1155,31 @@ int do_xfrm_state(int argc, char **argv) + if (argc < 1) + return xfrm_state_list_or_deleteall(0, NULL, 0); + ++ //XXX: should work + if (matches(*argv, "add") == 0) + return xfrm_state_modify(XFRM_MSG_NEWSA, 0, + argc-1, argv+1); ++ //XXX: should work + if (matches(*argv, "update") == 0) + return xfrm_state_modify(XFRM_MSG_UPDSA, 0, + argc-1, argv+1); ++ //XXX: should work + if (matches(*argv, "allocspi") == 0) + return xfrm_state_allocspi(argc-1, argv+1); ++ //XXX: should work + if (matches(*argv, "delete") == 0) + return xfrm_state_get_or_delete(argc-1, argv+1, 1); ++ //XXX: needs testing .. + if (matches(*argv, "deleteall") == 0 || matches(*argv, "delall") == 0) + return xfrm_state_list_or_deleteall(argc-1, argv+1, 1); ++ //XXX: should work + if (matches(*argv, "list") == 0 || matches(*argv, "show") == 0 + || matches(*argv, "lst") == 0) + return xfrm_state_list_or_deleteall(argc-1, argv+1, 0); ++ //XXX: should work + if (matches(*argv, "get") == 0) + return xfrm_state_get_or_delete(argc-1, argv+1, 0); ++ //XXX: should work + if (matches(*argv, "flush") == 0) + return xfrm_state_flush(argc-1, argv+1); + if (matches(*argv, "count") == 0) { diff --git a/testing/iproute2/APKBUILD b/testing/iproute2/APKBUILD new file mode 100644 index 0000000000..42065e9802 --- /dev/null +++ b/testing/iproute2/APKBUILD @@ -0,0 +1,38 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=iproute2 +pkgver=2.6.31 +_realver=2.6.31 +pkgrel=1 +pkgdesc="IP Routing Utilities" +url="http://www.linux-foundation.org/en/Net:Iproute2" +arch="all" +license="GPL2" +depends= +install="$pkgname.post-install $pkgname.post-deinstall" +makedepends="bison flex bash" +subpackages="$pkgname-doc" +source="http://devresources.linux-foundation.org/dev/iproute2/download/$pkgname-$_realver.tar.bz2 + 0001-xfrm-mark.patch" + +prepare() { + cd "$srcdir"/$pkgname-$_realver + + patch -p1 -i "$srcdir"/0001-xfrm-mark.patch || return 1 + sed -i '/^TARGETS=/s: arpd : :' misc/Makefile + sed -i 's:/usr/local:/usr:' tc/m_ipt.c include/iptables.h || return 1 + sed -i 's:=/share:=/usr/share:' Makefile || return 1 +} + +build() { + cd "$srcdir"/$pkgname-$_realver + ./configure || return 1 + make CCOPTS="-D_GNU_SOURCE $CFLAGS" LIBDIR=/lib || return 1 +} + +package() { + cd "$srcdir"/$pkgname-$_realver + make -j1 DESTDIR="$pkgdir" install +} + +md5sums="230f35282a95451622f3e8394f9cd80a iproute2-2.6.31.tar.bz2 +f32fc320c0b5640d3f4d511d7c763f46 0001-xfrm-mark.patch" diff --git a/testing/iproute2/iproute2.post-deinstall b/testing/iproute2/iproute2.post-deinstall new file mode 100644 index 0000000000..dd117e5d80 --- /dev/null +++ b/testing/iproute2/iproute2.post-deinstall @@ -0,0 +1,4 @@ +#!/bin/sh + +busybox --install -s + diff --git a/testing/iproute2/iproute2.post-install b/testing/iproute2/iproute2.post-install new file mode 100644 index 0000000000..36d567ea21 --- /dev/null +++ b/testing/iproute2/iproute2.post-install @@ -0,0 +1,6 @@ +#!/bin/sh + +if [ "$(readlink /bin/ip)" = "/bin/busybox" ]; then + rm -f /bin/ip +fi +exit 0 diff --git a/testing/irrlicht/APKBUILD b/testing/irrlicht/APKBUILD new file mode 100644 index 0000000000..6d1405ba2d --- /dev/null +++ b/testing/irrlicht/APKBUILD @@ -0,0 +1,77 @@ +# Maintainer: Jeff Bilyk <jbilyk@alpinelinux.org> +pkgname=irrlicht +pkgver=1.7.2 +_pkgmajver=1.7 +pkgrel=0 +pkgdesc="3D graphics engine" +url="http://irrlicht.sourceforge.net" +arch="all" +license="ZLIB" +depends= +depends_dev="mesa-dev jpeg-dev bzip2 libpng-dev zlib-dev" +makedepends="$depends_dev" +install="" +source="http://downloads.sourceforge.net/irrlicht/irrlicht-$pkgver.zip" + +_builddir="$srcdir"/$pkgname-$pkgver/source/Irrlicht +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + make sharedlib || return 1 + make || return 1 + + #from arch pkgbuild: example build helper + ln -s libIrrlicht.so.$pkgver "$srcdir"/$pkgname-$pkgver/lib/Linux/libIrrlicht.so + + cd ../../examples + # Fix examples building + sed -i '/define USE_IRRKLANG/s:.*://&:' ./Demo/CDemo.h + make || return 1 +} + +package() { + cd "$_builddir" + + mkdir -p "$pkgdir"/usr/lib + mkdir -p "$pkgdir"/usr/share/licenses/$pkgname + mkdir -p "$pkgdir"/usr/share/$pkgname/examples/bin + mkdir -p "$pkgdir"/usr/share/doc/$pkgname + mkdir -p "$pkgdir"/usr/include/$pkgname/include + + make INSTALL_DIR="$pkgdir" install || return 1 + + cd ../.. + install -m644 readme.txt "$pkgdir"/usr/share/licenses/$pkgname + + #from arch pkgbuild: install static library and fix perms + install -m644 lib/Linux/libIrrlicht.a "$pkgdir"/usr/lib + + #from arch pkgbuild: install media file examples + cp -r media "$pkgdir"/usr/share/$pkgname + + #from arch pkgbuild: install docs + cp -r doc/* "$pkgdir"/usr/share/doc/$pkgname + rm -f "$pkgdir"/usr/share/doc/$pkgname/*.txt + + cd "$pkgdir"/usr/lib + mv ../../libIrrlicht* ./ + ln -s libIrrlicht.so.$pkgver libIrrlicht.so.1 + ln -s libIrrlicht.so.$pkgver libIrrlicht.so.$_pkgmajver + + mv "$pkgdir"/../include/* "$pkgdir"/usr/include/$pkgname/include/ + mv "$pkgdir"/usr/include/$pkgname/include/irrlicht/* "$pkgdir"/usr/include/$pkgname/include/ + rm -rf "$pkgdir"/../include/ + + install -m755 "$srcdir"/$pkgname-$pkgver/bin/Linux/* "$pkgdir"/usr/share/$pkgname/examples/bin/ +} + +md5sums="eb627d4c432bf73f12bc6d9ddc700b07 irrlicht-1.7.2.zip" diff --git a/testing/iscsi-scst/APKBUILD b/testing/iscsi-scst/APKBUILD new file mode 100644 index 0000000000..8a2fd46647 --- /dev/null +++ b/testing/iscsi-scst/APKBUILD @@ -0,0 +1,47 @@ +# Contributor: Carlo Landmeter +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> + +pkgname=iscsi-scst +pkgver=2.0.0 +pkgrel=2 +pkgdesc="ISCSI target for SCST - userspace tools" +url="http://iscsi-scst.sourceforge.net/" +arch="x86_64" +license="GPL-2" +depends= +install= +makedepends="openssl-dev bash" +subpackages= +source="http://downloads.sourceforge.net/scst/$pkgname-$pkgver.tar.gz + http://downloads.sourceforge.net/scst/scst-$pkgver.tar.gz + $pkgname.initd + $pkgname.confd + scst.conf + " + +_builddir="$srcdir/$pkgname-$pkgver" +prepare() { + cd "$_builddir" + cp Makefile_user_space_only Makefile +} + +build() { + cd "$_builddir" + make all SCST_INC_DIR="$srcdir/scst-$pkgver/include" || return 1 +} + +package() { + cd "$_builddir" + # make install is broken + install -D usr/iscsi-scstd "$pkgdir"/usr/sbin/iscsi-scstd + install -D usr/iscsi-scst-adm "$pkgdir"/usr/sbin/iscsi-scst-adm + install -D -m 755 "$srcdir"/iscsi-scst.initd "$pkgdir"/etc/init.d/iscsi-scst + install -D -m 644 "$srcdir"/iscsi-scst.confd "$pkgdir"/etc/conf.d/iscsi-scst + install -D -m 644 "$srcdir"/scst.conf "$pkgdir"/etc/scst.conf +} + +md5sums="04e623184f9061bea06b9ba10631a620 iscsi-scst-2.0.0.tar.gz +e7262a26d38d8311d0296b36718d593b scst-2.0.0.tar.gz +6440aac6ffdf18c90ae9824f04f8c638 iscsi-scst.initd +6d8b6e27d47748f7805fdb318b62bb3b iscsi-scst.confd +e8eda9872b3da3a55605c7fa17cb6c68 scst.conf" diff --git a/testing/iscsi-scst/iscsi-scst.confd b/testing/iscsi-scst/iscsi-scst.confd new file mode 100644 index 0000000000..1a13034dd2 --- /dev/null +++ b/testing/iscsi-scst/iscsi-scst.confd @@ -0,0 +1 @@ +MEM_SIZE="" diff --git a/testing/iscsi-scst/iscsi-scst.initd b/testing/iscsi-scst/iscsi-scst.initd new file mode 100644 index 0000000000..b63a3e57d8 --- /dev/null +++ b/testing/iscsi-scst/iscsi-scst.initd @@ -0,0 +1,68 @@ +#!/sbin/runscript +# +# Start the iSCSI-SCST Target. +# + +depend() { + need net + after firewall +} + +configure_memsize() { + if [ ! -z "$MEM_SIZE" ]; then + if [ -e /proc/sys/net/core/wmem_max ]; then + echo ${MEM_SIZE} > /proc/sys/net/core/wmem_max + fi + + if [ -e /proc/sys/net/core/rmem_max ]; then + echo ${MEM_SIZE} > /proc/sys/net/core/rmem_max + fi + + if [ -e /proc/sys/net/core/wmem_default ]; then + echo ${MEM_SIZE} > /proc/sys/net/core/wmem_default + fi + + if [ -e /proc/sys/net/core/rmem_default ]; then + echo ${MEM_SIZE} > /proc/sys/net/core/rmem_default + fi + + if [ -e /proc/sys/net/ipv4/tcp_mem ]; then + echo "${MEM_SIZE} ${MEM_SIZE} ${MEM_SIZE}" > /proc/sys/net/ipv4/tcp_mem + fi + + if [ -e /proc/sys/net/ipv4/tcp_rmem ]; then + echo "${MEM_SIZE} ${MEM_SIZE} ${MEM_SIZE}" > /proc/sys/net/ipv4/tcp_rmem + fi + + if [ -e /proc/sys/net/ipv4/tcp_wmem ]; then + echo "${MEM_SIZE} ${MEM_SIZE} ${MEM_SIZE}" > /proc/sys/net/ipv4/tcp_wmem + fi + fi +} + +check_dev_handlers() { + if lsmod | grep "scst_" >/dev/null; then + ewarn "Device handlers found" + else + ewarn "No SCST device handlers loaded!" + ewarn "You can add them in /etc/modules" + fi +} + +start() { + ebegin "Starting iscsi" + check_dev_handlers + modprobe -q crc32c + modprobe -q iscsi-scst + start-stop-daemon --start --exec /usr/sbin/iscsi-scstd + /usr/sbin/scstadmin -config /etc/scst.conf + eend 0 +} + +stop() { + ebegin "Stopping iscsi" + start-stop-daemon --stop --exec /usr/sbin/iscsi-scstd + rmmod -w iscsi-scst + eend 0 +} + diff --git a/testing/iscsi-scst/scst.conf b/testing/iscsi-scst/scst.conf new file mode 100644 index 0000000000..341a0db9a1 --- /dev/null +++ b/testing/iscsi-scst/scst.conf @@ -0,0 +1,7 @@ +TARGET_DRIVER iscsi { + enabled 1 + + TARGET iqn.2010-12.net.alpinelinux:tgt { + } +} + diff --git a/testing/ivtv-utils/APKBUILD b/testing/ivtv-utils/APKBUILD new file mode 100644 index 0000000000..a496dbb654 --- /dev/null +++ b/testing/ivtv-utils/APKBUILD @@ -0,0 +1,32 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=ivtv-utils +pkgver=1.4.1 +pkgrel=0 +pkgdesc="Userspace utilities and firmware for Hauppauge PVR cards" +url="http://ivtvdriver.org" +arch="all" +license="GPL" +depends= +makedepends= +source="http://dl.ivtvdriver.org/ivtv/stable/$pkgname-$pkgver.tar.gz + http://dl.ivtvdriver.org/ivtv/firmware/ivtv-firmware.tar.gz" + +build () +{ + cd "$srcdir"/$pkgname-$pkgver + make || return 1 +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make DESTDIR="$pkgdir" PREFIX=/usr install || return 1 + + cd "$srcdir" + for file in *.fw v4l-cx2341x-init.mpg; do + install -D -m644 $file "$pkgdir"/lib/firmware/$file || return 1 + done + rm -rf "$pkgdir"/usr/include +} + +md5sums="3a4219d698262ca2b28e41f0f547b0a2 ivtv-utils-1.4.1.tar.gz +b9a871f1c569025be9c48a77b3515faf ivtv-firmware.tar.gz" diff --git a/testing/jsoncpp/APKBUILD b/testing/jsoncpp/APKBUILD new file mode 100644 index 0000000000..5d42b6b0a7 --- /dev/null +++ b/testing/jsoncpp/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=jsoncpp +pkgver=0.5.0 +pkgrel=1 +pkgdesc="JSON C++ library" +url="http://jsoncpp.sourceforge.net/" +arch="all" +license="PublicDomain" +depends= +depends_dev= +makedepends="$depends_dev scons" +install="" +subpackages="$pkgname-dev" +source="http://downloads.sourceforge.net/project/jsoncpp/jsoncpp/$pkgver/jsoncpp-src-$pkgver.tar.gz" + +_builddir="$srcdir"/jsoncpp-src-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + scons platform=linux-gcc || return 1 +} + +package() { + cd "$_builddir" + + mkdir -p "$pkgdir"/usr/lib + cp "$_builddir"/libs/*/libjson*.so "$pkgdir"/usr/lib/libjson.so + + mkdir -p "$pkgdir"/usr/include + cp -r "$_builddir"/include/json "$pkgdir"/usr/include/ + ln -sf /usr/include/json "$pkgdir"/usr/include/jsoncpp +} + +md5sums="24482b67c1cb17aac1ed1814288a3a8f jsoncpp-src-0.5.0.tar.gz" + diff --git a/testing/kde4-base/APKBUILD b/testing/kde4-base/APKBUILD new file mode 100644 index 0000000000..9cf6d3bd61 --- /dev/null +++ b/testing/kde4-base/APKBUILD @@ -0,0 +1,20 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=kde4-base +pkgver=4.6.3 +pkgrel=3 +pkgdesc="metapackage for KDE" +url="http://www.kde.org/" +arch="noarch" +license="GPL" +depends="kdebase-runtime kdebase-workspace kdemultimedia kdenetwork kdegraphics" +depends_dev= +makedepends="$depends_dev" +install="" +subpackages= +source="" + +package() { + mkdir -p "$pkgdir" +} + diff --git a/testing/kdeadmin/APKBUILD b/testing/kdeadmin/APKBUILD new file mode 100644 index 0000000000..7f2d4db966 --- /dev/null +++ b/testing/kdeadmin/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=kdeadmin +pkgver=4.6.3 +pkgrel=0 +pkgdesc="kde administrative tools" +url="http://www.kde.org/" +arch="all" +license="GPL" +depends= +depends_dev="kdebase-workspace-dev kdepimlibs-dev" +makedepends="$depends_dev cmake automoc4" +install="" +subpackages="$pkgname-doc" +source="http://kde.mirrors.tds.net/pub/kde/stable/$pkgver/src/kdeadmin-$pkgver.tar.bz2" + +_builddir="$srcdir"/kdeadmin-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir -p "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="8ac0a89337a58ddec49be0ca7a4a7534 kdeadmin-4.6.3.tar.bz2" diff --git a/testing/kdeartwork/APKBUILD b/testing/kdeartwork/APKBUILD new file mode 100644 index 0000000000..a69fc54ae4 --- /dev/null +++ b/testing/kdeartwork/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=kdeartwork +pkgver=4.6.3 +pkgrel=0 +pkgdesc="artwork for KDE desktop" +url="http://www.kde.org/" +arch="all" +license="GPL LGPL" +depends="xscreensaver" +depends_dev="kdebase-workspace-dev cmake automoc4" +makedepends="$depends_dev" +install="" +subpackages="" +source="http://kde.mirrors.tds.net/pub/kde/stable/$pkgver/src/kdeartwork-$pkgver.tar.bz2" +install_if="kdebase-workspace" + +_builddir="$srcdir"/kdeartwork-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir -p "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="f45a8ed91c578275056c86f7022695ee kdeartwork-4.6.3.tar.bz2" diff --git a/testing/kdebase-runtime/APKBUILD b/testing/kdebase-runtime/APKBUILD new file mode 100644 index 0000000000..da8858693b --- /dev/null +++ b/testing/kdebase-runtime/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=kdebase-runtime +pkgver=4.6.3 +pkgrel=3 +pkgdesc="KDE base runtime" +url="http://www.kde.org/" +arch="all" +license="LGPL" +depends= +depends_dev="kdebase-dev libcanberra-dev libssh-dev samba-dev" +makedepends="$depends_dev cmake automoc4" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://kde.mirrors.tds.net/pub/kde/stable/$pkgver/src/kdebase-runtime-$pkgver.tar.bz2" + +_builddir="$srcdir"/kdebase-runtime-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir -p "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/share/icons/hicolor/index.theme +} + +md5sums="a6f294900d73d92cd68ea93aea297ff0 kdebase-runtime-4.6.3.tar.bz2" diff --git a/testing/kdebase-workspace/APKBUILD b/testing/kdebase-workspace/APKBUILD new file mode 100644 index 0000000000..df2d45b204 --- /dev/null +++ b/testing/kdebase-workspace/APKBUILD @@ -0,0 +1,42 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=kdebase-workspace +pkgver=4.6.3 +pkgrel=2 +pkgdesc="base kde applications" +url="http://www.kde.org/" +arch="all" +license="GPL" +depends= +depends_dev="kdebase-runtime-dev qimageblitz-dev libxkbfile-dev libusb-dev + consolekit-dev libxcursor-dev libxrandr-dev libraw1394-dev + libxcomposite-dev libxtst-dev networkmanager-dev" +makedepends="$depends_dev cmake automoc4" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://kde.mirrors.tds.net/pub/kde/stable/$pkgver/src/kdebase-workspace-$pkgver.tar.bz2" + +_builddir="$srcdir"/kdebase-workspace-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir -p "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="1e481727c3a5c2e4b751b9c56bd56583 kdebase-workspace-4.6.3.tar.bz2" diff --git a/testing/kdebase/APKBUILD b/testing/kdebase/APKBUILD new file mode 100644 index 0000000000..11766ef984 --- /dev/null +++ b/testing/kdebase/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=kdebase +pkgver=4.6.3 +pkgrel=0 +pkgdesc="KDE base libraries" +url="http://www.kde.org/" +arch="all" +license="GPL" +depends= +depends_dev="qt-dev kdelibs-dev glib-dev" +makedepends="$depends_dev cmake automoc4" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://kde.mirrors.tds.net/pub/kde/stable/$pkgver/src/kdebase-$pkgver.tar.bz2" + +_builddir="$srcdir"/kdebase-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir -p "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="4f0627e33bd857beebd92be1065ed83e kdebase-4.6.3.tar.bz2" diff --git a/testing/kdegraphics/APKBUILD b/testing/kdegraphics/APKBUILD new file mode 100644 index 0000000000..1383c28585 --- /dev/null +++ b/testing/kdegraphics/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=kdegraphics +pkgver=4.6.3 +pkgrel=0 +pkgdesc="graphics applications for kde" +url="http://www.kde.org/" +arch="all" +license="GPL" +depends= +depends_dev="kdebase-workspace-dev poppler-qt4-dev lcms-dev tiff-dev exiv2-dev libgphoto2-dev" +makedepends="$depends_dev cmake automoc4" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://kde.mirrors.tds.net/pub/kde/stable/latest/src/kdegraphics-$pkgver.tar.bz2" + +_builddir="$srcdir"/kdegraphics-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="26c2eca2d707f9fc69db87c0467e5849 kdegraphics-4.6.3.tar.bz2" diff --git a/testing/kdelibs/APKBUILD b/testing/kdelibs/APKBUILD new file mode 100644 index 0000000000..08dd75481c --- /dev/null +++ b/testing/kdelibs/APKBUILD @@ -0,0 +1,52 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=kdelibs +pkgver=4.6.3 +pkgrel=3 +pkgdesc="KDE base libraries" +url="http://www.kde.org/" +arch="all" +license="GPL" +depends="shared-desktop-ontologies" +depends_dev="qt-dev phonon-dev polkit-qt-dev pcre-dev gamin-dev enchant-dev udev-dev + giflib-dev docbook-xml docbook-xsl acl-dev jasper-dev strigi-dev xz-dev + avahi-dev attica-dev aspell-dev libdbusmenu-qt-dev soprano-dev jpeg-dev + qca-dev" +makedepends="$depends_dev cmake automoc4" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://kde.mirrors.tds.net/pub/kde/stable/$pkgver/src/kdelibs-$pkgver.tar.bz2 + kdelibs-madvise.patch + kdelibs-skipname.patch" + +_builddir="$srcdir"/kdelibs-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir -p "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +dev() { + default_dev + mv "$subpkgdir"/usr/bin/kde4-config "$pkgdir"/usr/bin/kde4-config +} + +md5sums="923a7e8f89aa504647e14472b24b8c0a kdelibs-4.6.3.tar.bz2 +90c533263848d54312ba37c6ac203818 kdelibs-madvise.patch +9ff128752c657094dff94bae96d1528f kdelibs-skipname.patch" diff --git a/testing/kdelibs/kdelibs-madvise.patch b/testing/kdelibs/kdelibs-madvise.patch new file mode 100644 index 0000000000..3f3b42569f --- /dev/null +++ b/testing/kdelibs/kdelibs-madvise.patch @@ -0,0 +1,22 @@ +--- kdelibs-4.6.3.orig/kdecore/sycoca/ksycoca.cpp ++++ kdelibs-4.6.3/kdecore/sycoca/ksycoca.cpp +@@ -139,7 +139,7 @@ + return false; + } else { + #ifdef HAVE_MADVISE +- (void) posix_madvise((void*)sycoca_mmap, sycoca_size, POSIX_MADV_WILLNEED); ++ (void) madvise((void*)sycoca_mmap, sycoca_size, MADV_WILLNEED); + #endif // HAVE_MADVISE + return true; + } +--- kdelibs-4.6.3.orig/kdeui/util/kpixmapcache.cpp ++++ kdelibs-4.6.3/kdeui/util/kpixmapcache.cpp +@@ -443,7 +443,7 @@ + } + info->indexHeader = reinterpret_cast<KPixmapCacheIndexHeader *>(indexMem); + #ifdef HAVE_MADVISE +- posix_madvise(indexMem, info->size, POSIX_MADV_WILLNEED); ++ madvise(indexMem, info->size, MADV_WILLNEED); + #endif + + info->file->close(); diff --git a/testing/kdelibs/kdelibs-skipname.patch b/testing/kdelibs/kdelibs-skipname.patch new file mode 100644 index 0000000000..7bcb5895ed --- /dev/null +++ b/testing/kdelibs/kdelibs-skipname.patch @@ -0,0 +1,60 @@ +--- kdelibs-4.6.3.orig/kio/misc/kpac/discovery.cpp ++++ kdelibs-4.6.3/kio/misc/kpac/discovery.cpp +@@ -90,6 +90,34 @@ + return !m_hostname.isEmpty(); + } + ++ int ++ Discovery::skipName(const unsigned char *comp_dn, const unsigned char *eom) const ++ { ++ const u_char *cp; ++ int n; ++ ++ cp = comp_dn; ++ while (cp < eom && (n = *cp++)) { ++ /* ++ * check for indirection ++ */ ++ switch (n & INDIR_MASK) { ++ case 0: /* normal case, n == len */ ++ cp += n; ++ continue; ++ case INDIR_MASK: /* indirection */ ++ cp++; ++ break; ++ default: /* illegal type */ ++ return (-1); ++ } ++ break; ++ } ++ if (cp > eom) ++ return (-1); ++ return (cp - comp_dn); ++ } ++ + bool Discovery::checkDomain() const + { + // If a domain has a SOA record, don't traverse any higher. +@@ -107,10 +135,10 @@ + unsigned char* pos = response.buf + sizeof( response.header ); + unsigned char* end = response.buf + len; + // skip query section +- pos += dn_skipname( pos, end ) + QFIXEDSZ; ++ pos += this->skipName( pos, end ) + QFIXEDSZ; + if ( pos >= end ) return true; + // skip answer domain +- pos += dn_skipname( pos, end ); ++ pos += this->skipName( pos, end ); + short type; + GETSHORT( type, pos ); + return type != T_SOA; +--- kdelibs-4.6.3.orig/kio/misc/kpac/discovery.h ++++ kdelibs-4.6.3/kio/misc/kpac/discovery.h +@@ -43,6 +43,7 @@ + private: + bool initHostName(); + bool checkDomain() const; ++ int skipName(const unsigned char*, const unsigned char*) const; + + KProcess* m_helper; + QString m_hostname; diff --git a/testing/kdemultimedia/APKBUILD b/testing/kdemultimedia/APKBUILD new file mode 100644 index 0000000000..19de645599 --- /dev/null +++ b/testing/kdemultimedia/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=kdemultimedia +pkgver=4.6.3 +pkgrel=0 +pkgdesc="multimedia applications for kde" +url="http://www.kde.org/" +arch="all" +license="GPL" +depends= +depends_dev="kdebase-workspace-dev taglib-dev" +makedepends="$depends_dev cmake automoc4" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://kde.mirrors.tds.net/pub/kde/stable/$pkgver/src/kdemultimedia-$pkgver.tar.bz2" + +_builddir="$srcdir"/kdemultimedia-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir -p "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="fcfef0fe2ee4f216831f74efa78b554b kdemultimedia-4.6.3.tar.bz2" diff --git a/testing/kdenetwork/APKBUILD b/testing/kdenetwork/APKBUILD new file mode 100644 index 0000000000..8bdaf79b0f --- /dev/null +++ b/testing/kdenetwork/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=kdenetwork +pkgver=4.6.3 +pkgrel=0 +pkgdesc="network tools for kde" +url="http://www.kde.org/" +arch="all" +license="GPL" +depends= +depends_dev="kdebase-workspace-dev kdepimlibs-dev libotr-dev v4l-utils-dev libidn-dev" +makedepends="$depends_dev cmake automoc4" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://kde.mirrors.tds.net/pub/kde/stable/$pkgver/src/kdenetwork-$pkgver.tar.bz2" + +_builddir="$srcdir"/kdenetwork-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="0fd1a35dd3c820d840ca2e11c51b1215 kdenetwork-4.6.3.tar.bz2" diff --git a/testing/kdepimlibs/APKBUILD b/testing/kdepimlibs/APKBUILD new file mode 100644 index 0000000000..2b8cad08be --- /dev/null +++ b/testing/kdepimlibs/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=kdepimlibs +pkgver=4.6.3 +pkgrel=0 +pkgdesc="kde personal information management libraries" +url="http://www.kde.org/" +arch="all" +license="LGPL" +depends="shared-desktop-ontologies" +depends_dev="kdelibs-dev boost-dev libical-dev cyrus-sasl-dev openldap-dev gpgme-dev + akonadi-dev" +makedepends="$depends_dev cmake automoc4" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://kde.mirrors.tds.net/pub/kde/stable/$pkgver/src/kdepimlibs-$pkgver.tar.bz2" + +_builddir="$srcdir"/kdepimlibs-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir -p "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="0b0fc8d9fea0a6f26e705460a2865e18 kdepimlibs-4.6.3.tar.bz2" diff --git a/testing/kdesdk/APKBUILD b/testing/kdesdk/APKBUILD new file mode 100644 index 0000000000..f259f6be6f --- /dev/null +++ b/testing/kdesdk/APKBUILD @@ -0,0 +1,42 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=kdesdk +pkgver=4.6.3 +pkgrel=0 +pkgdesc="software development tools for kde" +url="http://www.kde.org/" +arch="all" +license="GPL" +depends= +depends_dev="kdebase-workspace-dev hunspell-dev boost-dev perl-dev subversion-dev" +makedepends="$depends_dev cmake automoc4" +install="" +subpackages="$pkgname-dev" +source="http://kde.mirrors.tds.net/pub/kde/stable/$pkgver/src/kdesdk-$pkgver.tar.bz2 + not-glibc.patch" + +_builddir="$srcdir"/kdesdk-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PATH=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="c4a223067a228688c6b62a6bdd67a022 kdesdk-4.6.3.tar.bz2 +00e1451447f9097a677c4606484077ca not-glibc.patch" diff --git a/testing/kdesdk/not-glibc.patch b/testing/kdesdk/not-glibc.patch new file mode 100644 index 0000000000..646efb4f92 --- /dev/null +++ b/testing/kdesdk/not-glibc.patch @@ -0,0 +1,12 @@ +--- kdesdk-4.6.3.orig/CMakeLists.txt ++++ kdesdk-4.6.3/CMakeLists.txt +@@ -71,9 +71,7 @@ + #include <stdlib.h> + + int main() { +-#ifndef __GLIBC__ + choke me +-#endif + return 0; + }" LIBC_IS_GLIBC) + if (LIBC_IS_GLIBC) diff --git a/testing/keepalived/APKBUILD b/testing/keepalived/APKBUILD new file mode 100644 index 0000000000..fb85a5f5a7 --- /dev/null +++ b/testing/keepalived/APKBUILD @@ -0,0 +1,62 @@ +# Contributor: Pablo Castorino <pcastorino@mendoza-conicet.gob.ar> +# Maintainer: Pablo Castorino <pcastorino@mendoza-conicet.gob.ar> +pkgname=keepalived +pkgver=1.1.20 +pkgrel=0 +pkgdesc="Health Checking for Linux Virtual Server & High-Availability" +url="http://www.keepalived.org/" +arch="all" +license="GPL" +depends= +makedepends="openssl-dev popt-dev linux-headers" +install= +subpackages="$pkgname-doc $pkgname-sample-config:samples" +source="http://www.keepalived.org/software/$pkgname-$pkgver.tar.gz + keepalived-1.1.20-ipvs_haeader_check.patch + $pkgname.initd + $pkgname.confd + " + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + # apply patches here + for i in $source; do + case $i in + *.patch) + msg "Applying $i" + patch -p1 -i "$srcdir"/$i || return 1 + ;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --with-kernel-dir=/usr/include/linux \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install + + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname +} + +samples() { + pkgdesc="Sample configuration for keepalived" + mkdir -p "$subpkgdir"/etc/keepalived/ + mv "$pkgdir"/etc/keepalived/samples "$subpkgdir"/etc/keepalived/ +} + +md5sums="6c3065c94bb9e2187c4b5a80f6d8be31 keepalived-1.1.20.tar.gz +78c19e15f649e353c2fba44e1f70b1e1 keepalived-1.1.20-ipvs_haeader_check.patch +d20faa8d55b8a41b8ddb71bb00a6bead keepalived.initd +56ff68ad19e973826c2dbc42c892939f keepalived.confd" diff --git a/testing/keepalived/keepalived-1.1.20-ipvs_haeader_check.patch b/testing/keepalived/keepalived-1.1.20-ipvs_haeader_check.patch new file mode 100644 index 0000000000..d5220fe4c6 --- /dev/null +++ b/testing/keepalived/keepalived-1.1.20-ipvs_haeader_check.patch @@ -0,0 +1,68 @@ +--- old/configure ++++ new/configure +@@ -3849,8 +3889,8 @@ + + IPVS_SUPPORT="_WITHOUT_LVS_" + if test "$enable_lvs" != "no"; then +- ac_fn_c_check_header_mongrel "$LINENO" "net/ip_vs.h" "ac_cv_header_net_ip_vs_h" "$ac_includes_default" +-if test "x$ac_cv_header_net_ip_vs_h" = x""yes; then : ++ ac_fn_c_check_header_mongrel "$LINENO" "linux/ip_vs.h" "ac_cv_header_linux_ip_vs_h" "$ac_includes_default" ++if test "x$ac_cv_header_linux_ip_vs_h" = xyes; then : + IPVS_SUPPORT="_WITH_LVS_" + else + +--- old/configure.in ++++ new/configure.in +@@ -113,7 +113,7 @@ + dnl ----[ Checks for LVS and VRRP support ]---- + IPVS_SUPPORT="_WITHOUT_LVS_" + if test "$enable_lvs" != "no"; then +- AC_CHECK_HEADER([net/ip_vs.h], ++ AC_CHECK_HEADER([linux/ip_vs.h], + [IPVS_SUPPORT="_WITH_LVS_"], + [ + IPVS_SUPPORT="_WITHOUT_LVS_" +--- keepalived-1.1.20-orig/keepalived/include/check_data.h ++++ keepalived-1.1.20/keepalived/include/check_data.h +@@ -33,7 +33,7 @@ + + #ifdef _WITH_LVS_ + #define SCHED_MAX_LENGTH IP_VS_SCHEDNAME_MAXLEN +- #include <net/ip_vs.h> ++ #include <linux/ip_vs.h> + #else + #define SCHED_MAX_LENGTH 1 + #endif +--- keepalived-1.1.20-orig/keepalived/include/ipvswrapper.h ++++ keepalived-1.1.20/keepalived/include/ipvswrapper.h +@@ -43,7 +43,7 @@ + #elif _KRNL_2_6_ + #include "../libipvs-2.6/libipvs.h" + #endif +- #include <net/ip_vs.h> ++ #include <linux/ip_vs.h> + #endif + + #ifndef IP_VS_TEMPLATE_TIMEOUT +--- keepalived-1.1.20-orig/keepalived/libipvs-2.4/libipvs.h ++++ keepalived-1.1.20/keepalived/libipvs-2.4/libipvs.h +@@ -10,7 +10,7 @@ + #ifndef _LIBIPVS_H + #define _LIBIPVS_H + +-#include <net/ip_vs.h> ++#include <linux/ip_vs.h> + + /* + * The default IPVS_SVC_PERSISTENT_TIMEOUT is a little larger than average +--- keepalived-1.1.20-orig/keepalived/libipvs-2.6/libipvs.h ++++ keepalived-1.1.20/keepalived/libipvs-2.6/libipvs.h +@@ -10,7 +10,7 @@ + #ifndef _LIBIPVS_H + #define _LIBIPVS_H + +-#include <net/ip_vs.h> ++#include <linux/ip_vs.h> + + #define MINIMUM_IPVS_VERSION_MAJOR 1 + #define MINIMUM_IPVS_VERSION_MINOR 1 diff --git a/testing/keepalived/keepalived.confd b/testing/keepalived/keepalived.confd new file mode 100644 index 0000000000..87094b3553 --- /dev/null +++ b/testing/keepalived/keepalived.confd @@ -0,0 +1,7 @@ +# keepalived config file +# default: /etc/keepalived/keepalived.conf +#KEEPALIVED_CFG=/etc/keepalived + +# extra options for keepalived +#KEEPALIVED_OPTS="" # you must NOT use -f here! + diff --git a/testing/keepalived/keepalived.initd b/testing/keepalived/keepalived.initd new file mode 100755 index 0000000000..a5b2bb9f98 --- /dev/null +++ b/testing/keepalived/keepalived.initd @@ -0,0 +1,25 @@ +#!/sbin/runscript +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +KEEPALIVED_BIN="/usr/sbin/keepalived" +KEEPALIVED_CFG=${KEEPALIVED_CFG:-/etc/keepalived/keepalived.conf} + +depend() { + use logger + need net + after firewall +} + +start() { + ebegin "Starting keepalived" + start-stop-daemon --start --exec "${KEEPALIVED_BIN}" \ + -- -f "${KEEPALIVED_CFG}" ${KEEPALIVED_OPTS} + eend $? +} + +stop() { + ebegin "Stopping keepalived" + start-stop-daemon --stop --exec "${KEEPALIVED_BIN}" + eend $? +} diff --git a/testing/kismet/APKBUILD b/testing/kismet/APKBUILD new file mode 100644 index 0000000000..cb04b7f8a7 --- /dev/null +++ b/testing/kismet/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=kismet +pkgver=2011.03_p2 +_ver=${pkgver/_p/-R}; +_ver=${_ver/./-} +pkgrel=0 +pkgdesc="802.11 layer2 wireless network detector, sniffer, and intrusion detection system" +url="http://www.kismetwireless.net" +arch="all" +license="GPL" +depends_dev="libpcap-dev libnl-dev pcre-dev ncurses-dev openssl-dev bluez-dev" +makedepends="$depends_dev" +install="$pkgname.pre-install $pkgname.post-install" +subpackages="$pkgname-doc" +source="http://www.kismetwireless.net/code/kismet-$_ver.tar.gz" +_builddir="${srcdir}"/$pkgname-$_ver +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc/kismet \ + --localstatedir=/var + make dep || return 1 + make || return 1 + make plugins || return 1 +} +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + make plugins-install DESTDIR="$pkgdir" || return 1 + install -o "root" -g "root" -m 4550 kismet_capture "${pkgdir}/usr/bin/" + mkdir -p "$pkgdir"/etc/kismet + install -m644 -D "$_builddir"/conf/kismet.conf "$pkgdir"/etc/kismet/kismet.conf +} +md5sums="8bf077e8111e6dc8c12cadefdf40aadd kismet-2011-03-R2.tar.gz" diff --git a/testing/kismet/kismet.post-install b/testing/kismet/kismet.post-install new file mode 100644 index 0000000000..a60b29ea5a --- /dev/null +++ b/testing/kismet/kismet.post-install @@ -0,0 +1,3 @@ +#!/bin/sh +chown root:kismet "/usr/bin/kismet_capture" +chmod 4550 "/usr/bin/kismet_capture" diff --git a/testing/kismet/kismet.pre-install b/testing/kismet/kismet.pre-install new file mode 100644 index 0000000000..27e39754de --- /dev/null +++ b/testing/kismet/kismet.pre-install @@ -0,0 +1,2 @@ +#!/bin/sh +addgroup -g 315 kismet &>/dev/null diff --git a/testing/knock/APKBUILD b/testing/knock/APKBUILD new file mode 100644 index 0000000000..454923b0b8 --- /dev/null +++ b/testing/knock/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=knock +pkgver=0.5 +pkgrel=2 +pkgdesc="A simple port-knocking daemon" +url="http://www.zeroflux.org/projects/knock" +arch="all" +license="GPL" +depends="iptables" +makedepends="libpcap-dev" +install= +subpackages="$pkgname-doc" +source="http://www.zeroflux.org/proj/knock/files/$pkgname-$pkgver.tar.gz + knock.initd + knock.confd" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make -j1 || return 1 +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make -j1 DESTDIR="$pkgdir" install + + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/knockd + install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/knockd +} + +md5sums="ca09d61458974cff90a700aba6120891 knock-0.5.tar.gz +5f05196d700c04287523d184226e2dc2 knock.initd +8067d3b8401a0b5d513c44d3ff436032 knock.confd" diff --git a/testing/knock/knock.confd b/testing/knock/knock.confd new file mode 100644 index 0000000000..301ccc199c --- /dev/null +++ b/testing/knock/knock.confd @@ -0,0 +1,6 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/net-misc/knock/files/knockd.confd,v 1.2 2004/07/15 00:01:08 agriffis Exp $ + +# options for knockd daemon +OPTS="-d -i eth0" diff --git a/testing/knock/knock.initd b/testing/knock/knock.initd new file mode 100644 index 0000000000..b83c5c7415 --- /dev/null +++ b/testing/knock/knock.initd @@ -0,0 +1,21 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/net-misc/knock/files/knockd.initd,v 1.2 2004/07/15 00:01:08 agriffis Exp $ + +depend() { + need net + after firewall +} + +start() { + ebegin "Starting knockd" + start-stop-daemon --start --quiet --exec /usr/sbin/knockd -- ${OPTS} + eend $? +} + +stop() { + ebegin "Stopping knockd" + start-stop-daemon --stop --quiet --exec /usr/sbin/knockd + eend $? +} diff --git a/testing/ldns/APKBUILD b/testing/ldns/APKBUILD new file mode 100644 index 0000000000..43dd581353 --- /dev/null +++ b/testing/ldns/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: +pkgname=ldns +pkgver=1.6.10 +pkgrel=0 +pkgdesc="A DNS library" +url="http://nlnetlabs.nl/projects/ldns/" +arch="all" +license="Custom" +depends= +depends_dev="openssl-dev" +makedepends="$depends_dev perl" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://nlnetlabs.nl/downloads/ldns/ldns-$pkgver.tar.gz" + +_builddir="$srcdir"/ldns-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="fadf8e38fbd2d3434a2c46097d9932d5 ldns-1.6.10.tar.gz" diff --git a/testing/libamz/APKBUILD b/testing/libamz/APKBUILD new file mode 100644 index 0000000000..67a0343cdb --- /dev/null +++ b/testing/libamz/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=libamz +pkgver=0.0.2 +pkgrel=0 +pkgdesc="library and tools for accessing amazon mp3 download queues" +url="http://nenolod.net/projects/libamz" +arch="all" +license="ISC" +depends= +makedepends="libgcrypt-dev libsoup-dev libxml2-dev gtk+-dev" +install= +subpackages="$pkgname-dev" +source="http://nenolod.net/~nenolod/distfiles/$pkgname-$pkgver.tar.bz2" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + # workaround bug in busybox + sed -e "/touch/s/0001010000/200001010000/g" \ + -i configure +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install +} + +md5sums="fcecea69be7b62aa6d31b80b23e8f0db libamz-0.0.2.tar.bz2" diff --git a/testing/libburn/APKBUILD b/testing/libburn/APKBUILD new file mode 100644 index 0000000000..5e70b79965 --- /dev/null +++ b/testing/libburn/APKBUILD @@ -0,0 +1,30 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=libburn +pkgver=1.0.6_p00 +_ver=${pkgver%_p*} +_pver=${pkgver##*_p} +pkgrel=1 +pkgdesc="Library for reading, mastering and writing optical discs" +url="http://libburnia.pykix.org/" +arch="all" +license="GPL" +depends="" +makedepends="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://files.libburnia-project.org/releases/libburn-${_ver}.pl${_pver}.tar.gz" + +_builddir="$srcdir"/$pkgname-$_ver +build () +{ + cd "$_builddir" + ./configure --prefix=/usr --disable-static + make || return 1 +} + +package() { + cd "$_builddir" + make -j1 DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="7c3bd62964e5885f7733cf904089f82d libburn-1.0.6.pl00.tar.gz" diff --git a/testing/libdbusmenu-qt/APKBUILD b/testing/libdbusmenu-qt/APKBUILD new file mode 100644 index 0000000000..4148d9670a --- /dev/null +++ b/testing/libdbusmenu-qt/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=libdbusmenu-qt +pkgver=0.8.2 +pkgrel=0 +pkgdesc="library to export QMenu over DBusMenu protocol" +url="http://people.canonical.com/~agateau/dbusmenu/index.html" +arch="all" +license="LGPL" +depends= +depends_dev="qt-dev" +makedepends="$depends_dev cmake automoc4 doxygen" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://launchpad.net/libdbusmenu-qt/trunk/$pkgver/+download/libdbusmenu-qt-$pkgver.tar.bz2" + +_builddir="$srcdir"/libdbusmenu-qt-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir -p "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="88be2548e00acf988c66ed3a35844f64 libdbusmenu-qt-0.8.2.tar.bz2" diff --git a/testing/libdlna/APKBUILD b/testing/libdlna/APKBUILD new file mode 100644 index 0000000000..1f6fa2bb06 --- /dev/null +++ b/testing/libdlna/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=libdlna +pkgver=0.2.3 +pkgrel=0 +pkgdesc="An open-source implementation of DLNA (Digital Living Network Alliance) standards" +url="http://libdlna.geexbox.org" +arch="all" +license="LGPL" +depends="ctags" +depends_dev="ffmpeg-dev" +makedepends="$depends_dev" +subpackages="$pkgname-dev" +source="http://libdlna.geexbox.org/releases/$pkgname-$pkgver.tar.bz2 + Makefile.patched" +_builddir="$srcdir"/$pkgname-$pkgver +build() { + cd "$_builddir" + sed -i -e 's/cat -n/cat/' configure + sed -i 's|ffmpeg/avformat.h|libavformat/avformat.h|' ./configure src/profiles.h src/*.c || return 1 + sed -i 's|ffmpeg/avcodec.h|libavcodec/avcodec.h|' ./configure src/profiles.h src/*.c || return 1 + ./configure --prefix=/usr \ + --includedir=/usr/include/libavformat \ + --with-ffmpeg-dir=/usr/lib \ + --disable-static + cp "$srcdir"/Makefile.patched Makefile + make || return 1 +} +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="2c974f95b711e5fd07f78fc4ebfcca66 libdlna-0.2.3.tar.bz2 +5ba58c2f91079f73d80837974259d2ad Makefile.patched" diff --git a/testing/libdlna/Makefile.patched b/testing/libdlna/Makefile.patched new file mode 100644 index 0000000000..7c4a028aa2 --- /dev/null +++ b/testing/libdlna/Makefile.patched @@ -0,0 +1,64 @@ +ifeq (,$(wildcard config.mak)) +$(error "config.mak is not present, run configure !") +endif +include config.mak + +DISTFILE = libdlna-$(VERSION).tar.bz2 +PKGCONFIG_DIR = $(libdir)/pkgconfig +PKGCONFIG_FILE = libdlna.pc + +SRCS = test-libdlna.c + +EXTRADIST = AUTHORS \ + ChangeLog \ + configure \ + COPYING \ + README \ + +SUBDIRS = src \ + +CFLAGS += -Isrc +LDFLAGS += -Lsrc -ldlna + +ifeq ($(BUILD_STATIC),yes) + LDFLAGS += $(EXTRALIBS) +endif + +all: lib + +lib: + $(MAKE) -C src + +clean: + $(MAKE) -C src clean + -$(RM) -f $(LIBTEST) + +distclean: clean + -$(RM) -f config.log + -$(RM) -f config.mak + -$(RM) -f $(PKGCONFIG_FILE) + +install: install-pkgconfig + $(MAKE) -C src install + +install-pkgconfig: $(PKGCONFIG_FILE) + $(INSTALL) -d "$(PKGCONFIG_DIR)" + $(INSTALL) -m 644 $< "$(PKGCONFIG_DIR)" + +.PHONY: clean distclean +.PHONY: install install-pkgconfig + +dist: + -$(RM) $(DISTFILE) + dist=$(shell pwd)/libdlna-$(VERSION) && \ + for subdir in . $(SUBDIRS); do \ + mkdir -p "$$dist/$$subdir"; \ + $(MAKE) -C $$subdir dist-all DIST="$$dist/$$subdir"; \ + done && \ + tar cjf $(DISTFILE) libdlna-$(VERSION) + -$(RM) -rf libdlna-$(VERSION) + +dist-all: + cp $(EXTRADIST) $(SRCS) Makefile $(DIST) + +.PHONY: dist dist-all diff --git a/testing/libfetch/APKBUILD b/testing/libfetch/APKBUILD new file mode 100644 index 0000000000..fcd925cb16 --- /dev/null +++ b/testing/libfetch/APKBUILD @@ -0,0 +1,30 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=libfetch +pkgver=2.33 +pkgrel=0 +pkgdesc="URL based download library" +url="http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/net/libfetch/" +arch="all" +license="BSD" +depends= +makedepends="openssl-dev" +subpackages="$pkgname-dev $pkgname-doc" +source="Makefile + ftp://ftp.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz" + +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + cp "$srcdir"/Makefile "$_builddir" +} + +build () { + cd "$_builddir" + make +} + +package() { + cd "$_builddir" + make DESTDIR=$pkgdir install +} +md5sums="cf18907a75c67f543b1173d7f87830af Makefile +a176b94f7f30344ef8a71c047ca2136b libfetch-2.33.tar.gz" diff --git a/testing/libfetch/Makefile b/testing/libfetch/Makefile new file mode 100644 index 0000000000..9bc8c116d5 --- /dev/null +++ b/testing/libfetch/Makefile @@ -0,0 +1,93 @@ +prefix = /usr +DESTDIR = +DEBUG = false +FETCH_WITH_INET6 = true +FETCH_WITH_OPENSSL = true +FETCH_WITH_LFS = true + +WARNINGS = -Wall -Wstrict-prototypes -Wsign-compare -Wchar-subscripts \ + -Wpointer-arith -Wcast-align -Wsign-compare +CFLAGS += -O2 -pipe -I. -fPIC $(WARNINGS) + + +CFLAGS += -DFTP_COMBINE_CWDS -DNETBSD + +ifeq ($(strip $(FETCH_WITH_LFS)), true) +CFLAGS+= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES +endif + +ifeq ($(strip $(FETCH_WITH_INET6)), true) +CFLAGS+= -DINET6 +endif + +ifeq ($(strip $(FETCH_WITH_OPENSSL)), true) +CFLAGS+= -DWITH_SSL +LDFLAGS= -lssl -lcrypto +endif + +ifeq ($(strip $(DEBUG)), true) +CFLAGS += -g -DDEBUG +else +CFLAGS += -UDEBUG +endif + +CC = gcc +LD = gcc +AR = ar +RANLIB = ranlib +INSTALL = install -c -D + +OBJS= fetch.o common.o ftp.o http.o file.o +INCS= fetch.h common.h +GEN = ftperr.h httperr.h +MAN = libdownload.3 + +#pretty print! +E = @echo +Q = @ + +all: libfetch.so libfetch.a + $(E) " built with: " $(CFLAGS) +.PHONY: all + +%.o: %.c $(INCS) $(GEN) + $(E) " compile " $@ + $(Q) $(CC) $(CFLAGS) -c $< + +ftperr.h: ftp.errors + $(E) " generate " $@ + $(Q) ./errlist.sh ftp_errlist FTP ftp.errors > $@ + +httperr.h: http.errors + $(E) " generate " $@ + $(Q) ./errlist.sh http_errlist HTTP http.errors > $@ + +libfetch.so: $(GEN) $(INCS) $(OBJS) + $(E) " build " $@ + $(Q) rm -f $@ + $(Q) $(LD) $(LDFLAGS) *.o -shared -o $@ + +libfetch.a: $(GEN) $(INCS) $(OBJS) + $(E) " build " $@ + $(Q) rm -f $@ + $(Q) $(AR) rcs $@ *.o + $(Q) $(RANLIB) $@ + +clean: + $(E) " clean " + $(Q) rm -f libfetch.so libfetch.a *.o $(GEN) +.PHONY: clean + +install: all + $(Q) $(INSTALL) -m 755 libfetch.so $(DESTDIR)$(prefix)/lib/libfetch.so + $(Q) $(INSTALL) -m 644 libfetch.a $(DESTDIR)$(prefix)/lib/libfetch.a + $(Q) $(INSTALL) -m 644 fetch.h $(DESTDIR)$(prefix)/include/fetch.h + $(Q) $(INSTALL) -m 644 fetch.3 $(DESTDIR)$(prefix)/share/man/man3/fetch.3 +.PHONY: install + +uninstall: + $(Q) rm -f $(DESTDIR)$(prefix)/lib/libfetch.so + $(Q) rm -f $(DESTDIR)$(prefix)/lib/libfetch.a + $(Q) rm -f $(DESTDIR)$(prefix)/include/fetch.h + $(Q) rm -f $(DESTDIR)$(prefix)/share/man/man3/fetch.3 +.PHONY: uninstall diff --git a/testing/libgdata/APKBUILD b/testing/libgdata/APKBUILD new file mode 100644 index 0000000000..7a63c90f26 --- /dev/null +++ b/testing/libgdata/APKBUILD @@ -0,0 +1,43 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=libgdata +pkgver=0.6.6 +pkgrel=1 +pkgdesc="access library for gdata" +url="http://live.gnome.org/libgdata" +arch="all" +license="LGPL" +depends= +depends_dev="glib-dev libsoup-dev" +makedepends="$depends_dev intltool" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2" + +_builddir="${srcdir}/${pkgname}-${pkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --disable-gnome \ + --disable-scrollkeeper || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="17e736759dea67d5e9d919fab57fe703 libgdata-0.6.6.tar.bz2" diff --git a/testing/libiodbc/APKBUILD b/testing/libiodbc/APKBUILD new file mode 100644 index 0000000000..07a79ee377 --- /dev/null +++ b/testing/libiodbc/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=libiodbc +pkgver=3.52.7 +pkgrel=0 +pkgdesc="iODBC ODBC implementation" +url="http://www.iodbc.org/" +arch="all" +license="BSD" +depends= +depends_dev= +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://www.iodbc.org/downloads/iODBC/libiodbc-$pkgver.tar.gz" + +_builddir="$srcdir"/libiodbc-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --disable-gui \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="ddbd274cb31d65be6a78da58fc09079a libiodbc-3.52.7.tar.gz" diff --git a/testing/libisofs/APKBUILD b/testing/libisofs/APKBUILD new file mode 100644 index 0000000000..26d56302c6 --- /dev/null +++ b/testing/libisofs/APKBUILD @@ -0,0 +1,30 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=libisofs +pkgver=1.0.8 +pkgrel=1 +pkgdesc="Library to pack up hard disk files and directories into a ISO 9660 disk image" +url="http://libburnia.pykix.org/" +arch="all" +license="GPL" +depends="" +makedepends="acl-dev zlib-dev libiconv-dev" +subpackages="$pkgname-dev" +source="http://files.libburnia-project.org/releases/libisofs-$pkgver.tar.gz" + +_builddir="$srcdir"/$pkgname-$pkgver +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --enable-libacl \ + --enable-xattr \ + --disable-static + make || return 1 +} + +package() { + cd "$_builddir" + make -j1 DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="b404e1deeee000d90efbf8ed60360412 libisofs-1.0.8.tar.gz" diff --git a/testing/libmnl/APKBUILD b/testing/libmnl/APKBUILD new file mode 100644 index 0000000000..c3f604ab51 --- /dev/null +++ b/testing/libmnl/APKBUILD @@ -0,0 +1,28 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=libmnl +pkgver=1.0.1 +pkgrel=1 +pkgdesc="Library for minimalistic netlink" +url="http://www.netfilter.org/projects/libmnl/" +arch="all" +license="GPL" +depends= +depends_dev= +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2" +_builddir="$srcdir"/$pkgname-$pkgver +build() { + cd "$_builddir" + ./configure --prefix=/usr +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="e936236bb57a2375afa4e70e75dc3ba9 libmnl-1.0.1.tar.bz2" diff --git a/testing/libnetfilter_log/APKBUILD b/testing/libnetfilter_log/APKBUILD new file mode 100644 index 0000000000..fed9886f48 --- /dev/null +++ b/testing/libnetfilter_log/APKBUILD @@ -0,0 +1,30 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: Carlo Landmeter <clandmeter@gmail.com> +pkgname=libnetfilter_log +pkgver=0.0.16 +pkgrel=1 +pkgdesc="interface to packets that have been logged by the kernel packet filter" +url="http://www.netfilter.org/projects/libnetfilter_log/" +arch="all" +license="GPL-2" +depends="libnfnetlink" +makedepends="libnfnetlink-dev pkgconfig" +subpackages="$pkgname-dev" +source="http://www.netfilter.org/projects/libnetfilter_log/files/libnetfilter_log-0.0.16.tar.bz2" + +build() { + cd "$srcdir/$pkgname-$pkgver" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la || return 1 +} + +md5sums="4ffcf46dad9d0c81f6611dd185639694 libnetfilter_log-0.0.16.tar.bz2" diff --git a/testing/libplist/APKBUILD b/testing/libplist/APKBUILD new file mode 100644 index 0000000000..c4e2ff487d --- /dev/null +++ b/testing/libplist/APKBUILD @@ -0,0 +1,48 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=libplist +pkgver=1.4 +pkgrel=1 +pkgdesc="A library to handle Apple Property List format whereas it's binary or XML" +url="http://libimobiledevice.org/" +arch="all" +license="GPL2 LGPL2.1" +depends="" +depends_dev="libxml2-dev glib-dev" +makedepends="cmake swig python-dev $depends_dev" +subpackages="$pkgname-dev py-$pkgname:py $pkgname-util $pkgname++:cxx" +source="http://www.libimobiledevice.org/downloads/libplist-$pkgver.tar.bz2" + +_builddir="$srcdir"/build +_src="$srcdir"/$pkgname-$pkgver +build() { + cd "$srcdir" + mkdir -p "$_builddir" + cd "$_builddir" + cmake "$_src" -DCMAKE_SKIP_RPATH=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +util() { + pkgdesc="Util for libplist" + mkdir -p "$subpkgdir"/usr + mv "$pkgdir"/usr/bin "$subpkgdir"/usr/ +} + +py() { + pkgdesc="Python bindings for libplist" + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/python* "$subpkgdir"/usr/lib/ +} + +cxx() { + pkgdesc="C++ bindings to libplist" + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/*++.so.* "$subpkgdir"/usr/lib/ +} + +md5sums="2ef8bf33d9aeb078c6d8b6ecafbc6396 libplist-1.4.tar.bz2" diff --git a/testing/libprojectm/APKBUILD b/testing/libprojectm/APKBUILD new file mode 100644 index 0000000000..bbd10f1c2c --- /dev/null +++ b/testing/libprojectm/APKBUILD @@ -0,0 +1,43 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=libprojectm +pkgver=2.0.1 +pkgrel=0 +pkgdesc="milkdrop-like music visualizer using opengl" +url="http://projectm.sourceforge.net/" +arch="all" +license="LGPL" +depends= +depends_dev="mesa-dev ftgl-dev glew-dev" +makedepends="cmake $depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://downloads.sourceforge.net/projectm/projectM-${pkgver}-Source.tar.gz + projectm-isnan.patch" + +_srcdir="$srcdir/projectM-${pkgver}-Source" +_builddir="$srcdir/build" +prepare() { + local i + mkdir -p "$_builddir" + cd "$_srcdir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + cmake -DCMAKE_INSTALL_PREFIX=/usr "$_srcdir" + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="f8bf795878cdbbef54784cf2390b4c89 projectM-2.0.1-Source.tar.gz +0090aaeb6f4df4600ffadfc7b7c0e732 projectm-isnan.patch" diff --git a/testing/libprojectm/projectm-isnan.patch b/testing/libprojectm/projectm-isnan.patch new file mode 100644 index 0000000000..d8738e709c --- /dev/null +++ b/testing/libprojectm/projectm-isnan.patch @@ -0,0 +1,20 @@ +--- projectM-2.0.1-Source/Common.hpp ++++ projectM-2.0.1-Source.mod/Common.hpp +@@ -30,6 +30,7 @@ + #include <typeinfo> + #include <cstdarg> + #include <cassert> ++#include <math.h> + #ifdef _MSC_sVER + #define strcasecmp(s, t) _strcmpi(s, t) + #endif +@@ -55,7 +56,7 @@ + + #ifdef LINUX + #include <cstdlib> +-#define projectM_isnan isnan ++#define projectM_isnan __isnan + + #endif + + diff --git a/testing/libsieve/APKBUILD b/testing/libsieve/APKBUILD new file mode 100644 index 0000000000..60ad88a337 --- /dev/null +++ b/testing/libsieve/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: +pkgname=libsieve +pkgver=2.2.7 +pkgrel=0 +pkgdesc="Sieve interpretator lib" +url="http://libsieve.sourceforge.net/" +arch="all" +license="GPL" +depends= +depends_dev= +makedepends="$depends_dev flex" +install="" +subpackages="$pkgname-dev" +source="http://downloads.sourceforge.net/sourceforge/libsieve/libsieve-$pkgver.tar.gz" + +_builddir="$srcdir/$pkgname-$pkgver/src" + +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="7415e7cfe40cfc6cf43ae26efb5f0fb7 libsieve-2.2.7.tar.gz" diff --git a/testing/libsyncml/APKBUILD b/testing/libsyncml/APKBUILD new file mode 100644 index 0000000000..550f4b40f4 --- /dev/null +++ b/testing/libsyncml/APKBUILD @@ -0,0 +1,33 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=libsyncml +pkgver=0.5.4 +pkgrel=1 +pkgdesc="Implementation of the SyncML protocol" +url="http://libsyncml.opensync.org/" +arch="all" +license="LGPL-2.1" +depends= +makedepends="glib-dev libxml2-dev libwbxml-dev openobex-dev bluez-dev cmake" +install= +subpackages="$pkgname-dev" +source="http://downloads.sourceforge.net/libsyncml/libsyncml-$pkgver.tar.bz2" + +_srcdir="$srcdir"/$pkgname-$pkgver +_builddir="$srcdir"/build + +prepare() { + mkdir -p "$_builddir" +} + +build() { + cd "$_builddir" + cmake -DCMAKE_INSTALL_PREFIX=/usr "$_srcdir" + make +} + +package() { + cd "$_builddir" + make install DESTDIR="$pkgdir" +} + +md5sums="b8ce1f222cccc12acdcd6807d65c1aea libsyncml-0.5.4.tar.bz2" diff --git a/testing/libupnp/APKBUILD b/testing/libupnp/APKBUILD new file mode 100644 index 0000000000..4964dd5110 --- /dev/null +++ b/testing/libupnp/APKBUILD @@ -0,0 +1,29 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=libupnp +pkgver=1.6.13 +pkgrel=0 +pkgdesc="Portable Open Source UPnP Development Kit" +url="http://pupnp.sourceforge.net/" +arch="all" +license="BSD" +depends= +depends_dev= +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://downloads.sourceforge.net/sourceforge/pupnp/${pkgname}-${pkgver}.tar.bz2" +_builddir="$srcdir"/$pkgname-$pkgver +build() { + cd "$_builddir" + ./configure --prefix=/usr + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/custom/${pkgname}/LICENSE +} + +md5sums="71476b1781ad179bfc9bead640be5f54 libupnp-1.6.13.tar.bz2" diff --git a/testing/liburiparser/APKBUILD b/testing/liburiparser/APKBUILD new file mode 100644 index 0000000000..05da3c0324 --- /dev/null +++ b/testing/liburiparser/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: +# Maintainer: +pkgname=liburiparser +pkgver=0.7.5 +pkgrel=0 +pkgdesc="A strictly RFC 3986 compliant URI parsing and handling library" +url="http://uriparser.sourceforge.net/" +arch="all" +license="BSD" +depends= +depends_dev= +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://downloads.sourceforge.net/sourceforge/uriparser/uriparser-${pkgver}.tar.gz" + +_builddir="${srcdir}"/"uriparser-${pkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --disable-test --disable-doc + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="459c2786758929b92bfbd0cee25b5aa0 uriparser-0.7.5.tar.gz" diff --git a/testing/libwbxml/APKBUILD b/testing/libwbxml/APKBUILD new file mode 100644 index 0000000000..190e3ca4ac --- /dev/null +++ b/testing/libwbxml/APKBUILD @@ -0,0 +1,34 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=libwbxml +pkgver=0.10.8 +pkgrel=0 +pkgdesc="libwbxml is a library to encode and decode WAP Binary XML" +url="https://libwbxml.opensync.org" +arch="all" +license="LGPL" +depends= +makedepends="cmake expat-dev" +depends_dev="libxml2-dev" +install= +subpackages="$pkgname-dev $pkgname-doc" +source="http://downloads.sourceforge.net/libwbxml/libwbxml-$pkgver.tar.bz2" + +_srcdir="$srcdir"/$pkgname-$pkgver +_builddir="$srcdir"/build + +prepare() { + mkdir -p "$_builddir" +} + +build() { + cd "$_builddir" + cmake -DCMAKE_INSTALL_PREFIX=/usr "$_srcdir" + make +} + +package() { + cd "$_builddir" + make install DESTDIR="$pkgdir" +} + +md5sums="7b51c425fc2ff9f502cd9b1e291b1955 libwbxml-0.10.8.tar.bz2" diff --git a/testing/libwmf/APKBUILD b/testing/libwmf/APKBUILD new file mode 100644 index 0000000000..ddfc4f16e7 --- /dev/null +++ b/testing/libwmf/APKBUILD @@ -0,0 +1,37 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=libwmf +pkgver=0.2.8.4 +pkgrel=2 +pkgdesc="A library for reading vector images in Microsoft's native Windows Metafile Format (WMF)." +url="http://wvware.sourceforge.net/libwmf.html" +arch="all" +license="LGPL" +makedepends="libpng-dev>=1.4.0 freetype-dev jpeg-dev>=8 expat-dev" +install= +subpackages="$pkgname-dev" +source="http://downloads.sourceforge.net/sourceforge/wvware/$pkgname-$pkgver.tar.gz + libpng14.patch" + +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + cd "$_builddir" + patch -Np1 -i ""$srcdir"/libpng14.patch" || return 1 + sed -i -e 's/src include fonts doc/src include fonts/g' Makefile.in +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --with-gsfontdir=/usr/share/fonts/Type1 \ + --with-fontdir=/usr/share/fonts/Type1 \ + --with-gsfontmap=/usr/share/ghostscript/8.15/lib/Fontmap.GS + make || return 1 +} + +package() { + cd "$_builddir" + make -j1 DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la || return 1 +} +md5sums="d1177739bf1ceb07f57421f0cee191e0 libwmf-0.2.8.4.tar.gz +33d3c07a1be9f99fd88de220930c5550 libpng14.patch" diff --git a/testing/libwmf/libpng14.patch b/testing/libwmf/libpng14.patch new file mode 100644 index 0000000000..3d38c717aa --- /dev/null +++ b/testing/libwmf/libpng14.patch @@ -0,0 +1,12 @@ +diff -Nur libwmf-0.2.8.4.orig/src/extra/gd/gd_png.c libwmf-0.2.8.4/src/extra/gd/gd_png.c +--- libwmf-0.2.8.4.orig/src/extra/gd/gd_png.c 2005-07-27 23:35:06.000000000 +0300 ++++ libwmf-0.2.8.4/src/extra/gd/gd_png.c 2010-01-17 01:33:58.000000000 +0200 +@@ -136,7 +136,7 @@ + /* first do a quick check that the file really is a PNG image; could + * have used slightly more general png_sig_cmp() function instead */ + gdGetBuf (sig, 8, infile); +- if (!png_check_sig (sig, 8)) ++ if (png_sig_cmp (sig, 0, 8)) + return NULL; /* bad signature */ + + #ifndef PNG_SETJMP_NOT_SUPPORTED diff --git a/testing/libxdg-basedir/APKBUILD b/testing/libxdg-basedir/APKBUILD new file mode 100644 index 0000000000..17d56fdde5 --- /dev/null +++ b/testing/libxdg-basedir/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=libxdg-basedir +pkgver=1.1.1 +pkgrel=1 +pkgdesc="library for XDG base dir specification" +url="http://n.ethz.ch/~nevillm/download/libxdg-basedir/" +arch="all" +license="MIT" +depends= +depends_dev= +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://n.ethz.ch/~nevillm/download/libxdg-basedir/${pkgname}-${pkgver}.tar.gz" + +_builddir="${srcdir}/${pkgname}-${pkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="7c64a28b08c8fdf6c8a95b0d5f1497b0 libxdg-basedir-1.1.1.tar.gz" diff --git a/testing/libzdb/APKBUILD b/testing/libzdb/APKBUILD new file mode 100644 index 0000000000..bf53fe27af --- /dev/null +++ b/testing/libzdb/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: +pkgname=libzdb +pkgver=2.8.1 +pkgrel=0 +pkgdesc="A thread-safe high level multi-database connection pool library" +url="http://www.tildeslash.com/libzdb/" +arch="all" +license="GPL" +depends= +depends_dev="sqlite-dev mysql-dev postgresql-dev" +makedepends="$depends_dev flex" +install="" +subpackages="$pkgname-dev" +source="http://www.tildeslash.com/libzdb/dist/libzdb-$pkgver.tar.gz" + +_builddir="$srcdir/$pkgname-$pkgver" + +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --enable-optimized \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="6b27930096a499eaea4ce5c65bb35e03 libzdb-2.8.1.tar.gz" diff --git a/testing/linux-pam/APKBUILD b/testing/linux-pam/APKBUILD new file mode 100644 index 0000000000..3ab15a20fd --- /dev/null +++ b/testing/linux-pam/APKBUILD @@ -0,0 +1,77 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=linux-pam +pkgver=1.1.3 +pkgrel=3 +pkgdesc="pluggable authentication modules for linux" +url="http://www.kernel.org/pub/linux/libs/pam" +arch="all" +license="BSD" +depends= +depends_dev="gettext-dev" +makedepends="$depends_dev bison flex" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://www.kernel.org/pub/linux/libs/pam/library/Linux-PAM-$pkgver.tar.bz2 + linux-pam-innetgr.patch + base-auth.pamd + base-account.pamd + base-password.pamd + base-session.pamd + base-session-noninteractive.pamd + other.pamd" + +_builddir="$srcdir"/Linux-PAM-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --libdir=/lib \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --disable-nls \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + + # do not install pam.d files bundled with the source, they could be broken + rm -rf "$pkgdir"/etc/pam.d + + # install our pam.d files + mkdir "$pkgdir"/etc/pam.d + for i in $source; do + case $i in + *.pamd) + basename=$(echo $i | cut -d. -f1) + cp "$srcdir"/$i "$pkgdir"/etc/pam.d/"$basename" + ;; + esac + done + + # delete pointless libtool archives. + rm -rf "$pkgdir"/lib/security/*.la +} + +md5sums="6db7fcb5db6253350e3a4648ceac40e7 Linux-PAM-1.1.3.tar.bz2 +c309401e103cc86e8b25557ff3eb0b53 linux-pam-innetgr.patch +aa5bb7c9d8e4687aea1ae69b7447254a base-auth.pamd +fafcf29cb9bab788cb4933106be31883 base-account.pamd +117535e4938f478efced1398b408cf96 base-password.pamd +baec6808544bf6cebc59e07467f8c213 base-session.pamd +afbdd8eb4db5c31dfd8e8da35c698b90 base-session-noninteractive.pamd +b8e839ece64df173f16d28520eb8d66c other.pamd" diff --git a/testing/linux-pam/base-account.pamd b/testing/linux-pam/base-account.pamd new file mode 100644 index 0000000000..591092944d --- /dev/null +++ b/testing/linux-pam/base-account.pamd @@ -0,0 +1,3 @@ +# basic PAM configuration for Alpine. + +account required pam_unix.so diff --git a/testing/linux-pam/base-auth.pamd b/testing/linux-pam/base-auth.pamd new file mode 100644 index 0000000000..012445aa3a --- /dev/null +++ b/testing/linux-pam/base-auth.pamd @@ -0,0 +1,5 @@ +# basic PAM configuration for Alpine. + +auth required pam_env.so +auth required pam_unix.so nullok_secure +auth required pam_nologin.so successok diff --git a/testing/linux-pam/base-password.pamd b/testing/linux-pam/base-password.pamd new file mode 100644 index 0000000000..a146a93fe5 --- /dev/null +++ b/testing/linux-pam/base-password.pamd @@ -0,0 +1,3 @@ +# basic PAM configuration for Alpine. + +password required pam_unix.so nullok obscure md5 sha512 diff --git a/testing/linux-pam/base-session-noninteractive.pamd b/testing/linux-pam/base-session-noninteractive.pamd new file mode 100644 index 0000000000..85e07d5943 --- /dev/null +++ b/testing/linux-pam/base-session-noninteractive.pamd @@ -0,0 +1,4 @@ +# basic PAM configuration for Alpine. + +session required pam_limits.so +session required pam_unix.so diff --git a/testing/linux-pam/base-session.pamd b/testing/linux-pam/base-session.pamd new file mode 100644 index 0000000000..bf5bcb7344 --- /dev/null +++ b/testing/linux-pam/base-session.pamd @@ -0,0 +1,4 @@ +# basic PAM configuration for Alpine. + +session include base-session-noninteractive +session required pam_motd.so diff --git a/testing/linux-pam/linux-pam-innetgr.patch b/testing/linux-pam/linux-pam-innetgr.patch new file mode 100644 index 0000000000..a94fa3dae5 --- /dev/null +++ b/testing/linux-pam/linux-pam-innetgr.patch @@ -0,0 +1,54 @@ +--- Linux-PAM-1.1.3.orig/modules/pam_group/pam_group.c ++++ Linux-PAM-1.1.3/modules/pam_group/pam_group.c +@@ -658,10 +658,13 @@ + continue; + } + /* If buffer starts with @, we are using netgroups */ ++#ifdef HAVE_INNETGR + if (buffer[0] == '@') + good &= innetgr (&buffer[1], NULL, user, NULL); + /* otherwise, if the buffer starts with %, it's a UNIX group */ +- else if (buffer[0] == '%') ++ else ++#endif ++ if (buffer[0] == '%') + good &= pam_modutil_user_in_group_nam_nam(pamh, user, &buffer[1]); + else + good &= logic_field(pamh,user, buffer, count, is_same); +--- Linux-PAM-1.1.3.orig/modules/pam_succeed_if/pam_succeed_if.c ++++ Linux-PAM-1.1.3/modules/pam_succeed_if/pam_succeed_if.c +@@ -233,16 +233,20 @@ + static int + evaluate_innetgr(const char *host, const char *user, const char *group) + { ++#ifdef HAVE_INNETGR + if (innetgr(group, host, user, NULL) == 1) + return PAM_SUCCESS; ++#endif + return PAM_AUTH_ERR; + } + /* Return PAM_SUCCESS if the (host,user) is NOT in the netgroup. */ + static int + evaluate_notinnetgr(const char *host, const char *user, const char *group) + { ++#ifdef HAVE_INNETGR + if (innetgr(group, host, user, NULL) == 0) + return PAM_SUCCESS; ++#endif + return PAM_AUTH_ERR; + } + +--- Linux-PAM-1.1.3.orig/modules/pam_time/pam_time.c ++++ Linux-PAM-1.1.3/modules/pam_time/pam_time.c +@@ -554,9 +554,11 @@ + continue; + } + /* If buffer starts with @, we are using netgroups */ ++#ifdef HAVE_INNETGR + if (buffer[0] == '@') + good &= innetgr (&buffer[1], NULL, user, NULL); + else ++#endif + good &= logic_field(pamh, user, buffer, count, is_same); + D(("with user: %s", good ? "passes":"fails" )); + diff --git a/testing/linux-pam/other.pamd b/testing/linux-pam/other.pamd new file mode 100644 index 0000000000..8c9797e718 --- /dev/null +++ b/testing/linux-pam/other.pamd @@ -0,0 +1,6 @@ +# basic PAM configuration for Alpine. + +auth include base-auth +account include base-account +password include base-password +session include base-session-noninteractive diff --git a/testing/llvm/APKBUILD b/testing/llvm/APKBUILD new file mode 100644 index 0000000000..fb96a8c547 --- /dev/null +++ b/testing/llvm/APKBUILD @@ -0,0 +1,57 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=llvm +pkgver=2.8 +pkgrel=0 +pkgdesc="low level virtual machine compiler system" +arch="all" +url="http://llvm.org/" +license="UOI-NCSA" +depends= +makedepends="groff perl" +install= +subpackages="$pkgname-dev $pkgname-doc" +source="http://llvm.org/releases/$pkgver/llvm-$pkgver.tgz + http://llvm.org/releases/$pkgver/clang-$pkgver.tgz + llvm-uclibc-errno-fsckery.patch" + +_builddir="$srcdir"/build + +prepare() { + mkdir "$_builddir" + + msg "Preparing CLANG sources..." + + mv "$srcdir"/clang-$pkgver "$srcdir"/$pkgname-$pkgver/tools/clang + + msg "Patching LLVM core..." + + cd "$srcdir"/$pkgname-$pkgver + + for i in $source; do + case $i in + *.patch) + msg "Applying $i..." + patch -s -p1 -N -i "$srcdir"/$i || return 1 + ;; + esac + done +} + +build() { + cd "$_builddir" + ../$pkgname-$pkgver/configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install +} + +md5sums="220d361b4d17051ff4bb21c64abe05ba llvm-2.8.tgz +10e14c901fc3728eecbd5b829e011b59 clang-2.8.tgz +089441aa2369c90a0fd0edaa311cb7d6 llvm-uclibc-errno-fsckery.patch" diff --git a/testing/llvm/llvm-uclibc-errno-fsckery.patch b/testing/llvm/llvm-uclibc-errno-fsckery.patch new file mode 100644 index 0000000000..a7335f2684 --- /dev/null +++ b/testing/llvm/llvm-uclibc-errno-fsckery.patch @@ -0,0 +1,86 @@ +--- llvm-2.8/lib/Support/CommandLine.cpp ++++ llvm-2.8.mod/lib/Support/CommandLine.cpp +@@ -31,7 +31,10 @@ + #include "llvm/ADT/StringMap.h" + #include "llvm/ADT/Twine.h" + #include "llvm/Config/config.h" +-#include <cerrno> ++ ++#include <asm-generic/errno-base.h> ++extern __thread int errno; ++ + #include <cstdlib> + using namespace llvm; + using namespace cl; +--- llvm-2.8/lib/Support/raw_ostream.cpp ++++ llvm-2.8.mod/lib/Support/raw_ostream.cpp +@@ -22,7 +22,10 @@ + #include "llvm/System/Signals.h" + #include "llvm/ADT/STLExtras.h" + #include <cctype> +-#include <cerrno> ++ ++#include <asm-generic/errno-base.h> ++extern __thread int errno; ++ + #include <sys/stat.h> + #include <sys/types.h> + +--- llvm-2.8/lib/System/Errno.cpp ++++ llvm-2.8.mod/lib/System/Errno.cpp +@@ -14,13 +14,11 @@ + #include "llvm/System/Errno.h" + #include "llvm/Config/config.h" // Get autoconf configuration settings + ++extern __thread int errno; ++ + #if HAVE_STRING_H + #include <string.h> + +-#if HAVE_ERRNO_H +-#include <errno.h> +-#endif +- + //===----------------------------------------------------------------------===// + //=== WARNING: Implementation here must contain only TRULY operating system + //=== independent code. +@@ -29,11 +27,9 @@ + namespace llvm { + namespace sys { + +-#if HAVE_ERRNO_H + std::string StrError() { + return StrError(errno); + } +-#endif // HAVE_ERRNO_H + + std::string StrError(int errnum) { + const int MaxErrStrLen = 2000; +--- llvm-2.8/lib/System/Unix/Unix.h ++++ llvm-2.8.mod/lib/System/Unix/Unix.h +@@ -24,7 +24,10 @@ + #include <cstdlib> + #include <cstdio> + #include <cstring> +-#include <cerrno> ++ ++#include <asm-generic/errno-base.h> ++extern __thread int errno; ++ + #include <string> + #include <algorithm> + +--- llvm-2.8/utils/TableGen/TGLexer.cpp ++++ llvm-2.8.mod/utils/TableGen/TGLexer.cpp +@@ -19,7 +19,10 @@ + #include <cstdio> + #include <cstdlib> + #include <cstring> +-#include <cerrno> ++ ++#include <asm-generic/errno-base.h> ++extern __thread int errno; ++ + using namespace llvm; + + TGLexer::TGLexer(SourceMgr &SM) : SrcMgr(SM) { diff --git a/testing/lua-augeas/APKBUILD b/testing/lua-augeas/APKBUILD new file mode 100644 index 0000000000..f8748cc6a4 --- /dev/null +++ b/testing/lua-augeas/APKBUILD @@ -0,0 +1,30 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=lua-augeas +pkgver=0.1 +pkgrel=2 +pkgdesc="Lua bindings for Augeas" +url="http://git.alpinelinux.org/cgit/lua-augeas/" +arch="all" +license="LGPL" +depends= +makedepends="lua-dev pkgconfig augeas-dev" +install= +subpackages= +source="http://git.alpinelinux.org/cgit/lua-augeas.git/snapshot/lua-augeas-$pkgver.tar.bz2" + +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + cd "$_builddir" +} + +build() { + cd "$_builddir" + make CFLAGS="${CFLAGS} -fPIC" || return 1 +} + +package() { + cd "$_builddir" + install -D augeas.so "$pkgdir"/usr/lib/lua/5.1/augeas.so +} + +md5sums="7b25097b785ee6b2dc09f0bb69a30a6b lua-augeas-0.1.tar.bz2" diff --git a/testing/lua-crypto/APKBUILD b/testing/lua-crypto/APKBUILD new file mode 100644 index 0000000000..09e1ecc353 --- /dev/null +++ b/testing/lua-crypto/APKBUILD @@ -0,0 +1,26 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=lua-crypto +pkgver=0.2.0 +pkgrel=3 +pkgdesc="a Lua frontend to the OpenSSL cryptographic library" +url="http://luacrypto.luaforge.net/" +arch="all" +license="MIT/X11" +depends= +makedepends="lua-dev openssl-dev" +install= +subpackages= +source="http://luaforge.net/frs/download.php/1722/luacrypto-0.2.0.tar.gz" + +_builddir="$srcdir"/luacrypto-$pkgver +build() { + cd "$_builddir" + make LUA_VERSION_NUM=510 CFLAGS="$CFLAGS -fPIC" COMPAT_O= +} + +package() { + cd "$_builddir" + make COMPAT_O= LUA_LIBDIR="$pkgdir"/usr/lib/lua/5.1 install +} + +md5sums="1e1319d960f0760b113b3e7ad9a3607d luacrypto-0.2.0.tar.gz" diff --git a/testing/lua-curl/APKBUILD b/testing/lua-curl/APKBUILD new file mode 100644 index 0000000000..501728da55 --- /dev/null +++ b/testing/lua-curl/APKBUILD @@ -0,0 +1,28 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=lua-curl +pkgver=0.2 +pkgrel=1 +pkgdesc="Lua bindings to cURL library" +url="http://lua-curl.luaforge.net/" +arch="all" +license="MIT/X11" +depends= +makedepends="lua-dev curl-dev pkgconfig" +install= +subpackages="" +source="http://luaforge.net/frs/download.php/2634/lua-curl-0.2.tar.gz" + +_builddir="$srcdir"/lua-curl-$pkgver +build() { + cd "$_builddir" + ./configure --prefix=/usr + make +} + +package() { + cd "$_builddir" + make install DESTDIR="$pkgdir" + rm -f "$pkgdir"/usr/lib/lua/5.1/cURL.la +} + +md5sums="c15599e1147f76261f03a00088946d9d lua-curl-0.2.tar.gz" diff --git a/testing/lua-ev/APKBUILD b/testing/lua-ev/APKBUILD new file mode 100644 index 0000000000..a9a46d060e --- /dev/null +++ b/testing/lua-ev/APKBUILD @@ -0,0 +1,42 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=lua-ev +pkgver=1.3 +pkgrel=0 +pkgdesc="Lua bindings to libev" +url="https://github.com/brimworks/lua-ev" +arch="all" +license="MIT" +depends= +makedepends="lua-dev cmake libev-dev wget" +install= +subpackages="$pkgname-doc" +source="https://github.com/downloads/brimworks/lua-ev/lua-ev-v$pkgver.tar.gz" + +_builddir="$srcdir"/lua-ev-v$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DINSTALL_CMOD=/usr/lib/lua/5.1/ \ + . || return 1 + make || return 1 + install -Dm644 README "$pkgdir"/usr/share/doc/$pkgname/README +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="4b3703d82711407be6ca5ef793b0cf57 lua-ev-v1.3.tar.gz" diff --git a/testing/lxc/APKBUILD b/testing/lxc/APKBUILD new file mode 100644 index 0000000000..10f55deebc --- /dev/null +++ b/testing/lxc/APKBUILD @@ -0,0 +1,52 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=lxc +pkgver=0.7.4 +_mypkgver=${pkgver/_rc/-rc} +pkgrel=3 +pkgdesc="linux containers - tools" +url="http://lxc.sourceforge.net/" +arch="all" +license="GPL" +depends= +depends_dev="libcap-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://lxc.sourceforge.net/download/lxc/$pkgname-$_mypkgver.tar.gz + lxc.initd + setup-lxc-template + setup-lxc-guest + " + +_builddir="${srcdir}/${pkgname}-${_mypkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + install -Dm755 "$srcdir"/lxc.initd "$pkgdir"/etc/init.d/lxc + install -Dm755 "$srcdir"/setup-lxc-template "$pkgdir"/usr/bin/setup-lxc-template + install -Dm755 "$srcdir"/setup-lxc-guest "$pkgdir"/usr/bin/setup-lxc-guest +} + +md5sums="51bb5d7d9d22e2c98490aed47fc02ad9 lxc-0.7.4.tar.gz +e66c3cf8e70168b07060746a4e65b671 lxc.initd +45d0f604310e58a1359f1745a4739843 setup-lxc-template +c3f7fd7e85d40c4a4b1b427048ff9652 setup-lxc-guest" diff --git a/testing/lxc/lxc.initd b/testing/lxc/lxc.initd new file mode 100644 index 0000000000..86bae5f757 --- /dev/null +++ b/testing/lxc/lxc.initd @@ -0,0 +1,114 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/lxc/files/lxc.initd,v 1.3 2011/02/26 18:02:51 flameeyes Exp $ + +CONTAINER=${SVCNAME#*.} +CONFIGFILE=${CONFIGFILE:-/etc/lxc/${CONTAINER}.conf} + +lxc_get_var() { + awk 'BEGIN { FS="[ \t]*=[ \t]*" } $1 == "'$1'" { print $2; exit }' ${CONFIGFILE} +} + +cgroup_get_mount() { + mount | awk '$5 == "cgroup" { print $3; exit }' +} + +checkconfig() { + if [ ${CONTAINER} = ${SVCNAME} ]; then + eerror "You have to create an init script for each container:" + eerror " ln -s lxc /etc/init.d/lxc.container" + return 1 + fi + + utsname=$(lxc_get_var lxc.utsname) + if [ ${CONTAINER} != ${utsname} ]; then + eerror "You should use the same name for the service and the" + eerror "container. Right now the container is called ${utsname}" + return 1 + fi +} + +depend() { + # be quiet, since we have to run depend() also for the + # non-muxed init script, unfortunately. + checkconfig 2>/dev/null || return 0 + + config ${CONFIGFILE} + need localmount + + # find out which network interface the container is linked to, + # and then require that to be enabled, so that the + # dependencies are correct. + netif=$(lxc_get_var lxc.network.link) + [ -n "${netif}" ] && need net.${netif} +} + +start() { + checkconfig || return 1 + + # make sure that cgroup is mounted if it isn't already, this + # ensures that we can actually proceed! + cgroupmount=$(cgroup_get_mount) + if [ -z ${cgroupmount} ]; then + mkdir -p /cgroup + + if ! mount -t cgroup cgroup /cgroup; then + eerror "Unable to mount cgroup pseudo-filesystem on /cgroup" + return 1 + fi + + cgroupmount=/cgroup + fi + + rm /var/log/lxc/${CONTAINER}.log + + rootpath=$(lxc_get_var lxc.rootfs) + + # Check the format of our init and the chroot's init, to see if we + # have to use linux32 or linux64… + case $(scanelf -BF '%M#f' /sbin/init ${rootpath}/sbin/init | tr '\n' ':') in + ELFCLASS64:ELFCLASS64:) setarch=;; + ELFCLASS32:ELFCLASS32:) setarch=;; + ELFCLASS32:ELFCLASS64:) setarch=linux64;; + ELFCLASS64:ELFCLASS32:) setarch=linux32;; + esac + + ebegin "Starting ${CONTAINER}" + ${setarch} lxc-start -l WARN -n ${CONTAINER} -f ${CONFIGFILE} -d -o /var/log/lxc/${CONTAINER}.log + sleep 0.5 + + # lxc-start -d will _always_ report a correct startup, even if it + # failed, so rather than trust that, check that the cgroup exists. + [ -d ${cgroupmount}/${CONTAINER} ] + eend $? +} + +stop() { + checkconfig || return 1 + + cgroupmount=$(cgroup_get_mount) + + if ! [ -d ${cgroupmount}/${CONTAINER} ]; then + ewarn "${CONTAINER} doesn't seem to be started." + return 0 + fi + + init_pid=$(head -n1 ${cgroupmount}/${CONTAINER}/tasks) + + ebegin "Shutting down system in ${CONTAINER}" + kill -INT ${init_pid} + eend $? + + sleep 15 + + missingprocs=$(pgrep -P ${init_pid}) + + if [ -n "${missingprocs}" ]; then + ewarn "Something failed to properly shut down in ${CONTAINER}" + fi + + ebegin "Stopping ${CONTAINER}" + lxc-stop -n ${CONTAINER} + eend $? +} diff --git a/testing/lxc/setup-lxc-guest b/testing/lxc/setup-lxc-guest new file mode 100755 index 0000000000..0519ae0299 --- /dev/null +++ b/testing/lxc/setup-lxc-guest @@ -0,0 +1,282 @@ +#!/bin/sh + +# simple script to set up a new lxc guest +# test the first argument against the remaining ones, return success on a match +isin() { + local _a=$1 _b + + shift + for _b; do + [ "$_a" = "$_b" ] && return 0 + done + return 1 +} + +# remove all occurrences of first argument from list formed by +# the remaining arguments +rmel() { + local _a=$1 _b + + shift + for _b; do + [ "$_a" != "$_b" ] && echo -n "$_b " + done +} + +# Issue a read into the global variable $resp. +_ask() { + local _redo=0 + + read resp + case "$resp" in + !) echo "Type 'exit' to return to setup." + sh + _redo=1 + ;; + !*) eval "${resp#?}" + _redo=1 + ;; + esac + return $_redo +} + +# Ask for user input. +# +# $1 = the question to ask the user +# $2 = the default answer +# +# Save the user input (or the default) in $resp. +# +# Allow the user to escape to shells ('!') or execute commands +# ('!foo') before entering the input. +ask() { + local _question=$1 _default=$2 + + while :; do + echo -n "$_question " + [ -z "$_default" ] || echo -n "[$_default] " + _ask && : ${resp:=$_default} && break + done +} + +# Ask for user input until a non-empty reply is entered. +# +# $1 = the question to ask the user +# $2 = the default answer +# +# Save the user input (or the default) in $resp. +ask_until() { + resp= + while [ -z "$resp" ] ; do + ask "$1" "$2" + done +} + +# Ask for the user to select one value from a list, or 'done'. +# +# $1 = name of the list items (disk, cd, etc.) +# $2 = question to ask +# $3 = list of valid choices +# $4 = default choice, if it is not specified use the first item in $3 +# +# N.B.! $3 and $4 will be "expanded" using eval, so be sure to escape them +# if they contain spooky stuff +# +# At exit $resp holds selected item, or 'done' +ask_which() { + local _name=$1 _query=$2 _list=$3 _def=$4 _dynlist _dyndef + + while :; do + # Put both lines in ask prompt, rather than use a + # separate 'echo' to ensure the entire question is + # re-ask'ed after a '!' or '!foo' shell escape. + eval "_dynlist=\"$_list\"" + eval "_dyndef=\"$_def\"" + + # Clean away whitespace and determine the default + set -o noglob + set -- $_dyndef; _dyndef="$1" + set -- $_dynlist; _dynlist="$*" + set +o noglob + [ $# -lt 1 ] && resp=done && return + + : ${_dyndef:=$1} + echo "Available ${_name}s are: $_dynlist." + echo -n "Which one $_query? (or 'done') " + [ -n "$_dyndef" ] && echo -n "[$_dyndef] " + _ask || continue + [ -z "$resp" ] && resp="$_dyndef" + + # Quote $resp to prevent user from confusing isin() by + # entering something like 'a a'. + isin "$resp" $_dynlist done && break + echo "'$resp' is not a valid choice." + done +} + +# Ask for user input until a non-empty reply is entered. +# +# $1 = the question to ask the user +# $2 = the default answer +# +# Save the user input (or the default) in $resp. +ask_until() { + resp= + while [ -z "$resp" ] ; do + ask "$1" "$2" + done +} + +# http://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names +valid_hostname() { + # check length + if [ $(echo "$1" | wc -c) -gt 63 ]; then + echo "Hostname '$1' is too long." + return 1 + fi + # check that it only contains valid chars + if ! [ -z "$(echo $1 | sed 's/[0-9a-z-]//g')" ]; then + echo "Hostname must only contain letters (a-z), digits (0-9) or -" + return 1 + fi + # must not start with - + case "$1" in + -*) echo "Hostname must not start with a '-'"; return 1;; + esac + return 0 +} + +# return last ipv4 address and mask +# +# $1 = interface +# +last_ipv4_addr_mask() { + local _iface=$1 + ip addr show dev $_iface | awk '$1 == "inet" {print $2}' | tail -n1 +} + +valid_ip_and_prefix() { + [ "$1" ] || return 0 + ipcalc -s -m $1 >/dev/null 2>&1 && ! ipcalc -s -m $1/0 >/dev/null 2>&1 +} + +# ask for hostname +# +# $1 = default +# +# retrusn hostname in global var $resp +# +ask_hostname() { + while true; do + ask "Hostname for new lxc container:" $1 + if [ -d /var/lib/lxc/$resp ]; then + echo "/var/lib/lxc/$resp already exist" + continue + fi + if [ -d /lxc/$resp ]; then + echo "/lxc/$resp already exist" + continue + fi + valid_hostname $resp && break + done +} + +ask_ifaceopts() { + # get ip address(es) + resp= + local ifaceopts= _def= _iface= + local ifaces=$(ip addr | awk -F: '$1 ~ /^[0-9]/ {printf "%s" $2} END {printf "\n"}') + local last_iface=$(echo $ifaces | sed 's/.* //') + while [ "$resp" != "done" ]; do + if [ -z "$ifaces" ] || [ "$ifaces" = "lo " ] || [ -n "$ifaceopts" ]; then + _def="done" + else + _def=$(echo $ifaces | sed 's/.* //') + fi + ask_which "network interface" "to use for $_hostname" \ + "$ifaces" $_def + [ "$resp" = "done" ] && break + + _iface=$resp + ifaces=$(rmel $_iface $ifaces) + # suggested ip by last digit + 1 + _last_ip_mask=$(last_ipv4_addr_mask $_iface) + _last_ip=${_last_ip_mask%/*} + _last_ip_digit=${_last_ip##*.} + _ip=${_last_ip%.*}.$((($_last_ip_digit + 1) % 256)) + _mask=${_last_ip_mask#*/} + while true; do + ask "Enter IP address/mask for $_iface:" $_ip/$_mask + valid_ip_and_prefix "$resp" 2>&1 && break + echo "$resp is not a valid IPv4 address/mask" + done + _ip_mask=$resp + ifaceopts="$ifaceopts --interface $_iface:$_ip_mask" + echo "lxc.network.ipv4 = $_iface/$_ip_mask" >> /tmp/lxc-$hostname.conf + conffile=/tmp/lxc-$hostname.conf + done + resp="$conffile" +} + +ask_template() { + local temp + # get template + while true; do + ask "Enter template file (or empty for generate a new):" \ + $_template + if [ -z "$resp" ] || [ -r "$resp" ]; then + break + fi + echo "Can not read $resp" + done + temp=$resp + if [ -z "$temp" ]; then + temp=/tmp/template.tar.gz + echo "Generating template..." + if setup-lxc-template -q -o $temp; then + echo "ok" + else + echo "Failed to create template" + exit 1 + fi + fi + resp=$temp +} + +usage() { + echo "Usage: ${0##*/} [-h] [HOSTNAME...]" + exit 1 +} + +while getopts "h" opt; do + case "$opt" in + h) usage;; + ?) usage;; + esac +done + +shift $(($OPTIND - 1)) + +if [ "$(whoami)" != "root" ]; then + echo "Need to be root. Sorry." + exit 1 +fi + +while true; do + ask_hostname $1 + _hostname=$resp + + ask_ifaceopts + _conffile=$resp + + ask_template + _template=$resp + + lxc-create -n $_hostname \ + -f $_conffile \ + -t "$_template" \ + || exit 1 + + shift + [ $# -le 0 ] && exit 0 +done diff --git a/testing/lxc/setup-lxc-template b/testing/lxc/setup-lxc-template new file mode 100755 index 0000000000..f8e9fe4a39 --- /dev/null +++ b/testing/lxc/setup-lxc-template @@ -0,0 +1,44 @@ +#!/bin/sh + +# create a lxc template +PROG=$0 + +usage() { + echo "usage: $PROG [-fhq] [-o OUTFILE] [-X repository] [packages...]" + exit $1 +} + +clean_exit() { + rm -rf "$tmpdir" + exit $1 +} + +outfile=template.tar.gz +fakeroot= +repos= +while getopts "ho:qX:" opt; do + case "$opt" in + h) usage 0;; + o) outfile="$OPTARG";; + q) quiet=-q;; + X) repos="$repos --repository $OPTARG";; + esac +done +shift $(( $OPTIND - 1 )) + +if [ "$(whoami)" != "root" ]; then + echo "Warning: you need root permissions" >&2 +fi + +tmpdir=$(mktemp -d ${TMPDIR:-/tmp}/setup-lxc-template-XXXXXX) + +apk add --root "$tmpdir" --initdb --keys-dir /etc/apk/keys -U \ + $quiet ${repos:---repositories-file /etc/apk/repositories} \ + alpine-base $@ \ + || clean_exit 1 + +tar -czf "$outfile" -C "$tmpdir" $(ls "$tmpdir") || clean_exit 1 + +[ -z "$quiet" ] && echo "Created $outfile" +clean_exit 0 + diff --git a/testing/madwimax/APKBUILD b/testing/madwimax/APKBUILD new file mode 100644 index 0000000000..e85877f735 --- /dev/null +++ b/testing/madwimax/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Sergey +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=madwimax +pkgver=0.1.1 +pkgrel=2 +pkgdesc="WiMAX driver for the Samsung SWC-U200 and similar USB modems" +url="http://code.google.com/p/madwimax/" +arch="all" +license="GPL-2" +depends= +makedepends="pkgconfig libusb-dev" +install= +subpackages="$pkgname-doc" +source="http://madwimax.googlecode.com/files/madwimax-0.1.1.tar.gz" + +_builddir="$srcdir"/$pkgname-$pkgver +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --without-man-pages \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install + +#2009-10-07,SP: you can start it simply by /usr/sbin/madwimax -d +#, so no init.d script so far... + +} + +md5sums="4ebd2d74e887e6f9d6f23067a4ad8272 madwimax-0.1.1.tar.gz" diff --git a/testing/maildrop/APKBUILD b/testing/maildrop/APKBUILD new file mode 100644 index 0000000000..88e83757ab --- /dev/null +++ b/testing/maildrop/APKBUILD @@ -0,0 +1,48 @@ +# Contributor: Juraj Sujan <sujan@sofy.sk> +# Maintainer: Juraj Sujan <sujan@sofy.sk> +pkgname=maildrop +pkgver=2.5.2 +pkgrel=0 +pkgdesc="Mail delivery agent with filtering abilities" +url="http://courier-mta.org/maildrop/" +arch="all" +license="GPL3" +depends= +makedepends="perl pcre-dev" +install= +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/project/courier/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2 + http://www.max.rs/ozone/maildrop-2.3.0-dovecotauth.patch.txt" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + # apply patches here + if ! patch --verbose -p1 -i ../maildrop-2.3.0-dovecotauth.patch.txt; then + error "dovecotauth patch failed" + return 1 + fi +} + +build() { + cd "$_builddir" + # workaround for strange detection of default mailbox file/dir + export QMAIL="foo" + ./configure --prefix=/usr \ + --disable-authlib \ + --without-db \ + --enable-syslog=1 \ + --with-default-maildrop=./Maildir || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install + mkdir "$pkgdir"/usr/share/doc + mv "$pkgdir"/usr/share/maildrop "$pkgdir"/usr/share/doc/ + cp README.dovecotauth "$pkgdir"/usr/share/doc/maildrop/ +} +md5sums="3edb56534ae442a494255db6c8aaab99 maildrop-2.5.2.tar.bz2 +f5e0fd910d76c4fba2a5fcdd40c6b375 maildrop-2.3.0-dovecotauth.patch.txt" diff --git a/testing/mailx/APKBUILD b/testing/mailx/APKBUILD new file mode 100644 index 0000000000..f656301b6e --- /dev/null +++ b/testing/mailx/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=mailx +pkgver=8.1.1 +pkgrel=0 +pkgdesc="A commandline utility for sending email" +url="http://www.opengroup.org/onlinepubs/007908799/xcu/mailx.html" +arch="all" +license="BSD" +depends= +depends_dev= +makedepends="$depends_dev" +install="" +subpackages="$pkgname-doc" +source="ftp://ftp.archlinux.org/other/mailx/$pkgname-$pkgver-fixed.tar.gz + mailx-8.1.1.patch + mailx-gcc4.patch" + +_builddir="$srcdir/$pkgname-$pkgver-fixed" + +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p0 -i "$srcdir"/$i || return 1;; + esac + done + sed -i 's#/man/#/share/man/#' Makefile +} + +build() { + cd "$_builddir" + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="63cad526ac64b57bcba2c0daaa1f3048 mailx-8.1.1-fixed.tar.gz +d66b9f419c5d215271ed434f5d780843 mailx-8.1.1.patch +8716c7c7b3f5d348443230e2fe543bf6 mailx-gcc4.patch" diff --git a/testing/mailx/mailx-8.1.1.patch b/testing/mailx/mailx-8.1.1.patch new file mode 100644 index 0000000000..536c28fc56 --- /dev/null +++ b/testing/mailx/mailx-8.1.1.patch @@ -0,0 +1,31 @@ +--- Makefile Thu Mar 16 09:30:36 2000 ++++ Makefile Wed Feb 27 12:50:09 2002 +@@ -7,18 +7,20 @@ + BINOWN = root + BINGRP = mail + ++DESTDIR = ++ + all: + gcc $(SRCS) -o $(PROG) + + install: +- mkdir -p /usr/share/misc +- mkdir -p /usr/share/man/man1 +- mkdir -p /etc +- mkdir -p /usr/bin +- install -o $(BINOWN) -g $(BINGRP) -m 2755 $(PROG) /usr/bin +- install -o root -g root -m 644 mail.1 /usr/share/man/man1 ++ mkdir -p $(DESTDIR)/usr/share/misc ++ mkdir -p $(DESTDIR)/usr/man/man1 ++ mkdir -p $(DESTDIR)/etc ++ mkdir -p $(DESTDIR)/usr/bin ++ install -o $(BINOWN) -g $(BINGRP) -m 2755 $(PROG) $(DESTDIR)/usr/bin ++ install -o root -g root -m 644 mail.1 $(DESTDIR)/usr/man/man1 + cd misc; install -c -o ${BINOWN} -g ${BINGRP} \ +- -m 444 ${SFILES} /usr/share/misc ++ -m 444 ${SFILES} $(DESTDIR)/usr/share/misc + cd misc; install -c -o root -g root \ +- -m 644 ${EFILES} /etc ++ -m 644 ${EFILES} $(DESTDIR)/etc + diff --git a/testing/mailx/mailx-gcc4.patch b/testing/mailx/mailx-gcc4.patch new file mode 100644 index 0000000000..54740a2302 --- /dev/null +++ b/testing/mailx/mailx-gcc4.patch @@ -0,0 +1,12 @@ +K. Piche: Unofficial patch for mailx. + +--- dotlock.c.orig 2005-09-18 20:28:20.000000000 -0400 ++++ dotlock.c 2005-09-18 20:26:59.000000000 -0400 +@@ -47,6 +47,7 @@ + #include <errno.h> + #include <signal.h> + ++#include "def.h" + #include "extern.h" + + #ifndef O_SYNC diff --git a/testing/mdocml/APKBUILD b/testing/mdocml/APKBUILD new file mode 100644 index 0000000000..80f122df38 --- /dev/null +++ b/testing/mdocml/APKBUILD @@ -0,0 +1,39 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=mdocml +pkgver=1.11.3 +pkgrel=2 +pkgdesc="Roff implementation" +url="http://mdocml.bsd.lv/" +arch="all" +license="BSD" +depends= +makedepends= +install= +subpackages="$pkgname-doc $pkgname-dev $pkgname-man" +source="http://mdocml.bsd.lv/snapshots/mdocml-$pkgver.tar.gz man.sh" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" +} + +build() { + cd "$_builddir" + make PREFIX=/usr || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" PREFIX=/usr MANDIR=/usr/share/man \ + EXAMPLEDIR=/usr/share/doc/mdocml/examples install +} + +man() { + cd "$srcdir" + depends="mdocml" + install -Dm 755 man.sh "$subpkgdir"/usr/bin/man || return 1 +} + +md5sums="497b4278acb96a087ee6f92c64b4a56d mdocml-1.11.3.tar.gz +d60a6a3ea949f03e7fb90dbe1ca74e1f man.sh" diff --git a/testing/mdocml/man.sh b/testing/mdocml/man.sh new file mode 100644 index 0000000000..6795e2007d --- /dev/null +++ b/testing/mdocml/man.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +# man - a simple man program for ASCII pages +# Copyright (c) 2008 Matthew Hiles +# +# Licensed under GPLv2 or later, see file LICENSE in this tarball for details. + +## requires: find, head, sort, tr, cat, and grep/egrep +## optional: zcat, bzcat, less + +if [ -z "$MANPATH" ]; then + echo "Warning: MANPATH is not set, assuming /usr/share/man." >&2 + MANPATH=/usr/share/man +fi + +case $# in +1) + pagearg=$1 ;; +2) + section=man$1 + pagearg=$2 ;; +*) + echo "Usage: man [section] <manpage>" + exit +esac + +paths=`echo "$MANPATH" | tr ":" " "` +pagefile=`find $paths | grep "/$section" | grep "/$pagearg\." | sort | head -n1` + +if [ -z "$pagefile" ]; then + echo -n No manual entry for $pagearg + [ $section ] && echo -n " in section $1 of the manual." + echo + exit +fi + +[ "$PAGER" ] || PAGER=less +tty -s <&1 || PAGER=cat + +case "$pagefile" in +*.bz2) + exec bzcat "$pagefile" | "$PAGER" ;; +*.gz) + exec zcat "$pagefile" | "$PAGER" ;; +*) + exec mandoc -Tutf8 "$pagefile" | "$PAGER" ;; +esac + +paths= +pagefile= +pagearg= +section= diff --git a/testing/mediaproxy/APKBUILD b/testing/mediaproxy/APKBUILD new file mode 100644 index 0000000000..169fc2e093 --- /dev/null +++ b/testing/mediaproxy/APKBUILD @@ -0,0 +1,49 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=mediaproxy +pkgver=2.4.4 +pkgrel=1 +pkgdesc="MediaProxy" +url="http://www.ag-projects.com/MediaProxy/" +pkgusers="kamailio" +pkggroups="kamailio" +arch="all" +license="GPL" +depends="python py-application py-gnutls py-twisted py-cjson iptables" +makedepends="libnetfilter_conntrack-dev libnfnetlink-dev py-buildutils + py-setuptools python-dev" +install= +subpackages="" +#subpackages="$pkgname-dev $pkgname-doc" +source="http://download.ag-projects.com/MediaProxy/$pkgname-$pkgver.tar.gz + mediaproxy-dispatcher.initd + mediaproxy-relay.initd + config.ini +" + +build() { + cd "$srcdir"/$pkgname-$pkgver + mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages + + python setup.py install --root="$pkgdir" + + echo "/usr/lib/python2.6/site-packages/$_pkgname-$pkgver-py2.6.egg" \ + > "$pkgdir"/usr/lib/python2.6/site-packages/$_pkgname.pth +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + + install -D -m755 "$srcdir"/$pkgname-dispatcher.initd \ + "$pkgdir"/etc/init.d/$pkgname-dispatcher + install -D -m755 "$srcdir"/$pkgname-relay.initd \ + "$pkgdir"/etc/init.d/$pkgname-relay + install -D -m755 "$srcdir"/config.ini \ + "$pkgdir"/etc/mediaproxy/config.ini + install -d -o kamailio "$pkgdir"/etc/mediaproxy/tls/ + install -d -o kamailio "$pkgdir"/var/run/$pkgname +} + +md5sums="4ae842662702ddd4a5a9db263d261693 mediaproxy-2.4.4.tar.gz +cf081e451ab5d8d5ff66a8d9fa6707d6 mediaproxy-dispatcher.initd +1add855d86ead49c19798e9d86c69efe mediaproxy-relay.initd +d3df3569543d696ca102f131f7ad95e4 config.ini" diff --git a/testing/mediaproxy/config.ini b/testing/mediaproxy/config.ini new file mode 100644 index 0000000000..995c006d2b --- /dev/null +++ b/testing/mediaproxy/config.ini @@ -0,0 +1,19 @@ +[Dispatcher] +socket = /var/run/mediaproxy/proxydispatcher.sock +defaultproxy = /var/run/mediaproxy/mediaproxy.sock + +[MediaProxy] +start = yes +socket = /var/run/mediaproxy/mediaproxy.sock +group = kamailio +listen = 0.0.0.0 +allow = None +proxyIP = # This is where your Kamailio is installed +portRange = 9000:9049 # These values are set same in ATA's configs for RTP Port Range +idleTimeout = 60 +holdTimeout = 180 +forceClose = 0 + +[Accounting] +accounting = off + diff --git a/testing/mediaproxy/mediaproxy-dispatcher.initd b/testing/mediaproxy/mediaproxy-dispatcher.initd new file mode 100644 index 0000000000..9b37a7e064 --- /dev/null +++ b/testing/mediaproxy/mediaproxy-dispatcher.initd @@ -0,0 +1,22 @@ +#!/sbin/runscript + +daemon=/usr/bin/media-dispatcher +pidfile=/var/run/mediaproxy/dispatcher.pid + +depend() { + need net + after firewall + after kamailio +} + +start() { + ebegin "Starting Mediaproxy Dispatcher" + start-stop-daemon --start --verbose --pidfile $pidfile --exec $daemon + eend $? +} + +stop() { + ebegin "Stopping Mediaproxy Dispatcher" + start-stop-daemon --stop --quiet --pidfile $pidfile + eend $? +} diff --git a/testing/mediaproxy/mediaproxy-relay.initd b/testing/mediaproxy/mediaproxy-relay.initd new file mode 100644 index 0000000000..09b842f072 --- /dev/null +++ b/testing/mediaproxy/mediaproxy-relay.initd @@ -0,0 +1,22 @@ +#!/sbin/runscript + +daemon=/usr/bin/media-relay +pidfile=/var/run/mediaproxy/relay.pid + +depend() { + need net + after firewall + after mediaproxy-dispatcher +} + +start() { + ebegin "Starting Mediaproxy Relay" + start-stop-daemon --start --quiet --pidfile $pidfile --exec $daemon + eend $? +} + +stop() { + ebegin "Stopping Mediaproxy Relay" + start-stop-daemon --stop --quiet --pidfile $pidfile + eend $? +} diff --git a/testing/meiga/APKBUILD b/testing/meiga/APKBUILD new file mode 100644 index 0000000000..ea25106e0a --- /dev/null +++ b/testing/meiga/APKBUILD @@ -0,0 +1,36 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=meiga +pkgver=0.4.0 +pkgrel=0 +pkgdesc="Tool for sharing directories via web" +url="http://meiga.igalia.com/" +arch="all" +license="GPLv2" +depends= +makedepends="gtk+-dev libsoup-dev dbus-glib-dev vala gupnp-dev" +install= +subpackages= +source="http://meiga.igalia.com/packages/src/meiga-$pkgver.tar.gz" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install +} + +md5sums="4108c48af075f733c66adcc78dbafa7d meiga-0.4.0.tar.gz" diff --git a/testing/memtest86+/APKBUILD b/testing/memtest86+/APKBUILD new file mode 100644 index 0000000000..e36b16b00b --- /dev/null +++ b/testing/memtest86+/APKBUILD @@ -0,0 +1,29 @@ +# Maintainer: Leonardo Arena <rnalrd@gmail.com> +pkgname="memtest86+" +pkgver=4.20 +pkgrel=3 +pkgdesc="A tool for memory failure detection" +url="http://www.memtest.org" +arch="x86 x86_64" +license="GPL" +depends= +depends_dev= +makedepends= +install= +subpackages="" +source="http://www.memtest.org/download/$pkgver/$pkgname-$pkgver.bin.gz" + +prepare() { + return 0 +} + +build() { + return 0 +} + +package() { + gunzip "$srcdir"/$pkgname-$pkgver.bin.gz + install -m644 -D "$srcdir"/$pkgname-$pkgver.bin "$pkgdir"/boot/memtest +} + +md5sums="4640a702c3e7a5a74af069f51ab8345f memtest86+-4.20.bin.gz" diff --git a/testing/mhash/APKBUILD b/testing/mhash/APKBUILD new file mode 100644 index 0000000000..2964512e36 --- /dev/null +++ b/testing/mhash/APKBUILD @@ -0,0 +1,42 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: +pkgname=mhash +pkgver=0.9.9.9 +pkgrel=0 +pkgdesc="A thread-safe hash library which provides a uniform interface to hash algorithms (MD5, SHA-1, HAVAL, etc" +url="http://mhash.sourceforge.net/" +arch="all" +license="LGPL" +depends= +depends_dev= +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://downloads.sourceforge.net/sourceforge/mhash/$pkgname-$pkgver.tar.bz2" + +_builddir="$srcdir/$pkgname-$pkgver" + +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="f91c74f9ccab2b574a98be5bc31eb280 mhash-0.9.9.9.tar.bz2" diff --git a/testing/minidlna/APKBUILD b/testing/minidlna/APKBUILD new file mode 100644 index 0000000000..95ccfbd910 --- /dev/null +++ b/testing/minidlna/APKBUILD @@ -0,0 +1,48 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: +pkgname=minidlna +pkgver=1.0.19 +pkgrel=0 +pkgdesc="A small dlna server" +url="http://sourceforge.net/projects/minidlna/" +arch="all" +license="GPL" +depends= +depends_dev="libvorbis-dev libogg-dev libid3tag-dev libexif-dev jpeg-dev + sqlite-dev ffmpeg-dev flac-dev" +makedepends="$depends_dev" +install="" +subpackages="" +source="http://downloads.sourceforge.net/minidlna/${pkgname}_${pkgver}_src.tar.gz + $pkgname.initd + $pkgname.confd" + +_builddir="$srcdir/$pkgname-$pkgver" + +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + # fix for busybox install + sed -i 's/--mode=0644/-m0644/g' Makefile || return 1 +} + +build() { + cd "$_builddir" + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + install -m755 -D "$srcdir/$pkgname.initd" "$pkgdir/etc/init.d/$pkgname" + install -m644 -D "$srcdir/$pkgname.confd" "$pkgdir/etc/conf.d/$pkgname" +} + +md5sums="8bb5f2c0abc009e16039d7deecf09cf6 minidlna_1.0.19_src.tar.gz +c9965792baec8d2dc6953c7e28eda8bd minidlna.initd +6dc0cf1e59e0d53b910f306f81cb7e7f minidlna.confd" diff --git a/testing/minidlna/minidlna.confd b/testing/minidlna/minidlna.confd new file mode 100644 index 0000000000..4cc286c2b9 --- /dev/null +++ b/testing/minidlna/minidlna.confd @@ -0,0 +1,10 @@ +# /etc/conf.d/minidlna + +# Should minidlna rescan the entire collection on startup? +# Warning: This may take a long time! +RESCAN="false" + +# The location of the config file +#CONFIG="/etc/minidlna.conf" + +# vim: ft=gentoo-conf-d diff --git a/testing/minidlna/minidlna.initd b/testing/minidlna/minidlna.initd new file mode 100644 index 0000000000..bb20626138 --- /dev/null +++ b/testing/minidlna/minidlna.initd @@ -0,0 +1,48 @@ +#!/sbin/runscript +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/minidlna/files/minidlna.initd,v 1.1 2010/12/29 16:59:25 xmw Exp $ + +depend() { + need net +} + +start() { + ebegin "Starting MiniDLNA" + local params="" + local stop=0 + + if [[ "${RESCAN}" = "true" || "{$RESCAN}" = yes ]]; then + params="$params -R" + fi + + #set the config file and check if it exists + if [ -z "${CONFIG}" ]; then + if [ ! -f "/etc/minidlna.conf" ]; then + ewarn "You did not set the config file correctly" + stop=1 + fi + params="$params -f /etc/minidlna.conf" + else + if [ ! -f "${CONFIG}" ]; then + ewarn "The specified config file does not exist" + stop=1 + fi + params="$params -f ${CONFIG}" + fi + + + if [ $stop -eq 1 ]; then + eend 1 + else + start-stop-daemon --start \ + --exec /usr/sbin/minidlna -- ${params} + eend $? + fi +} + +stop() { + ebegin "Stopping MiniDLNA" + start-stop-daemon --stop --quiet --exec /usr/sbin/minidlna + eend $? +} diff --git a/testing/moinmoin/APKBUILD b/testing/moinmoin/APKBUILD new file mode 100644 index 0000000000..bab1a6f06b --- /dev/null +++ b/testing/moinmoin/APKBUILD @@ -0,0 +1,28 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> + +pkgname=moinmoin +pkgver=1.9.3 +pkgrel=1 +pkgdesc="Python Wiki" +url="http://moinmo.in/" +arch="noarch" +license="GPL" +depends="python py-jabberbot" +depends_dev="python-dev" +makedepends="$depends_dev" +subpackages="" +source="http://static.moinmo.in/files/moin-$pkgver.tar.gz" + +build() { + cd "$srcdir"/moin-$pkgver + python setup.py build +} + +package() { + + cd "$srcdir"/moin-$pkgver + python setup.py install --root="$pkgdir" +} + +md5sums="b22c15446e9fabda180fc88b21635184 moin-1.9.3.tar.gz" diff --git a/testing/moodbar/APKBUILD b/testing/moodbar/APKBUILD new file mode 100644 index 0000000000..a1f2d38415 --- /dev/null +++ b/testing/moodbar/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=moodbar +pkgver=0.1.2 +pkgrel=0 +pkgdesc="analysis tool for building .mood files" +url="http://amarok.kde.org/wiki/Moodbar" +license="GPL" +depends= +makedepends="gstreamer-dev gst-plugins-base-dev fftw-dev" +install= +subpackages= +source="http://pwsp.net/~qbob/$pkgname-$pkgver.tar.gz" +arch="all" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + # apply patches here +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install +} + +md5sums="28c8eb65e83b30f71b84be4fab949360 moodbar-0.1.2.tar.gz" diff --git a/testing/mp3info/APKBUILD b/testing/mp3info/APKBUILD new file mode 100644 index 0000000000..a750fc7e65 --- /dev/null +++ b/testing/mp3info/APKBUILD @@ -0,0 +1,32 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: Carlo Landmeter <clandmeter@gmail.com> +pkgname=mp3info +pkgver=0.8.5a +pkgrel=0 +pkgdesc="An MP3 technical info viewer and ID3 1.x tag editor" +url="http://www.ibiblio.org/mp3info/" +arch="all" +license="GPL" +depends= +makedepends="ncurses-dev" +subpackages="" +source="ftp://ftp.ibiblio.org/pub/linux/apps/sound/mp3-utils/mp3info/mp3info-0.8.5a.tgz +escape_chars.patch" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + patch -p1 -i "$srcdir"/escape_chars.patch || return 1 + + make mp3info || return 1 +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + install -Dm755 mp3info "$pkgdir"/usr/bin/mp3info + install -Dm644 mp3info.1 "$pkgdir"/usr/share/man/man1/mp3info.1 + +} + +md5sums="cb7b619a10a40aaac2113b87bb2b2ea2 mp3info-0.8.5a.tgz +d0be1068503056b775bf10f05a8497b8 escape_chars.patch" diff --git a/testing/mp3info/escape_chars.patch b/testing/mp3info/escape_chars.patch new file mode 100644 index 0000000000..ec697a2863 --- /dev/null +++ b/testing/mp3info/escape_chars.patch @@ -0,0 +1,138 @@ +--- orig/mp3info-0.8.5a/mp3info.c Mon Nov 6 04:03:17 2006 ++++ mp3info-0.8.5a/mp3info.c Thu Mar 19 12:33:27 2009 +@@ -32,6 +32,7 @@ + #undef __MAIN + #include <sys/stat.h> + ++char *escape_chars=NULL; + char FILENAME_FORMAT_STRING[]="File: %F\n"; + char ID3_FORMAT_STRING[]="Title: %-30t Track: %n\nArtist: %a\nAlbum: %-30l Year: %y\nComment: %-30c Genre: %g [%G]\n"; + char TECH_FORMAT_STRING[]="Media Type: MPEG %2.1v Layer %L\nAudio: %r KB/s, %qKHz (%o)\nEmphasis: %e\nCRC: %E\nCopyright: %C\nOriginal: %O\nPadding: %p\nLength: %m:%02s\n"; +@@ -66,7 +67,7 @@ + + + +- while ((c=getopt(argc,argv,"vhGidfxFt:a:l:y:c:n:g:p:r:"))!=-1) { ++ while ((c=getopt(argc,argv,"vhGidfxFmt:a:l:y:c:n:g:p:r:e:"))!=-1) { + + switch(c) { + case 'v': /* View mode is now automatic when no changes are +@@ -159,6 +160,12 @@ + } + break; + case 'F': quickscan=0; break; ++ case 'e': ++ escape_chars = optarg; ++ break; ++ case 'm': ++ escape_chars = "'\"\b\n\r\t\\"; ++ break; + } + } + +--- orig/mp3info-0.8.5a/mp3info.h Fri Nov 10 00:14:52 2006 ++++ mp3info-0.8.5a/mp3info.h Thu Mar 19 10:42:07 2009 +@@ -111,6 +111,7 @@ + extern int galphagenreindex [MAXGENRE+2]; + #endif + ++extern char *escape_chars; + void tagedit_curs(char *filename, int filenum, int fileoutof, id3tag *tag); + + +--- orig/mp3info-0.8.5a/textfunc.c Mon Nov 6 08:59:12 2006 ++++ mp3info-0.8.5a/textfunc.c Thu Mar 19 12:24:52 2009 +@@ -24,6 +24,7 @@ + */ + + #include "mp3info.h" ++#include "libgen.h" + + char *layer_text[] = { + "I", "II", "III" +@@ -70,6 +71,8 @@ + "\t-n track\tSpecify ID3 v1.1 track number\n"\ + "\t-t title\tSpecify ID3 track title\n"\ + "\t-y year\t\tSpecify ID3 copyright year\n\n"\ ++ "\t-m\t\tMySQL safe output\n"\ ++ "\t-e\t\tCharacters to escape\n"\ + "\t-G\t\tDisplay valid genres\n"\ + "\t-h\t\tDisplay this help page\n"\ + "\t-x\t\tDisplay technical attributes of the MP3 file\n"\ +@@ -85,6 +88,7 @@ + "\n\t\tConversion Specifiers\n\n"\ + "\t\t%%f\tFilename without the path (string)\n"\ + "\t\t%%F\tFilename with the path (string)\n"\ ++ "\t\t%%d\tPath without filename (string)\n"\ + "\t\t%%k\tFile size in KB (integer)\n"\ + "\n\t\t%%a\tArtist (string)\n"\ + "\t\t%%c\tComment (string)\n"\ +@@ -217,7 +221,27 @@ + } + } + ++/* const char *escape_chars = "'\"\b\n\r\t\\%_"; */ ++/* escape the chars so its sql safe */ ++char *escape_string(char *str) ++{ ++ static char buf[8192]; ++ char *src = str; ++ char *dest = buf; + ++ /* we might want a cmdline flag to enable escaping */ ++ if (escape_chars == NULL || str == NULL) ++ return str; ++ ++ while (*src && dest < (buf + sizeof(buf) - 1)) { ++ if (strchr(escape_chars, *src)) ++ *dest++ = '\\'; ++ *dest++ = *src++; ++ } ++ *dest = '\0'; ++ return buf; ++} ++ + void format_output (char *format_string,mp3info *mp3, int vbr_report) { + + char genre[40]=""; +@@ -242,16 +266,16 @@ + mod[modlen]=0; + mod[modlen-1]='s'; + switch (*code) { +- case 't': printf(mod,mp3->id3.title); break; ++ case 't': printf(mod,escape_string(mp3->id3.title)); break; + case 'f': pos = (pos=strrchr(mp3->filename,'/')) ? + pos+1 : mp3->filename; +- printf(mod,pos); break; +- case 'F': printf(mod,mp3->filename); break; +- case 'a': printf(mod,mp3->id3.artist); break; +- case 'l': printf(mod,mp3->id3.album); break; ++ printf(mod,escape_string(pos)); break; ++ case 'F': printf(mod,escape_string(mp3->filename)); break; ++ case 'a': printf(mod,escape_string(mp3->id3.artist)); break; ++ case 'l': printf(mod,escape_string(mp3->id3.album)); break; + case 'k': mod[modlen-1] = 'd'; printf(mod,mp3->datasize / 1024); break; +- case 'y': printf(mod,mp3->id3.year); break; +- case 'c': printf(mod,mp3->id3.comment); break; ++ case 'y': printf(mod,escape_string(mp3->id3.year)); break; ++ case 'c': printf(mod,escape_string(mp3->id3.comment)); break; + case 'n': if(mp3->id3_isvalid && mp3->id3.track[0]) { + mod[modlen-1]='d'; + printf(mod, (int) mp3->id3.track[0]); +@@ -259,7 +283,7 @@ + break; + case 'g': if(mp3->id3_isvalid) { + text_genre(mp3->id3.genre,genre); +- printf(mod,genre); ++ printf(mod,escape_string(genre)); + } + break; + case 'G': if(mp3->id3_isvalid) { +@@ -348,6 +372,7 @@ + } + break; + case '%': printf("%%"); break; ++ case 'd': printf(mod,escape_string(dirname(mp3->filename))); break; + default: printf("%%%c",*(code=percent+1)); break; + } + format=code+1; diff --git a/testing/mplayer2/APKBUILD b/testing/mplayer2/APKBUILD new file mode 100644 index 0000000000..8cf87d24e2 --- /dev/null +++ b/testing/mplayer2/APKBUILD @@ -0,0 +1,48 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=mplayer2 +pkgver=2.0 +pkgrel=1 +pkgdesc="advanced general-purpose video player" +url="http://www.mplayer2.org/" +arch="all" +license="GPL" +depends= +makedepends="libxxf86dga-dev libxv-dev libmad-dev lame-dev libao-dev + libtheora-dev xvidcore-dev zlib-dev sdl-dev freetype-dev + x264-dev faac-dev ttf-dejavu libxvmc-dev alsa-lib-dev live-media-dev + mesa-dev ffmpeg-dev" +install="" +subpackages="$pkgname-doc" +source="http://ftp.mplayer2.org/pub/release/mplayer2-$pkgver.tar.xz" + +_builddir="$srcdir"/mplayer2-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + export GCC_SPECS=/usr/share/gcc/hardenednopie.specs + ./configure --prefix=/usr \ + --mandir=/usr/share/man \ + --datadir=/usr/share/mplayer2 \ + --confdir=/etc/mplayer2 \ + --enable-runtime-cpudetection \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + mv "$pkgdir"/usr/bin/mplayer "$pkgdir"/usr/bin/mplayer2 +} + +md5sums="b880ae4be0e5b9693cdecf97c84b74f3 mplayer2-2.0.tar.xz" diff --git a/testing/mr/APKBUILD b/testing/mr/APKBUILD new file mode 100644 index 0000000000..393d13e83b --- /dev/null +++ b/testing/mr/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: Fabian Affolter <fabian@affolter-engineering.ch> +# Maintainer: +pkgname=mr +pkgver=1.04 +pkgrel=0 +pkgdesc="A multiple repository management tool" +url="http://kitenet.net/~joey/code/mr/" +arch="noarch" +license="GPL2+" +depends="perl" +depends_dev="" +makedepends="" +install="" +subpackages="$pkgname-doc" +source="http://ftp.de.debian.org/debian/pool/main/m/mr/"$pkgname"_"$pkgver".tar.gz" + +_builddir="$srcdir"/$pkgname + +build() { + cd "$_builddir" + make || return 1 +} + +package() { + cd "$_builddir" + install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname || return 1 + cd "$_builddir"/lib + for file in git-fake-bare git-svn unison; do + install -Dpm 0644 $file \ + "$pkgdir"/usr/share/$pkgname/$file || return 1 + done +} + +doc() { + cd "$_builddir" + mkdir -p "$subpkgdir"/usr/share/man || return 1 + mv "$_builddir"/*.1 "$subpkgdir"/usr/share/man/ || return 1 + # Sample configuration files + for file in mrconfig mrconfig.complex; do + install -Dpm 0644 $file \ + "$subpkgdir"/usr/share/doc/$pkgname/$file || return 1 + done +} + +md5sums="9ddd9e5b3a90bcb08ac773ddb1cea512 mr_1.04.tar.gz" diff --git a/testing/multisort/APKBUILD b/testing/multisort/APKBUILD new file mode 100644 index 0000000000..148d37bf65 --- /dev/null +++ b/testing/multisort/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Timo TerÃs <timo.teras@iki.fi> +# Maintainer: Timo TerÃs <timo.teras@iki.fi> +pkgname=multisort +pkgver=1.1 +pkgrel=0 +pkgdesc="tool to merge multiple logfiles" +url="http://www.xach.com/multisort/" +arch="all" +license="GPL-2" +depends= +makedepends="" +install="" +source="http://www.xach.com/$pkgname/$pkgname-$pkgver.tar.gz + multisort-syslog-support.patch" + +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + make || return 1 +} + +package() { + cd "$_builddir" + install -d "$pkgdir/usr/bin/" + install -s "$_builddir/multisort" "$pkgdir/usr/bin/" +} + +md5sums="c47f7622773022119e1ea21d2b211bd3 multisort-1.1.tar.gz +39bf33a771606904b0f7645006a52056 multisort-syslog-support.patch" diff --git a/testing/multisort/multisort-syslog-support.patch b/testing/multisort/multisort-syslog-support.patch new file mode 100644 index 0000000000..4e934127c4 --- /dev/null +++ b/testing/multisort/multisort-syslog-support.patch @@ -0,0 +1,286 @@ +diff -ru multisort-1.1/multisort.c multisort-1.1-tt//multisort.c +--- multisort-1.1/multisort.c 1999-10-28 22:12:36.000000000 +0300 ++++ multisort-1.1-tt//multisort.c 2011-04-07 15:25:06.000000000 +0300 +@@ -1,7 +1,6 @@ + /*********************************************************************** + * +- * multisort - sort multiple Common Log Format files into a single, +- * date-ordered file ++ * multisort - merge multiple sorted log files together + * + * $Id: multisort.c,v 1.7 1999/10/28 19:11:48 xach Exp $ + * +@@ -11,6 +10,11 @@ + * + * - Fixed some potential segfaults by checking the return values + * of various functions. ++ * ++ * Modifications by Timo Teräs <timo.teras@iki.fi> ++ * - Support syslog format in addition to common log format ++ * - Some speed improvements ++ * + * + * Zachary Beane <xach@mint.net> + * +@@ -42,7 +46,7 @@ + int enabled; + char *name; + FILE *in_fh; +- long atime; ++ unsigned long atime; + char buf[BUFSIZ + 1]; + }; + +@@ -148,7 +152,7 @@ + { + register const char *s = wordlist[key].name; + +- if (*str == *s && !strcmp (str + 1, s + 1)) ++ if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[key]; + } + } +@@ -174,6 +178,19 @@ + #endif + + ++static int ++get_int(const char *s, int len) ++{ ++ int val = 0, i; ++ ++ for (i = 0; i < len; i++) { ++ if (s[i] >= '0' && s[i] <= '9') ++ val = (val * 10) + s[i] - '0'; ++ } ++ return val; ++ ++} ++ + /* conv_time + * Take a common log format string and return a sortable value. Use a hash + * table for month lookup. +@@ -182,92 +199,89 @@ + * return values and string lengths and such. Lazy bastard. + * + */ +- +-long +-conv_time(char *s) ++ ++unsigned long ++convert_time_common_log_file(const char *s) + { +- char *ptr; +- char *orig_ptr; +- int year; +- int mon; +- int mday; +- int hour; +- int min; +- int sec; ++ /* 127.198.54.33 - - [14/Jan/1999:13:54:37 -0500] "GET /mint/images/top_maindesigns_on.jpg HTTP/1.0" 200 7164 */ ++ const char *ptr; ++ int year, mon, day; ++ int hour, min, sec; + struct month *m; + +- ptr = s; +- ptr = strchr(ptr, '['); +- ++ ptr = strchr(s, '['); + if (ptr == NULL) + return 0; + +- ptr++; /* skip the bracket */ ++ /* skip the bracket */ ++ ptr++; + +- if (strlen(ptr) < 21) ++ /* too short string? */ ++ if (memchr(ptr, 0, 21) != NULL) + return 0; + +- orig_ptr = ptr; +- ptr[2] = '\0'; +- ptr[6] = '\0'; +- ptr[11] = '\0'; +- ptr[14] = '\0'; +- ptr[17] = '\0'; +- ptr[20] = '\0'; +- +- mday = atoi(ptr); +- +- ptr += 3; +- m = in_word_set(ptr, 3); +- if (m == NULL) { ++ m = in_word_set(&ptr[3], 3); ++ if (m == NULL) + return 0; +- } else { +- mon = m->pos; +- } +- +- +- ptr += 4; +- year = atoi(ptr) - 1990; +- +- ptr += 5; +- hour = atoi(ptr); + +- ptr += 3; +- min = atoi(ptr); +- +- ptr += 3; +- sec = atoi(ptr); +- +- /* Restore the characters to their original state (this saves us a +- strdup!) Yay. */ +- +- ptr = orig_ptr; +- ptr[2] = '/'; +- ptr[6] = '/'; +- ptr[11] = ':'; +- ptr[14] = ':'; +- ptr[17] = ':'; +- ptr[20] = ' '; ++ mon = m->pos; ++ day = get_int(&ptr[0], 2); ++ year = get_int(&ptr[7], 4) - 1990; ++ hour = get_int(&ptr[12], 2); ++ min = get_int(&ptr[15], 2); ++ sec = get_int(&ptr[18], 2); + + return((year * 31104000) + + (mon * 2592000) +- + (mday * 86400) ++ + (day * 86400) + + (hour * 3600) + + (min * 60) + + sec); + } + ++unsigned long ++convert_time_syslog_file(const char *s) ++{ ++ /* Apr 7 02:00:14 blah blah */ ++ int mon, day, hour, min, sec; ++ struct month *m; ++ ++ /* Too short string? */ ++ if (memchr(s, 0, 15) != NULL) ++ return 0; ++ ++ m = in_word_set(&s[0], 3); ++ if (m == NULL) ++ return 0; ++ ++ mon = m->pos; ++ day = get_int(&s[4], 2); ++ hour = get_int(&s[7], 2); ++ min = get_int(&s[10], 2); ++ sec = get_int(&s[13], 2); ++ ++ return((mon * 2592000) ++ + (day * 86400) ++ + (hour * 3600) ++ + (min * 60) ++ + sec); ++} ++ + + void + usage(void) + { +- fprintf(stderr, "usage: multisort LOGFILE1 LOGFILE2 [LOGFILEn ...]\n"); +- fprintf(stderr, "\n"); +- fprintf(stderr, "multisort 1.1 Copyright (C) 1999 Zachary Beane\n"); +- fprintf(stderr, "This program has NO WARRANTY and is licensed " ++ fprintf(stderr, "usage: multisort [-format] LOGFILE1 LOGFILE2 [LOGFILEn ...]\n" ++ "\n" ++ "multisort 1.1 Copyright (C) 1999 Zachary Beane\n" ++ "This program has NO WARRANTY and is licensed " + "under the terms of the\nGNU General Public License.\n" +- "http://www.xach.com/multisort/ - bugs to xach@mint.net\n"); +- ++ "http://www.xach.com/multisort/ - bugs to xach@mint.net\n" ++ "\n" ++ "Supported formats currently:\n" ++ " -clf Common Log Format (default)\n" ++ " -syslog Syslog Format\n" ++ ); + exit(1); + } + +@@ -279,9 +293,10 @@ + int if_count = 0; /* number of total input files */ + int if_nr = 0; /* number of active input files */ + char *ret = NULL; +- long min_time = 0; ++ unsigned long min_time = 0; + int min_index = 0; + int i, j; ++ unsigned long (*conv_time)(const char *s); + + if (argc < 3) { + usage(); +@@ -295,7 +310,19 @@ + } + + /* Open up all the files */ +- for (i = 1, j = 0; i < argc; i++, j++) { ++ conv_time = convert_time_common_log_file; ++ i = 1; ++ if (argv[i][0] == '-') { ++ if (strcmp(argv[i], "-clf") == 0) ++ conv_time = convert_time_common_log_file; ++ else if (strcmp(argv[i], "-syslog") == 0) ++ conv_time = convert_time_syslog_file; ++ else ++ usage(); ++ i++; ++ } ++ ++ for (j = 0; i < argc; i++, j++) { + if_list[j] = (InputFile *)malloc(sizeof(InputFile)); + if (if_list[j] == NULL) { + perror("malloc"); +@@ -319,19 +346,18 @@ + if_list[j]->name); + exit(1); + } +- ++ if_list[j]->atime = conv_time(if_list[j]->buf); + } + + if_count = if_nr = j; + + while (if_nr) { + min_index = 0; +- min_time = 900000000L; ++ min_time = (unsigned long) -1; + for (i = 0; i < if_count; i++) { + if (!if_list[i]->enabled) + continue; + +- if_list[i]->atime = conv_time(if_list[i]->buf); + if (if_list[i]->atime < min_time) { + min_time = if_list[i]->atime; + min_index = i; +@@ -345,7 +371,9 @@ + /* refill the buffer */ + ret = fgets(if_list[min_index]->buf, BUFSIZ, + if_list[min_index]->in_fh); +- if (ret == NULL) { ++ if (ret != NULL) { ++ if_list[min_index]->atime = conv_time(if_list[min_index]->buf); ++ } else { + if_list[min_index]->enabled = 0; + fclose(if_list[min_index]->in_fh); + if_nr--; +@@ -355,5 +383,3 @@ + exit(0); + } + +- +- diff --git a/testing/multitail/APKBUILD b/testing/multitail/APKBUILD new file mode 100644 index 0000000000..3ce502f1fe --- /dev/null +++ b/testing/multitail/APKBUILD @@ -0,0 +1,26 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=multitail +pkgver=5.2.6 +pkgrel=0 +pkgdesc="MultiTail lets you view one or multiple files like the original tail program" +arch="x86 x86_64" +url="http://www.vanheusden.com/multitail" +license="GPL" +depends="ncurses" +makedepends="ncurses-dev libexecinfo" +install= +subpackages="" +source="http://www.vanheusden.com/multitail/$pkgname-$pkgver.tgz" + +_builddir="$srcdir"/$pkgname-$pkgver + +package() { + cd $_builddir + mkdir -p "$pkgdir"/usr/bin + mkdir -p "$pkgdir"/usr/share/man/man1 + mkdir -p "$pkgdir"/etc + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="6496b3d78660ff8d11c743a0d03cca34 multitail-5.2.6.tgz" diff --git a/testing/mutagen/APKBUILD b/testing/mutagen/APKBUILD new file mode 100644 index 0000000000..77463f297a --- /dev/null +++ b/testing/mutagen/APKBUILD @@ -0,0 +1,32 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=mutagen +pkgver=1.20 +pkgrel=1 +pkgdesc="An audio metadata tag reader and writer implemented in pure python" +url="http://code.google.com/p/mutagen/" +arch="noarch" +license="GPL2" +depends="python py-mutagen" +makedepends="python-dev" +subpackages="$pkgname-doc py-$pkgname:py" +source="http://mutagen.googlecode.com/files/mutagen-$pkgver.tar.gz" + +_builddir="$srcdir"/$pkgname-$pkgver + +build() { + cd "$_builddir" + python setup.py build +} + +package() { + cd "$_builddir" + python setup.py install --root="$pkgdir" +} + +py() { + pkgdesc="Python library for mutagen" + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/python* "$subpkgdir"/usr/lib/ +} + +md5sums="adb16d9f6056bc864a5c86c6f885af79 mutagen-1.20.tar.gz" diff --git a/testing/mutter/APKBUILD b/testing/mutter/APKBUILD new file mode 100644 index 0000000000..d11454b56f --- /dev/null +++ b/testing/mutter/APKBUILD @@ -0,0 +1,47 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=mutter +pkgver=2.31.5 +pkgrel=4 +pkgdesc="clutter-based window manager for GNOME" +url="http://www.gnome.org/" +arch="all" +license="GPL" +depends="zenity" +depends_dev="clutter-dev libcanberra-dev gconf-dev startup-notification-dev python-dev" +makedepends="$depends_dev gobject-introspection-dev intltool gnome-doc-utils" +install="$pkgname.pre-deinstall $pkgname.post-install $pkgname.post-upgrade" +subpackages="$pkgname-dev $pkgname-doc" +source="ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2 + mutter-gtk2.patch" + +_builddir="${srcdir}/${pkgname}-${pkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-static || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + + export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="0bec58091d4a3b1df6d5d6c05a1dd7cd mutter-2.31.5.tar.bz2 +e2f03d7771bf45069f2fba0af8f6b57d mutter-gtk2.patch" diff --git a/testing/mutter/mutter-gtk2.patch b/testing/mutter/mutter-gtk2.patch new file mode 100644 index 0000000000..70f7c6fd28 --- /dev/null +++ b/testing/mutter/mutter-gtk2.patch @@ -0,0 +1,82 @@ +--- mutter-2.31.5.orig/src/ui/frames.c ++++ mutter-2.31.5/src/ui/frames.c +@@ -2004,47 +2004,26 @@ + return TRUE; + } + +-/* Cut and paste from GDK */ +-static GdkGC * +-get_bg_gc (GdkWindow *window, int x_offset, int y_offset) ++static void ++setup_bg_cr (cairo_t *cr, GdkWindow *window, int x_offset, int y_offset) + { + GdkWindow *parent = gdk_window_get_parent (window); +- GdkPixmap *back_pixmap; +- gboolean parent_relative; +- guint gc_mask = 0; +- GdkGCValues gc_values; ++ cairo_pattern_t *bg_pattern; + +- gdk_window_get_back_pixmap (window, &back_pixmap, &parent_relative); +- if (parent_relative && parent) ++ bg_pattern = gdk_window_get_background_pattern (window); ++ if (bg_pattern == NULL && parent) + { + gint window_x, window_y; + + gdk_window_get_position (window, &window_x, &window_y); +- return get_bg_gc (parent, +- x_offset + window_x, +- y_offset + window_y); ++ setup_bg_cr (cr, parent, x_offset + window_x, y_offset + window_y); + } +- else if (back_pixmap) ++ else if (bg_pattern) + { +- gc_values.fill = GDK_TILED; +- gc_values.tile = back_pixmap; +- gc_values.ts_x_origin = x_offset; +- gc_values.ts_y_origin = y_offset; +- +- gc_mask = GDK_GC_FILL | GDK_GC_TILE | GDK_GC_TS_X_ORIGIN | GDK_GC_TS_Y_ORIGIN; +- +- return gdk_gc_new_with_values (window, &gc_values, gc_mask); ++ cairo_translate (cr, - x_offset, - y_offset); ++ cairo_set_source (cr, bg_pattern); ++ cairo_translate (cr, x_offset, y_offset); + } +- else +- { +- GdkColor bg_color; +- GdkGC *gc = gdk_gc_new (window); +- +- gdk_window_get_background (window, &bg_color); +- gdk_gc_set_foreground (gc, &bg_color); +- +- return gc; +- } + } + + static void +@@ -2052,12 +2031,16 @@ + GdkWindow *window, + int xoffset, int yoffset) + { +- GdkGC *tmp_gc = get_bg_gc (window, xoffset, yoffset); ++ int width, height; ++ cairo_t *cr = gdk_cairo_create (pixmap); + +- gdk_draw_rectangle (pixmap, tmp_gc, TRUE, +- 0, 0, -1, -1); +- +- g_object_unref (tmp_gc); ++ setup_bg_cr (cr, window, xoffset, yoffset); ++ ++ gdk_drawable_get_size (GDK_DRAWABLE (pixmap), &width, &height); ++ cairo_rectangle (cr, 0, 0, width, height); ++ cairo_fill (cr); ++ ++ cairo_destroy (cr); + } + + /* Returns a pixmap with a piece of the windows frame painted on it. diff --git a/testing/mutter/mutter.post-install b/testing/mutter/mutter.post-install new file mode 100644 index 0000000000..fdaf4e4f4a --- /dev/null +++ b/testing/mutter/mutter.post-install @@ -0,0 +1,7 @@ +#!/bin/sh + +for i in mutter.schemas; do + echo "Installing GConf2 schema $i." + GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \ + /usr/bin/gconftool-2 --makefile-install-rule /etc/gconf/schemas/$i >/dev/null +done diff --git a/testing/mutter/mutter.post-upgrade b/testing/mutter/mutter.post-upgrade new file mode 100644 index 0000000000..fdaf4e4f4a --- /dev/null +++ b/testing/mutter/mutter.post-upgrade @@ -0,0 +1,7 @@ +#!/bin/sh + +for i in mutter.schemas; do + echo "Installing GConf2 schema $i." + GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \ + /usr/bin/gconftool-2 --makefile-install-rule /etc/gconf/schemas/$i >/dev/null +done diff --git a/testing/mutter/mutter.pre-deinstall b/testing/mutter/mutter.pre-deinstall new file mode 100644 index 0000000000..6ec3c545d6 --- /dev/null +++ b/testing/mutter/mutter.pre-deinstall @@ -0,0 +1,7 @@ +#!/bin/sh + +for i in mutter.schemas; do + echo "Uninstalling GConf2 schema $i." + GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \ + /usr/bin/gconftool-2 --makefile-uninstall-rule /etc/gconf/schemas/$i >/dev/null +done diff --git a/testing/ncmpcpp/APKBUILD b/testing/ncmpcpp/APKBUILD new file mode 100644 index 0000000000..0c3923a59a --- /dev/null +++ b/testing/ncmpcpp/APKBUILD @@ -0,0 +1,31 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=ncmpcpp +pkgver=0.5.7 +pkgrel=0 +pkgdesc="An almost exact clone of ncmpc with some new features." +url="http://unkart.ovh.org/ncmpcpp/" +arch="all" +license="GPL" +depends="" +makedepends="curl-dev libmpdclient-dev taglib-dev ncurses-dev openssl-dev" +install= +subpackages="$pkgname-doc" +source="http://unkart.ovh.org/ncmpcpp/ncmpcpp-$pkgver.tar.bz2" + +_builddir="$srcdir"/$pkgname-$pkgver +build () +{ + cd "$srcdir/$pkgname-$pkgver" + ./configure --prefix=/usr \ + --enable-unicode \ + --enable-clock \ + --with-taglib --with-curl + make +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="6632c76f2f0836c5aa5a1a2fbb1c921c ncmpcpp-0.5.7.tar.bz2" diff --git a/testing/netsniff-ng/APKBUILD b/testing/netsniff-ng/APKBUILD new file mode 100644 index 0000000000..53f4be8b31 --- /dev/null +++ b/testing/netsniff-ng/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: Fabian Affolter <fabian@affolter-engineering.ch> +# Maintainer: +pkgname=netsniff-ng +pkgver=0.5.5.0 +pkgrel=0 +pkgdesc="A network analyzer and networking toolkit" +url="http://netsniff-ng.org/" +arch="all" +license="GPL2" +depends="" +depends_dev="" +makedepends="" +install="" +subpackages="$pkgname-doc" +source="http://www.netsniff-ng.org/pub/netsniff-ng/$pkgname-$pkgver.tar.gz + netsniff-ng-unkown.patch" + +_builddir="$srcdir"/$pkgname + +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + make -C src || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install -C src || return 1 +} + +md5sums="bd303bdeb7244bb1e4e966b94f7671c4 netsniff-ng-0.5.5.0.tar.gz +e3593dead3b91eb42cef984bae75320b netsniff-ng-unkown.patch" diff --git a/testing/netsniff-ng/netsniff-ng-unkown.patch b/testing/netsniff-ng/netsniff-ng-unkown.patch new file mode 100644 index 0000000000..14c1ae998d --- /dev/null +++ b/testing/netsniff-ng/netsniff-ng-unkown.patch @@ -0,0 +1,14 @@ +--- netsniff-ng/src/Makefile.orig ++++ netsniff-ng/src/Makefile +@@ -39,9 +39,9 @@ + @install -D $(target) $(DESTDIR)/$(BINDIR)/$(target) + @install -d $(DESTDIR)/$(ETCDIR)/$(target)/rules + @cp -r rules/*.bpf $(DESTDIR)/$(ETCDIR)/$(target)/rules/ +- @cat $(MANDIR_LOCAL)/$(target).8 | gzip --best > \ ++ @cat $(MANDIR_LOCAL)/$(target).8 | gzip > \ + $(MANDIR_LOCAL)/$(target).8.gz +- @install -D $(MANDIR_LOCAL)/$(target).8.gz \ ++ @install -Dm644 $(MANDIR_LOCAL)/$(target).8.gz \ + $(DESTDIR)/$(MANDIR)/$(target).8.gz + + uninstall: diff --git a/testing/network-manager-applet/APKBUILD b/testing/network-manager-applet/APKBUILD new file mode 100644 index 0000000000..d5f0c8c986 --- /dev/null +++ b/testing/network-manager-applet/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=network-manager-applet +pkgver=0.8.3.998 +pkgrel=0 +pkgdesc="gtk applet for network manager" +url="http://projects.gnome.org/NetworkManager" +arch="all" +license="GPL" +depends= +depends_dev="networkmanager-dev gconf-dev libgnome-keyring-dev libnotify-dev" +makedepends="$depends_dev" +install="" +subpackages="" +source="http://ftp.gnome.org/pub/GNOME/sources/network-manager-applet/0.8/network-manager-applet-$pkgver.tar.bz2" + +_builddir="$srcdir"/network-manager-applet-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="5588075dbb037299a70c29700467aa4b network-manager-applet-0.8.3.998.tar.bz2" diff --git a/testing/networkmanager/APKBUILD b/testing/networkmanager/APKBUILD new file mode 100644 index 0000000000..efb1059855 --- /dev/null +++ b/testing/networkmanager/APKBUILD @@ -0,0 +1,56 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=networkmanager +pkgver=0.8.3.998 +pkgrel=3 +pkgdesc="network management tool" +url="http://projects.gnome.org/NetworkManager/" +arch="all" +license="GPL" +depends="dhcpcd iptables" +depends_dev="dbus-glib-dev udev-dev libnl-dev util-linux-ng-dev + polkit-dev ppp-dev zlib-dev libiconv-dev wireless-tools-dev + nss-dev nspr-dev" +makedepends="$depends_dev intltool" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/0.8/NetworkManager-$pkgver.tar.bz2 + networkmanager.initd" + +_builddir="$srcdir"/NetworkManager-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --with-distro=debian \ + --with-dhcpcd=yes \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + + install -m755 -D "$srcdir"/networkmanager.initd "$pkgdir"/etc/init.d/networkmanager + + # stupid make install installs a custom init script, yuck + rm "$pkgdir"/etc/init.d/NetworkManager + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="32a7aebfa3b7abdac81203028f1d676e NetworkManager-0.8.3.998.tar.bz2 +c1c4609f415d7288e223d8c99e2d52d3 networkmanager.initd" diff --git a/testing/networkmanager/networkmanager.initd b/testing/networkmanager/networkmanager.initd new file mode 100644 index 0000000000..7db410be9f --- /dev/null +++ b/testing/networkmanager/networkmanager.initd @@ -0,0 +1,23 @@ +#!/sbin/runscript +# Copyright (c) 2008 Saleem Abdulrasool <compnerd@compnerd.org> +# Distributed under the terms of the GNU General Purpose License v2 +# $Header: $ + +depend() { + need dbus +} + +start() { + ebegin "Starting NetworkManager" + start-stop-daemon --start --quiet --pidfile /var/run/NetworkManager.pid \ + --exec /usr/sbin/NetworkManager -- --pid-file /var/run/NetworkManager.pid + eend $? +} + +stop() { + ebegin "Stopping NetworkManager" + start-stop-daemon --stop --quiet --pidfile /var/run/NetworkManager.pid + eend $? +} + +# vim: set ft=gentoo-init-d ts=3 sw=3 et: diff --git a/testing/ngrep/APKBUILD b/testing/ngrep/APKBUILD new file mode 100644 index 0000000000..67d6253d1e --- /dev/null +++ b/testing/ngrep/APKBUILD @@ -0,0 +1,29 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=ngrep +pkgver=1.45 +pkgrel=0 +pkgdesc="A grep-like utility that allows you to search for network packets on an interface" +url="http://ngrep.sourceforge.net/" +arch="all" +license="custom" +depends= +depends_dev="libpcap-dev" +makedepends="$depends_dev" +install="" +subpackages="" +source="http://downloads.sourceforge.net/sourceforge/ngrep/$pkgname-$pkgver.tar.bz2" +_builddir="$srcdir"/$pkgname-$pkgver +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --with-pcap-includes=/usr/include/pcap + make || return 1 +} +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="bc8150331601f3b869549c94866b4f1c ngrep-1.45.tar.bz2" diff --git a/testing/nodejs/APKBUILD b/testing/nodejs/APKBUILD new file mode 100644 index 0000000000..fe5acb8e03 --- /dev/null +++ b/testing/nodejs/APKBUILD @@ -0,0 +1,48 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=nodejs +pkgver=0.4.2 +pkgrel=0 +pkgdesc="event-oriented javascript framework and execution environment" +url="http://nodejs.org/" + +# v8 is not portable so we have to list archs by hand +arch="x86 x86_64 arm" + +license="MIT BSD Apache-2" +depends= +depends_dev= +makedepends="$depends_dev python libev-dev c-ares-dev openssl-dev" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://nodejs.org/dist/node-v${pkgver}.tar.gz + nodejs-uclibc.patch + nodejs-multiplicity.patch" + +_builddir="${srcdir}/node-v${pkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --shared-cares \ + --shared-libev + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="9e9e791e125f6a601ebc663dc99c72a8 node-v0.4.2.tar.gz +b5d7568f58bb9a14d5b9a971e89560c6 nodejs-uclibc.patch +912d504d56fb194b4ceda8f693f6e200 nodejs-multiplicity.patch" diff --git a/testing/nodejs/nodejs-multiplicity.patch b/testing/nodejs/nodejs-multiplicity.patch new file mode 100644 index 0000000000..87479690d5 --- /dev/null +++ b/testing/nodejs/nodejs-multiplicity.patch @@ -0,0 +1,10 @@ +--- node-v0.4.2.orig/wscript ++++ node-v0.4.2/wscript +@@ -436,7 +436,6 @@ + # LFS + conf.env.append_value('CPPFLAGS', '-D_LARGEFILE_SOURCE') + conf.env.append_value('CPPFLAGS', '-D_FILE_OFFSET_BITS=64') +- conf.env.append_value('CPPFLAGS', '-DEV_MULTIPLICITY=0') + + # Makes select on windows support more than 64 FDs + if sys.platform.startswith("win32"): diff --git a/testing/nodejs/nodejs-uclibc.patch b/testing/nodejs/nodejs-uclibc.patch new file mode 100644 index 0000000000..68fadff06f --- /dev/null +++ b/testing/nodejs/nodejs-uclibc.patch @@ -0,0 +1,20 @@ +--- node-v0.4.2.orig/deps/v8/src/platform-linux.cc ++++ node-v0.4.2/deps/v8/src/platform-linux.cc +@@ -46,7 +46,7 @@ + #include <sys/stat.h> // open + #include <fcntl.h> // open + #include <unistd.h> // sysconf +-#ifdef __GLIBC__ ++#if defined(__GLIBC__) && !defined(__UCLIBC__) + #include <execinfo.h> // backtrace, backtrace_symbols + #endif // def __GLIBC__ + #include <strings.h> // index +@@ -447,7 +447,7 @@ + + int OS::StackWalk(Vector<OS::StackFrame> frames) { + // backtrace is a glibc extension. +-#ifdef __GLIBC__ ++#if defined(__GLIBC__) && !defined(__UCLIBC__) + int frames_size = frames.length(); + ScopedVector<void*> addresses(frames_size); + diff --git a/testing/obexftp/APKBUILD b/testing/obexftp/APKBUILD new file mode 100644 index 0000000000..49715ff1ac --- /dev/null +++ b/testing/obexftp/APKBUILD @@ -0,0 +1,51 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=obexftp +pkgver=0.23 +pkgrel=3 +pkgdesc="A tool for transfer files to/from any OBEX enabled device" +url="http://openobex.triq.net/obexftp/obexftp" +arch="all" +license="GPL" +depends= +makedepends="pkgconfig openobex-dev bluez-dev" +subpackages="$pkgname-dev $pkgname-doc libobexftp" +source="http://downloads.sourceforge.net/sourceforge/openobex/obexftp-$pkgver.tar.bz2 + obexftp-0.23-gentoo.patch" + +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + cd "$_builddir" + for i in $source; do + case "$i" in + *.patch) + msg "Applying $i" + patch -p1 -i "$srcdir"/$i || return 1 + ;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --enable-bluetooth \ + --disable-perl \ + --disable-python \ + --disable-ruby || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +libobexftp() { + pkgdesc="OBEX shared library" + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/lib*.so.* "$subpkgdir"/usr/lib +} + +md5sums="f20762061b68bc921e80be4aebc349eb obexftp-0.23.tar.bz2 +90b4fadb913673c339bbd04cebc4f9d2 obexftp-0.23-gentoo.patch" diff --git a/testing/obexftp/obexftp-0.23-gentoo.patch b/testing/obexftp/obexftp-0.23-gentoo.patch new file mode 100644 index 0000000000..b805bc6250 --- /dev/null +++ b/testing/obexftp/obexftp-0.23-gentoo.patch @@ -0,0 +1,24 @@ +diff -Nru obexftp-0.23.orig/obexftp/client.c obexftp-0.23/obexftp/client.c +--- obexftp-0.23.orig/obexftp/client.c 2009-02-17 18:27:48.000000000 +0000 ++++ obexftp-0.23/obexftp/client.c 2009-03-22 16:12:05.000000000 +0000 +@@ -51,8 +51,6 @@ + + #ifdef HAVE_BLUETOOTH + #include "bt_kit.h" +-#else +-#define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT + #endif /* HAVE_BLUETOOTH */ + + #include <openobex/obex.h> +diff -Nru obexftp-0.23.orig/apps/obexftp.c obexftp-0.23/apps/obexftp.c +--- obexftp-0.23.orig/apps/obexftp.c 2009-02-17 18:27:48.000000000 +0000 ++++ obexftp-0.23/apps/obexftp.c 2009-03-22 16:19:29.000000000 +0000 +@@ -29,6 +29,8 @@ + + #include <sys/types.h> + ++#include <config.h> ++ + #ifdef HAVE_SYS_TIMES_H + #include <sys/times.h> + #endif diff --git a/testing/openjpeg/APKBUILD b/testing/openjpeg/APKBUILD new file mode 100644 index 0000000000..5f1c0ae520 --- /dev/null +++ b/testing/openjpeg/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=openjpeg +pkgver=1.3 +_pkgver="v${pkgver%.*}_${pkgver#*.}" +pkgrel=1 +pkgdesc="open-source implementation of JPEG2000 image codec" +url="http://www.openjpeg.org/" +arch="all" +license="BSD" +depends= +depends_dev= +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://openjpeg.googlecode.com/files/openjpeg_${_pkgver}.tar.gz" + +_builddir="${srcdir}/OpenJPEG_${_pkgver}" +prepare() { + local i + mkdir "$_builddir" + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="f9a3ccfa91ac34b589e9bf7577ce8ff9 openjpeg_v1_3.tar.gz" diff --git a/testing/openlldp/APKBUILD b/testing/openlldp/APKBUILD new file mode 100644 index 0000000000..e9a6e2d610 --- /dev/null +++ b/testing/openlldp/APKBUILD @@ -0,0 +1,43 @@ +# Maintainer: Leonardo Arena <rnalrd@gmail.com> +pkgname=openlldp +pkgver=0.4a +_realver=0.4alpha +pkgrel=2 +pkgdesc="Open Source implementation of the IEEE standard 802.1AB Link Layer Discovery Protocol (LLDP)" +url="http://openlldp.sourceforge.net/" +arch="all" +license="GPL" +depends= +makedepends= +install= +subpackages="" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$_realver.tar.gz + $pkgname.initd + $pkgname.confd" + +_builddir="$srcdir"/$pkgname-$_realver + +#prepare() { +# cd "$_builddir" +# apply patches here +#} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install + install -m755 -D ../../$pkgname.initd "$pkgdir"/etc/init.d/lldpd + install -m644 -D ../../$pkgname.confd "$pkgdir"/etc/conf.d/lldpd +} + +md5sums="f48ffd632b96246cbf0f5c485dea3b01 openlldp-0.4alpha.tar.gz +7e1a489d8ccdd204cac68ce87e0ce360 openlldp.initd +7ac497e5a8b2f68532816c5718f5bf62 openlldp.confd" diff --git a/testing/openlldp/openlldp.confd b/testing/openlldp/openlldp.confd new file mode 100644 index 0000000000..38d9613483 --- /dev/null +++ b/testing/openlldp/openlldp.confd @@ -0,0 +1,2 @@ +# Remove existing pid file at startup +OPTS="-s" diff --git a/testing/openlldp/openlldp.initd b/testing/openlldp/openlldp.initd new file mode 100755 index 0000000000..4ab856addc --- /dev/null +++ b/testing/openlldp/openlldp.initd @@ -0,0 +1,24 @@ +#!/sbin/runscript + +NAME="lldpd" +DAEMON="/usr/sbin/$NAME" +pidfile=/var/run/$NAME.pid + +depend() { + need net + after firewall +} + +start() { + ebegin "Starting ${NAME}" + start-stop-daemon --start --quiet --pidfile ${pidfile} \ + --exec ${DAEMON} -- ${OPTS} + eend $? +} + +stop() { + ebegin "Stopping ${NAME}" + start-stop-daemon --stop --exec ${DAEMON} + eend $? +} + diff --git a/testing/opensips-cp/APKBUILD b/testing/opensips-cp/APKBUILD new file mode 100644 index 0000000000..1d21e1f8fc --- /dev/null +++ b/testing/opensips-cp/APKBUILD @@ -0,0 +1,26 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=opensips-cp +pkgver=2.0 +pkgrel=0 +pkgdesc="Web Control Panel Application for the OpenSIPS SIP server" +url="http://opensips-cp.sourceforge.net/" +arch="all" +license="GPL" +depends="php" +makedepends="" +install= +options="!strip" +#subpackages="$pkgname-doc $pkgname-dev" +source="http://downloads.sourceforge.net/$pkgname/${pkgname}_$pkgver.tgz" + +build() { + return 0 +} + +package() { + mkdir -p "$pkgdir"/usr/share/webapps + cp -r "$srcdir"/$pkgname "$pkgdir"/usr/share/webapps/$pkgname +} + +md5sums="a9c3b142c7f74eb0201ae2ab0b252c32 opensips-cp_2.0.tgz" diff --git a/testing/opensips/APKBUILD b/testing/opensips/APKBUILD new file mode 100644 index 0000000000..debdbbf1e2 --- /dev/null +++ b/testing/opensips/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=opensips +pkgver=1.6.3 +pkgrel=0 +pkgdesc="Flexible and customizable sip routing engine" +url="http://www.opensips.org/" +arch="all" +license="GPL" +depends= +makedepends="bison flex expat-dev coreutils" +install="$pkgname.pre-install $pkgname.post-install" +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver-notls_src.tar.gz + $pkgname.initd" + +build() { + cd "$srcdir/$pkgname-$pkgver-notls" + sed -i -e 's:^cfg-target.*:cfg-target = $(cfg-dir):' \ + -e 's:^cfg-prefix.*:cfg-prefix = $(basedir):' Makefile.defs + + cd scripts + sed -i -e 's:/var/run/opensips.pid:/var/run/opensips/opensips.pid:g' \ + opensipsctl.base opensipsctlrc osipsconsole osipsconsolerc + cd .. + + make prefix=/usr || return 1 +} + +package() { + cd "$srcdir/$pkgname-$pkgver-notls" + make prefix=/usr basedir="$pkgdir" install + chmod 750 "$pkgdir"/etc/opensips/opensips.cfg + install -d "$pkgdir"/var/run/opensips + install -Dm755 ../$pkgname.initd "$pkgdir"/etc/init.d/$pkgname +} + +md5sums="84e5d6da6476dcdb8bc0fd736507040a opensips-1.6.3-notls_src.tar.gz +7fb51d35517f7f10cfe6e89139f7060a opensips.initd" diff --git a/testing/opensips/opensips.initd b/testing/opensips/opensips.initd new file mode 100644 index 0000000000..09c03fd5d1 --- /dev/null +++ b/testing/opensips/opensips.initd @@ -0,0 +1,26 @@ +#!/sbin/runscript + +daemon=/usr/sbin/opensips +pidfile=/var/run/opensips/opensips.pid + +depend() { + need net + after firewall +} + +start() { + ebegin "Starting OpenSIPS" + start-stop-daemon --start --quiet --pidfile $pidfile --exec $daemon \ + -- \ + -u ${OPENSIPS_USER:-opensips} \ + -g ${OPENSIPS_GROUP:-opensips} \ + -P $pidfile + eend $? +} + +stop() { + ebegin "Stopping OpenSIPS" + start-stop-daemon --stop --quiet --pidfile $pidfile + eend $? +} + diff --git a/testing/opensips/opensips.post-install b/testing/opensips/opensips.post-install new file mode 100644 index 0000000000..eb9d86d98b --- /dev/null +++ b/testing/opensips/opensips.post-install @@ -0,0 +1,5 @@ +#!/bin/sh + +chown -R opensips:opensips /var/run/opensips +chgrp opensips /etc/opensips/opensips.cfg +exit 0 diff --git a/testing/opensips/opensips.pre-install b/testing/opensips/opensips.pre-install new file mode 100644 index 0000000000..4b9ccd418d --- /dev/null +++ b/testing/opensips/opensips.pre-install @@ -0,0 +1,5 @@ +#!/bin/sh + +adduser -H -h /var/empty -s /bin/false -D opensips 2>/dev/null + +exit 0 diff --git a/testing/openvcp/APKBUILD b/testing/openvcp/APKBUILD new file mode 100644 index 0000000000..f1703ccc7a --- /dev/null +++ b/testing/openvcp/APKBUILD @@ -0,0 +1,48 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=openvcp +_pkgname=openvcpd +pkgver=0.5 +_pkgver=0.5rc3 +pkgrel=2 +pkgdesc="Control Panel for VServer instances" +url="http://www.openvcp.org" +arch="all" +license="GPL" +depends= +depends_dev= +makedepends="gnutls-dev util-vserver-dev libxml2-dev libpcap-dev libtool + sqlite-dev rsync iptables-dev" +install= +subpackages= +source="http://files.openvcp.org/$_pkgname-$_pkgver.tar.gz + system-libiptc.patch + $pkgname.initd" + +_builddir="$srcdir"/$_pkgname-$_pkgver + +prepare() { + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --with-gnutls + make || return 1 +} +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname +} + +md5sums="9c65d706133ea48553c90236997f1b8b openvcpd-0.5rc3.tar.gz +bf034b4507f79f635596f1c78f5f7e3f system-libiptc.patch +db8efb9c086673fd2e3e2532294c7a2f openvcp.initd" diff --git a/testing/openvcp/openvcp.initd b/testing/openvcp/openvcp.initd new file mode 100644 index 0000000000..9acc4d1092 --- /dev/null +++ b/testing/openvcp/openvcp.initd @@ -0,0 +1,21 @@ +#!/sbin/runscript + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="openvcpd" +NAME=openvcpd +DAEMON=/usr/bin/$NAME +DAEMON_ARGS="" +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME + +start() { + ebegin "OpenVCP Starting" + start-stop-daemon --start --quiet --background --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS || return 1 + eend $? +} + +stop() { + ebegin "OpenVCP Stopping" + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME + eend $? +} diff --git a/testing/openvcp/system-libiptc.patch b/testing/openvcp/system-libiptc.patch new file mode 100644 index 0000000000..cfbe7296ea --- /dev/null +++ b/testing/openvcp/system-libiptc.patch @@ -0,0 +1,27 @@ +--- ./Makefile.in.orig ++++ ./Makefile.in +@@ -7,9 +7,9 @@ + CC=@CC@ + CFLAGS=@CFLAGS@ @DEFS@ -DOPENVCP_CONFIG=\"$(sysconfdir)/openvcpd.conf\" -DOPENVCP_DATA=\"$(datadir)/openvcpd\" -Ilib/ -Isrc/ -rdynamic -DREVISION=\"$(REV)\" `python-config --cflags` + LDFLAGS=@LDFLAGS@ +-LIBS=@LIBS@ `python-config --ldflags` ++LIBS=@LIBS@ `python-config --ldflags` -liptc + +-OBJECTS = lib/libiptc/libip6tc.o lib/libiptc/libip4tc.o src/modules.o src/misc.o src/node.o src/traffic.o src/logtraffic.o src/setup.o src/set.o src/parseconfig.o src/get.o src/request.o lib/fs.o lib/strings.o lib/ovcpxml.o src/filter.o src/bandwidth.o src/trafficlimit.o src/userbackup.o src/task.o ++OBJECTS = src/modules.o src/misc.o src/node.o src/traffic.o src/logtraffic.o src/setup.o src/set.o src/parseconfig.o src/get.o src/request.o lib/fs.o lib/strings.o lib/ovcpxml.o src/filter.o src/bandwidth.o src/trafficlimit.o src/userbackup.o src/task.o + + all: openvcpd lib/pyovcp/ovcp.so + openvcpd: src/main.c $(OBJECTS) lib/pyovcp/pyovcp.a +@@ -35,12 +35,6 @@ + + lib/ovcpxml.o: lib/ovcpxml.c + $(CC) $(CFLAGS) -fPIC -c lib/ovcpxml.c -o lib/ovcpxml.o +- +-lib/libiptc/libip4tc.o: +- cd lib/libiptc/; make libip4tc.o; +- +-lib/libiptc/libip6tc.o: +- cd lib/libiptc/; make libip6tc.o; + + lib/pyovcp/ovcp.so: + cd lib/pyovcp/; make ovcp.so; diff --git a/testing/openxcap/APKBUILD b/testing/openxcap/APKBUILD new file mode 100644 index 0000000000..4ee40c4019 --- /dev/null +++ b/testing/openxcap/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=openxcap +pkgver=2.0.0 +pkgrel=1 +pkgdesc="Open source fully featured XCAP server " +url="http://openxcap.org" +pkgusers="openxcap" +pkggroups="openxcap" +arch="noarch" +license="GPL" +depends="python py-application py-gnutls py-twisted py-twisted-web2 py-imaging + py-lxml py-mysqldb" +makedepends="python-dev" +install="$pkgname.pre-install $pkgname.post-install" +source="http://download.ag-projects.com/XCAP/$pkgname-$pkgver.tar.gz + config.ini + openxcap.initd +" +build() { + cd "$srcdir"/$pkgname-$pkgver + mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages + python setup.py install --root="$pkgdir" || return 1 + echo "/usr/lib/python2.6/site-packages/$pkgname-$pkgver-py2.6.egg" \ + > "$pkgdir"/usr/lib/python2.6/site-packages/$pkgname.pth + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -m644 -D "$srcdir"/config.ini \ + "$pkgdir"/etc/openxcap/config.ini + install -d -o openxcap "$pkgdir"/var/run/openxcap +} + +md5sums="155b1ee85dd3217e5647ad3ac9f72cf6 openxcap-2.0.0.tar.gz +7a18872843586717eaf3879444cc13d2 config.ini +0043d28e9e6e51e03661755d12080a28 openxcap.initd" diff --git a/testing/openxcap/config.ini b/testing/openxcap/config.ini new file mode 100644 index 0000000000..bcf5b22f23 --- /dev/null +++ b/testing/openxcap/config.ini @@ -0,0 +1,118 @@ +; +; Configuration file for OpenXCAP +; +; The values in the commented lines represent the defaults built in the +; server software +; +[Server] + +; IP address to listen for requests +; 0.0.0.0 means any address of this host + +; address = 0.0.0.0 + +; This is a comma separated list of XCAP root URIs. The first is the +; primary XCAP root URI, while the others (if specified) are aliases. +; The primary root URI is used when generating xcap-diff +; If the scheme is https, then the server will listen for requests in TLS mode. + +root = http://xcap.example.com/xcap-root + +; The backend to be used for storage and authentication. Current supported +; values are Database and OpenSIPS. OpenSIPS backend inherits all the settings +; from the Database backend but performs extra actions related to the +; integration with OpenSIPS for which it read the settings from [OpenSIPS] +; section + +backend = OpenSIPS + +; Validate XCAP documents against XML schemas + +; document_validation = Yes + + +[Logging] + +; Start, stop and major server error messages are always logged to syslog. + +; This section can be used to log more details about XCAP clients accessing +; the server. The values in the commented lines represent the defaults built +; in the server software + +; Directory where to write access.log file that will contain requests and/or +; responses to OpenXCAP server in Apache style. If set to an empty string, +; access logs will be printed to stdout if the server runs in no-fork mode +; or to syslog if the server runs in the background + +; directory=/var/log/openxcap + +; The following parameters control what kind of information (like +; stacktrace, body or headers) is logged for which response codes. The +; values must be a comma-separated list of HTTP response codes or the +; keyword 'any' that matches all response codes. + +; log_stacktrace=500 +; log_response_headers=500 +; log_response_body=500 +; log_request_headers=500 +; log_request_body=500 + + +[Authentication] + +; The HTTP authentication type, this can be either 'basic' or 'digest'. The +; standard states 'digest' as the mandatory, however it can be changed to +; basic + +; type = digest + +; Specify if the passwords are stored as plain text - Yes +; or in a hashed format MD5('username:domain:password') - No +; cleartext_passwords = Yes + +; The default authentication realm, if none indicated in the HTTP request +; URI +default_realm = example.com + +; A comma-separated list of hosts or networks to trust. +; The elements can be an IP address in CIDR format, a +; hostname or an IP address (in the latter 2 a mask of 32 +; is assumed), or the special keywords 'any' and 'none' +; (being equivalent to 0.0.0.0/0 and 0.0.0.0/32 +; respectively). +; trusted_peers = + + +[TLS] + +; Location of X509 certificate and private key that identify this server. +; The path is relative to /etc/openxcap, or it can be given as an absolute +; path. + +; Server X509 certificate +; certificate = + +; Server X509 private key +; private_key = + + +[Database] + +; The database connection URI for the datase with subscriber accounts +authentication_db_uri = pgsql://username:password@db/opensips + +; The database connection URI for the database that stores the XCAP documents +storage_db_uri = mysql://username:password@db/opensips + +; Authentication and storage tables +; subscriber_table = subscriber +; xcap_table = xcap + + +[OpenSIPS] + +; The address and port of the xml-rpc management interface +xmlrpc_url = http://sip.example.com:8080 + +; Publish xcap-diff event via OpenSIPS management interface +; enable_publish_xcapdiff = yes diff --git a/testing/openxcap/openxcap.initd b/testing/openxcap/openxcap.initd new file mode 100644 index 0000000000..03286cce3d --- /dev/null +++ b/testing/openxcap/openxcap.initd @@ -0,0 +1,31 @@ +#!/sbin/runscript +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin + +INSTALL_DIR="/usr/bin" +RUNTIME_DIR="/var/run/openxcap" +DEFAULTS="/etc/default/openxcap" +SERVER="$INSTALL_DIR/openxcap" +PID="$RUNTIME_DIR/openxcap.pid" +OPTIONS="" +NAME="openxcap" +DESC="OpenXCAP server" + +depend() { + need net + after firewall +} + +start() { + ebegin "Starting $DESC: $NAME " + start-stop-daemon --start --quiet --pidfile $PID --exec $SERVER -- $OPTIONS + eend $? +} + +stop () { + ebegin -n "Stopping $DESC: $NAME " + start-stop-daemon --stop --quiet --oknodo --signal 15 --pidfile $PID + eend $? +} + +exit 0 + diff --git a/testing/openxcap/openxcap.post-install b/testing/openxcap/openxcap.post-install new file mode 100755 index 0000000000..b3dff42032 --- /dev/null +++ b/testing/openxcap/openxcap.post-install @@ -0,0 +1,5 @@ +#!/bin/sh + +chown -R openxcap:openxcap /var/run/openxcap +chgrp openxcap /etc/openxcap/config.ini +exit 0 diff --git a/testing/openxcap/openxcap.pre-install b/testing/openxcap/openxcap.pre-install new file mode 100755 index 0000000000..cc2b529e93 --- /dev/null +++ b/testing/openxcap/openxcap.pre-install @@ -0,0 +1,5 @@ +#!/bin/sh + +addgroup openxcap 2>/dev/null +adduser -G openxcap -h /var/run/openxcap -s /bin/false -S -D -H openxcap 2>/dev/null +exit 0 diff --git a/testing/oxygen-gtk/APKBUILD b/testing/oxygen-gtk/APKBUILD new file mode 100644 index 0000000000..9e32f06beb --- /dev/null +++ b/testing/oxygen-gtk/APKBUILD @@ -0,0 +1,42 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=oxygen-gtk +pkgver=1.1.0 +pkgrel=0 +pkgdesc="gtk+ oxygen port" +url="http://www.kde.org/" +arch="all" +license="LGPL" +depends= +depends_dev="gtk+-dev" +makedepends="$depends_dev cmake" +install="" +subpackages= +source="http://kde.mirrors.tds.net/pub/kde/stable/oxygen-gtk/$pkgver/src/oxygen-gtk-$pkgver.tar.bz2 + isnan.patch" + +_builddir="$srcdir"/oxygen-gtk-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="bacbe2be37db8e8fb3e60a3e13be7fb8 oxygen-gtk-1.1.0.tar.bz2 +7425615ff80fd7afb0b90e6bed613f62 isnan.patch" diff --git a/testing/oxygen-gtk/isnan.patch b/testing/oxygen-gtk/isnan.patch new file mode 100644 index 0000000000..5e2d27477d --- /dev/null +++ b/testing/oxygen-gtk/isnan.patch @@ -0,0 +1,20 @@ +--- oxygen-gtk-1.0.5.orig/src/oxygencolorutils.cpp ++++ oxygen-gtk-1.0.5/src/oxygencolorutils.cpp +@@ -460,7 +460,7 @@ + { + if( amount <= 0.0 ) return base; + if( amount >= 1.0 ) return color; +- if( isnan( amount ) ) return base; ++ if( __isnan( amount ) ) return base; + + double ri = contrastRatio( base, color ); + double rg = 1.0 + ( ( ri + 1.0 ) * amount * amount * amount ); +@@ -487,7 +487,7 @@ + { + if( bias <= 0.0 ) return c1; + if( bias >= 1.0 ) return c2; +- if( isnan( bias ) ) return c1; ++ if( __isnan( bias ) ) return c1; + + double r = mixdouble( c1.red(), c2.red(), bias ); + double g = mixdouble( c1.green(), c2.green(), bias ); diff --git a/testing/oxygen-icons/APKBUILD b/testing/oxygen-icons/APKBUILD new file mode 100644 index 0000000000..cd047708a3 --- /dev/null +++ b/testing/oxygen-icons/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=oxygen-icons +pkgver=4.6.3 +pkgrel=0 +pkgdesc="oxygen icon set" +url="http://www.kde.org/" +arch="noarch" +license="LGPL" +depends= +depends_dev="cmake icon-naming-utils" +makedepends="$depends_dev" +install="" +subpackages="" +source="http://kde.mirrors.tds.net/pub/kde/stable/$pkgver/src/oxygen-icons-$pkgver.tar.bz2" +install_if="kdebase-workspace" + +_builddir="$srcdir"/oxygen-icons-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="3390ae73d1a0c70c121f69b556757fdd oxygen-icons-4.6.3.tar.bz2" diff --git a/testing/par2cmdline/APKBUILD b/testing/par2cmdline/APKBUILD new file mode 100644 index 0000000000..d0c41caef5 --- /dev/null +++ b/testing/par2cmdline/APKBUILD @@ -0,0 +1,53 @@ +# Contributor: <kalonji@gmail.com> +# Maintainer: <kalonji@gmail.com> +pkgname=par2cmdline +pkgver=0.4 +pkgrel=1 +pkgdesc="Providing a tool to apply the data-recovery capability concepts of RAID-like systems to the posting & recovery of multi-part archives on Usenet." +url="http://sourceforge.net/projects/parchive/" +arch="all" +license="GPL" +depends= +makedepends= +install= +source="http://downloads.sourceforge.net/sourceforge/parchive/${pkgname}-${pkgver}.tar.gz +par2cmdline-0.4-autoconf.patch +par2cmdline-0.4-letype.patch +par2cmdline-0.4-cosmetic.patch +par2cmdline-0.4-offset.patch +par2cmdline-0.4-gcc4.patch +par2cmdline-0.4-wildcard-fix.patch +par2cmdline-0.4-hardlinks.patch" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + for i in "$srcdir"/*.patch; do + msg "Applying ${i}" + patch -N -i $i || return 1 + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install +} + +md5sums="1551b63e57e3c232254dc62073b723a9 par2cmdline-0.4.tar.gz +8a0fad41e3c3165e3c788d2693797557 par2cmdline-0.4-autoconf.patch +1f7adb9308d4e972a5630eb56a42f8d5 par2cmdline-0.4-letype.patch +986d44b0cdba449459f9cfd93322144f par2cmdline-0.4-cosmetic.patch +cd54801b5107f03982c2b01ead21f02a par2cmdline-0.4-offset.patch +d52515669d3bc43f19c545fd6405dacc par2cmdline-0.4-gcc4.patch +c823d25f8862531e6e435ce0c76f8384 par2cmdline-0.4-wildcard-fix.patch +8683d237bc11e9d5581d14b4697d1f8b par2cmdline-0.4-hardlinks.patch" diff --git a/testing/par2cmdline/par2cmdline-0.4-autoconf.patch b/testing/par2cmdline/par2cmdline-0.4-autoconf.patch new file mode 100644 index 0000000000..a0f2fbb551 --- /dev/null +++ b/testing/par2cmdline/par2cmdline-0.4-autoconf.patch @@ -0,0 +1,22 @@ +--- ../orig/par2cmdline-0.4/par2cmdline.h 2004-04-15 15:30:02.000000000 +0200 ++++ ./par2cmdline.h 2007-03-24 13:25:43.000000000 +0100 +@@ -132,6 +132,10 @@ + typedef unsigned long long u64; + #endif + ++// FIXME: this is not done right w/ autoconf ++#include <sys/ioctl.h> ++#include <sys/mount.h> ++ + #if HAVE_SYS_STAT_H + # include <sys/stat.h> + #endif +@@ -179,6 +183,8 @@ + #include <ctype.h> + #include <sys/types.h> + #include <sys/stat.h> ++#include <sys/ioctl.h> ++#include <sys/mount.h> + #include <dirent.h> + #include <assert.h> + diff --git a/testing/par2cmdline/par2cmdline-0.4-cosmetic.patch b/testing/par2cmdline/par2cmdline-0.4-cosmetic.patch new file mode 100644 index 0000000000..0d5df21610 --- /dev/null +++ b/testing/par2cmdline/par2cmdline-0.4-cosmetic.patch @@ -0,0 +1,106 @@ +--- verificationhashtable.h 2003-06-03 13:48:52.000000000 +0200 ++++ verificationhashtable.h.new 2010-02-10 20:48:50.425580166 +0100 +@@ -66,11 +66,11 @@ public: + // Comparison operators for searching + bool operator <(const VerificationHashEntry &r) const + { +- return crc < r.crc || crc == r.crc && hash < r.hash; ++ return crc < r.crc || ( crc == r.crc && hash < r.hash ); + } + bool operator >(const VerificationHashEntry &r) const + { +- return crc > r.crc || crc == r.crc && hash > r.hash; ++ return crc > r.crc || ( crc == r.crc && hash > r.hash ); + } + bool operator ==(const VerificationHashEntry &r) const + { +@@ -183,11 +183,11 @@ inline const VerificationHashEntry* Veri + + while (entry) + { +- if (entry->crc < crc || entry->crc == crc && entry->hash < hash) ++ if (entry->crc < crc || ( entry->crc == crc && entry->hash < hash ) ) + { + entry = entry->right; + } +- else if (entry->crc > crc || entry->crc == crc && entry->hash > hash) ++ else if (entry->crc > crc || ( entry->crc == crc && entry->hash > hash ) ) + { + entry = entry->left; + } +@@ -402,14 +402,14 @@ inline const VerificationHashEntry* Veri + // have already been matched, or ones that are the wrong length + while (currententry && (currententry->SourceFile() != sourcefile || + currententry->IsSet() || +- checksummer.ShortBlock() && checksummer.BlockLength() != currententry->GetDataBlock()->GetLength() ++ ( checksummer.ShortBlock() && checksummer.BlockLength() != currententry->GetDataBlock()->GetLength() ) + ) + ) + { + // If we found an unused entry (which was presumably for the wrong + // source file) remember it (providing it is the correct length). +- if (0 == nextentry && !(currententry->IsSet() || +- checksummer.ShortBlock() && checksummer.BlockLength() != currententry->GetDataBlock()->GetLength() ++ if ( ( ( 0 == nextentry && !(currententry->IsSet() ) ) || ++ ( checksummer.ShortBlock() && checksummer.BlockLength() != currententry->GetDataBlock()->GetLength() ) + ) + ) + { +@@ -425,8 +425,8 @@ inline const VerificationHashEntry* Veri + } + + // Check for an unused entry which is the correct length +- while (nextentry && (nextentry->IsSet() || +- checksummer.ShortBlock() && checksummer.BlockLength() != nextentry->GetDataBlock()->GetLength() ++ while ( ( ( nextentry && (nextentry->IsSet() ) ) || ++ ( checksummer.ShortBlock() && checksummer.BlockLength() != nextentry->GetDataBlock()->GetLength() ) + ) + ) + { +--- par1repairer.cpp 2004-04-15 15:40:48.000000000 +0200 ++++ par1repairer.cpp.new 2010-02-10 21:04:43.288702325 +0100 +@@ -324,7 +324,7 @@ bool Par1Repairer::LoadRecoveryFile(stri + || + (fileheader.datasize && (fileheader.dataoffset < sizeof(fileheader) || fileheader.dataoffset + fileheader.datasize > filesize)) + || +- (fileheader.datasize && (fileheader.filelistoffset <= fileheader.dataoffset && fileheader.dataoffset < fileheader.filelistoffset+fileheader.filelistsize || fileheader.dataoffset <= fileheader.filelistoffset && fileheader.filelistoffset < fileheader.dataoffset + fileheader.datasize))) ++ (fileheader.datasize && ( ( fileheader.filelistoffset <= fileheader.dataoffset && fileheader.dataoffset < fileheader.filelistoffset+fileheader.filelistsize ) || ( fileheader.dataoffset <= fileheader.filelistoffset && fileheader.filelistoffset < fileheader.dataoffset + fileheader.datasize ) ))) + break; + + // Check the size of the file list +@@ -518,9 +518,9 @@ bool Par1Repairer::LoadOtherRecoveryFile + // Check the the file extension is the correct form + if ((tail[0] == 'P' || tail[0] == 'p') && + ( +- (tail[1] == 'A' || tail[1] == 'a') && (tail[2] == 'R' || tail[2] == 'r') ++ ( (tail[1] == 'A' || tail[1] == 'a') && (tail[2] == 'R' || tail[2] == 'r') ) + || +- isdigit(tail[1]) && isdigit(tail[2]) ++ ( isdigit(tail[1]) && isdigit(tail[2]) ) + )) + { + LoadRecoveryFile(filename); +@@ -549,9 +549,9 @@ bool Par1Repairer::LoadExtraRecoveryFile + // Check the the file extension is the correct form + if ((tail[0] == 'P' || tail[0] == 'p') && + ( +- (tail[1] == 'A' || tail[1] == 'a') && (tail[2] == 'R' || tail[2] == 'r') ++ ( (tail[1] == 'A' || tail[1] == 'a') && (tail[2] == 'R' || tail[2] == 'r') ) + || +- isdigit(tail[1]) && isdigit(tail[2]) ++ ( isdigit(tail[1]) && isdigit(tail[2]) ) + )) + { + LoadRecoveryFile(filename); +@@ -652,9 +652,9 @@ bool Par1Repairer::VerifyExtraFiles(cons + // Check the the file extension is the correct form + if ((tail[0] == 'P' || tail[0] == 'p') && + ( +- (tail[1] == 'A' || tail[1] == 'a') && (tail[2] == 'R' || tail[2] == 'r') ++ ( (tail[1] == 'A' || tail[1] == 'a') && (tail[2] == 'R' || tail[2] == 'r') ) + || +- isdigit(tail[1]) && isdigit(tail[2]) ++ ( isdigit(tail[1]) && isdigit(tail[2]) ) + )) + { + skip = true; diff --git a/testing/par2cmdline/par2cmdline-0.4-gcc4.patch b/testing/par2cmdline/par2cmdline-0.4-gcc4.patch new file mode 100644 index 0000000000..c6da26789e --- /dev/null +++ b/testing/par2cmdline/par2cmdline-0.4-gcc4.patch @@ -0,0 +1,62 @@ +Fix compilation with gcc-4. + +Patch by Dirk-Jan Heijs. + +http://bugs.gentoo.org/102391 +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=287904 + +--- par2cmdline-0.4/reedsolomon.cpp ++++ par2cmdline-0.4/reedsolomon.cpp +@@ -51,7 +51,7 @@ + } + } + +-bool ReedSolomon<Galois8>::SetInput(const vector<bool> &present) ++template <> bool ReedSolomon<Galois8>::SetInput(const vector<bool> &present) + { + inputcount = (u32)present.size(); + +@@ -80,7 +80,7 @@ + return true; + } + +-bool ReedSolomon<Galois8>::SetInput(u32 count) ++template <> bool ReedSolomon<Galois8>::SetInput(u32 count) + { + inputcount = count; + +@@ -101,7 +101,7 @@ + return true; + } + +-bool ReedSolomon<Galois8>::Process(size_t size, u32 inputindex, const void *inputbuffer, u32 outputindex, void *outputbuffer) ++template <> bool ReedSolomon<Galois8>::Process(size_t size, u32 inputindex, const void *inputbuffer, u32 outputindex, void *outputbuffer) + { + // Look up the appropriate element in the RS matrix + Galois8 factor = leftmatrix[outputindex * (datapresent + datamissing) + inputindex]; +@@ -189,7 +189,7 @@ + + // Set which of the source files are present and which are missing + // and compute the base values to use for the vandermonde matrix. +-bool ReedSolomon<Galois16>::SetInput(const vector<bool> &present) ++template <> bool ReedSolomon<Galois16>::SetInput(const vector<bool> &present) + { + inputcount = (u32)present.size(); + +@@ -233,7 +233,7 @@ + + // Record that the specified number of source files are all present + // and compute the base values to use for the vandermonde matrix. +-bool ReedSolomon<Galois16>::SetInput(u32 count) ++template <> bool ReedSolomon<Galois16>::SetInput(u32 count) + { + inputcount = count; + +@@ -267,7 +267,7 @@ + return true; + } + +-bool ReedSolomon<Galois16>::Process(size_t size, u32 inputindex, const void *inputbuffer, u32 outputindex, void *outputbuffer) ++template <> bool ReedSolomon<Galois16>::Process(size_t size, u32 inputindex, const void *inputbuffer, u32 outputindex, void *outputbuffer) + { + // Look up the appropriate element in the RS matrix diff --git a/testing/par2cmdline/par2cmdline-0.4-hardlinks.patch b/testing/par2cmdline/par2cmdline-0.4-hardlinks.patch new file mode 100644 index 0000000000..0d815f0948 --- /dev/null +++ b/testing/par2cmdline/par2cmdline-0.4-hardlinks.patch @@ -0,0 +1,15 @@ +--- Makefile.in 2004-04-12 18:44:18.000000000 +0200 ++++ Makefile.in.new 2010-02-10 21:08:17.799145528 +0100 +@@ -716,9 +716,9 @@ uninstall-am: uninstall-binPROGRAMS unin + + + install-exec-hook : +- ln -f $(DESTDIR)$(bindir)/par2$(EXEEXT) $(DESTDIR)$(bindir)/par2create$(EXEEXT) +- ln -f $(DESTDIR)$(bindir)/par2$(EXEEXT) $(DESTDIR)$(bindir)/par2verify$(EXEEXT) +- ln -f $(DESTDIR)$(bindir)/par2$(EXEEXT) $(DESTDIR)$(bindir)/par2repair$(EXEEXT) ++ ln -sf $(bindir)/par2$(EXEEXT) $(DESTDIR)$(bindir)/par2create$(EXEEXT) ++ ln -sf $(bindir)/par2$(EXEEXT) $(DESTDIR)$(bindir)/par2verify$(EXEEXT) ++ ln -sf $(bindir)/par2$(EXEEXT) $(DESTDIR)$(bindir)/par2repair$(EXEEXT) + + uninstall-hook : + rm -f $(DESTDIR)$(bindir)/par2create$(EXEEXT) diff --git a/testing/par2cmdline/par2cmdline-0.4-letype.patch b/testing/par2cmdline/par2cmdline-0.4-letype.patch new file mode 100644 index 0000000000..e0c8d6c57b --- /dev/null +++ b/testing/par2cmdline/par2cmdline-0.4-letype.patch @@ -0,0 +1,219 @@ +diff -ur par2cmdline-0.4-orig/letype.h par2cmdline-0.4/letype.h +--- par2cmdline-0.4-orig/letype.h 2003-05-26 20:01:17.000000000 +0200 ++++ par2cmdline-0.4/letype.h 2006-05-09 10:47:29.000000000 +0200 +@@ -28,44 +28,15 @@ + + #else + +-class leu16 ++struct leu16 + { +-public: +- leu16(void); +- +- leu16(const leu16 &other); +- leu16& operator=(const leu16 &other); +- +- leu16(const u16 &other); + leu16& operator=(const u16 &other); + + operator u16(void) const; + +-protected: + u16 value; + }; + +-inline leu16::leu16(void) +-{ +-} +- +-inline leu16::leu16(const leu16 &other) +-: value(other.value) +-{ +-} +- +-inline leu16& leu16::operator =(const leu16 &other) +-{ +- value = other.value; +- return *this; +-} +- +-inline leu16::leu16(const u16 &other) +-{ +- ((unsigned char*)&value)[0] = (unsigned char)((other >> 0) & 0xff); +- ((unsigned char*)&value)[1] = (unsigned char)((other >> 8) & 0xff); +-} +- + inline leu16& leu16::operator=(const u16 &other) + { + ((unsigned char*)&value)[0] = (unsigned char)((other >> 0) & 0xff); +@@ -81,46 +52,15 @@ + } + + +-class leu32 ++struct leu32 + { +-public: +- leu32(void); +- +- leu32(const leu32 &other); +- leu32& operator=(const leu32 &other); +- +- leu32(const u32 &other); + leu32& operator=(const u32 &other); + + operator u32(void) const; + +-protected: + u32 value; + }; + +-inline leu32::leu32(void) +-{ +-} +- +-inline leu32::leu32(const leu32 &other) +-: value(other.value) +-{ +-} +- +-inline leu32& leu32::operator =(const leu32 &other) +-{ +- value = other.value; +- return *this; +-} +- +-inline leu32::leu32(const u32 &other) +-{ +- ((unsigned char*)&value)[0] = (unsigned char)((other >> 0) & 0xff); +- ((unsigned char*)&value)[1] = (unsigned char)((other >> 8) & 0xff); +- ((unsigned char*)&value)[2] = (unsigned char)((other >> 16) & 0xff); +- ((unsigned char*)&value)[3] = (unsigned char)((other >> 24) & 0xff); +-} +- + inline leu32& leu32::operator=(const u32 &other) + { + ((unsigned char*)&value)[0] = (unsigned char)((other >> 0) & 0xff); +@@ -140,50 +80,15 @@ + } + + +-class leu64 ++struct leu64 + { +-public: +- leu64(void); +- +- leu64(const leu64 &other); +- leu64& operator=(const leu64 &other); +- +- leu64(const u64 &other); + leu64& operator=(const u64 &other); + + operator u64(void) const; + +-protected: + u64 value; + }; + +-inline leu64::leu64(void) +-{ +-} +- +-inline leu64::leu64(const leu64 &other) +-: value(other.value) +-{ +-} +- +-inline leu64& leu64::operator =(const leu64 &other) +-{ +- value = other.value; +- return *this; +-} +- +-inline leu64::leu64(const u64 &other) +-{ +- ((unsigned char*)&value)[0] = (unsigned char)((other >> 0) & 0xff); +- ((unsigned char*)&value)[1] = (unsigned char)((other >> 8) & 0xff); +- ((unsigned char*)&value)[2] = (unsigned char)((other >> 16) & 0xff); +- ((unsigned char*)&value)[3] = (unsigned char)((other >> 24) & 0xff); +- ((unsigned char*)&value)[4] = (unsigned char)((other >> 32) & 0xff); +- ((unsigned char*)&value)[5] = (unsigned char)((other >> 40) & 0xff); +- ((unsigned char*)&value)[6] = (unsigned char)((other >> 48) & 0xff); +- ((unsigned char*)&value)[7] = (unsigned char)((other >> 56) & 0xff); +-} +- + inline leu64& leu64::operator=(const u64 &other) + { + ((unsigned char*)&value)[0] = (unsigned char)((other >> 0) & 0xff); +diff -ur par2cmdline-0.4-orig/md5.h par2cmdline-0.4/md5.h +--- par2cmdline-0.4-orig/md5.h 2003-08-02 01:41:04.000000000 +0200 ++++ par2cmdline-0.4/md5.h 2006-05-09 10:47:29.000000000 +0200 +@@ -20,6 +20,13 @@ + #ifndef __MD5_H__ + #define __MD5_H__ + ++#ifdef WIN32 ++#pragma pack(push, 1) ++#define PACKED ++#else ++#define PACKED __attribute__ ((packed)) ++#endif ++ + // This file defines the MD5Hash and MD5Context objects which are used + // to compute and manipulate the MD5 Hash values for a block of data. + +@@ -35,12 +42,11 @@ + + // MD5 Hash value + +-class MD5Hash +-{ +-public: +- // Constructor does not initialise the value +- MD5Hash(void) {}; ++struct MD5Hash; ++ostream& operator<<(ostream &s, const MD5Hash &hash); + ++struct MD5Hash ++{ + // Comparison operators + bool operator==(const MD5Hash &other) const; + bool operator!=(const MD5Hash &other) const; +@@ -54,13 +60,8 @@ + friend ostream& operator<<(ostream &s, const MD5Hash &hash); + string print(void) const; + +- // Copy and assignment +- MD5Hash(const MD5Hash &other); +- MD5Hash& operator=(const MD5Hash &other); +- +-public: + u8 hash[16]; // 16 byte MD5 Hash value +-}; ++} PACKED; + + // Intermediate computation state + +@@ -144,16 +145,9 @@ + return !other.operator<(*this); + } + +-inline MD5Hash::MD5Hash(const MD5Hash &other) +-{ +- memcpy(&hash, &other.hash, sizeof(hash)); +-} +- +-inline MD5Hash& MD5Hash::operator=(const MD5Hash &other) +-{ +- memcpy(&hash, &other.hash, sizeof(hash)); +- +- return *this; +-} ++#ifdef WIN32 ++#pragma pack(pop) ++#endif ++#undef PACKED + + #endif // __MD5_H__ diff --git a/testing/par2cmdline/par2cmdline-0.4-offset.patch b/testing/par2cmdline/par2cmdline-0.4-offset.patch new file mode 100644 index 0000000000..6539280668 --- /dev/null +++ b/testing/par2cmdline/par2cmdline-0.4-offset.patch @@ -0,0 +1,16 @@ +--- par2cmdline-0.4.orig/par2creatorsourcefile.cpp 2004-04-15 14:45:23.000000000 +0100 ++++ par2cmdline-0.4/par2creatorsourcefile.cpp 2005-09-29 02:27:43.000000000 +0100 +@@ -213,11 +213,12 @@ + } + } + ++ offset += want; ++ + if (noiselevel > CommandLine::nlQuiet) + { + // Display progress + u32 oldfraction = (u32)(1000 * offset / filesize); +- offset += want; + u32 newfraction = (u32)(1000 * offset / filesize); + if (oldfraction != newfraction) + { diff --git a/testing/par2cmdline/par2cmdline-0.4-wildcard-fix.patch b/testing/par2cmdline/par2cmdline-0.4-wildcard-fix.patch new file mode 100644 index 0000000000..d5f43c7963 --- /dev/null +++ b/testing/par2cmdline/par2cmdline-0.4-wildcard-fix.patch @@ -0,0 +1,23 @@ +--- commandline.cpp.orig 2006-04-06 21:41:27.000000000 -0700 ++++ commandline.cpp 2006-04-07 00:12:29.000000000 -0700 +@@ -550,6 +550,20 @@ + } + else + { ++ //start of shell expanded * patch. -- Michael Evans ++ //The shell might expaned * so, if we have our name and we're creating, then filter for files... ++ if ((parfilename.length() != 0) && (operation == opCreate)) ++ { ++ struct stat st; ++ if (!(stat(argv[0], &st) == 0 && S_ISREG(st.st_mode))) ++ { ++ cerr << "Skipping non-regular file: " << argv[0] << endl; ++ argc--; ++ argv++; ++ options = false; ++ continue; ++ } ++ }//end of shell expanded * patch. -- Michael Evans + filenames = new list<string>; + filenames->push_back(argv[0]); + } diff --git a/testing/partclone/APKBUILD b/testing/partclone/APKBUILD new file mode 100644 index 0000000000..5855d2b09d --- /dev/null +++ b/testing/partclone/APKBUILD @@ -0,0 +1,67 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=partclone +pkgver=0.2.24 +pkgrel=0 +pkgdesc="Partition cloning tool" +url="http://partclone.org/" +arch="all" +license="GPL" +depends= +makedepends="e2fsprogs-dev ncurses-dev" +install="" +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/project/partclone/testing/src/partclone-$pkgver.tar.gz + memtrace.patch" + +# TODO: +# libreiserfs: http://reiserfs.linux.kiev.ua +# ntfsprogs: http://download.sf.net/linux-ntfs/%{name}-%{version}.tar.bz2 +# + +_builddir="$srcdir"/partclone-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" +# --enable-all enable all supported file system +# --enable-extfs enable ext2/3/4 file system +# --enable-xfs enable XFS file system +# --enable-reiserfs enable REISERFS 3.6/3.6 file system +# --enable-reiser4 enable Reiser4 file system +# --enable-hfsp enable HFS plus file system +# --enable-fat enable FAT file system +# --enable-ntfs enable NTFS file system +# --enable-ufs enable UFS(1/2) file system +# --enable-vmfs enable vmfs file system +# --enable-jfs enable jfs file system +# --enable-btrfs enable btrfs file system +## --enable-xfs \ + ac_cv_lib_rt_aio_init=yes ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --enable-extfs \ + --enable-fat \ + --enable-ncursesw \ + --disable-nls \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="d2856820ed3f92e064fcbda3cd20f94e partclone-0.2.24.tar.gz +83dfb01e5d68795266726826a49a2de8 memtrace.patch" diff --git a/testing/partclone/memtrace.patch b/testing/partclone/memtrace.patch new file mode 100644 index 0000000000..9c8ba9af1b --- /dev/null +++ b/testing/partclone/memtrace.patch @@ -0,0 +1,14 @@ +diff --git a/src/main.c b/src/main.c +index 2fb6b58..8f079f2 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -20,7 +20,9 @@ + #include <sys/types.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_MEMTRACE + #include <mcheck.h> ++#endif + #include <stdint.h> + #include <stdarg.h> + #include <string.h> diff --git a/testing/partimage/APKBUILD b/testing/partimage/APKBUILD new file mode 100644 index 0000000000..09e50dc4ce --- /dev/null +++ b/testing/partimage/APKBUILD @@ -0,0 +1,43 @@ +# Maintainer: Leonardo Arena <rnalrd@gmail.com> +pkgname=partimage +pkgver=0.6.8 +pkgrel=0 +pkgdesc="Saves partitions having a supported filesystem to an image file" +url="http://www.partimage.org" +arch="all" +license="GPL" +depends= +makedepends="bzip2-dev newt-dev zlib-dev gettext-dev slang-dev openssl-dev \ + newt-dev autoconf" +install= +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/project/$pkgname/stable/$pkgver/$pkgname-$pkgver.tar.bz2 + partimage-0.6.8-gcc44.patch +" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + patch -p1 -i $srcdir/$pkgname-0.6.8-gcc44.patch || return 1 +} + +build() { + cd "$_builddir" + export LIBS="$LIBS -lintl" + autoconf && automake + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --disable-nls + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install +} + +md5sums="c13c8ede8cdf7745b97ec5827920ece7 partimage-0.6.8.tar.bz2 +a6430cf98c8f236c41dd3addcde1fcb8 partimage-0.6.8-gcc44.patch" diff --git a/testing/partimage/partimage-0.6.8-gcc44.patch b/testing/partimage/partimage-0.6.8-gcc44.patch new file mode 100644 index 0000000000..b171dad08d --- /dev/null +++ b/testing/partimage/partimage-0.6.8-gcc44.patch @@ -0,0 +1,24 @@ +diff -Naur partimage-0.6.8/src/client/netclient.h partimage-0.6.8-new/src/client/netclient.h +--- partimage-0.6.8/src/client/netclient.h 2009-09-24 16:21:42.000000000 -0300 ++++ partimage-0.6.8-new/src/client/netclient.h 2009-11-26 09:23:07.000000000 -0200 +@@ -35,7 +35,7 @@ + #ifdef HAVE_SSL + SSL_CTX * ctx; + X509 * server_cert; +- SSL_METHOD * meth; ++ const SSL_METHOD * meth; + #endif + bool m_bUseSSL; + bool m_bMustLogin; +diff -Naur partimage-0.6.8/src/server/netserver.h partimage-0.6.8-new/src/server/netserver.h +--- partimage-0.6.8/src/server/netserver.h 2009-09-12 05:06:22.000000000 -0300 ++++ partimage-0.6.8-new/src/server/netserver.h 2009-11-26 09:32:02.000000000 -0200 +@@ -41,7 +41,7 @@ + #ifdef HAVE_SSL + SSL_CTX * ctx; + X509 * client_cert; +- SSL_METHOD * meth; ++ const SSL_METHOD * meth; + int err; + #endif + diff --git a/testing/pdns-gui/0010-replace-bash-with-sh.patch b/testing/pdns-gui/0010-replace-bash-with-sh.patch new file mode 100644 index 0000000000..e684009bff --- /dev/null +++ b/testing/pdns-gui/0010-replace-bash-with-sh.patch @@ -0,0 +1,81 @@ +--- ./batch/install.sh.orig ++++ ./batch/install.sh +@@ -1,10 +1,11 @@ +-#!/bin/bash ++#!/bin/sh + +-abspath=$(cd ${0%/*} && pwd -P) ++abspath=${0%/*} ++php=$(which php) + +-if [[ `which php` == "" ]]; then ++if [ -z "$php" ]; then + echo "Error: can't locate PHP CLI interpreter" + exit 1 + fi + +-php -q $abspath/install.php ++$php -q $abspath/install.php +--- ./batch/install.php.orig ++++ ./batch/install.php +@@ -110,7 +110,7 @@ + echo "\n\nAnd make sure 'mod_rewrite' is enabled.\n\n"; + /** + * Interactively prompts for input without echoing to the terminal. +- * Requires a bash shell or Windows and won't work with ++ * Requires a sh shell or Windows and won't work with + * safe_mode settings (Uses `shell_exec`) + */ + function prompt_silent($prompt = "Enter Password:") { +@@ -125,12 +125,12 @@ + unlink($vbscript); + return $password; + } else { +- $command = "/usr/bin/env bash -c 'echo OK'"; ++ $command = "/usr/bin/env sh -c 'echo OK'"; + if (rtrim(shell_exec($command)) !== 'OK') { +- trigger_error("Can't invoke bash"); ++ trigger_error("Can't invoke sh"); + return; + } +- $command = "/usr/bin/env bash -c 'read -s -p \"" ++ $command = "/usr/bin/env sh -c 'read -s -p \"" + . addslashes($prompt) + . "\" mypassword && echo \$mypassword'"; + $password = rtrim(shell_exec($command)); +--- ./batch/upgrade.sh.orig ++++ ./batch/upgrade.sh +@@ -1,10 +1,11 @@ +-#!/bin/bash ++#!/bin/sh + +-abspath=$(cd ${0%/*} && pwd -P) ++abspath=${0%/*} ++php=$(which php) + +-if [[ `which php` == "" ]]; then ++if [ -z "$php" ]; then + echo "Error: can't locate PHP CLI interpreter" + exit 1 + fi + +-php -q $abspath/upgrade.php ++$php -q $abspath/upgrade.php +--- ./batch/dev/refresh.sh.orig ++++ ./batch/dev/refresh.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + echo "" + echo "" +@@ -15,8 +15,7 @@ + echo -n " Do you want to continue [no]: " + read confirm + +-if [[ "$confirm" != "YES" ]] +-then ++if [ "$confirm" != "YES" ]; then + exit 0 + fi + diff --git a/testing/pdns-gui/0020-update-for-mysql55.patch b/testing/pdns-gui/0020-update-for-mysql55.patch new file mode 100644 index 0000000000..2f2800a202 --- /dev/null +++ b/testing/pdns-gui/0020-update-for-mysql55.patch @@ -0,0 +1,67 @@ +--- ./data/sql/lib.model.schema.sql.orig ++++ ./data/sql/lib.model.schema.sql +@@ -21,7 +21,7 @@ + `account` VARCHAR(40), + PRIMARY KEY (`id`), + UNIQUE KEY `name_index` (`name`) +-)Type=MyISAM; ++) Engine=MyISAM; + + #----------------------------------------------------------------------------- + #-- records +@@ -47,7 +47,7 @@ + CONSTRAINT `records_FK_1` + FOREIGN KEY (`domain_id`) + REFERENCES `domains` (`id`) +-)Type=MyISAM; ++) Engine=MyISAM; + + #----------------------------------------------------------------------------- + #-- supermasters +@@ -63,7 +63,7 @@ + `account` VARCHAR(40), + `id` INTEGER NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`id`) +-)Type=MyISAM; ++) Engine=MyISAM; + + #----------------------------------------------------------------------------- + #-- template +@@ -78,7 +78,7 @@ + `name` VARCHAR(255), + `type` VARCHAR(45), + PRIMARY KEY (`id`) +-)Type=MyISAM; ++) Engine=MyISAM; + + #----------------------------------------------------------------------------- + #-- template_record +@@ -101,7 +101,7 @@ + CONSTRAINT `template_record_FK_1` + FOREIGN KEY (`template_id`) + REFERENCES `template` (`id`) +-)Type=MyISAM; ++) Engine=MyISAM; + + #----------------------------------------------------------------------------- + #-- setting +@@ -115,7 +115,7 @@ + `name` VARCHAR(255) NOT NULL, + `value` TEXT, + PRIMARY KEY (`name`) +-)Type=MyISAM; ++) Engine=MyISAM; + + # This restores the fkey checks, after having unset them earlier + SET FOREIGN_KEY_CHECKS = 1; +--- ./data/sql/plugins.sfPropelAuditPlugin.lib.model.schema.sql.orig ++++ ./data/sql/plugins.sfPropelAuditPlugin.lib.model.schema.sql +@@ -22,7 +22,7 @@ + `type` VARCHAR(255), + `created_at` DATETIME, + PRIMARY KEY (`id`) +-)Type=MyISAM; ++) Engine=MyISAM; + + # This restores the fkey checks, after having unset them earlier + SET FOREIGN_KEY_CHECKS = 1; diff --git a/testing/pdns-gui/0030-remove-zend.ze1_compatibility_mode-option.patch b/testing/pdns-gui/0030-remove-zend.ze1_compatibility_mode-option.patch new file mode 100644 index 0000000000..6c3c5a7aa8 --- /dev/null +++ b/testing/pdns-gui/0030-remove-zend.ze1_compatibility_mode-option.patch @@ -0,0 +1,12 @@ +--- ./data/symfony/config/php.yml.orig ++++ ./data/symfony/config/php.yml +@@ -4,9 +4,6 @@ + arg_separator.output: | + & + +-check: +- zend.ze1_compatibility_mode: off +- + warn: + magic_quotes_gpc: off + register_globals: off diff --git a/testing/pdns-gui/0040-alpine-default-htaccess-fix.patch b/testing/pdns-gui/0040-alpine-default-htaccess-fix.patch new file mode 100644 index 0000000000..4842a425ff --- /dev/null +++ b/testing/pdns-gui/0040-alpine-default-htaccess-fix.patch @@ -0,0 +1,11 @@ +--- ./web/.htaccess.orig ++++ ./web/.htaccess +@@ -5,7 +5,7 @@ + + # uncomment the following line, if you are having trouble + # getting no_script_name to work +- #RewriteBase / ++ RewriteBase /pdns-gui + + # we skip all files with .something + # comment the following 3 lines to allow periods in routes diff --git a/testing/pdns-gui/APKBUILD b/testing/pdns-gui/APKBUILD new file mode 100644 index 0000000000..4812790124 --- /dev/null +++ b/testing/pdns-gui/APKBUILD @@ -0,0 +1,63 @@ +# Contributor: Matt Smith <mcs@darkregion.net> +# Maintainer: Matt Smith <mcs@darkregion.net> +pkgname=pdns-gui +pkgver=0.3.3 +pkgrel=1 +pkgdesc="Web-based GUI for administering PowerDNS" +url="http://code.google.com/p/pdns-gui/" +arch="noarch" +license="GPL" +depends="mysql php php-cli php-mysql php-xsl pdns pdns-backend-mysql" +depends_dev= +makedepends="$depends_dev" +install="$pkgname.post-install $pkgname.post-upgrade" +subpackages= +source="http://$pkgname.googlecode.com/files/$pkgname.$pkgver.tgz + 0010-replace-bash-with-sh.patch + 0020-update-for-mysql55.patch + 0030-remove-zend.ze1_compatibility_mode-option.patch + 0040-alpine-default-htaccess-fix.patch + $pkgname.apache2.conf + " + +_builddir="$srcdir"/$pkgname.$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + return 0 +} + +package() { + # copy pdns-gui + mkdir -p "$pkgdir"/usr/share/webapps/$pkgname || return 1 + cp -a "$_builddir"/* "$pkgdir"/usr/share/webapps/$pkgname/ || return 1 + + # move log directory + mkdir -p "$pkgdir"/var/log/$pkgname || return 1 + chmod 2755 "$pkgdir"/var/log/$pkgname || return 1 + rm -rf "$pkgdir"/usr/share/webapps/$pkgname/log || return 1 + ln -fs /var/log/$pkgname "$pkgdir"/usr/share/webapps/$pkgname/log \ + || return 1 + + # remove the install file + rm "$pkgdir"/usr/share/webapps/$pkgname/INSTALL || return 1 + + # install the apache2 config + install -Dm644 "$srcdir"/$pkgname.apache2.conf \ + "$pkgdir"/etc/apache2/conf.d/$pkgname.conf || return 1 +} + +md5sums="caa45c5408764ccd98cfffd69e5e976f pdns-gui.0.3.3.tgz +98acdea457a4805c77cea373a6d57029 0010-replace-bash-with-sh.patch +21683d18b30aef6082803339413f8c42 0020-update-for-mysql55.patch +8865c965b6c81dbf2d9de5f8956b0ae0 0030-remove-zend.ze1_compatibility_mode-option.patch +d621eecb4f688640cb514aff1ea8ef7d 0040-alpine-default-htaccess-fix.patch +2a4d9133e4ac0c22ed7bd408052b5de0 pdns-gui.apache2.conf" diff --git a/testing/pdns-gui/pdns-gui.apache2.conf b/testing/pdns-gui/pdns-gui.apache2.conf new file mode 100644 index 0000000000..35e866853b --- /dev/null +++ b/testing/pdns-gui/pdns-gui.apache2.conf @@ -0,0 +1,7 @@ +Alias /pdns-gui "/usr/share/webapps/pdns-gui/web" +<Directory "/usr/share/webapps/pdns-gui/web"> + AllowOverride All + Options FollowSymlinks + Order allow,deny + Allow from all +</Directory> diff --git a/testing/pdns-gui/pdns-gui.post-install b/testing/pdns-gui/pdns-gui.post-install new file mode 100644 index 0000000000..4bc6d990a0 --- /dev/null +++ b/testing/pdns-gui/pdns-gui.post-install @@ -0,0 +1,12 @@ +#!/bin/sh + +echo "*" >&2 +echo "* pdns-gui has been installed in: /usr/share/webapps/pdns-gui" >&2 +echo "* pdns-gui logs are at : /var/log/pdns-gui" >&2 +echo "* pdns-gui apache2 config is at : /etc/apache2/conf.d/pdns-gui.conf" >&2 +echo "*" >&2 +echo "* To finish installing pdns-gui, please run the following script:" >&2 +echo "* /usr/share/webapps/pdns-gui/batch/install.sh" >&2 +echo "*" >&2 + +exit 0 diff --git a/testing/pdns-gui/pdns-gui.post-upgrade b/testing/pdns-gui/pdns-gui.post-upgrade new file mode 100644 index 0000000000..7d9922a5d1 --- /dev/null +++ b/testing/pdns-gui/pdns-gui.post-upgrade @@ -0,0 +1,8 @@ +#!/bin/sh + +echo "*" >&2 +echo "* To finish upgrading pdns-gui, please run the following script:" >&2 +echo "* /usr/share/webapps/pdns-gui/batch/upgrade.sh" >&2 +echo "*" >&2 + +exit 0 diff --git a/testing/pdns/0010-disable-execinfo.patch b/testing/pdns/0010-disable-execinfo.patch new file mode 100644 index 0000000000..23747b31b0 --- /dev/null +++ b/testing/pdns/0010-disable-execinfo.patch @@ -0,0 +1,25 @@ +--- ./pdns/receiver.cc.orig ++++ ./pdns/receiver.cc +@@ -375,10 +375,11 @@ + + + #ifdef __linux__ +-#include <execinfo.h> ++//#include <execinfo.h> + static void tbhandler(int num) + { +- L<<Logger::Critical<<"Got a signal "<<num<<", attempting to print trace: "<<endl; ++ L<<Logger::Critical<<"Got a signal "<<num<<" (trace printing hard-disabled)"<<endl; ++/* + void *array[20]; //only care about last 17 functions (3 taken with tracing support) + size_t size; + char **strings; +@@ -389,7 +390,7 @@ + + for (i = 0; i < size; i++) //skip useless functions + L<<Logger::Error<<strings[i]<<endl; +- ++*/ + + signal(SIGABRT, SIG_DFL); + abort();//hopefully will give core diff --git a/testing/pdns/APKBUILD b/testing/pdns/APKBUILD new file mode 100644 index 0000000000..482a57b312 --- /dev/null +++ b/testing/pdns/APKBUILD @@ -0,0 +1,112 @@ +# Contributor: Matt Smith <mcs@darkregion.net> +# Maintainer: Matt Smith <mcs@darkregion.net> +pkgname=pdns +pkgver=3.0 +_extver=rc1 +_realver=$pkgver-$_extver +pkgrel=0 +pkgdesc="PowerDNS Authoritative Server" +url="http://www.powerdns.com/" +arch="all" +license="GPL" +depends="" +depends_dev="" +makedepends="$depends_dev boost-dev lua-dev openldap-dev mysql-dev + postgresql-dev sqlite-dev" +install="$pkgname.pre-install $pkgname.post-deinstall" +subpackages="$pkgname-doc + $pkgname-backend-geo:backend_geo + $pkgname-backend-ldap:backend_ldap + $pkgname-backend-mysql:backend_mysql + $pkgname-backend-pgsql:backend_pgsql + $pkgname-backend-pipe:backend_pipe + $pkgname-backend-sqlite3:backend_sqlite3 + " +pkgusers="pdns" +pkggroups="pdns" +source="http://powerdnssec.org/downloads/$pkgname-$_realver.tar.gz + 0010-disable-execinfo.patch + pdns.initd + pdns.conf + " + +_builddir="$srcdir/$pkgname-$_realver" + +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --libdir=/usr/lib/pdns \ + --with-modules="" \ + --with-dynmodules="geo ldap gmysql gpgsql pipe gsqlite3" \ + --disable-recursor \ + --disable-static \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + + install -m755 -D "$srcdir"/$pkgname.initd \ + "$pkgdir"/etc/init.d/$pkgname || return 1 + rm "$pkgdir"/etc/pdns.conf-dist + install -m600 -D "$srcdir"/$pkgname.conf \ + "$pkgdir"/etc/$pkgname.conf || return 1 + chown pdns:pdns "$pkgdir"/etc/$pkgname.conf || return 1 +} + +doc() { + mkdir -p "$subpkgdir"/usr || return 1 + mv "$pkgdir"/usr/share "$subpkgdir"/usr/ || return 1 + + _docs="AUTHORS COPYING ChangeLog HACKING INSTALL NEWS README TODO" + mkdir -p "$subpkgdir"/usr/share/doc/$pkgname || return 1 + for _doc in $_docs; do + cp "$_builddir"/$_doc \ + "$subpkgdir"/usr/share/doc/$pkgname/$_doc || return 1 + done +} + +backend_geo() { _mv_backend geo; } +backend_ldap() { _mv_backend ldap openldap; } +backend_mysql() { _mv_backend gmysql mysql; } +backend_pgsql() { _mv_backend gpgsql postgresql; } +backend_pipe() { _mv_backend pipe; } +backend_sqlite3() { _mv_backend gsqlite3 sqlite; } + +_mv_backend() { + local backend=$1 + pkgdesc="${backend} backend module for PowerDNS" + + # backend dependencies + if [ -n "${2-}" ]; then + depends="${2-}" + fi + depends="${depends} ${pkgname}" + + mkdir -p "$subpkgdir"/usr/lib/pdns || return 1 + mv "$pkgdir"/usr/lib/pdns/lib${backend}backend.so \ + "$subpkgdir"/usr/lib/pdns/ || return 1 + mv "$pkgdir"/usr/lib/pdns/lib${backend}backend.la \ + "$subpkgdir"/usr/lib/pdns/ || return 1 +} + +md5sums="99a457688dcc246faa43dfb64c65c424 pdns-3.0-rc1.tar.gz +fd4d14c30bae793072ba7f3fa6cca80e 0010-disable-execinfo.patch +3c4789e9a7330579d1882344bc10b27c pdns.initd +351bac7f784a1a40e768466d9e6f1a79 pdns.conf" diff --git a/testing/pdns/pdns.conf b/testing/pdns/pdns.conf new file mode 100644 index 0000000000..e0238c0acb --- /dev/null +++ b/testing/pdns/pdns.conf @@ -0,0 +1,337 @@ +# Autogenerated configuration file template +################################# +# allow-axfr-ips Allow zonetransfers only to these subnets +# +# allow-axfr-ips=0.0.0.0/0 + +################################# +# allow-recursion List of subnets that are allowed to recurse +# +# allow-recursion=0.0.0.0/0 + +################################# +# allow-recursion-override Set this so that local data fully overrides the recursor +# +# allow-recursion-override=no + +################################# +# cache-ttl Seconds to store packets in the PacketCache +# +cache-ttl=60 + +################################# +# chroot If set, chroot to this directory for more security +# +chroot=/var/empty + +################################# +# config-dir Location of configuration directory (pdns.conf) +# +config-dir=/etc + +################################# +# config-name Name of this virtual configuration - will rename the binary image +# +# config-name= + +################################# +# control-console Debugging switch - don't use +# +# control-console=no + +################################# +# daemon Operate as a daemon +# +daemon=yes + +################################# +# default-soa-name name to insert in the SOA record if none set in the backend +# +# default-soa-name=a.misconfigured.powerdns.server + +################################# +# default-ttl Seconds a result is valid if not set otherwise +# +# default-ttl=3600 + +################################# +# disable-axfr Disable zonetransfers but do allow TCP queries +# +# disable-axfr=no + +################################# +# disable-tcp Do not listen to TCP queries +# +# disable-tcp=no + +################################# +# distributor-threads Default number of Distributor (backend) threads to start +# +distributor-threads=1 + +################################# +# do-ipv6-additional-processing Do AAAA additional processing +# +# do-ipv6-additional-processing=no + +################################# +# fancy-records Process URL and MBOXFW records +# +# fancy-records=no + +################################# +# guardian Run within a guardian process +# +guardian=yes + +################################# +# launch Which backends to launch and order to query them in +# +# launch= + +################################# +# lazy-recursion Only recurse if question cannot be answered locally +# +# lazy-recursion=yes + +################################# +# load-modules Load this module - supply absolute or relative path +# +# load-modules= + +################################# +# local-address Local IP addresses to which we bind +# +# local-address=0.0.0.0 + +################################# +# local-ipv6 Local IP address to which we bind +# +# local-ipv6= + +################################# +# local-port The port on which we listen +# +local-port=53 + +################################# +# log-dns-details If PDNS should log DNS non-erroneous details +# +# log-dns-details= + +################################# +# log-failed-updates If PDNS should log failed update requests +# +# log-failed-updates= + +################################# +# logfile Logfile to use (Windows only) +# +# logfile=pdns.log + +################################# +# logging-facility Log under a specific facility +# +# logging-facility= + +################################# +# loglevel Amount of logging. Higher is more. Do not set below 3 +# +loglevel=3 + +################################# +# master Act as a master +# +# master=no + +################################# +# max-queue-length Maximum queuelength before considering situation lost +# +# max-queue-length=5000 + +################################# +# max-tcp-connections Maximum number of TCP connections +# +# max-tcp-connections=10 + +################################# +# module-dir Default directory for modules +# +module-dir=/usr/lib/pdns + +################################# +# negquery-cache-ttl Seconds to store packets in the PacketCache +# +negquery-cache-ttl=60 + +################################# +# no-shuffle Set this to prevent random shuffling of answers - for regression testing +# +# no-shuffle=off + +################################# +# out-of-zone-additional-processing Do out of zone additional processing +# +# out-of-zone-additional-processing=yes + +################################# +# pipebackend-abi-version Version of the pipe backend ABI +# +# pipebackend-abi-version=1 + +################################# +# query-cache-ttl Seconds to store packets in the PacketCache +# +# query-cache-ttl=20 + +################################# +# query-local-address Source IP address for sending queries +# +# query-local-address= + +################################# +# query-logging Hint backends that queries should be logged +# +# query-logging=no + +################################# +# queue-limit Maximum number of milliseconds to queue a query +# +# queue-limit=1500 + +################################# +# recursive-cache-ttl Seconds to store packets in the PacketCache +# +# recursive-cache-ttl=10 + +################################# +# recursor If recursion is desired, IP address of a recursing nameserver +# +# recursor=no + +################################# +# send-root-referral Send out old-fashioned root-referral instead of ServFail in case of no authority +# +# send-root-referral=no + +################################# +# setgid If set, change group id to this gid for more security +# +setgid=pdns + +################################# +# setuid If set, change user id to this uid for more security +# +setuid=pdns + +################################# +# skip-cname Do not perform CNAME indirection for each query +# +# skip-cname=no + +################################# +# slave Act as a slave +# +# slave=no + +################################# +# slave-cycle-interval Reschedule failed SOA serial checks once every .. seconds +# +# slave-cycle-interval=60 + +################################# +# smtpredirector Our smtpredir MX host +# +# smtpredirector=a.misconfigured.powerdns.smtp.server + +################################# +# soa-expire-default Default SOA expire +# +# soa-expire-default=604800 + +################################# +# soa-minimum-ttl Default SOA mininum ttl +# +# soa-minimum-ttl=3600 + +################################# +# soa-refresh-default Default SOA refresh +# +# soa-refresh-default=10800 + +################################# +# soa-retry-default Default SOA retry +# +# soa-retry-default=3600 + +################################# +# soa-serial-offset Make sure that no SOA serial is less than this number +# +# soa-serial-offset=0 + +################################# +# socket-dir Where the controlsocket will live +# +socket-dir=/var/run + +################################# +# strict-rfc-axfrs Perform strictly rfc compliant axfrs (very slow) +# +# strict-rfc-axfrs=no + +################################# +# trusted-notification-proxy IP address of incoming notification proxy +# +# trusted-notification-proxy= + +################################# +# urlredirector Where we send hosts to that need to be url redirected +# +# urlredirector=127.0.0.1 + +################################# +# use-logfile Use a log file (Windows only) +# +use-logfile=no + +################################# +# version-string PowerDNS version in packets - full, anonymous, powerdns or custom +# +# version-string=full + +################################# +# webserver Start a webserver for monitoring +# +webserver=no + +################################# +# webserver-address IP Address of webserver to listen on +# +# webserver-address=127.0.0.1 + +################################# +# webserver-password Password required for accessing the webserver +# +# webserver-password= + +################################# +# webserver-port Port of webserver to listen on +# +# webserver-port=8081 + +################################# +# webserver-print-arguments If the webserver should print arguments +# +# webserver-print-arguments=no + +################################# +# wildcard-url Process URL and MBOXFW records +# +# wildcard-url=no + +################################# +# wildcards Honor wildcards in the database +# +wildcards=yes + + diff --git a/testing/pdns/pdns.initd b/testing/pdns/pdns.initd new file mode 100644 index 0000000000..593d56347b --- /dev/null +++ b/testing/pdns/pdns.initd @@ -0,0 +1,64 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dns/pdns/files/pdns,v 1.10 2007/05/07 20:19:18 swegener Exp $ + +name=pdns +daemon=/usr/sbin/pdns_server +pdns_control=/usr/bin/pdns_control +opts="reload monitor dump" + +PDNS_INSTANCE="${SVCNAME#pdns[.-]}" +PDNS_CONFIG="" + +if [ -n "${PDNS_INSTANCE}" ] && [ "${PDNS_INSTANCE}" != "pdns" ] +then + PDNS_CONFIG="--config-name=${PDNS_INSTANCE}" +else + PDNS_INSTANCE="default" +fi + +depend() { + need net + after firewall +} + +start() { + ebegin "Starting PowerDNS (${PDNS_INSTANCE})" + ${daemon} \ + ${PDNS_CONFIG} \ + --daemon=yes \ + --guardian=yes + eend $? +} + +stop() { + ebegin "Stopping PowerDNS (${PDNS_INSTANCE})" + ${pdns_control} ${PDNS_CONFIG} quit &>/dev/null + eend $? +} + +reload() { + ebegin "Reloading PowerDNS (${PDNS_INSTANCE})" + ${pdns_control} ${PDNS_CONFIG} cycle &>/dev/null + eend $? +} + +dump() { + ebegin "Dumping PowerDNS (${PDNS_INSTANCE}) variables" + ${pdns_control} ${PDNS_CONFIG} list + eend $? +} + +monitor() { + ebegin "Starting PowerDNS (${PDNS_INSTANCE}) in monitor mode" + ${daemon} \ + ${PDNS_CONFIG} \ + --daemon=no \ + --guardian=no \ + --control-console=yes \ + --loglevel=9 \ + --log-dns-details=yes \ + --query-logging=yes + eend $? +} diff --git a/testing/pdns/pdns.post-deinstall b/testing/pdns/pdns.post-deinstall new file mode 100644 index 0000000000..f1efa16090 --- /dev/null +++ b/testing/pdns/pdns.post-deinstall @@ -0,0 +1,4 @@ +#!/bin/sh + +deluser pdns 2>/dev/null +exit 0 diff --git a/testing/pdns/pdns.pre-install b/testing/pdns/pdns.pre-install new file mode 100644 index 0000000000..c9d2d14735 --- /dev/null +++ b/testing/pdns/pdns.pre-install @@ -0,0 +1,4 @@ +#!/bin/sh + +adduser -H -h /var/empty -D -s /bin/false pdns 2>/dev/null +exit 0 diff --git a/testing/perl-crypt-openssl-bignum/APKBUILD b/testing/perl-crypt-openssl-bignum/APKBUILD new file mode 100644 index 0000000000..3e30d1444a --- /dev/null +++ b/testing/perl-crypt-openssl-bignum/APKBUILD @@ -0,0 +1,37 @@ +# Automatically generated by apkbuild-cpan, template 1 +# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com> +pkgname=perl-crypt-openssl-bignum +_pkgreal=Crypt-OpenSSL-Bignum +pkgver=0.04 +pkgrel=0 +pkgdesc="Perl wrapper of OpenSSL's multiprecision integer arithmetic" +url="http://search.cpan.org/dist/Crypt-OpenSSL-Bignum/" +arch="all" +license="GPL PerlArtistic" +cpandepends="" +cpanmakedepends="" +depends="$cpandepends" +makedepends="perl-dev $cpanmakedepends" +subpackages="$pkgname-doc" +source="http://search.cpan.org/CPAN/authors/id/I/IR/IROBERTS/$_pkgreal-$pkgver.tar.gz" + +_builddir="$srcdir/$_pkgreal-$pkgver" + +prepare() { + cd "$_builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor +} + +build() { + cd "$_builddir" + make && make test +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +md5sums="9369ef722b0705c0604998559988eb18 Crypt-OpenSSL-Bignum-0.04.tar.gz" diff --git a/testing/perl-local-lib/APKBUILD b/testing/perl-local-lib/APKBUILD new file mode 100644 index 0000000000..96b27e2794 --- /dev/null +++ b/testing/perl-local-lib/APKBUILD @@ -0,0 +1,37 @@ +# Automatically generated by apkbuild-cpan, template 1 +# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com> +pkgname=perl-local-lib +_pkgreal=local-lib +pkgver=1.008004 +pkgrel=0 +pkgdesc="create and use a local lib/ for perl modules with PERL5LIB" +url="http://search.cpan.org/dist/local-lib/" +arch="noarch" +license="GPL PerlArtistic" +cpandepends="" +cpanmakedepends="" +depends="$cpandepends" +makedepends="perl-dev $cpanmakedepends" +subpackages="$pkgname-doc" +source="http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/$_pkgreal-$pkgver.tar.gz" + +_builddir="$srcdir/$_pkgreal-$pkgver" + +prepare() { + cd "$_builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor +} + +build() { + cd "$_builddir" + make && make test +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +md5sums="6244fa9d77e818594acbaf572aece326 local-lib-1.008004.tar.gz" diff --git a/testing/perl-math-random-mt-auto/APKBUILD b/testing/perl-math-random-mt-auto/APKBUILD new file mode 100644 index 0000000000..db559d1f34 --- /dev/null +++ b/testing/perl-math-random-mt-auto/APKBUILD @@ -0,0 +1,37 @@ +# Automatically generated by apkbuild-cpan, template 1 +# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com> +pkgname=perl-math-random-mt-auto +_pkgreal=Math-Random-MT-Auto +pkgver=6.16 +pkgrel=0 +pkgdesc="Auto-seeded Mersenne Twister PRNGs" +url="http://search.cpan.org/dist/Math-Random-MT-Auto/" +arch="all" +license="unrestricted" +cpandepends="perl-object-insideout perl-exception-class" +cpanmakedepends="" +depends="$cpandepends" +makedepends="perl-dev $cpanmakedepends" +subpackages="$pkgname-doc" +source="http://search.cpan.org/CPAN/authors/id/J/JD/JDHEDDEN/$_pkgreal-$pkgver.tar.gz" + +_builddir="$srcdir/$_pkgreal-$pkgver" + +prepare() { + cd "$_builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor +} + +build() { + cd "$_builddir" + make && make test +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +md5sums="602470f808dbac3f68b373ed1c2be16a Math-Random-MT-Auto-6.16.tar.gz" diff --git a/testing/perl-net-netmask/APKBUILD b/testing/perl-net-netmask/APKBUILD new file mode 100644 index 0000000000..ca94794389 --- /dev/null +++ b/testing/perl-net-netmask/APKBUILD @@ -0,0 +1,32 @@ +# Contributor: Fabian Affolter <fabian@affolter-engineering.ch> +# Maintainer: +pkgname=perl-net-netmask +_realname=Net-Netmask +pkgver=1.9016 +pkgrel=0 +pkgdesc="Perl extension to parse, manipulate, and lookup IP network blocks" +url="http://search.cpan.org/~muir/Net-Netmask-1.9016/" +arch="noarch" +license="PerlArtistic" +depends="perl" +depends_dev="" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="http://search.cpan.org/CPAN/authors/id/M/MU/MUIR/modules/$_realname-$pkgver.tar.gz" + +_builddir="$srcdir"/$_realname-$pkgver + +build() { + cd "$_builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +md5sums="174606b568f8545b8968aecf50ba7a37 Net-Netmask-1.9016.tar.gz" diff --git a/testing/perl-object-insideout/APKBUILD b/testing/perl-object-insideout/APKBUILD new file mode 100644 index 0000000000..a4e187dbb8 --- /dev/null +++ b/testing/perl-object-insideout/APKBUILD @@ -0,0 +1,37 @@ +# Automatically generated by apkbuild-cpan, template 1 +# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com> +pkgname=perl-object-insideout +_pkgreal=Object-InsideOut +pkgver=3.81 +pkgrel=0 +pkgdesc="Comprehensive inside-out object support module" +url="http://search.cpan.org/dist/Object-InsideOut/" +arch="noarch" +license="GPL PerlArtistic" +cpandepends="perl-exception-class" +cpanmakedepends="" +depends="$cpandepends" +makedepends="perl-dev $cpanmakedepends" +subpackages="$pkgname-doc" +source="http://search.cpan.org/CPAN/authors/id/J/JD/JDHEDDEN/$_pkgreal-$pkgver.tar.gz" + +_builddir="$srcdir/$_pkgreal-$pkgver" + +prepare() { + cd "$_builddir" + perl Build.PL installdirs=vendor || return 1 +} + +build() { + cd "$_builddir" + ./Build && ./Build test +} + +package() { + cd "$_builddir" + ./Build install destdir="$pkgdir" || return 1 + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +md5sums="560170295e21857232d547ccd3b0adf0 Object-InsideOut-3.81.tar.gz" diff --git a/testing/perl-xml-writer/APKBUILD b/testing/perl-xml-writer/APKBUILD new file mode 100644 index 0000000000..9c30a29293 --- /dev/null +++ b/testing/perl-xml-writer/APKBUILD @@ -0,0 +1,32 @@ +# Contributor: Fabian Affolter <fabian@affolter-engineering.ch> +# Maintainer: +pkgname=perl-xml-writer +_realname=XML-Writer +pkgver=0.612 +pkgrel=0 +pkgdesc="Perl extension for writing XML documents" +url="http://search.cpan.org/~josephw/XML-Writer-0.612/" +arch="noarch" +license="PerlArtistic" +depends="perl" +depends_dev="" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="http://search.cpan.org/CPAN/authors/id/J/JO/JOSEPHW/$_realname-$pkgver.tar.gz" + +_builddir="$srcdir"/$_realname-$pkgver + +build() { + cd "$_builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +md5sums="2f3c6c282f9f79d33639c55bf7afa4b0 XML-Writer-0.612.tar.gz" diff --git a/testing/phonon-backend-gstreamer/APKBUILD b/testing/phonon-backend-gstreamer/APKBUILD new file mode 100644 index 0000000000..3c3177a65d --- /dev/null +++ b/testing/phonon-backend-gstreamer/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=phonon-backend-gstreamer +pkgver=4.5.1 +pkgrel=1 +pkgdesc="gstreamer backend for phonon" +url="http://phonon.kde.org/" +arch="all" +license="LGPL" +depends= +depends_dev="gstreamer-dev gst-plugins-base-dev gst-plugins-good-dev phonon-dev mesa-dev alsa-lib-dev" +makedepends="$depends_dev cmake automoc4" +install="" +subpackages="" +source="http://kde.mirrors.tds.net/pub/kde/stable/phonon/phonon-backend-gstreamer/$pkgver/src/phonon-backend-gstreamer-$pkgver.tar.bz2" +install_if="phonon" + +_builddir="$srcdir"/phonon-backend-gstreamer-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir -p "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="021cf7740208e7212b7ce91adb6a349b phonon-backend-gstreamer-4.5.1.tar.bz2" diff --git a/testing/phonon/APKBUILD b/testing/phonon/APKBUILD new file mode 100644 index 0000000000..37fe0fbabd --- /dev/null +++ b/testing/phonon/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=phonon +pkgver=4.5.0 +pkgrel=0 +pkgdesc="KDE multimedia backend" +url="http://phonon.kde.org/" +arch="all" +license="LGPL" +depends= +depends_dev="qt-dev glib-dev" +makedepends="$depends_dev cmake automoc4" +install="" +subpackages="$pkgname-dev" +source="http://kde.mirrors.tds.net/pub/kde/stable/phonon/$pkgver/src/phonon-$pkgver.tar.bz2" + +_builddir="$srcdir"/phonon-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir -p "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="32f8d388c18fde2e23dea7bb103f9713 phonon-4.5.0.tar.bz2" diff --git a/testing/phppgadmin/APKBUILD b/testing/phppgadmin/APKBUILD new file mode 100644 index 0000000000..f6df49ad37 --- /dev/null +++ b/testing/phppgadmin/APKBUILD @@ -0,0 +1,68 @@ +# Contributor: Matt Smith <mcs@darkregion.net> +# Maintainer: Matt Smith <mcs@darkregion.net> +pkgname=phppgadmin +_pkgname=phpPgAdmin +pkgver=5.0.2 +pkgrel=0 +pkgdesc="A Web-based PHP tool for administering PostgreSQL" +url="http://phppgadmin.sourceforge.net/" +arch="all" +license="GPL" +depends="php php-pgsql php-zlib php-ctype postgresql" +depends_dev= +makedepends="$depends_dev" +install="$pkgname.post-install" +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/phppgadmin/$_pkgname-$pkgver.tar.gz + phppgadmin.apache2.conf + " + +_builddir="$srcdir"/$_pkgname-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + return 0 +} + +package() { + cd "$_builddir" + mkdir -p "$pkgdir"/usr/share/webapps/$pkgname "$pkgdir"/etc/$pkgname \ + || return 1 + + # copy phppgadmin + cp -ra "$_builddir"/* "$pkgdir"/usr/share/webapps/$pkgname/ \ + || return 1 + + # install the config + install -m440 \ + "$pkgdir"/usr/share/webapps/$pkgname/conf/config.inc.php-dist \ + "$pkgdir"/etc/$pkgname/config.inc.php || return 1 + rm -rf "$pkgdir"/usr/share/webapps/$pkgname/conf/ || return 1 + ln -fs /etc/phppgadmin/ "$pkgdir"/usr/share/webapps/$pkgname/conf \ + || return 1 + + # install the apache2 config + install -Dm644 "$srcdir"/$pkgname.apache2.conf \ + "$pkgdir"/etc/apache2/conf.d/$pkgname.conf || return 1 +} + +doc() { + mkdir -p "$subpkgdir"/usr/share/doc/$pkgname || return 1 + _docs="CREDITS DEVELOPERS FAQ HISTORY INSTALL LICENSE TODO \ + TRANSLATORS help" + for _doc in $_docs; do + mv "$pkgdir"/usr/share/webapps/$pkgname/$_doc \ + "$subpkgdir"/usr/share/doc/$pkgname/ || return 1 + done +} + +md5sums="dfdbb5860847123413596292931a44f9 phpPgAdmin-5.0.2.tar.gz +670eec89bbe794a50d36c80f02608708 phppgadmin.apache2.conf" diff --git a/testing/phppgadmin/phppgadmin.apache2.conf b/testing/phppgadmin/phppgadmin.apache2.conf new file mode 100644 index 0000000000..b69e01b22d --- /dev/null +++ b/testing/phppgadmin/phppgadmin.apache2.conf @@ -0,0 +1,7 @@ +Alias /phppgadmin "/usr/share/webapps/phppgadmin" +<Directory "/usr/share/webapps/phppgadmin"> + AllowOverride All + Options FollowSymlinks + Order allow,deny + Allow from all +</Directory> diff --git a/testing/phppgadmin/phppgadmin.post-install b/testing/phppgadmin/phppgadmin.post-install new file mode 100644 index 0000000000..f9650a192a --- /dev/null +++ b/testing/phppgadmin/phppgadmin.post-install @@ -0,0 +1,16 @@ +#!/bin/sh + +echo "*" >&2 +echo "* phppgadmin has been installed to:" >&2 +echo "* /usr/share/webapps/phppgadmin" >&2 +echo "* phppgadmin config file has been installed to:" >&2 +echo "* /etc/phppgadmin/config.inc.php" >&2 +echo "* If you use apache2:" >&2 +echo "* 1) Change the ownership of the config directory:" >&2 +echo "* chown -R apache:apache /etc/phppgadmin" >&2 +echo "* 2) See if you need to modify the apache2 config:" >&2 +echo "* /etc/apache2/conf.d/phppgadmin.conf" >&2 +echo "* 3) Restart apache2 when done." >&2 +echo "*" >&2 + +exit 0 diff --git a/testing/podofo/APKBUILD b/testing/podofo/APKBUILD new file mode 100644 index 0000000000..1b413ebf1a --- /dev/null +++ b/testing/podofo/APKBUILD @@ -0,0 +1,33 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: +pkgname=podofo +pkgver=0.9.1 +pkgrel=0 +pkgdesc="A C++ library to work with the PDF file format" +url="http://podofo.sourceforge.net" +arch="all" +license="GPL" +depends= +depends_dev="tiff-dev libpng-dev fontconfig-dev cmake" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz" +_builddir="$srcdir"/$pkgname-$pkgver +build() { + cd "$_builddir" + mkdir build + cd build + cmake -DCMAKE_INSTALL_PREFIX=/usr .. \ + -DPODOFO_BUILD_SHARED=1 \ + -DPODOFO_HAVE_JPEG_LIB=1 \ + -DPODOFO_HAVE_PNG_LIB=1 \ + -DPODOFO_HAVE_TIFF_LIB=1 + make || return 1 +} +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="cec586ab69f92bc88d38b5d4b8eee5a0 podofo-0.9.1.tar.gz" diff --git a/testing/polkit-gnome/APKBUILD b/testing/polkit-gnome/APKBUILD new file mode 100644 index 0000000000..bf43b19280 --- /dev/null +++ b/testing/polkit-gnome/APKBUILD @@ -0,0 +1,38 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=polkit-gnome +pkgver=0.101 +pkgrel=1 +pkgdesc="PolicyKit integration for the GNOME desktop" +url="http://www.freedesktop.org/wiki/Software/PolicyKit" +arch="all" +license="LGPL" +depends="" +makedepends="polkit-dev gtk+-dev gobject-introspection-dev" +subpackages="$pkgname-dev" +source="http://hal.freedesktop.org/releases/polkit-gnome-$pkgver.tar.bz2" + +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + cd "$_builddir" +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib/polkit-gnome \ + --disable-static \ + --disable-introspection \ + || return 1 + make +} + +package() { + cd "$_builddir" + make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="$pkgdir" install + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="da6aaff473ed80f8958fd6f67a59defe polkit-gnome-0.101.tar.bz2" diff --git a/testing/polkit-qt/APKBUILD b/testing/polkit-qt/APKBUILD new file mode 100644 index 0000000000..9bb0fc9406 --- /dev/null +++ b/testing/polkit-qt/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=polkit-qt +pkgver=0.99.0 +pkgrel=0 +pkgdesc="Qt bindings for PolicyKit" +url="http://www.kde.org/" +arch="all" +license="LGPL" +depends= +depends_dev="polkit-dev qt-dev" +makedepends="$depends_dev cmake automoc4" +install="" +subpackages="$pkgname-dev" +source="http://kde.mirrors.tds.net/pub/kde/stable/apps/KDE4.x/admin/polkit-qt-1-$pkgver.tar.bz2" + +_builddir="$srcdir"/polkit-qt-1-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir -p "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="1c5b4113a2a167624b5f716b4f03a219 polkit-qt-1-0.99.0.tar.bz2" diff --git a/testing/poppler-qt4/APKBUILD b/testing/poppler-qt4/APKBUILD new file mode 100644 index 0000000000..63fb0d127a --- /dev/null +++ b/testing/poppler-qt4/APKBUILD @@ -0,0 +1,57 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> + +# this aport only includes glib/gtk support in order to break the +# circular make dependency: gtk <- cups <- poppler <- gtk + +# get the pkgver from poppler +if [ -r ../../main/poppler/APKBUILD ]; then + . ../../main/poppler/APKBUILD +fi + +pkgname=poppler-qt4 +_realname=poppler +pkgver=$pkgver +pkgrel=0 +pkgdesc="PDF rendering library based on xpdf 3.0" +url="http://poppler.freedesktop.org/" +arch="all" +license="GPL" +subpackages="$pkgname-dev" +makedepends="jpeg-dev cairo-dev libxml2-dev fontconfig-dev qt-dev + poppler-dev lcms-dev" +depends= +replaces="poppler-glib" +depends_dev="$makedepends" +source="http://poppler.freedesktop.org/poppler-$pkgver.tar.gz" + +prepare() { + return 0 +} + +build() { + cd "$srcdir"/$_realname-$pkgver + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-static \ + --disable-gdk \ + --disable-poppler-glib \ + --enable-cairo-output \ + --enable-xpdf-headers \ + --enable-libjpeg \ + --enable-zlib \ + --enable-poppler-qt4 \ + --disable-poppler-qt \ + --disable-utils \ + || return 1 + make || return 1 +} + +package() { + cd "$srcdir"/$_realname-$pkgver + install -D -m644 poppler-qt4.pc "$pkgdir"/usr/lib/pkgconfig/poppler-qt4.pc + cd qt4 + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="2b6e0c26b77a943df3b9bb02d67ca236 poppler-0.16.5.tar.gz" diff --git a/testing/portaudio/APKBUILD b/testing/portaudio/APKBUILD new file mode 100644 index 0000000000..4ca739e980 --- /dev/null +++ b/testing/portaudio/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=portaudio +pkgver=19 +pkgrel=0 +pkgdesc="Cross platform, open-source, audio I/O library" +url="http://www.portaudio.com/" +arch="all" +license="MIT" +depends= +depends_dev="alsa-lib-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://www.portaudio.com/archives/pa_stable_v19_20110326.tgz" + +_builddir="$srcdir"/portaudio +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make -j1 DESTDIR="$pkgdir" install || return 1 + rm -f "$pkgdir"/usr/lib/*.la +} + +md5sums="8f266ce03638419ef46e4efcb0fabde6 pa_stable_v19_20110326.tgz" diff --git a/testing/postler/APKBUILD b/testing/postler/APKBUILD new file mode 100644 index 0000000000..ffc4fb598b --- /dev/null +++ b/testing/postler/APKBUILD @@ -0,0 +1,42 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=postler +pkgver=0.1.1 +pkgrel=0 +pkgdesc="Email client" +url="https://launchpad.net/postler/" +arch="" +license="LGPL-2.1" +depends="msmtp" +makedepends="gtk+-dev webkit-dev libunique-dev libnotify-dev libcanberra-dev + python vala db-dev openssl-dev" +install="" +subpackages="$pkgname-doc" +source="http://archive.xfce.org/src/apps/postler/0.1/postler-$pkgver.tar.bz2 + inet_ntoa.patch" + +_builddir="$srcdir"/postler-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./waf configure --prefix=/usr \ + --disable-libindicate \ + || return 1 + ./waf build || return 1 +} + +package() { + cd "$_builddir" + ./waf install --destdir="$pkgdir" || return 1 +} + +md5sums="02e502c9f4a4b92e4ace32d9e268f06d postler-0.1.1.tar.bz2 +06bb9bb2d1a809b6e58b2a5012393151 inet_ntoa.patch" diff --git a/testing/postler/inet_ntoa.patch b/testing/postler/inet_ntoa.patch new file mode 100644 index 0000000000..bbb0969bc2 --- /dev/null +++ b/testing/postler/inet_ntoa.patch @@ -0,0 +1,10 @@ +--- a/wscript ++++ b/wscript +@@ -141,7 +141,6 @@ + includes=['/usr/local/include/db42'], + libpath=['/usr/local/lib/db42'], lib='db', mandatory=True) + else: +- check_function ('inet_ntoa', 'arpa/inet.h', 'nsl') + check_function ('dlopen', 'dlfcn.h', 'dl') + check_function ('db_create', 'db.h', 'db') + check_pkg ('openssl') diff --git a/testing/poweradmin/0010-fix-installer-config.patch b/testing/poweradmin/0010-fix-installer-config.patch new file mode 100644 index 0000000000..11dd435163 --- /dev/null +++ b/testing/poweradmin/0010-fix-installer-config.patch @@ -0,0 +1,31 @@ +--- ./install/index.php.orig ++++ ./install/index.php +@@ -287,11 +287,27 @@ + "\$db_port\t\t= '" . $_POST['db_port'] . "';\n" . + "\$db_type\t\t= '" . $_POST['db_type'] . "';\n" . + "\n" . +- "\$iface_lang\t\t= '" . $_POST['language'] . "';\n" . ++ "\$iface_lang\t\t= '" . $_POST['language'] . "';\n" . ++ "\$iface_style\t\t= ". "'example';\n" . ++ "\$iface_rowamount\t=". "50;\n" . ++ "\$iface_expire\t\t=". "1800;\n" . ++ "\$iface_zonelist_serial\t=". "false;\n" . ++ "\$iface_title\t\t=". "'Poweradmin';\n" . + "\n" . + "\$dns_hostmaster\t\t= '" . $_POST['dns_hostmaster'] . "';\n" . + "\$dns_ns1\t\t= '" . $_POST['dns_ns1'] . "';\n" . + "\$dns_ns2\t\t= '" . $_POST['dns_ns2'] . "';\n" . ++ "\n" . ++ "// See <http://www.php.net/manual/en/timezones.php> for help.\n" . ++ "//\$timezone\t\t=". "'UTC';\n" . ++ "\n" . ++ "/* Syslog usage - writes authentication attempts to syslog\n" . ++ " This facility could be used in combination with fail2ban to\n" . ++ " ban IPs with break-in attempts\n" . ++ "*/\n" . ++ "\$syslog_use = false;\n" . ++ "\$syslog_ident = 'poweradmin';\n" . ++ "\$syslog_facility = LOG_USER;\n" . + "\n?>\n"; + + if (is_writeable($local_config_file)) { diff --git a/testing/poweradmin/0020-fix-for-mysql55.patch b/testing/poweradmin/0020-fix-for-mysql55.patch new file mode 100644 index 0000000000..dbf59973c5 --- /dev/null +++ b/testing/poweradmin/0020-fix-for-mysql55.patch @@ -0,0 +1,20 @@ +--- ./docs/powerdns-mysql-db-structure.sql.orig ++++ ./docs/powerdns-mysql-db-structure.sql +@@ -7,7 +7,7 @@ + notified_serial INT DEFAULT NULL, + account VARCHAR(40) DEFAULT NULL, + primary key (id) +-)type=InnoDB; ++) Engine=InnoDB; + + CREATE UNIQUE INDEX name_index ON domains(name); + +@@ -21,7 +21,7 @@ + prio INT DEFAULT NULL, + change_date INT DEFAULT NULL, + primary key(id) +-)type=InnoDB; ++) Engine=InnoDB; + + CREATE INDEX rec_name_index ON records(name); + CREATE INDEX nametype_index ON records(name,type); diff --git a/testing/poweradmin/APKBUILD b/testing/poweradmin/APKBUILD new file mode 100644 index 0000000000..2ec8077ed1 --- /dev/null +++ b/testing/poweradmin/APKBUILD @@ -0,0 +1,81 @@ +# Contributor: Matt Smith <mcs@darkregion.net> +# Maintainer: Matt Smith <mcs@darkregion.net> +pkgname=poweradmin +pkgver=2.1.5.999 +pkgrel=0 +pkgdesc="A Web-based PHP tool for administering PowerDNS" +url="https://www.poweradmin.org/" +arch="noarch" +license="GPL" +depends="php php-gettext php-mcrypt php-pear php-pear-mdb2 pdns" +# user needs to select either mysql or pgsql: +# - mysql php-mysql php-pear-mdb2-driver-mysql +# - postgresql php-pgsql php-pear-mdb2-driver-pgsql +depends_dev= +makedepends="$depends_dev wget" +install="$pkgname.post-install" +subpackages="$pkgname-doc" +source="https://www.poweradmin.org/download/poweradmin.nightly.tgz + 0010-fix-installer-config.patch + 0020-fix-for-mysql55.patch + $pkgname.apache2.conf + " + +_builddir="$srcdir"/$pkgname-nightly +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + return 0 +} + +package() { + # copy poweradmin + mkdir -p "$pkgdir"/usr/share/webapps/$pkgname || return 1 + cp -ra "$_builddir"/* "$pkgdir"/usr/share/webapps/$pkgname/ || return 1 + + # install empty config file (for the web installer) + mkdir -p "$pkgdir"/etc/$pkgname || return 1 + touch "$pkgdir"/etc/$pkgname/config.inc.php || return 1 + chmod 660 "$pkgdir"/etc/$pkgname/config.inc.php || return 1 + ln -fs /etc/$pkgname/config.inc.php "$pkgdir"/usr/share/webapps/$pkgname/inc/config.inc.php || return 1 + + # share files + _shares="i18n-template-db.pot i18n-template-php.pot \ + poweradmin-mysql-db-structure.sql poweradmin-pgsql-db-structure.sql \ + powerdns-mysql-db-structure.sql powerdns-pgsql-db-structure.sql \ + powerdns-sqlite-db-structure.sql" + for _share in $_shares; do + install -Dm644 \ + "$pkgdir"/usr/share/webapps/$pkgname/docs/$_share \ + "$pkgdir"/usr/share/$pkgname/$_share || return 1 + done + mv "$pkgdir"/usr/share/webapps/$pkgname/inc/config-me.inc.php \ + "$pkgdir"/usr/share/$pkgname/config-me.inc.php || return 1 + + # install the apache2 config + install -Dm644 "$srcdir"/$pkgname.apache2.conf \ + "$pkgdir"/etc/apache2/conf.d/$pkgname.conf || return 1 +} + +doc() { + _docs="CHANGELOG LICENSE README" + for _doc in $_docs; do + install -Dm644 \ + "$pkgdir"/usr/share/webapps/$pkgname/docs/$_doc \ + "$subpkgdir"/usr/share/doc/$pkgname/$_doc || return 1 + done + rm -rf "$pkgdir"/usr/share/webapps/$pkgname/docs || return 1 +} + +md5sums="323f19990f3b0263f16db1dc18e0d42d poweradmin.nightly.tgz +f2936b9362269f5ed08dc853d49576cb 0010-fix-installer-config.patch +15638562a494a7ee3043e32476a47c94 0020-fix-for-mysql55.patch +a74d64fc95f48c64927dd10df214127a poweradmin.apache2.conf" diff --git a/testing/poweradmin/poweradmin.apache2.conf b/testing/poweradmin/poweradmin.apache2.conf new file mode 100644 index 0000000000..56355e3882 --- /dev/null +++ b/testing/poweradmin/poweradmin.apache2.conf @@ -0,0 +1,7 @@ +Alias /poweradmin "/usr/share/webapps/poweradmin" +<Directory "/usr/share/webapps/poweradmin"> + AllowOverride All + Options FollowSymlinks + Order allow,deny + Allow from all +</Directory> diff --git a/testing/poweradmin/poweradmin.post-install b/testing/poweradmin/poweradmin.post-install new file mode 100644 index 0000000000..b317e03851 --- /dev/null +++ b/testing/poweradmin/poweradmin.post-install @@ -0,0 +1,30 @@ +#!/bin/sh + +echo "*" >&2 +echo "* Poweradmin has been installed to:" >&2 +echo "* /usr/share/webapps/poweradmin" >&2 +echo "* An empty Poweradmin config file has been installed to:" >&2 +echo "* /etc/poweradmin/config.inc.php" >&2 +echo "* If you use apache2:" >&2 +echo "* 1) Change the ownership of the config directory:" >&2 +echo "* chown -R apache:apache /etc/poweradmin" >&2 +echo "* 2) See if you need to modify the apache2 config:" >&2 +echo "* /etc/apache2/conf.d/poweradmin.conf" >&2 +echo "* 3) Restart apache2 when done." >&2 +echo "*" >&2 +echo "* Installation Steps:" >&2 +echo "* 1) Install the database packages you need for Poweradmin:" >&2 +echo "* For MySQL: apk add mysql php-mysql php-pear-mdb2-driver-mysql" >&2 +echo "* For PgSQL: apk add postgresql php-pgsql php-pear-mdb2-driver-pgsql" >&2 +echo "* 2) Point your browser to the install directory, e.g." >&2 +echo "* http://server_ip/poweradmin/install" >&2 +echo "* and follow the instructions on the screen." >&2 +echo "* 3) Remove the 'install' directory from the Poweradmin directory:" >&2 +echo "* rm /usr/share/webapps/poweradmin/install -rf" >&2 +echo "* 4) Point your browser to Poweradmin, e.g." >&2 +echo "* http://server_ip/poweradmin/" >&2 +echo "* and login using the username 'admin' and the password you provided" >&2 +echo "* during the installation process of Step 1 (above)." >&2 +echo "*" >&2 + +exit 0 diff --git a/testing/powertop/APKBUILD b/testing/powertop/APKBUILD new file mode 100644 index 0000000000..3cf4ec8d25 --- /dev/null +++ b/testing/powertop/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=powertop +pkgver=1.97 +pkgrel=0 +pkgdesc="Power consumption monitor" +url="http://www.lesswatts.org/" +arch="all" +license="GPLv2" +depends= +makedepends="ncurses-dev pciutils-dev zlib-dev libnl-dev gettext-dev" +install="" +subpackages= +source="http://www.kernel.org/pub/linux/status/powertop/powertop-$pkgver.tar.bz2 + intl.patch" + +_builddir="$srcdir"/powertop-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + rm -f po/nl.po +} + +build() { + cd "$_builddir" + make FLAGS="$CFLAGS" || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="ddd318fe930c86b3666cad6f40b661bc powertop-1.97.tar.bz2 +2f04368b889cf5ef679bed7d1517857b intl.patch" diff --git a/testing/powertop/intl.patch b/testing/powertop/intl.patch new file mode 100644 index 0000000000..d88039fc72 --- /dev/null +++ b/testing/powertop/intl.patch @@ -0,0 +1,11 @@ +--- ./Makefile.orig ++++ ./Makefile +@@ -48,7 +48,7 @@ + # ncurses-devel and pciutils-devel + # + +-LIBS += -lpthread -lncursesw -lpci -lz -lresolv ++LIBS += -lpthread -lncursesw -lpci -lz -lresolv -lintl + + HEADERS := cpu/cpu.h + diff --git a/testing/pptpclient/APKBUILD b/testing/pptpclient/APKBUILD new file mode 100644 index 0000000000..757fff26b8 --- /dev/null +++ b/testing/pptpclient/APKBUILD @@ -0,0 +1,32 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=pptpclient +pkgver=1.7.2 +pkgrel=1 +pkgdesc="Client for the proprietary Microsoft Point-to-Point Tunneling Protocol, PPTP." +url="http://pptpclient.sourceforge.net/" +arch="all" +license="GPL" +depends="ppp iproute2" +makedepends="perl" +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/sourceforge/$pkgname/pptp-$pkgver.tar.gz + pptpclient-uclibc.patch" + +prepare() { + cd "$srcdir"/pptp-$pkgver + patch -p1 -i "$srcdir"/pptpclient-uclibc.patch || return 1 + sed -i '/CFLAGS/d' Makefile + sed -i 's|\/bin\/ip|\/usr\/sbin\/ip|g' routing.c +} + +build() { + cd "$srcdir"/pptp-$pkgver + make || return 1 +} + +package() { + cd "$srcdir"/pptp-$pkgver + make DESTDIR="$pkgdir" install +} +md5sums="4c3d19286a37459a632c7128c92a9857 pptp-1.7.2.tar.gz +34b643e4e4224e723f6a768018b46015 pptpclient-uclibc.patch" diff --git a/testing/pptpclient/pptpclient-uclibc.patch b/testing/pptpclient/pptpclient-uclibc.patch new file mode 100644 index 0000000000..aa9536e4df --- /dev/null +++ b/testing/pptpclient/pptpclient-uclibc.patch @@ -0,0 +1,21 @@ +diff --git a/pptp_compat.c b/pptp_compat.c +index 1760a3b..6ebbea4 100644 +--- a/pptp_compat.c ++++ b/pptp_compat.c +@@ -2,6 +2,7 @@ + * + */ + ++#if defined (__SVR4) && defined (__sun) /* Solaris */ + #include <sys/types.h> + #include <sys/stat.h> + #include <fcntl.h> +@@ -14,8 +15,6 @@ + #include <stdio.h> + #include "util.h" + +- +-#if defined (__SVR4) && defined (__sun) /* Solaris */ + /* + * daemon implementation from uClibc + */ diff --git a/testing/proftpd/APKBUILD b/testing/proftpd/APKBUILD new file mode 100644 index 0000000000..fcfc948772 --- /dev/null +++ b/testing/proftpd/APKBUILD @@ -0,0 +1,49 @@ +# Contributor: Elizabeth Jennifer Myers <elizabeth@sporksirc.net> +# Maintainer: Elizabeth Jennifer Myers <elizabeth@sporksirc.net> +pkgname=proftpd +pkgver=1.3.3e +pkgrel=2 +pkgdesc="Highly configurable GPL-licensed FTP server software" +url="http://www.proftpd.org/" +arch="all" +license="GPLv2" +depends="openssl gettext ncurses" +depends_dev="ncurses-dev openssl-dev" +makedepends="$depends_dev libtool" +install="" +subpackages="$pkgname-doc" +source="ftp://ftp.proftpd.org/distrib/source/proftpd-${pkgver}.tar.bz2 + proftpd.initd + proftpd.confd" + +_builddir="$srcdir"/"$pkgname"-"$pkgver" + +build() { + cd "$_builddir" + ./configure \ + --enable-openssl \ + --enable-facl \ + --enable-dso \ + --enable-ipv6 \ + --enable-ctrls \ + --with-modules=mod_quotatab:mod_quotatab_file:mod_tls \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var/run + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + + install -m755 -D "$srcdir"/$pkgname.initd \ + "$pkgdir"/etc/init.d/$pkgname || return 1 + install -m644 -D "$srcdir"/$pkgname.confd \ + "$pkgdir"/etc/conf.d/$pkgname || return 1 +} + +md5sums="acc49b6589bc8c9fdf1dce9000bebdbd proftpd-1.3.3e.tar.bz2 +175ce0cef2fb410d0ac8929ad421f941 proftpd.initd +aab5852ac574e87781f1c9c4942e699b proftpd.confd" diff --git a/testing/proftpd/proftpd.confd b/testing/proftpd/proftpd.confd new file mode 100644 index 0000000000..0cf909c432 --- /dev/null +++ b/testing/proftpd/proftpd.confd @@ -0,0 +1,7 @@ +# Sample conf.d file for alpine linux + +# +# Specify daemon options here. +# + +sample_opts="-6" diff --git a/testing/proftpd/proftpd.initd b/testing/proftpd/proftpd.initd new file mode 100644 index 0000000000..c20a2543a1 --- /dev/null +++ b/testing/proftpd/proftpd.initd @@ -0,0 +1,28 @@ +#!/sbin/runscript + +# Sample init.d file for alpine linux. + +name=proftpd +daemon=/usr/sbin/proftpd + +depend() { + need net + after firewall +} + +start() { + ebegin "Starting ${name}" + start-stop-daemon --start --quiet \ + --pidfile /var/run/${name}.pid \ + --exec ${daemon} -- ${sample_opts} + eend $? +} + +stop() { + ebegin "Stopping ${name}" + start-stop-daemon --stop --quiet \ + --pidfile /var/run/$name.pid \ + --exec ${daemon} + eend $? +} + diff --git a/testing/prosody/APKBUILD b/testing/prosody/APKBUILD new file mode 100644 index 0000000000..0f7b02bc75 --- /dev/null +++ b/testing/prosody/APKBUILD @@ -0,0 +1,43 @@ +# Contributor: Mika Havela <mika.havela@gmail.com> +# Maintainer: Mika Havela <mika.havela@gmail.com> +pkgname=prosody +pkgver=0.8.1 +pkgrel=0 +pkgdesc="Lua based Jabber/XMPP server" +url="http://prosody.im/" +arch="all" +license="MIT" +depends="lua-socket lua-expat" +makedepends="lua-dev libidn-dev openssl-dev" +install="prosody.pre-install prosody.post-install" +subpackages="" +source="http://prosody.im/downloads/source/$pkgname-$pkgver.tar.gz + $pkgname.cfg.lua + $pkgname.initd + " + +build() { + cd "$srcdir/$pkgname-$pkgver" + ./configure --prefix=/usr \ + --sysconfdir=/etc/prosody \ + --with-lua=/usr/bin \ + --with-lua-lib=/usr/lib \ + --with-lua-include=/usr/include + + make || return 1 +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + + install -d "$pkgdir/var/log/prosody" || return 1 + install -d "$pkgdir/var/run/prosody" || return 1 + install -D -m755 "$srcdir"/"$pkgname".initd "$pkgdir"/etc/init.d/"$pkgname" + + install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING +} + +md5sums="2be3e9deed0b96f109efc5707d7728ba prosody-0.8.1.tar.gz +f42039e5a342fe62cd7e491546338aaa prosody.cfg.lua +c0e647e872e30f71fa03faab189ae287 prosody.initd" diff --git a/testing/prosody/prosody.cfg.lua b/testing/prosody/prosody.cfg.lua new file mode 100644 index 0000000000..99df66add6 --- /dev/null +++ b/testing/prosody/prosody.cfg.lua @@ -0,0 +1,107 @@ +-- Prosody Configuration File +-- +-- If it wasn't already obvious, -- starts a comment, and all text after it on +-- a line is ignored by Prosody. +-- +-- The config is split into sections, a global section, and one for each +-- defined host that we serve. You can add as many host sections as you like. +-- +-- Lists are written { "like", "this", "one" } +-- Lists can also be of { 1, 2, 3 } numbers, etc. +-- Either commas, or semi-colons; may be used as seperators. +-- +-- A table is a list of values, except each value has a name. An example would +-- be: +-- +-- logging = { type = "html", directory = "/var/logs", rotate = "daily" } +-- +-- Whitespace (that is tabs, spaces, line breaks) is mostly insignificant, so +-- can +-- be placed anywhere +-- that you deem fitting. +-- +-- Tip: You can check that the syntax of this file is correct when you have +-- finished by running: luac -p prosody.cfg.lua +-- If there are any errors, it will let you know what and where they are, +-- otherwise it will keep quiet. +-- +-- Good luck, and happy Jabbering! + +-- Global settings go in this section +Host "*" + -- This is the list of modules Prosody will load on startup. + -- It looks for mod_modulename.lua in the plugins folder, so make sure that + -- exists too. + modules_enabled = { + -- Generally required + "roster"; -- Allow users to have a roster. Recommended ;) + "saslauth"; -- Authentication for clients and servers. Recommended + -- if you want to log in. + "tls"; -- Add support for secure TLS on c2s/s2s connections + "dialback"; -- s2s dialback support + "disco"; -- Service discovery + + -- Not essential, but recommended + "private"; -- Private XML storage (for room bookmarks, etc.) + "vcard"; -- Allow users to set vCards + + -- Nice to have + "legacyauth"; -- Legacy authentication. Only used by some old + -- clients and bots. + "version"; -- Replies to server version requests + "uptime"; -- Report how long server has been running + "time"; -- Let others know the time here on this server + "ping"; -- Replies to XMPP pings with pongs + + -- Required for daemonizing and logging + "posix"; -- POSIX functionality, sends server to background, + -- enables syslog, etc. + + -- Other specific functionality + "register"; -- Allow users to register on this server using a + -- client + --"console"; -- telnet to port 5582 (needs console_enabled = true) + --"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP" + --"httpserver"; -- Serve static files from a directory over HTTP + } + + -- These are the SSL/TLS-related settings. If you don't want to use + -- SSL/TLS, you may comment or remove this + --ssl = { + -- key = "/etc/prosody/certs/localhost.key"; + -- certificate = "/etc/prosody/certs/localhost.cert"; + --} + + log = { + -- Log all error messages to prosody.err + { levels = { min = "error" }, to = "file", timestamps = true, + filename = "/var/log/prosody/prosody.err" }; + -- Log everything of level "info" and higher (that is, all except + -- "debug" messages) to prosody.log + { levels = { min = "info" }, to = "file", timestamps = true, + filename = "/var/log/prosody/prosody.log" }; + } + + -- Required for proper daemonization support + pidfile = "/var/run/prosody/prosody.pid" + +-- This allows clients to connect to localhost. No harm in it. +Host "localhost" + +-- Section for example.com +-- (replace example.com with your domain name) +Host "example.com" + -- Assign this host a certificate for TLS, otherwise it would use the one + -- set in the global section (if any). + -- Note that old-style SSL on port 5223 only supports one certificate, and + -- will always use the global one. + --ssl = { + -- key = "/etc/prosody/certs/example.com.key"; + -- certificate = "/etc/prosody/certs/example.com.crt"; + --} + + enabled = false -- This will disable the host, preserving the config, but + -- denying connections + +-- Set up a MUC (multi-user chat) room server on conference.localhost: +Component "conference.localhost" "muc" diff --git a/testing/prosody/prosody.initd b/testing/prosody/prosody.initd new file mode 100644 index 0000000000..2749d09cf7 --- /dev/null +++ b/testing/prosody/prosody.initd @@ -0,0 +1,44 @@ +#!/sbin/runscript + +# Sample init.d file for alpine linux. + +NAME=prosody +DAEMON=/usr/bin/$NAME + +depend() { + need net + after firewall +} + +start() { + ebegin "Starting ${NAME}" + /usr/bin/prosodyctl start +# start-stop-daemon --start --quiet --background \ +# --make-pidfile --pidfile /var/run/${NAME}/${NAME}.pid \ +# --chuid ${USER}:${GROUP} \ +# --exec ${DAEMON} -- ${OPTS} + eend $? +} + +stop() { + ebegin "Stopping ${NAME}" + /usr/bin/prosodyctl stop +# start-stop-daemon --stop --quiet \ +# --exec ${DAEMON} \ +# --pidfile /var/run/${NAME}/${NAME}.pid \ + eend $? +} + +reload() { + ebegin "Reloading ${NAME}" + if ! service_started "${NAME}" ; then + eend 1 "${NAME} is not started" + return 1 + fi + /usr/bin/prosodyctl stop + /usr/bin/prosodyctl start +# start-stop-daemon --stop --oknodo --signal HUP \ +# --exec ${DAEMON} --pidfile /var/run/${NAME}/${NAME}.pid + eend $? +} + diff --git a/testing/prosody/prosody.post-install b/testing/prosody/prosody.post-install new file mode 100644 index 0000000000..2f8f69cdd8 --- /dev/null +++ b/testing/prosody/prosody.post-install @@ -0,0 +1,6 @@ +#!/bin/sh + +chown prosody:prosody var/lib/prosody +chown prosody:prosody var/log/prosody +chown prosody:prosody var/run/prosody + diff --git a/testing/prosody/prosody.pre-install b/testing/prosody/prosody.pre-install new file mode 100644 index 0000000000..db63efa179 --- /dev/null +++ b/testing/prosody/prosody.pre-install @@ -0,0 +1,9 @@ +#!/bin/sh + +user=prosody +home=/var/lib/prosody +adduser -h $home -s /bin/false -D $user 2>/dev/null +mkdir -p $home +chown $user:$user $home +exit 0 + diff --git a/testing/protobuf/APKBUILD b/testing/protobuf/APKBUILD new file mode 100644 index 0000000000..28e07fa972 --- /dev/null +++ b/testing/protobuf/APKBUILD @@ -0,0 +1,53 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=protobuf +pkgver=2.4.0a +pkgrel=2 +pkgdesc="Library for extensible, efficient structure packing" +url="http://code.google.com/p/protobuf/" +arch="all" +license="BSD" +depends= +depends_dev="zlib-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://protobuf.googlecode.com/files/protobuf-$pkgver.tar.bz2" + +_builddir="$srcdir"/protobuf-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 + make check || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +py() { + depends="python" + cd "$_builddir"/python + mkdir -p "$subpkgdir"/usr/lib/python2.6/site-packages/ + install -m644 google "$subpkgdir"/usr/lib/python2.6/site-packages +} + +md5sums="61df3f63ec284fc6f57a68c67e4918c6 protobuf-2.4.0a.tar.bz2" diff --git a/testing/psmisc/APKBUILD b/testing/psmisc/APKBUILD new file mode 100644 index 0000000000..1e95980f96 --- /dev/null +++ b/testing/psmisc/APKBUILD @@ -0,0 +1,36 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=psmisc +pkgver=22.13 +pkgrel=0 +pkgdesc="a set of some small useful utilities that use the proc filesystem" +url="http://psmisc.sourceforge.net/" +arch="all" +license="BSD GPL" +depends= +makedepends="ncurses-dev" +install= +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/psmisc/psmisc-$pkgver.tar.gz" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + # apply patches here +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install +} + +md5sums="e2c339e6b65b730042084023784a729e psmisc-22.13.tar.gz" diff --git a/testing/pure-ftpd/APKBUILD b/testing/pure-ftpd/APKBUILD new file mode 100644 index 0000000000..acf12a77da --- /dev/null +++ b/testing/pure-ftpd/APKBUILD @@ -0,0 +1,53 @@ +# Contributor: Douglas Haber <me@douglashaber.com> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=pure-ftpd +pkgver=1.0.30 +pkgrel=2 +pkgdesc="Pure FTPD FTP daemon" +url="http://pureftpd.org" +arch="all" +license="GPL" +depends= +depends_dev= +makedepends="$depends_dev" +install="" +subpackages="" +source="http://download.pureftpd.org/pub/pure-ftpd/releases/$pkgname-$pkgver.tar.gz + pure-ftpd.initd + pure-ftpd.confd" + +_builddir="src/$pkgname-$pkgver" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --without-humor \ + --without-unicode \ + --with-minimal \ + --with-throttling \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + install -m755 -D ../$pkgname.initd \ + "$pkgdir"/etc/init.d/$pkgname || return 1 + + install -m644 -D ../$pkgname.confd \ + "$pkgdir"/etc/conf.d/$pkgname || return 1 +} + +md5sums="29e2a68e756d09f4aff8f4f76435b020 pure-ftpd-1.0.30.tar.gz +4805788f4aeeb4efee64ddad0b526c3c pure-ftpd.initd +5f1d2a2d353fc00bc39efa0ae6f1955f pure-ftpd.confd" diff --git a/testing/pure-ftpd/pure-ftpd.confd b/testing/pure-ftpd/pure-ftpd.confd new file mode 100644 index 0000000000..f14cb0b19c --- /dev/null +++ b/testing/pure-ftpd/pure-ftpd.confd @@ -0,0 +1,93 @@ +# Config file for /etc/init.d/pure-ftpd +##Comment variables out to disable its features, or change the values in it... ## + +## This variable must be uncommented in order for the server to start ## +#IS_CONFIGURED="yes" + +## FTP Server,Port (separated by comma) ## +## If you prefer host names over IP addresses, it's your choice: +## SERVER="-S ftp.rtchat.com,21" +## IPv6 addresses are supported. +## !!! WARNING !!! +## Using an invalid IP will result in the server not starting, +## but reporting a correct start! +## SERVER="-S 192.168.0.1,21" +## By default binds to all available IPs. +SERVER="-S 21" + +## Number of simultaneous connections in total, and per IP ## +MAX_CONN="-c 30" +MAX_CONN_IP="-C 10" + +## Start daemonized in background ## +DAEMON="-B" + +## Don't allow uploads if the partition is more full then this var ## +DISK_FULL="-k 90%" + +## If your FTP server is behind a NAT box, uncomment this ## +#USE_NAT="-N" + +## Authentication mechanisms (others are 'pam', ...) ## +## Further infos can be found in the README file. +AUTH="-l unix" + +## Change the maximum idle time (in minutes) ## +## If this variable is not defined, it will default to 15 minutes. +#TIMEOUT="-I <timeout>'" + +## Facility used for syslog logging ## +## If this variable is not defined, it will default to the 'ftp' facility. +## Logging can be disabled with '-f none'. +#LOG="-f <facility>" + +## Charset conversion support *experimental* ## +## Only works if USE "charconv" is enabled (only Pure-FTPd >=1.0.21). +## Set the charset of the filesystem. +# CHARCONV="--fscharset <charset>" + +## If you want to process each file uploaded through Pure-FTPd, enter the name +## of the script that should process the files below. +## man pure-uploadscript to learn more about how to write this script. +# UPLOADSCRIPT="/path/to/uploadscript" + +## Misc. Others ## +MISC_OTHER="-A -x -j -R -Z" + +# +# Use these inside $MISC_OTHER +# More can be found on "http://download.pureftpd.org/pub/pure-ftpd/doc/README" +# +# -A [ chroot() everyone, but root ] +# -e [ Only allow anonymous users ] +# -E [ Only allow authenticated users. Anonymous logins are prohibited. ] +# -i [ Disallow upload for anonymous users, whatever directory perms are ] +# -j [ If the home directory of a user doesn't exist, auto-create it ] +# -M [ Allow anonymous users to create directories. ] +# -R [ Disallow users (even non-anonymous ones) usage of the CHMOD command ] +# -x [ In normal operation mode, authenticated users can read/write +# files beginning with a dot ('.'). Anonymous users can't, for security reasons +# (like changing banners or a forgotten .rhosts). When '-x' is used, authenticated +# users can download dot-files, but not overwrite/create them, even if they own +# them. ] +# -X [ This flag is identical to the previous one (writing +# dot-files is prohibited), but in addition, users can't even *read* files and +# directories beginning with a dot (like "cd .ssh"). ] +# -D [ List files beginning with a dot ('.') even when the client doesn't +# append the '-a' option to the list command. A workaround for badly +# configured FTP clients. ] +# -G [ Disallow renaming. ] +# -d [ Send various debugging messages to the syslog. ONLY for DEBUG ] +# -F <fortune file> [ Display a fortune cookie on login. Check the README file ] +# -H [ By default, fully-qualified host names are logged. The '-H' flag avoids host names resolution. ] + + +# Some filesystems don't like accesses being memory mapped. This happens for +# example with ftpwho on JFFS2 filesystems (bug #330563). If you happen to +# have such a filesystem on /var set TMPFS_MOUNT to "true". +TMPFS_MOUNT="false" + +# Special mount options (like nosuid or nodev) for the tmpfs mount can be added +# here. Several options must be separated by comma: "nodev,nosuid" +#TMPFS_OPTS="" + diff --git a/testing/pure-ftpd/pure-ftpd.initd b/testing/pure-ftpd/pure-ftpd.initd new file mode 100644 index 0000000000..768c565efd --- /dev/null +++ b/testing/pure-ftpd/pure-ftpd.initd @@ -0,0 +1,71 @@ +#!/sbin/runscript +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-ftp/pure-ftpd/files/pure-ftpd.rc10,v 1.1 2010/08/19 08:07:13 polynomial-c Exp $ + +ftpd_pidfile="/var/run/pure-ftpd.pid" +script_pidfile="/var/run/pure-uploadscript.pid" +ftpd_rundir="/var/lib/run/pure-ftpd" + +depend() { + need net +} + +checkconfig() { + if [ -z "$IS_CONFIGURED" ] ; then + eerror "You need to setup /etc/conf.d/pure-ftpd first!" + return 1 + fi +} + +start() { + checkconfig || return 1 + + if ${TMPFS_MOUNT:-false} && grep -q tmpfs /proc/filesystems ; then + [ -n "${TMPFS_OPTS}" ] && MOUNT_OPTS="-o ${TMPFS_OPTS}" + einfo "Mounting tmpfs on ${ftpd_rundir}" + mount ${MOUNT_OPTS} -t tmpfs tmpfs ${ftpd_rundir} \ + || eerror "Unable to mount tmpfs" + fi + + # only works with openrc + WAIT="" + if [ -f /etc/init.d/sysfs ]; then + WAIT="--wait 100" + fi + + UPSCRIPT="" + OKNODO="" + if [ -n "$UPLOADSCRIPT" ] ; then + UPSCRIPT="--uploadscript" + OKNODO="--oknodo" + fi + ebegin "Starting Pure-FTPd" + start-stop-daemon --start --quiet --pidfile ${ftpd_pidfile} $OKNODO --exec /usr/sbin/pure-ftpd ${WAIT} -- --pidfile ${ftpd_pidfile} $SERVER $MAX_CONN $MAX_CONN_IP $DAEMON $DISK_FULL $USE_NAT $AUTH $LOG $TIMEOUT $CHARCONV $MISC_OTHER $UPSCRIPT + result=$? + if [ $result -ne 0 ] ; then + eend 1 "Could not launch Pure-FTPd" + else + eend $result + if [ -n "$UPLOADSCRIPT" ] ; then + ebegin "Starting Pure-FTPd upload script" + start-stop-daemon --start --quiet --make-pidfile --pidfile ${script_pidfile} --exec /usr/sbin/pure-uploadscript --background ${WAIT} -- -r $UPLOADSCRIPT + eend $? + fi + fi +} + +stop() { + ebegin "Stopping Pure-FTPd" + start-stop-daemon --stop --retry 20 --quiet --pidfile ${ftpd_pidfile} + eend $? + if [ -n "$UPLOADSCRIPT" ] ; then + ebegin "Stopping Pure-FTPd upload script" + start-stop-daemon --stop --retry 20 --quiet --pidfile ${script_pidfile} + eend $? + fi + + if ${TMPFS_MOUNT:-false} && mount | grep -q ${ftpd_rundir} ; then + umount ${ftpd_rundir} >/dev/null 2>&1 + fi +} diff --git a/testing/py-application/APKBUILD b/testing/py-application/APKBUILD new file mode 100644 index 0000000000..2135f154ff --- /dev/null +++ b/testing/py-application/APKBUILD @@ -0,0 +1,22 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=py-application +_name=python-application +pkgver=1.2.7 +pkgrel=1 +pkgdesc="Basic building blocks for python applications" +url="http://pypi.python.org/pypi/python-application" +arch="all" +license="PSF" +depends="python" +makedepends="python-dev" +install= +subpackages="" +source="http://pypi.python.org/packages/source/p/python-application/python-application-$pkgver.tar.gz" +build() { + cd "$srcdir"/$_name-$pkgver + mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages + python setup.py install --root="$pkgdir" + echo "/usr/lib/python2.6/site-packages/$_name-$pkgver-py2.6.egg" > "$pkgdir"/usr/lib/python2.6/site-packages/$_name.pth +} +md5sums="07b32e25d931c5e591278848f3fc9f20 python-application-1.2.7.tar.gz" diff --git a/testing/py-asn1/APKBUILD b/testing/py-asn1/APKBUILD new file mode 100644 index 0000000000..eb519d3560 --- /dev/null +++ b/testing/py-asn1/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=py-asn1 +pkgver=0.0.13b +pkgrel=1 +pkgdesc="python ASN1 library" +url="http://pyasn1.sourceforge.net/" +arch="noarch" +license="BSD" +depends= +depends_dev="python-dev py-setuptools" +makedepends="$depends_dev" +install="" +subpackages="" +source="http://sourceforge.net/projects/pyasn1/files/pyasn1-devel/$pkgver/pyasn1-$pkgver.tar.gz" + +_builddir="$srcdir"/pyasn1-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + python setup.py build || return 1 +} + +package() { + cd "$_builddir" + python setup.py install --root="$pkgdir" || return 1 +} + +md5sums="a48b2661f3c56773e4c7a6da854a4593 pyasn1-0.0.13b.tar.gz" diff --git a/testing/py-beautifulsoup/APKBUILD b/testing/py-beautifulsoup/APKBUILD new file mode 100644 index 0000000000..795edd02ec --- /dev/null +++ b/testing/py-beautifulsoup/APKBUILD @@ -0,0 +1,22 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: +pkgname=py-beautifulsoup +_pkgname=BeautifulSoup +pkgver=3.2.0 +pkgrel=0 +pkgdesc="A Python HTML/XML parser designed for quick turnaround projects like screen-scraping" +url="http://www.crummy.com/software/BeautifulSoup/index.html" +arch="noarch" +license="BSD" +depends= +depends_dev="python-dev" +makedepends="$depends_dev" +install="" +subpackages="" +source="http://www.crummy.com/software/BeautifulSoup/download/3.x/$_pkgname-$pkgver.tar.gz" +_builddir="$srcdir"/$_pkgname-$pkgver +package() { + cd "$_builddir" + python setup.py install --root=$pkgdir +} +md5sums="ef1e78f7689ea61314f7bddebcfde88c BeautifulSoup-3.2.0.tar.gz" diff --git a/testing/py-buildutils/APKBUILD b/testing/py-buildutils/APKBUILD new file mode 100644 index 0000000000..cbc08cc7a3 --- /dev/null +++ b/testing/py-buildutils/APKBUILD @@ -0,0 +1,24 @@ +# Contributor: Andrew Manison <amanison@anselsystems.com> +# Maintainer: +pkgname=py-buildutils +_pkgname=${pkgname#py-} +pkgver=0.3 +pkgrel=1 +pkgdesc="buildutils is a collection of enhancements to the Python distutils" +url="http://pypi.python.org/pypi/buildutils/0.3" +arch="all" +license="GPL" +depends="python py-setuptools" +makedepends="python-dev" +install= +subpackages="" +source="http://pypi.python.org/packages/source/b/$_pkgname/$_pkgname-$pkgver.tar.gz" + +build() { + cd "$srcdir"/$_pkgname-$pkgver + mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages + python setup.py install --root="$pkgdir" + echo "/usr/lib/python2.6/site-packages/$_pkgname-$pkgver-py2.6.egg" > "$pkgdir"/usr/lib/python2.6/site-packages/$_pkgname.pth +} + +md5sums="fec620dee05f591edad386366b52e17b buildutils-0.3.tar.gz" diff --git a/testing/py-cherrypy/APKBUILD b/testing/py-cherrypy/APKBUILD new file mode 100644 index 0000000000..6d1ab683f5 --- /dev/null +++ b/testing/py-cherrypy/APKBUILD @@ -0,0 +1,26 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: +pkgname=py-cherrypy +_pkgname=CherryPy +pkgver=3.2.0 +pkgrel=0 +pkgdesc="A pythonic, object-oriented web development framework" +url="http://www.cherrypy.org" +arch="noarch" +license="BSD" +depends= +depends_dev="python-dev" +makedepends="$depends_dev" +install="" +subpackages="" +source="http://mirror.its.uidaho.edu/pub/gentoo/distfiles/$_pkgname-$pkgver.tar.gz" +# The real source is the following: +#http://download.cherrypy.org/cherrypy/$pkgver/$_pkgname-$pkgver.tar.gz" +#but seems not available atm +_builddir="$srcdir"/$_pkgname-$pkgver +package() { + cd "$_builddir" + python setup.py install --root=$pkgdir + install -Dm644 py2/cherrypy/LICENSE.txt ${pkgdir}/usr/share/licenses/custom/${pkgname}/license +} +md5sums="e5c1322bf5ce962c16283ab7a6dcca3f CherryPy-3.2.0.tar.gz" diff --git a/testing/py-cjson/APKBUILD b/testing/py-cjson/APKBUILD new file mode 100644 index 0000000000..b11f796f52 --- /dev/null +++ b/testing/py-cjson/APKBUILD @@ -0,0 +1,25 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> + +pkgname=py-cjson +_name=python-cjson +pkgver=1.0.5 +pkgrel=2 +pkgdesc="Fast JSON encoder/decoder for Python" +url="http://pypi.python.org/pypi/python-gnutls" +arch="all" +license="PSF" +depends="python" +makedepends="python-dev" +install= +subpackages="" +source="http://pypi.python.org/packages/source/p/python-cjson/$_name-$pkgver.tar.gz" +build() { + cd "$srcdir"/$_name-$pkgver + mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages + python setup.py install --root="$pkgdir" + echo "/usr/lib/python2.6/site-packages/$_name-$pkgver-py2.6.egg" > "$pkgdir"/usr/lib/python2.6/site-packages/$_name.pth + +} + +md5sums="4d55b66ecdf0300313af9d030d9644a3 python-cjson-1.0.5.tar.gz" diff --git a/testing/py-crypto/APKBUILD b/testing/py-crypto/APKBUILD new file mode 100644 index 0000000000..bd58eeeb92 --- /dev/null +++ b/testing/py-crypto/APKBUILD @@ -0,0 +1,24 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=py-crypto +pkgver=2.0.1 +pkgrel=4 +pkgdesc="A collection of cryptographic algorithms and protocols, implemented for use from Python." +url="http://www.amk.ca/python/code/crypto.html" +arch="all" +license="GPL" +depends="python" +makedepends="gmp-dev python-dev" +source="http://www.amk.ca/files/python/crypto/pycrypto-$pkgver.tar.gz" + +_builddir="$srcdir"/pycrypto-$pkgver +build () +{ + cd "$_builddir" + python setup.py build +} + +package() { + cd "$_builddir" + python setup.py install --root="$pkgdir" +} +md5sums="4d5674f3898a573691ffb335e8d749cd pycrypto-2.0.1.tar.gz" diff --git a/testing/py-dateutil/APKBUILD b/testing/py-dateutil/APKBUILD new file mode 100644 index 0000000000..f1915d8166 --- /dev/null +++ b/testing/py-dateutil/APKBUILD @@ -0,0 +1,23 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: +pkgname=py-dateutil +_pkgname=python-dateutil +pkgver=1.5 +pkgrel=1 +pkgdesc="Provides powerful extensions to the standard datetime module" +url="http://labix.org/python-dateutil" +arch="noarch" +license="PYTHON" +depends= +depends_dev="python-dev py-setuptools" +makedepends="$depends_dev" +install="" +subpackages="" +source="http://labix.org/download/$_pkgname/$_pkgname-$pkgver.tar.gz" +_builddir="$srcdir"/$_pkgname-$pkgver +package() { + cd "$_builddir" + python setup.py install --root=$pkgdir + install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/custom/${pkgname}/LICENSE +} +md5sums="35f3732db3f2cc4afdc68a8533b60a52 python-dateutil-1.5.tar.gz" diff --git a/testing/py-distutils-extra/APKBUILD b/testing/py-distutils-extra/APKBUILD new file mode 100644 index 0000000000..250bd89858 --- /dev/null +++ b/testing/py-distutils-extra/APKBUILD @@ -0,0 +1,36 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=py-distutils-extra +pkgver=2.26 +pkgrel=1 +pkgdesc="enhanced distutils package for python" +url="http://launchpad.net/python-distutils-extra" +arch="noarch" +license="GPL" +depends="py-setuptools" +makedepends="python-dev" +install="" +source="http://launchpad.net/python-distutils-extra/trunk/$pkgver/+download/python-distutils-extra-$pkgver.tar.gz" + +_builddir="$srcdir"/python-distutils-extra-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + python setup.py build || return 1 +} + +package() { + cd "$_builddir" + python setup.py install --root="$pkgdir" || return 1 +} + +md5sums="7caded30a45907b5cdb10ac4182846eb python-distutils-extra-2.26.tar.gz" diff --git a/testing/py-django/APKBUILD b/testing/py-django/APKBUILD new file mode 100644 index 0000000000..a48e7e5310 --- /dev/null +++ b/testing/py-django/APKBUILD @@ -0,0 +1,29 @@ +# Contributor: Andrew Wilcox <AWilcox@Wilcox-Tech.com> +# Maintainer: +pkgname=py-django +_pkgname=Django +pkgver=1.2.5 +pkgrel=1 +pkgdesc="A high-level Python Web framework that encourages rapid development and clean, pragmatic design." +url="http://djangoproject.com/" +arch="noarch" +license="bsd" +depends=python +depends_dev=python-dev +makedepends="$depends_dev" +install="" +subpackages="" +source="http://pypi.python.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz" + +_builddir="$srcdir"/$_pkgname-$pkgver +build() { + cd "$_builddir" + python setup.py build +} + +package() { + cd "$_builddir" + python setup.py install --root "$pkgdir" +} + +md5sums="e031ea3d00996035e49e4bfa86e07c40 Django-1.2.5.tar.gz" diff --git a/testing/py-eventlet/APKBUILD b/testing/py-eventlet/APKBUILD new file mode 100644 index 0000000000..aaacadaae8 --- /dev/null +++ b/testing/py-eventlet/APKBUILD @@ -0,0 +1,25 @@ +# Maintainer: Elizabeth Jennifer Myers <elizabeth@sporksirc.net> +# Contributor: Elizabeth Jennifer Myers <elizabeth@sporksirc.net> +pkgname=py-eventlet +pkgver=0.9.16 +pkgrel=1 +pkgdesc="Python library for seamless coroutine-based concurrency" +url="http://eventlet.net/" +arch="noarch" +license="MIT" +depends="python py-greenlet" +makedepends="python-dev py-setuptools" +source="http://pypi.python.org/packages/source/e/eventlet/eventlet-${pkgver}.tar.gz" + +_builddir="$srcdir"/eventlet-$pkgver +build () +{ + cd "$_builddir" + python setup.py build +} + +package() { + cd "$_builddir" + python setup.py install --root="$pkgdir" +} +md5sums="4728e3bd7f72763c1e5dccac0296f8ea eventlet-0.9.16.tar.gz" diff --git a/testing/py-gevent/APKBUILD b/testing/py-gevent/APKBUILD new file mode 100644 index 0000000000..9bda980c0f --- /dev/null +++ b/testing/py-gevent/APKBUILD @@ -0,0 +1,25 @@ +# Maintainer: Michael Zhou <zhoumichaely@gmail.com> +# Contributor: Michael Zhou <zhoumichaely@gmail.com> +pkgname=py-gevent +pkgver=0.13.6 +pkgrel=1 +pkgdesc="Python library for seamless coroutine-based concurrency" +url="http://gevent.org/" +arch="x86 x86_64" +license="MIT" +depends="py-greenlet" +makedepends="python-dev py-setuptools libevent-dev" +source="http://pypi.python.org/packages/source/g/gevent/gevent-${pkgver}.tar.gz" + +_builddir="$srcdir"/gevent-$pkgver +build () +{ + cd "$_builddir" + python setup.py build +} + +package() { + cd "$_builddir" + python setup.py install --root="$pkgdir" +} +md5sums="7c836ce2315d44ba0af6134efbcd38c9 gevent-0.13.6.tar.gz" diff --git a/testing/py-gnutls/APKBUILD b/testing/py-gnutls/APKBUILD new file mode 100644 index 0000000000..c529342427 --- /dev/null +++ b/testing/py-gnutls/APKBUILD @@ -0,0 +1,23 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> + +pkgname=py-gnutls +_name=python-gnutls +pkgver=1.2.0 +pkgrel=1 +pkgdesc="Python wrapper for the GNUTLS library" +url="http://pypi.python.org/pypi/python-gnutls" +arch="all" +license="PSF" +depends="python" +makedepends="python-dev gnutls-dev" +install= +subpackages="" +source="http://pypi.python.org/packages/source/p/$_name/$_name-$pkgver.tar.gz" +build() { + cd "$srcdir"/$_name-$pkgver + mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages + python setup.py install --root="$pkgdir" + echo "/usr/lib/python2.6/site-packages/$_name-$pkgver-py2.6.egg" > "$pkgdir"/usr/lib/python2.6/site-packages/$_name.pth +} +md5sums="18a7b92abdc1598b916d7ff5019b72bf python-gnutls-1.2.0.tar.gz" diff --git a/testing/py-greenlet/APKBUILD b/testing/py-greenlet/APKBUILD new file mode 100644 index 0000000000..2be1c61155 --- /dev/null +++ b/testing/py-greenlet/APKBUILD @@ -0,0 +1,25 @@ +# Maintainer: Elizabeth Jennifer Myers <elizabeth@sporksirc.net> +# Contributor: Elizabeth Jennifer Myers <elizabeth@sporksirc.net> +pkgname=py-greenlet +pkgver=0.3.1 +pkgrel=1 +pkgdesc="Lightweight in-process concurrent programming" +url="http://pypi.python.org/pypi/greenlet" +arch="all" +license="MIT" +depends="python" +makedepends="python-dev py-setuptools" +source="http://pypi.python.org/packages/source/g/greenlet/greenlet-$pkgver.tar.gz" + +_builddir="$srcdir"/greenlet-$pkgver +build () +{ + cd "$_builddir" + python setup.py build +} + +package() { + cd "$_builddir" + python setup.py install --root="$pkgdir" +} +md5sums="8d75d7f3f659e915e286e1b0fa0e1c4d greenlet-0.3.1.tar.gz" diff --git a/testing/py-jabberbot/APKBUILD b/testing/py-jabberbot/APKBUILD new file mode 100644 index 0000000000..c13d562a4a --- /dev/null +++ b/testing/py-jabberbot/APKBUILD @@ -0,0 +1,25 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=py-jabberbot +_pkgname=python-jabberbot +pkgver=0.13 +pkgrel=1 +pkgdesc="A simple Jabber Bot for Python" +url="http://pypi.python.org/pypi/jabberbot" +arch="noarch" +license="GPLv3" +depends="py-xmpppy python" +makedepends="python-dev" +install="" +subpackages="" +source="http://thpinfo.com/2007/$_pkgname/jabberbot-$pkgver.tar.gz" +_builddir=$srcdir/jabberbot-$pkgver +build() { + cd "$_builddir" + python setup.py build +} +package() { + cd "$_builddir" + python setup.py install --root="$pkgdir" +} +md5sums="006311f57f38b6e88abb0fbcb2e0fb7c jabberbot-0.13.tar.gz" diff --git a/testing/py-lxml/APKBUILD b/testing/py-lxml/APKBUILD new file mode 100644 index 0000000000..5830a93488 --- /dev/null +++ b/testing/py-lxml/APKBUILD @@ -0,0 +1,21 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=py-lxml +_pkgname=lxml +pkgver=2.2.8 +pkgrel=1 +pkgdesc="Python LXML Library" +url="http://codespeak.net/lxml" +arch="all" +license="GPL" +depends="libxml2 libxslt" +makedepends="libxml2-dev libxslt-dev py-setuptools" +install= +source="http://codespeak.net/lxml/$_pkgname-$pkgver.tgz" +build() { + cd "$srcdir"/$_pkgname-$pkgver + mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages + python setup.py install --root="$pkgdir" + echo "/usr/lib/python2.6/site-packages/$_pkgname-$pkgver-py2.6.egg" > "$pkgdir"/usr/lib/python2.6/site-packages/$_pkgname.pth +} +md5sums="d6c612d63a84d79440912a1b29d3b981 lxml-2.2.8.tgz" diff --git a/testing/py-mechanize/APKBUILD b/testing/py-mechanize/APKBUILD new file mode 100644 index 0000000000..0fdad0c25b --- /dev/null +++ b/testing/py-mechanize/APKBUILD @@ -0,0 +1,23 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: +pkgname=py-mechanize +_pkgname=mechanize +pkgver=0.2.4 +pkgrel=0 +pkgdesc="Stateful programmatic web browsing in Python" +url="http://wwwsearch.sourceforge.net/mechanize/" +arch="noarch" +license="BSD ZPL" +depends= +depends_dev="python-dev py-setuptools" +makedepends="$depends_dev" +install="" +subpackages="" +source="http://wwwsearch.sourceforge.net/$_pkgname/src/$_pkgname-$pkgver.tar.gz" +_builddir="$srcdir"/$_pkgname-$pkgver +package() { + cd "$_builddir" + python setup.py install --root=$pkgdir + install -Dm644 COPYING.txt ${pkgdir}/usr/share/licenses/custom/${pkgname}/COPYING.txt +} +md5sums="0c1c3cec1c6d7b5d87662a069f04eb8d mechanize-0.2.4.tar.gz" diff --git a/testing/py-mysqldb/APKBUILD b/testing/py-mysqldb/APKBUILD new file mode 100644 index 0000000000..cf990a1aaf --- /dev/null +++ b/testing/py-mysqldb/APKBUILD @@ -0,0 +1,19 @@ +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=py-mysqldb +pkgver=1.2.3 +pkgrel=0 +pkgdesc="MySQL Module for python" +url="http://sourceforge.net/projects/mysql-python/" +arch="all" +license="GPL" +depends="python" +makedepends="py-setuptools mysql-dev" +source="http://downloads.sourceforge.net/mysql-python/MySQL-python-${pkgver}.tar.gz" +build() { + cd "$srcdir"/MySQL-python-$pkgver + mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages + python setup.py install --root="$pkgdir" + echo "/usr/lib/python2.6/site-packages/$pkgname-$pkgver-py2.6.egg" \ + > "$pkgdir"/usr/lib/python2.6/site-packages/$pkgname.pth +} +md5sums="215eddb6d853f6f4be5b4afc4154292f MySQL-python-1.2.3.tar.gz" diff --git a/testing/py-pycountry/APKBUILD b/testing/py-pycountry/APKBUILD new file mode 100644 index 0000000000..e4ad4f3afe --- /dev/null +++ b/testing/py-pycountry/APKBUILD @@ -0,0 +1,31 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: +pkgname=py-pycountry +_pkgname=pycountry +pkgver=0.12.1 +pkgrel=1 +pkgdesc="ISO country, subdivision, language, currency and script definitions and their translations" +url="http://pypi.python.org/pypi/pycountry" +arch="noarch" +license="LGPL2" +depends= +depends_dev="python-dev py-lxml py-setuptools" +makedepends="$depends_dev" +install="" +subpackages="" +source="http://pypi.python.org/packages/source/p/${_pkgname}/${_pkgname}-$pkgver.tar.gz" +_builddir="$srcdir"/$_pkgname-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} +package() { + cd "$_builddir" + python setup.py install --root=$pkgdir/ || return 1 +} +md5sums="d593c50b446850ee40c4a342677100d5 pycountry-0.12.1.tar.gz" diff --git a/testing/py-qt/APKBUILD b/testing/py-qt/APKBUILD new file mode 100644 index 0000000000..7f4d0faedc --- /dev/null +++ b/testing/py-qt/APKBUILD @@ -0,0 +1,32 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=py-qt +_pkgname=PyQt +pkgver=4.8.4 +pkgrel=1 +pkgdesc="A set of Python bindings for the Qt toolkit" +url="http://riverbankcomputing.co.uk/software/pyqt/intro" +arch="all" +license="GPL" +depends= +depends_dev="python-dev py-dbus-dev phonon-dev qt-dev py-sip-dev libx11-dev" +makedepends="$depends_dev" +subpackages="" +install= +source="http://riverbankcomputing.co.uk/static/Downloads/${_pkgname}4/${_pkgname}-x11-gpl-$pkgver.tar.gz" +build() { + cd "${srcdir}/PyQt-x11-gpl-${pkgver}" + python configure.py \ + --confirm-license \ + -v /usr/share/sip \ + --qsci-api + # Thanks Gerardo for the rpath fix + find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g' + make +} +package(){ + cd "${srcdir}/PyQt-x11-gpl-${pkgver}" + make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install +} + +md5sums="97c5dc1042feb5b3fe20baabad055af1 PyQt-x11-gpl-4.8.4.tar.gz" diff --git a/testing/py-sip/APKBUILD b/testing/py-sip/APKBUILD new file mode 100644 index 0000000000..188b594e32 --- /dev/null +++ b/testing/py-sip/APKBUILD @@ -0,0 +1,30 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: +pkgname=py-sip +_pkgname=sip +pkgver=4.12.3 +pkgrel=1 +pkgdesc="A tool that makes it easy to create Python bindings for C and C++ libraries" +url="http://www.riverbankcomputing.com/software/sip/" +arch="all" +license="custom:sip" +depends= +depends_dev="python-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://www.riverbankcomputing.com/static/Downloads/sip4/${_pkgname}-${pkgver}.tar.gz" +_builddir="$srcdir"/$_pkgname-$pkgver +build() { + cd "$_builddir" + python configure.py + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/custom/${pkgname}/LICENSE +} + +md5sums="d0f1fa60494db04b4d115d4c2d92f79e sip-4.12.3.tar.gz" diff --git a/testing/py-twisted-web2/APKBUILD b/testing/py-twisted-web2/APKBUILD new file mode 100644 index 0000000000..dc80dcc04f --- /dev/null +++ b/testing/py-twisted-web2/APKBUILD @@ -0,0 +1,21 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> + +pkgname=py-twisted-web2 +pkgver=8.1.0 +pkgrel=1 +pkgdesc="The twisted.web2 package in Twisted." +url="http://twistedmatrix.com/" +arch="all" +license="GPL" +depends="py-twisted" +makedepends="python-dev" +source="http://tmrc.mit.edu/mirror/twisted/Web2/8.1/TwistedWeb2-$pkgver.tar.bz2" + +build() { + cd "$srcdir"/TwistedWeb2-8.1.0/ + python setup.py install --prefix=/usr --root="$pkgdir" || return 1 +} + + +md5sums="e34b48edf6fef075bd41ddbd215aed32 TwistedWeb2-8.1.0.tar.bz2" diff --git a/testing/py-twisted/APKBUILD b/testing/py-twisted/APKBUILD new file mode 100644 index 0000000000..f1bbbb1017 --- /dev/null +++ b/testing/py-twisted/APKBUILD @@ -0,0 +1,23 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=py-twisted +pkgver=10.0.0 +pkgrel=1 +pkgdesc="Asynchronous networking framework written in Python." +url="http://twistedmatrix.com/" +arch="all" +license="MIT" +depends="python py-crypto py-zope-interface" +makedepends="python-dev" +source="http://tmrc.mit.edu/mirror/twisted/Twisted/${pkgver%.*}/Twisted-$pkgver.tar.bz2" + +build() { + cd "$srcdir"/Twisted-$pkgver + python setup.py build || return 1 +} + +package() { + cd "$srcdir"/Twisted-$pkgver + python setup.py install --prefix=/usr --root="$pkgdir" || return 1 + install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} +md5sums="3b226af1a19b25e3b3e93cc6edf5e284 Twisted-10.0.0.tar.bz2" diff --git a/testing/py-xmpppy/APKBUILD b/testing/py-xmpppy/APKBUILD new file mode 100644 index 0000000000..fefe8e7cf1 --- /dev/null +++ b/testing/py-xmpppy/APKBUILD @@ -0,0 +1,27 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=py-xmpppy +_pkgname=xmpppy +pkgver=0.5.0 +_pkgver=0.5.0rc1 +pkgrel=1 +pkgdesc="A Python library to provide easy scripting with Jabber" +url="http://xmpppy.sourceforge.net/" +arch="noarch" +license="GPL" +depends="python" +makedepends="py-setuptools python-dev" +install="" +subpackages="" +source="http://downloads.sourceforge.net/sourceforge/xmpppy/$_pkgname-$_pkgver.tar.gz" +_builddir=$srcdir/$_pkgname-$_pkgver +build() { + cd "$_builddir" + python setup.py build +} +package() { + cd "$_builddir" + mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages + python setup.py install --root="$pkgdir" +} +md5sums="e0d2b3f9e4a278c163431e64adb0c861 xmpppy-0.5.0rc1.tar.gz" diff --git a/testing/py-zope-interface/APKBUILD b/testing/py-zope-interface/APKBUILD new file mode 100644 index 0000000000..fbc21c63ec --- /dev/null +++ b/testing/py-zope-interface/APKBUILD @@ -0,0 +1,24 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=py-zope-interface +pkgver=3.6.1 +pkgrel=1 +pkgdesc="Separate distribution of the zope.interface package used in Zope 3." +url="http://www.zope.org/Products/ZopeInterface/" +arch="all" +license="ZPL" +depends="python" +makedepends="python-dev" +source="http://pypi.python.org/packages/source/z/zope.interface/zope.interface-$pkgver.tar.gz" + +_builddir="$srcdir"/zope.interface-$pkgver +build() { + cd "$_builddir" + python setup.py build +} + +package() { + cd "$_builddir" + python setup.py install --prefix=/usr --root="$pkgdir" + rm "$pkgdir"/usr/lib/python*/site-packages/zope/interface/README*.txt +} +md5sums="7a895181b8d10be4a7e9a3afa13cd3be zope.interface-3.6.1.tar.gz" diff --git a/testing/python3/APKBUILD b/testing/python3/APKBUILD new file mode 100644 index 0000000000..489562fc39 --- /dev/null +++ b/testing/python3/APKBUILD @@ -0,0 +1,54 @@ +# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com> +pkgname=python3 +pkgver=3.2.0 +_pkgver=3.2 +pkgrel=0 +pkgdesc="A high-level scripting language" +url="http://www.python.org" +arch="all" +license="custom" +subpackages="$pkgname-dev $pkgname-doc $pkgname-tests" +depends= +makedepends="expat-dev openssl-dev zlib-dev ncurses-dev bzip2-dev + sqlite-dev libffi-dev tcl-dev" +source="http://www.python.org/ftp/python/$_pkgver/Python-$_pkgver.tar.bz2" + +_builddir="$srcdir"/Python-$_pkgver +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --enable-shared \ + --with-threads \ + --with-system-ffi \ + --enable-unicode=ucs4 \ + --with-dbmliborder=ndbm \ + || return 1 + + make || return 1 +} + +package() { + cd "$_builddir" + make -j1 DESTDIR="$pkgdir" install + mv "$pkgdir"/usr/bin/2to3 "$pkgdir"/usr/bin/2to3-3.1 + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} + +_mv_files() { + cd "$pkgdir"/usr/lib/python$_pkgver + for i in */test */tests; do + mkdir -p "$subpkgdir"/usr/lib/python$_pkgver/"$i" + mv "$i"/* "$subpkgdir"/usr/lib/python$_pkgver/"$i" + rm -rf "$i" + done + mv "$pkgdir"/usr/lib/python$_pkgver/test "$subpkgdir"/usr/lib/python$_pkgver +} + +tests() { + pkgdesc="The test modules from the main python package" + arch="noarch" + cd "$pkgdir" + _mv_files +} + +md5sums="92e94b5b6652b96349d6362b8337811d Python-3.2.tar.bz2" diff --git a/testing/qca/APKBUILD b/testing/qca/APKBUILD new file mode 100644 index 0000000000..b11415ffcd --- /dev/null +++ b/testing/qca/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=qca +pkgver=2.0.3 +pkgrel=0 +pkgdesc="Qt cryptographic architecture" +url="http://delta.affinix.com/qca/" +arch="all" +license="LGPL" +depends= +depends_dev="qt-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://delta.affinix.com/download/qca/2.0/qca-$pkgver.tar.bz2" + +_builddir="$srcdir"/qca-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make INSTALL_ROOT="$pkgdir" install || return 1 +} + +md5sums="fc15bd4da22b8096c51fcfe52d2fa309 qca-2.0.3.tar.bz2" diff --git a/testing/qimageblitz/APKBUILD b/testing/qimageblitz/APKBUILD new file mode 100644 index 0000000000..f4450fcce2 --- /dev/null +++ b/testing/qimageblitz/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=qimageblitz +pkgver=0.0.4 +pkgrel=0 +pkgdesc="qt image processing library" +url="http://sourceforge.net/projects/qimageblitz" +arch="all" +license="LGPL" +depends= +depends_dev="qt-dev" +makedepends="$depends_dev cmake automoc4" +install="" +subpackages="$pkgname-dev" +source="http://sourceforge.net/projects/qimageblitz/files/qimageblitz-$pkgver.tar.bz2" + +_builddir="$srcdir"/qimageblitz-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir -p "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="cb87c7f1c0455e8984ee4830f1e749cf qimageblitz-0.0.4.tar.bz2" diff --git a/testing/qpage/APKBUILD b/testing/qpage/APKBUILD new file mode 100644 index 0000000000..63adae631a --- /dev/null +++ b/testing/qpage/APKBUILD @@ -0,0 +1,47 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=qpage +pkgver=3.3 +pkgrel=0 +pkgdesc="Sends messages to an alphanumeric pager via TAP protocol." +url="http://www.qpage.org/" +arch="all" +license="Custom" +depends="" +depends_dev= +makedepends="$depends_dev" +install="$pkgname.pre-install $pkgname.post-install" +source="saveas-http://archive.debian.org/debian/pool/non-free/q/$pkgname/"$pkgname"_3.3final.orig.tar.gz/$pkgname-$pkgver.tar.gz + config.input + qpage.initd + qpage.patch + " +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} +build() { + cd "$_builddir" + cp -f "$srcdir"/config.input "$_builddir" || return 1 + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var + make || return 1 +} +package() { + mkdir -p "$pkgdir"/usr/bin + mkdir -p "$pkgdir"/etc/qpage + install -m755 "$_builddir"/$pkgname "$pkgdir"/usr/bin/"$pkgname" + install -m644 -D "$_builddir"/example.cf "$pkgdir"/etc/qpage/qpage.conf.example + install -m644 -D "$_builddir"/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname +} +md5sums="eb98faaa51f89db68ecf7668f5294309 qpage-3.3.tar.gz +3ac8c6e2aede9e195eba2555eb3b4645 config.input +f439315da04ebdd1e1cc2840171d45d3 qpage.initd +e8a4a6926973c940fe34dc6c4e892606 qpage.patch" diff --git a/testing/qpage/config.input b/testing/qpage/config.input new file mode 100644 index 0000000000..e133cb36a7 --- /dev/null +++ b/testing/qpage/config.input @@ -0,0 +1,83 @@ +######################################################### +# # +# Almost all of the QuickPage configuration options # +# can be controlled at run-time by keywords in the # +# configuration file. However, there is a small # +# set of options that must be defined at compile # +# time. # +# # +# Here are the compile-time configuration options. # +# Edit these as appropriate for your environment. # +# # +# Note: This file is sourced by the configure script. # +# Do not make any changes incompatible with /bin/sh. # +# # +######################################################### + + +# +# QPAGE_CONFIG defines the location of the configuration file. +# See the QuickPage documentation for complete details about +# the syntax of the configuration file. +# +QPAGE_CONFIG="/etc/qpage/qpage.cf" + + +# +# SNPP_SERVER defines the default name of the SNPP server. +# The default is localhost. This is probably not appropriate +# for most network configurations; change this to the machine +# where you intend to run the QuickPage daemon. Multiple +# hostnames can be specified by separating them with commas. +# +SNPP_SERVER="localhost" + + +# +# SNPP_SERVER_FILE defines a filename containing one or +# more hostnames of SNPP servers. QuickPage clients +# read this file (if it exists) to locate a server. All +# servers listed in this file are assumed to have identical +# copies of the configuration file. Only one filename +# may be specified. +# +SNPP_SERVER_FILE="/etc/qpage/qpage.servers" + + +# +# DAEMON_USER specifies which user the QuickPage daemon +# should run as after dropping root privileges. If a +# userid or UID is specified and a password entry exists +# for that user, QuickPage will assume all group privileges +# assigned to that user. +# +DAEMON_USER="qpage" + + +# +# SYSLOG_FACILITY defines which syslog facility should be +# used by QuickPage to log messages. See the syslog +# documentation (i.e. "man syslog") for more information. +# +SYSLOG_FACILITY=LOG_DAEMON + + +# +# SENDMAIL_PATH defines where sendmail (or equivalent) is +# located on your system. QuickPage uses sendmail to send +# status messages about failed and/or high-priority pages. +# Whatever you specify here will be invoked with exactly +# three arguments: +# +# arg1: "-f" +# arg2: "<>" +# arg3: user@host +# +# The first two arguments tell sendmail to use a null return +# path (see RFC1123 section 5.2.9) so that bogus e-mail +# addresses will not annoy the postmaster. +# +# If you leave this variable commented out, "configure" will +# attempt to locate the correct path for your system automatically. +# +#SENDMAIL_PATH=/usr/lib/sendmail diff --git a/testing/qpage/qpage.initd b/testing/qpage/qpage.initd new file mode 100644 index 0000000000..6d5528766a --- /dev/null +++ b/testing/qpage/qpage.initd @@ -0,0 +1,25 @@ +#!/sbin/runscript +# +# Startup for QuickPage +# + +OPTS_ARGS="q10" + +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +start() { + ebegin "Starting QuickPage daemon" + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec qpage -- ${OPTS_ARGS} >/dev/null + eend $? +} + +stop() { + ebegin "Stopping QuickPage daemon" + + pid=`ps -e | grep qpage | awk '{print $1}'` + if [ ! -z "$pid" ]; then + kill $pid > /dev/null 2>&1 + fi + eend $? +} +exit 0 diff --git a/testing/qpage/qpage.patch b/testing/qpage/qpage.patch new file mode 100644 index 0000000000..d998942d50 --- /dev/null +++ b/testing/qpage/qpage.patch @@ -0,0 +1,231 @@ +diff -crB a/CHANGES b/CHANGES +*** a/CHANGES 1999-01-02 16:15:03.000000000 +1300 +--- b/CHANGES 2011-01-27 09:56:40.202300708 +1300 +*************** +*** 1,4 **** +--- 1,15 ---- ++ Changes to QuickPage from v3.3 to v3.3.1-unleash ++ ------------------------------------------------ ++ Patch by Michael Fincham <michael@unleash.co.nz> + ++ - The new "-b" option has been added to specify a bind address ++ for the qpage daemon. ++ ++ - The default user the daemon runs as is now "qpage" instead ++ of "nobody". ++ ++ - To be honest, the "-b" option doesn't sanitise input very well ++ so don't setuid root the qpage binary or anything dumb like that. + + Changes to QuickPage from v3.2 to v3.3 + --------------------------------------- +diff -crB a/qpage.c b/qpage.c +*** a/qpage.c 1999-05-09 09:47:23.000000000 +1200 +--- b/qpage.c 2011-01-21 14:50:55.995162759 +1300 +*************** +*** 17,22 **** +--- 17,23 ---- + static char sccsid[] = "@(#)qpage.c 3.36 07/26/98 tomiii@qpage.org"; + #endif + char *ConfigFile = NULL; ++ char *BindAddress = NULL; + int Debug = 0; + int Interactive = FALSE; + int Silent = FALSE; +*************** +*** 29,35 **** + do_version(void) + { + printf("\n"); +! printf("QuickPage v%s, Copyright 1995-98 by Thomas Dwyer III\n", + VERSION); + printf("\n"); + } +--- 30,36 ---- + do_version(void) + { + printf("\n"); +! printf("QuickPage v%s, Copyright 1995-98 by Thomas Dwyer III. Modified for Unleash by Michael Fincham <michael@unleash.co.nz>.\n", + VERSION); + printf("\n"); + } +*************** +*** 46,51 **** +--- 47,55 ---- + printf("\n"); + printf("Options:\n"); + printf(" -a [+]hhmm send the page at the specified time\n"); ++ #ifndef CLIENT_ONLY ++ printf(" -b address bind only to this address (default: 0.0.0.0)\n"); ++ #endif + printf(" -c coverage coverage area (service name) for pager\n"); + printf(" -C config use an alternate configuration file\n"); + printf(" -d debug mode\n"); +*************** +*** 339,345 **** + + (void)memset((char *)&p, 0, sizeof(p)); + +! while ((c = getopt(argc, argv, "a:c:C:df:hil:mp:P:q:Qs:t:v")) != -1) { + switch (c) { + case 'a': + case 't': +--- 343,349 ---- + + (void)memset((char *)&p, 0, sizeof(p)); + +! while ((c = getopt(argc, argv, "a:b:c:C:df:hil:mp:P:q:Qs:t:v")) != -1) { + switch (c) { + case 'a': + case 't': +*************** +*** 353,358 **** +--- 357,367 ---- + needpager = TRUE; + break; + ++ #ifndef CLIENT_ONLY ++ case 'b': ++ BindAddress = strdup(optarg); ++ break; ++ #endif + case 'c': + my_free(coverage); + coverage = strdup(optarg); +*************** +*** 503,509 **** + if (optind < argc) + port = atoi(argv[optind]); + +! (void)become_daemon(sleeptime, port); + + /* NOT REACHED */ + return(-1); +--- 512,518 ---- + if (optind < argc) + port = atoi(argv[optind]); + +! (void)become_daemon(sleeptime, port, BindAddress); + + /* NOT REACHED */ + return(-1); +diff -crB a/qpage.h b/qpage.h +*** a/qpage.h 1998-10-26 08:55:02.000000000 +1300 +--- b/qpage.h 2011-01-21 14:51:22.682302352 +1300 +*************** +*** 26,32 **** + #define fprintf (void)fprintf + #endif + +! #define VERSION "3.3" + #define COMMENTS_ANYWHERE + + #ifndef QPAGE_CONFIG +--- 26,32 ---- + #define fprintf (void)fprintf + #endif + +! #define VERSION "3.3.1-unleash" + #define COMMENTS_ANYWHERE + + #ifndef QPAGE_CONFIG +*************** +*** 51,57 **** + #endif + + #ifndef DAEMON_USER +! #define DAEMON_USER "nobody" + #endif + + #define SNPP_SVC_NAME "snpp" +--- 51,57 ---- + #endif + + #ifndef DAEMON_USER +! #define DAEMON_USER "qpage" + #endif + + #define SNPP_SVC_NAME "snpp" +*************** +*** 278,284 **** + extern void qpage_log(int pri, char *fmt, ...); + extern time_t snpptime(char *arg); + extern time_t parse_time(char *str); +! extern int become_daemon(int sleeptime, short port); + extern int submit_page(PAGE *p, char *server); + extern int lock_file(int fd, int mode, int block); + extern int lock_queue(void); +--- 278,284 ---- + extern void qpage_log(int pri, char *fmt, ...); + extern time_t snpptime(char *arg); + extern time_t parse_time(char *str); +! extern int become_daemon(int sleeptime, short port, char *BindAddress); + extern int submit_page(PAGE *p, char *server); + extern int lock_file(int fd, int mode, int block); + extern int lock_queue(void); +diff -crB a/qpage.man b/qpage.man +*** a/qpage.man 1999-05-09 10:07:31.000000000 +1200 +--- b/qpage.man 2011-01-27 09:51:44.894302942 +1300 +*************** +*** 34,39 **** +--- 34,42 ---- + ] [ + .BI \-C " config + ] ++ ] [ ++ .BI \-b " address ++ ] + .BI \-q " interval + .SH DESCRIPTION + .B QuickPage +*************** +*** 91,96 **** +--- 94,104 ---- + century. Otherwise assume the specified time is in the current + century. + .TP ++ .BI \-b ++ Specify an address for the qpage daemon to bind to. The default is ++ to bind to INETADDR_ANY and listen on all interfaces (the old ++ behaviour) ++ .TP + .BI \-c + Use a different coverage area or paging service. This option is + only useful if the recipient has more than one pager and/or more +diff -crB a/srvrsnpp.c b/srvrsnpp.c +*** a/srvrsnpp.c 1998-10-26 08:55:05.000000000 +1300 +--- b/srvrsnpp.c 2011-01-21 14:49:17.647300794 +1300 +*************** +*** 1156,1162 **** + ** -1 on error, otherwise never + */ + int +! become_daemon(int sleeptime, short port) + { + struct sockaddr_in addr; + struct servent *svc; +--- 1156,1162 ---- + ** -1 on error, otherwise never + */ + int +! become_daemon(int sleeptime, short port, char *BindAddress) + { + struct sockaddr_in addr; + struct servent *svc; +*************** +*** 1221,1227 **** + len = sizeof(on); + (void)setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *)&on, len); + +! addr.sin_addr.s_addr = INADDR_ANY; + addr.sin_family = AF_INET; + addr.sin_port = port; + +--- 1221,1227 ---- + len = sizeof(on); + (void)setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *)&on, len); + +! addr.sin_addr.s_addr = BindAddress != NULL ? inet_addr(BindAddress) : INADDR_ANY; + addr.sin_family = AF_INET; + addr.sin_port = port; + diff --git a/testing/qpage/qpage.post-install b/testing/qpage/qpage.post-install new file mode 100644 index 0000000000..53de3edbf5 --- /dev/null +++ b/testing/qpage/qpage.post-install @@ -0,0 +1,6 @@ +#!/bin/sh + +mkdir -p /var/spool/qpage 2>/dev/null +chown -R qpage:qpage /var/spool/qpage 2>/dev/null +exit 0 + diff --git a/testing/qpage/qpage.pre-install b/testing/qpage/qpage.pre-install new file mode 100644 index 0000000000..c463899a16 --- /dev/null +++ b/testing/qpage/qpage.pre-install @@ -0,0 +1,3 @@ +#!/bin/sh + +adduser -h /var/lib/qpage -s /bin/false -G qpage -D qpage 2>/dev/null || true diff --git a/testing/quvi/APKBUILD b/testing/quvi/APKBUILD new file mode 100644 index 0000000000..9243f22fc1 --- /dev/null +++ b/testing/quvi/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=quvi +pkgver=0.2.15 +pkgrel=1 +pkgdesc="Command line tool for parsing video download links" +url="http://quvi.sourceforge.net/" +arch="all" +license="LGPLv2+" +depends= +depends_dev="curl-dev pcre-dev lua-dev zlib-dev openssl-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://downloads.sourceforge.net/project/quvi/${pkgver%.*}/quvi-$pkgver.tar.gz" + +_builddir="$srcdir"/quvi-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="7cda6c6593c1281e89d91de3b0bed284 quvi-0.2.15.tar.gz" diff --git a/testing/raptor/APKBUILD b/testing/raptor/APKBUILD new file mode 100644 index 0000000000..4f2451c670 --- /dev/null +++ b/testing/raptor/APKBUILD @@ -0,0 +1,47 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=raptor +pkgver=1.4.21 +pkgrel=1 +pkgdesc="RDF parsing/storage backend" +url="http://www.librdf.org/" +arch="all" +license="GPL" +depends= +depends_dev="curl-dev libxml2-dev libxslt-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://download.librdf.org/source/raptor-$pkgver.tar.gz + raptor-curl.patch" + +_builddir="$srcdir"/raptor-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="992061488af7a9e2d933df6b694bb876 raptor-1.4.21.tar.gz +ab48372dcd90a599fb0da73a10830d79 raptor-curl.patch" diff --git a/testing/raptor/raptor-curl.patch b/testing/raptor/raptor-curl.patch new file mode 100644 index 0000000000..e47a496c4c --- /dev/null +++ b/testing/raptor/raptor-curl.patch @@ -0,0 +1,12 @@ +diff --git a/src/raptor_internal.h b/src/raptor_internal.h +index f7944db..d9c2068 100644 +--- a/src/raptor_internal.h ++++ b/src/raptor_internal.h +@@ -852,7 +852,6 @@ int raptor_utf8_is_nfc(const unsigned char *input, size_t length); + + #ifdef RAPTOR_WWW_LIBCURL + #include <curl/curl.h> +-#include <curl/types.h> + #include <curl/easy.h> + #endif + diff --git a/testing/rasqal/APKBUILD b/testing/rasqal/APKBUILD new file mode 100644 index 0000000000..8b28695980 --- /dev/null +++ b/testing/rasqal/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=rasqal +pkgver=0.9.21 +pkgrel=0 +pkgdesc="RDF query library" +url="http://www.librdf.org/" +arch="all" +license="GPL" +depends= +depends_dev="raptor-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://download.librdf.org/source/rasqal-$pkgver.tar.gz" + +_builddir="$srcdir"/rasqal-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="55b67ec92a059ef8979d46486b00a032 rasqal-0.9.21.tar.gz" diff --git a/testing/redland/APKBUILD b/testing/redland/APKBUILD new file mode 100644 index 0000000000..616a742bd9 --- /dev/null +++ b/testing/redland/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=redland +pkgver=1.0.10 +pkgrel=2 +pkgdesc="high-level RDF library" +url="http://www.librdf.org/" +arch="all" +license="GPL" +depends= +depends_dev="raptor-dev rasqal-dev sqlite-dev" +makedepends="$depends_dev perl" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://download.librdf.org/source/redland-$pkgver.tar.gz" + +_builddir="$srcdir"/redland-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + LIBS="-lm" ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="bdbb9b8dc614fc09a14cd646079619e1 redland-1.0.10.tar.gz" diff --git a/testing/rp-pppoe/APKBUILD b/testing/rp-pppoe/APKBUILD new file mode 100644 index 0000000000..0694c21682 --- /dev/null +++ b/testing/rp-pppoe/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=rp-pppoe +pkgver=3.10 +pkgrel=4 +pkgdesc="Roaring Penguin\'s Point-to-Point Protocol over Ethernet client" +url="http://www.roaringpenguin.com/pppoe/" +arch="all" +license="LGPL" +depends= +makedepends="ppp-dev" +install= +subpackages="$pkgname-doc" +source="http://www.roaringpenguin.com/files/download/rp-pppoe-$pkgver.tar.gz + rp-pppoe.initd" + +_builddir="$srcdir"/$pkgname-$pkgver + +build() { + cd "$_builddir"/src + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + + make all || return 1 +} + +package() { + cd "$_builddir"/src + + make DESTDIR="$pkgdir" install + + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname +} + +md5sums="d58a13cc4185bca6121a606ff456dec0 rp-pppoe-3.10.tar.gz +851f3a5a2fab28aa3b8999656b565e1c rp-pppoe.initd" diff --git a/testing/rp-pppoe/rp-pppoe.initd b/testing/rp-pppoe/rp-pppoe.initd new file mode 100644 index 0000000000..3e6ce3edba --- /dev/null +++ b/testing/rp-pppoe/rp-pppoe.initd @@ -0,0 +1,30 @@ +#!/sbin/runscript + +depend() { + need net +} + +start() { + ebegin "Starting PPPOE Server" + test -x /usr/sbin/pppoe-server -a -f /etc/ppp/pppoe-server-options || exit 0 + start-stop-daemon --start --exec /usr/sbin/pppoe-server -- ${PPPOE_PARAMS} + echo 1 > /proc/sys/net/ipv4/ip_forward + eend $? +} + +stop () { + ebegin "Stopping PPPOE Server" + start-stop-daemon --stop --exec /usr/sbin/pppoe-server + echo 0 > /proc/sys/net/ipv4/ip_forward + eend $? +} + +restart () { + ebegin "Restarting PPPOE Server" + start-stop-daemon --stop --exec /usr/sbin/pppoe-server + sleep 1 + start-stop-daemon --start --exec /usr/sbin/pppoe-server -- ${PPPOE_PARAMS} + echo 1 > /proc/sys/net/ipv4/ip_forward + echo "." +} + diff --git a/testing/rrdbot/APKBUILD b/testing/rrdbot/APKBUILD new file mode 100644 index 0000000000..426c51e230 --- /dev/null +++ b/testing/rrdbot/APKBUILD @@ -0,0 +1,47 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=rrdbot +pkgver=0.9.6 +pkgrel=1 +pkgdesc="an SNMP polling daemon which writes the polled values to an RRD database" +url="http://memberwebs.com/stef/software/rrdbot/" +arch="all" +license="BSD" +depends= +makedepends=rrdtool-dev +install="$pkgname.pre-install $pkgname.post-install" +subpackages="$pkgname-doc" +source="http://memberwebs.com/stef/software/rrdbot/rrdbot-$pkgver.tar.gz + rrdbotd.initd + rrdbotd.confd + " + +# append extra dependencies to -dev subpackage +# remove if not used. +# depends_dev="somepackage-dev" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + # apply patches here +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install + install -m755 -D "$srcdir"/rrdbotd.initd "$pkgdir"/etc/init.d/rrdbotd + install -m644 -D "$srcdir"/rrdbotd.confd "$pkgdir"/etc/conf.d/rrdbotd +} + +md5sums="8329c8f58136158b25c3179e825c66e6 rrdbot-0.9.6.tar.gz +e74785806860537d38a5863fc90b324f rrdbotd.initd +cbcac88f5b728b1441891947a4babbcb rrdbotd.confd" diff --git a/testing/rrdbot/rrdbot.post-install b/testing/rrdbot/rrdbot.post-install new file mode 100644 index 0000000000..0586fcd5c5 --- /dev/null +++ b/testing/rrdbot/rrdbot.post-install @@ -0,0 +1,4 @@ +#!/bin/sh + +# add something which happends after install + diff --git a/testing/rrdbot/rrdbot.pre-install b/testing/rrdbot/rrdbot.pre-install new file mode 100644 index 0000000000..2c35d02d17 --- /dev/null +++ b/testing/rrdbot/rrdbot.pre-install @@ -0,0 +1,7 @@ +#!/bin/sh + +# this user should be included in alpine-baselayout-1.2. +# included here for backward compability. +adduser -H -s /bin/false -D rrdbotd 2>/dev/null + +exit 0 diff --git a/testing/rrdbot/rrdbotd.confd b/testing/rrdbot/rrdbotd.confd new file mode 100644 index 0000000000..486252b03c --- /dev/null +++ b/testing/rrdbot/rrdbotd.confd @@ -0,0 +1,7 @@ +# Sample conf.d file for alpine linux + +# +# Specify daemon options here. +# + +sample_opts="" diff --git a/testing/rrdbot/rrdbotd.initd b/testing/rrdbot/rrdbotd.initd new file mode 100644 index 0000000000..d0fcdc4a6d --- /dev/null +++ b/testing/rrdbot/rrdbotd.initd @@ -0,0 +1,28 @@ +#!/sbin/runscript + +name=rrdbotd +daemon=/usr/sbin/$name +pidfile=${rrdbotd_pidfile:-/var/run/rrdbotd/rrdbotd.pid} + +depend() { + need net + after firewall +} + +start() { + ebegin "Starting ${name}" + start-stop-daemon --start --quiet \ + --pidfile "$pidfile" \ + --chuid ${rrdbotd_user:-rrdbotd}:${rrdbotd_group:-rrdbotd} \ + --exec ${daemon} -- ${rrdbotd_opts} -p "$pidfile" + eend $? +} + +stop() { + ebegin "Stopping ${name}" + start-stop-daemon --stop --quiet \ + --pidfile "$pidfile" \ + --exec ${daemon} + eend $? +} + diff --git a/testing/rrdcollect/APKBUILD b/testing/rrdcollect/APKBUILD new file mode 100644 index 0000000000..36e55972bd --- /dev/null +++ b/testing/rrdcollect/APKBUILD @@ -0,0 +1,32 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=rrdcollect +pkgver=0.2.4 +pkgrel=1 +pkgdesc="Read system statistical data and feed it to RRDtool" +url="http://rrdcollect.sourceforge.net/" +arch="all" +license="GPL" +depends="rrdtool" +makedepends="libpcap-dev" +install= +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + +} + +md5sums="fd7ac95195e3e5cbab0677629505d9be rrdcollect-0.2.4.tar.gz" diff --git a/testing/rsyslog/APKBUILD b/testing/rsyslog/APKBUILD new file mode 100644 index 0000000000..9b8f91a286 --- /dev/null +++ b/testing/rsyslog/APKBUILD @@ -0,0 +1,85 @@ +# Contributor: cbanta@gmail.com +# Maintainer: cbanta@gmail.com +pkgname=rsyslog +pkgver=5.8.0 +pkgrel=0 +pkgdesc="Enhanced multi-threaded syslogd with database support and more." +url="http://www.rsyslog.com/" +arch="all" +license="GPLv3 LGPL-3" +makedepends="zlib-dev gnutls-dev mysql-dev postgresql-dev net-snmp-dev libnet-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-mysql $pkgname-pgsql $pkgname-tls $pkgname-snmp" +source="http://www.rsyslog.com/files/download/$pkgname/$pkgname-$pkgver.tar.gz + $pkgname.initd + $pkgname.confd + $pkgname.logrotate + $pkgname.conf" + + +_builddir="$srcdir"/$pkgname-$pkgver + +build() { + cd "$_builddir" + ./configure \ + --disable-gui \ + --disable-rfc3195 \ + --enable-largefile \ + --enable-imdiag \ + --enable-imfile \ + --enable-imtemplate \ + --enable-mail \ + --enable-omprog \ + --enable-omstdout \ + --enable-omtemplate \ + --enable-omudpspoof \ + --enable-zlib \ + --enable-mysql \ + --enable-pgsql \ + --enable-gnutls \ + --enable-snmp \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install + + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname + install -m644 -D "$srcdir"/$pkgname.logrotate "$pkgdir"/etc/logrotate.d/$pkgname + install -m644 -D "$srcdir"/$pkgname.conf "$pkgdir"/etc/$pkgname.conf +} + +mysql() { + pkgdesc="rsyslog mysql support" + mkdir -p "$subpkgdir"/usr/lib/rsyslog/ + mv "$pkgdir"/usr/lib/rsyslog/ommysql.so "$subpkgdir"/usr/lib/rsyslog/ +} + +pgsql() { + pkgdesc="rsyslog pgsql support" + mkdir -p "$subpkgdir"/usr/lib/rsyslog/ + mv "$pkgdir"/usr/lib/rsyslog/ompgsql.so "$subpkgdir"/usr/lib/rsyslog/ +} + +tls() { + pkgdesc="rsyslog tls support" + mkdir -p "$subpkgdir"/usr/lib/rsyslog/ + mv "$pkgdir"/usr/lib/rsyslog/lmnsd_gtls.so "$subpkgdir"/usr/lib/rsyslog/ +} + +snmp() { + pkgdesc="rsyslog snmp support" + mkdir -p "$subpkgdir"/usr/lib/rsyslog/ + mv "$pkgdir"/usr/lib/rsyslog/omsnmp.so "$subpkgdir"/usr/lib/rsyslog/ +} + +md5sums="37562d0e71a24938a9ed7f242bd32d35 rsyslog-5.8.0.tar.gz +06f6e1ef8a05d3b6b49c06b0b99d3064 rsyslog.initd +0a0aef98f677364e6178c34274df7723 rsyslog.confd +bc43debc9ffdf66bc1409025fd3d1176 rsyslog.logrotate +65fbf5a7a81a53a70974e3085e96cb41 rsyslog.conf" diff --git a/testing/rsyslog/rsyslog.conf b/testing/rsyslog/rsyslog.conf new file mode 100644 index 0000000000..19187467b3 --- /dev/null +++ b/testing/rsyslog/rsyslog.conf @@ -0,0 +1,87 @@ +# rsyslog v5: load input modules +# If you do not load inputs, nothing happens! +# You may need to set the module load path if modules are not found. + +$ModLoad immark.so # provides --MARK-- message capability +$ModLoad imuxsock.so # provides support for local system logging (e.g. via logger command) +$ModLoad imklog.so # kernel logging (formerly provided by rklogd) + +# Include configuration files from directory +$IncludeConfig /etc/rsyslog.d/* + +# Check config syntax on startup and abort if unclean (default off) +#$AbortOnUncleanConfig on + +# Reduce repeating messages (default off) +#$RepeatedMsgReduction on + +# Log all kernel messages to the console. +# Logging much else clutters up the screen. +#kern.* /dev/console + +# Log anything (except mail) of level info or higher. +# Don't log private authentication messages! +*.info;mail.none;authpriv.none;cron.none -/var/log/messages + +# The authpriv file has restricted access. +authpriv.* /var/log/secure + +# Log all the mail messages in one place. +mail.* -/var/log/maillog + +# Log cron stuff +cron.* -/var/log/cron + +# Everybody gets emergency messages +*.emerg * + +# Save news errors of level crit and higher in a special file. +uucp,news.crit -/var/log/spooler + +# Save boot messages also to boot.log +local7.* /var/log/boot.log + +# More configuration examples: +# +# Remote Logging (we use TCP for reliable delivery) +# An on-disk queue is created for this action. If the remote host is +# down, messages are spooled to disk and sent when it is up again. +#$WorkDirectory /var/spool/rsyslog # where to place spool files +#$ActionQueueFileName uniqName # unique name prefix for spool files +#$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible) +#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown +#$ActionQueueType LinkedList # run asynchronously +#$ActionResumeRetryCount -1 # infinety retries if host is down +#$ActionResumeInterval 30 # retry interval +# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional +#*.* @@remote-host + +# Remote Logging with TCP + SSL/TLS +#$DefaultNetstreamDriver gtls +#$DefaultNetstreamDriverCAFile /etc/ssl/rsyslog/rsyslog_ca.cert.pem +#$DefaultNetstreamDriverCertFile /etc/ssl/rsyslog/rsyslog_CLIENT.cert.pem +#$DefaultNetstreamDriverKeyFile /etc/ssl/rsyslog/rsyslog_CLIENT.key.pem +#$ActionSendStreamDriverAuthMode x509/name # enable peer authentication +#$ActionSendStreamDriverPermittedPeer foo # authorize to send encrypted data to server foo +#$ActionSendStreamDriverMode 1 # run driver in TLS-only mode + +# ######### Receiving Messages from Remote Hosts ########## +# TCP Syslog Server: +#$ModLoad imtcp # provides TCP syslog reception +#$TCPServerRun 10514 # start a TCP syslog server at port 10514 + +# TCP + SSL/TLS Syslog Server: +#$ModLoad imtcp # provides TCP syslog reception +#$DefaultNetstreamDriver gtls # use gnuTLS for data encryption +#$DefaultNetstreamDriverCAFile /etc/ssl/rsyslog/rsyslog_ca.cert.pem +#$DefaultNetstreamDriverCertFile /etc/ssl/rsyslog/rsyslog_SERVER.cert.pem +#$DefaultNetstreamDriverKeyFile /etc/ssl/rsyslog/rsyslog_SERVER.key.pem +#$InputTCPServerStreamDriverMode 1 # run driver in TLS-only mode +#$InputTCPServerStreamDriverAuthMode x509/name # enable peer authentication +#$InputTCPServerStreamDriverPermittedPeer bar # authorize client named bar (one line per client) +#$TCPServerRun 10514 # start a TCP syslog server at port 10514 + +# UDP Syslog Server: +#$ModLoad imudp.so # provides UDP syslog reception +#$UDPServerRun 514 # start a UDP syslog server at standard port 514 + diff --git a/testing/rsyslog/rsyslog.confd b/testing/rsyslog/rsyslog.confd new file mode 100644 index 0000000000..85e90edc07 --- /dev/null +++ b/testing/rsyslog/rsyslog.confd @@ -0,0 +1,17 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-admin/rsyslog/files/5-stable/rsyslog.confd,v 1.1 2010/10/21 07:38:29 dev-zero Exp $ + +# Configuration file +CONFIGFILE="/etc/rsyslog.conf" + +# PID file +PIDFILE="/var/run/rsyslogd.pid" + +# Options to rsyslogd +# See rsyslogd(8) for more details +# Notes: +# * Do not specify another PIDFILE but use the variable above to change the location +# * Do not specify another CONFIGFILE but use the variable above to change the location +# * "-c5" tells rsyslog to _not_ run in sysklogd compatibility mode +RSYSLOG_OPTS="-c5" diff --git a/testing/rsyslog/rsyslog.initd b/testing/rsyslog/rsyslog.initd new file mode 100644 index 0000000000..68ff86c06e --- /dev/null +++ b/testing/rsyslog/rsyslog.initd @@ -0,0 +1,38 @@ +#!/sbin/runscript +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-admin/rsyslog/files/5-stable/rsyslog.initd,v 1.1 2010/10/21 07:38:29 dev-zero Exp $ + +opts="reload" + +depend() { + provide logger +} + +start() { + ebegin "Starting rsyslogd" + start-stop-daemon \ + --start --quiet --exec /usr/sbin/rsyslogd \ + -- ${RSYSLOG_OPTS} -i "${PIDFILE}" -f "${CONFIGFILE}" + eend $? +} + +stop() { + ebegin "Stopping rsyslogd" + start-stop-daemon \ + --stop --quiet \ + --pidfile "${PIDFILE}" + eend $? +} + +reload() { + if [ ! -f "${PIDFILE}" ]; then + eerror "rsyslogd not running" + return 1 + fi + + ebegin "Re-opening rsyslogd log files" + start-stop-daemon --stop --oknodo --signal HUP \ + --pidfile "${PIDFILE}" + eend $? +} diff --git a/testing/rsyslog/rsyslog.logrotate b/testing/rsyslog/rsyslog.logrotate new file mode 100644 index 0000000000..86095def1c --- /dev/null +++ b/testing/rsyslog/rsyslog.logrotate @@ -0,0 +1,9 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-admin/rsyslog/files/5-stable/rsyslog.logrotate,v 1.1 2010/10/21 07:38:29 dev-zero Exp $ +/var/log/messages /var/log/secure /var/log/maillog /var/log/cron /var/log/spooler /var/log/boot.log { + sharedscripts + postrotate + /etc/init.d/rsyslog reload &>/dev/null || true + endscript +} diff --git a/testing/rtapd/APKBUILD b/testing/rtapd/APKBUILD new file mode 100644 index 0000000000..e19afbe642 --- /dev/null +++ b/testing/rtapd/APKBUILD @@ -0,0 +1,42 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=rtapd +_altpkgname="rtnppd" +_builddir="$pkgname" +pkgver=1.7 +pkgrel=1 +pkgdesc="daemon for routing packets to rtnppd" +url="http://sourceforge.net/projects/rtnppd/" +arch="all" +license="GPL" +depends="" +makedepends="postgresql-dev" +install= +subpackages="" +source="http://downloads.sourceforge.net/$_altpkgname/$pkgname-$pkgver.tar.gz + Makefile.patch + $pkgname.initd + $pkgname.confd" + +build() { + cd "$srcdir"/"$_builddir" + echo "Applying Patch" + patch -p1 < ../Makefile.patch || return 1 + make || return 1 +} +package() { + cd "$srcdir"/"$_builddir" + #make DESTDIR="$pkgdir" install + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname + install -m755 -D ./rtapd "$pkgdir"/usr/sbin/rtapd + install -m755 -D ./vsnppd "$pkgdir"/usr/sbin/vsnppd + install -m644 -D ./rtapd.conf "$pkgdir"/etc/rtnppd/rtapd.conf + install -m644 -D ./tap_dev.conf "$pkgdir"/etc/rtnppd/tap_dev.conf + install -m644 -D ./tap_route.conf "$pkgdir"/etc/rtnppd/tag_route.conf +} + +md5sums="f3354efde507d29813754c8f4af7fa02 rtapd-1.7.tar.gz +7ea62a8bb13e2069164d8639b8c02aad Makefile.patch +bd5aa6b7477064be5966962b90be55b5 rtapd.initd +4378fc49b27dcc6ab7f2316ea2453338 rtapd.confd" diff --git a/testing/rtapd/Makefile.patch b/testing/rtapd/Makefile.patch new file mode 100644 index 0000000000..197cce501d --- /dev/null +++ b/testing/rtapd/Makefile.patch @@ -0,0 +1,13 @@ +--- rtapd.orig/Makefile Tue Mar 30 15:10:02 2010 ++++ rtapd/Makefile Tue Mar 30 15:10:11 2010 +@@ -23,8 +23,8 @@ + + # Use PostgreSQL-server (with includes in /usr/include/pgsql + # and libs in /usr/lib +-#CFLAGS = -DUSE_POSTGRESQL -I/usr/include/pgsql +-#LIBS = -lpq ++CFLAGS = -DUSE_POSTGRESQL -I/usr/include/pgsql ++LIBS = -lpq + + PREFIX = /usr/local + INCLUDES = -I./ diff --git a/testing/rtapd/rtapd.confd b/testing/rtapd/rtapd.confd new file mode 100644 index 0000000000..4c0047b10d --- /dev/null +++ b/testing/rtapd/rtapd.confd @@ -0,0 +1 @@ +#RTAPD_OPTS="" diff --git a/testing/rtapd/rtapd.initd b/testing/rtapd/rtapd.initd new file mode 100644 index 0000000000..01fce242a6 --- /dev/null +++ b/testing/rtapd/rtapd.initd @@ -0,0 +1,20 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +DAEMON=/usr/sbin/rtapd +USER=rtnppd + +start() { + ebegin "Starting $(basename $DAEMON)" + start-stop-daemon --start --user ${USER} --exec ${DAEMON} \ + -- -C /etc/rtnppd/rtapd.conf ${RTAPD_OPTS} + eend $? +} + +stop() { + ebegin "Stopping $(basename $DAEMON)" + start-stop-daemon --stop --exec ${DAEMON} + eend $? +} diff --git a/testing/rtnppd/APKBUILD b/testing/rtnppd/APKBUILD new file mode 100644 index 0000000000..bd0f9cb1e9 --- /dev/null +++ b/testing/rtnppd/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=rtnppd +_builddir="$pkgname" +pkgver=1.7b +pkgrel=1 +pkgdesc="A program route TNPP 3.8 (Telocator Network Paging Protocol) packets between serial and other links" +url="http://sourceforge.net/projects/rtnppd/" +arch="all" +license="GPL" +depends="" +makedepends="postgresql-dev" +install= +subpackages="" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz + Makefile.patch + $pkgname.initd + $pkgname.confd" + +build() { + cd "$srcdir"/"$_builddir" + patch -p1 < ../Makefile.patch || return 1 + make || return 1 +} +package() { + cd "$srcdir"/"$_builddir" + #make DESTDIR="$pkgdir" install + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname + install -m755 -D ./rtnppd "$pkgdir"/usr/sbin/rtnppd + install -m755 -D ./tnpppage "$pkgdir"/usr/sbin/tnpppage + install -m755 -D ./testq "$pkgdir"/usr/sbin/testq + install -m644 -D ./rtnppd.conf "$pkgdir"/etc/rtnppd/rtnppd.conf + install -m644 -D ./tnpp_dev.conf "$pkgdir"/etc/rtnppd/tnpp_dev.conf + install -m644 -D ./tnpp_trans.conf "$pkgdir"/etc/rtnppd/tnpp_trans.conf +} + +md5sums="3f484a7307b1c237652135fcc26ee798 rtnppd-1.7b.tar.gz +17ec69098e967021face024251da20fc Makefile.patch +9bb8ca4d1f073d0b3663d368ff322ecf rtnppd.initd +58b8113f483bd824e9ef82fbfdf743d8 rtnppd.confd" diff --git a/testing/rtnppd/Makefile.patch b/testing/rtnppd/Makefile.patch new file mode 100644 index 0000000000..1d7e257248 --- /dev/null +++ b/testing/rtnppd/Makefile.patch @@ -0,0 +1,13 @@ +--- rtnppd.orig/Makefile Tue Mar 30 14:46:20 2010 ++++ rtnppd/Makefile Tue Mar 30 14:46:30 2010 +@@ -23,8 +23,8 @@ + + # Use PostgreSQL-server (with includes in /usr/include/pgsql + # and libs in /usr/lib +-#CFLAGS = -DUSE_POSTGRESQL -I/usr/include/pgsql +-#LIBS = -lpq ++CFLAGS = -DUSE_POSTGRESQL -I/usr/include/pgsql ++LIBS = -lpq + + PREFIX = /usr/local + INCLUDES = -I./ diff --git a/testing/rtnppd/rtnppd.confd b/testing/rtnppd/rtnppd.confd new file mode 100644 index 0000000000..c262225555 --- /dev/null +++ b/testing/rtnppd/rtnppd.confd @@ -0,0 +1 @@ +#RTNPPD_OPTS="" diff --git a/testing/rtnppd/rtnppd.initd b/testing/rtnppd/rtnppd.initd new file mode 100644 index 0000000000..6fcd6c2b4f --- /dev/null +++ b/testing/rtnppd/rtnppd.initd @@ -0,0 +1,21 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +DAEMON=/usr/sbin/rtnppd +USER=rtnppd + +start() { + ebegin "Starting $(basename $DAEMON)" + start-stop-daemon --start --user ${USER} --exec ${DAEMON} \ + -- ${RTNPPD_OPTS} + eend $? +} + +stop() { + ebegin "Stopping $(basename $DAEMON)" + start-stop-daemon --stop --exec ${DAEMON} + eend $? +} + diff --git a/testing/ruby-daemon-controller/APKBUILD b/testing/ruby-daemon-controller/APKBUILD new file mode 100644 index 0000000000..9b1f8d6b76 --- /dev/null +++ b/testing/ruby-daemon-controller/APKBUILD @@ -0,0 +1,30 @@ +# Contributor: Matt Smith <mcs@darkregion.net> +# Maintainer: Matt Smith <mcs@darkregion.net> +pkgname=ruby-daemon-controller +_realname=daemon_controller +pkgver=0.2.6 +pkgrel=0 +pkgdesc="A library for robust daemon management." +url="http://rubygems.org/gems/daemon_controller" +arch="noarch" +license="MIT" +depends="ruby" +depends_dev= +makedepends="$depends_dev ruby-dev ruby rubygems" +install="" +subpackages="" +source="" + +_builddir="$srcdir"/$_realname-$pkgver +build() { + mkdir -p "$_builddir" || return 1 + local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')" + gem install $_realname -v $pkgver -i "$_builddir"$_gemdir \ + --ignore-dependencies || return 1 + rm -rf "$_builddir"$_gemdir/cache/ +} + +package() { + mkdir -p "$pkgdir" || return 1 + cp -ra "$_builddir"/* "$pkgdir"/ || return 1 +} diff --git a/testing/ruby-fastthread/APKBUILD b/testing/ruby-fastthread/APKBUILD new file mode 100644 index 0000000000..1b1c2caed5 --- /dev/null +++ b/testing/ruby-fastthread/APKBUILD @@ -0,0 +1,30 @@ +# Contributor: Matt Smith <mcs@darkregion.net> +# Maintainer: Matt Smith <mcs@darkregion.net> +pkgname=ruby-fastthread +_realname=fastthread +pkgver=1.0.7 +pkgrel=0 +pkgdesc="Optimized replacement for thread.rb primitives" +url="http://rubygems.org/gems/fastthread" +arch="all" +license="GPL" +depends="ruby" +depends_dev= +makedepends="$depends_dev ruby-dev ruby rubygems" +install="" +subpackages="" +source="" + +_builddir="$srcdir"/$_realname-$pkgver +build() { + mkdir -p "$_builddir" || return 1 + local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')" + gem install $_realname -v $pkgver -i "$_builddir"$_gemdir \ + --ignore-dependencies || return 1 + rm -rf "$_builddir"$_gemdir/cache/ +} + +package() { + mkdir -p "$pkgdir" || return 1 + cp -ra "$_builddir"/* "$pkgdir"/ || return 1 +} diff --git a/testing/ruby-file-tail/APKBUILD b/testing/ruby-file-tail/APKBUILD new file mode 100644 index 0000000000..300be82751 --- /dev/null +++ b/testing/ruby-file-tail/APKBUILD @@ -0,0 +1,30 @@ +# Contributor: Matt Smith <mcs@darkregion.net> +# Maintainer: Matt Smith <mcs@darkregion.net> +pkgname=ruby-file-tail +_realname=file-tail +pkgver=1.0.5 +pkgrel=0 +pkgdesc="Small library that allows Ruby to tail files." +url="http://flori.github.com/file-tail/" +arch="noarch" +license="GPL" +depends="ruby" +depends_dev= +makedepends="$depends_dev ruby-dev ruby rubygems" +install="" +subpackages="" +source="" + +_builddir="$srcdir"/$_realname-$pkgver +build() { + mkdir -p "$_builddir" || return 1 + local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')" + gem install $_realname -v $pkgver -i "$_builddir"$_gemdir \ + --ignore-dependencies || return 1 + rm -rf "$_builddir"$_gemdir/cache/ +} + +package() { + mkdir -p "$pkgdir" || return 1 + cp -ra "$_builddir"/* "$pkgdir"/ || return 1 +} diff --git a/testing/ruby-spruz/APKBUILD b/testing/ruby-spruz/APKBUILD new file mode 100644 index 0000000000..4329cb690b --- /dev/null +++ b/testing/ruby-spruz/APKBUILD @@ -0,0 +1,30 @@ +# Contributor: Matt Smith <mcs@darkregion.net> +# Maintainer: Matt Smith <mcs@darkregion.net> +pkgname=ruby-spruz +_realname=spruz +pkgver=0.2.5 +pkgrel=0 +pkgdesc="All the stuff that isn't good/big enough for a real library." +url="http://rubygems.org/gems/spruz" +arch="noarch" +license="MIT" +depends="ruby" +depends_dev= +makedepends="$depends_dev ruby-dev ruby rubygems" +install="" +subpackages="" +source="" + +_builddir="$srcdir"/$_realname-$pkgver +build() { + mkdir -p "$_builddir" || return 1 + local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')" + gem install $_realname -v $pkgver -i "$_builddir"$_gemdir \ + --ignore-dependencies || return 1 + rm -rf "$_builddir"$_gemdir/cache/ +} + +package() { + mkdir -p "$pkgdir" || return 1 + cp -ra "$_builddir"/* "$pkgdir"/ || return 1 +} diff --git a/testing/rxvt-unicode/APKBUILD b/testing/rxvt-unicode/APKBUILD new file mode 100644 index 0000000000..f4a03602cf --- /dev/null +++ b/testing/rxvt-unicode/APKBUILD @@ -0,0 +1,42 @@ +# Contributor: Moritz Wilhelmy +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=rxvt-unicode +pkgver=9.11 +pkgrel=0 +pkgdesc='rxvt fork with improved unicode support' +arch=all +url='http://software.schmorp.de/pkg/rxvt-unicode.html' +license='GPL' +depends= +makedepends="libx11-dev" +source="http://dist.schmorp.de/rxvt-unicode/$pkgname-$pkgver.tar.bz2" + +build() { + cd "$srcdir/$pkgname-$pkgver" + ./configure --prefix=/usr \ + --with-terminfo=/usr/share/terminfo \ + --enable-256-color \ + --enable-font-styles \ + --enable-xim \ + --enable-keepscrolling \ + --enable-selectionscrolling \ + --enable-smart-resize \ + --enable-pixbuf \ + --disable-transparency \ + --disable-utmp \ + --disable-wtmp \ + --disable-lastlog \ + --disable-frills \ + --disable-perl \ + || return 1 + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + install -d "$pkgdir/usr/share/terminfo" + export TERMINFO="$pkgdir/usr/share/terminfo" + make DESTDIR="$pkgdir" install +} + +md5sums="1bed5bfeed026e0bfafa0e9e4f62aa37 rxvt-unicode-9.11.tar.bz2" diff --git a/testing/scanssh/APKBUILD b/testing/scanssh/APKBUILD new file mode 100644 index 0000000000..4b91dfb426 --- /dev/null +++ b/testing/scanssh/APKBUILD @@ -0,0 +1,33 @@ +# Contributor: Fabian Affolter <fabian@affolter-engineering.ch> +# Maintainer: +pkgname=scanssh +pkgver=2.1 +pkgrel=0 +pkgdesc="Fast SSH server and open proxy scanner" +url="http://monkey.org/~provos/scanssh/" +arch="all" +license="BSD" +depends="" +depends_dev="" +makedepends="libpcap-dev libevent-dev libdnet-dev" +install="" +subpackages="$pkgname-doc" +source="http://monkey.org/~provos/$pkgname-$pkgver.tar.gz" + +_builddir="$srcdir"/$pkgname-$pkgver + +build() { + cd "$_builddir" + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="9fab4253b56b2d15367d4872b370cdcb scanssh-2.1.tar.gz" diff --git a/testing/scons/APKBUILD b/testing/scons/APKBUILD new file mode 100644 index 0000000000..ef188177bb --- /dev/null +++ b/testing/scons/APKBUILD @@ -0,0 +1,22 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=scons +pkgver=2.0.1 +pkgrel=1 +pkgdesc="scons software construction system" +url="http://www.scons.org/" +license="MIT" +depends="python" +makedepends="python-dev" +install= +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz" +arch="noarch" + +_builddir="$srcdir"/$pkgname-$pkgver + +package() { + cd "$_builddir" + python setup.py install --root="$pkgdir" +} + +md5sums="beca648b894cdbf85383fffc79516d18 scons-2.0.1.tar.gz" diff --git a/testing/setserial/APKBUILD b/testing/setserial/APKBUILD new file mode 100644 index 0000000000..3af101e884 --- /dev/null +++ b/testing/setserial/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: Carlo Landmeter <clandmeter@gmail.com> +pkgname=setserial +pkgver=2.17 +pkgrel=0 +pkgdesc="Serial driver config tool" +url="http://sourceforge.net/projects/setserial/" +license="GPL" +depends= +makedepends="groff" +install= +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz + setserial.patch + " +arch="all" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + patch -p1 -i "$srcdir"/setserial.patch +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + mkdir -p "$pkgdir"/usr/bin "$pkgdir"/usr/share/man/man8 + make DESTDIR="$pkgdir" install +} + +md5sums="c4867d72c41564318e0107745eb7a0f2 setserial-2.17.tar.gz +99919d3be7c1550721494070a7ace66a setserial.patch" diff --git a/testing/setserial/setserial.patch b/testing/setserial/setserial.patch new file mode 100644 index 0000000000..3cce1f07d3 --- /dev/null +++ b/testing/setserial/setserial.patch @@ -0,0 +1,28 @@ +diff -ur setserial-2.17/Makefile.in setserial-2.17-new/Makefile.in +--- setserial-2.17/Makefile.in 2000-01-27 16:39:07.000000000 +0100 ++++ setserial-2.17-new/Makefile.in 2005-03-09 20:53:31.000000000 +0100 +@@ -17,6 +17,11 @@ + INCS = -I. + TAR = tar + ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++bindir=@bindir@ ++mandir=@mandir@ ++ + all: setserial setserial.cat + + setserial: setserial.c +@@ -26,9 +31,9 @@ + nroff -man setserial.8 > setserial.cat + + install: setserial setserial.8 +- $(INSTALL_PROGRAM) setserial $(DESTDIR)/bin +- $(STRIP) $(DESTDIR)/bin/setserial +- $(INSTALL_DATA) setserial.8 $(DESTDIR)/usr/man/man8 ++ $(INSTALL_PROGRAM) setserial $(DESTDIR)$(bindir) ++ $(STRIP) $(DESTDIR)$(bindir)/setserial ++ $(INSTALL_DATA) setserial.8 $(DESTDIR)$(mandir)/man8 + + clean: + $(RM) setserial setserial.o setserial.cat *~ diff --git a/testing/shadow/APKBUILD b/testing/shadow/APKBUILD new file mode 100644 index 0000000000..624d607028 --- /dev/null +++ b/testing/shadow/APKBUILD @@ -0,0 +1,58 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=shadow +pkgver=4.1.4.3 +pkgrel=4 +pkgdesc="PAM-using login and passwd utilities" +url="http://pkg-shadow.alioth.debian.org/" +arch="all" +license="GPL" +depends= +depends_dev="linux-pam-dev" +makedepends="$depends_dev" +install="$pkgname.post-upgrade $pkgname.post-deinstall" +subpackages="$pkgname-doc" +source="http://pkg-shadow.alioth.debian.org/releases/shadow-$pkgver.tar.bz2 + login.pamd" + +_builddir="$srcdir"/shadow-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --without-nscd \ + --disable-nls \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + + # do not install these pam.d files they are broken and outdated + rm "$pkgdir"/etc/pam.d/* + + # however, install our own for login + cp "$srcdir"/login.pamd "$pkgdir"/etc/pam.d/login + + # /etc/login.defs is not very useful - replace it with a blank file + rm "$pkgdir"/etc/login.defs + touch "$pkgdir"/etc/login.defs +} + +md5sums="b8608d8294ac88974f27b20f991c0e79 shadow-4.1.4.3.tar.bz2 +72dfc077a61ab7163e312640cc98bba8 login.pamd" diff --git a/testing/shadow/login.pamd b/testing/shadow/login.pamd new file mode 100644 index 0000000000..ad45558094 --- /dev/null +++ b/testing/shadow/login.pamd @@ -0,0 +1,6 @@ +# /bin/login opens an interactive session. + +auth include base-auth +account include base-account +password include base-password +session include base-session diff --git a/testing/shadow/shadow.post-deinstall b/testing/shadow/shadow.post-deinstall new file mode 100644 index 0000000000..dd117e5d80 --- /dev/null +++ b/testing/shadow/shadow.post-deinstall @@ -0,0 +1,4 @@ +#!/bin/sh + +busybox --install -s + diff --git a/testing/shadow/shadow.post-upgrade b/testing/shadow/shadow.post-upgrade new file mode 100644 index 0000000000..dd117e5d80 --- /dev/null +++ b/testing/shadow/shadow.post-upgrade @@ -0,0 +1,4 @@ +#!/bin/sh + +busybox --install -s + diff --git a/testing/shared-desktop-ontologies/APKBUILD b/testing/shared-desktop-ontologies/APKBUILD new file mode 100644 index 0000000000..f92bf231d5 --- /dev/null +++ b/testing/shared-desktop-ontologies/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=shared-desktop-ontologies +pkgver=0.6.0 +pkgrel=0 +pkgdesc="shared desktop ontologies library" +url="http://oscaf.sourceforge.net/" +arch="noarch" +license="BSD" +depends= +depends_dev="cmake" +makedepends="$depends_dev" +install="" +subpackages= +source="http://downloads.sourceforge.net/project/oscaf/shared-desktop-ontologies/0.6/shared-desktop-ontologies-$pkgver.tar.bz2" + +_builddir="$srcdir"/shared-desktop-ontologies-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="2651122ac27de95e91973ed6b88ccf94 shared-desktop-ontologies-0.6.0.tar.bz2" diff --git a/testing/sipsak/APKBUILD b/testing/sipsak/APKBUILD new file mode 100644 index 0000000000..96762b8999 --- /dev/null +++ b/testing/sipsak/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: +# Maintainer: Leonardo Arena <rnalrd@gmail.com> +pkgname=sipsak +pkgver=0.9.6 +pkgrel=0 +pkgdesc="SIP swiss army knife" +url="http://sipsak.org/" +arch="all" +license="GPL" +depends= +makedepends= +install= +subpackages="$pkgname-doc" +source="http://download.berlios.de/$pkgname/$pkgname-$pkgver-1.tar.gz" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + # apply patches here + return 0 +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install +} + +md5sums="c4eb8e282902e75f4f040f09ea9d99d5 sipsak-0.9.6-1.tar.gz" diff --git a/testing/sisctrl/APKBUILD b/testing/sisctrl/APKBUILD new file mode 100644 index 0000000000..584e35926b --- /dev/null +++ b/testing/sisctrl/APKBUILD @@ -0,0 +1,43 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=sisctrl +pkgver=0.0.20051202 +pkgrel=3 +pkgdesc="SiSCtrl is Display Control Panel for XFree86/X.org SiS driver" +url="http://www.winischhofer.net/linuxsisvga.shtml" +arch="all" +license="GPL" +depends= +makedepends="pkgconfig gtk+-dev libxxf86vm-dev libxrandr-dev libxinerama-dev + libxv-dev" +subpackages="$pkgname-doc" +source="http://www.winischhofer.net/sis/$pkgname-$pkgver.tar.gz" + +_builddir="$srcdir"/$pkgname-$pkgver +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --mandir=/usr/share/man \ + --with-xv-path=/usr/lib \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make -j1 DESTDIR="$pkgdir" install + + mkdir -p "$pkgdir"/usr/share/man/man1 \ + "$pkgdir"/usr/share/pixmaps \ + "$pkgdir"/usr/share/applications + + install -m 644 sisctrl.1x "$pkgdir"/usr/share/man/man1/sisctrl.1 + install -m 644 icons/32x32/sisctrl.xpm "$pkgdir"/usr/share/pixmaps + install -m 644 icons/16x16/sisctrl.png \ + "$pkgdir"/usr/share/pixmaps/sisctrl_16x16.png + install -m 644 icons/32x32/sisctrl.png \ + "$pkgdir"/usr/share/pixmaps/sisctrl_32x32.png + install -m 644 icons/48x48/sisctrl.png \ + "$pkgdir"/usr/share/pixmaps/sisctrl_48x48.png + install -m 644 extra/sisctrl.desktop "$pkgdir"/usr/share/applications || return 1 +} +md5sums="d9db755fe9fd40809b5c30d1ab286d62 sisctrl-0.0.20051202.tar.gz" diff --git a/testing/smartmontools/APKBUILD b/testing/smartmontools/APKBUILD new file mode 100644 index 0000000000..42b13e1e48 --- /dev/null +++ b/testing/smartmontools/APKBUILD @@ -0,0 +1,32 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=smartmontools +pkgver=5.40 +pkgrel=0 +pkgdesc="Control and monitor S.M.A.R.T. enabled ATA and SCSI Hard Drives." +url="http://smartmontools.sourceforge.net" +arch="all" +license="GPL" +depends= +makedepends= +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz + smartd.initd + smartd.confd + " + +build() { + cd "$srcdir"/$pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc + make || return 1 +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make DESTDIR="$pkgdir"/ install + rm -r "$pkgdir"/etc/rc.d + install -Dm755 ../smartd.initd "$pkgdir"/etc/init.d/smartd + install -Dm644 ../smartd.confd "$pkgdir"/etc/conf.d/smartd +} +md5sums="0f0be0239914ad87830a4fff594bda5b smartmontools-5.40.tar.gz +64e6fc908146b885aa3f88796edf72f3 smartd.initd +371cdb7cc9dc924b6d12224d66b193c6 smartd.confd" diff --git a/testing/smartmontools/smartd.confd b/testing/smartmontools/smartd.confd new file mode 100644 index 0000000000..4b7db4dfd8 --- /dev/null +++ b/testing/smartmontools/smartd.confd @@ -0,0 +1,4 @@ +# /etc/conf.d/smartd: config file for /etc/init.d/smartd + +# Insert any other options needed +SMARTD_OPTS="" diff --git a/testing/smartmontools/smartd.initd b/testing/smartmontools/smartd.initd new file mode 100644 index 0000000000..560e17d646 --- /dev/null +++ b/testing/smartmontools/smartd.initd @@ -0,0 +1,43 @@ +#!/sbin/runscript +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/smartmontools/files/smartd.rc,v 1.8 2009/10/11 00:43:58 vapier Exp $ + +depend() { + need localmount + after bootmisc +} + +opts="${opts} reload" + +checkconfig() { + if [ ! -f "/etc/smartd.conf" ] ; then + eerror "You should setup your /etc/smartd.conf file!" + eerror "See the smartd.conf(5) manpage." + return 1 + fi + return 0 +} + +start() { + checkconfig || return 1 + + ebegin "Starting S.M.A.R.T. monitoring daemon" + start-stop-daemon --start --exec /usr/sbin/smartd \ + --pidfile /var/run/smartd.pid \ + -- -p /var/run/smartd.pid ${SMARTD_OPTS} + eend $? +} + +stop() { + ebegin "Stopping S.M.A.R.T. monitoring daemon" + start-stop-daemon --stop --exec /usr/sbin/smartd \ + --pidfile /var/run/smartd.pid + eend $? +} + +reload() { + ebegin "Reloading configuration" + start-stop-daemon --oknodo --stop --signal HUP --pidfile /var/run/smartd.pid smartd + eend $? +} diff --git a/testing/snowstorm/APKBUILD b/testing/snowstorm/APKBUILD new file mode 100644 index 0000000000..dbfeaf4cf5 --- /dev/null +++ b/testing/snowstorm/APKBUILD @@ -0,0 +1,72 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=snowstorm +pkgver=2.5.2 +pkgrel=0 +pkgdesc="snowstorm viewer for secondlife (and compatible servers)" +url="http://wiki.secondlife.com/wiki/Project_Snowstorm" +arch="" +license="GPL" +depends= +depends_dev="mesa-dev sdl-dev openal-soft-dev apr-dev + apr-util-dev libvorbis-dev + libogg-dev freealut-dev db-dev boost-dev c-ares-dev + xmlrpc-epi-dev libpng-dev tut-dev openjpeg-dev gtk+-dev + qt-dev dbus-glib-dev gstreamer-dev gst-plugins-base-dev + jsoncpp-dev boost-coroutine pth-dev" +makedepends="$depends_dev cmake" +install="" +subpackages="" +source="http://67.202.104.180/~nenolod/secondlife-${pkgver}-sourcebundle.tar.gz + indra-no-breakpad.patch" + +_builddir="${srcdir}/build" +_srcdir="${srcdir}/viewer-release/indra" +prepare() { + local i + mkdir "$_builddir" + + cd "$_srcdir/.." + + msg "Copying indra to indra.orig for easy patching" + cp -R indra indra.orig + + cd "$_srcdir" + + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + msg "Preparing llqtwebkit" + cd "$_builddir/../llqtwebkit" + + qmake CONFIG-=debug + make + + msg "Building indra" + cd "$_builddir" + cmake -DCMAKE_INSTALL_PREFIX=/usr -DPACKAGE:BOOL=FALSE \ + -DLLQTWEBKIT_INCLUDE_DIR:STRING=${srcdir}/llqtwebkit \ + -DLLQTWEBKIT_LIBRARY:STRING=${srcdir}/llqtwebkit \ + -DCMAKE_BUILD_TYPE:STRING=RELWITHDEBINFO \ + -DOPENAL:BOOL=TRUE \ + -DFMOD:BOOL=FALSE \ + -DUNATTENDED:BOOL=TRUE \ + -DSTANDALONE:BOOL=TRUE \ + -DLL_TESTS:BOOL=FALSE \ + -DNDOF:BOOL=FALSE \ + -DVIEWER:BOOL=TRUE "$_srcdir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="e16f67d04813953e5eadc1beafc435dd secondlife-2.5.2-sourcebundle.tar.gz +c75027c0a6f7c52e0ae2b8008ca99f9e indra-no-breakpad.patch" diff --git a/testing/snowstorm/indra-no-breakpad.patch b/testing/snowstorm/indra-no-breakpad.patch new file mode 100644 index 0000000000..28670b1469 --- /dev/null +++ b/testing/snowstorm/indra-no-breakpad.patch @@ -0,0 +1,179 @@ +--- indra.orig/cmake/GoogleBreakpad.cmake ++++ indra/cmake/GoogleBreakpad.cmake +@@ -2,7 +2,7 @@ + include(Prebuilt) + + if (STANDALONE) +- set(BREAKPAD_EXCEPTION_HANDLER_FIND_REQUIRED ON) ++ set(BREAKPAD_EXCEPTION_HANDLER_FIND_REQUIRED OFF) + include(FindGoogleBreakpad) + else (STANDALONE) + use_prebuilt_binary(google_breakpad) +--- indra.orig/llcommon/llapp.cpp ++++ indra/llcommon/llapp.cpp +@@ -46,7 +46,9 @@ + #include "llstring.h" + #include "lleventtimer.h" + ++#if 0 + #include "google_breakpad/exception_handler.h" ++#endif + + // + // Signal handling +@@ -143,8 +145,6 @@ + // Set the application to this instance. + sApplication = this; + +- mExceptionHandler = 0; +- + // initialize the buffer to write the minidump filename to + // (this is used to avoid allocating memory in the crash handler) + memset(minidump_path, 0, MAX_MINDUMP_PATH_LENGTH); +@@ -177,8 +177,6 @@ + mThreadErrorp = NULL; + } + +- if(mExceptionHandler != 0) delete mExceptionHandler; +- + LLCommon::cleanupClass(); + } + +@@ -284,75 +282,7 @@ + + void LLApp::setupErrorHandling() + { +- // Error handling is done by starting up an error handling thread, which just sleeps and +- // occasionally checks to see if the app is in an error state, and sees if it needs to be run. +- +-#if LL_WINDOWS +- // This sets a callback to handle w32 signals to the console window. +- // The viewer shouldn't be affected, sicne its a windowed app. +- SetConsoleCtrlHandler( (PHANDLER_ROUTINE) ConsoleCtrlHandler, TRUE); +- +- // Install the Google Breakpad crash handler for Windows +- if(mExceptionHandler == 0) +- { +- llwarns << "adding breakpad exception handler" << llendl; +- mExceptionHandler = new google_breakpad::ExceptionHandler( +- L"C:\\Temp\\", 0, windows_post_minidump_callback, 0, google_breakpad::ExceptionHandler::HANDLER_ALL); +- } +- +-#else +- // +- // Start up signal handling. +- // +- // There are two different classes of signals. Synchronous signals are delivered to a specific +- // thread, asynchronous signals can be delivered to any thread (in theory) +- // +- setup_signals(); +- +- // Add google breakpad exception handler configured for Darwin/Linux. +- bool installHandler = true; +-#ifdef LL_DARWIN +- // For the special case of Darwin, we do not want to install the handler if +- // the process is being debugged as the app will exit with value ABRT (6) if +- // we do. Unfortunately, the code below which performs that test relies on +- // the structure kinfo_proc which has been tagged by apple as an unstable +- // API. We disable this test for shipping versions to avoid conflicts with +- // future releases of Darwin. This test is really only needed for developers +- // starting the app from a debugger anyway. +- #ifndef LL_RELEASE_FOR_DOWNLOAD +- int mib[4]; +- mib[0] = CTL_KERN; +- mib[1] = KERN_PROC; +- mib[2] = KERN_PROC_PID; +- mib[3] = getpid(); +- +- struct kinfo_proc info; +- memset(&info, 0, sizeof(info)); +- +- size_t size = sizeof(info); +- int result = sysctl(mib, sizeof(mib) / sizeof(*mib), &info, &size, NULL, 0); +- if((result == 0) || (errno == ENOMEM)) +- { +- // P_TRACED flag is set, so this process is being debugged; do not install +- // the handler +- if(info.kp_proc.p_flag & P_TRACED) installHandler = false; +- } +- else +- { +- // Failed to discover if the process is being debugged; default to +- // installing the handler. +- installHandler = true; +- } +- #endif +-#endif +- if(installHandler && (mExceptionHandler == 0)) +- { +- std::string dumpPath = "/tmp/"; +- mExceptionHandler = new google_breakpad::ExceptionHandler(dumpPath, 0, &unix_post_minidump_callback, 0, true); +- } +-#endif +- +- startErrorThread(); ++ sDisableCrashlogger = TRUE; + } + + void LLApp::startErrorThread() +@@ -403,20 +333,10 @@ + + void LLApp::setMiniDumpDir(const std::string &path) + { +- if(mExceptionHandler == 0) return; +-#ifdef LL_WINDOWS +- wchar_t buffer[MAX_MINDUMP_PATH_LENGTH]; +- mbstowcs(buffer, path.c_str(), MAX_MINDUMP_PATH_LENGTH); +- mExceptionHandler->set_dump_path(std::wstring(buffer)); +-#else +- mExceptionHandler->set_dump_path(path); +-#endif + } + + void LLApp::writeMiniDump() + { +- if(mExceptionHandler == 0) return; +- mExceptionHandler->WriteMinidump(); + } + + // static +@@ -473,13 +393,6 @@ + + void LLApp::disableCrashlogger() + { +- // Disable Breakpad exception handler. +- if (mExceptionHandler != 0) +- { +- delete mExceptionHandler; +- mExceptionHandler = 0; +- } +- + sDisableCrashlogger = TRUE; + } + +--- indra.orig/llcommon/llapp.h ++++ indra/llcommon/llapp.h +@@ -60,9 +60,11 @@ + }; + #endif + ++#if 0 + namespace google_breakpad { + class ExceptionHandler; // See exception_handler.h + } ++#endif + + class LL_COMMON_API LLApp : public LLOptionInterface + { +@@ -330,9 +332,9 @@ + private: + // the static application instance if it was created. + static LLApp* sApplication; +- ++#if 0 + google_breakpad::ExceptionHandler * mExceptionHandler; +- ++#endif + + #if !LL_WINDOWS + friend void default_unix_signal_handler(int signum, siginfo_t *info, void *); diff --git a/testing/soprano/APKBUILD b/testing/soprano/APKBUILD new file mode 100644 index 0000000000..020a47f902 --- /dev/null +++ b/testing/soprano/APKBUILD @@ -0,0 +1,43 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=soprano +pkgver=2.6.0 +pkgrel=4 +pkgdesc="KDE RDF framework" +url="http://soprano.sourceforge.net/" +arch="all" +license="LGPL" +depends="shared-desktop-ontologies" +depends_dev="qt-dev raptor-dev rasqal-dev redland-dev" +makedepends="$depends_dev cmake automoc4 doxygen" +install="" +subpackages="$pkgname-dev" +source="http://sourceforge.net/projects/soprano/files/Soprano/$pkgver/soprano-$pkgver.tar.bz2 + redland.patch" + +_builddir="$srcdir"/soprano-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON \ + -DRAPTOR_INCLUDE_DIR=/usr/include/raptor2 "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="03ae49e87c6ec99e57d0433c2650846f soprano-2.6.0.tar.bz2 +0d13b3fd532b7173b9deea47ca89a4b7 redland.patch" diff --git a/testing/soprano/redland.patch b/testing/soprano/redland.patch new file mode 100644 index 0000000000..24806db411 --- /dev/null +++ b/testing/soprano/redland.patch @@ -0,0 +1,11 @@ +--- soprano-2.6.0.orig/cmake/modules/FindRedland.cmake ++++ soprano-2.6.0/cmake/modules/FindRedland.cmake +@@ -113,7 +113,7 @@ + ARGS ${_REDLAND_STORAGE_LIBS} + ) + if(NOT "${_TEST_EXITCODE}" EQUAL 0) +- set(_REDLAND_VERSION_OK) ++# set(_REDLAND_VERSION_OK) + message(STATUS "${_OUTPUT}") + message(STATUS "Redland with broken NEEDED section detected, disabling") + endif(NOT "${_TEST_EXITCODE}" EQUAL 0) diff --git a/testing/spectools/APKBUILD b/testing/spectools/APKBUILD new file mode 100644 index 0000000000..e8d09a4a19 --- /dev/null +++ b/testing/spectools/APKBUILD @@ -0,0 +1,41 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=spectools +pkgver=201004 +_pkgver=2010-04-R1 +pkgrel=0 +pkgdesc="Utilities for using Wi-Spy USB spectrum analyzer" +url="https://www.kismetwireless.net/spectools/" +arch="all" +license="GPL-2" +depends="" +depends_dev="gtk+2.0-dev bash cairo-dev libusb-compat-dev" +makedepends="$depends_dev" +install="" +subpackages="" +source="http://www.kismetwireless.net/code/$pkgname-${_pkgver}.tar.gz" + +_builddir="$srcdir"/$pkgname-${_pkgver} +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + autoreconf --install + ./configure --prefix=/usr \ + --sysconfdir=/etc/ + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="1574813385fbe652736b439accec7120 spectools-2010-04-R1.tar.gz" diff --git a/testing/sprunge/APKBUILD b/testing/sprunge/APKBUILD new file mode 100644 index 0000000000..5ae053dcec --- /dev/null +++ b/testing/sprunge/APKBUILD @@ -0,0 +1,33 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=sprunge +pkgver=0.1 +pkgrel=0 +pkgdesc="Helper script to paste things to http://sprunge.us" +url="http://strunge.us" +arch="noarch" +license="GPLv2" +depends="curl" +makedepends= +install="" +subpackages= +source="" + +_builddir="$srcdir" +prepare() { + return 0 +} + +build() { + cd "$_builddir" + cat >"$_builddir"/sprunge<<EOF +#!/bin/sh +exec curl -F 'sprunge=<-' http://sprunge.us +EOF +} + +package() { + cd "$_builddir" + install -Dm755 sprunge "$pkgdir"/usr/bin/sprunge +} + diff --git a/testing/sqstat/APKBUILD b/testing/sqstat/APKBUILD new file mode 100644 index 0000000000..9489e7960f --- /dev/null +++ b/testing/sqstat/APKBUILD @@ -0,0 +1,35 @@ +# Maintainer: Natanael Copa +pkgname=sqstat +pkgver=1.20 +pkgrel=0 +pkgdesc="SqStat is a script which allows to look through active squid users connections" +url="http://samm.kiev.ua/sqstat/" +arch="all" +license="ISC" +depends= +makedepends= +install= +subpackages= +source="http://samm.kiev.ua/sqstat/sqstat-$pkgver.tar.gz" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" +} + +build() { + cd "$_builddir" +} + +package() { + cd "$_builddir" + mkdir -p "$pkgdir"/usr/share/webapps/sqstat \ + "$pkgdir"/etc/sqstat + cp config.inc.php.defaults "$pkgdir"/etc/sqstat/config.inc.php + mv * "$pkgdir"/usr/share/webapps/sqstat/ + ln -s /etc/sqstat/config.inc.php \ + "$pkgdir"/usr/share/webapps/sqstat/config.inc.php +} + +md5sums="2b038a72eb5816995c3d7218ca516f30 sqstat-1.20.tar.gz" diff --git a/testing/squidguard/APKBUILD b/testing/squidguard/APKBUILD new file mode 100644 index 0000000000..0f67df3914 --- /dev/null +++ b/testing/squidguard/APKBUILD @@ -0,0 +1,47 @@ +# Maintainer: Leonardo Arena <rnalrd@gmail.com> +pkgname=squidguard +_realname=squidGuard +pkgver=1.4 +pkgrel=1 +pkgdesc="Squid URL redirector" +url="http://www.squidguard.org" +arch="all" +license="GPL" +depends= +makedepends="flex bison db-dev" +install="$pkgname.post-install" +subpackages="" +source="http://www.squidguard.org/Downloads/$_realname-$pkgver.tar.gz + squidguard-1.4-gentoo.patch + squidguard-1.4-upstream-fixes.patch + squidguard-1.4-vsnprintf.patch" + +_builddir="$srcdir"/$_realname-$pkgver + +prepare() { + cd "$_builddir" + patch -p1 < ../../squidguard-1.4-gentoo.patch + patch -p1 < ../../squidguard-1.4-upstream-fixes.patch + patch -p1 < ../../squidguard-1.4-vsnprintf.patch +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --with-sg-config=/etc/squidGuard/squidGuard.conf \ + --with-sg-logdir=/var/log/squidGuard + make || return 1 +} + +package() { + cd "$_builddir" + make INSTDIR="$pkgdir" install + install -D -m644 ../../squidGuard.conf.blocksites $pkgdir/etc/squidGuard/squidGuard.conf + install -D -m644 ../../blockedsites $pkgdir/etc/squidGuard/blockedsites +} + +md5sums="de834150998c1386c30feae196f16b06 squidGuard-1.4.tar.gz +ba58e934fe2f75fcb5dfbe054e045449 squidguard-1.4-gentoo.patch +4b512e930dede70ddf36d4f7c75a598f squidguard-1.4-upstream-fixes.patch +8878c72f27e45dab99e5d0197d50caec squidguard-1.4-vsnprintf.patch" diff --git a/testing/squidguard/blockedsites b/testing/squidguard/blockedsites new file mode 100644 index 0000000000..46279a47ee --- /dev/null +++ b/testing/squidguard/blockedsites @@ -0,0 +1 @@ +sex.com diff --git a/testing/squidguard/squidGuard.conf.blocksites b/testing/squidguard/squidGuard.conf.blocksites new file mode 100644 index 0000000000..eaa8cdeef0 --- /dev/null +++ b/testing/squidguard/squidGuard.conf.blocksites @@ -0,0 +1,13 @@ +logdir /var/log/squidGuard +dbhome /etc/squidGuard/db + +dest blockedsites { + domainlist blockedsites +} + +acl { + default { + pass !blockedsites all + redirect http://www.sample.com/empty.png + } +} diff --git a/testing/squidguard/squidGuard.conf.minimal b/testing/squidguard/squidGuard.conf.minimal new file mode 100644 index 0000000000..3b0ebf55c7 --- /dev/null +++ b/testing/squidguard/squidGuard.conf.minimal @@ -0,0 +1,7 @@ +logdir /var/log/squidGuard + +acl { + default { + pass all + } +} diff --git a/testing/squidguard/squidguard-1.4-gentoo.patch b/testing/squidguard/squidguard-1.4-gentoo.patch new file mode 100644 index 0000000000..60b5461e9e --- /dev/null +++ b/testing/squidguard/squidguard-1.4-gentoo.patch @@ -0,0 +1,74 @@ +diff -Nru squidGuard-1.4.orig/Makefile.in squidGuard-1.4/Makefile.in +--- squidGuard-1.4.orig/Makefile.in 2008-05-17 18:36:44.000000000 +0000 ++++ squidGuard-1.4/Makefile.in 2009-01-10 13:02:14.000000000 +0000 +@@ -43,7 +43,7 @@ + # Dependencies for installing + # + +-install: install-build install-conf ++install: install-build + + install-conf: + @echo Installing configuration file ; +@@ -85,10 +85,10 @@ + + install-build: + @echo Installing squidGuard +- @if [ ! -d $(bindir) ]; then \ +- $(MKINSTALLDIRS) $(bindir) ; \ ++ @if [ ! -d "$(INSTDIR)"/$(bindir) ]; then \ ++ $(MKINSTALLDIRS) "$(INSTDIR)"/$(bindir) ; \ + fi ; \ +- cp src/squidGuard $(bindir) || exit 1 ; \ ++ cp src/squidGuard "$(INSTDIR)"/$(bindir) || exit 1 ; \ + echo Done. ; + + clean:: +diff -Nru squidGuard-1.4.orig/src/Makefile.in squidGuard-1.4/src/Makefile.in +--- squidGuard-1.4.orig/src/Makefile.in 2009-01-03 20:05:39.000000000 +0000 ++++ squidGuard-1.4/src/Makefile.in 2009-01-10 13:02:14.000000000 +0000 +@@ -110,6 +110,8 @@ + mv -f y.tab.c y.tab.c.bison + mv -f y.tab.h y.tab.h.bison + ++sg.y sg.l: ++ + # + # Dependencies for installing + # +@@ -122,8 +124,8 @@ + + install.bin:: squidGuard + @echo making $@ in `basename \`pwd\`` +- @$(MKDIR) $(bindir) $(logdir) $(cfgdir) +- $(INSTALL_PROGRAM) squidGuard $(bindir)/squidGuard ++ @$(MKDIR) "$(INSTDIR)"/$(bindir) "$(INSTDIR)"/$(logdir) "$(INSTDIR)"/$(cfgdir) ++ $(INSTALL_PROGRAM) squidGuard "$(INSTDIR)"/$(bindir)/squidGuard + + uninstall.bin:: + @echo making $@ in `basename \`pwd\`` +diff -Nru squidGuard-1.4.orig/src/sgDb.c squidGuard-1.4/src/sgDb.c +--- squidGuard-1.4.orig/src/sgDb.c 2008-07-14 18:29:41.000000000 +0000 ++++ squidGuard-1.4/src/sgDb.c 2009-01-10 13:02:14.000000000 +0000 +@@ -103,13 +103,21 @@ + if(createdb) + flag = flag | DB_TRUNCATE; + if ((ret = ++#if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) ++ Db->dbp->open(Db->dbp, NULL, dbfile, NULL, DB_BTREE, flag, 0664)) != 0) { ++#else + Db->dbp->open(Db->dbp, dbfile, NULL, DB_BTREE, flag, 0664)) != 0) { ++#endif + (void) Db->dbp->close(Db->dbp, 0); + sgLogFatalError("Error db_open: %s", strerror(ret)); + } + } else { + if ((ret = ++#if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) ++ Db->dbp->open(Db->dbp, NULL, dbfile, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) { ++#else + Db->dbp->open(Db->dbp, dbfile, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) { ++#endif + sgLogFatalError("Error db_open: %s", strerror(ret)); + } + } diff --git a/testing/squidguard/squidguard-1.4-upstream-fixes.patch b/testing/squidguard/squidguard-1.4-upstream-fixes.patch new file mode 100644 index 0000000000..007e6b4c36 --- /dev/null +++ b/testing/squidguard/squidguard-1.4-upstream-fixes.patch @@ -0,0 +1,24 @@ +diff -Nru squidGuard-1.4.orig/src/sgDiv.c.in squidGuard-1.4/src/sgDiv.c.in +--- squidGuard-1.4.orig/src/sgDiv.c.in 2008-07-14 18:02:43.000000000 +0200 ++++ squidGuard-1.4/src/sgDiv.c.in 2009-11-28 09:33:05.000000000 +0100 +@@ -745,7 +745,7 @@ + p++; + break; + case 'u': /* Requested URL */ +- strcat(buf, req->orig); ++ strncat(buf, req->orig, 2048); + p++; + break; + default: +diff -Nru squidGuard-1.4.orig/src/sg.h.in squidGuard-1.4/src/sg.h.in +--- squidGuard-1.4.orig/src/sg.h.in 2007-11-16 17:58:32.000000000 +0100 ++++ squidGuard-1.4/src/sg.h.in 2009-11-28 09:33:37.000000000 +0100 +@@ -73,7 +73,7 @@ + #define REQUEST_TYPE_REDIRECT 2 + #define REQUEST_TYPE_PASS 3 + +-#define MAX_BUF 4096 ++#define MAX_BUF 12288 + + #define DEFAULT_LOGFILE "squidGuard.log" + #define WARNING_LOGFILE "squidGuard.log" diff --git a/testing/squidguard/squidguard-1.4-vsnprintf.patch b/testing/squidguard/squidguard-1.4-vsnprintf.patch new file mode 100644 index 0000000000..bf4efec604 --- /dev/null +++ b/testing/squidguard/squidguard-1.4-vsnprintf.patch @@ -0,0 +1,44 @@ +diff -Nru squidGuard-1.4.orig/configure.in squidGuard-1.4/configure.in +--- squidGuard-1.4.orig/configure.in 2009-04-26 12:28:49.000000000 +0000 ++++ squidGuard-1.4/configure.in 2009-04-26 12:29:35.000000000 +0000 +@@ -421,7 +421,7 @@ + AC_CHECK_FUNCS(regexec, , AC_MSG_ERROR([No regexec library function.])) + AC_CHECK_FUNCS(strdup, , AC_MSG_ERROR([No strdup library function.])) + AC_CHECK_FUNCS(strerror, , AC_MSG_ERROR([No strerror library function.])) +-AC_CHECK_FUNCS(vsprintf, , AC_MSG_ERROR([No vsprintf library function.])) ++AC_CHECK_FUNCS(vsnprintf, , AC_MSG_ERROR([No vsnprintf library function.])) + AC_CHECK_FUNCS(sigaction) + AC_CHECK_FUNCS(signal) + +diff -Nru squidGuard-1.4.orig/src/sgLog.c squidGuard-1.4/src/sgLog.c +--- squidGuard-1.4.orig/src/sgLog.c 2007-11-16 16:58:32.000000000 +0000 ++++ squidGuard-1.4/src/sgLog.c 2009-04-26 12:31:40.000000000 +0000 +@@ -55,7 +55,7 @@ + char msg[MAX_BUF]; + va_list ap; + VA_START(ap, format); +- if(vsprintf(msg, format, ap) > (MAX_BUF - 1)) ++ if(vsnprintf(msg, MAX_BUF, format, ap) > (MAX_BUF - 1)) + fprintf(stderr,"overflow in vsprintf (sgLog): %s",strerror(errno)); + va_end(ap); + date = niso(0); +@@ -87,8 +87,8 @@ + char msg[MAX_BUF]; + va_list ap; + VA_START(ap, format); +- if(vsprintf(msg, format, ap) > (MAX_BUF - 1)) +- sgLogFatalError("overflow in vsprintf (sgLogError): %s",strerror(errno)); ++ if(vsnprintf(msg, MAX_BUF, format, ap) > (MAX_BUF - 1)) ++ fprintf(stderr,"overflow in vsprintf (sgLogError): %s",strerror(errno)); + va_end(ap); + sgLog(globalErrorLog,"%s",msg); + } +@@ -104,7 +104,7 @@ + char msg[MAX_BUF]; + va_list ap; + VA_START(ap, format); +- if(vsprintf(msg, format, ap) > (MAX_BUF - 1)) ++ if(vsnprintf(msg, MAX_BUF, format, ap) > (MAX_BUF - 1)) + return; + va_end(ap); + sgLog(globalErrorLog,"%s",msg); diff --git a/testing/squidguard/squidguard.post-install b/testing/squidguard/squidguard.post-install new file mode 100644 index 0000000000..2620de05f4 --- /dev/null +++ b/testing/squidguard/squidguard.post-install @@ -0,0 +1,3 @@ +#!/bin/sh +mkdir /var/log/squidGuard &>/dev/null +chown squid.squid /var/log/squidGuard diff --git a/testing/strigi/APKBUILD b/testing/strigi/APKBUILD new file mode 100644 index 0000000000..e86531cb1b --- /dev/null +++ b/testing/strigi/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=strigi +pkgver=0.7.2 +pkgrel=0 +pkgdesc="KDE desktop search software" +url="http://www.vandenoever.info/software/strigi/" +arch="all" +license="LGPL" +depends= +depends_dev="qt-dev exiv2-dev bzip2-dev zlib-dev libiconv-dev libxml2-dev" +makedepends="$depends_dev cmake automoc4" +install="" +subpackages="$pkgname-dev" +source="http://www.vandenoever.info/software/strigi/strigi-$pkgver.tar.bz2" + +_builddir="$srcdir"/strigi-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir -p "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="ca09ba176cf3ffe9afce4d92f38f9a85 strigi-0.7.2.tar.bz2" diff --git a/testing/supertuxkart/APKBUILD b/testing/supertuxkart/APKBUILD new file mode 100644 index 0000000000..cc47cc6e3f --- /dev/null +++ b/testing/supertuxkart/APKBUILD @@ -0,0 +1,43 @@ +# Maintainer: Jeff Bilyk <jbilyk@alpinelinux.org> +pkgname=supertuxkart +pkgver=0.7 +pkgrel=0 +pkgdesc="Kart racing game" +url="http://supertuxkart.sourceforge.net" +arch="x86 x86_64" +license="GPL" +depends= +depends_dev="irrlicht libvorbis-dev libogg-dev openal-soft-dev mesa-dev jpeg-dev gettext-dev" +makedepends="$depends_dev" +source="http://downloads.sourceforge.net/project/$pkgname/SuperTuxKart/0.7/$pkgname-$pkgver-src.tar.bz2" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --datadir=/usr/share \ + --bindir=/usr/bin \ + --with-irrlicht=/usr/include/irrlicht \ + || return 1 + # From arch pkgbuild + sed -i "s#/usr/local#/usr#" src/io/file_manager.cpp + sed -i "s#/games#/bin#" $(grep -r "/games" *) + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} +md5sums="2806f271e4d37fee5ad8ca166e1ad489 supertuxkart-0.7-src.tar.bz2" diff --git a/testing/taglib-extras/APKBUILD b/testing/taglib-extras/APKBUILD new file mode 100644 index 0000000000..3aecb4f93f --- /dev/null +++ b/testing/taglib-extras/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=taglib-extras +pkgver=1.0.1 +pkgrel=0 +pkgdesc="extra modules for taglib" +url="http://amarok.kde.org/" +arch="all" +license="GPL" +depends= +depends_dev="qt-dev taglib-dev" +makedepends="$depends_dev cmake" +install="" +subpackages="$pkgname-dev" +source="http://www.kollide.net/~jefferai/taglib-extras-$pkgver.tar.gz" + +_builddir="$srcdir"/taglib-extras-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + mkdir "$_builddir"/build +} + +build() { + cd "$_builddir"/build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_RPATH=ON "$_builddir" || return 1 + make || return 1 +} + +package() { + cd "$_builddir"/build + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="e973ca609b18e2c03c147ff9fd9e6eb8 taglib-extras-1.0.1.tar.gz" diff --git a/testing/tbl/APKBUILD b/testing/tbl/APKBUILD new file mode 100644 index 0000000000..5860c4c3e3 --- /dev/null +++ b/testing/tbl/APKBUILD @@ -0,0 +1,40 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=tbl +pkgver=0.1.5 +pkgrel=0 +pkgdesc="Utility to format tables for troff" +url="http://tbl.bsd.lv/" +arch="all" +license="ISC" +depends= +makedepends= +install= +subpackages="$pkgname-doc" +source="http://tbl.bsd.lv/snapshots/tbl-$pkgver.tar.gz + tbl-install.patch" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + for i in $source; do + case $i in + *.patch) + patch -p1 -i "$srcdir"/$i || return 1 + ;; + esac + done +} + +build() { + cd "$_builddir" + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" PREFIX=/usr MANDIR=/usr/share/man install +} + +md5sums="633edde9037b0a01b045b05e655ee7c9 tbl-0.1.5.tar.gz +e4f29245b659de9814ff1a7a1c98ffb2 tbl-install.patch" diff --git a/testing/tbl/tbl-install.patch b/testing/tbl/tbl-install.patch new file mode 100644 index 0000000000..72465ea2d8 --- /dev/null +++ b/testing/tbl/tbl-install.patch @@ -0,0 +1,19 @@ +--- ./Makefile.orig ++++ ./Makefile +@@ -64,11 +64,11 @@ + install -m 0444 tbl-$(VERSION).md5 $(PREFIX)/snapshots/tbl.md5 + + install: +- mkdir -p $(BINDIR) +- mkdir -p $(MANDIR)/man5 +- $(INSTALL_PROGRAM) tbl $(BINDIR) +- $(INSTALL_MAN) tbl.5 $(MANDIR)/man5 +- $(INSTALL_MAN) tbl.1 $(MANDIR)/man1 ++ mkdir -p $(DESTDIR)$(BINDIR) ++ mkdir -p $(DESTDIR)$(MANDIR)/man5 ++ $(INSTALL_PROGRAM) tbl $(DESTDIR)$(BINDIR) ++ $(INSTALL_MAN) tbl.5 $(DESTDIR)$(MANDIR)/man5 ++ $(INSTALL_MAN) tbl.1 $(DESTDIR)$(MANDIR)/man1 + + main.o: main.c tbl.h + diff --git a/testing/thunar-volman/APKBUILD b/testing/thunar-volman/APKBUILD new file mode 100644 index 0000000000..e092d537d1 --- /dev/null +++ b/testing/thunar-volman/APKBUILD @@ -0,0 +1,36 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=thunar-volman +pkgver=0.6.0 +pkgrel=0 +pkgdesc="Thunar extension for volumes management" +url="http://goodies.xfce.org/projects/thunar-plugins/thunar-volman" +arch="all" +license="GPL" +depends= +makedepends="thunar-dev exo-dev udev-dev libxfce4ui-dev libnotify-dev" +install= +subpackages= +source="http://archive.xfce.org/src/apps/thunar-volman/${pkgver%.*}/thunar-volman-$pkgver.tar.bz2" +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + # apply patches here +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install +} + +md5sums="2f166662dd100d5195da238af417f305 thunar-volman-0.6.0.tar.bz2" diff --git a/testing/totem-pl-parser/APKBUILD b/testing/totem-pl-parser/APKBUILD new file mode 100644 index 0000000000..018ee53b78 --- /dev/null +++ b/testing/totem-pl-parser/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=totem-pl-parser +pkgver=2.32.1 +pkgrel=2 +pkgdesc="playlist parsing library for totem" +url="http://projects.gnome.org/totem" +arch="all" +license="LGPL" +depends= +depends_dev="glib-dev gmime-dev libsoup-dev libxml2-dev" +makedepends="$depends_dev intltool autoconf automake libtool" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2 + no-libsoup-gnome.patch" + +_builddir="${srcdir}/${pkgname}-${pkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + autoconf +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --disable-scrollkeeper || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="2cedaab5dee14526ad0be0970155151f totem-pl-parser-2.32.1.tar.bz2 +2f4ec2e4e2f17338c96beb2b91e92cb3 no-libsoup-gnome.patch" diff --git a/testing/totem-pl-parser/no-libsoup-gnome.patch b/testing/totem-pl-parser/no-libsoup-gnome.patch new file mode 100644 index 0000000000..9f0770bd92 --- /dev/null +++ b/testing/totem-pl-parser/no-libsoup-gnome.patch @@ -0,0 +1,31 @@ +Only in b: config.log +--- a/configure.in ++++ b/configure.in +@@ -60,7 +60,7 @@ + AC_SUBST(TOTEM_PL_PARSER_VERSION_MINOR) + AC_SUBST(TOTEM_PL_PARSER_VERSION_MICRO) + +-pkg_modules="glib-2.0 >= $GLIB_REQS libxml-2.0 gthread-2.0 gio-2.0 >= $GIO_REQS libsoup-gnome-2.4" ++pkg_modules="glib-2.0 >= $GLIB_REQS libxml-2.0 gthread-2.0 gio-2.0 >= $GIO_REQS libsoup-2.4" + + ################################## + # Checking libgmime dependency +--- a/plparse/totem-pl-parser-podcast.c ++++ b/plparse/totem-pl-parser-podcast.c +@@ -25,7 +25,7 @@ + #include <glib.h> + + #ifndef TOTEM_PL_PARSER_MINI +-#include <libsoup/soup-gnome.h> ++#include <libsoup/soup.h> + #include "xmlparser.h" + #include "totem-pl-parser.h" + #include "totemplparser-marshal.h" +@@ -579,7 +579,6 @@ + GByteArray *data; + + session = soup_session_sync_new_with_options ( +- SOUP_SESSION_ADD_FEATURE_BY_TYPE, SOUP_TYPE_GNOME_FEATURES_2_26, + SOUP_SESSION_ADD_FEATURE_BY_TYPE, SOUP_TYPE_CONTENT_DECODER, + SOUP_SESSION_USER_AGENT, "iTunes/7.4.1", + SOUP_SESSION_ACCEPT_LANGUAGE_AUTO, TRUE, diff --git a/testing/totem/APKBUILD b/testing/totem/APKBUILD new file mode 100644 index 0000000000..7edde166e3 --- /dev/null +++ b/testing/totem/APKBUILD @@ -0,0 +1,48 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=totem +pkgver=2.32.0 +pkgrel=2 +pkgdesc="media player for gnome" +url="http://projects.gnome.org/totem" +arch="all" +license="GPL" +depends="gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-plugins-base-gnome gst-plugins-good-gnome gst-ffmpeg" +depends_dev="gtk+-dev gstreamer-dev gst-plugins-base-dev gconf-dev totem-pl-parser-dev libunique-dev python-dev libsm-dev libice-dev" +makedepends="$depends_dev gnome-doc-utils intltool" +install="$pkgname.pre-deinstall $pkgname.post-install $pkgname.post-upgrade" +subpackages="$pkgname-dev $pkgname-doc $pkgname-mozilla" +source="ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2" + +_builddir="${srcdir}/${pkgname}-${pkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --disable-scrollkeeper || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +mozilla() { + pkgdesc="totem mozilla plugin" + + mkdir -p "$subpkgdir"/usr/lib/mozilla + mv "$pkgdir"/usr/lib/mozilla/plugins "$subpkgdir"/usr/lib/mozilla/plugins +} + +md5sums="2e55c3da316648ba860e3f88af2d30ab totem-2.32.0.tar.bz2" diff --git a/testing/totem/totem.post-install b/testing/totem/totem.post-install new file mode 100644 index 0000000000..87148a8ef8 --- /dev/null +++ b/testing/totem/totem.post-install @@ -0,0 +1,11 @@ +#!/bin/sh + +for i in \ + totem.schemas \ + totem-handlers.schemas \ + totem-video-thumbnail.schemas \ +; do + echo "Installing GConf2 schema $i." + GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \ + /usr/bin/gconftool-2 --makefile-install-rule /etc/gconf/schemas/$i >/dev/null +done diff --git a/testing/totem/totem.post-upgrade b/testing/totem/totem.post-upgrade new file mode 100644 index 0000000000..87148a8ef8 --- /dev/null +++ b/testing/totem/totem.post-upgrade @@ -0,0 +1,11 @@ +#!/bin/sh + +for i in \ + totem.schemas \ + totem-handlers.schemas \ + totem-video-thumbnail.schemas \ +; do + echo "Installing GConf2 schema $i." + GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \ + /usr/bin/gconftool-2 --makefile-install-rule /etc/gconf/schemas/$i >/dev/null +done diff --git a/testing/totem/totem.pre-deinstall b/testing/totem/totem.pre-deinstall new file mode 100644 index 0000000000..c495189c7c --- /dev/null +++ b/testing/totem/totem.pre-deinstall @@ -0,0 +1,11 @@ +#!/bin/sh + +for i in \ + totem.schemas \ + totem-handlers.schemas \ + totem-video-thumbnail.schemas \ +; do + echo "Uninstalling GConf2 schema $i." + GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \ + /usr/bin/gconftool-2 --makefile-uninstall-rule /etc/gconf/schemas/$i >/dev/null +done diff --git a/testing/ttf-droid/APKBUILD b/testing/ttf-droid/APKBUILD new file mode 100644 index 0000000000..90a44e80be --- /dev/null +++ b/testing/ttf-droid/APKBUILD @@ -0,0 +1,61 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=ttf-droid +_date="20110607" +pkgver=$_date +pkgrel=0 +pkgdesc="Droid font family" +url="http://android.git.kernel.org/?p=platform/frameworks/base.git;a=tree;f=data/fonts;hb=HEAD" +arch="noarch" +license="Apache 2.0" +depends= +makedepends= +install= +subpackages= +source="http://dev.alpinelinux.org/~ncopa/ttf-droid-$pkgver.tar.gz" +_ttf_source=" + http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/Ahem.ttf;hb=HEAD + http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/Clockopia.ttf;hb=HEAD + http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/DroidSans-Bold.ttf;hb=HEAD + http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/DroidSans.ttf;hb=HEAD + http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/DroidSansArabic.ttf;hb=HEAD + http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/DroidSansFallback.ttf;hb=HEAD + http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/DroidSansFallbackLegacy.ttf;hb=HEAD + http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/DroidSansHebrew.ttf;hb=HEAD + http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/DroidSansJapanese.ttf;hb=HEAD + http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/DroidSansMono.ttf;hb=HEAD + http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/DroidSansThai.ttf;hb=HEAD + http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/DroidSerif-Bold.ttf;hb=HEAD + http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/DroidSerif-BoldItalic.ttf;hb=HEAD + http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/DroidSerif-Italic.ttf;hb=HEAD + http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/DroidSerif-Regular.ttf;hb=HEAD + http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/MTLc3m.ttf;hb=HEAD + http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/MTLmr3m.ttf;hb=HEAD +" + +_ttfdir="$srcdir"/ttf-droid-$_date + +mkpkg() { + local i + mkdir -p "$srcdir"/ttf-droid-$_date + cd "$srcdir"/ttf-droid-$_date + + for i in $_ttf_source; do + curl -J -O $i || return 1 + done + cd .. + tar -czf ttf-droid-$_date.tar.gz ttf-droid-$_date +} + +build() { + return 0 +} + +package() +{ + cd "$_ttfdir" + install -d $pkgdir/usr/share/fonts/TTF/ + install -m644 *.ttf $pkgdir/usr/share/fonts/TTF/ +} + +md5sums="b40559c6d6f7e7f39a4e3e27a4fd84c0 ttf-droid-20110607.tar.gz" diff --git a/testing/ttf-liberation/APKBUILD b/testing/ttf-liberation/APKBUILD new file mode 100644 index 0000000000..52c1237879 --- /dev/null +++ b/testing/ttf-liberation/APKBUILD @@ -0,0 +1,25 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=ttf-liberation +pkgver=1.07.0 +pkgrel=0 +pkgdesc="Red Hats Liberation fonts" +url="https://fedorahosted.org/liberation-fonts/" +license="custom GPL2" +arch="noarch" +depends="" +makedepends="wget" +install= +source="https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-$pkgver.tar.gz" + +_builddir="$srcdir"/liberation-fonts-ttf-$pkgver +build() { + return 0 +} + +package() { + cd "$_builddir" + install -d "$pkgdir"/usr/share/fonts/truetype/liberation + cp -a *.ttf "$pkgdir"/usr/share/fonts/truetype/liberation/ +} + +md5sums="8150db1c6e27cacdfd524b563b85b69e liberation-fonts-ttf-1.07.0.tar.gz" diff --git a/testing/tut/APKBUILD b/testing/tut/APKBUILD new file mode 100644 index 0000000000..502a3ceadf --- /dev/null +++ b/testing/tut/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=tut +pkgver=20090830 +_pkgver=2009-08-30 +pkgrel=0 +pkgdesc="template unit test framework" +url="http://tut-framework.sourceforge.net/" +arch="noarch" +license="BSD" +depends= +depends_dev= +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://sourceforge.net/projects/tut-framework/files/TUT/TUT-${_pkgver}/TUT-${_pkgver}.tar.gz" + +_builddir="$srcdir"/tut-${_pkgver} +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + return 0 +} + +package() { + cd "$_builddir" + mkdir -p "$pkgdir"/usr/include + cp -R "$_builddir"/tut/ "$pkgdir"/usr/include/tut/ + cp "$_builddir"/*.h "$pkgdir"/usr/include +} + +md5sums="2f32ef60724aefd1a655d766e4662005 TUT-2009-08-30.tar.gz" diff --git a/testing/txt2man/APKBUILD b/testing/txt2man/APKBUILD new file mode 100644 index 0000000000..72079b72f8 --- /dev/null +++ b/testing/txt2man/APKBUILD @@ -0,0 +1,42 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=txt2man +pkgver=1.5.6 +pkgrel=0 +pkgdesc="Convert flat ASCII text to man page format" +url="http://mvertes.free.fr/txt2man/" +arch="noarch" +license="GPLv2+" +depends="gawk" +makedepends= +install="" +subpackages="$pkgname-doc" +source="http://mvertes.free.fr/download/txt2man-$pkgver.tar.gz + fixbashism.patch + makefile.patch" + +_builddir="$srcdir"/txt2man-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + make +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" prefix=/usr mandir=/usr/share/man \ + install || return 1 +} + +md5sums="f301b3dc1872fab1b7740f9f69ff281b txt2man-1.5.6.tar.gz +586f2e01dde9ef07a2734866797f8646 fixbashism.patch +311fe2373e54b15eda845467ce68cd72 makefile.patch" diff --git a/testing/txt2man/fixbashism.patch b/testing/txt2man/fixbashism.patch new file mode 100644 index 0000000000..f31059d880 --- /dev/null +++ b/testing/txt2man/fixbashism.patch @@ -0,0 +1,14 @@ +--- ./bookman.orig ++++ ./bookman +@@ -83,9 +83,9 @@ + shift $(($OPTIND - 1)) + date=${date:-$(date +'%d %B %Y')} + +-[[ $1 ]] || set -- $(while read; do echo $REPLY; done) ++[ -n "$1" ] || set -- $(while read REPLY; do echo $REPLY; done) + +-[[ $outfile ]] && post="$post >$outfile" ++[ -n "$outfile" ] && post="$post >$outfile" + + { + # Compute table of content from postscript output. diff --git a/testing/txt2man/makefile.patch b/testing/txt2man/makefile.patch new file mode 100644 index 0000000000..617d4b0d2d --- /dev/null +++ b/testing/txt2man/makefile.patch @@ -0,0 +1,23 @@ +--- ./Makefile.orig ++++ ./Makefile +@@ -1,5 +1,7 @@ + # Makefile + prefix ?= /usr/local ++bindir ?= $(prefix)/bin ++mandir ?= $(prefix)/share/man + version = txt2man-1.5.6 + BIN = src2man bookman txt2man + MAN1 = src2man.1 txt2man.1 bookman.1 +@@ -7,9 +9,9 @@ + all: $(MAN1) + + install: $(MAN1) +- mkdir -p $(prefix)/bin $(prefix)/man/man1 +- cp $(BIN) $(prefix)/bin/ +- cp $(MAN1) $(prefix)/man/man1 ++ mkdir -p $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1 ++ cp $(BIN) $(DESTDIR)$(bindir) ++ cp $(MAN1) $(DESTDIR)$(mandir)/man1 + + clean: + rm -f *.1 *.txt *.ps *.pdf *.html diff --git a/testing/ucspi-tcp/APKBUILD b/testing/ucspi-tcp/APKBUILD new file mode 100644 index 0000000000..4b854eb012 --- /dev/null +++ b/testing/ucspi-tcp/APKBUILD @@ -0,0 +1,49 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> + +pkgname=ucspi-tcp +pkgver=0.88 +pkgrel=1 +pkgdesc="Easy-to-use command-line tools for building TCP client-server applications." +url="http://cr.yp.to/ucspi-tcp.html" +arch="all" +license="public-domain" +depends="" +makedepends="" +install= +subpackages="" +source="http://cr.yp.to/$pkgname/$pkgname-$pkgver.tar.gz + ucspi-tcp-0.88.a_record.patch + ucspi-tcp-0.88.errno.patch + " + +prepare() { + cd "$srcdir"/$pkgname-$pkgver + for i in ../*.patch; + do + msg "Applying $i" + patch -p1 -i $i || return 1 + done +} + +build() { + cd "$srcdir"/$pkgname-$pkgver + echo "${CC:-"gcc"} ${CFLAGS}" > conf-cc + echo "${CC:-"gcc"} ${LDFLAGS}" > conf-ld + echo "/usr" > conf-home + make || return 1 +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + mkdir -p "$pkgdir"/usr/bin + for f in tcpserver tcprules tcprulescheck argv0 recordio tcpclient \ + *\@ tcpcat mconnect mconnect-io addcr delcr fixcrio \ + rblsmtpd; do + cp $f "$pkgdir"/usr/bin/$f + done +} + +md5sums="39b619147db54687c4a583a7a94c9163 ucspi-tcp-0.88.tar.gz +554ec0eb60f619667efde3fb5325310d ucspi-tcp-0.88.a_record.patch +759a11fafff188d9580be6498a028095 ucspi-tcp-0.88.errno.patch" diff --git a/testing/ucspi-tcp/ucspi-tcp-0.88.a_record.patch b/testing/ucspi-tcp/ucspi-tcp-0.88.a_record.patch new file mode 100644 index 0000000000..903125eaae --- /dev/null +++ b/testing/ucspi-tcp/ucspi-tcp-0.88.a_record.patch @@ -0,0 +1,64 @@ +diff -ruN --exclude conf-* ucspi-tcp-0.88/rblsmtpd.c ucspi-tcp-0.88.fix/rblsmtpd.c +--- ucspi-tcp-0.88/rblsmtpd.c Sat Mar 18 10:18:42 2000 ++++ ucspi-tcp-0.88.fix/rblsmtpd.c Wed Aug 9 16:42:33 2000 +@@ -60,16 +60,54 @@ + + void rbl(char *base) + { ++ int i; ++ char *altreply = 0; + if (decision) return; + if (!stralloc_copy(&tmp,&ip_reverse)) nomem(); ++ i = str_chr(base, ':'); ++ if (base[i]) { ++ base[i] = 0; ++ altreply = base+i+1; ++ } + if (!stralloc_cats(&tmp,base)) nomem(); +- if (dns_txt(&text,&tmp) == -1) { +- flagmustnotbounce = 1; +- if (flagfailclosed) { +- if (!stralloc_copys(&text,"temporary RBL lookup error")) nomem(); +- decision = 2; ++ if (altreply) { ++ if (dns_ip4(&text,&tmp) == -1) { ++ flagmustnotbounce = 1; ++ if (flagfailclosed) { ++ if (!stralloc_copys(&text,"temporary RBL lookup error")) nomem(); ++ decision = 2; ++ } ++ return; ++ } ++ if (text.len) { ++ if(!stralloc_copys(&text, "")) nomem(); ++ while(*altreply) { ++ char *x; ++ i = str_chr(altreply, '%'); ++ if(!stralloc_catb(&text, altreply, i)) nomem(); ++ if(altreply[i] && ++ altreply[i+1]=='I' && ++ altreply[i+2]=='P' && ++ altreply[i+3]=='%') { ++ if(!stralloc_catb(&text, ip_env, str_len(ip_env))) nomem(); ++ altreply+=i+4; ++ } else if(altreply[i]) { ++ if(!stralloc_cats(&text, "%")) nomem(); ++ altreply+=i+1; ++ } else { ++ altreply+=i; ++ } ++ } ++ } ++ } else { ++ if (dns_txt(&text,&tmp) == -1) { ++ flagmustnotbounce = 1; ++ if (flagfailclosed) { ++ if (!stralloc_copys(&text,"temporary RBL lookup error")) nomem(); ++ decision = 2; ++ } ++ return; + } +- return; + } + if (text.len) + if (flagrblbounce) diff --git a/testing/ucspi-tcp/ucspi-tcp-0.88.errno.patch b/testing/ucspi-tcp/ucspi-tcp-0.88.errno.patch new file mode 100644 index 0000000000..7654c783a6 --- /dev/null +++ b/testing/ucspi-tcp/ucspi-tcp-0.88.errno.patch @@ -0,0 +1,12 @@ +diff -u ucspi-tcp-0.88.old/error.h ucspi-tcp-0.88/error.h +--- ucspi-tcp-0.88.old/error.h 2000-03-18 09:18:20.000000000 -0600 ++++ ucspi-tcp-0.88/error.h 2003-01-08 13:39:12.000000000 -0600 +@@ -1,7 +1,7 @@ + #ifndef ERROR_H + #define ERROR_H + +-extern int errno; ++#include <errno.h> + + extern int error_intr; + extern int error_nomem; diff --git a/testing/uget/APKBUILD b/testing/uget/APKBUILD new file mode 100644 index 0000000000..d3eb1092f5 --- /dev/null +++ b/testing/uget/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=uget +pkgver=1.7.6 +pkgrel=0 +pkgdesc="Download manager using GTK+ and libcurl" +url="http://urlget.sourceforge.net/" +arch="all" +license="LGPLv2+" +depends= +depends_dev="gstreamer-dev gtk+-dev curl-dev libnotify-dev" +makedepends="$depends_dev" +install="" +subpackages="" +source="http://downloads.sourceforge.net/project/urlget/uget%20%28developing%29/$pkgver/uget-$pkgver.tar.gz" + +_builddir="$srcdir"/uget-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="ca3218d768c74fb16b89513b75409ab2 uget-1.7.6.tar.gz" diff --git a/testing/unbound/APKBUILD b/testing/unbound/APKBUILD new file mode 100644 index 0000000000..64cae06d73 --- /dev/null +++ b/testing/unbound/APKBUILD @@ -0,0 +1,53 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: +pkgname=unbound +pkgver=1.4.10 +pkgrel=2 +pkgdesc="Unbound is a validating, recursive, and caching DNS resolver" +url="http://unbound.net/" +arch="all" +license="Custom" +depends= +depends_dev="openssl-dev expat-dev ldns-dev libevent-dev" +makedepends="$depends_dev" +install="$pkgname.pre-install" +subpackages="$pkgname-dev $pkgname-doc" +source="http://unbound.net/downloads/unbound-$pkgver.tar.gz +unbound.initd +unbound.confd" + +_builddir="$srcdir"/unbound-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --with-libevent \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + install -m755 -D "$srcdir"/unbound.initd \ + "$pkgdir"/etc/init.d/unbound || return 1 + install -m644 -D "$srcdir"/unbound.confd \ + "$pkgdir"/etc/conf.d/unbound || return 1 +} + +md5sums="6bbae378db76abfe0bd72c404e484597 unbound-1.4.10.tar.gz +941663107bfd428f54d2cad11b0cefc9 unbound.initd +10f8a73d14160571acea41fc89d914e7 unbound.confd" diff --git a/testing/unbound/unbound.confd b/testing/unbound/unbound.confd new file mode 100644 index 0000000000..b4de7cf114 --- /dev/null +++ b/testing/unbound/unbound.confd @@ -0,0 +1,4 @@ +# Settings should normally not need any changes. + +# Location of the unbound configuration file. Leave empty for the default. +#UNBOUND_CONFFILE="/etc/unbound/unbound.conf" diff --git a/testing/unbound/unbound.initd b/testing/unbound/unbound.initd new file mode 100644 index 0000000000..e9e902c9b9 --- /dev/null +++ b/testing/unbound/unbound.initd @@ -0,0 +1,51 @@ +#!/sbin/runscript +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dns/unbound/files/unbound.initd,v 1.1 2009/11/22 16:57:33 matsuu Exp $ + +opts="${opts} checkconfig reload" + +UNBOUND_BINARY=${UNBOUND_BINARY:-/usr/sbin/unbound} +UNBOUND_CHECKCONF=${UNBOUND_CHECKCONF:-/usr/sbin/unbound-checkconf} +UNBOUND_CONFFILE=${UNBOUND_CONFFILE:-/etc/unbound/${SVCNAME}.conf} + +depend() { + need net + use logger + provide dns + after auth-dns +} + +checkconfig() { + UNBOUND_PIDFILE=$("${UNBOUND_CHECKCONF}" -o pidfile "${UNBOUND_CONFFILE}") + return $? +} + +start() { + checkconfig || return $? + ebegin "Starting unbound" + start-stop-daemon --start --pidfile "${UNBOUND_PIDFILE}" \ + --exec "${UNBOUND_BINARY}" -- -c "${UNBOUND_CONFFILE}" + eend $? +} + +stop() { + checkconfig || return $? + ebegin "Stopping unbound" + start-stop-daemon --stop --pidfile "${UNBOUND_PIDFILE}" + eend $? +} + +restart() { + checkconfig || return $? + svc_stop + svc_start +} + +reload() { + checkconfig || return $? + ebegin "Reloading unbound" + start-stop-daemon --stop --pidfile "${UNBOUND_PIDFILE}" \ + --signal HUP --oknodo + eend $? +} diff --git a/testing/unbound/unbound.pre-install b/testing/unbound/unbound.pre-install new file mode 100644 index 0000000000..10e5a7b8d4 --- /dev/null +++ b/testing/unbound/unbound.pre-install @@ -0,0 +1,4 @@ +#!/bin/sh + +adduser -H -s /bin/false -D unbound 2>/dev/null +exit 0 diff --git a/testing/unionfs-fuse/APKBUILD b/testing/unionfs-fuse/APKBUILD new file mode 100644 index 0000000000..93e5c00bc7 --- /dev/null +++ b/testing/unionfs-fuse/APKBUILD @@ -0,0 +1,29 @@ +# Maintainer: Michael Zhou <zhoumichaely@gmail.com> +pkgname=unionfs-fuse +pkgver=0.24 +pkgrel=0 +pkgdesc="Union Filesystem in Userspace" +url="http://podgorny.cz/moin/UnionFsFuse" +arch="all" +license="GPL" +depends="" +makedepends="fuse-dev libiconv-dev" +subpackages="${pkgname}-doc" +source="http://podgorny.cz/unionfs-fuse/releases/${pkgname}-${pkgver}.tar.bz2" + +_builddir="${srcdir}/${pkgname}-${pkgver}" +prepare() { + cd "$_builddir" +} + +build() { + cd "$_builddir" + make || return 1 +} + +package() { + cd "$_builddir" + mkdir -p "$pkgdir"/usr/share/man/man8/ + make DESTDIR="$pkgdir" PREFIX=/usr install || return 1 +} +md5sums="ab00f252c55a9a7252fca13a53260bf5 unionfs-fuse-0.24.tar.bz2" diff --git a/testing/upstart/APKBUILD b/testing/upstart/APKBUILD new file mode 100644 index 0000000000..4aea050120 --- /dev/null +++ b/testing/upstart/APKBUILD @@ -0,0 +1,43 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=upstart +pkgver=0.6.7 +pkgrel=1 +pkgdesc="event-based init system" +url="http://upstart.ubuntu.com" +arch="all" +license="GPL" +depends= +depends_dev="libnih-dev" +makedepends="$depends_dev" +install="$pkgname.post-deinstall $pkgname.post-upgrade" +subpackages="$pkgname-doc" +source="http://upstart.ubuntu.com/download/${pkgver%.*}/upstart-${pkgver}.tar.gz" + +_builddir="${srcdir}/${pkgname}-${pkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --bindir=/bin \ + --sbindir=/sbin \ + --sysconfdir=/etc \ + --localstatedir=/var || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="37740f81b6d12a53072603fadee451c9 upstart-0.6.7.tar.gz" diff --git a/testing/upstart/upstart.post-deinstall b/testing/upstart/upstart.post-deinstall new file mode 100644 index 0000000000..99b57c4635 --- /dev/null +++ b/testing/upstart/upstart.post-deinstall @@ -0,0 +1,3 @@ +#!/bin/sh + +busybox --install -s diff --git a/testing/upstart/upstart.post-upgrade b/testing/upstart/upstart.post-upgrade new file mode 100644 index 0000000000..99b57c4635 --- /dev/null +++ b/testing/upstart/upstart.post-upgrade @@ -0,0 +1,3 @@ +#!/bin/sh + +busybox --install -s diff --git a/testing/usb-modeswitch/APKBUILD b/testing/usb-modeswitch/APKBUILD new file mode 100644 index 0000000000..486d7d4b1e --- /dev/null +++ b/testing/usb-modeswitch/APKBUILD @@ -0,0 +1,60 @@ +# Maintainer: Leonardo Arena <rnalrd@gmail.com> +pkgname=usb-modeswitch +pkgver=1.1.7 +pkgrel=2 +_pkgdata=20110227 +pkgdesc="A mode switching tool for controlling flip flop (multiple device) USB gear" +url="http://www.draisberghof.de/usb_modeswitch/" +arch="all" +license="GPL" +depends="tcl" +makedepends="libusb-compat-dev" +install= +subpackages="$pkgname-doc" +source="http://www.draisberghof.de/usb_modeswitch/${pkgname}-${pkgver}.tar.bz2 + http://www.draisberghof.de/usb_modeswitch/${pkgname}-data-${_pkgdata}.tar.bz2 + usb_modeswitch.setup + Makefile.patch" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + mkdir -p $pkgdir/lib/udev/usb_modeswitch || return 1 + mkdir -p $pkgdir/etc || return 1 + mkdir -p $pkgdir/usr/share/man/man1 || return 1 + make clean || return 1 + sed -i -e 's/--mode=/-m/' Makefile || return 1 + + cd ../${pkgname}-data-${_pkgdata} +# sed -i -e 's%install -m644 -t $(PREFIX)/share/usb_modeswitch ./usb_modeswitch.d/*%cp -R $(PREFIX)/share/usb_modeswitch/* ./usb_modeswitch.d/%' Makefile || return 1 + sed -i -e 's/--mode=/-m/' Makefile || return 1 + patch -p1 < ../Makefile.patch +} + +build() { + cd "$_builddir" + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install + # adjusting the tcl script location + # mv ${pkgdir}/lib/udev/usb_modeswitch/usb_modeswitch.tcl \ + # ${pkgdir}/lib/udev/usb_modeswitch.tcl || return 1 + # rmdir ${pkgdir}/lib/udev/usb_modeswitch || return 1 + # mv ${pkgdir}/lib/udev/usb_modeswitch.tcl \ + # ${pkgdir}/lib/udev/usb_modeswitch || return 1 + + # installing data + cd $srcdir/usb-modeswitch-data-${_pkgdata} || return 1 + make DESTDIR=$pkgdir install || return 1 + # installing config + cp $srcdir/usb_modeswitch.setup $pkgdir/etc/ || return 1 +} + +md5sums="b75e42b7b2d30e9d4cbd5c159f925247 usb-modeswitch-1.1.7.tar.bz2 +2f5e5bfa21a97b705a22f95bec367793 usb-modeswitch-data-20110227.tar.bz2 +9a25756669937ac86774bb55733f09cd usb_modeswitch.setup +84de2517de202c22801b678f49a07e37 Makefile.patch" diff --git a/testing/usb-modeswitch/Makefile.patch b/testing/usb-modeswitch/Makefile.patch new file mode 100644 index 0000000000..d7f526aa1e --- /dev/null +++ b/testing/usb-modeswitch/Makefile.patch @@ -0,0 +1,16 @@ +--- a/Makefile ++++ b/Makefile +@@ -21,11 +21,11 @@ + install -D -m644 40-usb_modeswitch.rules $(RULESDIR)/40-usb_modeswitch.rules + + db-install: +- install -m644 -t $(PREFIX)/share/usb_modeswitch ./usb_modeswitch.d/* ++ cp ./usb_modeswitch.d/* $(PREFIX)/share/usb_modeswitch + + db-install-packed: + cd ./usb_modeswitch.d; tar -czf ../configPack.tar.gz * +- install -m644 -t $(PREFIX)/share/usb_modeswitch ./configPack.tar.gz ++ install -m644 $(PREFIX)/share/usb_modeswitch ./configPack.tar.gz + rm -f ./configPack.tar.gz + + diff --git a/testing/usb-modeswitch/usb_modeswitch.setup b/testing/usb-modeswitch/usb_modeswitch.setup new file mode 100644 index 0000000000..a86ef2a60a --- /dev/null +++ b/testing/usb-modeswitch/usb_modeswitch.setup @@ -0,0 +1,1696 @@ +# usb_modeswitch.setup +# +# Last modified: 2010-04-18 +# +# Collection of configurations for usb_modeswitch, a mode switching +# tool for controlling flip flop (multiple mode) USB devices +# +# Detailed instructions and a friendly forum on the homepage: +# http://www.draisberghof.de/usb_modeswitch +# +# You may want to check for a newer version of this file at: +# http://www.draisberghof.de/usb_modeswitch/usb_modeswitch.setup + + +##################################################################### +# Important! This file is now just a reference! Use the data package! +##################################################################### +# +# If your device is on the "Supported Hardware" list or your USB ID +# is contained in this file, rather use the latest release of +# USB_ModeSwitch (automatic handling) and the latest 'database'; see +# home page! +# +#################################################################### + + +# In order to activate a device included here, just remove the comment +# signs (";") from the respective entry. +# +# It might be preferable to copy device information to a different +# file, to avoid possible conflicts by activating multiple entries. +# +# The actual entries are further down, after the command reference. + + +# For custom settings: +# Numbers can be decimal or hexadecimal, MessageStrings MUST be +# hexadecimal without prepended "0x". Digits 9-16 in the known +# MessageStrings are arbitrary; I set them to "12345678" + +# What it all means (short command line flags appended): +# +# +# * DefaultVendor -v <hex number> +# * DefaultProduct -p <hex number> +# +# This is the ID the USB device shows after having been plugged in. +# The program needs this; if not found -> no action. +# +# +# * TargetVendor -V <hex number> +# * TargetProduct -P <hex number> +# +# These are the IDs of the USB device after successful mode switching. +# They are optional, but I recommend to provide them for better analysis. +# You definitely need them if you enable CheckSuccess (see below) +# +# +# * TargetProductList (file only) <comma separated hex strings> +# +# Like TargetProduct, but more than one possibility. Only used in automated +# config files (in /etc/usb_modeswitch.d). +# +# +# * TargetClass -C <hex number> +# +# Some weird devices don't change IDs. They only switch the device class. +# If the device has the target class -> no action (and vice versa) +# +# +# * MessageEndpoint -m <hex number> +# +# A kind of address inside the interface to which the "message" +# (the sequence that does the actual switching) is directed. +# Starting from version 0.9.7 the MessageEndpoint is autodetected +# if not given +# +# +# * MessageContent -M <hex string> +# +# A hex string containing the "message" sequence; it will be +# sent as a USB bulk transfer. +# +# +# * ResponseEndpoint -r <hex number> +# * NeedResponse <0/1> -n +# +# Some devices were reported to require receiving the response of the +# bulk transfer to do the switching properly. Usually not needed. +# Starting from version 1.0.0 the ResponseEndpoint is autodetected +# if not given +# +# +# * DetachStorageOnly <0/1> -d +# +# Some devices just need to be detached from the usb-storage +# driver to initiate the mode switching. Using this feature +# instead of removing the whole usbstorage module keeps other +# storage devices working. +# +# +# * HuaweiMode <0/1> -H +# +# Some Huawei devices can be switched by a special control +# message. +# +# +# * SierraMode <0/1> -S +# +# Some Sierra devices can be switched by a special control +# message. +# +# +# * SonyMode <0/1> -O +# +# Some Sony-Ericsson devices can be switched by a special control +# message. This is experimental and might not have a stable result +# +# +# * ResetUSB <0/1> -R +# +# Some devices need a rougher treatment. If the switching seems +# to do something (run udevmonitor), but your system does not reflect +# it, try this somewhat brutal method to do a reset after switching. +# Mind that if your device switched OK before, this will probably set +# it back to storage mode ... +# +# +# * Interface -i <hex number> +# * Configuration -u <hex number> +# * AltSetting -a <hex number> +# +# More USB parameter to help with tricky devices and for doing lots +# of cruel experiments ... +# +## Note: +## AltSetting/Configuration changes and ResetUSB are executed after all +## other steps and can be combined or used on their own (e.g. a reset +## might have the same effect as a manual replug) +# +# +# * InquireDevice <0|1> -I (disables inquiry) +# +# The standard since 1.0.0 is to do a SCSI inquiry on the default device +# before other actions. This might be a future way to identify a device +# without ambiguities. If it causes trouble with your device, just disable. +# +# +# * CheckSuccess -s <number> +# +# Check continuously if the switch succeeded for max <number> seconds. +# First, an interface access test: most devices vanish after +# switching and can't be accessed anymore. +# Second, a recount of target devices: one more than at the initial +# count, at the same bus with a higher device number -> device +# switched fine. +# It's safe to give a higher value than needed; checking stops as +# soon as the target device is found +# +# +# * NoDriverLoading <0|1> (no command line parameter) +# +# The binary tells the wrapper script NOT to check for and initiate +# binding of the serial driver after switching. +# Mostly useful for non-modem devices +# +# +# -> All other entries are just ignored <- + +# Additional command line flags: +# +# Verbose output -W +# No output at all -q +# Other config file -c <file> + +# For filling in all this information for an unknown device, +# see instructions and links on the homepage: +# http://www.draisberghof.de/usb_modeswitch +# +# If you find working codes and configurations, please contribute +# them! + + +;CheckSuccess=2 + +####################################################### +# Option GlobeSurfer Icon (aka "Vodafone EasyBox") +# +# The message SHOULD be the same for all Option devices + +;DefaultVendor= 0x05c6 +;DefaultProduct= 0x1000 + +;TargetVendor= 0x0af0 +;TargetProduct= 0x6600 + +# only for reference and 0.x versions +# MessageEndpoint=0x05 + +;MessageContent="55534243123456780000000000000601000000000000000000000000000000" + + +####################################################### +# Option GlobeSurfer Icon 7.2 +# +# Contributor: The Pharscape Forum + +;DefaultVendor= 0x05c6 +;DefaultProduct= 0x1000 + +;TargetVendor= 0x0af0 +;TargetProduct= 0x6901 + +# only for reference and 0.x versions +# MessageEndpoint=0x05 + +;MessageContent="55534243123456780000000000000601000000000000000000000000000000" + + +######################################################## +# Option GlobeTrotter GT MAX 3.6 (aka "T-Mobile Web'n'walk Card Compact II") +# +# Contributor: Bernd Holzmüller + +;DefaultVendor= 0x05c6 +;DefaultProduct= 0x1000 + +;TargetVendor= 0x0af0 +;TargetProduct= 0x6600 + +# only for reference and 0.x versions +# MessageEndpoint=0x05 + +;MessageContent="55534243123456780000000000000601000000000000000000000000000000" + +# only for reference and 0.x versions +# ResponseEndpoint=0x84 + +;ResponseNeeded=1 + + +######################################################## +# Option GlobeTrotter GT MAX "7.2 Ready" +# +# Contributors: Lucas Benedicic, Morgwai Kotarbinski + +;DefaultVendor= 0x05c6 +;DefaultProduct= 0x1000 + +;TargetVendor= 0x0af0 +;TargetProduct= 0x6701 + +# only for reference and 0.x versions +# MessageEndpoint=0x05 + +;MessageContent="55534243123456780000000000000601000000000000000000000000000000" + + +######################################################## +# Option GlobeTrotter EXPRESS 7.2 (aka "T-Mobile wnw Express II") +# +# Contributor: Fridtjof Busse + +;DefaultVendor= 0x05c6 +;DefaultProduct= 0x1000 + +;TargetVendor= 0x0af0 +;TargetProduct= 0x6701 + +# only for reference and 0.x versions +# MessageEndpoint=0x05 + +;MessageContent="55534243123456780000000000000601000000000000000000000000000000" + +# Response reading needed according to one (1) report + +# only for reference and 0.x versions +# ResponseEndpoint=0x84 + +;ResponseNeeded=1 + + +####################################################### +# Option GlobeSurfer Icon 7.2, new firmware (HSO driver) +# +# Vendor/ProductID don't change when switching, only the device +# class does. Most new Option devices work with this. Just adapt IDs! +# HSO driver support is available at Pharscape (www.pharscape.org) +# +# Contributor: Paul Hardwick + +;DefaultVendor= 0x0af0 +;DefaultProduct= 0x6911 + +;TargetClass= 0xff + +# only for reference and 0.x versions +# MessageEndpoint=0x05 + +;MessageContent="55534243123456780000000000000601000000000000000000000000000000" + + +######################################################## +# Option iCON 210 +# PROLiNK PHS100 (various looks) +# Hyundai Mobile MB-810 +# +# One report of switching with DetachStorageOnly. Needs at least +# a second to settle before binding to usbserial +# +# Contributor: wahlm, Peter Kraker, Pakdhetimin Sekum + +;DefaultVendor= 0x1e0e +;DefaultProduct= 0xf000 + +;TargetVendor= 0x1e0e +;TargetProduct= 0x9000 + +# only for reference and 0.x versions +# MessageEndpoint=0x01 + +;MessageContent="555342431234567800000000000006bd000000020000000000000000000000" + +# only for reference and 0.x versions +# ResponseEndpoint=0x01 + +;ResponseNeeded=1 + + +####################################################### +# Option iCON 225 HSDPA +# +# New Firmware. HSO driver support is available at Pharscape (www.pharscape.org) +# +# Contributor: Matti Viljanen + +;DefaultVendor= 0x0af0 +;DefaultProduct= 0x6971 + +;TargetClass= 0xff + +# only for reference and 0.x versions +# MessageEndpoint=0x05 + +;MessageContent="555342431223456780100000080000601000000000000000000000000000000" + + +####################################################### +# Option GlobeTrotter HSUPA Modem (aka "T-Mobile Web'n'walk Card Compact III') +# +# New Firmware. HSO driver support is available at Pharscape (www.pharscape.org) +# +# Contributor: Gerold Gruber + +;DefaultVendor= 0x0af0 +;DefaultProduct= 0x7011 + +;TargetClass= 0xff + +# only for reference and 0.x versions +# MessageEndpoint=0x05 + +;MessageContent="55534243785634120100000080000601000000000000000000000000000000" + + +###################################################### +# Option iCON 401 +# +# HSO driver +# +# Contributor: Vincent Teoh + +;DefaultVendor= 0x0af0 +;DefaultProduct= 0x7401 + +;TargetClass= 0xff + +# only for reference and 0.x versions +# MessageEndpoint=0x01 + +;MessageContent="55534243785634120100000080000601000000000000000000000000000000" + +# only for reference and 0.x versions +# ResponseEndpoint=0x81 + +;ResponseNeeded=1 + + +######################################################## +# Vodafone K3760 (made by Option, HSO driver) +# +# Contributor: The Solutor + +;DefaultVendor= 0x0af0 +;DefaultProduct= 0x7501 + +;TargetClass= 0xff + +# only for reference and 0.x versions +# MessageEndpoint=0x01 + +;MessageContent="55534243785634120100000080000601000000000000000000000000000000" + + +######################################################## +# AT&T USBConnect Quicksilver (made by Option, HSO driver) +# +# Contributor: sissie from Bullteam + +;DefaultVendor= 0x0af0 +;DefaultProduct= 0xd033 + +;TargetClass= 0xff + +# only for reference and 0.x versions +# MessageEndpoint=0x05 + +;MessageContent="55534243785634120100000080000601000000000000000000000000000000" + + +######################################################## +# Huawei E220 (aka "Vodafone EasyBox II", aka "T-Mobile wnw Box Micro") +# Huawei E230 +# Huawei E270 +# Huawei E870 +# and probably most other Huawei devices (just adapt product ID) +# +# Two options: 1. removal of "usb-storage" 2. the special control +# message found by Miroslav Bobovsky +# +# Contributor: Hans Kurent, Denis Sutter, Vincent Teoh + +;DefaultVendor= 0x12d1; +;DefaultProduct= 0x1003 + +;TargetClass= 0xff + +# choose one of these: +;DetachStorageOnly=1 +;HuaweiMode=1 + + +######################################################## +# Huawei E169 +# +# Contributor: Dale Lane + +;DefaultVendor= 0x12d1; +;DefaultProduct= 0x1001 + +;TargetClass= 0xff + +# choose one of these: +;DetachStorageOnly=1 +;HuaweiMode=1 + + +######################################################## +# Huawei E180 +# +# Contributor: Tom Dawahare + +;DefaultVendor= 0x12d1 +;DefaultProduct= 0x1414 + +;TargetClass= 0xff + +# choose one of these: +;DetachStorageOnly=1 +;HuaweiMode=1 + + +######################################################## +# Huawei E630 +# +# There seem to be modem-only variants around - no storage, +# no switching +# +# Contributor: Joakim Wenrgren + +;DefaultVendor= 0x1033 +;DefaultProduct= 0x0035 + +;TargetVendor= 0x12d1 +;TargetProduct= 0x1003 + +# choose one of these: +;HuaweiMode=1 +;DetachStorageOnly=1 + + +######################################################## +# ZTE MF620 (aka "Onda MH600HS") +# +# Probably works with DetachStorageOnly too +# +# Contributor: Flávio Moringa + +;DefaultVendor= 0x19d2 +;DefaultProduct= 0x2000 + +;TargetVendor= 0x19d2 +;TargetProduct= 0x0001 + +# only for reference and 0.x versions +# MessageEndpoint=0x04 + +;MessageContent="55534243123456780000000000000600000000000000000000000000000000" + + +######################################################## +# ZTE MF622 (aka "Onda MDC502HS"), MF100 and others +# +# Contributor: andylog + +;DefaultVendor= 0x19d2 +;DefaultProduct= 0x2000 + +;TargetVendor= 0x19d2 +;TargetProduct= 0x0002 + +# only for reference and 0.x versions +# MessageEndpoint=0x04 + +;MessageContent="55534243f8f993882000000080000a85010101180101010101000000000000" + + +######################################################## +# ZTE MF628 +# +# Captured with "usbmon". Has a micro SD slot which can be +# activated alternatively +# +# Contributor: Alvaro Lopes <alvieboy at alvie dot com> + +;DefaultVendor= 0x19d2 +;DefaultProduct= 0x2000 + +# To modem mode: + +;TargetVendor= 0x19d2 +;TargetProduct= 0x0015 + +# only for reference and 0.x versions +# MessageEndpoint=0x08 + +;MessageContent="5553424312345678000000000000061b000000030000000000000000000000" + +# To SD slot mode: + +;TargetVendor= 0x05c6 +;TargetProduct= 0x2001 + +# only for reference and 0.x versions +# MessageEndpoint=0x08 + +;MessageContent="55534243123456782000000080000a86010101180101010101000000000000" + +# only for reference and 0.x versions +# ResponseEndpoint=0x07 + +;ResponseNeeded=1 + + +######################################################## +# ZTE MF622 (aka "Onda MDC502HS") +# ZTE MF626 +# ZTE MF628+ (tested version from Telia / Sweden) +# ZTE MF633 +# ZTE MF636 (aka "Telstra / BigPond 7.2 Mobile Card") +# ZTE MF637 +# +# Contributor: Joakim Wennergren and others + +;DefaultVendor= 0x19d2 +;DefaultProduct= 0x2000 + +;TargetVendor= 0x19d2 +;TargetProduct= 0x0031 + +# only for reference and 0.x versions +# MessageEndpoint=0x01 + +;MessageContent="5553424312345678000000000000061b000000030000000000000000000000" + + +######################################################## +# ZTE MF638 (aka "Onda MDC525UP") +# +# Contributor: andylog + +;DefaultVendor= 0x19d2 +;DefaultProduct= 0x2000 + +;TargetVendor= 0x19d2 +;TargetProduct= 0x0037 + +# only for reference and 0.x versions +# MessageEndpoint=0x01 + +;MessageContent="55534243123456782000000080000c85010101180101010101000000000000" + + +######################################################## +# ZTE AC8710 +# ZTE AC2726 +# and others +# +# Many new ZTE devices use this sequence. There are +# several ID combinations; check your default +# +# Contributor: Michael Khurtsiya, Amit Pundir and others + +;DefaultVendor= 0x19d2 +;DefaultProduct= 0xfff5 + +;TargetVendor= 0x19d2 +;TargetProduct= 0xffff + +# No. 2 + +;DefaultVendor= 0x19d2 +;DefaultProduct= 0xfff6 + +;TargetVendor= 0x19d2 +;TargetProduct= 0xfff1 + +# No. 3 + +;DefaultVendor= 0x19d2 +;DefaultProduct= 0xfff5 + +;TargetVendor= 0x19d2 +;TargetProduct= 0xfff1 + +# only for reference and 0.x versions +# MessageEndpoint=0x05 + +;MessageContent="5553424312345678c00000008000069f030000000000000000000000000000" + + +######################################################## +# ZTE AC2710 (EVDO) +# +# Contributor: Wasim Baig + +;DefaultVendor= 0x19d2 +;DefaultProduct= 0xfff5 + +;TargetVendor= 0x19d2 +;TargetProduct= 0xffff + +;MessageContent="5553424312345678c00000008000069f010000000000000000000000000000" + +# Just for information: try it with the message from the AC8710 ... + + +######################################################## +# ZTE 6535-Z +# +# Contributor: David Taillandier + +;DefaultVendor= 0x19d2 +;DefaultProduct= 0x2000 + +;TargetVendor= 0x19d2 +;TargetProduct= 0x0052 + +# only for reference and 0.x versions +# MessageEndpoint=0x01 + +;MessageContent="55534243123456782000000080000c85010101180101010101000000000000" + + +######################################################## +# ONDA MT503HS (most likely a ZTE model) +# +# Contributor: Lucio Asnaghi a.k.a. kRAkEn/gORe + +;DefaultVendor= 0x19d2 +;DefaultProduct= 0x2000 + +;TargetVendor= 0x19d2 +;TargetProduct= 0x0002 + +# only for reference and 0.x versions +# MessageEndpoint=0x08 + +;MessageContent="55534243b0c8dc812000000080000a85010101180101010101000000000000" + + +######################################################## +# ONDA MT505UP (most likely a ZTE model) +# +# Contributor: Alex Scortegagna + +;DefaultVendor= 0x19d2 +;DefaultProduct= 0x2000 + +;TargetVendor= 0x19d2 +;TargetProduct= 0x0002 + +# only for reference and 0.x versions +# MessageEndpoint=0x03 + +;MessageContent="55534243123456780000010080000a28000000001c00002000000000000000" + + +######################################################## +# Novatel Wireless Ovation MC950D HSUPA +# Novatel Wireless Merlin XU950D +# Novatel Wireless Ovation 930D +# +# Contributor: Razvan Dragomirescu, Mike Kirk + +;DefaultVendor= 0x1410 +;DefaultProduct= 0x5010 + +;TargetVendor= 0x1410 +;TargetProduct= 0x4400 + +# only for reference and 0.x versions +# MessageEndpoint=0x09 + +;MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + + +######################################################## +# Novatel U727 USB modem +# +# Modem only versions (no switching required) are around. +# +# Contributor: Chris Thielen + +;DefaultVendor= 0x1410 +;DefaultProduct= 0x5010 + +;TargetVendor= 0x1410 +;TargetProduct= 0x4100 + +# only for reference and 0.x versions +# MessageEndpoint=0x08 + +;MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + + +######################################################## +# Novatel MC990D +# +# Contributor: Joakim Wennergren + +;DefaultVendor= 0x1410 +;DefaultProduct= 0x5020 + +;Interface= 5 + +# only for reference and 0.x versions +# MessageEndpoint=0x01 + +;MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + + +######################################################## +# Novatel U760 USB modem +# +# Contributor: Richard Laager + +;DefaultVendor= 0x1410 +;DefaultProduct= 0x5030 + +;TargetVendor= 0x1410 +;TargetProduct= 0x6000 + +# only for reference and 0.x versions +# MessageEndpoint=0x08 + +;MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + + +######################################################## +# Alcatel One Touch X020 (aka OT-X020, aka MBD-100HU, aka Nuton 3.5G), works with Emobile D11LC +# Alcatel One Touch X030 (aka OT-X030, aka Nuton NT36HD) +# +# Contributor: Aleksandar Samardzic, Marcelo Fernandez + +;DefaultVendor= 0x1c9e +;DefaultProduct= 0x1001 + +;TargetVendor= 0x1c9e +;TargetProduct= 0x6061 + +# only for reference and 0.x versions +# MessageEndpoint=0x05 + +;MessageContent="55534243123456780000000000000606f50402527000000000000000000000" + + +######################################################## +# Alcatel X200/X060S + +;DefaultVendor= 0x1bbb +;DefaultProduct= 0xf000 + +;TargetVendor= 0x1bbb +;TargetProduct= 0x0000 + +# only for reference and 0.x versions +# MessageEndpoint=0x01 + +;MessageContent="55534243123456788000000080000606f50402527000000000000000000000" + + +######################################################## +# AnyDATA ADU-500A, ADU-510A, ADU-510L, ADU-520A +# +# This ID gets an "Option" treatment by newer kernels. +# Use module option "option_zero_cd=2" with usb-storage. +# A kernel patch to fix the problem is pending +# +# Contributor: Vladimir Poluektov, Gabriel Smolar + +;DefaultVendor= 0x05c6 +;DefaultProduct= 0x1000 + +;TargetVendor= 0x16d5 +;TargetProduct= 0x6502 + +# only for reference and 0.x versions +# MessageEndpoint=0x08 + +;MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + + +######################################################## +# BandLuxe C120 +# +# Reportedly needs several switch calls in a certain order. See +# http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?t=71 +# This might be a case to try the new ResetUSB function +# +# Contributor: Alexander Czigler + +;DefaultVendor= 0x1a8d +;DefaultProduct= 0x1000 + +;TargetVendor= 0x1a8d +;TargetProduct= 0x1002 + +# only for reference and 0.x versions +# MessageEndpoint=0x05 + +;MessageContent="55534243123456781200000080000603000000020000000000000000000000" + +# only for reference and 0.x versions +# ResponseEndpoint=0x82 + +;ResponseNeeded=1 + + +######################################################## +# Solomon S3Gm-660 +# +# Same notes apply as with the BandLuxe C120 above +# +# Contributor: Alexander Czigler + +;DefaultVendor= 0x1dd6 +;DefaultProduct= 0x1000 + +;TargetVendor= 0x1dd6 +;TargetProduct= 0x1002 + +# only for reference and 0.x versions +# MessageEndpoint=0x05 + +;MessageContent="55534243123456781200000080000603000000020000000000000000000000" + +# only for reference and 0.x versions +# ResponseEndpoint=0x82 + +;ResponseNeeded=1 + + +######################################################## +# C-motech D-50 (aka "CDU-680") +# +# Interesting notes about the device in the forum post at +# http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?t=69 +# +# Contributor: Alexander Czigler + +;DefaultVendor= 0x16d8 +;DefaultProduct= 0x6803 + +;TargetVendor= 0x16d8 +;TargetProduct= 0x680a + +# only for reference and 0.x versions +# MessageEndpoint=0x07 + +;MessageContent="555342431234567824000000800008ff524445564348470000000000000000" + + +######################################################## +# C-motech CGU-628 (aka "Franklin Wireless CGU-628A" aka "4G Systems XS Stick W12") +# +# Contributor: Mathias Picker + +;DefaultVendor= 0x16d8 +;DefaultProduct= 0xf000 + +;TargetVendor= 0x16d8 +;TargetProduct= 0x6006 + +# only for reference and 0.x versions +# MessageEndpoint=0x09 + +;MessageContent="55534243d85dd88524000000800008ff524445564348470000000000000000" + + +######################################################## +# Toshiba G450 +# +# Contributor: Mijail Anton + +;DefaultVendor= 0x0930 +;DefaultProduct= 0x0d46 + +;TargetVendor= 0x0930 +;TargetProduct= 0x0d45 + +# only for reference and 0.x versions +# MessageEndpoint=0x05 + +;MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + + +######################################################## +# UTStarcom UM175 (distributor "Alltel") +# +# Contributor: Mark A. Ziesemer + +;DefaultVendor= 0x106c +;DefaultProduct= 0x3b03 + +;TargetVendor= 0x106c +;TargetProduct= 0x3715 + +# only for reference and 0.x versions +# MessageEndpoint=0x05 + +;MessageContent="555342431234567824000000800008ff024445564348470000000000000000" + + +######################################################## +# Hummer DTM5731 +# +# Contributor: "paul" + +;DefaultVendor= 0x1ab7 +;DefaultProduct= 0x5700 + +;TargetVendor= 0x1ab7 +;TargetProduct= 0x5731 + +# only for reference and 0.x versions +# MessageEndpoint=0x07 + +;MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + + +######################################################## +# A-Link 3GU +# +# Contributor: A-Link Europe Ltd. + +;DefaultVendor= 0x1e0e +;DefaultProduct= 0xf000 + +;TargetVendor= 0x1e0e +;TargetProduct= 0x9200 + +# only for reference and 0.x versions +# MessageEndpoint=0x01 + +;MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + + +######################################################## +# Sierra Wireless Compass 597 +# +# Contributor: Vincent Teoh + +;DefaultVendor= 0x1199 +;DefaultProduct= 0x0fff + +;TargetVendor= 0x1199 +;TargetProduct= 0x0023 + +;SierraMode=1 + + +######################################################## +# Sierra Wireless AirCard 881U (most likely 880U too) +# +# Contributor: Vincent Teoh + +;DefaultVendor= 0x1199 +;DefaultProduct= 0x0fff + +;TargetVendor= 0x1199 +;TargetProduct= 0x6856 + +;SierraMode=1 + + +######################################################## +# Sony Ericsson MD400 +# +# Special procedure, takes around 25 secs. on the whole + +;DefaultVendor= 0x0fce +;DefaultProduct= 0xd0e1 + +;TargetClass= 0x02 + +;SonyMode=1 +;Configuration=2 + + +######################################################## +# LG LDU-1900D EV-DO (Rev. A) +# +# Recommended init command: ATE0V1&D2&C1S0=0 +# +# Contributor: Jérôme Oufella + +;DefaultVendor= 0x1004 +;DefaultProduct= 0x1000 + +# only for reference and 0.x versions +# MessageEndpoint=0x08 + +;MessageContent="55534243123456780000000000000aff554d53434847000000000000000000" + + +######################################################## +# Samsung SGH-Z810 USB (with microSD card) +# +# This ID gets a wrong "Option" treatment by newer kernels +# between 2.6.29 and 2.6.32 +# Use module option "option_zero_cd=2" with usb-storage. +# A kernel patch to fix the problem is pending +# +# Contributor: A Friend + +;DefaultVendor= 0x05c6 +;DefaultProduct= 0x1000 + +;TargetVendor= 0x04e8 +;TargetProduct= 0x6601 + +# only for reference and 0.x versions +# MessageEndpoint=0x05 + +;MessageContent="55534243123456780000000000000616000000000000000000000000000000" + + +######################################################## +# MobiData MBD-200HU +# +# Contributor: Stefan Olejnik + +;DefaultVendor= 0x1c9e +;DefaultProduct= 0xf000 + +;TargetVendor= 0x1c9e +;TargetProduct= 0x9000 + +# only for reference and 0.x versions +# MessageEndpoint=0x01 + +;MessageContent="55534243123456788000000080000606f50402527000000000000000000000" + + +######################################################## +# ST Mobile Connect HSUPA USB Modem +# +# Use /dev/ttyUSB2 for connecting +# +# Contributor: Vincent Teoh + +;DefaultVendor= 0x1c9e +;DefaultProduct= 0xf000 + +;TargetVendor= 0x1c9e +;TargetProduct= 0x9063 + +# only for reference and 0.x versions +# MessageEndpoint=0x01 + +;MessageContent="55534243123456788000000080000606f50402527000000000000000000000" + + +######################################################## +# MyWave SW006 Sport Phone/Modem Combination +# +# Has a card reader too, working fine +# +# Contributor: Aaron Guidazzi + +;DefaultVendor= 0x1c9e +;DefaultProduct= 0x9200 + +;TargetVendor= 0x1c9e +;TargetProduct= 0x9202 + +# only for reference and 0.x versions +# MessageEndpoint=0x03 + +;MessageContent="55534243123456780000000000000606f50402527000000000000000000000" + + +######################################################## +# Cricket A600 +# +# Switches to ACM device. Might need a ResetUSB after switching - or not +# +# Contributor: Jeffrey Hoogland + +;DefaultVendor= 0x1f28 +;DefaultProduct= 0x0021 + +;TargetVendor= 0x1f28 +;TargetProduct= 0x0020 + +# only for reference and 0.x versions +# MessageEndpoint=0x08 + +;MessageContent="555342431234567824000000800108df200000000000000000000000000000" + +# Afterwards (optional): "usb_modeswitch -v 0x1f28 -p 0x0020 -R" + + +######################################################## +# EpiValley SEC-7089 (featured by Alegro and Starcomms / iZAP) +# +# Contributor: Chris Wright + +;DefaultVendor= 0x1b7d +;DefaultProduct= 0x0700 + +;TargetVendor= 0x1b7d +;TargetProduct= 0x0001 + +# only for reference and 0.x versions +# MessageEndpoint=0x07 + +;MessageContent="555342431234567824000000800008FF05B112AEE102000000000000000000" + + +######################################################## +# Samsung U209 +# +# Has a modem and a storage device after switching +# +# Contributor: Arif Ahmed + +;DefaultVendor= 0x04e8 +;DefaultProduct= 0xf000 + +;TargetVendor= 0x04e8 +;TargetProduct= 0x6601 + +# only for reference and 0.x versions +# MessageEndpoint=0x05 + +;MessageContent="55534243123456780000000000000616000000000000000000000000000000" + + +######################################################## +# Huawei E270+ (HSPA+ modem) +# Huawei E1762 +# Huawei E1820 +# +# Contributor: Paranoid Paranoia + +;DefaultVendor= 0x12d1 +;DefaultProduct= 0x1446 + +;TargetVendor= 0x12d1 +;TargetProduct= 0x14ac + +;MessageContent="55534243123456780000000000000011060000000000000000000000000000" + + +######################################################## +# Huawei E1550 +# Huawei E1750 +# +# Contributor: Anders Blomdell, Ahmed Soliman + +;DefaultVendor= 0x12d1 +;DefaultProduct= 0x1446 + +;TargetVendor= 0x12d1 +;TargetProduct= 0x1001 + +# only for reference and 0.x versions +# MessageEndpoint=0x01 + +;MessageContent="55534243123456780000000000000011060000000000000000000000000000" + + +######################################################## +# ZTE K3520-Z +# +# Contributor: Paul McDermott + +;DefaultVendor= 0x19d2 +;DefaultProduct= 0x2000 + +;TargetVendor= 0x19d2 +;TargetProduct= 0x0055 + +# only for reference +# MessageEndpoint=0x09 + +;MessageContent="55534243123456782000000080000c85010101180101010101000000000000" + + +######################################################## +# MobiData MBD-200HU (aka 4G XS Stick W10/W14, aka Micromax MMX 300G, +# aka ChinaBird CBCPL68) +# +# Contributor: Chris + +;DefaultVendor= 0x1c9e +;DefaultProduct= 0xf000 + +;TargetVendor= 0x1c9e +;TargetProduct= 0x9603 + +# only for reference and 0.x versions +# MessageEndpoint=0x01 + +;MessageContent="55534243123456788000000080000606f50402527000000000000000000000" + + +######################################################## +# D-Link DWM-162-U5, Micromax MMX 300c +# +# Contributor: Zhang Le + +;DefaultVendor= 0x05c6 +;DefaultProduct= 0x2001 + +;TargetVendor= 0x1e0e +;TargetProductList="ce16,cefe" + +;MessageContent="55534243e0c26a85000000000000061b000000020000000000000000000000" + + +######################################################## +# Novatel MC760 3G +# +# Contributor: Matt Roberds + +;DefaultVendor= 0x1410 +;DefaultProduct= 0x5031 + +;TargetVendor= 0x1410 +;TargetProduct= 0x6002 + +;MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + + +######################################################## +# ZTE MF110 +# +# Contributor: Moritz Grosse-Wentrup + +;DefaultVendor= 0x19d2 +;DefaultProduct= 0x0053 + +;TargetVendor= 0x19d2 +;TargetProduct= 0x0031 + +;MessageContent="55534243123456782000000080000c85010101180101010101000000000000" + + +######################################################## +# Philips TalkTalk (NXP Semiconductors "Dragonfly") +# + +;DefaultVendor= 0x0471 +;DefaultProduct= 0x1237 + +;TargetVendor= 0x0471 +;TargetProduct= 0x1234 + +;MessageContent="5553424312345678000000000000061b000000030000000000000000000000" + + +######################################################## +# HuaXing E600 (NXP Semiconductors "Dragonfly") +# +# Contributor: Emfox Zhou + +;DefaultVendor= 0x0471 +;DefaultProduct= 0x1237 + +;TargetVendor= 0x0471 +;TargetProduct= 0x1206 + +;MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + +;Configuration=2 + + +######################################################## +# ZTE K3565 +# + +;DefaultVendor= 0x19d2 +;DefaultProduct= 0x2000 + +;TargetVendor= 0x19d2 +;TargetProduct= 0x0063 + +;MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + + +######################################################## +# Motorola 802.11 bg WLAN (TER/GUSB3-E) +# +# Contributor: Prashad Prashant + +;DefaultVendor= 0x148f +;DefaultProduct= 0x2578 + +;TargetVendor= 0x148f +;TargetProduct= 0x9021 + +;MessageContent="55534243908ecd89000000000000061b000000020000000000000000000000" + + +######################################################## +# Huawei E1612 +# +# Contributor: Genar Codina + +;DefaultVendor= 0x12d1 +;DefaultProduct= 0x1446 + +;TargetVendor= 0x12d1 +;TargetProduct= 0x1406 + +;MessageContent="55534243123456780000000000000011060000000000000000000000000000" + + +######################################################## +# Huawei E1690 +# Huawei E1692 +# Huawei E1762 +# +# Contributor: Carolin Latze and others + +;DefaultVendor= 0x12d1 +;DefaultProduct= 0x1446 + +;TargetVendor= 0x12d1 +;TargetProduct= 0x140c + +;MessageContent="55534243123456780000000000000011060000000000000000000000000000" + + +######################################################## +# C-motech CHU-629S +# + +;DefaultVendor= 0x16d8 +;DefaultProduct= 0x700a + +;TargetClass=0xff + +;MessageContent="55534243123456782400000080000dfe524445564348473d4e444953000000" + + +######################################################## +# Sagem F@ST 9520-35-GLR +# +# Contributor: Yaroslav Levandovskiy + +;DefaultVendor= 0x1076 +;DefaultProduct= 0x7f40 + +;TargetVendor= 0x1076 +;TargetProduct= 0x7f00 + +# Since version 1.0.6 !! +;GCTMode=1 + + +######################################################## +# Nokia CS-15 +# +# Contributor: Antti Turunen + +;DefaultVendor= 0x0421 +;DefaultProduct= 0x0610 + +;TargetVendor= 0x0421 +;TargetProduct= 0x0612 + +# only for reference and 0.x versions +# MessageEndpoint=0x01 + +;MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + + +######################################################## +# Huawei K3765 +# +# Contributor: Felix Schwarz + +;DefaultVendor= 0x12d1 +;DefaultProduct= 0x1520 + +;TargetVendor= 0x12d1 +;TargetProduct= 0x1465 + +;MessageContent="55534243123456780000000000000011060000000000000000000000000000" + +######################################################## +# Huawei K4505 +# +# Contributor: Nikolaos Koutsianas + +;DefaultVendor= 0x12d1 +;DefaultProduct= 0x1521 + +;TargetVendor= 0x12d1 +;TargetProduct= 0x1464 + +;MessageContent="55534243123456780000000000000011060000000000000000000000000000" + + +######################################### +# Vodafone MD950 (Wisue Technology) +# +# Contributor: Bob Williams + +;DefaultVendor= 0x0471 +;DefaultProduct= 0x1210 + +# The report said that giving the target IDs prevented +# the device from switching. Got to try it out ... + +#TargetVendor= 0x1dbc +#TargetProduct= 0x0005 + +;MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + + +######################################################## +# Siptune LM-75 ("LinuxModem") +# +# Contributor: Antti Turunen + +;DefaultVendor= 0x05c6 +;DefaultProduct= 0xf000 + +;TargetVendor= 0x05c6 +;TargetProduct= 0x9000 + +# only for reference and 0.x versions +# MessageEndpoint=0x01 + +;MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + + +######################################################## +# Zydas ZD1211RW WLAN USB, Sphairon HomeLink 1202 (Variant 1) +# +# WLAN devices from Linux kernel + +;DefaultVendor= 0x0ace +;DefaultProduct= 0x2011 + +;MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + + +######################################################## +# Zydas ZD1211RW WLAN USB, Sphairon HomeLink 1202 (Variant 2) +# +# WLAN devices from Linux kernel + +;DefaultVendor= 0x0ace +;DefaultProduct= 0x20ff + +;MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + + +######################################################## +# Vertex Wireless 100 Series +# +# Contributor: Reinis Danne + +;DefaultVendor= 0x05c6 +;DefaultProduct= 0x1000 + +;TargetVendor= 0x1fe7 +;TargetProduct= 0x0100 + +# only for reference and 0.x versions +# MessageEndpoint=0x05 + +;MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + + +######################################################## +# AVM Fritz!Wlan USB Stick N +# + +;DefaultVendor= 0x057c +;DefaultProduct= 0x84ff + +;TargetVendor= 0x057c +;TargetProduct= 0x8401 + +;MessageContent="5553424312345678000000000000061b000000ff0000000000000000000000" + + +######################################################## +# InfoCert Business Key (SmartCard/Reader emulation) +# +# Contributor: Bicio + +;DefaultVendor= 0x072f +;DefaultProduct= 0x100d + +;TargetVendor= 0x072f +;TargetProduct= 0x90cc + +# only for reference and 0.x versions +# MessageEndpoint=0x02 + +;MessageContent="01b0000000000000000000000000000000000000000000000000000000000000" + + +######################################################## +# UTStarcom UM185E (distributor "Alltel") +# +# Contributor: Jason Smith + +;DefaultVendor= 0x106c +;DefaultProduct= 0x3b06 + +;TargetVendor= 0x106c +;TargetProduct= 0x3717 + +# only for reference and 0.x versions +# MessageEndpoint=0x05 + +;MessageContent="55534243b82e238c24000000800008ff020000000000000000000000000000 + + +######################################################## +# ZTE AC581 +# +# Contributor: Alberto Maurizi + +;DefaultVendor= 0x19d2 +;DefaultProduct= 0x0026 + +;TargetVendor= 0x19d2 +;TargetProduct= 0x0094 + +# only for reference and 0.x versions +# MessageEndpoint=0x02 + +;MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + + +######################################################## +# Huawei U7510 / U7517 +# +# Contributor: Isaac Salgado + +;DefaultVendor= 0x12d1 +;DefaultProduct= 0x101e + +;TargetClass=0xff + +# only for reference and 0.x versions +# MessageEndpoint=0x01 + +MessageContent="55534243123456780600000080000601000000000000000000000000000000" + + +######################################################## +# Beceem BCSM250 +# +# Contributor: Alexander Gordeev + +;DefaultVendor= 0x198f +;DefaultProduct=0xbccd + +;TargetVendor= 0x198f +;TargetProduct= 0x0220 + +# only for reference and 0.x versions +# MessageEndpoint=2 + +MessageContent="55534243f0298d8124000000800006bc626563240000000000000000000000" + + +######################################################## +# LG HDM-2100 (EVDO Rev.A USB modem) +# +# Contributor: Jérôme Oufella + +;DefaultVendor= 0x1004 +;DefaultProduct=0x607f + +;TargetVendor= 0x1004 +;TargetProduct= 0x6114 + +# only for reference and 0.x versions +# MessageEndpoint=8 + +;MessageContent="1201100102000040041014610000010200018006000100001200" + + +######################################################## +# Kyocera W06K CDMA modem +# +# Contributor: Ying-Hung Lo + +;DefaultVendor= 0x0482 +;DefaultProduct=0x024d + +;Configuration=2 + + +######################################################## +# Digicom 8E4455 +# +# Contributor: Alberto Ciampini + +;DefaultVendor= 0x1266 +;DefaultProduct=0x1000 + +;TargetVendor= 0x1266 +;TargetProduct= 0x1009 + +;NeedResponse=1 + +# only for reference and 0.x versions +# MessageEndpoint=1 + +;MessageContent="5553424312345678000000000000061e000000000000000000000000000000" +;MessageContent2="5553424387654321000000000000061b000000020000000000000000000000" + + +######################################################## +# Sony Ericsson MD300 +# +# Contributor: Betavine Project + +;DefaultVendor= 0x0fce +;DefaultProduct=0xd0cf + +;TargetClass=0x02 + +;DetachStorageOnly=1 +;Configuration=3 + + +######################################################## +# Franklin Wireless U210 +# +# Contributor: Adam J. Porter + +;DefaultVendor= 0x1fac +;DefaultProduct=0x0130 + +;TargetVendor= 0x1fac +;TargetProduct= 0x0131 + +;CheckSuccess=20 + +;MessageContent="555342431234567824000000800108df200000000000000000000000000000" + + diff --git a/testing/usbip/APKBUILD b/testing/usbip/APKBUILD new file mode 100644 index 0000000000..846a62f3c8 --- /dev/null +++ b/testing/usbip/APKBUILD @@ -0,0 +1,30 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=usbip +pkgver=0.1.7 +pkgrel=1 +pkgdesc="A general USB device sharing system over IP network" +url="http://usbip.sourceforge.net/" +arch="all" +license="GPL" +depends="" +depends_dev="sysfsutils-dev automake autoconf libtool glib-dev" +makedepends="$depends_dev" +install="" +subpackages="$pkgname-dev" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz" +_builddir="$srcdir"/$pkgname-$pkgver/src +build() { + cd "$_builddir" + ./autogen.sh || return 1 + ./configure --prefix=/usr + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="d1094b6d4449787864f8be001639232c usbip-0.1.7.tar.gz" diff --git a/testing/ushare/APKBUILD b/testing/ushare/APKBUILD new file mode 100644 index 0000000000..8c2fb0f844 --- /dev/null +++ b/testing/ushare/APKBUILD @@ -0,0 +1,52 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=ushare +pkgver=1.1a +pkgrel=0 +pkgdesc="A free UPnP A/V Media Server for Linux" +url="http://ushare.geexbox.org" +arch="all" +license="GPL2" +depends= +depends_dev="pkgconfig libupnp-dev libdlna-dev ffmpeg-dev" +makedepends="$depends_dev" +install="" +subpackages="" +source="http://ushare.geexbox.org/releases/${pkgname}-${pkgver}.tar.bz2 + upnp-build-fix.patch + ushare-config.patch + ushare.initd + ushare.confd + " +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} +build() { + cd "$_builddir" + sed -i -e 's/cat -n/cat/' configure + ./configure --prefix=/usr \ + --sysconfdir=/etc/ushare \ + --enable-dlna \ + --with-libdlna-dir=/usr/include/libavformat \ + --disable-nls + make || return 1 +} +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + install -D -m755 ../ushare.initd "$pkgdir"/etc/init.d/ushare + install -D -m755 ../ushare.confd "$pkgdir"/etc/conf.d/ushare +} + +md5sums="5bbcdbf1ff85a9710fa3d4e82ccaa251 ushare-1.1a.tar.bz2 +32c29f9f673e8b3a3d9e7bf5e60febbc upnp-build-fix.patch +5243475c0cebc5db49296b2f3691085b ushare-config.patch +57b6ccaba8d17a79c6a651ad5f66cb6d ushare.initd +28cc24dea30918ea859ed9c974f242d7 ushare.confd" diff --git a/testing/ushare/upnp-build-fix.patch b/testing/ushare/upnp-build-fix.patch new file mode 100644 index 0000000000..c3ec37a324 --- /dev/null +++ b/testing/ushare/upnp-build-fix.patch @@ -0,0 +1,156 @@ +diff -wbBur ushare-1.1a/src/http.c ushare-1.1a.my/src/http.c +--- ushare-1.1a/src/http.c 2007-12-09 13:03:36.000000000 +0000 ++++ ushare-1.1a.my/src/http.c 2010-10-29 11:13:07.000000000 +0000 +@@ -77,8 +77,7 @@ + info->content_type = ixmlCloneDOMString (content_type); + } + +-static int +-http_get_info (const char *filename, struct File_Info *info) ++int http_get_info (const char *filename, struct File_Info *info) + { + extern struct ushare_t *ut; + struct upnp_entry_t *entry = NULL; +@@ -197,8 +196,7 @@ + return ((UpnpWebFileHandle) file); + } + +-static UpnpWebFileHandle +-http_open (const char *filename, enum UpnpOpenFileMode mode) ++UpnpWebFileHandle http_open (const char *filename, enum UpnpOpenFileMode mode) + { + extern struct ushare_t *ut; + struct upnp_entry_t *entry = NULL; +@@ -251,8 +249,7 @@ + return ((UpnpWebFileHandle) file); + } + +-static int +-http_read (UpnpWebFileHandle fh, char *buf, size_t buflen) ++int http_read (UpnpWebFileHandle fh, char *buf, size_t buflen) + { + struct web_file_t *file = (struct web_file_t *) fh; + ssize_t len = -1; +@@ -286,8 +283,7 @@ + return len; + } + +-static int +-http_write (UpnpWebFileHandle fh __attribute__((unused)), ++int http_write (UpnpWebFileHandle fh __attribute__((unused)), + char *buf __attribute__((unused)), + size_t buflen __attribute__((unused))) + { +@@ -296,8 +292,7 @@ + return 0; + } + +-static int +-http_seek (UpnpWebFileHandle fh, off_t offset, int origin) ++int http_seek (UpnpWebFileHandle fh, off_t offset, int origin) + { + struct web_file_t *file = (struct web_file_t *) fh; + off_t newpos = -1; +@@ -371,8 +366,7 @@ + return 0; + } + +-static int +-http_close (UpnpWebFileHandle fh) ++int http_close (UpnpWebFileHandle fh) + { + struct web_file_t *file = (struct web_file_t *) fh; + +@@ -402,13 +396,3 @@ + + return 0; + } +- +-struct UpnpVirtualDirCallbacks virtual_dir_callbacks = +- { +- http_get_info, +- http_open, +- http_read, +- http_write, +- http_seek, +- http_close +- }; +diff -wbBur ushare-1.1a/src/http.h ushare-1.1a.my/src/http.h +--- ushare-1.1a/src/http.h 2007-12-09 13:03:36.000000000 +0000 ++++ ushare-1.1a.my/src/http.h 2010-10-29 11:13:11.000000000 +0000 +@@ -25,6 +25,13 @@ + #include <upnp/upnp.h> + #include <upnp/upnptools.h> + +-struct UpnpVirtualDirCallbacks virtual_dir_callbacks; ++int http_close (UpnpWebFileHandle fh); ++int http_write (UpnpWebFileHandle fh __attribute__((unused)), ++ char *buf __attribute__((unused)), ++ size_t buflen __attribute__((unused))); ++int http_seek (UpnpWebFileHandle fh, off_t offset, int origin); ++UpnpWebFileHandle http_open (const char *filename, enum UpnpOpenFileMode mode); ++int http_read (UpnpWebFileHandle fh, char *buf, size_t buflen); ++int http_get_info (const char *filename, struct File_Info *info); + + #endif /* _HTTP_H_ */ +diff -wbBur ushare-1.1a/src/ushare.c ushare-1.1a.my/src/ushare.c +--- ushare-1.1a/src/ushare.c 2007-12-09 13:03:36.000000000 +0000 ++++ ushare-1.1a.my/src/ushare.c 2010-10-29 11:17:45.000000000 +0000 +@@ -188,7 +188,7 @@ + if (strcmp (request->DevUDN + 5, ut->udn)) + return; + +- ip = request->CtrlPtIPAddr.s_addr; ++ ip = (*(struct sockaddr_in*)&request->CtrlPtIPAddr).sin_addr.s_addr; + ip = ntohl (ip); + sprintf (val, "%d.%d.%d.%d", + (ip >> 24) & 0xFF, (ip >> 16) & 0xFF, (ip >> 8) & 0xFF, ip & 0xFF); +@@ -348,7 +348,47 @@ + + UpnpEnableWebserver (TRUE); + +- res = UpnpSetVirtualDirCallbacks (&virtual_dir_callbacks); ++ res = UpnpVirtualDir_set_WriteCallback(http_write); ++ if (res != UPNP_E_SUCCESS) ++ { ++ log_error (_("Cannot set virtual directory callbacks\n")); ++ free (description); ++ return -1; ++ } ++ ++ res = UpnpVirtualDir_set_GetInfoCallback(http_get_info); ++ if (res != UPNP_E_SUCCESS) ++ { ++ log_error (_("Cannot set virtual directory callbacks\n")); ++ free (description); ++ return -1; ++ } ++ ++ res = UpnpVirtualDir_set_ReadCallback(http_read); ++ if (res != UPNP_E_SUCCESS) ++ { ++ log_error (_("Cannot set virtual directory callbacks\n")); ++ free (description); ++ return -1; ++ } ++ ++ res = UpnpVirtualDir_set_OpenCallback(http_open); ++ if (res != UPNP_E_SUCCESS) ++ { ++ log_error (_("Cannot set virtual directory callbacks\n")); ++ free (description); ++ return -1; ++ } ++ ++ res = UpnpVirtualDir_set_SeekCallback(http_seek); ++ if (res != UPNP_E_SUCCESS) ++ { ++ log_error (_("Cannot set virtual directory callbacks\n")); ++ free (description); ++ return -1; ++ } ++ ++ res = UpnpVirtualDir_set_CloseCallback(http_close); + if (res != UPNP_E_SUCCESS) + { + log_error (_("Cannot set virtual directory callbacks\n")); diff --git a/testing/ushare/ushare-config.patch b/testing/ushare/ushare-config.patch new file mode 100644 index 0000000000..d064db890b --- /dev/null +++ b/testing/ushare/ushare-config.patch @@ -0,0 +1,22 @@ +--- ushare-1.1a/scripts/ushare.conf 2007-12-09 07:03:36.000000000 -0600 ++++ b/scripts/ushare.conf 2010-11-15 12:09:45.000000000 -0600 +@@ -31,15 +31,15 @@ USHARE_DIR= + USHARE_OVERRIDE_ICONV_ERR= + + # Enable Web interface (yes/no) +-ENABLE_WEB= ++USHARE_ENABLE_WEB= + + # Enable Telnet control interface (yes/no) +-ENABLE_TELNET= ++USHARE_ENABLE_TELNET= + + # Use XboX 360 compatibility mode (yes/no) +-ENABLE_XBOX= ++USHARE_ENABLE_XBOX= + + # Use DLNA profile (yes/no) + # This is needed for PlayStation3 to work (among other devices) +-ENABLE_DLNA= ++USHARE_ENABLE_DLNA= + diff --git a/testing/ushare/ushare.confd b/testing/ushare/ushare.confd new file mode 100644 index 0000000000..ef7f7c895b --- /dev/null +++ b/testing/ushare/ushare.confd @@ -0,0 +1,2 @@ +CONFIGFILE="/etc/ushare/ushare.conf" +PARAMS="-f $CONFIGFILE" diff --git a/testing/ushare/ushare.initd b/testing/ushare/ushare.initd new file mode 100644 index 0000000000..8ca03fc470 --- /dev/null +++ b/testing/ushare/ushare.initd @@ -0,0 +1,20 @@ +#!/sbin/runscript + +depend() { + need net + use syslog +} + +start() { + ebegin "Starting uShare UPnP A/V Media Server" + start-stop-daemon --start --quiet --background --make-pidfile \ + --pidfile /var/run/ushare.pid --exec /bin/ushare \ + -- $PARAMS + eend $? +} + +stop() { + ebegin "Stopping uShare UPnP A/V Media Server" + start-stop-daemon --stop -quiet --pidfile /var/run/ushare.pid + eend $? +} diff --git a/testing/varnish/APKBUILD b/testing/varnish/APKBUILD new file mode 100644 index 0000000000..60dc55243c --- /dev/null +++ b/testing/varnish/APKBUILD @@ -0,0 +1,63 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=varnish +pkgver=3.0.0 +pkgrel=1 +pkgdesc="High-performance HTTP accelerator" +url="http://www.varnish-cache.org/" +arch="all" +license="BSD" +depends="gcc" +depends_dev= +makedepends="$depends_dev pcre-dev ncurses-dev" +install="" +subpackages="$pkgname-dev $pkgname-doc $pkgname-libs" +source="http://repo.varnish-cache.org/source/varnish-$pkgver.tar.gz + varnishd.initd + varnishd.confd + varnishd.logrotate" + +_builddir="$srcdir"/varnish-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la || return 1 + install -Dm755 "$srcdir"/varnishd.initd "$pkgdir"/etc/init.d/varnishd \ + || return 1 + install -Dm644 "$srcdir"/varnishd.confd "$pkgdir"/etc/conf.d/varnishd \ + || return 1 + install -Dm644 "$srcdir"/varnishd.logrotate \ + "$pkgdir"/etc/logrotate.d/varnishd || return 1 +} + +libs() { + pkgdesc="Libraries for varnish" + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/*.so.* "$subpkgdir"/usr/lib/ +} + +md5sums="38387bf31a1574f5cd8dec4f0b7caf20 varnish-3.0.0.tar.gz +a86ece4df03e2643d4d659fb841e1ea6 varnishd.initd +78bc033e92dc6153656408f44b1d1df8 varnishd.confd +a6cb8a43c9465699cf956dc992998225 varnishd.logrotate" diff --git a/testing/varnish/varnishd.confd b/testing/varnish/varnishd.confd new file mode 100644 index 0000000000..c2eb140db7 --- /dev/null +++ b/testing/varnish/varnishd.confd @@ -0,0 +1,9 @@ +# /etc/conf.d/varnishd + +# options passed to varnish on startup +# please see the varnishd man page for more options +VARNISHD_OPTS="-a 127.0.0.1:8080 -b 127.0.0.1:80" + +# arguments passed to varnishncsa +# please see the varnishncsa man page for more options +VARNISHNCSA_ARGS="-c -a -w /var/log/varnish/access.log" diff --git a/testing/varnish/varnishd.initd b/testing/varnish/varnishd.initd new file mode 100755 index 0000000000..f65cce7122 --- /dev/null +++ b/testing/varnish/varnishd.initd @@ -0,0 +1,34 @@ +#!/sbin/runscript +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-servers/varnish/files/varnishd.initd,v 1.7 2009/08/30 06:28:07 hollow Exp $ + +depend() { + need net +} + +start() { + ebegin "Starting varnish" + #allow varnishd to lock logfile to memory + ulimit -l 82000 + start-stop-daemon --quiet --start --pidfile /var/run/varnishd.pid --exec /usr/sbin/varnishd -- -P /var/run/varnishd.pid ${VARNISHD_OPTS} &> /dev/null + eend $? + + if [ "${VARNISHNCSA_ARGS}" != "" ]; then + ebegin "Starting varnish logging" + start-stop-daemon --quiet --start --pidfile /var/run/varnishncsa.pid --exec /usr/bin/varnishncsa -- -D -P /var/run/varnishncsa.pid ${VARNISHNCSA_ARGS} + eend $? + fi +} + +stop() { + ebegin "Stopping varnish" + start-stop-daemon --quiet --stop --pidfile /var/run/varnishd.pid + eend $? + + if [ -e /var/run/varnishncsa.pid ]; then + ebegin "Stopping varnish logging" + start-stop-daemon --quiet --stop --pidfile /var/run/varnishncsa.pid + eend $? + fi +} diff --git a/testing/varnish/varnishd.logrotate b/testing/varnish/varnishd.logrotate new file mode 100644 index 0000000000..62ee60007a --- /dev/null +++ b/testing/varnish/varnishd.logrotate @@ -0,0 +1,9 @@ +/var/log/varnish/*.log { + weekly + rotate 10 + copytruncate + delaycompress + compress + notifempty + missingok +} diff --git a/testing/vde2/APKBUILD b/testing/vde2/APKBUILD new file mode 100644 index 0000000000..195469cf02 --- /dev/null +++ b/testing/vde2/APKBUILD @@ -0,0 +1,29 @@ +# Maintainer: Michael Zhou <zhoumichaely@gmail.com> +pkgname=vde2 +pkgver=2.3.1 +pkgrel=1 +pkgdesc="VDE: Virtual Distributed Ethernet. User mode networking for QEMU, UML, etc." +url="http://vde.sf.net" +arch="all" +license="GPL" +depends="openssl" +makedepends="openssl-dev libpcap-dev" +source="http://downloads.sourceforge.net/project/vde/vde2/2.3.1/vde2-2.3.1.tar.gz + " +subpackages="$pkgname-doc $pkgname-dev" + +_builddir="$srcdir"/$pkgname-$pkgver + +build() { + cd "$_builddir" + ./configure --prefix=/usr + make +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm "$pkgdir"/usr/lib/*.la +} + +md5sums="c8c2acb92a72f779e0b484b1543a1cc3 vde2-2.3.1.tar.gz" diff --git a/testing/vpnc/APKBUILD b/testing/vpnc/APKBUILD new file mode 100644 index 0000000000..00ed2399ee --- /dev/null +++ b/testing/vpnc/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=vpnc +pkgver=0.5.3 +pkgrel=0 +pkgdesc="IPSec VPN client compatible with Cisco equipment" +url="http://www.unix-ag.uni-kl.de/~massar/vpnc/" +arch="all" +license="GPLv2+" +depends= +makedepends="libgcrypt-dev perl" +install="" +subpackages="$pkgname-doc" +source="http://www.unix-ag.uni-kl.de/~massar/vpnc/vpnc-$pkgver.tar.gz + vpnc.initd + vpnc.confd" + +_builddir="$srcdir"/vpnc-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + make PREFIX=/usr || return 1 +} + +package() { + cd "$_builddir" + make PREFIX=/usr DESTDIR="$pkgdir" install || return 1 + install -m755 -D "$srcdir"/vpnc.initd \ + "$pkgdir"/etc/init.d/vpnc || return 1 + install -m644 -D "$srcdir"/vpnc.confd \ + "$pkgdir"/etc/conf.d/vpnc || return 1 +} + +md5sums="4378f9551d5b077e1770bbe09995afb3 vpnc-0.5.3.tar.gz +481ddc83b829de62f459f9b94e0c334b vpnc.initd +5c9fe863f70cc5262c095012b4bcc163 vpnc.confd" diff --git a/testing/vpnc/vpnc.confd b/testing/vpnc/vpnc.confd new file mode 100644 index 0000000000..62789bd407 --- /dev/null +++ b/testing/vpnc/vpnc.confd @@ -0,0 +1,4 @@ +# If you wish to see the output made by vpnc, for example the password +# prompt, set this variable to yes + +VPNCOUTPUT="no" diff --git a/testing/vpnc/vpnc.initd b/testing/vpnc/vpnc.initd new file mode 100644 index 0000000000..f5c5dc6e63 --- /dev/null +++ b/testing/vpnc/vpnc.initd @@ -0,0 +1,103 @@ +#!/sbin/runscript + +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/vpnc/files/vpnc-3.init,v 1.2 2010/08/13 08:39:48 fauli Exp $ + +VPNDIR="/etc/vpnc" +VPN="${SVCNAME#*.}" +if [ -n ${VPN} ] && [ ${SVCNAME} != "vpnc" ]; then + mkdir -p /var/run/vpnc + VPNPID="/var/run/vpnc/${VPN}.pid" +else + VPNPID="/var/run/vpnc.pid" +fi +VPNCONF="${VPNDIR}/${VPN}.conf" +VPNSCRIPTDIR="${VPNDIR}/scripts.d" +PREUPSCRIPT="${VPNSCRIPTDIR}/${VPN}-preup.sh" +PREDOWNSCRIPT="${VPNSCRIPTDIR}/${VPN}-predown.sh" +POSTUPSCRIPT="${VPNSCRIPTDIR}/${VPN}-postup.sh" +POSTDOWNSCRIPT="${VPNSCRIPTDIR}/${VPN}-postdown.sh" +# We should source this file to avoid problems when init script +# name differs from the default name +. /etc/conf.d/vpnc + +depend() { + need net + before netmount +} + +checktundevice() { + if [ ! -e /dev/net/tun ]; then + if ! modprobe tun ; then + eerror "TUN/TAP support is not available in this kernel" + return 1 + fi + fi + if [ -h /dev/net/tun ] && [ -c /dev/misc/net/tun ]; then + ebegin "Detected broken /dev/net/tun symlink, fixing..." + rm -f /dev/net/tun + ln -s /dev/misc/net/tun /dev/net/tun + eend $? + fi +} + +screenoutput() { + if [ "${VPNCOUTPUT}" = "yes" ]; then + export SCREEN_OUTPUT="/dev/stdout" + else + export SCREEN_OUTPUT="/dev/null" + fi +} + +start() { + ebegin "Starting VPNC: ${VPN}" + + checktundevice || return 1 + screenoutput + + if [ ! -e "${VPNCONF}" ]; then + eend 1 "${VPNCONF} does not exist" + return 1 + fi + + local args="" + + if [ -x "${PREUPSCRIPT}" ] ; then + "${PREUPSCRIPT}" > ${SCREEN_OUTPUT} + fi + + start-stop-daemon --start --pidfile "${VPNPID}" --exec /usr/sbin/vpnc \ + -- --pid-file "${VPNPID}" "${VPNCONF}" > ${SCREEN_OUTPUT} + local retval=$? + if [ ! ${retval} -eq 0 ]; then + eend ${retval} + return ${retval} + fi + + if [ -x "${POSTUPSCRIPT}" ] ; then + "${POSTUPSCRIPT}" > ${SCREEN_OUTPUT} + fi + eend $? +} + +stop() { + ebegin "Stopping VPNC: ${VPN}" + screenoutput + if [ -x "${PREDOWNSCRIPT}" ] ; then + "${PREDOWNSCRIPT}" > ${SCREEN_OUTPUT} + fi + + start-stop-daemon --stop --pidfile "${VPNPID}" + local retval=$? + if [ ! ${retval} -eq 0 ]; then + eend ${retval} + return ${retval} + fi + + + if [ -x "${POSTDOWNSCRIPT}" ] ; then + "${POSTDOWNSCRIPT}" > ${SCREEN_OUTPUT} + fi + eend $? +} diff --git a/testing/weplab/APKBUILD b/testing/weplab/APKBUILD new file mode 100644 index 0000000000..62e7d99d6c --- /dev/null +++ b/testing/weplab/APKBUILD @@ -0,0 +1,32 @@ +# Contributor: Fabian Affolter <fabian@affolter-engineering.ch> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=weplab +pkgver=0.1.5 +pkgrel=1 +pkgdesc="Analyzing WEP encryption security on wireless networks" +url="http://weplab.sourceforge.net/" +arch="all" +license="GPLv2+" +depends= +makedepends="libpcap-dev wireless-tools-dev" +install="" +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz" + +_builddir="$srcdir"/$pkgname-$pkgver + +build() { + cd "$_builddir" + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="713870965447b0b8b7341409968846fb weplab-0.1.5.tar.gz" diff --git a/testing/xfburn/APKBUILD b/testing/xfburn/APKBUILD new file mode 100644 index 0000000000..d8e10c6701 --- /dev/null +++ b/testing/xfburn/APKBUILD @@ -0,0 +1,32 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=xfburn +pkgver=0.4.3 +pkgrel=0 +pkgdesc="a simple CD/DVD burning tool based on libburnia libraries" +url="http://goodies.xfce.org/projects/applications/xfburn" +arch="all" +license="GPL2" +depends="desktop-file-utils hicolor-icon-theme" +makedepends="libburn-dev libisofs-dev libxfcegui4-dev thunar-dev librsvg-dev + gst-plugins-base-dev exo-dev" +install= +subpackages="$pkgname-doc" +source="http://archive.xfce.org/src/apps/xfburn/${pkgver%.*}/xfburn-$pkgver.tar.bz2" + +_builddir="$srcdir"/$pkgname-$pkgver +build () +{ + cd "$_builddir" + ./configure --prefix=/usr \ + --enable-gstreamer \ + --enable-thunar-vfs \ + --enable-dbus + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="147cdc2d909e751125be16103b8dc81f xfburn-0.4.3.tar.bz2" diff --git a/testing/xmlrpc-c/APKBUILD b/testing/xmlrpc-c/APKBUILD new file mode 100644 index 0000000000..b328130a90 --- /dev/null +++ b/testing/xmlrpc-c/APKBUILD @@ -0,0 +1,56 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=xmlrpc-c +pkgver=1.16.35 +pkgrel=1 +pkgdesc="This library provides a modular implementation of XML-RPC for C and C++" +url="http://xmlrpc-c.sourceforge.net/" +arch="x86" +license="custom:xmlrpc-c" +depends= +makedepends="libtool curl-dev libxml2-dev zlib-dev" +subpackages="$pkgname-dev $pkgname-doc xmlrpc-c++:cxx" +source="http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tgz + xmlrpc-c-curl.patch" + +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --mandir=/usr/share/man \ + --enable-libxml2-backend \ + --disable-cgi-server \ + --disable-abyss-server \ + --disable-libwww-client \ + --disable-wininet-client + # no parallel builds :-( + make -C include &&\ + make -C lib &&\ + make -j1 -C src &&\ + make +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + install -m 644 -D doc/COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING + rm -f "$pkgdir"/usr/lib/*.la +} + +cxx() { + pkgdesc="This library provides a modular implementation of XML-RPC for C++" + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/*++* "$subpkgdir"/usr/lib/ +} + +md5sums="eed7ef8078800e4822d753bac9d2fa1c xmlrpc-c-1.16.35.tgz +101c2224b2338247097f96b03e206261 xmlrpc-c-curl.patch" diff --git a/testing/xmlrpc-c/xmlrpc-c-curl.patch b/testing/xmlrpc-c/xmlrpc-c-curl.patch new file mode 100644 index 0000000000..bfc1145776 --- /dev/null +++ b/testing/xmlrpc-c/xmlrpc-c-curl.patch @@ -0,0 +1,36 @@ +diff --git a/lib/curl_transport/curlmulti.c b/lib/curl_transport/curlmulti.c +index 526a4db..5503b9f 100644 +--- a/lib/curl_transport/curlmulti.c ++++ b/lib/curl_transport/curlmulti.c +@@ -17,7 +17,6 @@ + #endif + + #include <curl/curl.h> +-#include <curl/types.h> + #include <curl/easy.h> + #include <curl/multi.h> + +diff --git a/lib/curl_transport/curltransaction.c b/lib/curl_transport/curltransaction.c +index 37ec02b..8fa4fb2 100644 +--- a/lib/curl_transport/curltransaction.c ++++ b/lib/curl_transport/curltransaction.c +@@ -15,7 +15,6 @@ + #include "version.h" + + #include <curl/curl.h> +-#include <curl/types.h> + #include <curl/easy.h> + + #include "curlversion.h" +diff --git a/lib/curl_transport/xmlrpc_curl_transport.c b/lib/curl_transport/xmlrpc_curl_transport.c +index 526381d..9b7b530 100644 +--- a/lib/curl_transport/xmlrpc_curl_transport.c ++++ b/lib/curl_transport/xmlrpc_curl_transport.c +@@ -83,7 +83,6 @@ + #include "xmlrpc-c/time_int.h" + + #include <curl/curl.h> +-#include <curl/types.h> + #include <curl/easy.h> + #include <curl/multi.h> + diff --git a/testing/xmlrpc-epi/APKBUILD b/testing/xmlrpc-epi/APKBUILD new file mode 100644 index 0000000000..593dbe1717 --- /dev/null +++ b/testing/xmlrpc-epi/APKBUILD @@ -0,0 +1,50 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: +pkgname=xmlrpc-epi +pkgver=0.54.1 +pkgrel=1 +pkgdesc="versatile xmlrpc and soap implementation" +url="http://xmlrpc-epi.sourceforge.net/" +arch="all" +license="MIT" +depends= +depends_dev="expat-dev libiconv-dev" +makedepends="$depends_dev autoconf automake libtool" +install="" +subpackages="$pkgname-dev" +source="http://sourceforge.net/projects/xmlrpc-epi/files/xmlrpc-epi-base/$pkgver/xmlrpc-epi-$pkgver.tar.gz" + +_builddir="$srcdir"/xmlrpc +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + + msg "disabling sample build" + sed -i 's:src sample:src:g' Makefile.am Makefile.in +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make -j1 || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + + mkdir "$pkgdir"/usr/include/xmlrpc-epi + cp -R "$pkgdir"/usr/include/*.h "$pkgdir"/usr/include/xmlrpc-epi +} + +md5sums="546ce341e7d79691371344449cb9e484 xmlrpc-epi-0.54.1.tar.gz" diff --git a/testing/xmlto/APKBUILD b/testing/xmlto/APKBUILD new file mode 100644 index 0000000000..a3d0c09906 --- /dev/null +++ b/testing/xmlto/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: +pkgname=xmlto +pkgver=0.0.23 +pkgrel=0 +pkgdesc="Convert xml to many other formats" +url="http://cyberelk.net/tim/software/xmlto/" +arch="all" +license="GPL" +depends="libxslt perl-yaml-syck perl-test-pod" +depends_dev= +makedepends="$depends_dev wget bash docbook-xsl" +install="" +subpackages="$pkgname-doc" +source="https://fedorahosted.org/releases/x/m/${pkgname}/${pkgname}-${pkgver}.tar.bz2" + +_builddir="$srcdir/$pkgname-$pkgver" + +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --mandir=/usr/share/man || return 1 + make -j1 || return 1 +} + +package() { + cd "$_builddir" + make -j1 DESTDIR="$pkgdir" install || return 1 +} + +md5sums="3001d6bb2bbc2c8f6c2301f05120f074 xmlto-0.0.23.tar.bz2" diff --git a/testing/zeromq/APKBUILD b/testing/zeromq/APKBUILD new file mode 100644 index 0000000000..99b679aeeb --- /dev/null +++ b/testing/zeromq/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=zeromq +pkgver=2.1.7 +pkgrel=1 +pkgdesc="The ZeroMQ messaging library and tools" +url="http://www.zeromq.org/" +arch="all" +license="LGPLv3+" +depends= +makedepends="util-linux-ng-dev" +install= +subpackages="$pkgname-dev $pkgname-doc libzmq" +source="http://download.zeromq.org/zeromq-$pkgver.tar.gz" + + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install + rm -f "$pkgdir"/usr/lib/*.la +} + +libzmq() { + pkgdesc="The ZeroMQ messaging library" + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/libzmq.so.* "$subpkgdir"/usr/lib/ +} + +md5sums="7d3120f8a8fb913a7e55c57c6eb024f3 zeromq-2.1.7.tar.gz" |