aboutsummaryrefslogtreecommitdiffstats
path: root/unmaintained
diff options
context:
space:
mode:
authorCarlo Landmeter <clandmeter@gmail.com>2016-08-25 15:26:24 +0200
committerCarlo Landmeter <clandmeter@gmail.com>2016-08-25 15:26:24 +0200
commitb6af1e02efe594039707cd882517663d5370f375 (patch)
treeff9c2d55873e051e82972ba64c017352d3a75d34 /unmaintained
parenta71346b7acebc600960a98c84fb32cfd72fe864b (diff)
downloadaports-b6af1e02efe594039707cd882517663d5370f375.tar.bz2
aports-b6af1e02efe594039707cd882517663d5370f375.tar.xz
testing/[multiple]: move unmaintained packages
This moves all packages from testing to unmaintained which have not been updated for atleast 6 months. If you are affected by this commit please follow this proceddure: * make sure your packages build on all architectures * move your pacakge(s) back to testing * if you want to keep this package and can maintain it (or find somebody to maintain it for you) for a minimum of 6 months ask it to be moved to community
Diffstat (limited to 'unmaintained')
-rw-r--r--unmaintained/aalib/APKBUILD36
-rw-r--r--unmaintained/accountsservice/APKBUILD54
-rw-r--r--unmaintained/acf-jquery-mobile/APKBUILD20
-rw-r--r--unmaintained/acf-provisioning-grandstream-ata/APKBUILD45
-rw-r--r--unmaintained/acf-provisioning-grandstream-ata/init.cfg.sample73
-rw-r--r--unmaintained/acf-provisioning-polycom4.0.3f/000000000000-directory.xml4
-rw-r--r--unmaintained/acf-provisioning-polycom4.0.3f/000000000000-phone.cfg5
-rw-r--r--unmaintained/acf-provisioning-polycom4.0.3f/000000000000-web.cfg5
-rw-r--r--unmaintained/acf-provisioning-polycom4.0.3f/000000000000.cfg.patch27
-rw-r--r--unmaintained/acf-provisioning-polycom4.0.3f/APKBUILD86
-rw-r--r--unmaintained/acf-skins-jqmobile/APKBUILD20
-rw-r--r--unmaintained/agg/APKBUILD43
-rw-r--r--unmaintained/agg/agg-2.4-depends.patch48
-rw-r--r--unmaintained/agg/agg-2.5-pkgconfig.patch10
-rw-r--r--unmaintained/akonadi/APKBUILD51
-rw-r--r--unmaintained/akonadi/disable-backtrace-1.13.0.patch11
-rw-r--r--unmaintained/apache2-mod-sflow/APKBUILD58
-rw-r--r--unmaintained/apts/APKBUILD39
-rw-r--r--unmaintained/arc-theme/APKBUILD68
-rw-r--r--unmaintained/array-info/APKBUILD30
-rw-r--r--unmaintained/array-info/array-info-makefile.patch20
-rw-r--r--unmaintained/asio/APKBUILD52
-rw-r--r--unmaintained/asio/fix-strerror_r.patch42
-rw-r--r--unmaintained/asoundconf/APKBUILD44
-rw-r--r--unmaintained/asterisk-dongle/APKBUILD47
-rw-r--r--unmaintained/asterisk-dongle/issue46.patch238
-rw-r--r--unmaintained/asunder/APKBUILD41
-rw-r--r--unmaintained/atheme-services/APKBUILD52
-rw-r--r--unmaintained/atheme-services/cc.patch11
-rw-r--r--unmaintained/aurena/APKBUILD56
-rw-r--r--unmaintained/bcfg2/APK.py58
-rw-r--r--unmaintained/bcfg2/APKBUILD43
-rw-r--r--unmaintained/bcfg2/bcfg2-server.initd23
-rw-r--r--unmaintained/biblesync/APKBUILD49
-rw-r--r--unmaintained/blists/APKBUILD38
-rw-r--r--unmaintained/burp/APKBUILD52
-rw-r--r--unmaintained/burp/librsync-1.0.0.patch36
-rw-r--r--unmaintained/cantata/APKBUILD46
-rw-r--r--unmaintained/capstone/APKBUILD45
-rw-r--r--unmaintained/capstone/capstone.pc8
-rw-r--r--unmaintained/captagent/APKBUILD69
-rw-r--r--unmaintained/captagent/build.patch48
-rw-r--r--unmaintained/captagent/captagent.initd18
-rw-r--r--unmaintained/captagent/default-config.patch11
-rw-r--r--unmaintained/ccid/APKBUILD51
-rw-r--r--unmaintained/cdpsnarf/APKBUILD41
-rw-r--r--unmaintained/cdrdao/APKBUILD58
-rw-r--r--unmaintained/cdrdao/cdrdao-1.2.3-stat.patch13
-rw-r--r--unmaintained/celt/APKBUILD43
-rw-r--r--unmaintained/chan-sccp/APKBUILD45
-rw-r--r--unmaintained/cherokee/APKBUILD53
-rw-r--r--unmaintained/cherokee/cherokee.confd10
-rwxr-xr-xunmaintained/cherokee/cherokee.initd41
-rw-r--r--unmaintained/chmlib/APKBUILD58
-rw-r--r--unmaintained/chmlib/headers.patch18
-rw-r--r--unmaintained/chmlib/stdtypes.patch20
-rw-r--r--unmaintained/chntpw/APKBUILD47
-rw-r--r--unmaintained/chntpw/stdint.patch11
-rw-r--r--unmaintained/chromaprint/APKBUILD46
-rw-r--r--unmaintained/cntlm/APKBUILD51
-rw-r--r--unmaintained/cntlm/cntlm.initd39
-rw-r--r--unmaintained/colord/APKBUILD53
-rw-r--r--unmaintained/compiz/APKBUILD56
-rw-r--r--unmaintained/corosync/APKBUILD60
-rw-r--r--unmaintained/corosync/corosync.initd23
-rw-r--r--unmaintained/courier-authlib/APKBUILD58
-rw-r--r--unmaintained/cowpatty/APKBUILD39
-rw-r--r--unmaintained/cowpatty/makefile.patch78
-rw-r--r--unmaintained/crconf/APKBUILD41
-rw-r--r--unmaintained/crunch/APKBUILD40
-rw-r--r--unmaintained/crunch/crunch-3.4-destdir.patch25
-rw-r--r--unmaintained/csync/APKBUILD71
-rw-r--r--unmaintained/csync/gcc-fixes.patch12
-rw-r--r--unmaintained/csync/iconv.patch26
-rw-r--r--unmaintained/csync2/APKBUILD84
-rw-r--r--unmaintained/csync2/csync2-openssl.cnf31
-rw-r--r--unmaintained/csync2/csync2.initd11
-rw-r--r--unmaintained/csync2/csync2.post-install25
-rw-r--r--unmaintained/csync2/csync2.post-upgrade6
-rw-r--r--unmaintained/csync2/have-strlcpy.patch30
-rw-r--r--unmaintained/csync2/longlong-format.patch31
-rw-r--r--unmaintained/csync2/nossl-config.patch19
-rw-r--r--unmaintained/cuetools/APKBUILD62
-rw-r--r--unmaintained/cuetools/cuetag-fix_spaces.patch46
-rw-r--r--unmaintained/cuetools/fix_build_with_automake-1.12.patch24
-rw-r--r--unmaintained/cv/APKBUILD40
-rw-r--r--unmaintained/cv/compress-tools.patch11
-rw-r--r--unmaintained/daemontools/0.76-errno.patch11
-rw-r--r--unmaintained/daemontools/0.76-warnings.patch74
-rw-r--r--unmaintained/daemontools/APKBUILD50
-rw-r--r--unmaintained/daemontools/svscan.initd33
-rw-r--r--unmaintained/datacoin-hp/APKBUILD40
-rw-r--r--unmaintained/davfs2/010-main_code_fix.patch35
-rw-r--r--unmaintained/davfs2/100-musl-compat.patch194
-rw-r--r--unmaintained/davfs2/APKBUILD61
-rw-r--r--unmaintained/dcfldd/APKBUILD49
-rw-r--r--unmaintained/dcfldd/dcfldd-error.patch15
-rw-r--r--unmaintained/dconf-editor/APKBUILD48
-rw-r--r--unmaintained/dfc/APKBUILD41
-rw-r--r--unmaintained/dhcpdump/APKBUILD41
-rw-r--r--unmaintained/dhex/APKBUILD45
-rw-r--r--unmaintained/dhex/makefile.patch49
-rw-r--r--unmaintained/diod/APKBUILD54
-rwxr-xr-xunmaintained/diod/diod.initd7
-rw-r--r--unmaintained/djvulibre/APKBUILD39
-rw-r--r--unmaintained/dmz-cursor-theme/APKBUILD51
-rw-r--r--unmaintained/dnsenum/APKBUILD29
-rw-r--r--unmaintained/dosbox/APKBUILD82
-rw-r--r--unmaintained/dosbox/dosbox-0.74-formatsecurity.patch12
-rw-r--r--unmaintained/dosbox/dosbox-0.74-gcc46.patch10
-rw-r--r--unmaintained/dosbox/dosbox-0.74-init-crash.patch16
-rw-r--r--unmaintained/dosbox/dosbox.desktop8
-rw-r--r--unmaintained/dosbox/dosbox.pngbin0 -> 206 bytes
-rw-r--r--unmaintained/dosbox/pic-fix.patch35
-rw-r--r--unmaintained/dotconf/APKBUILD51
-rw-r--r--unmaintained/double-conversion/APKBUILD51
-rw-r--r--unmaintained/double-conversion/dont_build_tests.patch11
-rw-r--r--unmaintained/dsf2flac/APKBUILD49
-rw-r--r--unmaintained/dsf2flac/no-static.patch10
-rw-r--r--unmaintained/dsniff/0001-arpspoof-add-r-switch-to-poison-both-directions.patch174
-rw-r--r--unmaintained/dsniff/0001-rewrite-and-modernize-POP-decoder.patch135
-rw-r--r--unmaintained/dsniff/0002-arpspoof-allow-use-of-of-multiple-targets.patch194
-rw-r--r--unmaintained/dsniff/0003-arpspoof-allow-selection-of-source-hw-address.patch228
-rw-r--r--unmaintained/dsniff/0004-arpspoof-mac-include.patch12
-rw-r--r--unmaintained/dsniff/01_time.h.patch23
-rw-r--r--unmaintained/dsniff/02_mailsnarf_corrupt.patch13
-rw-r--r--unmaintained/dsniff/03_pcap_read_dump.patch531
-rw-r--r--unmaintained/dsniff/04_multiple_intf.patch52
-rw-r--r--unmaintained/dsniff/05_amd64_fix.patch217
-rw-r--r--unmaintained/dsniff/06_urlsnarf_zeropad.patch13
-rw-r--r--unmaintained/dsniff/07_libnet_1.1.patch903
-rw-r--r--unmaintained/dsniff/08_checksum.patch25
-rw-r--r--unmaintained/dsniff/08_openssl-0.9.8.patch12
-rw-r--r--unmaintained/dsniff/09_sshcrypto.patch14
-rw-r--r--unmaintained/dsniff/09_sysconf_clocks.patch20
-rw-r--r--unmaintained/dsniff/10_urlsnarf_escape.patch85
-rw-r--r--unmaintained/dsniff/11_string_header.patch163
-rw-r--r--unmaintained/dsniff/12_arpa_inet_header.patch62
-rw-r--r--unmaintained/dsniff/13_pop_with_version.patch27
-rw-r--r--unmaintained/dsniff/14_obsolete_time.patch33
-rw-r--r--unmaintained/dsniff/15_checksum_libnids.patch94
-rw-r--r--unmaintained/dsniff/16_TDS_decoder.patch16
-rw-r--r--unmaintained/dsniff/20_debian_dirs.patch59
-rw-r--r--unmaintained/dsniff/21_msgsnarf_segfault.patch12
-rw-r--r--unmaintained/dsniff/22_handlepp.patch14
-rw-r--r--unmaintained/dsniff/23_urlsnarf_timestamp.patch78
-rw-r--r--unmaintained/dsniff/APKBUILD165
-rw-r--r--unmaintained/dsniff/dsniff-rpc.patch92
-rw-r--r--unmaintained/dsniff/dsniff-xcompile.patch56
-rw-r--r--unmaintained/dssi/APKBUILD55
-rw-r--r--unmaintained/duff/APKBUILD50
-rw-r--r--unmaintained/duhdraw/APKBUILD41
-rw-r--r--unmaintained/dvtm/APKBUILD36
-rw-r--r--unmaintained/e_dbus/APKBUILD46
-rw-r--r--unmaintained/ebook-tools/APKBUILD44
-rw-r--r--unmaintained/ecasound/APKBUILD47
-rw-r--r--unmaintained/ecore/APKBUILD48
-rw-r--r--unmaintained/ecryptfs-utils/APKBUILD56
-rw-r--r--unmaintained/ecryptfs-utils/fix-headers.patch28
-rw-r--r--unmaintained/edje/APKBUILD42
-rw-r--r--unmaintained/eet/APKBUILD42
-rw-r--r--unmaintained/eeze/APKBUILD46
-rw-r--r--unmaintained/efreet/APKBUILD46
-rw-r--r--unmaintained/eina/APKBUILD44
-rw-r--r--unmaintained/eio/APKBUILD42
-rw-r--r--unmaintained/ejdb/APKBUILD49
-rw-r--r--unmaintained/elementary/APKBUILD42
-rw-r--r--unmaintained/emacs-xorg/APKBUILD88
-rw-r--r--unmaintained/emacs-xorg/gamedir.patch11
-rw-r--r--unmaintained/emacs-xorg/musl.patch87
-rw-r--r--unmaintained/emacs-xorg/noaslr-dump.patch19
-rw-r--r--unmaintained/embryo/APKBUILD46
-rw-r--r--unmaintained/emelfm2/01-avoid_fstab.patch30
-rw-r--r--unmaintained/emelfm2/02-define_ALLPERMS.patch13
-rw-r--r--unmaintained/emelfm2/APKBUILD55
-rw-r--r--unmaintained/emotion/APKBUILD46
-rw-r--r--unmaintained/enlightenment/APKBUILD59
-rw-r--r--unmaintained/enumiax/APKBUILD41
-rw-r--r--unmaintained/equinox-themes/APKBUILD40
-rw-r--r--unmaintained/erlang17/APKBUILD249
-rw-r--r--unmaintained/erlang17/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch41
-rw-r--r--unmaintained/erlang17/otp-0002-Remove-rpath.patch32
-rw-r--r--unmaintained/erlang17/otp-0003-Do-not-install-C-sources.patch161
-rw-r--r--unmaintained/erlang17/otp-0004-Do-not-install-Java-sources.patch32
-rw-r--r--unmaintained/erlang17/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch57
-rw-r--r--unmaintained/erlang17/otp-0006-Do-not-install-erlang-sources.patch1006
-rw-r--r--unmaintained/erlang17/otp-0007-Split-off-webtool-dependency-from-tools.patch40
-rw-r--r--unmaintained/erlang17/otp-0008-Introduce-os-getenv-2.patch63
-rw-r--r--unmaintained/erlang17/otp-0009-Patch-removes-support-for-SSLv3-protocol-because-it-.patch100
-rw-r--r--unmaintained/erlang17/otp-0010-fix-nteventlog-remove.patch11
-rw-r--r--unmaintained/erlang17/remove-private-unit32.patch11
-rw-r--r--unmaintained/erlang17/replace_glibc_check.patch20
-rw-r--r--unmaintained/ethumb/APKBUILD43
-rw-r--r--unmaintained/etracer/APKBUILD43
-rw-r--r--unmaintained/etracer/etracer-finite.patch11
-rw-r--r--unmaintained/etracer/etracer-png.patch38
-rw-r--r--unmaintained/ettercap/APKBUILD45
-rw-r--r--unmaintained/evas/APKBUILD78
-rw-r--r--unmaintained/evas/fribidi-cflags.patch12
-rw-r--r--unmaintained/evas_generic_loaders/APKBUILD47
-rw-r--r--unmaintained/evilwm/APKBUILD41
-rw-r--r--unmaintained/evolution/APKBUILD53
-rw-r--r--unmaintained/exaile/APKBUILD41
-rw-r--r--unmaintained/exfat-utils/APKBUILD53
-rw-r--r--unmaintained/extra-cmake-modules/APKBUILD42
-rw-r--r--unmaintained/fancontroled/APKBUILD57
-rw-r--r--unmaintained/fancontroled/fancontroled.confd17
-rw-r--r--unmaintained/fancontroled/fancontroled.initd18
-rw-r--r--unmaintained/fancontroled/link.patch11
-rw-r--r--unmaintained/fdk-aac/APKBUILD47
-rw-r--r--unmaintained/fish-irssi/APKBUILD44
-rw-r--r--unmaintained/fluidsynth/APKBUILD50
-rw-r--r--unmaintained/flyspray/APKBUILD61
-rw-r--r--unmaintained/flyspray/flyspray.post-install3
-rw-r--r--unmaintained/fonts-base/APKBUILD24
-rw-r--r--unmaintained/fonts-extra/APKBUILD35
-rw-r--r--unmaintained/foo2zjs/APKBUILD43
-rw-r--r--unmaintained/foomatic-db-engine/APKBUILD44
-rw-r--r--unmaintained/foremost/APKBUILD49
-rw-r--r--unmaintained/foremost/foremost-makefile.patch23
-rw-r--r--unmaintained/forked-daapd/APKBUILD65
-rw-r--r--unmaintained/freealut/APKBUILD47
-rw-r--r--unmaintained/freeciv/APKBUILD54
-rw-r--r--unmaintained/fswebcam/APKBUILD33
-rw-r--r--unmaintained/ftgl/APKBUILD48
-rw-r--r--unmaintained/ftgl/ftgl-2.1.3-rc5-ldflags.patch118
-rw-r--r--unmaintained/ftgl/ftgl-2.1.3-rc5-ttf_font.patch12
-rw-r--r--unmaintained/genext2fs/APKBUILD48
-rw-r--r--unmaintained/girara/APKBUILD31
-rw-r--r--unmaintained/git-lfs/APKBUILD44
-rw-r--r--unmaintained/gitstats/APKBUILD46
-rw-r--r--unmaintained/gitstats/gitstats-output.patch15
-rw-r--r--unmaintained/gjs/APKBUILD41
-rw-r--r--unmaintained/gnome-common/APKBUILD49
-rw-r--r--unmaintained/gnome-themes-standard/APKBUILD60
-rw-r--r--unmaintained/gnump3d/APKBUILD30
-rw-r--r--unmaintained/gnump3d/gnump3d.confd6
-rw-r--r--unmaintained/gnump3d/gnump3d.initd37
-rw-r--r--unmaintained/google-authenticator/APKBUILD52
-rw-r--r--unmaintained/gpm/01-Iheaders.patch40
-rw-r--r--unmaintained/gpm/02-sys-select.patch138
-rw-r--r--unmaintained/gpm/03-gpmroot.patch39
-rw-r--r--unmaintained/gpm/APKBUILD90
-rw-r--r--unmaintained/gpm/error-format.patch13
-rw-r--r--unmaintained/gpm/gpm.confd8
-rw-r--r--unmaintained/gpm/gpm.initd10
-rw-r--r--unmaintained/grantlee/APKBUILD42
-rw-r--r--unmaintained/grc/APKBUILD20
-rw-r--r--unmaintained/greybird-themes/APKBUILD79
-rw-r--r--unmaintained/greybird-themes/gtk-3.14-fix.patch17
-rw-r--r--unmaintained/gsoap/APKBUILD62
-rw-r--r--unmaintained/gsoap/stdsoap2.c.diff11
-rw-r--r--unmaintained/gsoap/stdsoap2.cpp.diff20
-rw-r--r--unmaintained/gsoap/stdsoap2.h.diff11
-rw-r--r--unmaintained/gssdp/APKBUILD47
-rw-r--r--unmaintained/gssdp/gssdp-fixdso.patch11
-rw-r--r--unmaintained/gst-plugin-libde265_0.10/APKBUILD52
-rw-r--r--unmaintained/gthumb/APKBUILD45
-rw-r--r--unmaintained/gtk-equinox-engine/APKBUILD48
-rw-r--r--unmaintained/gtksourceview/APKBUILD39
-rw-r--r--unmaintained/gumbo-parser/APKBUILD46
-rw-r--r--unmaintained/gupnp/APKBUILD45
-rw-r--r--unmaintained/halfscan6/APKBUILD40
-rw-r--r--unmaintained/hardinfo/APKBUILD44
-rw-r--r--unmaintained/hardinfo/fixsensors.patch13
-rw-r--r--unmaintained/hardinfo/hardinfo-alpine.patch10
-rw-r--r--unmaintained/hardinfo/uclibc.patch22
-rw-r--r--unmaintained/hardlink/APKBUILD36
-rw-r--r--unmaintained/harminv/APKBUILD50
-rw-r--r--unmaintained/hexcurse/APKBUILD46
-rw-r--r--unmaintained/hexcurse/hexcurse-alloca.patch14
-rw-r--r--unmaintained/hexinject/APKBUILD42
-rw-r--r--unmaintained/hhpc/APKBUILD39
-rw-r--r--unmaintained/homer-api/APKBUILD59
-rw-r--r--unmaintained/homer-api/homer-move-config2etc.patch33
-rw-r--r--unmaintained/hplip/APKBUILD56
-rw-r--r--unmaintained/hplip/disable_upgrade.patch14
-rw-r--r--unmaintained/html2ps/APKBUILD32
-rw-r--r--unmaintained/html2ps/html2ps-conf.patch11
-rw-r--r--unmaintained/httest/APKBUILD50
-rw-r--r--unmaintained/httperf/APKBUILD42
-rw-r--r--unmaintained/httpry/APKBUILD33
-rw-r--r--unmaintained/httpup/10-getcwd.patch10
-rw-r--r--unmaintained/httpup/APKBUILD49
-rw-r--r--unmaintained/httrack/APKBUILD55
-rw-r--r--unmaintained/httrack/compile_fix.patch22
-rw-r--r--unmaintained/ibniz/APKBUILD42
-rw-r--r--unmaintained/ibus/APKBUILD79
-rw-r--r--unmaintained/icewm/APKBUILD70
-rw-r--r--unmaintained/icewm/backtrace_on_glibc.patch22
-rw-r--r--unmaintained/icli/APKBUILD52
-rw-r--r--unmaintained/id3lib/00-add-libz-to-compilation.patch14
-rw-r--r--unmaintained/id3lib/05-create-m4-directory.patch12
-rw-r--r--unmaintained/id3lib/10-fix-compilation-with-cpp-headers.patch22
-rw-r--r--unmaintained/id3lib/15-fix-headers-of-main-functions.patch45
-rw-r--r--unmaintained/id3lib/20-create-manpages.patch198
-rw-r--r--unmaintained/id3lib/30-fix-utf16.patch38
-rw-r--r--unmaintained/id3lib/40-deal-with-mkstemp.patch54
-rw-r--r--unmaintained/id3lib/50-remove-outdated-check.patch11
-rw-r--r--unmaintained/id3lib/60-add-c-wrapper-functions.patch58
-rw-r--r--unmaintained/id3lib/60-fix_make_check.patch50
-rw-r--r--unmaintained/id3lib/60-id3lib-missing-nullpointer-check.patch12
-rw-r--r--unmaintained/id3lib/60-spelling.patch107
-rw-r--r--unmaintained/id3lib/61-fix_vbr_stack_smash.patch19
-rw-r--r--unmaintained/id3lib/APKBUILD108
-rw-r--r--unmaintained/ideviceinstaller/APKBUILD42
-rw-r--r--unmaintained/ifplugd/APKBUILD57
-rw-r--r--unmaintained/ifplugd/ifplugd.initd32
-rw-r--r--unmaintained/ifplugd/musl-type.patch15
-rw-r--r--unmaintained/ifuse/APKBUILD42
-rw-r--r--unmaintained/ii/APKBUILD40
-rw-r--r--unmaintained/iksemel/APKBUILD32
-rw-r--r--unmaintained/ilmbase/APKBUILD43
-rw-r--r--unmaintained/imapproxy/APKBUILD45
-rw-r--r--unmaintained/ioping/APKBUILD40
-rw-r--r--unmaintained/iotop/APKBUILD40
-rw-r--r--unmaintained/ipgrab/APKBUILD35
-rw-r--r--unmaintained/ipmitool/APKBUILD70
-rw-r--r--unmaintained/ipmitool/ipmievd.confd23
-rw-r--r--unmaintained/ipmitool/ipmievd.initd25
-rw-r--r--unmaintained/ipmiutil/APKBUILD54
-rw-r--r--unmaintained/ipmiutil/fixups.patch33
-rw-r--r--unmaintained/ipt-netflow/APKBUILD45
-rw-r--r--unmaintained/ipt-netflow/git.patch4308
-rw-r--r--unmaintained/ipt-netflow/kernel-vs-userspace.patch69
-rw-r--r--unmaintained/ipvsadm/APKBUILD46
-rw-r--r--unmaintained/ipvsadm/ipvsadm.initd42
-rw-r--r--unmaintained/jhead/APKBUILD40
-rw-r--r--unmaintained/jhead/makefile-destdir.patch17
-rw-r--r--unmaintained/judy/APKBUILD47
-rw-r--r--unmaintained/kbuild/0001-define-ALLPERMS-is-missing.patch43
-rw-r--r--unmaintained/kbuild/0001-testing-kbuild-upgrade-to-0.1.9998_pre20131130-and-f.patch357
-rw-r--r--unmaintained/kbuild/APKBUILD102
-rw-r--r--unmaintained/kbuild/allperms.patch30
-rw-r--r--unmaintained/kbuild/getloadavg.patch32
-rw-r--r--unmaintained/kbuild/glob.patch19
-rw-r--r--unmaintained/kbuild/kbuild-0.1.9998_pre20110817-gcc-4.7.patch12
-rw-r--r--unmaintained/kbuild/kobjcache.patch10
-rw-r--r--unmaintained/kbuild/lchmod.patch27
-rw-r--r--unmaintained/kbuild/obstack.patch42
-rw-r--r--unmaintained/kbuild/strlcpy.patch13
-rw-r--r--unmaintained/kbuild/sys-types.patch14
-rw-r--r--unmaintained/kbuild/sys_siglist.patch28
-rw-r--r--unmaintained/kbuild/uclibc.patch22
-rw-r--r--unmaintained/kbuild/underlinking.patch13
-rw-r--r--unmaintained/klavaro/APKBUILD47
-rw-r--r--unmaintained/klavaro/configure.patch28
-rw-r--r--unmaintained/klavaro/klavaro.post-install3
-rw-r--r--unmaintained/kodi-platform/APKBUILD52
-rw-r--r--unmaintained/kodi-platform/check-for-glibc.patch11
-rw-r--r--unmaintained/kyotocabinet/APKBUILD54
-rw-r--r--unmaintained/kyotocabinet/kyotocabinet-1.2.76-8-byte-atomics.patch74
-rw-r--r--unmaintained/kyototycoon/APKBUILD58
-rw-r--r--unmaintained/kyototycoon/musl-header-fix.patch11
-rw-r--r--unmaintained/ladspa/0001-proper-build.patch111
-rw-r--r--unmaintained/ladspa/0002-plugin-constructor-destructor.patch119
-rw-r--r--unmaintained/ladspa/0003-plugindir.patch42
-rw-r--r--unmaintained/ladspa/APKBUILD44
-rw-r--r--unmaintained/lam/APKBUILD48
-rw-r--r--unmaintained/lam/lam-change-config-file-location.patch11
-rwxr-xr-xunmaintained/lam/lam.post-install7
-rwxr-xr-xunmaintained/lam/lam.post-upgrade7
-rw-r--r--unmaintained/lbdb/APKBUILD33
-rw-r--r--unmaintained/libamz/APKBUILD39
-rw-r--r--unmaintained/libavl/APKBUILD43
-rw-r--r--unmaintained/libavl/libavl_0.3.5-3.patch39
-rw-r--r--unmaintained/libc6/APKBUILD117
-rw-r--r--unmaintained/libc6/nscd.initd18
-rw-r--r--unmaintained/libcgroup/APKBUILD102
-rw-r--r--unmaintained/libcgroup/cgconfig.confd4
-rw-r--r--unmaintained/libcgroup/cgconfig.initd120
-rw-r--r--unmaintained/libcgroup/cgred.confd17
-rw-r--r--unmaintained/libcgroup/cgred.initd34
-rw-r--r--unmaintained/libcgroup/musl-decls-compat.patch207
-rw-r--r--unmaintained/libcli/APKBUILD40
-rw-r--r--unmaintained/libctl/APKBUILD54
-rw-r--r--unmaintained/libctl/gh-libguile.patch220
-rw-r--r--unmaintained/libdbusmenu-qt/APKBUILD42
-rw-r--r--unmaintained/libde265/APKBUILD64
-rw-r--r--unmaintained/libdlna/APKBUILD47
-rw-r--r--unmaintained/libdlna/avmedia_type.patch18
-rw-r--r--unmaintained/libdvdcss/APKBUILD47
-rw-r--r--unmaintained/libecap/APKBUILD47
-rw-r--r--unmaintained/libgdiplus/APKBUILD49
-rw-r--r--unmaintained/libgflags/APKBUILD64
-rw-r--r--unmaintained/libgusb/APKBUILD49
-rw-r--r--unmaintained/libimobiledevice/APKBUILD46
-rw-r--r--unmaintained/libiodbc/10-sqltypes-libiodbc-3.52.7.patch10
-rw-r--r--unmaintained/libiodbc/APKBUILD51
-rw-r--r--unmaintained/liblo/APKBUILD41
-rw-r--r--unmaintained/liblrdf/APKBUILD68
-rw-r--r--unmaintained/libmbfl/APKBUILD110
-rw-r--r--unmaintained/libmbfl/filters_makefile.patch20
-rw-r--r--unmaintained/libmediainfo/APKBUILD55
-rw-r--r--unmaintained/libnatspec/APKBUILD50
-rw-r--r--unmaintained/liboauth/APKBUILD51
-rw-r--r--unmaintained/libpwquality/APKBUILD54
-rw-r--r--unmaintained/libqb/APKBUILD54
-rw-r--r--unmaintained/libqb/fix-headers.patch10
-rw-r--r--unmaintained/libreswan/APKBUILD48
-rw-r--r--unmaintained/libsieve/APKBUILD44
-rw-r--r--unmaintained/libsigsegv/APKBUILD44
-rw-r--r--unmaintained/libspectre/APKBUILD50
-rw-r--r--unmaintained/libsrs2/APKBUILD52
-rw-r--r--unmaintained/libstrophe/APKBUILD37
-rw-r--r--unmaintained/libtar/APKBUILD73
-rw-r--r--unmaintained/libtar/libtar-1.2.11-bz729009.patch25
-rw-r--r--unmaintained/libtar/libtar-1.2.11-mem-deref.patch24
-rw-r--r--unmaintained/libtar/libtar-1.2.11-missing-protos.patch34
-rw-r--r--unmaintained/libtar/libtar-1.2.20-fix-resource-leaks.patch241
-rw-r--r--unmaintained/libtar/libtar-1.2.20-no-static-buffer.patch148
-rw-r--r--unmaintained/libtermkey/APKBUILD30
-rw-r--r--unmaintained/libubox/APKBUILD55
-rw-r--r--unmaintained/libubox/includes.patch11
-rw-r--r--unmaintained/libubox/json-pkgconf-detect.patch11
-rw-r--r--unmaintained/libuecc/APKBUILD45
-rw-r--r--unmaintained/libuniso/APKBUILD52
-rw-r--r--unmaintained/libuniso/musl-missing-typesh.patch10
-rw-r--r--unmaintained/libusbmuxd/APKBUILD41
-rw-r--r--unmaintained/libwbxml/APKBUILD34
-rw-r--r--unmaintained/libwnck3/APKBUILD39
-rw-r--r--unmaintained/libx86/APKBUILD43
-rw-r--r--unmaintained/libx86/libx86-add-pkgconfig.patch64
-rw-r--r--unmaintained/libx86/libx86-mmap-offset.patch187
-rw-r--r--unmaintained/libzen/APKBUILD52
-rw-r--r--unmaintained/lightdm-gtk-greeter/APKBUILD54
-rw-r--r--unmaintained/lightdm-gtk-greeter/lightdm-gtk-greeter-1.8.5-bg_crash.patch12
-rw-r--r--unmaintained/linux_logo/APKBUILD62
-rw-r--r--unmaintained/linux_logo/alpinelinux.logo54
-rw-r--r--unmaintained/linux_logo/linux_logo.conf18
-rw-r--r--unmaintained/linux_logo/linux_logo.initd36
-rw-r--r--unmaintained/lrzsz/APKBUILD44
-rw-r--r--unmaintained/lua-base64url/APKBUILD33
-rw-r--r--unmaintained/lua-cloud_storage/APKBUILD61
-rw-r--r--unmaintained/lua-cyrus-sasl/APKBUILD38
-rw-r--r--unmaintained/lua-cyrus-sasl/lua-cyrussasl-v1.0.0-Makefile.patch27
-rw-r--r--unmaintained/lua-date/APKBUILD56
-rw-r--r--unmaintained/lua-ejdb/APKBUILD49
-rw-r--r--unmaintained/lua-ejdb/unbundle-inspect.patch17
-rw-r--r--unmaintained/lua-event/APKBUILD81
-rw-r--r--unmaintained/lua-json/APKBUILD25
-rw-r--r--unmaintained/lua-lbase64/APKBUILD37
-rw-r--r--unmaintained/lua-ljsyscall/APKBUILD38
-rw-r--r--unmaintained/lua-lpeg/APKBUILD70
-rw-r--r--unmaintained/lua-mimetypes/APKBUILD56
-rw-r--r--unmaintained/lua-moonscript/APKBUILD51
-rw-r--r--unmaintained/lua-moonscript/alt_getopt-compat.patch10
-rw-r--r--unmaintained/lua-sec-prosody/APKBUILD52
-rw-r--r--unmaintained/lua-sec-prosody/Makefile.patch11
-rw-r--r--unmaintained/lua-tar/APKBUILD47
-rw-r--r--unmaintained/lua-tar/enable-pic.patch11
-rw-r--r--unmaintained/lua-telescope/APKBUILD38
-rw-r--r--unmaintained/lua-tnetstrings/APKBUILD35
-rw-r--r--unmaintained/lua-xmlrpc/APKBUILD38
-rw-r--r--unmaintained/lua-zip/APKBUILD39
-rw-r--r--unmaintained/lua-zlib/APKBUILD65
-rw-r--r--unmaintained/lua5.2-json4/APKBUILD24
-rw-r--r--unmaintained/lua5.2-penlight/APKBUILD33
-rw-r--r--unmaintained/lua5.2-sec-prosody/APKBUILD55
-rw-r--r--unmaintained/lua5.2-sec-prosody/Makefile.patch11
-rw-r--r--unmaintained/lua5.2-xctrl/APKBUILD42
-rw-r--r--unmaintained/lwm/APKBUILD42
-rw-r--r--unmaintained/lwm/no_xmkmf_makefile.patch11
-rw-r--r--unmaintained/lxde-common/APKBUILD36
-rw-r--r--unmaintained/lxde-common/startlxde.patch11
-rw-r--r--unmaintained/lxde-icon-theme/APKBUILD49
-rw-r--r--unmaintained/lxmenu-data/APKBUILD49
-rw-r--r--unmaintained/mac-robber/APKBUILD45
-rw-r--r--unmaintained/mac-robber/include-paramh.patch10
-rw-r--r--unmaintained/macchanger/APKBUILD53
-rw-r--r--unmaintained/macchanger/fix-caddr_t.patch13
-rw-r--r--unmaintained/madwimax/APKBUILD35
-rw-r--r--unmaintained/maildrop/APKBUILD52
-rw-r--r--unmaintained/maildrop/maildrop-2.3.0-dovecotauth.patch820
-rw-r--r--unmaintained/makepasswd/APKBUILD44
-rw-r--r--unmaintained/mapnik/APKBUILD52
-rw-r--r--unmaintained/mapnik/boost-1.57-geojson.patch11
-rw-r--r--unmaintained/markdown/APKBUILD34
-rw-r--r--unmaintained/masscan/APKBUILD41
-rw-r--r--unmaintained/mathomatic/APKBUILD41
-rw-r--r--unmaintained/mathomatic/busybox.patch11
-rw-r--r--unmaintained/mbuffer/APKBUILD46
-rw-r--r--unmaintained/mdev-like-a-boss/00-update-to-git-a5682fe.patch38
-rw-r--r--unmaintained/mdev-like-a-boss/0001-adjust-sample-conf-for-alpine-packaging.patch55
-rw-r--r--unmaintained/mdev-like-a-boss/APKBUILD75
-rw-r--r--unmaintained/mdev-like-a-boss/README.alpine12
-rw-r--r--unmaintained/mediaproxy/APKBUILD57
-rw-r--r--unmaintained/mediaproxy/config.ini19
-rw-r--r--unmaintained/mediaproxy/mediaproxy-dispatcher.initd22
-rw-r--r--unmaintained/mediaproxy/mediaproxy-relay.initd22
-rw-r--r--unmaintained/megactl/APKBUILD40
-rw-r--r--unmaintained/meiga/APKBUILD36
-rw-r--r--unmaintained/memtest86+/APKBUILD29
-rw-r--r--unmaintained/mhash/APKBUILD42
-rw-r--r--unmaintained/microxml/APKBUILD47
-rw-r--r--unmaintained/minitube/APKBUILD40
-rw-r--r--unmaintained/mkdocs/APKBUILD41
-rw-r--r--unmaintained/mmh/APKBUILD58
-rw-r--r--unmaintained/mmh/musl-fixes.patch468
-rw-r--r--unmaintained/mmh/symlinks.patch12
-rw-r--r--unmaintained/mobile-broadband-provider-info/APKBUILD42
-rw-r--r--unmaintained/moinmoin/APKBUILD30
-rw-r--r--unmaintained/mp3info/APKBUILD41
-rw-r--r--unmaintained/mp3info/escape_chars.patch138
-rw-r--r--unmaintained/mp3info/types.patch11
-rw-r--r--unmaintained/mpop/APKBUILD39
-rw-r--r--unmaintained/ms-sys/APKBUILD46
-rw-r--r--unmaintained/ms-sys/nls.patch32
-rw-r--r--unmaintained/mtd-utils/APKBUILD38
-rw-r--r--unmaintained/mysql-connector-odbc/APKBUILD49
-rw-r--r--unmaintained/mytop/APKBUILD35
-rw-r--r--unmaintained/nbd/APKBUILD51
-rw-r--r--unmaintained/nbtscan/APKBUILD47
-rw-r--r--unmaintained/nbtscan/nbtscan-1.5.1-makefile.patch20
-rw-r--r--unmaintained/ncmpcpp/APKBUILD44
-rw-r--r--unmaintained/ncrack/APKBUILD51
-rw-r--r--unmaintained/ncrack/missing-typesh.patch10
-rw-r--r--unmaintained/ndisc6/APKBUILD48
-rw-r--r--unmaintained/ndisc6/disable-rltraceroute6.patch29
-rw-r--r--unmaintained/neard/APKBUILD61
-rw-r--r--unmaintained/neard/neard.initd23
-rw-r--r--unmaintained/nebula/APKBUILD57
-rw-r--r--unmaintained/nebula/musl-fixes.patch32
-rw-r--r--unmaintained/netdiscover/APKBUILD35
-rw-r--r--unmaintained/nethack/APKBUILD72
-rwxr-xr-xunmaintained/nethack/nethack.bin74
-rw-r--r--unmaintained/netsniff-ng/APKBUILD44
-rw-r--r--unmaintained/netsniff-ng/netsniff-ng-unkown.patch14
-rw-r--r--unmaintained/netstat-nat/APKBUILD40
-rw-r--r--unmaintained/network-manager-applet/APKBUILD55
-rw-r--r--unmaintained/nfspy/APKBUILD41
-rw-r--r--unmaintained/nilfs-utils/APKBUILD64
-rw-r--r--unmaintained/nilfs-utils/max-input.patch12
-rw-r--r--unmaintained/nilfs-utils/rpc-types.patch11
-rw-r--r--unmaintained/noip/APKBUILD60
-rw-r--r--unmaintained/noip/noip-2.1.9-daemon.patch0
-rw-r--r--unmaintained/noip/noip-2.1.9-flags.patch11
-rw-r--r--unmaintained/noip/noip.initd34
-rw-r--r--unmaintained/ntfsprogs/APKBUILD38
-rw-r--r--unmaintained/nuttcp/APKBUILD39
-rw-r--r--unmaintained/nvme-cli/APKBUILD35
-rw-r--r--unmaintained/nwipe/APKBUILD43
-rw-r--r--unmaintained/nx-libs/APKBUILD53
-rw-r--r--unmaintained/nx-libs/Makefile.patch11
-rw-r--r--unmaintained/nx-libs/fix-musl-headers-x86.patch11
-rw-r--r--unmaintained/nx-libs/xf86bigfont.patch11
-rw-r--r--unmaintained/obmenu/APKBUILD19
-rw-r--r--unmaintained/onesixtyone/APKBUILD43
-rw-r--r--unmaintained/opal/APKBUILD54
-rw-r--r--unmaintained/opam/APKBUILD49
-rw-r--r--unmaintained/openconnect/APKBUILD36
-rw-r--r--unmaintained/openexr/APKBUILD44
-rw-r--r--unmaintained/openjpeg1/APKBUILD48
-rw-r--r--unmaintained/openlldp/APKBUILD58
-rw-r--r--unmaintained/openlldp/openlldp.confd2
-rwxr-xr-xunmaintained/openlldp/openlldp.initd24
-rw-r--r--unmaintained/openlldp/procfs.patch19
-rw-r--r--unmaintained/opensips-cp/APKBUILD26
-rw-r--r--unmaintained/openslp/APKBUILD47
-rw-r--r--unmaintained/openssh-askpass/APKBUILD45
-rw-r--r--unmaintained/otf-cantarell/45-cantarell.conf12
-rw-r--r--unmaintained/otf-cantarell/90-non-tt-cantarell.conf50
-rw-r--r--unmaintained/otf-cantarell/APKBUILD62
-rw-r--r--unmaintained/otf-oswald/45-oswald.conf12
-rw-r--r--unmaintained/otf-oswald/90-non-tt-oswald.conf23
-rw-r--r--unmaintained/otf-oswald/APKBUILD55
-rw-r--r--unmaintained/otf-quintessential/45-quintessential.conf12
-rw-r--r--unmaintained/otf-quintessential/90-non-tt-quintessential.conf23
-rw-r--r--unmaintained/otf-quintessential/APKBUILD50
-rw-r--r--unmaintained/otf-tex-gyre/45-tex-gyre.conf89
-rw-r--r--unmaintained/otf-tex-gyre/90-non-tt-tex-gyre.conf221
-rw-r--r--unmaintained/otf-tex-gyre/APKBUILD49
-rw-r--r--unmaintained/oxygen-icons/APKBUILD46
-rw-r--r--unmaintained/p0f/APKBUILD49
-rw-r--r--unmaintained/pacemaker/APKBUILD68
-rw-r--r--unmaintained/pacemaker/fix-SIGCHLD.patch11
-rw-r--r--unmaintained/pacemaker/fix-headers.patch11
-rw-r--r--unmaintained/pacemaker/pacemaker.initd39
-rw-r--r--unmaintained/packagekit/APKBUILD47
-rw-r--r--unmaintained/parcellite/APKBUILD49
-rw-r--r--unmaintained/parcellite/fix-crash.patch11
-rw-r--r--unmaintained/pass/APKBUILD72
-rw-r--r--unmaintained/passwdgen/APKBUILD32
-rw-r--r--unmaintained/pastebinc/APKBUILD43
-rw-r--r--unmaintained/pcapy/APKBUILD30
-rw-r--r--unmaintained/pdns-gui/0010-replace-bash-with-sh.patch81
-rw-r--r--unmaintained/pdns-gui/0020-update-for-mysql55.patch67
-rw-r--r--unmaintained/pdns-gui/0030-remove-zend.ze1_compatibility_mode-option.patch12
-rw-r--r--unmaintained/pdns-gui/0040-alpine-default-htaccess-fix.patch11
-rw-r--r--unmaintained/pdns-gui/APKBUILD63
-rw-r--r--unmaintained/pdns-gui/pdns-gui.apache2.conf7
-rw-r--r--unmaintained/pdns-gui/pdns-gui.post-install12
-rw-r--r--unmaintained/pdns-gui/pdns-gui.post-upgrade8
-rw-r--r--unmaintained/perl-alien-base/APKBUILD44
-rw-r--r--unmaintained/perl-alien-libgumbo/APKBUILD54
-rw-r--r--unmaintained/perl-apache-session-browseable/APKBUILD39
-rw-r--r--unmaintained/perl-apache-session-ldap/APKBUILD41
-rw-r--r--unmaintained/perl-apache-test/APKBUILD41
-rw-r--r--unmaintained/perl-apache2-sitecontrol/APKBUILD39
-rw-r--r--unmaintained/perl-app-perlfind/APKBUILD39
-rw-r--r--unmaintained/perl-archive-extract/APKBUILD41
-rw-r--r--unmaintained/perl-authen-digestmd5/APKBUILD38
-rw-r--r--unmaintained/perl-bind-config-parser/APKBUILD37
-rw-r--r--unmaintained/perl-carp-assert/APKBUILD37
-rw-r--r--unmaintained/perl-class-accessor-grouped/APKBUILD37
-rw-r--r--unmaintained/perl-class-base/APKBUILD37
-rw-r--r--unmaintained/perl-class-dbi-abstractsearch/APKBUILD37
-rw-r--r--unmaintained/perl-class-dbi/APKBUILD37
-rw-r--r--unmaintained/perl-class-gomor/APKBUILD31
-rw-r--r--unmaintained/perl-class-makemethods/APKBUILD37
-rw-r--r--unmaintained/perl-class-trigger/APKBUILD37
-rw-r--r--unmaintained/perl-class-weaksingleton/APKBUILD39
-rw-r--r--unmaintained/perl-common-sense/APKBUILD35
-rw-r--r--unmaintained/perl-config-simple/APKBUILD40
-rw-r--r--unmaintained/perl-config-tiny/APKBUILD44
-rw-r--r--unmaintained/perl-crypt-cbc/APKBUILD41
-rw-r--r--unmaintained/perl-cwmp/APKBUILD51
-rw-r--r--unmaintained/perl-dancer-plugin-swig/APKBUILD41
-rw-r--r--unmaintained/perl-dancer/APKBUILD43
-rw-r--r--unmaintained/perl-data-compare/APKBUILD41
-rw-r--r--unmaintained/perl-data-denter/APKBUILD41
-rw-r--r--unmaintained/perl-data-difflet/APKBUILD42
-rw-r--r--unmaintained/perl-data-dump/APKBUILD41
-rw-r--r--unmaintained/perl-data-hexdump/APKBUILD37
-rw-r--r--unmaintained/perl-data-section/APKBUILD39
-rw-r--r--unmaintained/perl-data-types/APKBUILD39
-rw-r--r--unmaintained/perl-dbix-contextualfetch/APKBUILD37
-rw-r--r--unmaintained/perl-dbix-datasource/APKBUILD37
-rw-r--r--unmaintained/perl-dbm-deep/APKBUILD40
-rw-r--r--unmaintained/perl-devel-checkos/APKBUILD41
-rw-r--r--unmaintained/perl-devel-hide/APKBUILD41
-rw-r--r--unmaintained/perl-digest-bubblebabble/APKBUILD37
-rw-r--r--unmaintained/perl-email-mime-encodings/APKBUILD41
-rw-r--r--unmaintained/perl-email-mime/APKBUILD41
-rw-r--r--unmaintained/perl-email-simple/APKBUILD41
-rw-r--r--unmaintained/perl-exporter-renaming/APKBUILD39
-rw-r--r--unmaintained/perl-extutils-parsexs/APKBUILD41
-rw-r--r--unmaintained/perl-extutils-pkgconfig/APKBUILD41
-rw-r--r--unmaintained/perl-extutils-xsbuilder/APKBUILD37
-rw-r--r--unmaintained/perl-ffi-checklib/APKBUILD41
-rw-r--r--unmaintained/perl-file-basedir/APKBUILD41
-rw-r--r--unmaintained/perl-file-chdir/APKBUILD41
-rw-r--r--unmaintained/perl-file-desktopentry/APKBUILD41
-rw-r--r--unmaintained/perl-file-find-rule/APKBUILD41
-rw-r--r--unmaintained/perl-file-homedir/APKBUILD39
-rw-r--r--unmaintained/perl-file-mimeinfo/APKBUILD41
-rw-r--r--unmaintained/perl-file-readbackwards/APKBUILD41
-rw-r--r--unmaintained/perl-file-remove/APKBUILD41
-rw-r--r--unmaintained/perl-file-type/APKBUILD39
-rw-r--r--unmaintained/perl-font-ttf/APKBUILD43
-rw-r--r--unmaintained/perl-functional-utility/APKBUILD41
-rw-r--r--unmaintained/perl-geo-ip/APKBUILD43
-rw-r--r--unmaintained/perl-glib-ex-connectproperties/APKBUILD39
-rw-r--r--unmaintained/perl-glib-ex-objectbits/APKBUILD41
-rw-r--r--unmaintained/perl-gtk2-ex-celllayout-base/APKBUILD39
-rw-r--r--unmaintained/perl-gtk2-ex-clock/APKBUILD39
-rw-r--r--unmaintained/perl-gtk2-ex-dashes/APKBUILD39
-rw-r--r--unmaintained/perl-gtk2-ex-datasheet-dbi/APKBUILD39
-rw-r--r--unmaintained/perl-gtk2-ex-dialogs/APKBUILD39
-rw-r--r--unmaintained/perl-gtk2-ex-dragger/APKBUILD39
-rw-r--r--unmaintained/perl-gtk2-ex-history/APKBUILD40
-rw-r--r--unmaintained/perl-gtk2-ex-menuview/APKBUILD39
-rw-r--r--unmaintained/perl-gtk2-ex-noshrink/APKBUILD39
-rw-r--r--unmaintained/perl-gtk2-ex-numaxis/APKBUILD39
-rw-r--r--unmaintained/perl-gtk2-ex-tickerview/APKBUILD39
-rw-r--r--unmaintained/perl-gtk2-ex-treemodelfilter-dragdest/APKBUILD39
-rw-r--r--unmaintained/perl-gtk2-ex-utils/APKBUILD39
-rw-r--r--unmaintained/perl-gtk2-ex-widgetbits/APKBUILD39
-rw-r--r--unmaintained/perl-gtk2-ex-widgetcursor/APKBUILD39
-rw-r--r--unmaintained/perl-gtk2-ex-xor/APKBUILD39
-rw-r--r--unmaintained/perl-hash-merge-simple/APKBUILD41
-rw-r--r--unmaintained/perl-hash-merge/APKBUILD37
-rw-r--r--unmaintained/perl-hash-mostutils/APKBUILD41
-rw-r--r--unmaintained/perl-html-form/APKBUILD39
-rw-r--r--unmaintained/perl-html-template/APKBUILD39
-rw-r--r--unmaintained/perl-http-server-simple-psgi/APKBUILD41
-rw-r--r--unmaintained/perl-http-server-simple/APKBUILD41
-rw-r--r--unmaintained/perl-ima-dbi/APKBUILD37
-rw-r--r--unmaintained/perl-io-async-loop-glib/APKBUILD41
-rw-r--r--unmaintained/perl-io-async-ssl/APKBUILD40
-rw-r--r--unmaintained/perl-io-socket-inet6/APKBUILD41
-rw-r--r--unmaintained/perl-io-string/APKBUILD39
-rw-r--r--unmaintained/perl-ipc-dirqueue/APKBUILD41
-rw-r--r--unmaintained/perl-ipc-signal/APKBUILD43
-rw-r--r--unmaintained/perl-json-maybexs/APKBUILD41
-rw-r--r--unmaintained/perl-libnet/APKBUILD43
-rw-r--r--unmaintained/perl-lisp/APKBUILD39
-rw-r--r--unmaintained/perl-local-lib/APKBUILD37
-rw-r--r--unmaintained/perl-log-dispatch-config/APKBUILD37
-rw-r--r--unmaintained/perl-math-calc-units/APKBUILD41
-rw-r--r--unmaintained/perl-mime-base32/APKBUILD42
-rw-r--r--unmaintained/perl-mime-construct/APKBUILD39
-rw-r--r--unmaintained/perl-modern-perl/APKBUILD40
-rw-r--r--unmaintained/perl-module-install/APKBUILD44
-rw-r--r--unmaintained/perl-monitoring-plugin/APKBUILD41
-rw-r--r--unmaintained/perl-net-appliance-session/APKBUILD39
-rw-r--r--unmaintained/perl-net-cidr-lite/APKBUILD41
-rw-r--r--unmaintained/perl-net-cli-interact/APKBUILD39
-rw-r--r--unmaintained/perl-net-dns-sec/APKBUILD43
-rw-r--r--unmaintained/perl-net-ident/APKBUILD43
-rw-r--r--unmaintained/perl-net-iptrie/APKBUILD38
-rw-r--r--unmaintained/perl-net-ipv4addr/APKBUILD33
-rw-r--r--unmaintained/perl-net-irr/APKBUILD37
-rw-r--r--unmaintained/perl-net-netmask/APKBUILD32
-rw-r--r--unmaintained/perl-net-whois-ip/APKBUILD33
-rw-r--r--unmaintained/perl-number-compare/APKBUILD41
-rw-r--r--unmaintained/perl-object-insideout/APKBUILD37
-rw-r--r--unmaintained/perl-parallel-forkmanager/APKBUILD37
-rw-r--r--unmaintained/perl-parser-mgc/APKBUILD39
-rw-r--r--unmaintained/perl-patchreader/APKBUILD39
-rw-r--r--unmaintained/perl-pdf-api2/APKBUILD43
-rw-r--r--unmaintained/perl-perl6-classes/APKBUILD39
-rw-r--r--unmaintained/perl-perl6-slurp/APKBUILD39
-rw-r--r--unmaintained/perl-proc-syncexec/APKBUILD39
-rw-r--r--unmaintained/perl-proc-waitstat/APKBUILD43
-rw-r--r--unmaintained/perl-provide/APKBUILD41
-rw-r--r--unmaintained/perl-radiusperl/APKBUILD38
-rw-r--r--unmaintained/perl-set-intspan-fast/APKBUILD39
-rw-r--r--unmaintained/perl-shell-config-generate/APKBUILD41
-rw-r--r--unmaintained/perl-shell-guess/APKBUILD41
-rw-r--r--unmaintained/perl-snmp-info/APKBUILD39
-rw-r--r--unmaintained/perl-software-license/APKBUILD39
-rw-r--r--unmaintained/perl-sort-versions/APKBUILD41
-rw-r--r--unmaintained/perl-sql-abstract-limit/APKBUILD38
-rw-r--r--unmaintained/perl-term-shelly/APKBUILD44
-rw-r--r--unmaintained/perl-test-command/APKBUILD44
-rw-r--r--unmaintained/perl-test-compile/APKBUILD45
-rw-r--r--unmaintained/perl-test-easy/APKBUILD41
-rw-r--r--unmaintained/perl-test-most/APKBUILD41
-rw-r--r--unmaintained/perl-test-resub/APKBUILD41
-rw-r--r--unmaintained/perl-text-glob/APKBUILD39
-rw-r--r--unmaintained/perl-text-parsewords/APKBUILD42
-rw-r--r--unmaintained/perl-tie-cache/APKBUILD39
-rw-r--r--unmaintained/perl-tie-refhash-weak/APKBUILD39
-rw-r--r--unmaintained/perl-tie-tz/APKBUILD39
-rw-r--r--unmaintained/perl-time-local/APKBUILD37
-rw-r--r--unmaintained/perl-time-unix/APKBUILD39
-rw-r--r--unmaintained/perl-types-serialiser/APKBUILD41
-rw-r--r--unmaintained/perl-universal-moniker/APKBUILD37
-rw-r--r--unmaintained/perl-uri-find-simple/APKBUILD37
-rw-r--r--unmaintained/perl-uri-find/APKBUILD38
-rw-r--r--unmaintained/perl-webservice-swigclient/APKBUILD42
-rw-r--r--unmaintained/perl-xml-generator/APKBUILD41
-rw-r--r--unmaintained/perl-yaml-tiny/APKBUILD41
-rw-r--r--unmaintained/pgagent/APKBUILD64
-rw-r--r--unmaintained/pgagent/pgagent.confd22
-rw-r--r--unmaintained/pgagent/pgagent.initd25
-rw-r--r--unmaintained/php-blenc/APKBUILD37
-rw-r--r--unmaintained/php-gmagick/APKBUILD37
-rw-r--r--unmaintained/php-pear-auth_sasl/APKBUILD29
-rw-r--r--unmaintained/php-rrd/APKBUILD37
-rw-r--r--unmaintained/php-suhosin/0001-php_flock-undefined-variable-fix.patch27
-rw-r--r--unmaintained/php-suhosin/APKBUILD54
-rw-r--r--unmaintained/php-zmq/APKBUILD37
-rw-r--r--unmaintained/phppgadmin/APKBUILD72
-rw-r--r--unmaintained/phppgadmin/phppgadmin.apache2.conf7
-rw-r--r--unmaintained/phppgadmin/phppgadmin.post-install16
-rw-r--r--unmaintained/phpredis/APKBUILD42
-rw-r--r--unmaintained/physfs/APKBUILD46
-rw-r--r--unmaintained/physfs/silence-gcc.patch19
-rw-r--r--unmaintained/pnp4nagios/APKBUILD75
-rw-r--r--unmaintained/pnp4nagios/npcd21
-rw-r--r--unmaintained/pnp4nagios/npcd.cfg195
-rw-r--r--unmaintained/polkit-qt/APKBUILD47
-rw-r--r--unmaintained/polygraph/10-fix-ftbfs-gcc-4.7.patch77
-rw-r--r--unmaintained/polygraph/APKBUILD53
-rw-r--r--unmaintained/postfixadmin/APKBUILD36
-rw-r--r--unmaintained/postgresql-old8.4/APKBUILD71
-rw-r--r--unmaintained/postgresql-old9.0/APKBUILD71
-rw-r--r--unmaintained/postgresql-old9.1/1q36
-rw-r--r--unmaintained/postgresql-old9.1/APKBUILD66
-rw-r--r--unmaintained/postgresql-old9.2/APKBUILD68
-rw-r--r--unmaintained/postgresql-old9.3/APKBUILD68
-rw-r--r--unmaintained/postler/APKBUILD42
-rw-r--r--unmaintained/postler/inet_ntoa.patch10
-rw-r--r--unmaintained/pptpclient/APKBUILD32
-rw-r--r--unmaintained/pptpclient/pptpclient-uclibc.patch21
-rw-r--r--unmaintained/premium-cursor-theme/APKBUILD28
-rw-r--r--unmaintained/profanity/APKBUILD54
-rw-r--r--unmaintained/proftpd/APKBUILD68
-rw-r--r--unmaintained/proftpd/mempcpy.patch13
-rw-r--r--unmaintained/proftpd/proftpd.confd7
-rw-r--r--unmaintained/proftpd/proftpd.initd28
-rw-r--r--unmaintained/proj4/APKBUILD45
-rw-r--r--unmaintained/prt-get/APKBUILD32
-rw-r--r--unmaintained/prwd/APKBUILD49
-rw-r--r--unmaintained/psmisc/APKBUILD38
-rw-r--r--unmaintained/ptlib/APKBUILD74
-rw-r--r--unmaintained/ptlib/musl-fixes.patch70
-rw-r--r--unmaintained/ptlib/ptlib-2.10.10-bison_fixes-1.patch2895
-rw-r--r--unmaintained/ptlib/ptlib-fixcamcrash.patch30
-rw-r--r--unmaintained/pulledpork/APKBUILD39
-rw-r--r--unmaintained/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch70
-rw-r--r--unmaintained/pulseaudio/APKBUILD147
-rw-r--r--unmaintained/pulseaudio/pulseaudio.confd7
-rw-r--r--unmaintained/pulseaudio/pulseaudio.initd81
-rw-r--r--unmaintained/py-acl/APKBUILD41
-rw-r--r--unmaintained/py-authen-ntlm2/APKBUILD42
-rw-r--r--unmaintained/py-beautifulsoup/APKBUILD29
-rw-r--r--unmaintained/py-beautifulsoup4/APKBUILD41
-rw-r--r--unmaintained/py-des/APKBUILD41
-rw-r--r--unmaintained/py-flask-htmlbuilder/APKBUILD41
-rw-r--r--unmaintained/py-jabberbot/APKBUILD30
-rw-r--r--unmaintained/py-mkdocs-bootstrap/APKBUILD40
-rw-r--r--unmaintained/py-mkdocs-bootswatch/APKBUILD40
-rw-r--r--unmaintained/py-mysql2pgsql/APKBUILD40
-rw-r--r--unmaintained/py-reconfigure/APKBUILD41
-rw-r--r--unmaintained/py-subvertpy/APKBUILD31
-rw-r--r--unmaintained/py-svn/APKBUILD34
-rw-r--r--unmaintained/py-tftpy/APKBUILD30
-rw-r--r--unmaintained/py-tkinter/APKBUILD87
-rw-r--r--unmaintained/py-tkinter/find_library.patch11
-rw-r--r--unmaintained/py-tkinter/unchecked-ioctl.patch11
-rw-r--r--unmaintained/py-twisted-conch/APKBUILD36
-rw-r--r--unmaintained/py-xattr/APKBUILD31
-rw-r--r--unmaintained/py-xdg/APKBUILD36
-rw-r--r--unmaintained/py-xmpppy/APKBUILD31
-rw-r--r--unmaintained/pycairo/APKBUILD41
-rw-r--r--unmaintained/pychecker/APKBUILD38
-rw-r--r--unmaintained/pyx/APKBUILD41
-rw-r--r--unmaintained/qimageblitz/APKBUILD45
-rw-r--r--unmaintained/qt5-qtkeychain/APKBUILD48
-rw-r--r--unmaintained/qt5-qtxmlpatterns/APKBUILD49
-rw-r--r--unmaintained/qtserialport/APKBUILD41
-rw-r--r--unmaintained/raptor/APKBUILD46
-rw-r--r--unmaintained/raptor/raptor-curl.patch12
-rw-r--r--unmaintained/rats/APKBUILD51
-rw-r--r--unmaintained/rc/APKBUILD44
-rw-r--r--unmaintained/rc/rc.post-install3
-rw-r--r--unmaintained/rc/rc.pre-deinstall3
-rw-r--r--unmaintained/regina-rexx/APKBUILD55
-rw-r--r--unmaintained/regina-rexx/llong.patch22
-rw-r--r--unmaintained/regina-rexx/regina-rexx.initd28
-rw-r--r--unmaintained/resource-agents/APKBUILD55
-rw-r--r--unmaintained/resource-agents/fix-bashism.patch12
-rw-r--r--unmaintained/rinse/APKBUILD51
-rw-r--r--unmaintained/rinse/rinse-device-nodes.patch19
-rw-r--r--unmaintained/rinse/rinse-posix-cpio-use.patch11
-rw-r--r--unmaintained/rinse/rinse-set-rpm-platform.patch100
-rw-r--r--unmaintained/rlwrap/APKBUILD39
-rw-r--r--unmaintained/rosegarden/APKBUILD47
-rw-r--r--unmaintained/rosegarden/nearbyintf.patch13
-rw-r--r--unmaintained/roundup/APKBUILD47
-rw-r--r--unmaintained/roundup/roundup-avoid-bash-syntax-in-tests.patch17
-rw-r--r--unmaintained/roundup/roundup-fix-busybox-shell-opts.patch19
-rw-r--r--unmaintained/rpmlint/APKBUILD30
-rw-r--r--unmaintained/sane/10-network.patch42
-rw-r--r--unmaintained/sane/20-segfault-avahi-fix-kodakio.patch98
-rw-r--r--unmaintained/sane/30-musl-header-fixes.patch51
-rw-r--r--unmaintained/sane/APKBUILD79
-rw-r--r--unmaintained/sarg/APKBUILD56
-rw-r--r--unmaintained/sbc/APKBUILD57
-rw-r--r--unmaintained/scanssh/APKBUILD35
-rw-r--r--unmaintained/scantailor/APKBUILD53
-rw-r--r--unmaintained/schedtool/APKBUILD38
-rw-r--r--unmaintained/scrub/APKBUILD47
-rw-r--r--unmaintained/scummvm/APKBUILD48
-rw-r--r--unmaintained/sent/APKBUILD29
-rw-r--r--unmaintained/series60-remote/APKBUILD38
-rw-r--r--unmaintained/setserial/APKBUILD41
-rw-r--r--unmaintained/setserial/setserial.patch28
-rw-r--r--unmaintained/shared-desktop-ontologies/APKBUILD40
-rw-r--r--unmaintained/shed/APKBUILD32
-rw-r--r--unmaintained/shntool/APKBUILD50
-rw-r--r--unmaintained/siege/APKBUILD51
-rw-r--r--unmaintained/siege/siege-2.72-good.patch62
-rw-r--r--unmaintained/siege/stdint.patch28
-rw-r--r--unmaintained/sipcrack/APKBUILD32
-rw-r--r--unmaintained/sipvicious/APKBUILD34
-rw-r--r--unmaintained/sisctrl/APKBUILD43
-rw-r--r--unmaintained/skroll/APKBUILD31
-rw-r--r--unmaintained/slowhttptest/APKBUILD44
-rw-r--r--unmaintained/smap/APKBUILD34
-rw-r--r--unmaintained/snorenotify/APKBUILD47
-rw-r--r--unmaintained/sofia-sip/APKBUILD46
-rw-r--r--unmaintained/soprano/APKBUILD47
-rw-r--r--unmaintained/soprano/redland.patch11
-rwxr-xr-xunmaintained/soprano/soprano-2.9.4-dbus-1.patch12
-rw-r--r--unmaintained/spectools/APKBUILD44
-rw-r--r--unmaintained/spectrwm/APKBUILD51
-rw-r--r--unmaintained/speech-dispatcher/0001-Make-some-includes-consistent-with-POSIX.patch54
-rw-r--r--unmaintained/speech-dispatcher/0001-Provide-fallback-for-systems-without-TEMP_FAILURE_RE.patch182
-rw-r--r--unmaintained/speech-dispatcher/APKBUILD59
-rw-r--r--unmaintained/spice-vdagent/APKBUILD60
-rw-r--r--unmaintained/spice-vdagent/fix-memcpy-memset-implicit-declaration.patch11
-rw-r--r--unmaintained/spice-vdagent/spice-vdagentd.initd97
-rw-r--r--unmaintained/spim/APKBUILD51
-rw-r--r--unmaintained/spim/respect-env.patch183
-rw-r--r--unmaintained/sqstat/APKBUILD34
-rw-r--r--unmaintained/squeezelite/0001-only-run-glibc-specific-hacks-on-glibc.patch25
-rw-r--r--unmaintained/squeezelite/0001-respect-LDFLAGS.patch61
-rw-r--r--unmaintained/squeezelite/APKBUILD51
-rw-r--r--unmaintained/squidanalyzer/APKBUILD52
-rw-r--r--unmaintained/squidguard/APKBUILD53
-rw-r--r--unmaintained/squidguard/blockedsites1
-rw-r--r--unmaintained/squidguard/squidGuard.conf.blocksites13
-rw-r--r--unmaintained/squidguard/squidGuard.conf.minimal7
-rw-r--r--unmaintained/squidguard/squidguard-1.4-debian-bdb-51.patch24
-rw-r--r--unmaintained/squidguard/squidguard-1.4-gentoo.patch74
-rw-r--r--unmaintained/squidguard/squidguard-1.4-upstream-fixes.patch24
-rw-r--r--unmaintained/squidguard/squidguard-1.4-vsnprintf.patch44
-rw-r--r--unmaintained/sslscan/APKBUILD44
-rw-r--r--unmaintained/sslscan/sslscan-makefile.patch28
-rw-r--r--unmaintained/stress/APKBUILD35
-rw-r--r--unmaintained/strigi/APKBUILD51
-rw-r--r--unmaintained/subberthehut/APKBUILD26
-rw-r--r--unmaintained/suspend-utils/APKBUILD56
-rw-r--r--unmaintained/suspend-utils/define-gnu-source.patch30
-rw-r--r--unmaintained/swaks/APKBUILD44
-rw-r--r--unmaintained/t1-cursor/APKBUILD31
-rw-r--r--unmaintained/t1-urw-fonts/45-urw-fonts.conf54
-rw-r--r--unmaintained/t1-urw-fonts/90-non-tt-urw-fonts.conf167
-rw-r--r--unmaintained/t1-urw-fonts/APKBUILD53
-rw-r--r--unmaintained/t1lib/APKBUILD61
-rw-r--r--unmaintained/t1lib/CVE-2010-2642.patch24
-rw-r--r--unmaintained/t1lib/CVE-2011-0764.patch32
-rw-r--r--unmaintained/t1lib/CVE-2011-1552_1553_1554.patch133
-rw-r--r--unmaintained/t1lib/format-security.patch33
-rw-r--r--unmaintained/t1lib/lib-cleanup.patch59
-rw-r--r--unmaintained/tartarus/APKBUILD39
-rw-r--r--unmaintained/tartarus/tartarus.post-install7
-rw-r--r--unmaintained/tb-tun/APKBUILD40
-rw-r--r--unmaintained/tc-play/APKBUILD48
-rw-r--r--unmaintained/tc-play/libsuffix.patch24
-rw-r--r--unmaintained/ted/APKBUILD82
-rwxr-xr-xunmaintained/ted/ted-motif.trigger3
-rw-r--r--unmaintained/tesseract-data/APKBUILD54
-rw-r--r--unmaintained/thunar-media-tags-plugin/APKBUILD44
-rw-r--r--unmaintained/tidyhtml/APKBUILD33
-rw-r--r--unmaintained/tlssled/APKBUILD42
-rw-r--r--unmaintained/toilet-font/APKBUILD45
-rw-r--r--unmaintained/toilet/APKBUILD34
-rw-r--r--unmaintained/tokyocabinet/APKBUILD60
-rw-r--r--unmaintained/tokyocabinet/dynamic-linking.patch65
-rw-r--r--unmaintained/tokyocabinet/tokyocabinet-manhelp.patch66
-rw-r--r--unmaintained/tolua/APKBUILD46
-rw-r--r--unmaintained/tolua/config37
-rw-r--r--unmaintained/totem-pl-parser/APKBUILD44
-rw-r--r--unmaintained/totem-pl-parser/no-libsoup-gnome.patch31
-rw-r--r--unmaintained/totem/APKBUILD48
-rw-r--r--unmaintained/totem/totem.post-install11
-rw-r--r--unmaintained/totem/totem.post-upgrade11
-rw-r--r--unmaintained/totem/totem.pre-deinstall11
-rw-r--r--unmaintained/transmission-remote-gtk/APKBUILD51
-rw-r--r--unmaintained/trayer/APKBUILD46
-rw-r--r--unmaintained/trayer/makefile.patch23
-rw-r--r--unmaintained/triggerhappy/APKBUILD58
-rw-r--r--unmaintained/triggerhappy/triggerhappy.confd2
-rw-r--r--unmaintained/triggerhappy/triggerhappy.initd12
-rw-r--r--unmaintained/ttf-caladea/45-caladea.conf13
-rw-r--r--unmaintained/ttf-caladea/90-tt-caladea.conf54
-rw-r--r--unmaintained/ttf-caladea/APKBUILD51
-rw-r--r--unmaintained/ttf-cantoraone/45-cantoraone.conf12
-rw-r--r--unmaintained/ttf-cantoraone/90-tt-cantoraone.conf26
-rw-r--r--unmaintained/ttf-cantoraone/APKBUILD49
-rw-r--r--unmaintained/ttf-carlito/45-carlito.conf12
-rw-r--r--unmaintained/ttf-carlito/90-tt-carlito.conf56
-rw-r--r--unmaintained/ttf-carlito/APKBUILD51
-rw-r--r--unmaintained/ttf-courier-prime/45-courier-prime.conf12
-rw-r--r--unmaintained/ttf-courier-prime/90-tt-courier-prime.conf26
-rw-r--r--unmaintained/ttf-courier-prime/APKBUILD52
-rw-r--r--unmaintained/ttf-gelasio/45-gelasio.conf12
-rw-r--r--unmaintained/ttf-gelasio/90-tt-gelasio.conf26
-rw-r--r--unmaintained/ttf-gelasio/APKBUILD63
-rw-r--r--unmaintained/ttf-heuristica/45-heuristica.conf12
-rw-r--r--unmaintained/ttf-heuristica/90-tt-heuristica.conf26
-rw-r--r--unmaintained/ttf-heuristica/APKBUILD50
-rw-r--r--unmaintained/ttf-inconsolata/APKBUILD29
-rw-r--r--unmaintained/ttf-merriweather-sans/45-merriweather-sans.conf12
-rw-r--r--unmaintained/ttf-merriweather-sans/90-tt-merriweather-sans.conf26
-rw-r--r--unmaintained/ttf-merriweather-sans/APKBUILD50
-rw-r--r--unmaintained/ttf-merriweather/45-merriweather.conf12
-rw-r--r--unmaintained/ttf-merriweather/90-tt-merriweather.conf26
-rw-r--r--unmaintained/ttf-merriweather/APKBUILD50
-rw-r--r--unmaintained/ttf-noto/40-noto-arabic.conf26
-rw-r--r--unmaintained/ttf-noto/45-noto-sans.conf635
-rw-r--r--unmaintained/ttf-noto/45-noto-serif.conf47
-rw-r--r--unmaintained/ttf-noto/90-non-tt-noto-sans-cjk.conf89
-rw-r--r--unmaintained/ttf-noto/90-tt-noto-sans.conf1876
-rw-r--r--unmaintained/ttf-noto/90-tt-noto-serif.conf131
-rw-r--r--unmaintained/ttf-noto/APKBUILD94
-rw-r--r--unmaintained/ttf-opensans/45-opensans.conf19
-rw-r--r--unmaintained/ttf-opensans/90-tt-opensans.conf178
-rw-r--r--unmaintained/ttf-opensans/APKBUILD50
-rw-r--r--unmaintained/ttf-signika-family/45-signika.conf12
-rw-r--r--unmaintained/ttf-signika-family/90-tt-signika.conf26
-rw-r--r--unmaintained/ttf-signika-family/APKBUILD50
-rw-r--r--unmaintained/ttf-symbola/45-symbola.conf12
-rw-r--r--unmaintained/ttf-symbola/90-tt-symbola.conf26
-rw-r--r--unmaintained/ttf-symbola/APKBUILD51
-rw-r--r--unmaintained/tut/APKBUILD40
-rw-r--r--unmaintained/ubus/APKBUILD51
-rw-r--r--unmaintained/ubus/disable-systemd.patch11
-rw-r--r--unmaintained/uci/APKBUILD48
-rw-r--r--unmaintained/ucspi-ssl/0001-Add-missing-make-targets.patch41
-rw-r--r--unmaintained/ucspi-ssl/APKBUILD70
-rw-r--r--unmaintained/ucspi-tcp/APKBUILD50
-rw-r--r--unmaintained/ucspi-tcp/ucspi-tcp-0.88.a_record.patch64
-rw-r--r--unmaintained/ucspi-tcp/ucspi-tcp-0.88.errno.patch12
-rw-r--r--unmaintained/ucspi-tcp6/APKBUILD58
-rw-r--r--unmaintained/uget/APKBUILD44
-rw-r--r--unmaintained/uhttpmock/APKBUILD50
-rw-r--r--unmaintained/ulib/APKBUILD49
-rw-r--r--unmaintained/unagi/APKBUILD41
-rw-r--r--unmaintained/unetbootin/APKBUILD53
-rw-r--r--unmaintained/unetbootin/allow-ntfs.patch20
-rw-r--r--unmaintained/unibilium/APKBUILD30
-rw-r--r--unmaintained/unifdef/APKBUILD39
-rw-r--r--unmaintained/unpaper/APKBUILD51
-rw-r--r--unmaintained/upgrade-notify/APKBUILD19
-rw-r--r--unmaintained/upgrade-notify/upgrade-notify.trigger52
-rw-r--r--unmaintained/urlwatch/APKBUILD40
-rw-r--r--unmaintained/usbip-utils/APKBUILD69
-rw-r--r--unmaintained/usbip-utils/sigcld.patch13
-rw-r--r--unmaintained/usbip-utils/usbip.confd18
-rw-r--r--unmaintained/usbip-utils/usbip.initd244
-rw-r--r--unmaintained/usbmuxd/APKBUILD45
-rw-r--r--unmaintained/uselessd/APKBUILD50
-rw-r--r--unmaintained/v8/APKBUILD77
-rwxr-xr-xunmaintained/v8/v8.pc10
-rw-r--r--unmaintained/vbetool/APKBUILD42
-rw-r--r--unmaintained/vdr-plugin-satip/APKBUILD46
-rw-r--r--unmaintained/vdr-plugin-satip/include-ctype-header.patch10
-rw-r--r--unmaintained/vdr-plugin-vnsiserver/APKBUILD44
-rw-r--r--unmaintained/vdr-plugin-vnsiserver/musl-fix.patch11
-rw-r--r--unmaintained/vdr/APKBUILD52
-rw-r--r--unmaintained/vdr/Make.config12
-rw-r--r--unmaintained/vdr/musl-compat.patch182
-rw-r--r--unmaintained/vim-sleuth/APKBUILD39
-rw-r--r--unmaintained/vimpager/APKBUILD40
-rw-r--r--unmaintained/vlc-htsp-plugin/APKBUILD46
-rw-r--r--unmaintained/vlc-htsp-plugin/support-bb-install.patch11
-rw-r--r--unmaintained/vlc-libde265/APKBUILD50
-rw-r--r--unmaintained/vpnc/APKBUILD55
-rw-r--r--unmaintained/vpnc/vpnc.confd4
-rw-r--r--unmaintained/vpnc/vpnc.initd103
-rw-r--r--unmaintained/vpnc/working.patch32
-rw-r--r--unmaintained/waf/APKBUILD37
-rw-r--r--unmaintained/wavemon/APKBUILD47
-rw-r--r--unmaintained/wbox/APKBUILD30
-rw-r--r--unmaintained/websocketd/APKBUILD64
-rw-r--r--unmaintained/weplab/APKBUILD33
-rw-r--r--unmaintained/willie/APKBUILD41
-rw-r--r--unmaintained/wine-mono/APKBUILD31
-rw-r--r--unmaintained/winetricks/APKBUILD40
-rw-r--r--unmaintained/wiringpi/APKBUILD44
-rw-r--r--unmaintained/wput/APKBUILD50
-rw-r--r--unmaintained/wput/wput-destdir.patch37
-rw-r--r--unmaintained/x11vnc/APKBUILD51
-rw-r--r--unmaintained/xbattmon/APKBUILD40
-rw-r--r--unmaintained/xbindkeys/APKBUILD39
-rw-r--r--unmaintained/xboard/APKBUILD50
-rw-r--r--unmaintained/xca/APKBUILD48
-rw-r--r--unmaintained/xcmenu/APKBUILD44
-rw-r--r--unmaintained/xcmenu/include-fcntl.patch13
-rw-r--r--unmaintained/xcursor-themes/APKBUILD42
-rw-r--r--unmaintained/xcursorgen/APKBUILD47
-rw-r--r--unmaintained/xdotool/APKBUILD40
-rw-r--r--unmaintained/xfce-polkit/APKBUILD47
-rw-r--r--unmaintained/xfce4-sensors-plugin/APKBUILD51
-rw-r--r--unmaintained/xfdashboard/APKBUILD50
-rw-r--r--unmaintained/xinput_calibrator/APKBUILD42
-rw-r--r--unmaintained/xiphos/APKBUILD45
-rw-r--r--unmaintained/xlennart/APKBUILD44
-rw-r--r--unmaintained/xmlrpc-epi/APKBUILD53
-rw-r--r--unmaintained/xmlstarlet/APKBUILD44
-rw-r--r--unmaintained/xnbd/APKBUILD63
-rw-r--r--unmaintained/xnbd/fix-cblocksize.patch42
-rw-r--r--unmaintained/xnbd/remove-pagesize.patch29
-rw-r--r--unmaintained/xnbd/remove-sys_siglist.patch35
-rw-r--r--unmaintained/xrdp-git/APKBUILD87
-rw-r--r--unmaintained/xrdp-git/cd077979ebeb81a6e85a9ba7f9c463beda1606ba.patch100
-rw-r--r--unmaintained/yum-metadata-parser/APKBUILD26
-rw-r--r--unmaintained/yum/APKBUILD27
-rw-r--r--unmaintained/zathura-djvu/APKBUILD40
-rw-r--r--unmaintained/zathura-pdf-poppler/APKBUILD40
-rw-r--r--unmaintained/zathura-ps/APKBUILD40
-rw-r--r--unmaintained/zathura/APKBUILD45
-rw-r--r--unmaintained/zathura/without-synctex.patch53
-rw-r--r--unmaintained/zziplib/APKBUILD50
1080 files changed, 60506 insertions, 0 deletions
diff --git a/unmaintained/aalib/APKBUILD b/unmaintained/aalib/APKBUILD
new file mode 100644
index 0000000000..dadc71f7e8
--- /dev/null
+++ b/unmaintained/aalib/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=aalib
+pkgver=1.4.0
+_pkgver=1.4
+pkgrel=1.rc4
+pkgdesc="An portable ascii art GFX library"
+url="http://aa-project.sourceforge.net/aalib/"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://downloads.sourceforge.net/aa-project/$pkgname-"$_pkgver"rc4.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+build() {
+ cd "$_builddir"
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="d5aa8e9eae07b7441298b5c30490f6a6 aalib-1.4rc4.tar.gz"
+sha256sums="0b214b98850f559e0a9ef7282de2ff336b094e1aacedefff3ffa50f07711db58 aalib-1.4rc4.tar.gz"
+sha512sums="247813d6b232d83c3347f038ea246ce10b70679e2ff2f3c647c3a462aeb0febc4e3b96bba37c71940b55da1ff8872fbc66598b0ac091590c979b6e163792a35d aalib-1.4rc4.tar.gz"
diff --git a/unmaintained/accountsservice/APKBUILD b/unmaintained/accountsservice/APKBUILD
new file mode 100644
index 0000000000..0c4f7771e7
--- /dev/null
+++ b/unmaintained/accountsservice/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=accountsservice
+pkgver=0.6.37
+pkgrel=0
+pkgdesc="D-Bus interface for user account query and manipulation"
+url="http://www.freedesktop.org/software/accountsservice/"
+arch="all"
+license="GPLv3+"
+depends=""
+depends_dev="glib-dev gobject-introspection-dev polkit-dev"
+makedepends="$depends_dev intltool gnome-doc-utils"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="http://www.freedesktop.org/software/accountsservice/accountsservice-$pkgver.tar.xz"
+
+_builddir="$srcdir"/accountsservice-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --disable-systemd \
+ --enable-introspection=yes \
+ || return 1
+ # hack to disable utmpx
+ sed -i -e '/#define HAVE_UTMPX_H 1/d' config.h
+
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="aa5f4da715b8ec19024e39def88831a0 accountsservice-0.6.37.tar.xz"
+sha256sums="b0b21136dc9d74a7135fd5ed7fa1a8069efb91bc6ecc1ef8911125433345a5c1 accountsservice-0.6.37.tar.xz"
+sha512sums="c6014da6796ed384c02f9171bb47cdbc5da61d80d53adbc3120c19a1166caa2ede2a6e676cfc6ddf2b953e78a290b70d86a5bf1af10c428e215a875878cc816c accountsservice-0.6.37.tar.xz"
diff --git a/unmaintained/acf-jquery-mobile/APKBUILD b/unmaintained/acf-jquery-mobile/APKBUILD
new file mode 100644
index 0000000000..ff482f0698
--- /dev/null
+++ b/unmaintained/acf-jquery-mobile/APKBUILD
@@ -0,0 +1,20 @@
+# Contributor: Ted Trask <ttrask01@yahoo.com>
+# Maintainer: Ted Trask <ttrask01@yahoo.com>
+pkgname=acf-jquery-mobile
+pkgver=0.0.1
+pkgrel=0
+pkgdesc="jquery mobile libraries for ACF"
+url="http://git.alpinelinux.org/cgit/acf-jquery-mobile"
+arch="noarch"
+license="GPL2"
+depends="acf-jquery"
+replaces=""
+source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar.xz"
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+md5sums="2fd8424c4f26ff6d982fde9ff2404ad0 acf-jquery-mobile-0.0.1.tar.xz"
+sha256sums="58222822740287937a1a7fc6a73b116364aa3cdc9c6af67fb5799c8e9a4dbe66 acf-jquery-mobile-0.0.1.tar.xz"
+sha512sums="b816cbdcbb746337ddf6b9df9fd70374e19471f9de2c955e425acafc7d883f0866f706a9ca49adcf7decdc16da597864d4a942a1fc61f7d9a6b16f4946745377 acf-jquery-mobile-0.0.1.tar.xz"
diff --git a/unmaintained/acf-provisioning-grandstream-ata/APKBUILD b/unmaintained/acf-provisioning-grandstream-ata/APKBUILD
new file mode 100644
index 0000000000..ae9940a632
--- /dev/null
+++ b/unmaintained/acf-provisioning-grandstream-ata/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Seung Soo Mun <hamletmun@gmail.com>
+# Maintainer: Ted Trask <ttrask01@yahoo.com>
+pkgname=acf-provisioning-grandstream-ata
+pkgver=1.0.7.3
+pkgrel=0
+pkgdesc="Files for provisioning Grandstream HandyTone products"
+url="http://www.grandstream.com/index.php/products"
+arch="noarch"
+license="AS IS"
+depends=""
+makedepends=""
+source="
+http://www.grandstream.com/firmware/GXW40xx_HT50x/Release_HT502_1.0.14.1.zip
+http://www.grandstream.com/firmware/GXW40xx_HT50x/Release_HT503_1.0.14.1.zip
+http://www.grandstream.com/firmware/HT70x/Release_HT701_1.0.7.3.zip
+http://www.grandstream.com/firmware/HT70x/Release_HT702_1.0.7.3.zip
+http://www.grandstream.com/firmware/HT70x/Release_HT704_1.0.7.3.zip
+init.cfg.sample"
+
+subpackages=""
+
+package() {
+ cd "$srcdir"
+ mkdir -p "$pkgdir"/var/www/provisioning/htdocs/Grandstream
+ cp *.cfg.sample *fw.bin "$pkgdir"/var/www/provisioning/htdocs/Grandstream
+}
+
+md5sums="45afec66616b94beb255d13376b0c1a6 Release_HT502_1.0.14.1.zip
+cf250b6bc7b7ac95223b63023f9f14c9 Release_HT503_1.0.14.1.zip
+40ed2488819b48bf207592b2feccd4e9 Release_HT701_1.0.7.3.zip
+1058fea95c6e7f9e1e257ab317ac9a90 Release_HT702_1.0.7.3.zip
+64210b2c52cbc42039c237ec8deaa903 Release_HT704_1.0.7.3.zip
+dada214a3a51fb69f27dfb746e3f5d10 init.cfg.sample"
+sha256sums="1c08eeae52b477e2028d2ce8b97cc66c2e0ab670c78576026b6a75b06157dfb0 Release_HT502_1.0.14.1.zip
+23500431b0a4a81b36e31a0926f82612246daf7ec18310fba6cd0c8c87fe0258 Release_HT503_1.0.14.1.zip
+bc3a5be33ee4c96685466ad67bf911e4b11a521d56e79747afa0d488ef6c6f6f Release_HT701_1.0.7.3.zip
+67544b68778cb3e87a0ccd5b07e6a34e707368c1c1c896d336655ccaf27981f6 Release_HT702_1.0.7.3.zip
+71abcd72e89550c7de85034ae1b869ee9f06218304f0002213897480716655c4 Release_HT704_1.0.7.3.zip
+0525a686672fd7080a4cfb76f5d466c172c8b6f50d507fd4be35fbab6ff413e2 init.cfg.sample"
+sha512sums="28e924c9995cdfbc3b3c632e9dc3a67b0b919d1af1ed543579bb8bd45fad4c0286ef24b09ac0d4302cb585362d138d88f85fb2dc645ff126e9756c9659cf2541 Release_HT502_1.0.14.1.zip
+9abc4c9356bbea404a2e5d6de62ad500365e6d019abc38d95802972dcba59a80c4b67a8acb5598aa68a97e7349c71150db65d7b2521fe3e347f625bde76088a2 Release_HT503_1.0.14.1.zip
+6cc5c17dd94efa9aface1a3f2b098d11798ae7dfbbcfdf69182b0784ac1fcb6c99138e215378aa9712f6fc3764c55e17bfe33c415d1cd67ce47cefe95491f2d6 Release_HT701_1.0.7.3.zip
+ccbf52d9530c3a88294764a8de8e36d0dc21f50c84be269c6ae5ee1bf0b1f404682db534fdbbb402588b7924d0cac865bec72145314db979b993b84c6d535e3d Release_HT702_1.0.7.3.zip
+4b6e999ebb7ad357b8026f6a0635500b34ff7d74c0ffc76f6e5b9c2f1e079ec8cd5dabd099cbce976f204b814ea20acf36e1d51a88b0676b124e0ad18ef55722 Release_HT704_1.0.7.3.zip
+a19a8b174f65603879420fdde77a70534bae6b03f1c11c28a83fd63a55252e11cfc8e4fd821b97d8ec742321bcdc6e1299155cd112bff8e7435f1703e2adbcff init.cfg.sample"
diff --git a/unmaintained/acf-provisioning-grandstream-ata/init.cfg.sample b/unmaintained/acf-provisioning-grandstream-ata/init.cfg.sample
new file mode 100644
index 0000000000..3fa43d4f25
--- /dev/null
+++ b/unmaintained/acf-provisioning-grandstream-ata/init.cfg.sample
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<gs_provision version="1">
+ <config version="1">
+
+<!-- Advanced Settings -->
+
+ <!-- HT-502 - Layer 3 QoS (IP Diff-Serv or Precedence value for RTP) -->
+ <P38>46</P38>
+ <!-- Layer 2 QoS. 802.1Q/VLAN Tag -->
+ <P51>1</P51>
+ <!-- HT-502 - Layer 2 QoS. 802.1p priority value -->
+ <P87>5</P87>
+ <!-- HT-701 - Layer 2 QoS. SIP 802.1p priority value -->
+ <P5038>5</P5038>
+ <!-- HT-701 - Layer 2 QoS. RTP 802.1p priority value -->
+ <P5042>5</P5042>
+
+ <!-- Firmware Upgrade and Provisioning. 0 - TFTP, 1 - HTTP, 2 - HTTPS
+ <P212>1</P4428>
+ <!-- Firmware Server Path -->
+ <P192>10.0.0.1/Grandstream</P192>
+ <!-- Config Server Path -->
+ <P237>10.0.0.1/Grandstream</P237>
+ <!-- Allow DHCP Option 66 to override server -->
+ <P145>0</P145>
+
+ <!-- Disable SIP NOTIFY Authentication -->
+ <P4428>1</P4428>
+ <!-- Disable Direct IP Call -->
+ <P277>1</P277>
+
+<!-- FXS Port 1 -->
+
+ <!-- DNS Mode: NAPTR/SRV -->
+ <P103>2</P103>
+ <!-- Refer-To Use Target Contact -->
+ <P135>1</P135>
+ <!-- Disable Call-Waiting -->
+ <P91>1</P91>
+ <!-- Delayed Call Forward Wait Time -->
+ <P139>120</P139>
+ <!-- Fax Mode: Pass Through -->
+ <P228>1</P228>
+
+<!-- FXS Port 2 -->
+
+ <!-- DNS Mode: NAPTR/SRV -->
+ <P702>2</P702>
+ <!-- Refer-To Use Target Contact -->
+ <P469>1</P469>
+ <!-- Disable Call-Waiting -->
+ <P791>1</P791>
+ <!-- Delayed Call Forward Wait Time -->
+ <P470>120</P470>
+ <!-- Fax Mode: Pass Through -->
+ <P710>1</P710>
+
+<!-- Basic Settings -->
+
+ <!-- Telnet Server: No -->
+ <P276>1</P276>
+ <!-- Reply to ICMP on WAN port -->
+ <P189>1</P189>
+ <!-- WAN side HTTP/Telnet access -->
+ <P190>1</P190>
+ <!-- Enable LAN DHCP -->
+ <P5001>0</P5001>
+
+ <!-- Time Zone -->
+ <P64>customize</P64>
+
+ </config>
+</gs_provision>
diff --git a/unmaintained/acf-provisioning-polycom4.0.3f/000000000000-directory.xml b/unmaintained/acf-provisioning-polycom4.0.3f/000000000000-directory.xml
new file mode 100644
index 0000000000..2c5fecabea
--- /dev/null
+++ b/unmaintained/acf-provisioning-polycom4.0.3f/000000000000-directory.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" standalone="yes"?>
+<directory>
+ <item_list/>
+</directory>
diff --git a/unmaintained/acf-provisioning-polycom4.0.3f/000000000000-phone.cfg b/unmaintained/acf-provisioning-polycom4.0.3f/000000000000-phone.cfg
new file mode 100644
index 0000000000..f3fe583345
--- /dev/null
+++ b/unmaintained/acf-provisioning-polycom4.0.3f/000000000000-phone.cfg
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!-- Application SIP Wolverine 3.3.1.0933 02-Feb-11 18:44 -->
+<PHONE_CONFIG>
+ <OVERRIDES />
+</PHONE_CONFIG>
diff --git a/unmaintained/acf-provisioning-polycom4.0.3f/000000000000-web.cfg b/unmaintained/acf-provisioning-polycom4.0.3f/000000000000-web.cfg
new file mode 100644
index 0000000000..f3fe583345
--- /dev/null
+++ b/unmaintained/acf-provisioning-polycom4.0.3f/000000000000-web.cfg
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!-- Application SIP Wolverine 3.3.1.0933 02-Feb-11 18:44 -->
+<PHONE_CONFIG>
+ <OVERRIDES />
+</PHONE_CONFIG>
diff --git a/unmaintained/acf-provisioning-polycom4.0.3f/000000000000.cfg.patch b/unmaintained/acf-provisioning-polycom4.0.3f/000000000000.cfg.patch
new file mode 100644
index 0000000000..ac9c68405d
--- /dev/null
+++ b/unmaintained/acf-provisioning-polycom4.0.3f/000000000000.cfg.patch
@@ -0,0 +1,27 @@
+--- src/000000000000.cfg.org
++++ src/000000000000.cfg
+@@ -4,15 +4,15 @@
+ <!-- Configuration File Management white paper available from: -->
+ <!-- http://www.polycom.com/common/documents/whitepapers/configuration_file_management_on_soundpoint_ip_phones.pdf -->
+ <!-- $RCSfile$ $Revision: 130593 $ -->
+-<APPLICATION APP_FILE_PATH="sip.ld" CONFIG_FILES="" MISC_FILES="" LOG_FILE_DIRECTORY="" OVERRIDES_DIRECTORY="" CONTACTS_DIRECTORY="" LICENSE_DIRECTORY="" USER_PROFILES_DIRECTORY="" CALL_LISTS_DIRECTORY="">
+- <APPLICATION_SPIP300 APP_FILE_PATH_SPIP300="sip_213.ld" CONFIG_FILES_SPIP300="phone1_213.cfg, sip_213.cfg"/>
+- <APPLICATION_SPIP500 APP_FILE_PATH_SPIP500="sip_213.ld" CONFIG_FILES_SPIP500="phone1_213.cfg, sip_213.cfg"/>
+- <APPLICATION_SPIP301 APP_FILE_PATH_SPIP301="sip_318.ld" CONFIG_FILES_SPIP301="phone1_318.cfg, sip_318.cfg"/>
++<APPLICATION APP_FILE_PATH="sip.ld" CONFIG_FILES="Polycom/[PHONE_MAC_ADDRESS]-default.cfg, Polycom/initial.cfg" MISC_FILES="" LOG_FILE_DIRECTORY="log" OVERRIDES_DIRECTORY="Polycom" CONTACTS_DIRECTORY="Polycom" LICENSE_DIRECTORY="Polycom" USER_PROFILES_DIRECTORY="Polycom" CALL_LISTS_DIRECTORY="Polycom">
++ <APPLICATION_SPIP300 APP_FILE_PATH_SPIP300="sip_213.ld" CONFIG_FILES_SPIP300="Polycom/phone1_213.cfg, Polycom/sip_213.cfg"/>
++ <APPLICATION_SPIP500 APP_FILE_PATH_SPIP500="sip_213.ld" CONFIG_FILES_SPIP500="Polycom/phone1_213.cfg, Polycom/sip_213.cfg"/>
++ <APPLICATION_SPIP301 APP_FILE_PATH_SPIP301="sip_318.ld" CONFIG_FILES_SPIP301="Polycom/phone1_318.cfg, Polycom/sip_318.cfg"/>
+ <APPLICATION_SPIP320 APP_FILE_PATH_SPIP320="sip_334.ld" CONFIG_FILES_SPIP320=""/>
+ <APPLICATION_SPIP330 APP_FILE_PATH_SPIP330="sip_334.ld" CONFIG_FILES_SPIP330=""/>
+- <APPLICATION_SPIP430 APP_FILE_PATH_SPIP430="sip_327.ld" CONFIG_FILES_SPIP430="phone1_327.cfg, sip_327.cfg"/>
+- <APPLICATION_SPIP501 APP_FILE_PATH_SPIP501="sip_318.ld" CONFIG_FILES_SPIP501="phone1_318.cfg, sip_318.cfg"/>
+- <APPLICATION_SPIP600 APP_FILE_PATH_SPIP600="sip_318.ld" CONFIG_FILES_SPIP600="phone1_318.cfg, sip_318.cfg"/>
+- <APPLICATION_SPIP601 APP_FILE_PATH_SPIP601="sip_318.ld" CONFIG_FILES_SPIP601="phone1_318.cfg, sip_318.cfg"/>
+- <APPLICATION_SSIP4000 APP_FILE_PATH_SSIP4000="sip_318.ld" CONFIG_FILES_SSIP4000="phone1_318.cfg, sip_318.cfg"/>
++ <APPLICATION_SPIP430 APP_FILE_PATH_SPIP430="sip_327.ld" CONFIG_FILES_SPIP430="Polycom/phone1_327.cfg, Polycom/sip_327.cfg"/>
++ <APPLICATION_SPIP501 APP_FILE_PATH_SPIP501="sip_318.ld" CONFIG_FILES_SPIP501="Polycom/phone1_318.cfg, Polycom/sip_318.cfg"/>
++ <APPLICATION_SPIP600 APP_FILE_PATH_SPIP600="sip_318.ld" CONFIG_FILES_SPIP600="Polycom/phone1_318.cfg, Polycom/sip_318.cfg"/>
++ <APPLICATION_SPIP601 APP_FILE_PATH_SPIP601="sip_318.ld" CONFIG_FILES_SPIP601="Polycom/phone1_318.cfg, Polycom/sip_318.cfg"/>
++ <APPLICATION_SSIP4000 APP_FILE_PATH_SSIP4000="sip_318.ld" CONFIG_FILES_SSIP4000="Polycom/phone1_318.cfg, Polycom/sip_318.cfg"/>
+ </APPLICATION>
diff --git a/unmaintained/acf-provisioning-polycom4.0.3f/APKBUILD b/unmaintained/acf-provisioning-polycom4.0.3f/APKBUILD
new file mode 100644
index 0000000000..dfe0f3375f
--- /dev/null
+++ b/unmaintained/acf-provisioning-polycom4.0.3f/APKBUILD
@@ -0,0 +1,86 @@
+# Contributor: Mika Havela <mika.havela@gmail.com>
+# Maintainer: Mika Havela <mika.havela@gmail.com>
+pkgname=acf-provisioning-polycom4.0.3f
+pkgver=0
+pkgrel=2
+pkgdesc="Files for provisioning Polycom IP phones"
+url="http://www.polycom.com/products/voice/index.html"
+arch="noarch"
+license="AS IS"
+depends=""
+makedepends=""
+source="http://downloads.polycom.com/voice/voip/uc/UC_Software_4_0_3F_release_sig_split.zip
+http://downloads.polycom.com/voice/voip/uc/SoundPoint_IP_BootROM_4_4_0_Upgrader_release_sig.zip
+000000000000-directory.xml
+000000000000-phone.cfg
+000000000000-web.cfg
+000000000000.cfg.patch
+"
+subpackages=""
+
+_builddir="$srcdir/"
+
+link_dupes() {
+ local dir=
+ local old_pwd="$PWD"
+ for dir; do
+ echo "Creating links of duplicate files at '$dir'"
+ cd "$dir" || break
+ prevsum=
+ prevfile=
+ md5sum *.ld | sort | while read sum file; do
+ if [ "$sum" = "$prevsum" ]; then
+ echo "* Creating link of '$file'"
+ rm $file && ln -s $prevfile $file || break
+ else
+ prevsum=$sum
+ prevfile=$file
+ fi
+ done || break
+ done
+ local ret=$?
+ cd "$old_pwd"
+ return $ret
+}
+
+
+prepare() {
+ local i
+ cd "$_builddir"
+ sed -i -e 's/\r//' 000000000000.cfg
+ for i in $source; do
+ case $i in
+ *.patch) msg "Applying ${i}"; patch -p1 -i ../$i || return 1;;
+ esac
+ done
+}
+
+
+package() {
+ cd "$_builddir"
+ link_dupes "$_builddir" || return 1
+ mkdir -p "$pkgdir"/var/www/provisioning/htdocs/Polycom
+ mkdir -p "$pkgdir"/var/www/provisioning/htdocs/log
+ echo "$pkgname-$pkgver-r$pkgrel" > "$pkgdir"/var/www/provisioning/htdocs/Polycom/package-version
+ cp -r *.ld *.wav SoundPointIPLocalization 000000000000.cfg "$pkgdir"/var/www/provisioning/htdocs
+ cp 000000000000-directory.xml 000000000000-phone.cfg 000000000000-web.cfg "$pkgdir"/var/www/provisioning/htdocs/Polycom
+}
+
+md5sums="f2d6c889b6471878427b729988e5ea94 UC_Software_4_0_3F_release_sig_split.zip
+4361b57fbe7534a1170797dc40f21a3c SoundPoint_IP_BootROM_4_4_0_Upgrader_release_sig.zip
+4a6ff93b944a710da0c3eb99938f42cc 000000000000-directory.xml
+2c32486b7c9d692326fd6270664eac01 000000000000-phone.cfg
+2c32486b7c9d692326fd6270664eac01 000000000000-web.cfg
+ad802a8e30d4d816513f7e9132639dd4 000000000000.cfg.patch"
+sha256sums="c061ae619355d429787ddf660cb4136f75636da9b0de632b93126038880b8790 UC_Software_4_0_3F_release_sig_split.zip
+3fbe07e0f2c288d501ab41e711cdb2bdfca0831dbb5a44c63a34a0551f9ed129 SoundPoint_IP_BootROM_4_4_0_Upgrader_release_sig.zip
+875f5bbec057d29508bcd671a203d8e2852cd959aeaeb937443cedbe824e0a41 000000000000-directory.xml
+e2f3dcd842d6eb44a98140e7fb60487ca70e519d5d09872a54ce1372d5a432b4 000000000000-phone.cfg
+e2f3dcd842d6eb44a98140e7fb60487ca70e519d5d09872a54ce1372d5a432b4 000000000000-web.cfg
+c50d37f8bf6cdbf803236c9b2504ae92fa3e32fd794d7c0d43f7c2f9546f8e8d 000000000000.cfg.patch"
+sha512sums="8699f129c8b2f9b96d4578644597725d28875cd6a67391c8f362dace5b31c55619aa04a06f8d3bd0810a908b520ec839c4059110d596fa06c4bbda1b51ca979b UC_Software_4_0_3F_release_sig_split.zip
+17c661fb224269abc8e4a53a9c078cc9f5599e054666842f590d9c5cdfcaa52100463d0dfe826ad9c4f65684e7eb574852b4fe3c2e9d5b0e52890c2b93b07b5e SoundPoint_IP_BootROM_4_4_0_Upgrader_release_sig.zip
+9adc73d02aa4f545aca893c335284d77099c56fcc17a48f61003ede8713e96aeb8f467896f4dfbf7db67255cc3d60faf353b76ab86c5881d0ba884d1c0acffb3 000000000000-directory.xml
+db2da0f4c393bdea773f3e5a7daa581a58caca738538db6153b223383176aae30e2081c198291d78c44eddd446a1cab9cffef78646360847ce4955c59f288300 000000000000-phone.cfg
+db2da0f4c393bdea773f3e5a7daa581a58caca738538db6153b223383176aae30e2081c198291d78c44eddd446a1cab9cffef78646360847ce4955c59f288300 000000000000-web.cfg
+beac1a354cbd7ca6118e801f6cc6941974567c5127bd0489b3f86f01de46b98910da203dadf32e45089c554d0566c36ccfece48c329087f474692113192802d1 000000000000.cfg.patch"
diff --git a/unmaintained/acf-skins-jqmobile/APKBUILD b/unmaintained/acf-skins-jqmobile/APKBUILD
new file mode 100644
index 0000000000..7260a4c4e2
--- /dev/null
+++ b/unmaintained/acf-skins-jqmobile/APKBUILD
@@ -0,0 +1,20 @@
+# Contributor: Ted Trask <ttrask01@yahoo.com>
+# Maintainer: Ted Trask <ttrask01@yahoo.com>
+pkgname=acf-skins-jqmobile
+pkgver=0.0.1
+pkgrel=0
+pkgdesc="ACF skin based upon jquery mobile"
+url="http://git.alpinelinux.org/cgit/acf-skins-jqmobile"
+arch="noarch"
+license="GPL2"
+depends="acf-skins acf-jquery-mobile"
+replaces=""
+source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar.xz"
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+md5sums="ba74d5bd6a6f37cdbd0193a7686b1b07 acf-skins-jqmobile-0.0.1.tar.xz"
+sha256sums="0e474b3c0cb77fb512f519d146347c48434fc67b3a0efe58b76f33e61e37fb88 acf-skins-jqmobile-0.0.1.tar.xz"
+sha512sums="6281fa34fb7ce12114e1fe9739b38c6f98ff86311efde9e88466eef47fc6f9cafb74efda1e859a8b1ee7180baf7fe2ce0480056d2c94d1c146a822445df780b2 acf-skins-jqmobile-0.0.1.tar.xz"
diff --git a/unmaintained/agg/APKBUILD b/unmaintained/agg/APKBUILD
new file mode 100644
index 0000000000..91e5d27f75
--- /dev/null
+++ b/unmaintained/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=3
+pkgdesc="A Rendering Engine for C++"
+url="http://antigrain.com"
+license="GPL2+"
+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
+ # fix building against automake-1.12
+ sed -i '/^AM_C_PROTOTYPES/d' configure.in
+ 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
+}
+
+md5sums="0229a488bc47be10a2fee6cf0b2febd6 agg-2.5.tar.gz
+22f8e48c137d25038181c86d5e40b110 agg-2.4-depends.patch
+43a19a7b1564c591e56c8d09a0fd8da5 agg-2.5-pkgconfig.patch"
diff --git a/unmaintained/agg/agg-2.4-depends.patch b/unmaintained/agg/agg-2.4-depends.patch
new file mode 100644
index 0000000000..9d4f6e309d
--- /dev/null
+++ b/unmaintained/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/unmaintained/agg/agg-2.5-pkgconfig.patch b/unmaintained/agg/agg-2.5-pkgconfig.patch
new file mode 100644
index 0000000000..a303bfb905
--- /dev/null
+++ b/unmaintained/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/unmaintained/akonadi/APKBUILD b/unmaintained/akonadi/APKBUILD
new file mode 100644
index 0000000000..553e9c9e29
--- /dev/null
+++ b/unmaintained/akonadi/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer:
+pkgname=akonadi
+pkgver=1.13.0
+pkgrel=2
+pkgdesc="kde PIM storage service server"
+url="http://pim.kde.org/akonadi"
+arch="x86 x86_64"
+license="LGPL"
+depends=""
+depends_dev="boost-dev qt-dev postgresql-dev libxslt-dev shared-mime-info"
+makedepends="$depends_dev cmake automoc4"
+install=""
+subpackages="$pkgname-dev"
+source="http://download.kde.org/stable/akonadi/src/akonadi-$pkgver.tar.bz2
+ disable-backtrace-1.13.0.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_BUILD_TYPE=Release \
+ -DINSTALL_QSQLITE_IN_QT_PREFIX=TRUE \
+ -DAKONADI_BUILD_TESTS=OFF \
+ -Wno-dev \
+ "$_builddir" || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"/build
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="84eb2e471bd6bdfe54a2a2f1d858c07d akonadi-1.13.0.tar.bz2
+e9c4b8af3e3222ec001bf3a90132fcf5 disable-backtrace-1.13.0.patch"
+sha256sums="8c7f690002ea22c139f3a64394aef2e816e00ca47fd971af7d54a66087356dd2 akonadi-1.13.0.tar.bz2
+31c929cd87b655075380cee2790f73c7ef80373c3c845bf195029cef6e875390 disable-backtrace-1.13.0.patch"
+sha512sums="4bf2026c3807b5493c9f63d0c2bff2e6db00fbe97a4e2c2f707aaa3bf4a848b70dd9657d8fa1743690e8eeefd967de4895c1329c6bb817a1d023fe398285222f akonadi-1.13.0.tar.bz2
+bf4571643e27e705933a0e6491144b0fd1d55abbfbc75f93a65234e880625cc4c03eca0994d6c0a90b9c3521be5d33b91399b079fc07da662bdbc807775daa8d disable-backtrace-1.13.0.patch"
diff --git a/unmaintained/akonadi/disable-backtrace-1.13.0.patch b/unmaintained/akonadi/disable-backtrace-1.13.0.patch
new file mode 100644
index 0000000000..373c87b477
--- /dev/null
+++ b/unmaintained/akonadi/disable-backtrace-1.13.0.patch
@@ -0,0 +1,11 @@
+--- akonadi-1.13.0/shared/akcrash.cpp.orig
++++ akonadi-1.13.0/shared/akcrash.cpp
+@@ -39,7 +39,7 @@
+ QString s;
+
+ /* FIXME: is there an equivalent for windows? */
+-#ifdef Backtrace_FOUND
++#if defined (__GLIBC__)
+ void *trace[256];
+ int n = backtrace( trace, 256 );
+ if ( !n ) {
diff --git a/unmaintained/apache2-mod-sflow/APKBUILD b/unmaintained/apache2-mod-sflow/APKBUILD
new file mode 100644
index 0000000000..9bfe298c81
--- /dev/null
+++ b/unmaintained/apache2-mod-sflow/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Florian Heigl <florian.heigl@gmail.com>
+# Maintainer: Florian Heigl <florian.heigl@gmail.com>
+pkgname=apache2-mod-sflow
+pkgver=1.0.5
+pkgrel=0
+pkgdesc="Apache module to implement logging using sFlow for monitoring of large web clusters."
+url="https://code.google.com/p/mod-sflow/"
+arch="all"
+license="InMon sFlow (http://www.inmon.com/technology/sflowlicense.txt)"
+depends="apache2"
+# add svn?
+makedepends="apache2-dev apr-dev autoconf"
+install=""
+subpackages=""
+source="http://dev.alpinelinux.org/archive/mod-sflow/mod-sflow-$pkgver.tar.gz"
+
+_builddir="$srcdir"/mod-sflow-$pkgver
+
+prepare() {
+ return 0
+}
+
+snapshot() {
+ cd "$srcdir"
+ svn checkout http://mod-sflow.googlecode.com/svn/tags/REL-$pkgver \
+ mod-sflow-$pkgver || return 1
+ tar -zcf mod-sflow-$pkgver.tar.gz \
+ --exclude mod-sflow-$pkgver/.svn \
+ mod-sflow-$pkgver || return 1
+ scp mod-sflow-$pkgver.tar.gz dev.alpinelinux.org:/archive/mod-sflow/
+}
+
+build() {
+ cd "$_builddir"
+ /usr/bin/apxs -Wc -c mod_sflow.c sflow_api.c
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/usr/lib/apache2 "$pkgdir"/etc/apache2/conf.d
+ install -D -m755 "$_builddir"/.libs/mod_sflow.so \
+ "$pkgdir"/usr/lib/apache2/mod_sflow.so || return 1
+
+ install -d "$pkgdir"/etc/httpd/conf.d
+
+ cat > "$pkgdir"/etc/httpd/conf.d/sflow.conf <<EOF
+LoadModule sflow_module modules/mod_sflow.so
+
+<IfModule mod_sflow.c>
+ <Location /sflow>
+ SetHandler sflow
+ </Location>
+</IfModule>
+EOF
+}
+md5sums="0279b545f433fa8aa5f74647b6ec567f mod-sflow-1.0.5.tar.gz"
+sha256sums="5639e6953269afb418514c288614083f1a39d6f58ab8d59d98f0260cf4499673 mod-sflow-1.0.5.tar.gz"
+sha512sums="66cb95364d32ca2a5cdfc84f022b14aeb8a6af2eeec899e7a2424ad64063616ff6e349fb4ecae6d6d07c5256d2187a439995c027151ce720e40fae05cbcee270 mod-sflow-1.0.5.tar.gz"
diff --git a/unmaintained/apts/APKBUILD b/unmaintained/apts/APKBUILD
new file mode 100644
index 0000000000..f729e732f8
--- /dev/null
+++ b/unmaintained/apts/APKBUILD
@@ -0,0 +1,39 @@
+# 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=GPL2
+
+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="58d42b53f2a88b74fc3422be681ce9dd apts-0.3.tar.bz2"
+sha256sums="360f9e4232a0ba8f06151b30ca3762ac7e48086eabe9d122c05ebc39adb18932 apts-0.3.tar.bz2"
+sha512sums="571b2c89c4747d2b4c2d113c3289a1fce53679fa778c3f4bcedab9e8ce1106beccf7ca7a773ec1d235c96ca37ebdd4e4c656ef3808e941f636476983be4601fd apts-0.3.tar.bz2"
diff --git a/unmaintained/arc-theme/APKBUILD b/unmaintained/arc-theme/APKBUILD
new file mode 100644
index 0000000000..f397c7ec1d
--- /dev/null
+++ b/unmaintained/arc-theme/APKBUILD
@@ -0,0 +1,68 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=arc-theme
+_project="horst3180/Arc-theme"
+_sha=5955dfd4603983c7dfffa6e903bf3220df60c03e
+pkgver=20150603
+pkgrel=0
+pkgdesc="A flat theme with transparent elements"
+url="https://github.com/horst3180/Arc-theme"
+arch="noarch"
+license="GPL"
+depends="gtk-murrine-engine"
+depends_dev=""
+makedepends="$depends_dev automake autoconf libtool coreutils"
+install=""
+subpackages="$pkgname-gtk2 $pkgname-gtk3"
+source="$pkgname-$_sha.tar.gz::https://github.com/$_project/archive/$_sha.tar.gz"
+
+_builddir="$srcdir"/${_project#*/}-$_sha
+
+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"
+ ./autogen.sh || return 1
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --disable-unity \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+gtk2() {
+ pkgdesc="A GTK2 flat theme with transparent elements"
+ mkdir -p "$subpkgdir"/usr/share/themes/Arc
+ mv "$pkgdir"/usr/share/themes/Arc/gtk-2.0 \
+ "$subpkgdir"/usr/share/themes/Arc/ || return 1
+}
+
+gtk3() {
+ pkgdesc="A GTK3 flat theme with transparent elements"
+ mkdir -p "$subpkgdir"/usr/share/themes/Arc
+ mv "$pkgdir"/usr/share/themes/Arc/gtk-3.0 \
+ "$subpkgdir"/usr/share/themes/Arc/ || return 1
+}
+
+md5sums="c0074f11844b2aeabba1f85b5c069c35 arc-theme-5955dfd4603983c7dfffa6e903bf3220df60c03e.tar.gz"
+sha256sums="1b62ee973f0b351a7c6ea76bf11c7758deeb89a0c46ce3bfcff63376b4d8ee66 arc-theme-5955dfd4603983c7dfffa6e903bf3220df60c03e.tar.gz"
+sha512sums="8462c23e53ad951207b8f6a145dfd9cacc0a3963df5d89a1d1a97de9c01f1872febf2ebf91048c966115b66fcc6b4ef842b9e6c1a6c1113878e39e2f492643b2 arc-theme-5955dfd4603983c7dfffa6e903bf3220df60c03e.tar.gz"
diff --git a/unmaintained/array-info/APKBUILD b/unmaintained/array-info/APKBUILD
new file mode 100644
index 0000000000..0ab10ffb6c
--- /dev/null
+++ b/unmaintained/array-info/APKBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=array-info
+pkgver=0.16
+pkgrel=1
+pkgdesc="Retrieve informations and status from RAID controllers"
+url="http://sourceforge.net/projects/array-info/"
+license="GPL2+"
+arch="all"
+depends=""
+makedepends="docbook-xsl gzip"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/$pkgname/${pkgname}_$pkgver.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+build() {
+ cd "$_builddir"
+ 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 "$_builddir"
+ make prefix=/usr DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="802e9be5e40a5a945956a123fc81f65f array-info_0.16.tar.gz"
+sha256sums="800090f8d6008c60a5018e230071b6f5fc9b81f8a72d38dae3242cf1372eee3a array-info_0.16.tar.gz"
+sha512sums="a671a503cacf12e4cc5b62a3290b0483eb9b8f80923e051867e0afc5f9b06132e6b1c98f6188fe2cfe41ab7c0ead209dd0a3bd1559a7d72bf0a789c445c242ba array-info_0.16.tar.gz"
diff --git a/unmaintained/array-info/array-info-makefile.patch b/unmaintained/array-info/array-info-makefile.patch
new file mode 100644
index 0000000000..db7c18e450
--- /dev/null
+++ b/unmaintained/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/unmaintained/asio/APKBUILD b/unmaintained/asio/APKBUILD
new file mode 100644
index 0000000000..4e13fe3357
--- /dev/null
+++ b/unmaintained/asio/APKBUILD
@@ -0,0 +1,52 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=asio
+pkgver=1.10.6
+_ver=${pkgver//./-}
+pkgrel=0
+pkgdesc="A cross-platform C++ library for network programming"
+url="https://think-async.com"
+arch="all"
+license="Boost"
+depends=""
+depends_dev="boost-dev openssl-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://downloads.sourceforge.net/project/asio/asio/${pkgver}%20%28Stable%29/asio-$pkgver.tar.bz2
+ fix-strerror_r.patch
+ "
+
+_builddir="$srcdir"/asio-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ update_config_sub || return 1
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="85d014a356a6e004cd30ccd4c9b6a5c2 asio-1.10.6.tar.bz2
+dfc0d5d1c14ca0a247d835c944e400a6 fix-strerror_r.patch"
+sha256sums="e0d71c40a7b1f6c1334008fb279e7361b32a063e020efd21e40d9d8ff037195e asio-1.10.6.tar.bz2
+0b3eb6d74c9dd11e08368da0f9e09446e2383b5fc840e630581fef3672db95ac fix-strerror_r.patch"
+sha512sums="7146e75a378de57daab88e7ba509ae01367ffa0d7c4c90481e221977a6b9f4fd80e9caac5c6b4c27bc7652e44cd210e2c6cabf5681d7c62747df14bbc25e8c23 asio-1.10.6.tar.bz2
+a023e305a9efa6b93489374dfe9881c447d748a8d48ff803e0ac7ff1be618460b57de024e79da8c08dab4bcd214cbf2c3991d963eef678ca8dbd48b3c8933a70 fix-strerror_r.patch"
diff --git a/unmaintained/asio/fix-strerror_r.patch b/unmaintained/asio/fix-strerror_r.patch
new file mode 100644
index 0000000000..f05a519c81
--- /dev/null
+++ b/unmaintained/asio/fix-strerror_r.patch
@@ -0,0 +1,42 @@
+From 52d862c4e8af60a31f0067e1070b8625e805cdc3 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Thu, 21 Jan 2016 23:37:32 +0100
+Subject: [PATCH] Fix use of strerror_r()
+
+Don't try keep track of all platforms which follows posix standard.
+Instead, make the platform which don't follow standard to an exception
+and fall back to standard implementation for everything else.
+
+This fixes building with musl libc.
+
+Fixes #94
+---
+ asio/include/asio/impl/error_code.ipp | 11 ++++-------
+ 1 file changed, 4 insertions(+), 7 deletions(-)
+
+diff --git a/asio/include/asio/impl/error_code.ipp b/asio/include/asio/impl/error_code.ipp
+index b996773..3a1cff1 100644
+--- a/include/asio/impl/error_code.ipp
++++ b/include/asio/impl/error_code.ipp
+@@ -98,17 +98,14 @@ public:
+ #if defined(__sun) || defined(__QNX__) || defined(__SYMBIAN32__)
+ using namespace std;
+ return strerror(value);
+-#elif defined(__MACH__) && defined(__APPLE__) \
+- || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) \
+- || defined(_AIX) || defined(__hpux) || defined(__osf__) \
+- || defined(__ANDROID__)
++#elif defined(__GLIBC__) && defined(_GNU_SOURCE)
++ char buf[256] = "";
++ return strerror_r(value, buf, sizeof(buf));
++#else
+ char buf[256] = "";
+ using namespace std;
+ strerror_r(value, buf, sizeof(buf));
+ return buf;
+-#else
+- char buf[256] = "";
+- return strerror_r(value, buf, sizeof(buf));
+ #endif
+ #endif // defined(ASIO_WINDOWS_DESKTOP) || defined(__CYGWIN__)
+ }
diff --git a/unmaintained/asoundconf/APKBUILD b/unmaintained/asoundconf/APKBUILD
new file mode 100644
index 0000000000..f4a57f76fd
--- /dev/null
+++ b/unmaintained/asoundconf/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=asoundconf
+pkgver=1.2
+pkgrel=0
+pkgdesc="Get and set configuration parameters in ~/.asoundrc.asoundconf"
+url="https://bitbucket.org/stativ/asoundconf"
+arch="noarch"
+license="GPL"
+depends="python py-gtk"
+depends_dev=""
+makedepends=""
+install=""
+subpackages="$pkgname-doc"
+source="$pkgname-${pkgver}.tar.gz::https://bitbucket.org/stativ/$pkgname/get/${pkgver}.tar.gz"
+
+_builddir="$srcdir"/stativ-$pkgname-01a1f5320b0a
+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 \
+ --prefix=/usr \
+ --root="$pkgdir" \
+ --optimize=1 || return 1
+}
+
+md5sums="aa12135497217f248e70c6aee286f453 asoundconf-1.2.tar.gz"
+sha256sums="55915ebfb6682b05d6706d70beba4359424fd7567b7b6edc1ad0b6f0686ff22b asoundconf-1.2.tar.gz"
+sha512sums="16b0159564279b44cb3e1ac64b9cd4a5da0abc35a99a70672011ae154fb7f263d38ef08ce81d6b5ad6d813f91f2645e2868e2dedd0dccf575a7313802e5cbb87 asoundconf-1.2.tar.gz"
diff --git a/unmaintained/asterisk-dongle/APKBUILD b/unmaintained/asterisk-dongle/APKBUILD
new file mode 100644
index 0000000000..b03d26116f
--- /dev/null
+++ b/unmaintained/asterisk-dongle/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+# Maintainer: Timo Teräs <timo.teras@iki.fi>
+SVNREV=27
+pkgname=asterisk-dongle
+pkgver=1.1.$SVNREV
+pkgrel=3
+pkgdesc="GSM modem dongle channel driver"
+url="http://code.google.com/p/asterisk-chan-dongle/"
+arch=""
+license="GPL2"
+depends="asterisk"
+depends_dev=""
+makedepends="$depends_dev asterisk-dev subversion automake autoconf"
+install=""
+subpackages=""
+source="issue46.patch"
+
+_builddir="$srcdir/$pkgname-$pkgver"
+prepare() {
+ local i
+
+ svn checkout http://asterisk-chan-dongle.googlecode.com/svn/trunk/@$REV "$_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"
+ aclocal && autoconf && automake -a
+ ./configure || return 1
+ make
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/usr/lib/asterisk/modules "$pkgdir"/etc/asterisk
+ install -m644 etc/dongle.conf "$pkgdir"/etc/asterisk/dongle.conf.sample
+ install -m755 chan_dongle.so "$pkgdir"/usr/lib/asterisk/modules
+}
+
+md5sums="73321cca36d8f25f8de687b5600e7b73 issue46.patch"
diff --git a/unmaintained/asterisk-dongle/issue46.patch b/unmaintained/asterisk-dongle/issue46.patch
new file mode 100644
index 0000000000..1bc0056e9d
--- /dev/null
+++ b/unmaintained/asterisk-dongle/issue46.patch
@@ -0,0 +1,238 @@
+Issue 46 from asterisk-chan-dongle bug tracker
+
+Fixes to build with Asterisk 10+
+
+http://asterisk-chan-dongle.googlecode.com/issues/attachment?aid=460006000&name=patch3.patch.txt&token=VQW7Irk8LNc422UzWgcczezUNaY%3A1341828783939
+
+--- a/chan_dongle_o.c 2011-11-23 14:04:57.270633822 +0200
++++ b/chan_dongle.c 2011-11-23 14:07:05.740251209 +0200
+@@ -43,6 +43,7 @@
+ #include <asterisk.h>
+ ASTERISK_FILE_VERSION(__FILE__, "$Rev: " PACKAGE_REVISION " $")
+
++#include <asterisk/version.h>
+ #include <asterisk/stringfields.h> /* AST_DECLARE_STRING_FIELDS for asterisk/manager.h */
+ #include <asterisk/manager.h>
+ #include <asterisk/dsp.h>
+@@ -71,6 +72,8 @@
+
+ EXPORT_DEF const char * const dev_state_strs[4] = { "stop", "restart", "remove", "start" };
+ EXPORT_DEF public_state_t * gpublic;
++EXPORT_DEF struct ast_format chan_dongle_format;
++EXPORT_DEF struct ast_format_cap * chan_dongle_format_cap;
+
+
+ static int public_state_init(struct public_state * state);
+@@ -1640,6 +1643,16 @@
+ rv = AST_MODULE_LOAD_FAILURE;
+ if(discovery_restart(state) == 0)
+ {
++#if ASTERISK_VERSION_NUM >= 100000 /* 10+ */
++ /* set preferred capabilities */
++ ast_format_set(&chan_dongle_format, AST_FORMAT_SLINEAR, 0);
++ if (!(channel_tech.capabilities = ast_format_cap_alloc())) {
++ return AST_MODULE_LOAD_FAILURE;
++ }
++ ast_format_cap_add(channel_tech.capabilities, &chan_dongle_format);
++ chan_dongle_format_cap = channel_tech.capabilities;
++#endif
++
+ /* register our channel type */
+ if(ast_channel_register(&channel_tech) == 0)
+ {
+@@ -1652,6 +1665,9 @@
+ }
+ else
+ {
++#if ASTERISK_VERSION_NUM >= 100000 /* 10+ */
++ channel_tech.capabilities = ast_format_cap_destroy(channel_tech.capabilities);
++#endif
+ ast_log (LOG_ERROR, "Unable to register channel class %s\n", channel_tech.type);
+ }
+ discovery_stop(state);
+@@ -1679,6 +1695,9 @@
+ {
+ /* First, take us out of the channel loop */
+ ast_channel_unregister (&channel_tech);
++#if ASTERISK_VERSION_NUM >= 100000 /* 10+ */
++ channel_tech.capabilities = ast_format_cap_destroy(channel_tech.capabilities);
++#endif
+
+ /* Unregister the CLI & APP & MANAGER */
+
+--- a/han_dongle_o.h 2011-11-23 14:05:35.031639222 +0200
++++ b/chan_dongle.h 2011-11-23 14:06:24.608334634 +0200
+@@ -33,6 +33,9 @@
+ return enum2str(state, states, ITEMS_OF(states));
+ }
+
++/* Only linear is allowed */
++EXPORT_DECL struct ast_format chan_dongle_format;
++EXPORT_DECL struct ast_format_cap * chan_dongle_format_cap;
+
+ typedef enum {
+ RESTATE_TIME_NOW = 0,
+--- a/channel_o.c 2011-11-23 14:05:08.279344414 +0200
++++ b/channel.c 2011-11-23 14:06:24.610334645 +0200
+@@ -95,20 +95,24 @@
+ return 0;
+ }
+
+-#if ASTERISK_VERSION_NUM >= 10800
++#if ASTERISK_VERSION_NUM >= 100000 /* 10+ */
++
++static struct ast_channel * channel_request (attribute_unused const char * type, struct ast_format_cap * cap, const struct ast_channel *requestor, void * data, int * cause)
++
++#elif ASTERISK_VERSION_NUM >= 10800 /* 1.8+ */
+ // TODO: simplify by move common code to functions
+ static struct ast_channel * channel_request (attribute_unused const char * type, format_t format, const struct ast_channel * requestor, void * data, int * cause)
+
+-#else /* #if ASTERISK_VERSION_NUM >= 10800 */
++#else /* 1.8- */
+ /* TODO: add check when request 'holdother' what requestor is not on same device for 1.6 */
+
+ static struct ast_channel * channel_request (attribute_unused const char * type, int format, void * data, int * cause)
+
+-#endif /* #if ASTERISK_VERSION_NUM >= 10800 */
++#endif
+ {
+-#if ASTERISK_VERSION_NUM >= 10800
++#if ASTERISK_VERSION_NUM >= 10800 && ASTERISK_VERSION_NUM < 100000 /* 1.8+ .. 10- */
+ format_t oldformat;
+-#else
++#elif ASTERISK_VERSION_NUM < 10800 /* 1.8- */
+ int oldformat;
+ const struct ast_channel * requestor = NULL;
+ #endif
+@@ -126,11 +130,18 @@
+ return NULL;
+ }
+
++#if ASTERISK_VERSION_NUM >= 100000 /* 10+ */
++ if (!ast_format_cap_iscompatible(cap, &chan_dongle_format))
++#else
+ oldformat = format;
+ format &= AST_FORMAT_SLINEAR;
+ if (!format)
++#endif
+ {
+-#if ASTERISK_VERSION_NUM >= 10800
++#if ASTERISK_VERSION_NUM >= 100000 /* 10+ */
++ char buf[255];
++ ast_log (LOG_WARNING, "Asked to get a channel of unsupported format '%s'\n", ast_getformatname_multiple (buf, 255, cap));
++#elif ASTERISK_VERSION_NUM >= 10800 /* 1.8+ */
+ ast_log (LOG_WARNING, "Asked to get a channel of unsupported format '%s'\n", ast_getformatname (oldformat));
+ #else
+ ast_log (LOG_WARNING, "Asked to get a channel of unsupported format '%d'\n", oldformat);
+@@ -571,10 +582,12 @@
+
+ }
+
+-#if ASTERISK_VERSION_NUM >= 10800
++#if ASTERISK_VERSION_NUM >= 100000 /* 10+ */
++#define subclass_integer subclass.integer
++#elif ASTERISK_VERSION_NUM >= 10800 /* 1.8+ */
+ #define subclass_codec subclass.codec
+ #define subclass_integer subclass.integer
+-#else
++#else /* 1.8- */
+ #define subclass_codec subclass
+ #define subclass_integer subclass
+ #endif
+@@ -618,7 +631,11 @@
+ memset (&cpvt->a_read_frame, 0, sizeof (cpvt->a_read_frame));
+
+ cpvt->a_read_frame.frametype = AST_FRAME_VOICE;
+- cpvt->a_read_frame.subclass_codec= AST_FORMAT_SLINEAR;
++#if ASTERISK_VERSION_NUM >= 100000 /* 10+ */
++ ast_format_copy(&cpvt->a_read_frame.subclass.format, &chan_dongle_format);
++#else
++ cpvt->a_read_frame.subclass_codec = AST_FORMAT_SLINEAR;
++#endif
+ cpvt->a_read_frame.data.ptr = cpvt->a_read_buf + AST_FRIENDLY_OFFSET;
+ cpvt->a_read_frame.offset = AST_FRIENDLY_OFFSET;
+ cpvt->a_read_frame.src = AST_MODULE;
+@@ -732,7 +749,11 @@
+ size_t count;
+ int gains[2];
+
++#if ASTERISK_VERSION_NUM >= 100000 /* 10+ */
++ if (f->frametype != AST_FRAME_VOICE || f->subclass.format.id != AST_FORMAT_SLINEAR)
++#else /* 10- */
+ if (f->frametype != AST_FRAME_VOICE || f->subclass_codec != AST_FORMAT_SLINEAR)
++#endif
+ {
+ return 0;
+ }
+@@ -1148,9 +1169,15 @@
+
+ channel->tech_pvt = cpvt;
+ channel->tech = &channel_tech;
++#if ASTERISK_VERSION_NUM >= 100000 /* 10+ */
++ ast_format_cap_add(channel->nativeformats, &chan_dongle_format);
++ ast_format_copy(&channel->writeformat, &chan_dongle_format);
++ ast_format_copy(&channel->readformat, &chan_dongle_format);
++#else /* 10- */
+ channel->nativeformats = AST_FORMAT_SLINEAR;
+ channel->writeformat = AST_FORMAT_SLINEAR;
+ channel->readformat = AST_FORMAT_SLINEAR;
++#endif
+
+ if (ast_state == AST_STATE_RING)
+ {
+@@ -1238,9 +1265,11 @@
+
+ snprintf (channel_name, sizeof (channel_name), "%s@%s", exten, CONF_SHARED(pvt, context));
+
+-#if ASTERISK_VERSION_NUM >= 10800
++#if ASTERISK_VERSION_NUM >= 100000 /* 10+ */
++ channel = ast_request ("Local", chan_dongle_format_cap, NULL, channel_name, &cause);
++#elif ASTERISK_VERSION_NUM >= 10800 /* 1.8+ */
+ channel = ast_request ("Local", AST_FORMAT_AUDIO_MASK, NULL, channel_name, &cause);
+-#else
++#else /* 1.8- */
+ channel = ast_request ("Local", AST_FORMAT_AUDIO_MASK, channel_name, &cause);
+ #endif
+ if (channel)
+@@ -1314,7 +1343,6 @@
+ static int channel_func_write(struct ast_channel* channel, const char* function, char* data, const char* value)
+ {
+ struct cpvt* cpvt = channel->tech_pvt;
+- struct pvt* pvt;
+ call_state_t newstate, oldstate;
+ int ret = 0;
+
+@@ -1323,7 +1351,6 @@
+ ast_log (LOG_WARNING, "call on unreferenced %s\n", channel->name);
+ return -1;
+ }
+- pvt = cpvt->pvt;
+
+ if (!strcasecmp(data, "callstate"))
+ {
+@@ -1366,11 +1393,13 @@
+ return ret;
+ }
+
+-EXPORT_DEF const struct ast_channel_tech channel_tech =
++EXPORT_DEF struct ast_channel_tech channel_tech =
+ {
+ .type = "Dongle",
+ .description = MODULE_DESCRIPTION,
++#if ASTERISK_VERSION_NUM < 100000 /* 10- */
+ .capabilities = AST_FORMAT_SLINEAR,
++#endif
+ .requester = channel_request,
+ .call = channel_call,
+ .hangup = channel_hangup,
+--- a/channel_o.h 2011-11-23 14:05:43.206424916 +0200
++++ b/channel.h 2011-11-23 14:06:24.611334658 +0200
+@@ -19,7 +19,7 @@
+ struct pvt;
+ struct cpvt;
+
+-EXPORT_DECL const struct ast_channel_tech channel_tech;
++EXPORT_DECL struct ast_channel_tech channel_tech;
+
+ EXPORT_DECL struct ast_channel* new_channel (struct pvt * pvt, int ast_state, const char * cid_num, int call_idx, unsigned dir, unsigned state, const char * exten, const struct ast_channel * requestor);
+ EXPORT_DECL int queue_control_channel (struct cpvt * cpvt, enum ast_control_frame_type control);
diff --git a/unmaintained/asunder/APKBUILD b/unmaintained/asunder/APKBUILD
new file mode 100644
index 0000000000..05fc701d76
--- /dev/null
+++ b/unmaintained/asunder/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=asunder
+pkgver=2.3
+pkgrel=1
+pkgdesc="A graphical Audio CD ripper and encoder"
+url="http://littlesvr.ca/asunder"
+arch="all"
+license="GPL2"
+depends="cdparanoia"
+makedepends="libcddb-dev gtk+-dev"
+install=""
+subpackages="$pkgname-lang"
+source="http://littlesvr.ca/asunder/releases/asunder-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/asunder-$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
+}
+
+md5sums="dd690d8f4c68a2e786c657e08be688d0 asunder-2.3.tar.bz2"
+sha256sums="ded2eff22c7e65f46eecd8ad89c6c37c5a032af280e293a59c3e5bb34c0bb05f asunder-2.3.tar.bz2"
+sha512sums="fdab3a7767b63d807d7a8d7bb590da0e2229c4da34eba92d3cde0b955aa3cb7a6f45081fe3616576bfd4ed7847aac56c580cb4ecaa9f3bdde9759dd1a75f777d asunder-2.3.tar.bz2"
diff --git a/unmaintained/atheme-services/APKBUILD b/unmaintained/atheme-services/APKBUILD
new file mode 100644
index 0000000000..392ded93ec
--- /dev/null
+++ b/unmaintained/atheme-services/APKBUILD
@@ -0,0 +1,52 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=atheme-services
+pkgver=7.0.5
+pkgrel=1
+pkgdesc="Atheme IRC services"
+url="http://www.atheme.net/atheme.html"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="$depends_dev openssl-dev pcre-dev libmowgli-dev>=2"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://www.atheme.net/downloads/atheme-services-$pkgver.tar.bz2
+ cc.patch"
+
+_builddir="$srcdir"/atheme-services-$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/atheme \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --enable-fhs-paths \
+ --disable-rpath \
+ --with-pcre \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="e9b7ae54374eed559d0a693e3bb34ac0 atheme-services-7.0.5.tar.bz2
+ad2542446b126511c61250d8f6a085d8 cc.patch"
+sha256sums="25271eb1e9218ceeec87824dbe90a2bfc59f116e258b6ee803573dfa8c4fcc30 atheme-services-7.0.5.tar.bz2
+d49ad794e1513477bbe69dfe678ab90f6eb496f209a64ca114f7cde2fd64ff03 cc.patch"
+sha512sums="dfa27c2d7a90ae9be173ccf6675bec4db92f92f01a9ebb8e8847730f45d159db316d827cbe1f30276dbd7db326529d42f1281e0b6940261992893f0ff36710a5 atheme-services-7.0.5.tar.bz2
+f925ca0d69c79e597bcf322b0b7dbdf9f929166cbb8e62171f0b4674309023eaa679df29f9fdf11ccdacf770dad676db32657f58ea62d066bf9cda5709e55db8 cc.patch"
diff --git a/unmaintained/atheme-services/cc.patch b/unmaintained/atheme-services/cc.patch
new file mode 100644
index 0000000000..25ca1b47ca
--- /dev/null
+++ b/unmaintained/atheme-services/cc.patch
@@ -0,0 +1,11 @@
+--- ./buildsys.module.mk.orig 2013-02-27 15:42:02.645844726 +0000
++++ ./buildsys.module.mk 2013-02-27 15:42:29.722758404 +0000
+@@ -8,7 +8,7 @@
+ install: $(PLUGIN)
+
+ .c$(PLUGIN_SUFFIX):
+- COMPILER=${CC}; \
++ COMPILER="${CC}"; \
+ COMPILER_FLAGS="-MMD -MP ${CFLAGS} ${PLUGIN_CFLAGS} ${CPPFLAGS} ${PLUGIN_LDFLAGS} ${LDFLAGS} -o $@ $< ${LIBS}"; \
+ ${COMPILE_STATUS}; \
+ if $${COMPILER} $${COMPILER_FLAGS}; then \
diff --git a/unmaintained/aurena/APKBUILD b/unmaintained/aurena/APKBUILD
new file mode 100644
index 0000000000..b2c42ffe0e
--- /dev/null
+++ b/unmaintained/aurena/APKBUILD
@@ -0,0 +1,56 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=aurena
+_project=thaytan/aurena
+_sha=ccc0530a57edf8e86729abaf378779d2e689aabf
+pkgver=20150622
+pkgrel=0
+pkgdesc="Aurena distributed media player"
+url="https://github.com/thaytan/aurena"
+arch="all"
+license="GPLv2"
+depends=""
+depends_dev="glib-dev avahi-dev libsoup-dev py-gobject-dev json-glib-dev
+ gstreamer1-dev gst-plugins-base1-dev sqlite-dev gtk+3.0-dev"
+makedepends="$depends_dev autoconf automake libtool"
+install=""
+subpackages="$pkgname-simple-client:simple_client"
+source="$pkgname-$_sha.tar.gz::https://github.com/$_project/archive/$_sha.tar.gz"
+
+_builddir="$srcdir"/${_project#*/}-$_sha
+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"
+ ./autogen.sh || return 1
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+simple_client() {
+ pkgdesc="Aurena simple client"
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/aurena-simple* \
+ "$subpkgdir"/usr/bin/ || return 1
+}
+
+md5sums="6c41811d8a6f4e7499a628d20e822832 aurena-ccc0530a57edf8e86729abaf378779d2e689aabf.tar.gz"
+sha256sums="92f4aa89b412ab3221ab90fb610a114a70a549d347b9eb2d4a8f62de4c59dd96 aurena-ccc0530a57edf8e86729abaf378779d2e689aabf.tar.gz"
+sha512sums="3ee629fda2e889775fb6c36dd212aa9ecb29354e738cca55a930192a70d422265c148aa4807f4c3a14bb478e0411c25507aeb719d824d641dc32c33e3b335994 aurena-ccc0530a57edf8e86729abaf378779d2e689aabf.tar.gz"
diff --git a/unmaintained/bcfg2/APK.py b/unmaintained/bcfg2/APK.py
new file mode 100644
index 0000000000..9b28d52076
--- /dev/null
+++ b/unmaintained/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/unmaintained/bcfg2/APKBUILD b/unmaintained/bcfg2/APKBUILD
new file mode 100644
index 0000000000..21c4d0041f
--- /dev/null
+++ b/unmaintained/bcfg2/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Cameron Banta <cbanta@gmail.com>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=bcfg2
+pkgver=1.3.5
+pkgrel=0
+pkgdesc="A configuration management tool"
+url="http://bcfg2.org"
+arch="noarch"
+license="BSD"
+depends="python py-lxml"
+makedepends="python-dev py-setuptools"
+install=""
+subpackages="$pkgname-doc $pkgname-server"
+source="ftp://ftp.mcs.anl.gov/pub/bcfg/$pkgname-$pkgver.tar.gz
+ bcfg2-server.initd"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --root="$pkgdir" || return 1
+}
+
+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="35729ef9ee75cb0215e89f2578b9c1b7 bcfg2-1.3.5.tar.gz
+9a13baa6f40267ff9dbec574967c5068 bcfg2-server.initd"
+sha256sums="67af2ea039c159a88ea29105f40589b677a08359101b428afbab6e1fec117c06 bcfg2-1.3.5.tar.gz
+c23385c66d5a472d3a322873b2873301db8f674af9e03c24105158c27ce0831c bcfg2-server.initd"
+sha512sums="cd6b7785231e112fdb719747682d9d0f09e6dfc9bc24b8c44f07537b729b98e8bbab2106325ac04921ee2acdcf92077b3d716f9820457ab7091371a74a640190 bcfg2-1.3.5.tar.gz
+8ad40aedeaa5084793a624599ff4ec61a1b6489854b5533504baf456c9c39f97a4c80a521909c7386c481d2417ad59f28735cfbeedf86468634223695f1dc2fc bcfg2-server.initd"
diff --git a/unmaintained/bcfg2/bcfg2-server.initd b/unmaintained/bcfg2/bcfg2-server.initd
new file mode 100644
index 0000000000..5168f75822
--- /dev/null
+++ b/unmaintained/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/unmaintained/biblesync/APKBUILD b/unmaintained/biblesync/APKBUILD
new file mode 100644
index 0000000000..9eaa1b7ed6
--- /dev/null
+++ b/unmaintained/biblesync/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Isaac Dunham <ibid.ag@gmail.com>
+# Maintainer: Isaac Dunham <ibid.ag@gmail.com>
+pkgname=biblesync
+pkgver=1.1.2
+pkgrel=1
+pkgdesc="Library for multicasting Bible navigation used by Xiphos"
+url="sf.net/p/gnomesword"
+arch="all"
+license="Public domain"
+depends=""
+depends_dev="util-linux-dev"
+makedepends="cmake $depends_dev gettext-dev linux-headers"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://downloads.sourceforge.net/project/gnomesword/BibleSync/$pkgver/biblesync-$pkgver.tar.gz"
+
+_builddir="$srcdir"/biblesync-$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 \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
+ || return 1
+# --build=$CBUILD
+# --host=$CHOST
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="25bc063de3da2fc087954c746714f735 biblesync-1.1.2.tar.gz"
+sha256sums="886e1ac165b8900254c00a182fa34e3680ef3aa25051418470f15ea09ac02005 biblesync-1.1.2.tar.gz"
+sha512sums="7725c8228e2dff79edaf065ff4d4816a6cf214d1d874817345cc4154142144bce479ca1ae871053886bff4f6610715a27bce81c25c2a636444d5873e93bfdc62 biblesync-1.1.2.tar.gz"
diff --git a/unmaintained/blists/APKBUILD b/unmaintained/blists/APKBUILD
new file mode 100644
index 0000000000..e900f263c6
--- /dev/null
+++ b/unmaintained/blists/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=blists
+pkgver=1.0
+pkgrel=0
+pkgdesc="Web interface to mailing list archives"
+url="http://www.openwall.com/blists/"
+arch="all"
+license="BSD"
+depends=
+makedepends=
+install=
+subpackages=
+source="http://www.openwall.com/blists/blists-$pkgver.tar.gz"
+
+_builddir="$srcdir"/blists-$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 bit "$pkgdir"/usr/bin/bit
+ install -D bindex "$pkgdir"/usr/bin/bindex
+}
+
+md5sums="bd84e3793ec05d3910631e7b55e32630 blists-1.0.tar.gz"
diff --git a/unmaintained/burp/APKBUILD b/unmaintained/burp/APKBUILD
new file mode 100644
index 0000000000..16275d3a6d
--- /dev/null
+++ b/unmaintained/burp/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=burp
+pkgver=1.4.32
+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
+ librsync-1.0.0.patch
+ "
+
+_builddir="$srcdir"/burp
+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 -C src || return 1
+ make NO_ECHO= || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="d2cd5bb6f8266e7d2b0350157bedc480 burp-1.4.32.tar.bz2
+ae7640202c3c36ee3b302d0551cedd59 librsync-1.0.0.patch"
+sha256sums="3f1aa69d0a8dcc472f789cc4d41aed449ec9b9e79d2c61dd16d270b34c34617e burp-1.4.32.tar.bz2
+1341e72efd8a3cc4b98c7508ec3404ab6735b21722a569297abb4b8354ee3612 librsync-1.0.0.patch"
+sha512sums="020947ab4f957a3dc99d65dc9197c6a65f205756b55ff2dfc4c3340e28c88f1b6ddaf579373c969c6b1af1050be8af0bc3756281a0b3a1ea9ff5b775aaed29ae burp-1.4.32.tar.bz2
+f866e5caebb69bea812f662458e824191206abbdc15a15b379df374c32cedcddb260c246d201c8eb33f9965a74e00ffb750912de90e1d991b614785f9868df8f librsync-1.0.0.patch"
diff --git a/unmaintained/burp/librsync-1.0.0.patch b/unmaintained/burp/librsync-1.0.0.patch
new file mode 100644
index 0000000000..80d7edb08e
--- /dev/null
+++ b/unmaintained/burp/librsync-1.0.0.patch
@@ -0,0 +1,36 @@
+--- ./src/backup_phase2_server.c.orig
++++ ./src/backup_phase2_server.c
+@@ -483,7 +483,11 @@
+ free(curpath);
+
+ blocklen=get_librsync_block_len(cb->endfile);
++#ifdef RS_DEFAULT_STRONG_LEN
+ if(!(p1b->sigjob=rs_sig_begin(blocklen, RS_DEFAULT_STRONG_LEN)))
++#else
++ if(!(p1b->sigjob=rs_sig_begin(blocklen, 8, RS_MD4_SIG_MAGIC)))
++#endif
+ {
+ logp("could not start signature job.\n");
+ return -1;
+--- ./src/backup_phase4_server.c.orig
++++ ./src/backup_phase4_server.c
+@@ -38,7 +38,7 @@
+ }
+ result=rs_sig_gzfile(dstfp, dstzp, sigp,
+ get_librsync_block_len(endfile),
+- RS_DEFAULT_STRONG_LEN, NULL, cntr);
++ 8, NULL, cntr);
+ gzclose_fp(&dstzp);
+ close_fp(&dstfp);
+ if(close_fp(&sigp))
+--- ./src/rs_buf.c.orig
++++ ./src/rs_buf.c
+@@ -497,7 +497,7 @@
+ rs_job_t *job;
+ rs_result r;
+
+- job = rs_sig_begin(new_block_len, strong_len);
++ job = rs_sig_begin(new_block_len, strong_len, RS_MD4_SIG_MAGIC);
+ r = rs_whole_gzrun(job, old_file, old_zfile, sig_file, NULL, cntr);
+ /*
+ if (stats)
diff --git a/unmaintained/cantata/APKBUILD b/unmaintained/cantata/APKBUILD
new file mode 100644
index 0000000000..71eebd37b1
--- /dev/null
+++ b/unmaintained/cantata/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Olivier Mauras <olivier@mauras.ch>
+# Maintainer:
+pkgname=cantata
+pkgver=1.5.2
+pkgrel=0
+pkgdesc="Qt based graphical client for MPD"
+url="https://code.google.com/p/cantata/"
+arch="all"
+license="GPLv3"
+depends=""
+depends_dev="qt-dev ffmpeg-dev taglib-dev mpg123-dev"
+makedepends="cmake $depends_dev"
+install=""
+subpackages=""
+source="$pkgname-$pkgver.tar.bz2::https://drive.google.com/uc?export=download&id=0Bzghs6gQWi60LV9rM3RMQk85Z1E"
+
+_builddir=$srcdir/$pkgname-$pkgver
+prepare() {
+ # Apply patches
+ 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"
+ mkdir build
+ cd build
+ cmake ..
+ make
+}
+
+package() {
+ cd "$_builddir/build"
+ make DESTDIR="$pkgdir" install || return 1
+ mv $pkgdir/usr/local/share/* $pkgdir/usr/share/
+ rm -r $pkgdir/usr/local
+}
+
+md5sums="0b29d30f1b03ecac23eb608309fbeaa1 cantata-1.5.2.tar.bz2"
+sha256sums="4de985b74597c4c3936982437ea562711d08c37d318b61e04f5c07af55f52c5f cantata-1.5.2.tar.bz2"
+sha512sums="84314758a936d5795a05cade68fe86df90c83b7fae78152bd60ae8b77d3cb71db6e37f0e30d49aba60b5205aea794729357051819d2d806e0a21701a1e0c78ab cantata-1.5.2.tar.bz2"
+
diff --git a/unmaintained/capstone/APKBUILD b/unmaintained/capstone/APKBUILD
new file mode 100644
index 0000000000..dc5322237a
--- /dev/null
+++ b/unmaintained/capstone/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+pkgname=capstone
+pkgver=3.0.4
+pkgrel=0
+pkgdesc="The Ultimate Disassembler"
+url="http://www.capstone-engine.org"
+arch="all"
+license="LGPLv2"
+depends=""
+depends_dev="$pkgname"
+makedepends="cmake"
+install=""
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/aquynh/$pkgname/archive/$pkgver.tar.gz
+ $pkgname.pc"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ cmake CMakeLists.txt \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCAPSTONE_BUILD_STATIC=OFF \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ install -Dm644 "$srcdir"/$pkgname.pc "$pkgdir"/usr/lib/pkgconfig/$pkgname.pc
+ sed -i \
+ -e "s/#pkgname/$pkgname/" \
+ -e "s/#pkgdesc/$pkgdesc/" \
+ -e "s/#pkgver/$pkgver/" \
+ "$pkgdir"/usr/lib/pkgconfig/$pkgname.pc
+}
+
+md5sums="203a3593552afd844b0d7da0f56d21d2 capstone-3.0.4.tar.gz
+bcbbe0e5250a246705668638778b9a29 capstone.pc"
+sha256sums="5d6dadf5864c56f8de66c66088fa68e849d0bff6577865a4f81b6f23112b14f2 capstone-3.0.4.tar.gz
+6bfbcd218a9f25ad1b30a45ec698cbfb0c41cf17202bd034d7d4057eafa9c4cd capstone.pc"
+sha512sums="a5c29e7c559b5391d6a4ec9a7f766699ea6d321aa2f1fc57fdcec893107fa3ef2f5f6323629971c1129f1ca087df4f3ad03d0a8234d2eae368c8ccfec04dbf4d capstone-3.0.4.tar.gz
+87eacef80df36be18fe86f540a452b7e290c9dfc85d01c7926d263f2e5060f6d5fd6a6c68c350caf532f4926902a77fba24e59cb5e9b606be9706980ae4c8235 capstone.pc"
diff --git a/unmaintained/capstone/capstone.pc b/unmaintained/capstone/capstone.pc
new file mode 100644
index 0000000000..d6c5d1ecde
--- /dev/null
+++ b/unmaintained/capstone/capstone.pc
@@ -0,0 +1,8 @@
+libdir=/usr/lib
+includedir=/usr/include
+
+Name: #pkgname
+Version: #pkgver
+Description: #pkgdesc
+Libs: -L${libdir} -l#pkgname
+Cflags: -I${includedir}
diff --git a/unmaintained/captagent/APKBUILD b/unmaintained/captagent/APKBUILD
new file mode 100644
index 0000000000..4e5b14de0c
--- /dev/null
+++ b/unmaintained/captagent/APKBUILD
@@ -0,0 +1,69 @@
+# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer:
+pkgname=captagent
+pkgver=6.0.1
+pkgrel=1
+pkgdesc="Standalone agent for HOMER, a SIP capture and monitoring system"
+url="https://github.com/sipcapture/captagent"
+arch="x86 x86_64"
+license="GPL3"
+depends=
+depends_dev=
+makedepends="$depends_dev autoconf automake libtool bison libpcap-dev flex
+ flex-dev flex-libs json-c-dev linux-headers expat-dev"
+install=
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/sipcapture/captagent/archive/v$pkgver.tar.gz
+ build.patch
+ default-config.patch
+ captagent.initd
+ "
+
+
+_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.sh
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+ install -D -m0664 "$_builddir"/conf/database_hash.xml \
+ "$pkgdir"/etc/captagent/database_hash.xml
+ libtool --finish "$pkgdir"/usr/lib/captagent/modules
+
+ install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+}
+
+md5sums="d4039723cc7ea66c33d911ae1d0f182a captagent-6.0.1.tar.gz
+fa80597864c1d0f2078780578cce4e71 build.patch
+65c7c46864ebff66ccd25033a6e195fd default-config.patch
+e08448976f57ef7dd80c628e1e4866a4 captagent.initd"
+sha256sums="88e92a0d71b7d39fcbd52e947a98f42f62a54dc94ad857c68f9b05349b5409ec captagent-6.0.1.tar.gz
+7f80b504d6d281d6727ffa65f87dff53a7c36c0144cd6fb0ec37863fee53d091 build.patch
+37cce9bed56e29621ab8fdd1f1819744823cfcc6cb155d799b2180e2e0f3b0e3 default-config.patch
+a32508e6908f95975571cb471dbc79e64678ef26a06925ffa88bbb3d519a53a3 captagent.initd"
+sha512sums="ef78bb2bb0f8c72b54116ec2757e0b604b21010161526c4223c2159b2e37c6526b5ebe8eeea7c553f3550c082797894fe3673381e07e0b927627f70d7ebfbef0 captagent-6.0.1.tar.gz
+b7188f5f14aadad7bbbb1819b40c245eb5e5f4cc5b92582771bf9f494630b1e39d5c3cb8e51ef250b55ed40309c3e38d2be8281b0b998b2613ca8a168808a746 build.patch
+0808b9a2564618f2a7df695101cb713929ae52a77df4709608d4e6e8e38d3cadb75770575d2275347eda0d0521a695ed71785f833459e838ad73b4525d5a10b0 default-config.patch
+ab9055cbaa8fffc9ab7fec3f12438350283ab8f039ada7589bbfa1d07c81dac142a7ee46f11652d2a1fc8c9ecb4eb771dcf3f4cd46c5174f215ac6647c6eaafe captagent.initd"
diff --git a/unmaintained/captagent/build.patch b/unmaintained/captagent/build.patch
new file mode 100644
index 0000000000..c4976559cc
--- /dev/null
+++ b/unmaintained/captagent/build.patch
@@ -0,0 +1,48 @@
+diff --git a/configure.ac b/configure.ac
+index 525738c..4fbfa5b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -147,15 +147,8 @@ fi
+ AC_CHECK_LIB(expat, XML_ParserCreate, , [AC_MSG_ERROR([captagent requires but cannot find libexpat])])
+ AC_CHECK_LIB(pcap, pcap_open_live, ,[AC_CHECK_LIB(wpcap, pcap_open_live, ,[AC_MSG_ERROR([captagent requires but cannot find libpcap])])])
+
+-AC_CHECK_LIB(json, json_object_get,[ JSON_LIBS="-ljson" ],[
+-AC_CHECK_LIB(json-c, json_object_get,[ JSON_LIBS="-ljson-c" ],[
+-echo "ERROR: You need libjson to build CaptAgent API module.";
+-echo " Verify that you have libjson.a or libjson.so installed";
+-echo " If it is in a different directory, try using";
+-echo " the LDFLAGS to set its proper path.";
+-AC_MSG_ERROR([Fatal: libjson not found.])])])
+-
+-AC_CHECK_LIB(fl, yywrap, [ FLEX_LIBS="-lfl" ] , [AC_MSG_ERROR([captagent requires but cannot find libfl])])
++PKG_CHECK_MODULES(JSON, json-c)
++FLEX_LIBS="-lfl"
+
+ AC_SUBST(PTHREAD_LIBS)
+ AC_SUBST(DL_LIBS)
+diff --git a/src/modules/transport/json/Makefile.am b/src/modules/transport/json/Makefile.am
+index 5778a67..db5078e 100644
+--- a/src/modules/transport/json/Makefile.am
++++ b/src/modules/transport/json/Makefile.am
+@@ -4,7 +4,7 @@ SUBDIRS = .
+ noinst_HEADERS = transport_json.h
+ #
+ transport_json_la_SOURCES = transport_json.c
+-transport_json_la_CFLAGS = -Wall ${MODULE_CFLAGS}
++transport_json_la_CFLAGS = -Wall ${MODULE_CFLAGS} ${JSON_CFLAGS}
+ transport_json_la_LDFLAGS = -module -avoid-version
+ transport_json_la_LIBADD = ${PTHREAD_LIBS} ${EXPAT_LIBS} ${JSON_LIBS}
+ transport_json_laconfdir = $(confdir)
+diff --git a/src/modules/transport/json/transport_json.c b/src/modules/transport/json/transport_json.c
+index 4c7ed4b..c6d3691 100644
+--- a/src/modules/transport/json/transport_json.c
++++ b/src/modules/transport/json/transport_json.c
+@@ -41,7 +41,7 @@
+ #include <signal.h>
+ #include <time.h>
+ #include <pthread.h>
+-#include <json/json.h>
++#include <json.h>
+
+ #ifndef __FAVOR_BSD
+ #define __FAVOR_BSD
diff --git a/unmaintained/captagent/captagent.initd b/unmaintained/captagent/captagent.initd
new file mode 100644
index 0000000000..0b182e6403
--- /dev/null
+++ b/unmaintained/captagent/captagent.initd
@@ -0,0 +1,18 @@
+#!/sbin/openrc-run
+
+command=/usr/bin/captagent
+pidfile=/var/run/${SVCNAME}.pid
+conf=/etc/captagent/${SVCNAME}.xml
+
+#start_stop_daemon_args="--make-pidfile"
+
+depend() {
+ need net
+ after firewall
+}
+
+start_pre() {
+ #checkpath --directory ${pidfile%/*}
+ command_args="-d -f $conf"
+}
+
diff --git a/unmaintained/captagent/default-config.patch b/unmaintained/captagent/default-config.patch
new file mode 100644
index 0000000000..00a79a2021
--- /dev/null
+++ b/unmaintained/captagent/default-config.patch
@@ -0,0 +1,11 @@
+--- a/conf/captagent.xml
++++ b/conf/captagent.xml
+@@ -9,7 +9,7 @@
+ <param name="daemon" value="false"/>
+ <param name="syslog" value="false"/>
+ <param name="pid_file" value="/var/run/captagent.pid"/>
+- <param name="module_path" value="/usr/lib64/captagent/modules"/>
++ <param name="module_path" value="/usr/lib/captagent/modules"/>
+ <param name="config_path" value="/etc/captagent"/>
+ <param name="capture_plans_path" value="/etc/captagent/captureplans"/>
+ <param name="backup" value="/etc/captagent/backup"/>
diff --git a/unmaintained/ccid/APKBUILD b/unmaintained/ccid/APKBUILD
new file mode 100644
index 0000000000..a601e197da
--- /dev/null
+++ b/unmaintained/ccid/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+# Maintainer:
+pkgname=ccid
+pkgver=1.4.17
+pkgrel=0
+pkgdesc="USB CCID/ICCD SmartCard reader driver"
+url="https://pcsclite.alioth.debian.org/ccid.html"
+arch="all"
+license="LGPL2.1+"
+depends="pcsc-lite"
+makedepends="perl libusb-dev pcsc-lite-dev"
+install=""
+subpackages=""
+source="https://alioth.debian.org/frs/download.php/file/4091/ccid-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/ccid-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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
+
+ mkdir -p "$pkgdir"/etc/udev/rules.d/ || return 1
+ cp src/92_pcscd_ccid.rules "$pkgdir"/etc/udev/rules.d/ || return 1
+}
+
+md5sums="a227a20a0dd034cd4bb7400806a0a2d0 ccid-1.4.17.tar.bz2"
+sha256sums="ccdab8a9bc1ad288242d5f9ef399405e9cb96fb09caadb43e3649cbaba84c451 ccid-1.4.17.tar.bz2"
+sha512sums="65dd0020b7b586eb6e0db5953561e8dc578daee522bf472542f05355293171a9635ea64447ecf465bc65b13a5fdeb7d223e15b53ca7045b880ba8bde859bd4eb ccid-1.4.17.tar.bz2"
diff --git a/unmaintained/cdpsnarf/APKBUILD b/unmaintained/cdpsnarf/APKBUILD
new file mode 100644
index 0000000000..a77a43beba
--- /dev/null
+++ b/unmaintained/cdpsnarf/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=cdpsnarf
+pkgver=0.1.6
+pkgrel=0
+pkgdesc="Network sniffer exclusively written to extract information from CDP packets"
+url="https://github.com/Zapotek/cdpsnarf"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev libpcap-dev"
+install=""
+subpackages=""
+source="$pkgname-$pkgver.zip::https://github.com/Zapotek/$pkgname/archive/v$pkgver.zip"
+
+_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 -Dm755 cdpsnarf "$pkgdir"/usr/bin/cdpsnarf
+ return 0
+}
+
+md5sums="97061a7d01bcb249c7e8b9e49bdf390e cdpsnarf-0.1.6.zip"
+sha256sums="ff53991d43966e311d256e4cc64e31e4f0c90270bb466bdef020920801e18bd9 cdpsnarf-0.1.6.zip"
+sha512sums="3736c4862c62505c48f26dc01c49a83d792427fadb0291cced7fbef6a2fbb3b3278afb7093f5504dc7fcfd5a01b43df12f23833a73270aeae4200e651292f4de cdpsnarf-0.1.6.zip"
diff --git a/unmaintained/cdrdao/APKBUILD b/unmaintained/cdrdao/APKBUILD
new file mode 100644
index 0000000000..9823e9e5fe
--- /dev/null
+++ b/unmaintained/cdrdao/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=cdrdao
+pkgver=1.2.3
+pkgrel=0
+pkgdesc="Records audio/data CD-Rs in disk-at-once (DAO) mode"
+url="http://cdrdao.sourceforge.net/"
+arch="all"
+license="GPL"
+depends=""
+depends_dev="libmad-dev lame-dev libvorbis-dev libao-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://freefr.dl.sourceforge.net/project/cdrdao/cdrdao/$pkgver/cdrdao-$pkgver.tar.bz2
+ cdrdao-1.2.3-stat.patch"
+
+_builddir="$srcdir"/cdrdao-$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
+ update_config_sub || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --with-xdao \
+ --with-lame \
+ --with-ogg-support \
+ --with-mp3-support \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="8d15ba6280bb7ba2f4d6be31d28b3c0c cdrdao-1.2.3.tar.bz2
+0fce05542ebad283f36fa1c4d62992a0 cdrdao-1.2.3-stat.patch"
+sha256sums="8193cb8fa6998ac362c55807e89ad0b3c63edc6b01afaeb3d5042519527fb75e cdrdao-1.2.3.tar.bz2
+ca89b7c56a376d5a9574c5757f0d372236a895334f81867ff5e1703806565bbc cdrdao-1.2.3-stat.patch"
+sha512sums="36b14180acf476de062f5f31e2b9dece39e3cc7a84552e80a6714931fa35d6090ec90ddfcdbd2651d690be8ce3fc78d483aa13856c3c311bcc2f571f0040adf6 cdrdao-1.2.3.tar.bz2
+83d6a76f9b6c3e3e1522fe1fb64e50296f42c51d6f0b505d68adc3b7a85460d667ecf3f0998ba2ea5444dd5cd398e81f591ef9ca3bb4b5b167ce6e59234a5094 cdrdao-1.2.3-stat.patch"
diff --git a/unmaintained/cdrdao/cdrdao-1.2.3-stat.patch b/unmaintained/cdrdao/cdrdao-1.2.3-stat.patch
new file mode 100644
index 0000000000..5a68e7130d
--- /dev/null
+++ b/unmaintained/cdrdao/cdrdao-1.2.3-stat.patch
@@ -0,0 +1,13 @@
+diff -up cdrdao-1.2.3/dao/ScsiIf-linux.cc.stat cdrdao-1.2.3/dao/ScsiIf-linux.cc
+--- cdrdao-1.2.3/dao/ScsiIf-linux.cc.stat 2010-01-20 20:11:36.000000000 +0100
++++ cdrdao-1.2.3/dao/ScsiIf-linux.cc 2010-01-20 20:14:07.000000000 +0100
+@@ -19,6 +19,9 @@
+
+ #include <config.h>
+
++#include <sys/types.h>
++#include <sys/stat.h>
++
+ #include <stdio.h>
+ #include <fcntl.h>
+ #include <unistd.h>
diff --git a/unmaintained/celt/APKBUILD b/unmaintained/celt/APKBUILD
new file mode 100644
index 0000000000..765c9d5ae2
--- /dev/null
+++ b/unmaintained/celt/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=celt
+pkgver=0.11.1
+pkgrel=0
+pkgdesc="An audio codec for use in low-delay speech and audio communication"
+url="http://www.celt-codec.org/"
+arch="all"
+license="BSD"
+depends=""
+makedepends="libogg-dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://downloads.us.xiph.org/releases/celt/celt-$pkgver.tar.gz"
+
+_builddir="$srcdir"/celt-$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="94fe4acd241da8702c295bcd13a555e6 celt-0.11.1.tar.gz"
diff --git a/unmaintained/chan-sccp/APKBUILD b/unmaintained/chan-sccp/APKBUILD
new file mode 100644
index 0000000000..276cf7488d
--- /dev/null
+++ b/unmaintained/chan-sccp/APKBUILD
@@ -0,0 +1,45 @@
+pkgname=chan-sccp
+pkgver=4.2.2
+pkgrel=0
+release=6497
+pkgdesc="Chan-SCCP channel driver for Asterisk"
+url="http://chan-sccp-b.sourceforge.net/";
+arch="all"
+license="GPL2"
+depends=""
+makedepends="asterisk-dev"
+install=""
+subpackages="${pkgname}-gen_sccpconf ${pkgname}-doc"
+source="http://downloads.sourceforge.net/project/chan-sccp-b/V${pkgver:0:1}/Chan_SCCP-${pkgver}_STABLE_r${release}.tar.gz"
+_builddir="$srcdir"/Chan_SCCP-${pkgver}_STABLE_r${release}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr
+ make || return 1
+ cd contrib/gen_sccpconf
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+gen_sccpconf() {
+ pkgdesc="SCCP Config Generator"
+ cd "$_builddir"/contrib/gen_sccpconf
+ make DESTDIR="$subpkgdir" install || return 1
+ rm -fr "$subpkgdir"/usr/share
+}
+
+doc() {
+ arch="noarch"
+ cd "$_builddir"/conf
+ mkdir -p "$subpkgdir"/usr/share/doc/$pkgname
+ cp -r . "$subpkgdir"/usr/share/doc/$pkgname
+ chmod -x "$subpkgdir"/usr/share/doc/$pkgname/*.sql
+}
+md5sums="49aaffef2efeb5b67d24b7e977adf03d Chan_SCCP-4.2.2_STABLE_r6497.tar.gz"
+sha256sums="73bb1aec157f78b1823f4fb474d3a4981beefa01be1dcfb934a6d10117f291fc Chan_SCCP-4.2.2_STABLE_r6497.tar.gz"
+sha512sums="643150456e03ce659e34bbf97f18cab132cc4ac17059a8c9ea1e93faab832464183a43959a59e48292a563e30a2395c273c8150d36e49c1efa37037271a3de05 Chan_SCCP-4.2.2_STABLE_r6497.tar.gz"
diff --git a/unmaintained/cherokee/APKBUILD b/unmaintained/cherokee/APKBUILD
new file mode 100644
index 0000000000..771046b9eb
--- /dev/null
+++ b/unmaintained/cherokee/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Łukasz Jendrysik <scadu@yandex.com>
+# Contributor: Mika Havela <mika.havela@gmail.com>
+# Maintainer: William Pitcock <nenolod@dereferenced.org>
+pkgname=cherokee
+pkgver=1.2.104
+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 automake autoconf libtool"
+install=
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/cherokee/webserver/archive/v$pkgver.tar.gz
+ cherokee.initd
+ cherokee.confd
+ "
+
+_builddir="$srcdir"/webserver-$pkgver
+
+build() {
+ cd "$_builddir"
+ ./autogen.sh || return 1
+ ./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="2266dd801dc0ccb1b81a38919ad322f4 cherokee-1.2.104.tar.gz
+8cc44726585fa04a2772a0c3faa6a72d cherokee.initd
+bd6a840f72c630ce1eaabe058097584f cherokee.confd"
+sha256sums="5cbd00ff48503eaf90356b2975e311c02977f9166927e57fc23f541a109efd98 cherokee-1.2.104.tar.gz
+ce60a8953fe78bf0c5f688d324a3433382709b1d77d78f1074df73366f9cd70c cherokee.initd
+58db2070b710f2c3b38bc3d3be9703a22434f736cad742320b930b23cd5fa1b8 cherokee.confd"
+sha512sums="1cb68dbfe457a49341eb4e3af4ccf9a55d81d7893b1d0ef2d4f3dbbbe1fde651139a8dac75feec665c7545a9e3d676e3b2745f29fd6ad8eeaeaa5d526004f3dc cherokee-1.2.104.tar.gz
+d0e3a94ba4b6ad839ec227de26ca6d27416abe1640c73803549349edd1e7f8cf37346f8c8b8d948a4bfcaad4c596d5533448e3e084c4dd1260436731a9803c6d cherokee.initd
+3dbe1bef319eb9f59d65194fa71f0b12235245b2f82d995817824be09f312bbad96f72a147fd5ea11b7d503d263e4543b2fca5b49873106b194246c3c75c790f cherokee.confd"
diff --git a/unmaintained/cherokee/cherokee.confd b/unmaintained/cherokee/cherokee.confd
new file mode 100644
index 0000000000..8f719df390
--- /dev/null
+++ b/unmaintained/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/unmaintained/cherokee/cherokee.initd b/unmaintained/cherokee/cherokee.initd
new file mode 100755
index 0000000000..5e88e069c3
--- /dev/null
+++ b/unmaintained/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 \
+ --user ${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/unmaintained/chmlib/APKBUILD b/unmaintained/chmlib/APKBUILD
new file mode 100644
index 0000000000..334ddcab80
--- /dev/null
+++ b/unmaintained/chmlib/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=chmlib
+pkgver=0.40
+pkgrel=2
+pkgdesc="Library for dealing with Microsoft ITSS/CHM format files"
+url="http://morte.jedrea.com/~jedwin/projects/chmlib/"
+arch="all"
+license="LGPL2+"
+depends=""
+depends_dev=
+makedepends=""
+install=""
+subpackages="$pkgname-dev"
+source="http://morte.jedrea.com/~jedwin/projects/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+ headers.patch
+ stdtypes.patch"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ cd "$_builddir"
+ update_config_sub || return 1
+
+ local i
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p0 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="7ea49ed8c335215c1edc6fae83e6b912 chmlib-0.40.tar.bz2
+668afec836d2af8e50e6f8a953744539 headers.patch
+d8c82136eb221506f42b48d219cc3f5d stdtypes.patch"
+sha256sums="3449d64b0cf71578b2c7e3ddc048d4af3661f44a83941ea074a7813f3a59ffa3 chmlib-0.40.tar.bz2
+60b67803466def393789c10daef789e0a54176aa1493d2e1e285730c60185683 headers.patch
+1d1124f81c955dcf856013d37095c212a8ad858a1dce52bd07fecc736a0eb82e stdtypes.patch"
+sha512sums="3a3e151cf455b19e9e7c163a1d1e5ac52e8196f0b98f77932c72af58f3517824b9244667a18279ae754ccea784f6d6ab0c47465e74e3768ce98bb7dca0ca16e3 chmlib-0.40.tar.bz2
+940d6b766ada58cbdad31a4748de1f5bcad83170d2b233397dee80f4bd92e13c0f3fa2a027b5834c8547018f67e12726cbd6a8de7540ca9b3d12fda45db02d1d headers.patch
+afd879f78d4d532be3f3253a645b54588b0faff7445bc856b461ceba4ad0fb8d4d1fd9d1497675894cfb40c2174e21a8a2842a35e66deb6ab8adab6cbb996319 stdtypes.patch"
diff --git a/unmaintained/chmlib/headers.patch b/unmaintained/chmlib/headers.patch
new file mode 100644
index 0000000000..d60af28639
--- /dev/null
+++ b/unmaintained/chmlib/headers.patch
@@ -0,0 +1,18 @@
+--- src/chm_http.c
++++ src/chm_http.c
+@@ -34,6 +34,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+ #if __sun || __sgi
+ #include <strings.h>
+ #endif
+@@ -42,6 +43,7 @@
+ #include <sys/socket.h>
+ #include <sys/types.h>
+ #include <netinet/in.h>
++#include <arpa/inet.h>
+
+ /* threading includes */
+ #include <pthread.h>
diff --git a/unmaintained/chmlib/stdtypes.patch b/unmaintained/chmlib/stdtypes.patch
new file mode 100644
index 0000000000..0f92320176
--- /dev/null
+++ b/unmaintained/chmlib/stdtypes.patch
@@ -0,0 +1,20 @@
+--- src/chm_lib.c
++++ src/chm_lib.c
+@@ -149,6 +149,17 @@ typedef unsigned __int32 UInt32;
+ typedef __int64 Int64;
+ typedef unsigned __int64 UInt64;
+
++/* Linux: use C standard types */
++#elif defined(__linux__)
++#include <stdint.h>
++typedef unsigned char UChar;
++typedef int16_t Int16;
++typedef uint16_t UInt16;
++typedef int32_t Int32;
++typedef uint32_t UInt32;
++typedef int64_t Int64;
++typedef uint64_t UInt64;
++
+ /* I386, 32-bit, non-Windows */
+ /* Sparc */
+ /* MIPS */
diff --git a/unmaintained/chntpw/APKBUILD b/unmaintained/chntpw/APKBUILD
new file mode 100644
index 0000000000..f95508d291
--- /dev/null
+++ b/unmaintained/chntpw/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor:
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=chntpw
+pkgver=140201
+pkgrel=0
+pkgdesc="Change passwords in Windows SAM files"
+url="http://pogostick.net/~pnh/ntpasswd/"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev openssl-dev"
+install=""
+subpackages=""
+source="http://pogostick.net/~pnh/ntpasswd/$pkgname-source-$pkgver.zip
+ stdint.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 CC="${CC:-gcc}" CFLAGS="$CFLAGS -DUSEOPENSSL" LIBS="-lcrypto" \
+ chntpw cpnt reged || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -d "$pkgdir"/usr/bin
+ install chntpw cpnt reged "$pkgdir"/usr/bin/
+}
+
+md5sums="d60bc657206b07ad84d926649d6417dc chntpw-source-140201.zip
+7219b4f860212e85de39ba1937e2c296 stdint.patch"
+sha256sums="96e20905443e24cba2f21e51162df71dd993a1c02bfa12b1be2d0801a4ee2ccc chntpw-source-140201.zip
+9d392cdf598d4a9e9ddd3ae1b538ed1d8bd63fb27e23d4e4c9b13110b808a723 stdint.patch"
+sha512sums="a26d747f6e077d1bb3e9b8077781f8c37dd978e07b7426495862f15c9004572b706c34736fc4d1ed8856b1a43335d726b4d87c688f7f9a11fd6cc3a74d71a7fa chntpw-source-140201.zip
+3ed747119d125b3e4dc8dbb2a697d411ef2f4403ec84c60177d8e35389bc695bb0c65f7aa4314ca320ffceec87e60e2a0c81d52544b90463fe23aa7d4a50df67 stdint.patch"
diff --git a/unmaintained/chntpw/stdint.patch b/unmaintained/chntpw/stdint.patch
new file mode 100644
index 0000000000..841e25ed70
--- /dev/null
+++ b/unmaintained/chntpw/stdint.patch
@@ -0,0 +1,11 @@
+--- ./ntreg.h.orig
++++ ./ntreg.h
+@@ -25,6 +25,8 @@
+ #ifndef _INCLUDE_NTREG_H
+ #define _INCLUDE_NTREG_H 1
+
++#include <stdint.h>
++
+ #define SZ_MAX 4096 /* Max unicode strlen before we truncate */
+
+ #define KEY_ROOT 0x2c /* Type ID of ROOT key node */
diff --git a/unmaintained/chromaprint/APKBUILD b/unmaintained/chromaprint/APKBUILD
new file mode 100644
index 0000000000..7b0d124b5b
--- /dev/null
+++ b/unmaintained/chromaprint/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Łukasz Jendrysik <scadu@yandex.com>
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=chromaprint
+pkgver=1.2
+pkgrel=1
+pkgdesc="Library that implements a custom algorithm for extracting fingerprints from any audio source"
+url="http://acoustid.org/chromaprint/"
+arch="all"
+license="LGPL"
+depends=""
+depends_dev="ffmpeg-dev"
+makedepends="$depends_dev cmake"
+install=""
+subpackages="$pkgname-dev"
+source="https://bitbucket.org/acoustid/chromaprint/downloads/chromaprint-$pkgver.tar.gz"
+
+_builddir="$srcdir"/chromaprint-$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 \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DBUILD_EXAMPLES=ON \
+ . || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="${pkgdir}" install || return 1
+}
+
+md5sums="748da044a8f0ee5f31edec8b67045b3e chromaprint-1.2.tar.gz"
+sha256sums="822b8949a322ac04c6f8a3ed78f5e689bcc493c6ca0972bf627c913c8430031a chromaprint-1.2.tar.gz"
+sha512sums="dc61db8894a20df3d7e7317cd7cd97148c19be5854dd66409341cb8e47c045e1c632b254e14a869279983a5af2cc6f9effea21b77a63dff729511e6144439cbb chromaprint-1.2.tar.gz"
diff --git a/unmaintained/cntlm/APKBUILD b/unmaintained/cntlm/APKBUILD
new file mode 100644
index 0000000000..854f2a4782
--- /dev/null
+++ b/unmaintained/cntlm/APKBUILD
@@ -0,0 +1,51 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=cntlm
+pkgver=0.92.3
+pkgrel=1
+pkgdesc="NTLM Session Response / NTLMv2 authenticating HTTP proxy"
+url="http://cntlm.sourceforge.net/"
+arch="all"
+license="GPLv2+"
+depends=""
+makedepends=""
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/project/cntlm/cntlm/cntlm%20$pkgver/cntlm-$pkgver.tar.gz
+ cntlm.initd
+ "
+_builddir="$srcdir"/cntlm-$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
+
+ install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+}
+
+md5sums="0d7fcfbfbef0546306b896be246caa88 cntlm-0.92.3.tar.gz
+9837b30f345c621b8d60db59a772a65c cntlm.initd"
+sha256sums="9c3ad10924d43f7248df9ecd33cbc033afbd7ea8d9545de0d68a2782fed76298 cntlm-0.92.3.tar.gz
+082cd3fce99222166261485830b2a565008a3e006b2ba82a4504422a047d60e2 cntlm.initd"
+sha512sums="64f97524f1c807dd3bad3f6c1cffb9d3315c720b086336b7379c8c6380c7c483a9c810b40e7e5ea463387476cd718a8e5fcbc1c7103d7128dfc72a8607e6fd39 cntlm-0.92.3.tar.gz
+d77aaad9cf95c5631032d023fb05964fbee2febe6ca5a1f93c95936d1fc9f53321d62fa69ef8bab8045d271109b0bfc0896628859c7a6bf9e76cad3efa5d4fee cntlm.initd"
diff --git a/unmaintained/cntlm/cntlm.initd b/unmaintained/cntlm/cntlm.initd
new file mode 100644
index 0000000000..449d1f2361
--- /dev/null
+++ b/unmaintained/cntlm/cntlm.initd
@@ -0,0 +1,39 @@
+#!/sbin/openrc-run
+
+description="Authenticating HTTP accelerator for NTLM secured proxies"
+
+depend() {
+ need localmount net
+ use dns logger
+ after bootmisc firewall
+}
+
+checkconfig() {
+ CNTLM_INSTANCE=${SVCNAME#*.}
+ if [ -n "${CNTLM_INSTANCE}" -a "${SVCNAME}" != "cntlm" ]; then
+ CNTLM_CONF="/etc/cntlm.d/${CNTLM_INSTANCE}.conf"
+ CNTLM_PID="/var/run/cntlm.${CNTLM_INSTANCE}.pid"
+ else
+ CNTLM_CONF="/etc/cntlm.conf"
+ CNTLM_PID="/var/run/cntlm.pid"
+ fi
+ if [ ! -e ${CNTLM_CONF} ]; then
+ eerror "You will need an ${CNTLM_CONF} first"
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --exec /usr/sbin/cntlm --pidfile "${CNTLM_PID}" \
+ -- -c "${CNTLM_CONF}" -P "${CNTLM_PID}"
+ eend $?
+}
+
+stop() {
+ checkconfig || return 1
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --exec /usr/sbin/cntlm --pidfile "${CNTLM_PID}"
+ eend $?
+}
diff --git a/unmaintained/colord/APKBUILD b/unmaintained/colord/APKBUILD
new file mode 100644
index 0000000000..5da41f94d2
--- /dev/null
+++ b/unmaintained/colord/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=colord
+pkgver=1.2.12
+pkgrel=0
+pkgdesc="http://www.freedesktop.org/software/colord/releases/colord-1.0.6.tar.xz"
+url="http://www.freedesktop.org/software/colord"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev="dconf-dev dbus-dev lcms2-dev gobject-introspection-dev libgusb-dev
+ sqlite-dev polkit-dev"
+makedepends="$depends_dev intltool bash-completion"
+install=""
+subpackages="$pkgname-dev"
+source="http://www.freedesktop.org/software/colord/releases/colord-$pkgver.tar.xz"
+
+_builddir="$srcdir"/colord-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --disable-systemd \
+ --disable-systemd-login \
+ --disable-argyllcms-sensor \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="80b106ba18a43c7eeaf2d9a2b8c5725b colord-1.2.12.tar.xz"
+sha256sums="d5241864c16a37f9e40d38d5009255456495a67f170ce0dc9250774442d68c3a colord-1.2.12.tar.xz"
+sha512sums="5ce8f4fd10b92ec0cb54a05017ab050753381663a43e40d959606bb5f71ddce5456a3d67f8ce0538a2c945136834c66615f3615fdfb3e1eaaf5f5ca7a9e9c4eb colord-1.2.12.tar.xz"
diff --git a/unmaintained/compiz/APKBUILD b/unmaintained/compiz/APKBUILD
new file mode 100644
index 0000000000..e965ce0494
--- /dev/null
+++ b/unmaintained/compiz/APKBUILD
@@ -0,0 +1,56 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: William Pitcock <nenolod@dereferenced.org>
+pkgname=compiz
+pkgver=0.8.8
+pkgrel=5
+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
+ glu-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/unmaintained/corosync/APKBUILD b/unmaintained/corosync/APKBUILD
new file mode 100644
index 0000000000..0d65122ed0
--- /dev/null
+++ b/unmaintained/corosync/APKBUILD
@@ -0,0 +1,60 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=corosync
+pkgver=2.3.5
+pkgrel=0
+pkgdesc="The Corosync Cluster Engine and Application Programming Interfaces"
+url="http://www.corosync.org/"
+arch="all"
+license="BSD2"
+depends=""
+depends_dev="nss-dev net-snmp-dev libqb-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
+source="http://build.clusterlabs.org/corosync/releases/corosync-$pkgver.tar.gz
+ $pkgname.initd"
+_builddir="$srcdir"/corosync-$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-snmp \
+ --enable-nss \
+ || 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
+}
+
+libs() {
+ pkgdesc="The Corosync Cluster Engine Libraries"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/lib*.so.* "$subpkgdir"/usr/lib/ || return 1
+}
+
+md5sums="8894f00d499e0755467b381e6346f9ff corosync-2.3.5.tar.gz
+4d18555dfdd036b7a48eb5bdfd0ff053 corosync.initd"
+sha256sums="1d48cdfa224b0ceb02e27fe9d56b738fb2a92262b04b15bb3a67e1c4248da8e2 corosync-2.3.5.tar.gz
+8e5a18febe55a08b8b5be80ca2e3b81cdf961784d7a2f246b9064825d3a847bc corosync.initd"
+sha512sums="d9e3b8f71e02889320013c219ae078b2076be325bfcf17fa31b3c4ba2a327d680ff0522302e2e44a774889bf7ddb81041904dc68da556aa91b634f9efcbe98e5 corosync-2.3.5.tar.gz
+be5ec458f8eb234eb01ba1023e59b35f967f0833fd8097eb8f9b5e9d172fe3beffc6ea3d15dd57f1b76ab7b90cdfccdb4868962488d4af573e70c55baf021a65 corosync.initd"
diff --git a/unmaintained/corosync/corosync.initd b/unmaintained/corosync/corosync.initd
new file mode 100644
index 0000000000..6c134bd937
--- /dev/null
+++ b/unmaintained/corosync/corosync.initd
@@ -0,0 +1,23 @@
+#!/sbin/runscript
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/corosync/files/corosync.initd,v 1.2 2010/11/17 07:07:03 xarthisius Exp $
+
+depend() {
+ need net
+ use logger
+}
+
+start() {
+ ebegin "Starting Corosync Cluster Engine"
+ start-stop-daemon --start -q --exec /usr/sbin/corosync \
+ --pidfile /var/run/corosync.pid --make-pidfile --background \
+ -- -f
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Corosync Cluster Engine"
+ start-stop-daemon --stop -q --pidfile /var/run/corosync.pid
+ eend $?
+}
diff --git a/unmaintained/courier-authlib/APKBUILD b/unmaintained/courier-authlib/APKBUILD
new file mode 100644
index 0000000000..38525d9e0a
--- /dev/null
+++ b/unmaintained/courier-authlib/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Łukasz Jendrysik <scadu@yandex.com>
+# Contributor: Jeff Bilyk <jbilyk@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=courier-authlib
+pkgver=0.66.1
+pkgrel=2
+pkgdesc="Authentication library for courier mailserver"
+url="http://www.courier-mta.org"
+arch="all"
+license="GPL"
+depends=""
+depends_dev="libtool expect gdbm-dev openssl-dev libldap postgresql-dev mariadb-dev perl"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://downloads.sourceforge.net/project/courier/authlib/$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 \
+ --localstatedir=/var \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --with-db=gdbm \
+ --with-mailuser=courier \
+ --with-mailgroup=courier \
+ --with-authpwd \
+ --with-authshadow \
+ --with-authldap \
+ --with-authmysql \
+ --with-authpgsql \
+ --with-authuserdb \
+ --with-authcram \
+ --with-authdaemon \
+ --with-authdaemonvar=/var/run/authdaemon
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+md5sums="123e9429909ed65a23464cb7ecb15cf1 courier-authlib-0.66.1.tar.bz2"
+sha256sums="8f89166f57c8e59f445fe0135da92b95f1c4417896d01eda5e2e94d8ff878fe8 courier-authlib-0.66.1.tar.bz2"
+sha512sums="d2b0c9c92c0af8c596fd9b14337034e2859c4540b5b20523e8dfbec78f54021104b6864c7f3488f518ebfff488b38bdbc26690763175940d12019f5cbc482b33 courier-authlib-0.66.1.tar.bz2"
diff --git a/unmaintained/cowpatty/APKBUILD b/unmaintained/cowpatty/APKBUILD
new file mode 100644
index 0000000000..1c630ab1e0
--- /dev/null
+++ b/unmaintained/cowpatty/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=cowpatty
+pkgver=4.3
+pkgrel=0
+pkgdesc="Attacking WPA/WPA2-PSK exchanges"
+url="http://www.willhackforsushi.com/Cowpatty.html"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="libpcap-dev openssl-dev"
+install=""
+subpackages=""
+source="http://www.willhackforsushi.com/code/$pkgname/$pkgver/$pkgname-$pkgver.tgz
+ makefile.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"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make install DESTDIR="$pkgdir" BINDIR=/usr/bin || return 1
+}
+
+md5sums="deccac0763a05ef7014107d347bf9190 cowpatty-4.3.tgz
+0c4e93c53b0356a5513d4a2dd798815d makefile.patch"
diff --git a/unmaintained/cowpatty/makefile.patch b/unmaintained/cowpatty/makefile.patch
new file mode 100644
index 0000000000..3f676e74b1
--- /dev/null
+++ b/unmaintained/cowpatty/makefile.patch
@@ -0,0 +1,78 @@
+
+This patch was set upstream to author 2012-01-16
+
+--- ./Makefile.orig
++++ ./Makefile
+@@ -7,36 +7,42 @@
+ # <dragorn> i think thats all anyone does
+ # <dragorn> make is a twisted beast
+ ##################################
+-LDLIBS = -lpcap
+-CFLAGS = -pipe -Wall -DOPENSSL
+-CFLAGS += -O2
+-LDLIBS += -lcrypto
+-CFLAGS += -g3 -ggdb
+-#CFLAGS += -static
++
++CFLAGS ?= -O2 -g3 -ggdb -pipe
++
++PCAP_LIBS = -lpcap
++CRYPTO_LIBS = -lcrypto
++CRYPTO_CFLAGS = -DOPENSSL
++
++LDLIBS = $(PCAP_LIBS) $(CRYPTO_LIBS)
++
+ PROGOBJ = md5.o sha1.o utils.o cowpatty.o genpmk.o
+ PROG = cowpatty genpmk
+ BINDIR = /usr/local/bin
+
+-all: $(PROGOBJ) $(PROG)
++OBJS_cowpatty = cowpatty.o md5.o sha1.o utils.o
++OBJS_genpmk = genpmk.o md5.o sha1.o utils.o
+
+-cowpatty: common.h md5.c md5.h sha1.h cowpatty.c cowpatty.h sha1.c \
+- sha1.h utils.c utils.h
+- $(CC) $(CFLAGS) cowpatty.c -o cowpatty utils.o md5.o sha1.o $(LDLIBS)
++all: $(PROG)
+
+-genpmk: genpmk.c cowpatty.h utils.h sha1.h common.h
+- $(CC) $(CFLAGS) genpmk.c -o genpmk utils.o sha1.o $(LDLIBS)
++cowpatty: $(OBJS_cowpatty)
++ $(CC) $(CFLAGS) -o $@ $(OBJS_cowpatty) $(LDLIBS)
+
+-utils: utils.c utils.h
+- $(CC) $(CFLAGS) utils.c -c
++genpmk: $(OBJS_genpmk)
++ $(CC) $(CFLAGS) -o $@ $(OBJS_genpmk) $(LDLIBS)
+
+-md5: md5.c md5.h
+- $(CC) $(CFLAGS) md5.c -c
++cowpatty.o: cowpatty.h common.h utils.h sha1.h md5.h radiotap.h
++genpmk.o: cowpatty.h common.h utils.h sha1.h
++md5.o: common.h md5.h
++sha1.o: common.h sha1.h
++utils.o: utils.h radiotap.h
++md5.o: md5.h
+
+-sha1: sha1.c sha1.h
+- $(CC) $(CFLAGS) sha1.c -c
++%.o: %.c
++ $(CC) $(CFLAGS) $(CRYPTO_CFLAGS) $(CFLAGS_$@) -c $<
+
+ clean:
+- @rm $(PROGOBJ) $(PROG)
++ @rm -f $(PROGOBJ) $(PROG) *.o
+
+ strip:
+ @ls -l $(PROG)
+@@ -45,7 +51,9 @@
+
+ install: all
+ install -d $(DESTDIR)$(BINDIR)
+- install -m 755 $(PROG) $(BINDIR)$(DESTDIR)
++ install -m 755 $(PROG) $(DESTDIR)$(BINDIR)
+
+ love:
+ @echo "Not right now, I have a headache."
++
++
diff --git a/unmaintained/crconf/APKBUILD b/unmaintained/crconf/APKBUILD
new file mode 100644
index 0000000000..07c25a37fd
--- /dev/null
+++ b/unmaintained/crconf/APKBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=crconf
+pkgver=0_pre2
+_ver=${pkgver/0_/}
+pkgrel=0
+pkgdesc="Linux crypto layer configuration tool"
+url="http://sourceforge.net/projects/crconf/"
+arch="all"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/project/crconf/crconf-$_ver.tar.gz
+"
+
+_builddir="$srcdir"/crconf-$_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
+}
+
+build() {
+ cd "$_builddir"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make install DESTDIR="$pkgdir" SBINDIR="/usr/sbin"
+}
+
+md5sums="4b96e3fbd570d694ea25659a79a6db5c crconf-pre2.tar.gz"
+sha256sums="15d39b599acda93a50f473190e702d593ba13613b6ed31711f3584b5726b81b8 crconf-pre2.tar.gz"
+sha512sums="e4526626c71391968beafaf606bc477849ed11007bcfe4dd9b056bdbd08d19dce41b18418693fd5d2fab29f618e3fdad3ec4f4f2ea269207443e94e7552b4daa crconf-pre2.tar.gz"
diff --git a/unmaintained/crunch/APKBUILD b/unmaintained/crunch/APKBUILD
new file mode 100644
index 0000000000..bdcd8051c8
--- /dev/null
+++ b/unmaintained/crunch/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=crunch
+pkgver=3.4
+pkgrel=0
+pkgdesc="A wordlist generator"
+url="http://sourceforge.net/projects/crunch-wordlist/"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/project/crunch-wordlist/crunch-wordlist/$pkgname-$pkgver.tgz
+ crunch-3.4-destdir.patch"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p2 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" geninstall || return 1
+}
+
+md5sums="3f658a60d8227025df12cfb4ff4b9e15 crunch-3.4.tgz
+a75466c9dae86223f913f622208eef86 crunch-3.4-destdir.patch"
diff --git a/unmaintained/crunch/crunch-3.4-destdir.patch b/unmaintained/crunch/crunch-3.4-destdir.patch
new file mode 100644
index 0000000000..09dcf9a48c
--- /dev/null
+++ b/unmaintained/crunch/crunch-3.4-destdir.patch
@@ -0,0 +1,25 @@
+--- src/crunch-3.4/Makefile.orig
++++ src/crunch-3.4/Makefile
+@@ -58,16 +58,16 @@
+ # Install generic target
+ geninstall: build
+ @echo "Creating directories..."
+- $(INSTALL) -d -m 755 $(INSTALL_OPTIONS) $(BINDIR)
+- $(INSTALL) -d -m 755 $(INSTALL_OPTIONS) $(MANDIR)
++ $(INSTALL) -d -m 755 $(DESTDIR)$(BINDIR)
++ $(INSTALL) -d -m 755 $(DESTDIR)$(MANDIR)
+ @echo "Copying binary..."
+- $(INSTALL) crunch -m 755 $(INSTALL_OPTIONS) $(BINDIR)
++ $(INSTALL) crunch -m 755 $(DESTDIR)$(BINDIR)
+ @echo "Copying charset.lst..."
+- $(INSTALL) charset.lst -m 644 $(INSTALL_OPTIONS) $(BINDIR)
++ $(INSTALL) charset.lst -m 644 $(DESTDIR)$(BINDIR)
+ @echo "Copying GPL.TXT..."
+- $(INSTALL) GPL.TXT -m 644 $(INSTALL_OPTIONS) $(BINDIR)
++ $(INSTALL) GPL.TXT -m 644 $(DESTDIR)$(BINDIR)
+ @echo "Installing man page..."
+- $(INSTALL) crunch.1 -m 644 $(INSTALL_OPTIONS) $(MANDIR)
++ $(INSTALL) crunch.1 -m 644 $(DESTDIR)$(MANDIR)
+ @echo ""
+
+ # Install BT specific target
diff --git a/unmaintained/csync/APKBUILD b/unmaintained/csync/APKBUILD
new file mode 100644
index 0000000000..7df5f5d65f
--- /dev/null
+++ b/unmaintained/csync/APKBUILD
@@ -0,0 +1,71 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=csync
+pkgver=0.50.0
+pkgrel=0
+pkgdesc="a client only bidirectional file synchronizer"
+url="http://www.csync.org/"
+arch="all"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev check-dev samba-dev libssh-dev cmake sqlite-dev
+ iniparser-dev neon-dev"
+install=""
+subpackages="
+ $pkgname-dev
+ $pkgname-doc
+ $pkgname-sftp:_plugin
+ $pkgname-smb:_plugin
+ $pkgname-owncloud:_plugin"
+source="https://open.cryptomilk.org/attachments/download/27/csync-$pkgver.tar.xz
+ iconv.patch
+ gcc-fixes.patch"
+
+_builddir="$srcdir"/csync-$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"
+ mkdir build && cd build
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ .. || return 1
+ make || return 1
+
+}
+
+package() {
+ cd "$_builddir"/build
+ make install DESTDIR="$pkgdir" || return 1
+}
+
+_plugin() {
+ local _name="${subpkgname##*-}"
+ pkgdesc="csync $1 plugin"
+
+ local i
+ cd "$pkgdir"
+ for i in usr/lib/csync*/csync_${_name}.so; do
+ mkdir -p "$subpkgdir"/${i%/*}
+ mv $i "$subpkgdir"/${i%/*}
+ done
+}
+
+md5sums="4f022aaa19ecd8008b03876dd65a9df2 csync-0.50.0.tar.xz
+166e828bf574dbfc1857b04985ec699b iconv.patch
+70a120f5f913fb44f66844734e200131 gcc-fixes.patch"
+sha256sums="c07526942a93c1e213d354dc45fd61fbc0430c60e109e7a2f0fcaf6213a45c86 csync-0.50.0.tar.xz
+1a64b9ad6bc8c79b16ae8f6eb31ca2d3e124132e8130b908925d60ddc0eea98c iconv.patch
+1bb262390c687780dc65adb36f0c89c7c04d3db235d69d1cae9280c8c6029cae gcc-fixes.patch"
+sha512sums="babe44af3a4f0bf58e011f1c33c7a6df9bc7751e03714dd64d8269c7c51bcc7f2ab32c4d286e5a11465c9498c988d1812c426a4f415f1138a4fb9fa341e1e29a csync-0.50.0.tar.xz
+fc124966d7b7405cc3d3bc1276180089dc44058bc89afa799c0d9378f4dc131e9382b96357fff5964c9b009cb77455f125b63557a32ca5eaa31e01cbd2f7a694 iconv.patch
+88290d1dfbfeb775d89f4fbd20b9909a3fe5896ae85496eb53a0bd78162427ba7d910852ffb1887dcf380ad89e46c909d29e0a54f020c3ea92e613ac860b1b99 gcc-fixes.patch"
diff --git a/unmaintained/csync/gcc-fixes.patch b/unmaintained/csync/gcc-fixes.patch
new file mode 100644
index 0000000000..2614c974ea
--- /dev/null
+++ b/unmaintained/csync/gcc-fixes.patch
@@ -0,0 +1,12 @@
+diff -upr csync-0.50.0.orig/src/csync_log.h csync-0.50.0/src/csync_log.h
+--- csync-0.50.0.orig/src/csync_log.h 2015-09-29 19:44:49.692758996 +0200
++++ csync-0.50.0/src/csync_log.h 2015-09-29 19:45:48.439175389 +0200
+@@ -55,7 +55,7 @@ enum csync_log_priority_e {
+ };
+
+ #define CSYNC_LOG(priority, ...) \
+- csync_log(priority, __FUNCTION__, __VA_ARGS__)
++ csync_log(priority, __func__, __VA_ARGS__)
+
+ void csync_log(int verbosity,
+ const char *function,
diff --git a/unmaintained/csync/iconv.patch b/unmaintained/csync/iconv.patch
new file mode 100644
index 0000000000..fcafeb3a80
--- /dev/null
+++ b/unmaintained/csync/iconv.patch
@@ -0,0 +1,26 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 1cc90bc..f8309dd 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -28,7 +28,7 @@ set(CSYNC_LINK_LIBRARIES
+ ${SQLITE3_LIBRARIES}
+ )
+
+-if(HAVE_ICONV AND WITH_ICONV)
++if(WITH_ICONV)
+ list(APPEND CSYNC_PRIVATE_INCLUDE_DIRS ${ICONV_INCLUDE_DIR})
+ list(APPEND CSYNC_LINK_LIBRARIES ${ICONV_LIBRARIES})
+ endif()
+diff --git a/src/std/c_string.c b/src/std/c_string.c
+index f175734..ccc0644 100644
+--- a/src/std/c_string.c
++++ b/src/std/c_string.c
+@@ -39,7 +39,7 @@
+ #include <windows.h>
+ #endif
+
+-#if defined(HAVE_ICONV) && defined(WITH_ICONV)
++#if defined(WITH_ICONV)
+ # ifdef HAVE_ICONV_H
+ # include <iconv.h>
+ # endif
diff --git a/unmaintained/csync2/APKBUILD b/unmaintained/csync2/APKBUILD
new file mode 100644
index 0000000000..3dc51815eb
--- /dev/null
+++ b/unmaintained/csync2/APKBUILD
@@ -0,0 +1,84 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=csync2
+pkgver=2.0
+pkgrel=3
+pkgdesc="Cluster synchronization tool"
+url="http://oss.linbit.com/csync2/"
+arch="all"
+license="GPL2+"
+depends="openssl"
+depends_dev=""
+makedepends="autoconf automake librsync-dev gnutls-dev sqlite-dev mysql-dev postgresql-dev"
+install="$pkgname.post-install $pkgname.post-upgrade"
+subpackages="$pkgname-compare $pkgname-doc"
+source="http://oss.linbit.com/$pkgname/$pkgname-$pkgver.tar.gz
+ csync2-openssl.cnf
+ longlong-format.patch
+ nossl-config.patch
+ have-strlcpy.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
+ autoreconf --install --force
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc/$pkgname \
+ --localstatedir=/var \
+ --docdir=/usr/share/doc/$pkgname \
+ --mandir=/usr/share/man \
+ --enable-postgres \
+ --enable-mysql \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ cp doc/* "$pkgdir"/usr/share/doc/$pkgname/ || return 1
+
+ install -m755 -D "$srcdir"/$pkgname.initd \
+ "$pkgdir"/etc/init.d/$pkgname || return 1
+}
+
+compare() {
+ subpkgdesc="csync2 compare script"
+ arch="noarch"
+ depends="bash perl-digest-md5"
+
+ mkdir -p "$subpkgdir"/usr/sbin
+ mv "$pkgdir"/usr/sbin/$pkgname-compare \
+ "$subpkgdir"/usr/sbin/ || return 1
+}
+
+md5sums="4069fc9e86e8508c392fe2862059eb91 csync2-2.0.tar.gz
+f2f42a8ba543d5a22d2740e794c7f872 csync2-openssl.cnf
+8fc73254db29316f9125761d18f1ed46 longlong-format.patch
+b5adcbe1a3b0bc409336e539087319ea nossl-config.patch
+3ed476916ba9afa7c4aa587ae86a6e34 have-strlcpy.patch
+8197fe5a195d1e7a6843f0be7f9230f5 csync2.initd"
+sha256sums="11cb37380fb185bce0c22b804fec9b01c385d9d83cc528cfd48d748453834fa2 csync2-2.0.tar.gz
+53e2ae5141f9b1517072798f2d78b63b7a4653e59ebeb626940a7b8d173bc4df csync2-openssl.cnf
+afb1317987cc4b81908bc437269162c7af23b34e6842306483da5b53efce2db3 longlong-format.patch
+bc7abcb34224b6ea77cd4f90ee69d916b4bc7ef0f321bd649b1060ff54cdc084 nossl-config.patch
+f9aad05465919657894ee24fd102451790911445d0d8291ce565242a96f6024e have-strlcpy.patch
+c45f4177182cb567b9581e9882cf3004bbdde174b44b02b212df0e16a60bd6f8 csync2.initd"
+sha512sums="f91fd222f67affe9634471d341b43ff67854a6ed25b620301a454e98a79a9fb80b2a66eb8713546758fd08300d52751e5ca7472c696daa20ee11779b87a830f8 csync2-2.0.tar.gz
+614da46cdaea46da5de8d3f4e4dc634f34ec5fa402af8557e17324c43dd6b06cc4797bfb42bd5d0d4e34edcf9eb30241bd9054732d75e9646edd32e650fde7d4 csync2-openssl.cnf
+38a17cbf23cbccd4996ad1af049851e33179586e619e3f3edbfacbaa36662e44d916839acd59b1cfc67b3af9042c3258068ec9e5b57f7e26c00a41a0e6f0e148 longlong-format.patch
+9fe50c761ba463ebeecda147c7172526bb9a2378e11101bcab60433b2aec389439eefe8139539babe0d680e2f30cc69df34788454a1d3dce64decd66cc153b32 nossl-config.patch
+66a4762c2a6f99dd0f48aaf36d977150b93f3710de8ae34f090636285115a5801878089ca509d26737bbc30fadb6f9f6acebad8cea1c60e40aaff95ce43ee3a6 have-strlcpy.patch
+617235cb9383e72f48e7dd1aa82ecca394b87ceb1e5853b6eb04fb620e6146828fdf64a117d899be4174d3ddde81c9b092937fedada6d0c213825124d70546ee csync2.initd"
diff --git a/unmaintained/csync2/csync2-openssl.cnf b/unmaintained/csync2/csync2-openssl.cnf
new file mode 100644
index 0000000000..7f64b1c2ed
--- /dev/null
+++ b/unmaintained/csync2/csync2-openssl.cnf
@@ -0,0 +1,31 @@
+[ req ]
+default_bits = 1024
+encrypt_key = yes
+distinguished_name = req_dn
+x509_extensions = cert_type
+prompt = no
+
+[ req_dn ]
+# country (2 letter code)
+#C=UA
+
+# State or Province Name (full name)
+#ST=
+
+# Locality Name (eg. city)
+#L=Kyiv
+
+# Organization (eg. company)
+#O=CSync2
+
+# Organizational Unit Name (eg. section)
+OU=CSYNC2 Server
+
+# Common Name (*.example.com is also possible)
+CN=csync2.example.com
+
+# E-mail contact
+emailAddress=root@example.com
+
+[ cert_type ]
+nsCertType = server
diff --git a/unmaintained/csync2/csync2.initd b/unmaintained/csync2/csync2.initd
new file mode 100644
index 0000000000..43c545e357
--- /dev/null
+++ b/unmaintained/csync2/csync2.initd
@@ -0,0 +1,11 @@
+#!/sbin/openrc-run
+
+pidfile="/run/csync2.pid"
+command="/usr/sbin/csync2"
+command_args="-ii${CSYNC2_OPTS:+ $CSYNC2_OPTS}"
+command_background="yes"
+
+depend() {
+ need net localmount
+ after firewall
+}
diff --git a/unmaintained/csync2/csync2.post-install b/unmaintained/csync2/csync2.post-install
new file mode 100644
index 0000000000..ab02fa0c82
--- /dev/null
+++ b/unmaintained/csync2/csync2.post-install
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+OPENSSL=${OPENSSL:-openssl}
+OPENSSL_CONF=${OPENSSL_CONF:-/etc/csync2/csync2-openssl.cnf}
+
+CRTFILE=/etc/csync2/csync2_ssl_cert.pem
+CSRFILE=/etc/csync2/csync2_ssl_cert.csr
+KEYFILE=/etc/csync2/csync2_ssl_key.pem
+
+if [ -f $CRTFILE ]; then
+ echo "$CRTFILE already exists, won't overwrite"
+ exit 0
+fi
+
+if [ -f $KEYFILE ]; then
+ echo "$KEYFILE already exists, won't overwrite"
+ exit 0
+fi
+
+$OPENSSL genrsa -out $KEYFILE 1024 || exit 2
+$OPENSSL req -config $OPENSSL_CONF -new -key $KEYFILE -out $CSRFILE || exit 2
+$OPENSSL x509 -req -days 365 -in $CSRFILE -signkey $KEYFILE -out $CRTFILE || exit 2
+
+chmod 0600 $KEYFILE
+rm $CSRFILE
diff --git a/unmaintained/csync2/csync2.post-upgrade b/unmaintained/csync2/csync2.post-upgrade
new file mode 100644
index 0000000000..48ac7a01d2
--- /dev/null
+++ b/unmaintained/csync2/csync2.post-upgrade
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+mv /etc/csync2.cfg /etc/csync2/ >/dev/null 2>&1
+mv /etc/csync2_ssl_*.pem /etc/csync2/ >/dev/null 2>&1
+
+exit 0
diff --git a/unmaintained/csync2/have-strlcpy.patch b/unmaintained/csync2/have-strlcpy.patch
new file mode 100644
index 0000000000..394e1ec4b8
--- /dev/null
+++ b/unmaintained/csync2/have-strlcpy.patch
@@ -0,0 +1,30 @@
+--- old/configure.ac
++++ new/configure.ac
+@@ -43,7 +43,7 @@
+
+
+ dnl inspired by rsync's configure.ac
+-AC_CHECK_FUNCS(fchmod setmode open64 mkstemp64)
++AC_CHECK_FUNCS(strlcpy fchmod setmode open64 mkstemp64)
+ AC_CACHE_CHECK([for secure mkstemp],csync_cv_HAVE_SECURE_MKSTEMP,[
+ AC_TRY_RUN([#include <stdlib.h>
+ #include <sys/types.h>
+--- old/rsync.c
++++ new/rsync.c
+@@ -38,7 +38,7 @@
+ #include <w32api/windows.h>
+ #endif
+
+-
++#ifndef HAVE_STRLCPY
+ /* This has been taken from rsync:lib/compat.c */
+
+ /**
+@@ -61,6 +61,7 @@
+ }
+ return ret;
+ }
++#endif
+
+ /* splits filepath at the last '/', if any, like so:
+ * dirname basename filepath
diff --git a/unmaintained/csync2/longlong-format.patch b/unmaintained/csync2/longlong-format.patch
new file mode 100644
index 0000000000..a37488d7de
--- /dev/null
+++ b/unmaintained/csync2/longlong-format.patch
@@ -0,0 +1,31 @@
+--- old/checktxt.c
++++ new/checktxt.c
+@@ -49,7 +49,7 @@
+ xxprintf("v1");
+
+ if ( !S_ISLNK(st->st_mode) && !S_ISDIR(st->st_mode) )
+- xxprintf(":mtime=%Ld", ign_mtime ? (long long)0 : (long long)st->st_mtime);
++ xxprintf(":mtime=%lld", ign_mtime ? (long long)0 : (long long)st->st_mtime);
+
+ if ( !csync_ignore_mod )
+ xxprintf(":mode=%d", (int)st->st_mode);
+@@ -61,7 +61,7 @@
+ xxprintf(":gid=%d", (int)st->st_gid);
+
+ if ( S_ISREG(st->st_mode) )
+- xxprintf(":type=reg:size=%Ld", (long long)st->st_size);
++ xxprintf(":type=reg:size=%lld", (long long)st->st_size);
+
+ if ( S_ISDIR(st->st_mode) )
+ xxprintf(":type=dir");
+--- old/update.c
++++ new/update.c
+@@ -469,7 +469,7 @@
+
+ skip_action:
+ if ( !S_ISLNK(st.st_mode) ) {
+- conn_printf("SETIME %s %s %Ld\n",
++ conn_printf("SETIME %s %s %lld\n",
+ url_encode(key), url_encode(filename),
+ (long long)st.st_mtime);
+ last_conn_status = read_conn_status(filename, peername);
diff --git a/unmaintained/csync2/nossl-config.patch b/unmaintained/csync2/nossl-config.patch
new file mode 100644
index 0000000000..66e76f88ab
--- /dev/null
+++ b/unmaintained/csync2/nossl-config.patch
@@ -0,0 +1,19 @@
+--- old/csync2.cfg
++++ new/csync2.cfg
+@@ -4,12 +4,15 @@
+ # Please read the documentation:
+ # http://oss.linbit.com/csync2/paper.pdf
+
++# Do not use ssl by default
++nossl * *;
++
+ # group mygroup
+ # {
+ # host host1 host2 (host3);
+ # host host4@host4-eth2;
+ #
+-# key /etc/csync2.key_mygroup;
++# key /etc/csync2/csync2.key_mygroup;
+ #
+ # #
+ # # WARNING:
diff --git a/unmaintained/cuetools/APKBUILD b/unmaintained/cuetools/APKBUILD
new file mode 100644
index 0000000000..da99d3f3ec
--- /dev/null
+++ b/unmaintained/cuetools/APKBUILD
@@ -0,0 +1,62 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=cuetools
+pkgver=1.4.0
+pkgrel=0
+pkgdesc="Cue and toc file parsers and utilities"
+url="https://github.com/svend/cuetools"
+arch="all"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev automake autoconf libtool byacc flex"
+install=""
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/svend/cuetools/archive/$pkgver.tar.gz
+ fix_build_with_automake-1.12.patch
+ cuetag-fix_spaces.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"
+ aclocal || return 1
+ autoheader || return 1
+ automake --force-missing --add-missing || return 1
+ autoconf || return 1
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="4492dae2b3f9e077f6455a1f1cddef3b cuetools-1.4.0.tar.gz
+67a3b32711d1a1f508be6ed0f1bdadf3 fix_build_with_automake-1.12.patch
+60f4aba26e529e48dbedd2adef917117 cuetag-fix_spaces.patch"
+sha256sums="5dc86e9736929757b338827efa0ecae1b2fcee2273debc718511749a4178ddf6 cuetools-1.4.0.tar.gz
+12019dc267a7a0f32197928af6b2d50fd23cb5eb34ac8acc2f552bc0f8eef651 fix_build_with_automake-1.12.patch
+93768b1e8f458cf07bf643bd8d330c3907a6a73db2cb1f55a0e99da67776ff26 cuetag-fix_spaces.patch"
+sha512sums="338909d22e3cc65ddd8e411ca2dbcf198606c5f34bc67867dcf0a54d48bf0d1339f2a26a18aeeeca968ce1452d0ea0c19a3c3609a2593e1d8b6bb432a6113a75 cuetools-1.4.0.tar.gz
+71f397f7f514832e9109a0762631f7ea0b7ada95a6ea44eb0ae4c2d035efa672d0a29e3b3948b6f31dd35c115857b874f82e5a11e63248a048b83566d489148c fix_build_with_automake-1.12.patch
+301b1fcb9a5eb1e576db29de9421af5d1500a4fe88b16cf7376ee3ca1839ea267a2c6e0695255312e8e4ab5f18a6db1af75d2045704a93c6dd33e3eaac1b83db cuetag-fix_spaces.patch"
diff --git a/unmaintained/cuetools/cuetag-fix_spaces.patch b/unmaintained/cuetools/cuetag-fix_spaces.patch
new file mode 100644
index 0000000000..f240e9d375
--- /dev/null
+++ b/unmaintained/cuetools/cuetag-fix_spaces.patch
@@ -0,0 +1,46 @@
+From 21ee6cc40f02693928efbc4f3beeb681950c16b5 Mon Sep 17 00:00:00 2001
+From: Svend Sorensen <svend@ciffer.net>
+Date: Sat, 23 Nov 2013 17:23:01 -0800
+Subject: [PATCH] cuetag: Fix handling of spaces in file names
+
+Fixes #14
+---
+ src/tools/cuetag.sh | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/src/tools/cuetag.sh b/src/tools/cuetag.sh
+index f26fa20..448920f 100755
+--- a/src/tools/cuetag.sh
++++ b/src/tools/cuetag.sh
+@@ -182,16 +182,15 @@ main()
+ ntrack=$(cueprint -d '%N' "$cue_file")
+ trackno=1
+
+- FILES= FIELDS=
++ NUM_FILES=0 FIELDS=
+ for arg in "$@"; do
+ case "$arg" in
+- *.*) FILES="$FILES $arg";;
++ *.*) NUM_FILES=$(expr $NUM_FILES + 1);;
+ *) FIELDS="$FIELDS $arg";;
+ esac
+ done
+
+- set -- $FILES
+- if [ $# -ne $ntrack ]; then
++ if [ $NUM_FILES -ne $ntrack ]; then
+ echo "warning: number of files does not match number of tracks"
+ fi
+
+@@ -209,7 +208,7 @@ main()
+ *.[Tt][Xx][Tt])
+ vorbis $trackno "$file"
+ ;;
+- *)
++ *.*)
+ echo "$file: uknown file type"
+ ;;
+ esac
+--
+1.8.5.1
+
diff --git a/unmaintained/cuetools/fix_build_with_automake-1.12.patch b/unmaintained/cuetools/fix_build_with_automake-1.12.patch
new file mode 100644
index 0000000000..9090f32c3d
--- /dev/null
+++ b/unmaintained/cuetools/fix_build_with_automake-1.12.patch
@@ -0,0 +1,24 @@
+From 761eba5b9b9c87a872a18b7ba4bf3d77a96e2157 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Horv=C3=A1th=20Bal=C3=A1zs?= <q@qroa.ch>
+Date: Tue, 15 Oct 2013 01:17:52 +0200
+Subject: [PATCH] Fix build with automake-1.12.
+
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index f54bb92..9f36932 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -4,6 +4,7 @@ AC_PROG_CC
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
+ AM_PROG_LEX
++m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ AC_PROG_YACC
+ AC_CONFIG_HEADERS([config.h])
+ AC_CONFIG_FILES([Makefile doc/Makefile src/Makefile src/lib/Makefile src/tools/Makefile extras/Makefile])
+--
+1.8.4
+
diff --git a/unmaintained/cv/APKBUILD b/unmaintained/cv/APKBUILD
new file mode 100644
index 0000000000..c0fd220910
--- /dev/null
+++ b/unmaintained/cv/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: z3bra <willy at mailoo dot org>
+# Maintainer:
+pkgname=cv
+pkgver=0.5.1
+pkgrel=0
+pkgdesc="Linux tool to show progress for cp, rm, dd, ..."
+url="https://github.com/Xfennec/cv"
+arch="all"
+license="GPL3"
+depends="ncurses-dev"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=
+source="http://github.com/Xfennec/$pkgname/archive/v$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"
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make PREFIX=/usr DESTDIR=$pkgdir install
+}
+
+md5sums="8ac0e1169428b23b46cf509cf30e8e5a v0.5.1.tar.gz"
+sha256sums="d390a26a8db78366be8dfee93819135a106610ba7e3f6d94515c84d5803195d4 v0.5.1.tar.gz"
+sha512sums="af12176cbf2806a411fb9be9709e51f59c34888689f96a46d64ecac0fc93d892673268b2a25253e46ca0dcf711325d67b94ffbe4033dbc3cf733d1a15b712863 v0.5.1.tar.gz"
diff --git a/unmaintained/cv/compress-tools.patch b/unmaintained/cv/compress-tools.patch
new file mode 100644
index 0000000000..696064e60b
--- /dev/null
+++ b/unmaintained/cv/compress-tools.patch
@@ -0,0 +1,11 @@
+--- cv.orig/cv.c
++++ cv/cv.c
+@@ -44,7 +44,7 @@
+ #include "sizes.h"
+ #include "hlist.h"
+
+-char *proc_names[] = {"cp", "mv", "dd", "tar", "gzip", "gunzip", "cat", "grep", "fgrep", "egrep", "cut", "sort", NULL};
++char *proc_names[] = {"cp", "mv", "dd", "tar", "gzip", "gunzip", "cat", "grep", "fgrep", "egrep", "cut", "sort", "cpio", "xz", "bzip2", "bunzip2", NULL};
+ char *proc_specifiq = NULL;
+ WINDOW *mainwin;
+ signed char flag_quiet = 0;
diff --git a/unmaintained/daemontools/0.76-errno.patch b/unmaintained/daemontools/0.76-errno.patch
new file mode 100644
index 0000000000..3af157c462
--- /dev/null
+++ b/unmaintained/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/unmaintained/daemontools/0.76-warnings.patch b/unmaintained/daemontools/0.76-warnings.patch
new file mode 100644
index 0000000000..f558bb18b1
--- /dev/null
+++ b/unmaintained/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/unmaintained/daemontools/APKBUILD b/unmaintained/daemontools/APKBUILD
new file mode 100644
index 0000000000..bc1e1cab7d
--- /dev/null
+++ b/unmaintained/daemontools/APKBUILD
@@ -0,0 +1,50 @@
+# 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() {
+ local f
+ 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/unmaintained/daemontools/svscan.initd b/unmaintained/daemontools/svscan.initd
new file mode 100644
index 0000000000..bf7af28fa4
--- /dev/null
+++ b/unmaintained/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/unmaintained/datacoin-hp/APKBUILD b/unmaintained/datacoin-hp/APKBUILD
new file mode 100644
index 0000000000..f921f2a505
--- /dev/null
+++ b/unmaintained/datacoin-hp/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
+# Maintainer:
+pkgname=datacoin-hp
+pkgver=0_git20140921
+pkgrel=0
+_commit=791125b901767b9dec40e04f6865181a3276395b
+pkgdesc="High-performance version of datacoin"
+url=https://github.com/foo1inge/datacoin-hp
+arch="x86_64"
+license=MIT
+depends=
+makedepends="boost-dev db-dev gmp-dev miniupnpc-dev openssl-dev"
+install=
+subpackages=
+source=$url/archive/$_commit.zip
+
+_builddir=$srcdir/$pkgname-$_commit/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"
+ make -f makefile.unix BOOST_LIB_SUFFIX=-mt
+}
+
+package() {
+ cd "$_builddir"
+ install -D -m 755 datacoind "$pkgdir/usr/bin/datacoind"
+}
+
+md5sums="f5fc62457bf6d64286eb24d11a4b3169 791125b901767b9dec40e04f6865181a3276395b.zip"
+sha256sums="99c0147bdf838337ff4b6b66519f6e04810b8ff2d88251bcb46e844c4720a507 791125b901767b9dec40e04f6865181a3276395b.zip"
+sha512sums="8925bd53749f5370299c38a90c96be539c8064de4e077cc0f6090353d9484fdcd38236c0da88b9c2d6cfb215d77ad02addd0061ce39f997581251cdcb0a2495a 791125b901767b9dec40e04f6865181a3276395b.zip"
diff --git a/unmaintained/davfs2/010-main_code_fix.patch b/unmaintained/davfs2/010-main_code_fix.patch
new file mode 100644
index 0000000000..aa36fdfaa7
--- /dev/null
+++ b/unmaintained/davfs2/010-main_code_fix.patch
@@ -0,0 +1,35 @@
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -32,8 +32,8 @@ mount_davfs_SOURCES = cache.c dav_coda.c
+ kernel_interface.h mount_davfs.h webdav.h
+ umount_davfs_SOURCES = umount_davfs.c defaults.h
+
+-AM_CFLAGS = -Wall -Werror=format-security \
+- -fstack-protector --param=ssp-buffer-size=4
++AM_CFLAGS = -Wall -Werror=format-security
++# -fstack-protector --param=ssp-buffer-size=4 -- removed ssp not supported in openwrt
+ DEFS = -DPROGRAM_NAME=\"mount.davfs\" \
+ -DDAV_SYS_CONF_DIR=\"$(pkgsysconfdir)\" \
+ -DDAV_LOCALSTATE_DIR=\"$(dav_localstatedir)\" \
+--- a/src/cache.c
++++ b/src/cache.c
+@@ -58,7 +58,7 @@
+ #ifdef HAVE_SYS_TYPES_H
+ #include <sys/types.h>
+ #endif
+-#include <sys/xattr.h>
++#include <linux/xattr.h>
+
+ #include <ne_alloc.h>
+ #include <ne_string.h>
+--- a/src/webdav.c
++++ b/src/webdav.c
+@@ -2033,7 +2033,7 @@ ssl_verify(void *userdata, int failures,
+ len = getline(&s, &n, stdin);
+ if (len < 0)
+ abort();
+- if (rpmatch(s) > 0)
++ if ((s[0]=='y' || s[0]=='Y') > 0)
+ ret = 0;
+ free(s);
+ }
diff --git a/unmaintained/davfs2/100-musl-compat.patch b/unmaintained/davfs2/100-musl-compat.patch
new file mode 100644
index 0000000000..9663822581
--- /dev/null
+++ b/unmaintained/davfs2/100-musl-compat.patch
@@ -0,0 +1,194 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -42,7 +42,7 @@ DAV_CHECK_NEON
+ # Checks for header files.
+ AC_HEADER_DIRENT
+ AC_HEADER_STDC
+-AC_CHECK_HEADERS([fcntl.h libintl.h langinfo.h limits.h locale.h mntent.h stddef.h stdint.h stdlib.h string.h sys/file.h sys/mount.h sys/time.h syslog.h termios.h unistd.h utime.h])
++AC_CHECK_HEADERS([error.h fcntl.h iconv.h libintl.h langinfo.h limits.h locale.h mntent.h stddef.h stdint.h stdlib.h string.h sys/file.h sys/mount.h sys/time.h sys/select.h sys/types.h syslog.h termios.h unistd.h utime.h])
+
+ # Checks for typedefs, structures, and compiler characteristics.
+ AC_C_CONST
+@@ -78,7 +78,7 @@ AC_FUNC_SELECT_ARGTYPES
+ AC_FUNC_STRFTIME
+ AC_FUNC_STAT
+ AC_FUNC_UTIME_NULL
+-AC_CHECK_FUNCS([endpwent ftruncate getmntent memset mkdir nl_langinfo rpmatch select setlocale strcasecmp strchr strdup strerror strpbrk strrchr strstr strtol strtoull utime])
++AC_CHECK_FUNCS([endpwent ftruncate getmntent memset mkdir nl_langinfo rpmatch select setlocale strcasecmp strchr strdup strerror strpbrk strrchr strstr strtol strtoull utime canonicalize_file_name fopencookie])
+
+ # Misc.
+ DAV_DEFAULTS
+--- a/src/cache.c
++++ b/src/cache.c
+@@ -19,12 +19,12 @@
+
+
+ #include "config.h"
++#include "compat.h"
+
+ #ifdef HAVE_DIRENT_H
+ #include <dirent.h>
+ #endif
+ #include <errno.h>
+-#include <error.h>
+ #ifdef HAVE_FCNTL_H
+ #include <fcntl.h>
+ #endif
+--- a/src/dav_fuse.c
++++ b/src/dav_fuse.c
+@@ -47,6 +47,9 @@
+ #ifdef HAVE_SYS_STAT_H
+ #include <sys/stat.h>
+ #endif
++#ifdef HAVE_SYS_SELECT_H
++#include <sys/select.h>
++#endif
+
+ #include "defaults.h"
+ #include "mount_davfs.h"
+--- a/src/kernel_interface.c
++++ b/src/kernel_interface.c
+@@ -19,8 +19,8 @@
+
+
+ #include "config.h"
++#include "compat.h"
+
+-#include <error.h>
+ #ifdef HAVE_FCNTL_H
+ #include <fcntl.h>
+ #endif
+@@ -51,6 +51,9 @@
+ #ifdef HAVE_SYS_STAT_H
+ #include <sys/stat.h>
+ #endif
++#ifdef HAVE_SYS_TYPES_H
++#include <sys/types.h>
++#endif
+ #include <sys/wait.h>
+
+ #include "defaults.h"
+--- a/src/mount_davfs.c
++++ b/src/mount_davfs.c
+@@ -19,10 +19,10 @@
+
+
+ #include "config.h"
++#include "compat.h"
+
+ #include <ctype.h>
+ #include <errno.h>
+-#include <error.h>
+ #ifdef HAVE_FCNTL_H
+ #include <fcntl.h>
+ #endif
+--- a/src/umount_davfs.c
++++ b/src/umount_davfs.c
+@@ -19,8 +19,8 @@
+
+
+ #include "config.h"
++#include "compat.h"
+
+-#include <error.h>
+ #include <errno.h>
+ #include <getopt.h>
+ #ifdef HAVE_LIBINTL_H
+--- a/src/webdav.c
++++ b/src/webdav.c
+@@ -19,9 +19,9 @@
+
+
+ #include "config.h"
++#include "compat.h"
+
+ #include <errno.h>
+-#include <error.h>
+ #ifdef HAVE_FCNTL_H
+ #include <fcntl.h>
+ #endif
+@@ -368,6 +368,7 @@ dav_init_webdav(const dav_args *args)
+ error(EXIT_FAILURE, errno, _("socket library initialization failed"));
+
+ if (args->neon_debug & ~NE_DBG_HTTPPLAIN) {
++#ifdef HAVE_FOPENCOOKIE
+ char *buf = malloc(log_bufsize);
+ cookie_io_functions_t *log_func = malloc(sizeof(cookie_io_functions_t));
+ if (!log_func) abort();
+@@ -380,6 +381,9 @@ dav_init_webdav(const dav_args *args)
+ error(EXIT_FAILURE, errno,
+ _("can't open stream to log neon-messages"));
+ ne_debug_init(log_stream, args->neon_debug);
++#else
++ error(EXIT_FAILURE, 0, "neon debugging unsupported");
++#endif
+ }
+
+ session = ne_session_create(args->scheme, args->host, args->port);
+--- /dev/null
++++ b/src/compat.h
+@@ -0,0 +1,64 @@
++#ifndef _COMPAT_H
++#define _COMPAT_H
++
++#ifndef _PATH_MOUNTED
++# define _PATH_MOUNTED "/proc/mounts"
++#endif
++
++#ifndef _PATH_MNTTAB
++# define _PATH_MNTTAB "/etc/fstab"
++#endif
++
++#ifdef HAVE_ERROR_H
++# include <error.h>
++#else
++# include <stdio.h>
++# include <stdarg.h>
++# include <stdlib.h>
++# include <string.h>
++static void error_at_line(int status, int errnum, const char *filename,
++ unsigned int linenum, const char *format, ...)
++{
++ va_list ap;
++
++ fflush(stdout);
++
++ if (filename != NULL)
++ fprintf(stderr, "%s:%u: ", filename, linenum);
++
++ va_start(ap, format);
++ vfprintf(stderr, format, ap);
++ va_end(ap);
++
++ if (errnum != 0)
++ fprintf(stderr, ": %s", strerror(errnum));
++
++ fprintf(stderr, "\n");
++
++ if (status != 0)
++ exit(status);
++}
++
++#define error(status, errnum, format...) \
++ error_at_line(status, errnum, NULL, 0, format)
++
++#endif /* HAVE_ERROR_H */
++
++#ifndef HAVE_CANONICALIZE_FILE_NAME
++#include <limits.h>
++#include <string.h>
++#include <stdlib.h>
++static char * canonicalize_file_name(const char *path)
++{
++ char buf[PATH_MAX] = { };
++
++ snprintf(buf, sizeof(buf) - 1, "%s", path);
++
++ if (!realpath(path, buf))
++ return NULL;
++
++ return strdup(buf);
++}
++#endif
++
++#endif /* _COMPAT_H */
diff --git a/unmaintained/davfs2/APKBUILD b/unmaintained/davfs2/APKBUILD
new file mode 100644
index 0000000000..46dd49288d
--- /dev/null
+++ b/unmaintained/davfs2/APKBUILD
@@ -0,0 +1,61 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=davfs2
+pkgver=1.5.2
+pkgrel=0
+pkgdesc="File system driver that allows you to mount a WebDAV folder"
+url="http://savannah.nongnu.org/projects/davfs2"
+arch="all"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev neon-dev linux-headers autoconf automake libtool
+ gettext-dev"
+install=""
+options="suid"
+subpackages="$pkgname-doc"
+source="http://download.savannah.gnu.org/releases/davfs2/davfs2-$pkgver.tar.gz
+ 010-main_code_fix.patch
+ 100-musl-compat.patch
+ "
+
+_builddir="$srcdir"/davfs2-$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 -fi || return 1
+ ./configure \
+ --prefix=/usr \
+ --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
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="376bc9346454135cba78afacbcb23f86 davfs2-1.5.2.tar.gz
+15495a67412345c70e6b211fa8067350 010-main_code_fix.patch
+48ee49fc56364a18f33c5def5b3a859f 100-musl-compat.patch"
+sha256sums="be34a19ab57a6ea77ecb82083e9e4c1882e12b2de64257de567ad5ee7a17b358 davfs2-1.5.2.tar.gz
+e546987cc6083ba2637206aab63e65d054c94bcb315db5ee5bf3774944dd7718 010-main_code_fix.patch
+1ddddfde1110c155b1e0d2756a3310e13a35f6bd6e9a26ac8e3940b2fb5f0d20 100-musl-compat.patch"
+sha512sums="c912049e23b76bda19c2ae2d07bc2b1da7ed9bf82b338c57c0f9fb8a3144cbbb52a0e8f8c2f8996342c7aa434470d062996c30bbbe0f1c6623c81af6414fbb45 davfs2-1.5.2.tar.gz
+99ced4c7183540653b5eb3b9fc6afd06b3d959134c41c2c3a7d65460d6fe9766c9d7f2b774f3064f5e4fd86992fbf500c3e4386a0d814834eb40fb55041bc396 010-main_code_fix.patch
+44ce904db9e4efc48efdb74b791c2a5d135baa1272385906f85ea99fbf3254b010d6d1b4701091f784deebc0d2ebb3ca16a68c768e4af184b2504f31b7a65b3b 100-musl-compat.patch"
diff --git a/unmaintained/dcfldd/APKBUILD b/unmaintained/dcfldd/APKBUILD
new file mode 100644
index 0000000000..facca26841
--- /dev/null
+++ b/unmaintained/dcfldd/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Jesse Young <jlyo@jlyo.org>
+# Maintainer: Jesse Young <jlyo@jlyo.org>
+
+pkgname=dcfldd
+pkgver=1.3.4.1
+_pkgver="${pkgver%.*}-${pkgver##*.}"
+pkgrel=0
+pkgdesc="DCFL (DoD Computer Forensics Lab) dd replacement with hashing"
+url="http://dcfldd.sourceforge.net/"
+arch="all"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${_pkgver}.tar.gz
+ dcfldd-error.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 \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+md5sums="952026c872f11b53ce0ec6681a3eef0a dcfldd-1.3.4-1.tar.gz
+2e2ee971748845947312f5345b96e940 dcfldd-error.patch"
+sha256sums="f5143a184da56fd5ac729d6d8cbcf9f5da8e1cf4604aa9fb97c59553b7e6d5f8 dcfldd-1.3.4-1.tar.gz
+004408bab8296050107e92e5a5fdf14e3b145acb324bfcf697a29ca9f11218d4 dcfldd-error.patch"
+sha512sums="04b53adf62c6b468ff816e2cd94cf360eb5315eb980e2aa7d71afae706ec9c4683430269e82d712608be265710907fdaaa1316e4f734b7481ee9395a37926c7a dcfldd-1.3.4-1.tar.gz
+f0c33fbc5f2d2eb8075d7faa460987d441da04be6831f85743a0ffd5d58796722395efc8c9dd7137a0b8bbc017b9995cf18b3ef37e56e17fdbd842fcaa573c83 dcfldd-error.patch"
diff --git a/unmaintained/dcfldd/dcfldd-error.patch b/unmaintained/dcfldd/dcfldd-error.patch
new file mode 100644
index 0000000000..5bf0e60758
--- /dev/null
+++ b/unmaintained/dcfldd/dcfldd-error.patch
@@ -0,0 +1,15 @@
+--- a/util.c
++++ b/util.c
+@@ -135,9 +133,9 @@
+ && ioctl (fdesc, MTIOCGET, &s2) == 0
+ && MT_SAME_POSITION (s1, s2))
+ {
++ fprintf(stderr, "%s: warning: working around lseek kernel bug for file (%s)\n"
++ " of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types\n",
++ program_name, filename, s2.mt_type);
+- error (0, 0, _("warning: working around lseek kernel bug for file (%s)\n\
+- of mt_type=0x%0lx -- see <sys/mtio.h> for the list of types"),
+- filename, s2.mt_type);
+ errno = 0;
+ new_position = -1;
+ }
diff --git a/unmaintained/dconf-editor/APKBUILD b/unmaintained/dconf-editor/APKBUILD
new file mode 100644
index 0000000000..fb03be67df
--- /dev/null
+++ b/unmaintained/dconf-editor/APKBUILD
@@ -0,0 +1,48 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=dconf-editor
+pkgver=3.16.0
+pkgrel=0
+pkgdesc="Configuration editor for dconf"
+url="https://wiki.gnome.org/Projects/dconf"
+arch="all"
+license="LGPLv2+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev vala gtk+3.0-dev dconf-dev"
+install=""
+subpackages="$pkgname-doc $pkgname-lang"
+source="https://download.gnome.org/sources/dconf-editor/3.16/dconf-editor-$pkgver.tar.xz"
+
+_builddir="$srcdir"/dconf-editor-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="fd0b398d21274b5412c0f0bd3643fab6 dconf-editor-3.16.0.tar.xz"
+sha256sums="811af889202996495f6074a5dcf6df84c0300eaa7fc79cda31682815b8d162f9 dconf-editor-3.16.0.tar.xz"
+sha512sums="4df64f915c6b1b0c578db826e5eff5c651f2f5f3bffc7b60e289bb5a46c1e39f9a9f0fd59a7dc2f50e6a7794b010ebfa549b8debc612de893f242c2d896f22c5 dconf-editor-3.16.0.tar.xz"
diff --git a/unmaintained/dfc/APKBUILD b/unmaintained/dfc/APKBUILD
new file mode 100644
index 0000000000..8715979c15
--- /dev/null
+++ b/unmaintained/dfc/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Pierre Carrier <pierre@gcarrier.fr>
+# Maintainer: Pierre Carrier <pierre@gcarrier.fr>
+pkgname=dfc
+pkgver=3.0.5
+pkgrel=1
+pkgdesc="displays file system space usage using graphs and colors."
+url="http://projects.gw-computing.net/projects/dfc"
+arch="all"
+license="BSD"
+makedepends="cmake"
+source="http://projects.gw-computing.net/attachments/download/467/dfc-$pkgver.tar.gz"
+subpackages="$pkgname-doc"
+
+_builddir="$srcdir"/dfc-$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_BUILD_TYPE=Release \
+ -DPREFIX=/usr \
+ -DSYSCONFDIR=/etc \
+ || return 1
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make install/fast DESTDIR="$pkgdir"
+}
+
+md5sums="3e6443c54966751f5e9fdaca33d873d1 dfc-3.0.5.tar.gz"
+sha256sums="3c947a1d6bc53347b1643921dcbf4c6f8fe7eb6167fc1f4e9436366f036d857a dfc-3.0.5.tar.gz"
+sha512sums="f828ede8aee0a496518d1ee9583ba71495cdd01ee0d22833e3b46aeb5f5f870ce7de629923d129a7bf795b458feec10f9a16882134dae34dd2ace7ea9eebb134 dfc-3.0.5.tar.gz"
diff --git a/unmaintained/dhcpdump/APKBUILD b/unmaintained/dhcpdump/APKBUILD
new file mode 100644
index 0000000000..deb397b676
--- /dev/null
+++ b/unmaintained/dhcpdump/APKBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=dhcpdump
+pkgver=1.8
+pkgrel=0
+pkgdesc="utility to analyze sniffed DHCP packets"
+url="http://www.mavetju.org/unix/general.php"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="$depends_dev libpcap-dev perl"
+install=""
+subpackages="$pkgname-doc"
+source="http://www.mavetju.org/download/dhcpdump-$pkgver.tar.gz"
+
+_builddir="$srcdir"/dhcpdump-$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 dhcpdump "$pkgdir"/usr/bin/dhcpdump || return 1
+ install -D dhcpdump.8 "$pkgdir"/usr/share/man/man8/dhcpdump.8 \
+ || return 1
+}
+
+md5sums="099c786997c424f196414f9575f1fb90 dhcpdump-1.8.tar.gz"
+sha256sums="6d5eb9418162fb738bc56e4c1682ce7f7392dd96e568cc996e44c28de7f77190 dhcpdump-1.8.tar.gz"
+sha512sums="52cd63d581a3c530c2f5baa66808d5b0241853651c720bd513b769b8301b4dff9c87243787014aea98a5b3ebed86ec317b58d262bf5031015141a4da50fb76e6 dhcpdump-1.8.tar.gz"
diff --git a/unmaintained/dhex/APKBUILD b/unmaintained/dhex/APKBUILD
new file mode 100644
index 0000000000..edbbb1271f
--- /dev/null
+++ b/unmaintained/dhex/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=dhex
+pkgver=0.68
+pkgrel=1
+pkgdesc="Ncurses hex editor"
+url="http://www.dettus.net/dhex/"
+arch="all"
+license="GPL2+"
+depends=""
+makedepends="ncurses-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://www.dettus.net/dhex/dhex_$pkgver.tar.gz
+ makefile.patch"
+_builddir="$srcdir"/dhex_$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 install DESTDIR="$pkgdir" \
+ mandir=/usr/share/man \
+ prefix=/usr || return 1
+}
+
+md5sums="5109b3d50053553e41d75c8e5c0a0175 dhex_0.68.tar.gz
+de16e09d3b416650d84ef39235cd2917 makefile.patch"
+sha256sums="126c34745b48a07448cfe36fe5913d37ec562ad72d3f732b99bd40f761f4da08 dhex_0.68.tar.gz
+e29f8279a25c6bcc6f43f61c80d08948e40cea67866eed5e745ea5f63af3d291 makefile.patch"
+sha512sums="9397ec0574652022387f4108613f839b9262841c436079249fb325011b0a0e3c5bbd32d323f37b0f30e643f7060c1275337710c237ab68fb0c3f8096651a2421 dhex_0.68.tar.gz
+0e2aa694723afd859f97f8ea02a79fec02bcbd70b9f4bd8ba1e33743f1fa72fa8810bfb7bac2c7a855bf407cd7c0cbb3ef82c7fea1fcb19a2701ab2d55baf7e3 makefile.patch"
diff --git a/unmaintained/dhex/makefile.patch b/unmaintained/dhex/makefile.patch
new file mode 100644
index 0000000000..9e7788b409
--- /dev/null
+++ b/unmaintained/dhex/makefile.patch
@@ -0,0 +1,49 @@
+--- ./Makefile.orig
++++ ./Makefile
+@@ -1,12 +1,22 @@
+-CC= gcc
+-LDFLAGS= -L/usr/lib -L/usr/local/lib -L/usr/lib/ncurses -L/usr/local/lib/ncurses
++CC?= gcc
++LDFLAGS?= -L/usr/lib -L/usr/local/lib -L/usr/lib/ncurses -L/usr/local/lib/ncurses
+ CPPFLAGS= -I/usr/include -I/usr/local/include -I/usr/include/ncurses -I/usr/local/include/ncurses
+-CFLAGS= -O3 -Wall -std=c99
++CFLAGS?= -O3 -Wall -std=c99
+ #CFLAGS+= -ffunction-sections -fdata-sections
+ #LDFLAGS+= --gc-sections
+ LIBS= -lncurses
+-DESTDIR= /usr/local/
+
++prefix= /usr/local
++bindir= $(prefix)/bin
++mandir= $(prefix)/man
++man1dir= $(mandir)/man1
++man5dir= $(mandir)/man5
++DESTDIR=
++
++MKDIR_P= install -d
++INSTALL= install
++
++
+ OFILES=buffers.o \
+ configfile.o \
+ correlation.o \
+@@ -27,14 +37,11 @@
+ $(CC) $(LDFLAGS) -o $@ $(OFILES) $(LIBS)
+
+ install:all
+- strip dhex
+- cp dhex $(DESTDIR)/bin
+- cp dhex.1 $(DESTDIR)/man/man1
+- cp dhexrc.5 $(DESTDIR)/man/man5
+- cp dhex_markers.5 $(DESTDIR)/man/man5
+- cp dhex_searchlog.5 $(DESTDIR)/man/man5
+-
+-
++ $(MKDIR_P) $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir)
++ $(INSTALL) -m755 dhex $(DESTDIR)$(bindir)
++ $(INSTALL) -m644 dhex.1 $(DESTDIR)$(man1dir)
++ $(INSTALL) -m644 dhexrc.5 dhex_markers.5 dhex_searchlog.5 \
++ $(DESTDIR)$(man5dir)
+
+ .c.o:
+ $(CC) $< -c -I. $(CPPFLAGS) $(CFLAGS) $(OPTIONS)
diff --git a/unmaintained/diod/APKBUILD b/unmaintained/diod/APKBUILD
new file mode 100644
index 0000000000..817d43c4df
--- /dev/null
+++ b/unmaintained/diod/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: An2Q ZaVok <an2qzavok@gemail.com>
+# Maintainer:
+pkgname=diod
+pkgver=1.0.24
+pkgrel=2
+pkgdesc="Distributed I/O Daemon - a 9P file server"
+url="http://github.com/chaos/diod"
+arch="all"
+license="GPLv2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev attr-dev lua5.1-dev ncurses-dev perl"
+install=""
+subpackages="$pkgname-doc"
+source="https://github.com/chaos/diod/releases/download/$pkgver/diod-$pkgver.tar.gz
+ diod.initd"
+
+_builddir="$srcdir"/diod-$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/diod \
+ --sbindir=/usr/bin \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ ln -s diodmount "$pkgdir"/usr/bin/mount.diod
+ #replacing systemd.service with openrc script
+ rm -rf "$pkgdir/etc/dios/systemd"
+ install -Dm755 "$srcdir"/diod.initd "$pkgdir"/etc/init.d/diod \
+ || return 1
+
+}
+
+md5sums="00566e5d43452b977ddc607181ab2288 diod-1.0.24.tar.gz
+18f81219f1a64ac596ff94e595689d43 diod.initd"
+sha256sums="f41d2b91c1a712132f5457d9d1c3caca985f069bdc8ef27bf4c148ac1d9f8c9f diod-1.0.24.tar.gz
+48d8db2ffc992a2bc8f4d5446e804004932a0050cfd9d6e7b85824474e43b9b6 diod.initd"
+sha512sums="844adc84a2dd705dd94b1103de2a466ae94314d884d8889b6d850a08074d21ac7f5cd40e17ea63ae63cd171adfba3e1601f992d5789709699d74cc8dc8c2c663 diod-1.0.24.tar.gz
+963721cb06a5761101387b869f7513ffcfd2cd0e1b1bb57fb3c987d18827bc4bac6e66556b9ae6c67d3581c04565052aed410513fb2294d1e1fa235bbd7aaf9c diod.initd"
diff --git a/unmaintained/diod/diod.initd b/unmaintained/diod/diod.initd
new file mode 100755
index 0000000000..44de6b72df
--- /dev/null
+++ b/unmaintained/diod/diod.initd
@@ -0,0 +1,7 @@
+#!/sbin/runscript
+
+start() {
+ ebegin
+ start-stop-daemon --start -p /var/run/diod.pid -mbx /usr/bin/diod -- -f
+ eend $?
+}
diff --git a/unmaintained/djvulibre/APKBUILD b/unmaintained/djvulibre/APKBUILD
new file mode 100644
index 0000000000..d922a91d5c
--- /dev/null
+++ b/unmaintained/djvulibre/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Andrew Hills <ahills@ednos.net>
+# Maintainer: Andrew Hills <ahills@ednos.net>
+pkgname=djvulibre
+pkgver=3.5.27
+pkgrel=0
+pkgdesc="An open source implementation of DjVu"
+url="http://djvu.sourceforge.net"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://downloads.sourceforge.net/djvu/djvulibre-$pkgver.tar.gz"
+
+_builddir="$srcdir"/djvulibre-$pkgver
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="aa4ed331f669f5a72e3c0d7f9196c4e6 djvulibre-3.5.27.tar.gz"
+sha256sums="e69668252565603875fb88500cde02bf93d12d48a3884e472696c896e81f505f djvulibre-3.5.27.tar.gz"
+sha512sums="62abcaa2fe7edab536477929ba38b882453dab1a06e119a3f838b38d5c61f5d8c252e4769e6534582b826e49bcfb490513179580fab9c3afa84aa92053ccebee djvulibre-3.5.27.tar.gz"
diff --git a/unmaintained/dmz-cursor-theme/APKBUILD b/unmaintained/dmz-cursor-theme/APKBUILD
new file mode 100644
index 0000000000..1b92ea8ae7
--- /dev/null
+++ b/unmaintained/dmz-cursor-theme/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: August Klein <amatcoder@gmail.com>
+# Maintainer: August Klein <amatcoder@gmail.com>
+pkgname=dmz-cursor-theme
+pkgver=0.4.4
+pkgrel=0
+pkgdesc="DMZ cursor theme"
+url="http://jimmac.musichall.cz"
+arch="noarch"
+license="CC-BY-SA"
+depends=""
+depends_dev=""
+makedepends="xcursorgen"
+install=""
+subpackages="dmz-aa-cursor-theme:aa"
+source="http://ftp.de.debian.org/debian/pool/main/d/$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
+}
+
+build() {
+ cd "$_builddir"/DMZ-White/pngs
+ ./make.sh || return 1
+ cd "$_builddir"/DMZ-Black/pngs
+ ./make.sh || return 1
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/usr/share/icons/Vanilla-DMZ/cursors || return 1
+ cp -a DMZ-White/xcursors/* "$pkgdir"/usr/share/icons/Vanilla-DMZ/cursors || return 1
+ install -Dm644 DMZ-White/index.theme "$pkgdir"/usr/share/icons/Vanilla-DMZ/index.theme
+}
+
+aa() {
+ cd "$_builddir"
+ mkdir -p "$subpkgdir"/usr/share/icons/Vanilla-DMZ-AA/cursors || return 1
+ cp -a DMZ-Black/xcursors/* "$subpkgdir"/usr/share/icons/Vanilla-DMZ-AA/cursors || return 1
+ install -Dm644 DMZ-Black/index.theme "$subpkgdir"/usr/share/icons/Vanilla-DMZ-AA/index.theme
+}
+
+md5sums="06fbab13df89c5770ce61b0e3e31e5f6 dmz-cursor-theme_0.4.4.tar.gz"
+sha256sums="46af4cf1356df799f9ee94451f05d0bdbb8d82e54bdeae3f32fa107602359981 dmz-cursor-theme_0.4.4.tar.gz"
+sha512sums="e0f455e3b66c0acb87eb9f017e7d7e6e16782a58c8c3a3518c879d1251372beaf92bdf87775ee72ff6eb477385f4f58e6d00479967d634337c5fae766179a5d3 dmz-cursor-theme_0.4.4.tar.gz"
diff --git a/unmaintained/dnsenum/APKBUILD b/unmaintained/dnsenum/APKBUILD
new file mode 100644
index 0000000000..1f4699bef9
--- /dev/null
+++ b/unmaintained/dnsenum/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=dnsenum
+pkgver=1.2.4.2
+pkgrel=0
+pkgdesc="A tool to enumerate DNS info about domains"
+url="https://github.com/fwaeytens/dnsenum"
+arch="noarch"
+license="GPL2+"
+depends="perl-net-ip perl-net-dns perl-net-netmask perl-xml-writer"
+depends_dev=""
+makedepends=""
+install=""
+subpackages=""
+source="$pkgname-$pkgver.tar.gz::https://github.com/fwaeytens/dnsenum/archive/$pkgver.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+build() {
+ return 0
+}
+
+package() {
+ cd "$_builddir"
+ install -Dm755 $pkgname.pl "$pkgdir"/usr/bin/$pkgname || return 1
+}
+
+md5sums="03d5961337ef5f4a47aca6d35f345caa dnsenum-1.2.4.2.tar.gz"
+sha256sums="e8a18035a6e00b81430edb4a969ef5043ef39984f3a6b0629b83c8fecf9bf007 dnsenum-1.2.4.2.tar.gz"
+sha512sums="c4ff6c6b6d6be0f60a3c784c259a51d51b6e0b72d1528efb8ed5ad038fd859d5884d13adb272b066f7b381a49b68ec6b507a9a94c2ca5061829051ff3adbc93b dnsenum-1.2.4.2.tar.gz"
diff --git a/unmaintained/dosbox/APKBUILD b/unmaintained/dosbox/APKBUILD
new file mode 100644
index 0000000000..dd986a51d2
--- /dev/null
+++ b/unmaintained/dosbox/APKBUILD
@@ -0,0 +1,82 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=dosbox
+pkgver=0.74
+pkgrel=1
+pkgdesc="x86/DOS emulator with sound and graphics"
+url="http://dosbox.com"
+arch="all"
+license="GPLv2+"
+depends="hicolor-icon-theme"
+depends_dev="libpng-dev sdl-dev alsa-lib-dev glu-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/project/dosbox/dosbox/$pkgver/dosbox-$pkgver.tar.gz
+ dosbox-0.74-formatsecurity.patch
+ dosbox-0.74-gcc46.patch
+ dosbox-0.74-init-crash.patch
+ pic-fix.patch
+ dosbox.desktop
+ dosbox.png
+ "
+
+_builddir="$srcdir"/dosbox-$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
+ update_config_sub
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --disable-dynamic-core \
+ --disable-dynamic-x86 \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ mkdir -p "$pkgdir"/usr/share/pixmaps \
+ "$pkgdir"/usr/share/applications || return 1
+ install -m644 "$srcdir"/dosbox.png "$pkgdir"/usr/share/pixmaps/\
+ || return 1
+ install -m644 "$srcdir"/dosbox.desktop \
+ "$pkgdir"/usr/share/applications/ || return 1
+}
+
+md5sums="b9b240fa87104421962d14eee71351e8 dosbox-0.74.tar.gz
+9bb0b70a44151a33b50a6e07ed0a5658 dosbox-0.74-formatsecurity.patch
+d4534babc251a9ff12bf6ce27301de91 dosbox-0.74-gcc46.patch
+a90321ab0e29f65664317f61ff0abcb3 dosbox-0.74-init-crash.patch
+e87a9e420dd76f8832bb3fcd7ee7f9b7 pic-fix.patch
+f197a5de143e94f22c06c8ac3d6ea4d9 dosbox.desktop
+eca02a0e08f639122453a38cc5549eef dosbox.png"
+sha256sums="13f74916e2d4002bad1978e55727f302ff6df3d9be2f9b0e271501bd0a938e05 dosbox-0.74.tar.gz
+3bc0f22e3c47449e655aedcf316c50d634d8661874d3f236b2d9f1f74b67cc0a dosbox-0.74-formatsecurity.patch
+aea0e78a2e2d9963eb902aff9647cc35cb864e970f06d3ca0745e2b89a4e5ad6 dosbox-0.74-gcc46.patch
+99d892707cf1c9d119f0c510eca562c2b4b3fa4c8ad8cb11de37594352ca0f8e dosbox-0.74-init-crash.patch
+c8e072a7a0feccf50f3353ca728ac2be1f8da67641355053d88bf25004dc40c3 pic-fix.patch
+d1f5ef81ecb57987425bb250fb7e42f8fac6437e124d3986ab8037068c077c52 dosbox.desktop
+3c4361396fa6a61e2ade5c94b53f0a349193c66c133fdc04cd7cffd2faf86cd0 dosbox.png"
+sha512sums="4a6ff4c658997a495119d200ec6ad37649da940814a4b14fca0dd29a99142026e324695b7aa9d2946efc2abf9067a819d911e43778efe905ed10ddf9b9f2dd3d dosbox-0.74.tar.gz
+8ba824d754b7a804efa9c832608672d257d4978dc84f0035f32d48d312666107c3271158e2764d058d84b70caab0c0b5dff1fa93a72390d11b6dc7f655c50c31 dosbox-0.74-formatsecurity.patch
+115805d684ec5b5eb747fd46e4787d67fae0e6cf6622b52114031e82abb0db08b7bf98b2d2526a8336c41541d7202d429d7689e894a0abcd26599cd4be5768bf dosbox-0.74-gcc46.patch
+b7ee5c48e05a8de5b25eb35421167cf381fd21f1ff8cebf9da5671938d1a6dce05a78e05cd8db3178b233253ad9d8277c66ac38a302fc6cf9eaac4965e208822 dosbox-0.74-init-crash.patch
+f3711f0fc9039af6bc902eb9f70c433199cca655024897d248a7953df0b0eac1cd82301f5c55199e28573a49bd6182036c96d543935401e40d373c104a8576c5 pic-fix.patch
+882bf0c964c0041460780eb40548a2c5301eca4ff1fbdfd418a35ca98479dd2dce32c3fdfc31fe390ca3c3a5c4a523fa7ef025a13c6ed3457c7042fbb739d16c dosbox.desktop
+249db09d98b293e26189635018248780dd0eaefcb09c5bd9dc1b266547d54930bce413a7a50898872a5e70de2efc5ac665527ebe2450a505df724028d1261000 dosbox.png"
diff --git a/unmaintained/dosbox/dosbox-0.74-formatsecurity.patch b/unmaintained/dosbox/dosbox-0.74-formatsecurity.patch
new file mode 100644
index 0000000000..6b518b702f
--- /dev/null
+++ b/unmaintained/dosbox/dosbox-0.74-formatsecurity.patch
@@ -0,0 +1,12 @@
+diff -up dosbox-0.74/src/gui/sdlmain.cpp.orig dosbox-0.74/src/gui/sdlmain.cpp
+--- dosbox-0.74/src/gui/sdlmain.cpp.orig 2013-12-18 15:06:41.227839719 +0100
++++ dosbox-0.74/src/gui/sdlmain.cpp 2013-12-18 15:07:14.434769053 +0100
+@@ -1529,7 +1529,7 @@ static void show_warning(char const * co
+ if ( !sdl.inited && SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE) < 0 ) textonly = true;
+ sdl.inited = true;
+ #endif
+- printf(message);
++ printf("%s", message);
+ if(textonly) return;
+ if(!sdl.surface) sdl.surface = SDL_SetVideoMode(640,400,0,0);
+ if(!sdl.surface) return;
diff --git a/unmaintained/dosbox/dosbox-0.74-gcc46.patch b/unmaintained/dosbox/dosbox-0.74-gcc46.patch
new file mode 100644
index 0000000000..8b19983a69
--- /dev/null
+++ b/unmaintained/dosbox/dosbox-0.74-gcc46.patch
@@ -0,0 +1,10 @@
+--- a/include/dos_inc.h 2010-05-10 19:43:54.000000000 +0200
++++ b/include/dos_inc.h 2011-03-16 09:46:24.430008904 +0100
+@@ -27,6 +27,7 @@
+ #ifndef DOSBOX_MEM_H
+ #include "mem.h"
+ #endif
++#include <stddef.h>
+
+ #ifdef _MSC_VER
+ #pragma pack (1)
diff --git a/unmaintained/dosbox/dosbox-0.74-init-crash.patch b/unmaintained/dosbox/dosbox-0.74-init-crash.patch
new file mode 100644
index 0000000000..97a0966d6a
--- /dev/null
+++ b/unmaintained/dosbox/dosbox-0.74-init-crash.patch
@@ -0,0 +1,16 @@
+diff -up dosbox-0.74/src/gui/sdl_mapper.cpp~ dosbox-0.74/src/gui/sdl_mapper.cpp
+--- dosbox-0.74/src/gui/sdl_mapper.cpp~ 2010-05-10 20:58:06.000000000 +0200
++++ dosbox-0.74/src/gui/sdl_mapper.cpp 2013-05-10 20:53:02.133112189 +0200
+@@ -2384,9 +2384,11 @@ void MAPPER_StartUp(Section * sec) {
+ mapper.sticks.num=0;
+ mapper.sticks.num_groups=0;
+ Bitu i;
+- for (i=0; i<16; i++) {
++ for (i=0; i<MAX_VJOY_BUTTONS; i++) {
+ virtual_joysticks[0].button_pressed[i]=false;
+ virtual_joysticks[1].button_pressed[i]=false;
++ }
++ for (i=0; i<16; i++) {
+ virtual_joysticks[0].hat_pressed[i]=false;
+ virtual_joysticks[1].hat_pressed[i]=false;
+ }
diff --git a/unmaintained/dosbox/dosbox.desktop b/unmaintained/dosbox/dosbox.desktop
new file mode 100644
index 0000000000..8455c5cfa2
--- /dev/null
+++ b/unmaintained/dosbox/dosbox.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=DOSBox
+Comment=An x86/DOS emulator with sound/graphics
+Exec=dosbox
+Icon=dosbox.png
+Terminal=false
+Type=Application
+Categories=System;Emulator;
diff --git a/unmaintained/dosbox/dosbox.png b/unmaintained/dosbox/dosbox.png
new file mode 100644
index 0000000000..5945b2c902
--- /dev/null
+++ b/unmaintained/dosbox/dosbox.png
Binary files differ
diff --git a/unmaintained/dosbox/pic-fix.patch b/unmaintained/dosbox/pic-fix.patch
new file mode 100644
index 0000000000..74d26ff441
--- /dev/null
+++ b/unmaintained/dosbox/pic-fix.patch
@@ -0,0 +1,35 @@
+diff --exclude '*.*o' -ru dosbox-0.74.orig/include/dos_inc.h dosbox-0.74/include/dos_inc.h
+--- dosbox-0.74.orig/include/dos_inc.h 2010-05-10 20:43:54.000000000 -0300
++++ dosbox-0.74/include/dos_inc.h 2014-07-17 11:00:44.418771087 -0300
+@@ -21,6 +21,7 @@
+ #ifndef DOSBOX_DOS_INC_H
+ #define DOSBOX_DOS_INC_H
+
++#include <stddef.h>
+ #ifndef DOSBOX_DOS_SYSTEM_H
+ #include "dos_system.h"
+ #endif
+diff --exclude '*.*o' -ru dosbox-0.74.orig/src/cpu/core_dyn_x86/risc_x86.h dosbox-0.74/src/cpu/core_dyn_x86/risc_x86.h
+--- dosbox-0.74.orig/src/cpu/core_dyn_x86/risc_x86.h 2010-05-10 20:43:54.000000000 -0300
++++ dosbox-0.74/src/cpu/core_dyn_x86/risc_x86.h 2014-07-17 11:00:12.432277706 -0300
+@@ -112,7 +112,7 @@
+ pop ebx
+ mov [retval],eax
+ }
+-#elif defined (MACOSX)
++#elif defined (MACOSX) || defined (__PIC__)
+ register Bit32u tempflags=reg_flags & FMASK_TEST;
+ __asm__ volatile (
+ "pushl %%ebx \n"
+diff --exclude '*.*o' -ru dosbox-0.74.orig/src/cpu/cpu.cpp dosbox-0.74/src/cpu/cpu.cpp
+--- dosbox-0.74.orig/src/cpu/cpu.cpp 2010-05-12 12:57:31.000000000 -0300
++++ dosbox-0.74/src/cpu/cpu.cpp 2014-07-17 10:57:04.226630637 -0300
+@@ -19,6 +19,7 @@
+ /* $Id: cpu.cpp,v 1.116 2009-03-16 18:10:08 c2woody Exp $ */
+
+ #include <assert.h>
++#include <stddef.h>
+ #include <sstream>
+ #include "dosbox.h"
+ #include "cpu.h"
+
diff --git a/unmaintained/dotconf/APKBUILD b/unmaintained/dotconf/APKBUILD
new file mode 100644
index 0000000000..e61c0863f8
--- /dev/null
+++ b/unmaintained/dotconf/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=dotconf
+pkgver=1.3
+pkgrel=0
+pkgdesc="A C library for parsing configuration files"
+url="https://github.com/williamh/dotconf"
+arch="all"
+license="LGPL2.1"
+depends=""
+depends_dev=""
+makedepends="$depends_dev automake autoconf libtool"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/williamh/dotconf/archive/v1.3.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 -vif
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="b3ba921e45b05e89bf69835c0f30bc14 dotconf-1.3.tar.gz"
+sha256sums="7f1ecf40de1ad002a065a321582ed34f8c14242309c3547ad59710ae3c805653 dotconf-1.3.tar.gz"
+sha512sums="ccd806685879e2438efaa06949cd685af8bd318d38111babf8c289134b90d01bc2857277f2aa01549a1ffe8a2f2d5bbb0685f46de0d7b987412350af8a28d6d5 dotconf-1.3.tar.gz"
diff --git a/unmaintained/double-conversion/APKBUILD b/unmaintained/double-conversion/APKBUILD
new file mode 100644
index 0000000000..2a39f240f7
--- /dev/null
+++ b/unmaintained/double-conversion/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: David Huffman <storedbox@outlook.com>
+# Maintainer: David Huffman <storedbox@outlook.com>
+pkgname=double-conversion
+pkgver=2.0.1
+pkgrel=0
+pkgdesc="Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles"
+url="https://github.com/google/double-conversion"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="$depends_dev scons"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://github.com/google/double-conversion/archive/v$pkgver/$pkgname-$pkgver.tar.gz
+ dont_build_tests.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
+}
+
+_cxxflags="$CXXFLAGS $LDFLAGS -Wall -Werror -DNDEBUG"
+build() {
+ cd "$_builddir"
+ scons -j "$JOBS" DESTDIR="$pkgdir" prefix=/usr CXXFLAGS="$_cxxflags" || return 1
+}
+
+package() {
+ local docdir="$pkgdir/usr/share/doc/$pkgname"
+ local incdir="$pkgdir/usr/include/$pkgname"
+ mkdir -p "$docdir" "$incdir" || return 1
+
+ cd "$_builddir"
+ scons -j "$JOBS" DESTDIR="$pkgdir" prefix=/usr CXXFLAGS="$_cxxflags" install || return 1
+ find src -name '*.h' -exec cp {} "$incdir" \; || return 1
+ cp AUTHORS COPYING LICENSE README "$docdir" || return 1
+}
+
+md5sums="60c564ad17a19924bfec831ebd09edea double-conversion-2.0.1.tar.gz
+3e6e09b28b091d4fac9593b14721ae88 dont_build_tests.patch"
+sha256sums="ca9ec6974eaaa29827b916c90666fba3b0b6641030fe2ab34a81e280187acdef double-conversion-2.0.1.tar.gz
+fc27718ca0179f8c1da181a6bff99aeea3faf0fcedb28af9fb554f87bcd9b49c dont_build_tests.patch"
+sha512sums="a4773dc95e9267d8426dda976586aa1ba968ead28b118caae9b1b7c123d1eea4aba5b588fde9a109a99a068a79a3a2426f12d6caadea8c548d4250e56eff33a4 double-conversion-2.0.1.tar.gz
+fe0c3a2fb3d143e2278b46fee1c88cf1508eb0ba99081f702f3282fe2f674a479d8c2911d8f56778a3e73ac3735a223ee39d76d1e9d104f375f55016245149c4 dont_build_tests.patch"
diff --git a/unmaintained/double-conversion/dont_build_tests.patch b/unmaintained/double-conversion/dont_build_tests.patch
new file mode 100644
index 0000000000..c32d9acf4f
--- /dev/null
+++ b/unmaintained/double-conversion/dont_build_tests.patch
@@ -0,0 +1,11 @@
+--- /SConstruct 2016-01-09 04:30:12.325136237 -0500
++++ /SConstruct 2016-01-09 04:36:53.218037606 -0500
+@@ -37,7 +37,7 @@ static_lib = env.StaticLibrary(library_n
+ static_lib_pic = env.StaticLibrary(library_name + '_pic', double_conversion_shared_objects)
+ shared_lib = env.SharedLibrary(library_name, double_conversion_shared_objects)
+
+-env.Program('run_tests', double_conversion_test_sources, LIBS=[static_lib])
++#env.Program('run_tests', double_conversion_test_sources, LIBS=[static_lib])
+
+ env.InstallVersionedLib(libdir, shared_lib)
+ env.Install(libdir, static_lib)
diff --git a/unmaintained/dsf2flac/APKBUILD b/unmaintained/dsf2flac/APKBUILD
new file mode 100644
index 0000000000..6baecfb39c
--- /dev/null
+++ b/unmaintained/dsf2flac/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=dsf2flac
+pkgver=0_svn20141014
+pkgrel=2
+pkgdesc="Command line tool to convert dsf audio files to flac"
+url="https://code.google.com/p/dsf2flac/"
+arch="x86_64"
+license="GPL3"
+depends=""
+depends_dev="boost-dev id3lib-dev flac-dev libogg-dev"
+makedepends="$depends_dev cmake"
+install=""
+subpackages=""
+source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar.gz
+ no-static.patch"
+svnurl="http://dsf2flac.googlecode.com/svn/trunk"
+disturl="dev.alpinelinux.org:/archive/$pkgname/"
+
+
+_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"
+ cmake . || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -Dm755 dsf2flac \
+ "$pkgdir/usr/bin/dsf2flac" || return 1
+}
+
+md5sums="7fad18c6e2609dc9f504dbe6b8cb3794 dsf2flac-0_svn20141014.tar.gz
+bf87f878b715819714e3c09ef1a0a65e no-static.patch"
+sha256sums="9b09c7c31ad333a589d2781eab6d2d1f6b2225509fecc53ca3ccce2e32bd3e18 dsf2flac-0_svn20141014.tar.gz
+ddccabe02603cfab7297dc13ce16070255e0bf9ea4b16c885204e0f82fa1f1f6 no-static.patch"
+sha512sums="1e2db947b1b3958333f5c9476dfd162d48897d933e9bc37418e3fc4028423131af813be9536cba0fcfdacd9a7fa3c6563ef1638508746d96fb0629d0e75f4450 dsf2flac-0_svn20141014.tar.gz
+2b027a6c42c12babb4861d40e94dc573137dbbc48209e1ade29813107ba7c2915ea2685a365201a07d94ac3ae686ac613614feeda18655f6259b2e114a22cda4 no-static.patch"
diff --git a/unmaintained/dsf2flac/no-static.patch b/unmaintained/dsf2flac/no-static.patch
new file mode 100644
index 0000000000..c099143222
--- /dev/null
+++ b/unmaintained/dsf2flac/no-static.patch
@@ -0,0 +1,10 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -2,7 +2,6 @@
+ project(dsf2flac)
+
+ set(CMAKE_CXX_FLAGS "-O3 -Wall")
+-set(CMAKE_EXE_LINKER_FLAGS "-static")
+ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmakemodules)
+
+ set( DSF2FLAC_SOURCE_FILES
diff --git a/unmaintained/dsniff/0001-arpspoof-add-r-switch-to-poison-both-directions.patch b/unmaintained/dsniff/0001-arpspoof-add-r-switch-to-poison-both-directions.patch
new file mode 100644
index 0000000000..4576531ad4
--- /dev/null
+++ b/unmaintained/dsniff/0001-arpspoof-add-r-switch-to-poison-both-directions.patch
@@ -0,0 +1,174 @@
+>From 8fbf0ac15e5fe2df427e3e028f9aa8d96788986a Mon Sep 17 00:00:00 2001
+From: Stefan Tomanek <stefan@pico.ruhr.de>
+Date: Sun, 6 Nov 2011 22:44:54 +0100
+Subject: [PATCH 1/3] arpspoof: add -r switch to poison both directions
+
+
+Signed-off-by: Stefan Tomanek <stefan@pico.ruhr.de>
+---
+ arpspoof.8 | 5 ++++-
+ arpspoof.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++------------
+ 2 files changed, 51 insertions(+), 13 deletions(-)
+
+diff --git a/arpspoof.8 b/arpspoof.8
+index a05b5d3..544e06c 100644
+--- a/arpspoof.8
++++ b/arpspoof.8
+@@ -9,7 +9,7 @@ intercept packets on a switched LAN
+ .na
+ .nf
+ .fi
+-\fBarpspoof\fR [\fB-i \fIinterface\fR] [\fB-t \fItarget\fR] \fIhost\fR
++\fBarpspoof\fR [\fB\-i \fIinterface\fR] [\fB\-t \fItarget\fR] [\fB\-r\fR] \fIhost\fR
+ .SH DESCRIPTION
+ .ad
+ .fi
+@@ -26,6 +26,9 @@ Specify the interface to use.
+ .IP "\fB-t \fItarget\fR"
+ Specify a particular host to ARP poison (if not specified, all hosts
+ on the LAN).
++.IP "\fB\-r\fR"
++Poison both hosts (host and target) to capture traffic in both directions.
++(only valid in conjuntion with \-t)
+ .IP \fIhost\fR
+ Specify the host you wish to intercept packets for (usually the local
+ gateway).
+diff --git a/arpspoof.c b/arpspoof.c
+index 7cdbbf8..f51b699 100644
+--- a/arpspoof.c
++++ b/arpspoof.c
+@@ -7,6 +7,8 @@
+ * Copyright (c) 1999 Dug Song <dugsong@monkey.org>
+ *
+ * $Id: arpspoof.c,v 1.5 2001/03/15 08:32:58 dugsong Exp $
++ *
++ * Improved 2011 by Stefan Tomanek <stefa@pico.ruhr.de>
+ */
+
+ #include "config.h"
+@@ -31,12 +33,13 @@ static libnet_t *l;
+ static struct ether_addr spoof_mac, target_mac;
+ static in_addr_t spoof_ip, target_ip;
+ static char *intf;
++static int poison_reverse;
+
+ static void
+ usage(void)
+ {
+ fprintf(stderr, "Version: " VERSION "\n"
+- "Usage: arpspoof [-i interface] [-t target] host\n");
++ "Usage: arpspoof [-i interface] [-t target] [-r] host\n");
+ exit(1);
+ }
+
+@@ -133,18 +136,30 @@ arp_find(in_addr_t ip, struct ether_addr *mac)
+ static void
+ cleanup(int sig)
+ {
++ int fw = arp_find(spoof_ip, &spoof_mac);
++ int bw = poison_reverse && target_ip && arp_find(target_ip, &target_mac);
+ int i;
+-
+- if (arp_find(spoof_ip, &spoof_mac)) {
+- for (i = 0; i < 3; i++) {
+- /* XXX - on BSD, requires ETHERSPOOF kernel. */
++
++ fprintf(stderr, "Cleaning up and re-arping targets...\n");
++ for (i = 0; i < 5; i++) {
++ /* XXX - on BSD, requires ETHERSPOOF kernel. */
++ if (fw) {
+ arp_send(l, ARPOP_REPLY,
+ (u_int8_t *)&spoof_mac, spoof_ip,
+ (target_ip ? (u_int8_t *)&target_mac : NULL),
+ target_ip);
++ /* we have to wait a moment before sending the next packet */
++ sleep(1);
++ }
++ if (bw) {
++ arp_send(l, ARPOP_REPLY,
++ (u_int8_t *)&target_mac, target_ip,
++ (u_int8_t *)&spoof_mac,
++ spoof_ip);
+ sleep(1);
+ }
+ }
++
+ exit(0);
+ }
+
+@@ -156,11 +171,12 @@ main(int argc, char *argv[])
+ char pcap_ebuf[PCAP_ERRBUF_SIZE];
+ char libnet_ebuf[LIBNET_ERRBUF_SIZE];
+ int c;
+-
++
+ intf = NULL;
+ spoof_ip = target_ip = 0;
+-
+- while ((c = getopt(argc, argv, "i:t:h?V")) != -1) {
++ poison_reverse = 0;
++
++ while ((c = getopt(argc, argv, "ri:t:h?V")) != -1) {
+ switch (c) {
+ case 'i':
+ intf = optarg;
+@@ -169,6 +185,9 @@ main(int argc, char *argv[])
+ if ((target_ip = libnet_name2addr4(l, optarg, LIBNET_RESOLVE)) == -1)
+ usage();
+ break;
++ case 'r':
++ poison_reverse = 1;
++ break;
+ default:
+ usage();
+ }
+@@ -178,7 +197,12 @@ main(int argc, char *argv[])
+
+ if (argc != 1)
+ usage();
+-
++
++ if (poison_reverse && !target_ip) {
++ errx(1, "Spoofing the reverse path (-r) is only available when specifying a target (-t).");
++ usage();
++ }
++
+ if ((spoof_ip = libnet_name2addr4(l, argv[0], LIBNET_RESOLVE)) == -1)
+ usage();
+
+@@ -191,18 +215,29 @@ main(int argc, char *argv[])
+ if (target_ip != 0 && !arp_find(target_ip, &target_mac))
+ errx(1, "couldn't arp for host %s",
+ libnet_addr2name4(target_ip, LIBNET_DONT_RESOLVE));
+-
++
++ if (poison_reverse) {
++ if (!arp_find(spoof_ip, &spoof_mac)) {
++ errx(1, "couldn't arp for spoof host %s",
++ libnet_addr2name4(spoof_ip, LIBNET_DONT_RESOLVE));
++ }
++ }
++
+ signal(SIGHUP, cleanup);
+ signal(SIGINT, cleanup);
+ signal(SIGTERM, cleanup);
+-
++
+ for (;;) {
+ arp_send(l, ARPOP_REPLY, NULL, spoof_ip,
+ (target_ip ? (u_int8_t *)&target_mac : NULL),
+ target_ip);
++ if (poison_reverse) {
++ arp_send(l, ARPOP_REPLY, NULL, target_ip, (uint8_t *)&spoof_mac, spoof_ip);
++ }
++
+ sleep(2);
+ }
+ /* NOTREACHED */
+-
++
+ exit(0);
+ }
+--
+1.7.5.4
+
diff --git a/unmaintained/dsniff/0001-rewrite-and-modernize-POP-decoder.patch b/unmaintained/dsniff/0001-rewrite-and-modernize-POP-decoder.patch
new file mode 100644
index 0000000000..71d6707448
--- /dev/null
+++ b/unmaintained/dsniff/0001-rewrite-and-modernize-POP-decoder.patch
@@ -0,0 +1,135 @@
+>From b05e27ba9b0ba9ef00ad2183933652e08d8c89af Mon Sep 17 00:00:00 2001
+From: Stefan Tomanek <stefan@pico.ruhr.de>
+Date: Sat, 29 Oct 2011 20:48:55 +0200
+Subject: [PATCH] rewrite and modernize POP decoder
+
+
+Signed-off-by: Stefan Tomanek <stefan@pico.ruhr.de>
+---
+ decode_pop.c | 96 ++++++++++++++++++++++++++++++++++++++++++++++-----------
+ 1 files changed, 77 insertions(+), 19 deletions(-)
+
+diff --git a/decode_pop.c b/decode_pop.c
+index 04044f5..767da41 100644
+--- a/decode_pop.c
++++ b/decode_pop.c
+@@ -6,6 +6,8 @@
+ * Copyright (c) 2000 Dug Song <dugsong@monkey.org>
+ *
+ * $Id: decode_pop.c,v 1.4 2001/03/15 08:33:02 dugsong Exp $
++ *
++ * Rewritten by Stefan Tomanek 2011 <stefan@pico.ruhr.de>
+ */
+
+ #include "config.h"
+@@ -45,32 +47,88 @@ int
+ decode_pop(u_char *buf, int len, u_char *obuf, int olen)
+ {
+ char *p;
++ char *s;
++ int n;
+ int i, j;
++ char *user;
++ char *password;
++ enum {
++ NONE,
++ AUTHPLAIN,
++ AUTHLOGIN,
++ USERPASS
++ } mode = NONE;
++
+
+ obuf[0] = '\0';
+
+ for (p = strtok(buf, "\r\n"); p != NULL; p = strtok(NULL, "\r\n")) {
+- if (strncasecmp(p, "AUTH PLAIN", 10) == 0 ||
+- strncasecmp(p, "AUTH LOGIN", 10) == 0) {
+- strlcat(obuf, p, olen);
+- strlcat(obuf, "\n", olen);
+-
+- /* Decode SASL auth. */
+- for (i = 0; i < 2 && (p = strtok(NULL, "\r\n")); i++) {
+- strlcat(obuf, p, olen);
+- j = base64_pton(p, p, strlen(p));
+- p[j] = '\0';
+- strlcat(obuf, " [", olen);
+- strlcat(obuf, p, olen);
+- strlcat(obuf, "]\n", olen);
++ if (mode == NONE) {
++ user = NULL;
++ password = NULL;
++ if (strncasecmp(p, "AUTH PLAIN", 10) == 0) {
++ mode = AUTHPLAIN;
++ continue;
++ }
++ if (strncasecmp(p, "AUTH LOGIN", 10) == 0) {
++ mode = AUTHLOGIN;
++ continue;
++ }
++ if (strncasecmp(p, "USER ", 5) == 0) {
++ mode = USERPASS;
++ /* the traditional login cuts right to the case,
++ * so no continue here
++ */
+ }
+ }
+- /* Save regular POP2, POP3 auth info. */
+- else if (strncasecmp(p, "USER ", 5) == 0 ||
+- strncasecmp(p, "PASS ", 5) == 0 ||
+- strncasecmp(p, "HELO ", 5) == 0) {
+- strlcat(obuf, p, olen);
+- strlcat(obuf, "\n", olen);
++ printf("(%d) %s\n", mode, p);
++ if (mode == USERPASS) {
++ if (strncasecmp(p, "USER ", 5) == 0) {
++ user = &p[5];
++ } else if (strncasecmp(p, "PASS ", 5) == 0) {
++ password = &p[5];
++ }
++ }
++
++ if (mode == AUTHPLAIN) {
++ j = base64_pton(p, p, strlen(p));
++ p[j] = '\0';
++ n = 0;
++ s = p;
++ /* p consists of three parts, divided by \0 */
++ while (s <= &p[j] && n<=3) {
++ if (n == 0) {
++ /* we do not process this portion yet */
++ } else if (n == 1) {
++ user = s;
++ } else if (n == 2) {
++ password = s;
++ }
++ n++;
++ while (*s) s++;
++ s++;
++ }
++ }
++
++ if (mode == AUTHLOGIN) {
++ j = base64_pton(p, p, strlen(p));
++ p[j] = '\0';
++ if (! user) {
++ user = p;
++ } else {
++ password = p;
++ /* got everything we need :-) */
++ }
++ }
++
++ if (user && password) {
++ strlcat(obuf, "\nusername [", olen);
++ strlcat(obuf, user, olen);
++ strlcat(obuf, "] password [", olen);
++ strlcat(obuf, password, olen);
++ strlcat(obuf, "]\n", olen);
++
++ mode = NONE;
+ }
+ }
+ return (strlen(obuf));
+--
+1.7.5.4
+
diff --git a/unmaintained/dsniff/0002-arpspoof-allow-use-of-of-multiple-targets.patch b/unmaintained/dsniff/0002-arpspoof-allow-use-of-of-multiple-targets.patch
new file mode 100644
index 0000000000..0da635daf0
--- /dev/null
+++ b/unmaintained/dsniff/0002-arpspoof-allow-use-of-of-multiple-targets.patch
@@ -0,0 +1,194 @@
+>From 25c761ebb1a8001d05da8b3dba36e96ac07ad586 Mon Sep 17 00:00:00 2001
+From: Stefan Tomanek <stefan@pico.ruhr.de>
+Date: Mon, 7 Nov 2011 17:40:50 +0100
+Subject: [PATCH 2/3] arpspoof: allow use of of multiple targets
+
+
+Signed-off-by: Stefan Tomanek <stefan@pico.ruhr.de>
+---
+ arpspoof.8 | 2 +-
+ arpspoof.c | 102 ++++++++++++++++++++++++++++++++++++++++--------------------
+ 2 files changed, 69 insertions(+), 35 deletions(-)
+
+--- a/arpspoof.8 2012-03-14 13:24:27.000000000 -0600
++++ b/arpspoof.8 2012-03-14 13:25:55.782078436 -0600
+@@ -25,7 +25,7 @@
+ Specify the interface to use.
+ .IP "\fB-t \fItarget\fR"
+ Specify a particular host to ARP poison (if not specified, all hosts
+-on the LAN).
++on the LAN). Repeat to specify multiple hosts.
+ .IP "\fB\-r\fR"
+ Poison both hosts (host and target) to capture traffic in both directions.
+ (only valid in conjuntion with \-t)
+--- a/arpspoof.c 2012-03-14 13:24:27.626081655 -0600
++++ b/arpspoof.c 2012-03-14 13:24:27.646081654 -0600
+@@ -29,9 +29,14 @@
+
+ extern char *ether_ntoa(struct ether_addr *);
+
++struct host {
++ in_addr_t ip;
++ struct ether_addr mac;
++};
++
+ static libnet_t *l;
+-static struct ether_addr spoof_mac, target_mac;
+-static in_addr_t spoof_ip, target_ip;
++static struct host spoof = {0};
++static struct host *targets;
+ static char *intf;
+ static int poison_reverse;
+
+@@ -133,30 +138,46 @@
+ return (0);
+ }
+
++static int arp_find_all() {
++ struct host *target = targets;
++ while(target->ip) {
++ if (arp_find(target->ip, &target->mac)) {
++ return 1;
++ }
++ target++;
++ }
++
++ return 0;
++}
++
+ static void
+ cleanup(int sig)
+ {
+- int fw = arp_find(spoof_ip, &spoof_mac);
+- int bw = poison_reverse && target_ip && arp_find(target_ip, &target_mac);
++ int fw = arp_find(spoof.ip, &spoof.mac);
++ int bw = poison_reverse && targets[0].ip && arp_find_all();
+ int i;
+
+ fprintf(stderr, "Cleaning up and re-arping targets...\n");
+ for (i = 0; i < 5; i++) {
+- /* XXX - on BSD, requires ETHERSPOOF kernel. */
+- if (fw) {
+- arp_send(l, ARPOP_REPLY,
+- (u_int8_t *)&spoof_mac, spoof_ip,
+- (target_ip ? (u_int8_t *)&target_mac : NULL),
+- target_ip);
+- /* we have to wait a moment before sending the next packet */
+- sleep(1);
+- }
+- if (bw) {
+- arp_send(l, ARPOP_REPLY,
+- (u_int8_t *)&target_mac, target_ip,
+- (u_int8_t *)&spoof_mac,
+- spoof_ip);
+- sleep(1);
++ struct host *target = targets;
++ while(target->ip) {
++ /* XXX - on BSD, requires ETHERSPOOF kernel. */
++ if (fw) {
++ arp_send(l, ARPOP_REPLY,
++ (u_int8_t *)&spoof.mac, spoof.ip,
++ (target->ip ? (u_int8_t *)&target->mac : NULL),
++ target->ip);
++ /* we have to wait a moment before sending the next packet */
++ sleep(1);
++ }
++ if (bw) {
++ arp_send(l, ARPOP_REPLY,
++ (u_int8_t *)&target->mac, target->ip,
++ (u_int8_t *)&spoof.mac,
++ spoof.ip);
++ sleep(1);
++ }
++ target++;
+ }
+ }
+
+@@ -171,10 +192,15 @@
+ char pcap_ebuf[PCAP_ERRBUF_SIZE];
+ char libnet_ebuf[LIBNET_ERRBUF_SIZE];
+ int c;
++ int n_targets;
+
++ spoof.ip = 0;
+ intf = NULL;
+- spoof_ip = target_ip = 0;
+ poison_reverse = 0;
++ n_targets = 0;
++
++ /* allocate enough memory for target list */
++ targets = calloc( argc+1, sizeof(struct host) );
+
+ while ((c = getopt(argc, argv, "ri:t:h?V")) != -1) {
+ switch (c) {
+@@ -182,7 +208,7 @@
+ intf = optarg;
+ break;
+ case 't':
+- if ((target_ip = libnet_name2addr4(l, optarg, LIBNET_RESOLVE)) == -1)
++ if ((targets[n_targets++].ip = libnet_name2addr4(l, optarg, LIBNET_RESOLVE)) == -1)
+ usage();
+ break;
+ case 'r':
+@@ -198,12 +224,12 @@
+ if (argc != 1)
+ usage();
+
+- if (poison_reverse && !target_ip) {
++ if (poison_reverse && !n_targets) {
+ errx(1, "Spoofing the reverse path (-r) is only available when specifying a target (-t).");
+ usage();
+ }
+
+- if ((spoof_ip = libnet_name2addr4(l, argv[0], LIBNET_RESOLVE)) == -1)
++ if ((spoof.ip = libnet_name2addr4(l, argv[0], LIBNET_RESOLVE)) == -1)
+ usage();
+
+ if (intf == NULL && (intf = pcap_lookupdev(pcap_ebuf)) == NULL)
+@@ -211,15 +237,19 @@
+
+ if ((l = libnet_init(LIBNET_LINK, intf, libnet_ebuf)) == NULL)
+ errx(1, "%s", libnet_ebuf);
+-
+- if (target_ip != 0 && !arp_find(target_ip, &target_mac))
+- errx(1, "couldn't arp for host %s",
+- libnet_addr2name4(target_ip, LIBNET_DONT_RESOLVE));
++
++ struct host *target = targets;
++ while(target->ip) {
++ if (target->ip != 0 && !arp_find(target->ip, &target->mac))
++ errx(1, "couldn't arp for host %s",
++ libnet_addr2name4(target->ip, LIBNET_DONT_RESOLVE));
++ target++;
++ }
+
+ if (poison_reverse) {
+- if (!arp_find(spoof_ip, &spoof_mac)) {
++ if (!arp_find(spoof.ip, &spoof.mac)) {
+ errx(1, "couldn't arp for spoof host %s",
+- libnet_addr2name4(spoof_ip, LIBNET_DONT_RESOLVE));
++ libnet_addr2name4(spoof.ip, LIBNET_DONT_RESOLVE));
+ }
+ }
+
+@@ -228,11 +258,15 @@
+ signal(SIGTERM, cleanup);
+
+ for (;;) {
+- arp_send(l, ARPOP_REPLY, NULL, spoof_ip,
+- (target_ip ? (u_int8_t *)&target_mac : NULL),
+- target_ip);
+- if (poison_reverse) {
+- arp_send(l, ARPOP_REPLY, NULL, target_ip, (uint8_t *)&spoof_mac, spoof_ip);
++ struct host *target = targets;
++ while(target->ip) {
++ arp_send(l, ARPOP_REPLY, NULL, spoof.ip,
++ (target->ip ? (u_int8_t *)&target->mac : NULL),
++ target->ip);
++ if (poison_reverse) {
++ arp_send(l, ARPOP_REPLY, NULL, target->ip, (uint8_t *)&spoof.mac, spoof.ip);
++ }
++ target++;
+ }
+
+ sleep(2);
diff --git a/unmaintained/dsniff/0003-arpspoof-allow-selection-of-source-hw-address.patch b/unmaintained/dsniff/0003-arpspoof-allow-selection-of-source-hw-address.patch
new file mode 100644
index 0000000000..bb8be00d1e
--- /dev/null
+++ b/unmaintained/dsniff/0003-arpspoof-allow-selection-of-source-hw-address.patch
@@ -0,0 +1,228 @@
+>From 21773ccf18a5fc49d35e510a8797b0a1e83858c4 Mon Sep 17 00:00:00 2001
+From: Stefan Tomanek <stefan@pico.ruhr.de>
+Date: Sun, 20 Nov 2011 21:32:53 +0100
+Subject: [PATCH 3/3] arpspoof: allow selection of source hw address
+
+In certain networks, sending with the wrong hardware source address can
+jeopardize the network connection of the host running arpspoof. This
+patch makes it possible to specify whether arpspoof should use the own
+hardware address or the one of the real host when resetting the arp
+table of the target systems; it is also possible to use both.
+
+Signed-off-by: Stefan Tomanek <stefan@pico.ruhr.de>
+---
+ arpspoof.8 | 9 +++++-
+ arpspoof.c | 90 ++++++++++++++++++++++++++++++++++++++++++-----------------
+ 2 files changed, 72 insertions(+), 27 deletions(-)
+
+--- a/arpspoof.8 2012-03-14 13:33:30.000000000 -0600
++++ b/arpspoof.8 2012-03-14 13:36:18.898055700 -0600
+@@ -9,7 +9,7 @@
+ .na
+ .nf
+ .fi
+-\fBarpspoof\fR [\fB\-i \fIinterface\fR] [\fB\-t \fItarget\fR] [\fB\-r\fR] \fIhost\fR
++\fBarpspoof\fR [\fB\-i \fIinterface\fR] [\fB\-c \fIown|host|both\fR] [\fB\-t \fItarget\fR] [\fB\-r\fR] \fIhost\fR
+ .SH DESCRIPTION
+ .ad
+ .fi
+@@ -23,6 +23,13 @@
+ .SH OPTIONS
+ .IP "\fB-i \fIinterface\fR"
+ Specify the interface to use.
++.IP "\fB-c \fIown|host|both\fR"
++Specify which hardware address t use when restoring the arp configuration;
++while cleaning up, packets can be send with the own address as well as with
++the address of the host. Sending packets with a fake hw address can disrupt
++connectivity with certain switch/ap/bridge configurations, however it works
++more reliably than using the own address, which is the default way arpspoof
++cleans up afterwards.
+ .IP "\fB-t \fItarget\fR"
+ Specify a particular host to ARP poison (if not specified, all hosts
+ on the LAN). Repeat to specify multiple hosts.
+--- a/arpspoof.c 2012-03-14 13:33:30.000000000 -0600
++++ b/arpspoof.c 2012-03-14 13:34:11.134060364 -0600
+@@ -40,37 +40,36 @@
+ static char *intf;
+ static int poison_reverse;
+
++static uint8_t *my_ha = NULL;
++static uint8_t *brd_ha = "\xff\xff\xff\xff\xff\xff";
++
++static int cleanup_src_own = 1;
++static int cleanup_src_host = 0;
++
+ static void
+ usage(void)
+ {
+ fprintf(stderr, "Version: " VERSION "\n"
+- "Usage: arpspoof [-i interface] [-t target] [-r] host\n");
++ "Usage: arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host\n");
+ exit(1);
+ }
+
+ static int
+-arp_send(libnet_t *l, int op, u_int8_t *sha,
+- in_addr_t spa, u_int8_t *tha, in_addr_t tpa)
++arp_send(libnet_t *l, int op,
++ u_int8_t *sha, in_addr_t spa,
++ u_int8_t *tha, in_addr_t tpa,
++ u_int8_t *me)
+ {
+ int retval;
+
+- if (sha == NULL &&
+- (sha = (u_int8_t *)libnet_get_hwaddr(l)) == NULL) {
+- return (-1);
+- }
+- if (spa == 0) {
+- if ((spa = libnet_get_ipaddr4(l)) == -1)
+- return (-1);
+- }
+- if (tha == NULL)
+- tha = "\xff\xff\xff\xff\xff\xff";
+-
++ if (!me) me = sha;
++
+ libnet_autobuild_arp(op, sha, (u_int8_t *)&spa,
+ tha, (u_int8_t *)&tpa, l);
+- libnet_build_ethernet(tha, sha, ETHERTYPE_ARP, NULL, 0, l, 0);
++ libnet_build_ethernet(tha, me, ETHERTYPE_ARP, NULL, 0, l, 0);
+
+ fprintf(stderr, "%s ",
+- ether_ntoa((struct ether_addr *)sha));
++ ether_ntoa((struct ether_addr *)me));
+
+ if (op == ARPOP_REQUEST) {
+ fprintf(stderr, "%s 0806 42: arp who-has %s tell %s\n",
+@@ -129,7 +128,7 @@
+ /* XXX - force the kernel to arp. feh. */
+ arp_force(ip);
+ #else
+- arp_send(l, ARPOP_REQUEST, NULL, 0, NULL, ip);
++ arp_send(l, ARPOP_REQUEST, NULL, 0, NULL, ip, NULL);
+ #endif
+ sleep(1);
+ }
+@@ -156,17 +155,23 @@
+ int fw = arp_find(spoof.ip, &spoof.mac);
+ int bw = poison_reverse && targets[0].ip && arp_find_all();
+ int i;
++ int rounds = (cleanup_src_own*5 + cleanup_src_host*5);
+
+ fprintf(stderr, "Cleaning up and re-arping targets...\n");
+- for (i = 0; i < 5; i++) {
++ for (i = 0; i < rounds; i++) {
+ struct host *target = targets;
+ while(target->ip) {
++ uint8_t *src_ha = NULL;
++ if (cleanup_src_own && (i%2 || !cleanup_src_host)) {
++ src_ha = my_ha;
++ }
+ /* XXX - on BSD, requires ETHERSPOOF kernel. */
+ if (fw) {
+ arp_send(l, ARPOP_REPLY,
+ (u_int8_t *)&spoof.mac, spoof.ip,
+- (target->ip ? (u_int8_t *)&target->mac : NULL),
+- target->ip);
++ (target->ip ? (u_int8_t *)&target->mac : brd_ha),
++ target->ip,
++ src_ha);
+ /* we have to wait a moment before sending the next packet */
+ sleep(1);
+ }
+@@ -174,7 +179,8 @@
+ arp_send(l, ARPOP_REPLY,
+ (u_int8_t *)&target->mac, target->ip,
+ (u_int8_t *)&spoof.mac,
+- spoof.ip);
++ spoof.ip,
++ src_ha);
+ sleep(1);
+ }
+ target++;
+@@ -193,6 +199,7 @@
+ char libnet_ebuf[LIBNET_ERRBUF_SIZE];
+ int c;
+ int n_targets;
++ char *cleanup_src = NULL;
+
+ spoof.ip = 0;
+ intf = NULL;
+@@ -202,7 +209,7 @@
+ /* allocate enough memory for target list */
+ targets = calloc( argc+1, sizeof(struct host) );
+
+- while ((c = getopt(argc, argv, "ri:t:h?V")) != -1) {
++ while ((c = getopt(argc, argv, "ri:t:c:h?V")) != -1) {
+ switch (c) {
+ case 'i':
+ intf = optarg;
+@@ -214,6 +221,9 @@
+ case 'r':
+ poison_reverse = 1;
+ break;
++ case 'c':
++ cleanup_src = optarg;
++ break;
+ default:
+ usage();
+ }
+@@ -229,6 +239,29 @@
+ usage();
+ }
+
++ if (!cleanup_src || strcmp(cleanup_src, "own")==0) { /* default! */
++ /* only use our own hw address when cleaning up,
++ * not jeopardizing any bridges on the way to our
++ * target
++ */
++ cleanup_src_own = 1;
++ cleanup_src_host = 0;
++ } else if (strcmp(cleanup_src, "host")==0) {
++ /* only use the target hw address when cleaning up;
++ * this can screw up some bridges and scramble access
++ * for our own host, however it resets the arp table
++ * more reliably
++ */
++ cleanup_src_own = 0;
++ cleanup_src_host = 1;
++ } else if (strcmp(cleanup_src, "both")==0) {
++ cleanup_src_own = 1;
++ cleanup_src_host = 1;
++ } else {
++ errx(1, "Invalid parameter to -c: use 'own' (default), 'host' or 'both'.");
++ usage();
++ }
++
+ if ((spoof.ip = libnet_name2addr4(l, argv[0], LIBNET_RESOLVE)) == -1)
+ usage();
+
+@@ -253,6 +286,10 @@
+ }
+ }
+
++ if ((my_ha = (u_int8_t *)libnet_get_hwaddr(l)) == NULL) {
++ errx(1, "Unable to determine own mac address");
++ }
++
+ signal(SIGHUP, cleanup);
+ signal(SIGINT, cleanup);
+ signal(SIGTERM, cleanup);
+@@ -260,11 +297,12 @@
+ for (;;) {
+ struct host *target = targets;
+ while(target->ip) {
+- arp_send(l, ARPOP_REPLY, NULL, spoof.ip,
+- (target->ip ? (u_int8_t *)&target->mac : NULL),
+- target->ip);
++ arp_send(l, ARPOP_REPLY, my_ha, spoof.ip,
++ (target->ip ? (u_int8_t *)&target->mac : brd_ha),
++ target->ip,
++ my_ha);
+ if (poison_reverse) {
+- arp_send(l, ARPOP_REPLY, NULL, target->ip, (uint8_t *)&spoof.mac, spoof.ip);
++ arp_send(l, ARPOP_REPLY, my_ha, target->ip, (uint8_t *)&spoof.mac, spoof.ip, my_ha);
+ }
+ target++;
+ }
diff --git a/unmaintained/dsniff/0004-arpspoof-mac-include.patch b/unmaintained/dsniff/0004-arpspoof-mac-include.patch
new file mode 100644
index 0000000000..964484b662
--- /dev/null
+++ b/unmaintained/dsniff/0004-arpspoof-mac-include.patch
@@ -0,0 +1,12 @@
+diff --git a/arpspoof.c b/arpspoof.c
+index ab127f9..681f809 100644
+--- a/arpspoof.c
++++ b/arpspoof.c
+@@ -23,6 +23,7 @@
+ #include <err.h>
+ #include <libnet.h>
+ #include <pcap.h>
++#include <net/ethernet.h>
+
+ #include "arp.h"
+ #include "version.h"
diff --git a/unmaintained/dsniff/01_time.h.patch b/unmaintained/dsniff/01_time.h.patch
new file mode 100644
index 0000000000..1cf570b070
--- /dev/null
+++ b/unmaintained/dsniff/01_time.h.patch
@@ -0,0 +1,23 @@
+Author: Steve Kemp <skx@debian.org>
+Description: Include <time.h> to fix segfault on some architectures.
+Closes #315969
+--- a/msgsnarf.c 2011-06-19 17:14:25.023999385 -0500
++++ b/msgsnarf.c 2011-06-19 17:14:56.475999377 -0500
+@@ -23,6 +23,7 @@
+ #include <nids.h>
+ #include <pcap.h>
+ #include <pcaputil.h>
++#include <time.h>
+
+ #include "buf.h"
+ #include "decode.h"
+--- a/sshow.c 2011-06-19 17:14:24.843999385 -0500
++++ b/sshow.c 2011-06-19 17:14:56.475999377 -0500
+@@ -15,6 +15,7 @@
+
+ #include <sys/types.h>
+ #include <sys/times.h>
++#include <time.h>
+
+ #include <netinet/in_systm.h>
+ #include <netinet/in.h>
diff --git a/unmaintained/dsniff/02_mailsnarf_corrupt.patch b/unmaintained/dsniff/02_mailsnarf_corrupt.patch
new file mode 100644
index 0000000000..8a969533e1
--- /dev/null
+++ b/unmaintained/dsniff/02_mailsnarf_corrupt.patch
@@ -0,0 +1,13 @@
+Author: Steve Kemp <skx@debian.org>
+Description: mailsnarf does not parse mail correctly, Closes #149330.
+--- a/mailsnarf.c 2011-06-19 17:14:23.839999384 -0500
++++ b/mailsnarf.c 2011-06-19 17:14:59.327999376 -0500
+@@ -178,7 +178,7 @@
+ if (smtp->state != SMTP_DATA) {
+ while ((i = buf_index(&buf, "\r\n", 2)) >= 0) {
+ line = buf_tok(&buf, NULL, i + 2);
+- line->base[line->end] = '\0';
++ line->base[line->end-1] = '\0';
+ p = buf_ptr(line);
+
+ if (strncasecmp(p, "RSET", 4) == 0) {
diff --git a/unmaintained/dsniff/03_pcap_read_dump.patch b/unmaintained/dsniff/03_pcap_read_dump.patch
new file mode 100644
index 0000000000..18369f9a85
--- /dev/null
+++ b/unmaintained/dsniff/03_pcap_read_dump.patch
@@ -0,0 +1,531 @@
+Author: Joseph Battaglia <sephail@sephail.net> and Joshua Krage <jkrage@guisarme.us>
+Description: Allow the reading of saved PCAP capture files.
+Closes #153462
+Closes #298604
+--- a/dsniff.8 2011-06-19 17:14:20.847999386 -0500
++++ b/dsniff.8 2011-06-19 17:15:01.067999376 -0500
+@@ -10,7 +10,7 @@
+ .nf
+ .fi
+ \fBdsniff\fR [\fB-c\fR] [\fB-d\fR] [\fB-m\fR] [\fB-n\fR] [\fB-i
+-\fIinterface\fR] [\fB-s \fIsnaplen\fR] [\fB-f \fIservices\fR]
++\fIinterface\fR | \fB-p \fIpcapfile\fR] [\fB-s \fIsnaplen\fR] [\fB-f \fIservices\fR]
+ [\fB-t \fItrigger[,...]\fR]]
+ [\fB-r\fR|\fB-w\fR \fIsavefile\fR] [\fIexpression\fR]
+ .SH DESCRIPTION
+@@ -45,6 +45,9 @@
+ Do not resolve IP addresses to hostnames.
+ .IP "\fB-i \fIinterface\fR"
+ Specify the interface to listen on.
++.IP "\fB-p \fIpcapfile\fR"
++Rather than processing the contents of packets observed upon the network
++process the given PCAP capture file.
+ .IP "\fB-s \fIsnaplen\fR"
+ Analyze at most the first \fIsnaplen\fR bytes of each TCP connection,
+ rather than the default of 1024.
+--- a/dsniff.c 2011-06-19 17:14:20.303999384 -0500
++++ b/dsniff.c 2011-06-19 17:15:01.071999376 -0500
+@@ -46,8 +46,9 @@
+ usage(void)
+ {
+ fprintf(stderr, "Version: " VERSION "\n"
+- "Usage: dsniff [-cdmn] [-i interface] [-s snaplen] [-f services]\n"
+- " [-t trigger[,...]] [-r|-w savefile] [expression]\n");
++ "Usage: dsniff [-cdmn] [-i interface | -p pcapfile] [-s snaplen]\n"
++ " [-f services] [-t trigger[,...]] [-r|-w savefile]\n"
++ " [expression]\n");
+ exit(1);
+ }
+
+@@ -79,7 +80,7 @@
+
+ services = savefile = triggers = NULL;
+
+- while ((c = getopt(argc, argv, "cdf:i:mnr:s:t:w:h?V")) != -1) {
++ while ((c = getopt(argc, argv, "cdf:i:mnp:r:s:t:w:h?V")) != -1) {
+ switch (c) {
+ case 'c':
+ Opt_client = 1;
+@@ -99,6 +100,9 @@
+ case 'n':
+ Opt_dns = 0;
+ break;
++ case 'p':
++ nids_params.filename = optarg;
++ break;
+ case 'r':
+ Opt_read = 1;
+ savefile = optarg;
+@@ -168,10 +172,23 @@
+ else nids_register_tcp(trigger_tcp);
+
+ if (nids_params.pcap_filter != NULL) {
+- warnx("listening on %s [%s]", nids_params.device,
+- nids_params.pcap_filter);
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s [%s]", nids_params.device,
++ nids_params.pcap_filter);
++ }
++ else {
++ warnx("using %s [%s]", nids_params.filename,
++ nids_params.pcap_filter);
++ }
++ }
++ else {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s", nids_params.device);
++ }
++ else {
++ warnx("using %s", nids_params.filename);
++ }
+ }
+- else warnx("listening on %s", nids_params.device);
+
+ nids_run();
+
+--- a/filesnarf.8 2011-06-19 17:14:22.343999384 -0500
++++ b/filesnarf.8 2011-06-19 17:15:01.071999376 -0500
+@@ -9,7 +9,7 @@
+ .na
+ .nf
+ .fi
+-\fBfilesnarf\fR [\fB-i \fIinterface\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
++\fBfilesnarf\fR [\fB-i \fIinterface\fR | \fB-p \fIpcapfile\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
+ .SH DESCRIPTION
+ .ad
+ .fi
+@@ -18,6 +18,8 @@
+ .SH OPTIONS
+ .IP "\fB-i \fIinterface\fR"
+ Specify the interface to listen on.
++.IP "\fB-p \fIpcapfile\fR"
++Process packets from the specified PCAP capture file instead of the network.
+ .IP \fB-v\fR
+ "Versus" mode. Invert the sense of matching, to select non-matching
+ files.
+--- a/filesnarf.c 2011-06-19 17:14:22.155999384 -0500
++++ b/filesnarf.c 2011-06-19 17:15:01.075999376 -0500
+@@ -51,7 +51,7 @@
+ usage(void)
+ {
+ fprintf(stderr, "Version: " VERSION "\n"
+- "Usage: filesnarf [-i interface] [[-v] pattern [expression]]\n");
++ "Usage: filesnarf [-i interface | -p pcapfile] [[-v] pattern [expression]]\n");
+ exit(1);
+ }
+
+@@ -464,11 +464,14 @@
+ extern int optind;
+ int c;
+
+- while ((c = getopt(argc, argv, "i:vh?V")) != -1) {
++ while ((c = getopt(argc, argv, "i:p:vh?V")) != -1) {
+ switch (c) {
+ case 'i':
+ nids_params.device = optarg;
+ break;
++ case 'p':
++ nids_params.filename = optarg;
++ break;
+ case 'v':
+ Opt_invert = 1;
+ break;
+@@ -498,11 +501,24 @@
+ nids_register_ip(decode_udp_nfs);
+ nids_register_tcp(decode_tcp_nfs);
+
+- if (nids_params.pcap_filter != NULL) {
+- warnx("listening on %s [%s]", nids_params.device,
+- nids_params.pcap_filter);
+- }
+- else warnx("listening on %s", nids_params.device);
++ if (nids_params.pcap_filter != NULL) {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s [%s]", nids_params.device,
++ nids_params.pcap_filter);
++ }
++ else {
++ warnx("using %s [%s]", nids_params.filename,
++ nids_params.pcap_filter);
++ }
++ }
++ else {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s", nids_params.device);
++ }
++ else {
++ warnx("using %s", nids_params.filename);
++ }
++ }
+
+ nids_run();
+
+--- a/mailsnarf.8 2011-06-19 17:14:21.099999386 -0500
++++ b/mailsnarf.8 2011-06-19 17:15:01.079999376 -0500
+@@ -9,7 +9,7 @@
+ .na
+ .nf
+ .fi
+-\fBmailsnarf\fR [\fB-i \fIinterface\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
++\fBmailsnarf\fR [\fB-i \fIinterface\fR | \fB-p \fIpcapfile\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
+ .SH DESCRIPTION
+ .ad
+ .fi
+@@ -19,6 +19,8 @@
+ .SH OPTIONS
+ .IP "\fB-i \fIinterface\fR"
+ Specify the interface to listen on.
++.IP "\fB-p \fIpcapfile\fR"
++Process packets from the specified PCAP capture file instead of the network.
+ .IP \fB-v\fR
+ "Versus" mode. Invert the sense of matching, to select non-matching
+ messages.
+--- a/mailsnarf.c 2011-06-19 17:14:59.327999376 -0500
++++ b/mailsnarf.c 2011-06-19 17:15:01.083999376 -0500
+@@ -59,7 +59,7 @@
+ usage(void)
+ {
+ fprintf(stderr, "Version: " VERSION "\n"
+- "Usage: mailsnarf [-i interface] [[-v] pattern [expression]]\n");
++ "Usage: mailsnarf [-i interface | -p pcapfile] [[-v] pattern [expression]]\n");
+ exit(1);
+ }
+
+@@ -344,11 +344,14 @@
+ extern int optind;
+ int c;
+
+- while ((c = getopt(argc, argv, "i:vh?V")) != -1) {
++ while ((c = getopt(argc, argv, "i:p:vh?V")) != -1) {
+ switch (c) {
+ case 'i':
+ nids_params.device = optarg;
+ break;
++ case 'p':
++ nids_params.filename = optarg;
++ break;
+ case 'v':
+ Opt_invert = 1;
+ break;
+@@ -378,10 +381,23 @@
+ nids_register_tcp(sniff_pop_session);
+
+ if (nids_params.pcap_filter != NULL) {
+- warnx("listening on %s [%s]", nids_params.device,
+- nids_params.pcap_filter);
+- }
+- else warnx("listening on %s", nids_params.device);
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s [%s]", nids_params.device,
++ nids_params.pcap_filter);
++ }
++ else {
++ warnx("using %s [%s]", nids_params.filename,
++ nids_params.pcap_filter);
++ }
++ }
++ else {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s", nids_params.device);
++ }
++ else {
++ warnx("using %s", nids_params.filename);
++ }
++ }
+
+ nids_run();
+
+--- a/msgsnarf.8 2011-06-19 17:14:21.771999384 -0500
++++ b/msgsnarf.8 2011-06-19 17:15:01.087999376 -0500
+@@ -9,7 +9,7 @@
+ .na
+ .nf
+ .fi
+-\fBmsgsnarf\fR [\fB-i \fIinterface\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
++\fBmsgsnarf\fR [\fB-i \fIinterface\fR | \fB-p \fIpcapfile\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
+ .SH DESCRIPTION
+ .ad
+ .fi
+@@ -19,6 +19,8 @@
+ .SH OPTIONS
+ .IP "\fB-i \fIinterface\fR"
+ Specify the interface to listen on.
++.IP "\fB-p \fIpcapfile\fR"
++Process packets from the specified PCAP capture file instead of the network.
+ .IP \fB-v\fR
+ "Versus" mode. Invert the sense of matching, to select non-matching
+ messages.
+--- a/msgsnarf.c 2011-06-19 17:14:56.475999377 -0500
++++ b/msgsnarf.c 2011-06-19 17:15:01.091999376 -0500
+@@ -45,7 +45,7 @@
+ usage(void)
+ {
+ fprintf(stderr, "Version: " VERSION "\n"
+- "Usage: msgsnarf [-i interface] [[-v] pattern [expression]]\n");
++ "Usage: msgsnarf [-i interface | -p pcapfile] [[-v] pattern [expression]]\n");
+ exit(1);
+ }
+
+@@ -633,11 +633,14 @@
+ extern int optind;
+ int c;
+
+- while ((c = getopt(argc, argv, "i:hv?V")) != -1) {
++ while ((c = getopt(argc, argv, "i:p:hv?V")) != -1) {
+ switch (c) {
+ case 'i':
+ nids_params.device = optarg;
+ break;
++ case 'p':
++ nids_params.filename = optarg;
++ break;
+ case 'v':
+ Opt_invert = 1;
+ break;
+@@ -666,11 +669,24 @@
+
+ nids_register_tcp(sniff_msgs);
+
+- if (nids_params.pcap_filter != NULL) {
+- warnx("listening on %s [%s]", nids_params.device,
+- nids_params.pcap_filter);
+- }
+- else warnx("listening on %s", nids_params.device);
++ if (nids_params.pcap_filter != NULL) {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s [%s]", nids_params.device,
++ nids_params.pcap_filter);
++ }
++ else {
++ warnx("using %s [%s]", nids_params.filename,
++ nids_params.pcap_filter);
++ }
++ }
++ else {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s", nids_params.device);
++ }
++ else {
++ warnx("using %s", nids_params.filename);
++ }
++ }
+
+ nids_run();
+
+--- a/sshow.8 2011-06-19 17:14:18.839999384 -0500
++++ b/sshow.8 2011-06-19 17:15:01.095999376 -0500
+@@ -9,7 +9,7 @@
+ .na
+ .nf
+ .fi
+-\fBsshow\fR [\fB-d\fR] [\fB-i \fIinterface\fR] [\fIexpression\fR]
++\fBsshow\fR [\fB-d\fR] [\fB-i \fIinterface\fR | \fB-p \fIpcapfile\fR] [\fIexpression\fR]
+ .SH DESCRIPTION
+ .ad
+ .fi
+@@ -28,6 +28,8 @@
+ Enable verbose debugging output.
+ .IP "\fB-i \fIinterface\fR"
+ Specify the interface to listen on.
++.IP "\fB-p \fIpcapfile\fR"
++Process packets from the specified PCAP capture file instead of the network.
+ .IP "\fIexpression\fR"
+ Specify a tcpdump(8) filter expression to select traffic to sniff.
+ .SH "SEE ALSO"
+--- a/sshow.c 2011-06-19 17:14:56.475999377 -0500
++++ b/sshow.c 2011-06-19 17:15:01.099999376 -0500
+@@ -82,7 +82,7 @@
+ static void
+ usage(void)
+ {
+- fprintf(stderr, "Usage: sshow [-d] [-i interface]\n");
++ fprintf(stderr, "Usage: sshow [-d] [-i interface | -p pcapfile]\n");
+ exit(1);
+ }
+
+@@ -616,7 +616,7 @@
+ extern int optind;
+ int c;
+
+- while ((c = getopt(argc, argv, "di:h?")) != -1) {
++ while ((c = getopt(argc, argv, "di:p:h?")) != -1) {
+ switch (c) {
+ case 'd':
+ debug++;
+@@ -624,6 +624,9 @@
+ case 'i':
+ nids_params.device = optarg;
+ break;
++ case 'p':
++ nids_params.filename = optarg;
++ break;
+ default:
+ usage();
+ break;
+@@ -652,11 +655,24 @@
+
+ nids_register_tcp(process_event);
+
+- if (nids_params.pcap_filter != NULL) {
+- warnx("listening on %s [%s]", nids_params.device,
+- nids_params.pcap_filter);
+- }
+- else warnx("listening on %s", nids_params.device);
++ if (nids_params.pcap_filter != NULL) {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s [%s]", nids_params.device,
++ nids_params.pcap_filter);
++ }
++ else {
++ warnx("using %s [%s]", nids_params.filename,
++ nids_params.pcap_filter);
++ }
++ }
++ else {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s", nids_params.device);
++ }
++ else {
++ warnx("using %s", nids_params.filename);
++ }
++ }
+
+ nids_run();
+
+--- a/urlsnarf.8 2011-06-19 17:14:19.727999384 -0500
++++ b/urlsnarf.8 2011-06-19 17:15:01.099999376 -0500
+@@ -9,7 +9,7 @@
+ .na
+ .nf
+ .fi
+-\fBurlsnarf\fR [\fB-n\fR] [\fB-i \fIinterface\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
++\fBurlsnarf\fR [\fB-n\fR] [\fB-i \fIinterface\fR | \fB-p \fIpcapfile\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
+ .SH DESCRIPTION
+ .ad
+ .fi
+@@ -21,6 +21,9 @@
+ .IP \fB-n\fR
+ Do not resolve IP addresses to hostnames.
+ .IP "\fB-i \fIinterface\fR"
++Specify the interface to listen on.
++.IP "\fB-p \fIpcapfile\fR"
++Process packets from the specified PCAP capture file instead of the network.
+ .IP \fB-v\fR
+ "Versus" mode. Invert the sense of matching, to select non-matching
+ URLs.
+--- a/urlsnarf.c 2011-06-19 17:14:19.323999384 -0500
++++ b/urlsnarf.c 2011-06-19 17:15:01.103999376 -0500
+@@ -41,7 +41,7 @@
+ usage(void)
+ {
+ fprintf(stderr, "Version: " VERSION "\n"
+- "Usage: urlsnarf [-n] [-i interface] [[-v] pattern [expression]]\n");
++ "Usage: urlsnarf [-n] [-i interface | -p pcapfile] [[-v] pattern [expression]]\n");
+ exit(1);
+ }
+
+@@ -201,11 +201,14 @@
+ extern int optind;
+ int c;
+
+- while ((c = getopt(argc, argv, "i:nvh?V")) != -1) {
++ while ((c = getopt(argc, argv, "i:p:nvh?V")) != -1) {
+ switch (c) {
+ case 'i':
+ nids_params.device = optarg;
+ break;
++ case 'p':
++ nids_params.filename = optarg;
++ break;
+ case 'n':
+ Opt_dns = 0;
+ break;
+@@ -238,8 +241,24 @@
+
+ nids_register_tcp(sniff_http_client);
+
+- warnx("listening on %s [%s]", nids_params.device,
+- nids_params.pcap_filter);
++ if (nids_params.pcap_filter != NULL) {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s [%s]", nids_params.device,
++ nids_params.pcap_filter);
++ }
++ else {
++ warnx("using %s [%s]", nids_params.filename,
++ nids_params.pcap_filter);
++ }
++ }
++ else {
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s", nids_params.device);
++ }
++ else {
++ warnx("using %s", nids_params.filename);
++ }
++ }
+
+ nids_run();
+
+--- a/webspy.8 2011-06-19 17:14:18.319999386 -0500
++++ b/webspy.8 2011-06-19 17:15:01.107999376 -0500
+@@ -9,7 +9,7 @@
+ .na
+ .nf
+ .fi
+-\fBwebspy\fR [\fB-i \fIinterface\fR] \fIhost\fR
++\fBwebspy\fR [\fB-i \fIinterface\fR | \fB-p \fIpcapfile\fR] \fIhost\fR
+ .SH DESCRIPTION
+ .ad
+ .fi
+@@ -20,6 +20,8 @@
+ .SH OPTIONS
+ .IP "\fB-i \fIinterface\fR"
+ Specify the interface to listen on.
++.IP "\fB-p \fIpcapfile\fR"
++Process packets from the specified PCAP capture file instead of the network.
+ .IP \fIhost\fR
+ Specify the web client to spy on.
+ .SH "SEE ALSO"
+--- a/webspy.c 2011-06-19 17:14:21.395999384 -0500
++++ b/webspy.c 2011-06-19 17:15:01.111999376 -0500
+@@ -42,7 +42,7 @@
+ usage(void)
+ {
+ fprintf(stderr, "Version: " VERSION "\n"
+- "Usage: %s [-i interface] host\n", progname);
++ "Usage: %s [-i interface | -p pcapfile] host\n", progname);
+ exit(1);
+ }
+
+@@ -184,11 +184,14 @@
+ extern int optind;
+ int c;
+
+- while ((c = getopt(argc, argv, "i:h?V")) != -1) {
++ while ((c = getopt(argc, argv, "i:p:h?V")) != -1) {
+ switch (c) {
+ case 'i':
+ nids_params.device = optarg;
+ break;
++ case 'p':
++ nids_params.filename = optarg;
++ break;
+ default:
+ usage();
+ }
+@@ -216,7 +219,13 @@
+
+ nids_register_tcp(sniff_http_client);
+
+- warnx("listening on %s", nids_params.device);
++ if (nids_params.filename == NULL) {
++ warnx("listening on %s", nids_params.device);
++ }
++ else {
++ warnx("using %s", nids_params.filename);
++ }
++
+
+ nids_run();
+
diff --git a/unmaintained/dsniff/04_multiple_intf.patch b/unmaintained/dsniff/04_multiple_intf.patch
new file mode 100644
index 0000000000..24857c7cc1
--- /dev/null
+++ b/unmaintained/dsniff/04_multiple_intf.patch
@@ -0,0 +1,52 @@
+Author: Steve Kemp <skx@debian.org>
+Description: Work with multiple interfaces, Closes #242369.
+--- a/arp.c 2011-06-19 17:14:13.607999387 -0500
++++ b/arp.c 2011-06-19 17:15:04.587999376 -0500
+@@ -39,7 +39,7 @@
+
+ #ifdef BSD
+ int
+-arp_cache_lookup(in_addr_t ip, struct ether_addr *ether)
++arp_cache_lookup(in_addr_t ip, struct ether_addr *ether, const char* linf)
+ {
+ int mib[6];
+ size_t len;
+@@ -91,7 +91,7 @@
+ #endif
+
+ int
+-arp_cache_lookup(in_addr_t ip, struct ether_addr *ether)
++arp_cache_lookup(in_addr_t ip, struct ether_addr *ether, const char* lif)
+ {
+ int sock;
+ struct arpreq ar;
+@@ -99,7 +99,7 @@
+
+ memset((char *)&ar, 0, sizeof(ar));
+ #ifdef __linux__
+- strncpy(ar.arp_dev, "eth0", sizeof(ar.arp_dev)); /* XXX - *sigh* */
++ strncpy(ar.arp_dev, lif, strlen(lif));
+ #endif
+ sin = (struct sockaddr_in *)&ar.arp_pa;
+ sin->sin_family = AF_INET;
+--- a/arp.h 2011-06-19 17:14:13.003999387 -0500
++++ b/arp.h 2011-06-19 17:15:04.587999376 -0500
+@@ -11,6 +11,6 @@
+ #ifndef _ARP_H_
+ #define _ARP_H_
+
+-int arp_cache_lookup(in_addr_t ip, struct ether_addr *ether);
++int arp_cache_lookup(in_addr_t ip, struct ether_addr *ether, const char* linf);
+
+ #endif /* _ARP_H_ */
+--- a/arpspoof.c 2011-06-19 17:14:13.311999387 -0500
++++ b/arpspoof.c 2011-06-19 17:15:04.591999376 -0500
+@@ -113,7 +113,7 @@
+ int i = 0;
+
+ do {
+- if (arp_cache_lookup(ip, mac) == 0)
++ if (arp_cache_lookup(ip, mac, intf) == 0)
+ return (1);
+ #ifdef __linux__
+ /* XXX - force the kernel to arp. feh. */
diff --git a/unmaintained/dsniff/05_amd64_fix.patch b/unmaintained/dsniff/05_amd64_fix.patch
new file mode 100644
index 0000000000..22768c25b1
--- /dev/null
+++ b/unmaintained/dsniff/05_amd64_fix.patch
@@ -0,0 +1,217 @@
+Author: Steve Kemp <skx@debian.org>
+Description: Compile under AMD64, Closes #254002.
+--- a/configure 2011-06-19 17:14:11.327999387 -0500
++++ b/configure 2011-06-19 17:15:06.667999375 -0500
+@@ -2667,15 +2667,62 @@
+ echo "$ac_t""no" 1>&6
+ fi
+
++echo $ac_n "checking for __dn_expand in -lresolv""... $ac_c" 1>&6
++echo "configure:2672: checking for __dn_expand in -lresolv" >&5
++ac_lib_var=`echo resolv'_'__dn_expand | sed 'y%./+-%__p_%'`
++if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ ac_save_LIBS="$LIBS"
++LIBS="-lresolv $LIBS"
++cat > conftest.$ac_ext <<EOF
++#line 2680 "configure"
++#include "confdefs.h"
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char __dn_expand();
++
++int main() {
++__dn_expand()
++; return 0; }
++EOF
++if { (eval echo configure:2691: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=no"
++fi
++rm -f conftest*
++LIBS="$ac_save_LIBS"
++
++fi
++if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ ac_tr_lib=HAVE_LIB`echo resolv | sed -e 's/[^a-zA-Z0-9_]/_/g' \
++ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
++ cat >> confdefs.h <<EOF
++#define $ac_tr_lib 1
++EOF
++
++ LIBS="-lresolv $LIBS"
++
++else
++ echo "$ac_t""no" 1>&6
++fi
++
+ for ac_func in dirname strlcpy strlcat strsep
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:2674: checking for $ac_func" >&5
++echo "configure:2721: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2679 "configure"
++#line 2726 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -2698,7 +2745,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2749: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2728,12 +2775,12 @@
+ for ac_func in MD5Update
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:2732: checking for $ac_func" >&5
++echo "configure:2779: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2737 "configure"
++#line 2784 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -2756,7 +2803,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2788,12 +2835,12 @@
+ for ac_func in warnx
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:2792: checking for $ac_func" >&5
++echo "configure:2839: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2797 "configure"
++#line 2844 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -2816,7 +2863,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2820: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2867: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2848,12 +2895,12 @@
+ for ac_func in ether_ntoa
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:2852: checking for $ac_func" >&5
++echo "configure:2899: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2857 "configure"
++#line 2904 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -2876,7 +2923,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2880: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2927: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2912,7 +2959,7 @@
+ fi
+
+ echo $ac_n "checking for Berkeley DB with 1.85 compatibility""... $ac_c" 1>&6
+-echo "configure:2916: checking for Berkeley DB with 1.85 compatibility" >&5
++echo "configure:2963: checking for Berkeley DB with 1.85 compatibility" >&5
+ # Check whether --with-db or --without-db was given.
+ if test "${with_db+set}" = set; then
+ withval="$with_db"
+@@ -3015,7 +3062,7 @@
+
+
+ echo $ac_n "checking for libpcap""... $ac_c" 1>&6
+-echo "configure:3019: checking for libpcap" >&5
++echo "configure:3066: checking for libpcap" >&5
+ # Check whether --with-libpcap or --without-libpcap was given.
+ if test "${with_libpcap+set}" = set; then
+ withval="$with_libpcap"
+@@ -3063,7 +3110,7 @@
+
+
+ echo $ac_n "checking for libnet""... $ac_c" 1>&6
+-echo "configure:3067: checking for libnet" >&5
++echo "configure:3114: checking for libnet" >&5
+ # Check whether --with-libnet or --without-libnet was given.
+ if test "${with_libnet+set}" = set; then
+ withval="$with_libnet"
+@@ -3110,7 +3157,7 @@
+
+
+ echo $ac_n "checking for libnids""... $ac_c" 1>&6
+-echo "configure:3114: checking for libnids" >&5
++echo "configure:3161: checking for libnids" >&5
+ # Check whether --with-libnids or --without-libnids was given.
+ if test "${with_libnids+set}" = set; then
+ withval="$with_libnids"
+@@ -3152,9 +3199,9 @@
+ save_cppflags="$CPPFLAGS"
+ CPPFLAGS="$NIDSINC"
+ echo $ac_n "checking whether libnids version is good""... $ac_c" 1>&6
+-echo "configure:3156: checking whether libnids version is good" >&5
++echo "configure:3203: checking whether libnids version is good" >&5
+ cat > conftest.$ac_ext <<EOF
+-#line 3158 "configure"
++#line 3205 "configure"
+ #include "confdefs.h"
+ #include <nids.h>
+ EOF
+@@ -3173,7 +3220,7 @@
+
+
+ echo $ac_n "checking for OpenSSL""... $ac_c" 1>&6
+-echo "configure:3177: checking for OpenSSL" >&5
++echo "configure:3224: checking for OpenSSL" >&5
+ # Check whether --with-openssl or --without-openssl was given.
+ if test "${with_openssl+set}" = set; then
+ withval="$with_openssl"
+--- a/configure.in 2011-06-19 17:14:11.195999387 -0500
++++ b/configure.in 2011-06-19 17:15:06.683999375 -0500
+@@ -57,6 +57,7 @@
+ AC_CHECK_LIB(nsl, gethostbyname)
+ dnl XXX - feh, everything except OpenBSD sux.
+ AC_CHECK_LIB(resolv, dn_expand)
++AC_CHECK_LIB(resolv, __dn_expand)
+ AC_REPLACE_FUNCS(dirname strlcpy strlcat strsep)
+ needmd5=no
+ AC_CHECK_FUNCS(MD5Update, , [needmd5=yes])
diff --git a/unmaintained/dsniff/06_urlsnarf_zeropad.patch b/unmaintained/dsniff/06_urlsnarf_zeropad.patch
new file mode 100644
index 0000000000..be1c4beced
--- /dev/null
+++ b/unmaintained/dsniff/06_urlsnarf_zeropad.patch
@@ -0,0 +1,13 @@
+Author: Steve Kemp <skx@debian.org>
+Description: urlsnarf: zero-pad date, Closes #298605.
+--- a/urlsnarf.c 2011-06-19 17:15:01.103999376 -0500
++++ b/urlsnarf.c 2011-06-19 17:15:08.631999375 -0500
+@@ -68,7 +68,7 @@
+ t->tm_hour - gmt.tm_hour);
+ tz = hours * 60 + t->tm_min - gmt.tm_min;
+
+- len = strftime(tstr, sizeof(tstr), "%e/%b/%Y:%X", t);
++ len = strftime(tstr, sizeof(tstr), "%d/%b/%Y:%X", t);
+ if (len < 0 || len > sizeof(tstr) - 5)
+ return (NULL);
+
diff --git a/unmaintained/dsniff/07_libnet_1.1.patch b/unmaintained/dsniff/07_libnet_1.1.patch
new file mode 100644
index 0000000000..6cf86f0baf
--- /dev/null
+++ b/unmaintained/dsniff/07_libnet_1.1.patch
@@ -0,0 +1,903 @@
+Author: Faidon Liambotis <paravoid@debian.org>
+Description: Use libnet v1.1 instead of v1.0
+--- a/arpspoof.c 2011-06-19 17:15:04.591999376 -0500
++++ b/arpspoof.c 2011-06-19 17:15:10.511999375 -0500
+@@ -27,7 +27,7 @@
+
+ extern char *ether_ntoa(struct ether_addr *);
+
+-static struct libnet_link_int *llif;
++static libnet_t *l;
+ static struct ether_addr spoof_mac, target_mac;
+ static in_addr_t spoof_ip, target_ip;
+ static char *intf;
+@@ -41,47 +41,49 @@
+ }
+
+ static int
+-arp_send(struct libnet_link_int *llif, char *dev,
+- int op, u_char *sha, in_addr_t spa, u_char *tha, in_addr_t tpa)
++arp_send(libnet_t *l, int op, u_int8_t *sha,
++ in_addr_t spa, u_int8_t *tha, in_addr_t tpa)
+ {
+- char ebuf[128];
+- u_char pkt[60];
+-
++ int retval;
++
+ if (sha == NULL &&
+- (sha = (u_char *)libnet_get_hwaddr(llif, dev, ebuf)) == NULL) {
++ (sha = (u_int8_t *)libnet_get_hwaddr(l)) == NULL) {
+ return (-1);
+ }
+ if (spa == 0) {
+- if ((spa = libnet_get_ipaddr(llif, dev, ebuf)) == 0)
++ if ((spa = libnet_get_ipaddr4(l)) == -1)
+ return (-1);
+- spa = htonl(spa); /* XXX */
+ }
+ if (tha == NULL)
+ tha = "\xff\xff\xff\xff\xff\xff";
+
+- libnet_build_ethernet(tha, sha, ETHERTYPE_ARP, NULL, 0, pkt);
++ libnet_autobuild_arp(op, sha, (u_int8_t *)&spa,
++ tha, (u_int8_t *)&tpa, l);
++ libnet_build_ethernet(tha, sha, ETHERTYPE_ARP, NULL, 0, l, 0);
+
+- libnet_build_arp(ARPHRD_ETHER, ETHERTYPE_IP, ETHER_ADDR_LEN, 4,
+- op, sha, (u_char *)&spa, tha, (u_char *)&tpa,
+- NULL, 0, pkt + ETH_H);
+-
+ fprintf(stderr, "%s ",
+ ether_ntoa((struct ether_addr *)sha));
+
+ if (op == ARPOP_REQUEST) {
+ fprintf(stderr, "%s 0806 42: arp who-has %s tell %s\n",
+ ether_ntoa((struct ether_addr *)tha),
+- libnet_host_lookup(tpa, 0),
+- libnet_host_lookup(spa, 0));
++ libnet_addr2name4(tpa, LIBNET_DONT_RESOLVE),
++ libnet_addr2name4(spa, LIBNET_DONT_RESOLVE));
+ }
+ else {
+ fprintf(stderr, "%s 0806 42: arp reply %s is-at ",
+ ether_ntoa((struct ether_addr *)tha),
+- libnet_host_lookup(spa, 0));
++ libnet_addr2name4(spa, LIBNET_DONT_RESOLVE));
+ fprintf(stderr, "%s\n",
+ ether_ntoa((struct ether_addr *)sha));
+ }
+- return (libnet_write_link_layer(llif, dev, pkt, sizeof(pkt)) == sizeof(pkt));
++ retval = libnet_write(l);
++ if (retval)
++ fprintf(stderr, "%s", libnet_geterror(l));
++
++ libnet_clear_packet(l);
++
++ return retval;
+ }
+
+ #ifdef __linux__
+@@ -119,7 +121,7 @@
+ /* XXX - force the kernel to arp. feh. */
+ arp_force(ip);
+ #else
+- arp_send(llif, intf, ARPOP_REQUEST, NULL, 0, NULL, ip);
++ arp_send(l, ARPOP_REQUEST, NULL, 0, NULL, ip);
+ #endif
+ sleep(1);
+ }
+@@ -136,9 +138,9 @@
+ if (arp_find(spoof_ip, &spoof_mac)) {
+ for (i = 0; i < 3; i++) {
+ /* XXX - on BSD, requires ETHERSPOOF kernel. */
+- arp_send(llif, intf, ARPOP_REPLY,
+- (u_char *)&spoof_mac, spoof_ip,
+- (target_ip ? (u_char *)&target_mac : NULL),
++ arp_send(l, ARPOP_REPLY,
++ (u_int8_t *)&spoof_mac, spoof_ip,
++ (target_ip ? (u_int8_t *)&target_mac : NULL),
+ target_ip);
+ sleep(1);
+ }
+@@ -151,7 +153,8 @@
+ {
+ extern char *optarg;
+ extern int optind;
+- char ebuf[PCAP_ERRBUF_SIZE];
++ char pcap_ebuf[PCAP_ERRBUF_SIZE];
++ char libnet_ebuf[LIBNET_ERRBUF_SIZE];
+ int c;
+
+ intf = NULL;
+@@ -163,7 +166,7 @@
+ intf = optarg;
+ break;
+ case 't':
+- if ((target_ip = libnet_name_resolve(optarg, 1)) == -1)
++ if ((target_ip = libnet_name2addr4(l, optarg, LIBNET_RESOLVE)) == -1)
+ usage();
+ break;
+ default:
+@@ -176,26 +179,26 @@
+ if (argc != 1)
+ usage();
+
+- if ((spoof_ip = libnet_name_resolve(argv[0], 1)) == -1)
++ if ((spoof_ip = libnet_name2addr4(l, argv[0], LIBNET_RESOLVE)) == -1)
+ usage();
+
+- if (intf == NULL && (intf = pcap_lookupdev(ebuf)) == NULL)
+- errx(1, "%s", ebuf);
++ if (intf == NULL && (intf = pcap_lookupdev(pcap_ebuf)) == NULL)
++ errx(1, "%s", pcap_ebuf);
+
+- if ((llif = libnet_open_link_interface(intf, ebuf)) == 0)
+- errx(1, "%s", ebuf);
++ if ((l = libnet_init(LIBNET_LINK, intf, libnet_ebuf)) == NULL)
++ errx(1, "%s", libnet_ebuf);
+
+ if (target_ip != 0 && !arp_find(target_ip, &target_mac))
+ errx(1, "couldn't arp for host %s",
+- libnet_host_lookup(target_ip, 0));
++ libnet_addr2name4(target_ip, LIBNET_DONT_RESOLVE));
+
+ signal(SIGHUP, cleanup);
+ signal(SIGINT, cleanup);
+ signal(SIGTERM, cleanup);
+
+ for (;;) {
+- arp_send(llif, intf, ARPOP_REPLY, NULL, spoof_ip,
+- (target_ip ? (u_char *)&target_mac : NULL),
++ arp_send(l, ARPOP_REPLY, NULL, spoof_ip,
++ (target_ip ? (u_int8_t *)&target_mac : NULL),
+ target_ip);
+ sleep(2);
+ }
+--- a/dnsspoof.c 2011-06-19 17:14:04.651999389 -0500
++++ b/dnsspoof.c 2011-06-19 17:15:10.515999375 -0500
+@@ -38,7 +38,7 @@
+
+ pcap_t *pcap_pd = NULL;
+ int pcap_off = -1;
+-int lnet_sock = -1;
++libnet_t *l;
+ u_long lnet_ip = -1;
+
+ static void
+@@ -90,19 +90,18 @@
+ dns_init(char *dev, char *filename)
+ {
+ FILE *f;
+- struct libnet_link_int *llif;
++ libnet_t *l;
++ char libnet_ebuf[LIBNET_ERRBUF_SIZE];
+ struct dnsent *de;
+ char *ip, *name, buf[1024];
+
+- if ((llif = libnet_open_link_interface(dev, buf)) == NULL)
+- errx(1, "%s", buf);
++ if ((l = libnet_init(LIBNET_LINK, dev, libnet_ebuf)) == NULL)
++ errx(1, "%s", libnet_ebuf);
+
+- if ((lnet_ip = libnet_get_ipaddr(llif, dev, buf)) == -1)
+- errx(1, "%s", buf);
++ if ((lnet_ip = libnet_get_ipaddr4(l)) == -1)
++ errx(1, "%s", libnet_geterror(l));
+
+- lnet_ip = htonl(lnet_ip);
+-
+- libnet_close_link_interface(llif);
++ libnet_destroy(l);
+
+ SLIST_INIT(&dns_entries);
+
+@@ -180,7 +179,7 @@
+ static void
+ dns_spoof(u_char *u, const struct pcap_pkthdr *pkthdr, const u_char *pkt)
+ {
+- struct libnet_ip_hdr *ip;
++ struct libnet_ipv4_hdr *ip;
+ struct libnet_udp_hdr *udp;
+ HEADER *dns;
+ char name[MAXHOSTNAMELEN];
+@@ -189,7 +188,7 @@
+ in_addr_t dst;
+ u_short type, class;
+
+- ip = (struct libnet_ip_hdr *)(pkt + pcap_off);
++ ip = (struct libnet_ipv4_hdr *)(pkt + pcap_off);
+ udp = (struct libnet_udp_hdr *)(pkt + pcap_off + (ip->ip_hl * 4));
+ dns = (HEADER *)(udp + 1);
+ p = (u_char *)(dns + 1);
+@@ -212,7 +211,7 @@
+ if (class != C_IN)
+ return;
+
+- p = buf + IP_H + UDP_H + dnslen;
++ p = buf + dnslen;
+
+ if (type == T_A) {
+ if ((dst = dns_lookup_a(name)) == -1)
+@@ -234,38 +233,38 @@
+ anslen += 12;
+ }
+ else return;
+-
+- libnet_build_ip(UDP_H + dnslen + anslen, 0, libnet_get_prand(PRu16),
+- 0, 64, IPPROTO_UDP, ip->ip_dst.s_addr,
+- ip->ip_src.s_addr, NULL, 0, buf);
+-
+- libnet_build_udp(ntohs(udp->uh_dport), ntohs(udp->uh_sport),
+- NULL, dnslen + anslen, buf + IP_H);
+
+- memcpy(buf + IP_H + UDP_H, (u_char *)dns, dnslen);
++ memcpy(buf, (u_char *)dns, dnslen);
+
+- dns = (HEADER *)(buf + IP_H + UDP_H);
++ dns = (HEADER *)buf;
+ dns->qr = dns->ra = 1;
+ if (type == T_PTR) dns->aa = 1;
+ dns->ancount = htons(1);
+
+ dnslen += anslen;
++
++ libnet_clear_packet(l);
++ libnet_build_udp(ntohs(udp->uh_dport), ntohs(udp->uh_sport),
++ LIBNET_UDP_H + dnslen, 0,
++ (u_int8_t *)buf, dnslen, l, 0);
++
++ libnet_build_ipv4(LIBNET_IPV4_H + LIBNET_UDP_H + dnslen, 0,
++ libnet_get_prand(LIBNET_PRu16), 0, 64, IPPROTO_UDP, 0,
++ ip->ip_dst.s_addr, ip->ip_src.s_addr, NULL, 0, l, 0);
+
+- libnet_do_checksum(buf, IPPROTO_UDP, UDP_H + dnslen);
+-
+- if (libnet_write_ip(lnet_sock, buf, IP_H + UDP_H + dnslen) < 0)
++ if (libnet_write(l) < 0)
+ warn("write");
+
+ fprintf(stderr, "%s.%d > %s.%d: %d+ %s? %s\n",
+- libnet_host_lookup(ip->ip_src.s_addr, 0), ntohs(udp->uh_sport),
+- libnet_host_lookup(ip->ip_dst.s_addr, 0), ntohs(udp->uh_dport),
++ libnet_addr2name4(ip->ip_src.s_addr, 0), ntohs(udp->uh_sport),
++ libnet_addr2name4(ip->ip_dst.s_addr, 0), ntohs(udp->uh_dport),
+ ntohs(dns->id), type == T_A ? "A" : "PTR", name);
+ }
+
+ static void
+ cleanup(int sig)
+ {
+- libnet_close_raw_sock(lnet_sock);
++ libnet_destroy(l);
+ pcap_close(pcap_pd);
+ exit(0);
+ }
+@@ -276,6 +275,7 @@
+ extern char *optarg;
+ extern int optind;
+ char *p, *dev, *hosts, buf[1024];
++ char ebuf[LIBNET_ERRBUF_SIZE];
+ int i;
+
+ dev = hosts = NULL;
+@@ -306,7 +306,7 @@
+ strlcpy(buf, p, sizeof(buf));
+ }
+ else snprintf(buf, sizeof(buf), "udp dst port 53 and not src %s",
+- libnet_host_lookup(lnet_ip, 0));
++ libnet_addr2name4(lnet_ip, LIBNET_DONT_RESOLVE));
+
+ if ((pcap_pd = pcap_init(dev, buf, 128)) == NULL)
+ errx(1, "couldn't initialize sniffing");
+@@ -314,10 +314,10 @@
+ if ((pcap_off = pcap_dloff(pcap_pd)) < 0)
+ errx(1, "couldn't determine link layer offset");
+
+- if ((lnet_sock = libnet_open_raw_sock(IPPROTO_RAW)) == -1)
++ if ((l = libnet_init(LIBNET_RAW4, dev, ebuf)) == NULL)
+ errx(1, "couldn't initialize sending");
+
+- libnet_seed_prand();
++ libnet_seed_prand(l);
+
+ signal(SIGHUP, cleanup);
+ signal(SIGINT, cleanup);
+--- a/filesnarf.c 2011-06-19 17:15:01.075999376 -0500
++++ b/filesnarf.c 2011-06-19 17:15:10.519999375 -0500
+@@ -134,8 +134,8 @@
+ int fd;
+
+ warnx("%s.%d > %s.%d: %s (%d@%d)",
+- libnet_host_lookup(addr->daddr, 0), addr->dest,
+- libnet_host_lookup(addr->saddr, 0), addr->source,
++ libnet_addr2name4(addr->daddr, LIBNET_DONT_RESOLVE), addr->dest,
++ libnet_addr2name4(addr->saddr, LIBNET_DONT_RESOLVE), addr->source,
+ ma->filename, len, ma->offset);
+
+ if ((fd = open(ma->filename, O_WRONLY|O_CREAT, 0644)) >= 0) {
+@@ -353,7 +353,7 @@
+ }
+
+ static void
+-decode_udp_nfs(struct libnet_ip_hdr *ip)
++decode_udp_nfs(struct libnet_ipv4_hdr *ip)
+ {
+ static struct tuple4 addr;
+ struct libnet_udp_hdr *udp;
+--- a/macof.c 2011-06-19 17:14:04.959999389 -0500
++++ b/macof.c 2011-06-19 17:15:10.523999375 -0500
+@@ -48,8 +48,8 @@
+ static void
+ gen_mac(u_char *mac)
+ {
+- *((in_addr_t *)mac) = libnet_get_prand(PRu32);
+- *((u_short *)(mac + 4)) = libnet_get_prand(PRu16);
++ *((in_addr_t *)mac) = libnet_get_prand(LIBNET_PRu32);
++ *((u_short *)(mac + 4)) = libnet_get_prand(LIBNET_PRu16);
+ }
+
+ int
+@@ -59,22 +59,23 @@
+ extern int optind;
+ int c, i;
+ struct libnet_link_int *llif;
+- char ebuf[PCAP_ERRBUF_SIZE];
++ char pcap_ebuf[PCAP_ERRBUF_SIZE];
++ char libnet_ebuf[LIBNET_ERRBUF_SIZE];
+ u_char sha[ETHER_ADDR_LEN], tha[ETHER_ADDR_LEN];
+ in_addr_t src, dst;
+ u_short sport, dport;
+ u_int32_t seq;
+- u_char pkt[ETH_H + IP_H + TCP_H];
++ libnet_t *l;
+
+ while ((c = getopt(argc, argv, "vs:d:e:x:y:i:n:h?V")) != -1) {
+ switch (c) {
+ case 'v':
+ break;
+ case 's':
+- Src = libnet_name_resolve(optarg, 0);
++ Src = libnet_name2addr4(l, optarg, 0);
+ break;
+ case 'd':
+- Dst = libnet_name_resolve(optarg, 0);
++ Dst = libnet_name2addr4(l, optarg, 0);
+ break;
+ case 'e':
+ Tha = (u_char *)ether_aton(optarg);
+@@ -101,13 +102,13 @@
+ if (argc != 0)
+ usage();
+
+- if (!Intf && (Intf = pcap_lookupdev(ebuf)) == NULL)
+- errx(1, "%s", ebuf);
++ if (!Intf && (Intf = pcap_lookupdev(pcap_ebuf)) == NULL)
++ errx(1, "%s", pcap_ebuf);
+
+- if ((llif = libnet_open_link_interface(Intf, ebuf)) == 0)
+- errx(1, "%s", ebuf);
++ if ((l = libnet_init(LIBNET_LINK, Intf, libnet_ebuf)) == NULL)
++ errx(1, "%s", libnet_ebuf);
+
+- libnet_seed_prand();
++ libnet_seed_prand(l);
+
+ for (i = 0; i != Repeat; i++) {
+
+@@ -117,39 +118,39 @@
+ else memcpy(tha, Tha, sizeof(tha));
+
+ if (Src != 0) src = Src;
+- else src = libnet_get_prand(PRu32);
++ else src = libnet_get_prand(LIBNET_PRu32);
+
+ if (Dst != 0) dst = Dst;
+- else dst = libnet_get_prand(PRu32);
++ else dst = libnet_get_prand(LIBNET_PRu32);
+
+ if (Sport != 0) sport = Sport;
+- else sport = libnet_get_prand(PRu16);
++ else sport = libnet_get_prand(LIBNET_PRu16);
+
+ if (Dport != 0) dport = Dport;
+- else dport = libnet_get_prand(PRu16);
++ else dport = libnet_get_prand(LIBNET_PRu16);
+
+- seq = libnet_get_prand(PRu32);
+-
+- libnet_build_ethernet(tha, sha, ETHERTYPE_IP, NULL, 0, pkt);
+-
+- libnet_build_ip(TCP_H, 0, libnet_get_prand(PRu16), 0, 64,
+- IPPROTO_TCP, src, dst, NULL, 0, pkt + ETH_H);
++ seq = libnet_get_prand(LIBNET_PRu32);
+
+ libnet_build_tcp(sport, dport, seq, 0, TH_SYN, 512,
+- 0, NULL, 0, pkt + ETH_H + IP_H);
++ 0, 0, LIBNET_TCP_H, NULL, 0, l, 0);
+
+- libnet_do_checksum(pkt + ETH_H, IPPROTO_IP, IP_H);
+- libnet_do_checksum(pkt + ETH_H, IPPROTO_TCP, TCP_H);
++ libnet_build_ipv4(LIBNET_TCP_H, 0,
++ libnet_get_prand(LIBNET_PRu16), 0, 64,
++ IPPROTO_TCP, 0, src, dst, NULL, 0, l, 0);
+
+- if (libnet_write_link_layer(llif, Intf, pkt, sizeof(pkt)) < 0)
++ libnet_build_ethernet(tha, sha, ETHERTYPE_IP, NULL, 0, l, 0);
++
++ if (libnet_write(l) < 0)
+ errx(1, "write");
+
++ libnet_clear_packet(l);
++
+ fprintf(stderr, "%s ",
+ ether_ntoa((struct ether_addr *)sha));
+ fprintf(stderr, "%s %s.%d > %s.%d: S %u:%u(0) win 512\n",
+ ether_ntoa((struct ether_addr *)tha),
+- libnet_host_lookup(Src, 0), sport,
+- libnet_host_lookup(Dst, 0), dport, seq, seq);
++ libnet_addr2name4(Src, 0), sport,
++ libnet_addr2name4(Dst, 0), dport, seq, seq);
+ }
+ exit(0);
+ }
+--- a/record.c 2011-06-19 17:14:06.627999389 -0500
++++ b/record.c 2011-06-19 17:15:10.523999375 -0500
+@@ -65,8 +65,8 @@
+ tm = localtime(&rec->time);
+ strftime(tstr, sizeof(tstr), "%x %X", tm);
+
+- srcp = libnet_host_lookup(rec->src, Opt_dns);
+- dstp = libnet_host_lookup(rec->dst, Opt_dns);
++ srcp = libnet_addr2name4(rec->src, Opt_dns);
++ dstp = libnet_addr2name4(rec->dst, Opt_dns);
+
+ if ((pr = getprotobynumber(rec->proto)) == NULL)
+ protop = "unknown";
+--- a/sshmitm.c 2011-06-19 17:14:05.687999389 -0500
++++ b/sshmitm.c 2011-06-19 17:15:10.527999375 -0500
+@@ -389,7 +389,7 @@
+ if (argc < 1)
+ usage();
+
+- if ((ip = libnet_name_resolve(argv[0], 1)) == -1)
++ if ((ip = libnet_name2addr4(NULL, argv[0], LIBNET_RESOLVE)) == -1)
+ usage();
+
+ if (argc == 2 && (rport = atoi(argv[1])) == 0)
+--- a/tcpkill.c 2011-06-19 17:14:05.823999389 -0500
++++ b/tcpkill.c 2011-06-19 17:15:10.535999375 -0500
+@@ -39,17 +39,18 @@
+ static void
+ tcp_kill_cb(u_char *user, const struct pcap_pkthdr *pcap, const u_char *pkt)
+ {
+- struct libnet_ip_hdr *ip;
++ struct libnet_ipv4_hdr *ip;
+ struct libnet_tcp_hdr *tcp;
+- u_char ctext[64], buf[IP_H + TCP_H];
++ u_char ctext[64];
+ u_int32_t seq, win;
+- int i, *sock, len;
++ int i, len;
++ libnet_t *l;
+
+- sock = (int *)user;
++ l = (libnet_t *)user;
+ pkt += pcap_off;
+ len = pcap->caplen - pcap_off;
+
+- ip = (struct libnet_ip_hdr *)pkt;
++ ip = (struct libnet_ipv4_hdr *)pkt;
+ if (ip->ip_p != IPPROTO_TCP)
+ return;
+
+@@ -57,34 +58,31 @@
+ if (tcp->th_flags & (TH_SYN|TH_FIN|TH_RST))
+ return;
+
+- libnet_build_ip(TCP_H, 0, 0, 0, 64, IPPROTO_TCP,
+- ip->ip_dst.s_addr, ip->ip_src.s_addr,
+- NULL, 0, buf);
+-
+- libnet_build_tcp(ntohs(tcp->th_dport), ntohs(tcp->th_sport),
+- 0, 0, TH_RST, 0, 0, NULL, 0, buf + IP_H);
+-
+ seq = ntohl(tcp->th_ack);
+ win = ntohs(tcp->th_win);
+
+ snprintf(ctext, sizeof(ctext), "%s:%d > %s:%d:",
+- libnet_host_lookup(ip->ip_src.s_addr, 0),
++ libnet_addr2name4(ip->ip_src.s_addr, LIBNET_DONT_RESOLVE),
+ ntohs(tcp->th_sport),
+- libnet_host_lookup(ip->ip_dst.s_addr, 0),
++ libnet_addr2name4(ip->ip_dst.s_addr, LIBNET_DONT_RESOLVE),
+ ntohs(tcp->th_dport));
+
+- ip = (struct libnet_ip_hdr *)buf;
+- tcp = (struct libnet_tcp_hdr *)(ip + 1);
+-
+ for (i = 0; i < Opt_severity; i++) {
+- ip->ip_id = libnet_get_prand(PRu16);
+ seq += (i * win);
+- tcp->th_seq = htonl(seq);
+
+- libnet_do_checksum(buf, IPPROTO_TCP, TCP_H);
++ libnet_clear_packet(l);
++
++ libnet_build_tcp(ntohs(tcp->th_dport), ntohs(tcp->th_sport),
++ seq, 0, TH_RST, 0, 0, 0, LIBNET_TCP_H,
++ NULL, 0, l, 0);
++
++ libnet_build_ipv4(LIBNET_IPV4_H + LIBNET_TCP_H, 0,
++ libnet_get_prand(LIBNET_PRu16), 0, 64,
++ IPPROTO_TCP, 0, ip->ip_dst.s_addr,
++ ip->ip_src.s_addr, NULL, 0, l, 0);
+
+- if (libnet_write_ip(*sock, buf, sizeof(buf)) < 0)
+- warn("write_ip");
++ if (libnet_write(l) < 0)
++ warn("write");
+
+ fprintf(stderr, "%s R %lu:%lu(0) win 0\n", ctext, seq, seq);
+ }
+@@ -95,8 +93,10 @@
+ {
+ extern char *optarg;
+ extern int optind;
+- int c, sock;
++ int c;
+ char *p, *intf, *filter, ebuf[PCAP_ERRBUF_SIZE];
++ char libnet_ebuf[LIBNET_ERRBUF_SIZE];
++ libnet_t *l;
+ pcap_t *pd;
+
+ intf = NULL;
+@@ -136,14 +136,14 @@
+ if ((pcap_off = pcap_dloff(pd)) < 0)
+ errx(1, "couldn't determine link layer offset");
+
+- if ((sock = libnet_open_raw_sock(IPPROTO_RAW)) == -1)
++ if ((l = libnet_init(LIBNET_RAW4, intf, libnet_ebuf)) == NULL)
+ errx(1, "couldn't initialize sending");
+
+- libnet_seed_prand();
++ libnet_seed_prand(l);
+
+ warnx("listening on %s [%s]", intf, filter);
+
+- pcap_loop(pd, -1, tcp_kill_cb, (u_char *)&sock);
++ pcap_loop(pd, -1, tcp_kill_cb, (u_char *)l);
+
+ /* NOTREACHED */
+
+--- a/tcpnice.c 2011-06-19 17:14:04.547999389 -0500
++++ b/tcpnice.c 2011-06-19 17:15:10.539999375 -0500
+@@ -41,107 +41,106 @@
+ }
+
+ static void
+-send_tcp_window_advertisement(int sock, struct libnet_ip_hdr *ip,
++send_tcp_window_advertisement(libnet_t *l, struct libnet_ipv4_hdr *ip,
+ struct libnet_tcp_hdr *tcp)
+ {
+ int len;
+
+ ip->ip_hl = 5;
+- ip->ip_len = htons(IP_H + TCP_H);
+- ip->ip_id = libnet_get_prand(PRu16);
+- memcpy(buf, (u_char *)ip, IP_H);
++ ip->ip_len = htons(LIBNET_IPV4_H + LIBNET_TCP_H);
++ ip->ip_id = libnet_get_prand(LIBNET_PRu16);
++ memcpy(buf, (u_char *)ip, LIBNET_IPV4_H);
+
+ tcp->th_off = 5;
+ tcp->th_win = htons(MIN_WIN);
+- memcpy(buf + IP_H, (u_char *)tcp, TCP_H);
++ memcpy(buf + LIBNET_IPV4_H, (u_char *)tcp, LIBNET_TCP_H);
+
+- libnet_do_checksum(buf, IPPROTO_TCP, TCP_H);
++ libnet_do_checksum(l, buf, IPPROTO_TCP, LIBNET_TCP_H);
+
+- len = IP_H + TCP_H;
++ len = LIBNET_IPV4_H + LIBNET_TCP_H;
+
+- if (libnet_write_ip(sock, buf, len) != len)
++ if (libnet_write_raw_ipv4(l, buf, len) != len)
+ warn("write");
+
+ fprintf(stderr, "%s:%d > %s:%d: . ack %lu win %d\n",
+- libnet_host_lookup(ip->ip_src.s_addr, 0), ntohs(tcp->th_sport),
+- libnet_host_lookup(ip->ip_dst.s_addr, 0), ntohs(tcp->th_dport),
++ libnet_addr2name4(ip->ip_src.s_addr, 0), ntohs(tcp->th_sport),
++ libnet_addr2name4(ip->ip_dst.s_addr, 0), ntohs(tcp->th_dport),
+ ntohl(tcp->th_ack), 1);
+ }
+
+ static void
+-send_icmp_source_quench(int sock, struct libnet_ip_hdr *ip)
++send_icmp_source_quench(libnet_t *l, struct libnet_ipv4_hdr *ip)
+ {
+- struct libnet_icmp_hdr *icmp;
++ struct libnet_icmpv4_hdr *icmp;
+ int len;
+
+ len = (ip->ip_hl * 4) + 8;
+
+- libnet_build_ip(ICMP_ECHO_H + len, 0, libnet_get_prand(PRu16),
+- 0, 64, IPPROTO_ICMP, ip->ip_dst.s_addr,
+- ip->ip_src.s_addr, NULL, 0, buf);
+-
+- icmp = (struct libnet_icmp_hdr *)(buf + IP_H);
++ icmp = (struct libnet_icmpv4_hdr *)(buf + LIBNET_IPV4_H);
+ icmp->icmp_type = ICMP_SOURCEQUENCH;
+ icmp->icmp_code = 0;
+- memcpy((u_char *)icmp + ICMP_ECHO_H, (u_char *)ip, len);
++ memcpy((u_char *)icmp + LIBNET_ICMPV4_ECHO_H, (u_char *)ip, len);
+
+- libnet_do_checksum(buf, IPPROTO_ICMP, ICMP_ECHO_H + len);
++ len += LIBNET_ICMPV4_ECHO_H;
+
+- len += (IP_H + ICMP_ECHO_H);
++ libnet_build_ipv4(LIBNET_IPV4_H + len, 0,
++ libnet_get_prand(LIBNET_PRu16), 0, 64, IPPROTO_ICMP,
++ 0, ip->ip_dst.s_addr, ip->ip_src.s_addr,
++ (u_int8_t *) icmp, len, l, 0);
+
+- if (libnet_write_ip(sock, buf, len) != len)
++ if (libnet_write(l) != len)
+ warn("write");
+
+ fprintf(stderr, "%s > %s: icmp: source quench\n",
+- libnet_host_lookup(ip->ip_dst.s_addr, 0),
+- libnet_host_lookup(ip->ip_src.s_addr, 0));
++ libnet_addr2name4(ip->ip_dst.s_addr, 0),
++ libnet_addr2name4(ip->ip_src.s_addr, 0));
+ }
+
+ static void
+-send_icmp_frag_needed(int sock, struct libnet_ip_hdr *ip)
++send_icmp_frag_needed(libnet_t *l, struct libnet_ipv4_hdr *ip)
+ {
+- struct libnet_icmp_hdr *icmp;
++ struct libnet_icmpv4_hdr *icmp;
+ int len;
+
+ len = (ip->ip_hl * 4) + 8;
+
+- libnet_build_ip(ICMP_MASK_H + len, 4, libnet_get_prand(PRu16),
+- 0, 64, IPPROTO_ICMP, ip->ip_dst.s_addr,
+- ip->ip_src.s_addr, NULL, 0, buf);
+-
+- icmp = (struct libnet_icmp_hdr *)(buf + IP_H);
++ icmp = (struct libnet_icmpv4_hdr *)(buf + LIBNET_IPV4_H);
+ icmp->icmp_type = ICMP_UNREACH;
+ icmp->icmp_code = ICMP_UNREACH_NEEDFRAG;
+ icmp->hun.frag.pad = 0;
+ icmp->hun.frag.mtu = htons(MIN_MTU);
+- memcpy((u_char *)icmp + ICMP_MASK_H, (u_char *)ip, len);
++ memcpy((u_char *)icmp + LIBNET_ICMPV4_MASK_H, (u_char *)ip, len);
+
+- libnet_do_checksum(buf, IPPROTO_ICMP, ICMP_MASK_H + len);
+-
+- len += (IP_H + ICMP_MASK_H);
++ len += LIBNET_ICMPV4_MASK_H;
++
++ libnet_build_ipv4(LIBNET_IPV4_H + len, 4,
++ libnet_get_prand(LIBNET_PRu16), 0, 64, IPPROTO_ICMP,
++ 0, ip->ip_dst.s_addr, ip->ip_src.s_addr,
++ (u_int8_t *) icmp, len, l, 0);
+
+- if (libnet_write_ip(sock, buf, len) != len)
++ if (libnet_write(l) != len)
+ warn("write");
+
+ fprintf(stderr, "%s > %s: icmp: ",
+- libnet_host_lookup(ip->ip_dst.s_addr, 0),
+- libnet_host_lookup(ip->ip_src.s_addr, 0));
++ libnet_addr2name4(ip->ip_dst.s_addr, 0),
++ libnet_addr2name4(ip->ip_src.s_addr, 0));
+ fprintf(stderr, "%s unreachable - need to frag (mtu %d)\n",
+- libnet_host_lookup(ip->ip_src.s_addr, 0), MIN_MTU);
++ libnet_addr2name4(ip->ip_src.s_addr, 0), MIN_MTU);
+ }
+
+ static void
+ tcp_nice_cb(u_char *user, const struct pcap_pkthdr *pcap, const u_char *pkt)
+ {
+- struct libnet_ip_hdr *ip;
++ struct libnet_ipv4_hdr *ip;
+ struct libnet_tcp_hdr *tcp;
+- int *sock, len;
++ int len;
++ libnet_t *l;
+
+- sock = (int *)user;
++ l = (libnet_t *)user;
+ pkt += pcap_off;
+ len = pcap->caplen - pcap_off;
+
+- ip = (struct libnet_ip_hdr *)pkt;
++ ip = (struct libnet_ipv4_hdr *)pkt;
+ if (ip->ip_p != IPPROTO_TCP)
+ return;
+
+@@ -151,11 +150,11 @@
+
+ if (ntohs(ip->ip_len) > (ip->ip_hl << 2) + (tcp->th_off << 2)) {
+ if (Opt_icmp)
+- send_icmp_source_quench(*sock, ip);
++ send_icmp_source_quench(l, ip);
+ if (Opt_win)
+- send_tcp_window_advertisement(*sock, ip, tcp);
++ send_tcp_window_advertisement(l, ip, tcp);
+ if (Opt_pmtu)
+- send_icmp_frag_needed(*sock, ip);
++ send_icmp_frag_needed(l, ip);
+ }
+ }
+
+@@ -164,8 +163,10 @@
+ {
+ extern char *optarg;
+ extern int optind;
+- int c, sock;
++ int c;
+ char *intf, *filter, ebuf[PCAP_ERRBUF_SIZE];
++ char libnet_ebuf[LIBNET_ERRBUF_SIZE];
++ libnet_t *l;
+ pcap_t *pd;
+
+ intf = NULL;
+@@ -209,14 +210,14 @@
+ if ((pcap_off = pcap_dloff(pd)) < 0)
+ errx(1, "couldn't determine link layer offset");
+
+- if ((sock = libnet_open_raw_sock(IPPROTO_RAW)) == -1)
++ if ((l = libnet_init(LIBNET_RAW4, intf, libnet_ebuf)) == NULL)
+ errx(1, "couldn't initialize sending");
+
+- libnet_seed_prand();
++ libnet_seed_prand(l);
+
+ warnx("listening on %s [%s]", intf, filter);
+
+- pcap_loop(pd, -1, tcp_nice_cb, (u_char *)&sock);
++ pcap_loop(pd, -1, tcp_nice_cb, (u_char *)l);
+
+ /* NOTREACHED */
+
+--- a/tcp_raw.c 2011-06-19 17:14:06.375999389 -0500
++++ b/tcp_raw.c 2011-06-19 17:15:10.543999375 -0500
+@@ -119,7 +119,7 @@
+ }
+
+ struct iovec *
+-tcp_raw_input(struct libnet_ip_hdr *ip, struct libnet_tcp_hdr *tcp, int len)
++tcp_raw_input(struct libnet_ipv4_hdr *ip, struct libnet_tcp_hdr *tcp, int len)
+ {
+ struct tha tha;
+ struct tcp_conn *conn;
+@@ -131,7 +131,7 @@
+
+ /* Verify TCP checksum. */
+ cksum = tcp->th_sum;
+- libnet_do_checksum((u_char *) ip, IPPROTO_TCP, len);
++ libnet_do_checksum(NULL, (u_char *) ip, IPPROTO_TCP, len);
+
+ if (cksum != tcp->th_sum)
+ return (NULL);
+--- a/tcp_raw.h 2011-06-19 17:14:05.079999389 -0500
++++ b/tcp_raw.h 2011-06-19 17:15:10.547999375 -0500
+@@ -15,7 +15,7 @@
+ u_short sport, u_short dport,
+ u_char *buf, int len);
+
+-struct iovec *tcp_raw_input(struct libnet_ip_hdr *ip,
++struct iovec *tcp_raw_input(struct libnet_ipv4_hdr *ip,
+ struct libnet_tcp_hdr *tcp, int len);
+
+ void tcp_raw_timeout(int timeout, tcp_raw_callback_t callback);
+--- a/trigger.c 2011-06-19 17:14:05.483999389 -0500
++++ b/trigger.c 2011-06-19 17:15:10.551999375 -0500
+@@ -276,7 +276,7 @@
+ }
+
+ void
+-trigger_ip(struct libnet_ip_hdr *ip)
++trigger_ip(struct libnet_ipv4_hdr *ip)
+ {
+ struct trigger *t, tr;
+ u_char *buf;
+@@ -305,7 +305,7 @@
+
+ /* libnids needs a nids_register_udp()... */
+ void
+-trigger_udp(struct libnet_ip_hdr *ip)
++trigger_udp(struct libnet_ipv4_hdr *ip)
+ {
+ struct trigger *t, tr;
+ struct libnet_udp_hdr *udp;
+@@ -437,7 +437,7 @@
+ }
+
+ void
+-trigger_tcp_raw(struct libnet_ip_hdr *ip)
++trigger_tcp_raw(struct libnet_ipv4_hdr *ip)
+ {
+ struct trigger *t, tr;
+ struct libnet_tcp_hdr *tcp;
+--- a/trigger.h 2011-06-19 17:14:04.371999389 -0500
++++ b/trigger.h 2011-06-19 17:15:10.555999375 -0500
+@@ -24,10 +24,10 @@
+ int trigger_set_tcp(int port, char *name);
+ int trigger_set_rpc(int program, char *name);
+
+-void trigger_ip(struct libnet_ip_hdr *ip);
+-void trigger_udp(struct libnet_ip_hdr *ip);
++void trigger_ip(struct libnet_ipv4_hdr *ip);
++void trigger_udp(struct libnet_ipv4_hdr *ip);
+ void trigger_tcp(struct tcp_stream *ts, void **conn_save);
+-void trigger_tcp_raw(struct libnet_ip_hdr *ip);
++void trigger_tcp_raw(struct libnet_ipv4_hdr *ip);
+ void trigger_tcp_raw_timeout(int signal);
+ void trigger_rpc(int program, int proto, int port);
+
+--- a/urlsnarf.c 2011-06-19 17:15:08.631999375 -0500
++++ b/urlsnarf.c 2011-06-19 17:15:10.559999375 -0500
+@@ -145,14 +145,14 @@
+ if (user == NULL)
+ user = "-";
+ if (vhost == NULL)
+- vhost = libnet_host_lookup(addr->daddr, Opt_dns);
++ vhost = libnet_addr2name4(addr->daddr, Opt_dns);
+ if (referer == NULL)
+ referer = "-";
+ if (agent == NULL)
+ agent = "-";
+
+ printf("%s - %s [%s] \"%s http://%s%s\" - - \"%s\" \"%s\"\n",
+- libnet_host_lookup(addr->saddr, Opt_dns),
++ libnet_addr2name4(addr->saddr, Opt_dns),
+ user, timestamp(), req, vhost, uri, referer, agent);
+ }
+ fflush(stdout);
+--- a/webmitm.c 2011-06-19 17:14:07.231999387 -0500
++++ b/webmitm.c 2011-06-19 17:15:10.559999375 -0500
+@@ -242,7 +242,7 @@
+ word = buf_tok(&msg, "/", 1);
+ vhost = buf_strdup(word);
+ }
+- ssin.sin_addr.s_addr = libnet_name_resolve(vhost, 1);
++ ssin.sin_addr.s_addr = libnet_name2addr4(NULL, vhost, 1);
+ free(vhost);
+
+ if (ssin.sin_addr.s_addr == ntohl(INADDR_LOOPBACK) ||
+@@ -510,7 +510,7 @@
+ argv += optind;
+
+ if (argc == 1) {
+- if ((static_host = libnet_name_resolve(argv[0], 1)) == -1)
++ if ((static_host = libnet_name2addr4(NULL, argv[0], 1)) == -1)
+ usage();
+ }
+ else if (argc != 0) usage();
+--- a/webspy.c 2011-06-19 17:15:01.111999376 -0500
++++ b/webspy.c 2011-06-19 17:15:10.563999375 -0500
+@@ -126,7 +126,7 @@
+ if (auth == NULL)
+ auth = "";
+ if (vhost == NULL)
+- vhost = libnet_host_lookup(addr->daddr, 0);
++ vhost = libnet_addr2name4(addr->daddr, 0);
+
+ snprintf(cmd, sizeof(cmd), "openURL(http://%s%s%s%s)",
+ auth, *auth ? "@" : "", vhost, uri);
+@@ -205,7 +205,7 @@
+ cmdtab[0] = cmd;
+ cmdtab[1] = NULL;
+
+- if ((host = libnet_name_resolve(argv[0], 1)) == -1)
++ if ((host = libnet_name2addr4(NULL, argv[0], 1)) == -1)
+ errx(1, "unknown host");
+
+ if ((dpy = XOpenDisplay(NULL)) == NULL)
diff --git a/unmaintained/dsniff/08_checksum.patch b/unmaintained/dsniff/08_checksum.patch
new file mode 100644
index 0000000000..44ece65f61
--- /dev/null
+++ b/unmaintained/dsniff/08_checksum.patch
@@ -0,0 +1,25 @@
+Author: Piotr Engelking <inkerman42@gmail.com>
+Description: Disable the filtering packets with incorrect checksum (Closes: #372536).
+--- a/urlsnarf.c 2011-06-19 17:15:10.559999375 -0500
++++ b/urlsnarf.c 2011-06-19 17:15:18.023999373 -0500
+@@ -200,6 +200,7 @@
+ extern char *optarg;
+ extern int optind;
+ int c;
++ struct nids_chksum_ctl chksum_ctl;
+
+ while ((c = getopt(argc, argv, "i:p:nvh?V")) != -1) {
+ switch (c) {
+@@ -260,6 +261,12 @@
+ }
+ }
+
++ chksum_ctl.netaddr = 0;
++ chksum_ctl.mask = 0;
++ chksum_ctl.action = NIDS_DONT_CHKSUM;
++
++ nids_register_chksum_ctl(&chksum_ctl, 1);
++
+ nids_run();
+
+ /* NOTREACHED */
diff --git a/unmaintained/dsniff/08_openssl-0.9.8.patch b/unmaintained/dsniff/08_openssl-0.9.8.patch
new file mode 100644
index 0000000000..f5f6cacd22
--- /dev/null
+++ b/unmaintained/dsniff/08_openssl-0.9.8.patch
@@ -0,0 +1,12 @@
+Author: <kees@ubuntu.com>
+Description: Fix FTBFS with openssl.
+--- a/ssh.c 2011-06-19 17:14:01.359999389 -0500
++++ b/ssh.c 2011-06-19 17:15:14.343999374 -0500
+@@ -16,6 +16,7 @@
+ #include <openssl/ssl.h>
+ #include <openssl/err.h>
+ #include <openssl/rand.h>
++#include <openssl/md5.h>
+
+ #include <err.h>
+ #include <errno.h>
diff --git a/unmaintained/dsniff/09_sshcrypto.patch b/unmaintained/dsniff/09_sshcrypto.patch
new file mode 100644
index 0000000000..f229c6cd2f
--- /dev/null
+++ b/unmaintained/dsniff/09_sshcrypto.patch
@@ -0,0 +1,14 @@
+Author: Steve Kemp <skx@debian.org>
+Description: Missing openssl includes in sshcrypto.c.
+This patch was through diff.gz and now is implemented as a dpatch.
+--- a/sshcrypto.c 2011-06-19 17:13:57.971999389 -0500
++++ b/sshcrypto.c 2011-06-19 17:15:19.847999373 -0500
+@@ -14,6 +14,8 @@
+
+ #include <sys/types.h>
+ #include <openssl/ssl.h>
++#include <openssl/blowfish.h>
++#include <openssl/des.h>
+
+ #include <err.h>
+ #include <stdio.h>
diff --git a/unmaintained/dsniff/09_sysconf_clocks.patch b/unmaintained/dsniff/09_sysconf_clocks.patch
new file mode 100644
index 0000000000..54ba96dabd
--- /dev/null
+++ b/unmaintained/dsniff/09_sysconf_clocks.patch
@@ -0,0 +1,20 @@
+Author: <kees@ubuntu.com>
+Description: Fix FTBFS: ./sshow.c:226: error: 'CLK_TCK' undeclared.
+--- a/sshow.c 2011-06-19 17:15:01.099999376 -0500
++++ b/sshow.c 2011-06-19 17:15:16.175999374 -0500
+@@ -217,6 +217,7 @@
+ {
+ clock_t delay;
+ int payload;
++ long CLK_TCK= sysconf(_SC_CLK_TCK);
+
+ delay = add_history(session, 0, cipher_size, plain_range);
+
+@@ -265,6 +266,7 @@
+ clock_t delay;
+ int skip;
+ range string_range;
++ long CLK_TCK= sysconf(_SC_CLK_TCK);
+
+ delay = add_history(session, 1, cipher_size, plain_range);
+
diff --git a/unmaintained/dsniff/10_urlsnarf_escape.patch b/unmaintained/dsniff/10_urlsnarf_escape.patch
new file mode 100644
index 0000000000..c1aad38cba
--- /dev/null
+++ b/unmaintained/dsniff/10_urlsnarf_escape.patch
@@ -0,0 +1,85 @@
+Author: Hilko Bengen <bengen@debian.org>
+Description: Escape user, vhost, uri, referer, agent strings in log (Closes: #372536).
+--- a/urlsnarf.c 2011-06-19 17:15:18.023999373 -0500
++++ b/urlsnarf.c 2011-06-19 17:15:21.627999373 -0500
+@@ -84,6 +84,43 @@
+ return (tstr);
+ }
+
++static char *
++escape_log_entry(char *string)
++{
++ char *out;
++ unsigned char *c, *o;
++ size_t len;
++
++ if (!string)
++ return NULL;
++
++ /* Determine needed length */
++ for (c = string, len = 0; *c; c++) {
++ if ((*c < 32) || (*c >= 128))
++ len += 4;
++ else if ((*c == '"') || (*c =='\\'))
++ len += 2;
++ else
++ len++;
++ }
++ out = malloc(len+1);
++ if (!out)
++ return NULL;
++ for (c = string, o = out; *c; c++, o++) {
++ if ((*c < 32) || (*c >= 128)) {
++ snprintf(o, 5, "\\x%02x", *c);
++ o += 3;
++ } else if ((*c == '"') || ((*c =='\\'))) {
++ *(o++) = '\\';
++ *o = *c;
++ } else {
++ *o = *c;
++ }
++ }
++ out[len]='\0';
++ return out;
++}
++
+ static int
+ process_http_request(struct tuple4 *addr, u_char *data, int len)
+ {
+@@ -142,18 +179,26 @@
+ buf_tok(NULL, NULL, i);
+ }
+ }
+- if (user == NULL)
+- user = "-";
+- if (vhost == NULL)
+- vhost = libnet_addr2name4(addr->daddr, Opt_dns);
+- if (referer == NULL)
+- referer = "-";
+- if (agent == NULL)
+- agent = "-";
+-
++ user = escape_log_entry(user);
++ vhost = escape_log_entry(vhost);
++ uri = escape_log_entry(uri);
++ referer = escape_log_entry(referer);
++ agent = escape_log_entry(agent);
++
+ printf("%s - %s [%s] \"%s http://%s%s\" - - \"%s\" \"%s\"\n",
+ libnet_addr2name4(addr->saddr, Opt_dns),
+- user, timestamp(), req, vhost, uri, referer, agent);
++ (user?user:"-"),
++ timestamp(), req,
++ (vhost?vhost:libnet_addr2name4(addr->daddr, Opt_dns)),
++ uri,
++ (referer?referer:"-"),
++ (agent?agent:"-"));
++
++ free(user);
++ free(vhost);
++ free(uri);
++ free(referer);
++ free(agent);
+ }
+ fflush(stdout);
+
diff --git a/unmaintained/dsniff/11_string_header.patch b/unmaintained/dsniff/11_string_header.patch
new file mode 100644
index 0000000000..2b6a7393ff
--- /dev/null
+++ b/unmaintained/dsniff/11_string_header.patch
@@ -0,0 +1,163 @@
+Author: Luciano Bello <luciano@linux.org.ar>
+Description: Aviod the "implicit declaration of function 'str*'" warning
+--- a/arp.c 2011-06-19 17:15:04.587999376 -0500
++++ b/arp.c 2011-06-19 17:15:23.487999372 -0500
+@@ -34,6 +34,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
++#include <string.h>
+
+ #include "arp.h"
+
+--- a/buf.c 2011-06-19 17:13:56.463999389 -0500
++++ b/buf.c 2011-06-19 17:15:23.487999372 -0500
+@@ -17,6 +17,7 @@
+ #include <unistd.h>
+ #include <ctype.h>
+ #include <err.h>
++#include <string.h>
+
+ #include "buf.h"
+
+--- a/decode_nntp.c 2011-06-19 17:13:53.631999390 -0500
++++ b/decode_nntp.c 2011-06-19 17:15:23.491999372 -0500
+@@ -15,6 +15,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcat.h>
+
+ #include "base64.h"
+ #include "decode.h"
+--- a/decode_pop.c 2011-06-19 17:13:54.911999390 -0500
++++ b/decode_pop.c 2011-06-19 17:15:23.495999372 -0500
+@@ -14,6 +14,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcat.h>
+
+ #include "base64.h"
+ #include "options.h"
+--- a/decode_rlogin.c 2011-06-19 17:13:54.431999390 -0500
++++ b/decode_rlogin.c 2011-06-19 17:15:23.495999372 -0500
+@@ -14,6 +14,8 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcpy.h>
++#include <strlcat.h>
+
+ #include "options.h"
+ #include "decode.h"
+--- a/decode_smb.c 2011-06-19 17:13:55.103999390 -0500
++++ b/decode_smb.c 2011-06-19 17:15:23.499999372 -0500
+@@ -15,6 +15,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcat.h>
+
+ #include "decode.h"
+
+--- a/decode_smtp.c 2011-06-19 17:13:54.003999391 -0500
++++ b/decode_smtp.c 2011-06-19 17:15:23.503999372 -0500
+@@ -14,6 +14,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcat.h>
+
+ #include "base64.h"
+ #include "options.h"
+--- a/decode_sniffer.c 2011-06-19 17:13:56.075999390 -0500
++++ b/decode_sniffer.c 2011-06-19 17:15:23.503999372 -0500
+@@ -15,6 +15,8 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcat.h>
++#include <strlcpy.h>
+
+ #include "base64.h"
+ #include "decode.h"
+--- a/decode_socks.c 2011-06-19 17:13:55.271999391 -0500
++++ b/decode_socks.c 2011-06-19 17:15:23.507999372 -0500
+@@ -14,6 +14,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcat.h>
+
+ #include "decode.h"
+
+--- a/decode_tds.c 2011-06-19 17:13:55.899999390 -0500
++++ b/decode_tds.c 2011-06-19 17:15:23.511999372 -0500
+@@ -18,6 +18,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcat.h>
+
+ #include "decode.h"
+
+--- a/decode_telnet.c 2011-06-19 17:13:55.491999391 -0500
++++ b/decode_telnet.c 2011-06-19 17:15:23.515999372 -0500
+@@ -14,6 +14,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcpy.h>
+
+ #include "options.h"
+ #include "decode.h"
+--- a/decode_x11.c 2011-06-19 17:13:53.823999390 -0500
++++ b/decode_x11.c 2011-06-19 17:15:23.515999372 -0500
+@@ -14,6 +14,8 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <strlcat.h>
++#include <strlcpy.h>
+
+ #include "decode.h"
+
+--- a/dnsspoof.c 2011-06-19 17:15:10.515999375 -0500
++++ b/dnsspoof.c 2011-06-19 17:15:23.519999372 -0500
+@@ -20,6 +20,7 @@
+ #include <stdlib.h>
+ #include <signal.h>
+ #include <string.h>
++#include <strlcpy.h>
+ #include <resolv.h>
+ #include <err.h>
+ #include <libnet.h>
+--- a/magic.c 2011-06-19 17:13:55.703999390 -0500
++++ b/magic.c 2011-06-19 17:15:23.523999372 -0500
+@@ -36,6 +36,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <strlcpy.h>
+ #include <ctype.h>
+ #include <time.h>
+ #include <err.h>
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ b/missing/strlcat.h 2011-06-19 17:15:23.527999372 -0500
+@@ -0,0 +1 @@
++size_t strlcat(char *dst, const char *src, size_t siz);
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ b/missing/strlcpy.h 2011-06-19 17:15:23.531999372 -0500
+@@ -0,0 +1 @@
++size_t strlcpy(char *dst, const char *src, size_t siz);
+--- a/sshmitm.c 2011-06-19 17:15:10.527999375 -0500
++++ b/sshmitm.c 2011-06-19 17:15:23.531999372 -0500
+@@ -24,6 +24,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
++#include <strlcat.h>
+
+ #include "buf.h"
+ #include "record.h"
diff --git a/unmaintained/dsniff/12_arpa_inet_header.patch b/unmaintained/dsniff/12_arpa_inet_header.patch
new file mode 100644
index 0000000000..3ce041f86f
--- /dev/null
+++ b/unmaintained/dsniff/12_arpa_inet_header.patch
@@ -0,0 +1,62 @@
+Author: Luciano Bello <luciano@linux.org.ar>
+Description: aviod the "implicit declaration of function 'ntohs'" warning
+--- a/decode_aim.c 2011-06-19 17:13:50.503999391 -0500
++++ b/decode_aim.c 2011-06-19 17:15:27.267999371 -0500
+@@ -14,6 +14,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <arpa/inet.h>
+
+ #include "hex.h"
+ #include "buf.h"
+--- a/decode_mmxp.c 2011-06-19 17:13:50.323999391 -0500
++++ b/decode_mmxp.c 2011-06-19 17:15:27.271999371 -0500
+@@ -21,6 +21,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <arpa/inet.h>
+
+ #include "buf.h"
+ #include "decode.h"
+--- a/decode_pptp.c 2011-06-19 17:13:50.687999391 -0500
++++ b/decode_pptp.c 2011-06-19 17:15:27.275999371 -0500
+@@ -16,6 +16,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <arpa/inet.h>
+
+ #include "buf.h"
+ #include "decode.h"
+--- a/decode_tds.c 2011-06-19 17:15:23.511999372 -0500
++++ b/decode_tds.c 2011-06-19 17:15:27.275999371 -0500
+@@ -19,6 +19,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <strlcat.h>
++#include <arpa/inet.h>
+
+ #include "decode.h"
+
+--- a/decode_vrrp.c 2011-06-19 17:13:51.243999390 -0500
++++ b/decode_vrrp.c 2011-06-19 17:15:27.287999371 -0500
+@@ -15,6 +15,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <arpa/inet.h>
+
+ #include "buf.h"
+ #include "decode.h"
+--- a/ssh.c 2011-06-19 17:15:14.343999374 -0500
++++ b/ssh.c 2011-06-19 17:15:27.291999371 -0500
+@@ -23,6 +23,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <arpa/inet.h>
+ #include <unistd.h>
+
+ #include "hex.h"
diff --git a/unmaintained/dsniff/13_pop_with_version.patch b/unmaintained/dsniff/13_pop_with_version.patch
new file mode 100644
index 0000000000..7c16cd12bb
--- /dev/null
+++ b/unmaintained/dsniff/13_pop_with_version.patch
@@ -0,0 +1,27 @@
+Author: Luciano Bello <luciano@linux.org.ar>
+Description: distinguish between pop versions
+--- a/decode.c 2011-06-19 17:13:48.679999392 -0500
++++ b/decode.c 2011-06-19 17:15:29.771999369 -0500
+@@ -63,7 +63,8 @@
+ { "http", decode_http },
+ { "ospf", decode_ospf },
+ { "poppass", decode_poppass },
+- { "pop", decode_pop },
++ { "pop2", decode_pop },
++ { "pop3", decode_pop },
+ { "nntp", decode_nntp },
+ { "smb", decode_smb },
+ { "imap", decode_imap },
+--- a/dsniff.services 2011-06-19 17:13:48.883999392 -0500
++++ b/dsniff.services 2011-06-19 17:15:29.799999369 -0500
+@@ -10,8 +10,8 @@
+ ospf 89/ip
+ http 98/tcp
+ poppass 106/tcp
+-pop 109/tcp
+-pop 110/tcp
++pop2 109/tcp
++pop3 110/tcp
+ portmap 111/tcp
+ portmap -111/tcp
+ portmap 111/udp
diff --git a/unmaintained/dsniff/14_obsolete_time.patch b/unmaintained/dsniff/14_obsolete_time.patch
new file mode 100644
index 0000000000..a1a787f3f3
--- /dev/null
+++ b/unmaintained/dsniff/14_obsolete_time.patch
@@ -0,0 +1,33 @@
+Author: Luciano Bello <luciano@linux.org.ar>
+Description: According to /usr/include/time.h, CLK_TCK is the
+"obsolete POSIX.1-1988 name" for CLOCKS_PER_SEC.
+Closes #420944
+--- a/sshow.c 2011-06-19 17:15:16.175999374 -0500
++++ b/sshow.c 2011-06-19 17:15:31.875999369 -0500
+@@ -224,7 +224,7 @@
+ if (debug)
+ printf("- %s -> %s: DATA (%s bytes, %.2f seconds)\n",
+ s_saddr(ts), s_daddr(ts), s_range(plain_range),
+- (float)delay / CLK_TCK);
++ (float)delay / CLOCKS_PER_SEC);
+ if (debug > 1)
+ print_data(&ts->server, cipher_size);
+
+@@ -273,7 +273,7 @@
+ if (debug)
+ printf("- %s <- %s: DATA (%s bytes, %.2f seconds)\n",
+ s_saddr(ts), s_daddr(ts), s_range(plain_range),
+- (float)delay / CLK_TCK);
++ (float)delay / CLOCKS_PER_SEC);
+ if (debug > 1)
+ print_data(&ts->client, cipher_size);
+
+@@ -302,7 +302,7 @@
+
+ if (session->state == 1 &&
+ #ifdef USE_TIMING
+- now - get_history(session, 2)->timestamp >= CLK_TCK &&
++ now - get_history(session, 2)->timestamp >= CLOCKS_PER_SEC &&
+ #endif
+ session->protocol == 1 &&
+ (session->history.directions & 7) == 5 &&
diff --git a/unmaintained/dsniff/15_checksum_libnids.patch b/unmaintained/dsniff/15_checksum_libnids.patch
new file mode 100644
index 0000000000..adaa67c9f0
--- /dev/null
+++ b/unmaintained/dsniff/15_checksum_libnids.patch
@@ -0,0 +1,94 @@
+Author: Gleb Paharenko <gpaharenko@gmail.com>
+Description: Workaround to #420129.
+--- a/dsniff.c 2011-06-19 17:15:01.071999376 -0500
++++ b/dsniff.c 2011-06-19 17:15:33.707999369 -0500
+@@ -70,6 +70,80 @@
+ {
+ }
+
++
++static int get_all_ifaces(struct ifreq **, int *);
++static unsigned int get_addr_from_ifreq(struct ifreq *);
++
++int all_local_ipaddrs_chksum_disable()
++{
++ struct ifreq *ifaces;
++ int ifaces_count;
++ int i, ind = 0;
++ struct nids_chksum_ctl *ctlp;
++ unsigned int tmp;
++
++ if (!get_all_ifaces(&ifaces, &ifaces_count))
++ return -1;
++ ctlp =
++ (struct nids_chksum_ctl *) malloc(ifaces_count *
++ sizeof(struct
++ nids_chksum_ctl));
++ if (!ctlp)
++ return -1;
++ for (i = 0; i < ifaces_count; i++) {
++ tmp = get_addr_from_ifreq(ifaces + i);
++ if (tmp) {
++ ctlp[ind].netaddr = tmp;
++ ctlp[ind].mask = inet_addr("255.255.255.255");
++ ctlp[ind].action = NIDS_DONT_CHKSUM;
++ ind++;
++ }
++ }
++ free(ifaces);
++ nids_register_chksum_ctl(ctlp, ind);
++}
++
++/* helper functions for Example 2 */
++unsigned int get_addr_from_ifreq(struct ifreq *iface)
++{
++ if (iface->ifr_addr.sa_family == AF_INET)
++ return ((struct sockaddr_in *) &(iface->ifr_addr))->
++ sin_addr.s_addr;
++ return 0;
++}
++
++static int get_all_ifaces(struct ifreq **ifaces, int *count)
++{
++ int ifaces_size = 8 * sizeof(struct ifreq);
++ struct ifconf param;
++ int sock;
++ unsigned int i;
++
++ *ifaces = malloc(ifaces_size);
++ sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_IP);
++ if (sock <= 0)
++ return 0;
++ for (;;) {
++ param.ifc_len = ifaces_size;
++ param.ifc_req = *ifaces;
++ if (ioctl(sock, SIOCGIFCONF, &param))
++ goto err;
++ if (param.ifc_len < ifaces_size)
++ break;
++ free(*ifaces);
++ ifaces_size *= 2;
++ ifaces = malloc(ifaces_size);
++ }
++ *count = param.ifc_len / sizeof(struct ifreq);
++ close(sock);
++ return 1;
++ err:
++ close(sock);
++ return 0;
++}
++
++
++
+ int
+ main(int argc, char *argv[])
+ {
+@@ -189,6 +263,8 @@
+ warnx("using %s", nids_params.filename);
+ }
+ }
++
++ all_local_ipaddrs_chksum_disable();
+
+ nids_run();
+
diff --git a/unmaintained/dsniff/16_TDS_decoder.patch b/unmaintained/dsniff/16_TDS_decoder.patch
new file mode 100644
index 0000000000..4bca9355a3
--- /dev/null
+++ b/unmaintained/dsniff/16_TDS_decoder.patch
@@ -0,0 +1,16 @@
+Author: Luciano Bello <luciano@debian.org>
+Description: Patch provided by Hilko Bengen. #609988.
+--- a/decode_tds.c
++++ b/decode_tds.c
+@@ -144,6 +144,11 @@
+ len > sizeof(*th) && len >= ntohs(th->size);
+ buf += ntohs(th->size), len -= ntohs(th->size)) {
+
++ if (th->size != 8) {
++ /* wrong header length */
++ break;
++ }
++
+ if (th->type == 2) {
+ /* Version 4.x, 5.0 */
+ if (len < sizeof(*th) + sizeof(*tl))
diff --git a/unmaintained/dsniff/20_debian_dirs.patch b/unmaintained/dsniff/20_debian_dirs.patch
new file mode 100644
index 0000000000..05f55b83d2
--- /dev/null
+++ b/unmaintained/dsniff/20_debian_dirs.patch
@@ -0,0 +1,59 @@
+Author: Steve Kemp <skx@debian.org>
+Description: Adapt to Debian directory structure.
+--- a/Makefile.in 2011-06-19 17:13:45.651999392 -0500
++++ b/Makefile.in 2011-06-19 17:15:37.407999368 -0500
+@@ -11,7 +11,7 @@
+ install_prefix =
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+-libdir = @libdir@
++libdir = $(prefix)/share/dsniff
+ sbindir = @sbindir@
+ mandir = @mandir@
+
+@@ -37,8 +37,7 @@
+ X11INC = @X_CFLAGS@
+ X11LIB = @X_LIBS@ @X_PRE_LIBS@ -lXmu -lX11 @X_EXTRA_LIBS@
+
+-INCS = -I. $(NIDSINC) $(PCAPINC) $(LNETINC) $(DBINC) $(SSLINC) $(X11INC) \
+- -I$(srcdir)/missing
++INCS = -I. $(X11INC) -I$(srcdir)/missing
+ LIBS = @LIBS@ -L$(srcdir) -lmissing
+
+ INSTALL = @INSTALL@
+--- a/dnsspoof.8 2011-06-19 17:13:46.019999392 -0500
++++ b/dnsspoof.8 2011-06-19 17:15:37.423999369 -0500
+@@ -31,7 +31,7 @@
+ address queries on the LAN with an answer of the local machine's IP
+ address.
+ .SH FILES
+-.IP \fI/usr/local/lib/dnsspoof.hosts\fR
++.IP \fI/usr/share/dsniff/dnsspoof.hosts\fR
+ Sample hosts file.
+ .SH "SEE ALSO"
+ dsniff(8), hosts(5)
+--- a/dsniff.8 2011-06-19 17:15:01.067999376 -0500
++++ b/dsniff.8 2011-06-19 17:15:37.427999369 -0500
+@@ -68,9 +68,9 @@
+ On a hangup signal \fBdsniff\fR will dump its current trigger table to
+ \fIdsniff.services\fR.
+ .SH FILES
+-.IP \fI/usr/local/lib/dsniff.services\fR
++.IP \fI/usr/share/dsniff/dsniff.services\fR
+ Default trigger table
+-.IP \fI/usr/local/lib/dsniff.magic\fR
++.IP \fI/usr/share/dsniff/dsniff.magic\fR
+ Network protocol magic
+ .SH "SEE ALSO"
+ arpspoof(8), libnids(3), services(5), magic(5)
+--- a/pathnames.h 2011-06-19 17:13:46.219999392 -0500
++++ b/pathnames.h 2011-06-19 17:15:37.431999369 -0500
+@@ -12,7 +12,7 @@
+ #define PATHNAMES_H
+
+ #ifndef DSNIFF_LIBDIR
+-#define DSNIFF_LIBDIR "/usr/local/lib/"
++#define DSNIFF_LIBDIR "/usr/share/dsniff/"
+ #endif
+
+ #define DSNIFF_SERVICES "dsniff.services"
diff --git a/unmaintained/dsniff/21_msgsnarf_segfault.patch b/unmaintained/dsniff/21_msgsnarf_segfault.patch
new file mode 100644
index 0000000000..9df3f99927
--- /dev/null
+++ b/unmaintained/dsniff/21_msgsnarf_segfault.patch
@@ -0,0 +1,12 @@
+Author: <bdefreese@debian2.bddebian.com>
+Description: Correctly 0 out the c struct.
+--- a/msgsnarf.c 2011-06-19 17:15:01.091999376 -0500
++++ b/msgsnarf.c 2011-06-19 17:15:39.739999369 -0500
+@@ -584,6 +584,7 @@
+ if (i == 0) {
+ if ((c = malloc(sizeof(*c))) == NULL)
+ nids_params.no_mem("sniff_msgs");
++ memset(c, 0, sizeof(*c));
+ c->ip = ts->addr.saddr;
+ c->nick = strdup("unknown");
+ SLIST_INSERT_HEAD(&client_list, c, next);
diff --git a/unmaintained/dsniff/22_handlepp.patch b/unmaintained/dsniff/22_handlepp.patch
new file mode 100644
index 0000000000..e4a4d22218
--- /dev/null
+++ b/unmaintained/dsniff/22_handlepp.patch
@@ -0,0 +1,14 @@
+Author: Joerg Dorchain <joerg@dorchain.net>
+Description: Add tcpkill support for handle ppp interfaces.
+--- a/pcaputil.c 2011-06-19 17:13:44.419999392 -0500
++++ b/pcaputil.c 2011-06-19 17:15:41.607999368 -0500
+@@ -52,6 +52,9 @@
+ case DLT_NULL:
+ offset = 4;
+ break;
++ case DLT_LINUX_SLL: /* e.g. ppp */
++ offset = 16;
++ break;
+ default:
+ warnx("unsupported datalink type");
+ break;
diff --git a/unmaintained/dsniff/23_urlsnarf_timestamp.patch b/unmaintained/dsniff/23_urlsnarf_timestamp.patch
new file mode 100644
index 0000000000..f259efe1e3
--- /dev/null
+++ b/unmaintained/dsniff/23_urlsnarf_timestamp.patch
@@ -0,0 +1,78 @@
+Author: Hilko Bengen <bengen@debian.org>
+Description: urlsnarf: use timestamps from pcap file if available. Closes: #573365
+--- a/urlsnarf.c 2011-06-19 17:15:21.627999373 -0500
++++ b/urlsnarf.c 2011-06-19 17:15:43.411999368 -0500
+@@ -36,6 +36,7 @@
+ u_short Opt_dns = 1;
+ int Opt_invert = 0;
+ regex_t *pregex = NULL;
++time_t tt = 0;
+
+ static void
+ usage(void)
+@@ -57,9 +58,12 @@ timestamp(void)
+ {
+ static char tstr[32], sign;
+ struct tm *t, gmt;
+- time_t tt = time(NULL);
+ int days, hours, tz, len;
+
++ if (!nids_params.filename) {
++ tt = time(NULL);
++ }
++
+ gmt = *gmtime(&tt);
+ t = localtime(&tt);
+
+@@ -312,9 +316,48 @@ main(int argc, char *argv[])
+
+ nids_register_chksum_ctl(&chksum_ctl, 1);
+
+- nids_run();
+-
+- /* NOTREACHED */
++ pcap_t *p;
++ char pcap_errbuf[PCAP_ERRBUF_SIZE];
++ if (nids_params.filename == NULL) {
++ /* adapted from libnids.c:open_live() */
++ if (strcmp(nids_params.device, "all") == 0)
++ nids_params.device = "any";
++ p = pcap_open_live(nids_params.device, 16384,
++ (nids_params.promisc != 0),
++ 0, pcap_errbuf);
++ if (!p) {
++ fprintf(stderr, "pcap_open_live(): %s\n",
++ pcap_errbuf);
++ exit(1);
++ }
++ }
++ else {
++ p = pcap_open_offline(nids_params.filename,
++ pcap_errbuf);
++ if (!p) {
++ fprintf(stderr, "pcap_open_offline(%s): %s\n",
++ nids_params.filename, pcap_errbuf);
++ }
++ }
++
++ struct pcap_pkthdr *h;
++ u_char *d;
++ int rc;
++ while ((rc = pcap_next_ex(p, &h, &d)) == 1) {
++ tt = h->ts.tv_sec;
++ nids_pcap_handler(NULL, h, d);
++ }
++ switch (rc) {
++ case(-2): /* end of pcap file */
++ case(0): /* timeout on live capture */
++ break;
++ case(-1):
++ default:
++ fprintf(stderr, "rc = %i\n", rc);
++ pcap_perror(p, "pcap_read_ex()");
++ exit(1);
++ break;
++ }
+
+ exit(0);
+ }
diff --git a/unmaintained/dsniff/APKBUILD b/unmaintained/dsniff/APKBUILD
new file mode 100644
index 0000000000..9ed12247c1
--- /dev/null
+++ b/unmaintained/dsniff/APKBUILD
@@ -0,0 +1,165 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=dsniff
+pkgver=2.4b1
+pkgrel=1
+pkgdesc="dsniff is a collection of tools for network auditing and penetration testing"
+url="http://www.monkey.org/~dugsong/dsniff/"
+arch="x86_64 armhf"
+license="BSD"
+depends=""
+depends_dev="openssl-dev libpcap-dev libxmu-dev libnet-dev \
+ glib-dev db-dev libnids-dev bsd-compat-headers libtirpc-dev \
+ linux-headers portablexdr-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://www.monkey.org/~dugsong/$pkgname/beta/$pkgname-$pkgver.tar.gz
+ 0001-rewrite-and-modernize-POP-decoder.patch
+ 01_time.h.patch
+ 02_mailsnarf_corrupt.patch
+ 03_pcap_read_dump.patch
+ 04_multiple_intf.patch
+ 05_amd64_fix.patch
+ 06_urlsnarf_zeropad.patch
+ 07_libnet_1.1.patch
+ 08_checksum.patch
+ 08_openssl-0.9.8.patch
+ 09_sshcrypto.patch
+ 09_sysconf_clocks.patch
+ 10_urlsnarf_escape.patch
+ 11_string_header.patch
+ 12_arpa_inet_header.patch
+ 13_pop_with_version.patch
+ 14_obsolete_time.patch
+ 15_checksum_libnids.patch
+ 16_TDS_decoder.patch
+ 20_debian_dirs.patch
+ 21_msgsnarf_segfault.patch
+ 22_handlepp.patch
+ 23_urlsnarf_timestamp.patch
+ dsniff-rpc.patch
+ dsniff-xcompile.patch
+ 0001-arpspoof-add-r-switch-to-poison-both-directions.patch
+ 0002-arpspoof-allow-use-of-of-multiple-targets.patch
+ 0003-arpspoof-allow-selection-of-source-hw-address.patch
+ 0004-arpspoof-mac-include.patch"
+
+_builddir=$srcdir/$pkgname-2.4
+
+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"
+ LDFLAGS="-lresolv -lglib-2.0 -lgthread-2.0 -lportablexdr $LDFLAGS" \
+ ./configure \
+ --prefix="/usr" \
+ --mandir=/usr/share
+ make -j1
+}
+
+package() {
+ cd "$_builddir"
+ make install_prefix="$pkgdir" install
+ install -D -m0644 LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE
+ install -d "$pkgdir"/usr/share
+}
+
+md5sums="2f761fa3475682a7512b0b43568ee7d6 dsniff-2.4b1.tar.gz
+91d36e7747dec8d2fb6ed895aa830412 0001-rewrite-and-modernize-POP-decoder.patch
+27831926f40cb98d4b3adaaf90bbc6c6 01_time.h.patch
+b4b8aecb3eea7fd3bd0ae162fea4c0a1 02_mailsnarf_corrupt.patch
+7f91d8f8d4cf0075e8ffeb094e081610 03_pcap_read_dump.patch
+968888514c5c2a9af987f4cceb4ac9fa 04_multiple_intf.patch
+ce96f87fda1e59aef78fb485bcea79c6 05_amd64_fix.patch
+a4d552b87f446bfc3bde8d2e9578f20a 06_urlsnarf_zeropad.patch
+92f6fada68fe740bd487a6fc70169bdb 07_libnet_1.1.patch
+dc940de59dac1481adb3526ae4cdd732 08_checksum.patch
+4945f60a05838c2fd8168070e29ee111 08_openssl-0.9.8.patch
+584d08f4388ec72fc6f47a0ed02d7932 09_sshcrypto.patch
+12934d619adbdb2a0a9ef7009aa81950 09_sysconf_clocks.patch
+858ae43484d72a529be8e5b8dc6062fe 10_urlsnarf_escape.patch
+5d3ef271543bb552e46c3f7c1b3be258 11_string_header.patch
+4007bb7add77f089de501c4b466e4f1c 12_arpa_inet_header.patch
+9c10e5e6feb270e23590cf65f2996d5f 13_pop_with_version.patch
+6cd321083dbf87b2f12bc598c961c0e5 14_obsolete_time.patch
+3d1a71e25672923f7a2c515d500e974d 15_checksum_libnids.patch
+90b24d2ac3c6280304dc5ed419c6b492 16_TDS_decoder.patch
+e5ce452fef42833108b79aef1ea8b02c 20_debian_dirs.patch
+88dbf13a3741de475b25bd7b25fd13a5 21_msgsnarf_segfault.patch
+79e77c84b9a5316daf5c5c282ad4a375 22_handlepp.patch
+642e3447330d21dea5fa69cef17da64b 23_urlsnarf_timestamp.patch
+8b333c8092738cc436f9eb3d1461087f dsniff-rpc.patch
+1c6765668641905dd62bfb25c7997aa5 dsniff-xcompile.patch
+fbc9a39ef2e888e62cdc5b7a0b4ad55a 0001-arpspoof-add-r-switch-to-poison-both-directions.patch
+2f537f89ae9262925118b3ec3282ffe2 0002-arpspoof-allow-use-of-of-multiple-targets.patch
+24b0e3add6ab4940aa49de3fb6743066 0003-arpspoof-allow-selection-of-source-hw-address.patch
+85d9f0065dc1c738da6498b56866f719 0004-arpspoof-mac-include.patch"
+sha256sums="a9803a7a02ddfe5fb9704ce86f0ffc48453c321e88db85810db411ba0841152a dsniff-2.4b1.tar.gz
+9d5178458b0fc714b267912d875166483cf21fdde142e27353db9018328ed421 0001-rewrite-and-modernize-POP-decoder.patch
+edf263eba3c27b1f13112e0ddac86fb858ed793a7710af162b9af3f5209b82ff 01_time.h.patch
+58f5ab7b2751bcc384f94572340560a7c015b76a7204a3f8cc16356e176f2178 02_mailsnarf_corrupt.patch
+96712a03b7663c17aadf61bb91aa3ca73bb93c39d08849596ed7dea236c48853 03_pcap_read_dump.patch
+1cebf870fc5894cd2c205e265337b0c6ec34da22b5857b680e0b58dcc7683866 04_multiple_intf.patch
+afc4a848c624facd2a6b61d372dab740a5a1274c467be6fbee107292800a8bcf 05_amd64_fix.patch
+c9d0bea7ce548ff2254d860ca611759911637532d254d61231a9407268ea4574 06_urlsnarf_zeropad.patch
+0631f50e9401a66da3becfc2606d959f04de522dd466c28425386f889a35bd49 07_libnet_1.1.patch
+4801b61e6576186a43672cbc6b3bdfdc807f3e9edbb0fc67b60275aec6de4bbc 08_checksum.patch
+b13c63a1dc397ab9dcc30dd752a8c61f9f5dfca147308e12f610beaa7cbf0b26 08_openssl-0.9.8.patch
+6abaeaf5be99bdf9fa4f8e259bd1ed140bfa2dc675bc3d151c005ac51785bbff 09_sshcrypto.patch
+b44d9e17a6622dee71e10e3314581f27dd580c631ccf6a453547b58ac7e2c9fa 09_sysconf_clocks.patch
+a1aec0931ab00e74ca87e95992073667d5759045f285f5ee4051941128bc611d 10_urlsnarf_escape.patch
+7c330337839d87499dbae1b7a4bb9ee328b94194f5736dac1daab49637e62248 11_string_header.patch
+dca463ee66dec2922c35362016a6896a56f1dda2885d0a1a3f4a07019615bc79 12_arpa_inet_header.patch
+67fa84845dc1dfacad55e3879762ace8f5e0eee615f5592528a16db5c4ec1c66 13_pop_with_version.patch
+807d4cacaeb2fb6800883e488f8605ba96d6b33903f2be07153bbf1b4bc1ab0d 14_obsolete_time.patch
+2aa6ef949cae80d6af95db835a70ec35a6fa48befdaf02e31796b5b4a2aa3e94 15_checksum_libnids.patch
+56f254219704d7cb53b29b968152050190117b8b57d2feec392094ea46f317ab 16_TDS_decoder.patch
+0d53b676860c1e69b1e93319f56833d1f05855615ace2c05f2e6658b8a219f41 20_debian_dirs.patch
+77fcfff3adf0c8451e1cf82630f835dc8eb74884b75d38c17c3dd973e226f37b 21_msgsnarf_segfault.patch
+8aab402095a1257bb8f9fdd25c6ea7edd3d77a98a7290cda75a9200a53fb4baa 22_handlepp.patch
+3dfe485d08aff96bf6e8f816c596e96cb4b2142bb78aceeebc1fa3fff623fe43 23_urlsnarf_timestamp.patch
+f7d32877e072863ef8cf2815e524134a4a6d55ecfeb9ea35829e0f80c192d73f dsniff-rpc.patch
+7d9ee48a35547462c63f01d7e39c2da5d841555e1cdce77e70582ab5c97a7e0f dsniff-xcompile.patch
+3e2d3a1bb43494a35130a841c35a94dfef26b91dc1ca9ee7b3550a76d8067aa0 0001-arpspoof-add-r-switch-to-poison-both-directions.patch
+62e3f6b45e2ef62bf4c2377aa71fabc93c4ba58d683cabea53f2744e6212b19c 0002-arpspoof-allow-use-of-of-multiple-targets.patch
+a0e421cadac515e5af70aa68ea3d9ecccb3a26ebeeab2432dc94d89f47dbb2ee 0003-arpspoof-allow-selection-of-source-hw-address.patch
+53d690704b176f143f61ecda7533466de3fba9de5470fece0dbd5fcd6ca3c996 0004-arpspoof-mac-include.patch"
+sha512sums="62dafab293de6dc3e9b01561b3627d63ca334467c01c3550a6318d8bcbe99d5a301ec16967af34065a14e8bca1c4b6a41da766cbd51ebd8338615b950c4f642f dsniff-2.4b1.tar.gz
+915baababfeac98de7586579c5b1f615e7698ef43473cefdef6859e799eb4100034bd35b4d4e02b269f796c06fd334a9b224e86b6fa5c2cdb7fb96baa4b50cb6 0001-rewrite-and-modernize-POP-decoder.patch
+cf6bd7530bd58dad61b4957673d438be85904fe9d7dfa6b252363a7f0340978a354ab3bcdf9c0bb69d0a53844476bbc963be71440dcddc6efbc86f6edae4e0e8 01_time.h.patch
+c3980e60335602065d3a796caa27bf46e9eb1a1502f8caad37c7e86eca1b1981d90ce306114011595d3a5c07e34a4e1a0c8f745169f6764c50ca9719459aad1d 02_mailsnarf_corrupt.patch
+bcc2e52d8cb3cbcaf2a2ab1ea3dd49cdf18aef9a46a09751fc7784bfc4963a244365b5d9d8e78ed5912eef8d449e51a46a7168e628bc8223ca60e22b54665fea 03_pcap_read_dump.patch
+39322ca53852026d57e5f389aa419a34612690748443d492f7d67122ef6420ad82edf1746fee2e9d8db837f4a5b2e44f94fcd8dd6c050346e0b30562777b883d 04_multiple_intf.patch
+e5319e0797b7cf9e77c1e60bd86295ea972896f35b5157eaeb20a65f076c2dea2c61dc854cc39642619945206cfccacb3c19ea68667887f0bc1f40097fbd502e 05_amd64_fix.patch
+b612c951722dbdeba95f9014b7c1bbb28af00f558eafaf3255e32652481db3c685c4c2957e330541d16e65314ef5c4c1902899e09b7f1805b5f7855bccf59c0a 06_urlsnarf_zeropad.patch
+50cef510bc056dce6a5c25787f01ac2edc399adc58e43558d2cde15e4538f0dacd44465ca0d0f90f3fbb16ea6f63e795a43aa09d1a62dc45b312ef0de61abb0f 07_libnet_1.1.patch
+f08552e2bd549b05a91e094432dc593c00896508cf161af1bb08e7c60f13e7a674eb6af9a3bfca268cdc8a8281b5f966d94e6b068e9fcf5bc6c5ed6e58d5b3fe 08_checksum.patch
+2123916a44db960df19dde7f77b1066135a9b3aad8351b407896b494fca99e72916829560749b29372f254d046571d59c0f48c6cdd57b63ed839dc63f6640b36 08_openssl-0.9.8.patch
+e5f043cfa684bfb6ebbe711fdb9b1af801aa8ff967b013fc1520b54626ef8edddee311a60cc9cbe89086b8c4aa962ae658821754e6584f632b4b393b258fdb5d 09_sshcrypto.patch
+acd4f1551c12d29e67848210dd08876d3a0e948f5f1ab995a0dd12684a78ac8df382739d69058eaeb454f584ce26c1a43c597f5bd4668c2855bc9a6ef4e1ea90 09_sysconf_clocks.patch
+1467f75d2e77705b622273a39810b4228f7b767f4219d1b4acca6450b8f0fbb12f47e162a5d251df6f1de001645b8cf194a4795457d8f390a42dff9ce7c284f2 10_urlsnarf_escape.patch
+ba5543784b692c7fcd8147ff5d1036867ee4d01ccb1dd252867ba317bc24b7bee238147033b9c57e393ac4b4c6f9f250a819816ab918fb45d44c7b249c775234 11_string_header.patch
+7d3fd53ce55a6d4b7c0a4150712fabe233e1ba818b18a4402d6aea7ace32d9b67956b00f93cd607ba9815a5fd7fe978a489844b8fa7bd1e1154e21c2b96f4491 12_arpa_inet_header.patch
+bd956a4ff665ac3181a3e4f4c589d0ba561d05e124b1c98bbf2a057060bedae8f4f2d91de917f36c2b31222a6fc17fd6e7ddefc31f1774327e192fbf3ad6b463 13_pop_with_version.patch
+c73e9ef34e3882ce618473191f8448567d6c61dda9122269a4734097a3cc86ac2dd384df79cd9af4c955587de05bd8724997e50791f53a5fcdaacabcc4038cbb 14_obsolete_time.patch
+c7aa23f46ab8e4ddcdeb38322810b2ed1299868c94e14a10a97f271ace05f9e3e8fd2ddf85c520140a01013a1ccca912fd1a1ef22a59832c798a1292befb97aa 15_checksum_libnids.patch
+16144a7f32bd7b9538f21fad0be73b172a3a7afe130e79490ddb0f510cec67e67c2d71bf961c4ccad95cbc59d725e29a0c0000b62ca9d0bd059b29ec0fdc07b9 16_TDS_decoder.patch
+cb3fa450cc066895bc516233884c444a8a17af7376cd2bae48cb890dd742dffe0a98a397f2f6f100f680b80399c5812d9705383291c3c2450be93a1b86a65fa4 20_debian_dirs.patch
+18b727a2f77d5be5ca3648ce1875bfaa299d37ea6477752e54daad62797c78214518470f817a6607b4f2ff10a3c89398115019e81b3f47d02f4d26909fc6a5bd 21_msgsnarf_segfault.patch
+e3f4590910bd31280da8b5664b3bad4fb6f7b5da0c61f9841d5bc87ef5bf3fdb824b1d7e2e2cc8a1d446e81e2afca3c503b1ea60102ea08d415d0feae18c0bbc 22_handlepp.patch
+a2eebbe577c6c7a7a6b89eb53971ecc243b36ae42a65bc783936f6cec1d29366c0074e3f7c89728c3e94034e5018f2e9533a2a78fe6e1c839b57208cfd415e52 23_urlsnarf_timestamp.patch
+b5e4a4f347b236fb97d7bafe86306cdbda381673fc4e90ab727fe4f13b5246a7874d0f8b5c02fb6a6d5778e124edc4a140e7bdd666c29399c44f2694238b0061 dsniff-rpc.patch
+b5a9e4133640f5eb3d08a6e9b9f4d7550d3d32fd937c8beb5e6fd5a35e3cf7ba7c8d5dd7ed1597e50c312af8aa792dc4bc9ecc61693fd7b0d449940e93b5b30d dsniff-xcompile.patch
+c360f83d0d52b88acee21f3d3bbde55ed132e19b003bdb7d6edaf0d4a2fc3e6ac9b69c983ebb8be6548465f98728983a9ed7786cb2b052fa6c0769593b470aa2 0001-arpspoof-add-r-switch-to-poison-both-directions.patch
+6fe3863ec30fc1d27f3f81cb954307b6f17752cf0b107f915ccc83096f9866e83a70e6a005ef7174074e7d2b65b2ffad5339d1df9137af002d94b0dd69739b61 0002-arpspoof-allow-use-of-of-multiple-targets.patch
+16bed71ca79a4f5eb74f67f834f0fea5819f0a9300ec2687a67d22bc6acb81dcf36fcf9c2e0d2503c7cc625d810706003d6d1639772fc469b827428333bf9cb1 0003-arpspoof-allow-selection-of-source-hw-address.patch
+c6a75d0300fbccc72143ea6e553b8a25beb17c60870bb4b4cbbc5ba348205af51bdff0669ffe6f5e69c5df80d3f276d88c974c7d604a93a2b3231f9e4c8cb56c 0004-arpspoof-mac-include.patch"
diff --git a/unmaintained/dsniff/dsniff-rpc.patch b/unmaintained/dsniff/dsniff-rpc.patch
new file mode 100644
index 0000000000..17e11cebda
--- /dev/null
+++ b/unmaintained/dsniff/dsniff-rpc.patch
@@ -0,0 +1,92 @@
+this patch removes the functionality that depends on sun rpc,
+which either cannot be implemented using the portablexdr rpc
+replacement library, or depend on the host rpcgen utility
+to generate some headers and source files.
+
+it should be possible to build some of the disabled files
+(for example decoding of NFS packets) with rpcgen installed
+on the host; however i think it's too much of a burden to
+force the crosscompile user to install portablexdr on his host
+as well (to get the utility).
+a viable alternative could be to generate those files on a host
+with rpcgen installed and ship them together with the package.
+
+there's still functionality using rpc enabled, since the entire
+file logging infrastructure uses xdr structures and functions
+to store records, fortunately this functionality is provided
+by portablexdr.
+
+additionally it disables build of the obsolete sshmitm utility.
+obsolete because noone uses SSHv1 anymore.
+the reason for disabling it is that it uses deprecated DES
+functions/types from openssh which are disabled in our build,
+causing the build to fail.
+
+--- dsniff-2.4.org/Makefile.in 2014-08-13 00:44:31.072293717 +0200
++++ dsniff-2.4/Makefile.in 2014-08-13 01:44:17.556299388 +0200
+@@ -47,28 +47,26 @@
+ RANLIB = @RANLIB@
+
+ HDRS = asn1.h base64.h buf.h decode.h hex.h magic.h options.h \
+- pathnames.h pcaputil.h record.h rpc.h tcp_raw.h trigger.h \
++ pathnames.h pcaputil.h record.h tcp_raw.h trigger.h \
+ version.h vroot.h
+
+-SRCS = asn1.c base64.c buf.c hex.c magic.c mount.c pcaputil.c rpc.c \
++SRCS = asn1.c base64.c buf.c hex.c magic.c pcaputil.c \
+ tcp_raw.c trigger.c record.c dsniff.c decode.c decode_aim.c \
+ decode_citrix.c decode_cvs.c decode_ftp.c decode_hex.c \
+ decode_http.c decode_icq.c decode_imap.c decode_irc.c \
+- decode_ldap.c decode_mmxp.c decode_mountd.c decode_napster.c \
++ decode_ldap.c decode_mmxp.c decode_napster.c \
+ decode_nntp.c decode_oracle.c decode_ospf.c decode_pcanywhere.c \
+- decode_pop.c decode_portmap.c decode_postgresql.c decode_pptp.c \
++ decode_pop.c decode_postgresql.c decode_pptp.c \
+ decode_rip.c decode_rlogin.c decode_smb.c decode_smtp.c \
+ decode_sniffer.c decode_snmp.c decode_socks.c decode_tds.c \
+- decode_telnet.c decode_vrrp.c decode_yp.c decode_x11.c
+-
+-GEN = mount.h mount.c nfs_prot.h nfs_prot.c
++ decode_telnet.c decode_vrrp.c decode_x11.c
+
+ OBJS = $(SRCS:.c=.o)
+
+ LIBOBJS = dummy.o @LIBOBJS@
+
+-PROGS = arpspoof dnsspoof dsniff filesnarf macof mailsnarf msgsnarf \
+- sshmitm sshow tcpkill tcpnice @TCPHIJACK@ urlsnarf webmitm @WEBSPY@
++PROGS = arpspoof dnsspoof dsniff macof mailsnarf msgsnarf \
++ sshow tcpkill tcpnice @TCPHIJACK@ urlsnarf webmitm @WEBSPY@
+
+ CONFIGS = dsniff.magic dsniff.services dnsspoof.hosts
+
+@@ -77,14 +75,6 @@
+
+ all: libmissing.a $(PROGS)
+
+-mount.c: mount.x
+- rpcgen -h mount.x -o mount.h
+- rpcgen -c mount.x -o mount.c
+-
+-nfs_prot.c: nfs_prot.x
+- rpcgen -h nfs_prot.x -o nfs_prot.h
+- rpcgen -c nfs_prot.x -o nfs_prot.c
+-
+ $(LIBOBJS):
+ $(CC) $(CFLAGS) $(INCS) -c $(srcdir)/missing/$*.c
+
+--- dsniff-2.4.org/decode.c 2014-08-13 00:44:31.073293717 +0200
++++ dsniff-2.4/decode.c 2014-08-13 01:55:45.228300475 +0200
+@@ -53,6 +53,12 @@
+ extern int decode_vrrp(u_char *, int, u_char *, int);
+ extern int decode_ypserv(u_char *, int, u_char *, int);
+ extern int decode_yppasswd(u_char *, int, u_char *, int);
++#ifndef HAVE_RPC
++int decode_portmap(u_char *a, int d, u_char *b, int c) {return 0;}
++int decode_mountd(u_char *a, int d, u_char *b, int c) {return 0;}
++int decode_ypserv(u_char *a, int d, u_char *b, int c) {return 0;}
++int decode_yppasswd(u_char *a, int d, u_char *b, int c) {return 0;}
++#endif
+
+ static struct decode decodes[] = {
+ { "hex", decode_hex },
diff --git a/unmaintained/dsniff/dsniff-xcompile.patch b/unmaintained/dsniff/dsniff-xcompile.patch
new file mode 100644
index 0000000000..e282a268dd
--- /dev/null
+++ b/unmaintained/dsniff/dsniff-xcompile.patch
@@ -0,0 +1,56 @@
+--- dsniff-2.3.org/configure 2014-08-12 23:09:56.696284744 +0200
++++ dsniff-2.3/configure 2014-08-12 23:21:46.476285867 +0200
+@@ -3035,11 +3035,7 @@
+ ;;
+ esac
+ else
+- if test -f ${prefix}/include/pcap.h; then
+- PCAPINC="-I${prefix}/include"
+- PCAPLIB="-L${prefix}/lib -lpcap"
+- elif test -f /usr/include/pcap/pcap.h; then
+- PCAPINC="-I/usr/include/pcap"
++ if true ; then
+ PCAPLIB="-lpcap"
+ elif test -f /usr/include/pcap.h; then
+ PCAPLIB="-lpcap"
+@@ -3083,12 +3079,7 @@
+ ;;
+ esac
+ else
+- if test -f ${prefix}/include/libnet.h; then
+- CFLAGS="$CFLAGS `${prefix}/bin/libnet-config --defines`"
+- LNETINC="-I${prefix}/include"
+- LNETLIB="-L${prefix}/lib -lnet"
+- elif test -f /usr/include/libnet.h; then
+- CFLAGS="$CFLAGS `libnet-config --defines`"
++ if true ; then
+ LNETLIB="-lnet"
+ else
+ echo "$ac_t""no" 1>&6
+@@ -3128,10 +3119,7 @@
+ ;;
+ esac
+ else
+- if test -f ${prefix}/include/nids.h; then
+- NIDSINC="-I${prefix}/include"
+- NIDSLIB="-L${prefix}/lib -lnids"
+- elif test -f /usr/include/nids.h; then
++ if true; then
+ NIDSLIB="-lnids"
+ else
+ echo "$ac_t""no" 1>&6
+@@ -3193,13 +3181,7 @@
+ ;;
+ esac
+ else
+- if test -f ${prefix}/include/openssl/ssl.h; then
+- SSLINC="-I${prefix}/include"
+- SSLLIB="-L${prefix}/lib -lssl -lcrypto"
+- elif test -f ${prefix}/ssl/include/openssl/ssl.h; then
+- SSLINC="-I${prefix}/ssl/include"
+- SSLLIB="-L${prefix}/ssl/lib -lssl -lcrypto"
+- elif test -f /usr/include/openssl/ssl.h; then
++ if true ; then
+ SSLLIB="-lssl -lcrypto"
+ else
+ echo "$ac_t""no" 1>&6
diff --git a/unmaintained/dssi/APKBUILD b/unmaintained/dssi/APKBUILD
new file mode 100644
index 0000000000..1082c8d376
--- /dev/null
+++ b/unmaintained/dssi/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=dssi
+pkgver=1.1.1
+pkgrel=0
+pkgdesc="Disposable Soft Synth Interface"
+url="http://dssi.sourceforge.net/"
+arch="all"
+license="MIT"
+depends=""
+depends_dev="alsa-lib-dev ladspa-dev"
+makedepends="$depends_dev jack-dev libsamplerate-dev libsndfile-dev liblo-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-examples"
+source="http://download.sf.net/sourceforge/dssi/dssi-$pkgver.tar.gz"
+
+_builddir="$srcdir"/dssi-$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
+
+ # sanity check
+ make -C tests controller && tests/controller
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+examples() {
+ pkgdesc="DSSI plugin examples"
+ mkdir -p "$subpkgdir"/usr/lib/dssi/
+ mv "$pkgdir"/usr/lib/dssi/less_trivial* \
+ "$pkgdir"/usr/lib/dssi/trivial_* \
+ "$pkgdir"/usr/lib/dssi/karplong* \
+ "$subpkgdir"/usr/lib/dssi/
+}
+md5sums="619ab73c883b02dc37ddb37001591f8b dssi-1.1.1.tar.gz"
diff --git a/unmaintained/duff/APKBUILD b/unmaintained/duff/APKBUILD
new file mode 100644
index 0000000000..7c46f15708
--- /dev/null
+++ b/unmaintained/duff/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=duff
+pkgver=0.5.2
+pkgrel=0
+pkgdesc="A command-line tool for finding duplicate files"
+url="http://sourceforge.net/projects/duff/"
+arch="all"
+license="ZLIB"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/duff/$pkgname-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ update_config_sub || return 1
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="483f9216ebea14b090e0d71dbf7077ff duff-0.5.2.tar.gz"
+sha256sums="15b721f7e0ea43eba3fd6afb41dbd1be63c678952bf3d80350130a0e710c542e duff-0.5.2.tar.gz"
+sha512sums="6fb1ede1e935c25c6bf354fee94ef1d9d454d5b98069ce671600e91767f802ad5c74bc602ad2c9e19a502e29c8c0ffcd0563a779714a16389594ea5678504768 duff-0.5.2.tar.gz"
diff --git a/unmaintained/duhdraw/APKBUILD b/unmaintained/duhdraw/APKBUILD
new file mode 100644
index 0000000000..4c975a0410
--- /dev/null
+++ b/unmaintained/duhdraw/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=duhdraw
+pkgver=2.8.13
+pkgrel=2
+pkgdesc="A program which almost perfectly simulates TheDraw for DOS."
+url="http://www.cs.helsinki.fi/u/penberg/duhdraw/"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev ncurses-dev"
+install=""
+subpackages=""
+source="http://www.cs.helsinki.fi/u/penberg/$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
+}
+
+build() {
+ cd "$_builddir"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p $pkgdir/usr/bin
+ install -m0755 ansi ansitoc duhdraw $pkgdir/usr/bin
+}
+
+md5sums="70211aa3ea927704ffeb9093e4f433b9 duhdraw-2.8.13.tar.gz"
+sha256sums="12a432d2874a6f0579879e3242d832139b7f2a4879b2cfcfb6ced046236b4b2c duhdraw-2.8.13.tar.gz"
+sha512sums="fa9102133dcd100b2cde58d4d92aabfcdf86bb16a8066191e92922d6cea470094ff226e569bf92d34e1f0f6a3e657eaf3326cecf091ed1bc37bd2faace340798 duhdraw-2.8.13.tar.gz"
diff --git a/unmaintained/dvtm/APKBUILD b/unmaintained/dvtm/APKBUILD
new file mode 100644
index 0000000000..015d0997f4
--- /dev/null
+++ b/unmaintained/dvtm/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Contributor: Bartłomiej Piotrowski <bpiotrowski@alpinelinux.org>
+# Maintainer:
+pkgname=dvtm
+pkgver=0.15
+pkgrel=0
+pkgdesc="Dynamic virtual terminal manager"
+arch="all"
+url="http://www.brain-dump.org/projects/dvtm/"
+license="MIT"
+makedepends="ncurses-dev ncurses" # we need ncurses for 'tic'
+subpackages="$pkgname-doc"
+source="http://www.brain-dump.org/projects/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ cd "$_builddir"
+ sed -i Makefile \
+ -e '/strip/d' \
+ -e '/STRIP/d' \
+ -e 's|\btic\b|tic -o ${DESTDIR}${PREFIX}/share/terminfo|g' || return 1
+}
+
+build() {
+ cd "$_builddir"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make PREFIX=/usr DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="887e162a3abe2ad8e86caefab20cdd63 dvtm-0.15.tar.gz"
+sha256sums="8f2015c05e2ad82f12ae4cf12b363d34f527a4bbc8c369667f239e4542e1e510 dvtm-0.15.tar.gz"
+sha512sums="48a0c8fd6a50fe5d43414d0223c9f4b9920a31d42fe3bfc428ce1ae7d0e41a41ebe2597eae0824c7c76bfb0e32a13e440c8d5fcdb1886d55d6791fa3fe3fd77b dvtm-0.15.tar.gz"
diff --git a/unmaintained/e_dbus/APKBUILD b/unmaintained/e_dbus/APKBUILD
new file mode 100644
index 0000000000..0cda31c6d9
--- /dev/null
+++ b/unmaintained/e_dbus/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=e_dbus
+pkgver=1.7.9
+pkgrel=0
+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 udisks-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
+}
+
+md5sums="8f72da14e5664aad8c45eeeca0e3ff5f e_dbus-1.7.9.tar.gz"
+sha256sums="c328c4cf1424629cb67c83689ccc1f95967abcb4c03dffd437e93b799ff151c1 e_dbus-1.7.9.tar.gz"
+sha512sums="4f91d6aea44811a848a80d75cecdd99ca1fdcff8ca2f5a65426e0ef073b41c04a94c80cfa9fcd7d4e73315a3e2a8d1e18068be9520253952cb8350e727be2502 e_dbus-1.7.9.tar.gz"
diff --git a/unmaintained/ebook-tools/APKBUILD b/unmaintained/ebook-tools/APKBUILD
new file mode 100644
index 0000000000..2ca1cf67b6
--- /dev/null
+++ b/unmaintained/ebook-tools/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: k0r10n <k0r10n.dev@gmail.com>
+# Maintainer:
+pkgname=ebook-tools
+pkgver=0.2.2
+pkgrel=1
+pkgdesc="Tools for accessing and converting various ebook file formats"
+url="http://sourceforge.net/projects/ebook-tools/"
+arch="x86 x86_64"
+license="MIT"
+depends=
+depends_dev="libxml2-dev libzip-dev"
+makedepends="$depends_dev cmake pkgconfig"
+install=""
+subpackages="$pkgname-dev"
+source="http://downloads.sourceforge.net/project/ebook-tools/ebook-tools/${pkgver}/${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
+ mkdir -p "$_builddir"/build
+}
+
+build() {
+ cd "$_builddir"/build
+ cmake -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ ../ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"/build
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="67bce67ceb72dcc3578d6a81ef92b29b ebook-tools-0.2.2.tar.gz"
+sha256sums="cbc35996e911144fa62925366ad6a6212d6af2588f1e39075954973bbee627ae ebook-tools-0.2.2.tar.gz"
+sha512sums="b4518249835ed7cc672392bf2f8b1c62bc218e41c53663bb26ab34c9e43a99b6b7ae794babdb4bd775e467bb17918703a66ee57c8cf94cb7afc4ba2a7f74816a ebook-tools-0.2.2.tar.gz"
diff --git a/unmaintained/ecasound/APKBUILD b/unmaintained/ecasound/APKBUILD
new file mode 100644
index 0000000000..c7bd28e2ba
--- /dev/null
+++ b/unmaintained/ecasound/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=ecasound
+pkgver=2.9.0
+pkgrel=0
+pkgdesc="Textmode multitrack audio processing"
+url="http://eca.cx/ecasound/index.php"
+arch="all"
+license="GPL2+"
+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
+}
+
+md5sums="05e7d4664cdf4c7a138c098e9506a551 ecasound-2.9.0.tar.gz"
+sha256sums="e2b0b8f8cce6074d660e460b3a02fc0132a51e1e982b78b3a68fa14e79fcc6c6 ecasound-2.9.0.tar.gz"
+sha512sums="d8ba4274413616b37084f716ca9c91434280cc600e5e2c231a755cbe27b05df0095b8178d280c2e576d91d04ff27aad4793ecec70c1bbb8b2ae73a030c8cbb13 ecasound-2.9.0.tar.gz"
diff --git a/unmaintained/ecore/APKBUILD b/unmaintained/ecore/APKBUILD
new file mode 100644
index 0000000000..b3a2b6241b
--- /dev/null
+++ b/unmaintained/ecore/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=ecore
+pkgver=1.7.9
+pkgrel=0
+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 $pkgname-lang"
+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 \
+ --enable-ecore-evas-software-x11 \
+ --enable-ecore-evas-opengl-x11 \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="2d5a4fb8f702628f5c7b785309be01ab ecore-1.7.9.tar.gz"
+sha256sums="c145cc00280d3a310c76e5e6a9fb509c81b8b173f04458c97ea4ae6bf563eaf3 ecore-1.7.9.tar.gz"
+sha512sums="0f0bd6ef0478cbe2ade2e84ab7350f54daf51a8887c1d983afda47955e8f0bac95e9c3b632be24d936f31e7f0aa1fb1cf68bbd6bdb6861c19c8adc6aeab06e7f ecore-1.7.9.tar.gz"
diff --git a/unmaintained/ecryptfs-utils/APKBUILD b/unmaintained/ecryptfs-utils/APKBUILD
new file mode 100644
index 0000000000..b1c92e82dc
--- /dev/null
+++ b/unmaintained/ecryptfs-utils/APKBUILD
@@ -0,0 +1,56 @@
+# Contributor: k0r10n <k0r10n.dev@gmail.com>
+# Maintainer:
+pkgname=ecryptfs-utils
+pkgver=104
+pkgrel=0
+pkgdesc="Enterprise-class stacked cryptographic filesystem for Linux"
+url="https://launchpad.net/ecryptfs"
+arch="all"
+license="GPL"
+depends="cryptsetup rsync"
+depends_dev="keyutils-dev linux-pam-dev nss-dev linux-headers"
+makedepends="$depends_dev swig intltool gettext python"
+install=""
+options="suid"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="http://launchpad.net/ecryptfs/trunk/${pkgver}/+download/${pkgname}_${pkgver}.orig.tar.gz
+ fix-headers.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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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" rootsbindir='/usr/bin' install || return 1
+ chmod +s "$pkgdir"/usr/bin/mount.ecryptfs_private || return 1
+}
+
+md5sums="6ae93822bcf0d15470516c30a3deee32 ecryptfs-utils_104.orig.tar.gz
+faac9e0f204c62eae4737ffbcf3f1186 fix-headers.patch"
+sha256sums="4a200176542d46439c5297021f2c7fd7343b871c20c6f73f6e6c9fc4e5fd7438 ecryptfs-utils_104.orig.tar.gz
+10256aacf77918bd42bf70171bd714f7ab19311ad86ea083db375a3f77df2baa fix-headers.patch"
+sha512sums="1d093df406c731e6a44bcfc647d5e84a4110fc8d55c8a6aee7e056b0cac8f826b16fbde3dcccd0cf64fcd981a7666b71b1697951ed614ad510c4a6e403f5efd8 ecryptfs-utils_104.orig.tar.gz
+3007e8c845985d07cabbdf2ef7b896f3253fd98f77e0855c2d3087f7224982182b76cb615aeb148e24871268aa061ce5af0310668a516f550a9bd977b88a88f0 fix-headers.patch"
diff --git a/unmaintained/ecryptfs-utils/fix-headers.patch b/unmaintained/ecryptfs-utils/fix-headers.patch
new file mode 100644
index 0000000000..eb2ca3ec44
--- /dev/null
+++ b/unmaintained/ecryptfs-utils/fix-headers.patch
@@ -0,0 +1,28 @@
+--- a/src/utils/mount.ecryptfs.c.orig
++++ b/src/utils/mount.ecryptfs.c
+@@ -24,7 +24,6 @@
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <getopt.h>
+-#include <keyutils.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -34,6 +33,7 @@
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
++#include <keyutils.h>
+ #include "ecryptfs.h"
+ #include "decision_graph.h"
+ #include "io.h"
+--- a/src/utils/mount.ecryptfs_private.c.orig
++++ b/src/utils/mount.ecryptfs_private.c
+@@ -30,6 +30,7 @@
+ #include <sys/param.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
++#include <fcntl.h>
+ #include <ctype.h>
+ #include <errno.h>
+ #include <keyutils.h>
diff --git a/unmaintained/edje/APKBUILD b/unmaintained/edje/APKBUILD
new file mode 100644
index 0000000000..ac753c2a77
--- /dev/null
+++ b/unmaintained/edje/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=edje
+pkgver=1.7.9
+pkgrel=0
+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
+}
+
+md5sums="49152d8636aefcd028af0f97483391ef edje-1.7.9.tar.gz"
+sha256sums="dac12e5fd81ab303151bec6742971b63f2de577ef940ed0b6af20419130300ab edje-1.7.9.tar.gz"
+sha512sums="ffa0e0e0b3f121b32c5df663587df3ae63fd7f0bb3ce5ba5b8db5ee40a9bbcc1d9c4cb74b8efc4119aa739b81d77cf95ef451c3f58698645ef8107a0028bca63 edje-1.7.9.tar.gz"
diff --git a/unmaintained/eet/APKBUILD b/unmaintained/eet/APKBUILD
new file mode 100644
index 0000000000..9dd63fa7ca
--- /dev/null
+++ b/unmaintained/eet/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=eet
+pkgver=1.7.9
+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 libjpeg-turbo-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
+}
+
+md5sums="225eadf514465be321a44a003d687a55 eet-1.7.9.tar.gz"
+sha256sums="3345e0889bbc29536dbe0f6236ed1ae6a9d685b8e39877d5404fa6217bd12ec6 eet-1.7.9.tar.gz"
+sha512sums="5afdba1b9382a91786233d460de6d7e423307668fd8023a6e611ceb55c0bab1041f6dfa625004e00105c00c77d99f1a3c04a58868d2f3c83b5df17bc32ee660d eet-1.7.9.tar.gz"
diff --git a/unmaintained/eeze/APKBUILD b/unmaintained/eeze/APKBUILD
new file mode 100644
index 0000000000..f019ba184c
--- /dev/null
+++ b/unmaintained/eeze/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=eeze
+pkgver=1.7.8
+pkgrel=0
+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
+}
+
+md5sums="3ee68667f65860a0bdb7126e555155ff eeze-1.7.8.tar.gz"
+sha256sums="9a4df9d086575c54d0116164d46b2c9e29362cc32398ea606c2365cbdf4157dd eeze-1.7.8.tar.gz"
+sha512sums="17dcf5401e48eeb94f37c21a9184ff45cd510b07ed3d2e1b600b67cb0d48167e3492c0b30b20b19d9ad54d4af05e1b77fae2e4f0ff0e7ddbe889edaa19ee3194 eeze-1.7.8.tar.gz"
diff --git a/unmaintained/efreet/APKBUILD b/unmaintained/efreet/APKBUILD
new file mode 100644
index 0000000000..ff93f31c9b
--- /dev/null
+++ b/unmaintained/efreet/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=efreet
+pkgver=1.7.9
+pkgrel=0
+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 $pkgname-lang"
+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
+}
+
+md5sums="5972833cf78ca93440403b94ed4ed74d efreet-1.7.9.tar.gz"
+sha256sums="d5037c04ac8130879bf87d924e6b83cf479e7dee8235321ed1a49f97083b611b efreet-1.7.9.tar.gz"
+sha512sums="026cedf66831f2a5a8717fa8782a77fce7cf849a50a5f3cbe91fea6d5c9441ae0b7617ddf1824bd450643253f5f993caa4a4d591d095fc1f10d9e2ad4d71b429 efreet-1.7.9.tar.gz"
diff --git a/unmaintained/eina/APKBUILD b/unmaintained/eina/APKBUILD
new file mode 100644
index 0000000000..011f55d67c
--- /dev/null
+++ b/unmaintained/eina/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=eina
+pkgver=1.7.9
+pkgrel=1
+pkgdesc="Enlightenment's data types library (List, hash, etc) in C"
+url="http://trac.enlightenment.org/e/wiki/Eina"
+arch="all"
+license="LGPL2+"
+depends=
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://download.enlightenment.org/releases/$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 \
+ --enable-amalgamation \
+ --enable-pthread \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="cddf2755e20bfb3f90764fd2b689b888 eina-1.7.9.tar.gz"
+sha256sums="b7fe26d98b80479d0f72be47b2584dfa243e4d18774cb824acc398354a45d520 eina-1.7.9.tar.gz"
+sha512sums="f3b7b1951814c457bc94a4678c5c6242a4baada5953d5616092673b6d2b4516cb70c47e935b6f7b393d469627b53a05eb99c4249d19d5d9a3d8a263b2cd4e42d eina-1.7.9.tar.gz"
diff --git a/unmaintained/eio/APKBUILD b/unmaintained/eio/APKBUILD
new file mode 100644
index 0000000000..3fab3d04db
--- /dev/null
+++ b/unmaintained/eio/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=eio
+pkgver=1.7.9
+pkgrel=0
+pkgdesc="An async I/O library"
+url="http://trac.enlightenment.org/e/wiki/Eina"
+arch="all"
+license="LGPL2+"
+depends=""
+depends_dev="eet-dev eina-dev ecore-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://download.enlightenment.org/releases/eio-$pkgver.tar.gz"
+
+_builddir="$srcdir"/eio-$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
+}
+
+md5sums="f4d6cbd216a9ae5983fa8ee8dadf04cb eio-1.7.9.tar.gz"
+sha256sums="35ce08ecf6afd5faa4fe857764537e15aede2b0d2c37922e55e97e2dff3352de eio-1.7.9.tar.gz"
+sha512sums="0c3d8420af12324397584001d352f67e0077bfb61f1180d0ab9efd61e758d71ee1fe08a307538493371cb2c154cb9e30a3731f776b7ff7ee929d82f15d0ff90d eio-1.7.9.tar.gz"
diff --git a/unmaintained/ejdb/APKBUILD b/unmaintained/ejdb/APKBUILD
new file mode 100644
index 0000000000..4adc7b58f7
--- /dev/null
+++ b/unmaintained/ejdb/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=ejdb
+pkgver=1.2.10
+pkgrel=0
+pkgdesc="Embedded JSON Database engine"
+url="http://ejdb.org/"
+arch="all"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="cmake $depends_dev zlib-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
+source="ejdb-$pkgver.tar.gz::https://github.com/Softmotions/ejdb/archive/v$pkgver.tar.gz"
+
+_builddir="$srcdir"/ejdb-$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"
+ mkdir build && cd build
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DBUILD_SAMPLES=OFF \
+ -DPACKAGE_TGZ=OFF \
+ ../ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"/build
+ make DESTDIR="${pkgdir}" install || return 1
+}
+
+md5sums="85a825c1c880a51a869fadba11a7e52a ejdb-1.2.10.tar.gz"
+sha256sums="3a6d4a487e02c05dd67e72a77ee6082fbb1f5a19d4f7f15d14e1c891bbfe520e ejdb-1.2.10.tar.gz"
+sha512sums="84c864ec89714eed32256d7301f0ec525c59595f5ae1f41e3bb05b5fb143286308cc6a26de955603f990b1a46aaae2a5fa54c4c42baef91fab75494d0dd3b83e ejdb-1.2.10.tar.gz"
diff --git a/unmaintained/elementary/APKBUILD b/unmaintained/elementary/APKBUILD
new file mode 100644
index 0000000000..929334d7c8
--- /dev/null
+++ b/unmaintained/elementary/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=elementary
+pkgver=1.7.9
+pkgrel=0
+pkgdesc="Enlightenment's basic widget set"
+url="http://trac.enlightenment.org/e/wiki/Elementary"
+arch="all"
+license="BSD"
+depends=""
+depends_dev="eina-dev eet-dev evas-dev ecore-dev edje-dev"
+makedepends="$depends_dev eio-dev e_dbus-dev efreet-dev ethumb-dev emotion-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-lang"
+source="http://download.enlightenment.org/releases/elementary-$pkgver.tar.gz"
+
+_builddir="$srcdir"/elementary-$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
+}
+
+md5sums="6a3acb394b640697b1fd2dd61d990d0b elementary-1.7.9.tar.gz"
+sha256sums="3667c6da3d89be5a46363509645be59e3deb1f052bfa14239986ac9499da52fb elementary-1.7.9.tar.gz"
+sha512sums="ab9a220b18de9e47b4f22ba27bda695870e3c27a31329e812703536d219f93adbb44d07a33535e1682c1890554bbe2597b4fdb44b7c18e987d8d2ed53ed07265 elementary-1.7.9.tar.gz"
diff --git a/unmaintained/emacs-xorg/APKBUILD b/unmaintained/emacs-xorg/APKBUILD
new file mode 100644
index 0000000000..9837643f9b
--- /dev/null
+++ b/unmaintained/emacs-xorg/APKBUILD
@@ -0,0 +1,88 @@
+# Contributor: stef <l0ls0fo2i@ctrlc.hu>
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+
+pkgname=emacs-xorg
+pkgver=24.99
+pkgrel=4
+gitver=7eb2077f9dd14ae9d70a12c621151afd50ea6e96
+pkgdesc="The extensible, customizable, self-documenting real-time display editor"
+arch="x86_64"
+url="http://www.gnu.org/software/emacs/emacs.html"
+license="GPL3"
+depends="hicolor-icon-theme desktop-file-utils"
+makedepends="autoconf automake linux-headers paxmark
+ librsvg-dev giflib-dev libxpm-dev gtk+3.0-dev gconf-dev alsa-lib-dev
+ imagemagick-dev gnutls-dev glib-dev fontconfig-dev libpng-dev
+ libxml2-dev pango-dev gpm-dev libjpeg-turbo-dev ncurses-dev
+ ncurses-libs"
+#source="ftp://ftp.gnu.org/gnu/emacs/emacs-$pkgver.tar.xz
+source="http://git.savannah.gnu.org/cgit/emacs.git/snapshot/emacs-$gitver.tar.xz
+ gamedir.patch
+ noaslr-dump.patch
+ musl.patch"
+
+_builddir="$srcdir/emacs-$gitver"
+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"
+ ./autogen.sh || return 1
+ CFLAGS=-fno-pie \
+ LDFLAGS=-nopie \
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib \
+ --localstatedir=/var \
+ --without-makeinfo \
+ --with-gameuser=:games \
+ --with-x-toolkit=gtk3 \
+ --with-xft \
+ --with-jpeg=no \
+ --with-tiff=no \
+ || return 1
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+
+ # remove conflict with ctags package
+ mv "$pkgdir"/usr/bin/ctags "$pkgdir"/usr/bin/ctags.emacs
+ mv "$pkgdir"/usr/share/man/man1/ctags.1.gz "$pkgdir"/usr/share/man/man1/ctags.emacs.1.gz
+ # remove conflict with texinfo
+ rm "$pkgdir"/usr/share/info/info.info.gz
+
+ # fix user/root permissions on usr/share files
+ find "$pkgdir"/usr/share/emacs/ -exec chown root:root {} \;
+ find "$pkgdir"/usr/lib -perm -g+s,g+x ! -type d -exec chmod g-s {} \;
+ # fix perms on /var/games
+ chmod 775 "$pkgdir"/var/games
+ chmod 775 "$pkgdir"/var/games/emacs
+ chmod 664 "$pkgdir"/var/games/emacs/*
+ chown -R root:games "$pkgdir"/var/games
+}
+
+md5sums="d771a8c9163f2118de565e679838c907 emacs-7eb2077f9dd14ae9d70a12c621151afd50ea6e96.tar.xz
+82a3275fba6535e129c08b6941caf028 gamedir.patch
+0decc074823fc66f155dd9559420be3d noaslr-dump.patch
+d753f727439ba68ae848a72535b021a4 musl.patch"
+sha256sums="0931fc1a4f5ab4baa73e18985781228f8ad7323b9bbcaf7eefe302d86f64f2c8 emacs-7eb2077f9dd14ae9d70a12c621151afd50ea6e96.tar.xz
+38b3cdf3736b200d033d9e6e9188bcaaf819bf7b47b3231a533cca370f945ee3 gamedir.patch
+2af8d971caa73843fd1f6793dbc9b0fb701186dcb01845eac3c68373f4a570d1 noaslr-dump.patch
+c6b6037fcc0abe3c973e9200ba6b9ad8e313b6bbd47a5d74a835892f0338c045 musl.patch"
+sha512sums="59a2d7f947c79d59462dc9a0fcdd2ed992ae18ee284ece3508a009fe31a485ab276425d724a580023481318a88b81801660c17cb3bc118edc3b563a7c3a63dd7 emacs-7eb2077f9dd14ae9d70a12c621151afd50ea6e96.tar.xz
+7bd0acd610c07cb0cee2ceec8770c51b97e05a69c8c32e771f6ced83c1906bd87af842939a294a16757a4ad24e052228068944efa5adfc47776ca28b8da3555a gamedir.patch
+c04213a271008f7413677c95442188d744736abd28994aac616ac2e35924ca2a1c5cb55b95072e0011e891f1db054f07960b1753167f50c2e6d80d7c5b33e338 noaslr-dump.patch
+c02bea143a221bc186e44f7eb12edb93d3d7564a39db656c888930ad69a6d40c86918bbe12acd2dbff19ff88a67a06a65e68467def8aa443e52d3b149d8ba2f2 musl.patch"
diff --git a/unmaintained/emacs-xorg/gamedir.patch b/unmaintained/emacs-xorg/gamedir.patch
new file mode 100644
index 0000000000..899404ba98
--- /dev/null
+++ b/unmaintained/emacs-xorg/gamedir.patch
@@ -0,0 +1,11 @@
+diff -urw emacs-7eb2077f9dd14ae9d70a12c621151afd50ea6e96/lib-src/Makefile.in emacs-7eb2077f9dd14ae9d70a12c621151afd50ea6e96/lib-src/Makefile.in
+--- orig/lib-src/Makefile.in 2015-02-06 20:37:24.297691017 +0000
++++ src/lib-src/Makefile.in 2015-02-06 20:38:05.006592590 +0000
+@@ -414,7 +414,6 @@
+
+ update-game-score${EXEEXT}: ${srcdir}/update-game-score.c $(NTLIB) $(config_h)
+ $(AM_V_CCLD)$(CC) ${ALL_CFLAGS} \
+- -DHAVE_SHARED_GAME_DIR="\"$(gamedir)\"" \
+ $< $(NTLIB) $(LOADLIBES) -o $@
+
+ emacsclient.res: ../nt/emacsclient.rc $(NTINC)/../icons/emacs.ico
diff --git a/unmaintained/emacs-xorg/musl.patch b/unmaintained/emacs-xorg/musl.patch
new file mode 100644
index 0000000000..835d3cd248
--- /dev/null
+++ b/unmaintained/emacs-xorg/musl.patch
@@ -0,0 +1,87 @@
+--- emacs-4188e3cc2bc69e75d4387b369e72e89fecc46a86/configure.ac
++++ emacs/configure.ac
+@@ -2092,7 +2092,7 @@
+
+ system_malloc=$emacs_cv_sanitize_address
+
+-hybrid_malloc=
++hybrid_malloc=yes
+
+ case "$opsys" in
+ ## darwin ld insists on the use of malloc routines in the System framework.
+--- emacs-4188e3cc2bc69e75d4387b369e72e89fecc46a86/src/Makefile.in
++++ emacs/src/Makefile.in
+@@ -373,6 +373,7 @@
+ region-cache.o sound.o atimer.o \
+ doprnt.o intervals.o textprop.o composite.o xml.o $(NOTIFY_OBJ) \
+ profiler.o decompress.o \
++ sheap.o \
+ $(MSDOS_OBJ) $(MSDOS_X_OBJ) $(NS_OBJ) $(CYGWIN_OBJ) $(FONT_OBJ) \
+ $(W32_OBJ) $(WINDOW_SYSTEM_OBJ) $(XGSELOBJ)
+ obj = $(base_obj) $(NS_OBJC_OBJ)
+--- emacs-4188e3cc2bc69e75d4387b369e72e89fecc46a86/src/gmalloc.c
++++ emacs/src/gmalloc.c
+@@ -72,7 +72,7 @@
+ #define free gfree
+ #endif /* HYBRID_MALLOC */
+
+-#ifdef CYGWIN
++//#ifdef CYGWIN
+ extern void *bss_sbrk (ptrdiff_t size);
+ extern int bss_sbrk_did_unexec;
+ extern char bss_sbrk_buffer[];
+@@ -80,7 +80,7 @@
+ #define DUMPED bss_sbrk_did_unexec
+ #define ALLOCATED_BEFORE_DUMPING(P) \
+ ((P) < bss_sbrk_buffer_end && (P) >= (void *) bss_sbrk_buffer)
+-#endif
++//#endif
+
+ #ifdef __cplusplus
+ extern "C"
+@@ -1525,16 +1525,19 @@
+ __default_morecore (ptrdiff_t increment)
+ {
+ void *result;
+-#if defined (CYGWIN)
++//#if defined (CYGWIN)
+ if (!DUMPED)
+ {
+ return bss_sbrk (increment);
+ }
+-#endif
++//#endif
++#if 0
+ result = (void *) __sbrk (increment);
+ if (result == (void *) -1)
+ return NULL;
+ return result;
++#endif
++ return NULL;
+ }
+ /* Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc.
+
+--- emacs-4188e3cc2bc69e75d4387b369e72e89fecc46a86/src/print.c
++++ emacs/src/print.c
+@@ -755,7 +755,7 @@
+ print_output_debug_flag = x;
+ }
+
+-#if defined (GNU_LINUX)
++#if defined (GNU_LINUX) && defined (__GLIBC__)
+
+ /* This functionality is not vitally important in general, so we rely on
+ non-portable ability to use stderr as lvalue. */
+--- emacs-4188e3cc2bc69e75d4387b369e72e89fecc46a86/src/unexelf.c
++++ emacs/src/unexelf.c
+@@ -632,6 +632,9 @@
+ off_t new_file_size;
+ void *new_break;
+
++ extern int bss_sbrk_did_unexec;
++ bss_sbrk_did_unexec = 1;
++
+ /* Pointers to the base of the image of the two files. */
+ caddr_t old_base, new_base;
+
+
diff --git a/unmaintained/emacs-xorg/noaslr-dump.patch b/unmaintained/emacs-xorg/noaslr-dump.patch
new file mode 100644
index 0000000000..ccacb3c334
--- /dev/null
+++ b/unmaintained/emacs-xorg/noaslr-dump.patch
@@ -0,0 +1,19 @@
+diff -urw orig/src/Makefile.in src/src/Makefile.in
+--- orig/src/Makefile.in 2015-02-09 14:14:38.576648826 +0000
++++ src/src/Makefile.in 2015-02-09 14:15:11.662322918 +0000
+@@ -455,6 +455,7 @@
+ ifeq ($(CANNOT_DUMP),yes)
+ ln -f temacs$(EXEEXT) $@
+ else
++ paxmark -r temacs$(EXEEXT)
+ LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump
+ $(PAXCTL_if_present) -zex $@
+ ln -f $@ bootstrap-emacs$(EXEEXT)
+@@ -659,6 +660,7 @@
+ ifeq ($(CANNOT_DUMP),yes)
+ ln -f temacs$(EXEEXT) $@
+ else
++ paxmark -r temacs$(EXEEXT)
+ $(RUN_TEMACS) --batch --load loadup bootstrap
+ $(PAXCTL_if_present) -zex emacs$(EXEEXT)
+ mv -f emacs$(EXEEXT) $@
diff --git a/unmaintained/embryo/APKBUILD b/unmaintained/embryo/APKBUILD
new file mode 100644
index 0000000000..60b6b97d0c
--- /dev/null
+++ b/unmaintained/embryo/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=embryo
+pkgver=1.7.9
+pkgrel=0
+pkgdesc="Enlightenment's virtual machine engine and bytecode compiler"
+url="http://trac.enlightenment.org/e/wiki/Embryo"
+arch="all"
+license="BSD"
+depends=""
+depends_dev="eina-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
+}
+
+md5sums="98614ec48376ff6d3a39187504b70ed4 embryo-1.7.9.tar.gz"
+sha256sums="6b2739a53c3ab2fcf44edfb9c3a4c56d11aba91e27e556a9e70116a161201e34 embryo-1.7.9.tar.gz"
+sha512sums="4fb1f5f81dd79d668a395162098ee43f8301b20dcb8260471b28e6a8ca95a89232fe3ab97754522423e7a3a8c344133b4a83100200b3c914ee67a3dd41ae2361 embryo-1.7.9.tar.gz"
diff --git a/unmaintained/emelfm2/01-avoid_fstab.patch b/unmaintained/emelfm2/01-avoid_fstab.patch
new file mode 100644
index 0000000000..1b9d0d2eaf
--- /dev/null
+++ b/unmaintained/emelfm2/01-avoid_fstab.patch
@@ -0,0 +1,30 @@
+--- emelfm2-0.9.1-origin/src/filesystem/e2_fs_mount.c
++++ emelfm2-0.9.1/src/filesystem/e2_fs_mount.c
+@@ -46,7 +46,7 @@
+ #endif
+ //other exclusions go here ...
+
+-# if defined(__linux__)
++# if defined(__GLIBC__)
+ # include <mntent.h>
+ # include <fstab.h>
+
+@@ -62,7 +62,9 @@
+
+ # else
+ # include <mntent.h>
++# if defined(__GLIBC__)
+ # include <fstab.h>
++# endif
+
+ /*Some systems use statfs() to provide information about mounted
+ file systems, other systems use statvfs(). The header files used with
+@@ -1020,7 +1022,7 @@
+ {
+ GList *fstab_list = NULL;
+ //CHECKME lock data file while accessing it ??
+-#if defined(__E2BSD__) || defined(__linux__)
++#if defined(__E2BSD__) || defined(__GLIBC__)
+ struct fstab *fs;
+
+ if (!setfsent ())
diff --git a/unmaintained/emelfm2/02-define_ALLPERMS.patch b/unmaintained/emelfm2/02-define_ALLPERMS.patch
new file mode 100644
index 0000000000..a5e9e4fdde
--- /dev/null
+++ b/unmaintained/emelfm2/02-define_ALLPERMS.patch
@@ -0,0 +1,13 @@
+--- emelfm2-0.9.1-origin/src/filesystem/e2_fs.h
++++ emelfm2-0.9.1/src/filesystem/e2_fs.h
+@@ -25,6 +25,10 @@
+ #ifndef __E2_FS_H__
+ #define __E2_FS_H__
+
++#ifndef ALLPERMS
++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */
++#endif
++
+ #include "emelfm2.h"
+ #include <unistd.h>
+ #include <dirent.h>
diff --git a/unmaintained/emelfm2/APKBUILD b/unmaintained/emelfm2/APKBUILD
new file mode 100644
index 0000000000..d8078a5525
--- /dev/null
+++ b/unmaintained/emelfm2/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: August Klein <amatcoder@gmail.com>
+# Maintainer: August Klein <amatcoder@gmail.com>
+pkgname=emelfm2
+pkgver=0.9.1
+pkgrel=0
+pkgdesc="A file manager for UNIX-like operating systems"
+url="http://emelfm2.net"
+arch="all"
+license="GPL3"
+depends=""
+depends_dev="file-dev gtk+2.0-dev"
+makedepends="$depends_dev coreutils"
+install=""
+subpackages="$pkgname-lang $pkgname-doc"
+source="http://emelfm2.net/rel/$pkgname-$pkgver.tar.bz2
+ 01-avoid_fstab.patch
+ 02-define_ALLPERMS.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 PREFIX=/usr || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make PREFIX="${pkgdir}/usr" install install_i18n || return 1
+
+ install -m 755 "${pkgdir}/usr/share/pixmaps/emelfm2/emelfm2_48.png" \
+ "${pkgdir}/usr/share/pixmaps/emelfm2.png"
+
+ sed -e '/Icon=/ s^emelfm2/emelfm2_48.png^emelfm2.png^' \
+ -e '/Categories=/ s^;$^;Application;Utility;^' \
+ -i "${pkgdir}/usr/share/applications/emelfm2.desktop"
+}
+
+md5sums="ea83b73d76edf1cea5bce00ec630af6f emelfm2-0.9.1.tar.bz2
+4f307b7096291d1e6a14a29a7d6978bd 01-avoid_fstab.patch
+9bb3d555f792afed972b47faec9863f3 02-define_ALLPERMS.patch"
+sha256sums="bfb94ff4e40c0a9c0d2a6aeb0efa22e177accbf6abd3096226d93daecd23642f emelfm2-0.9.1.tar.bz2
+395ba0ea1140d229e343df8407433ab98de185708ec21c6502399dcfe7a310e4 01-avoid_fstab.patch
+a0e597764b9d2842ecd2ea087797509c15dbda937e3b3116c4533e8ac3e45947 02-define_ALLPERMS.patch"
+sha512sums="bd3a1ad2338c80d6824a2a84736470ecfa7e93f455cc8e3243944833807fe9b3544e2fea6bd6ccbddaf0188ad89ce616ed146271f6ffabec80f5dfb2f1ad6f57 emelfm2-0.9.1.tar.bz2
+5b156e994eb62f034e8bb246f42633858fd0e3009a4997c54a7ba347b230ab80d2c307b0af961e174d149fc8878104c0350f7ded41d05424a6b11f9011ef6b17 01-avoid_fstab.patch
+a3d860e9134654e61038cb13c8dc55c3da3885a6d42229f1976a0848a2570e62230c529764aa82620e3847c2093a8c5f36d1695b500b3b98517705b01acf26d6 02-define_ALLPERMS.patch"
diff --git a/unmaintained/emotion/APKBUILD b/unmaintained/emotion/APKBUILD
new file mode 100644
index 0000000000..7bdde8954b
--- /dev/null
+++ b/unmaintained/emotion/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=emotion
+pkgver=1.7.9
+pkgrel=0
+pkgdesc="Emotion, video and audio codec API"
+url="http://trac.enlightenment.org/e/wiki/Emotion"
+arch="all"
+license="BSD"
+depends=""
+depends_dev="ecore-dev evas-dev eet-dev eina-dev edje-dev eio-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://download.enlightenment.org/releases/emotion-$pkgver.tar.gz"
+
+_builddir="$srcdir"/emotion-$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="171bbc41a5e5d202d0dc57c34e318c14 emotion-1.7.9.tar.gz"
+sha256sums="ff72204490e740adaa7980bad1a060dae8113c308c6083e5bcee380a11dad1f4 emotion-1.7.9.tar.gz"
+sha512sums="8da35d09f07560305ea43a06d1101f25e8a764d88e8e14b19d2f2410a8ea94a51e1058cf122466d0d5e17d8057e9180f0a898082a6d637de59491741b73bea02 emotion-1.7.9.tar.gz"
diff --git a/unmaintained/enlightenment/APKBUILD b/unmaintained/enlightenment/APKBUILD
new file mode 100644
index 0000000000..76546b1a63
--- /dev/null
+++ b/unmaintained/enlightenment/APKBUILD
@@ -0,0 +1,59 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=enlightenment
+pkgver=0.17.0
+pkgrel=0
+pkgdesc="Enlightenment DR17 Window Manager and Desktop Shell"
+url="http://www.enlightenment.org/"
+arch="all"
+license="BSD"
+depends=
+depends_dev="
+ e_dbus-dev
+ ecore-dev
+ edje-dev
+ eet-dev
+ eeze-dev
+ efreet-dev
+ eina-dev
+ eio-dev
+ evas-dev
+ "
+makedepends="$depends_dev
+ alsa-lib-dev
+ ethumb-dev
+ paxctl
+ pm-utils-dev
+ udisks2-dev
+ xcb-util-keysyms-dev
+ "
+install=""
+subpackages="$pkgname-dev $pkgname-lang"
+source="http://download.enlightenment.org/releases/enlightenment-$pkgver.tar.gz"
+
+_builddir="$srcdir"/enlightenment-$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
+ # opengl needs mprotect off for now
+ paxctl -c -m "$pkgdir"/usr/bin/enlightenment
+}
+
+md5sums="b2824849c2c56d80fdc11c1f2171d4ec enlightenment-0.17.0.tar.gz"
diff --git a/unmaintained/enumiax/APKBUILD b/unmaintained/enumiax/APKBUILD
new file mode 100644
index 0000000000..f5e6b02f15
--- /dev/null
+++ b/unmaintained/enumiax/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Alan Lacerda <alacerda@alpinelinux.org>
+# Maintainer: Alan Lacerda <alacerda@alpinelinux.org>
+pkgname=enumiax
+pkgver=0.4a
+pkgrel=0
+pkgdesc="An Inter Asterisk Exchange version 2 protocol username brute-force enumerator."
+url="http://sourceforge.net/projects/enumiax/"
+arch="all"
+license="GPL+2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://ufpr.dl.sourceforge.net/project/$pkgname/$pkgname/$pkgname-$pkgver/$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"
+ make
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/usr/bin
+ install enumiax "$pkgdir"/usr/bin || return 1
+}
+
+md5sums="2a148fd2faa74d636ad891c7073fbd96 enumiax-0.4a.tar.gz"
+sha256sums="cf1b1db4d6d62c919afd1484e2476ef7c2ce05220555e829cc5d3821e47a2f41 enumiax-0.4a.tar.gz"
+sha512sums="671af2e274fa94b950d42db57880ec6d494510df8970edeeebe2e06a98aba4b6f3f10686624238f7cb19c590751a29d80993ffeee3c7091a30b4f2c337f8ce18 enumiax-0.4a.tar.gz"
diff --git a/unmaintained/equinox-themes/APKBUILD b/unmaintained/equinox-themes/APKBUILD
new file mode 100644
index 0000000000..6bc15659bd
--- /dev/null
+++ b/unmaintained/equinox-themes/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=equinox-themes
+pkgver=1.50
+pkgrel=0
+pkgdesc="Equinox GTK Themes"
+url="http://gnome-look.org/content/show.php/Equinox+GTK+Engine?content=121881"
+arch="noarch"
+license="GPL"
+depends="gtk-equinox-engine"
+makedepends=""
+install=""
+subpackages=""
+source="http://gnome-look.org/CONTENT/content-files/140449-equinox-themes-$pkgver.tar.gz"
+
+_builddir="$srcdir"
+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"
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/usr/share/themes
+ for i in *; do
+ [ -L "$i" ] && continue
+ cp -ra "$i" "$pkgdir"/usr/share/themes/ || return 1
+ done
+}
+
+md5sums="280f0c1f81abbfcdc524bb9c3a8f0ee8 140449-equinox-themes-1.50.tar.gz"
diff --git a/unmaintained/erlang17/APKBUILD b/unmaintained/erlang17/APKBUILD
new file mode 100644
index 0000000000..b17575eecd
--- /dev/null
+++ b/unmaintained/erlang17/APKBUILD
@@ -0,0 +1,249 @@
+# Contributor: Michael Mason <ms13sp@gmail.com>
+# Maintainer: Marlus Saraiva <marlus.saraiva@gmail.com>
+
+pkgname=erlang17
+pkgver=17.5
+pkgrel=0
+pkgdesc="General-purpose programming language and runtime environment"
+url="http://www.erlang.org/"
+license="ERPL"
+arch="all"
+depends="$pkgname-kernel $pkgname-stdlib $pkgname-compiler"
+makedepends="perl-dev zlib-dev ncurses-dev openssl-dev openjdk7 unixodbc-dev"
+install=""
+subpackages="$pkgname-dev
+ $pkgname-asn1:asn
+ $pkgname-common-test:common_test
+ $pkgname-compiler:compiler
+ $pkgname-cosevent:cos_event
+ $pkgname-coseventdomain:cos_event_domain
+ $pkgname-cosfiletransfer:cos_file_transfer
+ $pkgname-cosnotification:cos_notification
+ $pkgname-cosproperty:cos_property
+ $pkgname-costime:cos_time
+ $pkgname-costransaction:cos_transactions
+ $pkgname-crypto:crypto
+ $pkgname-debugger:debugger
+ $pkgname-dialyzer:dialyzer
+ $pkgname-diameter:diameter
+ $pkgname-edoc:edoc
+ $pkgname-eldap:eldap
+ $pkgname-erl-docgen:erl_docgen
+ $pkgname-erl-interface:erl_interface
+ $pkgname-erts:erts
+ $pkgname-et:et
+ $pkgname-eunit:eunit
+ $pkgname-gs:gs
+ $pkgname-hipe:hipe
+ $pkgname-ic:ic
+ $pkgname-inets:inets
+ $pkgname-jinterface:jinterface
+ $pkgname-kernel:kernel
+ $pkgname-megaco:megaco
+ $pkgname-mnesia:mnesia
+ $pkgname-observer:observer
+ $pkgname-odbc:odbc
+ $pkgname-orber:orber
+ $pkgname-os-mon:os_mon
+ $pkgname-ose:ose
+ $pkgname-otp-mibs:otp_mibs
+ $pkgname-parsetools:parsetools
+ $pkgname-percept:percept
+ $pkgname-public-key:public_key
+ $pkgname-reltool:reltool
+ $pkgname-runtime-tools:runtime_tools
+ $pkgname-sasl:sasl
+ $pkgname-snmp:snmp
+ $pkgname-ssh:ssh
+ $pkgname-ssl:ssl
+ $pkgname-stdlib:stdlib
+ $pkgname-syntax-tools:syntax_tools
+ $pkgname-test-server:test_server
+ $pkgname-tools:tools
+ $pkgname-typer:typer
+ $pkgname-webtool:webtool
+ $pkgname-xmerl:xmerl"
+# Patches 0001-0009 found: http://pkgs.fedoraproject.org/gitweb/?p=erlang.git;a=tree
+source="http://www.erlang.org/download/otp_src_$pkgver.tar.gz
+ otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
+ otp-0002-Remove-rpath.patch
+ otp-0003-Do-not-install-C-sources.patch
+ otp-0004-Do-not-install-Java-sources.patch
+ otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
+ otp-0006-Do-not-install-erlang-sources.patch
+ otp-0007-Split-off-webtool-dependency-from-tools.patch
+ otp-0008-Introduce-os-getenv-2.patch
+ otp-0009-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
+ otp-0010-fix-nteventlog-remove.patch
+ remove-private-unit32.patch
+ replace_glibc_check.patch"
+
+_builddir="$srcdir"/otp_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"
+ export CPPFLAGS="-D_BSD_SOURCE $CPPFLAGS"
+ export PATH="/usr/lib/jvm/java-1.7-openjdk/bin:$PATH"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --host="$CHOST" \
+ --build="$CBUILD" \
+ --enable-threads \
+ --enable-shared-zlib \
+ --enable-ssl=dynamic-ssl-lib \
+ || return 1
+ make -j1 || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make -j1 DESTDIR="$pkgdir" install || return 1
+ rm -rf "$pkgdir"/usr/lib/erlang/lib/wx-*
+}
+
+_mv_erlang_lib() {
+ local lib=$1
+ depends="$pkgname"
+
+ mkdir -p "$subpkgdir"/usr/lib/erlang/lib
+ mv "$pkgdir"/usr/lib/erlang/lib/$lib-* "$subpkgdir"/usr/lib/erlang/lib/
+}
+
+asn() { _mv_erlang_lib asn1; }
+common_test() { _mv_erlang_lib common_test; }
+compiler() { _mv_erlang_lib compiler; }
+cos_event() { _mv_erlang_lib cosEvent; }
+cos_event_domain() { _mv_erlang_lib cosEventDomain; }
+cos_file_transfer() { _mv_erlang_lib cosFileTransfer; }
+cos_notification() { _mv_erlang_lib cosNotification; }
+cos_property() { _mv_erlang_lib cosProperty; }
+cos_time() { _mv_erlang_lib cosTime; }
+cos_transactions() { _mv_erlang_lib cosTransactions; }
+crypto() { _mv_erlang_lib crypto; }
+debugger() { _mv_erlang_lib debugger; }
+dialyzer() { _mv_erlang_lib dialyzer; }
+diameter() { _mv_erlang_lib diameter; }
+edoc() { _mv_erlang_lib edoc; }
+eldap() { _mv_erlang_lib eldap; }
+erl_docgen() { _mv_erlang_lib erl_docgen; }
+erl_interface() { _mv_erlang_lib erl_interface; }
+erts() { _mv_erlang_lib erts; }
+et() { _mv_erlang_lib et; }
+eunit() { _mv_erlang_lib eunit; }
+gs() { _mv_erlang_lib gs; }
+hipe() { _mv_erlang_lib hipe; }
+ic() { _mv_erlang_lib ic; }
+inets() { _mv_erlang_lib inets; }
+jinterface() { _mv_erlang_lib jinterface; }
+kernel() { _mv_erlang_lib kernel; }
+megaco() { _mv_erlang_lib megaco; }
+mnesia() { _mv_erlang_lib mnesia; }
+observer() { _mv_erlang_lib observer; }
+odbc() { _mv_erlang_lib odbc; }
+orber() { _mv_erlang_lib orber; }
+os_mon() { _mv_erlang_lib os_mon; }
+ose() { _mv_erlang_lib ose; }
+otp_mibs() { _mv_erlang_lib otp_mibs; }
+parsetools() { _mv_erlang_lib parsetools; }
+percept() { _mv_erlang_lib percept; }
+public_key() { _mv_erlang_lib public_key; }
+reltool() { _mv_erlang_lib reltool; }
+runtime_tools() { _mv_erlang_lib runtime_tools; }
+sasl() { _mv_erlang_lib sasl; }
+snmp() { _mv_erlang_lib snmp; }
+ssh() { _mv_erlang_lib ssh; }
+ssl() { _mv_erlang_lib ssl; }
+stdlib() { _mv_erlang_lib stdlib; }
+syntax_tools() { _mv_erlang_lib syntax_tools; }
+test_server() { _mv_erlang_lib test_server; }
+tools() { _mv_erlang_lib tools; }
+typer() { _mv_erlang_lib typer; }
+webtool() { _mv_erlang_lib webtool; }
+xmerl() { _mv_erlang_lib xmerl; }
+
+dev() {
+ local i= j=
+ depends="$pkgname=$pkgver-r$pkgrel $depends_dev"
+ pkgdesc="$pkgdesc (development files)"
+
+ cd "$pkgdir" || return 0
+ local libdirs=usr/
+ [ -d lib/ ] && libdirs="lib/ $libdirs"
+ for i in usr/include usr/lib/pkgconfig usr/share/aclocal\
+ usr/share/gettext usr/bin/*-config \
+ usr/share/vala/vapi usr/share/gir-[0-9]*\
+ usr/share/qt*/mkspecs \
+ usr/lib/qt*/mkspecs \
+ usr/lib/cmake \
+ $(find . -name include -type d) \
+ $(find $libdirs -name '*.[acho]' \
+ -o -name '*.prl' 2>/dev/null); do
+ if [ -e "$pkgdir/$i" ] || [ -L "$pkgdir/$i" ]; then
+ d="$subpkgdir/${i%/*}" # dirname $i
+ mkdir -p "$d"
+ mv "$pkgdir/$i" "$d"
+ rmdir "$pkgdir/${i%/*}" 2>/dev/null
+ fi
+ done
+ # move *.so links needed when linking the apps to -dev packages
+ for i in lib/*.so usr/lib/*.so; do
+ if [ -L "$i" ]; then
+ mkdir -p "$subpkgdir"/"${i%/*}"
+ mv "$i" "$subpkgdir/$i" || return 1
+ fi
+ done
+ return 0
+}
+
+
+md5sums="346dd0136bf1cc28cebc140e505206bb otp_src_17.5.tar.gz
+5eb1ff3dd4ccf1a2a9e038ca599d535c otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
+6202359c7326ad45da303dea5b865ed7 otp-0002-Remove-rpath.patch
+49e76b9d1356c432141cc9e472ece48f otp-0003-Do-not-install-C-sources.patch
+b16edcf58468e7f33da182ba622d9372 otp-0004-Do-not-install-Java-sources.patch
+bdbce19aeb004148fdb12d4a11ed435f otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
+df2f5d70293bce953d94cb4ae76bb3a8 otp-0006-Do-not-install-erlang-sources.patch
+df323f3ed63e1112826ddc8012cae9d8 otp-0007-Split-off-webtool-dependency-from-tools.patch
+4689e0e5fd9040a86433d36e23020a6e otp-0008-Introduce-os-getenv-2.patch
+316027d711101e06258d0d85de30e3b0 otp-0009-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
+8acb24f5fef4d5e5de4ecda85548b117 otp-0010-fix-nteventlog-remove.patch
+20b48b781961fbff5dfc81df383c12e0 remove-private-unit32.patch
+06b7d939d3a18839d1c696998085c9c0 replace_glibc_check.patch"
+sha256sums="3c28820c981b30c50df8ac2a4a238e5813454fa3ed2ad530bc7948a282846474 otp_src_17.5.tar.gz
+18b235111ab59e89f6257ffa2b6a0c48933fda3107c9a4e6f15b718d080c5f37 otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
+f431800227050a8665c958ed9f21738adb7bbab5cbadb863eeb282f3da193a33 otp-0002-Remove-rpath.patch
+b4b2cfd436b9e75ea998784cce40492aa41512417321332e5b315361e80383d8 otp-0003-Do-not-install-C-sources.patch
+94380dab56a7687f6646b8e0b9e6433086ba36efd568ca41a7059312c3b9b5b1 otp-0004-Do-not-install-Java-sources.patch
+22e87786fa48f754ffa3d1d1bbe4305e7995ac1e11abf5deb3a0d83fad87ed54 otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
+ff3600d52418ac5d70161955d6cebd2d6ce0fd93700afdc1834df29fc437a705 otp-0006-Do-not-install-erlang-sources.patch
+b15610e9cc879467e2387db1eef450827bc58bf4cbc9ffd5d40272ba6b76c8d2 otp-0007-Split-off-webtool-dependency-from-tools.patch
+0dca75b3fc682b03d3ed736100ef4589bd7fcc28af53325a1d36c46a2a56330e otp-0008-Introduce-os-getenv-2.patch
+450b48773c767b01ce78e91d4d54a74f9fa2d093729c82278c0defb14723529d otp-0009-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
+59da2226b33c17f9bada33e135a5a03283bf21a3e5739a950594f8d1d49fdf03 otp-0010-fix-nteventlog-remove.patch
+c593c4715a31054031174fcc1a52d562440534e22762f7c19a76e0abedeef9c7 remove-private-unit32.patch
+37c762d495d252b69266b6ef59ae83d52ae9544c3a93845ca1f8225507f48249 replace_glibc_check.patch"
+sha512sums="cfd082c8baee7ded370a34f15a1ba3b846b7d81e06edc36c62308c9220697925f1feda91eeecb70fc658f8987087256f51a2ebd0c526d16eeb09c72889d2390d otp_src_17.5.tar.gz
+2fa0a9259432df4af3e10aacdbc8a782d11f86f4f06f6ff3299c698177744a26caaab248b8b00d89c99eb9a41ba9530037c5852dde73add58cb253e64de60258 otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
+2111ce99ecc59e44d707b92d3f10b109e326f2e5f68d342c2b0e20089dcd43c45bae1eeda48f9a2d7e655696dd707fb99a6ca3936302813a0dfbdad098edc48d otp-0002-Remove-rpath.patch
+076cf7e08cfdf015170abfe936f62c98bbb9a743235eabfd29362b79c95f1bcdde7ddfb1c4a46503765e53a13b1aeaaa433ea4f51ca1721057bb90a8977a873b otp-0003-Do-not-install-C-sources.patch
+5a89290eaaf622192f7ef32e70f8a1301581afa5541902aa961c0c4431183d9822668daa1d48bfc2dee010ab747b0c1f4511525a243be42c8cff252bdd7906f7 otp-0004-Do-not-install-Java-sources.patch
+50a22d39609fb50accf953f0268a6b9d75cc80b3ae9515a7b597469e2d68fd263b49a08e4e1c09b02c004d76bf1458e6d63d40038f5986270def144ae9f5cbe7 otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
+ec0c06c8e219458f9fc624a98360a302d3facbb3f0ae4eaefabac04789d0019a493287956682d70f99d64134a7fe2dbaf86f74a28afdf2264d36893085260d88 otp-0006-Do-not-install-erlang-sources.patch
+de19924f6aa652a93481a16f89f6eff4181f76a776f8a3ebd0c9a5b2f6344b8d3d4c2bb6192a5ef542d2dd02095d9bb9a2f094c248c01446daeb5abed2d471fe otp-0007-Split-off-webtool-dependency-from-tools.patch
+52c3cadd0ee294c209dc031623c415334a1946b9f77ed1acfb7c9e9e1b1d2a0186b7996098ea53d0cdfb4fc3d0c4a53587af0df1887040c4aafa9aad4cb74488 otp-0008-Introduce-os-getenv-2.patch
+c4465ee5369d066a258e4cd06267a57150e8701f23530ce246bc8bb91d1a141f613f97a2a438a19b3e39aaab815f3e78eb64cf7f31d0404fb03b288db826a6d9 otp-0009-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
+c0e5ce015a08eed504a5fa56f608a809b4da00f07ed7ede4d9fb195b85297907eff4c41ef866d205661cbd5e6d9334d04b0303631fd1e5b87a06d2862981807c otp-0010-fix-nteventlog-remove.patch
+0f5b2899de78c5481b38250583a1ef8825aec2ac74eaecf35a6ad3d1165ba6422dca6206d349d5a6f61d7fdb26dac688c2dbe13632cf23b671913af674593764 remove-private-unit32.patch
+8dc50e4d89173142b6b795bf802c991a1442648f934f623c2a6ddd1ebd075d8dc30d0ec584584cd8f36e8d22e947b9a1062c70e79c14090530c7a1ad678b9eca replace_glibc_check.patch"
diff --git a/unmaintained/erlang17/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch b/unmaintained/erlang17/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
new file mode 100644
index 0000000000..6aeadc8a4d
--- /dev/null
+++ b/unmaintained/erlang17/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
@@ -0,0 +1,41 @@
+From: Peter Lemenkov <lemenkov@gmail.com>
+Date: Thu, 25 Feb 2010 16:45:28 +0300
+Subject: [PATCH] Do not format man-pages and do not install miscellaneous
+ utilities for dealing with man-pages.
+
+Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
+
+diff --git a/erts/etc/common/Makefile.in b/erts/etc/common/Makefile.in
+index 0cf965f..94e82a8 100644
+--- a/erts/etc/common/Makefile.in
++++ b/erts/etc/common/Makefile.in
+@@ -550,10 +550,6 @@ endif
+ ifneq ($(INSTALL_TOP_BIN),)
+ $(INSTALL_PROGRAM) $(INSTALL_TOP_BIN) "$(RELEASE_PATH)"
+ endif
+-ifneq ($(INSTALL_MISC),)
+- $(INSTALL_DIR) "$(RELEASE_PATH)/misc"
+- $(INSTALL_SCRIPT) $(INSTALL_MISC) "$(RELEASE_PATH)/misc"
+-endif
+ ifneq ($(INSTALL_SRC),)
+ $(INSTALL_DIR) "$(RELEASE_PATH)/erts-$(VSN)/src"
+ $(INSTALL_DATA) $(INSTALL_SRC) "$(RELEASE_PATH)/erts-$(VSN)/src"
+diff --git a/erts/etc/unix/Install.src b/erts/etc/unix/Install.src
+index 8eb1db7..9e340bb 100644
+--- a/erts/etc/unix/Install.src
++++ b/erts/etc/unix/Install.src
+@@ -140,14 +140,5 @@ cp -p ../releases/%I_SYSTEM_VSN%/start_*.boot .
+ cp -p ../releases/%I_SYSTEM_VSN%/no_dot_erlang.boot .
+ cp -p $Name.boot start.boot
+ cp -p ../releases/%I_SYSTEM_VSN%/$Name.script start.script
+-#
+-# Fixing the man pages
+-#
+-
+-if [ -d "$ERL_ROOT/man" ]
+-then
+- cd "$ERL_ROOT"
+- ./misc/format_man_pages "$ERL_ROOT"
+-fi
+
+ exit 0
diff --git a/unmaintained/erlang17/otp-0002-Remove-rpath.patch b/unmaintained/erlang17/otp-0002-Remove-rpath.patch
new file mode 100644
index 0000000000..492734fe30
--- /dev/null
+++ b/unmaintained/erlang17/otp-0002-Remove-rpath.patch
@@ -0,0 +1,32 @@
+From: Peter Lemenkov <lemenkov@gmail.com>
+Date: Thu, 25 Feb 2010 16:57:43 +0300
+Subject: [PATCH] Remove rpath
+
+Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
+
+diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in
+index 8c92b5b..5b36c19 100644
+--- a/lib/crypto/c_src/Makefile.in
++++ b/lib/crypto/c_src/Makefile.in
+@@ -89,7 +89,7 @@ endif
+ DYNAMIC_CRYPTO_LIB=@SSL_DYNAMIC_ONLY@
+
+ ifeq ($(DYNAMIC_CRYPTO_LIB),yes)
+-SSL_DED_LD_RUNTIME_LIBRARY_PATH = @SSL_DED_LD_RUNTIME_LIBRARY_PATH@
++SSL_DED_LD_RUNTIME_LIBRARY_PATH =
+ CRYPTO_LINK_LIB=$(SSL_DED_LD_RUNTIME_LIBRARY_PATH) -L$(SSL_LIBDIR) -l$(SSL_CRYPTO_LIBNAME)
+ EXTRA_FLAGS = -DHAVE_DYNAMIC_CRYPTO_LIB
+ else
+diff --git a/lib/crypto/priv/Makefile b/lib/crypto/priv/Makefile
+index 0989f14..0d29444 100644
+--- a/lib/crypto/priv/Makefile
++++ b/lib/crypto/priv/Makefile
+@@ -60,7 +60,7 @@ OBJS = $(OBJDIR)/crypto.o
+ # ----------------------------------------------------
+
+ $(SO_NIFLIB): $(OBJS)
+- $(SO_LD) $(SO_LDFLAGS) -L$(SO_SSL_LIBDIR) -Wl,-R$(SO_SSL_LIBDIR) \
++ $(SO_LD) $(SO_LDFLAGS) -L$(SO_SSL_LIBDIR) \
+ -o $@ $^ -lcrypto
+
+ $(DLL_NIFLIB): $(OBJS)
diff --git a/unmaintained/erlang17/otp-0003-Do-not-install-C-sources.patch b/unmaintained/erlang17/otp-0003-Do-not-install-C-sources.patch
new file mode 100644
index 0000000000..f89bcb79ff
--- /dev/null
+++ b/unmaintained/erlang17/otp-0003-Do-not-install-C-sources.patch
@@ -0,0 +1,161 @@
+From: Peter Lemenkov <lemenkov@gmail.com>
+Date: Fri, 18 Jun 2010 23:41:33 +0400
+Subject: [PATCH] Do not install C sources
+
+Don't install *.c and *.o files.
+
+Excepts ones from the internal erl_interface. These
+API headers are necessary. See rhbz #818419 for the
+explanation why they're necessary for the low-level
+interaction with the Erlang nodes:
+
+https://bugzilla.redhat.com/818419
+
+Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
+
+diff --git a/lib/asn1/c_src/Makefile b/lib/asn1/c_src/Makefile
+index a7cd03f..6da4d75 100644
+--- a/lib/asn1/c_src/Makefile
++++ b/lib/asn1/c_src/Makefile
+@@ -142,8 +142,6 @@ release_spec: opt
+ ifneq ($(findstring ose,$(TARGET)),ose)
+ $(INSTALL_PROGRAM) $(NIF_SHARED_OBJ_FILE) "$(RELSYSDIR)/priv/lib"
+ endif
+- $(INSTALL_DIR) "$(RELSYSDIR)/c_src"
+- $(INSTALL_DATA) *.c "$(RELSYSDIR)/c_src"
+
+ release_docs_spec:
+
+diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in
+index 5b36c19..470821e 100644
+--- a/lib/crypto/c_src/Makefile.in
++++ b/lib/crypto/c_src/Makefile.in
+@@ -199,14 +199,10 @@ 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"
+ ifneq ($(findstring ose,$(TARGET)),ose)
+- $(INSTALL_PROGRAM) $(CRYPTO_OBJS) "$(RELSYSDIR)/priv/obj"
+ $(INSTALL_PROGRAM) $(NIF_LIB) "$(RELSYSDIR)/priv/lib"
+ ifeq ($(DYNAMIC_CRYPTO_LIB),yes)
+- $(INSTALL_PROGRAM) $(CALLBACK_OBJS) "$(RELSYSDIR)/priv/obj"
+ $(INSTALL_PROGRAM) $(CALLBACK_LIB) "$(RELSYSDIR)/priv/lib"
+ endif
+ endif
+diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in
+index 7c09b60..2c14f9e 100644
+--- a/lib/erl_interface/src/Makefile.in
++++ b/lib/erl_interface/src/Makefile.in
+@@ -904,14 +904,14 @@ 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"
++ $(INSTALL_DATA) connect/*.h "$(RELSYSDIR)/src/connect"
++ $(INSTALL_DATA) decode/*.h "$(RELSYSDIR)/src/decode"
++ $(INSTALL_DATA) encode/*.h "$(RELSYSDIR)/src/encode"
++ $(INSTALL_DATA) epmd/*.h "$(RELSYSDIR)/src/epmd"
++ $(INSTALL_DATA) misc/*.h "$(RELSYSDIR)/src/misc"
++ $(INSTALL_DATA) registry/*.h "$(RELSYSDIR)/src/registry"
++ $(INSTALL_DATA) legacy/*.h "$(RELSYSDIR)/src/legacy"
++ $(INSTALL_DATA) prog/*.h "$(RELSYSDIR)/src/prog"
+
+ release_docs:
+
+diff --git a/lib/ic/c_src/Makefile.in b/lib/ic/c_src/Makefile.in
+index ed860ab..96206ae 100644
+--- a/lib/ic/c_src/Makefile.in
++++ b/lib/ic/c_src/Makefile.in
+@@ -144,12 +144,10 @@ $(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_DIR) "$(RELEASE_PATH)/usr/include"
+ $(INSTALL_DIR) "$(RELEASE_PATH)/usr/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"
+ $(INSTALL_DATA) $(IDL_FILES) $(H_FILES) "$(RELEASE_PATH)/usr/include"
+diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in
+index 6111cf2..bd62e8b 100644
+--- a/lib/megaco/src/flex/Makefile.in
++++ b/lib/megaco/src/flex/Makefile.in
+@@ -270,7 +270,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 6572d28..c7093ae 100644
+--- a/lib/odbc/c_src/Makefile.in
++++ b/lib/odbc/c_src/Makefile.in
+@@ -128,11 +128,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 f84ccf7..05d194f 100644
+--- a/lib/os_mon/c_src/Makefile.in
++++ b/lib/os_mon/c_src/Makefile.in
+@@ -125,8 +125,6 @@ $(OBJDIR)/memsup.o: memsup.h
+ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ 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"
+
+diff --git a/lib/runtime_tools/c_src/Makefile.in b/lib/runtime_tools/c_src/Makefile.in
+index d46b499..4309aae 100644
+--- a/lib/runtime_tools/c_src/Makefile.in
++++ b/lib/runtime_tools/c_src/Makefile.in
+@@ -156,10 +156,8 @@ docs:
+ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+- $(INSTALL_DIR) "$(RELSYSDIR)/priv/obj"
+ $(INSTALL_DIR) "$(RELSYSDIR)/priv/lib"
+ ifneq ($(findstring ose,$(TARGET)),ose)
+- $(INSTALL_PROGRAM) $(DYNTRACE_OBJS) "$(RELSYSDIR)/priv/obj"
+ $(INSTALL_PROGRAM) $(NIF_LIB) $(SOLIBS) "$(RELSYSDIR)/priv/lib"
+ endif
+
+diff --git a/lib/tools/c_src/Makefile.in b/lib/tools/c_src/Makefile.in
+index b1eb69f..1acfdbf 100644
+--- a/lib/tools/c_src/Makefile.in
++++ b/lib/tools/c_src/Makefile.in
+@@ -197,8 +197,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/unmaintained/erlang17/otp-0004-Do-not-install-Java-sources.patch b/unmaintained/erlang17/otp-0004-Do-not-install-Java-sources.patch
new file mode 100644
index 0000000000..65323fa79d
--- /dev/null
+++ b/unmaintained/erlang17/otp-0004-Do-not-install-Java-sources.patch
@@ -0,0 +1,32 @@
+From: Peter Lemenkov <lemenkov@gmail.com>
+Date: Sat, 19 Jun 2010 09:25:18 +0400
+Subject: [PATCH] Do not install Java sources
+
+Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
+
+diff --git a/lib/ic/java_src/com/ericsson/otp/ic/Makefile b/lib/ic/java_src/com/ericsson/otp/ic/Makefile
+index 273614e..5b1fb57 100644
+--- a/lib/ic/java_src/com/ericsson/otp/ic/Makefile
++++ b/lib/ic/java_src/com/ericsson/otp/ic/Makefile
+@@ -112,8 +112,6 @@ docs:
+ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+- $(INSTALL_DIR) "$(RELSYSDIR)/java_src/com/ericsson/otp/ic"
+- $(INSTALL_DATA) $(JAVA_FILES) "$(RELSYSDIR)/java_src/com/ericsson/otp/ic"
+ $(INSTALL_DIR) "$(RELSYSDIR)/priv"
+ $(INSTALL_DATA) $(JAVA_DEST_ROOT)$(JARFILE) "$(RELSYSDIR)/priv"
+
+diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
+index ea3ab77..e95757e 100644
+--- a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
++++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
+@@ -119,8 +119,6 @@ release release_docs release_tests release_html:
+ $(V_at)$(MAKE) $(MFLAGS) RELEASE_PATH="$(RELEASE_PATH)" $(TARGET_MAKEFILE) $@_spec
+
+ release_spec: opt
+- $(V_at)$(INSTALL_DIR) "$(RELSYSDIR)/java_src/com/ericsson/otp/erlang"
+- $(V_at)$(INSTALL_DATA) $(JAVA_SRC) "$(RELSYSDIR)/java_src/com/ericsson/otp/erlang"
+ $(V_at)$(INSTALL_DIR) "$(RELSYSDIR)/priv"
+ $(V_at)$(INSTALL_DATA) $(JAVA_DEST_ROOT)$(JARFILE) "$(RELSYSDIR)/priv"
+ $(V_at)$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/unmaintained/erlang17/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch b/unmaintained/erlang17/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
new file mode 100644
index 0000000000..42a323c9c7
--- /dev/null
+++ b/unmaintained/erlang17/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
@@ -0,0 +1,57 @@
+From: Peter Lemenkov <lemenkov@gmail.com>
+Date: Sat, 19 Jun 2010 09:59:39 +0400
+Subject: [PATCH] Do not install nteventlog and related doc-files on non-win32
+ systems
+
+Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
+
+--- otp_src_17.5/lib/os_mon/doc/src/Makefile
++++ otp_src_17.5-fixed/lib/os_mon/doc/src/Makefile
+@@ -35,12 +35,17 @@
+ # Target Specs
+ # ----------------------------------------------------
+ XML_APPLICATION_FILES = ref_man.xml
++ifeq ($(findstring win32,$(TARGET)),win32)
++NTEVENTLOG_DOCFILE=nteventlog.xml
++else
++NTEVENTLOG_DOCFILE=
++endif
+ XML_REF3_FILES = cpu_sup.xml \
+ disksup.xml \
+ memsup.xml \
+ os_mon_mib.xml \
+ os_sup.xml \
+- nteventlog.xml
++ $(NTEVENTLOG_DOCFILE)
+
+ XML_REF6_FILES = os_mon_app.xml
+
+--- otp_src_17.5/lib/os_mon/src/Makefile
++++ otp_src_17.5-fixed/lib/os_mon/src/Makefile
+@@ -33,8 +33,13 @@
+ # ----------------------------------------------------
+ # Target Specs
+ # ----------------------------------------------------
++ifeq ($(findstring win32,$(TARGET)),win32)
++NTEVENTLOG=nteventlog
++else
++NTEVENTLOG=
++endif
+ MODULES= disksup memsup cpu_sup os_mon os_mon_mib os_sup os_mon_sysinfo \
+- nteventlog
++ $(NTEVENTLOG)
+
+ INCLUDE=../include
+ CSRC=../c_src
+@@ -78,7 +83,11 @@
+ # ----------------------------------------------------
+
+ $(APP_TARGET): $(APP_SRC) ../vsn.mk
++ifeq ($(findstring win32,$(TARGET)),win32)
+ $(vsn_verbose)sed -e 's;%VSN%;$(VSN);' $< > $@
++else
++ $(vsn_verbose)sed -e 's;%VSN%;$(VSN);;s;,\s*nteventlog;;' $< > $@
++endif
+
+ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
+ $(vsn_verbose)sed -e 's;%VSN%;$(VSN);' $< > $@
diff --git a/unmaintained/erlang17/otp-0006-Do-not-install-erlang-sources.patch b/unmaintained/erlang17/otp-0006-Do-not-install-erlang-sources.patch
new file mode 100644
index 0000000000..9e0e3a9aba
--- /dev/null
+++ b/unmaintained/erlang17/otp-0006-Do-not-install-erlang-sources.patch
@@ -0,0 +1,1006 @@
+From: Hans Ulrich Niedermann <hun@n-dimensional.de>
+Date: Mon, 21 Mar 2011 15:41:49 +0100
+Subject: [PATCH] Do not install erlang sources
+
+Don't install *.erl, *.xrl, *.yrl, and *.asn1 files at all.
+
+Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
+Signed-off-by: Hans Ulrich Niedermann <hun@n-dimensional.de>
+
+diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile
+index 4ea2d41..e1466c1 100644
+--- a/erts/preloaded/src/Makefile
++++ b/erts/preloaded/src/Makefile
+@@ -85,8 +85,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk
+ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: $(APP_TARGET)
+- $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(BEAM_FILES) $(STUBS_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(STATIC_TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile
+index 6798da0..4e3ae0e 100644
+--- a/lib/asn1/src/Makefile
++++ b/lib/asn1/src/Makefile
+@@ -154,7 +154,7 @@ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(APP_SRC) $(APPUP_SRC) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/examples"
+ $(INSTALL_DATA) $(EXAMPLES) "$(RELSYSDIR)/examples"
+
+diff --git a/lib/common_test/src/Makefile b/lib/common_test/src/Makefile
+index 8d74546..a25d85d 100644
+--- a/lib/common_test/src/Makefile
++++ b/lib/common_test/src/Makefile
+@@ -140,7 +140,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+diff --git a/lib/compiler/src/Makefile b/lib/compiler/src/Makefile
+index c6d09d8..46dcdf4 100644
+--- a/lib/compiler/src/Makefile
++++ b/lib/compiler/src/Makefile
+@@ -165,8 +165,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(EXTRA_FILES) \
+- $(YRL_FILE) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(HRL_FILES) $(EXTRA_FILES) \
++ "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/cosEvent/src/Makefile b/lib/cosEvent/src/Makefile
+index 2864ee0..0e27bb6 100644
+--- a/lib/cosEvent/src/Makefile
++++ b/lib/cosEvent/src/Makefile
+@@ -202,7 +202,7 @@ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(GEN_ERL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(HRL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
+
+diff --git a/lib/cosEventDomain/src/Makefile b/lib/cosEventDomain/src/Makefile
+index b4b74bd..420f566 100644
+--- a/lib/cosEventDomain/src/Makefile
++++ b/lib/cosEventDomain/src/Makefile
+@@ -171,7 +171,7 @@ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(GEN_ERL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(HRL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(EXTERNAL_GEN_HRL_FILES) "$(RELSYSDIR)/include"
+
+diff --git a/lib/cosFileTransfer/src/Makefile b/lib/cosFileTransfer/src/Makefile
+index 9d3abb9..c3d83a5 100644
+--- a/lib/cosFileTransfer/src/Makefile
++++ b/lib/cosFileTransfer/src/Makefile
+@@ -179,9 +179,7 @@ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(GEN_FILES) $(IDL_FILES) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(GEN_ERL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(HRL_FILES) $(GEN_HRL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+- $(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
+
+ release_docs_spec:
+diff --git a/lib/cosNotification/src/Makefile b/lib/cosNotification/src/Makefile
+index 13153bd..0860700 100644
+--- a/lib/cosNotification/src/Makefile
++++ b/lib/cosNotification/src/Makefile
+@@ -370,8 +370,7 @@ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(GEN_FILES) $(IDL_FILES) $(YECC_FILES) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(IDL_FILES) $(YECC_FILES) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(GEN_HRL_FILES) $(HRL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
+
+diff --git a/lib/cosProperty/src/Makefile b/lib/cosProperty/src/Makefile
+index d7b75d8..fba8746 100644
+--- a/lib/cosProperty/src/Makefile
++++ b/lib/cosProperty/src/Makefile
+@@ -179,8 +179,7 @@ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(GEN_FILES) $(IDL_FILES) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(GEN_ERL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(GEN_HRL_FILES) $(HRL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
+
+diff --git a/lib/cosTime/src/Makefile b/lib/cosTime/src/Makefile
+index 0ab2b41..c29caeb 100644
+--- a/lib/cosTime/src/Makefile
++++ b/lib/cosTime/src/Makefile
+@@ -198,8 +198,7 @@ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(GEN_FILES) $(IDL_FILES) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(GEN_ERL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(GEN_HRL_FILES) $(HRL_FILES) $(IDL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
+
+diff --git a/lib/cosTransactions/src/Makefile b/lib/cosTransactions/src/Makefile
+index 7b4a9cf..290707c 100644
+--- a/lib/cosTransactions/src/Makefile
++++ b/lib/cosTransactions/src/Makefile
+@@ -173,7 +173,7 @@ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(GEN_ERL_FILES) $(IDL_FILE) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(HRL_FILES) $(IDL_FILE) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(EXTERNAL_GEN_HRL_FILES) "$(RELSYSDIR)/include"
+
+diff --git a/lib/crypto/src/Makefile b/lib/crypto/src/Makefile
+index c185c15..68bacba 100644
+--- a/lib/crypto/src/Makefile
++++ b/lib/crypto/src/Makefile
+@@ -81,8 +81,6 @@ docs:
+ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+- $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) \
+ $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
+diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile
+index d61519f..bfdb0c9 100644
+--- a/lib/debugger/src/Makefile
++++ b/lib/debugger/src/Makefile
+@@ -116,7 +116,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/dialyzer/src/Makefile b/lib/dialyzer/src/Makefile
+index 91fbdca..01fb30c 100644
+--- a/lib/dialyzer/src/Makefile
++++ b/lib/dialyzer/src/Makefile
+@@ -151,7 +151,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(EXTRA_FILES) \
++ $(INSTALL_DATA) $(HRL_FILES) $(EXTRA_FILES) \
+ "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
+diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile
+index 9afccf2..107d65b 100644
+--- a/lib/diameter/src/Makefile
++++ b/lib/diameter/src/Makefile
+@@ -250,11 +250,8 @@ release_spec: opt
+ $(MAKE) $(EXAMPLE_DIRS:%/=release_examples_%)
+
+ $(TARGET_DIRS:%/=release_src_%): release_src_%:
+- $(INSTALL_DIR) "$(RELSYSDIR)/src/$*"
+- $(INSTALL_DATA) $(filter $*/%, $(TARGET_MODULES:%=%.erl) \
+- $(INTERNAL_HRLS)) \
+- $(filter $*/%, compiler/$(DICT_YRL).yrl) \
+- "$(RELSYSDIR)/src/$*"
++ $(INSTALL_DATA) $(filter $*/%, $(INTERNAL_HRLS)) \
++ "$(RELSYSDIR)/src/$*" || true
+
+ $(EXAMPLE_DIRS:%/=release_examples_%): release_examples_%:
+ $(INSTALL_DIR) "$(RELSYSDIR)/examples/$*"
+diff --git a/lib/edoc/src/Makefile b/lib/edoc/src/Makefile
+index 4e5a418..c0bb0c3 100644
+--- a/lib/edoc/src/Makefile
++++ b/lib/edoc/src/Makefile
+@@ -88,7 +88,7 @@ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(OBJECTS) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(SOURCES) $(HRL_FILES) $(YRL_FILE) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src"
+
+ release_docs_spec:
+
+diff --git a/lib/eldap/src/Makefile b/lib/eldap/src/Makefile
+index 2e1110e..b7f9b09 100644
+--- a/lib/eldap/src/Makefile
++++ b/lib/eldap/src/Makefile
+@@ -98,10 +98,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
+- $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
+- $(INSTALL_DIR) "$(RELSYSDIR)/asn1"
+- $(INSTALL_DATA) ../asn1/$(ASN1_FILES) "$(RELSYSDIR)/asn1"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include"
+
+diff --git a/lib/erl_docgen/src/Makefile b/lib/erl_docgen/src/Makefile
+index ef96f5d..d9a2f0d 100644
+--- a/lib/erl_docgen/src/Makefile
++++ b/lib/erl_docgen/src/Makefile
+@@ -89,8 +89,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
+ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+- $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/et/src/Makefile b/lib/et/src/Makefile
+index 377e593..668e278 100644
+--- a/lib/et/src/Makefile
++++ b/lib/et/src/Makefile
+@@ -108,7 +108,6 @@ release_spec: opt
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
+diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile
+index 47aef10..78ddc74 100644
+--- a/lib/eunit/src/Makefile
++++ b/lib/eunit/src/Makefile
+@@ -120,7 +120,6 @@ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(PARSE_TRANSFORM_BIN) $(OBJECTS) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(PARSE_TRANSFORM) $(SOURCES) "$(RELSYSDIR)/src"
+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include"
+diff --git a/lib/gs/src/Makefile b/lib/gs/src/Makefile
+index f0200ca..86d3f74 100644
+--- a/lib/gs/src/Makefile
++++ b/lib/gs/src/Makefile
+@@ -108,8 +108,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(APP_SRC) $(ERL_FILES) $(HRL_FILES) $(GEN_HRL_FILES) \
+- $(GSTK_GENERIC) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(HRL_FILES) $(GEN_HRL_FILES) \
++ "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/priv/bitmap"
+diff --git a/lib/hipe/cerl/Makefile b/lib/hipe/cerl/Makefile
+index d13dfb3..b09d62b 100644
+--- a/lib/hipe/cerl/Makefile
++++ b/lib/hipe/cerl/Makefile
+@@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/cerl"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/cerl"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/cerl"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/hipe/flow/Makefile b/lib/hipe/flow/Makefile
+index 75e156b..5e394ca 100644
+--- a/lib/hipe/flow/Makefile
++++ b/lib/hipe/flow/Makefile
+@@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/flow"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(INC_FILES) "$(RELSYSDIR)/flow"
++ $(INSTALL_DATA) $(HRL_FILES) $(INC_FILES) "$(RELSYSDIR)/flow"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/hipe/icode/Makefile b/lib/hipe/icode/Makefile
+index 87015aa..84f870d 100644
+--- a/lib/hipe/icode/Makefile
++++ b/lib/hipe/icode/Makefile
+@@ -119,7 +119,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/icode"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/icode"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/icode"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/hipe/llvm/Makefile b/lib/hipe/llvm/Makefile
+index 92f3789..82f3e77 100644
+--- a/lib/hipe/llvm/Makefile
++++ b/lib/hipe/llvm/Makefile
+@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) $(RELSYSDIR)/llvm
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(RELSYSDIR)/llvm
++ $(INSTALL_DATA) $(HRL_FILES) $(RELSYSDIR)/llvm
+ $(INSTALL_DIR) $(RELSYSDIR)/ebin
+ $(INSTALL_DATA) $(TARGET_FILES) $(RELSYSDIR)/ebin
+
+diff --git a/lib/hipe/main/Makefile b/lib/hipe/main/Makefile
+index 66e4c3e..2f11670 100644
+--- a/lib/hipe/main/Makefile
++++ b/lib/hipe/main/Makefile
+@@ -117,7 +117,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+ release_spec: opt
+ $(INSTALL_DATA) ../vsn.mk "$(RELSYSDIR)"
+ $(INSTALL_DIR) "$(RELSYSDIR)/main"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/main"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/main"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/hipe/misc/Makefile b/lib/hipe/misc/Makefile
+index 16166f5..0ba5845 100644
+--- a/lib/hipe/misc/Makefile
++++ b/lib/hipe/misc/Makefile
+@@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/misc"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/misc"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/misc"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/hipe/rtl/Makefile b/lib/hipe/rtl/Makefile
+index 751e876..98b7911 100644
+--- a/lib/hipe/rtl/Makefile
++++ b/lib/hipe/rtl/Makefile
+@@ -104,7 +104,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/rtl"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/rtl"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/rtl"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/hipe/util/Makefile b/lib/hipe/util/Makefile
+index a5ee232..f03e41d 100644
+--- a/lib/hipe/util/Makefile
++++ b/lib/hipe/util/Makefile
+@@ -49,7 +49,6 @@ HIPE_MODULES =
+ endif
+ MODULES = hipe_timing hipe_dot hipe_digraph $(HIPE_MODULES)
+
+-HRL_FILES=
+ ERL_FILES= $(MODULES:%=%.erl)
+ TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR))
+ DOC_FILES= $(MODULES:%=$(DOCS)/%.html)
+@@ -103,8 +102,6 @@ $(DOCS)/%.html:%.erl
+ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+- $(INSTALL_DIR) "$(RELSYSDIR)/util"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/util"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/ic/src/Makefile b/lib/ic/src/Makefile
+index e8769d2..965d0e7 100644
+--- a/lib/ic/src/Makefile
++++ b/lib/ic/src/Makefile
+@@ -199,7 +199,7 @@ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(YRL_FILE) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/examples"
+ $(INSTALL_DIR) "$(RELSYSDIR)/examples/c-client"
+ $(INSTALL_DATA) $(CCL_EX_FILES) "$(RELSYSDIR)/examples/c-client"
+diff --git a/lib/inets/src/ftp/Makefile b/lib/inets/src/ftp/Makefile
+index 2c3d2b6..de0450e 100644
+--- a/lib/inets/src/ftp/Makefile
++++ b/lib/inets/src/ftp/Makefile
+@@ -90,7 +90,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src/ftp"
+- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/ftp"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/ftp"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/inets/src/http_client/Makefile b/lib/inets/src/http_client/Makefile
+index f0d4ce1..35c4ffc 100644
+--- a/lib/inets/src/http_client/Makefile
++++ b/lib/inets/src/http_client/Makefile
+@@ -91,7 +91,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src/http_client"
+- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_client"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_client"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/inets/src/http_lib/Makefile b/lib/inets/src/http_lib/Makefile
+index 51167b3..a623824 100644
+--- a/lib/inets/src/http_lib/Makefile
++++ b/lib/inets/src/http_lib/Makefile
+@@ -89,7 +89,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src/http_lib"
+- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_lib"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_lib"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/inets/src/http_server/Makefile b/lib/inets/src/http_server/Makefile
+index 2660d04..c873a27 100644
+--- a/lib/inets/src/http_server/Makefile
++++ b/lib/inets/src/http_server/Makefile
+@@ -126,7 +126,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src/http_server"
+- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_server"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_server"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/inets/src/inets_app/Makefile b/lib/inets/src/inets_app/Makefile
+index 22426ee..0b0cfb8 100644
+--- a/lib/inets/src/inets_app/Makefile
++++ b/lib/inets/src/inets_app/Makefile
+@@ -113,7 +113,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src/inets_app"
+- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/inets_app"
++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/inets_app"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+diff --git a/lib/inets/src/tftp/Makefile b/lib/inets/src/tftp/Makefile
+index b368b12..5eddaf0 100644
+--- a/lib/inets/src/tftp/Makefile
++++ b/lib/inets/src/tftp/Makefile
+@@ -95,7 +95,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src/tftp"
+- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/tftp"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/tftp"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(BEHAVIOUR_TARGET_FILES) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile
+index c7c70ad..3e1792f 100644
+--- a/lib/kernel/src/Makefile
++++ b/lib/kernel/src/Makefile
+@@ -199,7 +199,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
+diff --git a/lib/megaco/src/app/Makefile b/lib/megaco/src/app/Makefile
+index d18da53..4a9f4d2 100644
+--- a/lib/megaco/src/app/Makefile
++++ b/lib/megaco/src/app/Makefile
+@@ -113,7 +113,7 @@ release_spec: opt
+ $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src/app"
+- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/app"
++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/app"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include"
+
+diff --git a/lib/megaco/src/binary/Makefile b/lib/megaco/src/binary/Makefile
+index c1fd66b..0699ffa 100644
+--- a/lib/megaco/src/binary/Makefile
++++ b/lib/megaco/src/binary/Makefile
+@@ -175,7 +175,7 @@ release_spec: opt
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src/binary"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(ASN1_FILES) "$(RELSYSDIR)/src/binary"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/binary"
+
+
+ release_docs_spec:
+diff --git a/lib/megaco/src/engine/Makefile b/lib/megaco/src/engine/Makefile
+index 7cecef1..841a88a 100644
+--- a/lib/megaco/src/engine/Makefile
++++ b/lib/megaco/src/engine/Makefile
+@@ -101,7 +101,7 @@ release_spec: opt
+ $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src/engine"
+- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/engine"
++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/engine"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+
+
+diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in
+index bd62e8b..cce5a8d 100644
+--- a/lib/megaco/src/flex/Makefile.in
++++ b/lib/megaco/src/flex/Makefile.in
+@@ -267,8 +267,6 @@ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src/flex"
+ $(INSTALL_DIR) "$(RELSYSDIR)/priv/lib"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+- $(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) "$(RELSYSDIR)/src/flex"
+ $(INSTALL_PROGRAM) $(SOLIBS) "$(RELSYSDIR)/priv/lib"
+diff --git a/lib/megaco/src/tcp/Makefile b/lib/megaco/src/tcp/Makefile
+index 0c30aba..aa553ff 100644
+--- a/lib/megaco/src/tcp/Makefile
++++ b/lib/megaco/src/tcp/Makefile
+@@ -93,7 +93,7 @@ release_spec: opt
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src/tcp"
+- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/tcp"
++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/tcp"
+
+
+ release_docs_spec:
+diff --git a/lib/megaco/src/text/Makefile b/lib/megaco/src/text/Makefile
+index cab4256..d5cf217 100644
+--- a/lib/megaco/src/text/Makefile
++++ b/lib/megaco/src/text/Makefile
+@@ -134,7 +134,7 @@ release_spec: opt
+ $(INSTALL_DATA) $(BEAM_TARGET_FILES) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src/text"
+- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_YRL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/text"
++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/text"
+
+
+ release_docs_spec:
+diff --git a/lib/megaco/src/udp/Makefile b/lib/megaco/src/udp/Makefile
+index 9486804..ea4830c 100644
+--- a/lib/megaco/src/udp/Makefile
++++ b/lib/megaco/src/udp/Makefile
+@@ -93,7 +93,7 @@ release_spec: opt
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src/udp"
+- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/udp"
++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/udp"
+
+
+ release_docs_spec:
+diff --git a/lib/mnesia/src/Makefile b/lib/mnesia/src/Makefile
+index ac38fa0..20bce7e 100644
+--- a/lib/mnesia/src/Makefile
++++ b/lib/mnesia/src/Makefile
+@@ -132,7 +132,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/observer/src/Makefile b/lib/observer/src/Makefile
+index c120865..6831d23 100644
+--- a/lib/observer/src/Makefile
++++ b/lib/observer/src/Makefile
+@@ -149,7 +149,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/examples"
+ $(INSTALL_DATA) $(EXAMPLE_FILES) "$(RELSYSDIR)/examples"
+diff --git a/lib/odbc/src/Makefile b/lib/odbc/src/Makefile
+index bfbda8a..6e4ad54 100644
+--- a/lib/odbc/src/Makefile
++++ b/lib/odbc/src/Makefile
+@@ -109,7 +109,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(EXT_HRL_FILES) "$(RELSYSDIR)/include"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+diff --git a/lib/orber/COSS/CosNaming/Makefile b/lib/orber/COSS/CosNaming/Makefile
+index 8140620..73df530 100644
+--- a/lib/orber/COSS/CosNaming/Makefile
++++ b/lib/orber/COSS/CosNaming/Makefile
+@@ -144,8 +144,8 @@ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/COSS/CosNaming"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(IDL_FILE) "$(RELSYSDIR)/COSS/CosNaming"
+- $(INSTALL_DATA) $(GEN_FILES) "$(RELSYSDIR)/COSS/CosNaming"
++ $(INSTALL_DATA) $(HRL_FILES) $(IDL_FILE) "$(RELSYSDIR)/COSS/CosNaming"
++ $(INSTALL_DATA) $(GEN_HRL_FILES) $(GEN_EXT_HRL_FILES) "$(RELSYSDIR)/COSS/CosNaming"
+
+
+ release_docs_spec:
+diff --git a/lib/orber/src/Makefile b/lib/orber/src/Makefile
+index 398e481..f079e77 100644
+--- a/lib/orber/src/Makefile
++++ b/lib/orber/src/Makefile
+@@ -252,7 +252,7 @@ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(YRL_FILE) $(GEN_HRL_FILES_LOC) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(GEN_HRL_FILES_LOC) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) $(GEN_HRL_FILES_EXT) "$(RELSYSDIR)/include"
+
+diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile
+index 4e78cf8..69d434c 100644
+--- a/lib/os_mon/src/Makefile
++++ b/lib/os_mon/src/Makefile
+@@ -104,7 +104,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+diff --git a/lib/ose/src/Makefile b/lib/ose/src/Makefile
+index 88f8957..ab08a88 100644
+--- a/lib/ose/src/Makefile
++++ b/lib/ose/src/Makefile
+@@ -93,9 +93,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
+ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+- $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
+- $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/otp_mibs/src/Makefile b/lib/otp_mibs/src/Makefile
+index 6096240..cbc41e6 100644
+--- a/lib/otp_mibs/src/Makefile
++++ b/lib/otp_mibs/src/Makefile
+@@ -95,8 +95,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
+ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+- $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGETS) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/parsetools/src/Makefile b/lib/parsetools/src/Makefile
+index 2ee2285..ea075ed 100644
+--- a/lib/parsetools/src/Makefile
++++ b/lib/parsetools/src/Makefile
+@@ -90,8 +90,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
+ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+- $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+diff --git a/lib/percept/src/Makefile b/lib/percept/src/Makefile
+index 0282d63..5902da3 100644
+--- a/lib/percept/src/Makefile
++++ b/lib/percept/src/Makefile
+@@ -96,7 +96,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
+ # $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ # $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
+diff --git a/lib/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile
+index c1b3bc8..3d021cf 100644
+--- a/lib/public_key/asn1/Makefile
++++ b/lib/public_key/asn1/Makefile
+@@ -95,8 +95,8 @@ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
+ $(INSTALL_DIR) "$(RELSYSDIR)/asn1"
+- $(INSTALL_DATA) $(ASN_ASNS) $(ASN_ERLS) $(ASN_HRLS) $(ASN_CONFIGS) \
+- $(GEN_ERLS) "$(RELSYSDIR)/asn1"
++ $(INSTALL_DATA) $(ASN_ASNS) $(ASN_HRLS) $(ASN_CONFIGS) \
++ "$(RELSYSDIR)/asn1"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/public_key/src/Makefile b/lib/public_key/src/Makefile
+index 09393e8..eb4c54d 100644
+--- a/lib/public_key/src/Makefile
++++ b/lib/public_key/src/Makefile
+@@ -49,8 +49,6 @@ MODULES = \
+
+ HRL_FILES = $(INCLUDE)/public_key.hrl
+
+-INTERNAL_HRL_FILES =
+-
+ ERL_FILES = $(MODULES:%=%.erl)
+
+ TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR))
+@@ -103,8 +101,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
+ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+- $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+diff --git a/lib/reltool/src/Makefile b/lib/reltool/src/Makefile
+index b8387ff..2012af9 100644
+--- a/lib/reltool/src/Makefile
++++ b/lib/reltool/src/Makefile
+@@ -99,7 +99,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
+diff --git a/lib/runtime_tools/src/Makefile b/lib/runtime_tools/src/Makefile
+index 8d2bcfe..d1a9cac 100644
+--- a/lib/runtime_tools/src/Makefile
++++ b/lib/runtime_tools/src/Makefile
+@@ -96,8 +96,6 @@ docs:
+ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+- $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
+ $(INSTALL_DIR) "$(RELSYSDIR)/examples"
+diff --git a/lib/sasl/src/Makefile b/lib/sasl/src/Makefile
+index ab2d3a3..bb53a67 100644
+--- a/lib/sasl/src/Makefile
++++ b/lib/sasl/src/Makefile
+@@ -92,7 +92,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+diff --git a/lib/snmp/src/agent/Makefile b/lib/snmp/src/agent/Makefile
+index beed696..752072d 100644
+--- a/lib/snmp/src/agent/Makefile
++++ b/lib/snmp/src/agent/Makefile
+@@ -130,7 +130,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src/agent"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/agent"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/agent"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
+ "$(RELSYSDIR)/ebin"
+diff --git a/lib/snmp/src/app/Makefile b/lib/snmp/src/app/Makefile
+index b8cc4b8..d806efb 100644
+--- a/lib/snmp/src/app/Makefile
++++ b/lib/snmp/src/app/Makefile
+@@ -131,7 +131,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src/app"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/app"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/app"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
+ "$(RELSYSDIR)/ebin"
+diff --git a/lib/snmp/src/compile/Makefile b/lib/snmp/src/compile/Makefile
+index f63fc18..9759451 100644
+--- a/lib/snmp/src/compile/Makefile
++++ b/lib/snmp/src/compile/Makefile
+@@ -122,7 +122,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src/compiler"
+- $(INSTALL_DATA) $(ESCRIPT_SRC) $(PARSER_SRC) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/compiler"
++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/compiler"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(EBIN_FILES) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/bin"
+diff --git a/lib/snmp/src/manager/Makefile b/lib/snmp/src/manager/Makefile
+index c76dbac..548823a 100644
+--- a/lib/snmp/src/manager/Makefile
++++ b/lib/snmp/src/manager/Makefile
+@@ -113,7 +113,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src/manager"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/manager"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/manager"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+ # $(INSTALL_DIR) "$(RELSYSDIR)/include"
+diff --git a/lib/snmp/src/misc/Makefile b/lib/snmp/src/misc/Makefile
+index 698c341..3344a0c 100644
+--- a/lib/snmp/src/misc/Makefile
++++ b/lib/snmp/src/misc/Makefile
+@@ -111,7 +111,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src/misc"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/misc"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/misc"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+ # $(INSTALL_DIR) "$(RELSYSDIR)/include"
+diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile
+index 90d7110..e725c6c 100644
+--- a/lib/ssh/src/Makefile
++++ b/lib/ssh/src/Makefile
+@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
+ $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
+diff --git a/lib/ssl/src/Makefile b/lib/ssl/src/Makefile
+index 0c00a65..acec405 100644
+--- a/lib/ssl/src/Makefile
++++ b/lib/ssl/src/Makefile
+@@ -137,7 +137,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
+ $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
+diff --git a/lib/stdlib/src/Makefile b/lib/stdlib/src/Makefile
+index 9ab2cd4..876bfd2 100644
+--- a/lib/stdlib/src/Makefile
++++ b/lib/stdlib/src/Makefile
+@@ -203,7 +203,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) erl_parse.yrl "$(RELSYSDIR)/src"
+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
+diff --git a/lib/syntax_tools/src/Makefile b/lib/syntax_tools/src/Makefile
+index c9fbad8..2fc7f18 100644
+--- a/lib/syntax_tools/src/Makefile
++++ b/lib/syntax_tools/src/Makefile
+@@ -82,8 +82,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(OBJECTS) "$(RELSYSDIR)/ebin"
+- $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(SOURCES) "$(RELSYSDIR)/src"
+
+ release_docs_spec:
+
+diff --git a/lib/test_server/src/Makefile b/lib/test_server/src/Makefile
+index 35bbad3..deb7caf 100644
+--- a/lib/test_server/src/Makefile
++++ b/lib/test_server/src/Makefile
+@@ -123,7 +123,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(TS_HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
+diff --git a/lib/tools/src/Makefile b/lib/tools/src/Makefile
+index e606b97..1beb8cc 100644
+--- a/lib/tools/src/Makefile
++++ b/lib/tools/src/Makefile
+@@ -106,7 +106,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(YRL_FILE) $(HRL_FILES) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
+ "$(RELSYSDIR)/ebin"
+diff --git a/lib/typer/src/Makefile b/lib/typer/src/Makefile
+index a7059de..0b1ae2a 100644
+--- a/lib/typer/src/Makefile
++++ b/lib/typer/src/Makefile
+@@ -101,9 +101,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
+ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+- $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(YRL_FILES) \
+- "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
+
+diff --git a/lib/webtool/src/Makefile b/lib/webtool/src/Makefile
+index af565c8..6c65b26 100644
+--- a/lib/webtool/src/Makefile
++++ b/lib/webtool/src/Makefile
+@@ -87,8 +87,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
+ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+- $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
+ "$(RELSYSDIR)/ebin"
+diff --git a/lib/wx/src/Makefile b/lib/wx/src/Makefile
+index 26574ed..266a5d6 100644
+--- a/lib/wx/src/Makefile
++++ b/lib/wx/src/Makefile
+@@ -121,9 +121,9 @@ $(EBIN)/%.beam: $(EGEN)/%.erl $(HEADER_FILES)
+ include $(ERL_TOP)/make/otp_release_targets.mk
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src/gen"
+- $(INSTALL_DATA) $(GEN_HRL) $(GEN_FILES) "$(RELSYSDIR)/src/gen"
++ $(INSTALL_DATA) $(GEN_HRL) "$(RELSYSDIR)/src/gen"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(EXT_HRL) "$(RELSYSDIR)/include"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+diff --git a/lib/xmerl/src/Makefile b/lib/xmerl/src/Makefile
+index d5ce3fe..e21e4b1 100644
+--- a/lib/xmerl/src/Makefile
++++ b/lib/xmerl/src/Makefile
+@@ -217,9 +217,7 @@ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(APP_SRC) $(APPUP_SRC) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) xmerl_xpath_parse.yrl "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) xmerl_b64Bin.yrl "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
+
diff --git a/unmaintained/erlang17/otp-0007-Split-off-webtool-dependency-from-tools.patch b/unmaintained/erlang17/otp-0007-Split-off-webtool-dependency-from-tools.patch
new file mode 100644
index 0000000000..f2de8ac471
--- /dev/null
+++ b/unmaintained/erlang17/otp-0007-Split-off-webtool-dependency-from-tools.patch
@@ -0,0 +1,40 @@
+From: Peter Lemenkov <lemenkov@gmail.com>
+Date: Sat, 8 Nov 2014 22:54:57 +0300
+Subject: [PATCH] Split off webtool dependency from tools
+
+Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
+
+diff --git a/lib/tools/src/cover_web.erl b/lib/tools/src/cover_web.erl
+index 69f2f3b..9085300 100644
+--- a/lib/tools/src/cover_web.erl
++++ b/lib/tools/src/cover_web.erl
+@@ -50,14 +50,25 @@
+ %%%----------------------------------------------------------------------
+ %% Start webtool and webcover from erlang shell
+ start() ->
+- webtool:start(),
+- webtool:start_tools([],"app=webcover"),
++ try
++ % Disable automatic dependency picking up
++ erlang:apply(webtool, start, []),
++ erlang:apply(webtool, start_tools, [[],"app=webcover"])
++ catch
++ error:undef -> error_logger:error_msg("No erlang-webtool found.~nPlease install erlang-webtool package first.~n")
++ end,
+ ok.
+
+ %% Stop webtool and webcover from erlang shell
+ stop() ->
+- webtool:stop_tools([],"app=webcover"),
+- webtool:stop().
++ try
++ % Disable automatic dependency picking up
++ erlang:apply(webtool, stop_tools, [[],"app=webcover"]),
++ erlang:apply(webtool, stop, [])
++ catch
++ error:undef -> error_logger:error_msg("No erlang-webtool found.~nPlease install erlang-webtool package first.~n")
++ end,
++ ok.
+
+
+
diff --git a/unmaintained/erlang17/otp-0008-Introduce-os-getenv-2.patch b/unmaintained/erlang17/otp-0008-Introduce-os-getenv-2.patch
new file mode 100644
index 0000000000..6c48db2122
--- /dev/null
+++ b/unmaintained/erlang17/otp-0008-Introduce-os-getenv-2.patch
@@ -0,0 +1,63 @@
+From: Peter Lemenkov <lemenkov@gmail.com>
+Date: Sat, 8 Nov 2014 15:11:04 +0300
+Subject: [PATCH] Introduce os:getenv/2
+
+Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
+
+diff --git a/lib/kernel/doc/src/os.xml b/lib/kernel/doc/src/os.xml
+index 2b57e75..8b85f24 100644
+--- a/lib/kernel/doc/src/os.xml
++++ b/lib/kernel/doc/src/os.xml
+@@ -100,6 +100,19 @@ DirOut = os:cmd("dir"), % on Win32 platform</code>
+ </desc>
+ </func>
+ <func>
++ <name name="getenv" arity="2"/>
++ <fsummary>Get the value of an environment variable</fsummary>
++ <desc>
++ <p>Returns the <c><anno>Value</anno></c> of the environment variable
++ <c><anno>VarName</anno></c>, or <c>DefaultValue</c> if the environment variable
++ is undefined.</p>
++ <p>If Unicode file name encoding is in effect (see the <seealso
++ marker="erts:erl#file_name_encoding">erl manual
++ page</seealso>), the strings (both <c><anno>VarName</anno></c> and
++ <c><anno>Value</anno></c>) may contain characters with codepoints > 255.</p>
++ </desc>
++ </func>
++ <func>
+ <name name="getpid" arity="0"/>
+ <fsummary>Return the process identifier of the emulator process</fsummary>
+ <desc>
+diff --git a/lib/kernel/src/os.erl b/lib/kernel/src/os.erl
+index 187fd00..8aaf13b 100644
+--- a/lib/kernel/src/os.erl
++++ b/lib/kernel/src/os.erl
+@@ -26,7 +26,7 @@
+
+ %%% BIFs
+
+--export([getenv/0, getenv/1, getpid/0, putenv/2, timestamp/0, unsetenv/1]).
++-export([getenv/0, getenv/1, getenv/2, getpid/0, putenv/2, timestamp/0, unsetenv/1]).
+
+ -spec getenv() -> [string()].
+
+@@ -39,6 +39,19 @@ getenv() -> erlang:nif_error(undef).
+ getenv(_) ->
+ erlang:nif_error(undef).
+
++-spec getenv(VarName, DefaultValue) -> Value when
++ VarName :: string(),
++ DefaultValue :: string(),
++ Value :: string().
++
++getenv(VarName, DefaultValue) ->
++ case os:getenv(VarName) of
++ false ->
++ DefaultValue;
++ Value ->
++ Value
++ end.
++
+ -spec getpid() -> Value when
+ Value :: string().
+
diff --git a/unmaintained/erlang17/otp-0009-Patch-removes-support-for-SSLv3-protocol-because-it-.patch b/unmaintained/erlang17/otp-0009-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
new file mode 100644
index 0000000000..fa55663342
--- /dev/null
+++ b/unmaintained/erlang17/otp-0009-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
@@ -0,0 +1,100 @@
+From: Sergei Golovan <sgolovan@debian.org>
+Date: Sun, 30 Nov 2014 20:20:41 +0300
+Subject: [PATCH] Patch removes support for SSLv3 protocol because it is proved
+ to be insecure and nobody should use it anymore.
+
+
+diff --git a/lib/ssl/doc/src/ssl.xml b/lib/ssl/doc/src/ssl.xml
+index b53344e..b245621 100644
+--- a/lib/ssl/doc/src/ssl.xml
++++ b/lib/ssl/doc/src/ssl.xml
+@@ -123,7 +123,7 @@
+
+ <p><c>sslsocket() - opaque to the user. </c></p>
+
+- <p><c>protocol() = sslv3 | tlsv1 | 'tlsv1.1' | 'tlsv1.2' </c></p>
++ <p><c>protocol() = tlsv1 | 'tlsv1.1' | 'tlsv1.2' </c></p>
+
+ <p><c>ciphers() = [ciphersuite()] | string() (according to old API)</c></p>
+
+diff --git a/lib/ssl/doc/src/ssl_app.xml b/lib/ssl/doc/src/ssl_app.xml
+index 43cb393..ff12e04 100644
+--- a/lib/ssl/doc/src/ssl_app.xml
++++ b/lib/ssl/doc/src/ssl_app.xml
+@@ -47,10 +47,10 @@
+ </p>
+ <p>Note that the environment parameters can be set on the command line,
+ for instance,</p>
+- <p><c>erl ... -ssl protocol_version '[sslv3, tlsv1]' ...</c>.
++ <p><c>erl ... -ssl protocol_version '[tlsv1.1, tlsv1]' ...</c>.
+ </p>
+ <taglist>
+- <tag><c><![CDATA[protocol_version = [sslv3|tlsv1] <optional>]]></c>.</tag>
++ <tag><c><![CDATA[protocol_version = [tlsv1|tlsv1.1|tlsv1.2] <optional>]]></c>.</tag>
+ <item>
+ <p>Protocol that will be supported by started clients and
+ servers. If this option is not set it will default to all
+@@ -58,6 +58,9 @@
+ Note that this option may be overridden by the version option
+ to ssl:connect/[2,3] and ssl:listen/2.
+ </p>
++ <p>For Debian GNU/Linux distribution the sslv3 protocol was
++ disabled due to its security issues.
++ </p>
+ </item>
+
+ <tag><c><![CDATA[session_lifetime = integer() <optional>]]></c></tag>
+diff --git a/lib/ssl/src/ssl_internal.hrl b/lib/ssl/src/ssl_internal.hrl
+index 75efb64..155fa81 100644
+--- a/lib/ssl/src/ssl_internal.hrl
++++ b/lib/ssl/src/ssl_internal.hrl
+@@ -67,8 +67,8 @@
+ -define(TRUE, 0).
+ -define(FALSE, 1).
+
+--define(ALL_SUPPORTED_VERSIONS, ['tlsv1.2', 'tlsv1.1', tlsv1, sslv3]).
+--define(MIN_SUPPORTED_VERSIONS, ['tlsv1.1', tlsv1, sslv3]).
++-define(ALL_SUPPORTED_VERSIONS, ['tlsv1.2', 'tlsv1.1', tlsv1]).
++-define(MIN_SUPPORTED_VERSIONS, ['tlsv1.1', tlsv1]).
+ -define(ALL_DATAGRAM_SUPPORTED_VERSIONS, ['dtlsv1.2', dtlsv1]).
+ -define(MIN_DATAGRAM_SUPPORTED_VERSIONS, ['dtlsv1.2', dtlsv1]).
+
+diff --git a/lib/ssl/src/ssl_record.hrl b/lib/ssl/src/ssl_record.hrl
+index 6aab35d..1511abd 100644
+--- a/lib/ssl/src/ssl_record.hrl
++++ b/lib/ssl/src/ssl_record.hrl
+@@ -144,6 +144,7 @@
+ %% }).
+
+ -define(LOWEST_MAJOR_SUPPORTED_VERSION, 3).
++-define(LOWEST_MINOR_SUPPORTED_VERSION, 1).
+
+
+ -record(generic_stream_cipher, {
+diff --git a/lib/ssl/src/tls_record.erl b/lib/ssl/src/tls_record.erl
+index f50ea22..aa4fc8d 100644
+--- a/lib/ssl/src/tls_record.erl
++++ b/lib/ssl/src/tls_record.erl
+@@ -276,14 +276,20 @@ supported_protocol_versions([_|_] = Vsns) ->
+ %%--------------------------------------------------------------------
+ -spec is_acceptable_version(tls_version()) -> boolean().
+ is_acceptable_version({N,_})
+- when N >= ?LOWEST_MAJOR_SUPPORTED_VERSION ->
++ when N > ?LOWEST_MAJOR_SUPPORTED_VERSION ->
++ true;
++is_acceptable_version({N,M})
++ when N == ?LOWEST_MAJOR_SUPPORTED_VERSION andalso M >= ?LOWEST_MINOR_SUPPORTED_VERSION ->
+ true;
+ is_acceptable_version(_) ->
+ false.
+
+ -spec is_acceptable_version(tls_version(), Supported :: [tls_version()]) -> boolean().
+ is_acceptable_version({N,_} = Version, Versions)
+- when N >= ?LOWEST_MAJOR_SUPPORTED_VERSION ->
++ when N > ?LOWEST_MAJOR_SUPPORTED_VERSION ->
++ lists:member(Version, Versions);
++is_acceptable_version({N,M} = Version, Versions)
++ when N == ?LOWEST_MAJOR_SUPPORTED_VERSION andalso M >= ?LOWEST_MINOR_SUPPORTED_VERSION ->
+ lists:member(Version, Versions);
+ is_acceptable_version(_,_) ->
+ false.
diff --git a/unmaintained/erlang17/otp-0010-fix-nteventlog-remove.patch b/unmaintained/erlang17/otp-0010-fix-nteventlog-remove.patch
new file mode 100644
index 0000000000..5fa5731a20
--- /dev/null
+++ b/unmaintained/erlang17/otp-0010-fix-nteventlog-remove.patch
@@ -0,0 +1,11 @@
+--- otp_src_17.5-orig/lib/os_mon/ebin/os_mon.app
++++ otp_src_17.5-fixed/lib/os_mon/ebin/os_mon.app
+@@ -21,7 +21,7 @@
+ [{description, "CPO CXC 138 46"},
+ {vsn, "2.3.1"},
+ {modules, [os_mon, os_mon_mib, os_sup,
+- disksup, memsup, cpu_sup, os_mon_sysinfo, nteventlog]},
++ disksup, memsup, cpu_sup, os_mon_sysinfo]},
+ {registered, [os_mon_sup, os_mon_sysinfo, disksup, memsup, cpu_sup,
+ os_sup_server]},
+ {applications, [kernel, stdlib, sasl]},
diff --git a/unmaintained/erlang17/remove-private-unit32.patch b/unmaintained/erlang17/remove-private-unit32.patch
new file mode 100644
index 0000000000..cfc08cc1fe
--- /dev/null
+++ b/unmaintained/erlang17/remove-private-unit32.patch
@@ -0,0 +1,11 @@
+--- otp_src_17.4/erts/emulator/sys/common/erl_poll.h
++++ otp_src_17.4-fixed/erts/emulator/sys/common/erl_poll.h
+@@ -129,7 +129,7 @@
+ #include <sys/epoll.h>
+
+ #define ERTS_POLL_EV_E2N(EV) \
+- ((__uint32_t) (EV))
++ ((uint32_t) (EV))
+ #define ERTS_POLL_EV_N2E(EV) \
+ ((ErtsPollEvents) (EV))
+
diff --git a/unmaintained/erlang17/replace_glibc_check.patch b/unmaintained/erlang17/replace_glibc_check.patch
new file mode 100644
index 0000000000..170bbbb118
--- /dev/null
+++ b/unmaintained/erlang17/replace_glibc_check.patch
@@ -0,0 +1,20 @@
+--- otp_src_17.4/lib/erl_interface/src/connect/ei_resolve.c
++++ otp_src_17.4-fixed/lib/erl_interface/src/connect/ei_resolve.c
+@@ -615,7 +615,7 @@
+ #ifndef HAVE_GETHOSTBYNAME_R
+ return my_gethostbyaddr_r(addr,length,type,hostp,buffer,buflen,h_errnop);
+ #else
+-#if (defined(__GLIBC__) || (__FreeBSD_version >= 602000) || defined(__DragonFly__))
++#if (defined(_BSD_SOURCE) || (__FreeBSD_version >= 602000) || defined(__DragonFly__))
+ struct hostent *result;
+
+ gethostbyaddr_r(addr, length, type, hostp, buffer, buflen, &result,
+@@ -642,7 +642,7 @@
+ #ifndef HAVE_GETHOSTBYNAME_R
+ return my_gethostbyname_r(name,hostp,buffer,buflen,h_errnop);
+ #else
+-#if (defined(__GLIBC__) || (__FreeBSD_version >= 602000) || defined(__DragonFly__) || defined(__ANDROID__))
++#if (defined(_BSD_SOURCE) || (__FreeBSD_version >= 602000) || defined(__DragonFly__) || defined(__ANDROID__))
+ struct hostent *result;
+
+ gethostbyname_r(name, hostp, buffer, buflen, &result, h_errnop);
diff --git a/unmaintained/ethumb/APKBUILD b/unmaintained/ethumb/APKBUILD
new file mode 100644
index 0000000000..ca13a103cd
--- /dev/null
+++ b/unmaintained/ethumb/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=ethumb
+pkgver=1.7.9
+pkgrel=0
+pkgdesc="A thumbnail generation library"
+url="http://trac.enlightenment.org/e/wiki/Ethumb"
+arch="all"
+license="BSD"
+depends=""
+depends_dev="eina-dev evas-dev ecore-dev edje-dev e_dbus-dev libexif-dev
+ emotion-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://download.enlightenment.org/releases/ethumb-$pkgver.tar.gz"
+
+_builddir="$srcdir"/ethumb-$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
+}
+
+md5sums="d71a6fbcce2c6a8f46ea9b9b9d53cbab ethumb-1.7.9.tar.gz"
+sha256sums="a97c39a9184ec7e1b352a7f251d97992b8082e3a0d6735ea1f34e4e40129a12f ethumb-1.7.9.tar.gz"
+sha512sums="70b77a902bf1005d5e5d9a9c3531e9d119e083b7a94e9e28750d3005bc386bd1d57bc2111d42c19924c1fc0a10ea0bfe6c5d1d8ae679c9546157c098991a5795 ethumb-1.7.9.tar.gz"
diff --git a/unmaintained/etracer/APKBUILD b/unmaintained/etracer/APKBUILD
new file mode 100644
index 0000000000..0642b7c5b4
--- /dev/null
+++ b/unmaintained/etracer/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: William Pitcock <nenolod@dereferenced.org>
+pkgname=etracer
+pkgver=0.6.0
+pkgrel=0
+pkgdesc="A racing game where you race tux down a mountain"
+url="http://extremetuxracer.com/"
+arch="all"
+license="GPL2+"
+depends=""
+makedepends="sdl-dev mesa-dev sdl_mixer-dev tcl-dev freetype-dev libpng-dev
+ libx11-dev libxext-dev libxmu-dev libxi-dev libxt-dev glu-dev autoconf
+ automake sdl_image-dev"
+install=""
+source="http://downloads.sourceforge.net/extremetuxracer/etr-$pkgver.tar.xz"
+
+_builddir="${srcdir}"/etr-$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
+ autoreconf -f -s -i -m
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="c85690864b14f9d422b73025cb01aa8d etr-0.6.0.tar.xz"
+sha256sums="44312719a1e9aa33e5aa0c8ad50bb52df702d64fd2d16bf2abda62ee27bf893a etr-0.6.0.tar.xz"
+sha512sums="c3127dd1f8d9b856cc42808713a53b48a64821f020ecf3bfaae8be96e36eaddfadfedcf394d445ea1f49df650763b50d35a5ad9cac03308bcb1a4a473e4906d8 etr-0.6.0.tar.xz"
diff --git a/unmaintained/etracer/etracer-finite.patch b/unmaintained/etracer/etracer-finite.patch
new file mode 100644
index 0000000000..ecfca4f260
--- /dev/null
+++ b/unmaintained/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/unmaintained/etracer/etracer-png.patch b/unmaintained/etracer/etracer-png.patch
new file mode 100644
index 0000000000..4a3469cd1f
--- /dev/null
+++ b/unmaintained/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/unmaintained/ettercap/APKBUILD b/unmaintained/ettercap/APKBUILD
new file mode 100644
index 0000000000..7ae738ff86
--- /dev/null
+++ b/unmaintained/ettercap/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=ettercap
+pkgver=0.8.0
+pkgrel=0
+pkgdesc="Comprehensive suite for man in the middle attacks"
+url="http://ettercap.github.io/ettercap/"
+arch="all"
+license="GPL2+"
+depends="ethtool"
+depends_dev=""
+makedepends="$depends_dev autoconf automake bison cmake curl-dev flex
+ ghostscript groff libnet-dev libpcap-dev ncurses-dev
+ openssl-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ cd "$_builddir"
+ mkdir build && cd build
+}
+
+build() {
+ cd "$_builddir"/build
+ cmake \
+ -D ENABLE_GTK=OFF \
+ -D CMAKE_INSTALL_PREFIX=/usr \
+ -D INSTALL_PREFIX=/usr \
+ -D MAN_INSTALLDIR=/usr/share/man \
+ -D CMAKE_SKIP_RPATH=ON \
+ -D ENABLE_IPV6=yes \
+ ../ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"/build
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="067514bb53ff76b81d578676e2048319 ettercap-0.8.0.tar.gz"
+sha256sums="8013e2bbfc69af2939d8a40e6b31de5016fe75401e4b73207a0a8ac9053ac9bc ettercap-0.8.0.tar.gz"
+sha512sums="6d32b229378af5aea1dc82537f84a36c557021a01ccf40f228e69f6e39baa3f3becbb6138417bcad2951811d9ea57e89f960f7bb132fc09502e0b08f7a4ca813 ettercap-0.8.0.tar.gz"
diff --git a/unmaintained/evas/APKBUILD b/unmaintained/evas/APKBUILD
new file mode 100644
index 0000000000..b5bb00afcb
--- /dev/null
+++ b/unmaintained/evas/APKBUILD
@@ -0,0 +1,78 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=evas
+pkgver=1.7.9
+pkgrel=0
+pkgdesc="A hardware-accelerated retained canvas API"
+url="http://trac.enlightenment.org/e/wiki/Evas"
+arch="all"
+license="BSD"
+depends=""
+depends_dev="
+ eet-dev
+ eina-dev
+ fontconfig-dev
+ freetype-dev
+ fribidi-dev
+ harfbuzz-dev
+ "
+makedepends="$depends_dev
+ automake autoconf libtool
+ giflib-dev
+ libice-dev
+ libjpeg-turbo-dev
+ libpng-dev
+ librsvg-dev
+ librsvg-dev
+ libx11-dev
+ libxcb-dev
+ libxrender-dev
+ mesa-dev
+ sdl-dev
+ tiff-dev
+ xcb-util-image-dev
+ "
+
+install=""
+subpackages="$pkgname-dev"
+source="http://download.enlightenment.org/releases/evas-$pkgver.tar.gz
+ fribidi-cflags.patch
+ "
+
+_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
+ libtoolize --force && aclocal && autoconf \
+ && automake --add-missing --force || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --enable-gl-xlib \
+ --enable-software-16-x11 \
+ --enable-software-xcb \
+ --enable-pthreads \
+ --enable-async-events \
+ --enable-async-preload \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="c96a23ede14cd0adb7e8e549e8acdee1 evas-1.7.9.tar.gz
+ba33f6c8f3bfacea79532c706a7a6b63 fribidi-cflags.patch"
+sha256sums="1fd687e43ebe3031be4ac7628043eae1aafca83ce6d1d1f06ff3b59fb4c027f0 evas-1.7.9.tar.gz
+1b911f25b6a7911e1fa1c93d249f0f592b7bab187d1ceaf92915fb64dbe3288b fribidi-cflags.patch"
+sha512sums="b92954926932a610fc0c48eff0c218495afad7e811f502b1b535e6f544741423e490f3a60f3c8a529fc92b113465749d08885854680df5dd6242f8b3095f5b20 evas-1.7.9.tar.gz
+06f8e3ecd81a85c698b6c5c2bc8351d34f3f12ab5ac917d82846708143766d66b98c1fd9d4e267460ca8a534009aee6b49e95363ed60db79e2e9d3110c142f1a fribidi-cflags.patch"
diff --git a/unmaintained/evas/fribidi-cflags.patch b/unmaintained/evas/fribidi-cflags.patch
new file mode 100644
index 0000000000..b9a9cd0291
--- /dev/null
+++ b/unmaintained/evas/fribidi-cflags.patch
@@ -0,0 +1,12 @@
+diff --git a/src/modules/engines/software_x11/Makefile.am b/src/modules/engines/software_x11/Makefile.am
+index 8c0961d..edab474 100644
+--- a/src/modules/engines/software_x11/Makefile.am
++++ b/src/modules/engines/software_x11/Makefile.am
+@@ -40,6 +40,7 @@ AM_CPPFLAGS = \
+ @FREETYPE_CFLAGS@ \
+ @PIXMAN_CFLAGS@ \
+ @EVAS_GENERAL_CFLAGS@ \
++@FRIBIDI_CFLAGS@ \
+ @evas_engine_software_xcb_cflags@
+
+ SOFTWARE_X11_SOURCES += \
diff --git a/unmaintained/evas_generic_loaders/APKBUILD b/unmaintained/evas_generic_loaders/APKBUILD
new file mode 100644
index 0000000000..8b8a5e5afb
--- /dev/null
+++ b/unmaintained/evas_generic_loaders/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=evas_generic_loaders
+pkgver=1.7.9
+pkgrel=0
+pkgdesc="Extra loaders for GPL loaders and unstable libraries"
+url="http://trac.enlightenment.org/e/wiki/Evas_Generic_Loaders"
+arch="all"
+license="BSD"
+depends=""
+makedepends="eina-dev poppler-dev gstreamer-dev gst-plugins-base-dev
+ libraw-dev librsvg-dev"
+install=""
+subpackages=""
+source="http://download.enlightenment.org/releases/evas_generic_loaders-$pkgver.tar.gz"
+
+_builddir="$srcdir"/evas_generic_loaders-$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-poppler \
+ --disable-spectre \
+ --enable-libraw \
+ --enable-svg \
+ --enable-gstreamer \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="01bb7cf2c97014f087bbba4de237b3e8 evas_generic_loaders-1.7.9.tar.gz"
+sha256sums="e163a97db7311cbc8489572f201c404929a52099b3156e54a9af2181f8389824 evas_generic_loaders-1.7.9.tar.gz"
+sha512sums="991229bebd0c07b22e69fbbd104587eced03ae9032431b54a4ea4c12f76a5165c22dc8b1eff35ee1f9890d8a2a3ccdc9c78c59a3097431f9007007279666b417 evas_generic_loaders-1.7.9.tar.gz"
diff --git a/unmaintained/evilwm/APKBUILD b/unmaintained/evilwm/APKBUILD
new file mode 100644
index 0000000000..c5d0a2c6a5
--- /dev/null
+++ b/unmaintained/evilwm/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=evilwm
+pkgver=1.1.0
+_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="5f14cc3019320860c85bb07c60a76bd7 evilwm-1.1.0.tar.gz"
+sha256sums="cdc763c875b64ee3734f3cb764249e91ec659f550177ec1bb564304260ef0c75 evilwm-1.1.0.tar.gz"
+sha512sums="e0df42422431698623cc41ccec7b626cc59f7ef4c17a90169e6410e374cc602de12fc075d42e7ed5699b2ca363c22a9e5361117a8748aceca9c66175fde46d25 evilwm-1.1.0.tar.gz"
diff --git a/unmaintained/evolution/APKBUILD b/unmaintained/evolution/APKBUILD
new file mode 100644
index 0000000000..4217d01490
--- /dev/null
+++ b/unmaintained/evolution/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=evolution
+pkgver=3.18.4
+pkgrel=1
+pkgdesc="evolution mail client"
+url="http://projects.gnome.org/evolution"
+arch="all"
+license="GPL"
+depends="gnome-icon-theme gsettings-desktop-schemas highlight"
+depends_dev="gtk+3.0-dev glib-dev itstool libxml2-dev libxml2-utils
+ webkitgtk-dev gcr-dev evolution-data-server-dev enchant-dev
+ libcanberra-dev gtkspell-dev libgweather-dev openldap-dev
+ libnotify-dev"
+makedepends="$depends_dev gperf flex bison"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz"
+
+_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"
+ ac_cv_libiconv_utf8=yes\
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --disable-pst-import \
+ --disable-gnome-desktop \
+ --disable-autoar \
+ --disable-libcryptui \
+ --disable-gtkspell \
+ --with-openldap \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="9262300694650517046b48fb2ae98d30 evolution-3.18.4.tar.xz"
+sha256sums="8161a0ebc77e61904dfaca9745595fefbf84d834a07ee1132d1f8d030dabfefb evolution-3.18.4.tar.xz"
+sha512sums="ddb7922cedd490808c21a21d6a2e23f7399f1569bea69d5e0434f27b0f5b75b898ff68f17883bfd75eddb2ec9059628406e1b1f7811e1962a6da2dff4777ade2 evolution-3.18.4.tar.xz"
diff --git a/unmaintained/exaile/APKBUILD b/unmaintained/exaile/APKBUILD
new file mode 100644
index 0000000000..e53066701e
--- /dev/null
+++ b/unmaintained/exaile/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Alan Lacerda <alacerda@alpinelinux.org>
+# Maintainer: Alan Lacerda <alacerda@alpinelinux.org>
+pkgname=exaile
+pkgver=3.4.2
+pkgrel=2
+pkgdesc="A music player with a simple interface and powerful music management capabilities"
+url="http://www.exaile.org/"
+arch="noarch"
+license="GPL2"
+depends="python py-gtk py-dbus py-mutagen py-gst0.10 py-libxml2
+ gst-plugins-base0.10 gst-plugins-good0.10"
+depends_dev=""
+makedepends="$depends_dev gettext"
+install=""
+subpackages="$pkgname-lang"
+source="https://github.com/$pkgname/$pkgname/archive/$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"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make PREFIX=/usr DESTDIR="${pkgdir}" install || return 1
+}
+
+md5sums="ff0081f548bc17435877c2c65b05c9b8 3.4.2.tar.gz"
+sha256sums="0e280c317871e37cbe9db8d54d37a5bee99cf36ebd0f55048e41787d0461e4bf 3.4.2.tar.gz"
+sha512sums="1a13585afc4eaa2b03c3be0bd25394e8c6df824999b676349f6efeabe9286d7c773eaf5938d7a644e9facb9b6184c02cc465fe1ec0d22057ab2cb8a521357312 3.4.2.tar.gz"
diff --git a/unmaintained/exfat-utils/APKBUILD b/unmaintained/exfat-utils/APKBUILD
new file mode 100644
index 0000000000..8ae74f06aa
--- /dev/null
+++ b/unmaintained/exfat-utils/APKBUILD
@@ -0,0 +1,53 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=exfat-utils
+pkgver=1.2.2
+pkgrel=0
+pkgdesc="Utilities for exFAT file system"
+url="https://github.com/relan/exfat"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="https://github.com/relan/exfat/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.gz"
+
+_builddir="$srcdir"/exfat-utils-$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 --sbindir=/usr/bin || return 1
+ make CCFLAGS="${CFLAGS} -std=c99" LINKFLAGS="${LDFLAGS}" \
+ || return 1
+
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="${pkgdir}" install || return 1
+
+ # Install man pages
+ install -Dm444 dump/dumpexfat.8 "${pkgdir}/usr/share/man/man8/dumpexfat.8" \
+ || return 1
+ install -m444 fsck/exfatfsck.8 "${pkgdir}/usr/share/man/man8" \
+ || return 1
+ install -m444 mkfs/mkexfatfs.8 "${pkgdir}/usr/share/man/man8" \
+ || return 1
+ install -m444 label/exfatlabel.8 "${pkgdir}/usr/share/man/man8" \
+ || return 1
+}
+
+md5sums="ae918dd8a360f1da2299f3c748c53253 exfat-utils-1.2.2.tar.gz"
+sha256sums="60e33b51db5a8f79b035031bc61b120cdac3075dd27fad156ece4feeb82871f7 exfat-utils-1.2.2.tar.gz"
+sha512sums="bd3c4d57b05aee7064e05a8af7ff8d7a1bf7b9a891d804c45fb6c5fcc19d877b75a25c32cfee462133f203a1bead3a65c40d5e32061b5dc4943f36c2a961c2b8 exfat-utils-1.2.2.tar.gz"
diff --git a/unmaintained/extra-cmake-modules/APKBUILD b/unmaintained/extra-cmake-modules/APKBUILD
new file mode 100644
index 0000000000..0fe909597e
--- /dev/null
+++ b/unmaintained/extra-cmake-modules/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: k0r10n <k0r10n.dev@gmail.com>
+# Maintainer:
+pkgname=extra-cmake-modules
+pkgver=1.1.0
+pkgrel=0
+pkgdesc="Extra CMake modules"
+url="https://projects.kde.org/projects/kdesupport/extra-cmake-modules"
+arch="noarch"
+license="LGPL"
+depends=
+depends_dev="py-sphinx"
+makedepends="$depends_dev cmake"
+install=""
+subpackages="${pkgname}-doc"
+source="ftp://ftp.kde.org/pub/kde/stable/frameworks/5.1.0/${pkgname}-${pkgver}.tar.xz"
+
+_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
+ mkdir "$_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/fast || return 1
+}
+
+md5sums="005e28bb881718e3c381f8731fb70ea7 extra-cmake-modules-1.1.0.tar.xz"
+sha256sums="0b460126dfc5faabb64fe4f0f9ec0d247fe75cf66c2a8a5f0d66d4a45f73e303 extra-cmake-modules-1.1.0.tar.xz"
+sha512sums="76947a9ea76611e5f3593b5e60d0f2e102459d6fa85c8e7e21371bcc6d513372dfccd01c9eb021d75f9782942612d27c7ebc97c978838329c1505e2792794353 extra-cmake-modules-1.1.0.tar.xz"
diff --git a/unmaintained/fancontroled/APKBUILD b/unmaintained/fancontroled/APKBUILD
new file mode 100644
index 0000000000..4d04858b43
--- /dev/null
+++ b/unmaintained/fancontroled/APKBUILD
@@ -0,0 +1,57 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=fancontroled
+pkgver=0.1
+pkgrel=2
+pkgdesc="A temperature dependent fan speed control"
+url="http://fancontroled.lukaperkov.net/"
+arch="all"
+license="GPL3"
+depends=""
+makedepends="lm_sensors-dev"
+install=""
+subpackages=""
+source="http://code.lukaperkov.net/fancontroled/fancontroled-$pkgver.tar
+ link.patch
+ fancontroled.confd
+ fancontroled.initd
+ "
+
+_builddir="$srcdir"/fancontroled-$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"
+ mkdir -p "$pkgdir"/usr/sbin
+ make install DESTDIR="$pkgdir" || return 1
+ install -Dm644 "$srcdir"/fancontroled.confd \
+ "$pkgdir"/etc/conf.d/fancontroled || return 1
+ install -Dm755 "$srcdir"/fancontroled.initd \
+ "$pkgdir"/etc/init.d/fancontroled || return 1
+}
+
+md5sums="8c3a7efa99e58216ad4633d1e6ed1358 fancontroled-0.1.tar
+099a824ba948f1f01da8d374024357fd link.patch
+3b9e5e1557ad4877e23f88411e8b84f0 fancontroled.confd
+b7e49fce1d8182559b808b1ce3b60e7b fancontroled.initd"
+sha256sums="94b4602dfb913a846e2f40dd87e7085cddb5cd622a46744198a8abde2dcf44b4 fancontroled-0.1.tar
+985490bb1c79cac191b160fe79f0f4d461cdea71d8f16c06b5a21d6613b1949a link.patch
+3b9cc54a16bda45e81874966fa11b866a167f5cd2538da4b275899bc57d739b4 fancontroled.confd
+18e780d5454c2de16641c758e5aeb1e1442eddfe03338230a5e14ba420d468be fancontroled.initd"
+sha512sums="cd59b8db8d44798be31693138dcebe261a684e4a10fc08ffb24488d8d5a9eac6f827e82cf3632509acf91c461308c279fae70f40237d7fe9f48b480ce1cb56bd fancontroled-0.1.tar
+6be24b0445ad2b3e6e7331192e1caba16fa8aa649a6e945ae5fb88d90f38310b4945216ee63facb9c817d1894f90959f056eff65956d7a1bdf5971400f0f7e4a link.patch
+250637ce329d6d28ad801980563eb756b20aa222ca5ad5c8e79f5df51ac154a3ab1577d157e031f1a38409caabbf03e5900992177318393d4b32bbb87599d9ec fancontroled.confd
+4784ad205f719338d23b3e5fe8515c51aa8ceb2a892f7ae05e668a1f2e61f425d195186bd321b13d7ac78a502401ed563d41f226411af09d2e3451b6dbd32ace fancontroled.initd"
diff --git a/unmaintained/fancontroled/fancontroled.confd b/unmaintained/fancontroled/fancontroled.confd
new file mode 100644
index 0000000000..803a9c38d8
--- /dev/null
+++ b/unmaintained/fancontroled/fancontroled.confd
@@ -0,0 +1,17 @@
+# possible options for FANCONTROLED_OPTS:
+# -t --temp-sensor-chip Temperature sensor chip (e.g. lm75)
+# -r --temp-read-field Temperature read fild (e.g. temp1_input)
+# -m --min-temp Min fan speed on this temperature (°C)
+# -M --max-temp Max fan speed on this temperature (°C)
+# -f --fan-sensor-chip Fan sensor chip (e.g. g760a)
+# -c --fan-control-field Fan control field (e.g. pwm1)
+# -p --pwm-fan-min Min fan PWM
+# -P --pwm-fan-max Max fan PWM
+#
+# example:
+# FANCONTROLED_OPTS="-t lm75 -r temp1_input -m 30 -M 50 -f g760a -c pwm1 -p 1 -P 180"
+#
+# see http://fancontroled.lukaperkov.net/ for more info
+
+FANCONTROLED_OPTS=""
+
diff --git a/unmaintained/fancontroled/fancontroled.initd b/unmaintained/fancontroled/fancontroled.initd
new file mode 100644
index 0000000000..1da4422e83
--- /dev/null
+++ b/unmaintained/fancontroled/fancontroled.initd
@@ -0,0 +1,18 @@
+#!/sbin/runscript
+
+command=/usr/sbin/fancontroled
+command_args="${FANCONTROLED_OPTS}"
+pidfile=/var/run/fancontroled.pid
+description="Temperature dependent fan speed control"
+
+depend() {
+ need modules
+}
+
+start_pre() {
+ if [ -z "$FANCONTROLED_OPTS" ]; then
+ eerror "Please set FANCONTROLED_OPTS in /etc/conf.d/$RC_SVCNAME"
+ return 1
+ fi
+}
+
diff --git a/unmaintained/fancontroled/link.patch b/unmaintained/fancontroled/link.patch
new file mode 100644
index 0000000000..328e78062d
--- /dev/null
+++ b/unmaintained/fancontroled/link.patch
@@ -0,0 +1,11 @@
+--- ./Makefile.orig
++++ ./Makefile
+@@ -12,7 +12,7 @@
+ OBJECTS = $(SOURCES:.c=.o)
+
+ $(FANCONTROLED_TARGET): $(OBJECTS) $(HEADERS)
+- $(CC) $(CFLAGS) $(LDFLAGS) $(INC_PATH) $(LIBS) $(OBJECTS) -D $(MACROS) -o $(FANCONTROLED_TARGET)
++ $(CC) $(CFLAGS) $(LDFLAGS) $(INC_PATH) $(OBJECTS) -D $(MACROS) -o $(FANCONTROLED_TARGET) $(LIBS)
+
+ $(OBJECTS): $(SOURCES)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(INC_PATH) $(LIBS) -D $(MACROS) -c $(@:.o=.c)
diff --git a/unmaintained/fdk-aac/APKBUILD b/unmaintained/fdk-aac/APKBUILD
new file mode 100644
index 0000000000..120c99bd76
--- /dev/null
+++ b/unmaintained/fdk-aac/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=fdk-aac
+pkgver=0.1.4
+pkgrel=0
+pkgdesc="A standalone library of the Fraunhofer FDK AAC code from Android."
+url="https://sourceforge.net/projects/opencore-amr/"
+arch="all"
+license="custom"
+depends=""
+depends_dev=""
+makedepends="$depends_dev automake autoconf libtool"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="fdk-aac-$pkgver.tar.gz::https://github.com/mstorsjo/fdk-aac/archive/v$pkgver.tar.gz"
+
+_builddir="$srcdir"/fdk-aac-$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"
+ ./autogen.sh || return 1
+ ./configure \
+ --prefix="/usr" \
+ --disable-static \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ install -Dm644 NOTICE \
+ "${pkgdir}"/usr/share/licenses/libfdk-aac/NOTICE || return 1
+}
+
+md5sums="5292a28369a560d37d431de625bedc34 fdk-aac-0.1.4.tar.gz"
+sha256sums="e00b83ac7f7a37661bed8f0c12b926ddb48c722359b809a5789fd81a0ca9d24f fdk-aac-0.1.4.tar.gz"
+sha512sums="86b73ad8a653dae868c3b2fef0de6321e04b80baf81bd8cd416c9e3883b078739113201cfd5496aef7001a480380a17ed8bc9f2c59505e379dc561e918298d7b fdk-aac-0.1.4.tar.gz"
diff --git a/unmaintained/fish-irssi/APKBUILD b/unmaintained/fish-irssi/APKBUILD
new file mode 100644
index 0000000000..270f7a7369
--- /dev/null
+++ b/unmaintained/fish-irssi/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=fish-irssi
+pkgver=1.4
+pkgrel=0
+pkgdesc="irssi FiSH plugin"
+url="https://github.com/falsovsky/FiSH-irssi"
+arch="all"
+license="custom"
+depends=""
+depends_dev=""
+makedepends="$depends_dev irssi-dev openssl-dev glib-dev cmake"
+install=""
+subpackages="$pkgname-doc"
+source="FiSH-irssi-$pkgver.tar.gz::https://github.com/falsovsky/FiSH-irssi/archive/$pkgver.tar.gz"
+
+_builddir="$srcdir"/FiSH-irssi-$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 "$_builddirs"
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=Release \
+ || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return
+}
+
+md5sums="cf3a77c87e5b7377a8f6d544c24549bb FiSH-irssi-1.4.tar.gz"
+sha256sums="2aa3efd91e23e2dde538168394c9c9eb86372340a672b3419c8aaaebdc93c48a FiSH-irssi-1.4.tar.gz"
+sha512sums="445c9b3d447d69550693344bcab365a2a3ef66244e6ea30a8a2ed9a3f0027fb325336ec86c872e3b1cf9bd40453bcad6f151634a37727ec85bd5aee5b4c6db20 FiSH-irssi-1.4.tar.gz"
diff --git a/unmaintained/fluidsynth/APKBUILD b/unmaintained/fluidsynth/APKBUILD
new file mode 100644
index 0000000000..7518fab4c9
--- /dev/null
+++ b/unmaintained/fluidsynth/APKBUILD
@@ -0,0 +1,50 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=fluidsynth
+pkgver=1.1.6
+pkgrel=0
+pkgdesc="Real-time software synthesizer"
+url="http://www.fluidsynth.org/"
+arch="all"
+license="LGPLv2+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev alsa-lib-dev cmake dbus-dev ladspa-dev ncurses-dev
+ jack-dev glib-dev libsndfile-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
+source="http://downloads.sourceforge.net/fluidsynth/fluidsynth-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/fluidsynth-$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
+ update_config_sub || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="f6e696690e989098f70641364fdffad7 fluidsynth-1.1.6.tar.bz2"
+sha256sums="d28b47dfbf7f8e426902ae7fa2981d821fbf84f41da9e1b85be933d2d748f601 fluidsynth-1.1.6.tar.bz2"
+sha512sums="0ead8bf86c0edf6d98044eb16b52b85fac8bc3bdeb9c1478d0bceb4f5b38ca28218fcf2cd18cdd5608190dc70b7c39bde681765d01787bc84bc97c6ab3bbf946 fluidsynth-1.1.6.tar.bz2"
diff --git a/unmaintained/flyspray/APKBUILD b/unmaintained/flyspray/APKBUILD
new file mode 100644
index 0000000000..ffdcb8b62f
--- /dev/null
+++ b/unmaintained/flyspray/APKBUILD
@@ -0,0 +1,61 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=flyspray
+pkgver=0.9.9.7
+pkgrel=1
+pkgdesc="A PHP web-based bug tracker"
+url="http://www.flyspray.org/"
+arch="noarch"
+license="GPL2.1"
+depends="php php-xml"
+depends_dev=""
+makedepends="$depends_dev"
+install="$pkgname.post-install"
+pkggroups="www-data"
+subpackages="$pkgname-mysql $pkgname-mysqli $pkgname-pgsql"
+source="http://flyspray.org/$pkgname-$pkgver.zip"
+_builddir=$srcdir
+_instdir="/usr/share/webapps/$pkgname"
+prepare() {
+ sed -i -e "s/split/explode/" adodb/drivers/adodb-postgres64.inc.php
+}
+
+build() {
+ return 0
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p $pkgdir"$_instdir"
+ cp -ar $srcdir/* $pkgdir"$_instdir"
+ rm $pkgdir"$_instdir"/$pkgname-$pkgver.zip
+ echo "deny from all" > $pkgdir"$_instdir"/.htaccess
+ chgrp -R www-data $pkgdir"$_instdir"
+}
+
+pgsql() {
+ arch="noarch"
+ pkgdesc="Flyspray PostgreSQL support"
+ depends="flyspray php-pgsql php-pdo_pgsql php-pear-mdb2-driver-pgsql"
+ mkdir -p "$subpkgdir"$_instdir
+}
+
+mysql() {
+ arch="noarch"
+ pkgdesc="Flyspray MySQL support"
+ depends="flyspray php-mysql php-pdo_mysql php-pear-mdb2-driver-mysql"
+ mkdir -p "$subpkgdir"$_instdir
+}
+
+mysqli() {
+ arch="noarch"
+ pkgdesc="Flyspray MySQLi support"
+ depends="flyspray php-mysqli php-pear-mdb2-driver-mysqli"
+ mkdir -p "$subpkgdir"$_instdir
+}
+
+
+
+md5sums="3a218c5447d64af18f19bc63bb825e58 flyspray-0.9.9.7.zip"
+sha256sums="f05fb71d61ee3b4ab42a61efea7b2c4fc53fd4ad762c9f3ced7de664661c2f2d flyspray-0.9.9.7.zip"
+sha512sums="17d8126bfe393527ae7e64377c6580274a118e4fd449f1191190471e242479b6ed50f8451dd7074afc39fda430c0fa5dee3845092ee0ca83d3254ecc6f0b8885 flyspray-0.9.9.7.zip"
diff --git a/unmaintained/flyspray/flyspray.post-install b/unmaintained/flyspray/flyspray.post-install
new file mode 100644
index 0000000000..de166dac84
--- /dev/null
+++ b/unmaintained/flyspray/flyspray.post-install
@@ -0,0 +1,3 @@
+#!/bin/sh
+echo -e "\nRemember to make a symlink from /usr/share/webapps/flyspray to the document root -or whatever- of your preferred webserver\n"
+exit 0
diff --git a/unmaintained/fonts-base/APKBUILD b/unmaintained/fonts-base/APKBUILD
new file mode 100644
index 0000000000..dd6f3a16bb
--- /dev/null
+++ b/unmaintained/fonts-base/APKBUILD
@@ -0,0 +1,24 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=fonts-base
+pkgver=1.0
+pkgrel=0
+pkgdesc="Basic set of fonts (meta package)"
+url="http://alpinelinux.org/"
+arch="noarch"
+license="none"
+depends="ttf-dejavu
+ ttf-courier-prime
+ ttf-heuristica
+ ttf-liberation
+ ttf-noto
+ ttf-symbola"
+
+build() {
+ return 0
+}
+
+package() {
+ mkdir -p "$pkgdir"
+}
+
diff --git a/unmaintained/fonts-extra/APKBUILD b/unmaintained/fonts-extra/APKBUILD
new file mode 100644
index 0000000000..b9ad7a08dd
--- /dev/null
+++ b/unmaintained/fonts-extra/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=fonts-extra
+pkgver=1.0
+pkgrel=0
+pkgdesc="Extra set of free fonts (meta package)"
+url="http://alpinelinux.org/"
+arch="noarch"
+license="none"
+depends="fonts-base
+ otf-cantarell
+ otf-oswald
+ otf-quintessential
+ otf-tex-gyre
+ t1-cursor
+ t1-urw-fonts
+ ttf-caladea
+ ttf-cantoraone
+ ttf-carlito
+ ttf-droid
+ ttf-gelasio
+ ttf-merriweather
+ ttf-merriweather-sans
+ ttf-opensans
+ ttf-signika-family
+ ttf-ubuntu-font-family"
+
+build() {
+ return 0
+}
+
+package() {
+ mkdir -p "$pkgdir"
+}
+
diff --git a/unmaintained/foo2zjs/APKBUILD b/unmaintained/foo2zjs/APKBUILD
new file mode 100644
index 0000000000..a863665fbf
--- /dev/null
+++ b/unmaintained/foo2zjs/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=foo2zjs
+pkgver=20150704
+pkgrel=0
+pkgdesc="a linux printer driver for XQX stream protocol"
+url="http://foo2xqx.rkkda.com/"
+arch="all"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev ghostscript-dev bc coreutils groff cups-dev
+ foomatic-db-engine"
+install=""
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::http://foo2zjs.rkkda.com/foo2zjs.tar.gz"
+
+_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 -j1 || return 1
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/usr/lib/cups/filter/
+ make -j1 DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="2c16316720c1cc29fb3644284e2a57b7 foo2zjs-20150704.tar.gz"
+sha256sums="6ba509fd20e70ec511f48e7627ffa1bb14d8cbe390a71923e00c10e649000e8b foo2zjs-20150704.tar.gz"
+sha512sums="33ae74428f9d100723a4aae96a678ba818a2e72c34de1d2ea7eeb1b39b8633d1c380e067a15e63ebe38d54e5483e61d2c936cdf8541b0b085d6f844540f0febc foo2zjs-20150704.tar.gz"
diff --git a/unmaintained/foomatic-db-engine/APKBUILD b/unmaintained/foomatic-db-engine/APKBUILD
new file mode 100644
index 0000000000..8c3ed2906e
--- /dev/null
+++ b/unmaintained/foomatic-db-engine/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=foomatic-db-engine
+pkgver=4.0.12
+pkgrel=0
+pkgdesc="Tools for using the foomatic database of printers and printer drivers"
+url="http://www.linuxprinting.org"
+arch="all"
+license="GPL2+"
+depends="cups-filters perl"
+depends_dev=""
+makedepends="perl-dev libxml2-dev cups-dev ghostscript-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://www.openprinting.org/download/foomatic/foomatic-db-engine-$pkgver.tar.gz"
+
+_builddir="$srcdir"/foomatic-db-engine-$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"
+ # avoid #!/bin/bash in foomatic-getpjloptions
+ SH=/bin/sh ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="b8049e61a3dad76044e83dde0087e0a0 foomatic-db-engine-4.0.12.tar.gz"
+sha256sums="66143b76ed5b325b7025e261ad917b543de534c6d0a6e495d5489a20cace7c21 foomatic-db-engine-4.0.12.tar.gz"
+sha512sums="b7e99ace6a632e9b0213183bd2c6c2d11ca072ea0414e8ca569082b7ec183dd81c80594ad63fdee82d761ae36d4fce9d3c881569a95a6085ec326ef7fd21154f foomatic-db-engine-4.0.12.tar.gz"
diff --git a/unmaintained/foremost/APKBUILD b/unmaintained/foremost/APKBUILD
new file mode 100644
index 0000000000..4fbff540a1
--- /dev/null
+++ b/unmaintained/foremost/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Jesse Young <jlyo@jlyo.org>
+# Maintainer: Jesse Young <jlyo@jlyo.org>
+
+pkgname=foremost
+pkgver=1.5.7
+pkgrel=1
+pkgdesc="A console program to recover files based on their headers, footers, and internal data structures"
+url="http://foremost.sourceforge.net/"
+arch="all"
+license="custom"
+depends_dev=""
+depends=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://foremost.sourceforge.net/pkg/${pkgname}-${pkgver}.tar.gz \
+ ${pkgname}-makefile.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
+}
+
+package () {
+ cd "$_builddir"
+ for f in etc usr/bin usr/share/man/man8 usr/share/licenses/foremost; do
+ install -dm755 "${pkgdir}/${f}"
+ done
+ make DESTDIR="$pkgdir" install
+ ./foremost -V > "${pkgdir}/usr/share/licenses/${pkgname}/COPYRIGHT"
+}
+
+md5sums="860119c49665c2a3fb2b0b1d3dbad02a foremost-1.5.7.tar.gz
+e78b7e14ef18a7941bb558af00f3b294 foremost-makefile.patch"
+sha256sums="502054ef212e3d90b292e99c7f7ac91f89f024720cd5a7e7680c3d1901ef5f34 foremost-1.5.7.tar.gz
+80592050c42571b7254a7e166d56b9761a6c72050406dc8adf35aff934bd242a foremost-makefile.patch"
+sha512sums="8827c29d52496783be26374f3943eb26a154d842f34e50fb489f87b3a5045bf85f1e44d7d8d8b12b2355ba3fe4b06a0db979cc22c0f431593c5976001eb931ab foremost-1.5.7.tar.gz
+22c28169e19c3fedb1f9ad470a6218ce63091f813257a222bda66d2ae04933e2694bc17ba4635b75db94f5375485ac0d5c1583c175b4d1674a9ff58c29967caa foremost-makefile.patch"
diff --git a/unmaintained/foremost/foremost-makefile.patch b/unmaintained/foremost/foremost-makefile.patch
new file mode 100644
index 0000000000..445471e011
--- /dev/null
+++ b/unmaintained/foremost/foremost-makefile.patch
@@ -0,0 +1,23 @@
+--- a/Makefile 2008-10-14 02:09:13.000000000 +0200
++++ b/Makefile 2008-10-14 18:31:38.000000000 +0200
+@@ -26,5 +26,5 @@
+ # Where we get installed
+-BIN = /usr/local/bin
+-MAN = /usr/share/man/man8
+-CONF= /usr/local/etc
++BIN = $(DESTDIR)/usr/bin
++MAN = $(DESTDIR)/usr/share/man/man8
++CONF= $(DESTDIR)/etc
+ # Setup for compiling and cross-compiling for Windows
+diff -uNr foremost-1.4.orig/config.c foremost-1.4/config.c
+--- a/config.c 2006-08-31 17:50:47.000000000 +0100
++++ b/config.c 2006-08-31 17:51:09.000000000 +0100
+@@ -288,7 +288,7 @@
+ #ifdef __WIN32
+ set_config_file(s, "/Program Files/foremost/foremost.conf");
+ #else
+- set_config_file(s, "/usr/local/etc/foremost.conf");
++ set_config_file(s, "/etc/foremost.conf");
+ #endif
+ if ((f = fopen(get_config_file(s), "r")) == NULL)
+ {
diff --git a/unmaintained/forked-daapd/APKBUILD b/unmaintained/forked-daapd/APKBUILD
new file mode 100644
index 0000000000..1e2530383c
--- /dev/null
+++ b/unmaintained/forked-daapd/APKBUILD
@@ -0,0 +1,65 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=forked-daapd
+pkgver=22.3
+pkgrel=0
+pkgdesc="an updated version of the original forked-daapd"
+url="https://github.com/ejurgensen/forked-daapd"
+arch="all"
+license="custom"
+depends=""
+depends_dev="libgcrypt-dev ffmpeg-dev flac-dev avahi-dev gettext-dev alsa-lib-dev
+ sqlite-dev libantlr3c-dev libunistring-dev confuse-dev ffmpeg-dev
+ mxml-dev libevent-dev libogg-dev taglib-dev libavl-dev libplist-dev"
+makedepends="$depends_dev autoconf automake libtool openjdk7-jre-base gperf bash bsd-compat-headers"
+install=""
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ejurgensen/forked-daapd/archive/$pkgver.tar.gz
+ http://www.antlr3.org/download/antlr-3.4-complete.jar"
+
+_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"
+ OLD_PATH=$PATH
+ export PATH="$srcdir:$PATH"
+ echo "#!/bin/bash" > $srcdir/antlr3
+ echo "exec java -cp $srcdir/antlr-3.4-complete.jar org.antlr.Tool \"\$@\"" >> $srcdir/antlr3
+ chmod a+x $srcdir/antlr3
+ autoreconf -i -v || return 1
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --enable-flac \
+ --enable-musepack \
+ --enable-itunes \
+ || return 1
+ make || return 1
+ export PATH=$OLD_PATH
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="f1862aa6e42dd3a432925cff5de5caed forked-daapd-22.3.tar.gz
+1b91dea1c7d480b3223f7c8a9aa0e172 antlr-3.4-complete.jar"
+sha256sums="0aaa5995d1bd10343890634bb0e3176b781175125a98f77d7f182402c8133c91 forked-daapd-22.3.tar.gz
+9d3e866b610460664522520f73b81777b5626fb0a282a5952b9800b751550bf7 antlr-3.4-complete.jar"
+sha512sums="b109b057c3b79054d52a9ab2d5aad4bc00dc828bba61e70bc405f526bf75fb6b3c5f4aca0981b332495aa9ef97731f84f440470edb9f21123e0e500091abc7a8 forked-daapd-22.3.tar.gz
+04be4dfba3a21f3ab9d9e439a64958bd8e844a9f151b798383bd9e0dd6ebc416783ae7cb1d1dbb27fb7288ab9756b13b8338cdb8ceb41a10949c852ad45ab1f2 antlr-3.4-complete.jar"
diff --git a/unmaintained/freealut/APKBUILD b/unmaintained/freealut/APKBUILD
new file mode 100644
index 0000000000..e51fcecb35
--- /dev/null
+++ b/unmaintained/freealut/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer:
+pkgname=freealut
+pkgver=1.1.0
+pkgrel=2
+pkgdesc="A free audio library user toolkit"
+url="https://github.com/vancegroup/freealut"
+arch="all"
+license="GPL2"
+depends=
+depends_dev="openal-soft-dev"
+makedepends="$depends_dev autoconf automake libtool"
+install=""
+subpackages="$pkgname-dev"
+source="https://github.com/vancegroup/freealut/archive/freealut_${pkgver//./_}.tar.gz"
+
+_builddir="$srcdir"/freealut-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"
+ ./autogen.sh || return 1
+ ./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="66e21cb1d2aee23f587d9304ac6cbddc freealut_1_1_0.tar.gz"
+sha256sums="c3880d7dbb90c7db54e1d6b88aa0a34dd9e2d828fd389be0d2cbb2632b0885dd freealut_1_1_0.tar.gz"
+sha512sums="c9dead230434b3916f91e219913c2b2c877c4594d74b63641246a6704e28fe8d415131127cc00b51355f2fdf4e2bbf8aaf2b802fec479b05927e39a8698c251e freealut_1_1_0.tar.gz"
diff --git a/unmaintained/freeciv/APKBUILD b/unmaintained/freeciv/APKBUILD
new file mode 100644
index 0000000000..445de914ba
--- /dev/null
+++ b/unmaintained/freeciv/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: William Pitcock <nenolod@dereferenced.org>
+pkgname=freeciv
+pkgver=2.4.3
+pkgrel=0
+pkgdesc="civilization 2 clone"
+url="http://freeciv.wikia.org/"
+arch="all"
+license="GPL"
+depends="$pkgname-server"
+makedepends="gtk+-dev gzip curl-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-server $pkgname-data $pkgname-lang"
+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/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="437f9a4aadb80619a7c5ae9643142b8b freeciv-2.4.3.tar.bz2"
+sha256sums="7f107fe3b09f37934410dc7a64ac1b99a95997ddf53da53933b75d4da79fa899 freeciv-2.4.3.tar.bz2"
+sha512sums="7abed9b3c0f65aa5ed856080a6da68152a8fe9ea285a070858f9a92ec32fb27bfb48fb77b7098a23bbf3e092c982ed455b6ea795230295c9d14f4832378ee3ba freeciv-2.4.3.tar.bz2"
diff --git a/unmaintained/fswebcam/APKBUILD b/unmaintained/fswebcam/APKBUILD
new file mode 100644
index 0000000000..90787a1bdc
--- /dev/null
+++ b/unmaintained/fswebcam/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=fswebcam
+pkgver=20140113
+pkgrel=0
+pkgdesc="A neat and simple webcam app"
+url="http://www.firestorm.cx/fswebcam"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev="gd-dev gzip"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://www.firestorm.cx/$pkgname/files/$pkgname-$pkgver.tar.xz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+ sed "s_^_#_g" -i example.conf
+ install -Dm644 example.conf "$pkgdir/etc/fswebcam.conf"
+}
+
+md5sums="1bfdb21904e816f100370ec8f4df986b fswebcam-20140113.tar.xz"
+sha256sums="444d6a8a82102e09e935540c64a731021de36db03e1e74181f41ca6f39aa6474 fswebcam-20140113.tar.xz"
+sha512sums="eb7a40da546ac413dd7783ccd808d70fc4117b6334a6ba6626d2af4a130e35597652328117333961af66a9c1e578cdb1c313b286fa728313820160544c5a43cb fswebcam-20140113.tar.xz"
diff --git a/unmaintained/ftgl/APKBUILD b/unmaintained/ftgl/APKBUILD
new file mode 100644
index 0000000000..54b7ff2012
--- /dev/null
+++ b/unmaintained/ftgl/APKBUILD
@@ -0,0 +1,48 @@
+# 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=4
+pkgdesc="freetype OpenGL layer"
+url="http://ftgl.wiki.sourceforge.net/"
+arch="all"
+license="GPL"
+depends=
+depends_dev="mesa-dev freetype-dev freeglut-dev bash"
+makedepends="$depends_dev
+ autoconf automake libtool"
+install=
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://downloads.sourceforge.net/$pkgname/$pkgname-${_pkgver}.tar.bz2
+ ftgl-2.1.3-rc5-ldflags.patch
+ ftgl-2.1.3-rc5-ttf_font.patch
+ "
+
+
+_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
+# libtoolize --force && aclocal -I m4 && autoconf && automake || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --prefix=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+md5sums="c7879018cde844059495b3029b0b6503 ftgl-2.1.3-rc5.tar.bz2
+4432b8cda8622fea6608e061289dde22 ftgl-2.1.3-rc5-ldflags.patch
+7fc76e66ac2f6f91d04190417f001031 ftgl-2.1.3-rc5-ttf_font.patch"
diff --git a/unmaintained/ftgl/ftgl-2.1.3-rc5-ldflags.patch b/unmaintained/ftgl/ftgl-2.1.3-rc5-ldflags.patch
new file mode 100644
index 0000000000..be9331d6f5
--- /dev/null
+++ b/unmaintained/ftgl/ftgl-2.1.3-rc5-ldflags.patch
@@ -0,0 +1,118 @@
+diff -up ftgl-2.1.3~rc5/demo/Makefile.am.ldflags ftgl-2.1.3~rc5/demo/Makefile.am
+--- ftgl-2.1.3~rc5/demo/Makefile.am.ldflags 2008-06-02 03:10:10.000000000 +0200
++++ ftgl-2.1.3~rc5/demo/Makefile.am 2010-02-14 15:02:19.670081290 +0100
+@@ -9,14 +9,14 @@ simple_SOURCES = \
+ simple.cpp \
+ $(NULL)
+ simple_CXXFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
+-simple_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
++simple_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS)
+ simple_LDADD = ../src/libftgl.la
+
+ c_demo_SOURCES = \
+ c-demo.c \
+ $(NULL)
+ c_demo_CFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
+-c_demo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
++c_demo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GLUT_LIBS) -lm
+ c_demo_LDADD = ../src/libftgl.la
+
+ FTGLDemo_SOURCES = \
+@@ -27,7 +27,7 @@ FTGLDemo_SOURCES = \
+ trackball.h \
+ $(NULL)
+ FTGLDemo_CXXFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
+-FTGLDemo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
++FTGLDemo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS)
+ FTGLDemo_LDADD = ../src/libftgl.la
+
+ FTGLMFontDemo_SOURCES = \
+@@ -38,7 +38,7 @@ FTGLMFontDemo_SOURCES = \
+ trackball.h \
+ $(NULL)
+ FTGLMFontDemo_CXXFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
+-FTGLMFontDemo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
++FTGLMFontDemo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS)
+ FTGLMFontDemo_LDADD = ../src/libftgl.la
+
+ NULL =
+diff -up ftgl-2.1.3~rc5/demo/Makefile.in.ldflags ftgl-2.1.3~rc5/demo/Makefile.in
+--- ftgl-2.1.3~rc5/demo/Makefile.in.ldflags 2008-06-12 16:33:01.000000000 +0200
++++ ftgl-2.1.3~rc5/demo/Makefile.in 2010-02-14 15:02:01.866831398 +0100
+@@ -242,14 +242,14 @@ simple_SOURCES = \
+ $(NULL)
+
+ simple_CXXFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
+-simple_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
++simple_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS)
+ simple_LDADD = ../src/libftgl.la
+ c_demo_SOURCES = \
+ c-demo.c \
+ $(NULL)
+
+ c_demo_CFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
+-c_demo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
++c_demo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS) -lm
+ c_demo_LDADD = ../src/libftgl.la
+ FTGLDemo_SOURCES = \
+ FTGLDemo.cpp \
+@@ -260,7 +260,7 @@ FTGLDemo_SOURCES = \
+ $(NULL)
+
+ FTGLDemo_CXXFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
+-FTGLDemo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
++FTGLDemo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS)
+ FTGLDemo_LDADD = ../src/libftgl.la
+ FTGLMFontDemo_SOURCES = \
+ FTGLMFontDemo.cpp \
+@@ -271,7 +271,7 @@ FTGLMFontDemo_SOURCES = \
+ $(NULL)
+
+ FTGLMFontDemo_CXXFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
+-FTGLMFontDemo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
++FTGLMFontDemo_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS)
+ FTGLMFontDemo_LDADD = ../src/libftgl.la
+ NULL =
+ all: all-am
+diff -up ftgl-2.1.3~rc5/test/Makefile.am.ldflags ftgl-2.1.3~rc5/test/Makefile.am
+--- ftgl-2.1.3~rc5/test/Makefile.am.ldflags 2010-02-14 14:43:14.819077822 +0100
++++ ftgl-2.1.3~rc5/test/Makefile.am 2010-02-14 14:43:49.227081230 +0100
+@@ -51,7 +51,7 @@ AM_CPPFLAGS = \
+ $(NULL)
+
+ CXXTest_CXXFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
+-CXXTest_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) -lcppunit
++CXXTest_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS) -lcppunit
+ CXXTest_LDADD = ../src/libftgl.la
+
+ CTest_SOURCES = \
+@@ -64,7 +64,7 @@ CTest_CPPFLAGS = \
+ -I$(top_srcdir)/src/FTFont \
+ -I$(top_srcdir)/src/FTLayout
+ CTest_CFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
+-CTest_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
++CTest_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS)
+ CTest_LDADD = ../src/libftgl.la
+
+ NULL =
+diff -up ftgl-2.1.3~rc5/test/Makefile.in.ldflags ftgl-2.1.3~rc5/test/Makefile.in
+--- ftgl-2.1.3~rc5/test/Makefile.in.ldflags 2010-02-14 14:43:20.365077958 +0100
++++ ftgl-2.1.3~rc5/test/Makefile.in 2010-02-14 14:44:13.653078013 +0100
+@@ -294,7 +294,7 @@ AM_CPPFLAGS = \
+ $(NULL)
+
+ CXXTest_CXXFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
+-CXXTest_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) -lcppunit
++CXXTest_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS) -lcppunit
+ CXXTest_LDADD = ../src/libftgl.la
+ CTest_SOURCES = \
+ CTest.c \
+@@ -308,7 +308,7 @@ CTest_CPPFLAGS = \
+ -I$(top_srcdir)/src/FTLayout
+
+ CTest_CFLAGS = $(FT2_CFLAGS) $(GL_CFLAGS)
+-CTest_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS)
++CTest_LDFLAGS = $(FT2_LIBS) $(GLUT_LIBS) $(GL_LIBS)
+ CTest_LDADD = ../src/libftgl.la
+ NULL =
+ all: all-am
diff --git a/unmaintained/ftgl/ftgl-2.1.3-rc5-ttf_font.patch b/unmaintained/ftgl/ftgl-2.1.3-rc5-ttf_font.patch
new file mode 100644
index 0000000000..81ae273b30
--- /dev/null
+++ b/unmaintained/ftgl/ftgl-2.1.3-rc5-ttf_font.patch
@@ -0,0 +1,12 @@
+diff -up ftgl-2.1.3~rc5/demo/FTGLDemo.cpp.ttf_font ftgl-2.1.3~rc5/demo/FTGLDemo.cpp
+--- ftgl-2.1.3~rc5/demo/FTGLDemo.cpp.ttf_font 2008-06-08 17:49:10.000000000 +0200
++++ ftgl-2.1.3~rc5/demo/FTGLDemo.cpp 2009-05-21 02:18:42.000000000 +0200
+@@ -48,7 +48,7 @@
+ # define FONT_FILE "C:\\WINNT\\Fonts\\arial.ttf"
+ # else
+ // Put your font file here if configure did not find it.
+-# define FONT_FILE 0
++# define FONT_FILE "/usr/share/fonts/dejavu/DejaVuSans.ttf"
+ # endif
+ #endif
+
diff --git a/unmaintained/genext2fs/APKBUILD b/unmaintained/genext2fs/APKBUILD
new file mode 100644
index 0000000000..0809bd3a68
--- /dev/null
+++ b/unmaintained/genext2fs/APKBUILD
@@ -0,0 +1,48 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=genext2fs
+pkgver=1.4.1
+pkgrel=0
+pkgdesc="Tool for generating an ext2 filesystem as non-root"
+url="http://genext2fs.sourceforge.net/"
+arch="all"
+license="GPLv2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/project/genext2fs/genext2fs/$pkgver/genext2fs-$pkgver.tar.gz"
+
+_builddir="$srcdir"/genext2fs-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="b7b6361bcce2cedff1ae437fadafe53b genext2fs-1.4.1.tar.gz"
+sha256sums="404dbbfa7a86a6c3de8225c8da254d026b17fd288e05cec4df2cc7e1f4feecfc genext2fs-1.4.1.tar.gz"
+sha512sums="1b9ec7044014423345ae6b09862ba6903f5b3e0f68fb8bbcf97daf2705471cc1633a9fdbc5e00afe1b191e1af7bed87bde2e538bc7365469218f2a00b062845c genext2fs-1.4.1.tar.gz"
diff --git a/unmaintained/girara/APKBUILD b/unmaintained/girara/APKBUILD
new file mode 100644
index 0000000000..f3864477a6
--- /dev/null
+++ b/unmaintained/girara/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Contributor: Andrew Hills <ahills@ednos.net>
+# Maintainer: Andrew Hills <ahills@ednos.net>
+pkgname=girara
+pkgver=0.2.5
+pkgrel=1
+pkgdesc="GTK+3 user interface library"
+url="https://pwmt.org/projects/girara"
+arch="all"
+license="zlib"
+depends=""
+depends_dev=""
+makedepends="gtk+3.0-dev libnotify-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-lang"
+source="https://pwmt.org/projects/girara/download/girara-$pkgver.tar.gz"
+
+_builddir="$srcdir"/girara-$pkgver
+build() {
+ cd "$_builddir"
+ make COLOR=0 || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make COLOR=0 DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="4c4d86cf1372e6e1947cbc438e452c08 girara-0.2.5.tar.gz"
+sha256sums="5cf4f2d044385b189ed8e9efcae8532db1f2d63a240a1e226f3491c996aba892 girara-0.2.5.tar.gz"
+sha512sums="62f497d0bcab0765946d141b5c9bd79459e526e385da32f69311e810c9142e570de41521b98df8e08b44e0e34326db370f5b5ed4cb02bbdc2124febe6c2cce45 girara-0.2.5.tar.gz"
diff --git a/unmaintained/git-lfs/APKBUILD b/unmaintained/git-lfs/APKBUILD
new file mode 100644
index 0000000000..840101b918
--- /dev/null
+++ b/unmaintained/git-lfs/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
+pkgname=git-lfs
+pkgver=1.1.0
+pkgrel=0
+pkgdesc="Git extension for versioning large files"
+url="https://git-lfs.github.com/"
+arch="all"
+license="MIT"
+depends=""
+depends_dev=""
+makedepends="go"
+install=""
+subpackages="$pkgname-doc"
+options="!strip"
+source="$pkgname-$pkgver.tar.gz::https://github.com/github/$pkgname/archive/v$pkgver.tar.gz"
+
+_builddir="$srcdir"/src/github.com/github
+prepare() {
+ mkdir -p "$_builddir"
+ ln -s "$srcdir"/$pkgname-$pkgver "$_builddir"/$pkgname || return 1
+}
+
+build() {
+ cd "$_builddir"/$pkgname
+ GOPATH="$srcdir" go build || return 1
+
+ # TODO man page generation would require ronn which isn't packaged yet.
+ # sh ./script/man
+}
+
+package() {
+ cd "$_builddir"/$pkgname
+ install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname || return 1
+
+ mkdir -p "$pkgdir"/usr/share/doc/$pkgname
+ for file in api extensions.md spec.md README.md; do
+ mv docs/$file "$pkgdir"/usr/share/doc/$pkgname/ || return 1
+ done
+}
+
+md5sums="089b5f215789437e8bc12915fb5d883f git-lfs-1.1.0.tar.gz"
+sha256sums="1f246ec5f1141677b05847b3e9bcb9929c9d9b1afc78585d5776a9c18186ea9b git-lfs-1.1.0.tar.gz"
+sha512sums="4a5d379db165ced3c2d536f51d2729dbc7be4f0e8f1e2e6d9659ee1cba9978bdc5a83d7a90e2c91ffd5ff78d0fc328539f2e18b641c10505a16743590829da56 git-lfs-1.1.0.tar.gz"
diff --git a/unmaintained/gitstats/APKBUILD b/unmaintained/gitstats/APKBUILD
new file mode 100644
index 0000000000..a85fb7fe56
--- /dev/null
+++ b/unmaintained/gitstats/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=gitstats
+pkgver=2013.12.07
+pkgrel=0
+pkgdesc="Git history statistics generator"
+url="http://gitstats.sourceforge.net/"
+arch="noarch"
+license="GPL2+"
+depends="python gnuplot git"
+depends_dev=""
+makedepends=""
+install=""
+subpackages=""
+source="http://ftp.de.debian.org/debian/pool/main/g/$pkgname/"$pkgname"_$pkgver.orig.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"
+}
+
+package() {
+ cd "$_builddir"
+ install -m755 -D "$_builddir"/$pkgname \
+ "$pkgdir"/usr/sbin/$pkgname || return 1
+
+ for _file in gitstats.css sortable.js *.gif; do
+ install -Dm644 "$_builddir"/$_file \
+ "$pkgdir"/usr/share/$pkgname/$_file || return 1
+ done
+
+}
+
+md5sums="1a26e835b067d7eb45b73df49afe34ab gitstats_2013.12.07.orig.tar.gz"
+sha256sums="1250b78ac3a1f1946d4ee2ff98b7005c9dd8137647a95593e733d3de8d65f82f gitstats_2013.12.07.orig.tar.gz"
+sha512sums="3984b6236a1957fb457ea4b444b8b56f385451d50212af138412d5d040bc7d0ef67e5e2bb74b34b2193f7e25a8cd932a1477e5babd937578c4d83f50da0e25c0 gitstats_2013.12.07.orig.tar.gz"
diff --git a/unmaintained/gitstats/gitstats-output.patch b/unmaintained/gitstats/gitstats-output.patch
new file mode 100644
index 0000000000..118a4cbb34
--- /dev/null
+++ b/unmaintained/gitstats/gitstats-output.patch
@@ -0,0 +1,15 @@
+--- gitstats/gitstats.orig
++++ gitstats/gitstats
+@@ -1376,10 +1376,8 @@
+ exectime_internal = time_end - time_start
+ print 'Execution time %.5f secs, %.5f secs (%.2f %%) in external commands)' % (exectime_internal, exectime_external, (100.0 * exectime_external) / exectime_internal)
+ if sys.stdin.isatty():
+- print 'You may now run:'
+- print
+- print ' sensible-browser \'%s\'' % os.path.join(outputpath, 'index.html').replace("'", "'\\''")
+- print
++ print 'The report is available at:'
++ print '\'%s\'' % os.path.join(outputpath, 'index.html').replace("'", "'\\''")
+
+ if __name__=='__main__':
+ g = GitStats()
diff --git a/unmaintained/gjs/APKBUILD b/unmaintained/gjs/APKBUILD
new file mode 100644
index 0000000000..1f2875588d
--- /dev/null
+++ b/unmaintained/gjs/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer:
+pkgname=gjs
+pkgver=0.7.10
+pkgrel=1
+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/unmaintained/gnome-common/APKBUILD b/unmaintained/gnome-common/APKBUILD
new file mode 100644
index 0000000000..b2296a8d16
--- /dev/null
+++ b/unmaintained/gnome-common/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=gnome-common
+pkgver=3.10.0
+pkgrel=0
+pkgdesc="Common development macros for GNOME"
+url="http://www.gnome.org"
+arch="noarch"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="https://download.gnome.org/sources/gnome-common/3.10/gnome-common-$pkgver.tar.xz"
+
+_builddir="$srcdir"/gnome-common-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="060eda0de8348a6aede83d597e3c6323 gnome-common-3.10.0.tar.xz"
+sha256sums="aed69474a671e046523827f73ba5e936d57235b661db97900db7356e1e03b0a3 gnome-common-3.10.0.tar.xz"
+sha512sums="6c6408160dc2f4132c71b6795e0f3b026d0d2737e3712294bb8cb0c097ec74d30cf70740d50c7712f38477b24ab6fd11d8872c7a3ed1919f24aa43a546e9febe gnome-common-3.10.0.tar.xz"
diff --git a/unmaintained/gnome-themes-standard/APKBUILD b/unmaintained/gnome-themes-standard/APKBUILD
new file mode 100644
index 0000000000..c16541258c
--- /dev/null
+++ b/unmaintained/gnome-themes-standard/APKBUILD
@@ -0,0 +1,60 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=gnome-themes-standard
+pkgver=3.16.2
+pkgrel=0
+pkgdesc="Default themes for the GNOME desktop"
+url="http://www.gnome.org"
+arch="all"
+license="GPL2"
+depends="adwaita-gtk2-theme"
+depends_dev="gtk+3.0-dev librsvg-dev"
+makedepends="$depends_dev intltool"
+install=""
+subpackages="$pkgname-lang adwaita-gtk2-theme:_gtk2"
+source="http://ftp.gnome.org/pub/GNOME/sources/gnome-themes-standard/${pkgver%.*}/gnome-themes-standard-$pkgver.tar.xz"
+
+_builddir="$srcdir"/gnome-themes-standard-$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"
+ DATADIRNAME=share \
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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
+}
+
+_gtk2() {
+ pkgdesc="Adwaita gtk2 theme"
+ depends=""
+ mkdir -p "$subpkgdir"/usr/share/themes/Adwaita \
+ "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/share/themes/Adwaita/gtk-2.0 \
+ "$subpkgdir"/usr/share/themes/Adwaita || return 1
+ mv "$pkgdir"/usr/lib/gtk-2.0 "$subpkgdir"/usr/lib || return 1
+}
+
+md5sums="0d80ad7786cfd498c966361ba2e790c7 gnome-themes-standard-3.16.2.tar.xz"
+sha256sums="59eb79a59d44b5cd8daa8de1e7559fb5186503dcd78e47d0b72cb896d8654b9f gnome-themes-standard-3.16.2.tar.xz"
+sha512sums="483e63e1f01d6a0c26a07def12f19d59406a2f89202db599876cff8542215b4d5eb8a054805eb16a4e027c76399f4bb498ed326e136ecf482c71f5a0b8cb5556 gnome-themes-standard-3.16.2.tar.xz"
diff --git a/unmaintained/gnump3d/APKBUILD b/unmaintained/gnump3d/APKBUILD
new file mode 100644
index 0000000000..7f16002ce9
--- /dev/null
+++ b/unmaintained/gnump3d/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Michael Mason <ms13sp@gmail.com>
+# Maintainer: Michael Mason <ms13sp@gmail.com>
+pkgname=gnump3d
+pkgver=3.0
+pkgrel=1
+pkgdesc="A streaming server for MP3, OGG vorbis and other streamable files"
+url="http://www.gnump3d.org/"
+arch="all"
+license="GPL2"
+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
+0fd5435e668ce34e5f9f783f3e0ac8ea gnump3d.initd"
diff --git a/unmaintained/gnump3d/gnump3d.confd b/unmaintained/gnump3d/gnump3d.confd
new file mode 100644
index 0000000000..1d6cf397d2
--- /dev/null
+++ b/unmaintained/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/unmaintained/gnump3d/gnump3d.initd b/unmaintained/gnump3d/gnump3d.initd
new file mode 100644
index 0000000000..ae5e018b35
--- /dev/null
+++ b/unmaintained/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 $
+
+extra_commands="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/unmaintained/google-authenticator/APKBUILD b/unmaintained/google-authenticator/APKBUILD
new file mode 100644
index 0000000000..712a57d588
--- /dev/null
+++ b/unmaintained/google-authenticator/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Fabio Napoleoni <f.napoleoni@gmail.com>
+# Maintainer:
+pkgname=google-authenticator
+pkgver=20160207
+pkgrel=1
+pkgdesc="Google Authenticator PAM module"
+url="https://github.com/google/google-authenticator"
+arch="all"
+license="ASL 2.0"
+depends=
+depends_dev=
+makedepends="$depends_dev autoconf automake libtool linux-pam-dev m4 openssl-dev"
+install=
+subpackages="$pkgname-doc"
+source="https://github.com/google/google-authenticator/archive/c0404dcdbda9ab9e4f0b8451ecdd44eee8db2425.zip"
+
+_builddir="$srcdir"/$pkgname-c0404dcdbda9ab9e4f0b8451ecdd44eee8db2425/libpam
+
+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"
+ ./bootstrap.sh || return 1
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --libdir=/lib \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ || return 1
+
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="33d3cbd0488bcb4f50b34b5670deffae c0404dcdbda9ab9e4f0b8451ecdd44eee8db2425.zip"
+sha256sums="e32abe693e54195bdb6aca52783e6e1c239e67296876ac59211a59e4608338b8 c0404dcdbda9ab9e4f0b8451ecdd44eee8db2425.zip"
+sha512sums="b44a626e6cc5d8e27685f5d39b5d33f49fc7070331db7b458d3ee40723972821bb8ed5458f27a287dc664d162acf1f8f9a36ca3b1bf767f2bbf27d4f538e9872 c0404dcdbda9ab9e4f0b8451ecdd44eee8db2425.zip"
diff --git a/unmaintained/gpm/01-Iheaders.patch b/unmaintained/gpm/01-Iheaders.patch
new file mode 100644
index 0000000000..e0f2892d98
--- /dev/null
+++ b/unmaintained/gpm/01-Iheaders.patch
@@ -0,0 +1,40 @@
+commit 462cd6c81a2321872a5807e652780eb90a0fb40e
+Author: Isaac Dunham <ibid.ag@gmail.com>
+Date: Tue Jul 15 14:39:37 2014 -0700
+
+ Add -Iheaders so we can find gpm.h
+
+diff --git a/src/Makefile.in b/src/Makefile.in
+index d3b1dcd..1f8a4dc 100644
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -65,7 +65,7 @@ prog/%: prog/%.o
+ $(CC) @LDFLAGS@ $(LDFLAGS) -o $@ $^ @LIBS@ $(LIBS)
+
+ %.o: %.c
+- $(CC) @CPPFLAGS@ $(CPPFLAGS) @CFLAGS@ $(CFLAGS) -c -o $@ $<
++ $(CC) -Iheaders @CPPFLAGS@ $(CPPFLAGS) @CFLAGS@ $(CFLAGS) -c -o $@ $<
+
+ %.lo: %.c
+ $(CC) @CPPFLAGS@ $(CPPFLAGS) @PICFLAGS@ @CFLAGS@ $(CFLAGS) -c -o $@ $<
+@@ -96,7 +96,7 @@ $(DEPFILE) dep: prog/gpm-root.c
+
+ # create dependencies
+ for DEPS in `echo *.c */*.c`; do \
+- $(CC) -I. -I $(srcdir) -M @CPPFLAGS@ $(CPPFLAGS) $$DEPS | \
++ $(CC) -I. -Iheaders -I $(srcdir) -M @CPPFLAGS@ $(CPPFLAGS) $$DEPS | \
+ $(SED) 's/^\(.*\)\.o\([ :]+\)/\1.o \1.lo\2/g' >> $(DEPFILE) ; done
+
+ ### INSTALL
+diff --git a/src/daemon/open_console.c b/src/daemon/open_console.c
+index 98297c9..f7df875 100644
+--- a/src/daemon/open_console.c
++++ b/src/daemon/open_console.c
+@@ -22,6 +22,7 @@
+ #include <fcntl.h> /* open and co. */
+ #include <sys/stat.h> /* stat() */
+ #include <sys/ioctl.h> /* ioctl */
++#include <sys/sysmacros.h> /* major() */
+
+ /* Linux specific (to be outsourced in gpm2 */
+ #include <linux/serial.h> /* for serial console check */
diff --git a/unmaintained/gpm/02-sys-select.patch b/unmaintained/gpm/02-sys-select.patch
new file mode 100644
index 0000000000..31c4ed0660
--- /dev/null
+++ b/unmaintained/gpm/02-sys-select.patch
@@ -0,0 +1,138 @@
+commit 6d05d3d02fac411080363665e1c4fc7a2c84f7aa
+Author: Isaac Dunham <ibid.ag@gmail.com>
+Date: Tue Jul 15 17:11:04 2014 -0700
+
+ Add sys/select.h to headers
+
+diff --git a/src/daemon/old_main.c b/src/daemon/old_main.c
+index 9cd4e56..0ea0b84 100644
+--- a/src/daemon/old_main.c
++++ b/src/daemon/old_main.c
+@@ -26,6 +26,7 @@
+ #include <errno.h> /* guess again */
+ #include <unistd.h> /* unlink */
+ #include <sys/stat.h> /* chmod */
++#include <sys/select.h> /* fd_set, FD_ZERO */
+
+ #include <linux/kd.h> /* linux hd* */
+
+diff --git a/src/daemon/processmouse.c b/src/daemon/processmouse.c
+index b3f3994..af3400a 100644
+--- a/src/daemon/processmouse.c
++++ b/src/daemon/processmouse.c
+@@ -30,6 +30,7 @@
+ #include <unistd.h> /* close */
+ #include <time.h> /* time */
+ #include <sys/time.h> /* gettimeofday */
++#include <sys/select.h> /* FD_ZERO */
+
+ #include "headers/message.h" /* messaging in gpm */
+ #include "headers/daemon.h" /* daemon internals */
+diff --git a/src/lib/libcurses.c b/src/lib/libcurses.c
+index e7ebf84..e6fa877 100644
+--- a/src/lib/libcurses.c
++++ b/src/lib/libcurses.c
+@@ -26,6 +26,7 @@
+ #include <unistd.h> /* select(); */
+ #include <sys/time.h> /* timeval */
+ #include <sys/types.h> /* socket() */
++#include <sys/select.h> /* FD_ZERO */
+
+ #include "headers/gpmInt.h"
+
+diff --git a/src/lib/liblow.c b/src/lib/liblow.c
+index e789d09..e449321 100644
+--- a/src/lib/liblow.c
++++ b/src/lib/liblow.c
+@@ -35,6 +35,7 @@
+ #include <sys/un.h> /* struct sockaddr_un */
+ #include <sys/fcntl.h> /* O_RDONLY */
+ #include <sys/stat.h> /* stat() */
++#include <sys/select.h> /* FD_ZERO */
+
+ #ifdef SIGTSTP /* true if BSD system */
+ #include <sys/file.h>
+diff --git a/src/lib/libxtra.c b/src/lib/libxtra.c
+index e6dd4aa..b7ec631 100644
+--- a/src/lib/libxtra.c
++++ b/src/lib/libxtra.c
+@@ -25,6 +25,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <sys/time.h>
++#include <sys/select.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+ #include <string.h>
+diff --git a/src/mice.c b/src/mice.c
+index 6cbd491..6989f92 100644
+--- a/src/mice.c
++++ b/src/mice.c
+@@ -55,6 +55,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h> /* stat() */
+ #include <sys/time.h> /* select() */
++#include <sys/select.h> /* select() */
+
+ #include <linux/kdev_t.h> /* MAJOR */
+ #include <linux/keyboard.h>
+diff --git a/src/prog/display-buttons.c b/src/prog/display-buttons.c
+index de8e5b2..2385bf0 100644
+--- a/src/prog/display-buttons.c
++++ b/src/prog/display-buttons.c
+@@ -37,6 +37,7 @@
+ #include <time.h> /* time() */
+ #include <errno.h> /* errno */
+ #include <gpm.h> /* gpm information */
++#include <sys/select.h> /* FD_ZERO */
+
+ /* display resulting data */
+ int display_data(Gpm_Event *event, void *data)
+diff --git a/src/prog/display-coords.c b/src/prog/display-coords.c
+index ed15c8a..5aa7228 100644
+--- a/src/prog/display-coords.c
++++ b/src/prog/display-coords.c
+@@ -37,6 +37,7 @@
+ #include <stdio.h> /* printf() */
+ #include <time.h> /* time() */
+ #include <errno.h> /* errno */
++#include <sys/select.h> /* FD_ZERO() */
+ #include <gpm.h> /* gpm information */
+
+ /* display resulting data */
+diff --git a/src/prog/mev.c b/src/prog/mev.c
+index 97622d4..22cfb05 100644
+--- a/src/prog/mev.c
++++ b/src/prog/mev.c
+@@ -36,6 +36,7 @@
+ #include <signal.h>
+ #include <sys/types.h>
+ #include <sys/time.h>
++#include <sys/select.h>
+ #include <unistd.h>
+ #include <termios.h>
+ #include <errno.h>
+diff --git a/src/prog/mouse-test.c b/src/prog/mouse-test.c
+index 0bb1982..9a1b624 100644
+--- a/src/prog/mouse-test.c
++++ b/src/prog/mouse-test.c
+@@ -37,6 +37,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <sys/time.h>
++#include <sys/select.h>
+ #include <fcntl.h>
+ #include <time.h>
+ #include <signal.h>
+diff --git a/src/synaptics.c b/src/synaptics.c
+index 2418c75..ea40a53 100644
+--- a/src/synaptics.c
++++ b/src/synaptics.c
+@@ -216,6 +216,7 @@
+ #include <string.h>
+ #include <sys/time.h>
+ #include <sys/ioctl.h>
++#include <sys/select.h>
+
+ #include "headers/gpm.h"
+ #include "headers/daemon.h" /* which_mouse */
diff --git a/unmaintained/gpm/03-gpmroot.patch b/unmaintained/gpm/03-gpmroot.patch
new file mode 100644
index 0000000000..bbfdfc7028
--- /dev/null
+++ b/unmaintained/gpm/03-gpmroot.patch
@@ -0,0 +1,39 @@
+commit 9b66298a4262bfd90f3701c7f48c9dcf7a157cac
+Author: Isaac Dunham <ibid.ag@gmail.com>
+Date: Thu Feb 11 16:54:32 2016 -0800
+
+ make gpm-root build
+
+ * use sigemptyset() instead of nonportable equivalents
+ * if SA_INTERRUPT is undefined, set sa_flags to 0 because the implementation
+ defaults to interrupt mode (thanks to nsz for pointing out missing
+ initialization)
+
+diff --git a/src/prog/gpm-root.y b/src/prog/gpm-root.y
+index 069d801..ed363f4 100644
+--- a/src/prog/gpm-root.y
++++ b/src/prog/gpm-root.y
+@@ -76,6 +76,10 @@
+ #undef YYDEBUG
+ #endif
+
++#ifndef SA_INTERRUPT
++#define SA_INTERRUPT 0
++#endif
++
+ #define USER_CFG ".gpm-root"
+ #define SYSTEM_CFG SYSCONFDIR "/gpm-root.conf"
+
+@@ -1196,11 +1200,7 @@ int main(int argc, char **argv)
+ LOG_DAEMON : LOG_USER);
+ /* reap your zombies */
+ childaction.sa_handler=reap_children;
+-#if defined(__GLIBC__)
+- __sigemptyset(&childaction.sa_mask);
+-#else /* __GLIBC__ */
+- childaction.sa_mask=0;
+-#endif /* __GLIBC__ */
++ sigemptyset(&childaction.sa_mask);
+ childaction.sa_flags=SA_INTERRUPT; /* need to break the select() call */
+ sigaction(SIGCHLD,&childaction,NULL);
+
diff --git a/unmaintained/gpm/APKBUILD b/unmaintained/gpm/APKBUILD
new file mode 100644
index 0000000000..d80c54bb0c
--- /dev/null
+++ b/unmaintained/gpm/APKBUILD
@@ -0,0 +1,90 @@
+# Contributor: Jeff Pohlmeyer <yetanothergeek@gmail.com>
+# Maintainer: Jeff Pohlmeyer <yetanothergeek@gmail.com>
+pkgname=gpm
+pkgver=1.20.7
+pkgrel=3
+pkgdesc="A mouse server for the console"
+url="http://www.nico.schottelius.org/software/gpm/"
+arch="all"
+license="GPL"
+depends=""
+depends_dev="$pkgname-libs"
+makedepends="$depends_dev texinfo autoconf automake libtool bison linux-headers ncurses-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-utils"
+source="http://www.nico.schottelius.org/software/gpm/archives/$pkgname-$pkgver.tar.bz2
+ error-format.patch
+ 01-Iheaders.patch
+ 02-sys-select.patch
+ 03-gpmroot.patch
+ $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
+}
+
+build() {
+ cd "$_builddir"
+ ./autogen.sh
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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
+
+ 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
+
+ chmod 755 "$pkgdir"/usr/lib/libgpm.so.*
+}
+
+utils() {
+ depends="$pkgname"
+ pkgdesc="Mouse utilities for console"
+ mkdir -p "$subpkgdir"/usr
+ mv "$pkgdir"/usr/bin "$subpkgdir"/usr/ || return 1
+ rmdir "$pkgdir"/usr/lib || return 1
+}
+
+md5sums="bf84143905a6a903dbd4d4b911a2a2b8 gpm-1.20.7.tar.bz2
+ba7ffe9a3b6e3f672081a5b7d17f4766 error-format.patch
+3adbe10e28d14d5b498a83bbccbba427 01-Iheaders.patch
+6b6ef5234d6903c666e0f12eb8a1b958 02-sys-select.patch
+e248dda6c8fb4dae5262a3e15cadb1c9 03-gpmroot.patch
+c2d6e7341dc2bd285e276b14336b4bf6 gpm.initd
+887ce2e3743ac8ea9baf9f723876dc4b gpm.confd"
+sha256sums="f011b7dc7afb824e0a017b89b7300514e772853ece7fc4ee640310889411a48d gpm-1.20.7.tar.bz2
+290e032640c8cfb95d5a8dddfd99e11887100b08750b9f5ceaec6e3209e3ebf3 error-format.patch
+4b99946b86d9f21d7ec4f3e366dab18a57133903c480408bf0eb838fccc2f11d 01-Iheaders.patch
+04487ddfe3e2f5ada548d55bc0e62bf5f36e92641d254f4f24ee0428253b26a5 02-sys-select.patch
+48a60c2661f675cc17c6fdc7d2f55f8836624df3c1c490160a321e846a9925aa 03-gpmroot.patch
+d3b6ba9da912f628572d9679311f562a2fb318765ae7397da535df830ccd09ba gpm.initd
+260b40ffebc7eca901203ca7083cfd72a8ffb5da7210840b389ddc2317e80dba gpm.confd"
+sha512sums="51c1141ed502f8b6bc846485a8e315bafe3cf2b7c9d1ea8a710d9748ff2058f29c7ab5715fc1730a8437c613181d2050f37b134e9288c69ba8ff7fb0be7ec0d1 gpm-1.20.7.tar.bz2
+caad0472374b9bb9bdf8f31480f88895b2d65dc0565611932fa185592ffcc18065bb66b433f54f0df9f6173056b6c34ec5d57f79bd19f38edefeca57603bc76c error-format.patch
+cb9fa2c48b5fa7f06ccfa8be57e421ee228b49707027094a2fdca5809407e7e277484c820ed4ee0800ef1a36bfc322ac33b2f29b4411ffab345c900931113863 01-Iheaders.patch
+24fbc48408388a7481dadbccc6da3edbd5f82a644460e5a9ca6039fbac2d2eff6c16002b2158c1955fbd2677655b8b1acd1e12b94b9c29eeddb1a883e813e2a7 02-sys-select.patch
+e6bdef0847e06bb4fd15bae315cd8cdbdc5b02e7241da575127592689aad6da1b331e4442a70ae6fcb8068e844adf2de509f61c318572a91b97ab00efa6444fd 03-gpmroot.patch
+d268504bd0cf83706863a8af5c5719b0d192c34ae6a78ff0378521841eca242b39a6e6891080a5fc5512732f84e7439697ba92bfda3ecc1aaebd36b16e946477 gpm.initd
+0e7c96f29222d33301fc9c5c8cf409b7dbe6cbb1e79d76444ae5724e8b793679d3ea597a8ad64187e85680799847632095e469445ae56f893616cb0235a29f3a gpm.confd"
diff --git a/unmaintained/gpm/error-format.patch b/unmaintained/gpm/error-format.patch
new file mode 100644
index 0000000000..8c9628f492
--- /dev/null
+++ b/unmaintained/gpm/error-format.patch
@@ -0,0 +1,13 @@
+diff --git a/src/lib/report-lib.c b/src/lib/report-lib.c
+index c0ae086..1b9754d 100644
+--- a/src/lib/report-lib.c
++++ b/src/lib/report-lib.c
+@@ -47,7 +47,7 @@ void gpm_report(int line, char *file, int stat, char *text, ... )
+ log_level = LOG_CRIT; break;
+ }
+ #ifdef HAVE_VSYSLOG
+- syslog(log_level, string);
++ syslog(log_level, "%s", string);
+ vsyslog(log_level, text, ap);
+ #else
+ fprintf(stderr,"%s[%s(%d)]:\n",string,file,line);
diff --git a/unmaintained/gpm/gpm.confd b/unmaintained/gpm/gpm.confd
new file mode 100644
index 0000000000..eb77c711fe
--- /dev/null
+++ b/unmaintained/gpm/gpm.confd
@@ -0,0 +1,8 @@
+# gpm conf.d file for alpine linux
+
+#
+# Specify gpm mouse daemon options here.
+#
+
+#gpm_opts="-m /dev/input/mice -t imps2"
+
diff --git a/unmaintained/gpm/gpm.initd b/unmaintained/gpm/gpm.initd
new file mode 100644
index 0000000000..85b292c317
--- /dev/null
+++ b/unmaintained/gpm/gpm.initd
@@ -0,0 +1,10 @@
+#!/sbin/openrc-run
+
+pidfile=/var/run/gpm.pid
+command=/usr/sbin/gpm
+command_args=${gpm_opts:--m /dev/input/mice -t imps2}
+
+depend() {
+ after localmount
+ use hotplug logger
+}
diff --git a/unmaintained/grantlee/APKBUILD b/unmaintained/grantlee/APKBUILD
new file mode 100644
index 0000000000..452d1c8fd5
--- /dev/null
+++ b/unmaintained/grantlee/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor:k0r10n <k0r10n.dev@gmail.com>
+# Maintainer:
+pkgname=grantlee
+pkgver=0.4.0
+pkgrel=0
+pkgdesc="Grantlee is a set of free software libraries written using the Qt framework"
+url="http://www.gitorious.org/grantlee/pages/Home"
+arch="all"
+license="LGPL3"
+depends=
+depends_dev="cmake qt-dev doxygen"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://downloads.grantlee.org/${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
+ 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="fa8a2e9be7be7e3a89e700679e6f3014 grantlee-0.4.0.tar.gz"
+sha256sums="13a2d8121392404bb3be4ed470b211bc098cd98da795ef7bf41517d2fb640d3f grantlee-0.4.0.tar.gz"
+sha512sums="6ff539eb7aaf366487214b02131d67b9967713c42d20314ff56129e9543516fdf2d129b9c3015f0959c89c6f0ee9ad085af91fed4293bd0613d8e888bc850ca7 grantlee-0.4.0.tar.gz"
diff --git a/unmaintained/grc/APKBUILD b/unmaintained/grc/APKBUILD
new file mode 100644
index 0000000000..31daf763cb
--- /dev/null
+++ b/unmaintained/grc/APKBUILD
@@ -0,0 +1,20 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=grc
+pkgver=1.7
+pkgrel=1
+pkgdesc='colouriser for beautifying your logfiles or output of commands'
+arch='noarch'
+url='http://kassiopeia.juls.savba.sk/~garabik/software/grc.html'
+license='GPL'
+depends='python'
+source="grc-$pkgver.tar.gz::https://github.com/garabik/grc/archive/v$pkgver.tar.gz"
+_builddir="$srcdir/$pkgname-$pkgver"
+
+package() {
+ cd "$_builddir"
+ ./install.sh "$pkgdir"
+}
+
+md5sums="8d60bbe162d5f007afd26719a781f914 grc-1.7.tar.gz"
+sha256sums="20430dc71f843316bc10ae26c7318e2eb7ba65c61048ee0c02f961e459d47602 grc-1.7.tar.gz"
+sha512sums="737e16df139723cdae51249dab2ede5efd1b1eaee6b3316346f2167e4effecc223a1bfe9f6e07bfe36e135cd9610840f358d35594b6b3e65ed56a780e90fb6a9 grc-1.7.tar.gz"
diff --git a/unmaintained/greybird-themes/APKBUILD b/unmaintained/greybird-themes/APKBUILD
new file mode 100644
index 0000000000..2f0568ef01
--- /dev/null
+++ b/unmaintained/greybird-themes/APKBUILD
@@ -0,0 +1,79 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=greybird-themes
+pkgver=1.6.2
+pkgrel=1
+pkgdesc="A clean minimalistic theme for Xfce, GTK+ 2 and 3"
+url="http://shimmerproject.org/project/greybird/"
+arch="noarch"
+license="GPLv2+ or CC-BY-SA"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-gtk2 $pkgname-gtk3 $pkgname-metacity $pkgname-xfwm4
+ $pkgname-xfce4-notifyd:_notify $pkgname-unity"
+source="greybird-$pkgver.tar.gz::https://github.com/shimmerproject/Greybird/archive/v$pkgver.tar.gz
+ gtk-3.14-fix.patch
+ "
+
+_builddir="$srcdir"/Greybird-$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"
+ # Cleanup
+ # Remove Unity theme
+ rm -f gtk-3.0/apps/unity.css
+ rm -f gtk-3.0/apps/lightdm-unity-greeter.css
+
+ sed -i '/unity\.css/d' gtk-3.0/gtk.css
+ sed -i '/lightdm-unity-greeter\.css/d' gtk-3.0/gtk.css
+ sed -i '/lightdm-gtk-greeter\.css/d' gtk-3.0/gtk.css
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/usr/share/themes/Greybird
+ cp -pr * "$pkgdir"/usr/share/themes/Greybird
+}
+
+_mv() {
+ pkgdesc="$1"
+ install_if="$pkgname=$pkgver-r$pkgrel $2";
+ depends=
+ local _i
+ shift; shift
+ mkdir -p "$subpkgdir"/usr/share/themes/Greybird
+ for _i; do
+ msg "moving $_i"
+ mv "$pkgdir"/usr/share/themes/Greybird/$_i \
+ "$subpkgdir"/usr/share/themes/Greybird || return 1
+ done
+}
+
+
+gtk2() {
+ _mv "Greybird GTK+2 themes" gtk+2.0 gtk-2.0
+ depends="gtk-murrine-engine"
+}
+
+gtk3() { _mv "Greybird GTK+3 themes" gtk+3.0 gtk-3.0; }
+metacity() { _mv "Greybird Metacity themes" metacity metacity-1; }
+xfwm4() { _mv "Greybird Xfce4 themes" xfwm4 xfwm4 'xfwm4-*'; }
+_notify() { _mv "Greybird Xfce4-notifyd themes" xfce4-notifyd 'xfce-notify-*'; }
+unity() { _mv "Greybird Unity themes" unity 'unity'; }
+
+md5sums="542cfd641cd5ff723ee2fcdfdb1eabbd greybird-1.6.2.tar.gz
+ef3882cc1ea6c00fb1c372c911b563fe gtk-3.14-fix.patch"
+sha256sums="473a38b379381311b68dcc579005c0d5bbfbabefe1de7107d897c68b81e6b460 greybird-1.6.2.tar.gz
+00d0c58a96c5c1090adcf8ec479d5d608e68d1141e79cebb1112f3430ae7a482 gtk-3.14-fix.patch"
+sha512sums="eddd6b89880dbc034ee32cc17751b6ee1b18b55eef31d745c64f865b96d0fbf36fe6ab59dbe89dbdd032b3ed01395850f9597bdc1897e276b0433e93353d893f greybird-1.6.2.tar.gz
+6cb7912dda0b82065e58a51533ce0b7d6341af5e7e996dd2f2870c8e2db6c439e7c47f12e7bccb24c74021de6516ebbc9a0ac32c5323b048002b7abf87365722 gtk-3.14-fix.patch"
diff --git a/unmaintained/greybird-themes/gtk-3.14-fix.patch b/unmaintained/greybird-themes/gtk-3.14-fix.patch
new file mode 100644
index 0000000000..61f23c5c6d
--- /dev/null
+++ b/unmaintained/greybird-themes/gtk-3.14-fix.patch
@@ -0,0 +1,17 @@
+diff --git a/gtk-3.0/gtk-widgets.css b/gtk-3.0/gtk-widgets.css
+index 3428f75..619f566 100644
+--- a/gtk-3.0/gtk-widgets.css
++++ b/gtk-3.0/gtk-widgets.css
+@@ -4153,3 +4153,11 @@ GtkBubbleWindow .toolbar {
+ box-shadow: 0 3px 5px alpha(black, 0.5),
+ 0 0 0 1px alpha(black, 0.2);
+ }
++
++.toolbar .button , .toolbar .button:insensitive {
++ border: 1px solid transparent;
++ background: none;
++ border-color: none;
++ box-shadow: inset 0 0 ,
++ inset 0 0 ;
++}
+
diff --git a/unmaintained/gsoap/APKBUILD b/unmaintained/gsoap/APKBUILD
new file mode 100644
index 0000000000..3730e768a9
--- /dev/null
+++ b/unmaintained/gsoap/APKBUILD
@@ -0,0 +1,62 @@
+# Contributor: <xmingske@gmail.com>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+
+pkgname=gsoap
+pkgver=2.8.23
+pkgrel=0
+arch="all"
+pkgdesc='A cross-platform C and C++ SDK for SOAP/XML Web services'
+license='GPL-2 gSOAP'
+url='http://gsoap2.sourceforge.net'
+
+depends=''
+makedepends='autoconf automake bison flex zlib-dev openssl-dev'
+subpackages="$pkgname-dev"
+source="http://downloads.sourceforge.net/project/gsoap2/gSOAP/${pkgname}_${pkgver}.zip
+ stdsoap2.c.diff
+ stdsoap2.cpp.diff
+ stdsoap2.h.diff
+"
+
+gsopa_major='2.8'
+
+_builddir="$srcdir"/$pkgname-$gsopa_major
+
+prepare() {
+ cd "${_builddir}"
+ for f in $source; do
+ case $f in
+ *.diff) patch -p1 < "$srcdir"/$f
+ esac
+ done
+}
+
+build() {
+ cd "${_builddir}"
+ touch configure.ac aclocal.m4 configure Makefile.am Makefile.in
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --exec-prefix=/usr \
+ --enable-ipv6 \
+ || return 1
+ make -j1 || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="9aa06f75cd3e3defee3e81cb9a2d1743 gsoap_2.8.23.zip
+24c9892ba231da9cff0fdfd834cebb71 stdsoap2.c.diff
+8f62eb5fbd92c850c86ca4e6900efe1d stdsoap2.cpp.diff
+b8a9439699427356b1e90d4cfc1af146 stdsoap2.h.diff"
+sha256sums="e1c30743f1c2cf40b2760568127e14af1b2a00c3026b2e5f0750e8c33d94c061 gsoap_2.8.23.zip
+ab0dea89ffb1b98d5e6c7d0a4975b9c9c022099729217b898a15934f360d88d0 stdsoap2.c.diff
+e0414a1127f9529dfb4b686b3721fd5aaedf46a8bd795b09cca24a1b66bd8872 stdsoap2.cpp.diff
+9f73f51791be1f149c1ef0db676832f1c0cad6837d14931666b3b18083f4b7e4 stdsoap2.h.diff"
+sha512sums="cc90aadfe09aa6406172c9ffa07696851ff594ca7c5b40819494badd8ce978d908d66de63a5831e7aec1bca18ee8b51ed02187057688a3b36eb0a21fe6e0f5a4 gsoap_2.8.23.zip
+116c0e1fd9d3c17ba4625934c7cd158084a9f9198a4ffae0036589d923b010e58143a8aea7804adf91683114f0bc99494f3ecc4139006b901e975ccb429e3543 stdsoap2.c.diff
+4d9b6f09407e3af95a8a2e282e5a379b5e313df21285beab69459a990aa035ee6e8fcba05b06e120f5f0e5b0e1f8499f8cdb4c41615f7cd5692fb875a88e46c8 stdsoap2.cpp.diff
+de271db85f4bfef8a01392c8aca864b16da4efe4acb1919827f7145202db32fbc8c872b225d865bbe98e144cc579c46cb419e041475b3127fc7d442680938a0a stdsoap2.h.diff"
diff --git a/unmaintained/gsoap/stdsoap2.c.diff b/unmaintained/gsoap/stdsoap2.c.diff
new file mode 100644
index 0000000000..0d7b7bfec4
--- /dev/null
+++ b/unmaintained/gsoap/stdsoap2.c.diff
@@ -0,0 +1,11 @@
+--- gsoap-2.8.orig/gsoap/stdsoap2.c
++++ gsoap-2.8/gsoap/stdsoap2.c
+@@ -3963,7 +3963,7 @@
+ { memcpy(inaddr, &iadd, sizeof(iadd));
+ return SOAP_OK;
+ }
+-#if defined(__GLIBC__) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__)
++#if defined(__GLIBC__) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__) || defined(LINUX)
+ if (gethostbyname_r(addr, &hostent, soap->buf, SOAP_BUFLEN, &host, &soap->errnum) < 0)
+ host = NULL;
+ #elif defined(_AIX43) || ((defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R))
diff --git a/unmaintained/gsoap/stdsoap2.cpp.diff b/unmaintained/gsoap/stdsoap2.cpp.diff
new file mode 100644
index 0000000000..66590b3a05
--- /dev/null
+++ b/unmaintained/gsoap/stdsoap2.cpp.diff
@@ -0,0 +1,20 @@
+--- gsoap-2.8.orig/gsoap/stdsoap2.cpp
++++ gsoap-2.8/gsoap/stdsoap2.cpp
+@@ -3963,7 +3963,7 @@
+ { memcpy(inaddr, &iadd, sizeof(iadd));
+ return SOAP_OK;
+ }
+-#if defined(__GLIBC__) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__)
++#if defined(__GLIBC__) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__) || defined(LINUX)
+ if (gethostbyname_r(addr, &hostent, soap->buf, SOAP_BUFLEN, &host, &soap->errnum) < 0)
+ host = NULL;
+ #elif defined(_AIX43) || ((defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R))
+@@ -17240,7 +17240,7 @@
+ {
+ #ifndef WIN32
+ # ifdef HAVE_STRERROR_R
+-# ifdef _GNU_SOURCE
++# if defined (_GNU_SOURCE) && defined(__GLIBC__)
+ return strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* GNU-specific */
+ # else
+ strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */
diff --git a/unmaintained/gsoap/stdsoap2.h.diff b/unmaintained/gsoap/stdsoap2.h.diff
new file mode 100644
index 0000000000..f21310a523
--- /dev/null
+++ b/unmaintained/gsoap/stdsoap2.h.diff
@@ -0,0 +1,11 @@
+--- gsoap-2.8.orig/gsoap/stdsoap2.h
++++ gsoap-2.8/gsoap/stdsoap2.h
+@@ -859,7 +859,7 @@
+ # endif
+ #elif defined(SOCKLEN_T)
+ # define SOAP_SOCKLEN_T SOCKLEN_T
+-#elif defined(__socklen_t_defined) || defined(_SOCKLEN_T) || defined(CYGWIN) || defined(FREEBSD) || defined(__FreeBSD__) || defined(OPENBSD) || defined(__QNX__) || defined(QNX) || defined(OS390) || defined(__ANDROID__) || defined(_XOPEN_SOURCE)
++#elif defined(__socklen_t_defined) || defined(_SOCKLEN_T) || defined(CYGWIN) || defined(FREEBSD) || defined(__FreeBSD__) || defined(OPENBSD) || defined(__QNX__) || defined(QNX) || defined(OS390) || defined(__ANDROID__) || defined(_XOPEN_SOURCE) || defined (LINUX)
+ # define SOAP_SOCKLEN_T socklen_t
+ #elif defined(IRIX) || defined(WIN32) || defined(__APPLE__) || defined(SUN_OS) || defined(OPENSERVER) || defined(TRU64) || defined(VXWORKS) || defined(HP_UX)
+ # define SOAP_SOCKLEN_T int
diff --git a/unmaintained/gssdp/APKBUILD b/unmaintained/gssdp/APKBUILD
new file mode 100644
index 0000000000..d224666bf2
--- /dev/null
+++ b/unmaintained/gssdp/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=gssdp
+pkgver=0.12.2
+pkgrel=0
+pkgdesc="Resource discovery and announcement over SSDP"
+url="http://www.gupnp.org/"
+arch="all"
+license="LGPL2"
+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://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz
+ 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
+}
+
+md5sums="7805d3062706bdba4f088ce7e96a9293 gssdp-0.12.2.tar.xz
+44a768c4245e69b54b96b985143a6faa gssdp-fixdso.patch"
diff --git a/unmaintained/gssdp/gssdp-fixdso.patch b/unmaintained/gssdp/gssdp-fixdso.patch
new file mode 100644
index 0000000000..597e41e3cf
--- /dev/null
+++ b/unmaintained/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/unmaintained/gst-plugin-libde265_0.10/APKBUILD b/unmaintained/gst-plugin-libde265_0.10/APKBUILD
new file mode 100644
index 0000000000..782a46612d
--- /dev/null
+++ b/unmaintained/gst-plugin-libde265_0.10/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=gst-plugin-libde265_0.10
+pkgver=0.1.11
+pkgrel=0
+pkgdesc="Libde265 gstreamer plugin"
+url="https://github.com/strukturag/gstreamer-libde265"
+arch="all"
+license="LGPL"
+depends=""
+depends_dev="gstreamer0.10-dev gst-plugins-base0.10-dev gst-plugins-bad0.10-dev
+ bzip2-dev libde265-dev"
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="https://github.com/strukturag/gstreamer-libde265/releases/download/v$pkgver/gstreamer-libde265-$pkgver.tar.gz"
+
+_builddir="$srcdir"/gstreamer-libde265-$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
+ update_config_sub || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --enable-gstreamer0.10 \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="7d855cccc653f296ec0a2c3f3c216c9f gstreamer-libde265-0.1.11.tar.gz"
+sha256sums="59e987e4ee985cc8b712936990c4d7a94d469d905d137f85f4ca5f7363d1d5b1 gstreamer-libde265-0.1.11.tar.gz"
+sha512sums="66241bb956487db65fab903ab2bbee481fc7eb6859cfbbac4ea1c0422acaff23c312defdae83fd4e7615d4f09dcdf26c68887df96ddb1b6c350692a51df6e177 gstreamer-libde265-0.1.11.tar.gz"
diff --git a/unmaintained/gthumb/APKBUILD b/unmaintained/gthumb/APKBUILD
new file mode 100644
index 0000000000..59b76127dd
--- /dev/null
+++ b/unmaintained/gthumb/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: ScrumpyJack <scrumpyjack@st.ilet.to>
+# Maintainer:
+pkgname=gthumb
+pkgver=3.4.0
+pkgrel=0
+pkgdesc="gThumb is an image viewer and browser for GNOME"
+url="https://wiki.gnome.org/Apps/gthumb"
+arch="all"
+license="GPL"
+depends="gsettings-desktop-schemas"
+depends_dev=""
+makedepends="gtk+3.0-dev libintl exiv2 intltool libraw-dev flex docbook-xsl\
+ tiff-dev libgnome gstreamer1-dev glib-dev gconf libunique-dev \
+ itstool gsettings-desktop-schemas"
+install=""
+subpackages="$pkgname-lang $pkgname-doc"
+source="http://ftp.acc.umu.se/pub/gnome/sources/${pkgname}/${pkgver/\.0/}/${pkgname}-${pkgver}.tar.xz"
+
+_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 \
+ --disable-schemas-compile
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+md5sums="c920d76705094141a339c97b9df8d3e7 gthumb-3.4.0.tar.xz"
+sha256sums="abd1afe457c65289af31c6db7037452faa3838356480857d8cdc19f0ecde4933 gthumb-3.4.0.tar.xz"
+sha512sums="04b962ada75ab46a6be2ad192dfc9b34bd5f7b0189d970e688d0ec89130a766ab7e5a23d34b305829092c3b8756baad83d0367f4a972e384dac16fcff0255d85 gthumb-3.4.0.tar.xz"
diff --git a/unmaintained/gtk-equinox-engine/APKBUILD b/unmaintained/gtk-equinox-engine/APKBUILD
new file mode 100644
index 0000000000..3f5b3ad2bd
--- /dev/null
+++ b/unmaintained/gtk-equinox-engine/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: William Pitcock <nenolod@dereferenced.org>
+pkgname=gtk-equinox-engine
+pkgver=1.50
+pkgrel=0
+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-$pkgver.tar.gz"
+
+_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="f5ab68e50e128ee5186265b80d5cf1bd 121881-equinox-1.50.tar.gz"
diff --git a/unmaintained/gtksourceview/APKBUILD b/unmaintained/gtksourceview/APKBUILD
new file mode 100644
index 0000000000..2f6a1e8a3f
--- /dev/null
+++ b/unmaintained/gtksourceview/APKBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=gtksourceview
+pkgver=3.18.1
+pkgrel=0
+pkgdesc="A text widget adding syntax highlighting and more to GNOME"
+url="http://live.gnome.org/GtkSourceView"
+arch="all"
+license="GPL"
+replaces="gtksourceview"
+depends=
+depends_dev="gtk+3.0-dev libxml2-dev"
+makedepends="$depends_dev gobject-introspection-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="http://ftp.gnome.org/pub/gnome/sources/gtksourceview/${pkgver%.*}/gtksourceview-$pkgver.tar.xz"
+
+_builddir="$srcdir/gtksourceview-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-static \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+md5sums="b7600b6cc06ec96ce1d028bf7a44d14b gtksourceview-3.18.1.tar.xz"
+sha256sums="7be95faf068b9f0ac7540cc1e8d607baa98a482850ef11a6471b53c9327aede6 gtksourceview-3.18.1.tar.xz"
+sha512sums="dacee02c1d7232279b560bfa362c65837a981d50fdc28ae966835ead7b0d99310d503b816895c77c5b61967778299e4c9385697de5210259a97f664703bc905f gtksourceview-3.18.1.tar.xz"
diff --git a/unmaintained/gumbo-parser/APKBUILD b/unmaintained/gumbo-parser/APKBUILD
new file mode 100644
index 0000000000..4e87808a6e
--- /dev/null
+++ b/unmaintained/gumbo-parser/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
+# Maintainer:
+pkgname=gumbo-parser
+pkgver=0.10.1
+pkgrel=1
+pkgdesc="HTML5 parsing algorithm implemented as a pure C99 library"
+url="https://github.com/google/gumbo-parser"
+arch="all"
+license="Apache 2.0"
+depends=
+depends_dev=
+makedepends="$depends_dev autoconf automake libtool"
+install=
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/google/$pkgname/archive/v$pkgver.tar.gz"
+
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ cd "$_builddir"
+ # apply patches here
+}
+
+build() {
+ cd "$_builddir"
+ ./autogen.sh
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make 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="c6f75c9eda65e897c242f8958a34aed0 gumbo-parser-0.10.1.tar.gz"
+sha256sums="28463053d44a5dfbc4b77bcf49c8cee119338ffa636cc17fc3378421d714efad gumbo-parser-0.10.1.tar.gz"
+sha512sums="bb1fb55cd07076ab6a9f38dc14db50397dbdca9a04ace4895dfba8b8cbc09038a96e26070c09c75fa929ada2e815affe233c1e2ecd8afe2aba6201647cf277d1 gumbo-parser-0.10.1.tar.gz"
diff --git a/unmaintained/gupnp/APKBUILD b/unmaintained/gupnp/APKBUILD
new file mode 100644
index 0000000000..905d9441fa
--- /dev/null
+++ b/unmaintained/gupnp/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=gupnp
+pkgver=0.16.1
+pkgrel=2
+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-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
+}
+
+md5sums="021bb237741532af4bca50157ff326e4 gupnp-0.16.1.tar.gz"
diff --git a/unmaintained/halfscan6/APKBUILD b/unmaintained/halfscan6/APKBUILD
new file mode 100644
index 0000000000..2c9c14b63f
--- /dev/null
+++ b/unmaintained/halfscan6/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=halfscan6
+pkgver=0.2
+pkgrel=0
+pkgdesc="An simple IPv6 tcp port scanner"
+url="http://www.habets.pp.se/synscan/programs.php?prog=halfscan6"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://www.habets.pp.se/synscan/files/$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"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -Dm755 halfscan6 "$pkgdir"/usr/bin/$pkgname
+}
+
+md5sums="a77f0341aa2ccde43cd41157103fbd92 halfscan6-0.2.tar.gz"
+sha256sums="544531f7bc114f97c57872ad8d803ef44245cebcdd6d1e6c106b1be10ca98050 halfscan6-0.2.tar.gz"
+sha512sums="b363714edd60ee66547d401811a042a9760dd8e94faef7ceeb68d0e88e03c0d179e82b7c8ddd0ccca5b9f67a1fad05b446a6c762a903cfc0a205049536e5933e halfscan6-0.2.tar.gz"
diff --git a/unmaintained/hardinfo/APKBUILD b/unmaintained/hardinfo/APKBUILD
new file mode 100644
index 0000000000..968ba57d17
--- /dev/null
+++ b/unmaintained/hardinfo/APKBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=hardinfo
+pkgver=0.5.1
+pkgrel=5
+pkgdesc="A system information and benchmark tool."
+url="http://hardinfo.berlios.de/wiki/index.php/Main_Page"
+arch="all"
+license="GPL2"
+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/unmaintained/hardinfo/fixsensors.patch b/unmaintained/hardinfo/fixsensors.patch
new file mode 100644
index 0000000000..812c294589
--- /dev/null
+++ b/unmaintained/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/unmaintained/hardinfo/hardinfo-alpine.patch b/unmaintained/hardinfo/hardinfo-alpine.patch
new file mode 100644
index 0000000000..47e3cb73a8
--- /dev/null
+++ b/unmaintained/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/unmaintained/hardinfo/uclibc.patch b/unmaintained/hardinfo/uclibc.patch
new file mode 100644
index 0000000000..c24e9ea1a1
--- /dev/null
+++ b/unmaintained/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/unmaintained/hardlink/APKBUILD b/unmaintained/hardlink/APKBUILD
new file mode 100644
index 0000000000..76b1848e74
--- /dev/null
+++ b/unmaintained/hardlink/APKBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Valery McHno <anarch.linux@gmail.com>
+pkgname=hardlink
+pkgver=0.3.0
+pkgrel=0
+pkgdesc="Finds multiple copies of files and replaces them with hardlinks"
+url="http://jak-linux.org/projects/hardlink/"
+arch="all"
+license="MIT"
+depends=""
+makedepends="pcre musl-dev attr-dev"
+subpackages="$pkgname-doc"
+source="http://jak-linux.org/projects/hardlink/${pkgname}_${pkgver}.tar.xz"
+_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"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make -j1 DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="72f1a460adb6874c151deab766e434ad hardlink_0.3.0.tar.xz"
+sha256sums="e8c93dfcb24aeb44a75281ed73757cb862cc63b225d565db1c270af9dbb7300f hardlink_0.3.0.tar.xz"
+sha512sums="22a8945ce5dac74b05bb1231959823aec0cd364d6db9ad808df4acf232d894170c006ac1e88509604ce1859d41bd4a5d91e2b12c8010aa7fc7e19a77922c4486 hardlink_0.3.0.tar.xz"
diff --git a/unmaintained/harminv/APKBUILD b/unmaintained/harminv/APKBUILD
new file mode 100644
index 0000000000..5b32894e0e
--- /dev/null
+++ b/unmaintained/harminv/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Isaac Dunham <ibid.ag@gmail.com>
+# Maintainer:
+pkgname=harminv
+pkgver=1.4
+pkgrel=0
+pkgdesc="Free program to solve the problem of harmonic inversion"
+url="http://ab-initio.mit.edu/wiki/index.php/Harminv"
+arch="all"
+license="GPL"
+depends=""
+depends_dev="openblas-dev"
+makedepends="$depends_dev gfortran"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
+source="http://ab-initio.mit.edu/harminv/harminv-$pkgver.tar.gz"
+
+_builddir="$srcdir"/harminv-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --disable-static --enable-shared \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="b95e24a9bc7e07d3d2202d1605e9e86f harminv-1.4.tar.gz"
+sha256sums="538e9b7766abcb0bf9db74cf47de5c4e8dfe8d724b047ea68550a5ee4c43b5de harminv-1.4.tar.gz"
+sha512sums="c3a5153bdd5ab4b160407bcd50f4843708c2f5924074fdfe88890e8770d6a874178a69e83cd615cdecce04d80a3a92133d435f7245c0a21962e1e18a14fb63f5 harminv-1.4.tar.gz"
diff --git a/unmaintained/hexcurse/APKBUILD b/unmaintained/hexcurse/APKBUILD
new file mode 100644
index 0000000000..7bf023913b
--- /dev/null
+++ b/unmaintained/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/unmaintained/hexcurse/hexcurse-alloca.patch b/unmaintained/hexcurse/hexcurse-alloca.patch
new file mode 100644
index 0000000000..2ea060f2d8
--- /dev/null
+++ b/unmaintained/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/unmaintained/hexinject/APKBUILD b/unmaintained/hexinject/APKBUILD
new file mode 100644
index 0000000000..8c653888f2
--- /dev/null
+++ b/unmaintained/hexinject/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=hexinject
+pkgver=1.5
+pkgrel=0
+pkgdesc="A very versatile packet injector and sniffer"
+url="http://hexinject.sourceforge.net/"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="libpcap-dev"
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz"
+
+_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 || return 1
+}
+
+package() {
+ cd "$_builddir"
+ for i in hexinject prettypacket hex2raw; do
+ install -Dm755 $i "$pkgdir"/usr/bin/$i || return 1
+ done
+}
+
+md5sums="26fbb396bed9c64de653e35ae78b6956 hexinject-1.5.tar.gz"
+sha256sums="329f0686069988ac0dae4a00082b205ac9669bc8e202d4b112c600bcbc198ce9 hexinject-1.5.tar.gz"
+sha512sums="cd145b6f2ae9d739effca03959fb474df11d28ff015c0e5bd1e30c341f60085154795f3c8a601b7241623944b3868b6fc9a3e1530a3aa4e7aaa2b3794a5aa34a hexinject-1.5.tar.gz"
diff --git a/unmaintained/hhpc/APKBUILD b/unmaintained/hhpc/APKBUILD
new file mode 100644
index 0000000000..8ada529740
--- /dev/null
+++ b/unmaintained/hhpc/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor:
+# Maintainer:
+pkgname=hhpc
+pkgver=0.3.2
+pkgrel=0
+pkgdesc="An utility to automatically hide the mouse pointer after a specified delay of inactivity"
+url="https://github.com/aktau/hhpc"
+arch="all"
+license="3-clause BSD"
+depends=""
+depends_dev=""
+makedepends="$depends_dev libx11-dev"
+install=""
+subpackages=""
+source="hhpc-$pkgver.tar.gz::https://github.com/7heo/hhpc/archive/v$pkgver.tar.gz"
+_builddir="$srcdir"/hhpc-$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 DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="2d579207ce5d6b3fbbfa4b81109ffaa3 hhpc-0.3.2.tar.gz"
+sha256sums="7701e20143133317d0746b6f723bdd9bff92fb7c4bd9af745e632444dbbc3afa hhpc-0.3.2.tar.gz"
+sha512sums="c07a054c1826cff530f27c047e52bc982bfe057fa5c92dfd3af42750b4aa8369c614529b62e701c5f9199749659f47e3c56bcbc68b14a0b86b35c9a031d80417 hhpc-0.3.2.tar.gz"
diff --git a/unmaintained/homer-api/APKBUILD b/unmaintained/homer-api/APKBUILD
new file mode 100644
index 0000000000..a8dd520402
--- /dev/null
+++ b/unmaintained/homer-api/APKBUILD
@@ -0,0 +1,59 @@
+# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
+# Maintainer:
+pkgname=homer-api
+pkgver=5.0.1
+pkgrel=1
+pkgdesc="HOMER API"
+url="https://github.com/sipcapture/homer-api"
+arch="noarch"
+license="GPL"
+depends="perl perl-dbi perl-dbd-mysql"
+depends_dev=
+makedepends="$depends_dev"
+install=
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/sipcapture/homer-api/archive/v$pkgver-api.tar.gz
+ homer-move-config2etc.patch
+ "
+
+
+_builddir="$srcdir"/$pkgname-$pkgver-api
+
+prepare() {
+ cd "$_builddir"
+ patch -p1 < ../homer-move-config2etc.patch
+}
+
+build() {
+ cd "$_builddir"
+ return 0
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/usr/share/webapps/homer-ui/api \
+ "$pkgdir"/etc/homer \
+ "$pkgdir"/etc/periodic/hourly \
+ "$pkgdir"/usr/share/homer-api/scripts \
+ "$pkgdir"/usr/share/homer-api/sql \
+ "$pkgdir"/usr/share/doc/homer-api
+ mv ./api/* "$pkgdir"/usr/share/webapps/homer-ui/api
+ mv "$pkgdir"/usr/share/webapps/homer-ui/api/preferences.php \
+ "$pkgdir"/etc/homer/preferences.php
+ mv "$pkgdir"/usr/share/webapps/homer-ui/api/configuration.php \
+ "$pkgdir"/etc/homer/configuration.php
+ install -D -m755 scripts/homer_rotate "$pkgdir"/etc/periodic/daily/homer_rotate
+ install -D -m755 scripts/homer_mysql_new_table.pl \
+ "$pkgdir"/usr/share/homer-api/scripts/homer_mysql_new_table.pl
+ install -D -m755 scripts/homer_mysql_partrotate_unixtimestamp.pl \
+ "$pkgdir"/usr/share/homer-api/scripts/homer_mysql_partrotate_unixtimestamp.pl
+ cp sql/* "$pkgdir"/usr/share/homer-api/sql
+ cp -R examples "$pkgdir"/usr/share/doc/homer-api
+}
+
+md5sums="c578e47b5c31ad723d4fa5a34c455f47 homer-api-5.0.1.tar.gz
+726d5c5d8b9ad1b36966a0f6d651f364 homer-move-config2etc.patch"
+sha256sums="092d691f480e5a9331d1e430f0d53328580ea5d7815583e898fa418db56847ad homer-api-5.0.1.tar.gz
+e0eebbbaa8457c74eed2465b8e2eb3354fb0c327f3385a969ee59aa9c5bc0c5e homer-move-config2etc.patch"
+sha512sums="5400df095e5148dfdb7a8bcbf251ed3fc6c6e6d7c38a1a839f5fb516345b0317f01c87f4879136416241d371debd4d1d0b2b521fadec9bf1d4f2f459865cb258 homer-api-5.0.1.tar.gz
+c8966b28da2536678bbec624926fa5e78b4ec3612186c5b7a1d5744b26521ef13e70f6df6ad747cb1627cfb8a7e6d7bfaed0ef03690b6a63663399ce5a6a0c8a homer-move-config2etc.patch"
diff --git a/unmaintained/homer-api/homer-move-config2etc.patch b/unmaintained/homer-api/homer-move-config2etc.patch
new file mode 100644
index 0000000000..2fe0c493f0
--- /dev/null
+++ b/unmaintained/homer-api/homer-move-config2etc.patch
@@ -0,0 +1,33 @@
+--- a/api/configuration.php
++++ b/api/configuration.php
+@@ -25,7 +25,7 @@
+
+ /* INCLUDE preferences */
+
+-include_once("preferences.php");
++include_once("/etc/homer/preferences.php");
+
+ endif;
+
+--- a/api/index.php
++++ b/api/index.php
+@@ -30,7 +30,7 @@
+ define('ROOT', realpath(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR));
+ define('_HOMEREXEC', "1");
+
+-require_once("configuration.php");
++require_once("/etc/homer/configuration.php");
+
+ date_default_timezone_set(HOMER_TIMEZONE);
+ ini_set('date.timezone', HOMER_TIMEZONE);
+--- a/scripts/homer_rotate
++++ b/scripts/homer_rotate
+@@ -5,7 +5,7 @@
+ # Set correct bin path if we are running as a cron job
+ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+
+-bin_dir=`dirname $0`
++bin_dir=/usr/share/homer-api/scripts
+ new_table="$bin_dir/homer_mysql_new_table.pl"
+ programm="$bin_dir/homer_mysql_partrotate_unixtimestamp.pl"
+
diff --git a/unmaintained/hplip/APKBUILD b/unmaintained/hplip/APKBUILD
new file mode 100644
index 0000000000..a8e6fe96fb
--- /dev/null
+++ b/unmaintained/hplip/APKBUILD
@@ -0,0 +1,56 @@
+# Maintainer:
+# Contributor: Bartłomiej Piotrowski <bpiotrowski@alpinelinux.org>
+
+pkgname=hplip
+pkgver=3.14.3
+pkgrel=2
+pkgdesc='Drivers for HP printers'
+arch=all
+url='http://hplipopensource.com'
+license='GPL'
+depends='python py-dbus'
+makedepends='libjpeg-turbo-dev net-snmp-dev cups-dev libusb-dev python-dev'
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
+ disable_upgrade.patch"
+
+_builddir="$srcdir/$pkgname-$pkgver"
+
+prepare() {
+ local i
+ cd "$_builddir"
+ update_config_sub || return 1
+ 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 \
+ --disable-qt4 \
+ --disable-scan-build \
+ --disable-fax-build \
+ --disable-dbus-build \
+ --enable-cups-ppd-install \
+ --enable-foomatic-ppd-install \
+ --enable-foomatic-drv-install \
+ || return 1
+ make || return 1
+}
+
+package() {
+ make -C "$_builddir" DESTDIR="$pkgdir" install || return 1
+
+ cd "$pkgdir"
+ rm -rf etc/sane.d etc/xdg usr/share/hal etc/init.d etc/udev
+}
+
+md5sums="a0ae59a75d202b92738dc24610b98428 hplip-3.14.3.tar.gz
+65bddd5951bd2d12a26bbf7b51bcab27 disable_upgrade.patch"
+sha256sums="1805b103639b51b9d908921e1e77db66c6e78b792aa51e405a5415e8e1c55e6e hplip-3.14.3.tar.gz
+b3f8d91a07216e6aad4dbfdb79ae19496b03c29f56444059b9b93a32c86ceb8e disable_upgrade.patch"
+sha512sums="c51ee7ff1255d56b271a2d2072fb7cdf62ccece323fe4814cdfb2a93fa97144dd83343f09bc5fdcc7e757c3ba16d3158c239689e0324fb2d9295917f94153dea hplip-3.14.3.tar.gz
+57e14c581e82a0dd44344524dc4eb4d845843cf0775b60475541cabfb9d67a4fdab501be3977f8ca9888fbbee4d0392e6068c788e7a85cf4c1add5848be21ae7 disable_upgrade.patch"
diff --git a/unmaintained/hplip/disable_upgrade.patch b/unmaintained/hplip/disable_upgrade.patch
new file mode 100644
index 0000000000..f95b4dfe4b
--- /dev/null
+++ b/unmaintained/hplip/disable_upgrade.patch
@@ -0,0 +1,14 @@
+--- a/upgrade.py 2013-10-31 12:46:54.000000000 +0100
++++ b/upgrade.py 2013-12-04 14:58:03.000000000 +0100
+@@ -134,6 +134,11 @@ except getopt.GetoptError, e:
+ if os.getenv("HPLIP_DEBUG"):
+ log.set_level('debug')
+
++
++log.error("HPLIP upgrade is disabled by Alpine Linux for security reasons, see https://bugs.archlinux.org/task/38083")
++clean_exit(1)
++
++
+ for o, a in opts:
+ if o in ('-h', '--help'):
+ usage()
diff --git a/unmaintained/html2ps/APKBUILD b/unmaintained/html2ps/APKBUILD
new file mode 100644
index 0000000000..c57f659c6a
--- /dev/null
+++ b/unmaintained/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/unmaintained/html2ps/html2ps-conf.patch b/unmaintained/html2ps/html2ps-conf.patch
new file mode 100644
index 0000000000..e96e1e1e8d
--- /dev/null
+++ b/unmaintained/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/unmaintained/httest/APKBUILD b/unmaintained/httest/APKBUILD
new file mode 100644
index 0000000000..d1686311a5
--- /dev/null
+++ b/unmaintained/httest/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=httest
+pkgver=2.4.12
+pkgrel=0
+pkgdesc="A script based tool for testing and benchmarking web applications"
+url="http://htt.sourceforge.net"
+arch="all"
+license="ASL 2.0"
+depends=""
+depends_dev=""
+makedepends="apr-dev apr-util-dev pcre-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://downloads.sourceforge.net/project/htt/htt2.4/$pkgname-$pkgver/$pkgname-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ update_config_sub || return 1
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="6ef11879e714739b55ebc314c9ed889b httest-2.4.12.tar.gz"
+sha256sums="fd18cdc996c199d56d77e9355c07e1e1701d5550c03fbecb06a255ce72d79bd1 httest-2.4.12.tar.gz"
+sha512sums="a8253b7eb5fa544f279cba5825d1485f571398ec4646c012ed697fe870e42809bf6f14454b865ad59a50864cb5367c53afc614941318e130d9948f1499c2985f httest-2.4.12.tar.gz"
diff --git a/unmaintained/httperf/APKBUILD b/unmaintained/httperf/APKBUILD
new file mode 100644
index 0000000000..c8d2e81bfc
--- /dev/null
+++ b/unmaintained/httperf/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor:
+# Maintainer: Corentin Henry <corentinhenry@gmail.com>
+pkgname=httperf
+pkgver=0.9.0
+pkgrel=0
+pkgdesc="A tool for measuring web server performance."
+url="https://github.com/httperf/httperf"
+arch="x86_64"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="openssl-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://$pkgname.googlecode.com/files/$pkgname-$pkgver.tar.gz"
+
+_builddir=$srcdir/$pkgname-$pkgver
+
+prepare() {
+ cd "$_builddir"
+ update_config_sub
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="2968c36b9ecf3d98fc1f2c1c9c0d9341 httperf-0.9.0.tar.gz"
+sha256sums="e1a0bf56bcb746c04674c47b6cfa531fad24e45e9c6de02aea0d1c5f85a2bf1c httperf-0.9.0.tar.gz"
+sha512sums="58ea6a3b8a82181a89e5df22fdf18d5be8c7b533c404108702cc03fc727fb1599a43e620d83d41630f8a951d80e48ed99d0c3dd8469ee1fc7626449b777971e1 httperf-0.9.0.tar.gz"
diff --git a/unmaintained/httpry/APKBUILD b/unmaintained/httpry/APKBUILD
new file mode 100644
index 0000000000..0687dbf725
--- /dev/null
+++ b/unmaintained/httpry/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=httpry
+pkgver=0.1.8
+pkgrel=0
+pkgdesc="A packet sniffer designed for HTTP traffic"
+url="http://dumpsterventures.com/jason/httpry/"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="libpcap-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://dumpsterventures.com/jason/httpry/$pkgname-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+build() {
+ cd "$_builddir"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -m755 -D "$_builddir"/$pkgname \
+ "$pkgdir"/usr/sbin/$pkgname || return 1
+ install -m644 -D "$_builddir"/$pkgname.1 \
+ "$pkgdir"/usr/share/man/man1/$pkgname.1 || return 1
+}
+
+md5sums="212a03b32c3e3668f5890f8779a86ded httpry-0.1.8.tar.gz"
+sha256sums="ef53454f895f68005f7b9ab634d1b433c4df839eacea9109e4ee48d4296fb613 httpry-0.1.8.tar.gz"
+sha512sums="28d9fc37229e8b47711227762134e5b6e81bde0a44947f2e527771da2d042ba7e7c38b1ec205808a9e444e1235c91932ba16df4a31cc3d739c6474b25e149636 httpry-0.1.8.tar.gz"
diff --git a/unmaintained/httpup/10-getcwd.patch b/unmaintained/httpup/10-getcwd.patch
new file mode 100644
index 0000000000..c3acbeb38d
--- /dev/null
+++ b/unmaintained/httpup/10-getcwd.patch
@@ -0,0 +1,10 @@
+--- httpup-0.4.0k.orig/main.cpp
++++ httpup-0.4.0k/main.cpp
+@@ -12,6 +12,7 @@
+ #include <iostream>
+ #include <string>
+ #include <cstdlib>
++#include <unistd.h>
+ using namespace std;
+
+ #include "httpup.h"
diff --git a/unmaintained/httpup/APKBUILD b/unmaintained/httpup/APKBUILD
new file mode 100644
index 0000000000..166573fe6e
--- /dev/null
+++ b/unmaintained/httpup/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: z3bra <willy at mailoo dot org>
+# Maintainer:
+pkgname=httpup
+pkgver=0.4.0l
+pkgrel=0
+pkgdesc="One way sync over http (CRUX port)"
+url="http://jw.tks6.net/files/crux/${pkgname}_manual.html"
+arch="all"
+license="GPL"
+depends="curl"
+depends_dev="curl-dev"
+makedepends="$depends_dev"
+subpackages="httpup-doc"
+source="http://jw.tks6.net/files/crux/$pkgname-$pkgver.tar.gz
+ 10-getcwd.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
+
+ sed -i 's/usr/local/usr' Makefile
+}
+
+build() {
+ cd "$_builddir"
+ make
+
+}
+
+package() {
+ cd "$_builddir"
+
+ make DESTDIR=$pkgdir install
+
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/"$pkgname"/COPYING
+}
+
+md5sums="c0e2973f0dbd7655dcbb5e5979ddc199 httpup-0.4.0l.tar.gz
+a158568d4e6fe8cc5d5e3becc1508b31 10-getcwd.patch"
+sha256sums="005079b7d96b23e27dd645492e21f9f93a9a3ebd2ad061069bc038180c04a549 httpup-0.4.0l.tar.gz
+0f6ae9ef93cc835631dae836d3040deaf2f435b8bad6c4b5ea60bce36683b9d2 10-getcwd.patch"
+sha512sums="8e4aab2abc0792de1c9274c2df5ff50e1362d18bcb94fb908e4c9b691de9bb557f39908be015ae436cf4335e54ac4536a7292a304eac4a39a1425d92e36a8fee httpup-0.4.0l.tar.gz
+ba184e443539ddc935041e9cfc075bc8fc16df17329bc626ce6489ae754cee31906fa6339601c2e58333f44ac67fbfdce12b0eff602f83a234c206bfe649f774 10-getcwd.patch"
diff --git a/unmaintained/httrack/APKBUILD b/unmaintained/httrack/APKBUILD
new file mode 100644
index 0000000000..c9c3d7fd9a
--- /dev/null
+++ b/unmaintained/httrack/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: <xmingske@gmail.com>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=httrack
+pkgver=3.48.19
+pkgrel=0
+pkgdesc="Website Copier - Free Software Offline Browser"
+url="http://www.httrack.com/"
+arch="all"
+license="GPL3"
+depends=""
+makedepends="zlib-dev openssl-dev"
+source="http://mirror.httrack.com/${pkgname}-${pkgver}.tar.gz
+ compile_fix.patch
+ "
+subpackages="$pkgname-doc"
+
+_builddir="${srcdir}"/${pkgname}-${pkgver}
+
+prepare() {
+ local pf
+ cd "${_builddir}"
+ for pf in $source; do
+ case $pf in
+ *.patch) msg $pf; patch -p1 -i "$srcdir"/${pf} || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "${_builddir}"
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --datadir=/usr/share \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --disable-static \
+ --disable-dependency-tracking \
+ --localstatedir=/var/lib \
+ --docdir=/usr/share/doc/httrack \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "${_builddir}"
+ make DESTDIR="${pkgdir}" install || return 1
+}
+
+md5sums="db07a1a3e41eff1123606c444f8f267d httrack-3.48.19.tar.gz
+df5a7d5cc9be56a08a6c362152256f2b compile_fix.patch"
+sha256sums="16f0cd0ea21042106879238fe4892b56018e106347d69dcb0b93816ee8f68afe httrack-3.48.19.tar.gz
+4bd329ae0c07bcc7905fd56c9da9b04876130e5d521a64ad43c961f87944aab6 compile_fix.patch"
+sha512sums="c7202c4d86963fe935ce1f1a81f43f47544e03e4743528f52acd541ba87d6ef47d9e691b432f9bebedbf06e764bd67fe85748762b6ec3c09491b7528957cda8b httrack-3.48.19.tar.gz
+41534bac32d0f3b94a862d1fe94726dc41407b8fccdf42d8755522b47c8975860f25e5c0c6150900faee3c9b7f1b19fdaa2167c9f4f2f7d63a1a62df29ce36ed compile_fix.patch"
diff --git a/unmaintained/httrack/compile_fix.patch b/unmaintained/httrack/compile_fix.patch
new file mode 100644
index 0000000000..ad7aebce11
--- /dev/null
+++ b/unmaintained/httrack/compile_fix.patch
@@ -0,0 +1,22 @@
+--- a/src/httrack.c
++++ b/src/httrack.c
+@@ -69,7 +69,8 @@
+ #include <unistd.h>
+ #endif
+ #include <ctype.h>
+-#ifdef __linux
++//#ifdef __linux
++#ifdef __GLIBC__
+ #include <execinfo.h>
+ #endif
+ /* END specific definitions */
+@@ -878,7 +879,8 @@
+ #define FD_ERR 2
+
+ static void print_backtrace(void) {
+-#ifdef __linux
++//#ifdef __linux
++#ifdef __GLIBC__
+ void *stack[256];
+ const int size = backtrace(stack, sizeof(stack)/sizeof(stack[0]));
+ if (size != 0) {
diff --git a/unmaintained/ibniz/APKBUILD b/unmaintained/ibniz/APKBUILD
new file mode 100644
index 0000000000..a1ef5ff7fe
--- /dev/null
+++ b/unmaintained/ibniz/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Johannes Matheis <jomat+alpinebuild@jmt.gr>
+# Maintainer: Johannes Matheis <jomat+alpinebuild@jmt.gr>
+pkgname=ibniz
+pkgver=1.18
+pkgrel=0
+pkgdesc="A virtual machine designed for extremely compact low-level audiovisual programs"
+url="http://pelulamu.net/ibniz/"
+arch="all"
+license="zlib"
+depends=""
+depends_dev="sdl-dev"
+makedepends="$depends_dev"
+install=""
+source="${url}/${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"
+ make
+
+}
+
+package() {
+ cd "$_builddir"
+ install -D -m755 ibniz "$pkgdir/usr/bin/ibniz"
+ install -D -m644 licence.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+}
+
+md5sums="81ee96b253111cfe2abdc7a843757287 ibniz-1.18.tar.gz"
+sha256sums="e2f292641a67abd477fac8f2c455fa1579ba854c1f15152a41fef48fd46c6481 ibniz-1.18.tar.gz"
+sha512sums="63448e3eb639a831b847cc3a737040a661ff4107e53ff70b9c33ba951c584ca903729547efd27afff9ac0b9e25a315a1d36670a4f4722c3d2287f375cb1bd760 ibniz-1.18.tar.gz"
diff --git a/unmaintained/ibus/APKBUILD b/unmaintained/ibus/APKBUILD
new file mode 100644
index 0000000000..7a63805339
--- /dev/null
+++ b/unmaintained/ibus/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=ibus
+pkgver=1.5.13
+pkgrel=0
+pkgdesc="Intelligent Input Bus"
+url="https://github.com/ibus/ibus/wiki"
+arch="all"
+license="LGPL"
+depends="hicolor-icon-theme"
+depends_dev="glib-dev gtk+3.0-dev gtk+2.0-dev gobject-introspection-dev libnotify-dev
+ dconf-dev gconf-dev"
+makedepends="$depends_dev intltool iso-codes vala iso-codes-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang $pkgname-libs $pkgname-gtk2 $pkgname-gtk3"
+source="https://github.com/ibus/ibus/releases/download/$pkgver/ibus-$pkgver.tar.gz"
+
+_builddir="$srcdir"/ibus-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --enable-ui \
+ --disable-gconf \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+libs() {
+ pkgdesc="ibus libraries"
+ depends=""
+ cd "$_builddir"
+ mkdir -p "$subpkgdir"/usr/lib/girepository-1.0
+ mv "$pkgdir"/usr/lib/libibus-*.so.* \
+ "$subpkgdir"/usr/lib/ || return 1
+ mv "$pkgdir"/usr/lib/girepository-1.0/IBus-1.0.typelib \
+ "$subpkgdir"/usr/lib/girepository-1.0/ || return 1
+}
+
+gtk2() {
+ pkgdesc="ibus Gtk 2.0 bindings"
+ depends=""
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/gtk-2.0 \
+ "$subpkgdir"/usr/lib/ || return 1
+}
+
+gtk3() {
+ pkgdesc="ibus Gtk 3.0 bindings"
+ depends=""
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/gtk-3.0 \
+ "$subpkgdir"/usr/lib/ || return 1
+}
+
+md5sums="314c5e4fbfa7a52e6bbe4d1fe87c33f4 ibus-1.5.13.tar.gz"
+sha256sums="ed73d80542dfdcca190b7958431048cd6830c2ce25c467384630b6a7e957a5f1 ibus-1.5.13.tar.gz"
+sha512sums="bffb3cecf984ec6e383a111b4e62506390f083476f59404e2e9b90251e6e06853d7f1dc06194456ab5064b5d375820510be1ab12ebd29b966d6a7f5b8aca07ab ibus-1.5.13.tar.gz"
diff --git a/unmaintained/icewm/APKBUILD b/unmaintained/icewm/APKBUILD
new file mode 100644
index 0000000000..e6af9ccfc1
--- /dev/null
+++ b/unmaintained/icewm/APKBUILD
@@ -0,0 +1,70 @@
+# Contributor: Isaac Dunham <ibid.ag@gmail.com>
+# Maintainer: Isaac Dunham <ibid.ag@gmail.com>
+pkgname=icewm
+pkgver=1.3.8
+pkgrel=3
+pkgdesc="A lightweight Win95/Motif-style window manager in C++"
+url="http://www.icewm.org"
+arch="all"
+license="LGPL2"
+depends=""
+depends_dev=""
+makedepends="gdk-pixbuf-dev libx11-dev util-macros fontconfig-dev freetype-dev
+ bash libxft-dev libxinerama-dev libice-dev libxrandr-dev libsm-dev"
+install=""
+subpackages="$pkgname-doc $pkgname-lang"
+source="http://downloads.sourceforge.net/icewm/icewm-$pkgver.tar.gz
+backtrace_on_glibc.patch"
+
+_builddir="$srcdir"/icewm-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ cp /usr/share/abuild/config.sub ./
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --disable-guievents \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ sed -e 's/rxvt/urxvt/g' \
+ -e 's/\(prog xterm.*\)/\1\nprog Terminal xterm xfce4-terminal/' \
+ -e 's/\(prog xterm.*\)/\1\nprog st xterm st/' \
+ -e 's/\(prog xterm.*\)/\1\nprog mrxvt xterm mrxvt/' \
+ -e 's/prog Mozil.*/\nprog Firefox mozilla firefox\nprog Midori midori midori/' \
+ -i "$pkgdir"/usr/share/icewm/menu
+}
+doc() {
+ cd "$_builddir"
+ make DESTDIR="$subpkgdir" install-docs install-man || return 1
+ for _doc in AUTHORS BUGS README TODO; do
+ install -Dm644 "$srcdir"/$pkgname-$pkgver/$_doc "$subpkgdir"/usr/share/doc/$pkgname/$_doc || return 1
+ done
+ install -Dm644 "$srcdir"/$pkgname-$pkgver/COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+}
+
+md5sums="6d61aced3bd20b9e7caeb7e8380368c8 icewm-1.3.8.tar.gz
+9abf33b667e9b0b802da94bdcf974252 backtrace_on_glibc.patch"
+sha256sums="17588d9e0bbbb23587bc04c83da9dd94fd4da6894ecfee6d7f3ed50d780dcd18 icewm-1.3.8.tar.gz
+9894a8d8cd5f8f372662633e2b264ef1cea8d3ea10e4586ef210f493afdd443c backtrace_on_glibc.patch"
+sha512sums="ce9bf3e736a2f3fad4bbf731647b4e4ad0168cd2c4af66b1c43beef9ceeee39d14909714d2fc73ab13f6c285a74dfe31fffc9677ae8bd2d1077716cd6d6afb72 icewm-1.3.8.tar.gz
+b844bd0a0e839580e8212b22af9638503b6969c64f98a89bdeadef8e0121fd8668a3246d304e30fe4ba9097ce7767961ec87ac0e8df04abdbc5ec17ae3ce2451 backtrace_on_glibc.patch"
diff --git a/unmaintained/icewm/backtrace_on_glibc.patch b/unmaintained/icewm/backtrace_on_glibc.patch
new file mode 100644
index 0000000000..ceba2b7630
--- /dev/null
+++ b/unmaintained/icewm/backtrace_on_glibc.patch
@@ -0,0 +1,22 @@
+diff --git a/src/misc.cc b/src/misc.cc
+index 8b7905a..1eee766 100644
+--- a/src/misc.cc
++++ b/src/misc.cc
+@@ -15,7 +15,7 @@
+ #include <libgen.h>
+ #endif
+
+-#ifdef linux
++#ifdef __GLIBC__
+ #include <execinfo.h>
+ #endif
+
+@@ -539,7 +539,7 @@ bool isreg(char const *path) {
+ }
+
+ void show_backtrace() {
+-#ifdef linux
++#ifdef __GLIBC__
+ const char head[] = "\nbacktrace:\n";
+ const char tail[] = "end\n";
+ void *array[20];
diff --git a/unmaintained/icli/APKBUILD b/unmaintained/icli/APKBUILD
new file mode 100644
index 0000000000..4fc0d25fe4
--- /dev/null
+++ b/unmaintained/icli/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=icli
+_realname=App-Icli
+pkgver=0.48
+pkgrel=0
+pkgdesc="Icinga Command Line Interface"
+url="http://finalrewind.org/projects/App-Icli/"
+arch="noarch"
+license="custom"
+depends="perl-datetime perl-datetime-format-strptime perl-datetime-timezone
+ perl-list-moreutils perl-term-size"
+depends_dev=""
+makedepends="$depends_dev perl-module-build perl-test-compile
+ perl-test-pod perl-test-command"
+install=""
+subpackages="$pkgname-doc"
+source="http://finalrewind.org/projects/${_realname}/${_realname}-${pkgver}.tar.gz"
+
+_builddir="$srcdir"/$_realname-$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"
+ perl Build.PL installdirs=vendor destdir="${pkgdir}" \
+ --icli-object-file=/var/spool/icinga/objects.cache \
+ --icli-status-file=/var/spool/icinga/status.dat \
+ --icli-command-file=/var/spool/icinga/rw/icinga.cmd
+ ./Build
+}
+
+check() {
+ cd "$_builddir"
+ ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install
+ install -Dm644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/COPYING
+}
+md5sums="bc8a49aa80784553cd880ecafe059597 App-Icli-0.48.tar.gz"
+sha256sums="f5dfd9c67a1e458d4d895be05d36e61f00b03eb8315e0942dbf6069593afb3ce App-Icli-0.48.tar.gz"
+sha512sums="b3f5b9a626a3eea9406f63cbb7c06e6415d57ca9c3cb2ad5890e182a385842d819cd35b186e16ed5d78ce1eeba32bba4f0cfb3abff401f292aa64dfbb46686bf App-Icli-0.48.tar.gz"
diff --git a/unmaintained/id3lib/00-add-libz-to-compilation.patch b/unmaintained/id3lib/00-add-libz-to-compilation.patch
new file mode 100644
index 0000000000..e937877364
--- /dev/null
+++ b/unmaintained/id3lib/00-add-libz-to-compilation.patch
@@ -0,0 +1,14 @@
+This patch was first introduced in version 3.8.3-3
+
+It fixes http://bugs.debian.org/208672
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -74,6 +74,8 @@
+
+ if ID3_NEEDZLIB
+ LDADD = $(top_builddir)/zlib/src/libz.la
++else
++libid3_la_LIBADD = -lz
+ endif
+
+ libid3_la_LDFLAGS = \
diff --git a/unmaintained/id3lib/05-create-m4-directory.patch b/unmaintained/id3lib/05-create-m4-directory.patch
new file mode 100644
index 0000000000..d8111205eb
--- /dev/null
+++ b/unmaintained/id3lib/05-create-m4-directory.patch
@@ -0,0 +1,12 @@
+Create a local m4 subdirectory
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -12,6 +12,8 @@
+ # require automake 1.5
+ AUTOMAKE_OPTIONS = 1.5
+
++ACLOCAL_AMFLAGS = -I m4
++
+ EXTRA_DIST = \
+ HISTORY \
+ config.h.win32 \
diff --git a/unmaintained/id3lib/10-fix-compilation-with-cpp-headers.patch b/unmaintained/id3lib/10-fix-compilation-with-cpp-headers.patch
new file mode 100644
index 0000000000..a9b45ab02c
--- /dev/null
+++ b/unmaintained/id3lib/10-fix-compilation-with-cpp-headers.patch
@@ -0,0 +1,22 @@
+This patch imports the proper C++ headers
+--- a/include/id3/id3lib_strings.h
++++ b/include/id3/id3lib_strings.h
+@@ -30,6 +30,7 @@
+ #define _ID3LIB_STRINGS_H_
+
+ #include <string>
++#include <cstring>
+
+ #if (defined(__GNUC__) && (__GNUC__ >= 3) || (defined(_MSC_VER) && _MSC_VER > 1000))
+ namespace std
+--- a/include/id3/writers.h
++++ b/include/id3/writers.h
+@@ -30,7 +30,7 @@
+
+ #include "id3/writer.h"
+ #include "id3/id3lib_streams.h"
+-//#include <string.h>
++#include <cstring>
+
+ class ID3_CPP_EXPORT ID3_OStreamWriter : public ID3_Writer
+ {
diff --git a/unmaintained/id3lib/15-fix-headers-of-main-functions.patch b/unmaintained/id3lib/15-fix-headers-of-main-functions.patch
new file mode 100644
index 0000000000..48e01d145f
--- /dev/null
+++ b/unmaintained/id3lib/15-fix-headers-of-main-functions.patch
@@ -0,0 +1,45 @@
+This patch fixes some function headers in demo code used during 'make check'
+--- a/examples/demo_info.cpp
++++ b/examples/demo_info.cpp
+@@ -309,7 +309,7 @@
+
+ #define DEBUG
+
+-int main( unsigned int argc, char * const argv[])
++int main(int argc, char * const argv[])
+ {
+ ID3D_INIT_DOUT();
+
+--- a/examples/demo_convert.cpp
++++ b/examples/demo_convert.cpp
+@@ -84,7 +84,7 @@
+ }
+ }
+
+-int main( unsigned int argc, char * const argv[])
++int main(int argc, char * const argv[])
+ {
+ flags_t ulFlag = ID3TT_ALL;
+ gengetopt_args_info args;
+--- a/examples/demo_copy.cpp
++++ b/examples/demo_copy.cpp
+@@ -81,7 +81,7 @@
+ }
+ }
+
+-int main( unsigned int argc, char * const argv[])
++int main(int argc, char * const argv[])
+ {
+ int ulFlag = ID3TT_ID3;
+ ID3D_INIT_DOUT();
+--- a/examples/demo_tag.cpp
++++ b/examples/demo_tag.cpp
+@@ -46,7 +46,7 @@
+ os << "v2";
+ }
+
+-int main( unsigned int argc, char * const argv[])
++int main(int argc, char * const argv[])
+ {
+ int ulFlag = ID3TT_ID3;
+ ID3D_INIT_DOUT();
diff --git a/unmaintained/id3lib/20-create-manpages.patch b/unmaintained/id3lib/20-create-manpages.patch
new file mode 100644
index 0000000000..cebf3d4d40
--- /dev/null
+++ b/unmaintained/id3lib/20-create-manpages.patch
@@ -0,0 +1,198 @@
+This patch adds debian-made man pages
+--- /dev/null
++++ b/doc/man/id3info.1
+@@ -0,0 +1,31 @@
++.TH ID3INFO 1 "May 2000" local "User Command"
++.SH NAME
++id3info \- Display id3 tag information.
++.SH SYNOPSIS
++.B id3info
++.RB [
++.I OPTION
++.RB ]
++.RB [
++.I FILE
++.RB ]
++.br
++.SH DESCRIPTION
++.B Id3info
++displays both the id3v1 and id3v2 tag information for a file.
++Id3info will not differentiate between the two types of tags.
++.SH OPTIONS
++.TP
++.B \-h, \-\-help
++Display help and exit
++.TP
++.B \-v, \-\-version
++Display version information and exit
++.SH SEE ALSO
++id3convert(1), id3tag(1), id3v2(1)
++.SH AUTHOR
++.B id3lib
++was originally designed and implemented by Dirk Mahoney and is
++maintained by Scott Thomas Haug <sth2@cs.wustl.edu>. Manual page written for
++Debian GNU/Linux by Robert Woodcock <rcw@debian.org>.
++
+--- /dev/null
++++ b/doc/man/id3tag.1
+@@ -0,0 +1,69 @@
++.TH ID3TAG 1 "May 2000" local "User Command"
++.SH NAME
++id3tag \- Tags an mp3 file with id3v1 and/or id3v2 tags.
++.SH SYNOPSIS
++.B id3tag
++.RB [
++.I OPTION
++.RB ] ...
++.RB [
++.I FILE
++.RB ] ...
++.br
++.SH DESCRIPTION
++.B Id3tag
++will render both types of tag by default. Only the last
++tag type indicated in the option list will be used. Non-
++rendered will remain unchanged in the original file. Will
++also parse and convert Lyrics3 v2.0 frames, but will not
++render them.
++
++.SH OPTIONS
++.TP
++.B \-1, \-\-v1tag
++Render only the id3v1 tag
++.TP
++.B \-2, \-\-v2tag
++Render only the id3v2 tag
++.TP
++.B \-h, \-\-help
++Display help and exit
++.TP
++.B \-v, \-\-version
++Display version information and exit
++.TP
++.B \-a, \-\-artist ARTIST
++Set the artist information
++.TP
++.B \-s, \-\-song SONG
++Set the song title information
++.TP
++.B \-A, \-\-album ALBUM
++Set the album title information
++.TP
++.B \-c, \-\-comment COMMENT
++Set the comment information
++.TP
++.B \-C, \-\-desc DESCRIPTION
++Set the comment description
++.TP
++.B \-g, \-\-genre num
++Set the genre number
++.TP
++.B \-y, \-\-year num
++Set the year
++.TP
++.B \-t, \-\-track num
++Set the track number
++.TP
++.B \-T, \-\-total num
++Set the total number of tracks on the album
++
++.SH SEE ALSO
++id3convert(1), id3info(1), id3v2(1)
++.SH AUTHOR
++.B id3lib
++was originally designed and implemented by Dirk Mahoney and is
++maintained by Scott Thomas Haug <sth2@cs.wustl.edu>. Manual page written for
++Debian GNU/Linux by Robert Woodcock <rcw@debian.org>.
++
+--- /dev/null
++++ b/doc/man/id3convert.1
+@@ -0,0 +1,47 @@
++.TH ID3CONVERT 1 "May 2000" local "User Command"
++.SH NAME
++id3convert \- Converts between id3v1 and id3v2 tags of an mp3 file.
++.SH SYNOPSIS
++.B id3convert
++.RB [
++.I OPTION
++.RB ]
++.RB [
++.I FILE
++.RB ]
++.br
++.SH DESCRIPTION
++.B Id3convert
++converts between id3v1 and id3v2 tags of an mp3 file. Id3convert will render
++both types of tag by default. Only the last tag type indicated in the option
++list will be used. Non-rendered tags will remain unchanged in the original
++file. Id3convert will also parse and convert Lyrics3 v2.0 frames, but will
++not render them.
++
++.SH OPTIONS
++.TP
++.B \-1, \-\-v1tag
++Render only the id3v1 tag
++.TP
++.B \-2, \-\-v2tag
++Render only the id3v2 tag
++.TP
++.B \-s, \-\-strip
++Strip, rather than render, the tags
++.TP
++.B \-p, \-\-padding
++Use padding in the tag
++.TP
++.B \-h, \-\-help
++Display help and exit
++.TP
++.B \-v, \-\-version
++Display version information and exit
++
++.SH SEE ALSO
++id3tag(1), id3info(1), id3v2(1)
++.SH AUTHOR
++.B id3lib
++was originally designed and implemented by Dirk Mahoney and is
++maintained by Scott Thomas Haug <sth2@cs.wustl.edu>. Manual page written for
++Debian GNU/Linux by Robert Woodcock <rcw@debian.org>.
+--- /dev/null
++++ b/doc/man/id3cp.1
+@@ -0,0 +1,38 @@
++.TH ID3CP 1 "July 2001" local "User Command"
++.SH NAME
++id3cp \- Copies tags from one file to another.
++.SH SYNOPSIS
++.B id3cp
++.RB [
++.I OPTION
++.RB ] ...
++.RB [
++.I SOURCE
++.RB ]
++.RB [
++.I DEST
++.RB ]
++.br
++.SH DESCRIPTION
++.B Id3cp
++copies tags from SOURCE to DEST.
++.SH OPTIONS
++.TP
++.B \-1, \-\-v1tag
++Render only the id3v1 tag
++.TP
++.B \-2, \-\-v2tag
++Render only the id3v2 tag
++.TP
++.B \-h, \-\-help
++Display help and exit
++.TP
++.B \-v, \-\-version
++Display version information and exit
++.SH SEE ALSO
++id3convert(1), id3info(1), id3v2(1)
++.SH AUTHOR
++.B id3lib
++was originally designed and implemented by Dirk Mahoney and is
++maintained by Scott Thomas Haug <sth2@cs.wustl.edu>. Manual page written for
++Debian GNU/Linux by Robert Woodcock <rcw@debian.org>.
diff --git a/unmaintained/id3lib/30-fix-utf16.patch b/unmaintained/id3lib/30-fix-utf16.patch
new file mode 100644
index 0000000000..3d3f50fed6
--- /dev/null
+++ b/unmaintained/id3lib/30-fix-utf16.patch
@@ -0,0 +1,38 @@
+Patch from 'Spoon' to fix issues with writing certain unicode characters
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,8 @@
++2006-02-17 Jerome Couderc
++
++ * Patch from Spoon to fix UTF-16 writing bug
++ http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979
++
+ 2003-03-02 Sunday 17:38 Thijmen Klok <thijmen@id3lib.org>
+
+ * THANKS (1.20): added more people
+--- a/src/io_helpers.cpp
++++ b/src/io_helpers.cpp
+@@ -363,11 +363,22 @@
+ // Write the BOM: 0xFEFF
+ unicode_t BOM = 0xFEFF;
+ writer.writeChars((const unsigned char*) &BOM, 2);
++ // Patch from Spoon : 2004-08-25 14:17
++ // http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979
++ // Wrong code
++ //for (size_t i = 0; i < size; i += 2)
++ //{
++ // unicode_t ch = (data[i] << 8) | data[i+1];
++ // writer.writeChars((const unsigned char*) &ch, 2);
++ //}
++ // Right code
++ unsigned char *pdata = (unsigned char *) data.c_str();
+ for (size_t i = 0; i < size; i += 2)
+ {
+- unicode_t ch = (data[i] << 8) | data[i+1];
++ unicode_t ch = (pdata[i] << 8) | pdata[i+1];
+ writer.writeChars((const unsigned char*) &ch, 2);
+ }
++ // End patch
+ }
+ return writer.getCur() - beg;
+ }
diff --git a/unmaintained/id3lib/40-deal-with-mkstemp.patch b/unmaintained/id3lib/40-deal-with-mkstemp.patch
new file mode 100644
index 0000000000..36c84179fc
--- /dev/null
+++ b/unmaintained/id3lib/40-deal-with-mkstemp.patch
@@ -0,0 +1,54 @@
+This patch fixes an issues where temporary files were created in an insecure
+way.
+
+It was first intruduced in version 3.8.3-7 and fixes
+http://bugs.debian.org/438540
+--- a/src/tag_file.cpp
++++ b/src/tag_file.cpp
+@@ -242,8 +242,8 @@
+ strcpy(sTempFile, filename.c_str());
+ strcat(sTempFile, sTmpSuffix.c_str());
+
+-#if ((defined(__GNUC__) && __GNUC__ >= 3 ) || !defined(HAVE_MKSTEMP))
+- // This section is for Windows folk && gcc 3.x folk
++#if !defined(HAVE_MKSTEMP)
++ // This section is for Windows folk
+ fstream tmpOut;
+ createFile(sTempFile, tmpOut);
+
+@@ -257,7 +257,7 @@
+ tmpOut.write((char *)tmpBuffer, nBytes);
+ }
+
+-#else //((defined(__GNUC__) && __GNUC__ >= 3 ) || !defined(HAVE_MKSTEMP))
++#else //!defined(HAVE_MKSTEMP)
+
+ // else we gotta make a temp file, copy the tag into it, copy the
+ // rest of the old file after the tag, delete the old file, rename
+@@ -270,7 +270,7 @@
+ //ID3_THROW_DESC(ID3E_NoFile, "couldn't open temp file");
+ }
+
+- ofstream tmpOut(fd);
++ ofstream tmpOut(sTempFile);
+ if (!tmpOut)
+ {
+ tmpOut.close();
+@@ -285,14 +285,14 @@
+ uchar tmpBuffer[BUFSIZ];
+ while (file)
+ {
+- file.read(tmpBuffer, BUFSIZ);
++ file.read((char *)tmpBuffer, BUFSIZ);
+ size_t nBytes = file.gcount();
+- tmpOut.write(tmpBuffer, nBytes);
++ tmpOut.write((char *)tmpBuffer, nBytes);
+ }
+
+ close(fd); //closes the file
+
+-#endif ////((defined(__GNUC__) && __GNUC__ >= 3 ) || !defined(HAVE_MKSTEMP))
++#endif ////!defined(HAVE_MKSTEMP)
+
+ tmpOut.close();
+ file.close();
diff --git a/unmaintained/id3lib/50-remove-outdated-check.patch b/unmaintained/id3lib/50-remove-outdated-check.patch
new file mode 100644
index 0000000000..386da2771b
--- /dev/null
+++ b/unmaintained/id3lib/50-remove-outdated-check.patch
@@ -0,0 +1,11 @@
+We don't actually need iomanip.h
+--- a/configure.in
++++ b/configure.in
+@@ -227,7 +227,6 @@
+ )
+ AC_CHECK_HEADERS( \
+ string \
+- iomanip.h \
+ ,,AC_MSG_ERROR([Missing a vital header file for id3lib])
+ )
+
diff --git a/unmaintained/id3lib/60-add-c-wrapper-functions.patch b/unmaintained/id3lib/60-add-c-wrapper-functions.patch
new file mode 100644
index 0000000000..d72e81c0ec
--- /dev/null
+++ b/unmaintained/id3lib/60-add-c-wrapper-functions.patch
@@ -0,0 +1,58 @@
+This patch adds C wrapper functions for field encoding.
+
+It was first introduced in version 3.8.3-8 and fixes
+http://bugs.debian.org/281292
+--- a/include/id3.h
++++ b/include/id3.h
+@@ -104,6 +104,9 @@
+ ID3_C_EXPORT void CCONV ID3Field_GetBINARY (const ID3Field *field, uchar *buffer, size_t buffLength);
+ ID3_C_EXPORT void CCONV ID3Field_FromFile (ID3Field *field, const char *fileName);
+ ID3_C_EXPORT void CCONV ID3Field_ToFile (const ID3Field *field, const char *fileName);
++ ID3_C_EXPORT bool CCONV ID3Field_SetEncoding (ID3Field *field, ID3_TextEnc enc);
++ ID3_C_EXPORT ID3_TextEnc CCONV ID3Field_GetEncoding (const ID3Field *field);
++ ID3_C_EXPORT bool CCONV ID3Field_IsEncodable (const ID3Field *field);
+
+ /* field-info wrappers */
+ ID3_C_EXPORT char* CCONV ID3FrameInfo_ShortName (ID3_FrameID frameid);
+--- a/src/c_wrapper.cpp
++++ b/src/c_wrapper.cpp
+@@ -681,6 +681,39 @@
+ }
+ }
+
++ ID3_C_EXPORT bool CCONV
++ ID3Field_SetEncoding(ID3Field *field, ID3_TextEnc enc)
++ {
++ bool changed = false;
++ if (field)
++ {
++ ID3_CATCH(changed = reinterpret_cast<ID3_Field *>(field)->SetEncoding(enc));
++ }
++ return changed;
++ }
++
++ ID3_C_EXPORT ID3_TextEnc CCONV
++ ID3Field_GetEncoding(const ID3Field *field)
++ {
++ ID3_TextEnc enc = ID3TE_NONE;
++ if (field)
++ {
++ ID3_CATCH(enc = reinterpret_cast<const ID3_Field *>(field)->GetEncoding());
++ }
++ return enc;
++ }
++
++ ID3_C_EXPORT bool CCONV
++ ID3Field_IsEncodable(const ID3Field *field)
++ {
++ bool isEncodable = false;
++ if (field)
++ {
++ ID3_CATCH(isEncodable = reinterpret_cast<const ID3_Field *>(field)->IsEncodable());
++ }
++ return isEncodable;
++ }
++
+ #ifdef __cplusplus
+ }
+ #endif /* __cplusplus */
diff --git a/unmaintained/id3lib/60-fix_make_check.patch b/unmaintained/id3lib/60-fix_make_check.patch
new file mode 100644
index 0000000000..e2bb1b0518
--- /dev/null
+++ b/unmaintained/id3lib/60-fix_make_check.patch
@@ -0,0 +1,50 @@
+This patch fixes some function headers and imports in order for 'make check'
+to work.
+
+It was first introduced in version 3.8.3-9
+diff -Naur id3lib-3.8.3.orig/examples/findeng.cpp id3lib-3.8.3/examples/findeng.cpp
+--- id3lib-3.8.3.orig/examples/findeng.cpp 2003-03-02 01:23:00.000000000 +0100
++++ id3lib-3.8.3/examples/findeng.cpp 2009-12-10 00:58:12.173795997 +0100
+@@ -9,7 +9,7 @@
+ using std::cout;
+ using std::endl;
+
+-int main(unsigned argc, char* argv[])
++int main(int argc, char* argv[])
+ {
+ ID3D_INIT_DOUT();
+ ID3D_INIT_WARNING();
+diff -Naur id3lib-3.8.3.orig/examples/findstr.cpp id3lib-3.8.3/examples/findstr.cpp
+--- id3lib-3.8.3.orig/examples/findstr.cpp 2003-03-02 01:23:00.000000000 +0100
++++ id3lib-3.8.3/examples/findstr.cpp 2009-12-10 00:57:48.036819825 +0100
+@@ -9,7 +9,7 @@
+ using std::cout;
+ using std::endl;
+
+-int main(unsigned argc, char* argv[])
++int main(int argc, char* argv[])
+ {
+ ID3D_INIT_DOUT();
+ ID3D_INIT_WARNING();
+diff -Naur id3lib-3.8.3.orig/examples/test_io.cpp id3lib-3.8.3/examples/test_io.cpp
+--- id3lib-3.8.3.orig/examples/test_io.cpp 2003-03-02 01:23:00.000000000 +0100
++++ id3lib-3.8.3/examples/test_io.cpp 2009-12-10 00:57:03.612111640 +0100
+@@ -11,6 +11,9 @@
+ #include <id3/io_strings.h>
+ #include <id3/utils.h>
+
++using std::cin;
++using std::hex;
++using std::dec;
+ using std::cout;
+ using std::endl;
+ using std::cerr;
+@@ -18,7 +21,7 @@
+ using namespace dami;
+
+ int
+-main(size_t argc, const char** argv)
++main(int argc, const char** argv)
+ {
+ ID3D_INIT_DOUT();
+ ID3D_INIT_WARNING();
diff --git a/unmaintained/id3lib/60-id3lib-missing-nullpointer-check.patch b/unmaintained/id3lib/60-id3lib-missing-nullpointer-check.patch
new file mode 100644
index 0000000000..d4ca5d292f
--- /dev/null
+++ b/unmaintained/id3lib/60-id3lib-missing-nullpointer-check.patch
@@ -0,0 +1,12 @@
+This patch adds a check for a null pointer
+--- a/src/header_tag.cpp
++++ b/src/header_tag.cpp
+@@ -54,7 +54,7 @@
+ {
+ size_t bytesUsed = ID3_TagHeader::SIZE;
+
+- if (_info->is_extended)
++ if (_info && _info->is_extended)
+ {
+ bytesUsed += _info->extended_bytes;
+ }
diff --git a/unmaintained/id3lib/60-spelling.patch b/unmaintained/id3lib/60-spelling.patch
new file mode 100644
index 0000000000..7547aa3d54
--- /dev/null
+++ b/unmaintained/id3lib/60-spelling.patch
@@ -0,0 +1,107 @@
+This patch fixes some minor spelling mistakes
+diff -Naur id3lib-3.8.3.orig//ChangeLog id3lib-3.8.3//ChangeLog
+--- id3lib-3.8.3.orig//ChangeLog 2010-06-08 05:21:47.817061336 +0200
++++ id3lib-3.8.3//ChangeLog 2010-06-08 05:21:05.320811354 +0200
+@@ -2266,7 +2266,7 @@
+ * examples/demo_info.cpp (1.19):
+ (PrintInformation): When printing synced lyrics info, now uses a
+ MemoryReader, BinaryNumberReader, and TextReader to extract the
+- infromation from the binary field. This is a cheat, since these
++ information from the binary field. This is a cheat, since these
+ classes aren't normally exposed to folks using the library.
+ Hopefully they will be exposed soon enough for the next major
+ release.
+diff -Naur id3lib-3.8.3.orig//doc/id3v2.3.0.html id3lib-3.8.3//doc/id3v2.3.0.html
+--- id3lib-3.8.3.orig//doc/id3v2.3.0.html 2010-06-08 05:21:47.859810543 +0200
++++ id3lib-3.8.3//doc/id3v2.3.0.html 2010-06-08 05:21:05.373811128 +0200
+@@ -2157,7 +2157,7 @@
+ 64.Native American
+ 65.Cabaret
+ 66.New Wave
+- 67.Psychadelic
++ 67.Psychedelic
+ 68.Rave
+ 69.Showtunes
+ 70.Trailer
+@@ -2254,4 +2254,4 @@
+ Email: <a href="mailto:johan@id3.org">johan@id3.org</a>
+ </p>
+
+-</body></html>
+\ No newline at end of file
++</body></html>
+diff -Naur id3lib-3.8.3.orig//doc/id3v2.3.0.txt id3lib-3.8.3//doc/id3v2.3.0.txt
+--- id3lib-3.8.3.orig//doc/id3v2.3.0.txt 2010-06-08 05:21:47.860810639 +0200
++++ id3lib-3.8.3//doc/id3v2.3.0.txt 2010-06-08 05:21:05.374811307 +0200
+@@ -1929,7 +1929,7 @@
+ 64.Native American
+ 65.Cabaret
+ 66.New Wave
+- 67.Psychadelic
++ 67.Psychedelic
+ 68.Rave
+ 69.Showtunes
+ 70.Trailer
+diff -Naur id3lib-3.8.3.orig//id3com/id3com.idl id3lib-3.8.3//id3com/id3com.idl
+--- id3lib-3.8.3.orig//id3com/id3com.idl 2010-06-08 05:21:47.818060988 +0200
++++ id3lib-3.8.3//id3com/id3com.idl 2010-06-08 05:21:05.355061546 +0200
+@@ -179,7 +179,7 @@
+ /* USER */ ID3_TERMSOFUSE, /**< Terms of use */
+ /* USLT */ ID3_UNSYNCEDLYRICS, /**< Unsynchronized lyric/text transcription */
+ /* WCOM */ ID3_WWWCOMMERCIALINFO, /**< Commercial information */
+- /* WCOP */ ID3_WWWCOPYRIGHT, /**< Copyright/Legal infromation */
++ /* WCOP */ ID3_WWWCOPYRIGHT, /**< Copyright/Legal information */
+ /* WOAF */ ID3_WWWAUDIOFILE, /**< Official audio file webpage */
+ /* WOAR */ ID3_WWWARTIST, /**< Official artist/performer webpage */
+ /* WOAS */ ID3_WWWAUDIOSOURCE, /**< Official audio source webpage */
+diff -Naur id3lib-3.8.3.orig//include/id3/globals.h id3lib-3.8.3//include/id3/globals.h
+--- id3lib-3.8.3.orig//include/id3/globals.h 2010-06-08 05:21:47.818060988 +0200
++++ id3lib-3.8.3//include/id3/globals.h 2010-06-08 05:22:27.395811102 +0200
+@@ -313,7 +313,7 @@
+ /* USER */ ID3FID_TERMSOFUSE, /**< Terms of use */
+ /* USLT */ ID3FID_UNSYNCEDLYRICS, /**< Unsynchronized lyric/text transcription */
+ /* WCOM */ ID3FID_WWWCOMMERCIALINFO, /**< Commercial information */
+- /* WCOP */ ID3FID_WWWCOPYRIGHT, /**< Copyright/Legal infromation */
++ /* WCOP */ ID3FID_WWWCOPYRIGHT, /**< Copyright/Legal information */
+ /* WOAF */ ID3FID_WWWAUDIOFILE, /**< Official audio file webpage */
+ /* WOAR */ ID3FID_WWWARTIST, /**< Official artist/performer webpage */
+ /* WOAS */ ID3FID_WWWAUDIOSOURCE, /**< Official audio source webpage */
+@@ -608,7 +608,7 @@
+ "Native American", //64
+ "Cabaret", //65
+ "New Wave", //66
+- "Psychadelic", //67
++ "Psychedelic", //67
+ "Rave", //68
+ "Showtunes", //69
+ "Trailer", //70
+@@ -686,7 +686,7 @@
+ "Christian Rock ", //141
+ "Merengue", //142
+ "Salsa", //143
+- "Trash Metal", //144
++ "Thrash Metal", //144
+ "Anime", //145
+ "JPop", //146
+ "Synthpop" //147
+diff -Naur id3lib-3.8.3.orig//src/field.cpp id3lib-3.8.3//src/field.cpp
+--- id3lib-3.8.3.orig//src/field.cpp 2010-06-08 05:21:47.818060988 +0200
++++ id3lib-3.8.3//src/field.cpp 2010-06-08 05:21:05.373811128 +0200
+@@ -719,7 +719,7 @@
+ // USER ID3FID_TERMSOFUSE Terms of use
+ // USLT ULT ID3FID_UNSYNCEDLYRICS Unsynchronized lyric/text transcription
+ // WCOM WCM ID3FID_WWWCOMMERCIALINFO Commercial information
+-// WCOP WCM ID3FID_WWWCOPYRIGHT Copyright/Legal infromation
++// WCOP WCM ID3FID_WWWCOPYRIGHT Copyright/Legal information
+ // WOAF WCP ID3FID_WWWAUDIOFILE Official audio file webpage
+ // WOAR WAF ID3FID_WWWARTIST Official artist/performer webpage
+ // WOAS WAR ID3FID_WWWAUDIOSOURCE Official audio source webpage
+@@ -813,7 +813,7 @@
+ {ID3FID_TERMSOFUSE, "" , "USER", false, false, ID3FD_TermsOfUse, "Terms of use"},
+ {ID3FID_UNSYNCEDLYRICS, "ULT", "USLT", false, false, ID3FD_GeneralText, "Unsynchronized lyric/text transcription"},
+ {ID3FID_WWWCOMMERCIALINFO, "WCM", "WCOM", false, false, ID3FD_URL, "Commercial information"},
+- {ID3FID_WWWCOPYRIGHT, "WCP", "WCOP", false, false, ID3FD_URL, "Copyright/Legal infromation"},
++ {ID3FID_WWWCOPYRIGHT, "WCP", "WCOP", false, false, ID3FD_URL, "Copyright/Legal information"},
+ {ID3FID_WWWAUDIOFILE, "WAF", "WOAF", false, false, ID3FD_URL, "Official audio file webpage"},
+ {ID3FID_WWWARTIST, "WAR", "WOAR", false, false, ID3FD_URL, "Official artist/performer webpage"},
+ {ID3FID_WWWAUDIOSOURCE, "WAS", "WOAS", false, false, ID3FD_URL, "Official audio source webpage"},
diff --git a/unmaintained/id3lib/61-fix_vbr_stack_smash.patch b/unmaintained/id3lib/61-fix_vbr_stack_smash.patch
new file mode 100644
index 0000000000..9bf33e9787
--- /dev/null
+++ b/unmaintained/id3lib/61-fix_vbr_stack_smash.patch
@@ -0,0 +1,19 @@
+Description: Fix crashes when reading VBR MP3 file.
+Bug-Ubuntu: https://launchpad.net/bugs/444466
+Origin: upstream, http://sourceforge.net/tracker/?func=detail&aid=937707&group_id=979&atid=300979
+Forwarded: yes
+Author: Urs Fleisch
+
+Index: id3lib3.8.3-3.8.3/src/mp3_parse.cpp
+===================================================================
+--- id3lib3.8.3-3.8.3.orig/src/mp3_parse.cpp 2009-10-06 23:12:10.381250132 +0200
++++ id3lib3.8.3-3.8.3/src/mp3_parse.cpp 2009-10-06 23:14:09.545252591 +0200
+@@ -465,7 +465,7 @@
+ // from http://www.xingtech.com/developer/mp3/
+
+ const size_t VBR_HEADER_MIN_SIZE = 8; // "xing" + flags are fixed
+- const size_t VBR_HEADER_MAX_SIZE = 116; // frames, bytes, toc and scale are optional
++ const size_t VBR_HEADER_MAX_SIZE = 120; // frames, bytes, toc and scale are optional
+
+ if (mp3size >= vbr_header_offest + VBR_HEADER_MIN_SIZE)
+ {
diff --git a/unmaintained/id3lib/APKBUILD b/unmaintained/id3lib/APKBUILD
new file mode 100644
index 0000000000..9831d42311
--- /dev/null
+++ b/unmaintained/id3lib/APKBUILD
@@ -0,0 +1,108 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=id3lib
+pkgver=3.8.3
+pkgrel=0
+pkgdesc="Library for reading, writing, and manipulating ID3v1 and ID3v2 tags"
+url="http://id3lib.sourceforge.net/"
+arch="all"
+license="LGPL"
+depends=""
+depends_dev="zlib-dev"
+makedepends="$depends_dev libtool automake autoconf"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://downloads.sourceforge.net/sourceforge/id3lib/id3lib-$pkgver.tar.gz
+ 00-add-libz-to-compilation.patch
+ 15-fix-headers-of-main-functions.patch
+ 40-deal-with-mkstemp.patch
+ 60-fix_make_check.patch
+ 61-fix_vbr_stack_smash.patch
+ 05-create-m4-directory.patch
+ 20-create-manpages.patch
+ 50-remove-outdated-check.patch
+ 60-id3lib-missing-nullpointer-check.patch
+ 10-fix-compilation-with-cpp-headers.patch
+ 30-fix-utf16.patch
+ 60-add-c-wrapper-functions.patch
+ 60-spelling.patch"
+
+_builddir="$srcdir"/id3lib-$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"
+ libtoolize -fc || return 1
+ aclocal || return 1
+ autoconf || return 1
+ automake --add-missing --copy || return 1
+ update_config_sub || return 1
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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
+ install -d "${pkgdir}"/usr/share/man/man1 || return 1
+ cp doc/man/* "${pkgdir}"/usr/share/man/man1 || return 1
+}
+
+md5sums="19f27ddd2dda4b2d26a559a4f0f402a7 id3lib-3.8.3.tar.gz
+9428ef38283d13adb6e349089537a63f 00-add-libz-to-compilation.patch
+b3de841cd2eda0d37c8c8330119e12d4 15-fix-headers-of-main-functions.patch
+d2d06d46df3867d73746f584d1e6fcc5 40-deal-with-mkstemp.patch
+5c4b53a3d5543c5c50b23d6d5b9f230b 60-fix_make_check.patch
+0973e285cdc420130b984a259cdd8ae0 61-fix_vbr_stack_smash.patch
+5a78e0fe586fba334eae2a29e4bf5a28 05-create-m4-directory.patch
+0c7c939943bdfcc3a0f6be95fe9b2367 20-create-manpages.patch
+d3a61d07a2bfa83f4ac6290794789022 50-remove-outdated-check.patch
+964fa0db0da7b1495b34b81bd36539fd 60-id3lib-missing-nullpointer-check.patch
+88f21f1bf4f697be8030706bbec11705 10-fix-compilation-with-cpp-headers.patch
+74ba59c03f91fedbe4dd8045b29c7e15 30-fix-utf16.patch
+93ef4b26ad08027e28d3f80ad6e492b4 60-add-c-wrapper-functions.patch
+26c74a90267892bbaca1e162919121d0 60-spelling.patch"
+sha256sums="2749cc3c0cd7280b299518b1ddf5a5bcfe2d1100614519b68702230e26c7d079 id3lib-3.8.3.tar.gz
+e884395cf0bd7b44a550fc8785d79c0992d749be1edc45b00d289cbbd179c6d5 00-add-libz-to-compilation.patch
+042deb7c2df1afa0851622b6086e8eb4b007cc6cfcd70210852d5c25e39b08b1 15-fix-headers-of-main-functions.patch
+d7999cdb425ba8013dd11da7fb570e875d368e5b1236c2b094abee8446f04218 40-deal-with-mkstemp.patch
+88aded7423f266d2fedb0eef9dbb272b53cc776ae98bd71dd5afb30b6ac48515 60-fix_make_check.patch
+5a24d460c9dd1e643ac57b817ea9cec87f44c1d49381065f83879b2eea36adf7 61-fix_vbr_stack_smash.patch
+c41ec6889b775119f71c25fa09bb5110bcf550a14e6aac80597479df453de5fb 05-create-m4-directory.patch
+97442e14a5147df36f35d6a396e2b3fb6e155060ec672d91a68bd1a742234b4e 20-create-manpages.patch
+f908af7715fb164081d191c766b040cefa0a94f1414e98f60bc38b3e0b1aa309 50-remove-outdated-check.patch
+85f20c4d3467f48df1bcaa4150bae55e95270cabb542589f167a914b2f553d04 60-id3lib-missing-nullpointer-check.patch
+5fb24595095596ff55d876fb3e5277000f04c4f7a3e07aff5c05e11639dc2165 10-fix-compilation-with-cpp-headers.patch
+a7cce4176df773677bfc6a527a0465d460fe60a269402af9bdfc9dd6104ea6a4 30-fix-utf16.patch
+1b06c5d2c36e6a1f2236c4603a934d8cd675414dcfd52b997cb584404c0bc77d 60-add-c-wrapper-functions.patch
+b31bfa7213325776f6784a684f082814d3affb050d36a7c41cf1b1df07228c5c 60-spelling.patch"
+sha512sums="3787e261f86933c1c2f2bff2c4b349b42f5d8636e489e4f39f9d75e6dfbdc79b87009a0f4ce4b786f2fb3dbc01ca9d56c4112095b46244f897e6c9a28573adaf id3lib-3.8.3.tar.gz
+54a476e207f7998db5bfe287fedd50dbc5fc41a746265f39136dddd1a62beedc088631de7deae7c4fdd4583de061f251ce4391733831cf988e0d14ca95de23a1 00-add-libz-to-compilation.patch
+05b74296368dfb50efce70d59114e2411add2c2a316133d6f83c5571b822bf650c32a720d2801d83538066604e7a67f394a73bff6c202051607b35a902fa2d21 15-fix-headers-of-main-functions.patch
+97b1686ca3b7feefe7c2cc5f90a31f42fb55fd7baf45b0abe07c6d879bdf752f21305a6a883241c18e20847c43175c3d2c911dce14aa5f382f46bf44c07759f1 40-deal-with-mkstemp.patch
+ec1333b83aca18c7d662b5f0c8d209f3f10da49194eebae66fce27c2d483bcb3528d9f39549eb1365e9dd4bd34f9fa2f86b528a17838537ba11c366aa57b38c7 60-fix_make_check.patch
+b4fe59876edf87ed06183e2557b72e1b40f1d09ebd707bf1695d522ee5ad8eb75b80f3011a861505929b4e28ae9ed4037bbb2eefc3d7e8de83ef5bc495df67c5 61-fix_vbr_stack_smash.patch
+46cd3b0635debc7b6445ad1bc81b14c7ee3edb0352c5f0cadceda6597c776f9d771e229ba87288a086fa2ba612dd9e089151851e033681ff31ea96190fc0f256 05-create-m4-directory.patch
+a986c8186d821baef372ef61ea4c3130bc8b2d5a30d4dafbe3afdcc02b37ef3c98d300a1b43ec9c9731edc92e94acce3e975a270209b2f4fbe125fe1f484133d 20-create-manpages.patch
+137732ceee8ec7fc8b686e46bd43276fba6bdcbdce166e85108e7c4b456523b4a29b11ff3101a37489e2386c92dfbe7f088f79c9c054f30515095f2b68c89f48 50-remove-outdated-check.patch
+ebb536a3bce83ee8752905766f93c7920d548e85262704d617b3e608a020bca0909f5c59525caa2bbc2f034e2d11fb3eb0842d2b167e00c3ef4551c9eb57adf9 60-id3lib-missing-nullpointer-check.patch
+3dffc437465c377fcc70eae27c126c9b717d22160597e01b470fb0e295eb31c4e13c27d46a5d91776793bc352f67ead7f72e041eda825dc510a3889f1cf93c36 10-fix-compilation-with-cpp-headers.patch
+811e1cc121a965fd0b6162a8937475e3d7dc2a477289707a28f6961ca2b9886b98508a954b12a36c27206202673ebd9ae6ec37d175c947e4e560ac112309ec6d 30-fix-utf16.patch
+404515ffe06e7d0cda8352e656fd7f55112c5edece752bcb3c1e0a9c525626f7e7d7b22cd4ef62f5da7cf43f62a2d00542dd6dd484fb0d7d7da0478ae95a373b 60-add-c-wrapper-functions.patch
+a69363faa763ba589ede68edcf35ba1bded9f0ef07eeb91b38e1a7937e6791059d3fb3881bed0d3ff252064c5eb4a95285138a4d70f59fe745760f3384ddb184 60-spelling.patch"
diff --git a/unmaintained/ideviceinstaller/APKBUILD b/unmaintained/ideviceinstaller/APKBUILD
new file mode 100644
index 0000000000..48a81cf32f
--- /dev/null
+++ b/unmaintained/ideviceinstaller/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=ideviceinstaller
+pkgver=1.1.0
+pkgrel=0
+pkgdesc="Manage Applications of an iPhone or iPod Touch"
+url="http://www.libimobiledevice.org/"
+arch="all"
+license="LGPL2.1"
+depends=""
+depends_dev=""
+makedepends="$depends_dev libimobiledevice-dev libzip-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://www.libimobiledevice.org/downloads/$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
+ sed -i -e 's:-Werror -g::' configure || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+md5sums="20bd74111c1e8bf7ce393f8f0919263c ideviceinstaller-1.1.0.tar.bz2"
+sha256sums="0821b8d3ca6153d9bf82ceba2706f7bd0e3f07b90a138d79c2448e42362e2f53 ideviceinstaller-1.1.0.tar.bz2"
+sha512sums="8bf5dc30b8fa2f0c171ec3705db8d8d143d2520b2875fc05d9d325bd4f1ffdf29230557e57f3e824654ab3bb71bbaf9019aa573d4b1cce29a9c75bf15024d623 ideviceinstaller-1.1.0.tar.bz2"
diff --git a/unmaintained/ifplugd/APKBUILD b/unmaintained/ifplugd/APKBUILD
new file mode 100644
index 0000000000..109da89bd6
--- /dev/null
+++ b/unmaintained/ifplugd/APKBUILD
@@ -0,0 +1,57 @@
+# Contributor: Pablo Castorino <pcastorino@mendoza-conicet.gob.ar>
+# Maintainer:
+pkgname=ifplugd
+pkgver=0.28
+pkgrel=4
+pkgdesc="Detect and take action when an ethernet cable is unplugged"
+url="http://0pointer.de/lennart/projects/ifplugd"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev="libdaemon-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://dev.alpinelinux.org/archive/ifplugd-$pkgver.tar.gz
+ $pkgname.initd
+ musl-type.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-lynx \
+ --mandir=/usr/share/man \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ install -m755 -D "$pkgdir"/etc/init.d/$pkgname "$pkgdir"/usr/sbin/$pkgname-helper
+ install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+}
+
+md5sums="df6f4bab52f46ffd6eb1f5912d4ccee3 ifplugd-0.28.tar.gz
+7d7d45d6cf8edcb46ff18bedf7cfb961 ifplugd.initd
+e96027299ece16ac8e48bf9244d75222 musl-type.patch"
+sha256sums="474754ac4ab32d738cbf2a4a3e87ee0a2c71b9048a38bdcd7df1e4f9fd6541f0 ifplugd-0.28.tar.gz
+f9c9e4872cedca9dc9d68fcba67359f802f1a0b89b85ed983d619b6e55e87372 ifplugd.initd
+29df5d6628ebc22e5ba76591d326e031bd040c8e42d116614aa68a7b0c7430d9 musl-type.patch"
+sha512sums="c606e456f81f224eba9f8912e11fb76b759c160313d1db3c9035775b8c1ca57ca10c88dfb33318ba02f5c025218a377ca78ee160fc3d9a31ac6e95b92f340d4f ifplugd-0.28.tar.gz
+ea0393d2dd0c047d9164881b1fdd4ab4e3581e8758e167a8ae22b2c4b5f361a05dbd126d4c0238204e87322127ebfe70a24b0c9773c3372257180e6cc29a7b1d ifplugd.initd
+bd221a2074c3f4310501d51659dddf9a84ca3d93457abdd176ca7c843ee05909f831d5808832945d6d0442b0246a1e1573fdbbc6e6fd40cae5d2460d41587d32 musl-type.patch"
diff --git a/unmaintained/ifplugd/ifplugd.initd b/unmaintained/ifplugd/ifplugd.initd
new file mode 100644
index 0000000000..c5b8ec53d2
--- /dev/null
+++ b/unmaintained/ifplugd/ifplugd.initd
@@ -0,0 +1,32 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Header: /var/cvsroot/gentoo-x86/net-misc/quagga/files/ifplugd.init,v 1.2 2007/02/25 09:57:18 mrness Exp $
+
+depend() {
+ need net
+ after firewall opennhrp
+}
+
+checkconfig() {
+ if [ ! -e /etc/ifplugd/ifplugd.conf ] ; then
+ eerror "You need to create /etc/ifplugd/ifplugd.conf first."
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting ifplugd"
+ sh /usr/sbin/ifplugd-helper start
+ result=$?
+ eend $result
+}
+
+stop() {
+ ebegin "Stopping ifplugd"
+ sh /usr/sbin/ifplugd-helper stop
+ result=$?
+ eend $result
+}
diff --git a/unmaintained/ifplugd/musl-type.patch b/unmaintained/ifplugd/musl-type.patch
new file mode 100644
index 0000000000..fa8a232cec
--- /dev/null
+++ b/unmaintained/ifplugd/musl-type.patch
@@ -0,0 +1,15 @@
+--- a/src/ethtool-local.h.orig
++++ b/src/ethtool-local.h
+@@ -22,9 +22,9 @@
+ */
+
+ typedef unsigned long long u64;
+-typedef __uint32_t u32;
+-typedef __uint16_t u16;
+-typedef __uint8_t u8;
++typedef uint32_t u32;
++typedef uint16_t u16;
++typedef uint8_t u8;
+
+ #include "ethtool-kernel.h"
+
diff --git a/unmaintained/ifuse/APKBUILD b/unmaintained/ifuse/APKBUILD
new file mode 100644
index 0000000000..de43d98eb0
--- /dev/null
+++ b/unmaintained/ifuse/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=ifuse
+pkgver=1.1.3
+pkgrel=0
+pkgdesc="A fuse filesystem to access the contents of an iPhone or iPod Touch"
+url="http://libimobiledevice.org"
+arch="all"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev libimobiledevice-dev gnutls-dev libusb-dev fuse-dev
+ glib-dev libxml2-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://www.libimobiledevice.org/downloads/$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
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="${pkgdir}" install
+}
+
+md5sums="83478c7b531b26db286c293bb25bd917 ifuse-1.1.3.tar.bz2"
+sha256sums="a788de66fb7720c84a5a775df415f78bbfb7c467a76c732d23292c6986252add ifuse-1.1.3.tar.bz2"
+sha512sums="bacf0b00ebc7681022f6e85daa005ee19c99f3222e5db5c4ea6630c2c46111dd3ccd7efcfdbcfabf06cc18ceb58b054c1adb2d106d9b3b7d60a12f3b79c64a3c ifuse-1.1.3.tar.bz2"
diff --git a/unmaintained/ii/APKBUILD b/unmaintained/ii/APKBUILD
new file mode 100644
index 0000000000..54405269a7
--- /dev/null
+++ b/unmaintained/ii/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Sam Dodrill <shadow.h511@gmail.com>
+# Maintainer: Sam Dodrill <shadow.h511@gmail.com>
+pkgname=ii
+pkgver=1.7
+pkgrel=1
+pkgdesc="A minimalist FIFO-based IRC client"
+url="http://tools.suckless.org/ii/"
+arch="all"
+license="MIT"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://dl.suckless.org/tools/$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"
+ make PREFIX=/usr || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make PREFIX=/usr DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="6191008ca09770873d84f40270493d0e ii-1.7.tar.gz"
+sha256sums="3a72ac6606d5560b625c062c71f135820e2214fed098e6d624fc40632dc7cc9c ii-1.7.tar.gz"
+sha512sums="1fa744bc9b4291b5c6c56e023d982aad59001137db6c7682284a2d63e649a32d558adbb85ae3407e312ae5436852b4278c2c522d4ef03f47cf54ea3a1f13ca90 ii-1.7.tar.gz"
diff --git a/unmaintained/iksemel/APKBUILD b/unmaintained/iksemel/APKBUILD
new file mode 100644
index 0000000000..b24e91ddf5
--- /dev/null
+++ b/unmaintained/iksemel/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+pkgname=iksemel
+pkgver=1.4
+pkgrel=0
+pkgdesc="eXtensible Markup Language parser library designed for Jabber applications"
+url="https://github.com/meduketto/iksemel"
+arch="all"
+license="LGPL2.1"
+depends=
+depends_dev=""
+makedepends="$depends_dev openssl-dev"
+install=""
+subpackages="$pkgname-libs $pkgname-doc $pkgname-dev"
+source="https://$pkgname.googlecode.com/files/$pkgname-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="532e77181694f87ad5eb59435d11c1ca iksemel-1.4.tar.gz"
+sha256sums="458c1b8fb3349076a6cecf26c29db1d561315d84e16bfcfba419f327f502e244 iksemel-1.4.tar.gz"
+sha512sums="902e326647b63a5e58b1c396a401bdd136ad01ecabca81b543c0ed76ebd8d2110377015fec1be09551b92651ee093e480fa37aa2186f7791147f29e0933852cc iksemel-1.4.tar.gz"
diff --git a/unmaintained/ilmbase/APKBUILD b/unmaintained/ilmbase/APKBUILD
new file mode 100644
index 0000000000..566c575a88
--- /dev/null
+++ b/unmaintained/ilmbase/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Maintainer:
+pkgname=ilmbase
+pkgver=2.2.0
+pkgrel=1
+pkgdesc="Base libraries from ILM for OpenEXR"
+url="http://www.openexr.com"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="bash linux-headers"
+install=""
+subpackages="$pkgname-dev $pkgname-libs"
+source="http://download.savannah.nongnu.org/releases/openexr/${pkgname}-${pkgver}.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ cd "$_builddir"
+ update_config_sub || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+}
+
+package() {
+ make DESTDIR="$pkgdir" \
+ -C "$_builddir" install || return 1
+}
+
+md5sums="b540db502c5fa42078249f43d18a4652 ilmbase-2.2.0.tar.gz"
+sha256sums="ecf815b60695555c1fbc73679e84c7c9902f4e8faa6e8000d2f905b8b86cedc7 ilmbase-2.2.0.tar.gz"
+sha512sums="0bbad14ed2bd286dff3987b16ef8631470211da54f822cb3e29b7931807216845ded81c9bf41fd2d22a8b362e8b9904a5450f61f5a242e460083e86b846513f1 ilmbase-2.2.0.tar.gz"
diff --git a/unmaintained/imapproxy/APKBUILD b/unmaintained/imapproxy/APKBUILD
new file mode 100644
index 0000000000..e7504ef4c9
--- /dev/null
+++ b/unmaintained/imapproxy/APKBUILD
@@ -0,0 +1,45 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=imapproxy
+pkgver=1.2.7
+pkgrel=1
+pkgdesc="A session pooling imap proxy"
+url="http://imapproxy.org"
+arch="all"
+license="GPL2+"
+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"
+sha256sums="dd8ad40e3e457bd76fc9f19ef1c0d89911e3e3cc722415d1183f765dcac1ae48 squirrelmail-imap_proxy-1.2.7.tar.bz2"
+sha512sums="4b341fe5ea13241983c780ad2487ad5bd97136652b095f54ccf8f61d0f0818236d0d6e1005d46811cf3bd15896160fb172a40ae805ccc3ce7d6fc984099d2b2e squirrelmail-imap_proxy-1.2.7.tar.bz2"
diff --git a/unmaintained/ioping/APKBUILD b/unmaintained/ioping/APKBUILD
new file mode 100644
index 0000000000..12b6df70be
--- /dev/null
+++ b/unmaintained/ioping/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: William Pitcock <nenolod@dereferenced.org>
+pkgname=ioping
+pkgver=0.7
+pkgrel=1
+pkgdesc="A simple disk i/o latency measurement tool"
+url="http://code.google.com/p/ioping"
+arch="all"
+license="GPL3+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://ioping.googlecode.com/files/$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"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" PREFIX="/usr" install || return 1
+}
+
+md5sums="5fea9fb35c38902e0c1fcb7ffe203931 ioping-0.7.tar.gz"
+sha256sums="234e28eeb256e77756a077604b48d59f206a5288c3da6f207629e783f54b13b0 ioping-0.7.tar.gz"
+sha512sums="0f7140e6cac1d87f54c2b20323ec691cf0e54f246497e38cb03b1161943f4f872536f26fc6a30f304a375c192af7dfce67f03083f93a78c33c1cd0cd40787e74 ioping-0.7.tar.gz"
diff --git a/unmaintained/iotop/APKBUILD b/unmaintained/iotop/APKBUILD
new file mode 100644
index 0000000000..e96e0bcf43
--- /dev/null
+++ b/unmaintained/iotop/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer:
+pkgname=iotop
+pkgver=0.6
+pkgrel=0
+pkgdesc="I/O monitoring tool"
+url="http://guichaz.free.fr/iotop/"
+arch="noarch"
+license="GPL2"
+depends="python"
+depends_dev=""
+makedepends="python-dev py-setuptools"
+install=""
+subpackages="$pkgname-doc"
+source="http://guichaz.free.fr/iotop/files/iotop-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/iotop-$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 --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="5ef9456b26d7694abf3101a72e1e0d1d iotop-0.6.tar.bz2"
+sha256sums="3adea2a24eda49bbbaeb4e6ed2042355b441dbd7161e883067a02bfc8dcef75b iotop-0.6.tar.bz2"
+sha512sums="b1047da3bc46604447cc8ab22442a3a5381e1a79a6b176fe9ee8402ee5cebb959205407a6aeaffccccde9d2f67624ff8ee6717b051838f13ab88bf3a16db3ab9 iotop-0.6.tar.bz2"
diff --git a/unmaintained/ipgrab/APKBUILD b/unmaintained/ipgrab/APKBUILD
new file mode 100644
index 0000000000..d808fdbf97
--- /dev/null
+++ b/unmaintained/ipgrab/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=ipgrab
+pkgver=0.9.8
+pkgrel=0
+pkgdesc="A verbose packet sniffer for hosts"
+url="http://ipgrab.sourceforge.net/"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="libpcap-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/ipgrab/ipgrab-$pkgver.tar.gz"
+
+_builddir="$srcdir"/ipgrab-$pkgver
+build() {
+ cd "$_builddir"
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="73404aeee6e8c07b6b7d260ffe80b692 ipgrab-0.9.8.tar.gz"
+sha256sums="f56c2be55fa42f0a508a83d99349834aaaaab7ad2f2fd73504b9e17b999b7901 ipgrab-0.9.8.tar.gz"
+sha512sums="d796c65bb4e0b2f71fc8c91dd257ea654bff514fd8f6efcc1bc4b733be21e91e2d6facc3c1867750ea6416bbbd1835e51d8c923f83abd955f8aa62b972414ca7 ipgrab-0.9.8.tar.gz"
diff --git a/unmaintained/ipmitool/APKBUILD b/unmaintained/ipmitool/APKBUILD
new file mode 100644
index 0000000000..113d672a2f
--- /dev/null
+++ b/unmaintained/ipmitool/APKBUILD
@@ -0,0 +1,70 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=ipmitool
+pkgver=1.8.13
+pkgrel=0
+pkgdesc="Command-line interface to IPMI-enabled devices"
+url="http://ipmitool.sourceforge.net"
+arch="all"
+license="BSD"
+depends=""
+depends_dev="readline-dev openssl-dev ncurses-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://heanet.dl.sourceforge.net/project/ipmitool/ipmitool/$pkgver/ipmitool-$pkgver.tar.bz2
+ ipmievd.initd
+ ipmievd.confd"
+
+_builddir="$srcdir"/ipmitool-$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 \
+ --bindir=/usr/sbin \
+ --enable-ipmievd \
+ --enable-ipmishell \
+ --enable-intf-lan \
+ --enable-intf-lanplus \
+ --enable-intf-open \
+ --disable-intf-free \
+ --disable-intf-imb \
+ --disable-intf-lipmi \
+ --disable-intf-bmc \
+ --disable-internal-md5 \
+ --with-kerneldir=/usr \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ install -D -m755 "$srcdir"/ipmievd.initd \
+ "$pkgdir"/etc/init.d/ipmievd || return 1
+ install -D -m644 "$srcdir"/ipmievd.confd \
+ "$pkgdir"/etc/conf.d/ipmievd || return 1
+}
+
+md5sums="64f36baea740f701c5f287805da968a2 ipmitool-1.8.13.tar.bz2
+ae9d53a2a262e43a3dd9b579b264888b ipmievd.initd
+2fe2ef5cbc48b0e2e1c03f891f6a278e ipmievd.confd"
+sha256sums="530bea8685a647a2ca58f40a1b317d529056f00129ad770e376a5b8a7faa8575 ipmitool-1.8.13.tar.bz2
+b6c53306685e892386e74b839d302fc0df6a89a44ff1e05b399aeaf817676ca1 ipmievd.initd
+3a56f0fa94f358f5fb9ee782a2f2a4755dbf5b19706553a673232d49c751fe04 ipmievd.confd"
+sha512sums="2dfcd993e3965876058cd89dc961aa1ec6a9f5aacebb92f6438318dde0bf2c76f493bc678de5a10de00cc16a35a0ab6df0a4b4452542663b84b40f61be03446d ipmitool-1.8.13.tar.bz2
+1c9caea2c4ba2b846e08caca4b2c81bc159ddbc10699579b0c33c9c69894f7ae71eee0a86a6e45ef089f7593e16dc4c668df189c9840880cd65203b54ee2fde4 ipmievd.initd
+4cace868f1776a96736b7460c84f525d63d6f53531f1f3e62f0337741dc36fb5b2ee9706fdae6a7b853e98d3894376949797ddc254248bd42dc79d85742c1744 ipmievd.confd"
diff --git a/unmaintained/ipmitool/ipmievd.confd b/unmaintained/ipmitool/ipmievd.confd
new file mode 100644
index 0000000000..ee4dd6745e
--- /dev/null
+++ b/unmaintained/ipmitool/ipmievd.confd
@@ -0,0 +1,23 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/ipmitool/files/ipmitool-1.8.9-ipmievd.confd,v 1.1 2007/09/23 06:03:42 robbat2 Exp $
+# /etc/conf.d/ipmievd
+
+# Interfaces:
+# open Linux OpenIPMI Interface
+# imb Intel IMB Interface
+# bmc IPMI v2.0 BMC interface
+# lan IPMI v1.5 LAN Interface
+# lanplus IPMI v2.0 RMCP+ LAN Interface
+
+INTERFACE="open"
+
+# Commands:
+# open Use OpenIPMI for asyncronous notification of events
+# sel Poll SEL for notification of events
+
+COMMAND="open"
+
+# Options.
+
+OPTIONS=""
diff --git a/unmaintained/ipmitool/ipmievd.initd b/unmaintained/ipmitool/ipmievd.initd
new file mode 100644
index 0000000000..5dd4ef12ba
--- /dev/null
+++ b/unmaintained/ipmitool/ipmievd.initd
@@ -0,0 +1,25 @@
+#!/sbin/runscript
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/ipmitool/files/ipmitool-1.8.9-ipmievd.initd,v 1.1 2007/09/23 06:03:42 robbat2 Exp $
+# /etc/init.d/ipmievd
+
+depend() {
+ use logger
+}
+PN="ipmievd"
+
+start() {
+ /sbin/modprobe -sq ipmi_msghandler
+ /sbin/modprobe -sq ipmi_devintf
+ /sbin/modprobe -sq ipmi_si
+ ebegin "Starting ${PN}"
+ start-stop-daemon --start --pidfile /var/run/${PN}.pid0 --exec /usr/sbin/${PN} -- -I ${INTERFACE} ${OPTIONS} ${COMMAND}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${PN}"
+ start-stop-daemon --stop --pidfile /var/run/${PN}.pid0
+ eend $?
+}
diff --git a/unmaintained/ipmiutil/APKBUILD b/unmaintained/ipmiutil/APKBUILD
new file mode 100644
index 0000000000..f56c02f0ee
--- /dev/null
+++ b/unmaintained/ipmiutil/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=ipmiutil
+pkgver=2.9.2
+pkgrel=1
+pkgdesc="IPMI Management Utilities"
+url="http://ipmiutil.sourceforge.net/"
+arch="all"
+license="BSD"
+depends=""
+depends_dev="openssl-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://switch.dl.sourceforge.net/project/ipmiutil/ipmiutil-$pkgver.tar.gz
+fixups.patch"
+
+_builddir="$srcdir"/ipmiutil-$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-systemd \
+ --enable-sha256 \
+ --enable-gpl \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="17637b9b5569e5646806d86f595ba596 ipmiutil-2.9.2.tar.gz
+2759e748ae36b0dfa4a283e7c0f948e4 fixups.patch"
+sha256sums="c32687d233390364a91d16920dcd7df80c06365ade9e51d74b2af5c5d1acead8 ipmiutil-2.9.2.tar.gz
+87b9165ca06254256a35bf7666d60479ded78747a44b91adbbec5257b57254de fixups.patch"
+sha512sums="8c7643042232792ba51cf0546e756f409e055433940fc54907de07eb39de504128fa4613f8253997ea145c17d6e38a8888cf6b98b8e45c7130f383ad18798264 ipmiutil-2.9.2.tar.gz
+3b7dd14ab2db875419b7110f56d40c1032e1c105ef3b2dd5ceec1efe206dbff66a967ac4b781dc4f1e36e24bdf832408a173e3de3082ae7b8649680f57f85f2f fixups.patch"
diff --git a/unmaintained/ipmiutil/fixups.patch b/unmaintained/ipmiutil/fixups.patch
new file mode 100644
index 0000000000..dea7adae02
--- /dev/null
+++ b/unmaintained/ipmiutil/fixups.patch
@@ -0,0 +1,33 @@
+--- a/util/imb_api.h
++++ b/util/imb_api.h
+@@ -49,8 +49,8 @@
+ /* DOS defines wchar_t in stdlib.h */
+ #else
+ // defined(LINUX) | defined(SOLARIS)
+-#ifndef _WCHAR_T
+-#define _WCHAR_T
++#ifndef __DEFINED_wchar_t
++#define __DEFINED_wchar_t
+ typedef long wchar_t;
+ #endif
+ #endif
+--- a/util/mem_if.c
++++ b/util/mem_if.c
+@@ -65,6 +65,7 @@
+ #include <sys/param.h>
+ #include <sys/mman.h>
+ #include <sys/ioctl.h>
++#include <linux/param.h>
+ #endif
+ #if defined(SOLARIS) || defined(BSD)
+ #define EXEC_PAGESIZE 4096
+--- a/util/ipmimv.c
++++ b/util/ipmimv.c
+@@ -62,6 +62,7 @@
+ #include <time.h>
+ #include <errno.h>
+ #include <sys/ioctl.h>
++#include <sys/select.h>
+ #if defined(MACOS)
+ #include <sys/time.h>
+ #else
diff --git a/unmaintained/ipt-netflow/APKBUILD b/unmaintained/ipt-netflow/APKBUILD
new file mode 100644
index 0000000000..c6eecb08e2
--- /dev/null
+++ b/unmaintained/ipt-netflow/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Rush Future <rush.zlo@gmail.com>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=ipt-netflow
+pkgver=2.0
+_ver=${pkgver%_git*}
+pkgrel=0
+pkgdesc="Kernel netflow sensor"
+url="http://ipt-netflow.sourceforge.net."
+arch="all"
+license="GPL3+"
+makedepends="iptables-dev bash"
+source="$pkgname-$_ver.tar.gz::https://github.com/aabc/ipt-netflow/archive/v$_ver.tar.gz
+ kernel-vs-userspace.patch
+ "
+
+_builddir="$srcdir/$pkgname-$_ver"
+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 \
+ --ipt-inc=/usr/include \
+ --disable-kernel \
+ || return 1
+ make libipt_NETFLOW.so || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make linstall DESTDIR=$pkgdir || return 1
+}
+
+md5sums="d1b40ee12b563edc4faae5e3234c3436 ipt-netflow-2.0.tar.gz
+1056dd9b4d28b306f45028d2960469eb kernel-vs-userspace.patch"
+sha256sums="547ca6c2e8d82fc7d3d113d2ab3f602106d1efa7739167f8c7850a43e5bbe46e ipt-netflow-2.0.tar.gz
+9f376ee65e14a3dd5d59547d2f6480061217bf05d4effa4ce34f4d4496c75619 kernel-vs-userspace.patch"
+sha512sums="7bf330ac665180218ea4cc42fe6ac6d365b45632039ff9601559f7a4675738c409853433b15dd431dba68cfe36269d6992754154411e2761041fec021e19bf8d ipt-netflow-2.0.tar.gz
+eb5c5bcbacfa87ba61753a8d6bd092a296d948fc91d34825f6f461b39f180b7a06a7ee7cef061c947822c170743db05389dace9bed13f3f93da0593cc1187307 kernel-vs-userspace.patch"
diff --git a/unmaintained/ipt-netflow/git.patch b/unmaintained/ipt-netflow/git.patch
new file mode 100644
index 0000000000..faa49ffdc7
--- /dev/null
+++ b/unmaintained/ipt-netflow/git.patch
@@ -0,0 +1,4308 @@
+diff --git a/Makefile.in b/Makefile.in
+index 30ebbfe..0a82c67 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -1,43 +1,73 @@
+-#
++# Edit Makefile.in and run ./configure
+
+ KVERSION = @KVERSION@
+ KDIR = @KDIR@
++KINSTDIR = $(shell dirname @KDIR@)
+ IPTABLES_CFLAGS = @IPTABLES_CFLAGS@
+ IPTABLES_MODULES = @IPTABLES_MODULES@
++DEPMOD = depmod -a
+
++# https://www.kernel.org/doc/Documentation/kbuild/modules.txt
++# https://www.kernel.org/doc/Documentation/kbuild/makefiles.txt
+ obj-m = ipt_NETFLOW.o
+
+-ipt_NETFLOW.ko: ipt_NETFLOW.c ipt_NETFLOW.h
++all: ipt_NETFLOW.ko libipt_NETFLOW.so libip6t_NETFLOW.so
++ipt_NETFLOW.ko: version.h ipt_NETFLOW.c ipt_NETFLOW.h Makefile
+ @echo Compiling for kernel $(KVERSION)
+ make -C $(KDIR) M=$(CURDIR) modules
+-all: ipt_NETFLOW.ko libipt_NETFLOW.so
+-minstall:
+- make -C $(KDIR) M=$(CURDIR) modules_install
++ @touch $@
++sparse: | version.h ipt_NETFLOW.c ipt_NETFLOW.h Makefile
++ @rm -f ipt_NETFLOW.ko ipt_NETFLOW.o
++ @echo Compiling for kernel $(KVERSION)
++ make -C $(KDIR) M=$(CURDIR) modules C=1
++ @touch ipt_NETFLOW.ko
++minstall: | ipt_NETFLOW.ko
++ make -C $(KDIR) M=$(CURDIR) modules_install INSTALL_MOD_PATH=$(DESTDIR)
++ $(DEPMOD)
+ mclean:
+ make -C $(KDIR) M=$(CURDIR) clean
+ lclean:
+ -rm -f *.so *_sh.o
+ clean: mclean lclean
+- -rm -f *.so *.o modules.order
++ -rm -f *.so *.o modules.order version.h
++
++%_sh.o: libipt_NETFLOW.c
++ gcc -O2 -Wall -Wunused $(IPTABLES_CFLAGS) -fPIC -o $@ -c libipt_NETFLOW.c
++
++%.so: %_sh.o
++ gcc -shared -o $@ $<
+
+-libipt_NETFLOW.so: libipt_NETFLOW.c
+- gcc -O2 -Wall -Wunused -I$(KDIR)/include $(IPTABLES_CFLAGS) -fPIC -o libipt_NETFLOW_sh.o -c libipt_NETFLOW.c
+- gcc -shared -o libipt_NETFLOW.so libipt_NETFLOW_sh.o
++version.h: ipt_NETFLOW.c ipt_NETFLOW.h Makefile
++ @if [ -d .git ] && type git >/dev/null 2>&1; then \
++ echo "#define GITVERSION \"`git describe --dirty`\""; \
++ fi > version.h
+
+-linstall: ipt_NETFLOW.ko libipt_NETFLOW.so
+- cp -a libipt_NETFLOW.so $(IPTABLES_MODULES)
++linstall: | libipt_NETFLOW.so libip6t_NETFLOW.so
++ install -D libipt_NETFLOW.so $(DESTDIR)$(IPTABLES_MODULES)/libipt_NETFLOW.so
++ install -D libip6t_NETFLOW.so $(DESTDIR)$(IPTABLES_MODULES)/libip6t_NETFLOW.so
+
+ install: minstall linstall
+
++uninstall:
++ -rm -f $(DESTDIR)$(IPTABLES_MODULES)/libipt_NETFLOW.so
++ -rm -f $(DESTDIR)$(IPTABLES_MODULES)/libip6t_NETFLOW.so
++ -rm -f $(DESTDIR)$(KINSTDIR)/extra/ipt_NETFLOW.ko
++
+ Makefile: Makefile.in configure
+ ./configure --make
+
+ load: all
+- insmod ipt_NETFLOW.ko active_timeout=5
+- iptables -A OUTPUT -d 0/0 -j NETFLOW
+- iptables -A INPUT -d 0/0 -j NETFLOW
++ -insmod ipt_NETFLOW.ko active_timeout=5 protocol=9
++ -iptables -I OUTPUT -j NETFLOW
++ -iptables -I INPUT -j NETFLOW
++ -ip6tables -I OUTPUT -j NETFLOW
++ -ip6tables -I INPUT -j NETFLOW
+
+ unload:
+- iptables -D OUTPUT -d 0/0 -j NETFLOW
+- iptables -D INPUT -d 0/0 -j NETFLOW
+- rmmod ipt_NETFLOW.ko
++ -iptables -D OUTPUT -j NETFLOW
++ -iptables -D INPUT -j NETFLOW
++ -ip6tables -D OUTPUT -j NETFLOW
++ -ip6tables -D INPUT -j NETFLOW
++ -rmmod ipt_NETFLOW.ko
++
++reload: unload load
+diff --git a/README b/README
+index 213f02c..56a4fde 100644
+--- a/README
++++ b/README
+@@ -1,10 +1,17 @@
+-ipt_NETFLOW linux 2.6 kernel module by <abc@telekom.ru> -- 11 Feb 2008
++ipt_NETFLOW linux 2.6.x-3.x kernel module by <abc@telekom.ru> -- 2008-2013.
++
++ High performance NetFlow v5, v9, IPFIX flow data export module for Linux
++ kernel. Supporting IPv4 and IPv6. Created to be useful for highly loaded
++ linux router. It should be used as iptables target. Also can export NAT
++ translation events using NetFlow Event Logging (NEL) for v9, IPFIX, or
++ specially crafted v5 flows.
++
+
+ ============================
+ = OBTAINING LATEST VERSION =
+ ============================
+
+- $ git clone git://ipt-netflow.git.sourceforge.net/gitroot/ipt-netflow/ipt-netflow
++ $ git clone git://git.code.sf.net/p/ipt-netflow/code ipt-netflow
+ $ cd ipt-netflow
+
+
+@@ -12,94 +19,220 @@ ipt_NETFLOW linux 2.6 kernel module by <abc@telekom.ru> -- 11 Feb 2008
+ = INSTALLATION =
+ ================
+
+-1. Besides kernel you will need iptables/netfilter source matching your
+- installation or just fresh install from there: ftp://ftp.netfilter.org/pub/iptables/snapshot/
+- I have this: ftp://ftp.netfilter.org/pub/iptables/snapshot/iptables-1.3.7-20070329.tar.bz2
+- Unpack it somewhere and build with make.
++ Four easy steps.
++
++** 1. Prepare Kernel source
++
++ If you have package system install kernel-devel package, otherwise install
++ raw kernel source from http://kernel.org matching _exactly_ version of your
++ installed kernel.
++
++ a) What to do for Centos:
++
++ ~# yum install kernel-devel
++
++ b) What to do for Debian:
++
++ ~# apt-get install module-assistant
++ ~# m-a prepare
++
++ c) Otherwise, if you downloaded raw kernel sources don't forget to create
++ .config by copying it from your distribution's kernel. Its copy could reside
++ in /boot or sometimes in /proc, examples:
++
++ kernel-src-dir/# cp /boot/config-`uname -r` .config
++ or
++ kernel-src-dir/# zcat /proc/config.gz > .config
++
++ Assuming you unpacked kernel source into `kernel-src-dir/' directory.
++ Then run:
++
++ kernel-src-dir/# make oldconfig
++
++ After that you'll need to prepare kernel for modules build:
++
++ kernel-src-dir/# make prepare modules_prepare
++
++ Note: Don't try to `make prepare' in Centos kernel-devel package directory
++ (which is usually something like /usr/src/kernels/2.6.32-431.el6.x86_64)
++ as this is wrong and meaningless.
++
++** 2. Prepare Iptables
++
++ Before this step it also would be useful to install pkg-config if don't
++ already have.
++
++ If you have package system just install iptables-devel (or iptables-dev)
++ package, otherwise install iptables source matching version of your
++ installation from ftp://ftp.netfilter.org/pub/iptables/
++
++ a) What to do for Centos:
++
++ # yum install iptables-devel
++
++ b) What to do for Debian:
++
++ # apt-get install iptables-dev pkg-config
+
+-2. Run ./configure script and it will create Makefile
++ c) Otherwise, for raw iptables source build it and make install.
+
+-3. make all install; depmod
+- This will install kernel module and iptable specific library.
++** 3. Now, to actually build the module run:
+
+-Troubleshooting:
+- 1) Sometimes you will want to add CC=gcc-3 to make command.
+- Example: make CC=gcc-3.3
++ ~/ipt-netflow# ./configure
++ ~/ipt-netflow# make all install
++ ~/ipt-netflow# depmod
+
+- 2) Compile module with actual kernel source compiled.
+- I.e. first compile kernel and boot into it, and then compile module.
++ This will install kernel module and iptables specific library.
+
+- 3) For autoloading module after reboot: set net.netflow.destination (or load
+- module, if idestination set on load) after interfaces are up. Becasue module
+- needs exporting interface (usually lo) to establish export connection.
++ Troubleshooting:
+
+-4. After this point you should be able to load module
+- and use -j NETFLOW target in your iptables. See next section.
++ a) Sometimes you will want to add CC=gcc-3 to make command.
++ Example: make CC=gcc-3.3
++
++ b) Compile module with actual kernel source compiled.
++ I.e. first compile kernel and boot into it, and then compile module.
++ If you are using kernel-devel package check that its version matches
++ your kernel package.
++
++ c) If you have sources in non-standard places or configure isn't able to
++ find something run ./configure --help to see how to specify paths manually.
++
++** 4. After this point you should be able to load module and
++ use -j NETFLOW target in your iptables. See next section.
+
+
+ ===========
+ = RUNNING =
+ ===========
+
+-1. You can load module by insmod like this:
+- # insmod ipt_NETFLOW.ko destination=127.0.0.1:2055 debug=1
++1. You can load module directly by insmod like this:
++
++ # insmod ipt_NETFLOW.ko destination=127.0.0.1:2055 debug=1
+
+ Or if properly installed (make install; depmod) by this:
+- # modprobe ipt_NETFLOW destination=127.0.0.1:2055
++
++ # modprobe ipt_NETFLOW destination=127.0.0.1:2055
+
+ See, you may add options in insmod/modprobe command line, or add
+- them in /etc/ to modules.conf or modprobe.conf like thus:
+- options ipt_NETFLOW destination=127.0.0.1:2055
++ them in /etc/modprobe.conf or /etc/modprobe.d/ipt_NETFLOW.conf
++ like thus:
++
++ options ipt_NETFLOW destination=127.0.0.1:2055 protocol=9 natevents=1
+
+ 2. Statistics is in /proc/net/stat/ipt_netflow
+- To view slab statistics: grep ipt_netflow /proc/slabinfo
++ To view boring slab statistics: grep ipt_netflow /proc/slabinfo
+
+ 3. You can view parameters and control them via sysctl, example:
+- # sysctl -w net.netflow.hashsize=32768
+
+-4. Example of directing all traffic into module:
+- # iptables -A FORWARD -j NETFLOW
+- # iptables -A INPUT -j NETFLOW
+- # iptables -A OUTPUT -j NETFLOW
++ # sysctl net.netflow
++ # sysctl net.netflow.hashsize=32768
++
++ Note: For after-reboot configuration I recommend to store module parameters
++ in modprobe configs instead of storing them in /etc/sysctl.conf, as it's
++ less clear when init process will apply sysctl.conf, before of after
++ module's load.
++
++4. Example of directing all IPv4 traffic into the module:
++
++ # iptables -I FORWARD -j NETFLOW
++ # iptables -I INPUT -j NETFLOW
++ # iptables -I OUTPUT -j NETFLOW
++
++ Note: It is preferable (because easier to understand) to _insert_
++ NETFLOW target at the top of the chain, otherwise not all traffic may
++ reach NETFLOW if your iptables configuration is complicated and some
++ other rule inadvertently consume the traffic (dropping or acepting before
++ NETFLOW is reached). It's always good to test your configuration.
++ Use iptables -L -nvx to check pkts/bytes counters on the rules.
++
++5. If you want to account IPv6 traffic you should use protocol 9 or 10.
++ Example of directing all IPv6 traffic into the module:
+
++ # sysctl net.netflow.protocol=10
++ # ip6tables -I FORWARD -j NETFLOW
++ # ip6tables -I INPUT -j NETFLOW
++ # ip6tables -I OUTPUT -j NETFLOW
++
++ Note: First enable right version of protocol and after that add ip6tables
++ rules, otherwise you will get errors in dmesg.
++
++6. If you want to account NAT events (NEL):
++
++ # sysctl net.netflow.natevents=1
++
++ Note that natevents feature is completely independent from traffic accounting
++ (it's using so called conntrack events), thus you don't need to set or change
++ any iptables rules to use that. You may need to enable kernel config option
++ CONFIG_NF_CONNTRACK_EVENTS though (if it isn't already enabled).
++ For details on how they are exported for different protocol versions see
++ below.
+
+ ===========
+ = OPTIONS =
+ ===========
+
++ protocol=5
++ - what version of NetFlow protocol to use. Default is 5.
++ You can choose from 5, 9, or 10 (where 10 is IPFIX). If you plan
++ to account IPv6 traffic you should use protocol 9 or 10 (IPFIX),
++ because NetFlow v5 isn't compatible with IPv6.
++
+ destination=127.0.0.1:2055
+ - where to export netflow, to this ip address
+ You will see this connection in netstat like this:
+ udp 0 0 127.0.0.1:32772 127.0.0.1:2055 ESTABLISHED
+
+ destination=127.0.0.1:2055,192.0.0.1:2055
+- - mirror flows to two (can be more) addresses,
+- separate addresses with comma.
++ - mirror flows to two (can be more) addresses, separate addresses
++ with comma.
++
++ natevents=1
++ - Collect and send NAT translation events as NetFlow Event Logging (NEL)
++ for NetFlow v9/IPFIX, or as dummy flows compatible with NetFlow v5.
++ Default is 0 (don't send).
++
++ For NetFlow v5 protocol meaning of fields in dummy flows are such:
++ Src IP, Src Port is Pre-nat source address.
++ Dst IP, Dst Port is Post-nat destination address.
++ - These two fields made equal to data flows catched in FORWARD chain.
++ Nexthop, Src AS is Post-nat source address for SNAT. Or,
++ Nexthop, Dst AS is Pre-nat destination address for DNAT.
++ TCP Flags is SYN+SCK for start event, RST+FIN for stop event.
++ Pkt/Traffic size is 0 (zero), so it won't interfere with accounting.
+
+ inactive_timeout=15
+ - export flow after it's inactive 15 seconds. Default value is 15.
+
+ active_timeout=1800
+- - export flow after it's active 1800 seconds (30 minutes). Default value is 1800.
++ - export flow after it's active 1800 seconds (30 minutes). Default valuae
++ is 1800.
++
++ refresh-rate=20
++ - for NetFlow v9 and IPFIX it's rate how frequently to re-send templates
++ (per packets). You probably don't need to change default (which is 20).
++
++ timeout-rate=30
++ - for NetFlow v9 and IPFIX it's rate when to re-send old templates (in
++ minutes). No need to change it.
+
+ debug=0
+ - debug level (none).
+
+ sndbuf=number
+- - size of output socket buffer in bytes. Recommend you to put
++ - size of output socket buffer in bytes. I recommend you to put
+ higher value if you experience netflow packet drops (can be
+ seen in statistics as 'sock: fail' number.)
+ Default value is system default.
+
+ hashsize=number
+ - Hash table bucket size. Used for performance tuning.
+- Abstractly speaking, it should be two times bigger than flows
++ Abstractly speaking, it should be minimum two times bigger than flows
+ you usually have, but not need to.
+ Default is system memory dependent small enough value.
+
+ maxflows=2000000
+- - Maximum number of flows to account. It's here to prevent DOS attacks. After
+- this limit reached new flows will not be accounted. Default is
++ - Maximum number of flows to account. It's here to prevent DOS attacks.
++ After this limit reached new flows will not be accounted. Default is
+ 2000000, zero is unlimited.
+
+ aggregation=string..
+@@ -130,14 +263,15 @@ Troubleshooting:
+ = HOW TO READ STAT =
+ ====================
+
+- Statistics is your friend to fine tune and understand netflow module performance.
++ Statistics is your friend to fine tune and understand netflow module
++ performance.
+
+ To see stat:
+ # cat /proc/net/stat/ipt_netflow
+
+ How to interpret the data:
+
+-> Flows: active 5187 (peak 83905 reached 0d0h1m ago, maxflows 2000000), mem 283K
++> Flows: active 5187 (peak 83905 reached 0d0h1m ago, maxflows 2000000), mem 283K, worker delay 100/1000.
+
+ active X: currently active flows in memory cache.
+ - for optimum CPU performance it is recommended to set hash table size to
+@@ -146,8 +280,9 @@ Troubleshooting:
+ mem XK: how much kilobytes of memory currently taken by active flows.
+ - one active flow taking 56 bytes of memory.
+ - there is system limit on cache size too.
++ worker delay X/HZ: how frequently exporter scan flows table per second.
+
+-> Hash: size 8192 (mem 32K), metric 1.0, 1.0, 1.0, 1.0. MemTraf: 1420 pkt, 364 K (pdu 0, 0).
++> Hash: size 8192 (mem 32K), metric 1.00, [1.00, 1.00, 1.00]. MemTraf: 1420 pkt, 364 K (pdu 0, 0).
+
+ Hash: size X: current hash size/limit.
+ - you can control this by sysctl net.netflow.hashsize variable.
+@@ -156,18 +291,22 @@ Troubleshooting:
+ - optimal value is twice of average of active flows.
+ mem XK: how much memory occupied by hash table.
+ - hash table is fixed size by nature, taking 4 bytes per entry.
+- metric X, X, X, X: how optimal is your hash table being used.
++ metric X, [X, X, X]: how optimal is your hash table being used.
+ - lesser value mean more optimal hash table use, min is 1.0.
+- - this is moving average (EWMA) of hash table access divided
+- by match rate (searches / matches) for 4sec, and 1, 5, 15 minutes.
+- Sort of hash table load average.
++ - last three numbers in squares is moving average (EWMA) of hash table
++ access divided by match rate (searches / matches) for 4sec, and 1, 5, and
++ 15 minutes. Sort of hash table load average. First value is instantaneous.
++ You can try to increase hashsize if averages more than 1 (increase
++ certainly if >= 2).
+ MemTraf: X pkt, X K: how much traffic accounted for flows that are in memory.
+ - these flows that are residing in internal hash table.
+ pdu X, X: how much traffic in flows preparing to be exported.
+ - it is included already in aforementioned MemTraf total.
+
+-> Timeout: active 1800, inactive 15. Maxflows 2000000
++> Protocol version 10 (ipfix), refresh-rate 20, timeout-rate 30, (templates 2, active 2). Timeouts: active 5, inactive 15. Maxflows 2000000
+
++ Protocol version currently in use. Refresh-rate and timeout-rate
++ for v9 and IPFIX. Total templates generated and currently active.
+ Timeout: active X: how much seconds to wait before exporting active flow.
+ - same as sysctl net.netflow.active_timeout variable.
+ inactive X: how much seconds to wait before exporting inactive flow.
+@@ -180,20 +319,22 @@ Troubleshooting:
+
+ - Module throughput values for 1 second, 1 minute, and 5 minutes.
+
+-> cpu# stat: <search found new, trunc frag alloc maxflows>, sock: <ok fail cberr, bytes>, traffic: <pkt, bytes>, drop: <pkt, bytes>
+-> cpu0 stat: 980540 10473 180600, 0 0 0 0, sock: 4983 928 0, 7124 K, traffic: 188765, 14 MB, drop: 27863, 1142 K
++> cpu# stat: <search found new [metric], trunc frag alloc maxflows>, sock: <ok fail cberr, bytes>, traffic: <pkt, bytes>, drop: <pkt, bytes>
++> cpu0 stat: 980540 10473 180600 [1.03], 0 0 0 0, sock: 4983 928 0, 7124 K, traffic: 188765, 14 MB, drop: 27863, 1142 K
+
+ cpu#: this is Total and per CPU statistics for:
+ stat: <search found new, trunc frag alloc maxflows>: internal stat for:
+ search found new: hash table searched, found, and not found counters.
+- trunc: how much truncated packets is ignored
++ [metric]: average hash metric since module load.
++ trunc: how much truncated packets are ignored
+ - these are that possible don't have valid IP header.
+ - accounted in drop packets counter but not in drop bytes.
+ frag: how much fragmented packets have seen.
+ - kernel always defragments INPUT/OUTPUT chains for us.
+ - these packets are not ignored but not reassembled either, so:
+- - if there is no enough data in fragment (ex. tcp ports) it is considered zero.
+- alloc: how much cache memory allocations is failed.
++ - if there is no enough data in fragment (ex. tcp ports) it is considered
++ zero.
++ alloc: how much cache memory allocations are failed.
+ - packets ignored and accounted in drop stat.
+ - probably increase system memory if this ever happen.
+ maxflows: how much packets ignored on maxflows (maximum active flows reached).
+@@ -203,7 +344,8 @@ Troubleshooting:
+ sock: <ok fail cberr, bytes>: table of exporting stats for:
+ ok: how much Netflow PDUs are exported (i.e. UDP packets sent by module).
+ fail: how much socket errors (i.e. packets failed to be sent).
+- - packets dropped and their internal statistics cumulatively accounted in drop stat.
++ - packets dropped and their internal statistics cumulatively accounted in
++ drop stat.
+ cberr: how much connection refused ICMP errors we got from export target.
+ - probably you not launched collector software on destination,
+ - or specified wrong destination address.
+@@ -225,20 +367,34 @@ Troubleshooting:
+ packet is for new flow but maxflows is already reached,
+ all flows in export packets that got socket error.
+
+-> sock0: 10.0.0.2:2055, sndbuf 106496, filled 0, peak 106848; err: sndbuf reached 928, other 0
++> Natevents disabled, count start 0, stop 0.
++
++ - Natevents mode disabled or enabled, and how much start or stop events
++ are reported.
++
++> sock0: 10.0.0.2:2055 unconnected (1 attempts).
++
++ If socket is unconnected (for example if module loaded before interfaces is
++ up) it shows now much connection attempts was failed. It will try to connect
++ until success.
++
++> sock0: 10.0.0.2:2055, sndbuf 106496, filled 0, peak 106848; err: sndbuf reached 928, connect 0, other 0
+
+ sockX: per destination stats for:
+ X.X.X.X:Y: destination ip address and port.
+ - controlled by sysctl net.netflow.destination variable.
+ sndbuf X: how much data socket can hold in buffers.
+ - controlled by sysctl net.netflow.sndbuf variable.
+- - if you have packet drops due to sndbuf reached (error -11) increase this value.
++ - if you have packet drops due to sndbuf reached (error -11) increase this
++ value.
+ filled X: how much data in socket buffers right now.
+ peak X: peak value of how much data in socket buffers was.
+ - you will be interested to keep it below sndbuf value.
+ err: how much packets are dropped due to errors.
+ - all flows from them will be accounted in drop stat.
+- sndbuf reached X: how much packets dropped due to sndbuf being too small (error -11).
++ sndbuf reached X: how much packets dropped due to sndbuf being too small
++ (error -11).
++ connect X: how much connection attempts was failed.
+ other X: dropped due to other possible errors.
+
+ > aggr0: ...
+diff --git a/README.promisc b/README.promisc
+index 60ca922..31d774f 100644
+--- a/README.promisc
++++ b/README.promisc
+@@ -2,9 +2,14 @@ Hello,
+
+ If you wish to account with netflow module traffic mirrored on switch you may follow this example:
+
+-**************
+-* Solution 1 *
+-**************
++
++ Solution 1: General kernel patch.
++ Solution 2: Alternative w/o kernel patch.
++
++
++ **************
++ * Solution 1 *
++ **************
+
+ 1. Patch your kernel with `raw_promisc.patch' to enable raw table to see promisc traffic.
+
+@@ -33,17 +38,7 @@ If you wish to account with netflow module traffic mirrored on switch you may fo
+ # /sbin/vconfig add eth1 47
+ # /sbin/ifconfig eth1.47 up
+
+-5. Recompile ipt_netflow module with #define RAW_PROMISC_HACK uncommented:
+-
+- Find this line in ipt_NETFLOW.c (should be line 7):
+-
+-//#define RAW_PROMISC_HACK
+-
+- And remove two slashes at beginning of the line, so it become like this:
+-
+-#define RAW_PROMISC_HACK
+-
+- Re-compile module:
++5. Compile module:
+
+ # make clean all install
+
+@@ -55,13 +50,14 @@ If you wish to account with netflow module traffic mirrored on switch you may fo
+
+ # /sbin/iptables -A PREROUTING -t raw -i eth1.47 -j NETFLOW
+
+-
+ Voila.
+
++ps. For Debian Squeeze instructions look at raw_promisc_debian_squeeze6.patch
+
+-**************
+-* Solution 2 *
+-**************
++
++ **************
++ * Solution 2 *
++ **************
+
+ By Anonymous.
+
+@@ -81,4 +77,3 @@ Sometimes you may need to run:
+
+ for this scheme to work.
+
+-
+diff --git a/configure b/configure
+index 677dd7f..3f10e2a 100755
+--- a/configure
++++ b/configure
+@@ -3,7 +3,7 @@
+ PATH=$PATH:/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/sbin
+
+ error() {
+- echo "! Error: $@"
++ echo -e "! Error: $@"
+ exit 1
+ }
+
+@@ -56,19 +56,20 @@ get_lib_from_lib() {
+ }
+
+ iptables_inc() {
+- echo -n "Iptables include path: "
++ echo -n "Iptables include flags: "
+ if [ "$IPTINC" ]; then
+- echo "$IPTINC (user specified)"
+ IPTINC="-I$IPTINC"
++ echo "$IPTINC (user specified)"
++ elif [ "$PKGVER" ]; then
++ IPTINC="$PKGINC"
++ echo "$IPTINC (pkg-config)"
++ elif [ "$NOIPTSRC" ]; then
++ IPTINC=
++ echo "none (default)"
+ else
+- if [ "$PKGINC" ]; then
+- IPTINC="$PKGINC"
+- echo "$IPTINC (pkg-config)"
+- else
+- IPTINC="$IPTSRC/include"
+- echo "$IPTINC (from source)"
+- IPTINC="-I$IPTINC"
+- fi
++ IPTINC="$IPTSRC/include"
++ IPTINC="-I$IPTINC"
++ echo "$IPTINC (from source)"
+ fi
+ }
+
+@@ -109,7 +110,16 @@ try_dir2() {
+ test -d "$1" && try_dir `dirname $1` && return 0
+ }
+
+-iptables_ver() {
++check_pkg_config() {
++ test "$PKGWARN" && return 1
++ if ! which pkg-config >/dev/null 2>&1; then
++ echo "! You don't have pkg-config, it may be useful to install it."
++ PKGWARN=1
++ return 1
++ fi
++ return 0
++}
++iptables_find_version() {
+ echo -n "Iptables binary version: "
+ if [ "$IPTVER" ]; then
+ echo "$IPTVER (user specified)"
+@@ -121,6 +131,7 @@ iptables_ver() {
+ else
+ echo "no iptables binary found"
+ fi
++ check_pkg_config
+ PKGVER=`pkg-config --modversion xtables 2>/dev/null`
+ if [ "$PKGVER" ]; then
+ IPTVER="$PKGVER"
+@@ -131,44 +142,90 @@ iptables_ver() {
+ fi
+ }
+
+-iptables_dir() {
+- test "$IPTINC" && return 1
+- test "$PKGINC" && return 1
+-
+- VER="iptables-$IPTVER"
+- if [ "$IPTSRC" ]; then
+- echo "User specified source directory: $IPTSRC"
+- try_dir $IPTSRC || error "Specified directory is not iptables source.."
++compile_libitp_test() {
++ echo -n "Checking for presence of $@... "
++ echo "
++#define __EXPORTED_HEADERS__
++#include <$*>" > test.c
++ gcc -c test.c >/dev/null 2>&1
++ RET=$?
++ if [ $RET = 0 ]; then
++ echo Yes;
+ else
+- echo "Searching for $VER sources.."
+- try_dir "./$VER" && return 0
+- try_dir "../$VER" && return 0
+- try_dir "/usr/src/$VER" && return 0
+- try_dirg "iptables" && return 0
+- try_dirg "../iptables" && return 0
+- try_dirg "/usr/src/iptables" && return 0
+- try_dir2 `locate $VER/extensions | head -1` && return 0
+- error "Can not find iptables source directory, try setting it with --ipt-src="
++ echo No;
+ fi
++ rm -f test.c test.o
++ return $RET
+ }
+
+-iptables_pkg_config() {
++iptables_try_pkgconfig() {
+ if [ ! "$PKGVER" ]; then
++ check_pkg_config
++ PKGVER=`pkg-config --modversion xtables 2>/dev/null`
++ TRYPKGVER=`pkg-config --modversion xtables 2>/dev/null`
+ echo -n "pkg-config for version $IPTVER exists: "
+- PKGVER=`pkg-config --exact-version=$IPTVER --modversion xtables 2>/dev/null`
++ pkg-config --exact-version=$IPTVER xtables 2>/dev/null
+ if [ $? = 0 ]; then
+ echo "Yes"
++ PKGVER=$TRYPKGVER
+ else
+- echo "No (reported: $PKGVER)"
+- unset PKGVER
++ if [ "$TRYPKGVER" ]; then
++ echo "No (reported: $TRYPKGVER)"
++ else
++ echo "No"
++ fi
+ fi
+ fi
+ if [ "$PKGVER" ]; then
++ check_pkg_config
++ PKGVER=`pkg-config --modversion xtables 2>/dev/null`
+ PKGINC=`pkg-config --cflags xtables`
+ PKGLIB=`pkg-config --variable=xtlibdir xtables`
+- IPTCFLAGS="-DXTABLES"
+ else
+- IPTCFLAGS="-DIPTABLES_VERSION=\\\\\"$IPTVER\\\\\""
++ # Newer versions of iptables should not have -I/kernel/include!
++ # So I assume that newer version will have correct pkg-config set up
++ # and if not, then it's older who need it.
++ IPTCFLAGS="-I$KDIR/include -DIPTABLES_VERSION=\\\\\"$IPTVER\\\\\""
++ fi
++ if compile_libitp_test xtables.h; then
++ IPTCFLAGS="-DXTABLES $IPTCFLAGS"
++ elif ! compile_libitp_test iptables.h; then
++ echo "! Iptables headers not found. You may need to specify --ipt-inc=..."
++ if [ -s /etc/debian_version ]; then
++ echo "! "
++ echo "! Under Debian simply run this:"
++ echo "! root# apt-get install iptables-dev pkg-config"
++ elif [ -s /etc/redhat-release ]; then
++ echo "! "
++ arch=.`uname -m`
++ echo "! Under Centos simply run this:"
++ echo "! root# yum install iptables-devel$arch pkgconfig"
++ fi
++ exit 1
++ fi
++
++}
++
++iptables_find_src() {
++ test "$IPTINC" && return 1
++ test "$PKGVER" && return 1
++
++ VER="iptables-$IPTVER"
++ if [ "$IPTSRC" ]; then
++ echo "User specified source directory: $IPTSRC"
++ try_dir $IPTSRC || error "Specified directory is not iptables source.."
++ else
++ echo "Searching for $VER sources.."
++ try_dir "./$VER" && return 0
++ try_dir "../$VER" && return 0
++ try_dir "/usr/src/$VER" && return 0
++ try_dirg "iptables" && return 0
++ try_dirg "../iptables" && return 0
++ try_dirg "/usr/src/iptables" && return 0
++ try_dir2 `locate $VER/extensions 2>/dev/null | head -1` && return 0
++ echo "! Can not find iptables source directory, you may try setting it with --ipt-src="
++ echo "! This is not fatal error, yet. Will be just using default include dir."
++ NOIPTSRC=1
+ fi
+ }
+
+@@ -206,18 +263,110 @@ do
+ esac
+ done
+
+-test "$KVERSION" || KVERSION=`uname -r`
+-echo Kernel version: $KVERSION
++kernel_find_version() {
++ KHOW=requested
++ test "$KVERSION" && return 0
++
++ if grep -q '#.*Debian' /proc/version; then
++ KHOW=proc
++ KVERSION=`sed -n 's/.*#.*Debian \([0-9\.]\+\)-.*/\1/p' /proc/version`
++ KLIBMOD=`uname -r`
++ else
++ KHOW=uname
++ KVERSION=`uname -r`
++ fi
++ test "$KDIR" || return 0
++
++ test -s $KDIR/Makefile || return 1
++ test -s $KDIR/include/config/kernel.release || return 1
++ KVERSION=`cat $KDIR/include/config/kernel.release`
++ KHOW=sources
++}
++
++kernel_check_src() {
++ if [ -s "$1/Makefile" ]; then
++ KDIR="$1"
++ return 0
++ fi
++ return 1
++}
++
++kernel_find_source() {
++ KSHOW=requested
++ test "$KDIR" && return 0
++ KSHOW=found
++ kernel_check_src /lib/modules/$KLIBMOD/build && return 0
++ kernel_check_src /lib/modules/$KVERSION/build && return 0
++ kernel_check_src /usr/src/kernels/$KVERSION && return 0
++ kernel_check_src /usr/src/linux-$KVERSION && return 0
++ echo "! Linux source not found. Don't panic. You may specify kernel source"
++ echo "! directory with --kdir=..., or try to install kernel-devel package,"
++ echo "! or just raw sources for linux-$KVERSION from kernel.org."
++ if grep -q -i centos /proc/version 2>/dev/null; then
++ echo "! "
++ arch=.`uname -m`
++ echo "! Under Centos simply run this:"
++ echo "! root# yum install kernel-devel iptables-devel$arch pkgconfig"
++ fi
++ if grep -q -i debian /proc/version 2>/dev/null; then
++ echo "! "
++ echo "! Under Debian simply run this:"
++ echo "! root# apt-get install module-assistant iptables-dev pkg-config"
++ echo "! root# m-a prepare"
++ fi
++ exit 1
++}
++
++kernel_check_consistency() {
++ if test -s $KDIR/include/config/kernel.release; then
++ SRCVER=`cat $KDIR/include/config/kernel.release`
++ test "$KVERSION" != "$SRCVER" && error "$KHOW kernel version ($KVERSION) and $KSHOW version of kernel source ($SRCVER) doesn't match!\n!" \
++ "You may try to specify only kernel source tree with --kdir=$KDIR\n!" \
++ "and configure will pick up version properly."
++ else
++ test -e "$KDIR/.config" || error ".config in kernel source not found, run make menuconfig in $KDIR"
++ test -d "$KDIR/include/config" || error "kernel is not prepared, run make prepare modules_prepare in $KDIR"
++ fi
++}
++
++kconfig() {
++ KCONFIG=$KDIR/.config
++ if ! grep -q "^$1=" $KCONFIG 2>/dev/null; then
++ if [ "$KCONFIGREPORTED" != true ]; then
++ KCONFIGREPORTED=true
++ echo Kernel config file checked: $KCONFIG
++ echo
++ fi
++ echo "! Attention: $1 is undefined in your kernel configuration"
++ echo "! Without this option enabled $2 will not work."
++ echo
++ fi
++}
++
++kernel_check_config() {
++ kconfig CONFIG_SYSCTL "sysctl interface"
++ kconfig CONFIG_PROC_FS "proc interface"
++ kconfig CONFIG_NF_NAT_NEEDED "natevents"
++ kconfig CONFIG_NF_CONNTRACK_EVENTS "natevents"
++ kconfig CONFIG_NF_CONNTRACK_MARK "connmark tracking"
++ kconfig CONFIG_IPV6 "IPv6"
++ kconfig CONFIG_IP6_NF_IPTABLES "ip6tables target"
++}
+
+-test "$KDIR" || KDIR=/lib/modules/$KVERSION/build
+-echo Kernel sources: $KDIR
++kernel_find_version #KVERSION
++test "$KLIBMOD" || KLIBMOD=$KVERSION
++echo "Kernel version: $KVERSION ($KHOW)"
++kernel_find_source #KDIR
++echo "Kernel sources: $KDIR ($KSHOW)"
++kernel_check_consistency
++kernel_check_config
+
+ test "$IPTBIN" || IPTBIN=`which iptables`
+
+-iptables_ver #IPTVER
+-iptables_pkg_config
+-iptables_dir #IPTSRC
+-iptables_src_version #check IPTSRC match to IPTVER
++iptables_find_version #IPTVER
++iptables_try_pkgconfig #try to configure from pkg-config
++iptables_find_src #IPTSRC
++iptables_src_version #check that IPTSRC match to IPTVER
+ iptables_inc #IPTINC
+ iptables_modules #IPTLIB
+
+@@ -225,7 +374,6 @@ REPLACE="\
+ s!@KVERSION@!$KVERSION!;\
+ s!@KDIR@!$KDIR!;\
+ s!@IPTABLES_VERSION@!$IPTVER!;\
+-s!@IPTABLES_INCLUDES@!$IPTINC!;\
+ s!@IPTABLES_CFLAGS@!$IPTCFLAGS $IPTINC!;\
+ s!@IPTABLES_MODULES@!$IPTLIB!"
+
+diff --git a/ipt_NETFLOW.c b/ipt_NETFLOW.c
+index d4c91e1..ad974c5 100644
+--- a/ipt_NETFLOW.c
++++ b/ipt_NETFLOW.c
+@@ -1,6 +1,6 @@
+ /*
+ * This is NetFlow exporting module (NETFLOW target) for linux
+- * (c) 2008-2012 <abc@telekom.ru>
++ * (c) 2008-2013 <abc@telekom.ru>
+ *
+ *
+ * This program is free software: you can redistribute it and/or modify
+@@ -18,8 +18,6 @@
+ *
+ */
+
+-//#define RAW_PROMISC_HACK
+-
+ #include <linux/module.h>
+ #include <linux/skbuff.h>
+ #include <linux/proc_fs.h>
+@@ -31,16 +29,26 @@
+ #include <linux/icmp.h>
+ #include <linux/igmp.h>
+ #include <linux/inetdevice.h>
+-#include <linux/jhash.h>
++#include <linux/hash.h>
++#include <linux/delay.h>
++#include <linux/spinlock_types.h>
+ #include <net/icmp.h>
+ #include <net/ip.h>
++#include <net/ipv6.h>
+ #include <net/tcp.h>
+ #include <net/route.h>
++#include <net/ip6_fib.h>
+ #include <net/dst.h>
+ #include <linux/netfilter_ipv4/ip_tables.h>
++#if defined(CONFIG_NF_NAT_NEEDED) || defined(CONFIG_NF_CONNTRACK_MARK)
++#include <linux/notifier.h>
++#include <net/netfilter/nf_conntrack.h>
++#include <net/netfilter/nf_conntrack_core.h>
++#endif
+ #include <linux/version.h>
+ #include <asm/unaligned.h>
+ #include "ipt_NETFLOW.h"
++#include "murmur3.h"
+ #ifdef CONFIG_BRIDGE_NETFILTER
+ #include <linux/netfilter_bridge.h>
+ #endif
+@@ -74,41 +82,66 @@
+ #define ipt_target xt_target
+ #endif
+
+-#define IPT_NETFLOW_VERSION "1.8"
++#define IPT_NETFLOW_VERSION "1.8.2" /* Note that if you are using git, you
++ will see version in other format. */
++#include "version.h"
++#ifdef GITVERSION
++#undef IPT_NETFLOW_VERSION
++#define IPT_NETFLOW_VERSION GITVERSION
++#endif
+
+ MODULE_LICENSE("GPL");
+ MODULE_AUTHOR("<abc@telekom.ru>");
+ MODULE_DESCRIPTION("iptables NETFLOW target module");
+ MODULE_VERSION(IPT_NETFLOW_VERSION);
++MODULE_ALIAS("ip6t_NETFLOW");
+
+ #define DST_SIZE 256
+ static char destination_buf[DST_SIZE] = "127.0.0.1:2055";
+ static char *destination = destination_buf;
+-module_param(destination, charp, 0400);
++module_param(destination, charp, 0444);
+ MODULE_PARM_DESC(destination, "export destination ipaddress:port");
+
+ static int inactive_timeout = 15;
+-module_param(inactive_timeout, int, 0600);
++module_param(inactive_timeout, int, 0644);
+ MODULE_PARM_DESC(inactive_timeout, "inactive flows timeout in seconds");
+
+ static int active_timeout = 30 * 60;
+-module_param(active_timeout, int, 0600);
++module_param(active_timeout, int, 0644);
+ MODULE_PARM_DESC(active_timeout, "active flows timeout in seconds");
+
+ static int debug = 0;
+-module_param(debug, int, 0600);
++module_param(debug, int, 0644);
+ MODULE_PARM_DESC(debug, "debug verbosity level");
+
+ static int sndbuf;
+-module_param(sndbuf, int, 0400);
++module_param(sndbuf, int, 0444);
+ MODULE_PARM_DESC(sndbuf, "udp socket SNDBUF size");
+
++static int protocol = 5;
++module_param(protocol, int, 0444);
++MODULE_PARM_DESC(protocol, "netflow protocol version (5, 9, 10)");
++
++static unsigned int refresh_rate = 20;
++module_param(refresh_rate, uint, 0644);
++MODULE_PARM_DESC(refresh_rate, "NetFlow v9/IPFIX refresh rate (packets)");
++
++static unsigned int timeout_rate = 30;
++module_param(timeout_rate, uint, 0644);
++MODULE_PARM_DESC(timeout_rate, "NetFlow v9/IPFIX timeout rate (minutes)");
++
++#ifdef CONFIG_NF_NAT_NEEDED
++static int natevents = 0;
++module_param(natevents, int, 0444);
++MODULE_PARM_DESC(natevents, "send NAT Events");
++#endif
++
+ static int hashsize;
+-module_param(hashsize, int, 0400);
++module_param(hashsize, int, 0444);
+ MODULE_PARM_DESC(hashsize, "hash table size");
+
+ static int maxflows = 2000000;
+-module_param(maxflows, int, 0600);
++module_param(maxflows, int, 0644);
+ MODULE_PARM_DESC(maxflows, "maximum number of flows");
+ static int peakflows = 0;
+ static unsigned long peakflows_at;
+@@ -121,22 +154,52 @@ MODULE_PARM_DESC(aggregation, "aggregation ruleset");
+
+ static DEFINE_PER_CPU(struct ipt_netflow_stat, ipt_netflow_stat);
+ static LIST_HEAD(usock_list);
+-static DEFINE_RWLOCK(sock_lock);
++static DEFINE_MUTEX(sock_lock);
+
++#define LOCK_COUNT (1<<8)
++#define LOCK_COUNT_MASK (LOCK_COUNT-1)
++static spinlock_t htable_locks[LOCK_COUNT] = {
++ [0 ... LOCK_COUNT - 1] = __SPIN_LOCK_UNLOCKED(htable_locks)
++};
++static DEFINE_RWLOCK(htable_rwlock); /* global lock to protect htable_locks change */
+ static unsigned int ipt_netflow_hash_rnd;
+-struct hlist_head *ipt_netflow_hash __read_mostly; /* hash table memory */
++static struct hlist_head *ipt_netflow_hash __read_mostly; /* hash table memory */
+ static unsigned int ipt_netflow_hash_size __read_mostly = 0; /* buckets */
+ static LIST_HEAD(ipt_netflow_list); /* all flows */
++static DEFINE_SPINLOCK(hlist_lock); /* should almost always be locked w/o _bh */
+ static LIST_HEAD(aggr_n_list);
+ static LIST_HEAD(aggr_p_list);
+ static DEFINE_RWLOCK(aggr_lock);
++#ifdef CONFIG_NF_NAT_NEEDED
++static LIST_HEAD(nat_list); /* nat events */
++static DEFINE_SPINLOCK(nat_lock);
++static unsigned long nat_events_start = 0;
++static unsigned long nat_events_stop = 0;
++#endif
+ static struct kmem_cache *ipt_netflow_cachep __read_mostly; /* ipt_netflow memory */
+ static atomic_t ipt_netflow_count = ATOMIC_INIT(0);
+-static DEFINE_SPINLOCK(ipt_netflow_lock); /* hash table lock */
+
+-static long long pdu_packets = 0, pdu_traf = 0;
+-static struct netflow5_pdu pdu;
+-static unsigned long pdu_ts_mod;
++static long long pdu_packets = 0, pdu_traf = 0; /* how much accounted traffic in pdu */
++static unsigned int pdu_count = 0;
++static unsigned int pdu_seq = 0;
++static unsigned int pdu_data_records = 0;
++static unsigned int pdu_tpl_records = 0;
++static unsigned long pdu_ts_mod; /* ts of last flow */
++static union {
++ struct netflow5_pdu v5;
++ struct netflow9_pdu v9;
++ struct ipfix_pdu ipfix;
++} pdu;
++static int engine_id = 0; /* Observation Domain */
++static __u8 *pdu_data_used;
++static __u8 *pdu_high_wm; /* high watermark */
++static unsigned int pdu_max_size; /* sizeof pdu */
++static struct flowset_data *pdu_flowset = NULL; /* current data flowset */
++
++static void (*netflow_export_flow)(struct ipt_netflow *nf);
++static void (*netflow_export_pdu)(void); /* called on timeout */
++static void netflow_switch_version(int ver);
++
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
+ static void netflow_work_fn(void *work);
+ static DECLARE_WORK(netflow_work, netflow_work_fn, NULL);
+@@ -146,19 +209,26 @@ static DECLARE_DELAYED_WORK(netflow_work, netflow_work_fn);
+ #endif
+ static struct timer_list rate_timer;
+
++#define TCP_SYN_ACK 0x12
+ #define TCP_FIN_RST 0x05
+
+ static long long sec_prate = 0, sec_brate = 0;
+ static long long min_prate = 0, min_brate = 0;
+ static long long min5_prate = 0, min5_brate = 0;
+-static unsigned int metric = 10, min15_metric = 10, min5_metric = 10, min_metric = 10; /* hash metrics */
++static unsigned int metric = 100, min15_metric = 100, min5_metric = 100, min_metric = 100; /* hash metrics */
+
+ static int set_hashsize(int new_size);
+ static void destination_removeall(void);
+ static int add_destinations(char *ptr);
+ static void aggregation_remove(struct list_head *list);
+ static int add_aggregation(char *ptr);
+-static void netflow_scan_and_export(int flush);
++static int netflow_scan_and_export(int flush);
++enum {
++ DONT_FLUSH, AND_FLUSH
++};
++static int template_ids = FLOWSET_DATA_FIRST;
++static int tpl_count = 0; /* how much active templates */
++
+
+ static inline __be32 bits2mask(int bits) {
+ return (bits? 0xffffffff << (32 - bits) : 0);
+@@ -175,28 +245,46 @@ static inline int mask2bits(__be32 mask) {
+ /* under that lock worker is always stopped and not rescheduled,
+ * and we can call worker sub-functions manually */
+ static DEFINE_MUTEX(worker_lock);
+-static inline void __start_scan_worker(void)
++#define MIN_DELAY 1
++#define MAX_DELAY (HZ / 10)
++static int worker_delay = HZ / 10;
++static inline void _schedule_scan_worker(const int status)
+ {
+- schedule_delayed_work(&netflow_work, HZ / 10);
++ /* rudimentary congestion avoidance */
++ if (status > 0)
++ worker_delay -= status;
++ else if (status < 0)
++ worker_delay /= 2;
++ else
++ worker_delay++;
++ if (worker_delay < MIN_DELAY)
++ worker_delay = MIN_DELAY;
++ else if (worker_delay > MAX_DELAY)
++ worker_delay = MAX_DELAY;
++ schedule_delayed_work(&netflow_work, worker_delay);
+ }
+
+-static inline void start_scan_worker(void)
++/* This is only called soon after pause_scan_worker. */
++static inline void cont_scan_worker(void)
+ {
+- __start_scan_worker();
++ _schedule_scan_worker(0);
+ mutex_unlock(&worker_lock);
+ }
+
+-/* we always stop scanner before write_lock(&sock_lock)
+- * to let it never hold that spin lock */
+-static inline void __stop_scan_worker(void)
++static inline void _unschedule_scan_worker(void)
+ {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23)
++ cancel_rearming_delayed_work(&netflow_work);
++#else
+ cancel_delayed_work_sync(&netflow_work);
++#endif
+ }
+
+-static inline void stop_scan_worker(void)
++/* This is only used for quick pause (in procctl). */
++static inline void pause_scan_worker(void)
+ {
+ mutex_lock(&worker_lock);
+- __stop_scan_worker();
++ _unschedule_scan_worker();
+ }
+
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
+@@ -223,11 +311,14 @@ static int nf_seq_show(struct seq_file *seq, void *v)
+ int snum = 0;
+ int peak = (jiffies - peakflows_at) / HZ;
+
+- seq_printf(seq, "Flows: active %u (peak %u reached %ud%uh%um ago), mem %uK\n",
++ seq_printf(seq, "ipt_NETFLOW version " IPT_NETFLOW_VERSION ", srcversion %s\n",
++ THIS_MODULE->srcversion);
++ seq_printf(seq, "Flows: active %u (peak %u reached %ud%uh%um ago), mem %uK, worker delay %d/%d.\n",
+ nr_flows,
+ peakflows,
+ peak / (60 * 60 * 24), (peak / (60 * 60)) % 24, (peak / 60) % 60,
+- (unsigned int)((nr_flows * sizeof(struct ipt_netflow)) >> 10));
++ (unsigned int)((nr_flows * sizeof(struct ipt_netflow)) >> 10),
++ worker_delay, HZ);
+
+ for_each_present_cpu(cpu) {
+ struct ipt_netflow_stat *st = &per_cpu(ipt_netflow_stat, cpu);
+@@ -252,93 +343,123 @@ static int nf_seq_show(struct seq_file *seq, void *v)
+ }
+
+ #define FFLOAT(x, prec) (int)(x) / prec, (int)(x) % prec
+- seq_printf(seq, "Hash: size %u (mem %uK), metric %d.%d, %d.%d, %d.%d, %d.%d. MemTraf: %llu pkt, %llu K (pdu %llu, %llu).\n",
+- ipt_netflow_hash_size,
+- (unsigned int)((ipt_netflow_hash_size * sizeof(struct hlist_head)) >> 10),
+- FFLOAT(metric, 10),
+- FFLOAT(min_metric, 10),
+- FFLOAT(min5_metric, 10),
+- FFLOAT(min15_metric, 10),
+- pkt_total - pkt_out + pdu_packets,
+- (traf_total - traf_out + pdu_traf) >> 10,
+- pdu_packets,
+- pdu_traf);
+-
+- seq_printf(seq, "Timeout: active %d, inactive %d. Maxflows %u\n",
+- active_timeout,
+- inactive_timeout,
+- maxflows);
+-
+- seq_printf(seq, "Rate: %llu bits/sec, %llu packets/sec; Avg 1 min: %llu bps, %llu pps; 5 min: %llu bps, %llu pps\n",
+- sec_brate, sec_prate, min_brate, min_prate, min5_brate, min5_prate);
+-
+- seq_printf(seq, "cpu# stat: <search found new, trunc frag alloc maxflows>, sock: <ok fail cberr, bytes>, traffic: <pkt, bytes>, drop: <pkt, bytes>\n");
+-
+- seq_printf(seq, "Total stat: %6llu %6llu %6llu, %4u %4u %4u %4u, sock: %6u %u %u, %llu K, traffic: %llu, %llu MB, drop: %llu, %llu K\n",
+- (unsigned long long)searched,
+- (unsigned long long)found,
+- (unsigned long long)notfound,
+- truncated, frags, alloc_err, maxflows_err,
+- send_success, send_failed, sock_errors,
+- (unsigned long long)exported_size >> 10,
+- (unsigned long long)pkt_total, (unsigned long long)traf_total >> 20,
+- (unsigned long long)pkt_drop, (unsigned long long)traf_drop >> 10);
++ seq_printf(seq, "Hash: size %u (mem %uK), metric %d.%02d [%d.%02d, %d.%02d, %d.%02d]."
++ " MemTraf: %llu pkt, %llu K (pdu %llu, %llu), Out %llu pkt, %llu K.\n",
++ ipt_netflow_hash_size,
++ (unsigned int)((ipt_netflow_hash_size * sizeof(struct hlist_head)) >> 10),
++ FFLOAT(metric, 100),
++ FFLOAT(min_metric, 100),
++ FFLOAT(min5_metric, 100),
++ FFLOAT(min15_metric, 100),
++ pkt_total - pkt_out + pdu_packets,
++ (traf_total - traf_out + pdu_traf) >> 10,
++ pdu_packets,
++ pdu_traf,
++ pkt_out,
++ traf_out >> 10);
++
++ seq_printf(seq, "Rate: %llu bits/sec, %llu packets/sec;"
++ " Avg 1 min: %llu bps, %llu pps; 5 min: %llu bps, %llu pps\n",
++ sec_brate, sec_prate, min_brate, min_prate, min5_brate, min5_prate);
++
++ seq_printf(seq, "cpu# stat: <search found new [metric], trunc frag alloc maxflows>,"
++ " sock: <ok fail cberr, bytes>, traffic: <pkt, bytes>, drop: <pkt, bytes>\n");
++
++#define SAFEDIV(x,y) ((y)? ({ u64 __tmp = x; do_div(__tmp, y); (int)__tmp; }) : 0)
++ seq_printf(seq, "Total stat: %6llu %6llu %6llu [%d.%02d], %4u %4u %4u %4u,"
++ " sock: %6u %u %u, %llu K, traffic: %llu, %llu MB, drop: %llu, %llu K\n",
++ searched,
++ (unsigned long long)found,
++ (unsigned long long)notfound,
++ FFLOAT(SAFEDIV(100LL * (searched + found + notfound), (found + notfound)), 100),
++ truncated, frags, alloc_err, maxflows_err,
++ send_success, send_failed, sock_errors,
++ (unsigned long long)exported_size >> 10,
++ (unsigned long long)pkt_total, (unsigned long long)traf_total >> 20,
++ (unsigned long long)pkt_drop, (unsigned long long)traf_drop >> 10);
+
+ if (num_present_cpus() > 1) {
+ for_each_present_cpu(cpu) {
+ struct ipt_netflow_stat *st;
+
+ st = &per_cpu(ipt_netflow_stat, cpu);
+- seq_printf(seq, "cpu%u stat: %6llu %6llu %6llu, %4u %4u %4u %4u, sock: %6u %u %u, %llu K, traffic: %llu, %llu MB, drop: %llu, %llu K\n",
+- cpu,
+- (unsigned long long)st->searched,
+- (unsigned long long)st->found,
+- (unsigned long long)st->notfound,
+- st->truncated, st->frags, st->alloc_err, st->maxflows_err,
+- st->send_success, st->send_failed, st->sock_errors,
+- (unsigned long long)st->exported_size >> 10,
+- (unsigned long long)st->pkt_total, (unsigned long long)st->traf_total >> 20,
+- (unsigned long long)st->pkt_drop, (unsigned long long)st->traf_drop >> 10);
++ seq_printf(seq, "cpu%u stat: %6llu %6llu %6llu [%d.%02d], %4u %4u %4u %4u,"
++ " sock: %6u %u %u, %llu K, traffic: %llu, %llu MB, drop: %llu, %llu K\n",
++ cpu,
++ (unsigned long long)st->searched,
++ (unsigned long long)st->found,
++ (unsigned long long)st->notfound,
++ FFLOAT(SAFEDIV(100LL * (st->searched + st->found + st->notfound), (st->found + st->notfound)), 100),
++ st->truncated, st->frags, st->alloc_err, st->maxflows_err,
++ st->send_success, st->send_failed, st->sock_errors,
++ (unsigned long long)st->exported_size >> 10,
++ (unsigned long long)st->pkt_total, (unsigned long long)st->traf_total >> 20,
++ (unsigned long long)st->pkt_drop, (unsigned long long)st->traf_drop >> 10);
+ }
+ }
+
+- read_lock(&sock_lock);
++ seq_printf(seq, "Protocol version %d", protocol);
++ if (protocol == 10)
++ seq_printf(seq, " (ipfix)");
++ else
++ seq_printf(seq, " (netflow)");
++ if (protocol >= 9)
++ seq_printf(seq, ", refresh-rate %u, timeout-rate %u, (templates %d, active %d)",
++ refresh_rate, timeout_rate, template_ids - FLOWSET_DATA_FIRST, tpl_count);
++
++ seq_printf(seq, ". Timeouts: active %d, inactive %d. Maxflows %u\n",
++ active_timeout,
++ inactive_timeout,
++ maxflows);
++
++#ifdef CONFIG_NF_NAT_NEEDED
++ seq_printf(seq, "Natevents %s, count start %lu, stop %lu.\n", natevents? "enabled" : "disabled",
++ nat_events_start, nat_events_stop);
++#endif
++
++ mutex_lock(&sock_lock);
+ list_for_each_entry(usock, &usock_list, list) {
+- struct sock *sk = usock->sock->sk;
+-
+- seq_printf(seq, "sock%d: %u.%u.%u.%u:%u, sndbuf %u, filled %u, peak %u; err: sndbuf reached %u, other %u\n",
+- snum,
+- usock->ipaddr >> 24,
+- (usock->ipaddr >> 16) & 255,
+- (usock->ipaddr >> 8) & 255,
+- usock->ipaddr & 255,
+- usock->port,
+- sk->sk_sndbuf,
+- atomic_read(&sk->sk_wmem_alloc),
+- atomic_read(&usock->wmem_peak),
+- atomic_read(&usock->err_full),
+- atomic_read(&usock->err_other));
++ seq_printf(seq, "sock%d: %u.%u.%u.%u:%u",
++ snum,
++ HIPQUAD(usock->ipaddr),
++ usock->port);
++ if (usock->sock) {
++ struct sock *sk = usock->sock->sk;
++
++ seq_printf(seq, ", sndbuf %u, filled %u, peak %u;"
++ " err: sndbuf reached %u, connect %u, other %u\n",
++ sk->sk_sndbuf,
++ atomic_read(&sk->sk_wmem_alloc),
++ atomic_read(&usock->wmem_peak),
++ atomic_read(&usock->err_full),
++ atomic_read(&usock->err_connect),
++ atomic_read(&usock->err_other));
++ } else
++ seq_printf(seq, " unconnected (%u attempts).\n",
++ atomic_read(&usock->err_connect));
+ snum++;
+ }
+- read_unlock(&sock_lock);
++ mutex_unlock(&sock_lock);
+
+ read_lock_bh(&aggr_lock);
+ snum = 0;
+ list_for_each_entry(aggr_n, &aggr_n_list, list) {
+- seq_printf(seq, "aggr#%d net: match %u.%u.%u.%u/%d strip %d\n",
+- snum,
+- HIPQUAD(aggr_n->addr),
+- mask2bits(aggr_n->mask),
+- mask2bits(aggr_n->aggr_mask));
++ seq_printf(seq, "aggr#%d net: match %u.%u.%u.%u/%d strip %d (usage %u)\n",
++ snum,
++ HIPQUAD(aggr_n->addr),
++ mask2bits(aggr_n->mask),
++ mask2bits(aggr_n->aggr_mask),
++ atomic_read(&aggr_n->usage));
+ snum++;
+ }
+ snum = 0;
+ list_for_each_entry(aggr_p, &aggr_p_list, list) {
+- seq_printf(seq, "aggr#%d port: ports %u-%u replace %u\n",
+- snum,
+- aggr_p->port1,
+- aggr_p->port2,
+- aggr_p->aggr_port);
++ seq_printf(seq, "aggr#%d port: ports %u-%u replace %u (usage %u)\n",
++ snum,
++ aggr_p->port1,
++ aggr_p->port2,
++ aggr_p->aggr_port,
++ atomic_read(&aggr_p->usage));
+ snum++;
+ }
+ read_unlock_bh(&aggr_lock);
+@@ -367,8 +488,13 @@ static struct file_operations nf_seq_fops = {
+ #define BEFORE2632(x,y)
+ #endif
+
++/* PAX need to know that we are allowed to write */
++#ifndef CONSTIFY_PLUGIN
++#define ctl_table_no_const ctl_table
++#endif
++
+ /* sysctl /proc/sys/net/netflow */
+-static int hsize_procctl(ctl_table *ctl, int write, BEFORE2632(struct file *filp,)
++static int hsize_procctl(ctl_table_no_const *ctl, int write, BEFORE2632(struct file *filp,)
+ void __user *buffer, size_t *lenp, loff_t *fpos)
+ {
+ void *orig = ctl->data;
+@@ -386,20 +512,21 @@ static int hsize_procctl(ctl_table *ctl, int write, BEFORE2632(struct file *filp
+ return ret;
+ }
+
+-static int sndbuf_procctl(ctl_table *ctl, int write, BEFORE2632(struct file *filp,)
++static int sndbuf_procctl(ctl_table_no_const *ctl, int write, BEFORE2632(struct file *filp,)
+ void __user *buffer, size_t *lenp, loff_t *fpos)
+ {
+ int ret;
+ struct ipt_netflow_sock *usock;
+-
+- read_lock(&sock_lock);
++
++ mutex_lock(&sock_lock);
+ if (list_empty(&usock_list)) {
+- read_unlock(&sock_lock);
++ mutex_unlock(&sock_lock);
+ return -ENOENT;
+ }
+ usock = list_first_entry(&usock_list, struct ipt_netflow_sock, list);
+- sndbuf = usock->sock->sk->sk_sndbuf;
+- read_unlock(&sock_lock);
++ if (usock->sock)
++ sndbuf = usock->sock->sk->sk_sndbuf;
++ mutex_unlock(&sock_lock);
+
+ ctl->data = &sndbuf;
+ ret = proc_dointvec(ctl, write, BEFORE2632(filp,) buffer, lenp, fpos);
+@@ -407,13 +534,14 @@ static int sndbuf_procctl(ctl_table *ctl, int write, BEFORE2632(struct file *fil
+ return ret;
+ if (sndbuf < SOCK_MIN_SNDBUF)
+ sndbuf = SOCK_MIN_SNDBUF;
+- stop_scan_worker();
+- write_lock(&sock_lock);
++ pause_scan_worker();
++ mutex_lock(&sock_lock);
+ list_for_each_entry(usock, &usock_list, list) {
+- usock->sock->sk->sk_sndbuf = sndbuf;
++ if (usock->sock)
++ usock->sock->sk->sk_sndbuf = sndbuf;
+ }
+- write_unlock(&sock_lock);
+- start_scan_worker();
++ mutex_unlock(&sock_lock);
++ cont_scan_worker();
+ return ret;
+ }
+
+@@ -424,10 +552,10 @@ static int destination_procctl(ctl_table *ctl, int write, BEFORE2632(struct file
+
+ ret = proc_dostring(ctl, write, BEFORE2632(filp,) buffer, lenp, fpos);
+ if (ret >= 0 && write) {
+- stop_scan_worker();
++ pause_scan_worker();
+ destination_removeall();
+ add_destinations(destination_buf);
+- start_scan_worker();
++ cont_scan_worker();
+ }
+ return ret;
+ }
+@@ -446,13 +574,12 @@ static int aggregation_procctl(ctl_table *ctl, int write, BEFORE2632(struct file
+ return ret;
+ }
+
+-static int flush_procctl(ctl_table *ctl, int write, BEFORE2632(struct file *filp,)
++static int flush_procctl(ctl_table_no_const *ctl, int write, BEFORE2632(struct file *filp,)
+ void __user *buffer, size_t *lenp, loff_t *fpos)
+ {
+ int ret;
+- int val;
++ int val = 0;
+
+- val = 0;
+ ctl->data = &val;
+ ret = proc_dointvec(ctl, write, BEFORE2632(filp,) buffer, lenp, fpos);
+
+@@ -461,14 +588,67 @@ static int flush_procctl(ctl_table *ctl, int write, BEFORE2632(struct file *filp
+
+ if (val > 0) {
+ printk(KERN_INFO "ipt_NETFLOW: forced flush\n");
+- stop_scan_worker();
+- netflow_scan_and_export(1);
+- start_scan_worker();
++ pause_scan_worker();
++ netflow_scan_and_export(AND_FLUSH);
++ cont_scan_worker();
++ }
++
++ return ret;
++}
++
++static int protocol_procctl(ctl_table *ctl, int write, BEFORE2632(struct file *filp,)
++ void __user *buffer, size_t *lenp, loff_t *fpos)
++{
++ int ret;
++ int ver = protocol;
++
++ ctl->data = &ver;
++ ret = proc_dointvec(ctl, write, BEFORE2632(filp,) buffer, lenp, fpos);
++
++ if (!write)
++ return ret;
++
++ switch (ver) {
++ case 5:
++ case 9:
++ case 10:
++ printk(KERN_INFO "ipt_NETFLOW: forced flush (protocol version change)\n");
++ pause_scan_worker();
++ netflow_scan_and_export(AND_FLUSH);
++ netflow_switch_version(ver);
++ cont_scan_worker();
++ break;
++ default:
++ return -EPERM;
+ }
+
+ return ret;
+ }
+
++#ifdef CONFIG_NF_NAT_NEEDED
++static void register_ct_events(void);
++static void unregister_ct_events(void);
++static int natevents_procctl(ctl_table *ctl, int write, BEFORE2632(struct file *filp,)
++ void __user *buffer, size_t *lenp, loff_t *fpos)
++{
++ int ret;
++ int val = natevents;
++
++ ctl->data = &val;
++ ret = proc_dointvec(ctl, write, BEFORE2632(filp,) buffer, lenp, fpos);
++
++ if (!write)
++ return ret;
++
++ if (natevents && !val)
++ unregister_ct_events();
++ else if (!natevents && val)
++ register_ct_events();
++
++ return ret;
++}
++#endif
++
+ static struct ctl_table_header *netflow_sysctl_header;
+
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
+@@ -547,6 +727,38 @@ static struct ctl_table netflow_sysctl_table[] = {
+ .maxlen = sizeof(int),
+ .proc_handler = &flush_procctl,
+ },
++ {
++ _CTL_NAME(10)
++ .procname = "protocol",
++ .mode = 0644,
++ .maxlen = sizeof(int),
++ .proc_handler = &protocol_procctl,
++ },
++ {
++ _CTL_NAME(11)
++ .procname = "refresh-rate",
++ .mode = 0644,
++ .data = &refresh_rate,
++ .maxlen = sizeof(int),
++ .proc_handler = &proc_dointvec,
++ },
++ {
++ _CTL_NAME(12)
++ .procname = "timeout-rate",
++ .mode = 0644,
++ .data = &timeout_rate,
++ .maxlen = sizeof(int),
++ .proc_handler = &proc_dointvec,
++ },
++#ifdef CONFIG_NF_NAT_NEEDED
++ {
++ _CTL_NAME(13)
++ .procname = "natevents",
++ .mode = 0644,
++ .maxlen = sizeof(int),
++ .proc_handler = &natevents_procctl,
++ },
++#endif
+ { }
+ };
+
+@@ -588,18 +800,69 @@ static struct ctl_path netflow_sysctl_path[] = {
+ static void sk_error_report(struct sock *sk)
+ {
+ /* clear connection refused errors if any */
+- write_lock_bh(&sk->sk_callback_lock);
+ if (debug > 1)
+- printk(KERN_INFO "NETFLOW: socket error <%d>\n", sk->sk_err);
++ printk(KERN_INFO "ipt_NETFLOW: socket error <%d>\n", sk->sk_err);
+ sk->sk_err = 0;
+ NETFLOW_STAT_INC(sock_errors);
+- write_unlock_bh(&sk->sk_callback_lock);
+ return;
+ }
+
++static struct socket *_usock_alloc(const __be32 ipaddr, const unsigned short port)
++{
++ struct sockaddr_in sin;
++ struct socket *sock;
++ int error;
++
++ if ((error = sock_create_kern(PF_INET, SOCK_DGRAM, IPPROTO_UDP, &sock)) < 0) {
++ printk(KERN_ERR "ipt_NETFLOW: sock_create_kern error %d\n", -error);
++ return NULL;
++ }
++ sock->sk->sk_allocation = GFP_ATOMIC;
++ sock->sk->sk_prot->unhash(sock->sk); /* hidden from input */
++ sock->sk->sk_error_report = &sk_error_report; /* clear ECONNREFUSED */
++ if (sndbuf)
++ sock->sk->sk_sndbuf = sndbuf;
++ else
++ sndbuf = sock->sk->sk_sndbuf;
++ memset(&sin, 0, sizeof(sin));
++ sin.sin_family = AF_INET;
++ sin.sin_addr.s_addr = htonl(ipaddr);
++ sin.sin_port = htons(port);
++ if ((error = sock->ops->connect(sock, (struct sockaddr *)&sin,
++ sizeof(sin), 0)) < 0) {
++ printk(KERN_ERR "ipt_NETFLOW: error connecting UDP socket %d,"
++ " don't worry, will try reconnect later.\n", -error);
++ /* ENETUNREACH when no interfaces */
++ sock_release(sock);
++ return NULL;
++ }
++ return sock;
++}
++
++static void usock_connect(struct ipt_netflow_sock *usock, const int sendmsg)
++{
++ usock->sock = _usock_alloc(usock->ipaddr, usock->port);
++ if (usock->sock) {
++ if (sendmsg || debug)
++ printk(KERN_INFO "ipt_NETFLOW: connected %u.%u.%u.%u:%u\n",
++ HIPQUAD(usock->ipaddr),
++ usock->port);
++ } else {
++ atomic_inc(&usock->err_connect);
++ if (debug)
++ printk(KERN_INFO "ipt_NETFLOW: connect to %u.%u.%u.%u:%u failed%s.\n",
++ HIPQUAD(usock->ipaddr),
++ usock->port,
++ (sendmsg)? " (pdu lost)" : "");
++ }
++ atomic_set(&usock->wmem_peak, 0);
++ atomic_set(&usock->err_full, 0);
++ atomic_set(&usock->err_other, 0);
++}
++
+ // return numbers of sends succeded, 0 if none
+ /* only called in scan worker path */
+-static int netflow_send_pdu(void *buffer, int len)
++static void netflow_sendmsg(void *buffer, const int len)
+ {
+ struct msghdr msg = { .msg_flags = MSG_DONTWAIT|MSG_NOSIGNAL };
+ struct kvec iov = { buffer, len };
+@@ -607,9 +870,16 @@ static int netflow_send_pdu(void *buffer, int len)
+ int snum = 0;
+ struct ipt_netflow_sock *usock;
+
++ mutex_lock(&sock_lock);
+ list_for_each_entry(usock, &usock_list, list) {
++ if (!usock->sock)
++ usock_connect(usock, 1);
++ if (!usock->sock) {
++ NETFLOW_STAT_INC_ATOMIC(send_failed);
++ continue;
++ }
+ if (debug)
+- printk(KERN_INFO "netflow_send_pdu: sendmsg(%d, %d) [%u %u]\n",
++ printk(KERN_INFO "netflow_sendmsg: sendmsg(%d, %d) [%u %u]\n",
+ snum,
+ len,
+ atomic_read(&usock->sock->sk->sk_wmem_alloc),
+@@ -624,7 +894,7 @@ static int netflow_send_pdu(void *buffer, int len)
+ suggestion = ": increase sndbuf!";
+ } else
+ atomic_inc(&usock->err_other);
+- printk(KERN_ERR "netflow_send_pdu[%d]: sendmsg error %d: data loss %llu pkt, %llu bytes%s\n",
++ printk(KERN_ERR "ipt_NETFLOW: sendmsg[%d] error %d: data loss %llu pkt, %llu bytes%s\n",
+ snum, ret, pdu_packets, pdu_traf, suggestion);
+ } else {
+ unsigned int wmem = atomic_read(&usock->sock->sk->sk_wmem_alloc);
+@@ -636,98 +906,67 @@ static int netflow_send_pdu(void *buffer, int len)
+ }
+ snum++;
+ }
+- return retok;
++ mutex_unlock(&sock_lock);
++ if (retok == 0) {
++ /* not least one send succeded, account stat for dropped packets */
++ NETFLOW_STAT_ADD_ATOMIC(pkt_drop, pdu_packets);
++ NETFLOW_STAT_ADD_ATOMIC(traf_drop, pdu_traf);
++ }
+ }
+
+-static void usock_free(struct ipt_netflow_sock *usock)
++static void usock_close_free(struct ipt_netflow_sock *usock)
+ {
+- printk(KERN_INFO "netflow: remove destination %u.%u.%u.%u:%u (%p)\n",
++ printk(KERN_INFO "ipt_NETFLOW: removed destination %u.%u.%u.%u:%u\n",
+ HIPQUAD(usock->ipaddr),
+- usock->port,
+- usock->sock);
++ usock->port);
+ if (usock->sock)
+ sock_release(usock->sock);
+ usock->sock = NULL;
+- vfree(usock);
++ vfree(usock);
+ }
+
+ static void destination_removeall(void)
+ {
+- write_lock(&sock_lock);
++ mutex_lock(&sock_lock);
+ while (!list_empty(&usock_list)) {
+ struct ipt_netflow_sock *usock;
+
+ usock = list_entry(usock_list.next, struct ipt_netflow_sock, list);
+ list_del(&usock->list);
+- write_unlock(&sock_lock);
+- usock_free(usock);
+- write_lock(&sock_lock);
++ mutex_unlock(&sock_lock);
++ usock_close_free(usock);
++ mutex_lock(&sock_lock);
+ }
+- write_unlock(&sock_lock);
++ mutex_unlock(&sock_lock);
+ }
+
+ static void add_usock(struct ipt_netflow_sock *usock)
+ {
+ struct ipt_netflow_sock *sk;
+
+- /* don't need empty sockets */
+- if (!usock->sock) {
+- usock_free(usock);
+- return;
+- }
+-
+- write_lock(&sock_lock);
++ mutex_lock(&sock_lock);
+ /* don't need duplicated sockets */
+ list_for_each_entry(sk, &usock_list, list) {
+ if (sk->ipaddr == usock->ipaddr &&
+ sk->port == usock->port) {
+- write_unlock(&sock_lock);
+- usock_free(usock);
++ mutex_unlock(&sock_lock);
++ usock_close_free(usock);
+ return;
+ }
+ }
+ list_add_tail(&usock->list, &usock_list);
+- printk(KERN_INFO "netflow: added destination %u.%u.%u.%u:%u\n",
++ printk(KERN_INFO "ipt_NETFLOW: added destination %u.%u.%u.%u:%u%s\n",
+ HIPQUAD(usock->ipaddr),
+- usock->port);
+- write_unlock(&sock_lock);
+-}
+-
+-static struct socket *usock_alloc(__be32 ipaddr, unsigned short port)
+-{
+- struct sockaddr_in sin;
+- struct socket *sock;
+- int error;
+-
+- if ((error = sock_create_kern(PF_INET, SOCK_DGRAM, IPPROTO_UDP, &sock)) < 0) {
+- printk(KERN_ERR "netflow: sock_create_kern error %d\n", error);
+- return NULL;
+- }
+- sock->sk->sk_allocation = GFP_ATOMIC;
+- sock->sk->sk_prot->unhash(sock->sk); /* hidden from input */
+- sock->sk->sk_error_report = &sk_error_report; /* clear ECONNREFUSED */
+- if (sndbuf)
+- sock->sk->sk_sndbuf = sndbuf;
+- else
+- sndbuf = sock->sk->sk_sndbuf;
+- memset(&sin, 0, sizeof(sin));
+- sin.sin_family = AF_INET;
+- sin.sin_addr.s_addr = htonl(ipaddr);
+- sin.sin_port = htons(port);
+- if ((error = sock->ops->connect(sock, (struct sockaddr *)&sin,
+- sizeof(sin), 0)) < 0) {
+- printk(KERN_ERR "netflow: error connecting UDP socket %d\n", error);
+- sock_release(sock);
+- return NULL;
+- }
+- return sock;
++ usock->port,
++ (!usock->sock)? " (unconnected)" : "");
++ mutex_unlock(&sock_lock);
+ }
+
+ #define SEPARATORS " ,;\t\n"
+ static int add_destinations(char *ptr)
+ {
+ while (ptr) {
+- unsigned char ip[4];
++ unsigned char ip[4];
+ unsigned short port;
+
+ ptr += strspn(ptr, SEPARATORS);
+@@ -737,17 +976,15 @@ static int add_destinations(char *ptr)
+ struct ipt_netflow_sock *usock;
+
+ if (!(usock = vmalloc(sizeof(*usock)))) {
+- printk(KERN_ERR "netflow: can't vmalloc socket\n");
++ printk(KERN_ERR "ipt_NETFLOW: can't vmalloc socket\n");
+ return -ENOMEM;
+ }
+
+ memset(usock, 0, sizeof(*usock));
++ atomic_set(&usock->err_connect, 0);
+ usock->ipaddr = ntohl(*(__be32 *)ip);
+ usock->port = port;
+- usock->sock = usock_alloc(usock->ipaddr, port);
+- atomic_set(&usock->wmem_peak, 0);
+- atomic_set(&usock->err_full, 0);
+- atomic_set(&usock->err_other, 0);
++ usock_connect(usock, 0);
+ add_usock(usock);
+ } else
+ break;
+@@ -781,7 +1018,7 @@ static int add_aggregation(char *ptr)
+ LIST_HEAD(old_aggr_list);
+
+ while (ptr && *ptr) {
+- unsigned char ip[4];
++ unsigned char ip[4];
+ unsigned int mask;
+ unsigned int port1, port2;
+ unsigned int aggr_to;
+@@ -792,16 +1029,16 @@ static int add_aggregation(char *ptr)
+ ip, ip + 1, ip + 2, ip + 3, &mask, &aggr_to) == 6) {
+
+ if (!(aggr_n = vmalloc(sizeof(*aggr_n)))) {
+- printk(KERN_ERR "netflow: can't vmalloc aggr\n");
++ printk(KERN_ERR "ipt_NETFLOW: can't vmalloc aggr\n");
+ return -ENOMEM;
+ }
+ memset(aggr_n, 0, sizeof(*aggr_n));
+
+- aggr_n->addr = ntohl(*(__be32 *)ip);
+ aggr_n->mask = bits2mask(mask);
++ aggr_n->addr = ntohl(*(__be32 *)ip) & aggr_n->mask;
+ aggr_n->aggr_mask = bits2mask(aggr_to);
+ aggr_n->prefix = mask;
+- printk(KERN_INFO "netflow: add aggregation [%u.%u.%u.%u/%u=%u]\n",
++ printk(KERN_INFO "ipt_NETFLOW: add aggregation [%u.%u.%u.%u/%u=%u]\n",
+ HIPQUAD(aggr_n->addr), mask, aggr_to);
+ list_add_tail(&aggr_n->list, &new_aggr_n_list);
+
+@@ -809,7 +1046,7 @@ static int add_aggregation(char *ptr)
+ sscanf(ptr, "%u=%u", &port2, &aggr_to) == 2) {
+
+ if (!(aggr_p = vmalloc(sizeof(*aggr_p)))) {
+- printk(KERN_ERR "netflow: can't vmalloc aggr\n");
++ printk(KERN_ERR "ipt_NETFLOW: can't vmalloc aggr\n");
+ return -ENOMEM;
+ }
+ memset(aggr_p, 0, sizeof(*aggr_p));
+@@ -817,11 +1054,11 @@ static int add_aggregation(char *ptr)
+ aggr_p->port1 = port1;
+ aggr_p->port2 = port2;
+ aggr_p->aggr_port = aggr_to;
+- printk(KERN_INFO "netflow: add aggregation [%u-%u=%u]\n",
++ printk(KERN_INFO "ipt_NETFLOW: add aggregation [%u-%u=%u]\n",
+ port1, port2, aggr_to);
+ list_add_tail(&aggr_p->list, &new_aggr_p_list);
+ } else {
+- printk(KERN_ERR "netflow: bad aggregation rule: %s (ignoring)\n", ptr);
++ printk(KERN_ERR "ipt_NETFLOW: bad aggregation rule: %s (ignoring)\n", ptr);
+ break;
+ }
+
+@@ -846,17 +1083,23 @@ static int add_aggregation(char *ptr)
+
+ static inline u_int32_t hash_netflow(const struct ipt_netflow_tuple *tuple)
+ {
+- /* tuple is rounded to u32s */
+- return jhash2((u32 *)tuple, NETFLOW_TUPLE_SIZE, ipt_netflow_hash_rnd) % ipt_netflow_hash_size;
++ return murmur3(tuple, sizeof(struct ipt_netflow_tuple), ipt_netflow_hash_rnd) % ipt_netflow_hash_size;
+ }
+
+ static struct ipt_netflow *
+-ipt_netflow_find(const struct ipt_netflow_tuple *tuple, unsigned int hash)
++ipt_netflow_find(const struct ipt_netflow_tuple *tuple, const unsigned int hash)
+ {
+ struct ipt_netflow *nf;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
++#define compat_hlist_for_each_entry hlist_for_each_entry
++#define compat_hlist_for_each_entry_safe hlist_for_each_entry_safe
+ struct hlist_node *pos;
++#else /* since 3.9.0 */
++#define compat_hlist_for_each_entry(a,pos,c,d) hlist_for_each_entry(a,c,d)
++#define compat_hlist_for_each_entry_safe(a,pos,c,d,e) hlist_for_each_entry_safe(a,c,d,e)
++#endif
+
+- hlist_for_each_entry(nf, pos, &ipt_netflow_hash[hash], hlist) {
++ compat_hlist_for_each_entry(nf, pos, &ipt_netflow_hash[hash], hlist) {
+ if (ipt_netflow_tuple_equal(tuple, &nf->tuple) &&
+ nf->nr_bytes < FLOW_FULL_WATERMARK) {
+ NETFLOW_STAT_INC(found);
+@@ -868,7 +1111,7 @@ ipt_netflow_find(const struct ipt_netflow_tuple *tuple, unsigned int hash)
+ return NULL;
+ }
+
+-static struct hlist_head *alloc_hashtable(int size)
++static struct hlist_head *alloc_hashtable(const int size)
+ {
+ struct hlist_head *hash;
+
+@@ -879,19 +1122,18 @@ static struct hlist_head *alloc_hashtable(int size)
+ for (i = 0; i < size; i++)
+ INIT_HLIST_HEAD(&hash[i]);
+ } else
+- printk(KERN_ERR "netflow: unable to vmalloc hash table.\n");
++ printk(KERN_ERR "ipt_NETFLOW: unable to vmalloc hash table.\n");
+
+ return hash;
+ }
+
+-static int set_hashsize(int new_size)
++static int set_hashsize(const int new_size)
+ {
+ struct hlist_head *new_hash, *old_hash;
+- unsigned int hash;
+ struct ipt_netflow *nf;
+ int rnd;
+
+- printk(KERN_INFO "netflow: allocating new hash table %u -> %u buckets\n",
++ printk(KERN_INFO "ipt_NETFLOW: allocating new hash table %u -> %u buckets\n",
+ ipt_netflow_hash_size, new_size);
+ new_hash = alloc_hashtable(new_size);
+ if (!new_hash)
+@@ -900,19 +1142,24 @@ static int set_hashsize(int new_size)
+ get_random_bytes(&rnd, 4);
+
+ /* rehash */
+- spin_lock_bh(&ipt_netflow_lock);
++ write_lock_bh(&htable_rwlock);
+ old_hash = ipt_netflow_hash;
+ ipt_netflow_hash = new_hash;
+ ipt_netflow_hash_size = new_size;
+ ipt_netflow_hash_rnd = rnd;
+ /* hash_netflow() is dependent on ipt_netflow_hash_* values */
++ spin_lock(&hlist_lock);
+ list_for_each_entry(nf, &ipt_netflow_list, list) {
++ unsigned int hash;
++
+ hash = hash_netflow(&nf->tuple);
+ /* hlist_add_head overwrites hlist pointers for this node
+ * so it's good */
+ hlist_add_head(&nf->hlist, &new_hash[hash]);
++ nf->lock = &htable_locks[hash & LOCK_COUNT_MASK];
+ }
+- spin_unlock_bh(&ipt_netflow_lock);
++ spin_unlock(&hlist_lock);
++ write_unlock_bh(&htable_rwlock);
+
+ vfree(old_hash);
+
+@@ -920,14 +1167,14 @@ static int set_hashsize(int new_size)
+ }
+
+ static struct ipt_netflow *
+-ipt_netflow_alloc(struct ipt_netflow_tuple *tuple)
++ipt_netflow_alloc(const struct ipt_netflow_tuple *tuple)
+ {
+ struct ipt_netflow *nf;
+ long count;
+
+ nf = kmem_cache_alloc(ipt_netflow_cachep, GFP_ATOMIC);
+ if (!nf) {
+- printk(KERN_ERR "Can't allocate netflow.\n");
++ printk(KERN_ERR "ipt_NETFLOW: Can't allocate flow.\n");
+ return NULL;
+ }
+
+@@ -945,13 +1192,15 @@ ipt_netflow_alloc(struct ipt_netflow_tuple *tuple)
+
+ static void ipt_netflow_free(struct ipt_netflow *nf)
+ {
++ if (IS_DUMMY_FLOW(nf))
++ return;
+ atomic_dec(&ipt_netflow_count);
+ kmem_cache_free(ipt_netflow_cachep, nf);
+ }
+
+ static struct ipt_netflow *
+-init_netflow(struct ipt_netflow_tuple *tuple,
+- struct sk_buff *skb, unsigned int hash)
++init_netflow(const struct ipt_netflow_tuple *tuple,
++ const struct sk_buff *skb, const unsigned int hash)
+ {
+ struct ipt_netflow *nf;
+
+@@ -959,93 +1208,774 @@ init_netflow(struct ipt_netflow_tuple *tuple,
+ if (!nf)
+ return NULL;
+
++ nf->lock = &htable_locks[hash & LOCK_COUNT_MASK];
+ hlist_add_head(&nf->hlist, &ipt_netflow_hash[hash]);
++ spin_lock(&hlist_lock);
+ list_add(&nf->list, &ipt_netflow_list);
++ spin_unlock(&hlist_lock);
+
+ return nf;
+ }
+
+ /* cook pdu, send, and clean */
+ /* only called in scan worker path */
+-static void netflow_export_pdu(void)
++static void netflow_export_pdu_v5(void)
+ {
+ struct timeval tv;
+ int pdusize;
+
+- if (!pdu.nr_records)
++ if (!pdu_data_records)
+ return;
+
+ if (debug > 1)
+- printk(KERN_INFO "netflow_export_pdu with %d records\n", pdu.nr_records);
+- do_gettimeofday(&tv);
+-
+- pdu.version = htons(5);
+- pdu.ts_uptime = htonl(jiffies_to_msecs(jiffies));
+- pdu.ts_usecs = htonl(tv.tv_sec);
+- pdu.ts_unsecs = htonl(tv.tv_usec);
+- //pdu.eng_type = 0;
+- //pdu.eng_id = 0;
+- //pdu.padding = 0;
++ printk(KERN_INFO "netflow_export_pdu_v5 with %d records\n", pdu_data_records);
+
+- pdusize = NETFLOW5_HEADER_SIZE + sizeof(struct netflow5_record) * pdu.nr_records;
+-
+- /* especially fix nr_records before export */
+- pdu.nr_records = htons(pdu.nr_records);
++ pdu.v5.version = htons(5);
++ pdu.v5.nr_records = htons(pdu_data_records);
++ pdu.v5.ts_uptime = htonl(jiffies_to_msecs(jiffies));
++ do_gettimeofday(&tv);
++ pdu.v5.ts_usecs = htonl(tv.tv_sec);
++ pdu.v5.ts_unsecs = htonl(tv.tv_usec);
++ pdu.v5.seq = htonl(pdu_seq);
++ //pdu.v5.eng_type = 0;
++ pdu.v5.eng_id = engine_id;
++ //pdu.v5.padding = 0;
+
+- if (netflow_send_pdu(&pdu, pdusize) == 0) {
+- /* not least one send succeded, account stat for dropped packets */
+- NETFLOW_STAT_ADD_ATOMIC(pkt_drop, pdu_packets);
+- NETFLOW_STAT_ADD_ATOMIC(traf_drop, pdu_traf);
+- }
++ pdusize = NETFLOW5_HEADER_SIZE + sizeof(struct netflow5_record) * pdu_data_records;
+
+- pdu.seq = htonl(ntohl(pdu.seq) + ntohs(pdu.nr_records));
++ netflow_sendmsg(&pdu.v5, pdusize);
+
+- pdu.nr_records = 0;
+ pdu_packets = 0;
+- pdu_traf = 0;
++ pdu_traf = 0;
++
++ pdu_seq += pdu_data_records;
++ pdu_count++;
++ pdu_data_records = 0;
+ }
+
+ /* only called in scan worker path */
+-static void netflow_export_flow(struct ipt_netflow *nf)
++static void netflow_export_flow_v5(struct ipt_netflow *nf)
+ {
+ struct netflow5_record *rec;
+
+- if (debug > 2)
+- printk(KERN_INFO "adding flow to export (%d)\n", pdu.nr_records);
++ if (unlikely(debug > 2))
++ printk(KERN_INFO "adding flow to export (%d)\n", pdu_data_records);
+
+ pdu_packets += nf->nr_packets;
+ pdu_traf += nf->nr_bytes;
+ pdu_ts_mod = jiffies;
+- rec = &pdu.flow[pdu.nr_records++];
++ rec = &pdu.v5.flow[pdu_data_records++];
+
+ /* make V5 flow record */
+- rec->s_addr = nf->tuple.s_addr;
+- rec->d_addr = nf->tuple.d_addr;
+- //rec->nexthop = 0;
++ rec->s_addr = nf->tuple.src.ip;
++ rec->d_addr = nf->tuple.dst.ip;
++ rec->nexthop = nf->nh.ip;
+ rec->i_ifc = htons(nf->tuple.i_ifc);
+ rec->o_ifc = htons(nf->o_ifc);
+ rec->nr_packets = htonl(nf->nr_packets);
+ rec->nr_octets = htonl(nf->nr_bytes);
+- rec->ts_first = htonl(jiffies_to_msecs(nf->ts_first));
+- rec->ts_last = htonl(jiffies_to_msecs(nf->ts_last));
++ rec->first_ms = htonl(jiffies_to_msecs(nf->ts_first));
++ rec->last_ms = htonl(jiffies_to_msecs(nf->ts_last));
+ rec->s_port = nf->tuple.s_port;
+ rec->d_port = nf->tuple.d_port;
+- //rec->reserved = 0;
++ //rec->reserved = 0; /* pdu is always zeroized for v5 in netflow_switch_version */
+ rec->tcp_flags = nf->tcp_flags;
+ rec->protocol = nf->tuple.protocol;
+ rec->tos = nf->tuple.tos;
+- //rec->s_as = 0;
+- //rec->d_as = 0;
++#ifdef CONFIG_NF_NAT_NEEDED
++ rec->s_as = nf->s_as;
++ rec->d_as = nf->d_as;
++#endif
+ rec->s_mask = nf->s_mask;
+ rec->d_mask = nf->d_mask;
+ //rec->padding = 0;
+ ipt_netflow_free(nf);
+
+- if (pdu.nr_records == NETFLOW5_RECORDS_MAX)
++ if (pdu_data_records == NETFLOW5_RECORDS_MAX)
++ netflow_export_pdu_v5();
++}
++
++/* pdu is initially blank, export current pdu, and prepare next for filling. */
++static void netflow_export_pdu_v9(void)
++{
++ struct timeval tv;
++ int pdusize;
++
++ if (pdu_data_used <= pdu.v9.data)
++ return;
++
++ if (debug > 1)
++ printk(KERN_INFO "netflow_export_pdu_v9 with %d records\n",
++ pdu_data_records + pdu_tpl_records);
++
++ pdu.v9.version = htons(9);
++ pdu.v9.nr_records = htons(pdu_data_records + pdu_tpl_records);
++ pdu.v9.sys_uptime_ms = htonl(jiffies_to_msecs(jiffies));
++ do_gettimeofday(&tv);
++ pdu.v9.export_time_s = htonl(tv.tv_sec);
++ pdu.v9.seq = htonl(pdu_seq);
++ pdu.v9.source_id = engine_id;
++
++ pdusize = pdu_data_used - (unsigned char *)&pdu.v9;
++
++ netflow_sendmsg(&pdu.v9, pdusize);
++
++ pdu_packets = 0;
++ pdu_traf = 0;
++
++ pdu_seq++;
++ pdu_count++;
++ pdu_data_records = pdu_tpl_records = 0;
++ pdu_data_used = pdu.v9.data;
++ pdu_flowset = NULL;
++}
++
++static void netflow_export_pdu_ipfix(void)
++{
++ struct timeval tv;
++ int pdusize;
++
++ if (pdu_data_used <= pdu.ipfix.data)
++ return;
++
++ if (debug > 1)
++ printk(KERN_INFO "netflow_export_pduX with %d records\n",
++ pdu_data_records);
++
++ pdu.ipfix.version = htons(10);
++ do_gettimeofday(&tv);
++ pdu.ipfix.export_time_s = htonl(tv.tv_sec);
++ pdu.ipfix.seq = htonl(pdu_seq);
++ pdu.ipfix.odomain_id = engine_id;
++ pdusize = pdu_data_used - (unsigned char *)&pdu;
++ pdu.ipfix.length = htons(pdusize);
++
++ netflow_sendmsg(&pdu.ipfix, pdusize);
++
++ pdu_packets = 0;
++ pdu_traf = 0;
++
++ pdu_seq += pdu_data_records;
++ pdu_count++;
++ pdu_data_records = pdu_tpl_records = 0;
++ pdu_data_used = pdu.ipfix.data;
++ pdu_flowset = NULL;
++}
++
++static inline int pdu_have_space(const size_t size)
++{
++ return ((pdu_data_used + size) <= pdu_high_wm);
++}
++
++static inline unsigned char *pdu_grab_space(const size_t size)
++{
++ unsigned char *ptr = pdu_data_used;
++ pdu_data_used += size;
++ return ptr;
++}
++
++// allocate data space in pdu, or fail if pdu is reallocated.
++static inline unsigned char *pdu_alloc_fail(const size_t size)
++{
++ if (!pdu_have_space(size)) {
+ netflow_export_pdu();
++ return NULL;
++ }
++ return pdu_grab_space(size);
++}
++
++/* doesn't fail, but can provide empty pdu. */
++static unsigned char *pdu_alloc(const size_t size)
++{
++ return pdu_alloc_fail(size) ?: pdu_grab_space(size);
++}
++
++/* global table of sizes of template field types */
++static u_int8_t tpl_element_sizes[] = {
++ [IN_BYTES] = 4,
++ [IN_PKTS] = 4,
++ [PROTOCOL] = 1,
++ [TOS] = 1,
++ [TCP_FLAGS] = 1,
++ [L4_SRC_PORT] = 2,
++ [IPV4_SRC_ADDR] = 4,
++ [SRC_MASK] = 1,
++ [INPUT_SNMP] = 2,
++ [L4_DST_PORT] = 2,
++ [IPV4_DST_ADDR] = 4,
++ [DST_MASK] = 1,
++ [OUTPUT_SNMP] = 2,
++ [IPV4_NEXT_HOP] = 4,
++ //[SRC_AS] = 2,
++ //[DST_AS] = 2,
++ //[BGP_IPV4_NEXT_HOP] = 4,
++ //[MUL_DST_PKTS] = 4,
++ //[MUL_DST_BYTES] = 4,
++ [LAST_SWITCHED] = 4,
++ [FIRST_SWITCHED]= 4,
++ [IPV6_SRC_ADDR] = 16,
++ [IPV6_DST_ADDR] = 16,
++ [IPV6_FLOW_LABEL] = 3,
++ [ICMP_TYPE] = 2,
++ [MUL_IGMP_TYPE] = 1,
++ //[TOTAL_BYTES_EXP] = 4,
++ //[TOTAL_PKTS_EXP] = 4,
++ //[TOTAL_FLOWS_EXP] = 4,
++ [IPV6_NEXT_HOP] = 16,
++ [IPV6_OPTION_HEADERS] = 2,
++ [commonPropertiesId] = 4,
++ [ipv4Options] = 4,
++ [tcpOptions] = 4,
++ [postNATSourceIPv4Address] = 4,
++ [postNATDestinationIPv4Address] = 4,
++ [postNAPTSourceTransportPort] = 2,
++ [postNAPTDestinationTransportPort] = 2,
++ [natEvent] = 1,
++ [postNATSourceIPv6Address] = 16,
++ [postNATDestinationIPv6Address] = 16,
++ [IPSecSPI] = 4,
++ [observationTimeMilliseconds] = 8,
++ [observationTimeMicroseconds] = 8,
++ [observationTimeNanoseconds] = 8,
++};
++
++#define TEMPLATES_HASH_BSIZE 8
++#define TEMPLATES_HASH_SIZE (1<<TEMPLATES_HASH_BSIZE)
++static struct hlist_head templates_hash[TEMPLATES_HASH_SIZE];
++
++struct base_template {
++ int length; /* number of elements in template */
++ u_int16_t types[]; /* {type, size} pairs */
++};
++
++/* base templates */
++#define BTPL_BASE 0x00000001 /* base stat */
++#define BTPL_IP4 0x00000002 /* IPv4 */
++#define BTPL_MASK4 0x00000004 /* Aggregated */
++#define BTPL_PORTS 0x00000008 /* UDP&TCP */
++#define BTPL_IP6 0x00000010 /* IPv6 */
++#define BTPL_ICMP 0x00000020 /* ICMP */
++#define BTPL_IGMP 0x00000040 /* IGMP */
++#define BTPL_IPSEC 0x00000080 /* AH&ESP */
++#define BTPL_NAT4 0x00000100 /* NAT IPv4 */
++#define BTPL_MARK 0x00000400 /* connmark */
++#define BTPL_LABEL6 0x00000800 /* IPv6 flow label */
++#define BTPL_OPTIONS4 0x00001000 /* IPv4 Options */
++#define BTPL_OPTIONS6 0x00002000 /* IPv6 Options */
++#define BTPL_TCPOPTIONS 0x00004000 /* TCP Options */
++#define BTPL_MAX 32
++
++static struct base_template template_base = {
++ .types = {
++ INPUT_SNMP,
++ OUTPUT_SNMP,
++ IN_PKTS,
++ IN_BYTES,
++ FIRST_SWITCHED,
++ LAST_SWITCHED,
++ PROTOCOL,
++ TOS,
++ 0
++ }
++};
++static struct base_template template_ipv4 = {
++ .types = {
++ IPV4_SRC_ADDR,
++ IPV4_DST_ADDR,
++ IPV4_NEXT_HOP,
++ 0
++ }
++};
++static struct base_template template_options4 = {
++ .types = { ipv4Options, 0 }
++};
++static struct base_template template_tcpoptions = {
++ .types = { tcpOptions, 0 }
++};
++static struct base_template template_ipv6 = {
++ .types = {
++ IPV6_SRC_ADDR,
++ IPV6_DST_ADDR,
++ IPV6_NEXT_HOP,
++ 0
++ }
++};
++static struct base_template template_options6 = {
++ .types = { IPV6_OPTION_HEADERS, 0 }
++};
++static struct base_template template_label6 = {
++ .types = { IPV6_FLOW_LABEL, 0 }
++};
++static struct base_template template_ipv4_mask = {
++ .types = {
++ SRC_MASK,
++ DST_MASK,
++ 0
++ }
++};
++static struct base_template template_ports = {
++ .types = {
++ L4_SRC_PORT,
++ L4_DST_PORT,
++ TCP_FLAGS,
++ 0
++ }
++};
++static struct base_template template_icmp = {
++ .types = { ICMP_TYPE, 0 }
++};
++static struct base_template template_igmp = {
++ .types = { MUL_IGMP_TYPE, 0 }
++};
++static struct base_template template_ipsec = {
++ .types = { IPSecSPI, 0 }
++};
++static struct base_template template_nat4 = {
++ .types = {
++ observationTimeMilliseconds,
++ IPV4_SRC_ADDR,
++ IPV4_DST_ADDR,
++ postNATSourceIPv4Address,
++ postNATDestinationIPv4Address,
++ L4_SRC_PORT,
++ L4_DST_PORT,
++ postNAPTSourceTransportPort,
++ postNAPTDestinationTransportPort,
++ PROTOCOL,
++ natEvent,
++ 0
++ }
++};
++static struct base_template template_mark = {
++ .types = { commonPropertiesId, 0 }
++};
++
++struct data_template {
++ struct hlist_node hlist;
++ int tpl_mask;
++
++ int length; /* number of elements in template */
++ int tpl_size; /* summary size of template with flowset header */
++ int rec_size; /* summary size of all recods of template (w/o flowset header) */
++ int template_id_n; /* assigned from template_ids, network order. */
++ int exported_cnt;
++ unsigned long exported_ts; /* jiffies */
++ u_int16_t fields[]; /* {type, size} pairs */
++} __attribute__ ((packed));
++
++#define TPL_FIELD_NSIZE 4 /* one complete template field's network size */
++
++static void free_templates(void)
++{
++ int i;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
++ struct hlist_node *pos;
++#endif
++ struct hlist_node *tmp;
++
++ for (i = 0; i < TEMPLATES_HASH_SIZE; i++) {
++ struct hlist_head *thead = &templates_hash[i];
++ struct data_template *tpl;
++
++ compat_hlist_for_each_entry_safe(tpl, pos, tmp, thead, hlist)
++ kfree(tpl);
++ INIT_HLIST_HEAD(thead);
++ }
++ tpl_count = 0;
++}
++
++/* create combined template from mask */
++static struct data_template *get_template(const int tmask)
++{
++ struct base_template *tlist[BTPL_MAX];
++ struct data_template *tpl;
++ int tnum;
++ int length;
++ int i, j, k;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
++ struct hlist_node *pos;
++#endif
++ int hash = hash_long(tmask, TEMPLATES_HASH_BSIZE);
++
++ compat_hlist_for_each_entry(tpl, pos, &templates_hash[hash], hlist)
++ if (tpl->tpl_mask == tmask)
++ return tpl;
++
++ tnum = 0;
++ if (tmask & BTPL_IP4) {
++ tlist[tnum++] = &template_ipv4;
++ if (tmask & BTPL_OPTIONS4)
++ tlist[tnum++] = &template_options4;
++ if (tmask & BTPL_MASK4)
++ tlist[tnum++] = &template_ipv4_mask;
++ } else if (tmask & BTPL_IP6) {
++ tlist[tnum++] = &template_ipv6;
++ if (tmask & BTPL_LABEL6)
++ tlist[tnum++] = &template_label6;
++ if (tmask & BTPL_OPTIONS6)
++ tlist[tnum++] = &template_options6;
++ } else if (tmask & BTPL_NAT4)
++ tlist[tnum++] = &template_nat4;
++ if (tmask & BTPL_PORTS)
++ tlist[tnum++] = &template_ports;
++ if (tmask & BTPL_BASE)
++ tlist[tnum++] = &template_base;
++ if (tmask & BTPL_TCPOPTIONS)
++ tlist[tnum++] = &template_tcpoptions;
++ if (tmask & BTPL_ICMP)
++ tlist[tnum++] = &template_icmp;
++ if (tmask & BTPL_IGMP)
++ tlist[tnum++] = &template_igmp;
++ if (tmask & BTPL_IPSEC)
++ tlist[tnum++] = &template_ipsec;
++ if (tmask & BTPL_MARK)
++ tlist[tnum++] = &template_mark;
++
++ /* calc memory size */
++ length = 0;
++ for (i = 0; i < tnum; i++) {
++ if (!tlist[i]->length) {
++ for (k = 0; tlist[i]->types[k]; k++);
++ tlist[i]->length = k;
++ }
++ length += tlist[i]->length;
++ }
++ /* elements are pairs + one termiantor */
++ tpl = kmalloc(sizeof(struct data_template) + (length * 2 + 1) * sizeof(u_int16_t), GFP_KERNEL);
++ if (!tpl) {
++ printk(KERN_ERR "ipt_NETFLOW: unable to kmalloc template.\n");
++ return NULL;
++ }
++ tpl->tpl_mask = tmask;
++ tpl->length = length;
++ tpl->tpl_size = sizeof(struct flowset_template);
++ tpl->rec_size = 0;
++ tpl->template_id_n = htons(template_ids++);
++ tpl->exported_cnt = 0;
++ tpl->exported_ts = 0;
++
++ j = 0;
++ for (i = 0; i < tnum; i++) {
++ struct base_template *btpl = tlist[i];
++
++ for (k = 0; k < btpl->length; k++) {
++ int size;
++ int type = btpl->types[k];
++
++ tpl->fields[j++] = type;
++ size = tpl_element_sizes[type];
++ tpl->fields[j++] = size;
++ tpl->rec_size += size;
++ }
++ tpl->tpl_size += btpl->length * TPL_FIELD_NSIZE;
++ }
++ tpl->fields[j++] = 0;
++
++ hlist_add_head(&tpl->hlist, &templates_hash[hash]);
++ tpl_count++;
++
++ return tpl;
++}
++
++static void pdu_add_template(struct data_template *tpl)
++{
++ int i;
++ unsigned char *ptr;
++ struct flowset_template *ntpl;
++ __be16 *sptr;
++
++ ptr = pdu_alloc(tpl->tpl_size);
++ ntpl = (struct flowset_template *)ptr;
++ ntpl->flowset_id = protocol == 9? htons(FLOWSET_TEMPLATE) : htons(IPFIX_TEMPLATE);
++ ntpl->length = htons(tpl->tpl_size);
++ ntpl->template_id = tpl->template_id_n;
++ ntpl->field_count = htons(tpl->length);
++ ptr += sizeof(struct flowset_template);
++ sptr = (__be16 *)ptr;
++ for (i = 0; ; ) {
++ int type = tpl->fields[i++];
++ if (!type)
++ break;
++ *sptr++ = htons(type);
++ *sptr++ = htons(tpl->fields[i++]);
++ }
++
++ tpl->exported_cnt = pdu_count;
++ tpl->exported_ts = jiffies;
++
++ pdu_flowset = NULL;
++ pdu_tpl_records++;
++}
++
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)
++static inline s64 portable_ktime_to_ms(const ktime_t kt)
++{
++ struct timeval tv = ktime_to_timeval(kt);
++ return (s64) tv.tv_sec * MSEC_PER_SEC + tv.tv_usec / USEC_PER_MSEC;
++}
++#define ktime_to_ms portable_ktime_to_ms
++#endif
++
++/* encode one field */
++typedef struct in6_addr in6_t;
++static inline void add_ipv4_field(__u8 *ptr, const int type, const struct ipt_netflow *nf)
++{
++ switch (type) {
++ case IN_BYTES: *(__be32 *)ptr = htonl(nf->nr_bytes); break;
++ case IN_PKTS: *(__be32 *)ptr = htonl(nf->nr_packets); break;
++ case FIRST_SWITCHED: *(__be32 *)ptr = htonl(jiffies_to_msecs(nf->ts_first)); break;
++ case LAST_SWITCHED: *(__be32 *)ptr = htonl(jiffies_to_msecs(nf->ts_last)); break;
++ case IPV4_SRC_ADDR: *(__be32 *)ptr = nf->tuple.src.ip; break;
++ case IPV4_DST_ADDR: *(__be32 *)ptr = nf->tuple.dst.ip; break;
++ case IPV4_NEXT_HOP: *(__be32 *)ptr = nf->nh.ip; break;
++ case L4_SRC_PORT: *(__be16 *)ptr = nf->tuple.s_port; break;
++ case L4_DST_PORT: *(__be16 *)ptr = nf->tuple.d_port; break;
++ case INPUT_SNMP: *(__be16 *)ptr = htons(nf->tuple.i_ifc); break;
++ case OUTPUT_SNMP: *(__be16 *)ptr = htons(nf->o_ifc); break;
++ case PROTOCOL: *ptr = nf->tuple.protocol; break;
++ case TCP_FLAGS: *ptr = nf->tcp_flags; break;
++ case TOS: *ptr = nf->tuple.tos; break;
++ case IPV6_SRC_ADDR: *(in6_t *)ptr = nf->tuple.src.in6; break;
++ case IPV6_DST_ADDR: *(in6_t *)ptr = nf->tuple.dst.in6; break;
++ case IPV6_NEXT_HOP: *(in6_t *)ptr = nf->nh.in6; break;
++ case IPV6_FLOW_LABEL: *ptr++ = nf->flow_label >> 16;
++ *(__be16 *)ptr = nf->flow_label;
++ break;
++ case tcpOptions: *(__be32 *)ptr = htonl(nf->tcpoptions); break;
++ case ipv4Options: *(__be32 *)ptr = htonl(nf->options); break;
++ case IPV6_OPTION_HEADERS: *(__be16 *)ptr = htons(nf->options); break;
++#ifdef CONFIG_NF_CONNTRACK_MARK
++ case commonPropertiesId:
++ *(__be32 *)ptr = htonl(nf->mark); break;
++#endif
++ case SRC_MASK: *ptr = nf->s_mask; break;
++ case DST_MASK: *ptr = nf->d_mask; break;
++ case ICMP_TYPE: *(__be16 *)ptr = nf->tuple.d_port; break;
++ case MUL_IGMP_TYPE: *ptr = nf->tuple.d_port; break;
++#ifdef CONFIG_NF_NAT_NEEDED
++ case postNATSourceIPv4Address: *(__be32 *)ptr = nf->nat->post.s_addr; break;
++ case postNATDestinationIPv4Address: *(__be32 *)ptr = nf->nat->post.d_addr; break;
++ case postNAPTSourceTransportPort: *(__be16 *)ptr = nf->nat->post.s_port; break;
++ case postNAPTDestinationTransportPort: *(__be16 *)ptr = nf->nat->post.d_port; break;
++ case natEvent: *ptr = nf->nat->nat_event; break;
++#endif
++ case IPSecSPI: *(__u32 *)ptr = (nf->tuple.s_port << 16) | nf->tuple.d_port; break;
++ case observationTimeMilliseconds:
++ *(__be64 *)ptr = cpu_to_be64(ktime_to_ms(nf->ts_obs)); break;
++ case observationTimeMicroseconds:
++ *(__be64 *)ptr = cpu_to_be64(ktime_to_us(nf->ts_obs)); break;
++ case observationTimeNanoseconds:
++ *(__be64 *)ptr = cpu_to_be64(ktime_to_ns(nf->ts_obs)); break;
++ default:
++ memset(ptr, 0, tpl_element_sizes[type]);
++ }
++}
++
++#define PAD_SIZE 4 /* rfc prescribes flowsets to be padded */
++
++/* cache timeout_rate in jiffies */
++static inline unsigned long timeout_rate_j(void)
++{
++ static unsigned int t_rate = 0;
++ static unsigned long t_rate_j = 0;
++
++ if (unlikely(timeout_rate != t_rate)) {
++ struct timeval tv = { .tv_sec = timeout_rate * 60, .tv_usec = 0 };
++
++ t_rate = timeout_rate;
++ t_rate_j = timeval_to_jiffies(&tv);
++ }
++ return t_rate_j;
++}
++
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
++#define IPPROTO_UDPLITE 136
++#endif
++
++#ifndef time_is_before_jiffies
++#define time_is_before_jiffies(a) time_after(jiffies, a)
++#endif
++
++static void netflow_export_flow_tpl(struct ipt_netflow *nf)
++{
++ unsigned char *ptr;
++ int i;
++ struct data_template *tpl;
++ int tpl_mask = BTPL_BASE;
++
++ if (unlikely(debug > 2))
++ printk(KERN_INFO "adding flow to export (%d)\n",
++ pdu_data_records + pdu_tpl_records);
++
++ if (likely(nf->tuple.l3proto == AF_INET)) {
++ tpl_mask |= BTPL_IP4;
++ if (unlikely(nf->options))
++ tpl_mask |= BTPL_OPTIONS4;
++ } else {
++ tpl_mask |= BTPL_IP6;
++ if (unlikely(nf->options))
++ tpl_mask |= BTPL_OPTIONS6;
++ if (unlikely(nf->flow_label))
++ tpl_mask |= BTPL_LABEL6;
++ }
++ if (unlikely(nf->tcpoptions))
++ tpl_mask |= BTPL_TCPOPTIONS;
++ if (unlikely(nf->s_mask || nf->d_mask))
++ tpl_mask |= BTPL_MASK4;
++ if (likely(nf->tuple.protocol == IPPROTO_TCP ||
++ nf->tuple.protocol == IPPROTO_UDP ||
++ nf->tuple.protocol == IPPROTO_SCTP ||
++ nf->tuple.protocol == IPPROTO_UDPLITE))
++ tpl_mask |= BTPL_PORTS;
++ else if (nf->tuple.protocol == IPPROTO_ICMP)
++ tpl_mask |= BTPL_ICMP;
++ else if (nf->tuple.protocol == IPPROTO_IGMP)
++ tpl_mask |= BTPL_IGMP;
++#ifdef CONFIG_NF_CONNTRACK_MARK
++ if (nf->mark)
++ tpl_mask |= BTPL_MARK;
++#endif
++#ifdef CONFIG_NF_NAT_NEEDED
++ if (nf->nat)
++ tpl_mask = BTPL_NAT4;
++#endif
++
++ tpl = get_template(tpl_mask);
++ if (unlikely(!tpl)) {
++ printk(KERN_INFO "ipt_NETFLOW: template allocation failed.\n");
++ NETFLOW_STAT_INC(alloc_err);
++ NETFLOW_STAT_ADD_ATOMIC(pkt_drop, nf->nr_packets);
++ NETFLOW_STAT_ADD_ATOMIC(traf_drop, nf->nr_bytes);
++ ipt_netflow_free(nf);
++ return;
++ }
++
++ if (unlikely(!pdu_flowset ||
++ pdu_flowset->flowset_id != tpl->template_id_n ||
++ !(ptr = pdu_alloc_fail(tpl->rec_size)))) {
++
++ /* if there was previous data template we should pad it to 4 bytes */
++ if (pdu_flowset) {
++ int padding = (PAD_SIZE - ntohs(pdu_flowset->length) % PAD_SIZE) % PAD_SIZE;
++ if (padding && (ptr = pdu_alloc_fail(padding))) {
++ pdu_flowset->length = htons(ntohs(pdu_flowset->length) + padding);
++ for (; padding; padding--)
++ *ptr++ = 0;
++ }
++ }
++
++ if (!tpl->exported_ts ||
++ pdu_count > (tpl->exported_cnt + refresh_rate) ||
++ time_is_before_jiffies(tpl->exported_ts + timeout_rate_j())) {
++ pdu_add_template(tpl);
++ }
++
++ ptr = pdu_alloc(sizeof(struct flowset_data) + tpl->rec_size);
++ pdu_flowset = (struct flowset_data *)ptr;
++ pdu_flowset->flowset_id = tpl->template_id_n;
++ pdu_flowset->length = htons(sizeof(struct flowset_data));
++ ptr += sizeof(struct flowset_data);
++ }
++
++ /* encode all fields */
++ for (i = 0; ; ) {
++ int type = tpl->fields[i++];
++
++ if (!type)
++ break;
++ add_ipv4_field(ptr, type, nf);
++ ptr += tpl->fields[i++];
++ }
++
++ pdu_data_records++;
++ pdu_flowset->length = htons(ntohs(pdu_flowset->length) + tpl->rec_size);
++
++ pdu_packets += nf->nr_packets;
++ pdu_traf += nf->nr_bytes;
++
++ ipt_netflow_free(nf);
++ pdu_ts_mod = jiffies;
++}
++
++static void netflow_switch_version(const int ver)
++{
++ protocol = ver;
++ if (protocol == 5) {
++ memset(&pdu, 0, sizeof(pdu));
++ netflow_export_flow = &netflow_export_flow_v5;
++ netflow_export_pdu = &netflow_export_pdu_v5;
++ } else if (protocol == 9) {
++ pdu_data_used = pdu.v9.data;
++ pdu_max_size = sizeof(pdu.v9);
++ pdu_high_wm = (unsigned char *)&pdu + pdu_max_size;
++ netflow_export_flow = &netflow_export_flow_tpl;
++ netflow_export_pdu = &netflow_export_pdu_v9;
++ } else { /* IPFIX */
++ pdu_data_used = pdu.ipfix.data;
++ pdu_max_size = sizeof(pdu.ipfix);
++ pdu_high_wm = (unsigned char *)&pdu + pdu_max_size;
++ netflow_export_flow = &netflow_export_flow_tpl;
++ netflow_export_pdu = &netflow_export_pdu_ipfix;
++ }
++ if (protocol != 5)
++ free_templates();
++ pdu_data_records = pdu_tpl_records = 0;
++ pdu_flowset = NULL;
++ printk(KERN_INFO "ipt_NETFLOW protocol version %d (%s) enabled.\n",
++ protocol, protocol == 10? "IPFIX" : "NetFlow");
++}
++
++#ifdef CONFIG_NF_NAT_NEEDED
++static void export_nat_event(struct nat_event *nel)
++{
++ static struct ipt_netflow nf = { { NULL } };
++
++ nf.tuple.l3proto = AF_INET;
++ nf.tuple.protocol = nel->protocol;
++ nf.nat = nel; /* this is also flag of dummy flow */
++ nf.tcp_flags = (nel->nat_event == NAT_DESTROY)? TCP_FIN_RST : TCP_SYN_ACK;
++ if (protocol >= 9) {
++ nf.ts_obs = nel->ts_ktime;
++ nf.tuple.src.ip = nel->pre.s_addr;
++ nf.tuple.dst.ip = nel->pre.d_addr;
++ nf.tuple.s_port = nel->pre.s_port;
++ nf.tuple.d_port = nel->pre.d_port;
++ netflow_export_flow(&nf);
++ } else { /* v5 */
++ /* The weird v5 packet(s).
++ * src and dst will be same as in data flow from the FORWARD chain
++ * where src is pre-nat src ip and dst is post-nat dst ip.
++ * What we lacking here is external src ip for SNAT, or
++ * pre-nat dst ip for DNAT. We will put this into Nexthop field
++ * with port into src/dst AS field. tcp_flags will distinguish it's
++ * start or stop event. Two flows in case of full nat. */
++ nf.tuple.src.ip = nel->pre.s_addr;
++ nf.tuple.s_port = nel->pre.s_port;
++ nf.tuple.dst.ip = nel->post.d_addr;
++ nf.tuple.d_port = nel->post.d_port;
++
++ nf.ts_first = nel->ts_jiffies;
++ nf.ts_last = nel->ts_jiffies;
++ if (nel->pre.s_addr != nel->post.s_addr ||
++ nel->pre.s_port != nel->post.s_port) {
++ nf.nh.ip = nel->post.s_addr;
++ nf.s_as = nel->post.s_port;
++ nf.d_as = 0;
++ netflow_export_flow(&nf);
++ }
++ if (nel->pre.d_addr != nel->post.d_addr ||
++ nel->pre.d_port != nel->post.d_port) {
++ nf.nh.ip = nel->pre.d_addr;
++ nf.s_as = 0;
++ nf.d_as = nel->pre.d_port;
++ netflow_export_flow(&nf);
++ }
++ }
++ kfree(nel);
+ }
++#endif /* CONFIG_NF_NAT_NEEDED */
+
+-static inline int active_needs_export(struct ipt_netflow *nf, long a_timeout)
++static inline int active_needs_export(const struct ipt_netflow *nf, const long a_timeout)
+ {
+ /* active too long, finishing, or having too much bytes */
+ return ((jiffies - nf->ts_first) > a_timeout) ||
+@@ -1057,42 +1987,77 @@ static inline int active_needs_export(struct ipt_netflow *nf, long a_timeout)
+
+ /* could be called with zero to flush cache and pdu */
+ /* this function is guaranteed to be called non-concurrently */
+-static void netflow_scan_and_export(int flush)
++/* return -1 is trylockfailed, 0 if nothin gexported, >=1 if exported something */
++static int netflow_scan_and_export(const int flush)
+ {
+ long i_timeout = inactive_timeout * HZ;
+ long a_timeout = active_timeout * HZ;
++ int trylock_failed = 0;
++ int pdu_c = pdu_count;
+
+ if (flush)
+ i_timeout = 0;
+
+- spin_lock_bh(&ipt_netflow_lock);
+- while (!list_empty(&ipt_netflow_list)) {
++ local_bh_disable();
++ spin_lock(&hlist_lock);
++ /* This is different order of locking than elsewhere,
++ * so we trylock&break to avoid deadlock. */
++
++ while (likely(!list_empty(&ipt_netflow_list))) {
+ struct ipt_netflow *nf;
+-
++
++ /* Last entry, which is usually oldest. */
+ nf = list_entry(ipt_netflow_list.prev, struct ipt_netflow, list);
++ if (!spin_trylock(nf->lock)) {
++ trylock_failed = 1;
++ break;
++ }
+ /* Note: i_timeout checked with >= to allow specifying zero timeout
+ * to purge all flows on module unload */
+ if (((jiffies - nf->ts_last) >= i_timeout) ||
+ active_needs_export(nf, a_timeout)) {
+ hlist_del(&nf->hlist);
++ spin_unlock(nf->lock);
++
+ list_del(&nf->list);
++ spin_unlock(&hlist_lock);
++ local_bh_enable();
++
+ NETFLOW_STAT_ADD(pkt_out, nf->nr_packets);
+ NETFLOW_STAT_ADD(traf_out, nf->nr_bytes);
+- spin_unlock_bh(&ipt_netflow_lock);
+ netflow_export_flow(nf);
+- spin_lock_bh(&ipt_netflow_lock);
++
++ local_bh_disable();
++ spin_lock(&hlist_lock);
+ } else {
++ spin_unlock(nf->lock);
+ /* all flows which need to be exported is always at the tail
+ * so if no more exportable flows we can break */
+ break;
+ }
+ }
+- spin_unlock_bh(&ipt_netflow_lock);
+-
++ spin_unlock(&hlist_lock);
++ local_bh_enable();
++
++#ifdef CONFIG_NF_NAT_NEEDED
++ spin_lock_bh(&nat_lock);
++ while (!list_empty(&nat_list)) {
++ struct nat_event *nel;
++
++ nel = list_entry(nat_list.next, struct nat_event, list);
++ list_del(&nel->list);
++ spin_unlock_bh(&nat_lock);
++ export_nat_event(nel);
++ spin_lock_bh(&nat_lock);
++ }
++ spin_unlock_bh(&nat_lock);
++#endif
+ /* flush flows stored in pdu if there no new flows for too long */
+ /* Note: using >= to allow flow purge on zero timeout */
+ if ((jiffies - pdu_ts_mod) >= i_timeout)
+ netflow_export_pdu();
++
++ return trylock_failed? -1 : pdu_count - pdu_c;
+ }
+
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
+@@ -1101,8 +2066,10 @@ static void netflow_work_fn(void *dummy)
+ static void netflow_work_fn(struct work_struct *dummy)
+ #endif
+ {
+- netflow_scan_and_export(0);
+- __start_scan_worker();
++ int status;
++
++ status = netflow_scan_and_export(DONT_FLUSH);
++ _schedule_scan_worker(status);
+ }
+
+ #define RATESHIFT 2
+@@ -1154,7 +2121,7 @@ static void rate_timer_calc(unsigned long dummy)
+ old_found = found;
+ old_notfound = notfound;
+ /* if there is no access to hash keep rate steady */
+- metric = (dfnd + dnfnd)? 10 * (dsrch + dfnd + dnfnd) / (dfnd + dnfnd) : metric;
++ metric = (dfnd + dnfnd)? 100 * (dsrch + dfnd + dnfnd) / (dfnd + dnfnd) : metric;
+ CALC_RATE(min15_metric, (unsigned long long)metric, 15);
+ CALC_RATE(min5_metric, (unsigned long long)metric, 5);
+ CALC_RATE(min_metric, (unsigned long long)metric, 1);
+@@ -1162,6 +2129,262 @@ static void rate_timer_calc(unsigned long dummy)
+ mod_timer(&rate_timer, jiffies + (HZ * SAMPLERATE));
+ }
+
++#ifdef CONFIG_NF_NAT_NEEDED
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
++static struct nf_ct_event_notifier *saved_event_cb __read_mostly = NULL;
++static int netflow_conntrack_event(const unsigned int events, struct nf_ct_event *item)
++#else
++static int netflow_conntrack_event(struct notifier_block *this, unsigned long events, void *ptr)
++#endif
++{
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
++ struct nf_conn *ct = item->ct;
++#else
++ struct nf_conn *ct = (struct nf_conn *)ptr;
++#endif
++ struct nat_event *nel;
++ const struct nf_conntrack_tuple *t;
++ int ret = NOTIFY_DONE;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
++ struct nf_ct_event_notifier *notifier;
++
++ /* Call netlink first. */
++ notifier = rcu_dereference(saved_event_cb);
++ if (likely(notifier))
++ ret = notifier->fcn(events, item);
++#endif
++ if (unlikely(!natevents))
++ return ret;
++
++ if (!(events & ((1 << IPCT_NEW) | (1 << IPCT_RELATED) | (1 << IPCT_DESTROY))))
++ return ret;
++
++ if (!(ct->status & IPS_NAT_MASK))
++ return ret;
++
++ if (unlikely(ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.l3num != AF_INET ||
++ ct->tuplehash[IP_CT_DIR_REPLY].tuple.src.l3num != AF_INET)) {
++ /* Well, there is no linux NAT for IPv6 anyway. */
++ return ret;
++ }
++
++ if (!(nel = kmalloc(sizeof(struct nat_event), GFP_ATOMIC))) {
++ printk(KERN_ERR "ipt_NETFLOW: can't kmalloc nat event\n");
++ return ret;
++ }
++ memset(nel, 0, sizeof(struct nat_event));
++ nel->ts_ktime = ktime_get_real();
++ nel->ts_jiffies = jiffies;
++ t = &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple;
++ nel->protocol = t->dst.protonum;
++ nel->pre.s_addr = t->src.u3.ip;
++ nel->pre.d_addr = t->dst.u3.ip;
++ nel->pre.s_port = t->src.u.all;
++ nel->pre.d_port = t->dst.u.all;
++ t = &ct->tuplehash[IP_CT_DIR_REPLY].tuple;
++ /* reply is reversed */
++ nel->post.s_addr = t->dst.u3.ip;
++ nel->post.d_addr = t->src.u3.ip;
++ nel->post.s_port = t->dst.u.all;
++ nel->post.d_port = t->src.u.all;
++ if (events & (1 << IPCT_DESTROY)) {
++ nel->nat_event = NAT_DESTROY;
++ nat_events_stop++;
++ } else {
++ nel->nat_event = NAT_CREATE;
++ nat_events_start++;
++ }
++
++ spin_lock_bh(&nat_lock);
++ list_add_tail(&nel->list, &nat_list);
++ spin_unlock_bh(&nat_lock);
++
++ return ret;
++}
++
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)
++static struct notifier_block ctnl_notifier = {
++ .notifier_call = netflow_conntrack_event
++};
++#else
++static struct nf_ct_event_notifier ctnl_notifier = {
++ .fcn = netflow_conntrack_event
++};
++#endif /* since 2.6.31 */
++#endif /* CONFIG_NF_NAT_NEEDED */
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) && \
++ LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)
++static bool
++#else
++static int
++#endif
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
++netflow_target_check(const char *tablename, const void *entry, const struct xt_target *target,
++ void *targinfo,
++#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,18)
++ unsigned int targinfosize,
++#endif
++ unsigned int hook_mask)
++{
++#else
++netflow_target_check(const struct xt_tgchk_param *par)
++{
++ const char *tablename = par->table;
++ const struct xt_target *target = par->target;
++#endif
++ if (strcmp("nat", tablename) == 0) {
++ /* In the nat table we only see single packet per flow, which is useless. */
++ printk(KERN_ERR "%s target: is not valid in %s table\n", target->name, tablename);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)
++#define CHECK_FAIL 0
++#define CHECK_OK 1
++#else
++#define CHECK_FAIL -EINVAL
++#define CHECK_OK 0
++#endif
++ return CHECK_FAIL;
++ }
++ if (target->family == AF_INET6 && protocol == 5) {
++ printk(KERN_ERR "ip6tables NETFLOW target is meaningful for protocol 9 or 10 only.\n");
++ return CHECK_FAIL;
++ }
++ return CHECK_OK;
++}
++
++#define SetXBit(x) (0x8000 >> (x)) /* Proper bit for htons later. */
++#ifndef IPPROTO_MH
++#define IPPROTO_MH 135
++#endif
++static inline __u16 observed_hdrs(const __u8 currenthdr)
++{
++ switch (currenthdr) {
++ case IPPROTO_TCP:
++ case IPPROTO_UDP:
++ /* For speed, in case switch is not optimized. */
++ return 0;
++ case IPPROTO_DSTOPTS: return SetXBit(0);
++ case IPPROTO_HOPOPTS: return SetXBit(1);
++ case IPPROTO_ROUTING: return SetXBit(5);
++ case IPPROTO_MH: return SetXBit(12);
++ case IPPROTO_ESP: return SetXBit(13);
++ case IPPROTO_AH: return SetXBit(14);
++ case IPPROTO_COMP: return SetXBit(15);
++ case IPPROTO_FRAGMENT: /* Handled elsewhere. */
++ /* Next is known headers. */
++ case IPPROTO_ICMPV6:
++ case IPPROTO_UDPLITE:
++ case IPPROTO_IPIP:
++ case IPPROTO_PIM:
++ case IPPROTO_GRE:
++ case IPPROTO_SCTP:
++#ifdef IPPROTO_L2TP
++ case IPPROTO_L2TP:
++#endif
++ case IPPROTO_DCCP:
++ return 0;
++ }
++ return SetXBit(3); /* Unknown header. */
++}
++
++/* http://www.iana.org/assignments/ip-parameters/ip-parameters.xhtml */
++static const __u8 ip4_opt_table[] = {
++ [7] = 0, /* RR */ /* parsed manually becasue of 0 */
++ [134] = 1, /* CIPSO */
++ [133] = 2, /* E-SEC */
++ [68] = 3, /* TS */
++ [131] = 4, /* LSR */
++ [130] = 5, /* SEC */
++ [1] = 6, /* NOP */
++ [0] = 7, /* EOOL */
++ [15] = 8, /* ENCODE */
++ [142] = 9, /* VISA */
++ [205] = 10, /* FINN */
++ [12] = 11, /* MTUR */
++ [11] = 12, /* MTUP */
++ [10] = 13, /* ZSU */
++ [137] = 14, /* SSR */
++ [136] = 15, /* SID */
++ [151] = 16, /* DPS */
++ [150] = 17, /* NSAPA */
++ [149] = 18, /* SDB */
++ [147] = 19, /* ADDEXT */
++ [148] = 20, /* RTRALT */
++ [82] = 21, /* TR */
++ [145] = 22, /* EIP */
++ [144] = 23, /* IMITD */
++ [30] = 25, /* EXP */
++ [94] = 25, /* EXP */
++ [158] = 25, /* EXP */
++ [222] = 25, /* EXP */
++ [25] = 30, /* QS */
++ [152] = 31, /* UMP */
++};
++/* Parse IPv4 Options array int ipv4Options IPFIX value. */
++static inline __u32 ip4_options(const u_int8_t *p, const unsigned int optsize)
++{
++ __u32 ret = 0;
++ unsigned int i;
++
++ for (i = 0; likely(i < optsize); ) {
++ u_int8_t op = p[i++];
++
++ if (op == 7) /* RR: bit 0 */
++ ret |= 1;
++ else if (likely(op < ARRAY_SIZE(ip4_opt_table))) {
++ /* Btw, IANA doc is messed up in a crazy way:
++ * http://www.ietf.org/mail-archive/web/ipfix/current/msg06008.html (2011)
++ * I decided to follow IANA _text_ description from
++ * http://www.iana.org/assignments/ipfix/ipfix.xhtml (2013-09-18)
++ *
++ * Set proper bit for htonl later. */
++ if (ip4_opt_table[op])
++ ret |= 1 << (32 - ip4_opt_table[op]);
++ }
++ if (likely(i >= optsize || op == 0))
++ break;
++ else if (unlikely(op == 1))
++ continue;
++ else if (unlikely(p[i] < 2))
++ break;
++ else
++ i += p[i] - 1;
++ }
++ return ret;
++}
++
++#define TCPHDR_MAXSIZE (4 * 15)
++/* List of options: http://www.iana.org/assignments/tcp-parameters/tcp-parameters.xhtml */
++static inline __u32 tcp_options(const struct sk_buff *skb, const unsigned int ptr, const struct tcphdr *th)
++{
++ const unsigned int optsize = th->doff * 4 - sizeof(struct tcphdr);
++ __u8 _opt[TCPHDR_MAXSIZE];
++ const u_int8_t *p;
++ __u32 ret;
++ unsigned int i;
++
++ p = skb_header_pointer(skb, ptr + sizeof(struct tcphdr), optsize, _opt);
++ if (unlikely(!p))
++ return 0;
++ ret = 0;
++ for (i = 0; likely(i < optsize); ) {
++ u_int8_t opt = p[i++];
++
++ if (likely(opt < 32)) {
++ /* IANA doc is messed up, see above. */
++ ret |= 1 << (32 - opt);
++ }
++ if (likely(i >= optsize || opt == 0))
++ break;
++ else if (unlikely(opt == 1))
++ continue;
++ else if (unlikely(p[i] < 2)) /* "silly options" */
++ break;
++ else
++ i += p[i] - 1;
++ }
++ return ret;
++}
+ /* packet receiver */
+ static unsigned int netflow_target(
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
+@@ -1192,27 +2415,38 @@ static unsigned int netflow_target(
+ )
+ {
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
+- struct sk_buff *skb = *pskb;
++ const struct sk_buff *skb = *pskb;
++#endif
++ union {
++ struct iphdr ip;
++ struct ipv6hdr ip6;
++ } _iph, *iph;
++ unsigned int hash;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
++ const int family = target->family;
++#else
++ const int family = par->family;
+ #endif
+- struct iphdr _iph, *iph;
+ struct ipt_netflow_tuple tuple;
+ struct ipt_netflow *nf;
+ __u8 tcp_flags;
+ struct netflow_aggr_n *aggr_n;
+ struct netflow_aggr_p *aggr_p;
+ __u8 s_mask, d_mask;
+- unsigned int hash;
+-
+- iph = skb_header_pointer(skb, 0, sizeof(_iph), &_iph); //iph = ip_hdr(skb);
+-
+- if (iph == NULL) {
++ unsigned int ptr;
++ int fragment;
++ size_t pkt_len;
++ int options = 0;
++ int tcpoptions = 0;
++
++ iph = skb_header_pointer(skb, 0, (likely(family == AF_INET))? sizeof(_iph.ip) : sizeof(_iph.ip6), &iph);
++ if (unlikely(iph == NULL)) {
+ NETFLOW_STAT_INC(truncated);
+ NETFLOW_STAT_INC(pkt_drop);
+ return IPT_CONTINUE;
+ }
+
+- tuple.s_addr = iph->saddr;
+- tuple.d_addr = iph->daddr;
++ tuple.l3proto = family;
+ tuple.s_port = 0;
+ tuple.d_port = 0;
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
+@@ -1220,30 +2454,118 @@ static unsigned int netflow_target(
+ #else
+ tuple.i_ifc = par->in? par->in->ifindex : -1;
+ #endif
+- tuple.protocol = iph->protocol;
+- tuple.tos = iph->tos;
+ tcp_flags = 0; /* Cisco sometimes have TCP ACK for non TCP packets, don't get it */
+ s_mask = 0;
+ d_mask = 0;
+
+- if (iph->frag_off & htons(IP_OFFSET))
++ if (likely(family == AF_INET)) {
++ tuple.src = (union nf_inet_addr){ .ip = iph->ip.saddr };
++ tuple.dst = (union nf_inet_addr){ .ip = iph->ip.daddr };
++ tuple.tos = iph->ip.tos;
++ tuple.protocol = iph->ip.protocol;
++ fragment = unlikely(iph->ip.frag_off & htons(IP_OFFSET));
++ ptr = iph->ip.ihl * 4;
++ pkt_len = ntohs(iph->ip.tot_len);
++
++#define IPHDR_MAXSIZE (4 * 15)
++ if (unlikely(iph->ip.ihl * 4 > sizeof(struct iphdr))) {
++ u_int8_t _opt[IPHDR_MAXSIZE - sizeof(struct iphdr)];
++ const u_int8_t *op;
++ unsigned int optsize = iph->ip.ihl * 4 - sizeof(struct iphdr);
++
++ op = skb_header_pointer(skb, sizeof(struct iphdr), optsize, _opt);
++ if (likely(op))
++ options = ip4_options(op, optsize);
++ }
++ } else {
++ __u8 currenthdr;
++
++ tuple.src.in6 = iph->ip6.saddr;
++ tuple.dst.in6 = iph->ip6.daddr;
++ tuple.tos = iph->ip6.priority;
++ fragment = 0;
++ ptr = sizeof(struct ipv6hdr);
++ pkt_len = ntohs(iph->ip6.payload_len) + sizeof(struct ipv6hdr);
++
++ currenthdr = iph->ip6.nexthdr;
++ while (currenthdr != NEXTHDR_NONE && ipv6_ext_hdr(currenthdr)) {
++ struct ipv6_opt_hdr _hdr;
++ const struct ipv6_opt_hdr *hp;
++ unsigned int hdrlen = 0;
++
++ options |= observed_hdrs(currenthdr);
++ hp = skb_header_pointer(skb, ptr, sizeof(_hdr), &_hdr);
++ if (hp == NULL) {
++ /* We have src/dst, so must account something. */
++ tuple.protocol = currenthdr;
++ fragment = 3;
++ goto do_protocols;
++ }
++
++ switch (currenthdr) {
++ case IPPROTO_FRAGMENT: {
++ struct frag_hdr _fhdr;
++ const struct frag_hdr *fh;
++
++ fh = skb_header_pointer(skb, ptr, sizeof(_fhdr),
++ &_fhdr);
++ if (fh == NULL) {
++ tuple.protocol = currenthdr;
++ fragment = 2;
++ goto do_protocols;
++ }
++ fragment = 1;
++#define FRA0 SetXBit(4) /* Fragment header - first fragment */
++#define FRA1 SetXBit(6) /* Fragmentation header - not first fragment */
++ options |= (ntohs(fh->frag_off) & 0xFFF8)? FRA1 : FRA0;
++ hdrlen = 8;
++ break;
++ }
++ case IPPROTO_AH: {
++ struct ip_auth_hdr _hdr, *hp;
++
++ if (likely(hp = skb_header_pointer(skb, ptr, 8, &_hdr))) {
++ tuple.s_port = hp->spi >> 16;
++ tuple.d_port = hp->spi;
++ }
++ hdrlen = (hp->hdrlen + 2) << 2;
++ break;
++ }
++ default:
++ hdrlen = ipv6_optlen(hp);
++ }
++ currenthdr = hp->nexthdr;
++ ptr += hdrlen;
++ }
++ tuple.protocol = currenthdr;
++ options |= observed_hdrs(currenthdr);
++ }
++
++do_protocols:
++ if (fragment) {
++ /* if conntrack is enabled it should defrag on pre-routing and local-out */
+ NETFLOW_STAT_INC(frags);
+- else {
++ } else {
+ switch (tuple.protocol) {
+ case IPPROTO_TCP: {
+ struct tcphdr _hdr, *hp;
+
+- if ((hp = skb_header_pointer(skb, iph->ihl * 4, 14, &_hdr))) {
++ if (likely(hp = skb_header_pointer(skb, ptr, 14, &_hdr))) {
+ tuple.s_port = hp->source;
+ tuple.d_port = hp->dest;
+ tcp_flags = (u_int8_t)(ntohl(tcp_flag_word(hp)) >> 16);
++
++ if (unlikely(hp->doff * 4 > sizeof(struct tcphdr)))
++ tcpoptions = tcp_options(skb, ptr, hp);
+ }
+ break;
+ }
+- case IPPROTO_UDP: {
++ case IPPROTO_UDP:
++ case IPPROTO_UDPLITE:
++ case IPPROTO_SCTP: {
+ struct udphdr _hdr, *hp;
+
+- if ((hp = skb_header_pointer(skb, iph->ihl * 4, 4, &_hdr))) {
++ if (likely(hp = skb_header_pointer(skb, ptr, 4, &_hdr))) {
+ tuple.s_port = hp->source;
+ tuple.d_port = hp->dest;
+ }
+@@ -1252,72 +2574,111 @@ static unsigned int netflow_target(
+ case IPPROTO_ICMP: {
+ struct icmphdr _hdr, *hp;
+
+- if ((hp = skb_header_pointer(skb, iph->ihl * 4, 2, &_hdr)))
+- tuple.d_port = (hp->type << 8) | hp->code;
++ if (likely(family == AF_INET &&
++ (hp = skb_header_pointer(skb, ptr, 2, &_hdr))))
++ tuple.d_port = htons((hp->type << 8) | hp->code);
+ break;
+ }
++ case IPPROTO_ICMPV6: {
++ struct icmp6hdr _icmp6h, *ic;
++
++ if (likely(family == AF_INET6 &&
++ (ic = skb_header_pointer(skb, ptr, 2, &_icmp6h))))
++ tuple.d_port = htons((ic->icmp6_type << 8) | ic->icmp6_code);
++ break;
++ }
+ case IPPROTO_IGMP: {
+- struct igmphdr *_hdr, *hp;
++ struct igmphdr _hdr, *hp;
+
+- if ((hp = skb_header_pointer(skb, iph->ihl * 4, 1, &_hdr)))
++ if (likely(hp = skb_header_pointer(skb, ptr, 1, &_hdr)))
+ tuple.d_port = hp->type;
+ }
+ break;
++ case IPPROTO_AH: { /* IPSEC */
++ struct ip_auth_hdr _hdr, *hp;
++
++ if (likely(family == AF_INET && /* For IPv6 it's parsed above. */
++ (hp = skb_header_pointer(skb, ptr, 8, &_hdr)))) {
++ tuple.s_port = hp->spi >> 16;
++ tuple.d_port = hp->spi;
++ }
++ break;
++ }
++ case IPPROTO_ESP: {
++ struct ip_esp_hdr _hdr, *hp;
++
++ if (likely(hp = skb_header_pointer(skb, ptr, 4, &_hdr)))
++ tuple.s_port = hp->spi >> 16;
++ tuple.d_port = hp->spi;
++ }
++ break;
+ }
+ } /* not fragmented */
+
+ /* aggregate networks */
+ read_lock_bh(&aggr_lock);
+- list_for_each_entry(aggr_n, &aggr_n_list, list)
+- if ((ntohl(tuple.s_addr) & aggr_n->mask) == aggr_n->addr) {
+- tuple.s_addr &= htonl(aggr_n->aggr_mask);
+- s_mask = aggr_n->prefix;
+- break;
+- }
+- list_for_each_entry(aggr_n, &aggr_n_list, list)
+- if ((ntohl(tuple.d_addr) & aggr_n->mask) == aggr_n->addr) {
+- tuple.d_addr &= htonl(aggr_n->aggr_mask);
+- d_mask = aggr_n->prefix;
+- break;
+- }
++ if (family == AF_INET) {
++ list_for_each_entry(aggr_n, &aggr_n_list, list)
++ if (unlikely((ntohl(tuple.src.ip) & aggr_n->mask) == aggr_n->addr)) {
++ tuple.src.ip &= htonl(aggr_n->aggr_mask);
++ s_mask = aggr_n->prefix;
++ atomic_inc(&aggr_n->usage);
++ break;
++ }
++ list_for_each_entry(aggr_n, &aggr_n_list, list)
++ if (unlikely((ntohl(tuple.dst.ip) & aggr_n->mask) == aggr_n->addr)) {
++ tuple.dst.ip &= htonl(aggr_n->aggr_mask);
++ d_mask = aggr_n->prefix;
++ atomic_inc(&aggr_n->usage);
++ break;
++ }
++ }
+
+- /* aggregate ports */
+- list_for_each_entry(aggr_p, &aggr_p_list, list)
+- if (ntohs(tuple.s_port) >= aggr_p->port1 &&
+- ntohs(tuple.s_port) <= aggr_p->port2) {
+- tuple.s_port = htons(aggr_p->aggr_port);
+- break;
+- }
++ if (tuple.protocol == IPPROTO_TCP ||
++ tuple.protocol == IPPROTO_UDP ||
++ tuple.protocol == IPPROTO_SCTP ||
++ tuple.protocol == IPPROTO_UDPLITE) {
++ /* aggregate ports */
++ list_for_each_entry(aggr_p, &aggr_p_list, list)
++ if (unlikely(ntohs(tuple.s_port) >= aggr_p->port1 &&
++ ntohs(tuple.s_port) <= aggr_p->port2)) {
++ tuple.s_port = htons(aggr_p->aggr_port);
++ atomic_inc(&aggr_p->usage);
++ break;
++ }
+
+- list_for_each_entry(aggr_p, &aggr_p_list, list)
+- if (ntohs(tuple.d_port) >= aggr_p->port1 &&
+- ntohs(tuple.d_port) <= aggr_p->port2) {
+- tuple.d_port = htons(aggr_p->aggr_port);
+- break;
+- }
++ list_for_each_entry(aggr_p, &aggr_p_list, list)
++ if (unlikely(ntohs(tuple.d_port) >= aggr_p->port1 &&
++ ntohs(tuple.d_port) <= aggr_p->port2)) {
++ tuple.d_port = htons(aggr_p->aggr_port);
++ atomic_inc(&aggr_p->usage);
++ break;
++ }
++ }
+ read_unlock_bh(&aggr_lock);
+
+ hash = hash_netflow(&tuple);
+- spin_lock_bh(&ipt_netflow_lock);
++ read_lock_bh(&htable_rwlock);
++ spin_lock(&htable_locks[hash & LOCK_COUNT_MASK]);
+ /* record */
+ nf = ipt_netflow_find(&tuple, hash);
+- if (!nf) {
+- if (maxflows > 0 && atomic_read(&ipt_netflow_count) >= maxflows) {
++ if (unlikely(!nf)) {
++ struct rtable *rt;
++
++ if (unlikely(maxflows > 0 && atomic_read(&ipt_netflow_count) >= maxflows)) {
+ /* This is DOS attack prevention */
+ NETFLOW_STAT_INC(maxflows_err);
+ NETFLOW_STAT_INC(pkt_drop);
+- NETFLOW_STAT_ADD(traf_drop, ntohs(iph->tot_len));
+- spin_unlock_bh(&ipt_netflow_lock);
+- return IPT_CONTINUE;
++ NETFLOW_STAT_ADD(traf_drop, pkt_len);
++ goto unlock_return;
+ }
+
+ nf = init_netflow(&tuple, skb, hash);
+- if (!nf || IS_ERR(nf)) {
++ if (unlikely(!nf || IS_ERR(nf))) {
+ NETFLOW_STAT_INC(alloc_err);
+ NETFLOW_STAT_INC(pkt_drop);
+- NETFLOW_STAT_ADD(traf_drop, ntohs(iph->tot_len));
+- spin_unlock_bh(&ipt_netflow_lock);
+- return IPT_CONTINUE;
++ NETFLOW_STAT_ADD(traf_drop, pkt_len);
++ goto unlock_return;
+ }
+
+ nf->ts_first = jiffies;
+@@ -1330,31 +2691,68 @@ static unsigned int netflow_target(
+ nf->s_mask = s_mask;
+ nf->d_mask = d_mask;
+
+- if (debug > 2)
+- printk(KERN_INFO "ipt_netflow: new (%u) %hd:%hd SRC=%u.%u.%u.%u:%u DST=%u.%u.%u.%u:%u\n",
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26)
++ rt = (struct rtable *)skb->dst;
++#else /* since 2.6.26 */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)
++ rt = skb->rtable;
++#else /* since 2.6.31 */
++ rt = skb_rtable(skb);
++#endif
++#endif
++ if (likely(family == AF_INET)) {
++ if (rt)
++ nf->nh.ip = rt->rt_gateway;
++ } else {
++ if (rt)
++ nf->nh.in6 = ((struct rt6_info *)rt)->rt6i_gateway;
++ nf->flow_label = (iph->ip6.flow_lbl[0] << 16) |
++ (iph->ip6.flow_lbl[1] << 8) | (iph->ip6.flow_lbl[2]);
++ }
++#if 0
++ if (unlikely(debug > 2))
++ printk(KERN_INFO "ipt_NETFLOW: new (%u) %hd:%hd SRC=%u.%u.%u.%u:%u DST=%u.%u.%u.%u:%u\n",
+ atomic_read(&ipt_netflow_count),
+ tuple.i_ifc, nf->o_ifc,
+ NIPQUAD(tuple.s_addr), ntohs(tuple.s_port),
+ NIPQUAD(tuple.d_addr), ntohs(tuple.d_port));
++#endif
+ } else {
+ /* ipt_netflow_list is sorted by access time:
+ * most recently accessed flows are at head, old flows remain at tail
+ * this function bubble up flow to the head */
++ spin_lock(&hlist_lock);
+ list_move(&nf->list, &ipt_netflow_list);
++ spin_unlock(&hlist_lock);
+ }
+
++#ifdef CONFIG_NF_CONNTRACK_MARK
++ {
++ struct nf_conn *ct;
++ enum ip_conntrack_info ctinfo;
++ ct = nf_ct_get(skb, &ctinfo);
++ if (ct)
++ nf->mark = ct->mark;
++ }
++#endif
++
+ nf->nr_packets++;
+- nf->nr_bytes += ntohs(iph->tot_len);
++ nf->nr_bytes += pkt_len;
+ nf->ts_last = jiffies;
+ nf->tcp_flags |= tcp_flags;
++ nf->options |= options;
++ if (tuple.protocol == IPPROTO_TCP)
++ nf->tcpoptions |= tcpoptions;
+
+ NETFLOW_STAT_INC(pkt_total);
+- NETFLOW_STAT_ADD(traf_total, ntohs(iph->tot_len));
++ NETFLOW_STAT_ADD(traf_total, pkt_len);
+
+- if (active_needs_export(nf, active_timeout * HZ)) {
++ if (likely(active_needs_export(nf, active_timeout * HZ))) {
+ /* ok, if this active flow to be exported
+ * bubble it to the tail */
++ spin_lock(&hlist_lock);
+ list_move_tail(&nf->list, &ipt_netflow_list);
++ spin_unlock(&hlist_lock);
+
+ /* Blog: I thought about forcing timer to wake up sooner if we have
+ * enough exportable flows, but in fact this doesn't have much sense,
+@@ -1363,35 +2761,194 @@ static unsigned int netflow_target(
+ * limited size). But yes, this is disputable. */
+ }
+
+- spin_unlock_bh(&ipt_netflow_lock);
++unlock_return:
++ spin_unlock(&htable_locks[hash & LOCK_COUNT_MASK]);
++ read_unlock_bh(&htable_rwlock);
+
+ return IPT_CONTINUE;
+ }
+
+-static struct ipt_target ipt_netflow_reg = {
+- .name = "NETFLOW",
+- .target = netflow_target,
+- .family = AF_INET,
+-#ifndef RAW_PROMISC_HACK
+- .table = "filter",
+-#ifndef NF_IP_LOCAL_IN /* 2.6.25 */
+- .hooks = (1 << NF_INET_LOCAL_IN) | (1 << NF_INET_FORWARD) |
+- (1 << NF_INET_LOCAL_OUT),
+-#else
+- .hooks = (1 << NF_IP_LOCAL_IN) | (1 << NF_IP_FORWARD) |
+- (1 << NF_IP_LOCAL_OUT),
+-#endif /* NF_IP_LOCAL_IN */
++#ifdef CONFIG_NF_NAT_NEEDED
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
++ /* Below 2.6.31 we don't need to handle callback chain manually. */
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
++#define NET_STRUCT struct net *net
++#define NET_ARG net,
++#define nf_conntrack_event_cb net->ct.nf_conntrack_event_cb
+ #else
+- .table = "raw",
+-#ifndef NF_IP_LOCAL_IN
+- .hooks = (1 << NF_INET_LOCAL_IN) | (1 << NF_INET_FORWARD) |
+- (1 << NF_INET_LOCAL_OUT) | (1 << NF_INET_PRE_ROUTING),
++#define NET_STRUCT void
++#define NET_ARG
++#endif
++static int set_notifier_cb(NET_STRUCT)
++{
++ struct nf_ct_event_notifier *notifier;
++
++ notifier = rcu_dereference(nf_conntrack_event_cb);
++ if (notifier == NULL) {
++ /* Polite mode. */
++ nf_conntrack_register_notifier(NET_ARG &ctnl_notifier);
++ } else if (notifier != &ctnl_notifier) {
++ if (!saved_event_cb)
++ saved_event_cb = notifier;
++ else if (saved_event_cb != notifier)
++ printk(KERN_ERR "natevents_net_init: %p != %p (report error.)\n",
++ saved_event_cb, notifier);
++ rcu_assign_pointer(nf_conntrack_event_cb, &ctnl_notifier);
++ } else
++ printk(KERN_ERR "ipt_NETFLOW: natevents already enabled.\n");
++ return 0;
++}
++static void unset_notifier_cb(NET_STRUCT)
++{
++ struct nf_ct_event_notifier *notifier;
++
++ notifier = rcu_dereference(nf_conntrack_event_cb);
++ if (notifier == &ctnl_notifier) {
++ if (saved_event_cb == NULL)
++ nf_conntrack_unregister_notifier(NET_ARG &ctnl_notifier);
++ else
++ rcu_assign_pointer(nf_conntrack_event_cb, saved_event_cb);
++ } else
++ printk(KERN_ERR "ipt_NETFLOW: natevents already disabled.\n");
++}
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
++#undef nf_conntrack_event_cb
++static struct pernet_operations natevents_net_ops = {
++ .init = set_notifier_cb,
++ .exit = unset_notifier_cb
++};
++#endif
++#endif /* since 2.6.31 */
++
++static DEFINE_MUTEX(events_lock);
++/* Both functions may be called multiple times. */
++static void register_ct_events(void)
++{
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
++#define NETLINK_M "nf_conntrack_netlink"
++ struct module *netlink_m;
++ static int referenced = 0;
++#endif
++
++ printk(KERN_INFO "ipt_NETFLOW: enable natevents.\n");
++ mutex_lock(&events_lock);
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
++ /* Pre-load netlink module who will be first notifier
++ * user, and then hijack nf_conntrack_event_cb from it. */
++ if (
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0)
++ !rcu_dereference(nf_conntrack_event_cb) ||
++#endif
++ !(netlink_m = find_module(NETLINK_M))) {
++ printk("Loading " NETLINK_M "\n");
++ request_module(NETLINK_M);
++ }
++ /* Reference netlink module to prevent it's unsafe unload before us. */
++ if (!referenced && (netlink_m = find_module(NETLINK_M))) {
++ referenced++;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)
++#define use_module ref_module
++#endif
++ use_module(THIS_MODULE, netlink_m);
++ }
++
++ /* Register ct events callback. */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
++ register_pernet_subsys(&natevents_net_ops);
+ #else
+- .hooks = (1 << NF_IP_LOCAL_IN) | (1 << NF_IP_FORWARD) |
+- (1 << NF_IP_LOCAL_OUT) | (1 << NF_IP_PRE_ROUTING),
+-#endif /* NF_IP_LOCAL_IN */
+-#endif /* !RAW_PROMISC_HACK */
+- .me = THIS_MODULE
++ set_notifier_cb();
++#endif
++#else /* below v2.6.31 */
++ if (!natevents && nf_conntrack_register_notifier(&ctnl_notifier) < 0)
++ printk(KERN_ERR "Can't register conntrack notifier, natevents disabled.\n");
++ else
++#endif
++ natevents = 1;
++ mutex_unlock(&events_lock);
++}
++
++static void unregister_ct_events(void)
++{
++ printk(KERN_INFO "ipt_NETFLOW: disable natevents.\n");
++ mutex_lock(&events_lock);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
++ unregister_pernet_subsys(&natevents_net_ops);
++#else /* < v3.2 */
++ unset_notifier_cb();
++#endif /* v3.2 */
++ rcu_assign_pointer(saved_event_cb, NULL);
++#else /* < v2.6.31 */
++ nf_conntrack_unregister_notifier(&ctnl_notifier);
++#endif
++ natevents = 0;
++ mutex_unlock(&events_lock);
++}
++#endif /* CONFIG_NF_NAT_NEEDED */
++
++#ifndef NF_IP_LOCAL_IN /* 2.6.25 */
++#define NF_IP_PRE_ROUTING NF_INET_PRE_ROUTING
++#define NF_IP_LOCAL_IN NF_INET_LOCAL_IN
++#define NF_IP_FORWARD NF_INET_FORWARD
++#define NF_IP_LOCAL_OUT NF_INET_LOCAL_OUT
++#define NF_IP_POST_ROUTING NF_INET_POST_ROUTING
++#endif
++
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
++/* net/netfilter/x_tables.c */
++static void xt_unregister_targets(struct xt_target *target, unsigned int n)
++{
++ unsigned int i;
++
++ for (i = 0; i < n; i++)
++ xt_unregister_target(&target[i]);
++}
++static int xt_register_targets(struct xt_target *target, unsigned int n)
++{
++ unsigned int i;
++
++ int err = 0;
++ for (i = 0; i < n; i++)
++ if ((err = xt_register_target(&target[i])))
++ goto err;
++ return err;
++err:
++ if (i > 0)
++ xt_unregister_targets(target, i);
++ return err;
++}
++#endif
++
++static struct ipt_target ipt_netflow_reg[] __read_mostly = {
++ {
++ .name = "NETFLOW",
++ .target = netflow_target,
++ .checkentry = netflow_target_check,
++ .family = AF_INET,
++ .hooks =
++ (1 << NF_IP_PRE_ROUTING) |
++ (1 << NF_IP_LOCAL_IN) |
++ (1 << NF_IP_FORWARD) |
++ (1 << NF_IP_LOCAL_OUT) |
++ (1 << NF_IP_POST_ROUTING),
++ .me = THIS_MODULE
++ },
++ {
++ .name = "NETFLOW",
++ .target = netflow_target,
++ .checkentry = netflow_target_check,
++ .family = AF_INET6,
++ .hooks =
++ (1 << NF_IP_PRE_ROUTING) |
++ (1 << NF_IP_LOCAL_IN) |
++ (1 << NF_IP_FORWARD) |
++ (1 << NF_IP_LOCAL_OUT) |
++ (1 << NF_IP_POST_ROUTING),
++ .me = THIS_MODULE
++ },
+ };
+
+ static int __init ipt_netflow_init(void)
+@@ -1399,11 +2956,16 @@ static int __init ipt_netflow_init(void)
+ #ifdef CONFIG_PROC_FS
+ struct proc_dir_entry *proc_stat;
+ #endif
++ printk(KERN_INFO "ipt_NETFLOW version %s, srcversion %s\n",
++ IPT_NETFLOW_VERSION, THIS_MODULE->srcversion);
+
+ get_random_bytes(&ipt_netflow_hash_rnd, 4);
+
+ /* determine hash size (idea from nf_conntrack_core.c) */
+ if (!hashsize) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)
++#define num_physpages totalram_pages
++#endif
+ hashsize = (((num_physpages << PAGE_SHIFT) / 16384)
+ / sizeof(struct hlist_head));
+ if (num_physpages > (1024 * 1024 * 1024 / PAGE_SIZE))
+@@ -1411,8 +2973,7 @@ static int __init ipt_netflow_init(void)
+ }
+ if (hashsize < 16)
+ hashsize = 16;
+- printk(KERN_INFO "ipt_netflow version %s (%u buckets)\n",
+- IPT_NETFLOW_VERSION, hashsize);
++ printk(KERN_INFO "ipt_NETFLOW: hashsize %u\n", hashsize);
+
+ ipt_netflow_hash_size = hashsize;
+ ipt_netflow_hash = alloc_hashtable(ipt_netflow_hash_size);
+@@ -1434,12 +2995,18 @@ static int __init ipt_netflow_init(void)
+ }
+
+ #ifdef CONFIG_PROC_FS
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
+ proc_stat = create_proc_entry("ipt_netflow", S_IRUGO, INIT_NET(proc_net_stat));
++#else
++ proc_stat = proc_create("ipt_netflow", S_IRUGO, INIT_NET(proc_net_stat), &nf_seq_fops);
++#endif
+ if (!proc_stat) {
+ printk(KERN_ERR "Unable to create /proc/net/stat/ipt_netflow entry\n");
+ goto err_free_netflow_slab;
+ }
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
+ proc_stat->proc_fops = &nf_seq_fops;
++#endif
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+ proc_stat->owner = THIS_MODULE;
+ #endif
+@@ -1480,21 +3047,28 @@ static int __init ipt_netflow_init(void)
+ }
+ add_aggregation(aggregation);
+
+- __start_scan_worker();
++ netflow_switch_version(protocol);
++ _schedule_scan_worker(0);
+ setup_timer(&rate_timer, rate_timer_calc, 0);
+ mod_timer(&rate_timer, jiffies + (HZ * SAMPLERATE));
+
+- if (xt_register_target(&ipt_netflow_reg))
++ peakflows_at = jiffies;
++ if (xt_register_targets(ipt_netflow_reg, ARRAY_SIZE(ipt_netflow_reg)))
+ goto err_stop_timer;
+
+- peakflows_at = jiffies;
++#ifdef CONFIG_NF_NAT_NEEDED
++ if (natevents)
++ register_ct_events();
++#endif
+
+- printk(KERN_INFO "ipt_netflow loaded.\n");
++ printk(KERN_INFO "ipt_NETFLOW is loaded.\n");
+ return 0;
+
+ err_stop_timer:
+- __stop_scan_worker();
++ _unschedule_scan_worker();
++ netflow_scan_and_export(AND_FLUSH);
+ del_timer_sync(&rate_timer);
++ free_templates();
+ destination_removeall();
+ aggregation_remove(&aggr_n_list);
+ aggregation_remove(&aggr_p_list);
+@@ -1506,17 +3080,18 @@ err_free_proc_stat:
+ #ifdef CONFIG_PROC_FS
+ remove_proc_entry("ipt_netflow", INIT_NET(proc_net_stat));
+ err_free_netflow_slab:
+-#endif
++#endif
+ kmem_cache_destroy(ipt_netflow_cachep);
+ err_free_hash:
+ vfree(ipt_netflow_hash);
+ err:
++ printk(KERN_INFO "ipt_NETFLOW is not loaded.\n");
+ return -ENOMEM;
+ }
+
+ static void __exit ipt_netflow_fini(void)
+ {
+- printk(KERN_INFO "ipt_netflow unloading..\n");
++ printk(KERN_INFO "ipt_NETFLOW unloading..\n");
+
+ #ifdef CONFIG_SYSCTL
+ unregister_sysctl_table(netflow_sysctl_header);
+@@ -1524,14 +3099,18 @@ static void __exit ipt_netflow_fini(void)
+ #ifdef CONFIG_PROC_FS
+ remove_proc_entry("ipt_netflow", INIT_NET(proc_net_stat));
+ #endif
+-
+- xt_unregister_target(&ipt_netflow_reg);
+- __stop_scan_worker();
+- netflow_scan_and_export(1);
++ xt_unregister_targets(ipt_netflow_reg, ARRAY_SIZE(ipt_netflow_reg));
++#ifdef CONFIG_NF_NAT_NEEDED
++ if (natevents)
++ unregister_ct_events();
++#endif
++ _unschedule_scan_worker();
++ netflow_scan_and_export(AND_FLUSH);
+ del_timer_sync(&rate_timer);
+
+ synchronize_sched();
+
++ free_templates();
+ destination_removeall();
+ aggregation_remove(&aggr_n_list);
+ aggregation_remove(&aggr_p_list);
+@@ -1539,7 +3118,7 @@ static void __exit ipt_netflow_fini(void)
+ kmem_cache_destroy(ipt_netflow_cachep);
+ vfree(ipt_netflow_hash);
+
+- printk(KERN_INFO "ipt_netflow unloaded.\n");
++ printk(KERN_INFO "ipt_NETFLOW unloaded.\n");
+ }
+
+ module_init(ipt_netflow_init);
+diff --git a/ipt_NETFLOW.h b/ipt_NETFLOW.h
+index 4a7b645..749f985 100644
+--- a/ipt_NETFLOW.h
++++ b/ipt_NETFLOW.h
+@@ -35,8 +35,8 @@ struct netflow5_record {
+ __be16 o_ifc;
+ __be32 nr_packets;
+ __be32 nr_octets;
+- __be32 ts_first;
+- __be32 ts_last;
++ __be32 first_ms;
++ __be32 last_ms;
+ __be16 s_port;
+ __be16 d_port;
+ __u8 reserved;
+@@ -54,9 +54,9 @@ struct netflow5_record {
+ struct netflow5_pdu {
+ __be16 version;
+ __be16 nr_records;
+- __be32 ts_uptime;
+- __be32 ts_usecs;
+- __be32 ts_unsecs;
++ __be32 ts_uptime; /* ms */
++ __be32 ts_usecs; /* s */
++ __be32 ts_unsecs; /* ns */
+ __be32 seq;
+ __u8 eng_type;
+ __u8 eng_id;
+@@ -65,42 +65,185 @@ struct netflow5_pdu {
+ } __attribute__ ((packed));
+ #define NETFLOW5_HEADER_SIZE (sizeof(struct netflow5_pdu) - NETFLOW5_RECORDS_MAX * sizeof(struct netflow5_record))
+
++/* NetFlow v9 RFC http://www.ietf.org/rfc/rfc3954.txt */
++enum {
++ IN_BYTES = 1,
++ IN_PKTS = 2,
++ PROTOCOL = 4,
++ TOS = 5,
++ TCP_FLAGS = 6,
++ L4_SRC_PORT = 7,
++ IPV4_SRC_ADDR = 8,
++ SRC_MASK = 9,
++ INPUT_SNMP = 10,
++ L4_DST_PORT = 11,
++ IPV4_DST_ADDR = 12,
++ DST_MASK = 13,
++ OUTPUT_SNMP = 14,
++ IPV4_NEXT_HOP = 15,
++ //SRC_AS = 16,
++ //DST_AS = 17,
++ //BGP_IPV4_NEXT_HOP = 18,
++ //MUL_DST_PKTS = 19,
++ //MUL_DST_BYTES = 20,
++ LAST_SWITCHED = 21,
++ FIRST_SWITCHED = 22,
++ IPV6_SRC_ADDR = 27,
++ IPV6_DST_ADDR = 28,
++ IPV6_FLOW_LABEL = 31,
++ ICMP_TYPE = 32,
++ MUL_IGMP_TYPE = 33,
++ //TOTAL_BYTES_EXP = 40,
++ //TOTAL_PKTS_EXP = 41,
++ //TOTAL_FLOWS_EXP = 42,
++ IPV6_NEXT_HOP = 62,
++ IPV6_OPTION_HEADERS = 64,
++ commonPropertiesId = 137, /* for MARK */
++ ipv4Options = 208,
++ tcpOptions = 209,
++ postNATSourceIPv4Address = 225,
++ postNATDestinationIPv4Address = 226,
++ postNAPTSourceTransportPort = 227,
++ postNAPTDestinationTransportPort = 228,
++ natEvent = 230,
++ postNATSourceIPv6Address = 281,
++ postNATDestinationIPv6Address = 282,
++ IPSecSPI = 295,
++ observationTimeMilliseconds = 323,
++ observationTimeMicroseconds = 324,
++ observationTimeNanoseconds = 325,
++};
++
++enum {
++ FLOWSET_TEMPLATE = 0,
++ FLOWSET_OPTIONS = 1,
++ IPFIX_TEMPLATE = 2,
++ IPFIX_OPTIONS = 3,
++ FLOWSET_DATA_FIRST = 256,
++};
++
++struct flowset_template {
++ __be16 flowset_id;
++ __be16 length;
++ __be16 template_id;
++ __be16 field_count;
++} __attribute__ ((packed));
++
++struct flowset_data {
++ __be16 flowset_id;
++ __be16 length;
++} __attribute__ ((packed));
++
++/* NetFlow v9 packet. */
++struct netflow9_pdu {
++ __be16 version;
++ __be16 nr_records;
++ __be32 sys_uptime_ms;
++ __be32 export_time_s;
++ __be32 seq;
++ __be32 source_id; /* Exporter Observation Domain */
++ __u8 data[1400];
++} __attribute__ ((packed));
++
++/* IPFIX packet. */
++struct ipfix_pdu {
++ __be16 version;
++ __be16 length;
++ __be32 export_time_s;
++ __be32 seq;
++ __be32 odomain_id; /* Observation Domain ID */
++ __u8 data[1400];
++} __attribute__ ((packed));
++
++/* Maximum bytes flow can have, after it's reached flow will become
++ * not searchable and will be exported soon. */
++#define FLOW_FULL_WATERMARK 0xffefffff
++
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)
++union nf_inet_addr {
++ __be32 ip;
++ __be32 ip6[4];
++ struct in_addr in;
++ struct in6_addr in6;
++};
++#endif
++
+ /* hashed data which identify unique flow */
++/* 16+16 + 2+2 + 2+1+1+1 = 41 */
+ struct ipt_netflow_tuple {
+- __be32 s_addr; // Network byte order
+- __be32 d_addr; // -"-
+- __be16 s_port; // -"-
++ union nf_inet_addr src;
++ union nf_inet_addr dst;
++ __be16 s_port; // Network byte order
+ __be16 d_port; // -"-
+- __be16 i_ifc; // Local byte order
++ __u16 i_ifc; // Host byte order
+ __u8 protocol;
+ __u8 tos;
++ __u8 l3proto;
+ };
+-/* tuple size is rounded to u32s */
+-#define NETFLOW_TUPLE_SIZE (sizeof(struct ipt_netflow_tuple) / 4)
+-
+-/* maximum bytes flow can have, after it reached flow become not searchable and will be exported soon */
+-#define FLOW_FULL_WATERMARK 0xffefffff
+
+-/* flow entry */
++/* hlist[2] + tuple[]: 8+8 + 41 = 57 (less than usual cache line, 64) */
+ struct ipt_netflow {
+ struct hlist_node hlist; // hashtable search chain
+- struct list_head list; // all flows chain
+
+ /* unique per flow data (hashed, NETFLOW_TUPLE_SIZE) */
+ struct ipt_netflow_tuple tuple;
+
+ /* volatile data */
+- __be16 o_ifc;
++ union nf_inet_addr nh;
++ __u16 o_ifc;
+ __u8 s_mask;
+ __u8 d_mask;
++ __u8 tcp_flags; /* `OR' of all tcp flags */
+
+ /* flow statistics */
+ u_int32_t nr_packets;
+ u_int32_t nr_bytes;
+- unsigned long ts_first;
+- unsigned long ts_last;
+- __u8 tcp_flags; /* `OR' of all tcp flags */
++ union {
++ struct {
++ unsigned long first;
++ unsigned long last;
++ } ts;
++ ktime_t ts_obs;
++ } _ts_un;
++#define ts_first _ts_un.ts.first
++#define ts_last _ts_un.ts.last
++#define ts_obs _ts_un.ts_obs
++ u_int32_t flow_label; /* IPv6 */
++ u_int32_t options; /* IPv4(16) & IPv6(32) Options */
++ u_int32_t tcpoptions;
++#ifdef CONFIG_NF_CONNTRACK_MARK
++ u_int32_t mark; /* Exported as commonPropertiesId */
++#endif
++#ifdef CONFIG_NF_NAT_NEEDED
++ __be32 s_as;
++ __be32 d_as;
++ struct nat_event *nat;
++#endif
++ struct list_head list; // all flows chain
++ spinlock_t *lock;
++};
++
++#ifdef CONFIG_NF_NAT_NEEDED
++enum {
++ NAT_CREATE, NAT_DESTROY, NAT_POOLEXHAUSTED
+ };
++struct nat_event {
++ struct list_head list;
++ struct {
++ __be32 s_addr;
++ __be32 d_addr;
++ __be16 s_port;
++ __be16 d_port;
++ } pre, post;
++ ktime_t ts_ktime;
++ unsigned long ts_jiffies;
++ __u8 protocol;
++ __u8 nat_event;
++};
++#define IS_DUMMY_FLOW(nf) (nf->nat)
++#else
++#define IS_DUMMY_FLOW(nf) 0
++#endif
+
+ static inline int ipt_netflow_tuple_equal(const struct ipt_netflow_tuple *t1,
+ const struct ipt_netflow_tuple *t2)
+@@ -115,11 +258,13 @@ struct ipt_netflow_sock {
+ unsigned short port;
+ atomic_t wmem_peak; // sk_wmem_alloc peak value
+ atomic_t err_full; // socket filled error
++ atomic_t err_connect; // connect errors
+ atomic_t err_other; // other socket errors
+ };
+
+ struct netflow_aggr_n {
+ struct list_head list;
++ atomic_t usage;
+ __u32 mask;
+ __u32 addr;
+ __u32 aggr_mask;
+@@ -128,6 +273,7 @@ struct netflow_aggr_n {
+
+ struct netflow_aggr_p {
+ struct list_head list;
++ atomic_t usage;
+ __u16 port1;
+ __u16 port2;
+ __u16 aggr_port;
+diff --git a/libipt_NETFLOW.c b/libipt_NETFLOW.c
+index d85b6d9..a0f9e5d 100644
+--- a/libipt_NETFLOW.c
++++ b/libipt_NETFLOW.c
+@@ -58,24 +58,24 @@
+ #define _IPT_IP struct ipt_ip
+ #endif
+
++#ifndef IPTABLES_VERSION
++#define IPTABLES_VERSION XTABLES_VERSION
++#endif
++
+ static struct option opts[] = {
+- {0}
++ { 0 }
+ };
+
+ static void help(void)
+ {
+- printf( "NETFLOW target\n");
++ printf("NETFLOW target\n");
+ }
+
+-//static int parse(int c, char **argv, int invert, unsigned int *flags,
+-// const _IPT_ENTRY *entry,
+-// struct ipt_entry_target **target)
+ static int parse(int c, char **argv, int invert, unsigned int *flags,
+ const _IPT_ENTRY *entry,
+ struct ipt_entry_target **targetinfo)
+
+ {
+-
+ return 1;
+ }
+
+@@ -95,16 +95,9 @@ static void print(const _IPT_IP *ip,
+ }
+
+ static struct iptables_target netflow = {
+-#ifdef MOD140
+- .family = AF_INET,
+-#endif
+ .next = NULL,
+ .name = "NETFLOW",
+-#ifdef XTABLES_VERSION
+- .version = XTABLES_VERSION,
+-#else
+ .version = IPTABLES_VERSION,
+-#endif
+ .size = IPT_ALIGN(0),
+ .userspacesize = IPT_ALIGN(0),
+ .help = &help,
+diff --git a/murmur3.h b/murmur3.h
+new file mode 100644
+index 0000000..57a6006
+--- /dev/null
++++ b/murmur3.h
+@@ -0,0 +1,42 @@
++/* MurmurHash3, based on https://code.google.com/p/smhasher of Austin Appleby. */
++
++static __always_inline uint32_t rotl32(const uint32_t x, const int8_t r)
++{
++ return (x << r) | (x >> (32 - r));
++}
++
++static __always_inline uint32_t fmix32(register uint32_t h)
++{
++ h ^= h >> 16;
++ h *= 0x85ebca6b;
++ h ^= h >> 13;
++ h *= 0xc2b2ae35;
++ h ^= h >> 16;
++ return h;
++}
++
++static inline uint32_t murmur3(const void *key, const uint32_t len, const uint32_t seed)
++{
++ const uint32_t c1 = 0xcc9e2d51;
++ const uint32_t c2 = 0x1b873593;
++ const uint32_t *blocks;
++ const uint8_t *tail;
++ register uint32_t h1 = seed;
++ uint32_t k1 = 0;
++ uint32_t i;
++
++ blocks = (const uint32_t *)key;
++ for (i = len / 4; i; --i) {
++ h1 ^= rotl32(*blocks++ * c1, 15) * c2;
++ h1 = rotl32(h1, 13) * 5 + 0xe6546b64;
++ }
++ tail = (const uint8_t*)blocks;
++ switch (len & 3) {
++ case 3: k1 ^= tail[2] << 16;
++ case 2: k1 ^= tail[1] << 8;
++ case 1: k1 ^= tail[0];
++ h1 ^= rotl32(k1 * c1, 15) * c2;
++ }
++ return fmix32(h1^ len);
++}
++
+diff --git a/raw_promisc_debian_squeeze6.patch b/raw_promisc_debian_squeeze6.patch
+new file mode 100644
+index 0000000..69d0d35
+--- /dev/null
++++ b/raw_promisc_debian_squeeze6.patch
+@@ -0,0 +1,37 @@
++
++ Short manual and patch for Debian Squeeze
++ suggested by Pavel Odintsov:
++
++On Thu, Dec 27, 2012 at 07:46:30PM +0400, Pavel Odintsov wrote:
++>
++> Debian Squeeze promisc.
++>
++> cd /usr/src
++> apt-get install -y dpkg-dev
++> apt-get build-dep linux-image-2.6.32-5-amd64
++> cd linux-2.6-2.6.32/
++> apt-get source linux-image-2.6.32-5-amd64
++>
++> wget .... /root/raw_promisc_debian_squeeze6.patch
++> patch -p1 < raw_promisc_debian_squeeze6.patch
++> :
++> debian/rules source
++>
++> :
++> debian/rules binary
++>
++
++diff -rupN linux-2.6-2.6.32/net/ipv4/ip_input.c linux-2.6-2.6.32_promisc_raw//net/ipv4/ip_input.c
++--- linux-2.6-2.6.32/net/ipv4/ip_input.c 2009-12-03 04:51:21.000000000 +0100
+++++ linux-2.6-2.6.32_promisc_raw//net/ipv4/ip_input.c 2012-06-25 19:13:49.000000000 +0200
++@@ -383,8 +383,8 @@ int ip_rcv(struct sk_buff *skb, struct n
++ /* When the interface is in promisc. mode, drop all the crap
++ * that it receives, do not try to analyse it.
++ */
++- if (skb->pkt_type == PACKET_OTHERHOST)
++- goto drop;
+++ //if (skb->pkt_type == PACKET_OTHERHOST)
+++ // goto drop;
++
++
++ IP_UPD_PO_STATS_BH(dev_net(dev), IPSTATS_MIB_IN, skb->len);
diff --git a/unmaintained/ipt-netflow/kernel-vs-userspace.patch b/unmaintained/ipt-netflow/kernel-vs-userspace.patch
new file mode 100644
index 0000000000..ce551e5bd3
--- /dev/null
+++ b/unmaintained/ipt-netflow/kernel-vs-userspace.patch
@@ -0,0 +1,69 @@
+--- ipt-netflow-2.0.orig/configure
++++ ipt-netflow-2.0/configure
+@@ -258,9 +258,13 @@
+ echo " --enable-vlan enables VLAN Ids for v9/IPFIX"
+ echo " --enable-direction enables flowDirection(61) Element"
+ echo " --disable-aggregation disables aggregation rules"
++ echo " --disable-kernel disable kernel module"
++ echo " --disable-ipt disable ipt"
+ exit 0
+ }
+
++BUILD_MODULE=true
++BUILD_IPT=true
+ CARGS="$@"
+ for ac_option
+ do
+@@ -284,7 +288,8 @@
+ --enable-mac*) KOPTS="$KOPTS -DENABLE_MAC" ;;
+ --enable-vlan*) KOPTS="$KOPTS -DENABLE_VLAN" ;;
+ --enable-direc*) KOPTS="$KOPTS -DENABLE_DIRECTION" ;;
+- --disable-aggr*) KOPTS="$KOPTS -DDISABLE_AGGR" ;;
++ --disable-kernel) BUILD_MODULE=false ;;
++ --disable-ipt) BUILD_IPT=false ;;
+ --make) echo called from make ;;
+ -Werror) KOPTS="$KOPTS -Werror" ;;
+ --help|-h) show_help ;;
+@@ -407,23 +412,27 @@
+ kernel_check_include include/linux/llist.h -DHAVE_LLIST
+ }
+
+-kernel_find_version #KVERSION
+-test "$KLIBMOD" || KLIBMOD=$KVERSION
+-echo "Kernel version: $KVERSION ($KHOW)"
+-kernel_find_source #KDIR
+-echo "Kernel sources: $KDIR ($KSHOW)"
+-kernel_check_consistency
+-kernel_check_config
+-kernel_check_features
++if $BUILD_MODULE; then
++ kernel_find_version #KVERSION
++ test "$KLIBMOD" || KLIBMOD=$KVERSION
++ echo "Kernel version: $KVERSION ($KHOW)"
++ kernel_find_source #KDIR
++ echo "Kernel sources: $KDIR ($KSHOW)"
++ kernel_check_consistency
++ kernel_check_config
++ kernel_check_features
++fi
+
+-test "$IPTBIN" || IPTBIN=`which iptables`
++if $BUILD_IPT; then
++ test "$IPTBIN" || IPTBIN=`which iptables`
+
+-iptables_find_version #IPTVER
+-iptables_try_pkgconfig #try to configure from pkg-config
+-iptables_find_src #IPTSRC
+-iptables_src_version #check that IPTSRC match to IPTVER
+-iptables_inc #IPTINC
+-iptables_modules #IPTLIB
++ iptables_find_version #IPTVER
++ iptables_try_pkgconfig #try to configure from pkg-config
++ iptables_find_src #IPTSRC
++ iptables_src_version #check that IPTSRC match to IPTVER
++ iptables_inc #IPTINC
++ iptables_modules #IPTLIB
++fi
+
+ REPLACE="\
+ s!@CARGS@!$CARGS!;\
diff --git a/unmaintained/ipvsadm/APKBUILD b/unmaintained/ipvsadm/APKBUILD
new file mode 100644
index 0000000000..01a36b0011
--- /dev/null
+++ b/unmaintained/ipvsadm/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Leonardo Arena <rnalrd@gmail.com>
+pkgname=ipvsadm
+pkgver=1.27
+pkgrel=1
+pkgdesc="The IP Virtual Server administration utility"
+url="http://www.linuxvirtualserver.org/software/ipvs.html"
+arch="all"
+license="GPL2"
+depends=
+depends_dev="libnl-dev popt-dev"
+makedepends="$depends_dev"
+install=
+subpackages="$pkgname-doc"
+source="https://kernel.org/pub/linux/utils/kernel/ipvsadm/$pkgname-$pkgver.tar.xz
+ $pkgname.initd"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ make -j1 BUILD_ROOT="$pkgdir" \
+ MANDIR=usr/share/man \
+ SBIN="$pkgdir/usr/sbin" \
+ INIT="$pkgdir/etc/init.d" \
+ || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make -j1 BUILD_ROOT="$pkgdir" \
+ MANDIR=usr/share/man \
+ SBIN="$pkgdir/usr/sbin" \
+ INIT="$pkgdir/etc/init.d" \
+ 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="9decaaaad2fd637ed06cffd954e66cf3 ipvsadm-1.27.tar.xz
+bebb015ea02ead2a84be2bd5af4eb74c ipvsadm.initd"
+sha256sums="d360fb4dcf591e0a8a918831e2c02b1dc03e3c17ee1e60d0d70de9455238b3f8 ipvsadm-1.27.tar.xz
+d18d70c39d5dff6325b7e21fbd61485384b642b15a0dfee935ec9b7d4b9f0b66 ipvsadm.initd"
+sha512sums="cf982b7981674c91d1b7516de7b55cf378b306ce4a53e13976b8eeb8610015c4fa4aa9d251bc4d329db8e05c1862863160af2d3c63b76263f290087cffdf1b80 ipvsadm-1.27.tar.xz
+43b2186f48f17d43524c1f4e9de06227c6d491845c466cf6f00214b74fcd5e181e8b855fef8c6fa78c62a924ee3cc3317099278f9656183de8678440bb070625 ipvsadm.initd"
diff --git a/unmaintained/ipvsadm/ipvsadm.initd b/unmaintained/ipvsadm/ipvsadm.initd
new file mode 100644
index 0000000000..17a4bfac5e
--- /dev/null
+++ b/unmaintained/ipvsadm/ipvsadm.initd
@@ -0,0 +1,42 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/ipvsadm/files/ipvsadm-init,v 1.5 2011/12/04 10:40:20 swegener Exp $
+
+extra_commands="save"
+
+depend() {
+ need net
+}
+
+checkconfig() {
+
+ checkpath --directory /var/lib/ipvsadm
+
+ if [ ! -f /var/lib/ipvsadm/rules-save ] ; then
+ eerror "Not starting ipvsadm. First create some rules then run"
+ eerror "/etc/init.d/ipvsadm save"
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting ipvsadm"
+ einfo "Clearing previous rules"
+ ipvsadm -C
+ ipvsadm-restore < /var/lib/ipvsadm/rules-save
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ipvsadm"
+ eend $?
+}
+
+save() {
+ ebegin "Saving ipvsadm state"
+ ipvsadm-save > /var/lib/ipvsadm/rules-save
+ eend $?
+}
+
diff --git a/unmaintained/jhead/APKBUILD b/unmaintained/jhead/APKBUILD
new file mode 100644
index 0000000000..8e8aea3e8f
--- /dev/null
+++ b/unmaintained/jhead/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=jhead
+pkgver=2.93
+pkgrel=0
+pkgdesc="An Exif jpeg header manipulation tool"
+url="http://www.sentex.net/~mwandel/jhead/"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends=""
+install=""
+subpackages="$pkgname-doc"
+source="http://www.sentex.net/~mwandel/$pkgname/$pkgname-$pkgver.tar.gz
+ makefile-destdir.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 DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="23ac51b4aea2df663d684744e282eb7d jhead-2.93.tar.gz
+c0daea2a99f121ea84adb2fce47e0a4e makefile-destdir.patch"
diff --git a/unmaintained/jhead/makefile-destdir.patch b/unmaintained/jhead/makefile-destdir.patch
new file mode 100644
index 0000000000..d9c5b1a0b9
--- /dev/null
+++ b/unmaintained/jhead/makefile-destdir.patch
@@ -0,0 +1,17 @@
+--- jhead-2.93/makefile
++++ jhead-2.93/makefile.new
+@@ -4,6 +4,7 @@
+ OBJ=.
+ SRC=.
+ CFLAGS= -O3 -Wall
++prefix= /usr
+
+ all: jhead
+
+@@ -20,4 +21,5 @@
+ rm -f $(objs) jhead
+
+ install:
+- cp jhead ${DESTDIR}/usr/local/bin/
++ install -Dp -m 0755 jhead $(DESTDIR)$(prefix)/bin/jhead
++ install -m644 -D jhead.1 $(DESTDIR)$(prefix)/share/man/man1/jhead.1
diff --git a/unmaintained/judy/APKBUILD b/unmaintained/judy/APKBUILD
new file mode 100644
index 0000000000..d6396c9e55
--- /dev/null
+++ b/unmaintained/judy/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=judy
+pkgver=1.0.5
+pkgrel=0
+pkgdesc="C library creating and accessing dynamic arrays"
+url="http://judy.sourceforge.net/"
+arch="all"
+license="LGPL2+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://kent.dl.sourceforge.net/project/judy/judy/Judy-$pkgver/Judy-$pkgver.tar.gz"
+
+_builddir="$srcdir"/judy-$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 -j1 || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make -j1 DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="115a0d26302676e962ae2f70ec484a54 Judy-1.0.5.tar.gz"
+sha256sums="d2704089f85fdb6f2cd7e77be21170ced4b4375c03ef1ad4cf1075bd414a63eb Judy-1.0.5.tar.gz"
+sha512sums="1a0d59b092c80d95270a3089cd25ee0ddad1d591101b03784e2e46dfc73bce445a7fb495b449043544a366c09b35b833556053bf3bf65dd00abbd786d26c6980 Judy-1.0.5.tar.gz"
diff --git a/unmaintained/kbuild/0001-define-ALLPERMS-is-missing.patch b/unmaintained/kbuild/0001-define-ALLPERMS-is-missing.patch
new file mode 100644
index 0000000000..ffe1b757e5
--- /dev/null
+++ b/unmaintained/kbuild/0001-define-ALLPERMS-is-missing.patch
@@ -0,0 +1,43 @@
+From ad40844b8d4ccd3fec48fd1db3d165926d247398 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Thu, 2 Jan 2014 08:55:33 +0000
+Subject: [PATCH] define ALLPERMS is missing
+
+---
+ src/kmk/kmkbuiltin/chmod.c | 4 ++++
+ src/kmk/kmkbuiltin/install.c | 4 ++++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/src/kmk/kmkbuiltin/chmod.c b/src/kmk/kmkbuiltin/chmod.c
+index 792a286..8edce38 100644
+--- a/src/kmk/kmkbuiltin/chmod.c
++++ b/src/kmk/kmkbuiltin/chmod.c
+@@ -66,6 +66,10 @@ static char sccsid[] = "@(#)chmod.c 8.8 (Berkeley) 4/1/94";
+ #include "getopt.h"
+ #include "kmkbuiltin.h"
+
++#ifndef ALLPERMS
++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */
++#endif
++
+ extern void * bsd_setmode(const char *p);
+ extern mode_t bsd_getmode(const void *bbox, mode_t omode);
+ extern void bsd_strmode(mode_t mode, char *p);
+diff --git a/src/kmk/kmkbuiltin/install.c b/src/kmk/kmkbuiltin/install.c
+index 13bec72..08d8ffe 100644
+--- a/src/kmk/kmkbuiltin/install.c
++++ b/src/kmk/kmkbuiltin/install.c
+@@ -127,6 +127,10 @@ extern mode_t bsd_getmode(const void *bbox, mode_t omode);
+ # define IS_SLASH(ch) ((ch) == '/')
+ #endif
+
++#ifndef ALLPERMS
++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */
++#endif
++
+ static gid_t gid;
+ static uid_t uid;
+ static int dobackup, docompare, dodir, dopreserve, dostrip, nommap, safecopy, verbose, mode_given;
+--
+1.8.5.2
+
diff --git a/unmaintained/kbuild/0001-testing-kbuild-upgrade-to-0.1.9998_pre20131130-and-f.patch b/unmaintained/kbuild/0001-testing-kbuild-upgrade-to-0.1.9998_pre20131130-and-f.patch
new file mode 100644
index 0000000000..d78f949e71
--- /dev/null
+++ b/unmaintained/kbuild/0001-testing-kbuild-upgrade-to-0.1.9998_pre20131130-and-f.patch
@@ -0,0 +1,357 @@
+From 920e0a4d6654509464c832543bf607c3ed8fca0c Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Thu, 2 Jan 2014 10:40:57 +0000
+Subject: [PATCH] testing/kbuild: upgrade to 0.1.9998_pre20131130 and fix build
+ on musl
+
+---
+ .../kbuild/0001-define-ALLPERMS-is-missing.patch | 43 ++++++++++++++++++++
+ testing/kbuild/APKBUILD | 46 ++++++++++++++++++----
+ testing/kbuild/allperms.patch | 30 ++++++++++++++
+ testing/kbuild/glob.patch | 19 +++++++++
+ testing/kbuild/kbuild-0.1.5_p2-qa.patch | 26 ------------
+ testing/kbuild/kobjcache.patch | 10 +++++
+ testing/kbuild/obstack.patch | 42 ++++++++++++++++++++
+ testing/kbuild/strlcpy.patch | 15 +------
+ testing/kbuild/sys-types.patch | 14 +++++++
+ 9 files changed, 198 insertions(+), 47 deletions(-)
+ create mode 100644 testing/kbuild/0001-define-ALLPERMS-is-missing.patch
+ create mode 100644 testing/kbuild/allperms.patch
+ create mode 100644 testing/kbuild/glob.patch
+ delete mode 100644 testing/kbuild/kbuild-0.1.5_p2-qa.patch
+ create mode 100644 testing/kbuild/kobjcache.patch
+ create mode 100644 testing/kbuild/obstack.patch
+ create mode 100644 testing/kbuild/sys-types.patch
+
+diff --git a/testing/kbuild/0001-define-ALLPERMS-is-missing.patch b/testing/kbuild/0001-define-ALLPERMS-is-missing.patch
+new file mode 100644
+index 0000000..ffe1b75
+--- /dev/null
++++ b/testing/kbuild/0001-define-ALLPERMS-is-missing.patch
+@@ -0,0 +1,43 @@
++From ad40844b8d4ccd3fec48fd1db3d165926d247398 Mon Sep 17 00:00:00 2001
++From: Natanael Copa <ncopa@alpinelinux.org>
++Date: Thu, 2 Jan 2014 08:55:33 +0000
++Subject: [PATCH] define ALLPERMS is missing
++
++---
++ src/kmk/kmkbuiltin/chmod.c | 4 ++++
++ src/kmk/kmkbuiltin/install.c | 4 ++++
++ 2 files changed, 8 insertions(+)
++
++diff --git a/src/kmk/kmkbuiltin/chmod.c b/src/kmk/kmkbuiltin/chmod.c
++index 792a286..8edce38 100644
++--- a/src/kmk/kmkbuiltin/chmod.c
+++++ b/src/kmk/kmkbuiltin/chmod.c
++@@ -66,6 +66,10 @@ static char sccsid[] = "@(#)chmod.c 8.8 (Berkeley) 4/1/94";
++ #include "getopt.h"
++ #include "kmkbuiltin.h"
++
+++#ifndef ALLPERMS
+++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */
+++#endif
+++
++ extern void * bsd_setmode(const char *p);
++ extern mode_t bsd_getmode(const void *bbox, mode_t omode);
++ extern void bsd_strmode(mode_t mode, char *p);
++diff --git a/src/kmk/kmkbuiltin/install.c b/src/kmk/kmkbuiltin/install.c
++index 13bec72..08d8ffe 100644
++--- a/src/kmk/kmkbuiltin/install.c
+++++ b/src/kmk/kmkbuiltin/install.c
++@@ -127,6 +127,10 @@ extern mode_t bsd_getmode(const void *bbox, mode_t omode);
++ # define IS_SLASH(ch) ((ch) == '/')
++ #endif
++
+++#ifndef ALLPERMS
+++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */
+++#endif
+++
++ static gid_t gid;
++ static uid_t uid;
++ static int dobackup, docompare, dodir, dopreserve, dostrip, nommap, safecopy, verbose, mode_given;
++--
++1.8.5.2
++
+diff --git a/testing/kbuild/APKBUILD b/testing/kbuild/APKBUILD
+index ac1fc45..ed6e80f 100644
+--- a/testing/kbuild/APKBUILD
++++ b/testing/kbuild/APKBUILD
+@@ -1,7 +1,7 @@
+ # Contributor: Natanael Copa <ncopa@alpinelinux.org>
+ # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+ pkgname=kbuild
+-pkgver=0.1.9998_pre20120806
++pkgver=0.1.9998_pre20131130
+ _ver=${pkgver/_/-}
+ pkgrel=1
+ pkgdesc="A makefile framework for writing simple makefiles for complex tasks"
+@@ -14,13 +14,17 @@ makedepends="autoconf automake flex bison"
+ install=""
+ subpackages="$pkgname-doc"
+ source="http://dev.gentoo.org/~polynomial-c/kBuild-${_ver}-src.tar.xz
+- kbuild-0.1.5_p2-qa.patch
+ lchmod.patch
+ strlcpy.patch
+ underlinking.patch
+ sys_siglist.patch
+ kbuild-0.1.9998_pre20110817-gcc-4.7.patch
+- uclibc.patch"
++ 0001-define-ALLPERMS-is-missing.patch
++ sys-types.patch
++ uclibc.patch
++ kobjcache.patch
++ obstack.patch
++ glob.patch"
+
+ _builddir="$srcdir"/kBuild-$_ver
+ prepare() {
+@@ -60,11 +64,39 @@ package() {
+ || return 1
+ }
+
+-md5sums="520d65bd2356c26d1b9bbb25fd7d70ce kBuild-0.1.9998-pre20120806-src.tar.xz
+-79d4d445b28f0c50f2a7a8ca12bbed4b kbuild-0.1.5_p2-qa.patch
++md5sums="a9fad7d9c26dba44c2c1ad3d93d49372 kBuild-0.1.9998-pre20131130-src.tar.xz
+ b3dd26cc185c96658d9b554eef2f811c lchmod.patch
+-90cae3b53b4ec6fc5f1c336922083df0 strlcpy.patch
++9b101e058900afb9986689076a214d54 strlcpy.patch
+ ca09174d7c885fdea1e3c2dc580d80b3 underlinking.patch
+ 52c3450a3e2645f57871b0141c465776 sys_siglist.patch
+ 2fdb2fb96c48371b2a15785926c9144b kbuild-0.1.9998_pre20110817-gcc-4.7.patch
+-b3c2d0e6902f1285c09d81f74e573c4f uclibc.patch"
++4fda881d60b2c80502ad4321d18161a4 0001-define-ALLPERMS-is-missing.patch
++a4ad5a3bf960394856b9fafecfe921d4 sys-types.patch
++b3c2d0e6902f1285c09d81f74e573c4f uclibc.patch
++e92680df9641e25dd4a58e6a2733dbea kobjcache.patch
++4d8f14019970a974b6fde15fd4b991d9 obstack.patch
++b0c55468f3d4c0800687d16c37bf111f glob.patch"
++sha256sums="def0a44cc0a91b6aa8a80f73ace0cfc315f298ba3e0d3d81fe52834091b68586 kBuild-0.1.9998-pre20131130-src.tar.xz
++79909f11e631757140c5095af1347c9f48c065f25cdd875c555477529ca6a693 lchmod.patch
++132305af7aa1cc94f4920ffe97775efcb6f0495f165035051298984d9f5ca4c0 strlcpy.patch
++1c99c0579af3d9cf4148b7b61d98b92ff86eaec441b6630754007ae3c3b5a2cc underlinking.patch
++8adb0ffa45a0b49737bbde54b54405a7708a2281d608d8f713437fce77e11d07 sys_siglist.patch
++420caeee42dca3fa9a474faa3ae6e34a884d26792ab3b6567a3b9ecf678a90e7 kbuild-0.1.9998_pre20110817-gcc-4.7.patch
++c308a64bddc997826ee83dc8f165ad5072368cb2c837a97308e69238a0390d7e 0001-define-ALLPERMS-is-missing.patch
++21ec6669485f97e0af37f3120bea2f688ed96df9c59a89cf1043645464db7a46 sys-types.patch
++1f581e0cf8fefae174c8aeb1b279e956fc7712146bf4a58451f0b318795309e9 uclibc.patch
++1f9788d65c597346f64cd2513875ed65d4ac199ce879dc313ce2970f40013f77 kobjcache.patch
++7093e35ca03c4b82961157225c5509c42b9996128b31b5ec32154a72c154848e obstack.patch
++e13e0f02132824e07b3895666ab1952672a85a246e68e854d714dd8acdc0d445 glob.patch"
++sha512sums="66f418c0e052389d2b5cfc4d46bc8598ceaeded369151047e455e921bef494ec42099cdc368d24b572eacd809bb7c124d07e0fab54788af01664b72f571fb047 kBuild-0.1.9998-pre20131130-src.tar.xz
++3ab991b13a122e82125392d01e27ad8c06f2b5f5e0c5bb2fa024fdcf16a65f5f460c14222d84d50b31a2ad4040c89871ee2a47f885eca329c15bb9abb3f8f5df lchmod.patch
++fbab0dc51f4e2d14b020a6b63820a26eeee884ac9cfd5b59a6afc6243ffb7679c775ed8529f6161917bf3cc5e2a651c959706cdc404a4a79c1b29cc9f3a614a5 strlcpy.patch
++839c12659ae81e99c0c2f35f045ef8651c2d30ddb391ae76995ded6df19f4ca5ae728da96c16b7aab08cdf447030de645455751122a390755e0ff46c03cb23d6 underlinking.patch
++2e0cb32b6e296d92c4c092f798e83eee1fe49753826426fd957f9977149b64487547f71bde64b654a3f3a0511dfa9ac1c533ad0cd469c7bdd7e0acdfa3c2e3ac sys_siglist.patch
++7a0618e9dbd18ba10f1afd9c2a47f6efb136143a86008d2562eb2ff704f289b7150bbc10f2e3c57341b485252366ff46d49bd70c24cadba45f09496333ceaa76 kbuild-0.1.9998_pre20110817-gcc-4.7.patch
++4bdcae4362ff0ac6b401c65120f54e395a41b98d4bdea796a1e85405c3444853b94626c2be6d9d703ffd904fb89ea0a14d1e847a67eb56d81faf48246220e166 0001-define-ALLPERMS-is-missing.patch
++58ae3ec4a1535fddd4af67803c081c9ca4cd66244ea2a7ddfbf59eb5b849421377116376d893d5e643a15413b902463affa51153afeb2d2217bac135122b66a5 sys-types.patch
++41d568b05af4d9f650e736cafc4fd4285cc592726de1ee3f599b26cf2277a9436477ff512b99c2dbe1abc3d21cb9d4f24a0568aa71418e2114e294171cc008f0 uclibc.patch
++7afcc78589ee66c60dd7a73819b4776531a4fc0f73c8a8824f4b53967f7c903095206455d2b113288ad4cf337e67c0dc82cd679b994096c5d9270f83d55689ad kobjcache.patch
++dae18964bb4c7f46e277b147bae53cabb03d5bbd6199ec5a8deeaf6a6d12804b281ea6debf7eda44fee3bff12d6097d7b46385617a446e2a2a7570d83d03eb8e obstack.patch
++f843176d1ed988965947f0243b31b02431c3467249576fbac64cb561d7d64da71bdcadbd4eb4d36ed5f4483c1ac146c57f7f1f60bdbabaea2c0cd2dc80ed0446 glob.patch"
+diff --git a/testing/kbuild/allperms.patch b/testing/kbuild/allperms.patch
+new file mode 100644
+index 0000000..2e8bfbf
+--- /dev/null
++++ b/testing/kbuild/allperms.patch
+@@ -0,0 +1,30 @@
++diff --git a/src/kmk/kmkbuiltin/chmod.c b/src/kmk/kmkbuiltin/chmod.c
++index 792a286..8edce38 100644
++--- a/src/kmk/kmkbuiltin/chmod.c
+++++ b/src/kmk/kmkbuiltin/chmod.c
++@@ -66,6 +66,10 @@ static char sccsid[] = "@(#)chmod.c 8.8 (Berkeley) 4/1/94";
++ #include "getopt.h"
++ #include "kmkbuiltin.h"
++
+++#ifndef ALLPERMS
+++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */
+++#endif
+++
++ extern void * bsd_setmode(const char *p);
++ extern mode_t bsd_getmode(const void *bbox, mode_t omode);
++ extern void bsd_strmode(mode_t mode, char *p);
++diff --git a/src/kmk/kmkbuiltin/install.c b/src/kmk/kmkbuiltin/install.c
++index 13bec72..08d8ffe 100644
++--- a/src/kmk/kmkbuiltin/install.c
+++++ b/src/kmk/kmkbuiltin/install.c
++@@ -127,6 +127,10 @@ extern mode_t bsd_getmode(const void *bbox, mode_t omode);
++ # define IS_SLASH(ch) ((ch) == '/')
++ #endif
++
+++#ifndef ALLPERMS
+++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */
+++#endif
+++
++ static gid_t gid;
++ static uid_t uid;
++ static int dobackup, docompare, dodir, dopreserve, dostrip, nommap, safecopy, verbose, mode_given;
+diff --git a/testing/kbuild/glob.patch b/testing/kbuild/glob.patch
+new file mode 100644
+index 0000000..b17f012
+--- /dev/null
++++ b/testing/kbuild/glob.patch
+@@ -0,0 +1,19 @@
++--- ./src/kmk/Makefile.kmk.orig
+++++ ./src/kmk/Makefile.kmk
++@@ -60,6 +60,7 @@
++ TEMPLATE_BIN-KMK_INCS.haiku = glob
++ TEMPLATE_BIN-KMK_INCS.openbsd = glob
++ TEMPLATE_BIN-KMK_INCS.solaris = glob
+++TEMPLATE_BIN-KMK_INCS.linux = glob
++ TEMPLATE_BIN-KMK_LIBS = $(TEMPLATE_BIN-THREADED_LIBS) $(kmkmissing_1_TARGET) $(LIB_KUTIL)
++ ifdef ELECTRIC_HEAP # for electric heap (see electric.c) - windows only.
++ ifeq ($(KBUILD_TARGET),win)
++@@ -108,7 +109,7 @@
++ glob/fnmatch.c
++
++ kmkmissing_SOURCES.linux += \
++- kmkbuiltin/strlcpy.c
+++ glob/glob.c
++
++ kmkmissing_SOURCES.openbsd = \
++ kmkbuiltin/openbsd.c \
+diff --git a/testing/kbuild/kbuild-0.1.5_p2-qa.patch b/testing/kbuild/kbuild-0.1.5_p2-qa.patch
+deleted file mode 100644
+index 706c3a7..0000000
+--- a/testing/kbuild/kbuild-0.1.5_p2-qa.patch
++++ /dev/null
+@@ -1,26 +0,0 @@
+-* warning: implicit declaration of function ‘unlink’
+-* warning: too few arguments for format
+---- a/src/sed/lib/utils.c
+-+++ b/src/sed/lib/utils.c
+-@@ -35,6 +35,10 @@
+- # include <stdlib.h>
+- #endif /* HAVE_STDLIB_H */
+-
+-+#ifdef HAVE_UNISTD_H
+-+# include <unistd.h>
+-+#endif /* HAVE_UNISTD_H */
+-+
+- #include "utils.h"
+-
+- const char *myname;
+---- a/src/kmk/kmkbuiltin/printf.c
+-+++ b/src/kmk/kmkbuiltin/printf.c
+-@@ -206,7 +206,7 @@
+-
+- (void)funcname;
+- if (rc != 0)
+-- fatal (NILF, _("$(%s): failure rc=%d\n"), rc);
+-+ fatal (NILF, _("$(%s): failure rc=%d\n"), funcname, rc);
+- return o;
+- }
+- #endif
+diff --git a/testing/kbuild/kobjcache.patch b/testing/kbuild/kobjcache.patch
+new file mode 100644
+index 0000000..4fb4e02
+--- /dev/null
++++ b/testing/kbuild/kobjcache.patch
+@@ -0,0 +1,10 @@
++--- ./src/kObjCache/kObjCache.c.orig
+++++ ./src/kObjCache/kObjCache.c
++@@ -38,6 +38,7 @@
++ #include <errno.h>
++ #include <assert.h>
++ #include <sys/stat.h>
+++#include <sys/file.h>
++ #include <fcntl.h>
++ #include <limits.h>
++ #include <ctype.h>
+diff --git a/testing/kbuild/obstack.patch b/testing/kbuild/obstack.patch
+new file mode 100644
+index 0000000..8301a42
+--- /dev/null
++++ b/testing/kbuild/obstack.patch
+@@ -0,0 +1,42 @@
++--- ./src/sed/Makefile.kmk.orig
+++++ ./src/sed/Makefile.kmk
++@@ -56,36 +56,30 @@
++ sed/mbcs.c \
++ lib/getopt1.c \
++ lib/getopt.c \
+++ lib/obstack.c \
++ lib/utils.c
++ kmk_sed_SOURCES.darwin = \
++ lib/strverscmp.c \
++- lib/obstack.c \
++ lib/getline.c
++ kmk_sed_SOURCES.dragonfly = \
++ lib/strverscmp.c \
++- lib/obstack.c \
++ lib/getline.c
++ kmk_sed_SOURCES.freebsd = \
++ lib/strverscmp.c \
++- lib/obstack.c \
++ lib/getline.c
++ kmk_sed_SOURCES.haiku = \
++- lib/strverscmp.c \
++- lib/obstack.c
+++ lib/strverscmp.c
++ kmk_sed_SOURCES.openbsd = \
++ lib/strverscmp.c \
++- lib/obstack.c \
++ lib/getline.c
++ kmk_sed_SOURCES.solaris = \
++- lib/strverscmp.c \
++- lib/obstack.c
+++ lib/strverscmp.c
++ ifdef KBUILD_SOLARIS_10
++ kmk_sed_SOURCES.solaris += \
++ lib/getline.c
++ endif
++ kmk_sed_SOURCES.win = \
++ lib/strverscmp.c \
++- lib/obstack.c \
++ lib/mkstemp.c \
++ lib/getline.c \
++ ../lib/startuphacks-win.c
+diff --git a/testing/kbuild/strlcpy.patch b/testing/kbuild/strlcpy.patch
+index 42b25bd..d0b3a04 100644
+--- a/testing/kbuild/strlcpy.patch
++++ b/testing/kbuild/strlcpy.patch
+@@ -7,20 +7,7 @@ index 44b76ab..85fec01 100644
+ #include "kbuild_protection.h"
+
+ -#if defined(_MSC_VER) || defined(__gnu_linux__) || defined(__linux__)
+-+#if defined(_MSC_VER) || defined(__gnu_linux__) || defined(__linux__) && !defined(__UCLIBC__)
+++#if defined(_MSC_VER) || defined(__gnu_linux__) && !defined(__UCLIBC__)
+ extern char *strlcpy(char *, const char *, size_t);
+ #endif
+
+-diff --git a/src/kmk/Makefile.kmk b/src/kmk/Makefile.kmk
+-index 12b9697..db1deb2 100644
+---- a/src/kmk/Makefile.kmk
+-+++ b/src/kmk/Makefile.kmk
+-@@ -101,7 +101,7 @@ kmkmissing_SOURCES.freebsd = \
+- glob/fnmatch.c
+-
+- kmkmissing_SOURCES.linux += \
+-- kmkbuiltin/strlcpy.c
+-+ getloadavg.c
+-
+- kmkmissing_SOURCES.solaris = \
+- kmkbuiltin/strlcpy.c \
+diff --git a/testing/kbuild/sys-types.patch b/testing/kbuild/sys-types.patch
+new file mode 100644
+index 0000000..dccb48a
+--- /dev/null
++++ b/testing/kbuild/sys-types.patch
+@@ -0,0 +1,14 @@
++diff --git a/src/kmk/kmkbuiltin/ftsfake.h b/src/kmk/kmkbuiltin/ftsfake.h
++index 2518d30..5410256 100644
++--- a/src/kmk/kmkbuiltin/ftsfake.h
+++++ b/src/kmk/kmkbuiltin/ftsfake.h
++@@ -38,6 +38,9 @@
++ # include "kmkbuiltin/mscfakes.h"
++ #endif
++
+++/* for u_int */
+++#include <sys/types.h>
+++
++ typedef struct {
++ struct _ftsent *fts_cur; /* current node */
++ struct _ftsent *fts_child; /* linked list of children */
+--
+1.8.5.2
+
diff --git a/unmaintained/kbuild/APKBUILD b/unmaintained/kbuild/APKBUILD
new file mode 100644
index 0000000000..ead0e9af57
--- /dev/null
+++ b/unmaintained/kbuild/APKBUILD
@@ -0,0 +1,102 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=kbuild
+pkgver=0.1.9998_pre20131130
+_ver=${pkgver/_/-}
+pkgrel=1
+pkgdesc="A makefile framework for writing simple makefiles for complex tasks"
+url="http://svn.netlabs.org/kbuild/wiki"
+arch="x86 x86_64"
+license="GPL3"
+depends=""
+depends_dev=""
+makedepends="autoconf automake flex bison"
+install=""
+subpackages="$pkgname-doc"
+source="http://dev.gentoo.org/~polynomial-c/kBuild-${_ver}-src.tar.xz
+ lchmod.patch
+ strlcpy.patch
+ underlinking.patch
+ sys_siglist.patch
+ kbuild-0.1.9998_pre20110817-gcc-4.7.patch
+ 0001-define-ALLPERMS-is-missing.patch
+ sys-types.patch
+ uclibc.patch
+ kobjcache.patch
+ obstack.patch
+ glob.patch"
+
+_builddir="$srcdir"/kBuild-$_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
+ cd "$_builddir"/src/kmk
+ aclocal -I config && autoheader && autoconf && automake --add-missing \
+ || return 1
+ cd "$_builddir"/src/sed
+ aclocal -I config && autoheader && autoconf && automake --add-missing \
+ || return 1
+
+ # the bootstrap process will create a symlink to the system shell,
+ # which happens to be (/bin/sh) a symlink to /bin/busybox
+ # and busybox will get confused since there are no applet named
+ # kmk_ash.
+ echo '#!/bin/sh' >"$srcdir"/sh
+ echo 'exec /bin/busybox sh "$@"' >> "$srcdir"/sh
+ chmod +x "$srcdir"/sh
+ sed -i -e "s:/bin/sh:$srcdir/sh:" "$_builddir"/bootstrap.gmk
+}
+
+build() {
+ cd "$_builddir"
+ kBuild/env.sh --full make -f bootstrap.gmk AUTORECONF=true \
+ || return 1
+}
+
+package() {
+ cd "$_builddir"
+ kBuild/env.sh kmk NIX_INSTALL_DIR=/usr PATH_INS="$pkgdir" install \
+ || return 1
+}
+
+md5sums="a9fad7d9c26dba44c2c1ad3d93d49372 kBuild-0.1.9998-pre20131130-src.tar.xz
+b3dd26cc185c96658d9b554eef2f811c lchmod.patch
+9b101e058900afb9986689076a214d54 strlcpy.patch
+ca09174d7c885fdea1e3c2dc580d80b3 underlinking.patch
+52c3450a3e2645f57871b0141c465776 sys_siglist.patch
+2fdb2fb96c48371b2a15785926c9144b kbuild-0.1.9998_pre20110817-gcc-4.7.patch
+4fda881d60b2c80502ad4321d18161a4 0001-define-ALLPERMS-is-missing.patch
+a4ad5a3bf960394856b9fafecfe921d4 sys-types.patch
+b3c2d0e6902f1285c09d81f74e573c4f uclibc.patch
+e92680df9641e25dd4a58e6a2733dbea kobjcache.patch
+4d8f14019970a974b6fde15fd4b991d9 obstack.patch
+db70c6fd949946029a6c95c0f7d565db glob.patch"
+sha256sums="def0a44cc0a91b6aa8a80f73ace0cfc315f298ba3e0d3d81fe52834091b68586 kBuild-0.1.9998-pre20131130-src.tar.xz
+79909f11e631757140c5095af1347c9f48c065f25cdd875c555477529ca6a693 lchmod.patch
+132305af7aa1cc94f4920ffe97775efcb6f0495f165035051298984d9f5ca4c0 strlcpy.patch
+1c99c0579af3d9cf4148b7b61d98b92ff86eaec441b6630754007ae3c3b5a2cc underlinking.patch
+8adb0ffa45a0b49737bbde54b54405a7708a2281d608d8f713437fce77e11d07 sys_siglist.patch
+420caeee42dca3fa9a474faa3ae6e34a884d26792ab3b6567a3b9ecf678a90e7 kbuild-0.1.9998_pre20110817-gcc-4.7.patch
+c308a64bddc997826ee83dc8f165ad5072368cb2c837a97308e69238a0390d7e 0001-define-ALLPERMS-is-missing.patch
+21ec6669485f97e0af37f3120bea2f688ed96df9c59a89cf1043645464db7a46 sys-types.patch
+1f581e0cf8fefae174c8aeb1b279e956fc7712146bf4a58451f0b318795309e9 uclibc.patch
+1f9788d65c597346f64cd2513875ed65d4ac199ce879dc313ce2970f40013f77 kobjcache.patch
+7093e35ca03c4b82961157225c5509c42b9996128b31b5ec32154a72c154848e obstack.patch
+93a1cd4ebfdd22179299bc9f029a1e7800ff842a5775555c4fe1a1f322f910c0 glob.patch"
+sha512sums="66f418c0e052389d2b5cfc4d46bc8598ceaeded369151047e455e921bef494ec42099cdc368d24b572eacd809bb7c124d07e0fab54788af01664b72f571fb047 kBuild-0.1.9998-pre20131130-src.tar.xz
+3ab991b13a122e82125392d01e27ad8c06f2b5f5e0c5bb2fa024fdcf16a65f5f460c14222d84d50b31a2ad4040c89871ee2a47f885eca329c15bb9abb3f8f5df lchmod.patch
+fbab0dc51f4e2d14b020a6b63820a26eeee884ac9cfd5b59a6afc6243ffb7679c775ed8529f6161917bf3cc5e2a651c959706cdc404a4a79c1b29cc9f3a614a5 strlcpy.patch
+839c12659ae81e99c0c2f35f045ef8651c2d30ddb391ae76995ded6df19f4ca5ae728da96c16b7aab08cdf447030de645455751122a390755e0ff46c03cb23d6 underlinking.patch
+2e0cb32b6e296d92c4c092f798e83eee1fe49753826426fd957f9977149b64487547f71bde64b654a3f3a0511dfa9ac1c533ad0cd469c7bdd7e0acdfa3c2e3ac sys_siglist.patch
+7a0618e9dbd18ba10f1afd9c2a47f6efb136143a86008d2562eb2ff704f289b7150bbc10f2e3c57341b485252366ff46d49bd70c24cadba45f09496333ceaa76 kbuild-0.1.9998_pre20110817-gcc-4.7.patch
+4bdcae4362ff0ac6b401c65120f54e395a41b98d4bdea796a1e85405c3444853b94626c2be6d9d703ffd904fb89ea0a14d1e847a67eb56d81faf48246220e166 0001-define-ALLPERMS-is-missing.patch
+58ae3ec4a1535fddd4af67803c081c9ca4cd66244ea2a7ddfbf59eb5b849421377116376d893d5e643a15413b902463affa51153afeb2d2217bac135122b66a5 sys-types.patch
+41d568b05af4d9f650e736cafc4fd4285cc592726de1ee3f599b26cf2277a9436477ff512b99c2dbe1abc3d21cb9d4f24a0568aa71418e2114e294171cc008f0 uclibc.patch
+7afcc78589ee66c60dd7a73819b4776531a4fc0f73c8a8824f4b53967f7c903095206455d2b113288ad4cf337e67c0dc82cd679b994096c5d9270f83d55689ad kobjcache.patch
+dae18964bb4c7f46e277b147bae53cabb03d5bbd6199ec5a8deeaf6a6d12804b281ea6debf7eda44fee3bff12d6097d7b46385617a446e2a2a7570d83d03eb8e obstack.patch
+006a65b7c4fe968ea44362804888a0214ff696a2ce9dfbb3e3c9bd5a595bd91b018919e35bc0a2f587677f7606acab57c6f7531bdf7f122fc08c8c99b04fddab glob.patch"
diff --git a/unmaintained/kbuild/allperms.patch b/unmaintained/kbuild/allperms.patch
new file mode 100644
index 0000000000..2e8bfbfb45
--- /dev/null
+++ b/unmaintained/kbuild/allperms.patch
@@ -0,0 +1,30 @@
+diff --git a/src/kmk/kmkbuiltin/chmod.c b/src/kmk/kmkbuiltin/chmod.c
+index 792a286..8edce38 100644
+--- a/src/kmk/kmkbuiltin/chmod.c
++++ b/src/kmk/kmkbuiltin/chmod.c
+@@ -66,6 +66,10 @@ static char sccsid[] = "@(#)chmod.c 8.8 (Berkeley) 4/1/94";
+ #include "getopt.h"
+ #include "kmkbuiltin.h"
+
++#ifndef ALLPERMS
++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */
++#endif
++
+ extern void * bsd_setmode(const char *p);
+ extern mode_t bsd_getmode(const void *bbox, mode_t omode);
+ extern void bsd_strmode(mode_t mode, char *p);
+diff --git a/src/kmk/kmkbuiltin/install.c b/src/kmk/kmkbuiltin/install.c
+index 13bec72..08d8ffe 100644
+--- a/src/kmk/kmkbuiltin/install.c
++++ b/src/kmk/kmkbuiltin/install.c
+@@ -127,6 +127,10 @@ extern mode_t bsd_getmode(const void *bbox, mode_t omode);
+ # define IS_SLASH(ch) ((ch) == '/')
+ #endif
+
++#ifndef ALLPERMS
++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */
++#endif
++
+ static gid_t gid;
+ static uid_t uid;
+ static int dobackup, docompare, dodir, dopreserve, dostrip, nommap, safecopy, verbose, mode_given;
diff --git a/unmaintained/kbuild/getloadavg.patch b/unmaintained/kbuild/getloadavg.patch
new file mode 100644
index 0000000000..e145ed0e5a
--- /dev/null
+++ b/unmaintained/kbuild/getloadavg.patch
@@ -0,0 +1,32 @@
+diff --git a/src/kmk/job.c b/src/kmk/job.c
+index 6d14300..16731fc 100644
+--- a/src/kmk/job.c
++++ b/src/kmk/job.c
+@@ -240,6 +240,27 @@ unsigned long job_counter = 0;
+
+ unsigned int jobserver_tokens = 0;
+
++#ifdef __UCLIBC__
++int getloadavg(double list[], int nelem)
++{
++ FILE *LOADAVG;
++ double avg[3] = { 0.0, 0.0, 0.0 };
++ int i, res = -1;
++
++ if ((LOADAVG = fopen("/proc/loadavg", "r"))) {
++ fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]);
++ res = 0;
++ fclose(LOADAVG);
++ }
++
++ for (i = 0; (i < nelem) && (i < 3); i++) {
++ list[i] = avg[i];
++ }
++
++ return res;
++}
++#endif
++
+ #ifdef WINDOWS32
+ /*
+ * The macro which references this function is defined in make.h.
diff --git a/unmaintained/kbuild/glob.patch b/unmaintained/kbuild/glob.patch
new file mode 100644
index 0000000000..57b4dafadc
--- /dev/null
+++ b/unmaintained/kbuild/glob.patch
@@ -0,0 +1,19 @@
+--- ./src/kmk/Makefile.kmk.orig
++++ ./src/kmk/Makefile.kmk
+@@ -60,6 +60,7 @@
+ TEMPLATE_BIN-KMK_INCS.haiku = glob
+ TEMPLATE_BIN-KMK_INCS.openbsd = glob
+ TEMPLATE_BIN-KMK_INCS.solaris = glob
++TEMPLATE_BIN-KMK_INCS.linux = glob
+ TEMPLATE_BIN-KMK_LIBS = $(TEMPLATE_BIN-THREADED_LIBS) $(kmkmissing_1_TARGET) $(LIB_KUTIL)
+ ifdef ELECTRIC_HEAP # for electric heap (see electric.c) - windows only.
+ ifeq ($(KBUILD_TARGET),win)
+@@ -108,7 +109,7 @@
+ glob/fnmatch.c
+
+ kmkmissing_SOURCES.linux += \
+- kmkbuiltin/strlcpy.c
++ glob/glob.c getloadavg.c
+
+ kmkmissing_SOURCES.openbsd = \
+ kmkbuiltin/openbsd.c \
diff --git a/unmaintained/kbuild/kbuild-0.1.9998_pre20110817-gcc-4.7.patch b/unmaintained/kbuild/kbuild-0.1.9998_pre20110817-gcc-4.7.patch
new file mode 100644
index 0000000000..435b3f57fb
--- /dev/null
+++ b/unmaintained/kbuild/kbuild-0.1.9998_pre20110817-gcc-4.7.patch
@@ -0,0 +1,12 @@
+diff -urN kBuild-0.1.9998-pre20110817-orig/src/sed/lib/regex_internal.c kBuild-0.1.9998-pre20110817/src/sed/lib/regex_internal.c
+--- kBuild-0.1.9998-pre20110817-orig/src/sed/lib/regex_internal.c 2011-08-17 14:28:42.000000000 -0700
++++ kBuild-0.1.9998-pre20110817/src/sed/lib/regex_internal.c 2012-06-16 13:55:05.341176965 -0700
+@@ -781,7 +781,7 @@
+ }
+
+ static unsigned char
+-internal_function __attribute ((pure))
++internal_function
+ re_string_fetch_byte_case (re_string_t *pstr)
+ {
+ if (BE (!pstr->mbs_allocated, 1))
diff --git a/unmaintained/kbuild/kobjcache.patch b/unmaintained/kbuild/kobjcache.patch
new file mode 100644
index 0000000000..4fb4e02550
--- /dev/null
+++ b/unmaintained/kbuild/kobjcache.patch
@@ -0,0 +1,10 @@
+--- ./src/kObjCache/kObjCache.c.orig
++++ ./src/kObjCache/kObjCache.c
+@@ -38,6 +38,7 @@
+ #include <errno.h>
+ #include <assert.h>
+ #include <sys/stat.h>
++#include <sys/file.h>
+ #include <fcntl.h>
+ #include <limits.h>
+ #include <ctype.h>
diff --git a/unmaintained/kbuild/lchmod.patch b/unmaintained/kbuild/lchmod.patch
new file mode 100644
index 0000000000..de111867d4
--- /dev/null
+++ b/unmaintained/kbuild/lchmod.patch
@@ -0,0 +1,27 @@
+--- ./src/kmk/kmkbuiltin/chmod.c.orig
++++ ./src/kmk/kmkbuiltin/chmod.c
+@@ -177,9 +177,9 @@
+ } else
+ fts_options = hflag ? FTS_PHYSICAL : FTS_LOGICAL;
+
+- if (hflag)
++/* if (hflag)
+ change_mode = lchmod;
+- else
++ else */
+ change_mode = chmod;
+
+ mode = *argv;
+diff --git a/src/kmk/kmkbuiltin/cp_utils.c b/src/kmk/kmkbuiltin/cp_utils.c
+index 1773815..a1ff924 100644
+--- a/src/kmk/kmkbuiltin/cp_utils.c
++++ b/src/kmk/kmkbuiltin/cp_utils.c
+@@ -359,7 +359,7 @@ setfile(struct stat *fs, int fd)
+
+ if (!gotstat || fs->st_mode != ts.st_mode)
+ if (fdval ? fchmod(fd, fs->st_mode) :
+- (islink ? lchmod(to.p_path, fs->st_mode) :
++ (islink ? chmod(to.p_path, fs->st_mode) :
+ chmod(to.p_path, fs->st_mode))) {
+ warn("chmod: %s", to.p_path);
+ rval = 1;
diff --git a/unmaintained/kbuild/obstack.patch b/unmaintained/kbuild/obstack.patch
new file mode 100644
index 0000000000..8301a427b0
--- /dev/null
+++ b/unmaintained/kbuild/obstack.patch
@@ -0,0 +1,42 @@
+--- ./src/sed/Makefile.kmk.orig
++++ ./src/sed/Makefile.kmk
+@@ -56,36 +56,30 @@
+ sed/mbcs.c \
+ lib/getopt1.c \
+ lib/getopt.c \
++ lib/obstack.c \
+ lib/utils.c
+ kmk_sed_SOURCES.darwin = \
+ lib/strverscmp.c \
+- lib/obstack.c \
+ lib/getline.c
+ kmk_sed_SOURCES.dragonfly = \
+ lib/strverscmp.c \
+- lib/obstack.c \
+ lib/getline.c
+ kmk_sed_SOURCES.freebsd = \
+ lib/strverscmp.c \
+- lib/obstack.c \
+ lib/getline.c
+ kmk_sed_SOURCES.haiku = \
+- lib/strverscmp.c \
+- lib/obstack.c
++ lib/strverscmp.c
+ kmk_sed_SOURCES.openbsd = \
+ lib/strverscmp.c \
+- lib/obstack.c \
+ lib/getline.c
+ kmk_sed_SOURCES.solaris = \
+- lib/strverscmp.c \
+- lib/obstack.c
++ lib/strverscmp.c
+ ifdef KBUILD_SOLARIS_10
+ kmk_sed_SOURCES.solaris += \
+ lib/getline.c
+ endif
+ kmk_sed_SOURCES.win = \
+ lib/strverscmp.c \
+- lib/obstack.c \
+ lib/mkstemp.c \
+ lib/getline.c \
+ ../lib/startuphacks-win.c
diff --git a/unmaintained/kbuild/strlcpy.patch b/unmaintained/kbuild/strlcpy.patch
new file mode 100644
index 0000000000..d0b3a0471d
--- /dev/null
+++ b/unmaintained/kbuild/strlcpy.patch
@@ -0,0 +1,13 @@
+diff --git a/src/kmk/kmkbuiltin/cp.c b/src/kmk/kmkbuiltin/cp.c
+index 44b76ab..85fec01 100644
+--- a/src/kmk/kmkbuiltin/cp.c
++++ b/src/kmk/kmkbuiltin/cp.c
+@@ -81,7 +81,7 @@ __FBSDID("$FreeBSD: src/bin/cp/cp.c,v 1.50 2004/04/06 20:06:44 markm Exp $");
+ #include "kmkbuiltin.h"
+ #include "kbuild_protection.h"
+
+-#if defined(_MSC_VER) || defined(__gnu_linux__) || defined(__linux__)
++#if defined(_MSC_VER) || defined(__gnu_linux__) && !defined(__UCLIBC__)
+ extern char *strlcpy(char *, const char *, size_t);
+ #endif
+
diff --git a/unmaintained/kbuild/sys-types.patch b/unmaintained/kbuild/sys-types.patch
new file mode 100644
index 0000000000..dccb48a23e
--- /dev/null
+++ b/unmaintained/kbuild/sys-types.patch
@@ -0,0 +1,14 @@
+diff --git a/src/kmk/kmkbuiltin/ftsfake.h b/src/kmk/kmkbuiltin/ftsfake.h
+index 2518d30..5410256 100644
+--- a/src/kmk/kmkbuiltin/ftsfake.h
++++ b/src/kmk/kmkbuiltin/ftsfake.h
+@@ -38,6 +38,9 @@
+ # include "kmkbuiltin/mscfakes.h"
+ #endif
+
++/* for u_int */
++#include <sys/types.h>
++
+ typedef struct {
+ struct _ftsent *fts_cur; /* current node */
+ struct _ftsent *fts_child; /* linked list of children */
diff --git a/unmaintained/kbuild/sys_siglist.patch b/unmaintained/kbuild/sys_siglist.patch
new file mode 100644
index 0000000000..140b8a0169
--- /dev/null
+++ b/unmaintained/kbuild/sys_siglist.patch
@@ -0,0 +1,28 @@
+diff --git a/src/ash/jobs.c b/src/ash/jobs.c
+index 146326a..cbf0c3e 100644
+--- a/src/ash/jobs.c
++++ b/src/ash/jobs.c
+@@ -463,8 +463,8 @@ showjob(struct output *out, struct job *jp, int mode)
+ #endif
+ st = WTERMSIG(ps->status);
+ st &= 0x7f;
+- if (st < NSIG && sys_siglist[st])
+- scopyn(sys_siglist[st], s + col, 32);
++ if (st < NSIG && strsignal(st))
++ scopyn(strsignal(st), s + col, 32);
+ else
+ fmtstr(s + col, 16, "Signal %d", st);
+ if (WCOREDUMP(ps->status)) {
+--- ./src/kash/jobs.c.orig
++++ ./src/kash/jobs.c
+@@ -396,8 +396,8 @@
+ #endif
+ st = WTERMSIG(ps->status);
+ st &= 0x7f;
+- if (st < NSIG && sys_siglist[st])
+- scopyn(sys_siglist[st], s + col, 32);
++ if (st < NSIG && strsignal(st))
++ scopyn(strsignal(st), s + col, 32);
+ else
+ fmtstr(s + col, 16, "Signal %d", st);
+ if (WCOREDUMP(ps->status)) {
diff --git a/unmaintained/kbuild/uclibc.patch b/unmaintained/kbuild/uclibc.patch
new file mode 100644
index 0000000000..f837ca3c78
--- /dev/null
+++ b/unmaintained/kbuild/uclibc.patch
@@ -0,0 +1,22 @@
+--- ./src/lib/k/kDefs.h.orig
++++ ./src/lib/k/kDefs.h
+@@ -82,7 +82,7 @@
+ # define K_OS K_OS_FREEBSD
+ # elif defined(__HAIKU__)
+ # define K_OS K_OS_HAIKU
+-# elif defined(__gnu_linux__)
++# elif defined(__linux__)
+ # define K_OS K_OS_LINUX
+ # elif defined(__NetBSD__) /*??*/
+ # define K_OS K_OS_NETBSD
+--- ./src/kmk/kmkbuiltin/fts.c.orig
++++ ./src/kmk/kmkbuiltin/fts.c
+@@ -75,7 +75,7 @@
+ #endif
+
+ #if ! HAVE_NBTOOL_CONFIG_H
+-# if !defined(__sun__) && !defined(__gnu_linux__) && !defined(__HAIKU__)
++# if !defined(__sun__) && !defined(__linux__) && !defined(__HAIKU__)
+ # define HAVE_STRUCT_DIRENT_D_NAMLEN 1
+ # endif
+ #endif
diff --git a/unmaintained/kbuild/underlinking.patch b/unmaintained/kbuild/underlinking.patch
new file mode 100644
index 0000000000..e72c3c1f69
--- /dev/null
+++ b/unmaintained/kbuild/underlinking.patch
@@ -0,0 +1,13 @@
+diff --git a/src/kmk/Makefile.kmk b/src/kmk/Makefile.kmk
+index db1deb2..00981b8 100644
+--- a/src/kmk/Makefile.kmk
++++ b/src/kmk/Makefile.kmk
+@@ -215,6 +215,8 @@ kmk_SOURCES = \
+ vpath.c \
+ remote-stub.c
+
++kmk_LIBS.linux = pthread
++
+ #kmk_LIBS.solaris = malloc
+ #kmk_DEFS.solaris += HAVE_MALLINFO
+
diff --git a/unmaintained/klavaro/APKBUILD b/unmaintained/klavaro/APKBUILD
new file mode 100644
index 0000000000..2879c89af0
--- /dev/null
+++ b/unmaintained/klavaro/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Fabio Riga <rifabio@dpersonam.me>
+# Maintainer:
+pkgname=klavaro
+pkgver=3.01
+pkgrel=0
+pkgdesc="Free touch typing tutor program"
+url="http://klavaro.sourceforge.net/"
+arch="all"
+license="GPL2"
+depends="curl gtk+3.0 hicolor-icon-theme"
+depends_dev=""
+makedepends="intltool gtk+3.0-dev curl-dev"
+install="$pkgname.post-install"
+subpackages="$pkgname-lang $pkgname-doc"
+source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2 configure.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
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+ # remove the gtkdatabox shared library
+ # klavaro links to it statically due to some incompatibility with GTK3
+ rm -r "$pkgdir/usr/lib"
+}
+
+md5sums="53e2824ccc89f70dd7dca4d52ccf9c0e klavaro-3.01.tar.bz2
+a86abf4ec807a463aff04013c5d11203 configure.patch"
+sha256sums="ed71d522c29113d5d6517a65cbf95dafbe85ca4bb978139b804b98f128015e85 klavaro-3.01.tar.bz2
+82b75b852f8ca40c5feeba25f16343e66552790373b45f7970d2c0b45bae48da configure.patch"
+sha512sums="5d58269867d2b39309e07ca9dd6c525d67acaca93dea0010332e39e8f3dd444070dbc75abad00ac4ca3fd4155f41cf871cb8ccee3dc332aa31f85c8b17d7c48b klavaro-3.01.tar.bz2
+19bd10345e912dc5ba0ed95bcb554289d83f0252076322a011932bbd678c9298237828a0e5fb2e508c4aa430229444ccf5a26fb766c7cef8e8c98b02ce5e2a2b configure.patch"
diff --git a/unmaintained/klavaro/configure.patch b/unmaintained/klavaro/configure.patch
new file mode 100644
index 0000000000..18224512fa
--- /dev/null
+++ b/unmaintained/klavaro/configure.patch
@@ -0,0 +1,28 @@
+--- klavaro-3.01/configure.orig 2014-09-08 14:15:34.000000000 +0200
++++ klavaro-3.01/configure 2015-02-26 16:35:25.957494496 +0100
+@@ -13088,24 +13088,7 @@ extern int _nl_msg_cat_cntr;
+ return 0;
+ }
+ _ACEOF
+-if ac_fn_c_try_link "$LINENO"; then :
+- DATADIRNAME=share
+-else
+- case $host in
+- *-*-solaris*)
+- ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset"
+-if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then :
+- DATADIRNAME=share
+-else
+- DATADIRNAME=lib
+-fi
+-
+- ;;
+- *)
+- DATADIRNAME=lib
+- ;;
+- esac
+-fi
++DATADIRNAME=share
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ fi
diff --git a/unmaintained/klavaro/klavaro.post-install b/unmaintained/klavaro/klavaro.post-install
new file mode 100644
index 0000000000..0c64f0e088
--- /dev/null
+++ b/unmaintained/klavaro/klavaro.post-install
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+gtk-update-icon-cache -f /usr/share/icons/hicolor/
diff --git a/unmaintained/kodi-platform/APKBUILD b/unmaintained/kodi-platform/APKBUILD
new file mode 100644
index 0000000000..e6d6fadbf9
--- /dev/null
+++ b/unmaintained/kodi-platform/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=kodi-platform
+pkgver=20150323
+_git_hash=68315f04d8a7c3bc4833af7bd56f5b7d905d351d
+pkgrel=0
+pkgdesc="Kodi platform support library"
+url="https://github.com/xbmc/kodi-platform"
+arch="x86 x86_64"
+license="GPL"
+depends=""
+depends_dev="kodi-dev tinyxml-dev"
+makedepends="$depends_dev cmake"
+install=""
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/xbmc/kodi-platform/archive/$_git_hash.tar.gz
+ check-for-glibc.patch"
+
+_builddir="$srcdir"/$pkgname-$_git_hash
+
+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_INSTALL_LIBDIR=/usr/lib \
+ -DCMAKE_INSTALL_LIBDIR_NOARCH=/usr/lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ . || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="3d69fa19f6db79283afb56eb6b16f367 kodi-platform-20150323.tar.gz
+1d1510ec5caca1b87a7e83e5b903dccb check-for-glibc.patch"
+sha256sums="38b26976f9ee711dce7257d3dcdc6862f31ad52f3d181b91a8f7bc04439d4d31 kodi-platform-20150323.tar.gz
+d9f4f57c1f48f1ff2df45597e2052190acc5ff8febdeb77973fdca049b128a3f check-for-glibc.patch"
+sha512sums="b730c14aa96aac4b58d433175c3e30056944dabb946946566df820dfa80d27c7999098719a1cbb82d12bebb577eb89b2540391a175af4cf2f69bffce9c8baa7a kodi-platform-20150323.tar.gz
+7189b9dc2fbcd8a003cf031b130b8d96226432237a80c6fdf24d6f238dcac8de886bc5ec39227dcf66efd4be201f13471ca300246ade8581ed3f6e7356850a0c check-for-glibc.patch"
diff --git a/unmaintained/kodi-platform/check-for-glibc.patch b/unmaintained/kodi-platform/check-for-glibc.patch
new file mode 100644
index 0000000000..76c03840c2
--- /dev/null
+++ b/unmaintained/kodi-platform/check-for-glibc.patch
@@ -0,0 +1,11 @@
+--- a/src/posix/serialport.cpp.orig
++++ b/src/posix/serialport.cpp
+@@ -37,7 +37,7 @@
+ #include "../util/baudrate.h"
+ #include "../posix/os-socket.h"
+
+-#if defined(__APPLE__) || defined(__FreeBSD__)
++#ifndef __GLIBC__
+ #ifndef XCASE
+ #define XCASE 0
+ #endif
diff --git a/unmaintained/kyotocabinet/APKBUILD b/unmaintained/kyotocabinet/APKBUILD
new file mode 100644
index 0000000000..1ebbf935f8
--- /dev/null
+++ b/unmaintained/kyotocabinet/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer:
+pkgname=kyotocabinet
+pkgver=1.2.76
+pkgrel=0
+pkgdesc="A straightforward implementation of DBM"
+url="http://fallabs.com/kyotocabinet/"
+arch="all"
+license="GPLv3"
+depends=""
+depends_dev=""
+makedepends="$depends_dev zlib-dev lzo-dev xz-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
+source="http://fallabs.com/kyotocabinet/pkg/kyotocabinet-$pkgver.tar.gz
+ kyotocabinet-1.2.76-8-byte-atomics.patch
+ "
+
+_builddir="$srcdir"/kyotocabinet-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="b925d369d7ed4a37cf0013409046738c kyotocabinet-1.2.76.tar.gz
+bb24d2950afee01e8933d87d5ca683e4 kyotocabinet-1.2.76-8-byte-atomics.patch"
+sha256sums="812a2d3f29c351db4c6f1ff29d94d7135f9e601d7cc1872ec1d7eed381d0d23c kyotocabinet-1.2.76.tar.gz
+2ffa53de979c5a9bde3b147a6842482ba102ada77d134b6f503297350882883e kyotocabinet-1.2.76-8-byte-atomics.patch"
+sha512sums="278db7b327eb4c21bf0137d9aa14fb67d74d5ce7ed1cb29fc9120d157a60de165ec0cf842903eb7952e8f998045ae585b958977fa973ba0e0773381de71d9f6a kyotocabinet-1.2.76.tar.gz
+cac619578fa354052976a286f6b3630c52eeb41350cc2bf72227b53a759b982c8dc5ddf9a558cd74441830d9ec544edafbd138295522fe1ad239c8a3d0862730 kyotocabinet-1.2.76-8-byte-atomics.patch"
diff --git a/unmaintained/kyotocabinet/kyotocabinet-1.2.76-8-byte-atomics.patch b/unmaintained/kyotocabinet/kyotocabinet-1.2.76-8-byte-atomics.patch
new file mode 100644
index 0000000000..f9417e93c4
--- /dev/null
+++ b/unmaintained/kyotocabinet/kyotocabinet-1.2.76-8-byte-atomics.patch
@@ -0,0 +1,74 @@
+Patch by Shawn Landden <shawnlandden@gmail.com> for kyotocabinet >= 1.2.76, which fixes
+the configure test to handle lack of 8 byte atomics correctly as is the case with ARM 32
+bit on all Fedora releases, Intel 32 bit on RHEL 5 and PowerPC 32 bit on RHEL 5 and all
+Fedora releases.
+
+--- kyotocabinet-1.2.76/configure.in 2012-05-24 13:31:42.000000000 +0200
++++ kyotocabinet-1.2.76/configure.in.8-byte-atomics 2013-03-01 00:21:21.000000000 +0100
+@@ -238,9 +238,22 @@
+ # Atomic operations
+ if test "$enable_atomic" != "no"
+ then
+- printf 'checking for atomic operations... '
+- AC_TRY_COMPILE([], [__sync_fetch_and_add], [MYGCCATOMIC=yes], [MYGCCATOMIC=no])
+- if test "$MYGCCATOMIC" = "yes"
++ printf 'checking for 8 byte atomic operations... '
++ if printf '
++/* Some targets support 4 byte atomics, but not 8 byte atomics,
++ * and will fail at link time if they are used.
++ *
++ * http://gcc.gnu.org/onlinedocs/gcc-4.6.3/gcc/Atomic-Builtins.html
++ * http://gcc.gnu.org/wiki/Atomic
++ */
++#include <stdint.h>
++int
++main ()
++{
++uint64_t n = 0xdeadbeaf;
++__sync_bool_compare_and_swap(&n, 0xdeadbeaf, 0);
++return n;
++}' | $CC -xc -o config.tmp - >/dev/null 2>&1
+ then
+ MYCPPFLAGS="$MYCPPFLAGS -D_MYGCCATOMIC"
+ printf 'yes\n'
+--- kyotocabinet-1.2.76/configure 2012-05-24 13:31:45.000000000 +0200
++++ kyotocabinet-1.2.76/configure.8-byte-atomics 2013-03-01 00:22:37.000000000 +0100
+@@ -4012,25 +4012,22 @@
+ # Atomic operations
+ if test "$enable_atomic" != "no"
+ then
+- printf 'checking for atomic operations... '
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-
++ printf 'checking for 8 byte atomic operations... '
++ if printf '
++/* Some targets support 4 byte atomics, but not 8 byte atomics,
++ * and will fail at link time if they are used.
++ *
++ * http://gcc.gnu.org/onlinedocs/gcc-4.6.3/gcc/Atomic-Builtins.html
++ * http://gcc.gnu.org/wiki/Atomic
++ */
++#include <stdint.h>
+ int
+ main ()
+ {
+-__sync_fetch_and_add
+- ;
+- return 0;
+-}
+-_ACEOF
+-if ac_fn_cxx_try_compile "$LINENO"; then :
+- MYGCCATOMIC=yes
+-else
+- MYGCCATOMIC=no
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+- if test "$MYGCCATOMIC" = "yes"
++uint64_t n = 0xdeadbeaf;
++__sync_bool_compare_and_swap(&n, 0xdeadbeaf, 0);
++return n;
++}' | $CC -xc -o config.tmp - >/dev/null 2>&1
+ then
+ MYCPPFLAGS="$MYCPPFLAGS -D_MYGCCATOMIC"
+ printf 'yes\n'
diff --git a/unmaintained/kyototycoon/APKBUILD b/unmaintained/kyototycoon/APKBUILD
new file mode 100644
index 0000000000..e67b555f65
--- /dev/null
+++ b/unmaintained/kyototycoon/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer:
+pkgname=kyototycoon
+pkgver=0.9.56
+pkgrel=0
+pkgdesc="a leightweight cache/storage server"
+url="http://fallabs.com/kyototycoon/"
+arch="all"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev lua5.1-dev zlib-dev kyotocabinet-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
+source="http://fallabs.com/kyototycoon/pkg/kyototycoon-$pkgver.tar.gz
+ musl-header-fix.patch
+ "
+
+_builddir="$srcdir"/kyototycoon-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib/kyototycoon \
+ --disable-static \
+ --enable-lua \
+ --with-lua=/usr/lua5.1 \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="2e95a4681f6d05f9e363985fbb933948 kyototycoon-0.9.56.tar.gz
+765f21d0bdad8b07c283330bc460693d musl-header-fix.patch"
+sha256sums="553e4ea83237d9153cc5e17881092cefe0b224687f7ebcc406b061b2f31c75c6 kyototycoon-0.9.56.tar.gz
+78b17a2fad4f065bbf7d8b3e1636ab5fed0ca30990b2ebd9393c60d77f2b13e9 musl-header-fix.patch"
+sha512sums="7722297287194d67dfaae9e7595439274d7639d139a954eb8dee4a5e6d019e8a1da3773b538e80244eb97b867f0b6d0db592fa66fdbb2bd8d9358a6acd82cd4c kyototycoon-0.9.56.tar.gz
+2953c5f3b9cc4ef54d14fa9481b9c4085fd1bb200d03c60582ec947329ecb0da696c164d74e88aa1a766b9475f0ab3c98b17ab18998286de6f3730513255ed0a musl-header-fix.patch"
diff --git a/unmaintained/kyototycoon/musl-header-fix.patch b/unmaintained/kyototycoon/musl-header-fix.patch
new file mode 100644
index 0000000000..75edaef889
--- /dev/null
+++ b/unmaintained/kyototycoon/musl-header-fix.patch
@@ -0,0 +1,11 @@
+--- ./ktdbext.h.orig
++++ ./ktdbext.h
+@@ -16,6 +16,8 @@
+ #ifndef _KTDBEXT_H // duplication check
+ #define _KTDBEXT_H
+
++#include <unistd.h>
++
+ #include <ktcommon.h>
+ #include <ktutil.h>
+ #include <ktulog.h>
diff --git a/unmaintained/ladspa/0001-proper-build.patch b/unmaintained/ladspa/0001-proper-build.patch
new file mode 100644
index 0000000000..fa3a6c43ee
--- /dev/null
+++ b/unmaintained/ladspa/0001-proper-build.patch
@@ -0,0 +1,111 @@
+From b87125e3eeb3e3446f80566083e5d66e7a667567 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Sat, 4 Feb 2012 21:22:13 +0000
+Subject: [PATCH 1/3] proper build
+
+---
+ src/makefile | 50 +++++++++++++++++++++++++++++---------------------
+ 1 files changed, 29 insertions(+), 21 deletions(-)
+
+diff --git a/src/makefile b/src/makefile
+index 886237f..10ce82d 100644
+--- a/src/makefile
++++ b/src/makefile
+@@ -13,10 +13,12 @@ INSTALL_BINARY_DIR = /usr/bin/
+ # GENERAL
+ #
+
++CFLAGS ?= -Wall -Werror -O3
++CXXFLAGS ?= -Wall -Werror -O3
++
+ INCLUDES = -I.
+-LIBRARIES = -ldl -lm
+-CFLAGS = $(INCLUDES) -Wall -Werror -O3 -fPIC
+-CXXFLAGS = $(CFLAGS)
++DYNAMIC_LD_LIBS = -ldl
++LIBRARIES = $(DYNAMIC_LD_LIBS) -lm
+ PLUGINS = ../plugins/amp.so \
+ ../plugins/delay.so \
+ ../plugins/filter.so \
+@@ -25,21 +27,27 @@ PLUGINS = ../plugins/amp.so \
+ PROGRAMS = ../bin/analyseplugin \
+ ../bin/applyplugin \
+ ../bin/listplugins
+-CC = cc
+-CPP = c++
++CC ?= cc
++CXX ?= c++
++MKDIR_P ?= mkdir -p
+
+ ###############################################################################
+ #
+ # RULES TO BUILD PLUGINS FROM C OR C++ CODE
+ #
+
++LDFLAGS_filter = -lm
++
+ ../plugins/%.so: plugins/%.c ladspa.h
+- $(CC) $(CFLAGS) -o plugins/$*.o -c plugins/$*.c
+- $(LD) -o ../plugins/$*.so plugins/$*.o -shared
++ $(CC) $(CFLAGS) $(INCLUDES) -fPIC -o plugins/$*.o -c plugins/$*.c
++ $(CC) $(CFLAGS) $(LDFLAGS) -o ../plugins/$*.so plugins/$*.o -shared $(LDFLAGS_$*)
+
+ ../plugins/%.so: plugins/%.cpp ladspa.h
+- $(CPP) $(CXXFLAGS) -o plugins/$*.o -c plugins/$*.cpp
+- $(CPP) -o ../plugins/$*.so plugins/$*.o -shared
++ $(CXX) $(CXXFLAGS) $(INCLUDES) -fPIC -o plugins/$*.o -c plugins/$*.cpp
++ $(CXX) $(LDFLAGS) -o ../plugins/$*.so plugins/$*.o -shared $(LDFLAGS_$*)
++
++%.o: %.c
++ $(CC) $(CFLAGS) -DPLUGINDIR=\"$(INSTALL_PLUGINS_DIR)\" -c $<
+
+ ###############################################################################
+ #
+@@ -59,12 +67,12 @@ test: /tmp/test.wav ../snd/noise.wav always
+ @echo Test complete.
+
+ install: targets
+- -mkdirhier $(INSTALL_PLUGINS_DIR)
+- -mkdirhier $(INSTALL_INCLUDE_DIR)
+- -mkdirhier $(INSTALL_BINARY_DIR)
+- cp ../plugins/* $(INSTALL_PLUGINS_DIR)
+- cp ladspa.h $(INSTALL_INCLUDE_DIR)
+- cp ../bin/* $(INSTALL_BINARY_DIR)
++ -$(MKDIR_P) $(DESTDIR)$(INSTALL_PLUGINS_DIR)
++ -$(MKDIR_P) $(DESTDIR)$(INSTALL_INCLUDE_DIR)
++ -$(MKDIR_P) $(DESTDIR)$(INSTALL_BINARY_DIR)
++ cp ../plugins/* $(DESTDIR)$(INSTALL_PLUGINS_DIR)
++ cp ladspa.h $(DESTDIR)$(INSTALL_INCLUDE_DIR)
++ cp ../bin/* $(DESTDIR)$(INSTALL_BINARY_DIR)
+
+ /tmp/test.wav: targets ../snd/noise.wav
+ ../bin/listplugins
+@@ -90,19 +98,19 @@ targets: $(PLUGINS) $(PROGRAMS)
+ #
+
+ ../bin/applyplugin: applyplugin.o load.o default.o
+- $(CC) $(CFLAGS) $(LIBRARIES) \
++ $(CC) $(CFLAGS) $(INCLUDES) $(LDFLAGS) \
+ -o ../bin/applyplugin \
+- applyplugin.o load.o default.o
++ applyplugin.o load.o default.o $(LIBRARIES)
+
+ ../bin/analyseplugin: analyseplugin.o load.o default.o
+- $(CC) $(CFLAGS) $(LIBRARIES) \
++ $(CC) $(CFLAGS) $(INCLUDES) $(LDFLAGS) \
+ -o ../bin/analyseplugin \
+- analyseplugin.o load.o default.o
++ analyseplugin.o load.o default.o $(LIBRARIES)
+
+ ../bin/listplugins: listplugins.o search.o
+- $(CC) $(CFLAGS) $(LIBRARIES) \
++ $(CC) $(CFLAGS) $(INCLUDES) $(LDFLAGS) \
+ -o ../bin/listplugins \
+- listplugins.o search.o
++ listplugins.o search.o $(LIBRARIES)
+
+ ###############################################################################
+ #
+--
+1.7.9
+
diff --git a/unmaintained/ladspa/0002-plugin-constructor-destructor.patch b/unmaintained/ladspa/0002-plugin-constructor-destructor.patch
new file mode 100644
index 0000000000..f0061e823d
--- /dev/null
+++ b/unmaintained/ladspa/0002-plugin-constructor-destructor.patch
@@ -0,0 +1,119 @@
+From d281f99e3776027e98f3b9d952fad0d456a75b8a Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Sat, 4 Feb 2012 22:04:33 +0000
+Subject: [PATCH 2/3] plugin constructor destructor
+
+---
+ src/plugins/amp.c | 8 ++++----
+ src/plugins/delay.c | 8 ++++----
+ src/plugins/filter.c | 8 ++++----
+ src/plugins/noise.c | 8 ++++----
+ 4 files changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/src/plugins/amp.c b/src/plugins/amp.c
+index b6d2345..a447fa1 100644
+--- a/src/plugins/amp.c
++++ b/src/plugins/amp.c
+@@ -152,8 +152,8 @@ LADSPA_Descriptor * g_psStereoDescriptor = NULL;
+
+ /* _init() is called automatically when the plugin library is first
+ loaded. */
+-void
+-_init() {
++void __attribute__ ((constructor))
++my_init() {
+
+ char ** pcPortNames;
+ LADSPA_PortDescriptor * piPortDescriptors;
+@@ -335,8 +335,8 @@ deleteDescriptor(LADSPA_Descriptor * psDescriptor) {
+ /*****************************************************************************/
+
+ /* _fini() is called automatically when the library is unloaded. */
+-void
+-_fini() {
++void __attribute__ ((destructor))
++my_fini() {
+ deleteDescriptor(g_psMonoDescriptor);
+ deleteDescriptor(g_psStereoDescriptor);
+ }
+diff --git a/src/plugins/delay.c b/src/plugins/delay.c
+index 8b03979..22e477b 100644
+--- a/src/plugins/delay.c
++++ b/src/plugins/delay.c
+@@ -228,8 +228,8 @@ LADSPA_Descriptor * g_psDescriptor = NULL;
+
+ /* _init() is called automatically when the plugin library is first
+ loaded. */
+-void
+-_init() {
++void __attribute__ ((constructor))
++my_init() {
+
+ char ** pcPortNames;
+ LADSPA_PortDescriptor * piPortDescriptors;
+@@ -322,8 +322,8 @@ _init() {
+ /*****************************************************************************/
+
+ /* _fini() is called automatically when the library is unloaded. */
+-void
+-_fini() {
++void __attribute__ ((destructor))
++my_fini() {
+ long lIndex;
+ if (g_psDescriptor) {
+ free((char *)g_psDescriptor->Label);
+diff --git a/src/plugins/filter.c b/src/plugins/filter.c
+index 3f50457..06f7bc6 100644
+--- a/src/plugins/filter.c
++++ b/src/plugins/filter.c
+@@ -252,8 +252,8 @@ LADSPA_Descriptor * g_psHPFDescriptor = NULL;
+
+ /* _init() is called automatically when the plugin library is first
+ loaded. */
+-void
+-_init() {
++void __attribute__ ((constructor))
++my_init() {
+
+ char ** pcPortNames;
+ LADSPA_PortDescriptor * piPortDescriptors;
+@@ -431,8 +431,8 @@ deleteDescriptor(LADSPA_Descriptor * psDescriptor) {
+ /*****************************************************************************/
+
+ /* _fini() is called automatically when the library is unloaded. */
+-void
+-_fini() {
++void __attribute__ ((destructor))
++my_fini() {
+ deleteDescriptor(g_psLPFDescriptor);
+ deleteDescriptor(g_psHPFDescriptor);
+ }
+diff --git a/src/plugins/noise.c b/src/plugins/noise.c
+index 0fdd938..de6fc81 100644
+--- a/src/plugins/noise.c
++++ b/src/plugins/noise.c
+@@ -142,8 +142,8 @@ LADSPA_Descriptor * g_psDescriptor;
+
+ /* _init() is called automatically when the plugin library is first
+ loaded. */
+-void
+-_init() {
++void __attribute__ ((constructor))
++my_init() {
+
+ char ** pcPortNames;
+ LADSPA_PortDescriptor * piPortDescriptors;
+@@ -219,8 +219,8 @@ _init() {
+ /*****************************************************************************/
+
+ /* _fini() is called automatically when the library is unloaded. */
+-void
+-_fini() {
++void __attribute__ ((destructor))
++my_fini() {
+ long lIndex;
+ if (g_psDescriptor) {
+ free((char *)g_psDescriptor->Label);
+--
+1.7.9
+
diff --git a/unmaintained/ladspa/0003-plugindir.patch b/unmaintained/ladspa/0003-plugindir.patch
new file mode 100644
index 0000000000..bd78ee51fc
--- /dev/null
+++ b/unmaintained/ladspa/0003-plugindir.patch
@@ -0,0 +1,42 @@
+From 8e18df685c5fe747c6d250460d265a402f7900b1 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Sat, 4 Feb 2012 22:05:24 +0000
+Subject: [PATCH 3/3] plugindir
+
+---
+ src/load.c | 2 ++
+ src/search.c | 5 +----
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/src/load.c b/src/load.c
+index c2a5aa7..e221c10 100644
+--- a/src/load.c
++++ b/src/load.c
+@@ -54,6 +54,8 @@ dlopenLADSPA(const char * pcFilename, int iFlag) {
+ to search. */
+
+ pcLADSPAPath = getenv("LADSPA_PATH");
++ if (! pcLADSPAPath)
++ pcLADSPAPath = PLUGINDIR;
+
+ if (pcLADSPAPath) {
+
+diff --git a/src/search.c b/src/search.c
+index 0006712..a6b2e78 100644
+--- a/src/search.c
++++ b/src/search.c
+@@ -99,10 +99,7 @@ LADSPAPluginSearch(LADSPAPluginSearchCallbackFunction fCallbackFunction) {
+
+ pcLADSPAPath = getenv("LADSPA_PATH");
+ if (!pcLADSPAPath) {
+- fprintf(stderr,
+- "Warning: You do not have a LADSPA_PATH "
+- "environment variable set.\n");
+- return;
++ pcLADSPAPath = PLUGINDIR;
+ }
+
+ pcStart = pcLADSPAPath;
+--
+1.7.9
+
diff --git a/unmaintained/ladspa/APKBUILD b/unmaintained/ladspa/APKBUILD
new file mode 100644
index 0000000000..573bccf9fd
--- /dev/null
+++ b/unmaintained/ladspa/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=ladspa
+pkgver=1.13
+pkgrel=0
+pkgdesc="Linux Audio Developer's Simple Plug-in API, examples and tools"
+url="http://www.ladspa.org/"
+arch="all"
+license="LGPLv2+"
+depends=""
+makedepends=""
+install=""
+subpackages="$pkgname-dev"
+source="http://www.ladspa.org/download/ladspa_sdk_$pkgver.tgz
+ 0001-proper-build.patch
+ 0002-plugin-constructor-destructor.patch
+ 0003-plugindir.patch
+ "
+
+_builddir="$srcdir"/ladspa_sdk
+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 targets || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make -C src install DESTDIR="$pkgdir" || return 1
+}
+
+md5sums="671be3e1021d0722cadc7fb27054628e ladspa_sdk_1.13.tgz
+0e834af5f341081b772848ed3a753d5d 0001-proper-build.patch
+4b5c8831519e7485f2dacc5663375872 0002-plugin-constructor-destructor.patch
+95943ab38a96051ff4a6caf33182634c 0003-plugindir.patch"
diff --git a/unmaintained/lam/APKBUILD b/unmaintained/lam/APKBUILD
new file mode 100644
index 0000000000..c68c952395
--- /dev/null
+++ b/unmaintained/lam/APKBUILD
@@ -0,0 +1,48 @@
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+pkgname="lam"
+_realname="ldap-account-manager"
+pkgver="4.2"
+pkgrel=1
+pkgdesc="PHP webfrontend for managing various account types in an LDAP directory in an abstract way"
+url="https://www.ldap-account-manager.org"
+arch="noarch"
+license="GPL2"
+depends="php php-ldap php-gettext php-json php-xml php-mcrypt php-zip"
+depends_dev=
+makedepends="$depends_dev"
+install="$pkgname.post-install $pkgname.post-upgrade"
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/$pkgname/$_realname-$pkgver.tar.gz"
+
+
+_builddir="$srcdir"/$_realname-$pkgver
+
+prepare() {
+ cd "$_builddir"
+ # patch -p1 < ../lam-change-config-file-location.patch || exit 1
+}
+
+build() {
+ return 0
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/etc/lam || exit 1
+ mkdir -p "$pkgdir"/usr/share/webapps/lam || exit 1
+ mkdir -p "$pkgdir"/usr/share/doc/lam || exit 1
+ mv config/* "$pkgdir"/etc/lam || exit 1
+ rm -rf config || exit 1
+ ln -s /etc/lam "$pkgdir"/usr/share/webapps/lam/config || exit 1
+ mv "$pkgdir"/etc/lam/config.cfg_sample "$pkgdir"/etc/lam/config.cfg || exit 1
+ mv docs/* "$pkgdir"/usr/share/doc/lam || exit 1
+ for file in COPYING VERSION HISTORY README
+ do
+ mv $file "$pkgdir"/usr/share/doc/lam || exit 1
+ done
+ cp -r * "$pkgdir"/usr/share/webapps/lam || exit 1
+}
+
+md5sums="7a840a98c9aec2a9c21796f0491a6f21 ldap-account-manager-4.2.tar.gz"
+sha256sums="992d05c3f05befdb2f36513e4674d67d1408a9249982a8526df4e710fc5c71e5 ldap-account-manager-4.2.tar.gz"
+sha512sums="b0599578e58e801879128b511bcb0acd4c71a53d5134a13cf3397730042cc7d42adbdc6affa9be3dfdd20bc42ccfc27edc0ca64ec10cd80dfa91f5916af52ba8 ldap-account-manager-4.2.tar.gz"
diff --git a/unmaintained/lam/lam-change-config-file-location.patch b/unmaintained/lam/lam-change-config-file-location.patch
new file mode 100644
index 0000000000..0061538c85
--- /dev/null
+++ b/unmaintained/lam/lam-change-config-file-location.patch
@@ -0,0 +1,11 @@
+--- a/lib/config.inc
++++ b/lib/config.inc
+@@ -1386,7 +1386,7 @@
+ * Loads preferences from config file
+ */
+ function __construct() {
+- $this->conffile = substr(__FILE__, 0, strlen(__FILE__) - 15) . "/config/config.cfg";
++ $this->conffile ="/etc/lam/config.cfg";
+ // set default values
+ $this->sessionTimeout = 30;
+ $this->logLevel = LOG_NOTICE;
diff --git a/unmaintained/lam/lam.post-install b/unmaintained/lam/lam.post-install
new file mode 100755
index 0000000000..2f02bd25d5
--- /dev/null
+++ b/unmaintained/lam/lam.post-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+echo "*"
+echo "* Please give to the webserver user ownership permission to the following directories:"
+echo "* /usr/share/webapps/lam/sess"
+echo "* /usr/share/webapps/lam/tmp"
+echo "* /etc/lam"
+echo "*"
diff --git a/unmaintained/lam/lam.post-upgrade b/unmaintained/lam/lam.post-upgrade
new file mode 100755
index 0000000000..2f02bd25d5
--- /dev/null
+++ b/unmaintained/lam/lam.post-upgrade
@@ -0,0 +1,7 @@
+#!/bin/sh
+echo "*"
+echo "* Please give to the webserver user ownership permission to the following directories:"
+echo "* /usr/share/webapps/lam/sess"
+echo "* /usr/share/webapps/lam/tmp"
+echo "* /etc/lam"
+echo "*"
diff --git a/unmaintained/lbdb/APKBUILD b/unmaintained/lbdb/APKBUILD
new file mode 100644
index 0000000000..e65bcfbb23
--- /dev/null
+++ b/unmaintained/lbdb/APKBUILD
@@ -0,0 +1,33 @@
+pkgname=lbdb
+pkgver=0.39
+pkgrel=1
+pkgdesc="The little brother's database for the mutt mail reader"
+arch='all'
+url="http://www.spinnaker.de/lbdb/"
+license="GPL"
+depends='perl'
+source="http://www.spinnaker.de/debian/${pkgname}_${pkgver}.tar.gz"
+subpackages="$pkgname-doc"
+
+_builddir="$srcdir/$pkgname-$pkgver"
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib/lbdb \
+ --sysconfdir=/etc/lbdb \
+ || return 1
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make install_prefix="$pkgdir" \
+ sysconfdir=/etc/lbdb \
+ libdir=/usr/lib/lbdb \
+ install
+}
+md5sums="b4739fd4e331e41da8a634c24c98a2c8 lbdb_0.39.tar.gz"
+sha256sums="4083ce4abde18ac949ca6eab453b3b7227a5aa2c737c9ad8ecbb0152fabfafc6 lbdb_0.39.tar.gz"
+sha512sums="f37fd3261fa132d6320039f43765624d4eff3508e20f581688222ab9add4f3846c772fdc6d6bb936d572634b78bae0a2403c6bcf034ed19e2d54d95a744cba1e lbdb_0.39.tar.gz"
diff --git a/unmaintained/libamz/APKBUILD b/unmaintained/libamz/APKBUILD
new file mode 100644
index 0000000000..e7ba03378e
--- /dev/null
+++ b/unmaintained/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=1
+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/unmaintained/libavl/APKBUILD b/unmaintained/libavl/APKBUILD
new file mode 100644
index 0000000000..e45ab3b867
--- /dev/null
+++ b/unmaintained/libavl/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=libavl
+pkgver=0.3.5
+pkgrel=0
+pkgdesc="AVLTree is a small implementation of AVL trees"
+url="http://ftp.debian.org/debian/pool/main/liba/libavl"
+arch="all"
+license="LGPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://libavl.sourcearchive.com/downloads/0.3.5-3/libavl_$pkgver.orig.tar.gz
+ libavl_0.3.5-3.patch"
+_builddir="$srcdir/avl-$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 prefix="$pkgdir" install || return 1
+}
+md5sums="882c68ea7f71876ca110f3b84d7ab12d libavl_0.3.5.orig.tar.gz
+71a9af7a70f37b1ac17a010872a47712 libavl_0.3.5-3.patch"
+sha256sums="4497b9e22cdd61ae2fa893b9d5fd6213dc306726d7c4be08c29e173622dca8a0 libavl_0.3.5.orig.tar.gz
+2784d360e5afae8b46104755f72d59317d997ac638b51bcffd1a2b70bf6894e9 libavl_0.3.5-3.patch"
+sha512sums="6a409025eb4560961c35bf0d80deb592ada9b448c497955ec7662a478fc4cebfdd46b9f33db0c913af773614752444563d29cea4418f896eb2761a233ee64b6d libavl_0.3.5.orig.tar.gz
+dd08c0bed82eefe304355f102d6b0c3a088cd199fcf3ca456a3c747d5da9059bc8621fab72db730d7fe67c52a51c01e7a0835107ef624db4e79a1c2a2e4c899d libavl_0.3.5-3.patch"
diff --git a/unmaintained/libavl/libavl_0.3.5-3.patch b/unmaintained/libavl/libavl_0.3.5-3.patch
new file mode 100644
index 0000000000..17107a9ca2
--- /dev/null
+++ b/unmaintained/libavl/libavl_0.3.5-3.patch
@@ -0,0 +1,39 @@
+--- libavl-0.3.5.orig/GNUmakefile
++++ libavl-0.3.5/GNUmakefile
+@@ -6,7 +6,8 @@
+ LDCONFIG ?= /sbin/ldconfig
+
+ # Some suggestions: (-mcpu= generates i386 compatible code)
+-CFLAGS ?= -O2 -fomit-frame-pointer -pipe -mcpu=i686 -w
++CFLAGS ?= -O2 -pipe -Wall -Werror
++CFLAGS += -fPIC
+ #CFLAGS = -O2 -fomit-frame-pointer -pipe -march=i586 -Wall -g
+ #CFLAGS = -O6 -fomit-frame-pointer -pipe -march=i586 -Wall -ansi -pedantic
+ #CFLAGS = -O6 -fomit-frame-pointer -pipe -march=i686 -Wall -ansi -pedantic
+@@ -34,20 +35,21 @@
+ $(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
+
+ $(LIBRARY): avl.o
+- $(CC) -nostdlib -shared -Wl,-soname,libavl.so.1 $^ -o $@ -lc
++ $(CC) -shared -Wl,-soname,libavl.so.1 $^ -o $@ -lc
+
+ clean:
+ $(RM) *.o $(PROGRAMS) libavl.*
+
+ install: all
+ $(INSTALL) -d $(DESTDIR)$(libdir)
+- $(INSTALL) avl.h $(DESTDIR)$(includedir)
+- $(INSTALL) $(LIBRARIES) $(DESTDIR)$(libdir)
+- for i in $(LIBRARIES); do\
++ $(INSTALL) -d $(DESTDIR)$(includedir)
++ $(INSTALL) -m 755 avl.h $(DESTDIR)$(includedir)
++ $(INSTALL) -m 755 $(LIBRARY) $(DESTDIR)$(libdir)
++ for i in $(LIBRARY); do\
+ $(LN) -sf $$i $(DESTDIR)$(libdir)/$${i%.*};\
+ $(LN) -sf $${i%.*} $(DESTDIR)$(libdir)/$${i%.*.*};\
+ done
+- -$(LDCONFIG)
++ #-$(LDCONFIG)
+
+ .PHONY: clean install all
+ .PRECIOUS: %.h %.c
diff --git a/unmaintained/libc6/APKBUILD b/unmaintained/libc6/APKBUILD
new file mode 100644
index 0000000000..2eb91a2192
--- /dev/null
+++ b/unmaintained/libc6/APKBUILD
@@ -0,0 +1,117 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: William Pitcock <nenolod@dereferenced.org>
+pkgname=libc6
+pkgver=2.14
+pkgrel=0
+svnrev=14663
+pkgdesc="Embedded GNU C Library"
+url="http://eglibc.org/"
+arch=""
+license="LGPL"
+depends=
+depends_dev="linux-headers>=2.6.18"
+provides="libiconv"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev
+ $pkgname-doc
+
+ gconv-modules:gconv
+ locales
+ nscd"
+options="!strip"
+source="http://dev.alpinelinux.org/~nenolod/eglibc-${pkgver}.r${svnrev}.tar.gz
+
+ glibc-2.12-hardened-pie.patch
+ glibc-2.10-hardened-configure-picdefault.patch
+ glibc-2.10-hardened-inittls-nosysenter.patch
+
+ chk_fail.c
+ stack_chk_fail.c
+
+ nscd.initd"
+
+_srcdir="$srcdir"/eglibc-$pkgver
+_builddir="$srcdir"/eglibc-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
+ echo "slibdir=/lib" >> configparms
+
+ cp "$srcdir"/chk_fail.c "$_srcdir"/debug/chk_fail.c
+ cp "$srcdir"/stack_chk_fail.c "$_srcdir"/debug/stack_chk_fail.c
+
+ mkdir "$_builddir"
+}
+
+build() {
+ cd "$_builddir"
+
+ export CFLAGS="$CFLAGS -fno-stack-protector"
+
+ "$_srcdir"/configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --with-headers=/usr/include \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --enable-kernel=2.6.18 \
+ --enable-add-ons=nptl,libidn \
+ --disable-profile \
+ --enable-bind-now \
+ --with-tls \
+ --with-__thread \
+ --without-zoneinfo \
+ --without-cvs \
+ --without-gd \
+ --with-pkgversion="Alpine EGLIBC ${pkgver}-r${pkgrel} [svn r${svnrev}]" \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make install_root="$pkgdir" install || return 1
+}
+
+gconv() {
+ pkgdesc="GNU iconv character modules"
+
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/iconv "$subpkgdir"/usr/lib
+}
+
+locales() {
+ pkgdesc="Common files for locale support"
+
+ mkdir -p "$subpkgdir"/usr/share
+ mv "$pkgdir"/usr/share/* "$subpkgdir"/usr/share
+}
+
+nscd() {
+ pkgdesc="Cache daemon for NIS/DNS"
+
+ mkdir -p "$subpkgdir"/var/db/nscd
+ mkdir -p "$subpkgdir"/var/run/nscd
+
+ install -Dm 755 "$srcdir"/nscd.initd "$subpkgdir"/etc/init.d/nscd
+ install -Dm 644 "$srcdir"/libc/nscd/nscd.conf "$subpkgdir"/etc/nscd.conf
+
+ mkdir -p "$subpkgdir"/usr/sbin
+ mv "$pkgdir"/usr/sbin/nscd "$subpkgdir"/usr/sbin
+}
+
+md5sums="c6de1455fcef3487ee42c14349a72cf4 eglibc-2.14.r14663.tar.gz
+03ffc414f8eb9f1fcb93325008f5ecd7 glibc-2.12-hardened-pie.patch
+8bca42eb8f6d117107ab8e356566b805 glibc-2.10-hardened-configure-picdefault.patch
+d3b50eec50099791bf2f0c10b605ff7c glibc-2.10-hardened-inittls-nosysenter.patch
+1b31d2c7a39298da10e3840076514823 chk_fail.c
+6a6b9992c76a9bece219eb00a16d7549 stack_chk_fail.c
+ff0b0069eeb662145d287d7f98c79447 nscd.initd"
diff --git a/unmaintained/libc6/nscd.initd b/unmaintained/libc6/nscd.initd
new file mode 100644
index 0000000000..949c49e82a
--- /dev/null
+++ b/unmaintained/libc6/nscd.initd
@@ -0,0 +1,18 @@
+#!/sbin/runscript
+
+DAEMON=/usr/sbin/nscd
+
+start() {
+ ebegin "Starting nscd"
+ # remove stale files
+ rm -f /var/db/nscd/* /var/run/nscd/* 2>/dev/null
+ start-stop-daemon --start --exec $DAEMON
+ eend $?
+}
+
+stop () {
+ ebegin "Stopping nscd"
+ start-stop-daemon --stop --quiet \
+ --pidfile=/var/run/nscd/nscd.pid
+ eend $?
+}
diff --git a/unmaintained/libcgroup/APKBUILD b/unmaintained/libcgroup/APKBUILD
new file mode 100644
index 0000000000..eebbaf9335
--- /dev/null
+++ b/unmaintained/libcgroup/APKBUILD
@@ -0,0 +1,102 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=libcgroup
+pkgver=0.38
+pkgrel=3
+pkgdesc="Library to control and monitor control groups"
+url="http://libcg.sourceforge.net/"
+arch="all"
+license="LGPLv2+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev bison flex linux-headers linux-pam-dev fts-dev"
+install=""
+options="suid"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-tools $pkgname-pam"
+source="http://downloads.sourceforge.net/libcg/libcgroup-$pkgver.tar.bz2
+ cgconfig.initd
+ cgconfig.confd
+ cgred.initd
+ cgred.confd
+ musl-decls-compat.patch
+ "
+
+_builddir="$srcdir"/libcgroup-$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
+ sed -e 's:/etc/cgrules.conf:/etc/cgroup/cgrules.conf:' \
+ -i src/libcgroup-internal.h || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --enable-shared \
+ --enable-daemon \
+ --enable-tools \
+ || return 1
+ make LIBS=-lfts || return 1
+}
+
+package() {
+ local _sysconfdir="$pkgdir"/etc
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+
+ # config files
+ install -d "$_sysconfdir"
+ install -m 644 samples/cgconfig.conf "$_sysconfdir"/cgconfig.conf \
+ || return 1
+ install -m 644 samples/cgrules.conf "$_sysconfdir"/cgrules.conf \
+ || return 1
+ install -m 644 samples/cgsnapshot_blacklist.conf \
+ "$_sysconfdir"/cgsnapshot_blacklist.conf || return 1
+
+ # init scripts
+ for i in $source; do
+ case $i in
+ *.initd) install -Dm755 "$srcdir"/$i \
+ "$pkgdir"/etc/init.d/${i%.*} || return 1;;
+ *.confd) install -Dm644 "$srcdir"/$i \
+ "$pkgdir"/etc/conf.d/${i%.*} || return 1;;
+ esac
+ done
+}
+
+tools() {
+ pkgdesc="Command-line utility programs, services and daemons for libcgroup"
+ install -d "$subpkgdir"/usr
+ mv "$pkgdir"/usr/bin "$pkgdir"/usr/sbin "$subpkgdir"/usr/
+ mv "$pkgdir"/etc "$subpkgdir"/
+}
+
+pam() {
+ pkgdesc="A Pluggable Authentication Module for libcgroup"
+ install -d "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/security "$subpkgdir"/usr/lib/
+}
+
+md5sums="f0f7d4060bf36ccc19d75dbf4f1695db libcgroup-0.38.tar.bz2
+79b7a9f739af3a8ac05e4e02faadc036 cgconfig.initd
+7743c134ead2422fbd375447c4c9654c cgconfig.confd
+7574db63b6f74a3c816cd05d6032a138 cgred.initd
+f36926f1a968d3ee5fd7f0d7a6a7167e cgred.confd
+f9994beb5511e1381c2878fd9b7d1163 musl-decls-compat.patch"
+sha256sums="5d36d1a48b95f62fe9fcdf74a5a4089512e5e43e6011aa1504fd6f2a0909867f libcgroup-0.38.tar.bz2
+53d8e06a64efa338a66ab1c94d185450f99d46f4517e7a0e5fe8fce75fa6dca0 cgconfig.initd
+ac52788366561ca6b79bca0e9fc9630568401b4301e386e6851fd8eb75a539ab cgconfig.confd
+05f0c39c72cbf53d5a77d8ff056350832140e599f90f0911d87ec06314ffcd19 cgred.initd
+72c00285c1f89f3a0564418c33bd02dfbcee2ae90f540a885ef57d1ef940a04c cgred.confd
+02d6fb7911c433e1e373e8b548bbcc5c317f058e1aa5db226ce92a29a42696c0 musl-decls-compat.patch"
+sha512sums="763e52bee699b0461508eabb6fdf3a79f15d1d8cdbc6631fcae93127eb7648e6bab660cf3a31019b966095113f9a086d55b5351c7999f3654f8e6c95507725d5 libcgroup-0.38.tar.bz2
+e224271db461f7953d8880d7f33b571c69d1237aedb127bcddad356dd3f046504c5917a5a2b00d64051bec72661322b43966ede83587fc54c75a32c16f2c3aaa cgconfig.initd
+9bb289c20c3230414888e82be2b7a1389ac652143bcbbc746d0731c46a2f1404b4bc8154c90b59ebc53520107fe2f04c9eb5df742451887947b8a3b7a4c31f00 cgconfig.confd
+8be89446fac65ba7f18269bd88d31f60e49da6488d85dfad9aa33304a5b14e700d86258894876d01a05c1bf4db5f5e1d40a361693022e768e11af2bf6cfde61b cgred.initd
+871b7e7df26bf6b4164d5ec04e9998b0bd3f354e75ba2306b330e382eadd38ad044f85cfaa122a5a2e600fb4f39e1a7fe7778551a05dfc3e0ae095621c965996 cgred.confd
+8b4444b0583817bb6844d01a8d0d956a884a58ab8fb3ddd402a4ba9c5f505a7f8495abf06776685d9b10246b96ced64d74cab73484a84f3ecb53e8273ab76456 musl-decls-compat.patch"
diff --git a/unmaintained/libcgroup/cgconfig.confd b/unmaintained/libcgroup/cgconfig.confd
new file mode 100644
index 0000000000..e41730ae0e
--- /dev/null
+++ b/unmaintained/libcgroup/cgconfig.confd
@@ -0,0 +1,4 @@
+# /etc/conf.d/cgconfig: config file for /etc/init.d/cgconfig
+
+# Configuration file location
+#CONFIG_FILE=/etc/cgroup/cgconfig.conf
diff --git a/unmaintained/libcgroup/cgconfig.initd b/unmaintained/libcgroup/cgconfig.initd
new file mode 100644
index 0000000000..ae64ae1611
--- /dev/null
+++ b/unmaintained/libcgroup/cgconfig.initd
@@ -0,0 +1,120 @@
+#!/sbin/openrc-run
+#
+# Control Groups Configuration Startup
+#
+# This script runs the cgconfigparser utility to parse and setup
+# the control group filesystem. It uses ${CONFIG_FILE}
+# and parses the configuration specified in there.
+#
+CGCONFIGPARSER="/usr/sbin/cgconfigparser"
+CGROUP_FS="cgroup"
+CONFIG_FILE=${CONFIG_FILE:-"/etc/cgconfig.conf"}
+MOUNTS_FILE="/proc/mounts"
+RULES_FILE="/etc/cgrules.conf"
+
+# Support multiple mount points
+MOUNT_POINTS=
+
+move_all_to_init_class() {
+ local i
+ for i in $MOUNT_POINTS; do
+ local mount_point=${i%:*}
+ cd ${mount_point}
+
+ if grep -qw "${mount_point}" ${MOUNTS_FILE}; then
+ local directory
+ for directory in $(find . -depth -type d); do
+ if [ "${directory}" != "." ]; then
+ # cat fails with "Argument list too long" error
+ sed -nu p < ${directory}/tasks > tasks
+ rmdir ${directory}
+ fi
+ done
+ else
+ ewarn "Resource control filesystem not mounted"
+ fi
+
+ cd - >/dev/null
+ done
+}
+
+parse_mounts() {
+ local device mount_point fs_type options other
+ while read device mount_point fs_type options other; do
+ if echo ${CGROUP_FS} | grep -q ${device}; then
+ MOUNT_POINTS="${MOUNT_POINTS} ${mount_point}:${options}"
+ fi
+ done < ${MOUNTS_FILE}
+}
+
+umount_fs() {
+ local i
+ for i in ${MOUNT_POINTS}; do
+ umount ${i%:*}
+ rmdir ${i%:*}
+ done
+}
+
+depend() {
+ need local
+}
+
+start() {
+ ebegin "Starting cgconfig service"
+
+ # Mount filesystem and create cgroups
+ if ! ${CGCONFIGPARSER} -l ${CONFIG_FILE} >/dev/null; then
+ eend 1 "Failed to parse ${CONFIG_FILE}"
+ return 1
+ fi
+
+ parse_mounts
+
+ # Find default cgroup name in rules file
+ local default_cgroup
+ if [ -f "${RULES_FILE}" ]; then
+ default_cgroup=$(awk '$1 == "*" {print $3; exit}' ${RULES_FILE})
+ if [ $default_cgroup == "*" ]; then
+ ewarn "${RULES_FILE} incorrect"
+ ewarn "Overriding it"
+ default_cgroup=
+ fi
+ fi
+ # Use predefined name if none was found
+ if [ -z "${default_cgroup}" ]; then
+ default_cgroup=sysdefault
+ fi
+
+ # Create a default cgroup for tasks to return back to
+ local i
+ for i in $MOUNT_POINTS; do
+ local mount_point=${i%:*}
+ local mount_options=${i#*:}
+ # Ignore if directory already exists
+ mkdir -p ${mount_point}/${default_cgroup}
+ find ${mount_point}/ -name tasks | xargs chmod a+rw
+ chmod go-w ${mount_point}/tasks
+
+ # Special rule for cpusets
+ if echo ${mount_options} | grep -qw cpuset; then
+ cat ${mount_point}/cpuset.cpus > ${mount_point}/${default_cgroup}/cpuset.cpus
+ cat ${mount_point}/cpuset.mems > ${mount_point}/${default_cgroup}/cpuset.mems
+ fi
+
+ # Classify everything to default cgroup
+ local j
+ for j in $(ps --no-headers -eL o tid); do
+ echo $j > ${mount_point}/${default_cgroup}/tasks 2>/dev/null
+ done
+ done
+
+ eend 0
+}
+
+stop() {
+ ebegin "Stopping cgconfig service"
+ parse_mounts
+ move_all_to_init_class
+ umount_fs
+ eend 0
+}
diff --git a/unmaintained/libcgroup/cgred.confd b/unmaintained/libcgroup/cgred.confd
new file mode 100644
index 0000000000..663ffc0c7d
--- /dev/null
+++ b/unmaintained/libcgroup/cgred.confd
@@ -0,0 +1,17 @@
+# /etc/conf.d/cgred.conf: config file for /etc/init.d/cgred
+
+# Uncomment the following line to log to specified file instead of syslog
+#LOG_FILE="/var/log/cgrulesengd.log"
+
+# Uncomment the second line to run CGroup Rules Engine in non-daemon mode
+#NODAEMON=""
+NODAEMON="--nodaemon"
+
+# Uncomment the second line to disable logging for CGroup Rules Engine
+# Uncomment the third line to enable more verbose logging.
+#LOG=""
+LOG="--nolog"
+#LOG="-v"
+
+# PID file
+PID_FILE=/var/run/cgred.pid
diff --git a/unmaintained/libcgroup/cgred.initd b/unmaintained/libcgroup/cgred.initd
new file mode 100644
index 0000000000..e5d027f2d3
--- /dev/null
+++ b/unmaintained/libcgroup/cgred.initd
@@ -0,0 +1,34 @@
+#!/sbin/openrc-run
+#
+# CGroups Rules Engine Daemon
+#
+# This is a daemon for automatically classifying processes into cgroups based
+# on UID/GID.
+#
+extra_started_commands="reload"
+
+name="CGroup Rules Engine Daemon"
+command="/usr/sbin/cgrulesengd"
+pidfile=${PID_FILE:-"/var/run/cgred.pid"}
+command_args="${NODAEMON} ${LOG}"
+start_stop_daemon_args="--make-pidfile --background --stdout /dev/null"
+
+
+depend() {
+ need cgconfig
+ use logger
+}
+
+start_pre() {
+ if [ -n "${LOG_FILE}" ]; then
+ command_args="${command_args} --log-file=${LOG_FILE}"
+ fi
+}
+
+reload() {
+ ebegin "Reloading ${name}"
+ start-stop-daemon --signal USR2 --pidfile "${pidfile}" \
+ --exec "${command}"
+ eend $?
+}
+
diff --git a/unmaintained/libcgroup/musl-decls-compat.patch b/unmaintained/libcgroup/musl-decls-compat.patch
new file mode 100644
index 0000000000..985a22696a
--- /dev/null
+++ b/unmaintained/libcgroup/musl-decls-compat.patch
@@ -0,0 +1,207 @@
+commit ca780b4f7f71abeeb04a585f2a4d889caaa985fa
+Author: Isaac Dunham <ibid.ag@gmail.com>
+Date: Fri Sep 5 22:35:32 2014 -0700
+
+ Remove __.*DECLS nonsense
+
+diff --git a/include/libcgroup/config.h b/include/libcgroup/config.h
+index 2dfdd32..859f7b5 100644
+--- a/include/libcgroup/config.h
++++ b/include/libcgroup/config.h
+@@ -9,7 +9,9 @@
+ #include <features.h>
+ #endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /**
+ * @defgroup group_config 5. Configuration
+@@ -77,6 +79,8 @@ int cgroup_config_set_default(struct cgroup *new_default);
+ * @}
+ * @}
+ */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /*_LIBCGROUP_CONFIG_H*/
+diff --git a/include/libcgroup/error.h b/include/libcgroup/error.h
+index 91b5c1c..02115f5 100644
+--- a/include/libcgroup/error.h
++++ b/include/libcgroup/error.h
+@@ -9,7 +9,9 @@
+ #include <features.h>
+ #endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /**
+ * @defgroup group_errors 6. Error handling
+@@ -104,6 +106,8 @@ int cgroup_get_last_errno(void);
+ * @}
+ * @}
+ */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _LIBCGROUP_INIT_H */
+diff --git a/include/libcgroup/groups.h b/include/libcgroup/groups.h
+index 39596a1..451fbbd 100644
+--- a/include/libcgroup/groups.h
++++ b/include/libcgroup/groups.h
+@@ -11,7 +11,9 @@
+ #include <stdbool.h>
+ #endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /**
+ * Flags for cgroup_delete_cgroup_ext().
+@@ -570,6 +572,8 @@ int cg_chmod_recursive(struct cgroup *cgroup, mode_t dir_mode,
+ */
+
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _LIBCGROUP_GROUPS_H */
+diff --git a/include/libcgroup/init.h b/include/libcgroup/init.h
+index 3709096..8ef69ec 100644
+--- a/include/libcgroup/init.h
++++ b/include/libcgroup/init.h
+@@ -9,7 +9,9 @@
+ #include <features.h>
+ #endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /**
+ * @defgroup group_init 1. Initialization
+@@ -54,6 +56,8 @@ int cgroup_get_subsys_mount_point(const char *controller, char **mount_point);
+ * @}
+ * @}
+ */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _LIBCGROUP_INIT_H */
+diff --git a/include/libcgroup/iterators.h b/include/libcgroup/iterators.h
+index c6d453d..fb47d01 100644
+--- a/include/libcgroup/iterators.h
++++ b/include/libcgroup/iterators.h
+@@ -11,7 +11,9 @@
+ #include <features.h>
+ #endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /**
+ * @defgroup group_iterators 3. Iterators
+@@ -423,6 +425,8 @@ int cgroup_get_subsys_mount_point_end(void **handle);
+ * @}
+ */
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _LIBCGROUP_ITERATORS_H */
+diff --git a/include/libcgroup/tasks.h b/include/libcgroup/tasks.h
+index fb728f4..2f2e486 100644
+--- a/include/libcgroup/tasks.h
++++ b/include/libcgroup/tasks.h
+@@ -12,7 +12,9 @@
+ #include <stdbool.h>
+ #endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /** Flags for cgroup_change_cgroup_uid_gid(). */
+ enum cgflags {
+@@ -189,6 +191,8 @@ int cgroup_register_unchanged_process(pid_t pid, int flags);
+ * @}
+ * @}
+ */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _LIBCGROUP_TASKS_H */
+diff --git a/src/daemon/cgrulesengd.h b/src/daemon/cgrulesengd.h
+index 97c62f1..23607d0 100644
+--- a/src/daemon/cgrulesengd.h
++++ b/src/daemon/cgrulesengd.h
+@@ -17,7 +17,9 @@
+
+ #include <features.h>
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ #include "config.h"
+ #include "libcgroup.h"
+@@ -112,7 +114,9 @@ void cgre_flash_rules(int signum);
+ */
+ void cgre_catch_term(int signum);
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _CGRULESENGD_H */
+
+diff --git a/src/libcgroup-internal.h b/src/libcgroup-internal.h
+index b9d7b6b..46d1f56 100644
+--- a/src/libcgroup-internal.h
++++ b/src/libcgroup-internal.h
+@@ -16,7 +16,9 @@
+
+ #define __LIBCG_INTERNAL
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ #include "config.h"
+ #include <fts.h>
+@@ -269,6 +271,8 @@ extern void cgroup_dictionary_iterator_end(void **handle);
+ */
+ int cg_chmod_path(const char *path, mode_t mode, int owner_is_umask);
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif
diff --git a/unmaintained/libcli/APKBUILD b/unmaintained/libcli/APKBUILD
new file mode 100644
index 0000000000..a4d54e13b3
--- /dev/null
+++ b/unmaintained/libcli/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=libcli
+pkgver=1.9.7
+pkgrel=0
+pkgdesc="A library for including a Cisco-like command-line interface"
+url="https://github.com/dparrish/libcli"
+arch="all"
+license="LGPL2+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="https://github.com/dparrish/libcli/archive/v$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"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make PREFIX=/usr DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="f33e0fdb8ae8e14e66036424704b201b v1.9.7.tar.gz"
+sha256sums="7ddda6b6e044a1498cf3a27e49ed5d7b97840bbe5a036c43fb0532b5e431886c v1.9.7.tar.gz"
+sha512sums="b2dacfd40bc068ddcc0dc3d60576ef2f7d7e2af80b93c6e7ae899d654afca6f0f8d2df2b33c9c8e760bdbea9aa2eaf757029d46032dcf307341f78f1a8f4f66f v1.9.7.tar.gz"
diff --git a/unmaintained/libctl/APKBUILD b/unmaintained/libctl/APKBUILD
new file mode 100644
index 0000000000..4078b1a2ce
--- /dev/null
+++ b/unmaintained/libctl/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Isaac Dunham <ibid.ag@gmail.com>
+# Maintainer:
+pkgname=libctl
+pkgver=3.2.2
+pkgrel=0
+pkgdesc="Guile-based library implementing flexible control files for scientific simulations"
+url="http://ab-initio.mit.edu/wiki/index.php/Libctl"
+arch="all"
+license="GPL"
+depends=""
+depends_dev="guile-dev gmp-dev"
+makedepends="$depends_dev gc-dev gfortran"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://ab-initio.mit.edu/libctl/libctl-$pkgver.tar.gz
+ gh-libguile.patch"
+
+_builddir="$srcdir"/libctl-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --enable-shared --disable-static \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="5fd7634dc9ae8e7fa70a68473b9cbb68 libctl-3.2.2.tar.gz
+e28653da62d9aed4746025e83f7f5323 gh-libguile.patch"
+sha256sums="8abd8b58bc60e84e16d25b56f71020e0cb24d75b28bc5db86d50028197c7efbc libctl-3.2.2.tar.gz
+03da4add062a949c791dfa722254bc4cb265ff9b8c64c12effd92bed32fdcdaa gh-libguile.patch"
+sha512sums="646456c23490eb3e63e845d4866b16bd1d92b210f2279342560888bb4764e474b97e17ff34beb672d43afe4d42bbcbddbcf8bb49cedc23b886061a93de10e6df libctl-3.2.2.tar.gz
+50a18aa5f42ef26b0d5c3f31a93f156adc4e1a0a37af2db123301e9ef1ac20106705df44e9949e02b605f42be962378b95c150f78614edfae7339c084dfb6522 gh-libguile.patch"
diff --git a/unmaintained/libctl/gh-libguile.patch b/unmaintained/libctl/gh-libguile.patch
new file mode 100644
index 0000000000..ed3b40165f
--- /dev/null
+++ b/unmaintained/libctl/gh-libguile.patch
@@ -0,0 +1,220 @@
+diff --git a/config.h.in b/config.h.in
+index c31e5a9..a79e273 100644
+--- a/config.h.in
++++ b/config.h.in
+@@ -50,7 +50,7 @@
+ /* Define if we have gh_vector_ref */
+ #undef HAVE_GH_VECTOR_REF
+
+-/* Define to 1 if you have the <guile/gh.h> header file. */
++/* Define to 1 if you have the <libguile.h> header file. */
+ #undef HAVE_GUILE_GH_H
+
+ /* Define to 1 if you have the <inttypes.h> header file. */
+diff --git a/configure b/configure
+index c51270d..48d783a 100755
+--- a/configure
++++ b/configure
+@@ -12878,7 +12878,7 @@ rm -f core conftest.err conftest.$ac_objext \
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-for ac_header in libguile.h guile/gh.h
++for ac_header in libguile.h libguile.h
+ do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+@@ -12929,7 +12929,7 @@ $as_echo_n "checking for gh_enter... " >&6; }
+ ok=yes
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-#include <guile/gh.h>
++#include <libguile.h>
+
+ int
+ main ()
+@@ -12956,7 +12956,7 @@ $as_echo_n "checking for gh_eval_str... " >&6; }
+ ok=yes
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-#include <guile/gh.h>
++#include <libguile.h>
+
+ int
+ main ()
+@@ -12983,7 +12983,7 @@ $as_echo_n "checking for gh_load... " >&6; }
+ ok=yes
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-#include <guile/gh.h>
++#include <libguile.h>
+
+ int
+ main ()
+@@ -13010,7 +13010,7 @@ $as_echo_n "checking for gh_bool2scm... " >&6; }
+ ok=yes
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-#include <guile/gh.h>
++#include <libguile.h>
+
+ int
+ main ()
+@@ -13037,7 +13037,7 @@ $as_echo_n "checking for gh_vector_ref... " >&6; }
+ ok=yes
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-#include <guile/gh.h>
++#include <libguile.h>
+
+ int
+ main ()
+@@ -13064,7 +13064,7 @@ $as_echo_n "checking for gh_list_ref... " >&6; }
+ ok=yes
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-#include <guile/gh.h>
++#include <libguile.h>
+
+ int
+ main ()
+@@ -13091,7 +13091,7 @@ $as_echo_n "checking for gh_length... " >&6; }
+ ok=yes
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-#include <guile/gh.h>
++#include <libguile.h>
+
+ int
+ main ()
+@@ -13121,7 +13121,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ #if defined(HAVE_LIBGUILE_H)
+ # include <libguile.h>
+ #else
+-# include <guile/gh.h>
++# include <libguile.h>
+ #endif
+
+ int
+@@ -13165,7 +13165,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ #if defined(HAVE_LIBGUILE_H)
+ # include <libguile.h>
+ #else
+-# include <guile/gh.h>
++# include <libguile.h>
+ #endif
+
+ int
+@@ -13198,7 +13198,7 @@ else
+ /* end confdefs.h. */
+
+ #include <stdlib.h>
+-#include <guile/gh.h>
++#include <libguile.h>
+ void main_entry(int argc, char *argv[])
+ {
+ gh_eval_str("(define foo 3.14159)");
+diff --git a/configure.ac b/configure.ac
+index 98e38c5..56532c9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -82,7 +82,7 @@ AC_TRY_LINK_FUNC(gh_enter, AC_MSG_RESULT(yes),
+ [AC_TRY_LINK_FUNC(scm_boot_guile, AC_MSG_RESULT(yes),
+ [AC_MSG_RESULT(no)
+ AC_MSG_ERROR(Guile could not be found)])])
+-AC_CHECK_HEADERS([libguile.h guile/gh.h])
++AC_CHECK_HEADERS([libguile.h libguile.h])
+
+ ###########################################################################
+
+@@ -97,43 +97,43 @@ AC_MSG_RESULT($ok)
+
+ AC_MSG_CHECKING([for gh_enter])
+ ok=yes
+-AC_TRY_LINK([#include <guile/gh.h>
++AC_TRY_LINK([#include <libguile.h>
+ ], [gh_enter(0,0,0);], [AC_DEFINE(HAVE_GH_ENTER, 1, [Define if we have gh_enter.])], ok=no)
+ AC_MSG_RESULT($ok)
+
+ AC_MSG_CHECKING([for gh_eval_str])
+ ok=yes
+-AC_TRY_LINK([#include <guile/gh.h>
++AC_TRY_LINK([#include <libguile.h>
+ ], [gh_eval_str(0);], [AC_DEFINE(HAVE_GH_EVAL_STR, 1, [Define if we have gh_eval_str.])], ok=no)
+ AC_MSG_RESULT($ok)
+
+ AC_MSG_CHECKING([for gh_load])
+ ok=yes
+-AC_TRY_LINK([#include <guile/gh.h>
++AC_TRY_LINK([#include <libguile.h>
+ ], [gh_load(0);], [AC_DEFINE(HAVE_GH_LOAD, 1, [Define if we have gh_load.])], ok=no)
+ AC_MSG_RESULT($ok)
+
+ AC_MSG_CHECKING([for gh_bool2scm])
+ ok=yes
+-AC_TRY_LINK([#include <guile/gh.h>
++AC_TRY_LINK([#include <libguile.h>
+ ], [gh_bool2scm(0);], [AC_DEFINE(HAVE_GH_BOOL2SCM, 1, [Define if we have gh_bool2scm])], ok=no)
+ AC_MSG_RESULT($ok)
+
+ AC_MSG_CHECKING([for gh_vector_ref])
+ ok=yes
+-AC_TRY_LINK([#include <guile/gh.h>
++AC_TRY_LINK([#include <libguile.h>
+ ], [gh_vector_ref(0,0);], [AC_DEFINE(HAVE_GH_VECTOR_REF, 1, [Define if we have gh_vector_ref])], ok=no)
+ AC_MSG_RESULT($ok)
+
+ AC_MSG_CHECKING([for gh_list_ref])
+ ok=yes
+-AC_TRY_LINK([#include <guile/gh.h>
++AC_TRY_LINK([#include <libguile.h>
+ ], [gh_list_ref(0,0);], [AC_DEFINE(HAVE_GH_LIST_REF, 1, [Define if we have gh_list_ref])], ok=no)
+ AC_MSG_RESULT($ok)
+
+ AC_MSG_CHECKING([for gh_length])
+ ok=yes
+-AC_TRY_LINK([#include <guile/gh.h>
++AC_TRY_LINK([#include <libguile.h>
+ ], [gh_length(0);], [AC_DEFINE(HAVE_GH_LENGTH, 1, [Define if we have gh_length])], ok=no)
+ AC_MSG_RESULT($ok)
+
+@@ -142,7 +142,7 @@ ok=yes
+ AC_TRY_LINK([#if defined(HAVE_LIBGUILE_H)
+ # include <libguile.h>
+ #else
+-# include <guile/gh.h>
++# include <libguile.h>
+ #endif
+ ], [scm_flush_all_ports();], [AC_DEFINE(HAVE_SCM_FLUSH_ALL_PORTS, 1, [Define if we have scm_flush_all_ports])], ok=no)
+ AC_MSG_RESULT($ok)
+@@ -154,7 +154,7 @@ ok=yes
+ AC_TRY_LINK([#if defined(HAVE_LIBGUILE_H)
+ # include <libguile.h>
+ #else
+-# include <guile/gh.h>
++# include <libguile.h>
+ #endif
+ ], [SCM x; SCM_COMPLEXP(x);], [AC_DEFINE(HAVE_SCM_COMPLEXP, 1, [Define if we have SCM_COMPLEXP])], ok=no)
+ AC_MSG_RESULT($ok)
+@@ -163,7 +163,7 @@ AC_MSG_CHECKING([whether gh_lookup works properly])
+ ok=yes
+ AC_TRY_RUN([
+ #include <stdlib.h>
+-#include <guile/gh.h>
++#include <libguile.h>
+ void main_entry(int argc, char *argv[])
+ {
+ gh_eval_str("(define foo 3.14159)");
+diff --git a/src/ctl.h.in b/src/ctl.h.in
+index 1ecee3f..b0c0096 100644
+--- a/src/ctl.h.in
++++ b/src/ctl.h.in
+@@ -26,7 +26,7 @@
+ #ifdef HAVE_NO_GH
+ # include <libguile.h>
+ #else
+-# include <guile/gh.h>
++# include <libguile.h>
+ #endif
+
+ #ifdef __cplusplus
diff --git a/unmaintained/libdbusmenu-qt/APKBUILD b/unmaintained/libdbusmenu-qt/APKBUILD
new file mode 100644
index 0000000000..1b6bc5daac
--- /dev/null
+++ b/unmaintained/libdbusmenu-qt/APKBUILD
@@ -0,0 +1,42 @@
+# 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_BUILD_TYPE=Release \
+ "$_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/unmaintained/libde265/APKBUILD b/unmaintained/libde265/APKBUILD
new file mode 100644
index 0000000000..f3568aec55
--- /dev/null
+++ b/unmaintained/libde265/APKBUILD
@@ -0,0 +1,64 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=libde265
+pkgver=0.9
+pkgrel=1
+pkgdesc="Open h.265 video codec implementation"
+url="https://github.com/strukturag/libde265"
+arch="all"
+license="LGPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev qt5-qtbase-dev sdl-dev ffmpeg-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-dec $pkgname-sherlock"
+source="https://github.com/strukturag/libde265/releases/download/v$pkgver/libde265-$pkgver.tar.gz"
+
+_builddir="$srcdir"/libde265-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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
+}
+
+
+dec() {
+ pkgname="libde265 decoder"
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/dec265 \
+ "$subpkgdir"/usr/bin/ || return 1
+}
+
+sherlock() {
+ pkgname="libde265 Qt-based video player"
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/sherlock265 \
+ "$subpkgdir"/usr/bin/ || return 1
+}
+
+md5sums="09613faccdc87960700c87baabf10ff6 libde265-0.9.tar.gz"
+sha256sums="b6791191f0a936dd99cad41fdf04e1a97d9ac902f8b8e01416266bb050fa1930 libde265-0.9.tar.gz"
+sha512sums="bf4250285b72b63e3856530c585511321cf35741ac2a2365a008122ae202d167eed790278746a878fb33e3093d8db5ed3590c32ef369cb3f529037bdadf323fa libde265-0.9.tar.gz"
diff --git a/unmaintained/libdlna/APKBUILD b/unmaintained/libdlna/APKBUILD
new file mode 100644
index 0000000000..bc0a22da1e
--- /dev/null
+++ b/unmaintained/libdlna/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Łukasz Jendrysik <scadu@yandex.com>
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=libdlna
+pkgver=0.2.4
+pkgrel=2
+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"
+_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
+
+ 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
+
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --includedir=/usr/include/libavformat \
+ --with-ffmpeg-dir=/usr/lib \
+ --disable-static
+ make lib || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="64d7de57aff5a729f2434fc5e69b4ffc libdlna-0.2.4.tar.bz2"
diff --git a/unmaintained/libdlna/avmedia_type.patch b/unmaintained/libdlna/avmedia_type.patch
new file mode 100644
index 0000000000..b4caa1892e
--- /dev/null
+++ b/unmaintained/libdlna/avmedia_type.patch
@@ -0,0 +1,18 @@
+--- ./src/profiles.c.orig
++++ ./src/profiles.c
+@@ -205,13 +205,13 @@
+ for (i = 0; i < ctx->nb_streams; i++)
+ {
+ if (audio_stream == -1 &&
+- ctx->streams[i]->codec->codec_type == CODEC_TYPE_AUDIO)
++ ctx->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO)
+ {
+ audio_stream = i;
+ continue;
+ }
+ else if (video_stream == -1 &&
+- ctx->streams[i]->codec->codec_type == CODEC_TYPE_VIDEO)
++ ctx->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO)
+ {
+ video_stream = i;
+ continue;
diff --git a/unmaintained/libdvdcss/APKBUILD b/unmaintained/libdvdcss/APKBUILD
new file mode 100644
index 0000000000..fcf43b45ec
--- /dev/null
+++ b/unmaintained/libdvdcss/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+# Maintainer: Timo Teräs <timo.teras@iki.fi>
+pkgname=libdvdcss
+pkgver=1.2.13
+pkgrel=0
+pkgdesc="A library to access (encrypted) DVDs like a block device"
+url="http://www.videolan.org/developers/libdvdcss.html"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://www.videolan.org/pub/libdvdcss/$pkgver/$pkgname-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/libdvdcss-$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 test || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="53cfc52a60a156763c425572e5179273 libdvdcss-1.2.13.tar.bz2"
+sha256sums="84f1bba6cfef1df87f774fceaefc8e73c4cda32e8f6700b224ad0acb5511ba2c libdvdcss-1.2.13.tar.bz2"
+sha512sums="b7d912ef87854bca052c2f38709d49eeb72be9148b6598a7f71f9ccb1ad7f43a521f9533821fbd8d7ef16e2c36fe140209c9183f5ca91e8f806150cc16645717 libdvdcss-1.2.13.tar.bz2"
diff --git a/unmaintained/libecap/APKBUILD b/unmaintained/libecap/APKBUILD
new file mode 100644
index 0000000000..4bf2dab0d0
--- /dev/null
+++ b/unmaintained/libecap/APKBUILD
@@ -0,0 +1,47 @@
+# Maintainer: Roger Newman <roger.newman@riseup.net>
+pkgname=libecap
+pkgver=0.2.0
+pkgrel=0
+pkgdesc="eCAP allows an HTTP proxy or an ICAP server, to outsource content analysis and adaptation to a loadable module"
+url="http://www.e-cap.org/"
+arch="all"
+license="BSD"
+depends=""
+subpackages="$pkgname-dev"
+source="http://www.measurement-factory.com/tmp/ecap/$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
+ update_config_sub || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --libdir=/lib \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make install \
+ libdir=/usr/lib \
+ pkgconfigdir="/usr/lib/pkgconfig" \
+ DESTDIR="$pkgdir" || return 1
+
+}
+
+md5sums="e65a855f4fbb0f3136af7fe28249e883 libecap-0.2.0.tar.gz"
+sha256sums="19e195d60cf67ec3b49fe4d109823d753546b5da115230499ad1a9cb65ca92d2 libecap-0.2.0.tar.gz"
+sha512sums="5d39444ec79846b14a7f4292e51bb880befd2cbf581b257d5087517cfae1dce55e4439a90c08e0b8f5b3e8b2431dde8c6fab771c826489024f17625cfc8c777e libecap-0.2.0.tar.gz"
diff --git a/unmaintained/libgdiplus/APKBUILD b/unmaintained/libgdiplus/APKBUILD
new file mode 100644
index 0000000000..8f13610482
--- /dev/null
+++ b/unmaintained/libgdiplus/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=libgdiplus
+pkgver=4.2
+pkgrel=1
+pkgdesc="An Open Source Implementation of the GDI+ API"
+url="http://www.mono-project.com"
+arch="all"
+license="LGPL"
+depends=""
+depends_dev="tiff-dev cairo-dev libexif-dev glib-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://download.mono-project.com/sources/libgdiplus/libgdiplus-$pkgver.tar.gz"
+
+_builddir="$srcdir"/libgdiplus-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="3e68075aa0911d5ebc2b3739e85af0ea libgdiplus-4.2.tar.gz"
+sha256sums="f332b9b8b44fd1c50b8d8d01a7296360b806c790b8297614739b3de1edbadfeb libgdiplus-4.2.tar.gz"
+sha512sums="102d1e07a106fa32640a20c4843bf82b3f628c5b7a3813d39c7712f2cd09d80dc5adb337a8d5bdbae065f876a0c433a5d8fcb7d761dff5ee08c48cac2cd2344e libgdiplus-4.2.tar.gz"
diff --git a/unmaintained/libgflags/APKBUILD b/unmaintained/libgflags/APKBUILD
new file mode 100644
index 0000000000..a1f4f73dfb
--- /dev/null
+++ b/unmaintained/libgflags/APKBUILD
@@ -0,0 +1,64 @@
+# Contributor: David Huffman <storedbox@outlook.com>
+# Maintainer: David Huffman <storedbox@outlook.com>
+pkgname=libgflags
+pkgver=2.1.2
+_srcname=gflags-$pkgver
+pkgrel=0
+pkgdesc="A C++ library that implements commandline flags processing"
+url="https://gflags.github.io/gflags"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="$depends_dev cmake"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-bash-completion:bashcomp"
+source="https://github.com/gflags/gflags/archive/v$pkgver/$_srcname.tar.gz"
+
+_builddir="$srcdir/$_srcname"
+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 -Wno-dev \
+ -DBUILD_gflags_nothreads_LIB=OFF \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_STATIC_LIBS=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DCMAKE_VERBOSE_MAKEFILE=ON \
+ || return 1
+ make || return 1
+}
+
+package() {
+ local docdir="$pkgdir/usr/share/doc/$pkgname-$pkgver"
+ mkdir -p "$docdir" || return 1
+
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ cp AUTHORS.txt ChangeLog.txt COPYING.txt "$docdir"
+ cp -r doc "$docdir/html"
+}
+
+bashcomp() {
+ depends=""
+ pkgdesc="Bash completion for $pkgname"
+ install_if="$pkgname=$pkgver-r$pkgrel bash-completion"
+ arch="noarch"
+
+ install -Dm644 "$pkgdir/usr/bin/gflags_completions.sh" \
+ "$subpkgdir/usr/share/bash-completion/completions/gflags"
+}
+
+md5sums="ac432de923f9de1e9780b5254884599f gflags-2.1.2.tar.gz"
+sha256sums="d8331bd0f7367c8afd5fcb5f5e85e96868a00fd24b7276fa5fcee1e5575c2662 gflags-2.1.2.tar.gz"
+sha512sums="f636023c1150e4d536d2d472e40d643ff0b02d3c96d8cb7f31544df23e6255fa6c4fd927ef94a3660c250d3faeae7d8d78519fc5e856749a577347a78d9d9ab5 gflags-2.1.2.tar.gz"
diff --git a/unmaintained/libgusb/APKBUILD b/unmaintained/libgusb/APKBUILD
new file mode 100644
index 0000000000..226f84b860
--- /dev/null
+++ b/unmaintained/libgusb/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=libgusb
+pkgver=0.2.7
+pkgrel=0
+pkgdesc="GLib wrapper around libusb"
+url="https://gitorious.org/gusb/"
+arch="all"
+license="LGPL"
+depends=""
+depends_dev="eudev-dev libusb-dev glib-dev gobject-introspection-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://people.freedesktop.org/~hughsient/releases/libgusb-$pkgver.tar.xz"
+
+_builddir="$srcdir"/libgusb-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="74d6bd12ef8662fccd27fe33f2839375 libgusb-0.2.7.tar.xz"
+sha256sums="0be9578f7875cecb6c163ad47eb39bc6bf497e501b08986c0d384748a054c3ee libgusb-0.2.7.tar.xz"
+sha512sums="9210ddc95458c452fa32c8e11849c6f44e24680485aafe93887a52266c8253e495e5f0584f25e3e67051bb00247d6b658cd2ff3f6a4da167a113974d8fefd5ac libgusb-0.2.7.tar.xz"
diff --git a/unmaintained/libimobiledevice/APKBUILD b/unmaintained/libimobiledevice/APKBUILD
new file mode 100644
index 0000000000..1fc0fdc8bf
--- /dev/null
+++ b/unmaintained/libimobiledevice/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=libimobiledevice
+pkgver=1.2.0
+pkgrel=0
+pkgdesc="Library that talks the protocols to support iPhone and iPod Touch devices on Linux"
+url="http://libimobiledevice.org/"
+arch="all"
+license="GPL2 LGPL2.1"
+depends=""
+depends_dev=""
+makedepends="$depends_dev gnutls-dev openssl-dev libgcrypt-dev
+ libusbmuxd-dev libtasn1-dev pkgconfig libtool
+ automake autoconf "
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://libimobiledevice.org/downloads/$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 \
+ --disable-static \
+ --with-cython
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+md5sums="8757900ba7bbe2ef5f54342415d0223e libimobiledevice-1.2.0.tar.bz2"
+sha256sums="786b0de0875053bf61b5531a86ae8119e320edab724fc62fe2150cc931f11037 libimobiledevice-1.2.0.tar.bz2"
+sha512sums="0de5f768aeb5d62445892855d84ceaff776f6667733c351ed6c34bf9d500802762d1a06e5efdf57f33cafc9ee788041cd9b6748fb9bad6c2e4ae2f9b9aa93589 libimobiledevice-1.2.0.tar.bz2"
diff --git a/unmaintained/libiodbc/10-sqltypes-libiodbc-3.52.7.patch b/unmaintained/libiodbc/10-sqltypes-libiodbc-3.52.7.patch
new file mode 100644
index 0000000000..2961cdea2f
--- /dev/null
+++ b/unmaintained/libiodbc/10-sqltypes-libiodbc-3.52.7.patch
@@ -0,0 +1,10 @@
+--- libiodbc-3.52.7/include/sqltypes.h.orig
++++ libiodbc-3.52.7/include/sqltypes.h
+@@ -401,6 +401,7 @@
+ # include <stdlib.h>
+
+ # if defined(__cplusplus) || \
++ defined(__NEED_wchar_t) || \
+ defined(_WCHAR_T) || \
+ defined(_WCHAR_T_DEFINED) || \
+ defined(_WCHAR_T_DEFINED_) || \
diff --git a/unmaintained/libiodbc/APKBUILD b/unmaintained/libiodbc/APKBUILD
new file mode 100644
index 0000000000..47cd5b2a1b
--- /dev/null
+++ b/unmaintained/libiodbc/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer:
+pkgname=libiodbc
+pkgver=3.52.7
+pkgrel=1
+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
+ 10-sqltypes-libiodbc-3.52.7.patch"
+
+_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
+c6dfc4ec015d61f9e68e56d234ed2e6f 10-sqltypes-libiodbc-3.52.7.patch"
+sha256sums="d7002cc7e566785f1203f6096dcb49b0aad02a9d9946a8eca5d663ac1a85c0c7 libiodbc-3.52.7.tar.gz
+208d2af418a8917af6bbb85878c413b07a100e17fff869e7f9cd9feef77446c1 10-sqltypes-libiodbc-3.52.7.patch"
+sha512sums="a0274cd40d8fa7445f9442541e7e1d90427273a137fc2d3227e81e8af42fb35a8a38a3601f445ee821a0f88cca732d56cec8b7f08e94492da3aca609063f1a1e libiodbc-3.52.7.tar.gz
+3daf5d15ebfd60d5b90c0e253669f07812afd470dad9a9c8bbfcb558a7a5b6cd9326abc2fcb901d90e53cc45bcdb3f3e633a04b1ac9c0cea0388910e93354ad0 10-sqltypes-libiodbc-3.52.7.patch"
diff --git a/unmaintained/liblo/APKBUILD b/unmaintained/liblo/APKBUILD
new file mode 100644
index 0000000000..c5f25e5a99
--- /dev/null
+++ b/unmaintained/liblo/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=liblo
+pkgver=0.26
+pkgrel=0
+pkgdesc="Open Sound Control library"
+url="http://liblo.sourceforge.net"
+arch="all"
+license="LGPL2+"
+depends=""
+makedepends=""
+install=""
+subpackages="$pkgname-dev"
+source="http://download.sf.net/sourceforge/liblo/liblo-$pkgver.tar.gz"
+
+_builddir="$srcdir"/liblo-$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-ipv6 \
+ --disable-static \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="5351de14262560e15e7f23865293b16f liblo-0.26.tar.gz"
diff --git a/unmaintained/liblrdf/APKBUILD b/unmaintained/liblrdf/APKBUILD
new file mode 100644
index 0000000000..39d004044c
--- /dev/null
+++ b/unmaintained/liblrdf/APKBUILD
@@ -0,0 +1,68 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=liblrdf
+pkgver=0.5.0
+pkgrel=0
+pkgdesc="Library for manipulating RDF files describing LADSPA plugins"
+url="https://github.com/swh/LRDF"
+arch="all"
+license="GPLv2+"
+depends=""
+depends_dev="raptor2-dev openssl-dev"
+makedepends="$depends_dev autoconf automake libtool"
+install=""
+subpackages="$pkgname-dev"
+source="http://dev.alpinelinux.org/archive/liblrdf/liblrdf-$pkgver.tar.gz"
+
+_builddir="$srcdir"/liblrdf-$pkgver
+
+# How to create archive from git:
+#
+# abuild snapshot
+#
+
+_gitrepo=LRDF.git
+_giturl="git://github.com/swh/$_gitrepo"
+_gittag=$pkgver
+
+snapshot() {
+ local _tarball=$pkgname-$pkgver.tar.gz
+ msg "Creating $_tarball.."
+ mkdir -p "$srcdir"
+ cd "${SRCDEST:-$srcdir}"
+ if ! [ -d "$_gitrepo" ]; then
+ git clone --bare $_giturl || return 1
+ else
+ git --git-dir=$_gitrepo fetch || return 1
+ fi
+
+ git --git-dir=$_gitrepo archive --prefix=$pkgname-$pkgver/ \
+ -o "$SRCDEST"/$_tarball $_gittag || return 1
+
+ msg "Uploading $_tarball"
+ scp "$SRCDEST"/$_tarball dev.alpinelinux.org:/archive/$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"
+ ./autogen.sh --prefix=/usr \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make install DESTDIR="$pkgdir" || return 1
+}
+
+md5sums="9acf9143da25f2e0c46d24758371ff4b liblrdf-0.5.0.tar.gz"
diff --git a/unmaintained/libmbfl/APKBUILD b/unmaintained/libmbfl/APKBUILD
new file mode 100644
index 0000000000..f1ec645ee2
--- /dev/null
+++ b/unmaintained/libmbfl/APKBUILD
@@ -0,0 +1,110 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+pkgname=libmbfl
+pkgver=1.3.2
+pkgrel=0
+pkgdesc="A streamable multibyte character code filter and converter library"
+url="https://github.com/moriyoshi/libmbfl"
+arch="all"
+license="LGPLv2.1"
+depends=
+makedepends="libtool autoconf automake"
+install=
+subpackages="$pkgname-dev"
+source="https://github.com/moriyoshi/libmbfl/archive/$pkgname-$pkgver.tar.gz
+ ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT
+ ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-2.TXT
+ ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-3.TXT
+ ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-4.TXT
+ ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-5.TXT
+ ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-6.TXT
+ ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-7.TXT
+ ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-8.TXT
+ ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-9.TXT
+ ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-10.TXT
+ ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-11.TXT
+ ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-13.TXT
+ ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-14.TXT
+ ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-15.TXT
+ ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-16.TXT
+ ftp://ftp.unicode.org/Public/UNIDATA/EastAsianWidth.txt
+ filters_makefile.patch"
+
+_builddir="$srcdir"/$pkgname-$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
+ cp "$srcdir"/*.TXT "$srcdir"/*.txt filters/
+}
+
+build(){
+ cd "$_builddir"
+ ./buildconf || return 1
+ ./configure --prefix=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="22a1fb428c9fb8a6cefbe6c44e60a67a libmbfl-1.3.2.tar.gz
+04f22df04cebd74fb65aa0f14c73aa9a 8859-1.TXT
+e1254b30bc85cd26419e3cbcd221bde0 8859-2.TXT
+05466acf5341fbf64fc83f8cb4d38197 8859-3.TXT
+0d7f82192ed7edfa29365118520e479f 8859-4.TXT
+b1937e0d002863973f71f717a895ade2 8859-5.TXT
+2be96800894d08174bee321eb7a69f2e 8859-6.TXT
+30a928e51972cf052e0e07e3e090a934 8859-7.TXT
+7388bc3a3fc90aa94a7c33f897cc50b8 8859-8.TXT
+0f1c09d8374ba15515351c2acddfed1f 8859-9.TXT
+893e17d4a8154f6794fb2516f2a31137 8859-10.TXT
+3b2a17877945be528e3238aa1e9f4be9 8859-11.TXT
+e259f8e7fa5bc2afd4fa16bb837d07c0 8859-13.TXT
+9c812fe49ba18422737f92f1d5210bc7 8859-14.TXT
+997b91806425e100ab76f82fc618bd1a 8859-15.TXT
+a23f0901df4c1ffa1aa4943d83774d93 8859-16.TXT
+e4782d8f5ea275085b68bb0914a1599b EastAsianWidth.txt
+fa059f370036988652491a7e5ba0cc88 filters_makefile.patch"
+sha256sums="b20abb2712d5d8e51d8e3e38bd96b68e3a3c3e85e53f353801ab71a819e39d4d libmbfl-1.3.2.tar.gz
+2a06a462bf74ae65a77b700f235ac05156ac20f4aaefe39f09cc20d50628bb5e 8859-1.TXT
+020946e114335b17e7d29fe8a8449786cffed714cf409b11d0b3a375197188d1 8859-2.TXT
+23b2d7815946cb1232c71a1543033afc396c750ffa19a3771662cf23e6194552 8859-3.TXT
+e717699903bef2144234279a598ce39b44502942c9cc23a2ce2069a65f46b00d 8859-4.TXT
+9a2efea39673f95c5daa277c46ad09a41e95f27c225270424a604d033db9bd8f 8859-5.TXT
+7012241bd7143a3bf98861e497cd3cc092edebc3e063fc7d576420f22d22f11e 8859-6.TXT
+94f4a1c89ba6b2e1c1f8b30676cb5d15f232dbac36ae4ad20018a65e0f3fb9a3 8859-7.TXT
+cbe3205c5c6f92589d6a8673d56c51d89659ae290185457e6e2f81fee7a1ad2d 8859-8.TXT
+4397082eb5cbbc299264b3b73405cc0946ec5c79328eb9de75f8a5da1ab8e712 8859-9.TXT
+3441c37377c6721586255282ef4302c0ca61796674361959b3a2591f823a0e67 8859-10.TXT
+a6c8891b5e43bbcf55ac356b0a31be8c8322a09fba183b7b7507e9252587bc13 8859-11.TXT
+375cc8d45b331c29e5630bf5c821c85572ffba60487d4d279341bbd13f46750f 8859-13.TXT
+5e72e1c79b2907504111c0965953261c4584cb984465cd88d616452c12fd3782 8859-14.TXT
+bc72d7bd5be1d15bdad8e684f9ae9f573c361bb73812c3084ed1b7622a05e58f 8859-15.TXT
+9164ce844b2bf3f56805c2e9ab8453cc53868757e7f75c4b8dcee7376894d55c 8859-16.TXT
+ccc571829b384b8a2c24b7a62f8aa6a891a6e8c48f08513ef84fd6da26dba4bb EastAsianWidth.txt
+12a14d533f539604c19e926e6527e653bddafce8f2153653d180051015b947cb filters_makefile.patch"
+sha512sums="266b50a87f1e9114d84c349dd78d765a48ce6d604a011510bf8a82badb54736a44fb5642e3607fed4006ddb0b5f7394935d2a6eff13140b382620832b9e9f3fe libmbfl-1.3.2.tar.gz
+9152a07fae83cde8ee22b741f5ee24fd3148eb3f9af9cf9bc8107e0c7a21e8ec43c54255257ed1120be69b4e360545f3facc11b45638ea4ea7b394483a99e5b1 8859-1.TXT
+bc481c48c9879e87b4da465f14d7a1019181d17335ad86a033a8b82952936f7345c08794e77c34b32a5cfd83b836d257c3145a79ebc656cbfd0d01ef33709206 8859-2.TXT
+59a2e89347341237909a40332d577518b3f00493a14d1c868b7bb4eeb0a398149579f724e4160e21ea091928215d9b32894cba72cff2d518a92a789524924cde 8859-3.TXT
+36ea52a15188edf8cdcab7b183bf28b7d2a3e69205fac3cd753a67fcd0a5ea6608fd7ab3724ad5ec4768bd1e2a7a6b14cef4cfd3e8d8c253f7a785b10eb694a7 8859-4.TXT
+ca816ce33039ce77178eafccb94f114bfa06394c100f883ac7e5ee1d233d5e2cc6d683403959e857eb8b702f253dfb7b54edb925283fae82ab2704cef1e58a45 8859-5.TXT
+c9c4720b59440f39a4d9c3e4318cebb7e67536ba2c9e9d211c5e52dec9a1a4e5b3f9233917e1dde59b21b3aa88cf245c7e04890ac4d1b9c203b72cd21b5c18f1 8859-6.TXT
+4a72ff7adddcf62447195f03fefc0e2f2452c9836198dd1566374f98661e1eede8bdb75e5fd1333b3f6b73cd93cf427aef19cbc317759b25f96bd780ba1c2743 8859-7.TXT
+e644bc0e88baa93c52d97caf269a68d83b803aabb340d7ee51d8f51fc4e6de04b7178befab604bc0fd1e5e18149f62a0269be1354caa37a91b49955f72da450b 8859-8.TXT
+1784890a296b718ca18924dbe794ae7073dcb66d31290dd652e3a5cd52131cacb343bb92e3baad044385a153cee6380e394b325fa84a4250b3d90521cd503c6d 8859-9.TXT
+9fd4f9c3634b02adccf25d4a816ccf527028bab935c7bb4d7b4fcacb130d70aaaa44f90cf33997cbf38864641162f386dc7f19a686bf36d1762f9abc92d21035 8859-10.TXT
+59c8e871ce6ba3847aec2b2136a677637c422ac1efe18f96be70a8614dd6e56f14b00f7ae855d508eca24a283513011039d371a61c5a2cefd5b493dc13aa6ed3 8859-11.TXT
+f2d47a222c0052723c194014f96c591dbd9b766f5bb7d605dcca0e39cd56908244a7386078783888119aa9604e46eee31f6287af877083ceb40959ba18a32577 8859-13.TXT
+eb62606eb2bce8c2a29f963b4ad8efab8e4b261f29190b6f0467ba834190d701a371b5bbef8f52b7a2394ddf2be95c1b687f1b9bdfa11dacda6941120c95b86b 8859-14.TXT
+363c9fb2c3f6ce07b6a2afd6f0160550212dfa70c38985a6f525b912a79b1cb35c90cfbe435b7025a1b53d8bbc4cf3a5d32b1bd4b12f059d98799099191157cb 8859-15.TXT
+2bc12bb3e041f44cf30236997ebc4f6f6d210a8665ff74f67d33af415778ac8e6b83cc09dae826ccabdfb9724f142b4b0ff4b81c8ea71b3c7d6d332abba23d66 8859-16.TXT
+1f66848d3dd3ebf68847de3132bb8a9fe5686964c28df69b8f39a6990b5d13fd0fa92cad0945dbed67b310063fb5c51ec85b0aa8ca7e69a55f09457d554d00f0 EastAsianWidth.txt
+7964e0fc8e8825136cca30f81f5929746a326119b238f1c72c16fd7ea51787ef0cdc05180290d28d71ce07cf86e6c0aba7a57ec922f3c5bfa16f85aac5245a57 filters_makefile.patch"
diff --git a/unmaintained/libmbfl/filters_makefile.patch b/unmaintained/libmbfl/filters_makefile.patch
new file mode 100644
index 0000000000..1863b18f9a
--- /dev/null
+++ b/unmaintained/libmbfl/filters_makefile.patch
@@ -0,0 +1,20 @@
+--- old/filters/Makefile.am
++++ new/filters/Makefile.am
+@@ -55,7 +55,7 @@
+ mbfilter_euc_kr.c \
+ mbfilter_uhc.c \
+ mbfilter_iso2022_jp_ms.c \
+- mbfilter_iso2022_jp_2004.c \
++ mbfilter_iso2022jp_2004.c \
+ mbfilter_gb18030.c \
+ mbfilter_iso2022_kr.c \
+ mbfilter_cp866.c \
+@@ -90,7 +90,7 @@
+ mbfilter_htmlent.h \
+ mbfilter_hz.h \
+ mbfilter_iso2022_jp_ms.h \
+- mbfilter_iso2022_jp_2004.h \
++ mbfilter_iso2022jp_2004.h \
+ mbfilter_iso2022_kr.h \
+ mbfilter_iso8859_1.h \
+ mbfilter_iso8859_10.h \
diff --git a/unmaintained/libmediainfo/APKBUILD b/unmaintained/libmediainfo/APKBUILD
new file mode 100644
index 0000000000..d18faa1e4d
--- /dev/null
+++ b/unmaintained/libmediainfo/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=libmediainfo
+pkgver=0.7.78
+pkgrel=0
+pkgdesc="shared library for mediainfo"
+url="http://mediainfo.sourceforge.net"
+arch="all"
+license="GPL"
+depends=""
+depends_dev="curl-dev libmms-dev libzen"
+makedepends="$depends_dev libtool automake autoconf"
+install=""
+subpackages="$pkgname-dev"
+source="http://mediaarea.net/download/binary/libmediainfo0/${pkgver}/MediaInfo_DLL_${pkgver}_GNU_FromSource.tar.bz2"
+
+_builddir="$srcdir"/MediaInfo_DLL_GNU_FromSource/MediaInfoLib/Project/GNU/Library
+
+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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --enable-shared \
+ --disable-static \
+ --with-libcurl \
+ --with-libmms \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="11c5179e46ec687885ce82bf80bbf795 MediaInfo_DLL_0.7.78_GNU_FromSource.tar.bz2"
+sha256sums="02ef0e5695b6b24d8ed67b30c919c304c27bd7685c620141ac94f76af6b65be6 MediaInfo_DLL_0.7.78_GNU_FromSource.tar.bz2"
+sha512sums="d88458fecc5fe23a19982f8aa70075eeece8e9dd28bdba0d0909b8cfa6b7b25586cc8fb824d28d0b8e0085cbf3dde3cd831ede403de918270edcd2a9a0f39e3b MediaInfo_DLL_0.7.78_GNU_FromSource.tar.bz2"
diff --git a/unmaintained/libnatspec/APKBUILD b/unmaintained/libnatspec/APKBUILD
new file mode 100644
index 0000000000..d337a285b8
--- /dev/null
+++ b/unmaintained/libnatspec/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+pkgname=libnatspec
+pkgver=0.3.0
+pkgrel=0
+pkgdesc="Library for national and language-specific issues"
+url="http://natspec.sourceforge.net"
+arch="all"
+license="LGPLv2"
+depends=""
+depends_dev="popt-dev"
+makedepends="autoconf automake libtool $depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-tools"
+source="http://downloads.sourceforge.net/project/natspec/natspec/0.3.0/$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
+ autoreconf --install --force || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+tools() {
+ pkgdesc="$pkgdesc (tools)"
+ install -d "$subpkgdir"/usr || return 1
+ mv "$pkgdir"/usr/bin "$subpkgdir"/usr || return 1
+}
+md5sums="1bacec86f8688415a821a6ffae55532e libnatspec-0.3.0.tar.bz2"
+sha256sums="678db5f2e25be3e79183ecc9ff6b19fb66775bcb6c3c962ba7716bc4a8ecce71 libnatspec-0.3.0.tar.bz2"
+sha512sums="5c04358d20be5b6ffc7038bddd4514c4b5b4e9940fb6247070b832da9d059b31fd1306cf29f54e4a1b8be1d909176bd72e6ffa98e4b750840764f9b2c250d31c libnatspec-0.3.0.tar.bz2"
diff --git a/unmaintained/liboauth/APKBUILD b/unmaintained/liboauth/APKBUILD
new file mode 100644
index 0000000000..2e0c42518f
--- /dev/null
+++ b/unmaintained/liboauth/APKBUILD
@@ -0,0 +1,51 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=liboauth
+pkgver=1.0.3
+pkgrel=0
+pkgdesc="OAuth library functions"
+url="http://liboauth.sourceforge.net/"
+arch="all"
+license="MIT"
+depends=""
+depends_dev="nss-dev curl-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://liboauth.sourceforge.net/pool/liboauth-$pkgver.tar.gz"
+
+_builddir="$srcdir"/liboauth-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ update_config_sub || return 1
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --disable-static \
+ --enable-nss \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="689b46c2b3ab1a39735ac33f714c4f7f liboauth-1.0.3.tar.gz"
+sha256sums="0df60157b052f0e774ade8a8bac59d6e8d4b464058cc55f9208d72e41156811f liboauth-1.0.3.tar.gz"
+sha512sums="5a13818dbb3e0df76f7a3fde451eff4f90c9bebfe2076a294921af0c07c2b0789f717f0f862ac6961562d4227e016dc198ddd7efb9c7ac599c3bfbcdb2ac33fa liboauth-1.0.3.tar.gz"
diff --git a/unmaintained/libpwquality/APKBUILD b/unmaintained/libpwquality/APKBUILD
new file mode 100644
index 0000000000..22912cfe51
--- /dev/null
+++ b/unmaintained/libpwquality/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer:
+pkgname=libpwquality
+pkgver=1.2.4
+pkgrel=0
+pkgdesc="A library for password generation and password quality checking"
+url="http://libpwquality.fedorahosted.org/"
+arch="all"
+license="BSD or GPLv2+"
+depends=""
+depends_dev="cracklib-dev"
+makedepends="$depends_dev python-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc py-pwquality:_py"
+source="http://fedorahosted.org/releases/l/i/libpwquality/libpwquality-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/libpwquality-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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
+}
+_py() {
+ pkgdesc="Python bindings for the libpwquality library"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/python* "$subpkgdir"/usr/lib/
+}
+
+md5sums="5c8b1d984a9c184fc62a4d07bb36b922 libpwquality-1.2.4.tar.bz2"
+sha256sums="9ad67be364a66dc8b334a473c77d9f531137ee0e9d85d81f567f410a375857c7 libpwquality-1.2.4.tar.bz2"
+sha512sums="63ead296320e8eadc1a3341c28b015f9dbbf30e610e9226a11018d81aeb412d0e211753ebdb45f959c35cedfc6ed580bba9e6b0f8822c3b5f38062428f637049 libpwquality-1.2.4.tar.bz2"
diff --git a/unmaintained/libqb/APKBUILD b/unmaintained/libqb/APKBUILD
new file mode 100644
index 0000000000..fa0207e83b
--- /dev/null
+++ b/unmaintained/libqb/APKBUILD
@@ -0,0 +1,54 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=libqb
+pkgver=0.17.1
+pkgrel=0
+pkgdesc="An IPC library for high performance servers"
+url="https://github.com/clusterlabs/libqb/wiki"
+arch="all"
+license="LGPLv2+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://fedorahosted.org/releases/q/u/quarterback/libqb-$pkgver.tar.xz
+ fix-headers.patch
+ "
+
+_builddir="$srcdir"/libqb-$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
+ update_config_sub
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="5770b343baa4528f6fec90120ec55048 libqb-0.17.1.tar.xz
+1825f2c3b4405ccc5795fa2b6bbfce32 fix-headers.patch"
+sha256sums="7a2115f83bfe20eaa5f2e4ed235e8f2994235d3b87e3e5ca41ba47b320f12e29 libqb-0.17.1.tar.xz
+3be824e898e5b32d2a2869ebad3e930606b4bcee850f437e9bd9d126c28cbc4e fix-headers.patch"
+sha512sums="9705b291a61ca278fd0c9ab631af2cb844cdfc73b19501dd2e12eb162b37f0eded800860127a8a5c5c7c2a0e8db53e4780d3ab9697b099f4560a9a87aa8ec9ca libqb-0.17.1.tar.xz
+1b32bb6c82477b00434644b21e1ae450b9e5f5d3e4f6fd0428aafa117f7f129bfd94412544472affe0a273113222d238264da9bb874a25918fbeb2c4938e6d56 fix-headers.patch"
diff --git a/unmaintained/libqb/fix-headers.patch b/unmaintained/libqb/fix-headers.patch
new file mode 100644
index 0000000000..474f4c2fd5
--- /dev/null
+++ b/unmaintained/libqb/fix-headers.patch
@@ -0,0 +1,10 @@
+--- ./include/qb/qbipcs.h.orig
++++ ./include/qb/qbipcs.h
+@@ -31,6 +31,7 @@
+
+ #include <stdlib.h>
+ #include <sys/uio.h>
++#include <sys/stat.h>
+ #include <qb/qbipc_common.h>
+ #include <qb/qbhdb.h>
+ #include <qb/qbloop.h>
diff --git a/unmaintained/libreswan/APKBUILD b/unmaintained/libreswan/APKBUILD
new file mode 100644
index 0000000000..08c063aab0
--- /dev/null
+++ b/unmaintained/libreswan/APKBUILD
@@ -0,0 +1,48 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+
+pkgname=libreswan
+pkgver=3.11
+pkgrel=0
+pkgdesc="IPsec implementation for Linux"
+url="https://libreswan.org"
+arch="all"
+license="GPLv2"
+depends="nss-tools iproute2"
+depends_dev="gmp-dev linux-pam-dev nss-dev unbound-dev libcap-ng-dev curl-dev nspr-dev"
+makedepends="$depends_dev bison flex coreutils bash"
+subpackages="$pkgname-doc"
+source="https://download.libreswan.org/libreswan-$pkgver.tar.gz"
+
+_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"
+ make INC_RCDEFAULT=/etc/init.d \
+ INC_USRLOCAL=/usr \
+ FINALBINDIR=/usr/libexec/ipsec \
+ FINALLIBEXECDIR=/usr/libexec/ipsec \
+ programs || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make INC_MANDIR=share/man \
+ INC_RCDEFAULT=/etc/init.d \
+ INC_USRLOCAL=/usr \
+ DESTDIR="$pkgdir" \
+ INSTCONFFLAGS=-m644 \
+ FINALBINDIR=/usr/libexec/ipsec \
+ FINALLIBEXECDIR=/usr/libexec/ipsec \
+ install || return 1
+}
+md5sums="d8ffd012eb6933ff0f069334a85f81e1 libreswan-3.11.tar.gz"
+sha256sums="f2837f0ab380671844359fca397357e3045137ba31fabcef5abdb1d613939fc2 libreswan-3.11.tar.gz"
+sha512sums="40b91f05ca1156e33a3d6e2ee2932a65936392ae762b64bd20639bbb9a63269ae24d349f377d8b77743c84fbdfe0290bf581aa17e8634777147a5642995a1c7c libreswan-3.11.tar.gz"
diff --git a/unmaintained/libsieve/APKBUILD b/unmaintained/libsieve/APKBUILD
new file mode 100644
index 0000000000..befaaab520
--- /dev/null
+++ b/unmaintained/libsieve/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=libsieve
+pkgver=2.2.7
+pkgrel=1
+pkgdesc="Sieve interpretator lib"
+url="http://libsieve.sourceforge.net/"
+arch="all"
+license="LGPL2+"
+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/unmaintained/libsigsegv/APKBUILD b/unmaintained/libsigsegv/APKBUILD
new file mode 100644
index 0000000000..3a1d5fbeec
--- /dev/null
+++ b/unmaintained/libsigsegv/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=libsigsegv
+pkgver=2.10
+pkgrel=1
+pkgdesc="Page fault detection library"
+url="http://www.gnu.org/software/libsigsegv/"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends=""
+install=""
+subpackages="$pkgname-dev"
+source="http://ftp.gnu.org/gnu/libsigsegv/libsigsegv-$pkgver.tar.gz"
+
+_builddir="$srcdir"/libsigsegv-$pkgver
+prepare() {
+ cd "$_builddir"
+ update_config_sub || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+}
+
+package() {
+ make DESTDIR="$pkgdir" \
+ -C "$_builddir" install || return 1
+}
+
+md5sums="7f96fb1f65b3b8cbc1582fb7be774f0f libsigsegv-2.10.tar.gz"
+sha256sums="8460a4a3dd4954c3d96d7a4f5dd5bc4d9b76f5754196aa245287553b26d2199a libsigsegv-2.10.tar.gz"
+sha512sums="9464b3343af5042169f208781ffa9d1f7e5e1ee8654c1e6aca5581157b43eedc5ee504a56eb905c61443273bcfc8da6822ecc6499c5f589570ad0ba02d8d8cc2 libsigsegv-2.10.tar.gz"
diff --git a/unmaintained/libspectre/APKBUILD b/unmaintained/libspectre/APKBUILD
new file mode 100644
index 0000000000..715062c817
--- /dev/null
+++ b/unmaintained/libspectre/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Andrew Hills <ahills@ednos.net>
+# Maintainer: Andrew Hills <ahills@ednos.net>
+pkgname=libspectre
+pkgver=0.2.7
+pkgrel=0
+pkgdesc="A small library for rendering Postscript documents"
+url="http://www.freedesktop.org/wiki/Software/libspectre"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev ghostscript-dev doxygen"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://libspectre.freedesktop.org/releases/libspectre-$pkgver.tar.gz"
+
+_builddir="$srcdir"/libspectre-$pkgver
+prepare() {
+ update_config_sub
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+ make doc
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+doc() {
+ arch="noarch"
+ mkdir -m 0755 -p "$subpkgdir"/usr/share/doc/libspectre || return 1
+ install -m 0644 "$_builddir"/doc/html/* "$subpkgdir"/usr/share/doc/libspectre/
+}
+
+md5sums="8f759c0e6cd88d68fc8149130fcbc3d3 libspectre-0.2.7.tar.gz"
+sha256sums="e81b822a106beed14cf0fec70f1b890c690c2ffa150fa2eee41dc26518a6c3ec libspectre-0.2.7.tar.gz"
+sha512sums="2e60905f7eeed9ac6ec3b5f8b47a7dad85178c8c35a63ba097ef6088dd334f7fde5797ecb05cf67532b759d07a65006427914d2cd6b09107ecc90620c9541794 libspectre-0.2.7.tar.gz"
diff --git a/unmaintained/libsrs2/APKBUILD b/unmaintained/libsrs2/APKBUILD
new file mode 100644
index 0000000000..c953f30203
--- /dev/null
+++ b/unmaintained/libsrs2/APKBUILD
@@ -0,0 +1,52 @@
+#Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+pkgname=libsrs2
+pkgver=1.0.18
+pkgrel=0
+pkgdesc="Sender Rewriting Scheme library, a part of the SPF/SRS protocol pair"
+url="http://www.libsrs2.org"
+arch="all"
+license="LGPL2.1 BSD-2"
+subpackages="$pkgname-dev $pkgname-tools"
+makedepends=
+depends=
+source="http://www.libsrs2.org/srs/$pkgname-$pkgver.tar.gz
+ "
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ cd "$_builddir"
+ update_config_sub || return 1
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --disable-static \
+ --with-pic \
+ || return 1
+ make -j1 || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make -j1 DESTDIR="$pkgdir" install || return 1
+}
+
+tools() {
+ pkgdesc="SRS command-line utility"
+ mkdir -p "$subpkgdir"/usr
+ mv "$pkgdir"/usr/bin "$subpkgdir"/usr
+}
+
+md5sums="2178b8cf587eb6e65d4b9753c4a6c67d libsrs2-1.0.18.tar.gz"
+sha256sums="9d1191b705d7587a5886736899001d04168392bbb6ed6345a057ade50943a492 libsrs2-1.0.18.tar.gz"
+sha512sums="b9c189caa227487e90566f65430345f09a3d545fc286a3eb0c445aee3a74905c1a9248ce78b36a7cfb6a2936f6cd1efbe99ba7b8df49a613a81c6435396f5422 libsrs2-1.0.18.tar.gz"
diff --git a/unmaintained/libstrophe/APKBUILD b/unmaintained/libstrophe/APKBUILD
new file mode 100644
index 0000000000..6da6326f2f
--- /dev/null
+++ b/unmaintained/libstrophe/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer:
+# Contributor: Bartłomiej Piotrowski <bpiotrowski@alpinelinux.org>
+
+pkgname=libstrophe
+pkgver=0.8.6
+pkgrel=0
+epoch=1
+pkgdesc='Simple, lightweight C library for writing XMPP clients'
+arch=all
+url='http://strophe.im/libstrophe/'
+license='MIT'
+depends=
+makedepends='openssl-dev expat-dev check-dev autoconf automake libtool'
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/strophe/libstrophe/archive/$pkgver.tar.gz"
+
+prepare() {
+ cd "$srcdir"/$pkgname-$pkgver
+ ./bootstrap.sh || return 1
+}
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+ ./configure --prefix=/usr || return 1
+ make || return 1
+ make check || return 1
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+ make DESTDIR="$pkgdir" install || return 1
+ install -Dm644 MIT-LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE-MIT
+}
+
+md5sums="5ab28dc86c47177819ca49ed9c0041e0 libstrophe-0.8.6.tar.gz"
+sha256sums="a2158134381e544a7697e9379f45abe18da817cd05eb3272eabec2151599d702 libstrophe-0.8.6.tar.gz"
+sha512sums="5c93a199d223d0995c99688dcd9af1586e17ce825d0df3cdac33498c87af62a41a60b4a727910754f064541c64f9b79d5db899a265a1cc3d9c4380e42b525e5a libstrophe-0.8.6.tar.gz"
diff --git a/unmaintained/libtar/APKBUILD b/unmaintained/libtar/APKBUILD
new file mode 100644
index 0000000000..77aaf18822
--- /dev/null
+++ b/unmaintained/libtar/APKBUILD
@@ -0,0 +1,73 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=libtar
+pkgver=1.2.20
+pkgrel=0
+pkgdesc="C library for manipulating POSIX tar files"
+url="http://repo.or.cz/w/libtar.git"
+arch="all"
+license="BSD"
+depends=""
+depends_dev="zlib-dev"
+makedepends="$depends_dev automake autoconf libtool"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::http://repo.or.cz/w/libtar.git/snapshot/0907a9034eaf2a57e8e4a9439f793f3f05d446cd.tar.gz
+ libtar-1.2.11-mem-deref.patch
+ libtar-1.2.20-fix-resource-leaks.patch
+ libtar-1.2.11-bz729009.patch
+ libtar-1.2.11-missing-protos.patch
+ libtar-1.2.20-no-static-buffer.patch"
+
+_builddir="$srcdir"/libtar
+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 -ivf
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --disable-static \
+ --disable-encap \
+ --disable-epkg-install \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="863a457f6e19763c6c8f5108b85d24cc libtar-1.2.20.tar.gz
+46b80e57e35ac14b0122ed0608e76c0e libtar-1.2.11-mem-deref.patch
+784bee46d827e39435eadbdba4165a9d libtar-1.2.20-fix-resource-leaks.patch
+15b6aea663be015569331aaa1c198b42 libtar-1.2.11-bz729009.patch
+8d3e423b2db39f044c87f662bbbf12ab libtar-1.2.11-missing-protos.patch
+01249bb7ea03a15c40547cafbb6afe47 libtar-1.2.20-no-static-buffer.patch"
+sha256sums="d1b2660d0af735fed2d2a0c3369dda7bea7445a4b1ef2f2742b352b1e1eec5f8 libtar-1.2.20.tar.gz
+1420e4ca7b54f19f6c1665fa768919671378ecdae5f085756031243ac939d984 libtar-1.2.11-mem-deref.patch
+664cd4476890a5969c61c7cb47f2399c3b43fab2b449d3049651187ca558c932 libtar-1.2.20-fix-resource-leaks.patch
+b202918e6842ce8c80e6ead70a3af6dd6f1be37d2623048bb82b6ad7ccc5fa17 libtar-1.2.11-bz729009.patch
+83838ef1e49690f446c3732a8ac89cd72b47c65155a819b29dfddfd4f5ce8fc1 libtar-1.2.11-missing-protos.patch
+c1d330b6663015211605bef1efc193cfe59075de6a55f9efd2a52842f0ad0d27 libtar-1.2.20-no-static-buffer.patch"
+sha512sums="675011b996848ac730d2f3663550e5389fed2ffcb0f2a8ca7078caa3a29d24e7ecae41e59d257585828101a3b37fe9c83e64eb7b086f0e7275c18bb2fdca4621 libtar-1.2.20.tar.gz
+e7179581b523dc209965244f384f80f7b6b2a37595c6363347e4ff1270f918c4e729341670994c1e7f9578403f18445a569c165ee62ce5f87e30dec983cadb08 libtar-1.2.11-mem-deref.patch
+06f6df6b681dc49a2249be57e9507db33ad90f6797c9f35b9f38c9eafcc31164245b40d4eaf696f295fff477daaacd51833976132710c902c78d6fe84472667f libtar-1.2.20-fix-resource-leaks.patch
+12470f357e0df579cd8ef9bd09121e2d742754d56517c1d153036e1436155324268bc86145e504c56761571ac9df1be6d13448d7349a3a51a30e82c4c65e162f libtar-1.2.11-bz729009.patch
+8ac4eea5ed2aa7f3893b44468b33fc668f2b026bd55282179c0920ae18fbc197a850523eb12624524e599ae4b0380c7322b296d4952c5d263e8971459dace021 libtar-1.2.11-missing-protos.patch
+f6db3c9dfb537fb583ef87f3a10105378d20d7950184c67e4af2f4a4edc7a38ed9229dc389300bc5554e1fc1cce8adbd947c2c56cea2a1a4a00a23fb92e18244 libtar-1.2.20-no-static-buffer.patch"
diff --git a/unmaintained/libtar/libtar-1.2.11-bz729009.patch b/unmaintained/libtar/libtar-1.2.11-bz729009.patch
new file mode 100644
index 0000000000..2adfce313f
--- /dev/null
+++ b/unmaintained/libtar/libtar-1.2.11-bz729009.patch
@@ -0,0 +1,25 @@
+From 1f2ec801cf4ac954f84c81e7587ce11998f78911 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Tue, 9 Aug 2011 12:02:26 +0200
+Subject: [PATCH] libtar - rhbz #729009
+
+---
+ libtar/Makefile.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/libtar/Makefile.in b/libtar/Makefile.in
+index 4e7bca4..94bd198 100644
+--- a/libtar/Makefile.in
++++ b/libtar/Makefile.in
+@@ -20,7 +20,7 @@ SHELL = @SHELL@
+
+ ### Installation programs and flags
+ INSTALL = @INSTALL@
+-INSTALL_PROGRAM = @INSTALL_PROGRAM@ -s
++INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_DATA = @INSTALL_DATA@
+ LN_S = @LN_S@
+ MKDIR = @MKDIR@
+--
+1.7.4.4
+
diff --git a/unmaintained/libtar/libtar-1.2.11-mem-deref.patch b/unmaintained/libtar/libtar-1.2.11-mem-deref.patch
new file mode 100644
index 0000000000..8a618a0a22
--- /dev/null
+++ b/unmaintained/libtar/libtar-1.2.11-mem-deref.patch
@@ -0,0 +1,24 @@
+--- libtar-1.2.11/lib/libtar.h.deref 2009-12-30 16:37:03.790121122 +0100
++++ libtar-1.2.11/lib/libtar.h 2009-12-30 16:37:35.521246633 +0100
+@@ -172,6 +172,7 @@ int th_write(TAR *t);
+ #define TH_ISDIR(t) ((t)->th_buf.typeflag == DIRTYPE \
+ || S_ISDIR((mode_t)oct_to_int((t)->th_buf.mode)) \
+ || ((t)->th_buf.typeflag == AREGTYPE \
++ && strlen((t)->th_buf.name) \
+ && ((t)->th_buf.name[strlen((t)->th_buf.name) - 1] == '/')))
+ #define TH_ISFIFO(t) ((t)->th_buf.typeflag == FIFOTYPE \
+ || S_ISFIFO((mode_t)oct_to_int((t)->th_buf.mode)))
+--- libtar-1.2.11/lib/util.c.deref 2003-01-07 02:41:00.000000000 +0100
++++ libtar-1.2.11/lib/util.c 2009-12-30 17:35:51.860121660 +0100
+@@ -148,9 +148,7 @@ oct_to_int(char *oct)
+ {
+ int i;
+
+- sscanf(oct, "%o", &i);
+-
+- return i;
++ return sscanf(oct, "%o", &i) == 1 ? i : 0;
+ }
+
+
+
diff --git a/unmaintained/libtar/libtar-1.2.11-missing-protos.patch b/unmaintained/libtar/libtar-1.2.11-missing-protos.patch
new file mode 100644
index 0000000000..8a65c2a628
--- /dev/null
+++ b/unmaintained/libtar/libtar-1.2.11-missing-protos.patch
@@ -0,0 +1,34 @@
+diff -up libtar-1.2.11/lib/append.c.foo libtar-1.2.11/lib/append.c
+--- libtar-1.2.11/lib/append.c.foo 2003-01-07 02:40:59.000000000 +0100
++++ libtar-1.2.11/lib/append.c 2008-04-03 15:08:07.000000000 +0200
+@@ -13,6 +13,8 @@
+ #include <internal.h>
+
+ #include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <sys/param.h>
+diff -up libtar-1.2.11/lib/output.c~ libtar-1.2.11/lib/output.c
+--- libtar-1.2.11/lib/output.c~ 2008-04-03 15:11:07.000000000 +0200
++++ libtar-1.2.11/lib/output.c 2008-04-03 15:11:07.000000000 +0200
+@@ -13,6 +13,7 @@
+ #include <internal.h>
+
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <pwd.h>
+ #include <grp.h>
+ #include <time.h>
+diff -up libtar-1.2.11/lib/wrapper.c~ libtar-1.2.11/lib/wrapper.c
+--- libtar-1.2.11/lib/wrapper.c~ 2008-04-03 15:11:28.000000000 +0200
++++ libtar-1.2.11/lib/wrapper.c 2008-04-03 15:11:28.000000000 +0200
+@@ -13,6 +13,7 @@
+ #include <internal.h>
+
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <sys/param.h>
+ #include <dirent.h>
+ #include <errno.h>
diff --git a/unmaintained/libtar/libtar-1.2.20-fix-resource-leaks.patch b/unmaintained/libtar/libtar-1.2.20-fix-resource-leaks.patch
new file mode 100644
index 0000000000..bdca92ebcd
--- /dev/null
+++ b/unmaintained/libtar/libtar-1.2.20-fix-resource-leaks.patch
@@ -0,0 +1,241 @@
+From abd0274e6b2f708e9eaa29414b07b3f542cec694 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Tue, 15 Oct 2013 19:48:41 -0400
+Subject: [PATCH 1/3] fix file descriptor leaks reported by cppcheck
+
+Bug: https://bugzilla.redhat.com/785760
+---
+ lib/append.c | 14 +++++++++-----
+ lib/extract.c | 4 ++++
+ libtar/libtar.c | 3 +++
+ 3 files changed, 16 insertions(+), 5 deletions(-)
+
+diff --git a/lib/append.c b/lib/append.c
+index e8bd89d..ff58532 100644
+--- a/lib/append.c
++++ b/lib/append.c
+@@ -216,6 +216,7 @@ tar_append_regfile(TAR *t, const char *realname)
+ int filefd;
+ int i, j;
+ size_t size;
++ int rv = -1;
+
+ filefd = open(realname, O_RDONLY);
+ if (filefd == -1)
+@@ -234,25 +235,28 @@ tar_append_regfile(TAR *t, const char *realname)
+ {
+ if (j != -1)
+ errno = EINVAL;
+- return -1;
++ goto fail;
+ }
+ if (tar_block_write(t, &block) == -1)
+- return -1;
++ goto fail;
+ }
+
+ if (i > 0)
+ {
+ j = read(filefd, &block, i);
+ if (j == -1)
+- return -1;
++ goto fail;
+ memset(&(block[i]), 0, T_BLOCKSIZE - i);
+ if (tar_block_write(t, &block) == -1)
+- return -1;
++ goto fail;
+ }
+
++ /* success! */
++ rv = 0;
++fail:
+ close(filefd);
+
+- return 0;
++ return rv;
+ }
+
+
+diff --git a/lib/extract.c b/lib/extract.c
+index 36357e7..9fc6ad5 100644
+--- a/lib/extract.c
++++ b/lib/extract.c
+@@ -228,13 +228,17 @@ tar_extract_regfile(TAR *t, char *realname)
+ {
+ if (k != -1)
+ errno = EINVAL;
++ close(fdout);
+ return -1;
+ }
+
+ /* write block to output file */
+ if (write(fdout, buf,
+ ((i > T_BLOCKSIZE) ? T_BLOCKSIZE : i)) == -1)
++ {
++ close(fdout);
+ return -1;
++ }
+ }
+
+ /* close output file */
+diff --git a/libtar/libtar.c b/libtar/libtar.c
+index 9fa92b2..bb5644c 100644
+--- a/libtar/libtar.c
++++ b/libtar/libtar.c
+@@ -83,7 +83,10 @@ gzopen_frontend(char *pathname, int oflags, int mode)
+ return -1;
+
+ if ((oflags & O_CREAT) && fchmod(fd, mode))
++ {
++ close(fd);
+ return -1;
++ }
+
+ gzf = gzdopen(fd, gzoflags);
+ if (!gzf)
+--
+1.7.1
+
+
+From 36629a41208375f5105427e98078127551692028 Mon Sep 17 00:00:00 2001
+From: Huzaifa Sidhpurwala <huzaifas@fedoraproject.org>
+Date: Tue, 15 Oct 2013 20:02:58 -0400
+Subject: [PATCH 2/3] fix memleak on tar_open() failure
+
+---
+ lib/handle.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/lib/handle.c b/lib/handle.c
+index 33a262c..002d23c 100644
+--- a/lib/handle.c
++++ b/lib/handle.c
+@@ -82,6 +82,7 @@ tar_open(TAR **t, const char *pathname, tartype_t *type,
+ (*t)->fd = (*((*t)->type->openfunc))(pathname, oflags, mode);
+ if ((*t)->fd == -1)
+ {
++ libtar_hash_free((*t)->h, NULL);
+ free(*t);
+ return -1;
+ }
+--
+1.7.1
+
+
+From f3c711cf3054ff366a1a3500cdc8c64ecc2d2da6 Mon Sep 17 00:00:00 2001
+From: Huzaifa Sidhpurwala <huzaifas@fedoraproject.org>
+Date: Tue, 15 Oct 2013 20:05:04 -0400
+Subject: [PATCH 3/3] fix memleaks in libtar sample program
+
+---
+ libtar/libtar.c | 29 ++++++++++++++++++-----------
+ 1 files changed, 18 insertions(+), 11 deletions(-)
+
+diff --git a/libtar/libtar.c b/libtar/libtar.c
+index bb5644c..23f8741 100644
+--- a/libtar/libtar.c
++++ b/libtar/libtar.c
+@@ -253,6 +253,7 @@ extract(char *tarfile, char *rootdir)
+ if (tar_extract_all(t, rootdir) != 0)
+ {
+ fprintf(stderr, "tar_extract_all(): %s\n", strerror(errno));
++ tar_close(t);
+ return -1;
+ }
+
+@@ -270,12 +271,13 @@ extract(char *tarfile, char *rootdir)
+
+
+ void
+-usage()
++usage(void *rootdir)
+ {
+ printf("Usage: %s [-C rootdir] [-g] [-z] -x|-t filename.tar\n",
+ progname);
+ printf(" %s [-C rootdir] [-g] [-z] -c filename.tar ...\n",
+ progname);
++ free(rootdir);
+ exit(-1);
+ }
+
+@@ -292,6 +294,7 @@ main(int argc, char *argv[])
+ int c;
+ int mode = 0;
+ libtar_list_t *l;
++ int return_code = -2;
+
+ progname = basename(argv[0]);
+
+@@ -313,17 +316,17 @@ main(int argc, char *argv[])
+ break;
+ case 'c':
+ if (mode)
+- usage();
++ usage(rootdir);
+ mode = MODE_CREATE;
+ break;
+ case 'x':
+ if (mode)
+- usage();
++ usage(rootdir);
+ mode = MODE_EXTRACT;
+ break;
+ case 't':
+ if (mode)
+- usage();
++ usage(rootdir);
+ mode = MODE_LIST;
+ break;
+ #ifdef HAVE_LIBZ
+@@ -332,7 +335,7 @@ main(int argc, char *argv[])
+ break;
+ #endif /* HAVE_LIBZ */
+ default:
+- usage();
++ usage(rootdir);
+ }
+
+ if (!mode || ((argc - optind) < (mode == MODE_CREATE ? 2 : 1)))
+@@ -341,7 +344,7 @@ main(int argc, char *argv[])
+ printf("argc - optind == %d\tmode == %d\n", argc - optind,
+ mode);
+ #endif
+- usage();
++ usage(rootdir);
+ }
+
+ #ifdef DEBUG
+@@ -351,21 +354,25 @@ main(int argc, char *argv[])
+ switch (mode)
+ {
+ case MODE_EXTRACT:
+- return extract(argv[optind], rootdir);
++ return_code = extract(argv[optind], rootdir);
++ break;
+ case MODE_CREATE:
+ tarfile = argv[optind];
+ l = libtar_list_new(LIST_QUEUE, NULL);
+ for (c = optind + 1; c < argc; c++)
+ libtar_list_add(l, argv[c]);
+- return create(tarfile, rootdir, l);
++ return_code = create(tarfile, rootdir, l);
++ libtar_list_free(l, NULL);
++ break;
+ case MODE_LIST:
+- return list(argv[optind]);
++ return_code = list(argv[optind]);
++ break;
+ default:
+ break;
+ }
+
+- /* NOTREACHED */
+- return -2;
++ free(rootdir);
++ return return_code;
+ }
+
+
+--
+1.7.1
+
diff --git a/unmaintained/libtar/libtar-1.2.20-no-static-buffer.patch b/unmaintained/libtar/libtar-1.2.20-no-static-buffer.patch
new file mode 100644
index 0000000000..a30baca88a
--- /dev/null
+++ b/unmaintained/libtar/libtar-1.2.20-no-static-buffer.patch
@@ -0,0 +1,148 @@
+From ba16223652cfaa656d9c0c2d7bc7ab39dbd12467 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Wed, 23 Oct 2013 15:04:22 +0200
+Subject: [PATCH 1/3] decode: avoid using a static buffer in th_get_pathname()
+
+A solution suggested by Chris Frey:
+https://lists.feep.net:8080/pipermail/libtar/2013-October/000377.html
+
+Note this can break programs that expect sizeof(TAR) to be fixed.
+
+[upstream commit ec613af2e9371d7a3e1f7c7a6822164a4255b4d1]
+---
+ lib/decode.c | 24 +++++++++++++++++-------
+ lib/handle.c | 1 +
+ lib/libtar.h | 3 +++
+ 3 files changed, 21 insertions(+), 7 deletions(-)
+
+diff --git a/lib/decode.c b/lib/decode.c
+index c16ea2d..edb2185 100644
+--- a/lib/decode.c
++++ b/lib/decode.c
+@@ -26,20 +26,30 @@
+ char *
+ th_get_pathname(TAR *t)
+ {
+- static TLS_THREAD char filename[MAXPATHLEN];
+-
+ if (t->th_buf.gnu_longname)
+ return t->th_buf.gnu_longname;
+
+- if (t->th_buf.prefix[0] != '\0')
++ /* allocate the th_pathname buffer if not already */
++ if (t->th_pathname == NULL)
++ {
++ t->th_pathname = malloc(MAXPATHLEN * sizeof(char));
++ if (t->th_pathname == NULL)
++ /* out of memory */
++ return NULL;
++ }
++
++ if (t->th_buf.prefix[0] == '\0')
++ {
++ snprintf(t->th_pathname, MAXPATHLEN, "%.100s", t->th_buf.name);
++ }
++ else
+ {
+- snprintf(filename, sizeof(filename), "%.155s/%.100s",
++ snprintf(t->th_pathname, MAXPATHLEN, "%.155s/%.100s",
+ t->th_buf.prefix, t->th_buf.name);
+- return filename;
+ }
+
+- snprintf(filename, sizeof(filename), "%.100s", t->th_buf.name);
+- return filename;
++ /* will be deallocated in tar_close() */
++ return t->th_pathname;
+ }
+
+
+diff --git a/lib/handle.c b/lib/handle.c
+index 002d23c..a19c046 100644
+--- a/lib/handle.c
++++ b/lib/handle.c
+@@ -122,6 +122,7 @@ tar_close(TAR *t)
+ libtar_hash_free(t->h, ((t->oflags & O_ACCMODE) == O_RDONLY
+ ? free
+ : (libtar_freefunc_t)tar_dev_free));
++ free(t->th_pathname);
+ free(t);
+
+ return i;
+diff --git a/lib/libtar.h b/lib/libtar.h
+index 7fc4d03..08a8e0f 100644
+--- a/lib/libtar.h
++++ b/lib/libtar.h
+@@ -85,6 +85,9 @@ typedef struct
+ int options;
+ struct tar_header th_buf;
+ libtar_hash_t *h;
++
++ /* introduced in libtar 1.2.21 */
++ char *th_pathname;
+ }
+ TAR;
+
+--
+1.7.1
+
+
+From 8ef92e48bba35d60208cc09be2bab74f69273d15 Mon Sep 17 00:00:00 2001
+From: Chris Frey <cdfrey@foursquare.net>
+Date: Thu, 24 Oct 2013 17:55:12 -0400
+Subject: [PATCH 2/3] Check for NULL before freeing th_pathname
+
+Thanks to Harald Koch for pointing out that AIX 4 and 5 still need this.
+
+[upstream commit 495d0c0eabc5648186e7d58ad54b508d14af38f4]
+
+Signed-off-by: Kamil Dudka <kdudka@redhat.com>
+---
+ lib/handle.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/lib/handle.c b/lib/handle.c
+index a19c046..28a7dc2 100644
+--- a/lib/handle.c
++++ b/lib/handle.c
+@@ -122,7 +122,8 @@ tar_close(TAR *t)
+ libtar_hash_free(t->h, ((t->oflags & O_ACCMODE) == O_RDONLY
+ ? free
+ : (libtar_freefunc_t)tar_dev_free));
+- free(t->th_pathname);
++ if (t->th_pathname != NULL)
++ free(t->th_pathname);
+ free(t);
+
+ return i;
+--
+1.7.1
+
+
+From 71101392dbab09718d38fabd151bb3cf22fc8b80 Mon Sep 17 00:00:00 2001
+From: Chris Frey <cdfrey@foursquare.net>
+Date: Thu, 24 Oct 2013 17:58:47 -0400
+Subject: [PATCH 3/3] Added stdlib.h for malloc() in lib/decode.c
+
+[upstream commit 20aa09bd7775094a2beb0f136c2c7d9e9fd6c7e6]
+
+Signed-off-by: Kamil Dudka <kdudka@redhat.com>
+---
+ lib/decode.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/lib/decode.c b/lib/decode.c
+index edb2185..35312be 100644
+--- a/lib/decode.c
++++ b/lib/decode.c
+@@ -13,6 +13,7 @@
+ #include <internal.h>
+
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <sys/param.h>
+ #include <pwd.h>
+ #include <grp.h>
+--
+1.7.1
+
diff --git a/unmaintained/libtermkey/APKBUILD b/unmaintained/libtermkey/APKBUILD
new file mode 100644
index 0000000000..551da0288e
--- /dev/null
+++ b/unmaintained/libtermkey/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Marvin Steadfast <marvin@xsteadfastx.org>
+# Maintainer: Marvin Steadfast <marvin@xsteadfastx.org>
+pkgname=libtermkey
+pkgver=0.18
+pkgrel=0
+pkgdesc="Library for easy processing of keyboard entry from terminal-based programs"
+url="http://www.leonerd.org.uk/code/libtermkey"
+arch="all"
+license="MIT"
+depends=""
+depends_dev="libtool unibilium-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc $pkgname-dev"
+source="http://www.leonerd.org.uk/code/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+
+_builddir="$srcdir"/"$pkgname"-"$pkgver"
+build() {
+ cd "$_builddir"
+ make PREFIX=/usr || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make PREFIX=/usr DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="3be2e3e5a851a49cc5e8567ac108b520 libtermkey-0.18.tar.gz"
+sha256sums="239746de41c845af52bb3c14055558f743292dd6c24ac26c2d6567a5a6093926 libtermkey-0.18.tar.gz"
+sha512sums="7507d7bf22ab075e932401b2194dcc69b40138955dc398c86327a072603df2a1010474fa9a1c75aa7cab936fa500e5e53118675b0ec6e9a85b66a1b6b7f5332e libtermkey-0.18.tar.gz"
diff --git a/unmaintained/libubox/APKBUILD b/unmaintained/libubox/APKBUILD
new file mode 100644
index 0000000000..87c1e1978a
--- /dev/null
+++ b/unmaintained/libubox/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
+# Maintainer:
+pkgname=libubox
+pkgver=0_git20150921
+pkgrel=1
+pkgdesc="C utility functions for OpenWrt"
+url="https://github.com/xfguo/libubox"
+arch="all"
+license="GPL"
+depends=
+depends_dev=
+makedepends="$depends_dev autoconf cmake json-c-dev"
+subpackages="$pkgname-dev"
+install=
+source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar.gz
+ json-pkgconf-detect.patch
+ includes.patch
+ "
+giturl="https://github.com/xfguo/libubox.git"
+disturl="dev.alpinelinux.org:/archive/$pkgname"
+
+_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"
+ cmake CMakeLists.txt -DBUILD_LUA=OFF -DCMAKE_INSTALL_PREFIX=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+md5sums="ec55e215665beb746086c733d2b270e2 libubox-0_git20150921.tar.gz
+eb218033a9c32ea192e5b7b7950588e2 json-pkgconf-detect.patch
+5abfaee650e28f4e1211633a84d88d47 includes.patch"
+sha256sums="df7ef8903c81b87408f8bca0158c7a5bb146c999dbd5def4b27a919b9ea60fe7 libubox-0_git20150921.tar.gz
+891e69fe1d5d5ca9f8a70cc73c4a066d6f11437372cd1f61de6e9f0d5da1eafe json-pkgconf-detect.patch
+0bc997c6d7355c30f43f3168caaad5f8b7e9b58b4e909d6b0c9dbe5c86d153e3 includes.patch"
+sha512sums="db2ecc70ab84781d5ca96ae18fc51decea95a236c42efab943bb148b91fbc65ca60729360d6c7bd8e8655ab373bfb07cabf0845954a74adee8a077f0535be45d libubox-0_git20150921.tar.gz
+a7ad77529f9976d9e991f72009c851743d8ff7435d2a831bb14fe929834ae59b5afbfb158c5faca4c4a6edd7076bb533875813d95e3672f065474dc4a63323a2 json-pkgconf-detect.patch
+9db73110f57f33ce08f078cafb7eff4a22905415391d5d7a2bc69651517f714fb042b4a5c7f975f4b0d2e2d1193b593af0910f544309bf7eb70c5d7db4d2c212 includes.patch"
diff --git a/unmaintained/libubox/includes.patch b/unmaintained/libubox/includes.patch
new file mode 100644
index 0000000000..2ba75aaf1b
--- /dev/null
+++ b/unmaintained/libubox/includes.patch
@@ -0,0 +1,11 @@
+--- a/blobmsg_json.h
++++ b/blobmsg_json.h
+@@ -19,7 +19,7 @@
+ #ifdef JSONC
+ #include <json.h>
+ #else
+- #include <json/json.h>
++ #include <json-c/json.h>
+ #endif
+
+ #include <stdbool.h>
diff --git a/unmaintained/libubox/json-pkgconf-detect.patch b/unmaintained/libubox/json-pkgconf-detect.patch
new file mode 100644
index 0000000000..c566fd2b4a
--- /dev/null
+++ b/unmaintained/libubox/json-pkgconf-detect.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -13,7 +13,7 @@
+ ENDIF()
+
+ INCLUDE(FindPkgConfig)
+-PKG_CHECK_MODULES(JSONC json-c json)
++PKG_CHECK_MODULES(JSONC json-c)
+ IF(JSONC_FOUND)
+ ADD_DEFINITIONS(-DJSONC)
+ INCLUDE_DIRECTORIES(${JSONC_INCLUDE_DIRS})
diff --git a/unmaintained/libuecc/APKBUILD b/unmaintained/libuecc/APKBUILD
new file mode 100644
index 0000000000..cf350b42f0
--- /dev/null
+++ b/unmaintained/libuecc/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Johannes Matheis <jomat+alpinebuild@jmt.gr>
+# Maintainer: Johannes Matheis <jomat+alpinebuild@jmt.gr>
+pkgname=libuecc
+pkgver=6
+pkgrel=0
+pkgdesc="Very small Elliptic Curve Cryptography library"
+url="http://git.universe-factory.net/libuecc/"
+arch="all"
+license="BSD"
+depends=""
+depends_dev="cmake"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://git.universe-factory.net/${pkgname}/snapshot/${pkgname}-${pkgver}.tar"
+
+_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"
+ mkdir build
+ cd build
+ cmake -D CMAKE_INSTALL_PREFIX=/usr ..
+ make
+}
+
+package() {
+ cd "$_builddir/build"
+ make install DESTDIR="${pkgdir}"
+ install -Dm644 "$_builddir"/COPYRIGHT \
+ $pkgdir/usr/share/licenses/$pkgname/COPYRIGHT
+}
+
+md5sums="d3d126e293db0d5262d2985bd911665f libuecc-6.tar"
+sha256sums="fe61715b7cd8458616840f71ab8c0c7e5f49480a9cfb2c1965fbb9d713f071b6 libuecc-6.tar"
+sha512sums="0ef6adb12429cd847d7b1e7a79c453675c97e74deb2937733b1cf588ae7fccc45cba43e3d38568217943b941e206a7f47a323829ccde8a2d572381767e82d954 libuecc-6.tar"
diff --git a/unmaintained/libuniso/APKBUILD b/unmaintained/libuniso/APKBUILD
new file mode 100644
index 0000000000..70ad9bc326
--- /dev/null
+++ b/unmaintained/libuniso/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=libuniso
+pkgver=0.1
+pkgrel=1
+pkgdesc="Library to unpack files from CDROM (ISO-9660) images"
+url="http://code.google.com/p/libuniso"
+arch="all"
+license="LGPLv2.1"
+depends=""
+depends_dev=""
+makedepends="lua-dev"
+install=""
+subpackages="$pkgname-dev lua-uniso:_lua"
+source="http://libuniso.googlecode.com/files/libuniso-$pkgver.tar.bz2
+ musl-missing-typesh.patch"
+
+_builddir="$srcdir"/libuniso-$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"
+ echo ENABLE_LUA=yes > config.mk
+ echo ENABLE_SHARED=yes >> config.mk
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+_lua() {
+ pkgdesc="Lua module for libuniso"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/lua "$subpkgdir"/usr/lib/
+}
+
+md5sums="9c1e65ceecce5786ff33c5dd82bea897 libuniso-0.1.tar.bz2
+e0948a860bbc3d93bfa7ebf25e0440ec musl-missing-typesh.patch"
+sha256sums="fc6a80200d6f8b20a99cd888cbcb0d55c8b45c5a3a6b540b99bbedb54a0248ad libuniso-0.1.tar.bz2
+9840e7c7a2d0459e8f7652d901b172de4fdcf6de46461b7c56fac127b3dda142 musl-missing-typesh.patch"
+sha512sums="dea27691b3e53bd6d7ff4c3530cb0e3d8c353bf03cbd7057910f37aa478fc95d66d4300a4dfa1c410957fafbce2d28e0b39a4e34928f6b0a562d3d6043e0f8e6 libuniso-0.1.tar.bz2
+56db43a674afc969f742524680eb02ae9685818022d4310ed8d1a6c727f5a185ccee9ed6553140b91403053311dd89a30d00602d4ee9d29bb3a96406d0462c95 musl-missing-typesh.patch"
diff --git a/unmaintained/libuniso/musl-missing-typesh.patch b/unmaintained/libuniso/musl-missing-typesh.patch
new file mode 100644
index 0000000000..098cbc46ce
--- /dev/null
+++ b/unmaintained/libuniso/musl-missing-typesh.patch
@@ -0,0 +1,10 @@
+--- a/libuniso.c.orig
++++ b/libuniso.c
+@@ -30,6 +30,7 @@
+ #include <string.h>
+ #include <endian.h>
+ #include <sys/stat.h>
++#include <sys/types.h>
+
+ #include "uniso.h"
+
diff --git a/unmaintained/libusbmuxd/APKBUILD b/unmaintained/libusbmuxd/APKBUILD
new file mode 100644
index 0000000000..6dfd91bad4
--- /dev/null
+++ b/unmaintained/libusbmuxd/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=libusbmuxd
+pkgver=1.0.10
+pkgrel=0
+pkgdesc="USB Multiplex Daemon"
+url="http://marcansoft.com/blog/iphonelinux/usbmuxd/"
+arch="all"
+license="LGPL2.1"
+depends="libplist libusb"
+depends_dev="libplist-dev libusb-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://www.libimobiledevice.org/downloads/libusbmuxd-$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
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="${pkgdir}" install
+}
+
+md5sums="e5351ff6f6eedcb50701e02d91cc480c libusbmuxd-1.0.10.tar.bz2"
+sha256sums="1aa21391265d2284ac3ccb7cf278126d10d354878589905b35e8102104fec9f2 libusbmuxd-1.0.10.tar.bz2"
+sha512sums="180cde2e9d0860d07d29813e68abf8ca807f75e98424b50acfc1ce941ba4260922959e1047a7d2bc754470c08ed55d0a15c9367487bd41c635a52b4fbf8ff535 libusbmuxd-1.0.10.tar.bz2"
diff --git a/unmaintained/libwbxml/APKBUILD b/unmaintained/libwbxml/APKBUILD
new file mode 100644
index 0000000000..190e3ca4ac
--- /dev/null
+++ b/unmaintained/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/unmaintained/libwnck3/APKBUILD b/unmaintained/libwnck3/APKBUILD
new file mode 100644
index 0000000000..f9fcd2c0bf
--- /dev/null
+++ b/unmaintained/libwnck3/APKBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+# Contributer: Sergey Lukin <sergej.lukin@gmail.com>
+pkgname=libwnck3
+pkgver=3.14.0
+pkgrel=1
+pkgdesc="Window Navigator Construction Kit"
+url="https://git.gnome.org/browse/libwnck"
+arch="all"
+license="LGPL"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+depends=
+replaces="libwnck"
+depends_dev="glib-dev gtk+3.0-dev libx11-dev pango-dev cairo-dev
+ startup-notification-dev libxres-dev"
+makedepends="$depends_dev intltool"
+source="http://ftp.gnome.org/pub/gnome/sources/libwnck/${pkgver%.*}/libwnck-$pkgver.tar.xz"
+
+_builddir="$srcdir"/libwnck-$pkgver
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-static \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+md5sums="4538672e0d775fadedf10abeb8020047 libwnck-3.14.0.tar.xz"
+sha256sums="f5080076346609b4c36394b879f3a86b92ced3b90a37cb54c8e9a14f00e7921c libwnck-3.14.0.tar.xz"
+sha512sums="bf5953d06697b6f623f82fe3ab3158ad3a794712bf08822fe901023e740afe4b47cc026854707b77c0c63d38614133fbef589d62385a39b99ce7e8c66c8940be libwnck-3.14.0.tar.xz"
diff --git a/unmaintained/libx86/APKBUILD b/unmaintained/libx86/APKBUILD
new file mode 100644
index 0000000000..0bb12c5b21
--- /dev/null
+++ b/unmaintained/libx86/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=libx86
+pkgver=1.1
+pkgrel=0
+pkgdesc="Library for making real-mode x86 calls"
+url="http://www.codon.org.uk/~mjg59/libx86"
+arch="x86 x86_64"
+license="MIT"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://www.codon.org.uk/~mjg59/libx86/downloads/libx86-$pkgver.tar.gz
+ libx86-add-pkgconfig.patch
+ libx86-mmap-offset.patch
+ "
+
+_builddir="$srcdir"/libx86-$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 BACKEND=x86emu || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="41bee1f8e22b82d82b5f7d7ba51abc2a libx86-1.1.tar.gz
+7958f84486ebe60cebd85ae3807c5e58 libx86-add-pkgconfig.patch
+cfa7e8b178d2d14431dc0c3e9d5f842d libx86-mmap-offset.patch"
diff --git a/unmaintained/libx86/libx86-add-pkgconfig.patch b/unmaintained/libx86/libx86-add-pkgconfig.patch
new file mode 100644
index 0000000000..3aeaff7918
--- /dev/null
+++ b/unmaintained/libx86/libx86-add-pkgconfig.patch
@@ -0,0 +1,64 @@
+From fc4f25c4d16aaff7dcb5dd42cc20b292f4eb2218 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Tue, 4 Aug 2009 13:08:42 +1000
+Subject: [PATCH] git add x86.pc
+
+---
+ Makefile | 15 ++++++++++++---
+ x86.pc.in | 10 ++++++++++
+ 2 files changed, 22 insertions(+), 3 deletions(-)
+ create mode 100644 x86.pc.in
+
+diff --git a/Makefile b/Makefile
+index 951b617..953a499 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,6 +1,7 @@
+ OBJECTS = x86-common.o
+ CFLAGS ?= -O2 -Wall -DDEBUG -g
+ LIBDIR ?= /usr/lib
++INCLUDEDIR ?= /usr/include
+
+ ifeq ($(BACKEND),x86emu)
+ OBJECTS += thunk.o x86emu/decode.o x86emu/debug.o x86emu/fpu.o \
+@@ -29,10 +30,18 @@ objclean:
+ rm -f *.o *~
+
+ clean: objclean
+- rm -f *.so.1 *.a
++ rm -f *.so.1 *.a x86.pc
+
+-install: libx86.so.1
++x86.pc:
++ sed -e's,@prefix@,/usr,' x86.pc.in > x86.pc
++ sed -e's,@exec_prefix@,/usr,' -i x86.pc
++ sed -e's,@libdir@,${LIBDIR},' -i x86.pc
++ sed -e's,@includedir@,${INCLUDEDIR},' -i x86.pc
++ sed -e's,@PACKAGE_VERSION@,1.1,' -i x86.pc
++
++install: libx86.so.1 x86.pc
+ install -D libx86.so.1 $(DESTDIR)$(LIBDIR)/libx86.so.1
+ install -D libx86.a $(DESTDIR)$(LIBDIR)/libx86.a
++ install -D x86.pc $(DESTDIR)$(LIBDIR)/pkgconfig/x86.pc
+ ln -sf libx86.so.1 $(DESTDIR)$(LIBDIR)/libx86.so
+- install -p -m 0644 -D lrmi.h $(DESTDIR)/usr/include/libx86.h
++ install -p -m 0644 -D lrmi.h $(DESTDIR)$(INCLUDEDIR)/libx86.h
+diff --git a/x86.pc.in b/x86.pc.in
+new file mode 100644
+index 0000000..711d90d
+--- /dev/null
++++ b/x86.pc.in
+@@ -0,0 +1,10 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: x86
++Description: Library providing x86 emulator access
++Version: @PACKAGE_VERSION@
++Cflags: -I${includedir}
++Libs: -L${libdir} -lx86
+--
+1.5.4.1
+
diff --git a/unmaintained/libx86/libx86-mmap-offset.patch b/unmaintained/libx86/libx86-mmap-offset.patch
new file mode 100644
index 0000000000..881bc6615d
--- /dev/null
+++ b/unmaintained/libx86/libx86-mmap-offset.patch
@@ -0,0 +1,187 @@
+diff -ur libx86-1.1/lrmi.c libx86-1.1.hack/lrmi.c
+--- libx86-1.1/lrmi.c 2006-10-30 15:10:16.000000000 -0500
++++ libx86-1.1.hack/lrmi.c 2009-10-26 15:55:42.000000000 -0400
+@@ -136,7 +136,7 @@
+ if (context.ready)
+ return 1;
+
+- if (!LRMI_common_init())
++ if (!LRMI_common_init(0))
+ return 0;
+
+ /*
+diff -ur libx86-1.1/thunk.c libx86-1.1.hack/thunk.c
+--- libx86-1.1/thunk.c 2008-04-02 20:48:00.000000000 -0400
++++ libx86-1.1.hack/thunk.c 2009-10-26 16:05:39.000000000 -0400
+@@ -139,11 +139,11 @@
+ int i;
+ X86EMU_intrFuncs intFuncs[256];
+
+- if (!LRMI_common_init())
++ mmap_addr = LRMI_common_init(1);
++
++ if (!mmap_addr)
+ return 0;
+
+- mmap_addr = 0;
+-
+ X86EMU_pioFuncs pioFuncs = {
+ (&x_inb),
+ (&x_inw),
+@@ -169,10 +169,10 @@
+ X86_ESP = 0xFFF9;
+ memset (stack, 0, 64*1024);
+
+- *((char *)0) = 0x4f; /* Make sure that we end up jumping back to a
+- halt instruction */
++ *mmap_addr = 0x4f; /* Make sure that we end up jumping back to a
++ halt instruction */
+
+- M.mem_base = 0;
++ M.mem_base = (unsigned long)mmap_addr;
+ M.mem_size = 1024*1024;
+
+ return 1;
+diff -ur libx86-1.1/x86-common.c libx86-1.1.hack/x86-common.c
+--- libx86-1.1/x86-common.c 2008-05-16 12:56:23.000000000 -0400
++++ libx86-1.1.hack/x86-common.c 2009-10-26 16:03:21.000000000 -0400
+@@ -45,14 +45,15 @@
+ static struct {
+ int ready;
+ int count;
++ void *offset;
+ struct mem_block blocks[REAL_MEM_BLOCKS];
+ } mem_info = { 0 };
+
+ static int
+-real_mem_init(void)
++real_mem_init(int high_page)
+ {
+ void *m;
+- int fd_zero;
++ int fd_zero, flags = MAP_SHARED;
+
+ if (mem_info.ready)
+ return 1;
+@@ -63,9 +64,12 @@
+ return 0;
+ }
+
++ if (!high_page)
++ flags |= MAP_FIXED;
++
+ m = mmap((void *)REAL_MEM_BASE, REAL_MEM_SIZE,
+- PROT_READ | PROT_WRITE | PROT_EXEC,
+- MAP_FIXED | MAP_SHARED, fd_zero, 0);
++ PROT_READ | PROT_WRITE | PROT_EXEC,
++ flags, fd_zero, 0);
+
+ if (m == (void *)-1) {
+ perror("mmap /dev/zero");
+@@ -76,6 +80,7 @@
+ close(fd_zero);
+
+ mem_info.ready = 1;
++ mem_info.offset = m;
+ mem_info.count = 1;
+ mem_info.blocks[0].size = REAL_MEM_SIZE;
+ mem_info.blocks[0].free = 1;
+@@ -87,7 +92,7 @@
+ real_mem_deinit(void)
+ {
+ if (mem_info.ready) {
+- munmap((void *)REAL_MEM_BASE, REAL_MEM_SIZE);
++ munmap(mem_info.offset, REAL_MEM_SIZE);
+ mem_info.ready = 0;
+ }
+ }
+@@ -119,7 +124,7 @@
+ LRMI_alloc_real(int size)
+ {
+ int i;
+- char *r = (char *)REAL_MEM_BASE;
++ char *r = (char *)mem_info.offset;
+
+ if (!mem_info.ready)
+ return NULL;
+@@ -151,7 +156,7 @@
+ LRMI_free_real(void *m)
+ {
+ int i;
+- char *r = (char *)REAL_MEM_BASE;
++ char *r = (char *)mem_info.offset;
+
+ if (!mem_info.ready)
+ return;
+@@ -200,13 +205,15 @@
+ return *(unsigned short *)(i * 4);
+ }
+
+-int LRMI_common_init(void)
++void *LRMI_common_init(int high_page)
+ {
+- void *m;
++ void *m, *offset;
+ int fd_mem;
+
+- if (!real_mem_init())
+- return 0;
++ if (!real_mem_init(high_page))
++ return NULL;
++
++ offset = mem_info.offset - REAL_MEM_BASE;
+
+ /*
+ Map the Interrupt Vectors (0x0 - 0x400) + BIOS data (0x400 - 0x502)
+@@ -217,33 +224,33 @@
+ if (fd_mem == -1) {
+ real_mem_deinit();
+ perror("open /dev/mem");
+- return 0;
++ return NULL;
+ }
+
+- m = mmap((void *)0, 0x502,
+- PROT_READ | PROT_WRITE | PROT_EXEC,
+- MAP_FIXED | MAP_SHARED, fd_mem, 0);
++ m = mmap(offset, 0x502,
++ PROT_READ | PROT_WRITE | PROT_EXEC,
++ MAP_FIXED | MAP_SHARED, fd_mem, 0);
+
+ if (m == (void *)-1) {
+ close(fd_mem);
+ real_mem_deinit();
+ perror("mmap /dev/mem");
+- return 0;
++ return NULL;
+ }
+
+- m = mmap((void *)0xa0000, 0x100000 - 0xa0000,
++ m = mmap(offset+0xa0000, 0x100000 - 0xa0000,
+ PROT_READ | PROT_WRITE | PROT_EXEC,
+ MAP_FIXED | MAP_SHARED, fd_mem, 0xa0000);
+
+ if (m == (void *)-1) {
+- munmap((void *)0, 0x502);
++ munmap(offset, 0x502);
+ close(fd_mem);
+ real_mem_deinit();
+ perror("mmap /dev/mem");
+- return 0;
++ return NULL;
+ }
+
+ close(fd_mem);
+
+- return 1;
++ return offset;
+ }
+diff -ur libx86-1.1/x86-common.h libx86-1.1.hack/x86-common.h
+--- libx86-1.1/x86-common.h 2006-09-07 18:44:27.000000000 -0400
++++ libx86-1.1.hack/x86-common.h 2009-10-26 16:01:19.000000000 -0400
+@@ -40,4 +40,4 @@
+
+ void *LRMI_alloc_real(int size);
+ void LRMI_free_real(void *m);
+-int LRMI_common_init(void);
++void *LRMI_common_init(int high_page);
diff --git a/unmaintained/libzen/APKBUILD b/unmaintained/libzen/APKBUILD
new file mode 100644
index 0000000000..0ca3ea6e9e
--- /dev/null
+++ b/unmaintained/libzen/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=libzen
+pkgver=0.4.31
+pkgrel=0
+pkgdesc="shared library for libmediainfo and mediainfo"
+url="http://mediainfo.sourceforge.net"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="$depends_dev libtool autoconf automake"
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/zenlib/${pkgname}_${pkgver}.tar.bz2"
+
+_builddir="$srcdir"/ZenLib/Project/GNU/Library
+
+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"
+ ./autogen || return 1
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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
+}
+
+md5sums="a53c78a0e36586700c44a7f19dc88b51 libzen_0.4.31.tar.bz2"
+sha256sums="9fd0ed1861986c59d00e9674efc3afab487172c16e85384d7037b6608a5da4b4 libzen_0.4.31.tar.bz2"
+sha512sums="ab881b0bf6932c6198649898b03634cdb0c133b4b8cbbb29fd6273b858f7b548cac70a7866622b5b3b5d67f28f9cf4856c95a1cca98bbecdf44291c59fe79765 libzen_0.4.31.tar.bz2"
diff --git a/unmaintained/lightdm-gtk-greeter/APKBUILD b/unmaintained/lightdm-gtk-greeter/APKBUILD
new file mode 100644
index 0000000000..b291f717ed
--- /dev/null
+++ b/unmaintained/lightdm-gtk-greeter/APKBUILD
@@ -0,0 +1,54 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=lightdm-gtk-greeter
+pkgver=1.8.5
+pkgrel=0
+pkgdesc="LightDM GTK+ Greeter"
+url="https://launchpad.net/lightdm-gtk-greeter"
+arch="all"
+license="GPLv3+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev gnome-doc-utils gobject-introspection-dev gtk+3.0-dev
+ intltool lightdm-dev"
+install=""
+subpackages="$pkgname-lang $pkgname-doc"
+source="https://launchpad.net/lightdm-gtk-greeter/1.8/$pkgver/+download/lightdm-gtk-greeter-$pkgver.tar.gz
+ lightdm-gtk-greeter-1.8.5-bg_crash.patch
+ "
+
+_builddir="$srcdir"/lightdm-gtk-greeter-$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"
+ DATADIRNAME=share ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="ce1384d6738a5757d26091792f29f1e1 lightdm-gtk-greeter-1.8.5.tar.gz
+36ea04fef15e79e6b1bccf901c832b20 lightdm-gtk-greeter-1.8.5-bg_crash.patch"
+sha256sums="22386e787dc64ac372c63cf2cdce47bfa1c791d1cf8b5d3df68df24ecfbf7d68 lightdm-gtk-greeter-1.8.5.tar.gz
+ea8e12973b4e1a75c436564cbd44851a40057d8c6b51c4dc86ed5c37dee154f0 lightdm-gtk-greeter-1.8.5-bg_crash.patch"
+sha512sums="e1091b6e7d470259859b5f76f59db3402ab33e327eaff650275c0a44c8e17858f14c0afbd6815ec9c3283bd09a496ed5b65b27518755ca282719df44a8f6ee18 lightdm-gtk-greeter-1.8.5.tar.gz
+c7273946c1343f56503e2cdc91784a46952db84c3699984c4c0e8bee412c2daba7f0a773dba9e4e2db2f8cdb60e40e67b1008b8cc0b21709c071671753ff01bb lightdm-gtk-greeter-1.8.5-bg_crash.patch"
diff --git a/unmaintained/lightdm-gtk-greeter/lightdm-gtk-greeter-1.8.5-bg_crash.patch b/unmaintained/lightdm-gtk-greeter/lightdm-gtk-greeter-1.8.5-bg_crash.patch
new file mode 100644
index 0000000000..1941eddc90
--- /dev/null
+++ b/unmaintained/lightdm-gtk-greeter/lightdm-gtk-greeter-1.8.5-bg_crash.patch
@@ -0,0 +1,12 @@
+diff -up lightdm-gtk-greeter-1.8.5/src/lightdm-gtk-greeter.c.bg_crash lightdm-gtk-greeter-1.8.5/src/lightdm-gtk-greeter.c
+--- lightdm-gtk-greeter-1.8.5/src/lightdm-gtk-greeter.c.bg_crash 2014-05-05 13:39:10.833190035 -0500
++++ lightdm-gtk-greeter-1.8.5/src/lightdm-gtk-greeter.c 2014-05-05 13:41:53.725481558 -0500
+@@ -2060,7 +2060,7 @@ set_background (GdkPixbuf *new_bg)
+ {
+ gdk_screen_get_monitor_geometry (screen, monitor, &monitor_geometry);
+
+- if (bg)
++ if (bg && (monitor_geometry.width > 0) && (monitor_geometry.height > 0))
+ {
+ p_width = gdk_pixbuf_get_width (bg);
+ p_height = gdk_pixbuf_get_height (bg);
diff --git a/unmaintained/linux_logo/APKBUILD b/unmaintained/linux_logo/APKBUILD
new file mode 100644
index 0000000000..8437cc20be
--- /dev/null
+++ b/unmaintained/linux_logo/APKBUILD
@@ -0,0 +1,62 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=linux_logo
+pkgver=5.11
+pkgrel=0
+pkgdesc="Text-based logo and system information program"
+url="http://www.deater.net/weave/vmwprod/linux_logo"
+arch="all"
+license="GPL"
+depends="gettext"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc $pkgname-lang"
+source="http://www.deater.net/weave/vmwprod/$pkgname/$pkgname-$pkgver.tar.gz
+ alpinelinux.logo
+ $pkgname.initd
+ $pkgname.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
+
+ cp "$srcdir"/alpinelinux.logo logos/distributions/
+ echo "./logos/distributions/alpinelinux.logo" >logo_config
+ echo "./logos/distributions/gnu-linux.logo" >>logo_config
+ echo "./logos/banner.logo" >>logo_config
+ echo "./logos/classic.logo" >>logo_config
+}
+
+build() {
+ cd "$_builddir"
+ export LDFLAGS="$LDFLAGS -lintl"
+ ./configure --prefix=/usr
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make PREFIX="${pkgdir}/usr" install
+ install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -Dm644 "$srcdir"/$pkgname.conf "$pkgdir"/etc/
+}
+
+md5sums="8e52af520368980ceba978330881e36e linux_logo-5.11.tar.gz
+490d8222bf5b11770a042fd8fc37b4ff alpinelinux.logo
+072c6af5ce1ec477d1b9ac31ab4f65ab linux_logo.initd
+cd06a9c659d80c7dbd4af676e8ce18fa linux_logo.conf"
+sha256sums="f56634d7b6bebd6598705d973997435fdc9cb9115dea3cc1d63398c92ebe72d9 linux_logo-5.11.tar.gz
+673517275bb58228a802af3c17b502aad85bb35943a5c5237b8ca3ebf8fb094e alpinelinux.logo
+b7611ae9d685158d66fe575a9575c7111470dedd4193486fbf621b079a5de0d5 linux_logo.initd
+9695f48979b2c206d05aa3f10dfb677b49b0b7554db6e110482c686c34afd0b8 linux_logo.conf"
+sha512sums="3c11d59eeb1ea613eb66d3ea5ef2d7c9ef906cb12430b9350570a6a1937ec174bdd974e6227358339c3fd2e0647a5066a0bea22289c4aa9bc8b03afb0033f114 linux_logo-5.11.tar.gz
+3a1f3cc5e85f5914bbe4003b770325925e1ed6b2369705c3c8c52c7c5feb25ade8e3b168ec2078b2fd1f5ddbac5ab30a022ce871c1c0063b5e7bc26551c6a8a3 alpinelinux.logo
+0c021418a4e7e31df3aada8bd3c7cebd97f8e812d086a45aaff5d5779650195e92e87072a3627a3bb50384f10fccafd78cd966c8daed6775bbe58f6305e6db53 linux_logo.initd
+d4da673171c28c594f8f3fad1e7e3b218e48d27857c94509bdfc5df5ba45d07199c19b3326ee7c9dc8bdf1a67cfc22f84526cf3e13c4f1d4054b20b92bbb4b94 linux_logo.conf"
diff --git a/unmaintained/linux_logo/alpinelinux.logo b/unmaintained/linux_logo/alpinelinux.logo
new file mode 100644
index 0000000000..0a03722620
--- /dev/null
+++ b/unmaintained/linux_logo/alpinelinux.logo
@@ -0,0 +1,54 @@
+# Alpine Linux ANSI and ASCII Logo v0.1
+# Drawn by Francesco Colista <fcolista@alpinelinux.org>
+# Released under GPL2
+
+SYSINFO_POSITION bottom
+
+NAME alpine
+
+DESCRIPTION_STRING The Alpine Linux Logo
+
+
+
+BEGIN_ASCII_LOGO
+ ''''''''''''''` ''
+ `''''''''''''''' ''
+ ''''''''''''''''; ''
+ ,''''''''''''''''' ''
+ ''''''''''''''''''' ''
+ ;''''''''''''''''''' ,;;;, '' ,;;;` :;;;`
+ ''''''''''''''''''''' ,'''''''' '' ''''''''` '' '''''''' .'''''''';
+ '''''''' `'''''''''''', :''';:;'''' ;' '''';;'''', `' '''';;'''' ''''''''''''
+ .''''''' .''; '''''''' '': .'' ; ''` ''' '. ''' ''' ''', ''
+ ''''''' .' ''''''': ''' '', '' ''' ''; '' '' '' '' ''
+ ,'''''' , ''''''' ''` ;'' '' '', .'' '' ,'' '' .'' .....;''
+ '''''' '' .: ''''''' '' ,'' '' ''. '' '' :'' ''`;'' '''''''''
+;''''' '''' .; '''''' '' .'' '' ''. `'' '' :'' ''`;'' '''''''`
+ '''' ,,'''' .; ''''' ''. .'' '' ''. .'' '' :'' ''`,''
+ ,'' , ,''''' `; ''' ''' .'' ''' ''. ''; '' :'' ''` ''
+ '''';''';'''''':'''';''': ''; .'' `''; ''` ''' '' :'' ''` '''
+ `''''''''''''''''''''''' :'''', .'' ;''';. '; ,'''', '' :'' ''` ''';........
+ ''''''''''''''''''''''. .'''' .'' .'''' ;` ''''. '' :'' ''` '''''''''''
+ ''''''''''''''''''''' `'' '' `'' ''` ''` '' :'' ,'` `'''''''''
+ :''''''''''''''''''' ''` .
+ ''''''''''''''''''; ''` . ` ,;;, . : , :
+ ,''''''''''''''''' ''` . . ' ; , ' `.
+ '''''''''''''''': ''` . . : : . ' .
+ ''''''''''''''' ''` ; . : : ' : `.
+ ;:::::::::::::` ::` ,;;; ` , , .;;` , :
+END_ASCII_LOGO
+
+BEGIN_LOGO
+ 8;8%8t8S8;8 %8 
+ X88@@88XX88@X 88 
+ 8S8t8X8%8S8t8X8 8 8S 8 
+ 8:@@8; @@8@@@8;@8 8:@@8;@ 8 8:@88;@ 8 8:@88;@8 8:@@8;@@ 
+ @t8S8t 8 %8t8S@ ;8 %8 t 8S 8; 8 %8 t 8S @;
+ @88X X 88@@ 88 8X 88 @@ 88 X X8 8@ @ 88XX888
+8X8% 8S8t 8X8% 8 S8 t8 X8 %8 S 8t 8X 8 
+ 8;@ @88@@8;@@88 @@8 ;8 88 8@8 8; 8@ 8 :@ @8 ;8 
+ @;8%8t8S8;8%8t8S@ ;8%8 88 S8; @ %8t8 S 8; 8% @t8S8;8%8
+ X88@@88XX88@@88 XX 
+ 8S8t8X8%8S8t8 X8 
+ 8:@@8;@@8:@ @8 
+END_LOGO
diff --git a/unmaintained/linux_logo/linux_logo.conf b/unmaintained/linux_logo/linux_logo.conf
new file mode 100644
index 0000000000..e98971989a
--- /dev/null
+++ b/unmaintained/linux_logo/linux_logo.conf
@@ -0,0 +1,18 @@
+# /etc/linux_logo.conf
+#
+# This conf file controls linux_logo. Place your command-line options
+# for linux_logo on the first line of this file. Users may use a
+# ~/.linux_logo file which will over-ride this file.
+#
+# The following logos are compiled in to the ArchLinux version of linux_logo:
+#
+# Num Type Ascii Name Description
+# 1 Classic Yes arch The ArchLinux Logo
+# 2 Classic Yes gnu_linux Classic GNU/Linux
+# 3 Banner Yes banner The Default Banner Logo
+# 4 Classic Yes classic The Default Classic Logo
+#
+# See the man page or the output of linux_logo -h for a complete
+# list a command-line options.
+
+-L alpine
diff --git a/unmaintained/linux_logo/linux_logo.initd b/unmaintained/linux_logo/linux_logo.initd
new file mode 100644
index 0000000000..68a6700aec
--- /dev/null
+++ b/unmaintained/linux_logo/linux_logo.initd
@@ -0,0 +1,36 @@
+#!/sbin/openrc-run
+
+ISSUE_BACKUP_FILE="/etc/issue.linux-logo.backup"
+ISSUE_NET_BACKUP_FILE="/etc/issue.net.linux-logo.backup"
+
+start() {
+ ebegin "Starting linux_logo"
+
+ if [ ! -x /usr/bin/linux_logo ]
+ then
+ eerror "ERROR: linux_logo not found !"
+ return 1
+ fi
+
+ ebegin " Creating /etc/issue"
+ cp /etc/issue ${ISSUE_BACKUP_FILE} 2> /dev/null
+ /usr/bin/linux_logo ${LOGO} ${OPTIONS} -F "${FORMAT}" > /etc/issue
+ eend $? " Failed to create /etc/issue"
+
+ if [ -f /etc/issue.net ]
+ then
+ ebegin " Creating /etc/issue.net"
+ cp /etc/issue.net ${ISSUE_NET_BACKUP_FILE} 2> /dev/null
+ /usr/bin/linux_logo ${LOGO} ${OPTIONS} -F "${FORMATNET}" > \
+ /etc/issue.net
+ eend $? " Failed to create /etc/issue.net"
+ fi
+}
+
+stop() {
+ ebegin "Stopping linux_logo"
+ [ -f ${ISSUE_NET_BACKUP_FILE} ] && \
+ mv ${ISSUE_NET_BACKUP_FILE} /etc/issue.net 2> /dev/null
+ [ -f ${ISSUE_BACKUP_FILE} ] && \
+ mv ${ISSUE_BACKUP_FILE} /etc/issue 2> /dev/null
+}
diff --git a/unmaintained/lrzsz/APKBUILD b/unmaintained/lrzsz/APKBUILD
new file mode 100644
index 0000000000..782c7a2f9d
--- /dev/null
+++ b/unmaintained/lrzsz/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=lrzsz
+pkgver=0.12.20
+pkgrel=0
+pkgdesc="xmodem, ymodem and zmodem file transfer protocols"
+url="http://www.ohse.de/uwe/software/lrzsz.html"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://www.ohse.de/uwe/releases/$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
+
+ # make install tries to remove stuff from /usr/bin
+ sed -i -e '/rm -f $(bindir)/d' src/Makefile.in
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --program-transform-name=s/l//
+ make -j1
+}
+
+package() {
+ cd "$_builddir"
+ make -j1 DESTDIR="$pkgdir" install
+}
+
+md5sums="b5ce6a74abc9b9eb2af94dffdfd372a4 lrzsz-0.12.20.tar.gz"
diff --git a/unmaintained/lua-base64url/APKBUILD b/unmaintained/lua-base64url/APKBUILD
new file mode 100644
index 0000000000..11f083a146
--- /dev/null
+++ b/unmaintained/lua-base64url/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=lua-base64url
+pkgver=5.1.20121219
+pkgrel=1
+pkgdesc="A urlsafe base64 library for Lua"
+url="https://github.com/ncopa/lbase64url"
+arch="all"
+license="Public Domain"
+depends=lua
+makedepends="lua-dev"
+install=
+subpackages=
+source="http://dev.alpinelinux.org/archive/lbase64url/lbase64url-$pkgver.tar.gz"
+
+_builddir="$srcdir"/base64url
+
+prepare() {
+ cd "$_builddir"
+}
+
+build() {
+ cd "$_builddir"
+ make LUABIN=/usr/bin || return 1
+}
+
+package() {
+ cd "$_builddir"
+ local cmod=$(pkg-config --variable INSTALL_CMOD lua)
+ mkdir -p "$pkgdir"/$cmod
+ cp -a *.so "$pkgdir"/$cmod/
+}
+
+md5sums="041e640987a6e5c9bb087d333faba8b9 lbase64url-5.1.20121219.tar.gz"
diff --git a/unmaintained/lua-cloud_storage/APKBUILD b/unmaintained/lua-cloud_storage/APKBUILD
new file mode 100644
index 0000000000..4fb06ac3c4
--- /dev/null
+++ b/unmaintained/lua-cloud_storage/APKBUILD
@@ -0,0 +1,61 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=lua-cloud_storage
+pkgver=0.1.0
+_luaversions="5.1 5.2 5.3"
+pkgrel=3
+pkgdesc="A Lua library for communicating with Google Cloud Storage"
+url="https://github.com/leafo/cloud_storage"
+arch="noarch"
+license="MIT"
+depends=""
+depends_dev=""
+makedepends="$depends_dev lua-moonscript"
+install=""
+subpackages=""
+source="$pkgname-$pkgver.tar.gz::https://github.com/leafo/cloud_storage/archive/v$pkgver.tar.gz"
+for _v in $_luaversions; do
+ subpackages="$subpackages lua$_v-cloud_storage:split_${_v/./_}"
+done
+
+_builddir="$srcdir"/cloud_storage-$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() {
+ mkdir -p "$pkgdir"
+}
+
+_split() {
+ cd "$_builddir"
+ local _ver="$1"
+ pkgdesc="A Lua $_ver library for communicating with Google Cloud Storage"
+ install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
+ depends="lua${_ver}-socket lua${_ver}-cjson lua${_ver}-mimetypes
+ lua${_ver}-crypto lua${_ver}-expat lua${_ver}-date"
+ mkdir -p "$subpkgdir"/usr/share/lua/$_ver/cloud_storage
+ cp cloud_storage/*.lua \
+ "$subpkgdir"/usr/share/lua/$_ver/cloud_storage/ || return 1
+ mv "$subpkgdir"/usr/share/lua/$_ver/cloud_storage/google.lua \
+ "$subpkgdir"/usr/share/lua/$_ver/ || return 1
+}
+
+for _v in $_luaversions; do
+ eval "split_${_v/./_}() { _split $_v; }"
+done
+
+md5sums="dae6fcd15554368f3b9fcc8d9be40542 lua-cloud_storage-0.1.0.tar.gz"
+sha256sums="58eb6c8767daa07c05accf0a0624fa4ef5574865cfac631dff9768ec2dfdea29 lua-cloud_storage-0.1.0.tar.gz"
+sha512sums="d1fe7811469cc2dce11319692500c1d3d78b39a8e3c6ad9513a1ad694c080ee8fc1872c76c08cdc3d777098407ad46574c18de95eb453d3333394b24c727e0ad lua-cloud_storage-0.1.0.tar.gz"
diff --git a/unmaintained/lua-cyrus-sasl/APKBUILD b/unmaintained/lua-cyrus-sasl/APKBUILD
new file mode 100644
index 0000000000..43a99f40c9
--- /dev/null
+++ b/unmaintained/lua-cyrus-sasl/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Leonardo Arena <larena@alpinelinux.org>
+# Maintainer:
+pkgname=lua-cyrus-sasl
+_realname=lua-cyrussasl
+pkgver=1.0.0
+pkgrel=1
+pkgdesc="Cyrus SASL library for Lua 5.1"
+url="https://github.com/JorjBauer/lua-cyrussasl"
+arch="all"
+license="BSD"
+depends=
+makedepends="cyrus-sasl-dev lua-dev wget"
+install=
+subpackages=
+source="http://dev.alpinelinux.org/archive/lua-cyrussals/lua-cyrussasl-v1.0.0-0.tar.gz
+ lua-cyrussasl-v1.0.0-Makefile.patch"
+#source="http://dev.alpinelinux.org/archive/${_realname}/${_realname}-v${pkgver}-0.tar.gz"
+
+_builddir="$srcdir"/$_realname-v$pkgver
+
+prepare() {
+ cd $_builddir
+ patch -p1 < "$srcdir"/lua-cyrussasl-v1.0.0-Makefile.patch
+}
+
+build() {
+ cd "$_builddir"
+ make
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/usr/lib/lua/5.1
+ make CPATH="$pkgdir"/usr/lib/lua/5.1 install
+}
+
+md5sums="551c0ad88ca114c7b44c8e5c447a9c34 lua-cyrussasl-v1.0.0-0.tar.gz
+fbcb022f3ce9d5679454edac3b1f8c32 lua-cyrussasl-v1.0.0-Makefile.patch"
diff --git a/unmaintained/lua-cyrus-sasl/lua-cyrussasl-v1.0.0-Makefile.patch b/unmaintained/lua-cyrus-sasl/lua-cyrussasl-v1.0.0-Makefile.patch
new file mode 100644
index 0000000000..0d2c63d712
--- /dev/null
+++ b/unmaintained/lua-cyrus-sasl/lua-cyrussasl-v1.0.0-Makefile.patch
@@ -0,0 +1,27 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,15 +1,15 @@
+ # Linux (Debian Lenny)
+-#CFLAGS=-g -O2 -fpic -I/usr/include/lua5.1
+-#LDFLAGS=-O -shared -fpic -lsasl2
+-#LUAPATH=/usr/share/lua/5.1
+-#CPATH=/usr/lib/lua/5.1
++CFLAGS=-g -O2 -fpic -I/usr/include/lua5.1
++LDFLAGS=-O -shared -fpic -lsasl2
++LUAPATH=/usr/share/lua/5.1
++CPATH=/usr/lib/lua/5.1
+
+ # MacOS
+-CFLAGS=-g -Wall -O2
+-LDFLAGS=-bundle -undefined dynamic_lookup -lsasl2
+-MACOSX_VERSION=10.5
+-LUAPATH=/usr/local/share/lua/5.1
+-CPATH=/usr/local/lib/lua/5.1
++#CFLAGS=-g -Wall -O2
++#LDFLAGS=-bundle -undefined dynamic_lookup -lsasl2
++#MACOSX_VERSION=10.5
++#LUAPATH=/usr/local/share/lua/5.1
++#CPATH=/usr/local/lib/lua/5.1
+
+ #########################################################
+ #
diff --git a/unmaintained/lua-date/APKBUILD b/unmaintained/lua-date/APKBUILD
new file mode 100644
index 0000000000..bd4e9987ed
--- /dev/null
+++ b/unmaintained/lua-date/APKBUILD
@@ -0,0 +1,56 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=lua-date
+pkgver=2.1.1
+_luaversions="5.1 5.2 5.3"
+pkgrel=0
+pkgdesc="Date & Time module for Lua"
+url="http://tieske.github.io/date/"
+arch="noarch"
+license="MIT"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="$pkgname-$pkgver.tar.gz::https://github.com/Tieske/date/archive/version_$pkgver.tar.gz"
+for _v in $_luaversions; do
+ subpackages="$subpackages lua$_v-date:split_${_v/./_}"
+done
+
+_builddir="$srcdir"/date-version_$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"
+}
+
+package() {
+ mkdir -p "$pkgdir"
+}
+
+_split() {
+ cd "$_builddir"
+ local _ver="$1"
+ pkgdesc="Date & Time module for Lua $_ver"
+ install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
+ install -Dm644 date.lua \
+ "$subpkgdir"/usr/share/lua/$_ver/date.lua || return 1
+}
+
+for _v in $_luaversions; do
+ eval "split_${_v/./_}() { _split $_v; }"
+done
+
+md5sums="fbf98dc124b6c2e6600ae8b43a0752f7 lua-date-2.1.1.tar.gz"
+sha256sums="4a27cc920f884b86b90b4c93fd06647743214fedfd27b801dcf597a954eafae5 lua-date-2.1.1.tar.gz"
+sha512sums="aa7726edcebd500a99267b7f380579940c774d4bfcb85de55ad0d31072a7b7e84232b3e30fc1b04f2b0bd03be646a70ce1d86ef746766e23e441ce97932fbc1e lua-date-2.1.1.tar.gz"
diff --git a/unmaintained/lua-ejdb/APKBUILD b/unmaintained/lua-ejdb/APKBUILD
new file mode 100644
index 0000000000..a846c9337f
--- /dev/null
+++ b/unmaintained/lua-ejdb/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=lua-ejdb
+pkgver=1.2.3
+pkgrel=0
+pkgdesc="EJDB Lua binding for Lua 5.1"
+url="https://github.com/Softmotions/ejdb-lua"
+arch="all"
+license="GPLv2"
+depends="lua5.1-inspect"
+depends_dev=""
+makedepends="$depends_dev lua5.1-dev ejdb-dev"
+install=""
+subpackages=""
+source="http://dev.alpinelinux.org/archive/lua-ejdb/lua-ejdb-$pkgver.tar.gz
+ unbundle-inspect.patch"
+
+_builddir="$srcdir/ejdb-lua-master"
+
+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"
+ ${CC:-gcc} $CFLAGS $(pkg-config --cflags libejdb) -shared -fPIC -o \
+ luaejdb.so luaejdb.c luabson.c $(pkg-config --libs libejdb)
+}
+
+package() {
+ cd "$_builddir"
+ install -Dm644 luaejdb.so \
+ "$pkgdir"/usr/lib/lua/5.1/luaejdb.so || return 1
+ install -Dm644 ejdb.lua \
+ "$pkgdir"/usr/share/lua/5.1/ejdb.lua || return 1
+}
+
+md5sums="d2295fd8aa3e5bc1188ee261a8645a66 lua-ejdb-1.2.3.tar.gz
+6ffcbd12d1e97b6dc53b29e1f349396b unbundle-inspect.patch"
+sha256sums="75866565110c0c7e3566794b01a79394179b24685fd89c28f7ca93e651435404 lua-ejdb-1.2.3.tar.gz
+da4f1d9b0f9825ba5a832c572d3a3cd5a3e1a45cd91dc4628bdd1f36c4caf8f9 unbundle-inspect.patch"
+sha512sums="d1fc7f2051fdf95a366f140d0f17e4552398138b25f580292bd1cbe2c4d1a373297fb003f103e5703bb296290ca9ad748175cff32ee3c5e1473fd6d00b23f524 lua-ejdb-1.2.3.tar.gz
+de4a79222358e368e740c3c41208ea6562212093e0e214153f137bd1a82ed99623cdc3037094dee713d75ea680a4a43f1c9318fcb4288c78ca4926acff4df386 unbundle-inspect.patch"
diff --git a/unmaintained/lua-ejdb/unbundle-inspect.patch b/unmaintained/lua-ejdb/unbundle-inspect.patch
new file mode 100644
index 0000000000..a2694a004f
--- /dev/null
+++ b/unmaintained/lua-ejdb/unbundle-inspect.patch
@@ -0,0 +1,17 @@
+--- ./ejdb.lua.orig
++++ ./ejdb.lua
+@@ -1,6 +1,6 @@
+ local luaejdb = require("luaejdb")
+ assert(type(luaejdb) == "table")
+-local inspect = require("ejdb.inspect")
++local inspect = require("inspect")
+
+ -- ------------ Misc -----------------------
+
+@@ -532,4 +532,4 @@
+ })
+ luaejdb.Q = luaejdb.B -- Name variations
+
+-return luaejdb;
+\ No newline at end of file
++return luaejdb;
diff --git a/unmaintained/lua-event/APKBUILD b/unmaintained/lua-event/APKBUILD
new file mode 100644
index 0000000000..d67c4c7312
--- /dev/null
+++ b/unmaintained/lua-event/APKBUILD
@@ -0,0 +1,81 @@
+# Contributor: Johannes Matheis <jomat+alpinebuild@jmt.gr>
+# Maintainer: Johannes Matheis <jomat+alpinebuild@jmt.gr>
+
+_luaversions="5.1 5.2"
+pkgname=lua-event
+_n=${pkgname#lua-}
+pkgver=0.4.3
+pkgrel=2
+pkgdesc="Lua binding for libevent"
+url="https://github.com/harningt/luaevent"
+arch="all"
+license="MIT"
+depends=""
+depends_dev="libevent-dev"
+makedepends="$depends_dev"
+install=""
+source="${url}/archive/v${pkgver}.tar.gz"
+
+for _i in $_luaversions; do
+ makedepends="$makedepends lua${_i}-dev"
+ subpackages="$subpackages lua${_i}-${_n}:_split${_i/./}"
+done
+
+
+_builddir="${srcdir}/luaevent-${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 "$srcdir"
+ for i in $_luaversions; do
+ cp -r "$_builddir" build-$i
+ done
+}
+
+build() {
+ cd "$_builddir"
+ for i in $_luaversions; do
+ cd "$srcdir"/build-$i
+ make LUA_INC_DIR=/usr/include/lua$i || return 1
+ done
+}
+
+package() {
+ cd "$_builddir"
+ for i in $_luaversions; do
+ cd "$srcdir"/build-$i
+ make install \
+ DESTDIR="$pkgdir" \
+ INSTALL_DIR_LUA=/usr/share/lua/$i \
+ INSTALL_DIR_BIN=/usr/lib/lua/$i \
+ || return 1
+ done
+}
+
+_split() {
+ local d= _ver=$1
+ pkgdesc="$pkgdesc - for Lua $_ver"
+ depends=
+ install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
+ for d in usr/lib/lua usr/share/lua; do
+ if [ -d "$pkgdir"/$d/$_ver ]; then
+ mkdir -p "$subpkgdir"/$d
+ mv "$pkgdir"/$d/$_ver "$subpkgdir"/$d/ || return 1
+ fi
+ done
+}
+
+for _i in $_luaversions; do
+ eval "_split${_i/./}() { _split $_i; }"
+done
+
+md5sums="3d0efc3d3751fddecedba0c25e0652df v0.4.3.tar.gz"
+sha256sums="9a3ea7671caa95af2763a7125818991b3742168db75b3025d04af5241349d9c5 v0.4.3.tar.gz"
+sha512sums="5f02c9d40e59589a2b932b49d27230ca6650174feeda2cf412769c33af056c9df52d38fdd5fc12f0f6318b788e29a2deef54f11beb4becc48818edd27185f161 v0.4.3.tar.gz"
diff --git a/unmaintained/lua-json/APKBUILD b/unmaintained/lua-json/APKBUILD
new file mode 100644
index 0000000000..062b624aff
--- /dev/null
+++ b/unmaintained/lua-json/APKBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=lua-json
+pkgver=20140920.13
+pkgrel=1
+pkgdesc="Simple JSON encoding and decoding in pure Lua"
+url="http://regex.info/blog/lua/json"
+arch="noarch"
+license="AS-IS"
+depends=""
+makedepends="lua-dev lua"
+install=""
+subpackages=""
+source="http://dev.alpinelinux.org/archive/lua-json-20140920.13.tar.gz"
+build() {
+ return 0
+}
+
+package() {
+ local _lmoddir=$(pkg-config --variable=INSTALL_LMOD lua)
+ install -Dm644 "$srcdir"/JSON.lua "${pkgdir}$_lmoddir"/JSON.lua
+}
+
+md5sums="c083c14032cedecf7243d50d68b12538 lua-json-20140920.13.tar.gz"
+sha256sums="e30a6efa30173a90d1bba1fadb25784030db3cc9b2540a6b49cc5ac678fd1cb7 lua-json-20140920.13.tar.gz"
+sha512sums="bc5eebecbf2d6b27ecb4ca9a18f3d20c0b0d6a757968b8ccaffee52799b2228b4f8dc42271d261119e75db4843121c21891e6893fe93ff321be446a8e8e5be0d lua-json-20140920.13.tar.gz"
diff --git a/unmaintained/lua-lbase64/APKBUILD b/unmaintained/lua-lbase64/APKBUILD
new file mode 100644
index 0000000000..e87ab130eb
--- /dev/null
+++ b/unmaintained/lua-lbase64/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=lua-lbase64
+pkgver=5.1.2012.08.20
+pkgrel=0
+pkgdesc="A base64 library for Lua"
+url="http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/#lbase64"
+arch="all"
+license="Public Domain"
+depends=lua
+makedepends="lua-dev"
+install=
+subpackages=
+
+# For date and checksum see:
+# http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/release.txt
+
+source="http://dev.alpinelinux.org/archive/lbase64/lbase64-$pkgver.tar.gz"
+
+_builddir="$srcdir"/base64
+
+prepare() {
+ cd "$_builddir"
+}
+
+build() {
+ cd "$_builddir"
+ make LUABIN=/usr/bin || return 1
+}
+
+package() {
+ cd "$_builddir"
+ local cmod=$(pkg-config --variable INSTALL_CMOD lua)
+ mkdir -p "$pkgdir"/$cmod
+ cp -a *.so "$pkgdir"/$cmod/
+}
+
+md5sums="4834045fe79facef524990e968783dab lbase64-5.1.2012.08.20.tar.gz"
diff --git a/unmaintained/lua-ljsyscall/APKBUILD b/unmaintained/lua-ljsyscall/APKBUILD
new file mode 100644
index 0000000000..e4c5f446d6
--- /dev/null
+++ b/unmaintained/lua-ljsyscall/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Michael Zuo <muh.muhten@gmail.com>
+# Maintainer: Michael Zuo <muh.muhten@gmail.com>
+pkgname=lua-ljsyscall
+pkgver=0.11
+pkgrel=0
+pkgdesc="LuaJIT Unix syscall FFI"
+url="http://www.myriabit.com/ljsyscall/"
+arch="all"
+license="MIT"
+depends=""
+makedepends="luajit"
+source="${pkgname#lua-}-$pkgver.tar.gz::https://github.com/justincormack/ljsyscall/archive/v$pkgver.tar.gz"
+options="!archcheck"
+
+_builddir="$srcdir/${pkgname#lua-}-$pkgver"
+build() {
+ cd "$_builddir"
+ find syscall/* -maxdepth 0 \
+ -type d \
+ -not -name linux \
+ -not -name shared \
+ -exec rm -r {} +
+ # we don't target mips, so no special case
+ find -H syscall/linux/* -maxdepth 0 \
+ -type d \
+ -not -name "`luajit -e 'print(jit.arch)'`" \
+ -exec rm -r {} +
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir/usr/share/lua/5.1"
+ cp -a syscall.lua syscall "$pkgdir/usr/share/lua/5.1"
+}
+
+md5sums="bd4a13b7bbb3b21cdfe18d7be4d53483 ljsyscall-0.11.tar.gz"
+sha256sums="2353f8e512db4b19f86b499cb12396e5915a41f000a80c61435297a72330c6f3 ljsyscall-0.11.tar.gz"
+sha512sums="0a78dc6601a0192011428447b5ab18d700ca005720d7e7c9f51fa7f38dc8f8410702da65feb72b7aa161d3934e62b5d2be3d7f345ad19e0d5356b1aa3cef3d7e ljsyscall-0.11.tar.gz"
diff --git a/unmaintained/lua-lpeg/APKBUILD b/unmaintained/lua-lpeg/APKBUILD
new file mode 100644
index 0000000000..1f603b0ae3
--- /dev/null
+++ b/unmaintained/lua-lpeg/APKBUILD
@@ -0,0 +1,70 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=lua-lpeg
+pkgver=0.12.2
+_lua_versions="5.1 5.2 5.3"
+pkgrel=0
+pkgdesc="Pattern-matching library for Lua"
+url="http://www.inf.puc-rio.br/~roberto/lpeg"
+arch="all"
+license="MIT"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-$pkgver.tar.gz"
+for _v in $_lua_versions; do
+ makedepends="$makedepends lua$_v-dev"
+ subpackages="$subpackages lua$_v-lpeg:split_${_v/./_}"
+done
+
+_builddir="$srcdir"/lpeg-$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
+
+ sed 's/^CFLAGS =/CFLAGS +=/' -i makefile || return 1
+ sed 's/^COPT =/# COPT =/' -i makefile || return 1
+
+ for _ver in $_lua_versions; do
+ cp -r "$_builddir" "$srcdir"/$pkgname-$_ver || return 1
+ done
+}
+
+build() {
+ for _ver in $_lua_versions; do
+ cd "$srcdir"/$pkgname-$_ver
+ make LUADIR=/usr/include/lua$_ver || return 1
+ done
+}
+
+package() {
+ arch="noarch"
+ mkdir -p "$pkgdir"
+}
+
+_split() {
+ local _ver="$1"
+ pkgdesc="Pattern-matching library for Lua $_ver"
+ install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
+ cd "$srcdir"/$pkgname-$_ver || return 1
+ install -Dm755 lpeg.so \
+ "$subpkgdir"/usr/lib/lua/$_ver/lpeg.so || return 1
+ install -Dm644 re.lua \
+ "$subpkgdir"/usr/share/lua/$_ver/re.lua || return 1
+}
+
+for _v in $_lua_versions; do
+ eval "split_${_v/./_}() { _split $_v; }"
+done
+
+md5sums="fabb614eb46e370d4f6b8fd82d17ca7e lpeg-0.12.2.tar.gz"
+sha256sums="6aad270b91d1b1c6fd75f68e162329a04a644e50e917d55f46cc8384b7120004 lpeg-0.12.2.tar.gz"
+sha512sums="81505674473d83e2c777d470cd6ba4eead48ecc32e58e52bc192ca7a167f882e722c5a0cae62937fb3f5f71d6216de1ba4ea3d932e72265028f293d778df5e9e lpeg-0.12.2.tar.gz"
diff --git a/unmaintained/lua-mimetypes/APKBUILD b/unmaintained/lua-mimetypes/APKBUILD
new file mode 100644
index 0000000000..595c25b23b
--- /dev/null
+++ b/unmaintained/lua-mimetypes/APKBUILD
@@ -0,0 +1,56 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=lua-mimetypes
+pkgver=1.0.0
+_luaversions="5.1 5.2 5.3"
+pkgrel=0
+pkgdesc="non-server-bound database of MIME type"
+url="https://bitbucket.org/leafstorm/lua-mimetypes"
+arch="noarch"
+license="custom"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://dev.alpinelinux.org/archive/lua-mimetypes/lua-mimetypes-$pkgver.tar.bz2"
+for _v in $_luaversions; do
+ subpackages="$subpackages lua$_v-mimetypes:split_${_v/./_}"
+done
+
+_builddir="$srcdir"/leafstorm-lua-mimetypes-02100ff1171e
+
+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"
+}
+
+package() {
+ mkdir -p "$pkgdir"
+}
+
+_split() {
+ cd "$_builddir"
+ local _ver="$1"
+ pkgdesc="A Lua $_ver non-server-bound database of MIME type"
+ install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
+ install -Dm644 mimetypes.lua \
+ "$subpkgdir"/usr/share/lua/$_ver/mimetypes.lua || return 1
+}
+
+for _v in $_luaversions; do
+ eval "split_${_v/./_}() { _split $_v; }"
+done
+
+md5sums="79fe30b1c58cdb632d6c52aa540374c8 lua-mimetypes-1.0.0.tar.bz2"
+sha256sums="5519b1a15f17e92d12b0c615ad312d508a09fe18715ce35d20b701ca6f837564 lua-mimetypes-1.0.0.tar.bz2"
+sha512sums="11b26e8e9133979ace0f40000548cec168f9ad9c3c68ac9d8a2a0c92a939a0a0e619e0fac9b2796a4231f1dbd20730a687aaa72d9cd61b0f25c9b06211b209d3 lua-mimetypes-1.0.0.tar.bz2"
diff --git a/unmaintained/lua-moonscript/APKBUILD b/unmaintained/lua-moonscript/APKBUILD
new file mode 100644
index 0000000000..c2568d32fc
--- /dev/null
+++ b/unmaintained/lua-moonscript/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=lua-moonscript
+pkgver=0.3.2
+_lua_version="5.3"
+pkgrel=0
+pkgdesc="Dynamic scripting language that compiles into Lua"
+url="http://moonscript.org/"
+arch="noarch"
+license="MIT"
+depends="lua-filesystem lua-alt-getopt lua-lpeg lua${_lua_version}"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="moonscript-$pkgver.tar.gz::https://github.com/leafo/moonscript/archive/v$pkgver.tar.gz
+ alt_getopt-compat.patch"
+
+_builddir="$srcdir"/moonscript-$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"
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p $pkgdir/usr/bin
+ cp -p bin/moon bin/moonc $pkgdir/usr/bin/
+ mkdir -p $pkgdir/usr/share/lua/$_lua_version
+ cp -pr moon moonscript $pkgdir/usr/share/lua/$_lua_version/
+ sed -i "s/env lua/env lua$_lua_version/" \
+ $pkgdir/usr/bin/moon \
+ $pkgdir/usr/bin/moonc || return 1
+}
+
+md5sums="daee6628cb844c2f79b7e308452ffc6b moonscript-0.3.2.tar.gz
+76eae0a78c93e63f4f1ae4f72a27856e alt_getopt-compat.patch"
+sha256sums="1fb616c1ed43008a03e10579cb9b3eabc9a95fae4f97d3e261819afdbaa6c4b0 moonscript-0.3.2.tar.gz
+80a232b2c61babcd59c1676a822ac788ccb392c5e5df7e8bf08925d282d86611 alt_getopt-compat.patch"
+sha512sums="6b0744bd5d7f5d9f4051d8b294d20cf812c252d2083ba44882dfc4816d8b1fbcc02f2c366cb56a1986f0b19215ac54beb3abfcf4da56143f8bc957550ffadeb3 moonscript-0.3.2.tar.gz
+3241efaf75f57bb149aa9db918186e3901fe64dc8b39f23d9570ba8a1c547b4217520029613dba840e9615054de47a95eca0ffc412e512ab9ef18d480e877f49 alt_getopt-compat.patch"
diff --git a/unmaintained/lua-moonscript/alt_getopt-compat.patch b/unmaintained/lua-moonscript/alt_getopt-compat.patch
new file mode 100644
index 0000000000..c38f06a3f5
--- /dev/null
+++ b/unmaintained/lua-moonscript/alt_getopt-compat.patch
@@ -0,0 +1,10 @@
+--- ./bin/moon.orig
++++ ./bin/moon
+@@ -1,6 +1,6 @@
+ #!/usr/bin/env lua
+
+-require "alt_getopt"
++local alt_getopt = require "alt_getopt"
+ local moonscript = require "moonscript.base"
+
+ local util = require "moonscript.util"
diff --git a/unmaintained/lua-sec-prosody/APKBUILD b/unmaintained/lua-sec-prosody/APKBUILD
new file mode 100644
index 0000000000..afb2ef2ad4
--- /dev/null
+++ b/unmaintained/lua-sec-prosody/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Borys Zhukov <borys@zhukov.im>
+# Maintainer:
+pkgname=lua-sec-prosody
+_name=luasec-prosody
+pkgver=0.5.1
+pkgrel=0
+pkgdesc="Temporary fork of lua-sec necessary for prosody to support certificate authentication"
+url="https://prosody.im/doc/depends/luasec/prosody"
+arch="all"
+license="MIT"
+depends="lua-socket"
+makedepends="lua-dev openssl-dev"
+install=
+subpackages="$pkgname-doc"
+source="
+ https://prosody.im/tmp/luasec-prosody-$pkgver.tar.gz
+ Makefile.patch
+ "
+
+_builddir="$srcdir"/$_name-$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"
+ make linux || return 1
+}
+
+package() {
+ _luasharedir=/usr/share/lua/5.1
+ _lualibdir=/usr/lib/lua/5.1
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/$_luasharedir "$pkgdir"/$_lualibdir
+ make LUAPATH="$pkgdir"/$_luasharedir \
+ LUACPATH="$pkgdir"/$_lualibdir \
+ install
+ mkdir -p "$pkgdir"/usr/share/doc/$pkgname
+ cp -r samples "$pkgdir"/usr/share/doc/$pkgname/
+}
+md5sums="fbe70f5b43419bec16afdfee2b21c34b luasec-prosody-0.5.1.tar.gz
+668380897f8711fa3b213c685592cf1f Makefile.patch"
+sha256sums="2fd34cf9c59a6491937c98ba33921d4fc418b160c0c89545f7bae4f246280ad4 luasec-prosody-0.5.1.tar.gz
+0957c69d587519f3083a8d92171442fe67993e725bd0c645f5600509e8a3ad6c Makefile.patch"
+sha512sums="eadae7f59e957ebc8df074c8e43b181380393e8dd2042bbd098576bf2d7710aa0abb4ccc87eb1b52d28e0473cc52626be6e06eabdec8821deca1cda82ad7cfe7 luasec-prosody-0.5.1.tar.gz
+f250506a7425502932ca784e3ea0c5784f0d3668f525fa8ea5d91eb198bb3b747d67b547f6f2d4ea42546f72df7a66607e2318ce823e612edb7c966466767781 Makefile.patch"
diff --git a/unmaintained/lua-sec-prosody/Makefile.patch b/unmaintained/lua-sec-prosody/Makefile.patch
new file mode 100644
index 0000000000..958c24a1be
--- /dev/null
+++ b/unmaintained/lua-sec-prosody/Makefile.patch
@@ -0,0 +1,11 @@
+--- a/src/Makefile.orig
++++ b/src/Makefile
+@@ -22,7 +22,7 @@
+
+ INSTALL ?= install
+ CC ?= cc
+-LD ?= $(MYENV) cc
++LD = $(MYENV) cc
+ CFLAGS += $(MYCFLAGS)
+ LDFLAGS += $(MYLDFLAGS)
+ DESTDIR ?= /
diff --git a/unmaintained/lua-tar/APKBUILD b/unmaintained/lua-tar/APKBUILD
new file mode 100644
index 0000000000..f13d417876
--- /dev/null
+++ b/unmaintained/lua-tar/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=lua-tar
+pkgver=0.0
+pkgrel=0
+pkgdesc="Lua tar"
+url="http://luaforge.net/projects/luatar/"
+arch="all"
+license="GPL"
+depends=""
+depends_dev="lua-dev libtar-dev bzip2-dev"
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://files.luaforge.net/releases/luatar/luatar/luatar-$pkgver/luatar-$pkgver.tar.gz
+ enable-pic.patch"
+
+_builddir="$srcdir"/luatar-$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 HAVE_LIBTAR=1 DEBUG=0 || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -m644 -D tar.lua \
+ $pkgdir/usr/share/lua/5.1/tar.lua || return 1
+ install -m755 -D ltar.so \
+ $pkgdir/usr/lib/lua/5.1/ltar.so || return 1
+}
+
+md5sums="d85e342e65c41e98daf285ef280e71ec luatar-0.0.tar.gz
+de6b512d8216b5ff03a2439963c51bd6 enable-pic.patch"
+sha256sums="5fafa306425f17996a9288c828b41f94c8eb17d0a01f541b3b221e4e9cc2a398 luatar-0.0.tar.gz
+44794ae4ddd1e4873a3b885607dd14015b9eed5a023740547f3e61d294347024 enable-pic.patch"
+sha512sums="11077a7c8806041654dc75dac0dac8c49497ff8ea55031f86c3bec7266624a164c403899f1bd8a41eeb06e076e0386927685b3c4eb600ff31e17c42c038b9acb luatar-0.0.tar.gz
+d1680dd9fbc96d3f58349f69820df0f879ad139703086e7934f60cbdeadb649ac744a9d3c9257273a088a3895e899b780d2eca5278096ea623277fd5b1d59600 enable-pic.patch"
diff --git a/unmaintained/lua-tar/enable-pic.patch b/unmaintained/lua-tar/enable-pic.patch
new file mode 100644
index 0000000000..ab234e2cea
--- /dev/null
+++ b/unmaintained/lua-tar/enable-pic.patch
@@ -0,0 +1,11 @@
+--- a/Makefile.orig
++++ b/Makefile
+@@ -13,7 +13,7 @@
+ DEPS = $(SRCS:.c=.d)
+
+ CC = gcc
+-CFLAGS = -O2 -Wall
++CFLAGS = -O2 -Wall -fPIC
+ LDFLAGS = -s
+ LIBS =
+ DLEXT = so
diff --git a/unmaintained/lua-telescope/APKBUILD b/unmaintained/lua-telescope/APKBUILD
new file mode 100644
index 0000000000..3e9e267618
--- /dev/null
+++ b/unmaintained/lua-telescope/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
+# Maintainer:
+pkgname=lua-telescope
+pkgver=0.4.1
+pkgrel=1
+pkgdesc="Test library for Lua"
+url=https://github.com/norman/telescope
+arch=noarch
+license=MIT
+depends=lua
+source=https://github.com/downloads/norman/telescope/telescope-$pkgver.tar.gz
+
+_builddir=$srcdir/telescope-$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() {
+ :
+}
+
+package() {
+ cd "$_builddir"
+ local bindir=$pkgdir/usr/bin
+ local luadir=$pkgdir/usr/share/lua/5.1
+ install -d "$bindir"
+ install tsc "$bindir"
+ install -d "$luadir"
+ install -m 644 telescope.lua "$luadir"
+}
+
+md5sums="e240350716994873fe1ad7f67918c3b2 telescope-0.4.1.tar.gz"
diff --git a/unmaintained/lua-tnetstrings/APKBUILD b/unmaintained/lua-tnetstrings/APKBUILD
new file mode 100644
index 0000000000..efd5834bc1
--- /dev/null
+++ b/unmaintained/lua-tnetstrings/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
+# Maintainer:
+pkgname=lua-tnetstrings
+pkgver=1.1.0
+pkgrel=0
+pkgdesc="Tagged netstrings implementation for Lua"
+url=https://github.com/jsimmons/tnetstrings.lua
+arch=noarch
+license=BSD
+depends=lua
+source=http://github.com/downloads/jsimmons/tnetstrings.lua/tnetstrings-$pkgver.tar.bz2
+
+_builddir=$srcdir/tnetstrings-$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() {
+ :
+}
+
+package() {
+ cd "$_builddir"
+ local dir=$pkgdir/usr/share/lua/5.1
+ install -d "$dir"
+ install -m 644 "$_builddir/tnetstrings.lua" "$dir"
+}
+
+md5sums="7ff1f79d9711f9e1f307bc747d75a522 tnetstrings-1.1.0.tar.bz2"
diff --git a/unmaintained/lua-xmlrpc/APKBUILD b/unmaintained/lua-xmlrpc/APKBUILD
new file mode 100644
index 0000000000..e7e981e86c
--- /dev/null
+++ b/unmaintained/lua-xmlrpc/APKBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+_luaver=5.1
+pkgname=lua-xmlrpc
+_name=$pkgname
+pkgver=1.2.1
+pkgrel=0
+pkgdesc="Lua package to access and provide XML-RPC services"
+url="https://github.com/timn/lua-xmlrpc"
+arch="noarch"
+license="MIT"
+depends="lua-expat lua-socket"
+makedepends="lua-dev"
+install=
+source="lua-xmlrcp-$pkgver.tar.gz::https://github.com/timn/lua-xmlrpc/archive/v$pkgver.tar.gz"
+
+_builddir="$srcdir/$_name-$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() {
+ return 0
+}
+
+package() {
+ cd "$_builddir"
+ make install LUA_DIR="$pkgdir"/usr/share/lua/$_luaver
+}
+
+md5sums="422b830ca5706bb109ed8a28b8e82a32 lua-xmlrcp-1.2.1.tar.gz"
+sha256sums="0047e353ed4357d33479e923ddd8be3ec29edb9264f79dd2fd1993557ae4ad71 lua-xmlrcp-1.2.1.tar.gz"
+sha512sums="27123ec0fe006ebe7dbb88ccdb2b2a028d592fcb97138ee2891e89e89c48563a06ec05ea543a6068eda1e71bbe7d82a1791fdf734ed08f3613d5d252fbb7d77f lua-xmlrcp-1.2.1.tar.gz"
diff --git a/unmaintained/lua-zip/APKBUILD b/unmaintained/lua-zip/APKBUILD
new file mode 100644
index 0000000000..ca5a389cd8
--- /dev/null
+++ b/unmaintained/lua-zip/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Mika Havela <mika.havela@gmail.com>
+# Maintainer: Mika Havela <mika.havela@gmail.com>
+pkgname=lua-zip
+pkgver="1.2.3"
+pkgrel=0
+pkgdesc="Lua extension library used to read files stored inside zip files"
+url="http://luaforge.net/projects/luazip/"
+arch="all"
+license="MIT"
+depends="lua"
+makedepends="lua-dev zziplib-dev"
+install=""
+subpackages=""
+source="http://archive.ubuntu.com/ubuntu/pool/universe/l/lua-zip/lua-zip_${pkgver}.orig.tar.gz"
+
+_builddir="$srcdir/luazip-$pkgver"
+prepare() {
+ cd "$_builddir"
+ sed -i -e '/LUA_VERSION_NUM/d' config
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ make CFLAGS="$CFLAGS" CC="${CC:-gcc}"
+}
+
+package() {
+ cd "$_builddir"
+ local _lua_libdir="$(pkg-config --variable=INSTALL_CMOD lua)"
+ make LUA_LIBDIR="${pkgdir}${_lua_libdir}" \
+ install || return 1
+}
+
+md5sums="8129ba93a8df6ebd324fee9adca23fae lua-zip_1.2.3.orig.tar.gz"
diff --git a/unmaintained/lua-zlib/APKBUILD b/unmaintained/lua-zlib/APKBUILD
new file mode 100644
index 0000000000..92becfeac9
--- /dev/null
+++ b/unmaintained/lua-zlib/APKBUILD
@@ -0,0 +1,65 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+
+_luaversions="5.1 5.2"
+
+pkgname=lua-zlib
+pkgver=0.3
+pkgrel=0
+pkgdesc="Simple streaming interface to zlib for Lua"
+url="https://github.com/brimworks/lua-zlib"
+arch="all"
+license="MIT"
+depends=""
+makedepends="zlib-dev"
+subpackages=
+for _i in $_luaversions; do
+ depends="$depends lua$_i-zlib"
+ makedepends="$makedepends lua$_i-dev"
+ subpackages="$subpackages lua$_i-zlib:_zlib_${_i/./_}"
+done
+install=
+source="$pkgname-$pkgver.tar.gz::https://github.com/brimworks/lua-zlib/archive/v$pkgver.tar.gz"
+
+_builddir="$srcdir"/lua-zlib-$pkgver
+
+prepare() {
+ cd "$_builddir"
+ # apply patches here
+ for _i in $_luaversions; do
+ cp -a "$_builddir" "$srcdir"/build-$_i || return 1
+ done
+}
+
+build() {
+ cd "$_builddir"
+ for _i in $_luaversions; do
+ cd "$srcdir"/build-$_i
+ msg "build for Lua $_i"
+ make zlib.so \
+ CFLAGS="$CFLAGS -fPIC $(pkg-config --cflags lua$_i)" \
+ LDFLAGS="$LDFLAGS -shared" \
+ LIBS="-lz -lm" \
+ || return 1
+ done
+}
+
+package() {
+ mkdir -p "$pkgdir"
+}
+
+_split_zlib() {
+ local _ver=$1
+ pkgdesc="$pkgdesc $_ver"
+ depends=""
+
+ cd "$srcdir"/build-$_ver
+ install -Dm755 zlib.so "$subpkgdir"/usr/lib/lua/$_ver/zlib.so
+}
+
+for _i in $_luaversions; do
+ eval "_zlib_${_i/./_}() { _split_zlib $_i; }"
+done
+
+md5sums="3ac4122776d6c86514d1a6235b803955 lua-zlib-0.3.tar.gz"
+sha256sums="3c9412b1c97bc7182c478c2536ad9890d7a472a2844e10ae736403894781cf4a lua-zlib-0.3.tar.gz"
+sha512sums="c6045aaa2b5969afa54d6be979b1f367464cbfc738423eb0a4928b8c515a238150a480b619ac63047d4b24078bedac469404deace9c4cec9c9ea25178a5d11a9 lua-zlib-0.3.tar.gz"
diff --git a/unmaintained/lua5.2-json4/APKBUILD b/unmaintained/lua5.2-json4/APKBUILD
new file mode 100644
index 0000000000..cf75f8b9fd
--- /dev/null
+++ b/unmaintained/lua5.2-json4/APKBUILD
@@ -0,0 +1,24 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+_luaver=5.2
+pkgname=lua${_luaver}-json4
+_name=json4lua
+pkgver=0.9.50
+pkgrel=1
+pkgdesc="JSON encoding / decoding module for Lua $_luaver (JSON4lua)"
+url="http://json.luaforge.net/"
+arch="noarch"
+license="GPL2"
+depends=""
+source="http://files.luaforge.net/releases/json/json/$pkgver/json4lua-$pkgver.zip"
+
+build() {
+ return 0
+}
+
+package() {
+ install -D "$srcdir"/$_name-$pkgver/json/json.lua "$pkgdir"/usr/share/lua/${_luaver}/json.lua
+}
+
+md5sums="d04a44972ec697a14e89b3a7f14c2d29 json4lua-0.9.50.zip"
+sha256sums="9565ebd1b0a95d84915221f2f401f913de92e7135c6d6ebdb38eff636a934ef1 json4lua-0.9.50.zip"
+sha512sums="7cfe0f68eea2e40e59f45359e1e867fb8aa306bdc211be3596ba6c2718687401564f365975cbbbce3d05e76bde46a42303c37a2b320ffa77212902465fac0ae6 json4lua-0.9.50.zip"
diff --git a/unmaintained/lua5.2-penlight/APKBUILD b/unmaintained/lua5.2-penlight/APKBUILD
new file mode 100644
index 0000000000..f4bd333a8b
--- /dev/null
+++ b/unmaintained/lua5.2-penlight/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+_luaver=5.2
+pkgname=lua${_luaver}-penlight
+pkgver=1.3.0
+pkgrel=0
+pkgdesc="Lua libraries for extended operations on tables, lists and strings"
+url="https://github.com/stevedonovan/Penlight"
+arch="noarch"
+license="GPL"
+depends="lua${_luaver}-filesystem"
+makedepends="wget"
+install=
+subpackages="$pkgname-doc"
+source="penlight-$pkgver.tar.gz::https://github.com/stevedonovan/Penlight/archive/$pkgver.tar.gz"
+
+_builddir="$srcdir"/Penlight-$pkgver
+
+build() {
+ return 0
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/usr/share/lua/$_luaver/ \
+ "$pkgdir"/usr/share/doc/$pkgname
+ cp -r lua/pl "$pkgdir"/usr/share/lua/$_luaver/ || return 1
+ cp -r doc/* "$pkgdir"/usr/share/doc/$pkgname/ || return 1
+ cp -r examples "$pkgdir"/usr/share/doc/$pkgname/ || return 1
+}
+
+md5sums="7add43a98a940fb066b873c1298c4489 penlight-1.3.0.tar.gz"
+sha256sums="5f0be532df2c72926280f22eb61a2f62557f7d29b576c82fd573f2d35a8f1114 penlight-1.3.0.tar.gz"
+sha512sums="d38764f25219646e0772ed2df50bb8c31bf2067b7676d841848735a5c9fd81d169b0972c4db46ad3ceb53849fa25ec2bae0c5e053c03533fb383afdd1e9d44f9 penlight-1.3.0.tar.gz"
diff --git a/unmaintained/lua5.2-sec-prosody/APKBUILD b/unmaintained/lua5.2-sec-prosody/APKBUILD
new file mode 100644
index 0000000000..ac0372f894
--- /dev/null
+++ b/unmaintained/lua5.2-sec-prosody/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: Borys Zhukov <borys@zhukov.im>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+_luaver=5.2
+pkgname=lua$_luaver-sec-prosody
+_name=luasec-prosody
+pkgver=0.5.1
+pkgrel=0
+pkgdesc="Temporary fork of lua-sec necessary for prosody to support certificate authentication"
+url="https://prosody.im/doc/depends/luasec/prosody"
+arch="all"
+license="MIT"
+depends="lua$_luaver-socket"
+makedepends="lua$_luaver-dev openssl-dev"
+install=
+subpackages="$pkgname-doc"
+source="
+ https://prosody.im/tmp/luasec-prosody-$pkgver.tar.gz
+ "
+
+_builddir="$srcdir"/$_name-$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"
+ make linux \
+ CC="${CC:-gcc}" \
+ LD="${CC:-gcc}" \
+ MYCFLAGS="$CFLAGS" \
+ MYLDFLAGS="$LDFLAGS" \
+ INC_PATH="$(pkg-config lua$_luaver --cflags)" \
+ || return 1
+}
+
+package() {
+ _luasharedir=/usr/share/lua/$_luaver
+ _lualibdir=/usr/lib/lua/$_luaver
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/$_luasharedir "$pkgdir"/$_lualibdir
+ make LUAPATH="$pkgdir"/$_luasharedir \
+ LUACPATH="$pkgdir"/$_lualibdir \
+ install
+ mkdir -p "$pkgdir"/usr/share/doc/$pkgname
+ cp -r samples "$pkgdir"/usr/share/doc/$pkgname/
+}
+md5sums="fbe70f5b43419bec16afdfee2b21c34b luasec-prosody-0.5.1.tar.gz"
+sha256sums="2fd34cf9c59a6491937c98ba33921d4fc418b160c0c89545f7bae4f246280ad4 luasec-prosody-0.5.1.tar.gz"
+sha512sums="eadae7f59e957ebc8df074c8e43b181380393e8dd2042bbd098576bf2d7710aa0abb4ccc87eb1b52d28e0473cc52626be6e06eabdec8821deca1cda82ad7cfe7 luasec-prosody-0.5.1.tar.gz"
diff --git a/unmaintained/lua5.2-sec-prosody/Makefile.patch b/unmaintained/lua5.2-sec-prosody/Makefile.patch
new file mode 100644
index 0000000000..958c24a1be
--- /dev/null
+++ b/unmaintained/lua5.2-sec-prosody/Makefile.patch
@@ -0,0 +1,11 @@
+--- a/src/Makefile.orig
++++ b/src/Makefile
+@@ -22,7 +22,7 @@
+
+ INSTALL ?= install
+ CC ?= cc
+-LD ?= $(MYENV) cc
++LD = $(MYENV) cc
+ CFLAGS += $(MYCFLAGS)
+ LDFLAGS += $(MYLDFLAGS)
+ DESTDIR ?= /
diff --git a/unmaintained/lua5.2-xctrl/APKBUILD b/unmaintained/lua5.2-xctrl/APKBUILD
new file mode 100644
index 0000000000..39c608acc2
--- /dev/null
+++ b/unmaintained/lua5.2-xctrl/APKBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+_luaver=5.2
+pkgname=lua$_luaver-xctrl
+pkgver=2013.06.20
+_x=${pkgver%%.*}
+_y=${pkgver%.*}
+_y=${_y#*.}
+_z=${pkgver##*.}
+_ver=${_x}-${_y}-${_z}
+pkgrel=0
+pkgdesc="Lua $_luaver module to query and manipulate X11 window managers"
+url="http://code.google.com/p/xctrl/"
+arch="all"
+license="GPL2"
+depends=
+makedepends="lua$_luaver-dev libx11-dev libxmu-dev"
+install=
+subpackages="$pkgname-doc"
+source="http://xctrl.googlecode.com/files/xctrl-$_ver.tar.gz"
+
+_builddir="$srcdir"/xctrl-$_ver
+_lua_libdir=/usr/lib/lua/$_luaver
+prepare() {
+ cd "$_builddir"
+}
+
+build() {
+ cd "$_builddir"
+ export EXTRA_CFLAGS="-fPIC $( pkg-config lua$_luaver --cflags )"
+ make -C src LUA=lua5.2 || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -d "$pkgdir"/$_lua_libdir "$pkgdir"/usr/share/doc/$pkgname
+ install src/xctrl.so "$pkgdir"/$_lua_libdir/xctrl.so
+ install doc/lxctrl.html "$pkgdir"/usr/share/doc/$pkgname/lxctrl.html
+}
+
+md5sums="789f39228436e4c806911c6cbaae444a xctrl-2013-06-20.tar.gz"
+sha256sums="9089ff10f5396e0a74b3f80c03d8f54395219d72f6ea0084e2858d7195ececbf xctrl-2013-06-20.tar.gz"
+sha512sums="ebfbd3b13c0d5432c71afa6bc70984c794242204c9ce9eaaf391092f7cf5c99dbe0c66335bb9c97413d304f1f77529bddf6a0f37fb10eeab5fbcb7d75dc92d48 xctrl-2013-06-20.tar.gz"
diff --git a/unmaintained/lwm/APKBUILD b/unmaintained/lwm/APKBUILD
new file mode 100644
index 0000000000..411291b273
--- /dev/null
+++ b/unmaintained/lwm/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Michael Zhou <zhoumichaely@gmail.com>
+# Maintainer:
+pkgname=lwm
+pkgver=1.2.2
+pkgrel=0
+pkgdesc="Lightweight Window Manager that tries to keep out of your face"
+url="http://www.jfc.org.uk/software/lwm.html"
+arch="all"
+license="GPL"
+depends=""
+makedepends="libx11-dev libsm-dev"
+install=""
+subpackages=""
+source="
+ http://www.jfc.org.uk/files/$pkgname/$pkgname-$pkgver.tar.gz
+ no_xmkmf_makefile.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 -f no_xmkmf_makefile || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -d "$pkgdir"/usr/bin
+ install lwm "$pkgdir"/usr/bin
+}
+
+md5sums="1748722a293e03d632b615275ef84498 lwm-1.2.2.tar.gz
+cbfa8518daed50927fe4cc8ae5d2e550 no_xmkmf_makefile.patch"
diff --git a/unmaintained/lwm/no_xmkmf_makefile.patch b/unmaintained/lwm/no_xmkmf_makefile.patch
new file mode 100644
index 0000000000..6b7ff60f0f
--- /dev/null
+++ b/unmaintained/lwm/no_xmkmf_makefile.patch
@@ -0,0 +1,11 @@
+--- a/no_xmkmf_makefile
++++ b/no_xmkmf_makefile
+@@ -24,7 +24,7 @@
+ #DEFINES = -D_POSIX_C_SOURCE=2
+
+ # Add any strange libraries your system needs here.
+-LDFLAGS = -lXext -lX11 -lICE -lSM
++LDFLAGS = -lX11 -lICE -lSM
+
+ # -----------------------------------------------------------------------------
+
diff --git a/unmaintained/lxde-common/APKBUILD b/unmaintained/lxde-common/APKBUILD
new file mode 100644
index 0000000000..b18dbf86cf
--- /dev/null
+++ b/unmaintained/lxde-common/APKBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+
+pkgname=lxde-common
+pkgver=0.5.5
+pkgrel=0
+pkgdesc='Common files of the LXDE Desktop'
+arch='noarch'
+url='http://lxde.org/'
+license='GPL2'
+depends='lxsession'
+source="http://downloads.sourceforge.net/lxde/${pkgname}-${pkgver}.tar.gz
+ startlxde.patch"
+
+prepare() {
+ cd "$srcdir"/$pkgname-$pkgver
+ patch -Np0 -i $srcdir/startlxde.patch || return 1
+}
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+ ./configure --sysconfdir=/etc --prefix=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+ make DESTDIR="$pkgdir" install || return 1
+ install -Dm644 lxde-logout.desktop \
+ "$pkgdir"/usr/share/applications/lxde-logout.desktop || return 1
+}
+md5sums="e51a6b2a815a89fda1f497b509465a97 lxde-common-0.5.5.tar.gz
+11aca3bcc2ea8fa2c03e72056a52d1fc startlxde.patch"
+sha256sums="ee18a09b64a442b33c1b54f0269649a1b4d9490460c400a07ed785d41bf6dde6 lxde-common-0.5.5.tar.gz
+0b4192c52142369677d02474133a1da733a250a0e2ed9a4b55275428b90e38aa startlxde.patch"
+sha512sums="44848286ccf3aa269df1680e14a8d3c41be1c2af956bd5121fc05d97a892fdc13d1e74191a2a11a40e96a8f31f8be37b1cfb9afeac4474fcab88d07508647c7f lxde-common-0.5.5.tar.gz
+dd25e91d9b350784b3434390c68ffaa763a966e0977c0a8ee57fe920c5793f2ecc42446ca332f294cc2e840f951099ab348f052f54ae9aac22d8e77d19f30919 startlxde.patch"
diff --git a/unmaintained/lxde-common/startlxde.patch b/unmaintained/lxde-common/startlxde.patch
new file mode 100644
index 0000000000..27315d4f05
--- /dev/null
+++ b/unmaintained/lxde-common/startlxde.patch
@@ -0,0 +1,11 @@
+--- startlxde.in.orig 2011-08-03 21:59:05.000000000 +0200
++++ startlxde.in 2012-07-02 19:40:19.982368074 +0200
+@@ -8,7 +8,7 @@ fi
+ PCMANFM_CONF_DIR="$XDG_CONFIG_HOME/pcmanfm/LXDE"
+ if [ ! -f "$PCMANFM_CONF_DIR/pcmanfm.conf" ]; then
+ mkdir -p "$PCMANFM_CONF_DIR"
+- cp @prefix@/share/lxde/pcmanfm/pcmanfm.conf "$PCMANFM_CONF_DIR/pcmanfm.conf"
++ cp @sysconfdir@/xdg/pcmanfm/LXDE/pcmanfm.conf "$PCMANFM_CONF_DIR/pcmanfm.conf"
+ fi
+
+ # Ensure the existance of openbox config file
diff --git a/unmaintained/lxde-icon-theme/APKBUILD b/unmaintained/lxde-icon-theme/APKBUILD
new file mode 100644
index 0000000000..4dce079a57
--- /dev/null
+++ b/unmaintained/lxde-icon-theme/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor:
+# Maintainer:
+pkgname=lxde-icon-theme
+pkgver=0.5.0
+pkgrel=0
+pkgdesc="LXDE default icon theme based on nuoveXT2"
+url="http://lxde.org"
+arch="noarch"
+license="GPL"
+depends="gtk+2.0 gtk+3.0"
+depends_dev="gtk+2.0-dev gtk+3.0-dev"
+makedepends="$depends_dev coreutils"
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/lxde/${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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="346e1aecf805892b106b4d4b0f26e5cc lxde-icon-theme-0.5.0.tar.bz2"
+sha256sums="49dc61c46c4a0ca9298f9e0866bcf7212a08ddaa71f15bfabfb0220fe1efa848 lxde-icon-theme-0.5.0.tar.bz2"
+sha512sums="4ca3e94b5826f7fe87d840feddf0c130fa77e8f14f22a59d9749252a5106d54661237e3c9286f4880d0aaa50bd330cb4bfb9d663ca35d6ee4b9e3c2af30fe9ab lxde-icon-theme-0.5.0.tar.bz2"
diff --git a/unmaintained/lxmenu-data/APKBUILD b/unmaintained/lxmenu-data/APKBUILD
new file mode 100644
index 0000000000..a899f81ac5
--- /dev/null
+++ b/unmaintained/lxmenu-data/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor:
+# Maintainer:
+pkgname=lxmenu-data
+pkgver=0.1.2
+pkgrel=1
+pkgdesc="freedesktop.org desktop menus for LXDE"
+url="http://lxde.org/"
+arch="noarch"
+license="GPL2"
+depends=""
+depends_dev="intltool"
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/lxde/${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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="2184ab3746d572477f1bea7e98e230a8 lxmenu-data-0.1.2.tar.gz"
+sha256sums="34c285a0430404e815263a4bb33a79eb47b168c56469be0f7ffb19730a57a045 lxmenu-data-0.1.2.tar.gz"
+sha512sums="8e18d5a0309d69fbd410f8e3e5393f8a49852c2684aa2d2f0c460cf9e1f0fb88810885551d6b3dee1c6270a2a8a8a14973ca5e72b714898d1b6b9b676e3bf922 lxmenu-data-0.1.2.tar.gz"
diff --git a/unmaintained/mac-robber/APKBUILD b/unmaintained/mac-robber/APKBUILD
new file mode 100644
index 0000000000..b8e9c864dc
--- /dev/null
+++ b/unmaintained/mac-robber/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=mac-robber
+pkgver=1.02
+pkgrel=0
+pkgdesc="Tool to create a timeline of file activity for mounted file systems"
+url="http://sourceforge.net/projects/mac-robber/"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends=""
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
+ include-paramh.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 -Dpm 0755 $pkgname "$pkgdir"/usr/bin/$pkgname || return 1
+}
+
+md5sums="6d6d99aa882a46b2bc5231d195fdb595 mac-robber-1.02.tar.gz
+c2b45c05cd35ef2fa59b13124fe908fa include-paramh.patch"
+sha256sums="5895d332ec8d87e15f21441c61545b7f68830a2ee2c967d381773bd08504806d mac-robber-1.02.tar.gz
+f69e14c2e0f7431d16b711b719a5112ab3797520110fcf61b1c8fa1c53816bb1 include-paramh.patch"
+sha512sums="5330f766eb08aa766ca3f430684e0a40ecf29b7230a582c30a36bbaaa481d52c2a8519fa04e82762f09259ada9e77466c1430aebdff22615a511d519916d54a7 mac-robber-1.02.tar.gz
+4fc0ac48132d2dfbf150fb297d6a740d867c8308215970ac9bce433961cac3d2e32ca57060e4a5f948598f832cdafe931583993df27e9fd4d24139977311cf20 include-paramh.patch"
diff --git a/unmaintained/mac-robber/include-paramh.patch b/unmaintained/mac-robber/include-paramh.patch
new file mode 100644
index 0000000000..1bf20fda5d
--- /dev/null
+++ b/unmaintained/mac-robber/include-paramh.patch
@@ -0,0 +1,10 @@
+--- a/mac-robber.c.orig
++++ b/mac-robber.c
+@@ -44,6 +44,7 @@
+
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <sys/param.h>
+ #include <dirent.h>
+ #include <stdio.h>
+ #include <stdlib.h>
diff --git a/unmaintained/macchanger/APKBUILD b/unmaintained/macchanger/APKBUILD
new file mode 100644
index 0000000000..eac6d27145
--- /dev/null
+++ b/unmaintained/macchanger/APKBUILD
@@ -0,0 +1,53 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=macchanger
+pkgver=1.7.0
+pkgrel=0
+pkgdesc="An utility for viewing/manipulating the MAC address of network interfaces"
+url="https://github.com/alobbs/macchanger"
+arch="all"
+license="GPLv3+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="https://github.com/alobbs/macchanger/releases/download/$pkgver/macchanger-$pkgver.tar.gz
+ fix-caddr_t.patch
+ "
+
+_builddir="$srcdir"/macchanger-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="ca56f16142914337391dac91603eb332 macchanger-1.7.0.tar.gz
+85d5a1e909afb031c6ca3ffdc62747d4 fix-caddr_t.patch"
+sha256sums="dae2717c270fd5f62d790dbf80c19793c651b1b26b62c101b82d5fdf25a845bf macchanger-1.7.0.tar.gz
+044630d7bd01e56797095f61cb582f363faa4dc7df16e48f11ae257a1f556fbd fix-caddr_t.patch"
+sha512sums="69f2008ace6ff8223ecf25805c08ddf42add9ed16c65f3bb57f74b8b0d080d584381ce79592d2ef581a9ba73f12624dae8db63dbb12e4875dfd29d828a4a5da3 macchanger-1.7.0.tar.gz
+00d59ce7562f0f011bd00f68d6e9aa4dd09d1dfb1aff4cb7291602e02d7015fb1f5038037c638e79f8aaf3c4787ef549c83d60303512b7d983b7f2ab386ccd21 fix-caddr_t.patch"
diff --git a/unmaintained/macchanger/fix-caddr_t.patch b/unmaintained/macchanger/fix-caddr_t.patch
new file mode 100644
index 0000000000..c5fe5f6e16
--- /dev/null
+++ b/unmaintained/macchanger/fix-caddr_t.patch
@@ -0,0 +1,13 @@
+https://github.com/alobbs/macchanger/issues/14
+
+--- ./src/netinfo.c.orig
++++ ./src/netinfo.c
+@@ -113,7 +113,7 @@
+ epa->size = IFHWADDRLEN;
+
+ memcpy(&req, &(net->dev), sizeof(struct ifreq));
+- req.ifr_data = (caddr_t)epa;
++ req.ifr_data = (void *)epa;
+
+ if (ioctl(net->sock, SIOCETHTOOL, &req) < 0) {
+ perror ("[ERROR] Could not read permanent MAC");
diff --git a/unmaintained/madwimax/APKBUILD b/unmaintained/madwimax/APKBUILD
new file mode 100644
index 0000000000..a06da00cd7
--- /dev/null
+++ b/unmaintained/madwimax/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Sergey
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=madwimax
+pkgver=0.1.1
+pkgrel=4
+pkgdesc="WiMAX driver for the Samsung SWC-U200 and similar USB modems"
+url="http://code.google.com/p/madwimax/"
+arch="all"
+license="GPL2"
+depends=
+makedepends="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/unmaintained/maildrop/APKBUILD b/unmaintained/maildrop/APKBUILD
new file mode 100644
index 0000000000..fb70f05e62
--- /dev/null
+++ b/unmaintained/maildrop/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Juraj Sujan <sujan@sofy.sk>
+# Maintainer: Juraj Sujan <sujan@sofy.sk>
+pkgname=maildrop
+pkgver=2.5.2
+pkgrel=1
+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
+ maildrop-2.3.0-dovecotauth.patch"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ cd "$_builddir"
+ # apply patches here
+ if ! patch --verbose -p1 -i ../maildrop-2.3.0-dovecotauth.patch; 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
+8e56645ecf8ddb52550ab69103ae8d43 maildrop-2.3.0-dovecotauth.patch"
+sha256sums="c1996773baf2d0147299f2ae3d588937e350b175d60bd7efb4551d39cd0a4190 maildrop-2.5.2.tar.bz2
+0a75ec0b8f9797712bbdc695f9b3043b85c2480c1d627f657336439b6e9eecfe maildrop-2.3.0-dovecotauth.patch"
+sha512sums="b2ab4f1a600e6e45eb2e130e61501d30df8474232a6e95aa7b282cb28f362b017fc84a72ae6f39c6d0fe75682441ee9a83133a3cd2d705a8894657dc15ab3cdd maildrop-2.5.2.tar.bz2
+9425d3ac875414044e6258788eacd7fb80de68a83cf7ac91912044dc897f14d6f9dbc5d9e9148251ea7f3f9ec8cffca756dc76fca2be56d3acb96453b4a5d21f maildrop-2.3.0-dovecotauth.patch"
diff --git a/unmaintained/maildrop/maildrop-2.3.0-dovecotauth.patch b/unmaintained/maildrop/maildrop-2.3.0-dovecotauth.patch
new file mode 100644
index 0000000000..1b9319c51e
--- /dev/null
+++ b/unmaintained/maildrop/maildrop-2.3.0-dovecotauth.patch
@@ -0,0 +1,820 @@
+diff -Naur maildrop-2.3.0/maildrop/dovecotauth.c maildrop-2.3.0-dovecotauth/maildrop/dovecotauth.c
+--- maildrop-2.3.0/maildrop/dovecotauth.c 1970-01-01 01:00:00.000000000 +0100
++++ maildrop-2.3.0-dovecotauth/maildrop/dovecotauth.c 2010-01-31 15:01:38.000000000 +0100
+@@ -0,0 +1,480 @@
++/*
++** Copyright 2009 Marko Njezic
++** Licensed under the same terms as Courier Authlib AND/OR Courier Maildrop.
++**
++** Partially based on authdaemonlib.c from Courier Authlib, which had the following statement:
++**
++** Copyright 2000-2006 Double Precision, Inc. See COPYING for
++** distribution information.
++**
++** Code that was taken from authdaemonlib.c is as follows:
++** - s_connect() function
++** - opensock() function with modification to accept socket address
++** - writeauth() function
++** - readline() function with related support functions (with modification
++** to time-out after TIMEOUT_READ seconds)
++*/
++
++#include "dovecotauth.h"
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <errno.h>
++#include <fcntl.h>
++#include <pwd.h>
++#include <time.h>
++#include <unistd.h>
++#include <sys/types.h>
++#include <sys/socket.h>
++#include <sys/un.h>
++#include <sys/select.h>
++
++static const char rcsid[]="$Id$";
++
++static int TIMEOUT_SOCK=10,
++ TIMEOUT_WRITE=10,
++ TIMEOUT_READ=30;
++
++static int s_connect(int sockfd,
++ const struct sockaddr *addr,
++ size_t addr_s,
++ time_t connect_timeout)
++{
++ fd_set fdr;
++ struct timeval tv;
++ int rc;
++
++#ifdef SOL_KEEPALIVE
++ setsockopt(sockfd, SOL_SOCKET, SOL_KEEPALIVE,
++ (const char *)&dummy, sizeof(dummy));
++#endif
++
++#ifdef SOL_LINGER
++ {
++ struct linger l;
++
++ l.l_onoff=0;
++ l.l_linger=0;
++
++ setsockopt(sockfd, SOL_SOCKET, SOL_LINGER,
++ (const char *)&l, sizeof(l));
++ }
++#endif
++
++ /*
++ ** If configuration says to use the kernel's timeout settings,
++ ** just call connect, and be done with it.
++ */
++
++ if (connect_timeout == 0)
++ return ( connect(sockfd, addr, addr_s));
++
++ /* Asynchronous connect with timeout. */
++
++ if (fcntl(sockfd, F_SETFL, O_NONBLOCK) < 0) return (-1);
++
++ if ( connect(sockfd, addr, addr_s) == 0)
++ {
++ /* That was easy, we're done. */
++
++ if (fcntl(sockfd, F_SETFL, 0) < 0) return (-1);
++ return (0);
++ }
++
++ if (errno != EINPROGRESS)
++ return -1;
++
++ /* Wait for the connection to go through, until the timeout expires */
++
++ FD_ZERO(&fdr);
++ FD_SET(sockfd, &fdr);
++ tv.tv_sec=connect_timeout;
++ tv.tv_usec=0;
++
++ rc=select(sockfd+1, 0, &fdr, 0, &tv);
++ if (rc < 0) return (-1);
++
++ if (!FD_ISSET(sockfd, &fdr))
++ {
++ errno=ETIMEDOUT;
++ return (-1);
++ }
++
++ {
++ int gserr;
++ socklen_t gslen = sizeof(gserr);
++
++ if (getsockopt(sockfd, SOL_SOCKET,
++ SO_ERROR,
++ (char *)&gserr, &gslen)==0)
++ {
++ if (gserr == 0)
++ return 0;
++
++ errno=gserr;
++ }
++ }
++ return (-1);
++}
++
++static int opensock(const char *addr)
++{
++ int s=socket(PF_UNIX, SOCK_STREAM, 0);
++ struct sockaddr_un skun;
++
++ skun.sun_family=AF_UNIX;
++ strncpy(skun.sun_path, addr, sizeof(skun.sun_path));
++
++ if (s < 0)
++ {
++ perror("CRIT: dovecotauth: socket() failed");
++ return (-1);
++ }
++
++ {
++ const char *p=getenv("TIMEOUT_SOCK");
++ int n=atoi(p ? p:"0");
++
++ if (n > 0)
++ TIMEOUT_SOCK=n;
++ }
++
++ {
++ const char *p=getenv("TIMEOUT_READ");
++ int n=atoi(p ? p:"0");
++
++ if (n > 0)
++ TIMEOUT_READ=n;
++ }
++
++ {
++ const char *p=getenv("TIMEOUT_WRITE");
++ int n=atoi(p ? p:"0");
++
++ if (n > 0)
++ TIMEOUT_WRITE=n;
++ }
++
++ if (s_connect(s, (const struct sockaddr *)&skun, sizeof(skun),
++ TIMEOUT_SOCK))
++ {
++ perror("ERR: dovecotauth: s_connect() failed");
++ if (errno == ETIMEDOUT || errno == ECONNREFUSED)
++ fprintf(stderr, "ERR: [Hint: perhaps dovecot-auth daemon is not running?]\n");
++ close(s);
++ return (-1);
++ }
++ return (s);
++}
++
++static int writeauth(int fd, const char *p, unsigned pl)
++{
++fd_set fds;
++struct timeval tv;
++
++ while (pl)
++ {
++ int n;
++
++ FD_ZERO(&fds);
++ FD_SET(fd, &fds);
++ tv.tv_sec=TIMEOUT_WRITE;
++ tv.tv_usec=0;
++ if (select(fd+1, 0, &fds, 0, &tv) <= 0 || !FD_ISSET(fd, &fds))
++ return (-1);
++ n=write(fd, p, pl);
++ if (n <= 0) return (-1);
++ p += n;
++ pl -= n;
++ }
++ return (0);
++}
++
++struct enum_getch {
++ char buffer[BUFSIZ];
++ char *buf_ptr;
++ size_t buf_left;
++};
++
++#define getauthc(fd,eg) ((eg)->buf_left-- ? \
++ (unsigned char)*((eg)->buf_ptr)++:\
++ fillgetauthc((fd),(eg)))
++
++static int fillgetauthc(int fd, struct enum_getch *eg)
++{
++ time_t end_time, curtime;
++
++ time(&end_time);
++ end_time += TIMEOUT_READ;
++
++ for (;;)
++ {
++ int n;
++ fd_set fds;
++ struct timeval tv;
++
++ time(&curtime);
++ if (curtime >= end_time)
++ break;
++
++ FD_ZERO(&fds);
++ FD_SET(fd, &fds);
++ tv.tv_sec=end_time - curtime;
++ tv.tv_usec=0;
++ if (select(fd+1, &fds, 0, 0, &tv) <= 0 || !FD_ISSET(fd, &fds))
++ break;
++
++ n=read(fd, eg->buffer, sizeof(eg->buffer));
++ if (n <= 0)
++ break;
++
++ eg->buf_ptr=eg->buffer;
++ eg->buf_left=n;
++
++ --eg->buf_left;
++ return (unsigned char)*(eg->buf_ptr)++;
++ }
++ return EOF;
++}
++
++static int readline(int fd, struct enum_getch *eg,
++ char *buf,
++ size_t bufsize)
++{
++ if (bufsize == 0)
++ return EOF;
++
++ while (--bufsize)
++ {
++ int ch=getauthc(fd, eg);
++
++ if (ch == EOF)
++ return -1;
++ if (ch == '\n')
++ break;
++
++ *buf++=ch;
++ }
++ *buf=0;
++ return 0;
++}
++
++/*
++** The actual implementation of Dovecot authentication protocol handling follows.
++** Full specification of the protocol can be found at: http://wiki.dovecot.org/Authentication%20Protocol
++** We are only interested in the "master" type requests for user information.
++*/
++
++int parse_userinfo(const char *user, const char *linebuf,
++ int (*func)(struct dovecotauthinfo *, void *), void *arg)
++{
++ int return_value=1;
++ struct dovecotauthinfo a;
++ char *buf, *p;
++ uid_t u;
++
++ /* Validate input arguments */
++ if (!user || !linebuf)
++ return (1);
++
++ /* Try to allocate buffer */
++ buf = (char *)malloc(strlen(linebuf)+1);
++ if (!buf)
++ return (1);
++ strcpy(buf, linebuf);
++
++ memset(&a, 0, sizeof(a));
++ a.homedir="";
++
++ p = strtok(buf, "\t");
++ if (p)
++ a.address=p;
++ else
++ a.address=user;
++
++ /* Parse any additional parameters */
++ while ((p = strtok(0, "\t")) != 0)
++ {
++ if (strncmp(p, "uid=", 4) == 0)
++ {
++ u=atol(p+4);
++ a.sysuserid = &u;
++ if (u == 0)
++ {
++ fprintf(stderr, "ERR: dovecotauth: Received invalid uid from auth socket\n");
++ return_value=1;
++ goto cleanup_parse_userinfo;
++ }
++ }
++ else if (strncmp(p, "gid=", 4) == 0)
++ {
++ a.sysgroupid=atol(p+4);
++ if (a.sysgroupid == 0)
++ {
++ fprintf(stderr, "ERR: dovecotauth: Received invalid gid from auth socket\n");
++ return_value=1;
++ goto cleanup_parse_userinfo;
++ }
++ }
++ else if (strncmp(p, "system_user=", 12) == 0)
++ {
++ a.sysusername=p+12;
++ if (a.sysusername)
++ {
++ struct passwd *q=getpwnam(a.sysusername);
++
++ if (q && q->pw_uid == 0)
++ {
++ fprintf(stderr, "ERR: dovecotauth: Received invalid system user from auth socket\n");
++ return_value=1;
++ goto cleanup_parse_userinfo;
++ }
++ }
++ }
++ else if (strncmp(p, "home=", 5) == 0)
++ {
++ a.homedir=p+5;
++ }
++ else if (strncmp(p, "mail=", 5) == 0)
++ {
++ a.maildir=p+5;
++ }
++ }
++
++ return_value = (*func)(&a, arg);
++
++cleanup_parse_userinfo:
++ free(buf);
++ return return_value;
++}
++
++#define DOVECOTAUTH_LINEBUFSIZE 8192
++
++int _dovecotauth_getuserinfo(int wrfd, int rdfd, const char *user,
++ int (*func)(struct dovecotauthinfo *, void *), void *arg)
++{
++ static char cmdpart1[]="VERSION\t1\t0\nUSER\t1\t";
++ static char cmdpart2[]="\tservice=maildrop\n";
++ int return_value=1, handshake=0;
++ struct enum_getch eg;
++ char *cmdbuf, *linebuf;
++
++ /* Validate input arguments */
++ if (!user)
++ return (1);
++
++ /* Try to allocate buffers */
++ cmdbuf=(char *)malloc(strlen(cmdpart1)+strlen(cmdpart2)+strlen(user)+20);
++ if (!cmdbuf)
++ return (1);
++
++ linebuf=(char *)malloc(DOVECOTAUTH_LINEBUFSIZE);
++ if (!linebuf)
++ return (1);
++
++ /* Initial handshake */
++ eg.buf_left=0;
++ while (readline(rdfd, &eg, linebuf, DOVECOTAUTH_LINEBUFSIZE) == 0)
++ {
++ if (strncmp(linebuf, "VERSION\t", 8) == 0)
++ {
++ if (strncmp(linebuf+8, "1\t", 2) != 0)
++ {
++ fprintf(stderr, "ERR: dovecotauth: Authentication protocol version mismatch\n");
++ return_value=1;
++ goto cleanup_dovecotauth_getuserinfo;
++ }
++ }
++ else if (strncmp(linebuf, "SPID\t", 5) == 0)
++ {
++ /* End of server side handshake */
++ handshake=1;
++ break;
++ }
++ }
++
++ if (!handshake)
++ {
++ fprintf(stderr, "ERR: dovecotauth: Did not receive proper server handshake from auth socket\n");
++ return_value=1;
++ goto cleanup_dovecotauth_getuserinfo;
++ }
++
++ /*
++ ** Try to be helpful in case that user tries to connect to the wrong auth socket.
++ ** There's a slight chance that this won't execute in case that the previously
++ ** returned line ends exactly at the buffer end, but we won't handle that case,
++ ** since this is just a hint to the user, and not really neccessary.
++ ** Normally, if user tries to communicate with wrong auth socket,
++ ** we would simply time-out, while waiting for information.
++ */
++ if (eg.buf_left > 0 && readline(rdfd, &eg, linebuf, DOVECOTAUTH_LINEBUFSIZE) == 0)
++ {
++ if (strncmp(linebuf, "CUID\t", 5) == 0)
++ {
++ fprintf(stderr, "ERR: dovecotauth: Trying to connect to what appears to be a client auth socket, instead of a master auth socket\n");
++ return_value=1;
++ goto cleanup_dovecotauth_getuserinfo;
++ }
++ }
++
++ /* Generate our part of communication */
++ strcat(strcat(strcpy(cmdbuf, cmdpart1), user), cmdpart2);
++
++ /* Send our part of communication */
++ if (writeauth(wrfd, cmdbuf, strlen(cmdbuf)))
++ {
++ return_value=1;
++ goto cleanup_dovecotauth_getuserinfo;
++ }
++
++ /* Parse returned information */
++ eg.buf_left=0;
++ if (readline(rdfd, &eg, linebuf, DOVECOTAUTH_LINEBUFSIZE) == 0)
++ {
++ if (strncmp(linebuf, "USER\t1\t", 7) == 0)
++ {
++ /* User was found in the database and we now parse returned information */
++ return_value=parse_userinfo(user, linebuf+7, func, arg);
++ goto cleanup_dovecotauth_getuserinfo;
++ }
++ else if (strcmp(linebuf, "NOTFOUND\t1") == 0)
++ {
++ /* User was not found in the database */
++ return_value=-1; /* Negative return value means that user is not found! */
++ goto cleanup_dovecotauth_getuserinfo;
++ }
++ else if (strncmp(linebuf, "FAIL\t1", 6) == 0)
++ {
++ /* An internal error has occurred on Dovecot's end */
++ return_value=1;
++ goto cleanup_dovecotauth_getuserinfo;
++ }
++ else
++ {
++ fprintf(stderr, "ERR: dovecotauth: Received unknown input from auth socket\n");
++ }
++ }
++ else
++ fprintf(stderr, "ERR: dovecotauth: Did not receive proper input from auth socket\n");
++
++cleanup_dovecotauth_getuserinfo:
++ free(cmdbuf);
++ free(linebuf);
++ return return_value;
++}
++
++int dovecotauth_getuserinfo(const char *addr, const char *user,
++ int (*func)(struct dovecotauthinfo *, void *), void *arg)
++{
++ int s=opensock(addr);
++ int rc;
++
++ if (s < 0)
++ {
++ return (1);
++ }
++ rc = _dovecotauth_getuserinfo(s, s, user, func, arg);
++ close(s);
++ return rc;
++}
+diff -Naur maildrop-2.3.0/maildrop/dovecotauth.h maildrop-2.3.0-dovecotauth/maildrop/dovecotauth.h
+--- maildrop-2.3.0/maildrop/dovecotauth.h 1970-01-01 01:00:00.000000000 +0100
++++ maildrop-2.3.0-dovecotauth/maildrop/dovecotauth.h 2010-01-31 15:01:38.000000000 +0100
+@@ -0,0 +1,59 @@
++#ifndef dovecotauth_h
++#define dovecotauth_h
++
++/*
++** Copyright 2009 Marko Njezic
++** Licensed under the same terms as Courier Authlib AND/OR Courier Maildrop.
++**
++** Partially based on courierauth.h from Courier Authlib, which had the following statement:
++**
++** Copyright 2004 Double Precision, Inc. See COPYING for
++** distribution information.
++*/
++
++#include <sys/types.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++static const char dovecotauth_h_rcsid[]="$Id$";
++
++struct dovecotauthinfo {
++ const char *address;
++ const char *sysusername;
++ const uid_t *sysuserid;
++ gid_t sysgroupid;
++ const char *homedir;
++ const char *maildir;
++ } ;
++
++/*
++ This structure is modeled after authinfo structure from Courier Authlib.
++
++ Either sysusername or sysuserid may be NULL, but not both of them.
++ They, and sysgroupid, specify the authenticated user's system
++ userid and groupid. homedir points to the authenticated user's
++ home directory. address and maildir, are obvious.
++
++ After populating this tructure, the lookup function calls the
++ callback function that's specified in its second argument. The
++ callback function receives a pointer to the authinfo structure.
++
++ The callback function also receives a context pointer, which is
++ the third argument to the lookup function.
++
++ The lookup function should return a negative value if the userid
++ does not exist, a positive value if there was a temporary error
++ looking up the userid, or whatever is the return code from the
++ callback function, if the user exists.
++*/
++
++int dovecotauth_getuserinfo(const char *addr, const char *user,
++ int (*func)(struct dovecotauthinfo *, void *), void *arg);
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif
+diff -Naur maildrop-2.3.0/maildrop/main.C maildrop-2.3.0-dovecotauth/maildrop/main.C
+--- maildrop-2.3.0/maildrop/main.C 2009-09-06 01:12:45.000000000 +0200
++++ maildrop-2.3.0-dovecotauth/maildrop/main.C 2010-01-31 15:11:08.000000000 +0100
+@@ -32,6 +32,16 @@
+ #include <pwd.h>
+ #include <grp.h>
+ #include "../dbobj.h"
++
++/*
++** This switch can later be moved to config.h file with appropriate
++** configure option like --with-dovecotauth or something similar
++*/
++#define DOVECOTAUTH 1
++#if DOVECOTAUTH
++#include "dovecotauth.h"
++#endif
++
+ #if AUTHLIB
+ #include <courierauth.h>
+ #endif
+@@ -171,6 +181,14 @@
+ "\n"
+ #endif
+ #endif
++#if DOVECOTAUTH
++ "Dovecot Authentication extension enabled."
++#if CRLF_TERM
++ "\r\n"
++#else
++ "\n"
++#endif
++#endif
+ #if AUTHLIB
+ "Courier Authentication Library extension enabled."
+ #if CRLF_TERM
+@@ -337,6 +355,98 @@
+ }
+ #endif
+
++#if DOVECOTAUTH
++static int callback_dovecotauth(struct dovecotauthinfo *auth,
++ void *void_arg)
++{
++ Maildrop &maildrop=*(Maildrop *)void_arg;
++
++ if (VerboseLevel() > 1)
++ {
++ Buffer b;
++
++ b.set(auth->sysgroupid);
++ b.push(0);
++
++ merr << "maildrop: dovecotauth: groupid="
++ << b << "\n";
++ }
++
++ setgroupid(auth->sysgroupid);
++
++ uid_t u;
++ if (auth->sysusername)
++ {
++ struct passwd *q=getpwnam(auth->sysusername);
++
++ if (q == NULL)
++ {
++ merr << "Cannot find system user "
++ << auth->sysusername
++ << "\n";
++
++ nochangeuidgid();
++ }
++
++ u=q->pw_uid;
++ }
++ else
++ u=*auth->sysuserid;
++
++ if (VerboseLevel() > 1)
++ {
++ Buffer b;
++
++ b.set(u);
++ b.push(0);
++
++ merr << "maildrop: dovecotauth: userid="
++ << b << "\n";
++ }
++
++ setuid(u);
++
++ if ( getuid() != u)
++ nochangeuidgid();
++
++ if (VerboseLevel() > 1)
++ {
++ merr << "maildrop: dovecotauth: logname="
++ << auth->address
++ << ", home="
++ << auth->homedir
++ << ", mail="
++ << (auth->maildir ? auth->maildir:"(default)")
++ << "\n";
++ }
++
++ maildrop.init_home=auth->homedir;
++ maildrop.init_logname=auth->address;
++ maildrop.init_shell="/bin/sh";
++ maildrop.init_default=auth->maildir ? auth->maildir:
++ GetDefaultMailbox(auth->address);
++
++ return 0;
++}
++
++int find_in_dovecotauth(const char *addr, Maildrop *maildrop, const char* user)
++{
++ int rc=dovecotauth_getuserinfo(addr,
++ user, callback_dovecotauth, maildrop);
++
++ if (rc == 0)
++ return 1;
++
++ if (rc > 0)
++ {
++ errexit=EX_TEMPFAIL;
++ throw "Temporary authentication failure.";
++ }
++
++ return 0;
++}
++#endif
++
+ static void tempfail(const char *msg)
+ {
+ errexit = EX_TEMPFAIL;
+@@ -361,6 +471,9 @@
+ const char *numuidgid=0;
+ #endif
+ #endif
++#if DOVECOTAUTH
++const char *dovecotauth_addr=0;
++#endif
+
+
+ umask( 0007 );
+@@ -446,6 +559,18 @@
+ case 'a':
+ maildrop.authlib_essential=1;
+ break;
++#if DOVECOTAUTH
++ case 't':
++ if (!*optarg && argn < argc) optarg=argv[argn++];
++ if (!*optarg)
++ {
++ mout << "You didn't specify the location of Dovecot auth socket.\n";
++ return (EX_TEMPFAIL);
++ }
++ else
++ dovecotauth_addr=optarg;
++ break;
++#endif
+ case 'h':
+ help();
+ return (EX_TEMPFAIL);
+@@ -467,7 +592,17 @@
+
+ if (*deliverymode)
+ {
+- found = find_in_authlib(&maildrop, deliverymode);
++
++#if DOVECOTAUTH
++ if (dovecotauth_addr)
++ {
++ found = find_in_dovecotauth(dovecotauth_addr, &maildrop, deliverymode);
++ }
++ else
++#endif
++ {
++ found = find_in_authlib(&maildrop, deliverymode);
++ }
+
+ if ( !found )
+ {
+diff -Naur maildrop-2.3.0/maildrop/Makefile.am maildrop-2.3.0-dovecotauth/maildrop/Makefile.am
+--- maildrop-2.3.0/maildrop/Makefile.am 2009-11-14 23:16:32.000000000 +0100
++++ maildrop-2.3.0-dovecotauth/maildrop/Makefile.am 2010-01-31 15:01:38.000000000 +0100
+@@ -46,7 +46,7 @@
+ recipe.C recipe.h recipenode.C recipenode.h recipeparse.C reeval.C \
+ reeval.h regexpnode.h rematch.C rematch.h rematchmsg.C rematchmsg.h \
+ rematchstr.C rematchstr.h search.C search.h token.C \
+- token.h varlist.C varlist.h
++ token.h varlist.C varlist.h dovecotauth.c dovecotauth.h
+
+ maildrop_DEPENDENCIES = libmdcommon.la ../maildir/maildir.libdeps
+
+diff -Naur maildrop-2.3.0/maildrop/Makefile.in maildrop-2.3.0-dovecotauth/maildrop/Makefile.in
+--- maildrop-2.3.0/maildrop/Makefile.in 2009-12-25 23:14:47.000000000 +0100
++++ maildrop-2.3.0-dovecotauth/maildrop/Makefile.in 2010-01-31 15:01:38.000000000 +0100
+@@ -88,7 +88,7 @@
+ re.$(OBJEXT) recipe.$(OBJEXT) recipenode.$(OBJEXT) \
+ recipeparse.$(OBJEXT) reeval.$(OBJEXT) rematch.$(OBJEXT) \
+ rematchmsg.$(OBJEXT) rematchstr.$(OBJEXT) search.$(OBJEXT) \
+- token.$(OBJEXT) varlist.$(OBJEXT)
++ token.$(OBJEXT) varlist.$(OBJEXT) dovecotauth.$(OBJEXT)
+ maildrop_OBJECTS = $(am_maildrop_OBJECTS)
+ maildrop_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+@@ -308,7 +308,7 @@
+ recipe.C recipe.h recipenode.C recipenode.h recipeparse.C reeval.C \
+ reeval.h regexpnode.h rematch.C rematch.h rematchmsg.C rematchmsg.h \
+ rematchstr.C rematchstr.h search.C search.h token.C \
+- token.h varlist.C varlist.h
++ token.h varlist.C varlist.h dovecotauth.c dovecotauth.h
+
+ maildrop_DEPENDENCIES = libmdcommon.la ../maildir/maildir.libdeps
+ maildrop_LDADD = libmdcommon.la `cat ../maildir/maildir.libdeps`\
+@@ -471,6 +471,7 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tempfile.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/token.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/varlist.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dovecotauth.Po@am__quote@
+
+ .C.o:
+ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+diff -Naur maildrop-2.3.0/README.dovecotauth maildrop-2.3.0-dovecotauth/README.dovecotauth
+--- maildrop-2.3.0/README.dovecotauth 1970-01-01 01:00:00.000000000 +0100
++++ maildrop-2.3.0-dovecotauth/README.dovecotauth 2010-01-31 15:01:38.000000000 +0100
+@@ -0,0 +1,46 @@
++Dovecot Authentication extension for maildrop
++=============================================
++** Copyright 2009 Marko Njezic
++** Licensed under the same terms as Courier Authlib AND/OR Courier Maildrop.
++
++When you patch maildrop to include Dovecot Authentication extension, you'll be
++able to do user database lookups against Dovecot. This extension can happily
++coexist with Courier Authlib extension if it is also compiled.
++
++In order to use it you'll need to specify additional option "-t" that will point
++to the location of Dovecot's auth master socket when starting maildrop in
++delivery mode. For example:
++
++maildrop -d USER -t /var/run/dovecot/auth-master
++
++By specifying "-t" option, maildrop will first try user lookup against Dovecot's
++database. If user is not found, maildrop will fallback to local user database
++(i.e. passwd), as usual. Lookups against Courier Authlib will not be done when
++"-t" option is specified. If you want to perform such lookup when both
++extensions are compiled, simply remove "-t" option and maildrop will behave as
++usual.
++
++One significant difference compared to Courier Authlib extension is that Dovecot
++Authentication extension will never return uid/gid that's equal to zero. If such
++value was returned from database, maildrop will exit with temporary failure.
++This was done in order to prevent accidental mistakes. If you really want to
++deliver as/to root, you'll have to start maildrop without "-t" option and let
++it directly query system user database on its own.
++
++Make sure that correct permissions are set on Dovecot's auth master socket so
++that maildrop can communicate with it. Also, depending on what type of users are
++being served from Dovecot's database, if user lookup returns local user
++accounts, you may end up with problems when maildrop tries to write mails to the
++spool directory if wrong permission are set on it, since maildrop will reset its
++permissions (uid/gid) to the values returned from user database. This behavior
++is the same as the behavior of lookups against Courier Authlib, since they also
++reset maildrop's permissions. When you want maildrop to deliver to the local
++users, it's best to let it directly query system user database on its own,
++since then it can apply its own "RESET_GID" magic, which will hopefully result
++in "correct" permissions that will allow maildrop to write to the spool
++directory.
++
++And last but not least, I hope that you'll find this extension useful.
++Especially if you already have an existing user database in Dovecot, but would
++like to use maildrop (with its powerful "xfilter" command) to deliver e-mails,
++without setting up another authentication user database, like Courier Authlib.
diff --git a/unmaintained/makepasswd/APKBUILD b/unmaintained/makepasswd/APKBUILD
new file mode 100644
index 0000000000..211bbd9e34
--- /dev/null
+++ b/unmaintained/makepasswd/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=makepasswd
+pkgver=0.5.2
+pkgrel=0
+pkgdesc="Generates (pseudo-)random passwords of a desired length"
+url="http://people.defora.org/~khorben/projects/makepasswd/"
+arch="all"
+license="GPL3"
+depends=""
+depends_dev=""
+makedepends="$depends_dev libxslt docbook-xsl"
+install=""
+subpackages="$pkgname-doc"
+source="http://ftp.defora.org/pub/projects/makepasswd/$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"
+ make || return 1
+ pushd doc
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -D -p -m 755 src/makepasswd "$pkgdir"/usr/bin/makepasswd
+ install -D -p -m 644 doc/makepasswd.1 \
+ "$pkgdir"/usr/share/man/man1/$pkgname.1 || return 1
+}
+
+md5sums="cf9cc172c57bf8443514e69ad72ec412 makepasswd-0.5.2.tar.gz"
+sha256sums="8a08e40972ab6db3c57e7e5040d4ca9f7be792d3405afd54de136ebbb7039891 makepasswd-0.5.2.tar.gz"
+sha512sums="24bf03bb9170bb96e2262b889e6ba789618a81e132895d0e35615d70d35b6ac36d8001d49f3bc688e062d922049e07ea40528ee4b315b2f3241df6bec5d33633 makepasswd-0.5.2.tar.gz"
diff --git a/unmaintained/mapnik/APKBUILD b/unmaintained/mapnik/APKBUILD
new file mode 100644
index 0000000000..d27f7c58e9
--- /dev/null
+++ b/unmaintained/mapnik/APKBUILD
@@ -0,0 +1,52 @@
+pkgname=mapnik
+pkgver=3.0.0_rc1
+_ver=${pkgver/_rc/-rc}
+pkgrel=1
+pkgdesc="Toolkit and API for developing mapping application"
+url="http://mapnik.org/"
+arch="all"
+license="LGPL"
+options=""
+depends="python ttf-dejavu"
+makedepends="freetype-dev libxml2-dev zlib-dev icu-dev proj4-dev
+ libjpeg-turbo-dev libpng-dev tiff-dev boost-dev
+ sqlite-dev postgresql-dev cairo-dev py-cairo-dev
+ harfbuzz-dev"
+subpackages="$pkgname-dev"
+source="$pkgname-$_ver.tar.gz::https://github.com/mapnik/mapnik/archive/v$_ver.tar.gz
+ boost-1.57-geojson.patch
+ "
+
+_builddir="$srcdir"/$pkgname-$_ver
+prepare() {
+ cd "$_builddir" || return 1
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build () {
+ cd "$_builddir"
+ python scons/scons.py sh configure -j ${JOBS:-1} \
+ DESTDIR="$pkgdir" \
+ SYSTEM_FONTS="/usr/share/fonts/TTF/" \
+ CUSTOM_CFLAGS="$CFLAGS" \
+ CUSTOM_LDFLAGS="$LDFLAGS" \
+ PREFIX="/usr" \
+ || return 1
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make install || return 1
+}
+
+md5sums="c7231574639ec2688d957831a5c16341 mapnik-3.0.0-rc1.tar.gz
+15fbf2b3478699f1d2f9c7c1f10256ab boost-1.57-geojson.patch"
+sha256sums="b4aef9a5910b25cb694b1a67beaf3e8dfbd4d629615d5012eb2378f39a63b379 mapnik-3.0.0-rc1.tar.gz
+f2b49482abd85d62e80cef5602890385d4c39aa67a2a4d9341af83bc4485b32d boost-1.57-geojson.patch"
+sha512sums="00fd5479424dc06c9e22e201495fe6a178e5f656445bb5739045c87eda7985bad1598e1eb34bc9bcce6cae2b72200489728a059ba08f32283ddc45dd8d6dc47b mapnik-3.0.0-rc1.tar.gz
+88d830765b7c1404f9b14ca165b1dd546ba3da2fd69c89786cc80a24147acb5807f1bc0b8e5b7d55eadd9d18d3530fc14b254822984856508c04a22e2a14f978 boost-1.57-geojson.patch"
diff --git a/unmaintained/mapnik/boost-1.57-geojson.patch b/unmaintained/mapnik/boost-1.57-geojson.patch
new file mode 100644
index 0000000000..7c971b6ba0
--- /dev/null
+++ b/unmaintained/mapnik/boost-1.57-geojson.patch
@@ -0,0 +1,11 @@
+--- ./plugins/input/geojson/geojson_datasource.hpp.orig
++++ ./plugins/input/geojson/geojson_datasource.hpp
+@@ -73,7 +73,7 @@
+ choose_by_content_diff_tag,
+ split_default_tag,
+ linear_tag,
+- node_s_mem_static_tag>;
++ node_variant_static_tag>;
+ };
+
+ }}}}}
diff --git a/unmaintained/markdown/APKBUILD b/unmaintained/markdown/APKBUILD
new file mode 100644
index 0000000000..7140e07486
--- /dev/null
+++ b/unmaintained/markdown/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: z3bra <willy at mailoo dot org>
+# Maintainer:
+pkgname=markdown
+_pkgreal=Markdown
+pkgver=1.0.1
+pkgrel=0
+pkgdesc="Text-to-HTML conversion tool for web writers"
+url="http://daringfireball.net/projects/markdown/"
+arch="noarch"
+license="custom:BSD"
+depends="perl"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=
+source="http://daringfireball.net/projects/downloads/Markdown_1.0.1.zip"
+
+_builddir=$srcdir/${_pkgreal}_${pkgver}
+
+build() {
+ cd "$_builddir"
+ pod2man "Markdown.pl" > "$_builddir/$pkgname.1"
+}
+
+package() {
+ cd "$_builddir"
+ install -Dm755 "Markdown.pl" "${pkgdir}/usr/bin/${pkgname}"
+ install -Dm644 "License.text" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -Dm644 "$pkgname.1" "$pkgdir/usr/share/man/man1/$pkgname.1"
+}
+
+md5sums="f17b3c2b2830c6fd2fe0098226e59a2f Markdown_1.0.1.zip"
+sha256sums="6520e9b6a58c5555e381b6223d66feddee67f675ed312ec19e9cee1b92bc0137 Markdown_1.0.1.zip"
+sha512sums="962df356e641326fbf29cdedc36dafb5f04683f0b3f5eb1efb8e15994e1e000b5a6882c84f09db4a6f8f948811ebbe76759e27871c644e690884db31705eab1f Markdown_1.0.1.zip"
diff --git a/unmaintained/masscan/APKBUILD b/unmaintained/masscan/APKBUILD
new file mode 100644
index 0000000000..a21c2aa108
--- /dev/null
+++ b/unmaintained/masscan/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=masscan
+pkgver=1.0.1
+pkgrel=0
+pkgdesc="A TCP port scanner"
+url="https://github.com/robertdavidgraham/masscan"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="libpcap-dev "
+install=""
+subpackages=""
+source="$pkgname-$pkgver.tar.gz::https://github.com/robertdavidgraham/masscan/archive/$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"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -m755 -D "$_builddir"/bin/$pkgname \
+ "$pkgdir"/usr/bin/$pkgname || return 1
+}
+
+md5sums="f22c77fdaef4e2018d3b25532c1b1e6e masscan-1.0.1.tar.gz"
+sha256sums="821c3bae851b50b9d47b3bef6c4b18b7d46c14c3f3bb5b4710dda19fff8bef86 masscan-1.0.1.tar.gz"
+sha512sums="5991c4d4994bd4e7d4f4d7c6e6b1dcdb5c39e9a1b4f6d46ff3eff78d376e2658f199493c7e33fe660a5f405402a817a525d7a6dd7c810d47496d9accec52b3a7 masscan-1.0.1.tar.gz"
diff --git a/unmaintained/mathomatic/APKBUILD b/unmaintained/mathomatic/APKBUILD
new file mode 100644
index 0000000000..7a3ae6050a
--- /dev/null
+++ b/unmaintained/mathomatic/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer:
+pkgname=mathomatic
+pkgver=16.0.5
+pkgrel=0
+pkgdesc="A software computer algebra system (CAS)"
+url="http://www.mathomatic.org/math/"
+arch="all"
+license="LGPL2+"
+depends="m4"
+depends_dev="readline-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://mathomatic.orgserve.de/$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"
+ make -f makefile READLINE=1 CC_OPTIMIZE="$CFLAGS" prefix="/usr" || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" prefix="/usr" m4install-degrees || return 1
+}
+
+
+md5sums="dd04913a98a5073b56f3bc78a01820f3 mathomatic-16.0.5.tar.bz2"
+sha256sums="976e6fed1014586bcd584e417c074fa86e4ca6a0fcc2950254da2efde99084ca mathomatic-16.0.5.tar.bz2"
+sha512sums="c44c60183442226562df9eefb1d77e5bafd96b7a5d3ad34a76963c586d398647366e782c75ffcf27c2b7d9d4be56678bbbc4d37ac71687a39f04b3fef450cc73 mathomatic-16.0.5.tar.bz2"
diff --git a/unmaintained/mathomatic/busybox.patch b/unmaintained/mathomatic/busybox.patch
new file mode 100644
index 0000000000..07061ca60c
--- /dev/null
+++ b/unmaintained/mathomatic/busybox.patch
@@ -0,0 +1,11 @@
+--- mathomatic-15.7.1.orig/makefile
++++ mathomatic-15.7.1/makefile
+@@ -33,7 +33,7 @@
+ CC ?= gcc # C compiler to use; this statement doesn't work usually, instead using cc.
+ M4 ?= m4 # Change this to gm4 in Unix or a non-GNU system.
+ INSTALL ?= install # Installer utility to use; change to ginstall under Unix.
+-INSTALL_PROGRAM ?= $(INSTALL) -Cv # Command to install executable program files; compares to see if any differences, first.
++INSTALL_PROGRAM ?= $(INSTALL) -c # Command to install executable program files; compares to see if any differences, first.
+ INSTALL_DATA ?= $(INSTALL) -m 0644 # command to install data files
+
+ CC_OPTIMIZE ?= -O3 # Default C compiler optimization flags that are safe.
diff --git a/unmaintained/mbuffer/APKBUILD b/unmaintained/mbuffer/APKBUILD
new file mode 100644
index 0000000000..4cd190545a
--- /dev/null
+++ b/unmaintained/mbuffer/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=mbuffer
+pkgver=20140310
+pkgrel=0
+pkgdesc="Measuring Buffer is an enhanced version of buffer"
+url="http://www.maier-komor.de/mbuffer.html"
+arch="all"
+license="GPL3+"
+depends=""
+depends_dev=""
+makedepends="mt-st mhash-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://www.maier-komor.de/software/mbuffer/$pkgname-$pkgver.tgz"
+
+_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 \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="9937d7f666c19a2e6b2499b04dbecc44 mbuffer-20140310.tgz"
+sha256sums="ab90b6fdce16db2bf08bcda0bc5d2bfb053a9a163d2a24f95fbf246460549b99 mbuffer-20140310.tgz"
+sha512sums="cb845eaf4c84281de65d082cd8350edcef90a11fd49533f74b63aa366c9c6b8f6b4be014b0f75ae9a4aa8b058ad080d64e21fd14eb2f51f18c2f238c341b345a mbuffer-20140310.tgz"
diff --git a/unmaintained/mdev-like-a-boss/00-update-to-git-a5682fe.patch b/unmaintained/mdev-like-a-boss/00-update-to-git-a5682fe.patch
new file mode 100644
index 0000000000..0662e75684
--- /dev/null
+++ b/unmaintained/mdev-like-a-boss/00-update-to-git-a5682fe.patch
@@ -0,0 +1,38 @@
+diff --git a/LICENSE b/LICENSE
+new file mode 100644
+index 0000000..10206e3
+--- /dev/null
++++ b/LICENSE
+@@ -0,0 +1,10 @@
++Copyright (c) 2012-2015, Piotr Karbowski <piotr.karbowski@gmail.com>
++All rights reserved.
++
++Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
++
++ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
++ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
++ * Neither the name of the Piotr Karbowski nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
++
++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+diff --git a/README.rst b/README.rst
+index 56f420b..1a055b6 100644
+--- a/README.rst
++++ b/README.rst
+@@ -62,3 +62,4 @@ Random notes
+ - Keycodes under Xorg may be different than with evdev, for example mute keycode is no longer 121 but 160. Install 'xev' and check your keycodes if you remap or bind them with xmodmap.
+ - Mdev does not support udev's udisks and so on, Full blown desktop environments may not really like the change, you will lost your DE's automount stuff etc. But there is ``pmount`` and you can always config automount script in ``/etc/mdev.conf``
+ - Unmerging udev may not be good idea, as for example chromium need libudev to compile. Better append ``sys-fs/udev -*`` to package.use and put ``sys-fs/udev-init-scripts-10`` into ``/etc/portage/profile/package.provided``. Then you can rebuild udev with all USE flags disabled and remove udev-init-scripts.
++- `lsusb` seems to run `/etc/udev/hwids.bin` to identify devices. One may need to add `udev` USE flag to the hwids package if wishes to see the device names.
+diff --git a/helpers/storage-device b/helpers/storage-device
+index 8c0d0ac..ecedff3 100755
+--- a/helpers/storage-device
++++ b/helpers/storage-device
+@@ -94,7 +94,7 @@ drop_symlinks() {
+ [ -f "${storage_dir}/storage_symlink_${type}_${MDEV}" ] || continue
+ local target_symlink="$(cat "${storage_dir}/storage_symlink_${type}_${MDEV}" 2>/dev/null)"
+ [ "${target_symlink}" ] || continue
+-
++
+ local target_symlink_device="$(readlink "${target_symlink}")"
+ if [ "${target_symlink_device}" = "/dev/${MDEV}" ]; then
+ rm "${target_symlink}"
diff --git a/unmaintained/mdev-like-a-boss/0001-adjust-sample-conf-for-alpine-packaging.patch b/unmaintained/mdev-like-a-boss/0001-adjust-sample-conf-for-alpine-packaging.patch
new file mode 100644
index 0000000000..1e50f7cc54
--- /dev/null
+++ b/unmaintained/mdev-like-a-boss/0001-adjust-sample-conf-for-alpine-packaging.patch
@@ -0,0 +1,55 @@
+From 3d1e9fa5fad1746cf9058f4ef709e0e69d9f4cf2 Mon Sep 17 00:00:00 2001
+From: Isaac Dunham <ibid.ag@gmail.com>
+Date: Sun, 31 Jan 2016 20:27:13 -0800
+Subject: [PATCH] adjust sample conf for alpine packaging
+
+---
+ mdev.conf | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/mdev.conf b/mdev.conf
+index d23b083..161e5bf 100644
+--- a/mdev.conf
++++ b/mdev.conf
+@@ -45,19 +45,19 @@ ttyS[0-9]* root:uucp 660
+ # block devices
+ ram([0-9]*) root:disk 660 >rd/%1
+ loop([0-9]+) root:disk 660 >loop/%1
+-sd[a-z].* root:disk 660 */opt/mdev/helpers/storage-device
+-vd[a-z].* root:disk 660 */opt/mdev/helpers/storage-device
+-hd[a-z].* root:disk 660 */opt/mdev/helpers/storage-device
+-md[0-9]* root:disk 660 */opt/mdev/helpers/storage-device
+-dm-[0-9]* root:disk 660 */opt/mdev/helpers/storage-device
+-bcache[0-9]* root:disk 660 */opt/mdev/helpers/storage-device
+-mmcblk[0-9].* root:disk 660 */opt/mdev/helpers/storage-device
++sd[a-z].* root:disk 660 */lib/mdev-like-a-boss/storage-device
++vd[a-z].* root:disk 660 */lib/mdev-like-a-boss/storage-device
++hd[a-z].* root:disk 660 */lib/mdev-like-a-boss/storage-device
++md[0-9]* root:disk 660 */lib/mdev-like-a-boss/storage-device
++dm-[0-9]* root:disk 660 */lib/mdev-like-a-boss/storage-device
++bcache[0-9]* root:disk 660 */lib/mdev-like-a-boss/storage-device
++mmcblk[0-9].* root:disk 660 */lib/mdev-like-a-boss/storage-device
+ sr[0-9]* root:cdrom 660 @ln -sf $MDEV cdrom
+ fd[0-9]* root:floppy 660
+
+ # Run settle-nics every time new NIC appear.
+-# If you don't want to auto-populate /etc/mactab with NICs, run 'settle-nis' without '--write-mactab' param.
+--SUBSYSTEM=net;DEVPATH=.*/net/.*;.* root:root 600 @/opt/mdev/helpers/settle-nics --write-mactab
++# If you don't want to auto-populate /etc/mactab with NICs, run 'settle-nics' without '--write-mactab' param.
++-SUBSYSTEM=net;DEVPATH=.*/net/.*;.* root:root 600 @/lib/mdev-like-a-boss/settle-nics --write-mactab
+
+ net/tun[0-9]* root:kvm 660
+ net/tap[0-9]* root:root 600
+@@ -111,7 +111,7 @@ cpu([0-9]+) root:root 600 =cpu/%1/cpuid
+ msr([0-9]+) root:root 600 =cpu/%1/msr
+
+ # Populate /dev/bus/usb.
+-SUBSYSTEM=usb;DEVTYPE=usb_device;.* root:root 660 */opt/mdev/helpers/proc-bus-usb
++SUBSYSTEM=usb;DEVTYPE=usb_device;.* root:root 660 */lib/mdev-like-a-boss/proc-bus-usb
+
+ # Catch-all other devices, Right now useful only for debuging.
+-#.* root:root 660 */opt/mdev/helpers/catch-all
++#.* root:root 660 */lib/mdev-like-a-boss/catch-all
+--
+2.7.0
+
diff --git a/unmaintained/mdev-like-a-boss/APKBUILD b/unmaintained/mdev-like-a-boss/APKBUILD
new file mode 100644
index 0000000000..bd4cb7b8f9
--- /dev/null
+++ b/unmaintained/mdev-like-a-boss/APKBUILD
@@ -0,0 +1,75 @@
+# Contributor: Isaac Dunham <ibid.ag@gmail.com>
+# Maintainer: Isaac Dunham <ibid.ag@gmail.com>
+pkgname=mdev-like-a-boss
+pkgver=20140928
+pkgrel=0
+pkgdesc="Extras for using mdev instead of udev"
+url="https://github.com/slashbeast/mdev-like-a-boss"
+arch="all"
+license="custom:BSD"
+depends="busybox-initscripts"
+makedepends=""
+install=""
+subpackages="$pkgname-xorg $pkgname-doc"
+provides="udev"
+source="mdev-like-a-boss-$pkgver.tar.gz::https://github.com/slashbeast/mdev-like-a-boss/archive/$pkgver.tar.gz
+ 00-update-to-git-a5682fe.patch
+ 0001-adjust-sample-conf-for-alpine-packaging.patch
+ README.alpine
+ "
+
+_builddir="$srcdir"/mdev-like-a-boss-$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"
+}
+
+package() {
+ cd "$_builddir" || return 1
+ mkdir -p -m 0755 \
+ "$pkgdir/lib/mdev-like-a-boss" \
+ "$pkgdir/usr/share/doc/mdev-like-a-boss" \
+ "$pkgdir/usr/share/licenses/mdev-like-a-boss" || return 1
+ cp helpers/* "$pkgdir"/lib/mdev-like-a-boss/ || return 1
+ cp LICENSE "$pkgdir"/usr/share/licenses/mdev-like-a-boss/ || return 1
+ cp -R keymaps/ "$pkgdir"/lib/mdev-like-a-boss/ || return 1
+ cp README.rst TODO mdev.conf "$pkgdir"/usr/share/doc/mdev-like-a-boss \
+ || return 1
+ cp "$srcdir"/README.alpine "$pkgdir"/usr/share/doc/mdev-like-a-boss \
+ || return 1
+}
+
+xorg() {
+ # try to suppress a package that setup-xorg-base adds;
+ # the evdev driver needs udev
+ provides="xf86-input-evdev"
+ # Should this drag in synaptics as well?
+ depends="xf86-input-mouse xf86-input-keyboard"
+ pkgdesc="$pkgdesc (extras for udev-less xorg)"
+ install_if="$pkgname=$pkgver-r$pkgrel xorg-server"
+ cd "$_builddir" || return 1
+ mkdir -p -m 0755 "$subpkgdir/usr/share/X11/" && \
+ cp -R xorg.conf.d/ "$subpkgdir/usr/share/X11/" || return 1
+}
+
+md5sums="4ad1e0bfc42345fc98eef7608235ca19 mdev-like-a-boss-20140928.tar.gz
+1fbc8687351b24031e220ca1049ff058 00-update-to-git-a5682fe.patch
+5fc798745e270dced84585abdc3d147f 0001-adjust-sample-conf-for-alpine-packaging.patch
+10ae564fb545d267da1df672f96871b4 README.alpine"
+sha256sums="b5b1d9f4ea60c788883e9eff6889cb3d330bc0c2cfdeeb583b2fed7642339a25 mdev-like-a-boss-20140928.tar.gz
+1860b7da927b5f03cde68225adfa06e6c24804c70595a06b903e1c78fce44fb2 00-update-to-git-a5682fe.patch
+f35d2df28e37f2618c3310197bc9649108fed15c04057e3e9cd4be26228030e7 0001-adjust-sample-conf-for-alpine-packaging.patch
+1d2a2b2b00946466aef3acd5f180e3685ca56575a4be0ba4154cae6d8e14acbb README.alpine"
+sha512sums="c8405c03bab4d80fd5a7495e6bb09113cda1eab687ef0dddf758472ef30f72252275623966d107cf2e00b15c6a3313fb1a8bba1e46b8b6e28a06c9fe75236efb mdev-like-a-boss-20140928.tar.gz
+782c0795ee60050d03a0c92ceff94b48bd07f2ce73f1629151842f4462978688c0358fed314cf8b145d572c6572de0ce43aff6f0ee7b77026b4c14d3ef739280 00-update-to-git-a5682fe.patch
+9ad565ea1a1bb77fb6f66fc3609770bc467f9e13a35fb8ae68915a9735d2ee9c769653fcaedae57f45be3245d32c078061ef4f1310a03c48458c2ff739f84d38 0001-adjust-sample-conf-for-alpine-packaging.patch
+de8be8ee2330f3e89250021cbd4329119ba2445df506cecac3908f64d3b9dba4cffbc6a202ebe5f4902db45fa58cb0bed7a12c1fc43be6fa002611a047c109da README.alpine"
diff --git a/unmaintained/mdev-like-a-boss/README.alpine b/unmaintained/mdev-like-a-boss/README.alpine
new file mode 100644
index 0000000000..c18e1bfacb
--- /dev/null
+++ b/unmaintained/mdev-like-a-boss/README.alpine
@@ -0,0 +1,12 @@
+This package was originally written for Gentoo; under Alpine, the documentation
+is of limited usefulness:
+- the helpers are installed in /lib/mdev-like-a-boss instead of /opt/mdev/helpers
+- mdev.conf is not installed in /etc, so the helpers aren't used.
+ (Refer to /usr/share/doc/mdev-like-a-boss/mdev.conf if you want to use them)
+
+The 'keymaps' in /lib/mdev-like-a-boss/keymaps are short scripts that can
+be run from a custom boot-time script; select the right one for your computer.
+
+Probably the most useful part is the mdev-like-a-boss-xorg package; it will
+help get X running without udev.
+
diff --git a/unmaintained/mediaproxy/APKBUILD b/unmaintained/mediaproxy/APKBUILD
new file mode 100644
index 0000000000..7cb0d472f3
--- /dev/null
+++ b/unmaintained/mediaproxy/APKBUILD
@@ -0,0 +1,57 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=mediaproxy
+pkgver=2.6.1
+pkgrel=0
+pkgdesc="MediaProxy"
+url="http://www.ag-projects.com/MediaProxy/"
+pkgusers="kamailio"
+pkggroups="kamailio"
+arch="noarch"
+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 iptables-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="72443d6137c77c3c9cd446ca98ec5d21 mediaproxy-2.6.1.tar.gz
+cf081e451ab5d8d5ff66a8d9fa6707d6 mediaproxy-dispatcher.initd
+1add855d86ead49c19798e9d86c69efe mediaproxy-relay.initd
+d3df3569543d696ca102f131f7ad95e4 config.ini"
+sha256sums="a424893f951f233d3f31e286034aabde07b9625f8d79a808ff28d2cf3eda0854 mediaproxy-2.6.1.tar.gz
+f0574385a12799038f162d2845f8d5719b894d5c757ac299a8fefdba529eac57 mediaproxy-dispatcher.initd
+f8397afb079dc7a93f72943a021a3f3e27c670f842f3ae41f8cd3e57fef5a231 mediaproxy-relay.initd
+80765183172bab483ba749222af9a685ff44b3399426d8fba6562b6afba75ad2 config.ini"
+sha512sums="f4da0dcf2347911feacfa9b6757738d94d8f1fdd7eae885ba13e49aa590bb9f195c76c8928b11564d7e51d7f0e2e89ee277e0b58e7450b6a68f91d56b8428c8a mediaproxy-2.6.1.tar.gz
+4c4d38c846e8e75cf4d65e95d5ead8f953566a1ed5bb14d54b628cc19235b87f39e2a4207df44924df4ae5bbe97189187b80db57c3a9e9e88f0012bd117cedcc mediaproxy-dispatcher.initd
+cda84a3afe5240c0ad18e558c6b734135c978e3fc32331413b1c4c7690724aad95a34757fdf6e2fdbc3de85861283fed2d734c7a36e8a604cf8d852226f58c93 mediaproxy-relay.initd
+f911664ac80024086a391c4d8653c36d82a9c626f0eef9c4758dd8c7a0276a814e1e8889afcf43aabf9460a6bb8037ca0d584a0a2de6e2a020711b151156c898 config.ini"
diff --git a/unmaintained/mediaproxy/config.ini b/unmaintained/mediaproxy/config.ini
new file mode 100644
index 0000000000..995c006d2b
--- /dev/null
+++ b/unmaintained/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/unmaintained/mediaproxy/mediaproxy-dispatcher.initd b/unmaintained/mediaproxy/mediaproxy-dispatcher.initd
new file mode 100644
index 0000000000..9b37a7e064
--- /dev/null
+++ b/unmaintained/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/unmaintained/mediaproxy/mediaproxy-relay.initd b/unmaintained/mediaproxy/mediaproxy-relay.initd
new file mode 100644
index 0000000000..09b842f072
--- /dev/null
+++ b/unmaintained/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/unmaintained/megactl/APKBUILD b/unmaintained/megactl/APKBUILD
new file mode 100644
index 0000000000..252048086c
--- /dev/null
+++ b/unmaintained/megactl/APKBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=megactl
+pkgver=0.4.1
+pkgrel=0
+pkgdesc="Tools for LSI megaraid adapters"
+url="http://sourceforge.net/projects/megactl/"
+arch="all"
+license="GPLv2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev linux-headers"
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/project/megactl/megactl/$pkgver%20beta%20source%20package/megactl-$pkgver.tar.gz"
+
+_builddir="$srcdir"/megactl-$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"
+ make ARCH= megactl megasasctl
+}
+
+package() {
+ cd "$_builddir"
+ install -d "$pkgdir"/usr/bin
+ install megactl megasasctl "$pkgdir"/usr/bin/ || return 1
+}
+
+md5sums="5d2b2752e3f623d86220ffd9d91afb44 megactl-0.4.1.tar.gz"
+sha256sums="d7aee98035c97a1ff098450192f073565c4f2355079763f6dc6202be121720e8 megactl-0.4.1.tar.gz"
+sha512sums="65a97f03fbe1c76375d2e16016c1e57c7e4544bfd7185b13a330560819caf48ecad8e9f1feb1d448b45d4f862abf2799868bd357d120019a709088c90b58ac92 megactl-0.4.1.tar.gz"
diff --git a/unmaintained/meiga/APKBUILD b/unmaintained/meiga/APKBUILD
new file mode 100644
index 0000000000..ea25106e0a
--- /dev/null
+++ b/unmaintained/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/unmaintained/memtest86+/APKBUILD b/unmaintained/memtest86+/APKBUILD
new file mode 100644
index 0000000000..7c01099970
--- /dev/null
+++ b/unmaintained/memtest86+/APKBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+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/unmaintained/mhash/APKBUILD b/unmaintained/mhash/APKBUILD
new file mode 100644
index 0000000000..255e51c00c
--- /dev/null
+++ b/unmaintained/mhash/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=mhash
+pkgver=0.9.9.9
+pkgrel=1
+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/unmaintained/microxml/APKBUILD b/unmaintained/microxml/APKBUILD
new file mode 100644
index 0000000000..59a1a6418b
--- /dev/null
+++ b/unmaintained/microxml/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
+# Maintainer:
+pkgname=microxml
+pkgver=0_git20150918
+pkgrel=0
+pkgdesc="Micro XML library"
+url="http://www.freecwmp.org/"
+arch="all"
+license="GPL"
+depends=
+depends_dev=
+makedepends="$depends_dev autoconf"
+install=
+subpackages=
+source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar.gz"
+giturl="git://dev.freecwmp.org/microxml"
+disturl="dev.alpinelinux.org:/archive/$pkgname"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ cd "$_builddir"
+ # apply patches here
+ autoconf
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DSTROOT="$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="4a18c6863d8e8defb955d1d21bdf796e microxml-0_git20150918.tar.gz"
+sha256sums="e1ccc83ff12c1ce00c70dd01d03cabcb09c39078c2b5af473fd0ce109c361c59 microxml-0_git20150918.tar.gz"
+sha512sums="f0df12c28f7bdca8425cc0eb2c3104cc9eb77af89e7efae0810fa22224614f8f027e4454a3e41d529c71f5fb172af4aba5b1af5415d460012305cc6b6eda3568 microxml-0_git20150918.tar.gz"
diff --git a/unmaintained/minitube/APKBUILD b/unmaintained/minitube/APKBUILD
new file mode 100644
index 0000000000..b5a4bf27f7
--- /dev/null
+++ b/unmaintained/minitube/APKBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=minitube
+pkgver=2.2
+pkgrel=0
+pkgdesc="Youtube desktop application"
+url="http://flavio.tordini.org/minitube"
+arch="all"
+license="GPLv2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev qt-dev phonon-dev"
+install=""
+subpackages=""
+source="http://flavio.tordini.org/files/minitube/minitube-$pkgver.tar.gz"
+
+_builddir="$srcdir"/minitube
+
+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"
+ qmake && make "CXX=${CXX:-g++}" CXXFLAGS="$CXXFLAGS" || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make install INSTALL_ROOT="$pkgdir"
+}
+
+md5sums="b8483b2cfc4be460f347ed9342e3789f minitube-2.2.tar.gz"
+sha256sums="1076981044d62e5c0b52754d34acde46be5e8bdf4813ae7cead7c9ae038133e1 minitube-2.2.tar.gz"
+sha512sums="75c783f22171e56875d2d2ba3260f5402ab3c638fb84f5d0c97d3bc05597b66e45f9d8e9bdfec9c30574af1aca5e74a40ad879c8943767271414968ea98221a1 minitube-2.2.tar.gz"
diff --git a/unmaintained/mkdocs/APKBUILD b/unmaintained/mkdocs/APKBUILD
new file mode 100644
index 0000000000..105c3e67f1
--- /dev/null
+++ b/unmaintained/mkdocs/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=mkdocs
+pkgver=0.14.0
+pkgrel=1
+pkgdesc="Project documentation with Markdown"
+url="http://www.mkdocs.org/"
+arch="noarch"
+license="BSD"
+depends="python py-tornado py-yaml py-markdown py-livereload py-jinja2 py-click
+ py-mkdocs-bootswatch py-mkdocs-bootstrap py-setuptools py-six"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="mkdocs-$pkgver.tar.gz::https://github.com/mkdocs/mkdocs/archive/$pkgver.tar.gz"
+
+_builddir="$srcdir"/mkdocs-$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 --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="de422d15a17a5f752df7a542d6b75aa3 mkdocs-0.14.0.tar.gz"
+sha256sums="fd3e1623dcd7027dbac55f4d8c4f1c1b990e87588ee463999e717b5083556b73 mkdocs-0.14.0.tar.gz"
+sha512sums="47c95f258362df8b124a9689a79a9927d26b1f7816b027fd14d193c79bb5340bdea8770c47566e00452edcdf801fe858569f4c76aa9d3f1799e6e7100bb916ff mkdocs-0.14.0.tar.gz"
diff --git a/unmaintained/mmh/APKBUILD b/unmaintained/mmh/APKBUILD
new file mode 100644
index 0000000000..808e3f1d58
--- /dev/null
+++ b/unmaintained/mmh/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
+pkgname=mmh
+pkgver=0.2
+pkgrel=0
+pkgdesc="MUA for users who like the unix philosophy"
+url="http://marmaro.de/prog/mmh/"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="ncurses-dev autoconf flex"
+install=""
+subpackages="$pkgname-doc"
+source="http://marmaro.de/prog/${pkgname}/files/${pkgname}-${pkgver}.tar.gz
+ musl-fixes.patch
+ symlinks.patch"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ cd "$_builddir"
+ update_config_sub || return 1
+
+ local i=
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1 ;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc/$pkgname \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+}
+
+package() {
+ make DESTDIR="${pkgdir}" \
+ -C "$_builddir" install || return 1
+}
+
+md5sums="f783e729a25cc3bbe4b856aca89b85b2 mmh-0.2.tar.gz
+eb7946984ca385c6ad49e0f2ea5b2fa3 musl-fixes.patch
+4351aef49407471609d1ab6047cafae2 symlinks.patch"
+sha256sums="23a9f3bec1b43260b8a0b327825ce35b370ef19454585b3d4c8757599a7539ab mmh-0.2.tar.gz
+a694cf2212787d7e924f61f23e276f92184cfb10fc38561deb88e532faec85ea musl-fixes.patch
+bc91f0053297eeedb7dbffd5ca627cc6805f8b9987a4fd74c1eca5dee0a4666b symlinks.patch"
+sha512sums="5fb38f94a8ff1b81e69af2d80f529796cb3c6685ece96f75a7c0f442a4b0d8ab2f21f7b97bcaf7fb7f1b1b29aff93750cbac33b370be20ff7f0730cf136893af mmh-0.2.tar.gz
+a7a9df6c93cdc1fbd8c93b33eafa8f3749e56cc3bf10c97c18b6bf745fd2423b848aecd2334aa2c2531c0164ca558c592a44a3642c29436a9a7f159300ffc00b musl-fixes.patch
+d6b92f582a15a2664f275b32e6ddf827fd0176e5e289a27bb210e9c58e02fa159bdf26c01f1227dad64ec5fb55ab5aac4b86246ba66ef46c656749be2a11842f symlinks.patch"
diff --git a/unmaintained/mmh/musl-fixes.patch b/unmaintained/mmh/musl-fixes.patch
new file mode 100644
index 0000000000..a1c0c8fe1c
--- /dev/null
+++ b/unmaintained/mmh/musl-fixes.patch
@@ -0,0 +1,468 @@
+diff -upr mmh-0.2.orig/sbr/m_getfld.c mmh-0.2/sbr/m_getfld.c
+--- mmh-0.2.orig/sbr/m_getfld.c 2015-12-21 03:36:00.060760463 +0100
++++ mmh-0.2/sbr/m_getfld.c 2015-12-21 03:38:04.080205306 +0100
+@@ -149,26 +149,81 @@ static int edelimlen;
+
+ static int (*eom_action)(int) = NULL;
+
+-#ifdef _FSTDIO
+-# define _ptr _p /* Gag */
+-# define _cnt _r /* Retch */
+-# define _filbuf __srget /* Puke */
+-# define DEFINED__FILBUF_TO_SOMETHING_SPECIFIC
+-#endif
+-
+-#ifndef DEFINED__FILBUF_TO_SOMETHING_SPECIFIC
+-extern int _filbuf(FILE*);
+-#endif
++/*
++** This replaces the old approach, which included direct access to
++** stdio internals. It uses one fread() to load a buffer that we
++** manage.
++*/
++#define MSG_INPUT_SIZE 8192
++static struct m_getfld_buffer {
++ unsigned char msg_buf[2 * MSG_INPUT_SIZE];
++ unsigned char *readpos;
++ unsigned char *end; /* One past the last character read in. */
++} m;
++
++static void
++setup_buffer(FILE *iob, struct m_getfld_buffer *m)
++{
++ /*
++ ** Rely on Restrictions that m_getfld() calls on different file
++ ** streams are not interleaved, and no other file stream read
++ ** methods are used. And, the first call to m_getfld (), etc., on
++ ** a stream always reads at least 1 byte.
++ ** I don't think it's necessary to use ftello() because we just
++ ** need to determine whether the current offset is 0 or not.
++ */
++ if (ftell(iob) == 0) {
++ /* A new file stream, so reset the buffer state. */
++ m->readpos = m->end = m->msg_buf;
++ }
++}
++
++static size_t
++read_more(struct m_getfld_buffer *m, FILE *iob)
++{
++ size_t num_read;
++
++ /* Move any leftover at the end of buf to the beginning. */
++ if (m->end > m->readpos) {
++ memmove(m->msg_buf, m->readpos, m->end - m->readpos);
++ }
++ m->readpos = m->msg_buf + (m->end - m->readpos);
++ num_read = fread(m->readpos, 1, MSG_INPUT_SIZE, iob);
++ m->end = m->readpos + num_read;
+
++ return num_read;
++}
++
++static int
++Getc(FILE *iob)
++{
++ if (m.end - m.readpos < 1) {
++ if (read_more(&m, iob) == 0) {
++ /*
++ ** Pretend that we read a character.
++ ** That's what stdio does.
++ */
++ ++m.readpos;
++ return EOF;
++ }
++ }
++ return (m.readpos < m.end) ? *m.readpos++ : EOF;
++}
++
++static int
++Ungetc(int c, FILE *iob)
++{
++ return (m.readpos == m.msg_buf) ? EOF : (*--m.readpos = c);
++}
+
+ int
+ m_getfld(int state, unsigned char *name, unsigned char *buf,
+ int bufsz, FILE *iob)
+ {
+ unsigned char *bp, *cp, *ep, *sp;
+- int cnt, c, i, j;
++ int cnt, c, i, j, k;
+
+- if ((c = getc(iob)) < 0) {
++ if ((c = Getc(iob)) < 0) {
+ msg_count = 0;
+ *buf = 0;
+ return FILEEOF;
+@@ -176,10 +231,10 @@ m_getfld(int state, unsigned char *name,
+ if (eom(c, iob)) {
+ if (! eom_action) {
+ /* flush null messages */
+- while ((c = getc(iob)) >= 0 && eom(c, iob))
++ while ((c = Getc(iob)) >= 0 && eom(c, iob))
+ ;
+ if (c >= 0)
+- ungetc(c, iob);
++ Ungetc(c, iob);
+ }
+ msg_count = 0;
+ *buf = 0;
+@@ -192,16 +247,16 @@ m_getfld(int state, unsigned char *name,
+ case FLD:
+ if (c == '\n' || c == '-') {
+ /* we hit the header/body separator */
+- while (c != '\n' && (c = getc(iob)) >= 0)
++ while (c != '\n' && (c = Getc(iob)) >= 0)
+ ;
+
+- if (c < 0 || (c = getc(iob)) < 0 || eom(c, iob)) {
++ if (c < 0 || (c = Getc(iob)) < 0 || eom(c, iob)) {
+ if (!eom_action) {
+ /* flush null messages */
+- while ((c = getc(iob)) >= 0 && eom(c, iob))
++ while ((c = Getc(iob)) >= 0 && eom(c, iob))
+ ;
+ if (c >= 0)
+- ungetc(c, iob);
++ Ungetc(c, iob);
+ }
+ msg_count = 0;
+ *buf = 0;
+@@ -218,47 +273,28 @@ m_getfld(int state, unsigned char *name,
+ cp = name;
+ i = NAMESZ - 1;
+ for (;;) {
+-#ifdef LINUX_STDIO
+- bp = sp = (unsigned char *) iob->_IO_read_ptr - 1;
+- j = (cnt = ((long) iob->_IO_read_end -
+- (long) iob->_IO_read_ptr) + 1) < i ? cnt : i;
+-#elif defined(__DragonFly__)
+- bp = sp = (unsigned char *) ((struct __FILE_public *)iob)->_p - 1;
+- j = (cnt = ((struct __FILE_public *)iob)->_r+1) < i ? cnt : i;
+-#else
+- bp = sp = (unsigned char *) iob->_ptr - 1;
+- j = (cnt = iob->_cnt+1) < i ? cnt : i;
+-#endif
++ /* Store current pos, ungetting the last char. */
++ bp = sp = (unsigned char *) m.readpos - 1;
++ j = ((cnt = m.end - m.readpos + 1) < i) ? cnt : i;
++
+ while (--j >= 0 && (c = *bp++) != ':' && c != '\n')
+ *cp++ = c;
+
+ j = bp - sp;
+ if ((cnt -= j) <= 0) {
+-#ifdef LINUX_STDIO
+- iob->_IO_read_ptr = iob->_IO_read_end;
+- if (__underflow(iob) == EOF) {
+-#elif defined(__DragonFly__)
+- if (__srget(iob) == EOF) {
+-#else
+- if (_filbuf(iob) == EOF) {
+-#endif
++ /*
++ ** Used to explicitly force refill of the
++ ** buffer here, but Getc() will do that
++ ** if necessary.
++ */
++ if (Getc (iob) == EOF) {
+ *cp = *buf = 0;
+ advise(NULL, "eof encountered in field \"%s\"", name);
+ return FMTERR;
+ }
+-#ifdef LINUX_STDIO
+- iob->_IO_read_ptr++; /* NOT automatic in __underflow()! */
+-#endif
+ } else {
+-#ifdef LINUX_STDIO
+- iob->_IO_read_ptr = bp + 1;
+-#elif defined(__DragonFly__)
+- ((struct __FILE_public *)iob)->_p = bp + 1;
+- ((struct __FILE_public *)iob)->_r = cnt - 1;
+-#else
+- iob->_ptr = bp + 1;
+- iob->_cnt = cnt - 1;
+-#endif
++ /* Restore the current offset. */
++ m.readpos = bp + 1;
+ }
+ if (c == ':')
+ break;
+@@ -312,7 +348,14 @@ m_getfld(int state, unsigned char *name,
+ ** that should be harmless enough, right?
+ ** This is a corrupt message anyway.
+ */
+- fseek(iob, ftell(iob) - 2, SEEK_SET);
++ /* emulates: fseek(iob, ftell(iob) -(-2 + cnt + 1), SEEK_SET) */
++ m.readpos += cnt - 1;
++ /*
++ ** Reset file stream position so caller,
++ ** e.g., get_content, can use ftell(), etc.
++ */
++ fseek(iob, -cnt - 1, SEEK_CUR);
++
+ return BODY;
+ }
+ if ((i -= j) <= 0) {
+@@ -336,16 +379,9 @@ m_getfld(int state, unsigned char *name,
+ */
+ cp = buf; i = bufsz-1;
+ for (;;) {
+-#ifdef LINUX_STDIO
+- cnt = (long) iob->_IO_read_end - (long) iob->_IO_read_ptr;
+- bp = (unsigned char *) --iob->_IO_read_ptr;
+-#elif defined(__DragonFly__)
+- cnt = ((struct __FILE_public *)iob)->_r++;
+- bp = (unsigned char *) --((struct __FILE_public *)iob)->_p;
+-#else
+- cnt = iob->_cnt++;
+- bp = (unsigned char *) --iob->_ptr;
+-#endif
++ /* Set and save the current pos and update cnt. */
++ cnt = m.end - m.readpos;
++ bp = --m.readpos;
+ c = cnt < i ? cnt : i;
+ while ((ep = locc( c, bp, '\n' ))) {
+ /*
+@@ -353,21 +389,14 @@ m_getfld(int state, unsigned char *name,
+ ** return.
+ */
+ if ((j = *++ep) != ' ' && j != '\t') {
+-#ifdef LINUX_STDIO
+- j = ep - (unsigned char *) iob->_IO_read_ptr;
+- memcpy(cp, iob->_IO_read_ptr, j);
+- iob->_IO_read_ptr = ep;
+-#elif defined(__DragonFly__)
+- j = ep - (unsigned char *) ((struct __FILE_public *)iob)->_p;
+- memcpy(cp, ((struct __FILE_public *)iob)->_p, j);
+- ((struct __FILE_public *)iob)->_p = ep;
+- ((struct __FILE_public *)iob)->_r -= j;
+-#else
+- j = ep - (unsigned char *) iob->_ptr;
+- memcpy(cp, iob->_ptr, j);
+- iob->_ptr = ep;
+- iob->_cnt -= j;
+-#endif
++ /*
++ ** Save the text and update the
++ ** current position.
++ */
++ j = ep - m.readpos;
++ memcpy (cp, m.readpos, j);
++ m.readpos = ep;
++
+ cp += j;
+ state = FLD;
+ goto finish;
+@@ -379,64 +408,33 @@ m_getfld(int state, unsigned char *name,
+ ** end of input or dest buffer - copy what
+ ** we've found.
+ */
+-#ifdef LINUX_STDIO
+- c += bp - (unsigned char *) iob->_IO_read_ptr;
+- memcpy(cp, iob->_IO_read_ptr, c);
+-#elif defined(__DragonFly__)
+- c += bp - (unsigned char *) ((struct __FILE_public *)iob)->_p;
+- memcpy(cp, ((struct __FILE_public *)iob)->_p, c);
+-#else
+- c += bp - (unsigned char *) iob->_ptr;
+- memcpy(cp, iob->_ptr, c);
+-#endif
+- i -= c;
+- cp += c;
++ c += bp - m.readpos;
++ for (k = 0; k < c; ++k, --i) {
++ *cp++ = Getc (iob);
++ }
+ if (i <= 0) {
+ /* the dest buffer is full */
+-#ifdef LINUX_STDIO
+- iob->_IO_read_ptr += c;
+-#elif defined(__DragonFly__)
+- ((struct __FILE_public *)iob)->_r -= c;
+- ((struct __FILE_public *)iob)->_p += c;
+-#else
+- iob->_cnt -= c;
+- iob->_ptr += c;
+-#endif
+- state = FLDPLUS;
+ break;
+ }
+ /*
+ ** There's one character left in the input
+- ** buffer. Copy it & fill the buffer.
+- ** If the last char was a newline and the
+- ** next char is not whitespace, this is
+- ** the end of the field. Otherwise loop.
++ ** buffer. Copy it & fill the buffer (that
++ ** fill used to be explicit, but now Getc()
++ ** does it). If the last char was a newline
++ ** and the next char is not whitespace, this
++ ** is the end of the field. Otherwise loop.
+ */
+ --i;
+-#ifdef LINUX_STDIO
+- *cp++ = j = *(iob->_IO_read_ptr + c);
+- iob->_IO_read_ptr = iob->_IO_read_end;
+- c = __underflow(iob);
+- iob->_IO_read_ptr++; /* NOT automatic! */
+-#elif defined(__DragonFly__)
+- *cp++ =j = *(((struct __FILE_public *)iob)->_p + c);
+- c = __srget(iob);
+-#else
+- *cp++ = j = *(iob->_ptr + c);
+- c = _filbuf(iob);
+-#endif
++ *cp++ = j = Getc(iob);
++ c = Getc(iob);
+ if (c == EOF || ((j == '\0' || j == '\n')
+ && c != ' ' && c != '\t')) {
+ if (c != EOF) {
+-#ifdef LINUX_STDIO
+- --iob->_IO_read_ptr;
+-#elif defined(__DragonFly__)
+- --((struct __FILE_public *)iob)->_p;
+- ++((struct __FILE_public *)iob)->_r;
+-#else
+- --iob->_ptr;
+- ++iob->_cnt;
+-#endif
++ /*
++ ** Put the character back for
++ ** the next call.
++ */
++ --m.readpos;
+ }
+ state = FLD;
+ break;
+@@ -454,17 +452,10 @@ m_getfld(int state, unsigned char *name,
+ ** don't add an eos.
+ */
+ i = (bufsz < 0) ? -bufsz : bufsz-1;
+-#ifdef LINUX_STDIO
+- bp = (unsigned char *) --iob->_IO_read_ptr;
+- cnt = (long) iob->_IO_read_end - (long) iob->_IO_read_ptr;
+-#elif defined(__DragonFly__)
+- bp = (unsigned char *) --((struct __FILE_public *)iob)->_p;
+- cnt = ++((struct __FILE_public *)iob)->_r;
+-#else
+- bp = (unsigned char *) --iob->_ptr;
+- cnt = ++iob->_cnt;
+-#endif
+- c = (cnt < i ? cnt : i);
++ /* Back up and store the current position and update cnt. */
++ bp = --m.readpos;
++ cnt = m.end - m.readpos;
++ c = (cnt < i) ? cnt : i;
+ if (ismbox && c > 1) {
+ /*
+ ** packed maildrop - only take up to the (possible)
+@@ -547,15 +538,8 @@ m_getfld(int state, unsigned char *name,
+ }
+ }
+ memcpy( buf, bp, c );
+-#ifdef LINUX_STDIO
+- iob->_IO_read_ptr += c;
+-#elif defined(__DragonFly__)
+- ((struct __FILE_public *)iob)->_r -= c;
+- ((struct __FILE_public *)iob)->_p += c;
+-#else
+- iob->_cnt -= c;
+- iob->_ptr += c;
+-#endif
++ /* Advance the current position to reflect the copy out. */
++ m.readpos += c;
+ if (bufsz < 0) {
+ msg_count = c;
+ return (state);
+@@ -581,11 +565,13 @@ thisisanmbox(FILE *iob)
+ char *cp;
+ char *delimstr;
+
+- c = getc(iob);
++ setup_buffer(iob, &m);
++
++ c = Getc(iob);
+ if (feof(iob)) {
+ return;
+ }
+- ungetc(c, iob);
++ Ungetc(c, iob);
+
+ /*
+ ** Figure out what the message delimitter string is for this
+@@ -599,7 +585,12 @@ thisisanmbox(FILE *iob)
+ ** abort.
+ */
+
+- if (fread(text, sizeof(*text), 5, iob) != 5) {
++ for (c=0, cp=text; c<5; ++c, ++cp) {
++ if ((*cp = Getc(iob)) == EOF) {
++ break;
++ }
++ }
++ if (c != 5) {
+ adios(EX_IOERR, NULL, "Read error");
+ }
+ if (strncmp(text, "From ", 5)!=0) {
+@@ -607,7 +598,7 @@ thisisanmbox(FILE *iob)
+ }
+ ismbox = TRUE;
+ delimstr = "\nFrom ";
+- while ((c = getc(iob)) != '\n' && c >= 0) {
++ while ((c = Getc(iob)) != '\n' && c >= 0) {
+ continue;
+ }
+ c = strlen(delimstr);
+@@ -630,8 +621,9 @@ thisisanmbox(FILE *iob)
+ */
+ pat_map = (unsigned char **) mh_xcalloc(256, sizeof(unsigned char *));
+
+- for (cp = (char *) fdelim + 1; cp < (char *) delimend; cp++ )
++ for (cp = (char *) fdelim + 1; cp < (char *) delimend; cp++) {
+ pat_map[(unsigned char)*cp] = (unsigned char *) cp;
++ }
+ }
+
+
+@@ -645,24 +637,31 @@ m_Eom(int c, FILE *iob)
+ long pos = 0L;
+ int i;
+ char text[10];
++ char *cp;
+
+- pos = ftell(iob);
+- if ((i = fread(text, sizeof *text, edelimlen, iob)) != edelimlen ||
+- (strncmp(text, (char *)edelim, edelimlen)!=0)) {
+- if (i == 0 && ismbox)
++ pos = m.readpos; /* ftell */
++ for (i=0, cp=text; i<edelimlen; ++i, ++cp) {
++ if ((*cp = Getc(iob)) == EOF) {
++ break;
++ }
++ }
++
++ if (i != edelimlen ||
++ (strncmp(text, (char *)edelim, edelimlen)!=0)) {
++ if (i == 0 && ismbox) {
+ /*
+ ** the final newline in the (brain damaged) unix-format
+ ** maildrop is part of the delimitter - delete it.
+ */
+ return 1;
+-
+- fseek(iob, (long)(pos-1), SEEK_SET);
+- getc(iob); /* should be OK */
++ }
++ m.readpos = pos - 1; /* fseek(iob, pos - 1, SEEK_SET) */
++ Getc(iob); /* should be OK */
+ return 0;
+ }
+
+ if (ismbox) {
+- while ((c = getc(iob)) != '\n' && c >= 0) {
++ while ((c = Getc(iob)) != '\n' && c >= 0) {
+ continue;
+ }
+ }
diff --git a/unmaintained/mmh/symlinks.patch b/unmaintained/mmh/symlinks.patch
new file mode 100644
index 0000000000..f0679cc769
--- /dev/null
+++ b/unmaintained/mmh/symlinks.patch
@@ -0,0 +1,12 @@
+diff -upr mmh-0.2.orig/uip/Makefile.in mmh-0.2/uip/Makefile.in
+--- mmh-0.2.orig/uip/Makefile.in 2015-12-21 03:41:33.425934861 +0100
++++ mmh-0.2/uip/Makefile.in 2015-12-21 03:42:09.715772415 +0100
+@@ -33,7 +33,7 @@ LEXLIB = @LEXLIB@
+
+ COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CFLAGS)
+ LINK = $(CC) $(LDFLAGS) -o $@
+-LN = ln
++LN = ln -s
+
+ INSTALL = @INSTALL@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
diff --git a/unmaintained/mobile-broadband-provider-info/APKBUILD b/unmaintained/mobile-broadband-provider-info/APKBUILD
new file mode 100644
index 0000000000..f89e952488
--- /dev/null
+++ b/unmaintained/mobile-broadband-provider-info/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer:
+pkgname=mobile-broadband-provider-info
+pkgver=20120614
+pkgrel=0
+pkgdesc="Mobile broadband settings for various service providers"
+url="https://git.gnome.org/browse/mobile-broadband-provider-info/"
+arch="noarch"
+license="custom"
+depends=""
+depends_dev=""
+makedepends="$depends_dev autoconf automake"
+install=""
+subpackages="$pkgname-doc"
+source="https://git.gnome.org/browse/$pkgname/snapshot/$pkgname-$pkgver.tar.xz"
+_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"
+ ./autogen.sh
+ ./configure --prefix=/usr
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+md5sums="5431cb495272fc92c1e4b393ce1f0008 mobile-broadband-provider-info-20120614.tar.xz"
+sha256sums="cc376f22853525c0ed01bf5f196d56f4579b7af9846610bfb369200ad0f4d357 mobile-broadband-provider-info-20120614.tar.xz"
+sha512sums="3557701254cdb47f7e7ab148dcc6d836a3894dd72103019680b785965b67ae8ad73b21fc024f1feaefe43e7d704093b614fe86c08098fadc65cf9bf172a45629 mobile-broadband-provider-info-20120614.tar.xz"
diff --git a/unmaintained/moinmoin/APKBUILD b/unmaintained/moinmoin/APKBUILD
new file mode 100644
index 0000000000..3e303a5daa
--- /dev/null
+++ b/unmaintained/moinmoin/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+
+pkgname=moinmoin
+pkgver=1.9.8
+pkgrel=0
+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="375a57b62565c789488c4d5b759c182c moin-1.9.8.tar.gz"
+sha256sums="a74ba7fd8cf09b9e8415a4c45d7389ea910c09932da50359ea9796e3a30911a6 moin-1.9.8.tar.gz"
+sha512sums="587e45c474357d318a423db16d9bc65b30c8dc6f7c6d8b1d3a7c59c6ac67387ad304c647ff0f2caa1f5233b6bb69f191f2f563f20094c5f30656575a67e1a932 moin-1.9.8.tar.gz"
diff --git a/unmaintained/mp3info/APKBUILD b/unmaintained/mp3info/APKBUILD
new file mode 100644
index 0000000000..a033ee8360
--- /dev/null
+++ b/unmaintained/mp3info/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer: Carlo Landmeter <clandmeter@gmail.com>
+pkgname=mp3info
+pkgver=0.8.5a
+pkgrel=1
+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
+ types.patch"
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -p1 -i "$srcdir"/escape_chars.patch || return 1
+ patch -p1 -i "$srcdir"/types.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
+0ecc00596019ca4530af8eae6f5d4ce3 types.patch"
+sha256sums="0438ac68e9f04947fb14ca5573d27c62454cb9db3a93b7f1d2c226cd3e0b4e10 mp3info-0.8.5a.tgz
+452edfebd1d9a647e89b9d88712b1eaec9f7aa4982eeae5c3c884aa21c283df5 escape_chars.patch
+fa63e57cc3e3ddb0e23ecab99bcce5bb95f18dce83214f307bddbfe3dcd431c2 types.patch"
+sha512sums="30e0ef62deaa090fc115317f6c372f408077dfceed7e05faa6744b8516291e38d21f1742732f6532585f0c3d8c705d8c7026c2bed84c97e1f497d433637affd2 mp3info-0.8.5a.tgz
+e2768cb89514e7cec47552384b5166774037fd188caa6e8ed0f6bd6b3a688e0b747c056eddfe3af4613b3947181d3df2bb68a786c9a764598995b8401c561b25 escape_chars.patch
+52378d1b27cd6ae002c99a93854efbef5166cedd1c078aca071f822bdefb1b1d457ef00d3949e96a27e09d2309d320d7ace2417bb25117762ad4536ac68785fa types.patch"
diff --git a/unmaintained/mp3info/escape_chars.patch b/unmaintained/mp3info/escape_chars.patch
new file mode 100644
index 0000000000..ec697a2863
--- /dev/null
+++ b/unmaintained/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/unmaintained/mp3info/types.patch b/unmaintained/mp3info/types.patch
new file mode 100644
index 0000000000..760ebf708d
--- /dev/null
+++ b/unmaintained/mp3info/types.patch
@@ -0,0 +1,11 @@
+--- ./mp3tech.c.orig
++++ ./mp3tech.c
+@@ -279,7 +279,7 @@
+ }
+
+ int sameConstant(mp3header *h1, mp3header *h2) {
+- if((*(uint*)h1) == (*(uint*)h2)) return 1;
++ if((*(unsigned int*)h1) == (*(unsigned int*)h2)) return 1;
+
+ if((h1->version == h2->version ) &&
+ (h1->layer == h2->layer ) &&
diff --git a/unmaintained/mpop/APKBUILD b/unmaintained/mpop/APKBUILD
new file mode 100644
index 0000000000..cc26629f50
--- /dev/null
+++ b/unmaintained/mpop/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: z3bra <willy at mailoo dot org>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=mpop
+pkgver=1.2.2
+pkgrel=0
+pkgdesc="A small an fast POP3 client"
+url="http://$pkgname.sourceforge.net/"
+arch="all"
+license="GPL3"
+depends=""
+depends_dev="gnutls-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz"
+
+_builddir=$srcdir/$pkgname-$pkgver
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --with-ssl=gnutls \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+md5sums="4ff3088fcbc94c70c66d6002435bfe9c mpop-1.2.2.tar.xz"
+sha256sums="d1e7d7d18147996cfc6195cdfb936ca51620cb841a7460043d8cc838ca48bfc3 mpop-1.2.2.tar.xz"
+sha512sums="5cb78ac088fa5da4e6c8f049510e0aab986b73f062b05169482adf6b14cb9abe04f93bd4672837c3b406880f86e4bbf6f5dd8c5b98b1bcad485ac43ea48ae7c7 mpop-1.2.2.tar.xz"
diff --git a/unmaintained/ms-sys/APKBUILD b/unmaintained/ms-sys/APKBUILD
new file mode 100644
index 0000000000..86858917b7
--- /dev/null
+++ b/unmaintained/ms-sys/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=ms-sys
+pkgver=2.4.0
+pkgrel=0
+pkgdesc="A tool for creating Microsoft compatible boot records"
+url="http://ms-sys.sourceforge.net/"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev linux-headers"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/ms-sys/ms-sys-$pkgver.tar.gz
+ nls.patch"
+
+_builddir="$srcdir"/ms-sys-$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 NLS=no || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make PREFIX=/usr MANDIR=/usr/share/man DESTDIR="$pkgdir" NLS=no \
+ install || return 1
+ rm -rf "$pkgdir"/usr/share/locale
+}
+
+md5sums="6742dd1a058b1ce32cb991853d9d6bec ms-sys-2.4.0.tar.gz
+e99ecd149e6e83a60647dbb96409b949 nls.patch"
+sha256sums="afcfefb52350f632bbd4671c3f97df09e42a60d0de3e56d42682450c7ebf689e ms-sys-2.4.0.tar.gz
+0cde6bb2fbe958380b2cd058095da3b6da690d9462909a4acf867dab9e19d6e8 nls.patch"
+sha512sums="17e2496d2e4815180b9f33fa0f206953fb3484e01c115a2e67d110fb04d421be7e694a434d991a7518579eadb9dce4e907dbd849dbaf6fb506758c425faa14ec ms-sys-2.4.0.tar.gz
+02115f778a74cc8b048872d437745e1b9c272b3c3597dc180ffa9fd6a977bf97d0744bc18ebc4a2ce08942f2ec94a96cda2f85d36289140d53e32aa20f8b75ee nls.patch"
diff --git a/unmaintained/ms-sys/nls.patch b/unmaintained/ms-sys/nls.patch
new file mode 100644
index 0000000000..29c77a62c2
--- /dev/null
+++ b/unmaintained/ms-sys/nls.patch
@@ -0,0 +1,32 @@
+--- ./inc/nls.h.orig
++++ ./inc/nls.h
+@@ -1,11 +1,10 @@
+ #ifndef NLS_H
+ #define NLS_H
+
+-#include <libintl.h>
+-
+ #ifdef NO_LIBINTL_OR_GETTEXT
+ #define _(String) (String)
+ #else
++#include <libintl.h>
+ #define _(String) gettext(String)
+ #endif
+ #define gettext_noop(String) (String)
+--- ./Makefile.orig
++++ ./Makefile
+@@ -80,10 +80,14 @@
+
+ MAN_SRC = $(wildcard $(MAN)/*.*)
+
++ifeq ($(NLS),no)
++CFLAGS += -DNO_LIBINTL_OR_GETTEXT
++else
+ PO_FILES = $(filter-out $(MESSAGES),$(wildcard $(PO)/*.po))
+ MO_FILES = $(PO_FILES:$(PO)/%.po=$(MO)/%.mo)
+ LANGUAGES ?= $(PO_FILES:$(PO)/%.po=%)
+ NLS_FILES = $(LANGUAGES:%=$(DESTDIR)$(LOCALEDIR)/%/$(MESSDIR)/$(PACKAGE).mo)
++endif
+ MAN_FILES = $(foreach FILE, $(MAN_SRC), \
+ $(DESTDIR)$(MANDIR)/man$(subst .,,$(suffix $(FILE)))/$(FILE:$(MAN)/%=%))
+
diff --git a/unmaintained/mtd-utils/APKBUILD b/unmaintained/mtd-utils/APKBUILD
new file mode 100644
index 0000000000..10d8f4474d
--- /dev/null
+++ b/unmaintained/mtd-utils/APKBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Valery McHno <anarch.linux@gmail.com>
+pkgname=mtd-utils
+pkgver=1.5.2
+pkgrel=0
+pkgdesc="Utilities for handling MTD devices, and for dealing with FTL, NFTL JFFS2, etc."
+url="http://www.linux-mtd.infradead.org/"
+arch="all"
+license="GPL2"
+#depends="libuuid lzo zlib"
+depends=""
+makedepends="linux-headers lzo-dev util-linux-dev zlib-dev acl-dev"
+subpackages="$pkgname-doc"
+source="ftp://ftp.infradead.org/pub/mtd-utils/$pkgname-$pkgver.tar.bz2"
+
+_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"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make -j1 DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="596bc7b20a6d4fb86d63fc9b8af674d6 mtd-utils-1.5.2.tar.bz2"
+sha256sums="5db57389280a3abaec5dd23af2590988b70f213fa3929c12a2642c8f9a86f400 mtd-utils-1.5.2.tar.bz2"
+sha512sums="ad0246b24ab7d8efca9b7f9af717deeb92684a328759203eed3f98db6539b46c12f5c9900b8757a5a217b579e31af3571e0bb7eeed6081e741463814148bfee3 mtd-utils-1.5.2.tar.bz2"
diff --git a/unmaintained/mysql-connector-odbc/APKBUILD b/unmaintained/mysql-connector-odbc/APKBUILD
new file mode 100644
index 0000000000..4a95b3e167
--- /dev/null
+++ b/unmaintained/mysql-connector-odbc/APKBUILD
@@ -0,0 +1,49 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=mysql-connector-odbc
+pkgver=5.2.7
+pkgrel=0
+pkgdesc="ODBC driver for MySQL"
+url="http://dev.mysql.com/downloads/connector/odbc/"
+arch="all"
+license="GPLv2 with exceptions"
+depends=""
+depends_dev=""
+makedepends="$depends_dev mysql-dev unixodbc-dev cmake"
+install=""
+subpackages=""
+source="http://dev.mysql.com/get/Downloads/Connector-ODBC/${pkgver%.*}/mysql-connector-odbc-$pkgver-src.tar.gz"
+
+_builddir="$srcdir"/mysql-connector-odbc-$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"
+ cmake . -G "Unix Makefiles" \
+ -DWITH_UNIXODBC=1 \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMYSQLCLIENT_LIB_NAME=mysqlclient \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -r "$pkgdir"/usr/[A-Z]* \
+ "$pkgdir"/usr/bin \
+ "$pkgdir"/usr/test \
+ || return 1
+
+}
+
+md5sums="4e1e313fd4e2fe46741802b026c4c5fe mysql-connector-odbc-5.2.7-src.tar.gz"
+sha256sums="0ad8fcccb4c41c7100fe02ec0aa87938d33329d23f7b68d1b9031c87750392c9 mysql-connector-odbc-5.2.7-src.tar.gz"
+sha512sums="f54ac8a23ade71da85e1335e95eccdccfd68a8687d17a584ced103812bdc5aee8014769a84eaa22724bb2cb23d34c7188c964d3283723defeaef5157a4b3c60f mysql-connector-odbc-5.2.7-src.tar.gz"
diff --git a/unmaintained/mytop/APKBUILD b/unmaintained/mytop/APKBUILD
new file mode 100644
index 0000000000..22191b6cb1
--- /dev/null
+++ b/unmaintained/mytop/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=mytop
+pkgver=1.6
+pkgrel=0
+pkgdesc="A top clone for MySQL"
+url="http://jeremy.zawodny.com/mysql/mytop/"
+arch="noarch"
+license="GPL2"
+depends="perl perl-term-readkey perl-dbd-mysql"
+depends_dev=""
+makedepends="perl-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://jeremy.zawodny.com/mysql/mytop/${pkgname}-${pkgver}.tar.gz"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ cd "$_builddir"
+ sed -i 's#"long|!"#"long!"#' $pkgname || return 1
+}
+
+build() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ make && make test || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="4127c3e486eb664fed60f40849372a9f mytop-1.6.tar.gz"
diff --git a/unmaintained/nbd/APKBUILD b/unmaintained/nbd/APKBUILD
new file mode 100644
index 0000000000..5141b70c80
--- /dev/null
+++ b/unmaintained/nbd/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=nbd
+pkgver=3.13
+pkgrel=0
+pkgdesc="Tools for network block devices"
+url="http://nbd.sourceforge.net"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="glib-dev linux-headers"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.xz"
+
+_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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --enable-lfs \
+ --enable-syslog \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="784be37497cc2f9a53c67c8c77d1676d nbd-3.13.tar.xz"
+sha256sums="8597cd97a41930dfcbcc6ce7cf910f6b609771718a4f1680713c2f2ba5cc200d nbd-3.13.tar.xz"
+sha512sums="da1f6c1aab10baf7ef10062481f3a26dfa142f5cfc21fb7abc90f6eb9906df619331dbb36b693c52d4a7a5fe0923f6179b59eea74033cb1278dca99b192cdbff nbd-3.13.tar.xz"
diff --git a/unmaintained/nbtscan/APKBUILD b/unmaintained/nbtscan/APKBUILD
new file mode 100644
index 0000000000..61cbb2bddb
--- /dev/null
+++ b/unmaintained/nbtscan/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=nbtscan
+pkgver=1.5.1
+pkgrel=0
+pkgdesc="A NetBIOS name network scanner"
+url="http://www.inetcat.net/software/nbtscan.html"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://www.sourcefiles.org/Networking/Tools/Miscellanenous/nbtscan-1.5.1.tar.gz
+ $pkgname-$pkgver-makefile.patch"
+_builddir="$srcdir"/$pkgname-"$pkgver"a
+
+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
+}
+
+md5sums="85bb085077c380b82a6ff73e0de0c154 nbtscan-1.5.1.tar.gz
+513430ac89e76bfdb2fd9f8bfce4cca2 nbtscan-1.5.1-makefile.patch"
+sha256sums="f9f95d5555356c8d467a576e69d9d348bf2a821ded9a85f895b5e6d21e2aa7eb nbtscan-1.5.1.tar.gz
+b2787e59b5b21f6f5a3d766438889daea25c3a321406c4bd275493b8cd8742ed nbtscan-1.5.1-makefile.patch"
+sha512sums="2e2ac6a3ce7b188552c4f5f82b1e2bb99049bd0cd6f69361c59066c0b262d9311186aabc0c03c3096b7d2c48276052b1ddf230eba43051e221019c9bf223ae3e nbtscan-1.5.1.tar.gz
+75668565aef5d07d848c55d322c543b9394d372898d239bfb04eb2265bb0262e3b89c5bd35772db6775f4b825e13914dc792b38e09260e26a1a512e39059e1fa nbtscan-1.5.1-makefile.patch"
diff --git a/unmaintained/nbtscan/nbtscan-1.5.1-makefile.patch b/unmaintained/nbtscan/nbtscan-1.5.1-makefile.patch
new file mode 100644
index 0000000000..300f2a6aef
--- /dev/null
+++ b/unmaintained/nbtscan/nbtscan-1.5.1-makefile.patch
@@ -0,0 +1,20 @@
+--- nbtscan-1.5.1a/Makefile.in.orig
++++ nbtscan-1.5.1a/Makefile.in
+@@ -5,6 +5,7 @@
+ OBJECTS=nbtscan.o statusq.o range.o list.o
+ DEFS=@DEFS@
+ TARGET=@TARGET@
++DESTDIR=
+
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+@@ -14,7 +15,8 @@
+ $(CC) $(CFLAGS) -o nbtscan $(OBJECTS) $(LIBS)
+
+ install:
+- $(INSTALL) $(TARGET) $(BINDIR)/$(TARGET)
++ mkdir -p $(DESTDIR)$(BINDIR)
++ $(INSTALL) $(TARGET) $(DESTDIR)$(BINDIR)/$(TARGET)
+
+ nbtscan.o: nbtscan.c statusq.h range.h list.h
+ $(CC) $(CFLAGS) $(DEFS) -c nbtscan.c
diff --git a/unmaintained/ncmpcpp/APKBUILD b/unmaintained/ncmpcpp/APKBUILD
new file mode 100644
index 0000000000..e73ff8a400
--- /dev/null
+++ b/unmaintained/ncmpcpp/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=ncmpcpp
+pkgver=0.6.8
+pkgrel=2
+pkgdesc="An almost exact clone of ncmpc with some new features."
+url="http://ncmpcpp.rybczak.net/"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="boost-dev readline-dev curl-dev libmpdclient-dev
+ taglib-dev ncurses-dev openssl-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://ncmpcpp.rybczak.net/stable/ncmpcpp-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+build () {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --enable-unicode \
+ --enable-clock \
+ --with-taglib \
+ --with-curl \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="90b5b22a6365c17bc7d75c05d2117413 ncmpcpp-0.6.8.tar.bz2"
+sha256sums="ee81f3fdb2a4b670b5e2617f6489f154e69a552e68fc550b1e20ad85f526e692 ncmpcpp-0.6.8.tar.bz2"
+sha512sums="e474bd4122212c34d7043adf7b68aeaaa2e9b5a999840b7e8632d251bdab17f5314fca03bdf2b8eee5de2572d3e5c602d87a1f89889ab7c747321e4272f63ebc ncmpcpp-0.6.8.tar.bz2"
diff --git a/unmaintained/ncrack/APKBUILD b/unmaintained/ncrack/APKBUILD
new file mode 100644
index 0000000000..29c519d3a0
--- /dev/null
+++ b/unmaintained/ncrack/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=ncrack
+pkgver=0.4
+pkgrel=0.alpha
+pkgdesc="A network authentication cracking tool"
+url="http://nmap.org/ncrack/"
+arch="all"
+license="GPL2 with exceptions"
+depends=""
+depends_dev=""
+makedepends="openssl-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://nmap.org/ncrack/dist/$pkgname-"$pkgver"ALPHA.tar.gz
+ missing-typesh.patch"
+_builddir="$srcdir"/$pkgname-"$pkgver"ALPHA
+
+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 \
+ --without-zlib-version-check \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="db9be165469c04650ddc7403b29eb472 ncrack-0.4ALPHA.tar.gz
+19b5756d27f0f7c271cb9d76bf08c1d3 missing-typesh.patch"
+sha256sums="f8bd7e0ef68559490064ec0a5f139b2b9c49aeaf9f6323e080db9ff344c87603 ncrack-0.4ALPHA.tar.gz
+05a5d6637e50533f4d33ba381aec3b60a8f66a4e7639c7d3aeff1b4023293192 missing-typesh.patch"
+sha512sums="19f547f7f6e809d2bca3c20bbb0be5bc46d2ead8330b847a2fb4cc767548ba1fb8a05badaa9d128f9f5c925c5ed41285de0f12a46061354ec1ae0d29b14a364d ncrack-0.4ALPHA.tar.gz
+2fcb3b7b5d622396c733cb350f91cf66d9446d321472c624dc80b975d459754a3d7410539e21c982468b43578b603a66a125c841332d779caa2580dc6c1c8a31 missing-typesh.patch"
diff --git a/unmaintained/ncrack/missing-typesh.patch b/unmaintained/ncrack/missing-typesh.patch
new file mode 100644
index 0000000000..ad651b0167
--- /dev/null
+++ b/unmaintained/ncrack/missing-typesh.patch
@@ -0,0 +1,10 @@
+--- a/Buf.h.org
++++ b/Buf.h
+@@ -93,6 +93,7 @@
+ #define BUF_H
+
+ #include "utils.h"
++#include <sys/types.h>
+
+ #define BUFFER_MAX_CHUNK 0x100000
+ #define BUFFER_MAX_LEN 0xa00000
diff --git a/unmaintained/ndisc6/APKBUILD b/unmaintained/ndisc6/APKBUILD
new file mode 100644
index 0000000000..10367115f1
--- /dev/null
+++ b/unmaintained/ndisc6/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: William Pitcock <nenolod@dereferenced.org>
+pkgname=ndisc6
+pkgver=1.0.2
+pkgrel=0
+pkgdesc="ipv6 neighbor discovery debugging tools"
+url="http://www.remlab.net/ndisc6"
+arch="all"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="perl autoconf automake libtool"
+install=""
+subpackages="$pkgname-doc"
+source="http://www.remlab.net/files/ndisc6/ndisc6-$pkgver.tar.bz2
+ disable-rltraceroute6.patch"
+
+_builddir="$srcdir"/ndisc6-$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
+ autoreconf
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --disable-suid-install \
+ || return 1
+ make V=1 || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="50cb4c19606cf6ff2b7388e71832f579 ndisc6-1.0.2.tar.bz2
+7fee44cbd6cbf45718ad833986c8766e disable-rltraceroute6.patch"
diff --git a/unmaintained/ndisc6/disable-rltraceroute6.patch b/unmaintained/ndisc6/disable-rltraceroute6.patch
new file mode 100644
index 0000000000..f6b85c43e6
--- /dev/null
+++ b/unmaintained/ndisc6/disable-rltraceroute6.patch
@@ -0,0 +1,29 @@
+--- ndisc6-1.0.2.orig/src/Makefile.am
++++ ndisc6-1.0.2/src/Makefile.am
+@@ -12,9 +12,8 @@
+ -DLOCALEDIR=\"$(localedir)\"
+ AM_LIBADD = @top_builddir@/compat/libcompat.a
+
+-mysuidexec_PROGRAMS = ndisc6 rdisc6 rltraceroute6
++mysuidexec_PROGRAMS = ndisc6 rdisc6
+ myexec_PROGRAMS = tcptraceroute6
+-myexec_SCRIPTS = tracert6
+ bin_PROGRAMS = tcpspray name2addr
+ bin_SCRIPTS = tcpspray6 dnssort addr2name
+ noinst_HEADERS = gettime.h
+@@ -41,15 +40,9 @@
+ rdisc6_LDADD = $(LIBRT) $(AM_LIBADD)
+
+ # traceroute6
+-rltraceroute6_SOURCES = traceroute.c traceroute.h \
+- trace-tcp.c trace-udp.c trace-icmp.c
+-rltraceroute6_LDADD = $(LIBRT) $(AM_LIBADD)
+ tcptraceroute6_SOURCES = tcptraceroute.c
+ tcptraceroute6_CPPFLAGS = $(AM_CPPFLAGS) \
+ -DRLTRACEROUTE6=\"`echo rltraceroute6 | sed '$(transform)'`\"
+-
+-tracert6: Makefile.am gen-alias
+- $(alias_verbose)$(gen_alias) tracert6 rltraceroute6 -I
+
+ # tcpspray
+ tcpspray_SOURCES = tcpspray.c
diff --git a/unmaintained/neard/APKBUILD b/unmaintained/neard/APKBUILD
new file mode 100644
index 0000000000..7defd290bf
--- /dev/null
+++ b/unmaintained/neard/APKBUILD
@@ -0,0 +1,61 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=neard
+pkgver=0.14
+pkgrel=0
+pkgdesc="Near Field Communication manager"
+url="https://01.org/linux-nfc/"
+arch="all"
+license="GPLv2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev glib-dev dbus-dev libnl3-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://www.kernel.org/pub/linux/network/nfc/neard-$pkgver.tar.xz
+ neard.initd
+ "
+
+_builddir="$srcdir"/neard-$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
+ update_config_sub || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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
+
+ install -d "$pkgdir"/etc/conf.d "$pkgdir"/etc/init.d
+ echo 'NEARD_OPTS=""' > "$pkgdir"/etc/conf.d/neard
+
+ install -m755 "$srcdir"/neard.initd "$pkgdir"/etc/init.d/neard \
+ || return 1
+
+}
+
+md5sums="692ba2653d60155255244c87396c486b neard-0.14.tar.xz
+ae70699a277238d9b64f2c457e987996 neard.initd"
+sha256sums="6ea724b443d39d679168fc7776a965d1f64727c3735391df2c01469ee7cd8cca neard-0.14.tar.xz
+df6f500b1e4eb113dc1d0a4c18c62c4007c8559ef5206d1425d88d1079b653f6 neard.initd"
+sha512sums="e5a3caac5be088047f18f6998ce6a13ae50f671c864d658237310abd8c587a0b34cc11a81e7d1e69223458215eac583e3935c799bdc0b301ee41bbfd27e28cac neard-0.14.tar.xz
+fb461dc3b8173ea6282357e39f3c4639784b7221fddda8c9b50799ded85ec60eb2fa1ccd516558e97a9e7840beab29b9c613950f7ee872c7ab0433207409bbc1 neard.initd"
diff --git a/unmaintained/neard/neard.initd b/unmaintained/neard/neard.initd
new file mode 100644
index 0000000000..37cc40e280
--- /dev/null
+++ b/unmaintained/neard/neard.initd
@@ -0,0 +1,23 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Purpose License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/neard/files/neard.rc,v 1.1 2013/06/21 19:39:06 vapier Exp $
+
+name="NFC daemon"
+
+command="/usr/libexec/nfc/neard"
+command_args="${NEARD_OPTS}"
+
+start_stop_daemon_args="--exec /usr/libexec/nfc/neard"
+
+depend() {
+ need dbus
+}
+
+start_pre() {
+ if [ -e /proc/modules ] ; then
+ if ! grep -qs NFC_RAW /proc/net/protocols ; then
+ modprobe -q nfc
+ fi
+ fi
+}
diff --git a/unmaintained/nebula/APKBUILD b/unmaintained/nebula/APKBUILD
new file mode 100644
index 0000000000..9e66f7dfa6
--- /dev/null
+++ b/unmaintained/nebula/APKBUILD
@@ -0,0 +1,57 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=nebula
+pkgver=0.2.3
+pkgrel=1
+pkgdesc="An Intrusion Signature Generator"
+url="http://nebula.carnivore.it/"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="zlib-dev"
+install=""
+subpackages="$pkgname-client"
+source="http://downloads.sourceforge.net/nebula/$pkgname-$pkgver.tar.gz
+ musl-fixes.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 \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ || return 1
+ make AM_CFLAGS=-D_GNU_SOURCE || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+client() {
+ #cd "$_builddir"
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/"$pkgname"client "$subpkgdir"/usr/bin/
+}
+
+md5sums="06eabd66634e7969203465fb94900f18 nebula-0.2.3.tar.gz
+393c6ba03578214aa720cd8a703d8b1b musl-fixes.patch"
+sha256sums="6d90fe1c5c1d81045134485e8ee4e888e9fce5d4323a2b6b321bf8a9765fc856 nebula-0.2.3.tar.gz
+e35212e0b65711fd9ead733e15fe76c79a15de7ac7c417a4c26df400df6f590b musl-fixes.patch"
+sha512sums="9202be7ca3c78e7dadf559180a3a9a331ed0ddd4b04aa16ac0c65856f513e600e4e04b7908d4be412360c3fc7e91a286723be1151c74333f0111a4307e323023 nebula-0.2.3.tar.gz
+790c3682e3a32da44e83bcfc44c1483b866d526efdfee6522a42878a9ac3aab65341515c9a080e22e44f5e9daff3b4c55c3e53da6ee68e6580df74850e3b44dd musl-fixes.patch"
diff --git a/unmaintained/nebula/musl-fixes.patch b/unmaintained/nebula/musl-fixes.patch
new file mode 100644
index 0000000000..a23d8a1a0f
--- /dev/null
+++ b/unmaintained/nebula/musl-fixes.patch
@@ -0,0 +1,32 @@
+--- nebula-0.2.3/src/hash.h
++++ nebula-0.2.3/src/hash.h
+@@ -24,7 +24,7 @@
+ #if HAVE_CONFIG_H
+ # include <config.h>
+ #endif
+-
++#include "sys/types.h"
+
+ struct cluster;
+
+--- nebula-0.2.3/src/spamsum.h
++++ nebula-0.2.3/src/spamsum.h
+@@ -24,7 +24,7 @@
+ #if HAVE_CONFIG_H
+ # include <config.h>
+ #endif
+-
++#include "sys/types.h"
+
+ char *spamsum(const u_char *in, size_t length, uint32_t bsize);
+ uint32_t spamsum_match(const char *str1, const char *str2);
+--- nebula-0.2.3/src/trie.h
++++ nebula-0.2.3/src/trie.h
+@@ -24,6 +24,7 @@
+ #if HAVE_CONFIG_H
+ # include <config.h>
+ #endif
++#include "sys/types.h"
+
+ struct trie_node;
+ typedef struct trie_node *trie;
diff --git a/unmaintained/netdiscover/APKBUILD b/unmaintained/netdiscover/APKBUILD
new file mode 100644
index 0000000000..5a72b68bfc
--- /dev/null
+++ b/unmaintained/netdiscover/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=netdiscover
+pkgver=0.3
+pkgrel=1.beta6
+pkgdesc="A network address discovering tool"
+url="http://nixgeneration.com/~jaime/netdiscover/"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="libnet-dev libpcap-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/netdiscover/netdiscover-$pkgver-beta6.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver-beta6
+build() {
+ cd "$_builddir"
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -rf "$pkgdir"/usr/doc/
+}
+
+md5sums="0919227a91ecaeeb2443cff249417be2 netdiscover-0.3-beta6.tar.gz"
+sha256sums="19c367f823c49999e2c05c485cac0a5d5685d23c6b33deae1e957406571924db netdiscover-0.3-beta6.tar.gz"
+sha512sums="b8205322c34684642d52bf58f8fffa12a0dea387da713caf2935ba348c74b2e6cac717bf1626c9de816e45dce7c42b6b9584b5253351040af806f7ba262ce4d2 netdiscover-0.3-beta6.tar.gz"
diff --git a/unmaintained/nethack/APKBUILD b/unmaintained/nethack/APKBUILD
new file mode 100644
index 0000000000..a7d4f467c9
--- /dev/null
+++ b/unmaintained/nethack/APKBUILD
@@ -0,0 +1,72 @@
+# Contributor: Jesse Young <jlyo@jlyo.org>
+# Maintainer:
+pkgname=nethack
+pkgver=3.4.3
+pkgrel=0
+pkgdesc='A single player dungeon exploration game'
+arch='all'
+url='http://www.nethack.org/index.html'
+license='custom'
+depends='ncurses gzip'
+makedepends='ncurses-dev byacc flex linux-headers'
+subpackages="$pkgname-doc"
+install=""
+source="http://downloads.sourceforge.net/$pkgname/$pkgname-${pkgver//.}-src.tgz
+ nethack.bin"
+
+build(){
+ cd $srcdir/$pkgname-$pkgver/
+ sh sys/unix/setup.sh
+
+ sed -e '/define HACKDIR/ s|/usr/games/lib/nethackdir|/usr/lib/nethack/|' \
+ -e "/^#define COMPRESS\s/ s|/usr/bin/compress|$(which gzip)|" \
+ -e '/^#define COMPRESS_EXTENSION/ s|".Z"|".gz"|' \
+ -e 's|^/\* \(#define DLB\) \*/|\1|' -i include/config.h
+
+ sed -e 's|^/\* \(#define LINUX\) \*/|\1|' \
+ -e 's|^/\* \(#define TIMED_DELAY\) \*/|\1|' -i include/unixconf.h
+
+ sed -e 's|^# \(WINTTYLIB = -lncurses\)|\1|' \
+ -e 's|^WINTTYLIB = -ltermlib|#&|' -i src/Makefile
+
+ sed -e '/^GAMEDIR\s*=/ s|/games/.*$|/usr/lib/$(GAME)|' \
+ -e '/^GAMEPERM\s*=/ s|04755|0755|' \
+ -e '/^GAMEUID\s*=/ s|games|root|' \
+ -e '/^GAMEGRP\s*=/ s|bin|root|' \
+ -e '/^CHOWN\s*=/ s|chown|true|' \
+ -e '/^CHGRP\s*=/ s|chgrp|true|' \
+ -e '/^SHELLDIR\s*=/ s|/games|/usr/bin|' -i Makefile
+
+ sed -e "/^MANDIR\s*=/s|/usr/man/man6|$pkgdir/usr/share/man/man6|" -i doc/Makefile
+
+ sed -e "s/^LEX\s*=.*$/LEX=flex/" -i util/Makefile
+
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver/
+
+ install -dm755 $pkgdir/usr/share/man/man6
+ install -dm755 $pkgdir/usr/share/doc/nethack
+ install -dm755 $pkgdir/usr/share/nethack
+ make PREFIX=$pkgdir install manpages
+ rm -f $pkgdir/usr/bin/nethack
+ rm -f $pkgdir/usr/lib/nethack/license
+ rm -f $pkgdir/usr/lib/nethack/logfile
+ rm -f $pkgdir/usr/lib/nethack/perm
+ rm -f $pkgdir/usr/lib/nethack/record
+ rm -rf $pkgdir/usr/lib/nethack/save
+ mv $pkgdir/usr/lib/nethack/nhdat $pkgdir/usr/share/nethack/nhdat
+
+ install -m755 $srcdir/nethack.bin $pkgdir/usr/bin/nethack
+
+ install -Dm644 doc/Guidebook.txt $pkgdir/usr/share/doc/nethack/Guidebook.txt
+ install -Dm644 dat/license $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
+md5sums="21479c95990eefe7650df582426457f9 nethack-343-src.tgz
+2498972119efd501fbe9d3a0cacfa107 nethack.bin"
+sha256sums="bb39c3d2a9ee2df4a0c8fdde708fbc63740853a7608d2f4c560b488124866fe4 nethack-343-src.tgz
+e9efd10d5a57bfcfefda6720308fdff9c14a2e71b0b4c68f2267dc59e7b7e3cf nethack.bin"
+sha512sums="052342c19619219f291571d48cf7799f962eb6ec6f8a276427225c0abbd833eada18abeff9fbd647919f2a9e3bb097d7f154675e283fe48abc4752f24c192d8f nethack-343-src.tgz
+0846b0a22451e420366c790b128e8c6b9ba902595e963f51bbbb61c7b7bebdeee2a13e51fc7f786e2da95834372ec6a5792d7a0308250c98b6bd48026d881eb0 nethack.bin"
diff --git a/unmaintained/nethack/nethack.bin b/unmaintained/nethack/nethack.bin
new file mode 100755
index 0000000000..272e23f085
--- /dev/null
+++ b/unmaintained/nethack/nethack.bin
@@ -0,0 +1,74 @@
+#!/bin/sh
+
+set -e
+set -u
+
+die () { echo "nethack:" "$@" >&2 ; exit 1 ; }
+
+[ "x${HOME:-}" = x ] && die "\$HOME not set"
+cd "$HOME"
+[ -d .nethack ] || mkdir -p .nethack
+cd .nethack
+[ -f nhdat ] || ln -s /usr/share/nethack/nhdat nhdat
+[ -d save ] || mkdir -p save
+[ -f logfile ] || : > logfile
+[ -f perm ] || : > perm
+[ -f record ] || : > record
+
+HACKDIR="$HOME/.nethack"
+export HACKDIR
+HACK=/usr/lib/nethack/nethack
+MAXNROFPLAYERS=4
+
+# Since Nethack.ad is installed in HACKDIR, add it to XUSERFILESEARCHPATH
+case "x${XUSERFILESEARCHPATH:-}" in
+x) XUSERFILESEARCHPATH="$HACKDIR/%N.ad"
+ ;;
+*) XUSERFILESEARCHPATH="$XUSERFILESEARCHPATH:$HACKDIR/%N.ad"
+ ;;
+esac
+export XUSERFILESEARCHPATH
+
+# see if we can find the full path name of PAGER, so help files work properly
+# assume that if someone sets up a special variable (HACKPAGER) for NetHack,
+# it will already be in a form acceptable to NetHack
+# ideas from brian@radio.astro.utoronto.ca
+if test \( "xxx${PAGER:-}" != xxx \) -a \( "xxx${HACKPAGER:-}" = xxx \)
+then
+ HACKPAGER="$PAGER"
+# use only the first word of the pager variable
+# this prevents problems when looking for file names with trailing
+# options, but also makes the options unavailable for later use from
+# NetHack
+ for i in $HACKPAGER
+ do
+ HACKPAGER="$i"
+ break
+ done
+
+ if test ! -f "$HACKPAGER"
+ then
+ IFS=:
+ for i in $PATH
+ do
+ if test -f "$i/$HACKPAGER"
+ then
+ HACKPAGER="$i/$HACKPAGER"
+ export HACKPAGER
+ break
+ fi
+ done
+ IFS=' '
+ fi
+ if test ! -f "$HACKPAGER"
+ then
+ echo "Cannot find $PAGER -- unsetting PAGER." >&2
+ unset HACKPAGER
+ unset PAGER
+ fi
+fi
+
+case "x${1:-}" in
+ x-s*) exec "$HACK" "$@" ;;
+ x*) exec "$HACK" "$@" "$MAXNROFPLAYERS" ;;
+esac
diff --git a/unmaintained/netsniff-ng/APKBUILD b/unmaintained/netsniff-ng/APKBUILD
new file mode 100644
index 0000000000..81fbf5db07
--- /dev/null
+++ b/unmaintained/netsniff-ng/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=netsniff-ng
+pkgver=0.5.8
+pkgrel=0
+pkgdesc="A network analyzer and networking toolkit"
+url="http://netsniff-ng.org/"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="bash perl gzip libpcap-dev libnl3-dev zlib-dev ncurses-dev
+ libnetfilter_conntrack-dev coreutils"
+install=""
+subpackages="$pkgname-doc"
+source="http://www.netsniff-ng.org/pub/netsniff-ng/$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 \
+ || return 1
+ make PREFIX=/usr ETCDIR=/etc || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make PREFIX=/usr ETCDIR=/etc DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="5711c99c44a3b573c9f75599f164ecc2 netsniff-ng-0.5.8.tar.gz"
+sha256sums="80436a306947e6c541d573c897cf64e1f223b867f571fabe74cea2ab512aa13c netsniff-ng-0.5.8.tar.gz"
+sha512sums="fbbd9a48f2f4dc559c10dc3028cbefa881ef72177c993c57fdf09db84c5d7945ded75cec94fe216c6f7db3f2044aa46e7a15bd09b2ab41521416eee1bb464904 netsniff-ng-0.5.8.tar.gz"
diff --git a/unmaintained/netsniff-ng/netsniff-ng-unkown.patch b/unmaintained/netsniff-ng/netsniff-ng-unkown.patch
new file mode 100644
index 0000000000..14c1ae998d
--- /dev/null
+++ b/unmaintained/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/unmaintained/netstat-nat/APKBUILD b/unmaintained/netstat-nat/APKBUILD
new file mode 100644
index 0000000000..4adecd9b3a
--- /dev/null
+++ b/unmaintained/netstat-nat/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Marcin Mankiewicz <marcin.mankiewicz@interrisk.pl>
+# Maintainer:
+pkgname=netstat-nat
+pkgver=1.4.10
+pkgrel=0
+pkgdesc="Netstat-nat displays NAT connections, managed by netfilter/iptables which comes with the > 2.4.x linux kernels."
+url="http://tweegy.nl/projects/netstat-nat/"
+arch="all"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+subpackages="$pkgname-doc"
+source="http://tweegy.nl/download/netstat-nat-$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() {
+ cd "$_builddir"
+ make install DESTDIR="$pkgdir"
+}
+md5sums="c1bbb3ee9774ebfa27c440e2d9dd7286 netstat-nat-1.4.10.tar.gz"
+sha256sums="e945faa283a49f33af15de915a949c9273a230fc17154925364c547adab676ca netstat-nat-1.4.10.tar.gz"
+sha512sums="2089119b26039e656fbe76701e556f7d766159c96b18968195f255e15072af37972c83a8f05edb0b767a12f0521598975673d10d8ba5e6ed6b754a927d4f069d netstat-nat-1.4.10.tar.gz"
diff --git a/unmaintained/network-manager-applet/APKBUILD b/unmaintained/network-manager-applet/APKBUILD
new file mode 100644
index 0000000000..8a906f21d3
--- /dev/null
+++ b/unmaintained/network-manager-applet/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: William Pitcock <nenolod@dereferenced.org>
+pkgname=network-manager-applet
+pkgver=1.0.10
+pkgrel=0
+pkgdesc="gtk applet for network manager"
+url="http://projects.gnome.org/NetworkManager"
+arch="all"
+license="GPL"
+depends=
+depends_dev=
+makedepends="$depends_dev
+ networkmanager-dev
+ libgnome-keyring-dev
+ libnotify-dev
+ libsecret-dev
+ iso-codes-dev
+ "
+install=
+subpackages="$pkgname-dev $pkgname-lang $pkgname-doc"
+source="http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver::3}/$pkgname-$pkgver.tar.xz"
+
+_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 \
+ --disable-introspection \
+ --with-bluetooth \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="86b17e1bf1a37c649874883b587c6db6 network-manager-applet-1.0.10.tar.xz"
+sha256sums="b045ac3eaa68ccbbefe91510ad67b4002a7e09d1e5ce1c4bf9a67619bd2cf0eb network-manager-applet-1.0.10.tar.xz"
+sha512sums="dc13881243e5232d0c45563442f906a93c4d196a69c52c45d335f755bbc73c4d3131ba59180a102f65ca2066d40127b9db8cf85da2b41ec18efda482a9d210aa network-manager-applet-1.0.10.tar.xz"
diff --git a/unmaintained/nfspy/APKBUILD b/unmaintained/nfspy/APKBUILD
new file mode 100644
index 0000000000..db0e6a7116
--- /dev/null
+++ b/unmaintained/nfspy/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=nfspy
+_pkgname=NfSpy
+pkgver=1.0
+pkgrel=0
+pkgdesc="An ID-spoofing NFS client"
+url="https://github.com/bonsaiviking/NfSpy"
+arch="noarch"
+license="MIT"
+depends="python py-fuse"
+depends_dev=""
+makedepends="python-dev"
+install=""
+subpackages=""
+source="$pkgname-$pkgver.tar.gz::https://github.com/bonsaiviking/NfSpy/archive/v$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"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="c8437ae053001efabb871a69e81d92d8 nfspy-1.0.tar.gz"
+sha256sums="1b4a61eeb3b44b37326590847e8d45346dd2bcf3e1d64b8935ba4c8ce85f0119 nfspy-1.0.tar.gz"
+sha512sums="dce93054e242acdfa6db78d92cdc4538b1187a981573d5aa530717db73b777acbda3570531d80d8401fc78eee848f5eebb74eafff82e4b176505c40d8d841b29 nfspy-1.0.tar.gz"
diff --git a/unmaintained/nilfs-utils/APKBUILD b/unmaintained/nilfs-utils/APKBUILD
new file mode 100644
index 0000000000..17da71cc4b
--- /dev/null
+++ b/unmaintained/nilfs-utils/APKBUILD
@@ -0,0 +1,64 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer:
+pkgname=nilfs-utils
+pkgver=2.2.2
+pkgrel=0
+pkgdesc="Utilities for managing NILFS v2 filesystems"
+url="http://nilfs.sourceforge.net"
+arch="all"
+license="GPLv2+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev util-linux-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://nilfs.sourceforge.net/download/nilfs-utils-$pkgver.tar.bz2
+ max-input.patch
+ rpc-types.patch"
+
+_builddir="$srcdir"/nilfs-utils-$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
+ update_config_sub || return 1
+}
+
+build() {
+ cd "$_builddir"
+ LDCONFIG=/bin/true \
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --disable-static \
+ --without-selinux \
+ || return 1
+ sed -i -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
+ -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
+ libtool || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="17033394c30515c41c8ae08f83d1cbbe nilfs-utils-2.2.2.tar.bz2
+502f124b1c6def25dab791b6d56d7bb5 max-input.patch
+eeeed9b3e7485b0fb164cbbada47ece7 rpc-types.patch"
+sha256sums="14376ff6ca4e286030aa65cf09e224e02ae8aacd1352711e1cc083243c2f51f0 nilfs-utils-2.2.2.tar.bz2
+a389724e0b7c020ead9556a6e28ac1f203bae083979ed72c470c23ac25100cf1 max-input.patch
+57c6eadb917691deeeec11339d4806a89d3e8b6344c4f4d08d19d3ab60009bfa rpc-types.patch"
+sha512sums="2ac0f1f25472d8900732db9f31e6b824e7e591bf306aa18d8b55c5d93807f4f7ceb65ba7e49540a39c7f285ad63c5f4ab795d34b2a04398d91cd2beb5fc6edce nilfs-utils-2.2.2.tar.bz2
+2561be048bbe3a931d8f39073667c5f1730fb1741dc194cf3d7c89d2d8780985d15b4ac960d03fe7ad5638111ff3c4db248f899623f8fa47558c27791d9f5c53 max-input.patch
+6604102ead3ee4cb261cb71b9a1dc46c8e344061724f0a5e8a6d037f6b72ee7f5a983a21f691fbc6a66e441e982b9d727eed9499925b92cebefacd9ec9dd6ea3 rpc-types.patch"
diff --git a/unmaintained/nilfs-utils/max-input.patch b/unmaintained/nilfs-utils/max-input.patch
new file mode 100644
index 0000000000..5241ea55c0
--- /dev/null
+++ b/unmaintained/nilfs-utils/max-input.patch
@@ -0,0 +1,12 @@
+--- ./bin/rmcp.c.orig
++++ ./bin/rmcp.c
+@@ -51,6 +51,9 @@
+ #include "nilfs.h"
+ #include "parser.h"
+
++#ifndef MAX_INPUT
++#define MAX_INPUT _POSIX_MAX_INPUT
++#endif
+
+ #ifdef _GNU_SOURCE
+ #include <getopt.h>
diff --git a/unmaintained/nilfs-utils/rpc-types.patch b/unmaintained/nilfs-utils/rpc-types.patch
new file mode 100644
index 0000000000..ce55c439a2
--- /dev/null
+++ b/unmaintained/nilfs-utils/rpc-types.patch
@@ -0,0 +1,11 @@
+--- ./sbin/mount/sundries.h.orig
++++ ./sbin/mount/sundries.h
+@@ -15,7 +15,7 @@
+ #include <signal.h>
+ #include <stdarg.h>
+ #include <stdlib.h>
+-#if !defined(bool_t) && !defined(__GLIBC__)
++#if !defined(bool_t) && !defined(__GLIBC__) && HAVE_RPC_TYPES_H
+ #include <rpc/types.h>
+ #endif
+
diff --git a/unmaintained/noip/APKBUILD b/unmaintained/noip/APKBUILD
new file mode 100644
index 0000000000..eb6b396fc4
--- /dev/null
+++ b/unmaintained/noip/APKBUILD
@@ -0,0 +1,60 @@
+# Contributor: crow <crow@linux.org.ba>
+# Maintainer:
+pkgname=noip
+pkgver=2.1.9
+_pkgver=2.1.9-1
+pkgrel=2
+pkgdesc="Dynamic DNS Client Updater for no-ip.com services"
+url="http://www.no-ip.com/downloads.php?page=linux"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
+ noip-2.1.9-flags.patch
+ noip-2.1.9-daemon.patch
+ noip.initd
+ "
+
+_builddir="$srcdir"/noip-$_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
+ sed -i '/^#define CONFIG_FILEPATH/s/PREFIX//' noip2.c || return 1
+ sed -i '/^#define CONFIG_FILENAME/s/PREFIX//' noip2.c || return 1
+}
+
+build() {
+ cd "$_builddir"
+ cc -Wall $CLFAGS $LDFLAGS -g -Dlinux -DPREFIX=/usr noip2.c -o noip2 -Wno-unused-but-set-variable
+}
+
+package() {
+ cd "$_builddir"
+
+ install -Dm755 "$_builddir"/noip2 \
+ "$pkgdir"/usr/sbin/noip2 || return 1
+ install -m755 -D "$srcdir"/$pkgname.initd \
+ "$pkgdir"/etc/init.d/$pkgname || return 1
+}
+
+md5sums="3b0f5f2ff8637c73ab337be403252a60 noip-duc-linux.tar.gz
+1959f3f0f57b8455c8701b9c5e5feafe noip-2.1.9-flags.patch
+d41d8cd98f00b204e9800998ecf8427e noip-2.1.9-daemon.patch
+db8264ecaa50e47f952b232beae6ef86 noip.initd"
+sha256sums="82b9bafab96a0c53b21aaef688bf70b3572e26217b5e2072bdb09da3c4a6f593 noip-duc-linux.tar.gz
+07ddd46b9fb7579e20e7f32de061aa9e4fe70bda389b1b780ce3807661b1e543 noip-2.1.9-flags.patch
+e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 noip-2.1.9-daemon.patch
+21b5b1d99742bd4771d160e071e4c11d0a9c7f97832ac18514ebca4beeaca23f noip.initd"
+sha512sums="6c32397f31e6f4875a2429398c2627cbe52abba569830ddc1190fed3f4c6cb23e232e60b23d9fa97940f98a1c5c019a89812844f92a655c6ebf275b784015125 noip-duc-linux.tar.gz
+d825dcd16ee8c424865b51d6cd7de64bbde5f772c5ff63d76014ec13b18196208ed09df5a81dd606a8c49cfc422db3ac5d6a306c81137d1447c979158bd164e8 noip-2.1.9-flags.patch
+cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e noip-2.1.9-daemon.patch
+d9a94817337fa79a442171e170189125258ac06443c9763d7d5096e6ea2b1d577dca662dec3c0c3df579923782fe51c84a6972c1429b3cfdaaa139fe7dd510c6 noip.initd"
diff --git a/unmaintained/noip/noip-2.1.9-daemon.patch b/unmaintained/noip/noip-2.1.9-daemon.patch
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/unmaintained/noip/noip-2.1.9-daemon.patch
diff --git a/unmaintained/noip/noip-2.1.9-flags.patch b/unmaintained/noip/noip-2.1.9-flags.patch
new file mode 100644
index 0000000000..372b582869
--- /dev/null
+++ b/unmaintained/noip/noip-2.1.9-flags.patch
@@ -0,0 +1,11 @@
+--- a/Makefile
++++ b/Makefile
+@@ -22,7 +22,7 @@
+ # ARCH=sun
+
+ ${TGT}: Makefile ${TGT}.c
+- ${CC} -Wall -g -D${ARCH} -DPREFIX=\"${PREFIX}\" ${TGT}.c -o ${TGT} ${LIBS}
++ ${CC} ${CFLAGS} -D${ARCH} -DPREFIX=\"${PREFIX}\" ${TGT}.c -o ${TGT} ${LIBS} ${LDFLAGS}
+
+ install: ${TGT}
+ if [ ! -d ${BINDIR} ]; then mkdir -p ${BINDIR};fi
diff --git a/unmaintained/noip/noip.initd b/unmaintained/noip/noip.initd
new file mode 100644
index 0000000000..141c3e5a20
--- /dev/null
+++ b/unmaintained/noip/noip.initd
@@ -0,0 +1,34 @@
+#!/sbin/runscript
+
+depend() {
+ use logger dns
+ need net
+ after firewall
+}
+
+checkconfig() {
+ if [ ! -f /etc/no-ip2.conf ]
+ then
+ einfo "Answer the following questions about your no-ip account."
+ noip2 -C || return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting noip"
+ start-stop-daemon --quiet --start -x /usr/sbin/noip2 -- -c /etc/no-ip2.conf
+ eend $? "noip did not start, error code $?"
+}
+
+stop() {
+ ebegin "Stopping noip"
+ start-stop-daemon --quiet --stop -x /usr/sbin/noip2
+ noip_ecode=$?
+ eend $noip_ecode "Error stopping the noip daemon, error $noip_ecode"
+ checkconfig || return 1
+ ebegin "Setting noip addresses to 0.0.0.0"
+ noip2 -c /etc/no-ip2.conf -i 0.0.0.0 >& /dev/null
+ eend $? "Failed to set noip addresses to 0.0.0.0, error $?"
+ return $noip_ecode
+} \ No newline at end of file
diff --git a/unmaintained/ntfsprogs/APKBUILD b/unmaintained/ntfsprogs/APKBUILD
new file mode 100644
index 0000000000..30aad9759f
--- /dev/null
+++ b/unmaintained/ntfsprogs/APKBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+pkgname=ntfsprogs
+pkgver=2.0.0
+pkgrel=0
+pkgdesc="User space utilities for NTFS partitions"
+url="http://sourceforge.net/projects/linux-ntfs/"
+arch="all"
+license="GPL"
+depends=
+depends_dev=
+makedepends="$depends_dev"
+install=
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://downloads.sourceforge.net/project/linux-ntfs/NTFS%20Tools%20and%20Library/2.0.0/$pkgname-$pkgver.tar.gz"
+
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ cd "$_builddir"
+ 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="2c402b647bb7aeb1d3f8ce1cc354fd68 ntfsprogs-2.0.0.tar.gz"
diff --git a/unmaintained/nuttcp/APKBUILD b/unmaintained/nuttcp/APKBUILD
new file mode 100644
index 0000000000..240af4de57
--- /dev/null
+++ b/unmaintained/nuttcp/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Danilo Godec <danilo.godec@agenda.si>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=nuttcp
+pkgver=7.3.3
+pkgrel=0
+pkgdesc="A network performance measurement tool"
+url="http://www.nuttcp.net"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev linux-headers"
+install=""
+subpackages=""
+source="http://nuttcp.net/nuttcp/nuttcp-$pkgver/nuttcp-$pkgver.c"
+
+_builddir="$srcdir"/
+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"
+ ${CC:-gcc} $CFLAGS -o nuttcp $LDFLAGS "$srcdir"/nuttcp-$pkgver.c
+}
+
+package() {
+ cd "$_builddir"
+ install -Dm755 nuttcp "$pkgdir"/usr/sbin/nuttcp
+}
+md5sums="dfbff3c38fb0cbdc474ca6d13539d425 nuttcp-7.3.3.c"
+sha256sums="d68e291a72375d76f301d54aa945727c95e78090aa6783a4844764e632e98a4a nuttcp-7.3.3.c"
+sha512sums="1df425743868c0f1f502b9bdff8d9644a0d298d59b9c543d9023551598ab6dd0547d6492bc09dd1cc4b136b22495ce2b17d1ebe354387785f71e22cda5466f11 nuttcp-7.3.3.c"
diff --git a/unmaintained/nvme-cli/APKBUILD b/unmaintained/nvme-cli/APKBUILD
new file mode 100644
index 0000000000..760b69c871
--- /dev/null
+++ b/unmaintained/nvme-cli/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Florian Heigl <florian.heigl@gmail.com>
+# Maintainer: Florian Heigl <florian.heigl@gmail.com>
+pkgname=nvme-cli
+pkgver=0.3
+pkgrel=1
+pkgdesc="NVM-Express user space tooling for Linux"
+arch="all"
+url="https://github.com/linux-nvme/nvme-cli"
+license="GPL"
+depends=""
+makedepends="$depends_dev linux-headers"
+provides="nvme-cli"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/linux-nvme/nvme-cli/archive/v${pkgver}.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+# no patches just yet
+prepare() {
+ cd "$_builddir"
+}
+
+build() {
+ cd "$_builddir"
+ make PREFIX="/usr" || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make PREFIX="/usr" DESTDIR="$pkgdir" install
+}
+
+md5sums="397445255b73a1159d3000974d38a098 nvme-cli-0.3.tar.gz"
+sha256sums="c631e90dd4d411cdb618b26bc36b06706e6f1f2d3db38874bcfe48f4bc15aac4 nvme-cli-0.3.tar.gz"
+sha512sums="91e85eb487991da24cb254abf0047004ab21bcc2be18a569a86476eac80ac7e0a677daebb1c157b5bc00a3518df728d65f66da0b20e240e1fd786b655a791045 nvme-cli-0.3.tar.gz"
diff --git a/unmaintained/nwipe/APKBUILD b/unmaintained/nwipe/APKBUILD
new file mode 100644
index 0000000000..bafead7251
--- /dev/null
+++ b/unmaintained/nwipe/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=nwipe
+pkgver=0.16
+pkgrel=0
+pkgdesc="Securely erase disks using a variety of recognized methods"
+url="http://nwipe.sourceforge.net"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="parted-dev ncurses-dev autoconf automake"
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/nwipe/nwipe-$pkgver.tar.gz"
+_builddir="$srcdir"/nwipe-$pkgver
+
+prepare() {
+ cd "$_builddir"
+ aclocal && autoconf && autoheader && automake --add-missing
+}
+
+build() {
+ cd "$_builddir"
+ CFLAGS="$CFLAGS -D_GNU_SOURCE" \
+ ./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="98487303370494b65df47e98649a054a nwipe-0.16.tar.gz"
+sha256sums="509aebba371272764cacb446efce3f87b6a47bbc6e6717a1830b5bed4e0fb4bc nwipe-0.16.tar.gz"
+sha512sums="65985b9b963e2815c5aecdf1d728c802e4b4e97cd496a8e725e8a4c9040dd20ef7f727bfcd0fc012a1f5484f79322831c932e5e4c025c7a1704a687fd956d42a nwipe-0.16.tar.gz"
diff --git a/unmaintained/nx-libs/APKBUILD b/unmaintained/nx-libs/APKBUILD
new file mode 100644
index 0000000000..68df0da9c2
--- /dev/null
+++ b/unmaintained/nx-libs/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Jean-Charles de Longueville <jch@hellea.eu>
+# Maintainer:
+pkgname=nx-libs
+pkgver=3.5.0.31
+pkgrel=0
+pkgdesc="NoMachine libraries (redistributed by x2go)"
+url="http://x2go.org"
+arch="all"
+license="GPLv2+"
+depends="font-cursor-misc font-misc-misc"
+depends_dev=""
+makedepends="$depends_dev libx11-dev zlib-dev libjpeg-turbo-dev libpng-dev libfontenc-dev linux-headers libxml2-dev bash automake autoconf"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://code.x2go.org/releases/source/$pkgname/$pkgname-$pkgver-full.tar.gz
+ xf86bigfont.patch
+ fix-musl-headers-x86.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
+
+ #Every Makefile has /usr/local as PREFIX, so replace that
+ sed -i -e 's,/usr/local,/usr,' nx-X11/config/cf/site.def
+}
+
+build() {
+ cd "$_builddir"
+ make -j1 PREFIX=/usr USRLIBDIR=/usr/lib SHLIBDIR=/usr/lib CONFIGURE="./configure --prefix=/usr --libdir=/usr/lib --includedir=/usr/include" || return 1
+}
+
+package() {
+ cd "$_builddir"
+ #find ./ -name Makefile | xargs sed -e 's#/usr/local#/usr#g' -i
+ make PREFIX=/usr DESTDIR="$pkgdir" USRLIBDIR=/usr/lib SHLIBDIR=/usr/lib install CONFIGURE="./configure --prefix=/usr --libdir=/usr/lib --includedir=/usr/include" || return 1
+}
+
+md5sums="d163193f2c344aad263da0fc4fe4b853 nx-libs-3.5.0.31-full.tar.gz
+6030f6b55bcd54be7a5f9c5e796d3759 xf86bigfont.patch
+5f26a25ccc1d50693c0b4efe287a95f2 fix-musl-headers-x86.patch"
+sha256sums="2130db3bf5c0b081604aef5546fd2c2a5f4db26ce2297a8da3cb3bcf11286128 nx-libs-3.5.0.31-full.tar.gz
+51dc9bad9cc410654bf6c657abdd1bfb2ec5e6e6349ffb701b39cc11e46d2c2e xf86bigfont.patch
+a09d175c62e1ae6017e161ccb7ed56b38da26ad2fa95b74357c9e4e78034b56f fix-musl-headers-x86.patch"
+sha512sums="88870ec0453ab8e1fe3274ed86ac577256b14ea2ec448491f975be6d673ef8e60fb342601f05da819e202adc2bf668327e1f6c49b1ba79eb52faa87ed9e8985e nx-libs-3.5.0.31-full.tar.gz
+ee090f4e7f5933cbea6398ac461539cbdc8b7fd62f32934c78298c1e217d2a60e7f796bffdb88d36816bbfa9becd810846f5b988b5191e5a5b9da5def5d730fa xf86bigfont.patch
+d4a881b66f0258d6d9fb947a526868944e58217d534316dfa3f0837035415467a1e8841bf6c5b821ccedcc0c9e07b425f05243ddbd22aaec7ea2165c87d9211e fix-musl-headers-x86.patch"
diff --git a/unmaintained/nx-libs/Makefile.patch b/unmaintained/nx-libs/Makefile.patch
new file mode 100644
index 0000000000..35037d4f81
--- /dev/null
+++ b/unmaintained/nx-libs/Makefile.patch
@@ -0,0 +1,11 @@
+--- nx-libs-3.5.0.28/Makefile
++++ ../Makefile
+@@ -14,7 +14,7 @@
+ BINDIR=$(PREFIX)/bin
+ NXLIBDIR=$(PREFIX)/lib/nx
+ X2GOLIBDIR=$(PREFIX)/lib/x2go
+-CONFIGURE ?= ./configure
++CONFIGURE ?= ./configure --prefix=usr
+
+ SHELL:=/bin/bash
+
diff --git a/unmaintained/nx-libs/fix-musl-headers-x86.patch b/unmaintained/nx-libs/fix-musl-headers-x86.patch
new file mode 100644
index 0000000000..3f51b8e4b1
--- /dev/null
+++ b/unmaintained/nx-libs/fix-musl-headers-x86.patch
@@ -0,0 +1,11 @@
+--- ./nx-X11/extras/Mesa/src/mesa/main/glheader.h.orig
++++ ./nx-X11/extras/Mesa/src/mesa/main/glheader.h
+@@ -62,7 +62,7 @@
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <string.h>
+-#if defined(__linux__) && defined(__i386__)
++#if defined(__GLIBC__) && defined(__i386__)
+ #include <fpu_control.h>
+ #endif
+ #endif
diff --git a/unmaintained/nx-libs/xf86bigfont.patch b/unmaintained/nx-libs/xf86bigfont.patch
new file mode 100644
index 0000000000..94578dd778
--- /dev/null
+++ b/unmaintained/nx-libs/xf86bigfont.patch
@@ -0,0 +1,11 @@
+--- nx-libs-3.5.0.28/nx-X11/programs/Xserver/Xext/xf86bigfont.c
++++ ../xf86bigfont.c
+@@ -46,7 +46,7 @@
+ /* Linux libc4 and libc5 only (because glibc doesn't include kernel headers):
+ Linux 2.0.x and 2.2.x define SHMLBA as PAGE_SIZE, but forget to define
+ PAGE_SIZE. It is defined in <asm/page.h>. */
+-#include <asm/page.h>
++#include <limits.h>
+ #endif
+ #ifdef SVR4
+ #include <sys/sysmacros.h>
diff --git a/unmaintained/obmenu/APKBUILD b/unmaintained/obmenu/APKBUILD
new file mode 100644
index 0000000000..6f5d35c91e
--- /dev/null
+++ b/unmaintained/obmenu/APKBUILD
@@ -0,0 +1,19 @@
+# Maintainer: Michael Zhou <zhoumichaely@gmail.com>
+pkgname=obmenu
+pkgver=1.0
+pkgrel=0
+pkgdesc="Graphical Openbox menu editor"
+url="http://obmenu.sourceforge.net"
+arch="noarch"
+license="GPL"
+depends="python py-gtk"
+makedepends="py-setuptools"
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$pkgname-$pkgver
+package() {
+ cd "$_builddir"
+ python setup.py install --root=$pkgdir
+}
+md5sums="710036a5edc9886d6d563ce46c747432 obmenu-1.0.tar.gz"
diff --git a/unmaintained/onesixtyone/APKBUILD b/unmaintained/onesixtyone/APKBUILD
new file mode 100644
index 0000000000..6768765620
--- /dev/null
+++ b/unmaintained/onesixtyone/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=onesixtyone
+pkgver=0.3.2
+pkgrel=0
+pkgdesc="An efficient SNMP scanner"
+url="http://www.phreedom.org/software/onesixtyone/"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://www.phreedom.org/software/onesixtyone/releases/$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"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -m755 -D "$_builddir"/$pkgname \
+ "$pkgdir"/usr/bin/$pkgname || return 1
+ install -m644 -D "$_builddir"/dict.txt \
+ "$pkgdir"/usr/share/$pkgname/dict.txt || return 1
+}
+
+md5sums="b08ac88615c04fa50d4eeecd75882e3f onesixtyone-0.3.2.tar.gz"
+sha256sums="450806718f72a75ea108e3675ca7856f15c518fcf517df68483c486c39910d02 onesixtyone-0.3.2.tar.gz"
+sha512sums="8756bfd24cc4b164c2288733970d486ab2f81e0eef95e008dd5749d24cfe690ff6fbf9d1d3bf3f1a916da4d7c0e408e9783fda912fc4ac70d190f55d01cac01a onesixtyone-0.3.2.tar.gz"
diff --git a/unmaintained/opal/APKBUILD b/unmaintained/opal/APKBUILD
new file mode 100644
index 0000000000..ff018007b8
--- /dev/null
+++ b/unmaintained/opal/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Mika Havela
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=opal
+pkgver=3.10.10
+pkgrel=0
+pkgdesc="Open Phone Abstraction Library"
+url="http://www.opalvoip.org/"
+arch="all"
+license="MPLv1.0"
+depends=""
+depends_dev="openssl-dev ptlib-dev speex-dev"
+makedepends="$depends_dev sdl-dev libtheora-dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://download.gnome.org/sources/opal/3.10/opal-$pkgver.tar.xz"
+
+_builddir="$srcdir"/opal-$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
+}
+
+dev() {
+ default_dev
+ mkdir -p "$subpkgdir"/usr/share/opal/make
+ install -m644 "$_builddir"/opal_defs.mak \
+ "$_builddir"/opal_inc.mak \
+ "$subpkgdir"/usr/share/opal/make
+}
+
+md5sums="6efa1b4c5e0ad6460019b4c6df0898d7 opal-3.10.10.tar.xz"
+sha256sums="f208985003461b2743575eccac13ad890b3e5baac35b68ddef17162460aff864 opal-3.10.10.tar.xz"
+sha512sums="b72a058e001b5bf69de64467e6fc90280ec83bf31f46fa9f504e921b4702450f8732c7df333b9677e04cf1d33d27efbe22056211da94b879e013f5d7bcaa8465 opal-3.10.10.tar.xz"
diff --git a/unmaintained/opam/APKBUILD b/unmaintained/opam/APKBUILD
new file mode 100644
index 0000000000..4d4001454f
--- /dev/null
+++ b/unmaintained/opam/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Michael Zuo <muh.muhten@gmail.com>
+# Maintainer: Michael Zuo <muh.muhten@gmail.com>
+pkgname=opam
+pkgver=1.2.2
+pkgrel=0
+pkgdesc="OCaml Package Manager"
+url="http://opam.ocaml.org"
+arch="all"
+license="LGPL3"
+depends=""
+depends_dev="ocaml"
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="https://github.com/ocaml/$pkgname/releases/download/$pkgver/$pkgname-full-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$pkgname-full-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ || return 1
+ make -j1 lib-ext all || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="7d348c2898795e9f325fb80eaaf5eae8 opam-full-1.2.2.tar.gz"
+sha256sums="15e617179251041f4bf3910257bbb8398db987d863dd3cfc288bdd958de58f00 opam-full-1.2.2.tar.gz"
+sha512sums="f095ef4c02e6a411ee115b508c7dc21cf6480f60ad5d84ed5ce5868afa1f6225ead0eb6703763d803edc22595e83db67cdd1a4ecab50ee2c62c20965b0542436 opam-full-1.2.2.tar.gz"
diff --git a/unmaintained/openconnect/APKBUILD b/unmaintained/openconnect/APKBUILD
new file mode 100644
index 0000000000..016399a115
--- /dev/null
+++ b/unmaintained/openconnect/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Myautsai PAN <myautsai@gmail.com>
+# Maintainer: Myautsai PAN <myautsai@gmail.com>
+
+pkgname=openconnect
+pkgver=7.06
+pkgrel=3
+pkgdesc="Open client for Cisco AnyConnect VPN"
+url="http://www.infradead.org/openconnect/"
+arch="all"
+license="LGPL2.1"
+depends="vpnc"
+makedepends="autoconf automake intltool python openssl-dev libxml2-dev lz4-dev
+ libproxy-dev linux-headers"
+source="ftp://ftp.infradead.org/pub/$pkgname/$pkgname-$pkgver.tar.gz"
+subpackages="$pkgname-doc"
+
+_builddir=$srcdir/$pkgname-$pkgver
+build() {
+ cd $_builddir
+ ./configure --prefix=/usr \
+ --sbindir=/usr/bin \
+ --disable-static \
+ --without-gnutls \
+ --disable-nls
+ sed -i -r 's/\/\* #undef ICONV_CONST \*\//#define ICONV_CONST/' config.h
+ make
+}
+
+package() {
+ cd $_builddir
+ make DESTDIR="$pkgdir" install
+}
+
+md5sums="80f397911e1fed43d897d99be3d5f1a1 openconnect-7.06.tar.gz"
+sha256sums="facf695368dc4537a6a30e2147be90b1d77ee3cb2d269eaef070b6d9ddab70f2 openconnect-7.06.tar.gz"
+sha512sums="d1af9efe4ac1f6671dc6b92db0df981e8cae3f2f50b8b4c35a112b42a76517b7c8ea9fd5da93352445dd61da3012bf34fdbcc3add9d8727cbaad7d311e516108 openconnect-7.06.tar.gz"
diff --git a/unmaintained/openexr/APKBUILD b/unmaintained/openexr/APKBUILD
new file mode 100644
index 0000000000..aceac1e042
--- /dev/null
+++ b/unmaintained/openexr/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Maintainer:
+pkgname=openexr
+pkgver=2.2.0
+pkgrel=1
+pkgdesc="An high dynamic-range image file format library"
+url="http://www.openexr.com/"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="ilmbase-dev zlib-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-libs $pkgname-doc"
+source="http://download.savannah.nongnu.org/releases/openexr/${pkgname}-${pkgver}.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ cd "$_builddir"
+ update_config_sub || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --disable-static \
+ || return 1
+ make || return 1
+}
+
+package() {
+ make DESTDIR="$pkgdir" \
+ -C "$_builddir" install || return 1
+}
+
+md5sums="b64e931c82aa3790329c21418373db4e openexr-2.2.0.tar.gz"
+sha256sums="36a012f6c43213f840ce29a8b182700f6cf6b214bea0d5735594136b44914231 openexr-2.2.0.tar.gz"
+sha512sums="017abbeeb6b814508180721bc8e8940094965c4c55b135a198c6bcb109a04bf7f72e4aee81ee72cb2185fe818a41d892b383e8d2d59f40c673198948cb79279a openexr-2.2.0.tar.gz"
diff --git a/unmaintained/openjpeg1/APKBUILD b/unmaintained/openjpeg1/APKBUILD
new file mode 100644
index 0000000000..9cfedcf241
--- /dev/null
+++ b/unmaintained/openjpeg1/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=openjpeg1
+pkgver=1.5.2
+pkgrel=0
+pkgdesc="An open source JPEG 2000 codec"
+url="http://www.openjpeg.org"
+arch="all"
+license="BSD"
+depends=""
+depends_dev="tiff-dev libpng-dev lcms2-dev"
+makedepends="$depends_dev automake autoconf libtool"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://downloads.sourceforge.net/openjpeg.mirror/openjpeg-$pkgver.tar.gz"
+
+_builddir="$srcdir"/openjpeg-$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"
+ ./bootstrap.sh || return 1
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --enable-shared \
+ --disable-static \
+ --disable-silent-rules
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="c41772c30fb1c272358b3707233134a1 openjpeg-1.5.2.tar.gz"
+sha256sums="15df7b194a5d8dba0052cd21c17a4dc761149a770a907d73fffb972078c28a87 openjpeg-1.5.2.tar.gz"
+sha512sums="b945cf4f8b5e3227a0c07120c94b0ed5bf30c901de73059ee1d47975f46744fb62bbe84cdb2917c6431128f400020874eb07160af870b5448ced897998b08862 openjpeg-1.5.2.tar.gz"
diff --git a/unmaintained/openlldp/APKBUILD b/unmaintained/openlldp/APKBUILD
new file mode 100644
index 0000000000..868c8870a7
--- /dev/null
+++ b/unmaintained/openlldp/APKBUILD
@@ -0,0 +1,58 @@
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+pkgname=openlldp
+pkgver=0.4a
+_realver=${pkgver/a/alpha}
+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="autoconf automake"
+install=
+subpackages=""
+source="http://downloads.sourceforge.net/$pkgname/$pkgname-$_realver.tar.gz
+ procfs.patch
+ $pkgname.initd
+ $pkgname.confd"
+
+_builddir="$srcdir"/$pkgname-$_realver
+
+prepare() {
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+ aclocal && autoconf && automake --add-missing || return 1
+}
+
+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
+c1e81927d2ea0ebcfaee52e79e9122c7 procfs.patch
+7e1a489d8ccdd204cac68ce87e0ce360 openlldp.initd
+7ac497e5a8b2f68532816c5718f5bf62 openlldp.confd"
+sha256sums="266fd0e1a15f237cfb84ae2d225996836774ea3d4c1c2e2be3a2a6927a00f2b1 openlldp-0.4alpha.tar.gz
+57726f4157daec0388960c28a014796e8de18a6e1841565f2f64b14f5d4cd02f procfs.patch
+9f40286ae7fea71c6e8396bac4bce5e132f399275e5d3d5375ad463ed6b961a2 openlldp.initd
+01b523f3f5e1e9a99518ff309eb965406452aefb5bad024e3735970af884ad6c openlldp.confd"
+sha512sums="5418678a82703a373d5aaeda924ddd34ccb002b5bfc40f243e06f8201fb5407bd46b25aea6d6e2760a1065f0928025e33dcd1dfc42dd9b436d0e5467132b176a openlldp-0.4alpha.tar.gz
+1301d9d952ee0f3d8044e5eafd39ea16f9aa671597dc3fea0a57251beabd9e4f140171ddef5e32c5120d3ab42cfeb8878e863d63b4716313e4a94f24c75f0af2 procfs.patch
+93ef1fc1268321a5faf760d07758ee341ba965500c11625f52fc246580e86bff7fbd73a2c1dce276ba07a34a2468c6d4a1c0f2be6b98f425c8330573bb6baa30 openlldp.initd
+3817778b61974b17940ea058a1a46f19a432689cc43ab8e9f466bf71de496a61fd9c089a2be9f621556f1376f3a6ec7b8ee35ec820ecbbae0e520bea3079b804 openlldp.confd"
diff --git a/unmaintained/openlldp/openlldp.confd b/unmaintained/openlldp/openlldp.confd
new file mode 100644
index 0000000000..38d9613483
--- /dev/null
+++ b/unmaintained/openlldp/openlldp.confd
@@ -0,0 +1,2 @@
+# Remove existing pid file at startup
+OPTS="-s"
diff --git a/unmaintained/openlldp/openlldp.initd b/unmaintained/openlldp/openlldp.initd
new file mode 100755
index 0000000000..4ab856addc
--- /dev/null
+++ b/unmaintained/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/unmaintained/openlldp/procfs.patch b/unmaintained/openlldp/procfs.patch
new file mode 100644
index 0000000000..56ea7b5d31
--- /dev/null
+++ b/unmaintained/openlldp/procfs.patch
@@ -0,0 +1,19 @@
+--- ./configure.ac.orig
++++ ./configure.ac
+@@ -188,16 +188,6 @@
+ AC_MSG_CHECKING([for platform OS])
+ AC_MSG_RESULT($platform)
+
+-AS_IF([test $framer = "linux"],
+- [ MORELIBS="${MORELIBS} -lm"
+- AC_MSG_CHECKING([for procfs support])
+- if test -r /proc/net/dev; then
+- AC_MSG_RESULT(okay)
+- else
+- AC_MSG_ERROR([You must have ProcFS enabled in your kernel!]);
+- fi],
+- [])
+-
+ AS_IF([test $framer = "generic"],
+ MORELIBS="${MORELIBS} -lwpcap -lpcap -ldnet",
+ [])
diff --git a/unmaintained/opensips-cp/APKBUILD b/unmaintained/opensips-cp/APKBUILD
new file mode 100644
index 0000000000..1d21e1f8fc
--- /dev/null
+++ b/unmaintained/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/unmaintained/openslp/APKBUILD b/unmaintained/openslp/APKBUILD
new file mode 100644
index 0000000000..cf5fd38fa0
--- /dev/null
+++ b/unmaintained/openslp/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: k0r10n <k0r10n.dev@gmail.com>
+# Maintainer:
+pkgname=openslp
+pkgver=2.0.0
+pkgrel=0
+pkgdesc="Open source implementation of Service Location Protocol"
+url="http://www.openslp.org/"
+arch="all"
+license="BSD"
+depends=
+depends_dev="openssl-dev"
+makedepends="$depends_dev bash"
+install=""
+subpackages="$pkgname-dev"
+source="http://downloads.sourceforge.net/project/openslp/${pkgver}/2.0.0%20Release/${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 \
+ --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="18cf7940bcc444e32592cf34e84f833f openslp-2.0.0.tar.gz"
+sha256sums="924337a2a8e5be043ebaea2a78365c7427ac6e9cee24610a0780808b2ba7579b openslp-2.0.0.tar.gz"
+sha512sums="e7627417d45d5d0cc83d6e13d62fe192702ce7b763f1b4fb51aa5da8285405b16a34c3ac4f0a1ecffdf59557b29ec7d24925941e56ddee277c8897162f597ade openslp-2.0.0.tar.gz"
diff --git a/unmaintained/openssh-askpass/APKBUILD b/unmaintained/openssh-askpass/APKBUILD
new file mode 100644
index 0000000000..43eaf06a27
--- /dev/null
+++ b/unmaintained/openssh-askpass/APKBUILD
@@ -0,0 +1,45 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=openssh-askpass
+pkgver=6.0_p1
+_myver=${pkgver%_*}${pkgver#*_}
+pkgrel=0
+pkgdesc="A passphrase dialog for OpenSSH and GTK"
+url="http://www.openssh.org/portable.html"
+arch="all"
+license="as-is"
+depends="openssh-client"
+makedepends="gtk+2.0-dev"
+subpackages=""
+source="ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-$_myver.tar.gz
+ "
+
+_builddir="$srcdir"/openssh-$_myver/contrib
+prepare() {
+ cd "$_builddir"
+ for i in $source; do
+ case "$i" in
+ *.patch)
+ msg "Applying $i"
+ patch -p1 -N -i "$srcdir"/${i##*/} || return 1
+ ;;
+ esac
+ done
+}
+
+build () {
+ cd "$_builddir"
+ make gnome-ssh-askpass2
+}
+
+package() {
+ cd "$_builddir"
+ install -Dm755 gnome-ssh-askpass2 "$pkgdir"/usr/lib/ssh/gtk-ssh-askpass
+ install -d "$pkgdir"/etc/profile.d
+ cat > "$pkgdir"/etc/profile.d/openssh-askpass.sh <<EOF
+SSH_ASKPASS=/usr/lib/ssh/gtk-ssh-askpass
+export SSH_ASKPASS
+EOF
+ chmod +x "$pkgdir"/etc/profile.d/openssh-askpass.sh
+}
+
+md5sums="3c9347aa67862881c5da3f3b1c08da7b openssh-6.0p1.tar.gz"
diff --git a/unmaintained/otf-cantarell/45-cantarell.conf b/unmaintained/otf-cantarell/45-cantarell.conf
new file mode 100644
index 0000000000..ab8645507f
--- /dev/null
+++ b/unmaintained/otf-cantarell/45-cantarell.conf
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+ <alias>
+ <family>Cantarell</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+</fontconfig>
diff --git a/unmaintained/otf-cantarell/90-non-tt-cantarell.conf b/unmaintained/otf-cantarell/90-non-tt-cantarell.conf
new file mode 100644
index 0000000000..081668b68e
--- /dev/null
+++ b/unmaintained/otf-cantarell/90-non-tt-cantarell.conf
@@ -0,0 +1,50 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+ <match target="font">
+ <test name="family">
+ <string>Cantarell</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Cantarell</string>
+ </test>
+ <test name="weight" compare="less">
+ <const>medium</const>
+ </test>
+ <test name="pixelsize" compare="more">
+ <double>10.5</double>
+ </test>
+ <test name="pixelsize" compare="less">
+ <double>13.5</double>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintfull</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/unmaintained/otf-cantarell/APKBUILD b/unmaintained/otf-cantarell/APKBUILD
new file mode 100644
index 0000000000..7cb3e9cbeb
--- /dev/null
+++ b/unmaintained/otf-cantarell/APKBUILD
@@ -0,0 +1,62 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=otf-cantarell
+pkgver=0.0.16
+pkgrel=0
+pkgdesc="Cantarell font family."
+url="http://abattis.org/cantarell/"
+arch="noarch"
+license="GPL2"
+depends="fontconfig"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+# added fontconfig configuration from:
+# https://github.com/bohoomil/fontconfig-ultimate/tree/master/fontconfig_patches/fonts-settings
+source="https://download.gnome.org/sources/cantarell-fonts/0.0/cantarell-fonts-$pkgver.tar.xz
+ 45-cantarell.conf
+ 90-non-tt-cantarell.conf"
+
+_builddir="$srcdir"/cantarell-fonts-$pkgver
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --with-fontdir=/usr/share/fonts/$pkgname \
+ --with-configdir=/etc/fonts/conf.avail \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ mkdir -p "$pkgdir"/etc/fonts/conf.avail \
+ "$pkgdir"/etc/fonts/conf.d
+ for j in "$srcdir"/*.conf; do
+ install -m644 "$j" \
+ "$pkgdir"/etc/fonts/conf.avail/ || return 1
+ done
+ for k in "$pkgdir"/etc/fonts/conf.avail/*.conf; do
+ cd "$pkgdir"/etc/fonts/conf.d
+ ln -sf /etc/fonts/conf.avail/"${k##*/}"
+ done
+}
+
+md5sums="6665af844817ec1390f8ae2a16feb369 cantarell-fonts-0.0.16.tar.xz
+e47490547662d4ffc08a30ceef41ebae 45-cantarell.conf
+ece1ab6af1de1a56c368d8fa814ad9c2 90-non-tt-cantarell.conf"
+sha256sums="15bf87555321556750bc68ace360f3df420359a8ab257e15c44fb69710152f1c cantarell-fonts-0.0.16.tar.xz
+26e2eaff8c5f930602be0b247aef7d67a74d7c0a30c16202c7f75bb51a770154 45-cantarell.conf
+7f6b723cdd15c61b8b21912a7269d4e710af74222af8263de7cdd778110a7dbc 90-non-tt-cantarell.conf"
+sha512sums="12936e56d1dd3eac3db5a02b854769ba7c8bd06bf4942c505d81ea20529ee450e07f0f347e3861a49212ef7291452716537c05375f74877246f49d186ad681b0 cantarell-fonts-0.0.16.tar.xz
+eabc77c0e4b490341ca3d29cf3f6361005d3be2e2f91a9c821bd7ff0d7ee7d16e71793fbcdf42c922491c62474f421128f76f7b3412ceb833faef3a019ec94b6 45-cantarell.conf
+8e67b3ce3fc57243a146ad8f52fd1062f160759a89c2b0d999e26e52dbe2c95159b3190b3ae6dc90b1df246ca57eef14442393fa764ad657a7cecfe1663a54ae 90-non-tt-cantarell.conf"
diff --git a/unmaintained/otf-oswald/45-oswald.conf b/unmaintained/otf-oswald/45-oswald.conf
new file mode 100644
index 0000000000..aa909676e1
--- /dev/null
+++ b/unmaintained/otf-oswald/45-oswald.conf
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+ <alias>
+ <family>Oswald</family>
+ <default>
+ <family>fantasy</family>
+ </default>
+ </alias>
+
+</fontconfig>
diff --git a/unmaintained/otf-oswald/90-non-tt-oswald.conf b/unmaintained/otf-oswald/90-non-tt-oswald.conf
new file mode 100644
index 0000000000..2858a3da3b
--- /dev/null
+++ b/unmaintained/otf-oswald/90-non-tt-oswald.conf
@@ -0,0 +1,23 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+ <match target="font">
+ <test name="family">
+ <string>Oswald</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/unmaintained/otf-oswald/APKBUILD b/unmaintained/otf-oswald/APKBUILD
new file mode 100644
index 0000000000..aa67b96220
--- /dev/null
+++ b/unmaintained/otf-oswald/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=otf-oswald
+pkgver=3.0
+_hash=9dd0521c8c06dd24998fe5d9cd644dab9cbbacca
+pkgrel=0
+pkgdesc="Oswald is a reworking of the classic Gothic and Grotesque type styles."
+url="http://oswaldfont.com"
+arch="noarch"
+license="OFL"
+depends="fontconfig"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+# added fontconfig configuration from:
+# https://github.com/bohoomil/fontconfig-ultimate/tree/master/fontconfig_patches/fonts-settings
+source="$pkgname-$pkgver.tar.gz::https://github.com/vernnobile/OswaldFont/archive/$_hash.tar.gz
+ 45-oswald.conf
+ 90-non-tt-oswald.conf"
+
+_builddir="$srcdir"/OswaldFont-$_hash/3.0
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/usr/share/fonts/$pkgname \
+ "$pkgdir"/etc/fonts/conf.avail \
+ "$pkgdir"/etc/fonts/conf.d
+
+ install -m644 Italic/*/src/*.otf \
+ "${pkgdir}"/usr/share/fonts/"${pkgname}" || return 1
+ install -m644 Roman/*/src/*.otf \
+ "${pkgdir}"/usr/share/fonts/"${pkgname}" || return 1
+
+ for j in "$srcdir"/*.conf; do
+ install -m644 "$j" \
+ "$pkgdir"/etc/fonts/conf.avail/ || return 1
+ cd "$pkgdir"/etc/fonts/conf.d
+ ln -sf /etc/fonts/conf.avail/${j##*/}
+ done
+}
+
+md5sums="55d151288b5f20ae263b39181dc957f8 otf-oswald-3.0.tar.gz
+3abe7ce6d6444a06b49735ac94523666 45-oswald.conf
+68374ff2058339aac6235774abc1134f 90-non-tt-oswald.conf"
+sha256sums="a4924d1ca5c894a390cf255ca4ba1a74718ff0b718e742bc8737367cbed022fa otf-oswald-3.0.tar.gz
+0e26f5ca0f056339cef370a5b62f81fccd426957f7456f271c3d1fabe83fba0b 45-oswald.conf
+e16f4e34197563187d755bab934644fceebd6ac961d303fbb3c6f4e8c7265a04 90-non-tt-oswald.conf"
+sha512sums="a8050eb01e3aa8ab35de9b782434aa9bd6213dd3e9cf5f5b89d50ed11639da38aec9cc69f2362ff9c8d9071add6fc5831dc8b0d25a0d426c4041c95f9dd86564 otf-oswald-3.0.tar.gz
+73b1be04339ead8d22000a48180a74fdcc324dbe5f5dc9fb832c76304eaaa6473865c15d5243c6f4abf71a85d16cb042a3c4f8ae9426753cd24c7c5b8d21a603 45-oswald.conf
+24921f12096b08764e9ee31de66f0a36f74a32a0b38a754c646a5d87f1ce5911fddd88db08c1e5b22632802b369854701925f312aaca241fe9bfdef20f00d3b1 90-non-tt-oswald.conf"
diff --git a/unmaintained/otf-quintessential/45-quintessential.conf b/unmaintained/otf-quintessential/45-quintessential.conf
new file mode 100644
index 0000000000..0e0a0f83ad
--- /dev/null
+++ b/unmaintained/otf-quintessential/45-quintessential.conf
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+ <alias>
+ <family>Quintessential</family>
+ <default>
+ <family>cursive</family>
+ </default>
+ </alias>
+
+</fontconfig>
diff --git a/unmaintained/otf-quintessential/90-non-tt-quintessential.conf b/unmaintained/otf-quintessential/90-non-tt-quintessential.conf
new file mode 100644
index 0000000000..eead1b186d
--- /dev/null
+++ b/unmaintained/otf-quintessential/90-non-tt-quintessential.conf
@@ -0,0 +1,23 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+ <match target="font">
+ <test name="family">
+ <string>Quintessential</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/unmaintained/otf-quintessential/APKBUILD b/unmaintained/otf-quintessential/APKBUILD
new file mode 100644
index 0000000000..047baea613
--- /dev/null
+++ b/unmaintained/otf-quintessential/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=otf-quintessential
+pkgver=1.000
+pkgrel=0
+pkgdesc="The Quintessential typeface is a calligraphic lettering style based on the Italic Hand."
+url="http://www.impallari.com"
+arch="noarch"
+license="OFL"
+depends="fontconfig"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+# added fontconfig configuration from:
+# https://github.com/bohoomil/fontconfig-ultimate/tree/master/fontconfig_patches/fonts-settings
+source="http://googlefontdirectory.googlecode.com/hg/ofl/quintessential/src/Quintessential-Regular.otf
+ 45-quintessential.conf
+ 90-non-tt-quintessential.conf"
+
+_builddir="$srcdir"
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/usr/share/fonts/$pkgname \
+ "$pkgdir"/etc/fonts/conf.avail \
+ "$pkgdir"/etc/fonts/conf.d
+ install -Dm644 *.otf \
+ "${pkgdir}"/usr/share/fonts/"${pkgname}" || return 1
+
+ for j in "$srcdir"/*.conf; do
+ install -m644 "$j" \
+ "$pkgdir"/etc/fonts/conf.avail/ || return 1
+ cd "$pkgdir"/etc/fonts/conf.d
+ ln -sf /etc/fonts/conf.avail/${j##*/}
+ done
+}
+md5sums="a8324545c8c11da13d440855400cd0e6 Quintessential-Regular.otf
+a01dd1b0fab960cc85c360dbb3f49ad4 45-quintessential.conf
+12812943d242a2458b6d35eb70d97601 90-non-tt-quintessential.conf"
+sha256sums="3490a47283b18390ded494938605810073354e9444e0ad3bb1525c9f40698fb8 Quintessential-Regular.otf
+a2d8634952dc67fac7064acec999b4fd914a151c9ed8b548baeba627af122866 45-quintessential.conf
+deb7279000a6591a594bcb485eaa84f074ef8e6e9cf810f78e504f7b9c213bbf 90-non-tt-quintessential.conf"
+sha512sums="e51d17ba4f89fe33bfe8de1e3e206911ee69b14c7f3ebcf86bd972f457f36c1467d82905f9d6477f31363a37d67bb434b7d3abdca4a5fda7f5da06475337ba11 Quintessential-Regular.otf
+a93d3ba56621dca42f6f58763cab0300128b2de068c94234a5fb081cfdfb4f389f873f3de663a39158c61af892d619e6cfcc66e50366bd854d6b0ad96a953cca 45-quintessential.conf
+31bf9b35c61dfd4d1621570e7d7b833055daf8ac86e2da50bc94a02616d819ce0b2bf387a160221b6c011ee93f05247973beead846a154bcc9448e92318ba593 90-non-tt-quintessential.conf"
diff --git a/unmaintained/otf-tex-gyre/45-tex-gyre.conf b/unmaintained/otf-tex-gyre/45-tex-gyre.conf
new file mode 100644
index 0000000000..75b332b51d
--- /dev/null
+++ b/unmaintained/otf-tex-gyre/45-tex-gyre.conf
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+ <alias>
+ <family>TeX Gyre Adventor</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>TeX Gyre Bonum</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>TeX Gyre Bonum Math</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>TeX Gyre Chorus</family>
+ <default>
+ <family>cursive</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>TeX Gyre Cursor</family>
+ <default>
+ <family>monospace</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>TeX Gyre Heros</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>TeX Gyre Heros Cn</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>TeX Gyre Pagella</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>TeX Gyre Pagella Math</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>TeX Gyre Schola</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>TeX Gyre Termes</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>TeX Gyre Termes Math</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+</fontconfig>
diff --git a/unmaintained/otf-tex-gyre/90-non-tt-tex-gyre.conf b/unmaintained/otf-tex-gyre/90-non-tt-tex-gyre.conf
new file mode 100644
index 0000000000..08cf8b1bd0
--- /dev/null
+++ b/unmaintained/otf-tex-gyre/90-non-tt-tex-gyre.conf
@@ -0,0 +1,221 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+ <match target="font">
+ <test name="family">
+ <string>TeX Gyre Adventor</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>TeX Gyre Bonum</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>TeX Gyre Bonum Math</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>TeX Gyre Chorus</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>TeX Gyre Cursor</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>TeX Gyre Heros</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>TeX Gyre Heros Cn</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>TeX Gyre Pagella</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>TeX Gyre Pagella Math</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>TeX Gyre Schola</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>TeX Gyre Termes</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>TeX Gyre Termes Math</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/unmaintained/otf-tex-gyre/APKBUILD b/unmaintained/otf-tex-gyre/APKBUILD
new file mode 100644
index 0000000000..bc64038ea6
--- /dev/null
+++ b/unmaintained/otf-tex-gyre/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=otf-tex-gyre
+pkgver=2.005
+pkgrel=0
+pkgdesc="The TeX Gyre (TG) Collection of Fonts."
+url="http://www.gust.org.pl/projects/e-foundry/tex-gyre/"
+arch="noarch"
+license="GFL"
+depends="fontconfig"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+# added fontconfig configuration from:
+# https://github.com/bohoomil/fontconfig-ultimate/tree/master/fontconfig_patches/fonts-settings
+source="http://www.gust.org.pl/projects/e-foundry/tex-gyre/whole/tg-${pkgver}otf.zip
+ 45-tex-gyre.conf
+ 90-non-tt-tex-gyre.conf"
+
+_builddir="$srcdir"
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/usr/share/fonts/$pkgname \
+ "$pkgdir"/etc/fonts/conf.avail \
+ "$pkgdir"/etc/fonts/conf.d
+ install -m644 *.otf \
+ "${pkgdir}"/usr/share/fonts/"${pkgname}"
+ for j in "$srcdir"/*.conf; do
+ install -m644 "$j" \
+ "$pkgdir"/etc/fonts/conf.avail/ || return 1
+ cd "$pkgdir"/etc/fonts/conf.d
+ ln -sf /etc/fonts/conf.avail/${j##*/}
+ done
+}
+md5sums="3774af603b5a13d374bf4668967bff57 tg-2.005otf.zip
+b4ac89e4df3907a6cd9b91642ff9c8a5 45-tex-gyre.conf
+1717b23af91c9ad79618bf0174acd73a 90-non-tt-tex-gyre.conf"
+sha256sums="6158bdb106e5b017743cb6e9ddb6ad4c7153e82fafadd6eb5d62c9f3064df04e tg-2.005otf.zip
+e0a49b011eac2e51dbb844706825c3b84f4c9a0a1640d2d6f8b462dd29bb2fe7 45-tex-gyre.conf
+63ac80d34f712bc6bb400875793e26add4905b91a5a65bc0bacf71ea886e20b3 90-non-tt-tex-gyre.conf"
+sha512sums="881886115604a7ec2634f621693177278bf3f6842dd42f64460e3afd26f302c2f8847e03b7bd83b354ae0366dcdfa057f16b1cbf64e8c5172d27d2bda7b98db9 tg-2.005otf.zip
+63c356e4d3ed0986c03ffdb1e37b85adc4de5e9ee5e0a5431157bd52798fa7952f1230f04e401e2e010e2531269aecff0bb6c0efbe4c573cb02393920a3b986e 45-tex-gyre.conf
+0e118ea843ca40bba2461790e4dca61cf936dadb5be9efbf05add974cd7531d49ed66b900d8ab85312566a0efed79b7eb8b551b95d0e2bf9c441bb13338ecaaa 90-non-tt-tex-gyre.conf"
diff --git a/unmaintained/oxygen-icons/APKBUILD b/unmaintained/oxygen-icons/APKBUILD
new file mode 100644
index 0000000000..9ba50e41d7
--- /dev/null
+++ b/unmaintained/oxygen-icons/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer:
+pkgname=oxygen-icons
+pkgver=4.13.3
+pkgrel=0
+pkgdesc="oxygen icon set"
+url="http://www.oxygen-icons.org/"
+arch="noarch"
+license="LGPL"
+depends=
+depends_dev="cmake"
+makedepends="$depends_dev automoc4"
+install=""
+subpackages=""
+source="ftp://ftp.kde.org/pub/kde/stable/4.13.3/src/${pkgname}-${pkgver}.tar.xz"
+install_if="kdebase-workspace"
+
+_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
+ mkdir "$_builddir"/build
+}
+
+build() {
+ cd "$_builddir"/build
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DKDE4_BUILD_TESTS=OFF \
+ "$_builddir" || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"/build
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="25d5e555aa82a98ee82c6ec3b23a2763 oxygen-icons-4.13.3.tar.xz"
+sha256sums="1478e0224020a881bea93e7c84cde9c1592ee299333f3e762ffa8f7229641075 oxygen-icons-4.13.3.tar.xz"
+sha512sums="c8b4c97d714190a1b02b75d4980aab62d4d686d0a9b3fc886c7d89de6f9478f0b4572c3a4d890304e1d51a4dd2464c1cd59e7c9f92cee02a3c866110c2bb2147 oxygen-icons-4.13.3.tar.xz"
diff --git a/unmaintained/p0f/APKBUILD b/unmaintained/p0f/APKBUILD
new file mode 100644
index 0000000000..025d51b5e9
--- /dev/null
+++ b/unmaintained/p0f/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
+# Maintainer:
+pkgname=p0f
+pkgver=3.05b
+pkgrel=0
+pkgdesc="Passive traffic fingerprinting tool"
+url="http://lcamtuf.coredump.cx/p0f3/"
+arch="all"
+license="GPL"
+depends=
+depends_dev="bash libpcap-dev"
+makedepends="$depends_dev"
+install=
+subpackages="$pkgname-doc"
+source="http://lcamtuf.coredump.cx/p0f3/releases/$pkgname-$pkgver.tgz"
+
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ cd "$_builddir"
+ # apply patches here
+}
+
+build() {
+ cd "$_builddir"
+ make || return 1
+ cd tools
+ make p0f-client
+ make p0f-sendsyn
+ make p0f-sendsyn6
+}
+
+package() {
+ cd "$_builddir"
+ install -d -Dm755 ${pkgdir}/usr/sbin
+ install -d -Dm755 ${pkgdir}/etc/p0f
+ install -d -Dm755 ${pkgdir}/usr/share/licenses/${pkgname}
+ install -d -Dm755 ${pkgdir}/usr/share/doc/${pkgname}
+ install -m744 p0f ${pkgdir}/usr/sbin
+ install -m755 p0f.fp ${pkgdir}/etc/p0f
+ install -D -m644 docs/COPYING ${pkgdir}/usr/share/licenses/${pkgname}
+ install -D -m644 docs/README ${pkgdir}/usr/share/doc/${pkgname}
+ install -m744 ${srcdir}/${pkgname}-${pkgver}/tools/p0f-client ${pkgdir}/usr/sbin
+ install -m744 ${srcdir}/${pkgname}-${pkgver}/tools/p0f-sendsyn ${pkgdir}/usr/sbin
+ install -m744 ${srcdir}/${pkgname}-${pkgver}/tools/p0f-sendsyn6 ${pkgdir}/usr/sbin
+}
+
+md5sums="edbc4b135b2646db3227a441268fd2e2 p0f-3.05b.tgz"
diff --git a/unmaintained/pacemaker/APKBUILD b/unmaintained/pacemaker/APKBUILD
new file mode 100644
index 0000000000..a1c2887f69
--- /dev/null
+++ b/unmaintained/pacemaker/APKBUILD
@@ -0,0 +1,68 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=pacemaker
+pkgver=1.1.12
+pkgrel=0
+pkgdesc="Scalable High-Availability cluster resource manager"
+url="http://www.clusterlabs.org"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev="glib-dev libxml2-dev libxslt-dev bzip2-dev gnutls-dev
+ cluster-glue-dev resource-agents-dev corosync-dev"
+makedepends="$depends_dev automake autoconf libtool libltdl wget docbook-xsl"
+install=""
+subpackages="$pkgname-doc $pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ClusterLabs/pacemaker/archive/Pacemaker-$pkgver.tar.gz
+ fix-headers.patch
+ fix-SIGCHLD.patch
+ $pkgname.initd"
+
+_builddir="$srcdir"/pacemaker-Pacemaker-$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
+ libtoolize --force && aclocal -I m4 && autoheader && autoconf \
+ && automake --add-missing || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --enable-fatal-warnings=no \
+ --with-corosync
+ 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
+
+}
+
+libs() {
+ pkgdesc="$pkgname libraries"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/lib*.so.* \
+ "$subpkgdir"/usr/lib/
+}
+
+md5sums="c5c28013efb08441ab74a12034d9e9b4 pacemaker-1.1.12.tar.gz
+fad579ccd7adf446c2037329961772ab fix-headers.patch
+6af4189cd1c2dbd23f5e9e13a330de86 fix-SIGCHLD.patch
+aca8b793c4a977294121615ed3ce6398 pacemaker.initd"
+sha256sums="f5c72b609fac18d362880d120f08f990e8afd9388e6ff86c55cd93900ba54d9c pacemaker-1.1.12.tar.gz
+48e2fb2432175eeceebfa77f00506d5175f2eaa88206d3efe92e0c8dc0a60b91 fix-headers.patch
+d0118f3ce94dcc9fbccda9777a0ea864a01a08b7dfc400ea48e85795890a7603 fix-SIGCHLD.patch
+0253da4a3a91d8c3aa7badd30062cbba32a0626b77f1a27db1d731d1bbe133af pacemaker.initd"
+sha512sums="cf88a313f5e91f445a159a5d800d27fd891f63c082c92d3f09bfd2aff856325e8ef6e0ebab8c0b2b9cd6eb15cc593c58c8e23e888e17d5286ebc651dd096f9c1 pacemaker-1.1.12.tar.gz
+fbd60b0f7117b1dd645494db12bb5730cd8aeb7b3424affe7141bf7e6bd74ab5bab65ebe7ebf718788002c413bbe003bab7d0f8424f11265fdb0515b44d1a4e6 fix-headers.patch
+289a8ee8d3def43d672f321643eb7c9ab7c1c46f0a05d9532d130ca06057949cc4528defa7d564751b49aeda7a008d438750fab0050e35388277e2c593b95903 fix-SIGCHLD.patch
+ccd15fb4401863e51cf7639f3f143e35a969b11a53e0fcff49f70f33e78975051c7b879a299c082951e0b10db32eb9f53a52aaadfaab27cd27cc85be742e264a pacemaker.initd"
diff --git a/unmaintained/pacemaker/fix-SIGCHLD.patch b/unmaintained/pacemaker/fix-SIGCHLD.patch
new file mode 100644
index 0000000000..b221600284
--- /dev/null
+++ b/unmaintained/pacemaker/fix-SIGCHLD.patch
@@ -0,0 +1,11 @@
+--- ./tools/crm_mon.c.orig
++++ ./tools/crm_mon.c
+@@ -518,7 +518,7 @@
+
+ #if !defined (ON_DARWIN) && !defined (ON_BSD)
+ /* prevent zombies */
+- signal(SIGCLD, SIG_IGN);
++ signal(SIGCHLD, SIG_IGN);
+ #endif
+
+ if (strcmp(crm_system_name, "crm_mon.cgi") == 0) {
diff --git a/unmaintained/pacemaker/fix-headers.patch b/unmaintained/pacemaker/fix-headers.patch
new file mode 100644
index 0000000000..c343ecfcb5
--- /dev/null
+++ b/unmaintained/pacemaker/fix-headers.patch
@@ -0,0 +1,11 @@
+--- ./lib/cib/cib_remote.c.orig
++++ ./lib/cib/cib_remote.c
+@@ -53,7 +53,7 @@
+ #endif
+
+ #include <arpa/inet.h>
+-#ifndef ON_BSD
++#ifdef HAVE_SGTTY_H
+ # include <sgtty.h>
+ #endif
+
diff --git a/unmaintained/pacemaker/pacemaker.initd b/unmaintained/pacemaker/pacemaker.initd
new file mode 100644
index 0000000000..4231425f88
--- /dev/null
+++ b/unmaintained/pacemaker/pacemaker.initd
@@ -0,0 +1,39 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/pacemaker/files/pacemaker.initd,v 1.1 2011/02/21 14:39:28 ultrabug Exp $
+
+PIDFILE=/var/run/pacemaker.pid
+
+depend() {
+ need net corosync
+ use syslog
+}
+
+start() {
+ nc=0
+ ebegin "Starting Pacemaker Cluster Manager"
+ einfon "Waiting for Corosync startup ."
+ while true; do
+ /usr/sbin/corosync-cfgtool -s &>/dev/null && break
+ nc=$(expr $nc + 1)
+ if [ $nc -gt 30 ]; then
+ echo
+ eend 1 "Failed to detect Corosync startup, is it really running ?"
+ exit 1
+ fi
+ sleep 1
+ echo -n "."
+ done
+ echo
+ start-stop-daemon --start -q --exec /usr/sbin/pacemakerd \
+ --pidfile "${PIDFILE}" --make-pidfile --background \
+ -- -f
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Pacemaker Cluster Manager"
+ start-stop-daemon --stop -q --pidfile "${PIDFILE}"
+ eend $?
+}
diff --git a/unmaintained/packagekit/APKBUILD b/unmaintained/packagekit/APKBUILD
new file mode 100644
index 0000000000..52eb8d9719
--- /dev/null
+++ b/unmaintained/packagekit/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=packagekit
+pkgver=0.8.3
+pkgrel=0
+pkgdesc="Package management service"
+url="http://www.packagekit.org"
+arch="all"
+license="GPLv2+ and LGPLv2+"
+depends=""
+depends_dev=""
+makedepends="dbus-glib-dev polkit-dev bash intltool sqlite-dev gtk+-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="http://www.packagekit.org/releases/PackageKit-$pkgver.tar.xz"
+
+_builddir="$srcdir"/PackageKit-$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-qt \
+ --disable-systemd \
+ --enable-gtk-module \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="53210d9a54d3c9044e4c6edc16c99bd4 PackageKit-0.8.3.tar.xz"
diff --git a/unmaintained/parcellite/APKBUILD b/unmaintained/parcellite/APKBUILD
new file mode 100644
index 0000000000..6d2f92a7e5
--- /dev/null
+++ b/unmaintained/parcellite/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: August Klein <amatcoder@gmail.com>
+# Maintainer: August Klein <amatcoder@gmail.com>
+pkgname=parcellite
+pkgver=1.1.9
+pkgrel=0
+pkgdesc="A lightweight GTK+ clipboard manager"
+url="http://parcellite.sourceforge.net"
+arch="all"
+license="GPL3"
+depends=""
+depends_dev="gtk+2.0-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-lang $pkgname-doc"
+source="http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz
+ fix-crash.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 \
+ --mandir=/usr/share/man \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="6c3b70165c2dee9341a81a2a8481e446 parcellite-1.1.9.tar.gz
+f2cc1986e573d49c92ea3d81efd5d574 fix-crash.patch"
+sha256sums="cba89585082eebbe848ac1c0023cc71a0184c0db24ebc5f8a21039e46d7f11d4 parcellite-1.1.9.tar.gz
+8fe1e86958d371c9fa9474fe64b203ed483f636f3f98152237402ea84b2d2cbd fix-crash.patch"
+sha512sums="24721dbd4f049f65a40f4e4c6914344062d49dfb50e3cf6496c6f14d9aff02bef5b88d3a714e8176955c84b1324c9ca1f35b389e8033d1232dd3c802c40e32bf parcellite-1.1.9.tar.gz
+3cfbf5e22ff33d4c33696fb2a8e4c24b91ded0a36b30188e47f56532e315184eed69e66f3dc4dd9cd1dcaa1310d9343e79d19238012acf76fb36418766e007c9 fix-crash.patch"
diff --git a/unmaintained/parcellite/fix-crash.patch b/unmaintained/parcellite/fix-crash.patch
new file mode 100644
index 0000000000..a8ce712e1a
--- /dev/null
+++ b/unmaintained/parcellite/fix-crash.patch
@@ -0,0 +1,11 @@
+--- a/src/preferences.c.orig 2013-11-11 14:39:32.000000000 +0400
++++ b/src/preferences.c 2013-11-11 14:40:03.970776522 +0400
+@@ -381,7 +381,7 @@
+ }
+ /**now go through and make sure we have no duplicates */
+ for (i=0;NULL != keylist[i].name; ++i){
+- if(0 != keylist[i].keyval[0]){
++ if(NULL != keylist[i].keyval && 0 != keylist[i].keyval[0]){
+ /**see if it exists elsewhere */
+ for (l=0;NULL != keylist[l].name; ++l){
+ if(l!=i && 0 != keylist[l].keyval[0]){
diff --git a/unmaintained/pass/APKBUILD b/unmaintained/pass/APKBUILD
new file mode 100644
index 0000000000..1e22cf9dc0
--- /dev/null
+++ b/unmaintained/pass/APKBUILD
@@ -0,0 +1,72 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Contributor: Johannes Matheis <jomat+alpinebuild@jmt.gr>
+# Maintainer: Johannes Matheis <jomat+alpinebuild@jmt.gr>
+pkgname=pass
+pkgver=1.6.5
+pkgrel=2
+pkgdesc="Stores, retrieves, generates, and synchronizes passwords securely"
+url="http://zx2c4.com/projects/password-store/"
+arch="noarch"
+license="GPL2"
+depends="bash"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc
+ $pkgname-contrib
+ $pkgname-zsh-completion:bashcomp
+ $pkgname-fish-completion:fishcomp
+ $pkgname-bash-completion:zshcomp"
+source="http://git.zx2c4.com/password-store/snapshot/password-store-${pkgver}.tar.xz"
+
+_builddir="$srcdir/password-store-$pkgver"
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" \
+ FORCE_BASHCOMP=1 \
+ FORCE_ZSHCOMP=1 \
+ FORCE_FISHCOMP=1 install
+}
+
+contrib() {
+ pkgdesc="contrib files for pass"
+ mkdir -p "$subpkgdir"/usr/share
+ cp -a "$_builddir"/contrib "$subpkgdir"/usr/share/$pkgname
+}
+
+bashcomp() {
+ depends=""
+ pkgdesc="Bash completions for $pkgname"
+ install_if="$pkgname=$pkgver-r$pkgrel bash-completion"
+ arch="noarch"
+
+ mkdir -p "$subpkgdir"/usr/share/bash-completion/completions
+ mv "$pkgdir"/usr/share/bash-completion/completions/* \
+ "$subpkgdir"/usr/share/bash-completion/completions/ || return 1
+}
+
+fishcomp() {
+ depends=""
+ pkgdesc="Fish completions for $pkgname"
+ install_if="$pkgname=$pkgver-r$pkgrel fish"
+ arch="noarch"
+
+ mkdir -p "$subpkgdir"/usr/share/fish/completions/
+ mv "$pkgdir"/usr/share/fish/vendor_completions.d/* \
+ "$subpkgdir"/usr/share/fish/completions/ || return 1
+}
+
+zshcomp() {
+ depends=""
+ pkgdesc="Zsh completions for $pkgname"
+ install_if="$pkgname=$pkgver-r$pkgrel zsh"
+ arch="noarch"
+
+ mkdir -p "$subpkgdir/usr/share/zsh/site-functions"
+ mv "$pkgdir"/usr/share/zsh/site-functions/* \
+ "$subpkgdir"/usr/share/zsh/site-functions || return 1
+}
+
+md5sums="2c4468360c678184051e76f03c2f6b04 password-store-1.6.5.tar.xz"
+sha256sums="337a39767e6a8e69b2bcc549f27ff3915efacea57e5334c6068fcb72331d7315 password-store-1.6.5.tar.xz"
+sha512sums="e28503b63c6d18a2f45f4a732fdec0380c2ac15e1778136ec5e7ac568662b09183d3ad4fd36ca7e87cfe74540f916cb6365695bdf665a39da4cbe86c4bde7a78 password-store-1.6.5.tar.xz"
diff --git a/unmaintained/passwdgen/APKBUILD b/unmaintained/passwdgen/APKBUILD
new file mode 100644
index 0000000000..d50ae552c7
--- /dev/null
+++ b/unmaintained/passwdgen/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=passwdgen
+pkgver=0.1.2
+pkgrel=0
+pkgdesc="A random password generator"
+url="http://code.google.com/p/passwdgen/"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends=""
+install=""
+subpackages="$pkgname-doc"
+source="http://$pkgname.googlecode.com/files/$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="d1b954610935a26ca257e4fc7c870f1e passwdgen-0.1.2.tar.gz"
diff --git a/unmaintained/pastebinc/APKBUILD b/unmaintained/pastebinc/APKBUILD
new file mode 100644
index 0000000000..d9123bf203
--- /dev/null
+++ b/unmaintained/pastebinc/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Jeremy Thomerson <jeremy@thomersonfamily.com>
+# Maintainer: Jeremy Thomerson <jeremy@thomersonfamily.com>
+pkgname=pastebinc
+pkgver=0.9.1
+pkgrel=1
+pkgdesc="utility to pipe data into a paste on pastebin.com or a similar site"
+url="https://github.com/jthomerson/pastebinc"
+arch="all"
+license="ASL 2.0"
+depends=
+depends_dev=
+makedepends="wget glib-dev curl-dev"
+install=""
+subpackages=""
+source="$pkgname-$pkgver.tar.gz::https://github.com/jthomerson/pastebinc/archive/RELEASE_$pkgver.tar.gz"
+_builddir="$srcdir/pastebinc-RELEASE_$pkgver"
+
+makeparams="VERSION=$pkgver-$pkgrel CONFDIR=/etc/pastebinc prefix=/usr"
+
+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 $makeparams clean || return 1
+ make $makeparams || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make $makeparams DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="761446cc029b61db0870d89e97a393de pastebinc-0.9.1.tar.gz"
+sha256sums="ea262fd31a2ce7952cfbe201bf990c16c537d3fe3af5b3d8e97d5c31ebfd7e07 pastebinc-0.9.1.tar.gz"
+sha512sums="84f8f2879572a9c6ee5c990b7b94e2b311141bf555a4ca4afd39d24211b267b7bc87e67ecf64632d27ac6ac5901b3dd9e7bb76dfb33276c81a9931009244bc29 pastebinc-0.9.1.tar.gz"
diff --git a/unmaintained/pcapy/APKBUILD b/unmaintained/pcapy/APKBUILD
new file mode 100644
index 0000000000..c688dba60a
--- /dev/null
+++ b/unmaintained/pcapy/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=pcapy
+pkgver=0.10.8
+pkgrel=0
+pkgdesc="Module to interfaces with the libpcap packet capture library"
+url="http://oss.coresecurity.com/projects/pcapy.html"
+arch="all"
+license="ASL"
+depends=""
+depends_dev=""
+makedepends="python-dev libpcap-dev"
+install=""
+subpackages="$pkgname-doc"
+source="pcapy-$pkgver.tar.gz::https://github.com/CoreSecurity/pcapy/archive/0.10.8.tar.gz"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="0223adaa81726e5a4699a93bfaf0c8de pcapy-0.10.8.tar.gz"
+sha256sums="b0a3b97e84489f4f0cac82a8cdb2ccdbbd5279dc0b55d3ef4866f7df3e7d4bd3 pcapy-0.10.8.tar.gz"
+sha512sums="94d5ef53d069df938205770223a03d4ae753e7c53a1905687b8cb3b308d58c01cf22b340ff6b9f77225b0c733ad5f2d9d0b57a766163832efbaf216b0125554b pcapy-0.10.8.tar.gz"
diff --git a/unmaintained/pdns-gui/0010-replace-bash-with-sh.patch b/unmaintained/pdns-gui/0010-replace-bash-with-sh.patch
new file mode 100644
index 0000000000..e684009bff
--- /dev/null
+++ b/unmaintained/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/unmaintained/pdns-gui/0020-update-for-mysql55.patch b/unmaintained/pdns-gui/0020-update-for-mysql55.patch
new file mode 100644
index 0000000000..2f2800a202
--- /dev/null
+++ b/unmaintained/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/unmaintained/pdns-gui/0030-remove-zend.ze1_compatibility_mode-option.patch b/unmaintained/pdns-gui/0030-remove-zend.ze1_compatibility_mode-option.patch
new file mode 100644
index 0000000000..6c3c5a7aa8
--- /dev/null
+++ b/unmaintained/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: |
+ &amp;
+
+-check:
+- zend.ze1_compatibility_mode: off
+-
+ warn:
+ magic_quotes_gpc: off
+ register_globals: off
diff --git a/unmaintained/pdns-gui/0040-alpine-default-htaccess-fix.patch b/unmaintained/pdns-gui/0040-alpine-default-htaccess-fix.patch
new file mode 100644
index 0000000000..4842a425ff
--- /dev/null
+++ b/unmaintained/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/unmaintained/pdns-gui/APKBUILD b/unmaintained/pdns-gui/APKBUILD
new file mode 100644
index 0000000000..4812790124
--- /dev/null
+++ b/unmaintained/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/unmaintained/pdns-gui/pdns-gui.apache2.conf b/unmaintained/pdns-gui/pdns-gui.apache2.conf
new file mode 100644
index 0000000000..35e866853b
--- /dev/null
+++ b/unmaintained/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/unmaintained/pdns-gui/pdns-gui.post-install b/unmaintained/pdns-gui/pdns-gui.post-install
new file mode 100644
index 0000000000..4bc6d990a0
--- /dev/null
+++ b/unmaintained/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/unmaintained/pdns-gui/pdns-gui.post-upgrade b/unmaintained/pdns-gui/pdns-gui.post-upgrade
new file mode 100644
index 0000000000..7d9922a5d1
--- /dev/null
+++ b/unmaintained/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/unmaintained/perl-alien-base/APKBUILD b/unmaintained/perl-alien-base/APKBUILD
new file mode 100644
index 0000000000..d9dd61fa3d
--- /dev/null
+++ b/unmaintained/perl-alien-base/APKBUILD
@@ -0,0 +1,44 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-alien-base
+_pkgreal=Alien-Base
+pkgver=0.023
+pkgrel=1
+pkgdesc="A base class for Alien:: modules"
+url="http://search.cpan.org/dist/Alien-Base/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-file-chdir perl-sort-versions perl-file-sharedir
+ perl-ffi-checklib perl-capture-tiny perl-shell-config-generate
+ perl-shell-guess perl-uri perl-list-moreutils
+ "
+cpanmakedepends="perl-archive-extract perl-module-build"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PL/PLICEASE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="d91d30f88e292170adb02f8f327340d5 Alien-Base-0.023.tar.gz"
+sha256sums="dbe91f7d681c2b05046b31743711d0fd8b97d79ad26aa1ff069d7760fa9d9f56 Alien-Base-0.023.tar.gz"
+sha512sums="39751304d2ba45decb34ec4f813c157e36a6b1acc367ecb791a636864b4fdd18055d1a09b0adb85978c16bc6f8b39fc767b30528adcf887474f6caafb60e36b5 Alien-Base-0.023.tar.gz"
diff --git a/unmaintained/perl-alien-libgumbo/APKBUILD b/unmaintained/perl-alien-libgumbo/APKBUILD
new file mode 100644
index 0000000000..458ff82b37
--- /dev/null
+++ b/unmaintained/perl-alien-libgumbo/APKBUILD
@@ -0,0 +1,54 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-alien-libgumbo
+_pkgreal=Alien-LibGumbo
+pkgver=0.02
+pkgrel=2
+pkgdesc="Perl module for Alien-LibGumbo"
+url="http://search.cpan.org/dist/Alien-LibGumbo/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl perl-alien-base gumbo-parser"
+cpanmakedepends="perl-module-build perl-alien-base perl-archive-extract
+ perl-path-class libtool autoconf automake"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+source="http://search.cpan.org/CPAN/authors/id/R/RU/RUZ/$_pkgreal-$pkgver.tar.gz"
+subpackages="$pkgname-doc"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ if [ -e Build.PL ]; then
+ perl Build.PL installdirs=vendor || return 1
+ else
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ fi
+}
+
+build() {
+ ./Build PERL_MM_USE_DEFAULT=1 INSTALLDIRS=vendor || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -m0644 -D lib/Alien/LibGumbo.pm \
+ "$pkgdir"/usr/share/perl5/vendor_perl/Alien/LibGumbo.pm
+ install -m0644 -D blib/lib/Alien/LibGumbo/Install/Files.pm \
+ "$pkgdir"/usr/share/perl5/vendor_perl/Alien/LibGumbo/Install/Files.pm
+ install -m0644 -D blib/lib/Alien/LibGumbo/ConfigData.pm \
+ "$pkgdir"/usr/share/perl5/vendor_perl/Alien/LibGumbo/ConfigData.pm
+ install -m0644 -D blib/libdoc/Alien::LibGumbo::ConfigData.3pm \
+ "$pkgdir"/usr/share/man/man3
+ mkdir -p "$pkgdir"/usr/share/perl5/vendor_perl/auto/share/dist/Alien-LibGumbo/lib
+ ln -s /usr/lib/libgumbo.so.1.0.0 \
+ "$pkgdir"/usr/share/perl5/vendor_perl/auto/share/dist/Alien-LibGumbo/lib/libgumbo.so.1
+ ln -s /usr/lib/libgumbo.so.1.0.0 \
+ "$pkgdir"/usr/share/perl5/vendor_perl/auto/share/dist/Alien-LibGumbo/lib/libgumbo.so
+}
+
+md5sums="9dbcfb65d56c17c09082079bbb42848c Alien-LibGumbo-0.02.tar.gz"
+sha256sums="ae4a4ec476dbfe7b9a2ba30041f43e01497c9b6ab761bc88b096a17a156c235f Alien-LibGumbo-0.02.tar.gz"
+sha512sums="bbfac21491382f536aea2ff0c5e4f6b8bbc31a317f42fce75dcd3ced97f3733b9fac19a06807016ee78fbc1b56e0a684469e3349c488610259ffc130224dfb04 Alien-LibGumbo-0.02.tar.gz"
diff --git a/unmaintained/perl-apache-session-browseable/APKBUILD b/unmaintained/perl-apache-session-browseable/APKBUILD
new file mode 100644
index 0000000000..d17313e652
--- /dev/null
+++ b/unmaintained/perl-apache-session-browseable/APKBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Xavier Guimard <x.guimard@free.fr>
+pkgname=perl-apache-session-browseable
+_pkgreal=Apache-Session-Browseable
+pkgver=1.1
+pkgrel=0
+pkgdesc="An implementation of Apache::Session"
+url="https://metacpan.org/pod/Apache::Session::LDAP"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-apache-session"
+cpanmakedepends="perl-module-build-tiny perl-dbd-sqlite perl-dbi"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends perl-module-build"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/C/CO/COUDOT/Apache-Session-Browseable-1.1.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Build.PL --installdirs vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install --destdir "$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="49be2eb67e029c78344149ab20815eec Apache-Session-Browseable-1.1.tar.gz"
+sha256sums="d71924fe9b10bec196f680008fb94451b59348a6ff64e04d12c2b8ef14a178e3 Apache-Session-Browseable-1.1.tar.gz"
+sha512sums="0b5cca3963179127bb988cfa4c8dd1db58256285a1b1120b99b2688aa5dbbad3e2d92c3d70acccf66d3c83ae232158978dbdbfb72d158c6af597dbbaa754c279 Apache-Session-Browseable-1.1.tar.gz"
diff --git a/unmaintained/perl-apache-session-ldap/APKBUILD b/unmaintained/perl-apache-session-ldap/APKBUILD
new file mode 100644
index 0000000000..7b7e4b0ce1
--- /dev/null
+++ b/unmaintained/perl-apache-session-ldap/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer: Xavier Guimard <x.guimard@free.fr>
+pkgname=perl-apache-session-ldap
+_pkgreal=Apache-Session-LDAP
+pkgver=0.4
+pkgrel=0
+pkgdesc="An implementation of Apache::Session"
+url="https://metacpan.org/pod/Apache::Session::LDAP"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-ldap perl-apache-session"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/C/CO/COUDOT/Apache-Session-LDAP-0.4.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="491e6389ef71822c0eeda7fe4019a569 Apache-Session-LDAP-0.4.tar.gz"
+sha256sums="394ad609a12d4f8290cb96797cc7251b614664a2cc28be8da9ac9d53df62dadc Apache-Session-LDAP-0.4.tar.gz"
+sha512sums="284986fe2fec0298b43c587816e18c56ee4197097438abdc5a5ad8035844ef1d412c848bea8385269b59f3d4f718b098a1ba0b34866b39dd19bc3018b0bbc227 Apache-Session-LDAP-0.4.tar.gz"
diff --git a/unmaintained/perl-apache-test/APKBUILD b/unmaintained/perl-apache-test/APKBUILD
new file mode 100644
index 0000000000..a1a454bacb
--- /dev/null
+++ b/unmaintained/perl-apache-test/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-apache-test
+_pkgreal=Apache-Test
+pkgver=1.38
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Apache-Test/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PH/PHRED/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="dc7edf358dfea5bcf6ef4cdfe81e5dad Apache-Test-1.38.tar.gz"
+sha256sums="321717f58636ed0aa85cba6d69fc01e2ccbc90ba71ec2dcc2134d8401af65145 Apache-Test-1.38.tar.gz"
+sha512sums="416a89990e1947dfd970b806a28b52197165bbe1a482402aa5649f6e2692866a54cc8a4a7adcce83350e2f16aada409fd6c506c0d139b624319c5ebaa58604cc Apache-Test-1.38.tar.gz"
diff --git a/unmaintained/perl-apache2-sitecontrol/APKBUILD b/unmaintained/perl-apache2-sitecontrol/APKBUILD
new file mode 100644
index 0000000000..516e88eb71
--- /dev/null
+++ b/unmaintained/perl-apache2-sitecontrol/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-apache2-sitecontrol
+_pkgreal=Apache2-SiteControl
+pkgver=1.05
+pkgrel=1
+pkgdesc="Perl module for Apache2-SiteControl"
+url="http://search.cpan.org/dist/Apache2-SiteControl/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends="apache2 perl-crypt-cast5 perl-crypt-cbc"
+depends="$cpandepends"
+makedepends="perl-dev perl-libapreq2 perl-apache-authcookie perl-apache-session $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/A/AW/AWKAY/Apache2/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="28beba3deeb24b3a4980f6491eb655f7 Apache2-SiteControl-1.05.tar.gz"
+sha256sums="4e9ee37e1a8e3d5df4587e9085621c2f6d253035c2cd2749cb16f6d8e7dbcc4c Apache2-SiteControl-1.05.tar.gz"
+sha512sums="ee329ca6abeee251e9c7028da89e0d7fa524f39c7b4714ced2fd9b3aef976f31695c482718c6e1a8da5254cd002df5c13ef289acf6a483900cf1d174e39a6d0a Apache2-SiteControl-1.05.tar.gz"
diff --git a/unmaintained/perl-app-perlfind/APKBUILD b/unmaintained/perl-app-perlfind/APKBUILD
new file mode 100644
index 0000000000..1c8282696d
--- /dev/null
+++ b/unmaintained/perl-app-perlfind/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-app-perlfind
+_pkgreal=App-perlfind
+pkgver=2.05
+pkgrel=0
+pkgdesc="A more knowledgeable perldoc"
+url="http://search.cpan.org/dist/App-perlfind/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-test-differences perl-pod-cpandoc perl-class-trigger"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/M/MA/MARCEL/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make # && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="4e5f0f6e5c41f78849cc788d14ae86c9 App-perlfind-2.05.tar.gz"
diff --git a/unmaintained/perl-archive-extract/APKBUILD b/unmaintained/perl-archive-extract/APKBUILD
new file mode 100644
index 0000000000..1df182a97f
--- /dev/null
+++ b/unmaintained/perl-archive-extract/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-archive-extract
+_pkgreal=Archive-Extract
+pkgver=0.76
+pkgrel=0
+pkgdesc="Generic archive extracting mechanism"
+url="http://search.cpan.org/dist/Archive-Extract/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/B/BI/BINGOS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="110a6000ce4b23da34dcbe890e069f13 Archive-Extract-0.76.tar.gz"
+sha256sums="9ae7080ca70346dd7d9845c581d2e112f4513ec0f7d79c2011c0e0a2ce874cfc Archive-Extract-0.76.tar.gz"
+sha512sums="b17a490fe6bd0535a3105929677e5f3fa1460aba391a4541bdcb838cca8c8d3f73f744d59b71306abc7c13835b35ebec2902692e4438f7dc8e8284372f5a7dec Archive-Extract-0.76.tar.gz"
diff --git a/unmaintained/perl-authen-digestmd5/APKBUILD b/unmaintained/perl-authen-digestmd5/APKBUILD
new file mode 100644
index 0000000000..1061a6642c
--- /dev/null
+++ b/unmaintained/perl-authen-digestmd5/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=perl-authen-digestmd5
+_pkgreal=Authen-DigestMD5
+pkgver=0.04
+pkgrel=0
+pkgdesc="SASL DIGEST-MD5 authentication (RFC2831) "
+url="search.cpan.org/dist/Authen-DigestMD5/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/S/SA/SALVA/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+prepare() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="f96d3ccc55c4bf551baf59fd8cb51421 Authen-DigestMD5-0.04.tar.gz"
+sha256sums="e568b193fa2f752416102543e06be81cf0dd785b881a6e99ecb77c9a07a2fd6c Authen-DigestMD5-0.04.tar.gz"
+sha512sums="b159d487738c22d9a1de2b9e068680697369b905b56370b57e3b3fb46ecea65ce2d3801b5733b032aa7ad8d320b29b551eef1c67304b53a86983e40969e0c14f Authen-DigestMD5-0.04.tar.gz"
diff --git a/unmaintained/perl-bind-config-parser/APKBUILD b/unmaintained/perl-bind-config-parser/APKBUILD
new file mode 100644
index 0000000000..8ad62261e9
--- /dev/null
+++ b/unmaintained/perl-bind-config-parser/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-bind-config-parser
+_pkgreal=BIND-Config-Parser
+pkgver=0.01
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/BIND-Config-Parser/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-parse-recdescent"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/M/MA/MATTD/$_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="42385eb83eac4c85e867b4fd37b41b13 BIND-Config-Parser-0.01.tar.gz"
diff --git a/unmaintained/perl-carp-assert/APKBUILD b/unmaintained/perl-carp-assert/APKBUILD
new file mode 100644
index 0000000000..93691b4e24
--- /dev/null
+++ b/unmaintained/perl-carp-assert/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-carp-assert
+_pkgreal=Carp-Assert
+pkgver=0.20
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Carp-Assert/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/M/MS/MSCHWERN/$_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="9dafe361b9e5e93e8e3e70e015f6b191 Carp-Assert-0.20.tar.gz"
diff --git a/unmaintained/perl-class-accessor-grouped/APKBUILD b/unmaintained/perl-class-accessor-grouped/APKBUILD
new file mode 100644
index 0000000000..ce5efafea4
--- /dev/null
+++ b/unmaintained/perl-class-accessor-grouped/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-class-accessor-grouped
+_pkgreal=Class-Accessor-Grouped
+pkgver=0.10004
+pkgrel=0
+pkgdesc="Lets you build groups of accessors"
+url="http://search.cpan.org/dist/Class-Accessor-Grouped/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-class-xsaccessor perl-class-inspector perl-sub-name"
+cpanmakedepends="perl-test-exception"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/R/RI/RIBASUSHI/$_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="7f415adb577ee181a77c6b04cd5fadab Class-Accessor-Grouped-0.10004.tar.gz"
diff --git a/unmaintained/perl-class-base/APKBUILD b/unmaintained/perl-class-base/APKBUILD
new file mode 100644
index 0000000000..b9bfbdacbc
--- /dev/null
+++ b/unmaintained/perl-class-base/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-class-base
+_pkgreal=Class-Base
+pkgver=0.03
+pkgrel=0
+pkgdesc="useful base class for other modules"
+url="http://search.cpan.org/dist/Class-Base/"
+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/AB/ABW/$_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="213f52c9747d2ea861c92bcd02842353 Class-Base-0.03.tar.gz"
diff --git a/unmaintained/perl-class-dbi-abstractsearch/APKBUILD b/unmaintained/perl-class-dbi-abstractsearch/APKBUILD
new file mode 100644
index 0000000000..ea67c7e328
--- /dev/null
+++ b/unmaintained/perl-class-dbi-abstractsearch/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-class-dbi-abstractsearch
+_pkgreal=Class-DBI-AbstractSearch
+pkgver=0.07
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Class-DBI-AbstractSearch/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-class-dbi perl-sql-abstract-limit"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/M/MI/MIYAGAWA/$_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="d40e7301201135fe0246251097132a54 Class-DBI-AbstractSearch-0.07.tar.gz"
diff --git a/unmaintained/perl-class-dbi/APKBUILD b/unmaintained/perl-class-dbi/APKBUILD
new file mode 100644
index 0000000000..fdcdc05cd1
--- /dev/null
+++ b/unmaintained/perl-class-dbi/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-class-dbi
+_pkgreal=Class-DBI
+pkgver=v3.0.17
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Class-DBI/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-universal-moniker perl-ima-dbi perl-clone perl-class-data-inheritable perl-class-accessor perl-class-trigger"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/T/TM/TMTM/$_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="df59962bab98a0d31bf1d04d7270831b Class-DBI-v3.0.17.tar.gz"
diff --git a/unmaintained/perl-class-gomor/APKBUILD b/unmaintained/perl-class-gomor/APKBUILD
new file mode 100644
index 0000000000..db6d2452ff
--- /dev/null
+++ b/unmaintained/perl-class-gomor/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer:
+pkgname=perl-class-gomor
+_realname=Class-Gomor
+pkgver=1.02
+pkgrel=0
+pkgdesc="Another class and object builder"
+url="http://search.cpan.org/~gomor/Class-Gomor-1.02/"
+arch="noarch"
+license="PerlArtistic"
+depends="perl"
+depends_dev=""
+makedepends="perl-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/G/GO/GOMOR/$_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="287c3b3be72fcb4a4089fe232b8b1002 Class-Gomor-1.02.tar.gz"
diff --git a/unmaintained/perl-class-makemethods/APKBUILD b/unmaintained/perl-class-makemethods/APKBUILD
new file mode 100644
index 0000000000..b5ffa3e600
--- /dev/null
+++ b/unmaintained/perl-class-makemethods/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-class-makemethods
+_pkgreal=Class-MakeMethods
+pkgver=1.009
+pkgrel=0
+pkgdesc="Generate common types of methods"
+url="http://search.cpan.org/dist/Class-MakeMethods/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/E/EV/EVO/$_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="ab3240ff45f2351a7a8b52026728c513 Class-MakeMethods-1.009.tar.gz"
diff --git a/unmaintained/perl-class-trigger/APKBUILD b/unmaintained/perl-class-trigger/APKBUILD
new file mode 100644
index 0000000000..62be08b3c3
--- /dev/null
+++ b/unmaintained/perl-class-trigger/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-class-trigger
+_pkgreal=Class-Trigger
+pkgver=0.14
+pkgrel=0
+pkgdesc="Mixin to add / call inheritable triggers"
+url="http://search.cpan.org/dist/Class-Trigger/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-io-stringy"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/M/MI/MIYAGAWA/$_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="b0a95ebe359a3c4e768d81fc58031c83 Class-Trigger-0.14.tar.gz"
diff --git a/unmaintained/perl-class-weaksingleton/APKBUILD b/unmaintained/perl-class-weaksingleton/APKBUILD
new file mode 100644
index 0000000000..ba894a8967
--- /dev/null
+++ b/unmaintained/perl-class-weaksingleton/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-class-weaksingleton
+_pkgreal=Class-WeakSingleton
+pkgver=1.05
+pkgrel=0
+pkgdesc="A Singleton that expires when all the references to it expire"
+url="http://search.cpan.org/dist/Class-WeakSingleton/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/J/JJ/JJORE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="58caaec9d9d360eb641bfb1db5cdec82 Class-WeakSingleton-1.05.tar.gz"
diff --git a/unmaintained/perl-common-sense/APKBUILD b/unmaintained/perl-common-sense/APKBUILD
new file mode 100644
index 0000000000..1221fd0894
--- /dev/null
+++ b/unmaintained/perl-common-sense/APKBUILD
@@ -0,0 +1,35 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-common-sense
+_pkgreal=common-sense
+pkgver=3.73
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/~logie/Dancer-Plugin-Swig-0.01/local/lib/perl5/darwin-thread-multi-2level/common/sense.pod"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+source="http://cpansearch.perl.org/src/LOGIE/Dancer-Plugin-Swig-0.01/local/lib/perl5/darwin-thread-multi-2level/common/sense.pm"
+
+_builddir="$srcdir"
+
+prepare() {
+ cd "$_builddir"
+}
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ cd "$_builddir"
+ install -D -m0644 sense.pm "$pkgdir"/usr/share/perl5/vendor_perl/common/sense.pm
+}
+
+md5sums="e13866c7b4863a8b534c66e13ddee900 sense.pm"
+sha256sums="bcdb5fb9044c9f8730a5fc37ecc8823b1d9de0724c36b9e18eddd2820ace6711 sense.pm"
+sha512sums="b767595bba71f0c6e3a6591b7fbe55e698d222c8caef296ff6c1b125cc3ee40c1cc1d0626182a47c1fa3642450119f884f3252d8c6c75e060d1408501c94aa7b sense.pm"
diff --git a/unmaintained/perl-config-simple/APKBUILD b/unmaintained/perl-config-simple/APKBUILD
new file mode 100644
index 0000000000..994bd96495
--- /dev/null
+++ b/unmaintained/perl-config-simple/APKBUILD
@@ -0,0 +1,40 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Jeff Bilyk <jbilyk@alpinelinux.org>
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+pkgname=perl-config-simple
+_pkgreal=Config-Simple
+pkgver=4.59
+pkgrel=0
+pkgdesc="simple configuration file class"
+url="http://search.cpan.org/dist/Config-Simple/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/S/SH/SHERZODR/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="96513b61c7db591339ce2577878a3b32 Config-Simple-4.59.tar.gz"
+
diff --git a/unmaintained/perl-config-tiny/APKBUILD b/unmaintained/perl-config-tiny/APKBUILD
new file mode 100644
index 0000000000..e514e7d353
--- /dev/null
+++ b/unmaintained/perl-config-tiny/APKBUILD
@@ -0,0 +1,44 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=perl-config-tiny
+_pkgreal=Config-Tiny
+pkgver=2.23
+pkgrel=0
+pkgdesc="Perl module for Config-Tiny"
+url="http://search.cpan.org/dist/Config-Tiny/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/R/RS/RSAVAGE/$_pkgreal-$pkgver.tgz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ if [ -e Build.PL ]; then
+ perl Build.PL installdirs=vendor || return 1
+ else
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ fi
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="6c3bc610c4bc587e1441e651e01584ce Config-Tiny-2.23.tgz"
+sha256sums="9a8a66e3ed420cbc6585c43abeff788368309a46355cf69a64c2a47e1911e50c Config-Tiny-2.23.tgz"
+sha512sums="c5c77aa18a387f181ba9bb2df8859c328073521e14163fe04fd7a104928bd68cf654eab88d24bd23e556e6ecc139dfed716fb7b8119e98cd2ab6f6915c976f01 Config-Tiny-2.23.tgz"
diff --git a/unmaintained/perl-crypt-cbc/APKBUILD b/unmaintained/perl-crypt-cbc/APKBUILD
new file mode 100644
index 0000000000..03caf39e51
--- /dev/null
+++ b/unmaintained/perl-crypt-cbc/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-crypt-cbc
+_pkgreal=Crypt-CBC
+pkgver=2.33
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Crypt-CBC/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/L/LD/LDS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="3db5117d60df67e3b400fe367e716be0 Crypt-CBC-2.33.tar.gz"
+sha256sums="6a70de21b6cc7f2b100067e8e188db966e9a8001b5db6fa976e7cb5b294ae645 Crypt-CBC-2.33.tar.gz"
+sha512sums="5db17905c38b46f496617095655bb48e4737d6813c794f65dce88556f177caee1d5f669ddb0da3ad4b00e11ff1bc0af91fd4cd312ed2fd8497e410ef11176244 Crypt-CBC-2.33.tar.gz"
diff --git a/unmaintained/perl-cwmp/APKBUILD b/unmaintained/perl-cwmp/APKBUILD
new file mode 100644
index 0000000000..155b12cd4f
--- /dev/null
+++ b/unmaintained/perl-cwmp/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
+# Maintainer:
+pkgname=perl-cwmp
+pkgver=0_git20150919
+pkgrel=1
+pkgdesc="Perl ACS server implementing CWMP protocol to manage CPE clients"
+url="https://github.com/dpavlin/perl-cwmp"
+arch="noarch"
+license="GPL2"
+depends="perl-class-accessor perl-data-dump perl-file-remove
+ perl-file-slurp perl-hash-merge perl-module-install perl-ipc-dirqueue
+ perl-module-pluggable perl-pathtools perl-xml-bare perl-xml-generator
+ perl-yaml-syck perl-yaml-tiny perl-json-xs perl-yaml perl-common-sense
+ perl-types-serialiser perl-net-http perl-dbm-deep perl-term-shelly
+ perl-term-readkey"
+depends_dev=
+makedepends="perl $depends_dev"
+install=
+subpackages="$pkgname-doc"
+source="http://dev.alpinelinux.org:/archive/$pkgname/$pkgname-$pkgver.tar.gz
+ "
+giturl="https://github.com/dpavlin/perl-cwmp"
+disturl="http://dev.alpinelinux.org:/archive/$pkgname"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ for file in acs cli cpe-queue dump dump2test; do
+ install -D -m0755 bin/${file}.pl "$pkgdir"/usr/bin/${file}.pl
+ done
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="5533317abb05a198e3ffab05fa848279 perl-cwmp-0_git20150919.tar.gz"
+sha256sums="b2855523017734caa80f6d1e0ed21df23571a597dcd4269ea77195feabdf4534 perl-cwmp-0_git20150919.tar.gz"
+sha512sums="92211a11c7b23a939211aca51e5f26856fd4451c0b9f0743f622c1df2fa934020dd1bb9427947c668462a9beae106c08366167080556a52179e6b92a76e35588 perl-cwmp-0_git20150919.tar.gz"
diff --git a/unmaintained/perl-dancer-plugin-swig/APKBUILD b/unmaintained/perl-dancer-plugin-swig/APKBUILD
new file mode 100644
index 0000000000..e2cd680bc4
--- /dev/null
+++ b/unmaintained/perl-dancer-plugin-swig/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-dancer-plugin-swig
+_pkgreal=Dancer-Plugin-Swig
+pkgver=0.02
+pkgrel=0
+pkgdesc="A plugin for swig client"
+url="http://search.cpan.org/dist/Dancer-Plugin-Swig/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl perl-dancer perl-webservice-swigclient"
+cpanmakedepends="perl-test-most perl-test-easy"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/L/LO/LOGIE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="15776c04e45734be860a74211ac535c6 Dancer-Plugin-Swig-0.02.tar.gz"
+sha256sums="ea67214c5915634736a55df09e8228a74014d7c5c039a6c661e82d66490721a5 Dancer-Plugin-Swig-0.02.tar.gz"
+sha512sums="81a72c1af8a2e7e9c01b0a6c7d79d54f54eda3fa1394670108d516ab1688a9bbce7e1130fba6e2d08d5feb8342dd2cf3c6c3541db4a0f69fd3b22b3595c3652f Dancer-Plugin-Swig-0.02.tar.gz"
diff --git a/unmaintained/perl-dancer/APKBUILD b/unmaintained/perl-dancer/APKBUILD
new file mode 100644
index 0000000000..4d97d815db
--- /dev/null
+++ b/unmaintained/perl-dancer/APKBUILD
@@ -0,0 +1,43 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-dancer
+_pkgreal=Dancer
+pkgver=1.3142
+pkgrel=0
+pkgdesc="Perl module for Dancer"
+url="http://search.cpan.org/dist/Dancer/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpanmakedepends=""
+cpandepends="perl-module-runtime perl-try-tiny perl-hash-merge-simple
+ perl-mime-types perl-http-server-simple-psgi perl-http-body
+ perl-devel-hide perl-plack perl-libwww perl-test-nowarnings"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/Y/YA/YANICK/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="3072888c96c377a25ac56334e011b953 Dancer-1.3142.tar.gz"
+sha256sums="655fb4b9c2cf27d1c25fd68b90c396fc27381c7075b85bf7f8a71fef626de94f Dancer-1.3142.tar.gz"
+sha512sums="f3093ac7df7aa8ba6739d5d40d7ba2a1274a3114368b9a0ae9cb61bfc9ac6c07918eb225faafc2c452eaafec8599e61faf9ac2a175214758d702602fdb4aa325 Dancer-1.3142.tar.gz"
diff --git a/unmaintained/perl-data-compare/APKBUILD b/unmaintained/perl-data-compare/APKBUILD
new file mode 100644
index 0000000000..2f5d1596ad
--- /dev/null
+++ b/unmaintained/perl-data-compare/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=perl-data-compare
+_pkgreal=Data-Compare
+pkgver=1.25
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Data-Compare/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-file-find-rule"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/D/DC/DCANTRELL/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="6a397ab5833237f3ca05ed7277b19a7a Data-Compare-1.25.tar.gz"
+sha256sums="1d4b36db545fa9fbacd8c012618f6a7846238ee12ab627a2764cfaf45ad4ea73 Data-Compare-1.25.tar.gz"
+sha512sums="6db1235672030aa1afe52de1de9fac1f8a2af9eed99a3143d6c5b30669908125f584638fe06b8b33208f6d7fb734ccec7381c9411408a3f4fde1998707f748c9 Data-Compare-1.25.tar.gz"
diff --git a/unmaintained/perl-data-denter/APKBUILD b/unmaintained/perl-data-denter/APKBUILD
new file mode 100644
index 0000000000..718846d1f2
--- /dev/null
+++ b/unmaintained/perl-data-denter/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-data-denter
+_pkgreal=Data-Denter
+pkgver=0.15
+pkgrel=0
+pkgdesc="Perl module for Data-Denter"
+url="http://search.cpan.org/dist/Data-Denter/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/I/IN/INGY/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="819e5c05fb61e90f4c1311286b080405 Data-Denter-0.15.tar.gz"
+sha256sums="3ab4ff9bd49497bfc711dccf8c990aab10470a7bba65a9877632b14d8f5fdb55 Data-Denter-0.15.tar.gz"
+sha512sums="37512f0a7a9f749ceb0d4db210ad25ec812b0ff4a2d955312200251ac7c74fbf1f50930d8475865bc2215e838a00fde73b281ff45569d63931c10d3dc6df6505 Data-Denter-0.15.tar.gz"
diff --git a/unmaintained/perl-data-difflet/APKBUILD b/unmaintained/perl-data-difflet/APKBUILD
new file mode 100644
index 0000000000..883c948aa1
--- /dev/null
+++ b/unmaintained/perl-data-difflet/APKBUILD
@@ -0,0 +1,42 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-data-difflet
+_pkgreal=Data-Difflet
+pkgver=0.11
+pkgrel=0
+pkgdesc="Perl module for Data-Difflet"
+url="http://search.cpan.org/dist/Data-Difflet/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends="perl-module-build"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+source="http://search.cpan.org/CPAN/authors/id/T/TO/TOKUHIROM/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ if [ -e Build.PL ]; then
+ perl Build.PL installdirs=vendor || return 1
+ else
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ fi
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build
+}
+
+package() {
+ cd "$_builddir"
+ install -D -m0644 lib/Data/Difflet.pm "$pkgdir"/usr/share/perl5/vendor_perl/Data/Difflet.pm
+}
+
+md5sums="9620f357f3762b151d063fa289de005d Data-Difflet-0.11.tar.gz"
+sha256sums="d12b86386489829e45d72ec750b3e6922bc02816d6346102e071e61195a8a211 Data-Difflet-0.11.tar.gz"
+sha512sums="ce3402f874773a8ee697a03d6857df61c369b7176bd519b7f3288450b7252dd918f4664317b2f9ad21358fc8711f46ea8e850ecd285de11300d397749862326a Data-Difflet-0.11.tar.gz"
diff --git a/unmaintained/perl-data-dump/APKBUILD b/unmaintained/perl-data-dump/APKBUILD
new file mode 100644
index 0000000000..40ad08f2b1
--- /dev/null
+++ b/unmaintained/perl-data-dump/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-data-dump
+_pkgreal=Data-Dump
+pkgver=1.23
+pkgrel=0
+pkgdesc="Pretty printing of data structures"
+url="http://search.cpan.org/dist/Data-Dump/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="762c111e525c82ff23d62c90821b26e9 Data-Dump-1.23.tar.gz"
+sha256sums="af53b05ef1387b4cab4427e6789179283e4f0da8cf036e8db516ddb344512b65 Data-Dump-1.23.tar.gz"
+sha512sums="6fd6c23bb6df7f7396219149dbfd23132fc2ea1dd344c32f62fc27a1afeeb28d7ebf2d429184bb6d1189f412e218f9e62a966b49fdd9ad5564e5152d67a02b96 Data-Dump-1.23.tar.gz"
diff --git a/unmaintained/perl-data-hexdump/APKBUILD b/unmaintained/perl-data-hexdump/APKBUILD
new file mode 100644
index 0000000000..f2e7ddbebf
--- /dev/null
+++ b/unmaintained/perl-data-hexdump/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-data-hexdump
+_pkgreal=Data-HexDump
+pkgver=0.02
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Data-HexDump/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/F/FT/FTASSIN/$_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="467b7183d1062ab4a502b50c34e7d67f Data-HexDump-0.02.tar.gz"
diff --git a/unmaintained/perl-data-section/APKBUILD b/unmaintained/perl-data-section/APKBUILD
new file mode 100644
index 0000000000..a907d2ec30
--- /dev/null
+++ b/unmaintained/perl-data-section/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-data-section
+_pkgreal=Data-Section
+pkgver=0.101621
+pkgrel=0
+pkgdesc="read multiple hunks of data out of your DATA section"
+url="http://search.cpan.org/dist/Data-Section/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-mro-compat perl-sub-exporter"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="573fd1a74356b13116118d86084a4693 Data-Section-0.101621.tar.gz"
diff --git a/unmaintained/perl-data-types/APKBUILD b/unmaintained/perl-data-types/APKBUILD
new file mode 100644
index 0000000000..831ed852c4
--- /dev/null
+++ b/unmaintained/perl-data-types/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-data-types
+_pkgreal=Data-Types
+pkgver=0.09
+pkgrel=0
+pkgdesc="Validate and convert data types."
+url="http://search.cpan.org/dist/Data-Types/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/D/DW/DWHEELER/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="13fd546f9306eff1fa3e8d4e79a5d9f3 Data-Types-0.09.tar.gz"
diff --git a/unmaintained/perl-dbix-contextualfetch/APKBUILD b/unmaintained/perl-dbix-contextualfetch/APKBUILD
new file mode 100644
index 0000000000..911ec720bb
--- /dev/null
+++ b/unmaintained/perl-dbix-contextualfetch/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-dbix-contextualfetch
+_pkgreal=DBIx-ContextualFetch
+pkgver=1.03
+pkgrel=0
+pkgdesc="Add contextual fetches to DBI"
+url="http://search.cpan.org/dist/DBIx-ContextualFetch/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-dbi"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/T/TM/TMTM/$_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="20a78432ae26b266216b7b30ff7941c3 DBIx-ContextualFetch-1.03.tar.gz"
diff --git a/unmaintained/perl-dbix-datasource/APKBUILD b/unmaintained/perl-dbix-datasource/APKBUILD
new file mode 100644
index 0000000000..bf163da4cd
--- /dev/null
+++ b/unmaintained/perl-dbix-datasource/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-dbix-datasource
+_pkgreal=DBIx-DataSource
+pkgver=0.02
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/DBIx-DataSource/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-dbi"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/I/IV/IVAN/$_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="12d60ad75ceced40286d18fcdcb5a40b DBIx-DataSource-0.02.tar.gz"
diff --git a/unmaintained/perl-dbm-deep/APKBUILD b/unmaintained/perl-dbm-deep/APKBUILD
new file mode 100644
index 0000000000..9034ef1e23
--- /dev/null
+++ b/unmaintained/perl-dbm-deep/APKBUILD
@@ -0,0 +1,40 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-dbm-deep
+_pkgreal=DBM-Deep
+pkgver=2.0012
+pkgrel=0
+pkgdesc="Perl module for DBM-Deep"
+url="http://search.cpan.org/dist/DBM-Deep/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends="perl-module-build perl-test-deep perl-test-exception perl-test-warn"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/R/RK/RKINYON/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="da911dada2c978ea6bd4d1bac4b4ba46 DBM-Deep-2.0012.tar.gz"
+sha256sums="737f06debe60aa9642ba072335f8d8bdf1afd78bde5c4fedfb0453f70a94beed DBM-Deep-2.0012.tar.gz"
+sha512sums="6a57a3c819493b9b1f3276aa72e8508c6080e9ac07a3543cf4948de98a9f7946b09489d2f00aa0b2f2511858d00bdae0bc6922464d6bced1703749ef7beb3cfd DBM-Deep-2.0012.tar.gz"
diff --git a/unmaintained/perl-devel-checkos/APKBUILD b/unmaintained/perl-devel-checkos/APKBUILD
new file mode 100644
index 0000000000..b720962f98
--- /dev/null
+++ b/unmaintained/perl-devel-checkos/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=perl-devel-checkos
+_pkgreal=Devel-CheckOS
+pkgver=1.76
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Devel-CheckOS/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-data-compare perl-file-find-rule"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/D/DC/DCANTRELL/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="700ce608fed7a0c0867371e6a6619098 Devel-CheckOS-1.76.tar.gz"
+sha256sums="f83fb4cb8de060f607214b1e88c98ac6c4e065371e646fe896f16ea887aecb0c Devel-CheckOS-1.76.tar.gz"
+sha512sums="e915281fdd57e6d804a7c2cd1c4fe5114ca02f61f7cc0ef0e9a9c8d23cb54f793d433804a301cc02d9a83fee34b71d9876795b133114c9697703ab7b1681353e Devel-CheckOS-1.76.tar.gz"
diff --git a/unmaintained/perl-devel-hide/APKBUILD b/unmaintained/perl-devel-hide/APKBUILD
new file mode 100644
index 0000000000..239cf3d17b
--- /dev/null
+++ b/unmaintained/perl-devel-hide/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-devel-hide
+_pkgreal=Devel-Hide
+pkgver=0.0009
+pkgrel=0
+pkgdesc="Forces the unavailability of specified Perl modules (for testing)"
+url="http://search.cpan.org/dist/Devel-Hide/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/F/FE/FERREIRA/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="ca2ed6a23b0a3af29962986761fc1171 Devel-Hide-0.0009.tar.gz"
+sha256sums="71dec40b9e53cd2dc98301ea4a64e1a95b71aa414f9b0d6d28c56c54f8fa16de Devel-Hide-0.0009.tar.gz"
+sha512sums="c1cceb186de73f22132b2b9a16f75389b33b675aaa50c5095615f6f7c22fd0bad9edaf1d66d1cfbec6d536c93583b17a512bcae73310ac6a854e0c98c2ff6a9c Devel-Hide-0.0009.tar.gz"
diff --git a/unmaintained/perl-digest-bubblebabble/APKBUILD b/unmaintained/perl-digest-bubblebabble/APKBUILD
new file mode 100644
index 0000000000..1cba7cc913
--- /dev/null
+++ b/unmaintained/perl-digest-bubblebabble/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-digest-bubblebabble
+_pkgreal=Digest-BubbleBabble
+pkgver=0.02
+pkgrel=0
+pkgdesc="Create bubble-babble fingerprints"
+url="http://search.cpan.org/dist/Digest-BubbleBabble/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/B/BT/BTROTT/$_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="4d7edd5b0a904db8194aa660d502fbe0 Digest-BubbleBabble-0.02.tar.gz"
diff --git a/unmaintained/perl-email-mime-encodings/APKBUILD b/unmaintained/perl-email-mime-encodings/APKBUILD
new file mode 100644
index 0000000000..833f913d73
--- /dev/null
+++ b/unmaintained/perl-email-mime-encodings/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-email-mime-encodings
+_pkgreal=Email-MIME-Encodings
+pkgver=1.315
+pkgrel=0
+pkgdesc="A unified interface to MIME encoding and decoding"
+url="http://search.cpan.org/dist/Email-MIME-Encodings/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" perl-capture-tiny "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="0fbe906d7918430750b1ba766cf95151 Email-MIME-Encodings-1.315.tar.gz"
+sha256sums="4c71045507b31ec853dd60152b40e33ba3741779c0f49bb143b50cf8d243ab5c Email-MIME-Encodings-1.315.tar.gz"
+sha512sums="4cd787e099617b70963c8ef6372e2a16038c61170fdd343aad88a024ecd15c789fd2c8cc19830c3518b6648e428301eed1ae20f496fa97afbdd8bb7f3ae432aa Email-MIME-Encodings-1.315.tar.gz"
diff --git a/unmaintained/perl-email-mime/APKBUILD b/unmaintained/perl-email-mime/APKBUILD
new file mode 100644
index 0000000000..6b3049fb06
--- /dev/null
+++ b/unmaintained/perl-email-mime/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-email-mime
+_pkgreal=Email-MIME
+pkgver=1.926
+pkgrel=0
+pkgdesc="easy MIME message handling"
+url="http://search.cpan.org/dist/Email-MIME/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-email-mime-contenttype perl-email-mime-encodings perl-email-simple perl-email-address perl-email-messageid perl-mime-types"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="fd8b06d1bf7b8599bdcf808f49908451 Email-MIME-1.926.tar.gz"
+sha256sums="458b8dd539827a671352f4e9c759322e74e630b8e934fc942dbc06525a7d01a2 Email-MIME-1.926.tar.gz"
+sha512sums="79eb9e98dcfda1fdd023ab7c42fe151cb9fc482844648be9bd9cbb73cc9583f1a78f8aa5e056e3c45a63fbe87db2aaafd7d460481697e22e787286f929807db3 Email-MIME-1.926.tar.gz"
diff --git a/unmaintained/perl-email-simple/APKBUILD b/unmaintained/perl-email-simple/APKBUILD
new file mode 100644
index 0000000000..da7118f771
--- /dev/null
+++ b/unmaintained/perl-email-simple/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-email-simple
+_pkgreal=Email-Simple
+pkgver=2.203
+pkgrel=1
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Email-Simple/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-email-date-format"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="bb4bd46417522d86ae21186370c9b49d Email-Simple-2.203.tar.gz"
+sha256sums="a528d7531ff773e80d79e0d30b1845ee453561c5f060623397a609e315baeb43 Email-Simple-2.203.tar.gz"
+sha512sums="69dbacb379dac96d478e9fb98b11de724516e9d591b09a5f1f3866c3c3fc23458d0914271f52b2625b18cc06f229a20a7711341a88616b27c9ed5843a25786d1 Email-Simple-2.203.tar.gz"
diff --git a/unmaintained/perl-exporter-renaming/APKBUILD b/unmaintained/perl-exporter-renaming/APKBUILD
new file mode 100644
index 0000000000..7344ef8c65
--- /dev/null
+++ b/unmaintained/perl-exporter-renaming/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-exporter-renaming
+_pkgreal=Exporter-Renaming
+pkgver=1.19
+pkgrel=0
+pkgdesc="Allow renaming of symbols on import"
+url="http://search.cpan.org/dist/Exporter-Renaming/"
+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/AN/ANNO/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="5af9825c999cd8e5433009ebb430361f Exporter-Renaming-1.19.tar.gz"
diff --git a/unmaintained/perl-extutils-parsexs/APKBUILD b/unmaintained/perl-extutils-parsexs/APKBUILD
new file mode 100644
index 0000000000..5dabdb1af8
--- /dev/null
+++ b/unmaintained/perl-extutils-parsexs/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-extutils-parsexs
+_pkgreal=ExtUtils-ParseXS
+pkgver=3.22
+pkgrel=0
+pkgdesc="converts Perl XS code into C code"
+url="http://search.cpan.org/dist/ExtUtils-ParseXS/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/S/SM/SMUELLER/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="bf1c862d9b9806eb85408bc6c64583d2 ExtUtils-ParseXS-3.22.tar.gz"
+sha256sums="04e57d4f080f71b4ea1e213c9bbf5391d5652f77ac82f3c5dbc480545d1f290e ExtUtils-ParseXS-3.22.tar.gz"
+sha512sums="ef303f5b77e66e9ca4c8c000857a0dc87432b4d53fd70b80ade53c4dd1bcb2bb75cb736c1c2dfdea3233979148c8e157003a7d5d4cb83f1fff4cc2692d13f852 ExtUtils-ParseXS-3.22.tar.gz"
diff --git a/unmaintained/perl-extutils-pkgconfig/APKBUILD b/unmaintained/perl-extutils-pkgconfig/APKBUILD
new file mode 100644
index 0000000000..280b4fbb8f
--- /dev/null
+++ b/unmaintained/perl-extutils-pkgconfig/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-extutils-pkgconfig
+_pkgreal=ExtUtils-PkgConfig
+pkgver=1.15
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/ExtUtils-PkgConfig/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/X/XA/XAOC/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="1872e659cf2bb0b2471d75fce735e622 ExtUtils-PkgConfig-1.15.tar.gz"
+sha256sums="69b3192e22b37e930238f332b5bfa9e14e69bec1427ba70c8515fbba1137b0b3 ExtUtils-PkgConfig-1.15.tar.gz"
+sha512sums="975cc64d07f488bd0b89516ed3304797f8d74774f49e888e72788ef54f432ebb77a70af610e25f275baaea08a7756ce78c964e28bf2c853783a35e67b4aeeeaf ExtUtils-PkgConfig-1.15.tar.gz"
diff --git a/unmaintained/perl-extutils-xsbuilder/APKBUILD b/unmaintained/perl-extutils-xsbuilder/APKBUILD
new file mode 100644
index 0000000000..540ab4ce2b
--- /dev/null
+++ b/unmaintained/perl-extutils-xsbuilder/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-extutils-xsbuilder
+_pkgreal=ExtUtils-XSBuilder
+pkgver=0.28
+pkgrel=0
+pkgdesc="Automatic XS glue code generation"
+url="http://search.cpan.org/dist/ExtUtils-XSBuilder/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-parse-recdescent perl-tie-ixhash"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/G/GR/GRICHTER/$_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="1d33ddeacc01426a02e23c71c2e4cd04 ExtUtils-XSBuilder-0.28.tar.gz"
diff --git a/unmaintained/perl-ffi-checklib/APKBUILD b/unmaintained/perl-ffi-checklib/APKBUILD
new file mode 100644
index 0000000000..65ef0113d3
--- /dev/null
+++ b/unmaintained/perl-ffi-checklib/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-ffi-checklib
+_pkgreal=FFI-CheckLib
+pkgver=0.14
+pkgrel=0
+pkgdesc="Check that a library is available for FFI"
+url="http://search.cpan.org/dist/FFI-CheckLib/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PL/PLICEASE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="4b13b4f090a19a6dfccdc9f2cd4221c7 FFI-CheckLib-0.14.tar.gz"
+sha256sums="03dd7474e427d22e056b2af9c595e5fc661b4f4ca010127fb285b00cf7aa616f FFI-CheckLib-0.14.tar.gz"
+sha512sums="de675d055c6883f53fd82892c4e2d03eeafa51802f98516ca09512b4b5c88de91d967d3d9f91d979ddce031c40584da67dffe286567ca5a9231f97a2e30cd483 FFI-CheckLib-0.14.tar.gz"
diff --git a/unmaintained/perl-file-basedir/APKBUILD b/unmaintained/perl-file-basedir/APKBUILD
new file mode 100644
index 0000000000..6c39c7b353
--- /dev/null
+++ b/unmaintained/perl-file-basedir/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+# Maintainer: Timo Teräs <timo.teras@iki.fi>
+pkgname=perl-file-basedir
+_pkgreal=File-BaseDir
+pkgver=0.03
+pkgrel=0
+pkgdesc="Use the Freedesktop.org base directory specification"
+url="http://search.cpan.org/dist/File-BaseDir/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PA/PARDUS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="527596f1507894dfaacdda72ea6dbb31 File-BaseDir-0.03.tar.gz"
+sha256sums="0029cba7a3b5d8aa5f7d03cb1b7ba2bcf2829382f7f26aa3bee06fce8611a886 File-BaseDir-0.03.tar.gz"
+sha512sums="ed4dc0e293a830bf21eee02a68867c4350ce3b62d19543ed4b1528afe71af6fd57ecc974d48ecab155ed8110de7cac204b7494ac46e565738029ba4ef3eae068 File-BaseDir-0.03.tar.gz"
diff --git a/unmaintained/perl-file-chdir/APKBUILD b/unmaintained/perl-file-chdir/APKBUILD
new file mode 100644
index 0000000000..fe8cf9ecaa
--- /dev/null
+++ b/unmaintained/perl-file-chdir/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-file-chdir
+_pkgreal=File-chdir
+pkgver=0.1010
+pkgrel=0
+pkgdesc="a more sensible way to change directories"
+url="http://search.cpan.org/dist/File-chdir/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="aacfafa4a8f13d45be67451e0f9b483e File-chdir-0.1010.tar.gz"
+sha256sums="efc121f40bd7a0f62f8ec9b8bc70f7f5409d81cd705e37008596c8efc4452b01 File-chdir-0.1010.tar.gz"
+sha512sums="0a9390b48d49c2ac0e2f8b409396a6a2ea3518823d1b6d8c23bbf19a438b92d1e784dcf3bc7c0d43b0365b0620557aea1f8d9ef224b68ca9c472fefa8fe1adab File-chdir-0.1010.tar.gz"
diff --git a/unmaintained/perl-file-desktopentry/APKBUILD b/unmaintained/perl-file-desktopentry/APKBUILD
new file mode 100644
index 0000000000..6175a129fc
--- /dev/null
+++ b/unmaintained/perl-file-desktopentry/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+# Maintainer: Timo Teräs <timo.teras@iki.fi>
+pkgname=perl-file-desktopentry
+_pkgreal=File-DesktopEntry
+pkgver=0.08
+pkgrel=0
+pkgdesc="Module to handle .desktop files"
+url="http://search.cpan.org/dist/File-DesktopEntry/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends="perl-file-basedir "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/M/MI/MICHIELB/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="c2a136852d514552a85ee9392060947e File-DesktopEntry-0.08.tar.gz"
+sha256sums="1e51b962f21fb9ce31df88210e305605f48f595845eed536c1f049cf0de09486 File-DesktopEntry-0.08.tar.gz"
+sha512sums="bb57c7c3c13980a3cd77255e295e130b0056a54e808bf332ed237ee952328f7f4bb419a5df57de20aabf334e889f4f667fe4e209e10525fdb94ee1f7e8ee8cb8 File-DesktopEntry-0.08.tar.gz"
diff --git a/unmaintained/perl-file-find-rule/APKBUILD b/unmaintained/perl-file-find-rule/APKBUILD
new file mode 100644
index 0000000000..808713c076
--- /dev/null
+++ b/unmaintained/perl-file-find-rule/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=perl-file-find-rule
+_pkgreal=File-Find-Rule
+pkgver=0.34
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/File-Find-Rule/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-text-glob perl-number-compare"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/R/RC/RCLAMP/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="a7aa9ad4d8ee87b2a77b8e3722768712 File-Find-Rule-0.34.tar.gz"
+sha256sums="7e6f16cc33eb1f29ff25bee51d513f4b8a84947bbfa18edb2d3cc40a2d64cafe File-Find-Rule-0.34.tar.gz"
+sha512sums="97328a86578942d214f7ac530cc88fc84dc7ef2018db06b8c0c58907a4045e90c9c97d1848ed4f16838bd8ca591aca4fa9f24649c81fd8dfe9efe7a2f9f2722c File-Find-Rule-0.34.tar.gz"
diff --git a/unmaintained/perl-file-homedir/APKBUILD b/unmaintained/perl-file-homedir/APKBUILD
new file mode 100644
index 0000000000..0ae2a164ea
--- /dev/null
+++ b/unmaintained/perl-file-homedir/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-file-homedir
+_pkgreal=File-HomeDir
+pkgver=1.00
+pkgrel=0
+pkgdesc="Find your home and other directories on any platform"
+url="http://search.cpan.org/dist/File-HomeDir/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-file-which"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="aa290cab9db52e2f76280fd1febf794e File-HomeDir-1.00.tar.gz"
diff --git a/unmaintained/perl-file-mimeinfo/APKBUILD b/unmaintained/perl-file-mimeinfo/APKBUILD
new file mode 100644
index 0000000000..b75d2e67d8
--- /dev/null
+++ b/unmaintained/perl-file-mimeinfo/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+# Maintainer: Timo Teräs <timo.teras@iki.fi>
+pkgname=perl-file-mimeinfo
+_pkgreal=File-MimeInfo
+pkgver=0.26
+pkgrel=0
+pkgdesc="Determine file types"
+url="http://search.cpan.org/dist/File-MimeInfo/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends="perl-file-desktopentry perl-file-basedir "
+depends="$cpandepends shared-mime-info"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/M/MI/MICHIELB/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="1caf2827a845d8b734ea1c357bd3d89c File-MimeInfo-0.26.tar.gz"
+sha256sums="544f58631a383460754a233a1cb00572c57caa04cc3c11fa7c242caf5f89ceb3 File-MimeInfo-0.26.tar.gz"
+sha512sums="ac63d16a1c5761f853e639a020f38cdebb861ea60a6868e6279c15bc2447fd6f7042396e77f116d00c7c858fe265ac84809bf24e8f5c355253442ef21fd40368 File-MimeInfo-0.26.tar.gz"
diff --git a/unmaintained/perl-file-readbackwards/APKBUILD b/unmaintained/perl-file-readbackwards/APKBUILD
new file mode 100644
index 0000000000..ae162937d0
--- /dev/null
+++ b/unmaintained/perl-file-readbackwards/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Jean-Charles de Longueville <jch@hellea.eu>
+# Maintainer:
+pkgname=perl-file-readbackwards
+_pkgreal=File-ReadBackwards
+pkgver=1.05
+pkgrel=1
+pkgdesc="reading a file backwards"
+url="http://search.cpan.org/dist/File-ReadBackwards/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/U/UR/URI/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="613d9d02de6c1d86d5fa5b8816a6b214 File-ReadBackwards-1.05.tar.gz"
+sha256sums="82b261af87507cc3e7e66899c457104ebc8d1c09fb85c53f67c1f90f70f18d6e File-ReadBackwards-1.05.tar.gz"
+sha512sums="8e1eeeda0acfdc0b9e1f5234cac37348890fb962e5edd395804d6cf9ab2c221217e2714025303493cafde7ce77721e6c09b2b53825dadb978fafe68f6d7b8c20 File-ReadBackwards-1.05.tar.gz"
diff --git a/unmaintained/perl-file-remove/APKBUILD b/unmaintained/perl-file-remove/APKBUILD
new file mode 100644
index 0000000000..4457ed0d15
--- /dev/null
+++ b/unmaintained/perl-file-remove/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-file-remove
+_pkgreal=File-Remove
+pkgver=1.52
+pkgrel=0
+pkgdesc="Remove files and directories"
+url="http://search.cpan.org/dist/File-Remove/"
+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/AD/ADAMK/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="e9d6c33a2aac9789036afb4cc23ed8eb File-Remove-1.52.tar.gz"
+sha256sums="4154dc574b8a9a3a555d323f152ac742363c6a69c1f61de15b72728813550bdd File-Remove-1.52.tar.gz"
+sha512sums="6651de14d8fccee9bfeb83bd794c399135aee91733beb7a8a30e6611b4f514ad1989df2459bc72b2d17c9ded57d018d95ade36da2ee24fcf8a22a9659ecdeb5b File-Remove-1.52.tar.gz"
diff --git a/unmaintained/perl-file-type/APKBUILD b/unmaintained/perl-file-type/APKBUILD
new file mode 100644
index 0000000000..dc75bef16b
--- /dev/null
+++ b/unmaintained/perl-file-type/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-file-type
+_pkgreal=File-Type
+pkgver=0.22
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/File-Type/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PM/PMISON/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="4be3b0b7000b325c60351fcc8a04815d File-Type-0.22.tar.gz"
diff --git a/unmaintained/perl-font-ttf/APKBUILD b/unmaintained/perl-font-ttf/APKBUILD
new file mode 100644
index 0000000000..7440921344
--- /dev/null
+++ b/unmaintained/perl-font-ttf/APKBUILD
@@ -0,0 +1,43 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+pkgname=perl-font-ttf
+_pkgreal=Font-TTF
+pkgver=1.05
+pkgrel=0
+pkgdesc="TTF font support for Perl"
+url="http://search.cpan.org/dist/Font-TTF/"
+arch="noarch"
+license="Artistic-2"
+cpandepends="perl-io-string"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/M/MH/MHOSKEN/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name *.txt -o -name *.pod -o -name .packlist -o -name ttfmod.pl \) -delete || return 1
+ mv "$pkgdir"/usr/share/perl5/vendor_perl/* "$pkgdir"/usr/lib/perl5/vendor_perl
+ rm -fr "$pkgdir"/usr/share/perl5
+}
+
+md5sums="a9d0acf4cb9ebaee875d71732b83dfe5 Font-TTF-1.05.tar.gz"
+sha256sums="26c48e4e76e00f0ac00766b3cfba79f0cb8cbf005b7a39033f0e8e0d9eeafb50 Font-TTF-1.05.tar.gz"
+sha512sums="7288a2de63fc92c36f3706f365b2ea886e37361b13400a14f940961b0263f6492b02f73048c653bdcd5c5d1bb714977f3c5326b7217dcf3683b16d5048cd1e63 Font-TTF-1.05.tar.gz"
diff --git a/unmaintained/perl-functional-utility/APKBUILD b/unmaintained/perl-functional-utility/APKBUILD
new file mode 100644
index 0000000000..f144905b39
--- /dev/null
+++ b/unmaintained/perl-functional-utility/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-functional-utility
+_pkgreal=Functional-Utility
+pkgver=1.02
+pkgrel=0
+pkgdesc="helper tools for light-weight functional programming."
+url="http://search.cpan.org/dist/Functional-Utility/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/B/BE/BELDEN/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="75fc2f5cb6d23d5412fe4ff3a6d54f85 Functional-Utility-1.02.tar.gz"
+sha256sums="1ee089bc0d522bfd6a530eec815233ecb81778f8a576b9733430dc9c4e734104 Functional-Utility-1.02.tar.gz"
+sha512sums="bd6945baeef8b35466238c655ec8e7384e087ebfdc565119dc142987feb5affc6c0a85a879f47ff1508f7e0db705ca5a3f9a08d6b09164fa432b4b7c34b04ed1 Functional-Utility-1.02.tar.gz"
diff --git a/unmaintained/perl-geo-ip/APKBUILD b/unmaintained/perl-geo-ip/APKBUILD
new file mode 100644
index 0000000000..524f369eaa
--- /dev/null
+++ b/unmaintained/perl-geo-ip/APKBUILD
@@ -0,0 +1,43 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+pkgname=perl-geo-ip
+_pkgreal=Geo-IP
+pkgver=1.45
+pkgrel=0
+pkgdesc="Look up location and network information by IP Address"
+url="http://search.cpan.org/dist/Geo-IP/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/M/MA/MAXMIND/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+ mv "$pkgdir"/usr/share/perl5/vendor_perl/* "$pkgdir"/usr/lib/perl5/vendor_perl
+ rm -fr "$pkgdir"/usr/share/perl5
+}
+
+md5sums="781fbf2a6b6505e86e3e5ebe05254928 Geo-IP-1.45.tar.gz"
+sha256sums="0eb765c238dde4a29d5c863d475c72078e5361deab2cfc168b9285bc049e3662 Geo-IP-1.45.tar.gz"
+sha512sums="0737459b50251f64a0230176721e6a0cf7fb701451b3488c0a0628a183233b5346b7311a80fe35752104ab6812c6791cd4bafbbfa9e7ff51aa6bd4d489655af3 Geo-IP-1.45.tar.gz"
diff --git a/unmaintained/perl-glib-ex-connectproperties/APKBUILD b/unmaintained/perl-glib-ex-connectproperties/APKBUILD
new file mode 100644
index 0000000000..8b37e021e9
--- /dev/null
+++ b/unmaintained/perl-glib-ex-connectproperties/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-glib-ex-connectproperties
+_pkgreal=Glib-Ex-ConnectProperties
+pkgver=19
+pkgrel=0
+pkgdesc="Link properties between objects."
+url="http://search.cpan.org/dist/Glib-Ex-ConnectProperties/"
+arch="noarch"
+license="open_source"
+cpandepends="perl-glib perl-glib-ex-objectbits"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="e302149bc99d4eeb081e449f066d0f34 Glib-Ex-ConnectProperties-19.tar.gz"
diff --git a/unmaintained/perl-glib-ex-objectbits/APKBUILD b/unmaintained/perl-glib-ex-objectbits/APKBUILD
new file mode 100644
index 0000000000..9929886066
--- /dev/null
+++ b/unmaintained/perl-glib-ex-objectbits/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=perl-glib-ex-objectbits
+_pkgreal=Glib-Ex-ObjectBits
+pkgver=16
+pkgrel=0
+pkgdesc="Helpers for Glib objects."
+url="http://search.cpan.org/dist/Glib-Ex-ObjectBits/"
+arch="noarch"
+license="gpl_3"
+cpandepends="perl-devel-globaldestruction perl-glib"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="54be83717715e110e8934d6334d916aa Glib-Ex-ObjectBits-16.tar.gz"
+sha256sums="629a846ec03ed354d71464489f8dfa37ea7274c38e39041c03bf233673812c8f Glib-Ex-ObjectBits-16.tar.gz"
+sha512sums="e5820d251512121f4b44cfd67bcf44b1d94dfb756c5e646436684c45ff2d12f12cbfef4d9deb5deaaec0195ae1113448f0427dfe7f175ebd0ed878fb4ddcf671 Glib-Ex-ObjectBits-16.tar.gz"
diff --git a/unmaintained/perl-gtk2-ex-celllayout-base/APKBUILD b/unmaintained/perl-gtk2-ex-celllayout-base/APKBUILD
new file mode 100644
index 0000000000..acfcc120a6
--- /dev/null
+++ b/unmaintained/perl-gtk2-ex-celllayout-base/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-gtk2-ex-celllayout-base
+_pkgreal=Gtk2-Ex-CellLayout-Base
+pkgver=5
+pkgrel=0
+pkgdesc="Basic Gtk2::CellLayout interface implementation."
+url="http://search.cpan.org/dist/Gtk2-Ex-CellLayout-Base/"
+arch="noarch"
+license="open_source"
+cpandepends="perl-glib perl-gtk2 perl-glib-ex-objectbits perl-pango"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="c5e9a6f32076a9c1d25121408b0a7581 Gtk2-Ex-CellLayout-Base-5.tar.gz"
diff --git a/unmaintained/perl-gtk2-ex-clock/APKBUILD b/unmaintained/perl-gtk2-ex-clock/APKBUILD
new file mode 100644
index 0000000000..dcf2b8a0a4
--- /dev/null
+++ b/unmaintained/perl-gtk2-ex-clock/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-gtk2-ex-clock
+_pkgreal=Gtk2-Ex-Clock
+pkgver=15
+pkgrel=0
+pkgdesc="Simple digital clock widget."
+url="http://search.cpan.org/dist/Gtk2-Ex-Clock/"
+arch="noarch"
+license="open_source"
+cpandepends="perl-glib perl-glib-ex-objectbits perl-gtk2 perl-i18n-langinfo-wide perl-tie-tz perl-pango"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="98a5caaf4fe205f685b0504e2ffff501 Gtk2-Ex-Clock-15.tar.gz"
diff --git a/unmaintained/perl-gtk2-ex-dashes/APKBUILD b/unmaintained/perl-gtk2-ex-dashes/APKBUILD
new file mode 100644
index 0000000000..0444d22b38
--- /dev/null
+++ b/unmaintained/perl-gtk2-ex-dashes/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-gtk2-ex-dashes
+_pkgreal=Gtk2-Ex-Dashes
+pkgver=2
+pkgrel=0
+pkgdesc="Widget drawing a line of dashes."
+url="http://search.cpan.org/dist/Gtk2-Ex-Dashes/"
+arch="noarch"
+license="open_source"
+cpandepends="perl-glib perl-gtk2 perl-pango"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="0849b59eed8a8dac3ac2bb3867f52e85 Gtk2-Ex-Dashes-2.tar.gz"
diff --git a/unmaintained/perl-gtk2-ex-datasheet-dbi/APKBUILD b/unmaintained/perl-gtk2-ex-datasheet-dbi/APKBUILD
new file mode 100644
index 0000000000..c1ebbb7e97
--- /dev/null
+++ b/unmaintained/perl-gtk2-ex-datasheet-dbi/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-gtk2-ex-datasheet-dbi
+_pkgreal=Gtk2-Ex-Datasheet-DBI
+pkgver=2.1
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Gtk2-Ex-Datasheet-DBI/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-gtk2 perl-dbi perl-gtk2-ex-dialogs perl-pango"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/D/DK/DKASAK/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="728708c2924a9ff08a21def204241fe1 Gtk2-Ex-Datasheet-DBI-2.1.tar.gz"
diff --git a/unmaintained/perl-gtk2-ex-dialogs/APKBUILD b/unmaintained/perl-gtk2-ex-dialogs/APKBUILD
new file mode 100644
index 0000000000..cc30a1ceb9
--- /dev/null
+++ b/unmaintained/perl-gtk2-ex-dialogs/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-gtk2-ex-dialogs
+_pkgreal=Gtk2-Ex-Dialogs
+pkgver=0.11
+pkgrel=0
+pkgdesc="Useful tools for Gnome2/Gtk2 Perl GUI design."
+url="http://search.cpan.org/dist/Gtk2-Ex-Dialogs/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-gtk2 perl-file-type perl-gtk2-ex-utils"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KC/KCK/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="1ad86e1b3088971835a9393c710dbbfc Gtk2-Ex-Dialogs-0.11.tar.gz"
diff --git a/unmaintained/perl-gtk2-ex-dragger/APKBUILD b/unmaintained/perl-gtk2-ex-dragger/APKBUILD
new file mode 100644
index 0000000000..754e71a6af
--- /dev/null
+++ b/unmaintained/perl-gtk2-ex-dragger/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-gtk2-ex-dragger
+_pkgreal=Gtk2-Ex-Dragger
+pkgver=10
+pkgrel=0
+pkgdesc="Mouse drag to move widget contents."
+url="http://search.cpan.org/dist/Gtk2-Ex-Dragger/"
+arch="noarch"
+license="open_source"
+cpandepends="perl-glib perl-gtk2 perl-glib-ex-objectbits perl-gtk2-ex-widgetbits"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="f8f6486d070e3be242e48fdc79a245b1 Gtk2-Ex-Dragger-10.tar.gz"
diff --git a/unmaintained/perl-gtk2-ex-history/APKBUILD b/unmaintained/perl-gtk2-ex-history/APKBUILD
new file mode 100644
index 0000000000..a30e4d6288
--- /dev/null
+++ b/unmaintained/perl-gtk2-ex-history/APKBUILD
@@ -0,0 +1,40 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-gtk2-ex-history
+_pkgreal=Gtk2-Ex-History
+pkgver=8
+pkgrel=0
+pkgdesc="History of current, back and forward places for user navigation."
+url="http://search.cpan.org/dist/Gtk2-Ex-History/"
+arch="noarch"
+license="open_source"
+cpandepends="perl-glib perl-gtk2 perl-glib-ex-connectproperties perl-gtk2-ex-menuview perl-gtk2-ex-widgetbits \
+ perl-test-weaken perl-libintl-perl perl-gtk2-ex-dashes perl-glib-ex-objectbits"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="75310cb5df85d9acf0932178be3a93fd Gtk2-Ex-History-8.tar.gz"
diff --git a/unmaintained/perl-gtk2-ex-menuview/APKBUILD b/unmaintained/perl-gtk2-ex-menuview/APKBUILD
new file mode 100644
index 0000000000..eed503636e
--- /dev/null
+++ b/unmaintained/perl-gtk2-ex-menuview/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-gtk2-ex-menuview
+_pkgreal=Gtk2-Ex-MenuView
+pkgver=4
+pkgrel=0
+pkgdesc="Menu of items from a TreeModel."
+url="http://search.cpan.org/dist/Gtk2-Ex-MenuView/"
+arch="noarch"
+license="open_source"
+cpandepends="perl-glib perl-gtk2 perl-glib-ex-objectbits perl-pango"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="255db85606ed8c26c5db9f0675401cfb Gtk2-Ex-MenuView-4.tar.gz"
diff --git a/unmaintained/perl-gtk2-ex-noshrink/APKBUILD b/unmaintained/perl-gtk2-ex-noshrink/APKBUILD
new file mode 100644
index 0000000000..70f05d606f
--- /dev/null
+++ b/unmaintained/perl-gtk2-ex-noshrink/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-gtk2-ex-noshrink
+_pkgreal=Gtk2-Ex-NoShrink
+pkgver=4
+pkgrel=0
+pkgdesc="Non-shrinking container widget for Gtk."
+url="http://search.cpan.org/dist/Gtk2-Ex-NoShrink/"
+arch="noarch"
+license="open_source"
+cpandepends="perl-glib perl-gtk2 perl-pango"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="afaa989868aa3560d593a7fda4cb86ac Gtk2-Ex-NoShrink-4.tar.gz"
diff --git a/unmaintained/perl-gtk2-ex-numaxis/APKBUILD b/unmaintained/perl-gtk2-ex-numaxis/APKBUILD
new file mode 100644
index 0000000000..948bc9f80e
--- /dev/null
+++ b/unmaintained/perl-gtk2-ex-numaxis/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-gtk2-ex-numaxis
+_pkgreal=Gtk2-Ex-NumAxis
+pkgver=5
+pkgrel=0
+pkgdesc="Widget drawing a numbered axis."
+url="http://search.cpan.org/dist/Gtk2-Ex-NumAxis/"
+arch="noarch"
+license="open_source"
+cpandepends="perl-glib perl-gtk2 perl-math-round perl-glib-ex-objectbits perl-gtk2-ex-widgetbits"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="22ab718d7adb65569fa3f9d534200686 Gtk2-Ex-NumAxis-5.tar.gz"
diff --git a/unmaintained/perl-gtk2-ex-tickerview/APKBUILD b/unmaintained/perl-gtk2-ex-tickerview/APKBUILD
new file mode 100644
index 0000000000..45e393a9e2
--- /dev/null
+++ b/unmaintained/perl-gtk2-ex-tickerview/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-gtk2-ex-tickerview
+_pkgreal=Gtk2-Ex-TickerView
+pkgver=15
+pkgrel=0
+pkgdesc="Scrolling ticker or newsbar view widget."
+url="http://search.cpan.org/dist/Gtk2-Ex-TickerView/"
+arch="noarch"
+license="open_source"
+cpandepends="perl-glib perl-gtk2 perl-glib-ex-objectbits perl-gtk2-ex-celllayout-base perl-gtk2-ex-widgetbits"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="99a57031526e88444d0305a9635a49c2 Gtk2-Ex-TickerView-15.tar.gz"
diff --git a/unmaintained/perl-gtk2-ex-treemodelfilter-dragdest/APKBUILD b/unmaintained/perl-gtk2-ex-treemodelfilter-dragdest/APKBUILD
new file mode 100644
index 0000000000..4959c7909f
--- /dev/null
+++ b/unmaintained/perl-gtk2-ex-treemodelfilter-dragdest/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-gtk2-ex-treemodelfilter-dragdest
+_pkgreal=Gtk2-Ex-TreeModelFilter-DragDest
+pkgver=3
+pkgrel=0
+pkgdesc="Add drag destination capability to TreeModelFilter objects."
+url="http://search.cpan.org/dist/Gtk2-Ex-TreeModelFilter-DragDest/"
+arch="noarch"
+license="open_source"
+cpandepends="perl-glib perl-gtk2 perl-pango"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="6a20be00c58b261679b458880c9ed1aa Gtk2-Ex-TreeModelFilter-DragDest-3.tar.gz"
diff --git a/unmaintained/perl-gtk2-ex-utils/APKBUILD b/unmaintained/perl-gtk2-ex-utils/APKBUILD
new file mode 100644
index 0000000000..d93b1bf9e9
--- /dev/null
+++ b/unmaintained/perl-gtk2-ex-utils/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-gtk2-ex-utils
+_pkgreal=Gtk2-Ex-Utils
+pkgver=0.09
+pkgrel=0
+pkgdesc="Extra Gtk2 Utilities for working with Gnome2/Gtk2 in Perl."
+url="http://search.cpan.org/dist/Gtk2-Ex-Utils/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-gtk2 perl-glib perl-pango"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KC/KCK/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="076bb6914470fb077f7028fef0a795f8 Gtk2-Ex-Utils-0.09.tar.gz"
diff --git a/unmaintained/perl-gtk2-ex-widgetbits/APKBUILD b/unmaintained/perl-gtk2-ex-widgetbits/APKBUILD
new file mode 100644
index 0000000000..e134523b95
--- /dev/null
+++ b/unmaintained/perl-gtk2-ex-widgetbits/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-gtk2-ex-widgetbits
+_pkgreal=Gtk2-Ex-WidgetBits
+pkgver=48
+pkgrel=0
+pkgdesc="Helpers for Gtk2 widgets."
+url="http://search.cpan.org/dist/Gtk2-Ex-WidgetBits/"
+arch="noarch"
+license="open_source"
+cpandepends="perl-glib perl-glib-ex-objectbits perl-gtk2 perl-scope-guard perl-pango"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="f65aadb9213492b2ceaad874c5b49943 Gtk2-Ex-WidgetBits-48.tar.gz"
diff --git a/unmaintained/perl-gtk2-ex-widgetcursor/APKBUILD b/unmaintained/perl-gtk2-ex-widgetcursor/APKBUILD
new file mode 100644
index 0000000000..b90b06ac3a
--- /dev/null
+++ b/unmaintained/perl-gtk2-ex-widgetcursor/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-gtk2-ex-widgetcursor
+_pkgreal=Gtk2-Ex-WidgetCursor
+pkgver=15
+pkgrel=0
+pkgdesc="Mouse pointer cursor management for Gtk widgets."
+url="http://search.cpan.org/dist/Gtk2-Ex-WidgetCursor/"
+arch="noarch"
+license="open_source"
+cpandepends="perl-glib perl-gtk2 perl-glib-ex-objectbits perl-pango"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="58ccb2b931393b8804b95f2d297574c4 Gtk2-Ex-WidgetCursor-15.tar.gz"
diff --git a/unmaintained/perl-gtk2-ex-xor/APKBUILD b/unmaintained/perl-gtk2-ex-xor/APKBUILD
new file mode 100644
index 0000000000..d65cbd95a3
--- /dev/null
+++ b/unmaintained/perl-gtk2-ex-xor/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-gtk2-ex-xor
+_pkgreal=Gtk2-Ex-Xor
+pkgver=22
+pkgrel=0
+pkgdesc="Helpers for Gtk2 widgets."
+url="http://search.cpan.org/dist/Gtk2-Ex-Xor/"
+arch="noarch"
+license="open_source"
+cpandepends="perl-glib perl-gtk2 perl-glib-ex-objectbits perl-tie-refhash-weak perl-gtk2-ex-widgetbits perl-gtk2-ex-widgetcursor"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="b2dc0560ab606c21f43dcb7e338a64c5 Gtk2-Ex-Xor-22.tar.gz"
diff --git a/unmaintained/perl-hash-merge-simple/APKBUILD b/unmaintained/perl-hash-merge-simple/APKBUILD
new file mode 100644
index 0000000000..b23343ee68
--- /dev/null
+++ b/unmaintained/perl-hash-merge-simple/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-hash-merge-simple
+_pkgreal=Hash-Merge-Simple
+pkgver=0.051
+pkgrel=0
+pkgdesc="Recursively merge two or more hashes, simply"
+url="http://search.cpan.org/dist/Hash-Merge-Simple/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-clone"
+cpanmakedepends="perl-test-most"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/R/RO/ROKR/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="f47b9b99794b1f958bcfa3e816ff4660 Hash-Merge-Simple-0.051.tar.gz"
+sha256sums="1c56327873d2f04d5722777f044863d968910466997740d55a754071c6287b73 Hash-Merge-Simple-0.051.tar.gz"
+sha512sums="8db850144593632ce8ac8a560dac6670814a9ce3d1091d6aa42ab0eadca4b350671103b1de906d562aeaa0934fd58bd4e557821c5bcd730a10849f8505f65c4c Hash-Merge-Simple-0.051.tar.gz"
diff --git a/unmaintained/perl-hash-merge/APKBUILD b/unmaintained/perl-hash-merge/APKBUILD
new file mode 100644
index 0000000000..ceb4210757
--- /dev/null
+++ b/unmaintained/perl-hash-merge/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-hash-merge
+_pkgreal=Hash-Merge
+pkgver=0.12
+pkgrel=0
+pkgdesc="Merges arbitrarily deep hashes into a single hash"
+url="http://search.cpan.org/dist/Hash-Merge/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-clone"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/D/DM/DMUEY/$_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="875e2d9101bde2f6b410dd12f7e10964 Hash-Merge-0.12.tar.gz"
diff --git a/unmaintained/perl-hash-mostutils/APKBUILD b/unmaintained/perl-hash-mostutils/APKBUILD
new file mode 100644
index 0000000000..3a9b555642
--- /dev/null
+++ b/unmaintained/perl-hash-mostutils/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-hash-mostutils
+_pkgreal=Hash-MostUtils
+pkgver=1.07
+pkgrel=0
+pkgdesc="Pairwise list manipulators"
+url="http://search.cpan.org/dist/Hash-MostUtils/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-provide"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/B/BE/BELDEN/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="854d195478d801b9e9a4fe68be06d2cd Hash-MostUtils-1.07.tar.gz"
+sha256sums="3d165b7336d56813316fe38625dab450ae23a86149e191589148fce7899a1b48 Hash-MostUtils-1.07.tar.gz"
+sha512sums="63f0b38a76eac53097c47ea0f998c5b1ddfc8e0888bf9e62ad0c944ee22aca7eca1eaeba07ef284a318f4a03e29bf7bb52b521be994c979352e792ec02ae2eca Hash-MostUtils-1.07.tar.gz"
diff --git a/unmaintained/perl-html-form/APKBUILD b/unmaintained/perl-html-form/APKBUILD
new file mode 100644
index 0000000000..8f95823fd7
--- /dev/null
+++ b/unmaintained/perl-html-form/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-html-form
+_pkgreal=HTML-Form
+pkgver=6.03
+pkgrel=0
+pkgdesc="Class that represents an HTML form element"
+url="http://search.cpan.org/dist/HTML-Form/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-http-message perl-uri perl-html-parser perl-html-tagset"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="fa6c2680207ed4fef5ea2ef09c210614 HTML-Form-6.03.tar.gz"
diff --git a/unmaintained/perl-html-template/APKBUILD b/unmaintained/perl-html-template/APKBUILD
new file mode 100644
index 0000000000..7e8ef4a86d
--- /dev/null
+++ b/unmaintained/perl-html-template/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-html-template
+_pkgreal=HTML-Template
+pkgver=2.95
+pkgrel=0
+pkgdesc="Perl module to use HTML-like templating language"
+url="http://search.cpan.org/dist/HTML-Template/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/W/WO/WONKO/$_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="6f08e9631af52e6a5f6e4648b89265fe HTML-Template-2.95.tar.gz"
+sha256sums="78100adaea7a56ae65826220fcb0c18a188df25a27227f96175cf7169fbb501d HTML-Template-2.95.tar.gz"
+sha512sums="4b52856c7ac97a6c7985c73492aa5074f90b6b7f89dfb2434487a2cfeb9d521e55afe4e77c33285042e3d391fe6e9fc86a3f58bb6850d94f1331bb7be9809be7 HTML-Template-2.95.tar.gz"
diff --git a/unmaintained/perl-http-server-simple-psgi/APKBUILD b/unmaintained/perl-http-server-simple-psgi/APKBUILD
new file mode 100644
index 0000000000..2595fcfddf
--- /dev/null
+++ b/unmaintained/perl-http-server-simple-psgi/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-http-server-simple-psgi
+_pkgreal=HTTP-Server-Simple-PSGI
+pkgver=0.16
+pkgrel=0
+pkgdesc="PSGI handler for HTTP::Server::Simple"
+url="http://search.cpan.org/dist/HTTP-Server-Simple-PSGI/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-http-server-simple"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/M/MI/MIYAGAWA/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="4ee6f4dee6fbf895b3fb0bb8bb9e5593 HTTP-Server-Simple-PSGI-0.16.tar.gz"
+sha256sums="5f7ccb8453043b97278492a757328116e11e0352f2854a28a9c634e6e9131dba HTTP-Server-Simple-PSGI-0.16.tar.gz"
+sha512sums="514a61a7d349f02a18b44bd2ef3adbfd457cc61b6ec4eea2e74f1d8f4ffd095b42338552ddf7e9ab2b3ffa79e5c826099665e87c9ca5b08566975101e37b0177 HTTP-Server-Simple-PSGI-0.16.tar.gz"
diff --git a/unmaintained/perl-http-server-simple/APKBUILD b/unmaintained/perl-http-server-simple/APKBUILD
new file mode 100644
index 0000000000..fa2edca666
--- /dev/null
+++ b/unmaintained/perl-http-server-simple/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-http-server-simple
+_pkgreal=HTTP-Server-Simple
+pkgver=0.51
+pkgrel=1
+pkgdesc="Lightweight HTTP server"
+url="http://search.cpan.org/dist/HTTP-Server-Simple/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-cgi"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/B/BP/BPS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="ef736daddc7a32a29207fa4ed5f5d62e HTTP-Server-Simple-0.51.tar.gz"
+sha256sums="b9dc5c9f12c16ca39a96f0ede1e27a18a5594274ff8f583000788a7fca136dfb HTTP-Server-Simple-0.51.tar.gz"
+sha512sums="92cb45fc8b57237c064b780ccdfd3ca959daff73cb054590574053cc3dedc81e14627c2aee6d26da48f717f31925d099dd9d11b0e9cd0a98cb3b06221820fabd HTTP-Server-Simple-0.51.tar.gz"
diff --git a/unmaintained/perl-ima-dbi/APKBUILD b/unmaintained/perl-ima-dbi/APKBUILD
new file mode 100644
index 0000000000..0442f9d76d
--- /dev/null
+++ b/unmaintained/perl-ima-dbi/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-ima-dbi
+_pkgreal=Ima-DBI
+pkgver=0.35
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Ima-DBI/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-dbi perl-class-data-inheritable perl-dbix-contextualfetch"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PE/PERRIN/$_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="f3c5c0b1fe509556ca35f08aae91b3f5 Ima-DBI-0.35.tar.gz"
diff --git a/unmaintained/perl-io-async-loop-glib/APKBUILD b/unmaintained/perl-io-async-loop-glib/APKBUILD
new file mode 100644
index 0000000000..f92781695f
--- /dev/null
+++ b/unmaintained/perl-io-async-loop-glib/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-io-async-loop-glib
+_pkgreal=IO-Async-Loop-Glib
+pkgver=0.21
+pkgrel=0
+pkgdesc="use C<IO::Async> with F<Glib> or F<GTK>"
+url="http://search.cpan.org/dist/IO-Async-Loop-Glib/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-glib perl-io-async"
+cpanmakedepends="perl-io-async"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends perl-test-pod perl-test-fatal
+ perl-test-refcount"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PE/PEVANS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="b52b73a1cabf25ca585890de74f1ef6d IO-Async-Loop-Glib-0.21.tar.gz"
+sha256sums="6ee1c0ad57946f9e41c4f32a0ca8ad4ff1cc460a6dd69ef5c0f6cc002c6d2029 IO-Async-Loop-Glib-0.21.tar.gz"
+sha512sums="6cb8c1dc8179fa92ee77ad3ed083be417d91740a34e924e53bc884104d4604eaf8ea258b2c5f0b289e48fbb1ee0fae2bb5b6f9aa0a9052c174824d719e3e4c52 IO-Async-Loop-Glib-0.21.tar.gz"
diff --git a/unmaintained/perl-io-async-ssl/APKBUILD b/unmaintained/perl-io-async-ssl/APKBUILD
new file mode 100644
index 0000000000..8ca3af3113
--- /dev/null
+++ b/unmaintained/perl-io-async-ssl/APKBUILD
@@ -0,0 +1,40 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-io-async-ssl
+_pkgreal=IO-Async-SSL
+pkgver=0.14
+pkgrel=0
+pkgdesc="Use SSL/TLS with L<IO::Async>"
+url="http://search.cpan.org/dist/IO-Async-SSL/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-io-socket-ssl perl-io-async"
+cpanmakedepends="perl-test-pod perl-test-identity"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PE/PEVANS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="c7f50698d3dc9e23a6dafe44244f5c70 IO-Async-SSL-0.14.tar.gz"
+sha256sums="81bea9f52cf468bda85b70460fc5b351be2cf04cfaa97e363ddb1cbb3cef3d62 IO-Async-SSL-0.14.tar.gz"
+sha512sums="d6f175b596fc0781599ffb487ade857279a3d159a974ab6a82d134841d6ef219e353b10004e7cef8da3ff46159fcae22ad261eac84cc1e6973181452f0fe6b51 IO-Async-SSL-0.14.tar.gz"
diff --git a/unmaintained/perl-io-socket-inet6/APKBUILD b/unmaintained/perl-io-socket-inet6/APKBUILD
new file mode 100644
index 0000000000..9577993b42
--- /dev/null
+++ b/unmaintained/perl-io-socket-inet6/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+# Maintainer: Timo Teräs <timo.teras@iki.fi>
+pkgname=perl-io-socket-inet6
+_pkgreal=IO-Socket-INET6
+pkgver=2.72
+pkgrel=0
+pkgdesc="Object interface for AF_INET|AF_INET6 domain sockets"
+url="http://search.cpan.org/dist/IO-Socket-INET6/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-socket6"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends perl-module-build"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build ### && ./Build test #no ipv6 in buildozer
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="510ddc1bd75a8340ca7226123fb545c1 IO-Socket-INET6-2.72.tar.gz"
+sha256sums="85e020fa179284125fc1d08e60a9022af3ec1271077fe14b133c1785cdbf1ebb IO-Socket-INET6-2.72.tar.gz"
+sha512sums="c6dc0bbcc81682d317597de26d5023de84781e4bd2af224145cc4980db7fcbc93295a7d0a80c1eaa649c6aebf4057d0b0159f47e6a6379d4b545b49305f28a37 IO-Socket-INET6-2.72.tar.gz"
diff --git a/unmaintained/perl-io-string/APKBUILD b/unmaintained/perl-io-string/APKBUILD
new file mode 100644
index 0000000000..0834319c9e
--- /dev/null
+++ b/unmaintained/perl-io-string/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-io-string
+_pkgreal=IO-String
+pkgver=1.08
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/IO-String/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="250e5424f290299fc3d6b5d1e9da3835 IO-String-1.08.tar.gz"
diff --git a/unmaintained/perl-ipc-dirqueue/APKBUILD b/unmaintained/perl-ipc-dirqueue/APKBUILD
new file mode 100644
index 0000000000..563f680c68
--- /dev/null
+++ b/unmaintained/perl-ipc-dirqueue/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-ipc-dirqueue
+_pkgreal=IPC-DirQueue
+pkgver=1.0
+pkgrel=0
+pkgdesc="disk-based many-to-many queueing system"
+url="http://search.cpan.org/dist/IPC-DirQueue/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/J/JM/JMASON/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="1fc4640118a333f2d4a8a45f37297995 IPC-DirQueue-1.0.tar.gz"
+sha256sums="f636e8bb3f54515be77476f99fd962801d2d3f32bb43e154b459df4c64974f99 IPC-DirQueue-1.0.tar.gz"
+sha512sums="688cf54be66045b5260883c75a1808f4bf75d91e852f3588f5e48afb2429428fc5d32c18e2e45e6c5edbc32a2803e0c60d8a7b22eb4c5f747d8a9814d7d2174e IPC-DirQueue-1.0.tar.gz"
diff --git a/unmaintained/perl-ipc-signal/APKBUILD b/unmaintained/perl-ipc-signal/APKBUILD
new file mode 100644
index 0000000000..53b67d8a91
--- /dev/null
+++ b/unmaintained/perl-ipc-signal/APKBUILD
@@ -0,0 +1,43 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+pkgname=perl-ipc-signal
+_pkgreal=IPC-Signal
+pkgver=1.00
+pkgrel=0
+pkgdesc="Perl module provides utility functions dealing with signals"
+url="http://search.cpan.org/dist/IPC-Signal/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/R/RO/ROSCH/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+ mv "$pkgdir"/usr/share/perl5/vendor_perl/* "$pkgdir"/usr/lib/perl5/vendor_perl
+ rm -fr "$pkgdir"/usr/share/perl5
+}
+
+md5sums="4cebf17fdf1785eaf8c151bf2e8c360a IPC-Signal-1.00.tar.gz"
+sha256sums="7c21f9c8c2d0c0f0f0f46e77de7c3d879dd562668ddf0525875c38cef2076fd0 IPC-Signal-1.00.tar.gz"
+sha512sums="31ee15a55539546532cb8deb9bd379e0014b526fcd79ac20dc53591391b0fb50b182f6f653837bc230debb1779418316b7ac8e389224ad41a0aa3a380c76f229 IPC-Signal-1.00.tar.gz"
diff --git a/unmaintained/perl-json-maybexs/APKBUILD b/unmaintained/perl-json-maybexs/APKBUILD
new file mode 100644
index 0000000000..8cba726846
--- /dev/null
+++ b/unmaintained/perl-json-maybexs/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-json-maybexs
+_pkgreal=JSON-MaybeXS
+pkgver=1.003005
+pkgrel=0
+pkgdesc="Use L<Cpanel::JSON::XS> with a fallback to L<JSON::XS> and L<JSON::PP>"
+url="http://search.cpan.org/dist/JSON-MaybeXS/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-cpanel-json-xs"
+cpanmakedepends=" perl-test-without-module "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="653c088177982f8ac4e6b1697c2c94f4 JSON-MaybeXS-1.003005.tar.gz"
+sha256sums="bdb4694b564f10459d49b9658693ceb8b91b66db0fc5e9f19cf15f3ce46cc80a JSON-MaybeXS-1.003005.tar.gz"
+sha512sums="101b5b693eabeaf4e8417d021b3d311b9c8669a0121b97af7781cfbdb3ba24b8aef80d15a3cf4d78b40e47230e9f1c4450c73741675ec6d5ea018c6b06ea49d7 JSON-MaybeXS-1.003005.tar.gz"
diff --git a/unmaintained/perl-libnet/APKBUILD b/unmaintained/perl-libnet/APKBUILD
new file mode 100644
index 0000000000..47c1054cb1
--- /dev/null
+++ b/unmaintained/perl-libnet/APKBUILD
@@ -0,0 +1,43 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+pkgname=perl-libnet
+_pkgreal=libnet
+pkgver=3.07
+pkgrel=0
+pkgdesc="Collection of network protocol modules"
+url="http://search.cpan.org/dist/libnet/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/S/SH/SHAY/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+ mv "$pkgdir"/usr/share/perl5/vendor_perl/* "$pkgdir"/usr/lib/perl5/vendor_perl
+ rm -fr "$pkgdir"/usr/share/perl5
+}
+
+md5sums="b08cc6280201f84e0eee74107b713994 libnet-3.07.tar.gz"
+sha256sums="d9a23d8907e681e788a6f1a71915b1d37d057091e88049e5a4064c99ca2c9cd7 libnet-3.07.tar.gz"
+sha512sums="f1766501e46bb2a75a58c73e9416166ff0aec1eee462df04cd533747aa5d0d4a7411072440fd338cedb8b2ee522bec06f9814bd04ecf95ce9080a985ff17f745 libnet-3.07.tar.gz"
diff --git a/unmaintained/perl-lisp/APKBUILD b/unmaintained/perl-lisp/APKBUILD
new file mode 100644
index 0000000000..47901a6e45
--- /dev/null
+++ b/unmaintained/perl-lisp/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-lisp
+_pkgreal=perl-lisp
+pkgver=0.06
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/perl-lisp/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="9527dbc83c9b028df49e02a32fe1e368 perl-lisp-0.06.tar.gz"
diff --git a/unmaintained/perl-local-lib/APKBUILD b/unmaintained/perl-local-lib/APKBUILD
new file mode 100644
index 0000000000..96b27e2794
--- /dev/null
+++ b/unmaintained/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/unmaintained/perl-log-dispatch-config/APKBUILD b/unmaintained/perl-log-dispatch-config/APKBUILD
new file mode 100644
index 0000000000..a6401131d3
--- /dev/null
+++ b/unmaintained/perl-log-dispatch-config/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-log-dispatch-config
+_pkgreal=Log-Dispatch-Config
+pkgver=1.04
+pkgrel=0
+pkgdesc="Perl module for Log-Dispatch-Config"
+url="http://search.cpan.org/dist/Log-Dispatch-Config/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends perl-log-dispatch perl-io-stringy perl-appconfig"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/M/MI/MIYAGAWA/$_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="ac6f91b838743adb3a47cb09bf8defe5 Log-Dispatch-Config-1.04.tar.gz"
diff --git a/unmaintained/perl-math-calc-units/APKBUILD b/unmaintained/perl-math-calc-units/APKBUILD
new file mode 100644
index 0000000000..02b4355347
--- /dev/null
+++ b/unmaintained/perl-math-calc-units/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=perl-math-calc-units
+_pkgreal=Math-Calc-Units
+pkgver=1.07
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Math-Calc-Units/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/S/SF/SFINK/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="56e4be0e64d6c8fc27c8f87d0d3cebd8 Math-Calc-Units-1.07.tar.gz"
+sha256sums="61e3cfdb27bb3bee27beb97124dd930760e1039edc1eb7816c2f5627765f8f8f Math-Calc-Units-1.07.tar.gz"
+sha512sums="0758fd67f650cc8b70777a78c471c29e5a463370e47f810f0eaefa51cb832dbe01b55d7c53cb7d3dc70ee6339857b9f344acd7a68c7ea858394c387e87c52b31 Math-Calc-Units-1.07.tar.gz"
diff --git a/unmaintained/perl-mime-base32/APKBUILD b/unmaintained/perl-mime-base32/APKBUILD
new file mode 100644
index 0000000000..81ffa9fc31
--- /dev/null
+++ b/unmaintained/perl-mime-base32/APKBUILD
@@ -0,0 +1,42 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-mime-base32
+_pkgreal=MIME-Base32
+pkgver=1.02a
+_pkgver=1.02
+pkgrel=0
+pkgdesc="Perl module for MIME-Base32"
+url="http://search.cpan.org/dist/MIME-Base32/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages=""
+source="http://search.cpan.org/CPAN/authors/id/D/DA/DANPEDER/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$_pkgreal-$_pkgver
+
+prepare() {
+ cd "$_builddir"
+ if [ -e Build.PL ]; then
+ perl Build.PL installdirs=vendor || return 1
+ else
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ fi
+}
+
+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="7bff096e1a1289c9b101130540a0b9e3 MIME-Base32-1.02a.tar.gz"
diff --git a/unmaintained/perl-mime-construct/APKBUILD b/unmaintained/perl-mime-construct/APKBUILD
new file mode 100644
index 0000000000..0bcc57959a
--- /dev/null
+++ b/unmaintained/perl-mime-construct/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+pkgname=perl-mime-construct
+_pkgreal=mime-construct
+pkgver=1.11
+pkgrel=2
+pkgdesc="Construct and optionally mail MIME messages"
+url="http://search.cpan.org/~rosch/mime-construct/mime-construct"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-proc-waitstat perl-mime-types perl-mime-base64"
+cpanmakedepends=" "
+depends="perl $cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/R/RO/ROSCH/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+md5sums="73834ea780fbea81b89dbd9b2fb54f58 mime-construct-1.11.tar.gz"
+sha256sums="4cd7bb61b51d41192d1498c1051aa6a4ccd75aeb09b71d2ec706a7084a4a9303 mime-construct-1.11.tar.gz"
+sha512sums="1192c5a0cd1c7675aaf4d1570c910672d3c3b6585f33e4781de289e8e1d9530c17b6d48083ad68349b46faa8e03be1dfeef16701b12763adc36bfa4f3b399a5f mime-construct-1.11.tar.gz"
diff --git a/unmaintained/perl-modern-perl/APKBUILD b/unmaintained/perl-modern-perl/APKBUILD
new file mode 100644
index 0000000000..1c503bfb37
--- /dev/null
+++ b/unmaintained/perl-modern-perl/APKBUILD
@@ -0,0 +1,40 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-modern-perl
+_pkgreal=Modern-Perl
+pkgver=1.20140107
+pkgrel=0
+pkgdesc="enable all of the features of Modern Perl with one command"
+url="http://search.cpan.org/dist/Modern-Perl/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/C/CH/CHROMATIC/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="2f2fa64cbefd8945cae08dddf7b00cbf Modern-Perl-1.20140107.tar.gz"
+sha256sums="9cf66b2f93340dfe1cd7162262a47e7c4ba82475a52dc2a036c2fdc8a65298b8 Modern-Perl-1.20140107.tar.gz"
+sha512sums="2f14ee0f9a3466a6ffdeb4ea9a738e5b961663d12825df0c529e89dcf473b02aa35de1d446cf19987fc60683613eea75852e3fe39996265ca189529e1fbdca29 Modern-Perl-1.20140107.tar.gz"
diff --git a/unmaintained/perl-module-install/APKBUILD b/unmaintained/perl-module-install/APKBUILD
new file mode 100644
index 0000000000..d90ffc46d3
--- /dev/null
+++ b/unmaintained/perl-module-install/APKBUILD
@@ -0,0 +1,44 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-module-install
+_pkgreal=Module-Install
+pkgver=1.16
+pkgrel=0
+pkgdesc="Perl module for Module-Install"
+url="http://search.cpan.org/dist/Module-Install/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends="perl-file-remove perl-module-build perl-module-scandeps perl-yaml-tiny"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ if [ -e Build.PL ]; then
+ perl Build.PL installdirs=vendor || return 1
+ else
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ fi
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="daec67c3950dcecaa155389b9bdfc1ed Module-Install-1.16.tar.gz"
+sha256sums="afac1264255f4d822d44f84df1aa9affad207f9ae805e803d93c845fa120025e Module-Install-1.16.tar.gz"
+sha512sums="479a3b1a3e489c100bcb25c9f90445abcc90d194238804849b7d3ca1fa171a625b99f8390ce8967e96b10e854d843d117c70e566f12309b3ccdf32113f006422 Module-Install-1.16.tar.gz"
diff --git a/unmaintained/perl-monitoring-plugin/APKBUILD b/unmaintained/perl-monitoring-plugin/APKBUILD
new file mode 100644
index 0000000000..8bd39998c8
--- /dev/null
+++ b/unmaintained/perl-monitoring-plugin/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=perl-monitoring-plugin
+_pkgreal=Monitoring-Plugin
+pkgver=0.39
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Monitoring-Plugin/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-params-validate perl-config-tiny perl-class-accessor perl-math-calc-units"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/N/NI/NIERLEIN/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="c786ada6289bda2c4380d3df3b5185d5 Monitoring-Plugin-0.39.tar.gz"
+sha256sums="5ceeaf33bc6205b847b1645a3a24cb65d1b85e19691a6333fa221c240de20c0c Monitoring-Plugin-0.39.tar.gz"
+sha512sums="7bdba894cffc0839586e52f3667157cf578e94734ddc0ccd05899f631271e5b69e9cbfe4b2fb59f68b45e1d13afc82b095b65e249527f2c448a38b93e510a05c Monitoring-Plugin-0.39.tar.gz"
diff --git a/unmaintained/perl-net-appliance-session/APKBUILD b/unmaintained/perl-net-appliance-session/APKBUILD
new file mode 100644
index 0000000000..5393940307
--- /dev/null
+++ b/unmaintained/perl-net-appliance-session/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-net-appliance-session
+_pkgreal=Net-Appliance-Session
+pkgver=3.121640
+pkgrel=0
+pkgdesc="Run command-line sessions to network appliances"
+url="http://search.cpan.org/dist/Net-Appliance-Session/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-moose perl-net-cli-interact"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/O/OL/OLIVER/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="cf824fe5475e2bcbebed419c07f63cfb Net-Appliance-Session-3.121640.tar.gz"
diff --git a/unmaintained/perl-net-cidr-lite/APKBUILD b/unmaintained/perl-net-cidr-lite/APKBUILD
new file mode 100644
index 0000000000..7e4bd9f859
--- /dev/null
+++ b/unmaintained/perl-net-cidr-lite/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-net-cidr-lite
+_pkgreal=Net-CIDR-Lite
+pkgver=0.21
+pkgrel=0
+pkgdesc="Perl extension for merging IPv4 or IPv6 CIDR addresses"
+url="http://search.cpan.org/dist/Net-CIDR-Lite/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev perl-test-pod perl-test-pod-coverage $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/D/DO/DOUGW/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="12280b3754886b876918f03f53aee4f5 Net-CIDR-Lite-0.21.tar.gz"
+sha256sums="cfa125e8a2aef9259bc3a44e07cbdfb7894b64d22e7c0cee92aee2f5c7915093 Net-CIDR-Lite-0.21.tar.gz"
+sha512sums="c8a5b00a26fb823e637825eac72ca7002f401a1a623d8b77b694848975124f24fba86830df8d41f6bdba4d2e2f0f93b2b155ac1511b607efa67942189614dc7c Net-CIDR-Lite-0.21.tar.gz"
diff --git a/unmaintained/perl-net-cli-interact/APKBUILD b/unmaintained/perl-net-cli-interact/APKBUILD
new file mode 100644
index 0000000000..248fbbcab3
--- /dev/null
+++ b/unmaintained/perl-net-cli-interact/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-net-cli-interact
+_pkgreal=Net-CLI-Interact
+pkgver=2.131260
+pkgrel=0
+pkgdesc="Toolkit for CLI Automation"
+url="http://search.cpan.org/dist/Net-CLI-Interact/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-moo perl-log-dispatch-configurator-any perl-path-class perl-log-dispatch-config perl-ipc-run perl-moox-types-mooselike perl-io-tty perl-class-load perl-net-telnet perl-class-mix"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/O/OL/OLIVER/$_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="e56eac3282a71152e34e837a337777d5 Net-CLI-Interact-2.131260.tar.gz"
+sha256sums="bb07151cf8eccedbdcaff7856530258f7c58a8d38a318674299dc397fb0d2122 Net-CLI-Interact-2.131260.tar.gz"
+sha512sums="9842914d023011a1bf78ab3720dc544fa5b0f9a1f7a45c53048a68d4cf0cf3ad8e92c9fa70ec86cfcd7aa97f6125a70b9472d4bfb6330330a72e88ffe2632c53 Net-CLI-Interact-2.131260.tar.gz"
diff --git a/unmaintained/perl-net-dns-sec/APKBUILD b/unmaintained/perl-net-dns-sec/APKBUILD
new file mode 100644
index 0000000000..0310e13f66
--- /dev/null
+++ b/unmaintained/perl-net-dns-sec/APKBUILD
@@ -0,0 +1,43 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-net-dns-sec
+_pkgreal=Net-DNS-SEC
+pkgver=1.02
+pkgrel=0
+pkgdesc="DNSSEC extensions to Net::DNS"
+url="http://search.cpan.org/dist/Net-DNS-SEC/"
+arch="noarch"
+license="mit"
+cpandepends="perl-crypt-openssl-dsa perl-net-dns perl-crypt-openssl-rsa
+ perl-crypt-openssl-random perl-digest-bubblebabble perl-mime-base32
+ perl-crypt-openssl-bignum"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/N/NL/NLNETLABS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="3d11216697d0fe43e74484b59f94188d Net-DNS-SEC-1.02.tar.gz"
+sha256sums="e78090addfd4a5d4068b173e6e071d984ae8b67dd803f8f33b73eb7692085fbf Net-DNS-SEC-1.02.tar.gz"
+sha512sums="cbbf0a4eb6948047a991cf473b0824cfa69c7f7e2d07190fbc9fe62be79106635ebfc02ab02a559079f2936ff354f5ff9275fd16cf37d7bc2d78a87cf0b103b0 Net-DNS-SEC-1.02.tar.gz"
diff --git a/unmaintained/perl-net-ident/APKBUILD b/unmaintained/perl-net-ident/APKBUILD
new file mode 100644
index 0000000000..3c4f4f8355
--- /dev/null
+++ b/unmaintained/perl-net-ident/APKBUILD
@@ -0,0 +1,43 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+pkgname=perl-net-ident
+_pkgreal=Net-Ident
+pkgver=1.24
+pkgrel=0
+pkgdesc="Lookup the username on the remote end of a TCP/IP connection"
+url="http://search.cpan.org/dist/Net-Ident/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/T/TO/TODDR/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+ mv "$pkgdir"/usr/share/perl5/vendor_perl/* "$pkgdir"/usr/lib/perl5/vendor_perl
+ rm -fr "$pkgdir"/usr/share/perl5
+}
+
+md5sums="460294a8ac8482eb5ed24c62048bbbc4 Net-Ident-1.24.tar.gz"
+sha256sums="5f5f1142185a67b87406a3fb31f221564f61838a70ef4c07284a66c55e82ad05 Net-Ident-1.24.tar.gz"
+sha512sums="877a2699964323b009dbdbab134bb329acf71758e48165f4d19bb8e49d0c02786f58ab32bb1bc2ff6c4d375d4b64128207cbbf3c858a6db2e30bd2733474d740 Net-Ident-1.24.tar.gz"
diff --git a/unmaintained/perl-net-iptrie/APKBUILD b/unmaintained/perl-net-iptrie/APKBUILD
new file mode 100644
index 0000000000..88b7adb65a
--- /dev/null
+++ b/unmaintained/perl-net-iptrie/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-net-iptrie
+_pkgreal=Net-IPTrie
+pkgver=0.7
+pkgrel=0
+pkgdesc="Perl module for building IPv4 and IPv6 address space hierarchies"
+url="http://search.cpan.org/dist/Net-IPTrie/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-netaddr-ip"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/C/CV/CVICENTE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="c465a27fdac74109b34dfbc271adb90d Net-IPTrie-0.7.tar.gz"
diff --git a/unmaintained/perl-net-ipv4addr/APKBUILD b/unmaintained/perl-net-ipv4addr/APKBUILD
new file mode 100644
index 0000000000..5625d992b3
--- /dev/null
+++ b/unmaintained/perl-net-ipv4addr/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer:
+pkgname=perl-net-ipv4addr
+_realname=Net-IPv4Addr
+pkgver=0.10
+pkgrel=1
+pkgdesc="Perl extension for manipulating IPv4 addresses"
+url="http://search.cpan.org/~frajulac/Net-IPv4Addr/"
+arch="noarch"
+license="PerlArtistic"
+depends="perl "
+depends_dev=""
+makedepends="perl-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/F/FR/FRAJULAC/$_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="57aa8e28ebcd4c0c9f15792740e53d3c Net-IPv4Addr-0.10.tar.gz"
+sha256sums="3845de4f30b17c842b192cace8879dbb6214de9692cfa70f0aaf0981422a63fe Net-IPv4Addr-0.10.tar.gz"
+sha512sums="66381f9be27c010721970d1af245885379bcc0b57c4c1179fc00e89a53a2d53e7836789b13d4c5f0079fac63d7987e12ee71f3168517ea5e1064d5fe1f7455af Net-IPv4Addr-0.10.tar.gz"
diff --git a/unmaintained/perl-net-irr/APKBUILD b/unmaintained/perl-net-irr/APKBUILD
new file mode 100644
index 0000000000..45f4081724
--- /dev/null
+++ b/unmaintained/perl-net-irr/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-net-irr
+_pkgreal=Net-IRR
+pkgver=0.08
+pkgrel=0
+pkgdesc="Perl interface to the Internet Route Registry daemon"
+url="http://search.cpan.org/dist/Net-IRR/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev cairo-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/T/TC/TCAINE/$_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
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="188a1c6fc339a97042acbc0a136964d3 Net-IRR-0.08.tar.gz"
diff --git a/unmaintained/perl-net-netmask/APKBUILD b/unmaintained/perl-net-netmask/APKBUILD
new file mode 100644
index 0000000000..ca94794389
--- /dev/null
+++ b/unmaintained/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/unmaintained/perl-net-whois-ip/APKBUILD b/unmaintained/perl-net-whois-ip/APKBUILD
new file mode 100644
index 0000000000..9d89270ecd
--- /dev/null
+++ b/unmaintained/perl-net-whois-ip/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=perl-net-whois-ip
+_realname=Net-Whois-IP
+pkgver=1.19
+pkgrel=0
+pkgdesc="Perl extension for looking up the whois information for ip addresses"
+url="http://search.cpan.org/~bschmitz/Net-Whois-IP/"
+arch="noarch"
+license="PerlArtistic"
+depends="perl "
+depends_dev=""
+makedepends="perl-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/B/BS/BSCHMITZ/$_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="06b319f4da85f13b3ea757f589f37e17 Net-Whois-IP-1.19.tar.gz"
+sha256sums="f09bdfa0f1d2665b534826b5f3a8662349930eed2998efe4d8dbf98813147222 Net-Whois-IP-1.19.tar.gz"
+sha512sums="80d1be9dc6c8e9da74df97524f1a804f6ab64f1e016509944b1ba970c2a508e46cd6d633c6cfc2e9fa5d3fc8240500f81cbc90a27bdeab26cb7b590ba97758ae Net-Whois-IP-1.19.tar.gz"
diff --git a/unmaintained/perl-number-compare/APKBUILD b/unmaintained/perl-number-compare/APKBUILD
new file mode 100644
index 0000000000..5da1cab633
--- /dev/null
+++ b/unmaintained/perl-number-compare/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=perl-number-compare
+_pkgreal=Number-Compare
+pkgver=0.03
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Number-Compare/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/R/RC/RCLAMP/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="ded4085a8fc96328742785574ca65208 Number-Compare-0.03.tar.gz"
+sha256sums="83293737e803b43112830443fb5208ec5208a2e6ea512ed54ef8e4dd2b880827 Number-Compare-0.03.tar.gz"
+sha512sums="fc7efb0177bcb84142619b7d8c0252f4548e547650ddbe9cfafaba97b8ae791c20fbffa6f8b01449b9dd217d9914f94bfeaff57cdfdc2c11e2a1456992bd9893 Number-Compare-0.03.tar.gz"
diff --git a/unmaintained/perl-object-insideout/APKBUILD b/unmaintained/perl-object-insideout/APKBUILD
new file mode 100644
index 0000000000..a4e187dbb8
--- /dev/null
+++ b/unmaintained/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/unmaintained/perl-parallel-forkmanager/APKBUILD b/unmaintained/perl-parallel-forkmanager/APKBUILD
new file mode 100644
index 0000000000..0537ab84be
--- /dev/null
+++ b/unmaintained/perl-parallel-forkmanager/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-parallel-forkmanager
+_pkgreal=Parallel-ForkManager
+pkgver=0.7.9
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Parallel-ForkManager/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/D/DL/DLUX/$_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="b49dbc6fafb697945d33ffbded0009f7 Parallel-ForkManager-0.7.9.tar.gz"
diff --git a/unmaintained/perl-parser-mgc/APKBUILD b/unmaintained/perl-parser-mgc/APKBUILD
new file mode 100644
index 0000000000..5504d52203
--- /dev/null
+++ b/unmaintained/perl-parser-mgc/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-parser-mgc
+_pkgreal=Parser-MGC
+pkgver=0.10
+pkgrel=0
+pkgdesc="build simple recursive-descent parsers"
+url="http://search.cpan.org/dist/Parser-MGC/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-file-slurp"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PE/PEVANS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="a0bfd2b152bbcf59e08fa9892ad4a960 Parser-MGC-0.10.tar.gz"
diff --git a/unmaintained/perl-patchreader/APKBUILD b/unmaintained/perl-patchreader/APKBUILD
new file mode 100644
index 0000000000..962194563b
--- /dev/null
+++ b/unmaintained/perl-patchreader/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-patchreader
+_pkgreal=PatchReader
+pkgver=0.9.6
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/PatchReader/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/T/TM/TMANNERM/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="bd8da2388cd5ebc99a860b6d6bfeb8ad PatchReader-0.9.6.tar.gz"
diff --git a/unmaintained/perl-pdf-api2/APKBUILD b/unmaintained/perl-pdf-api2/APKBUILD
new file mode 100644
index 0000000000..0162ba7419
--- /dev/null
+++ b/unmaintained/perl-pdf-api2/APKBUILD
@@ -0,0 +1,43 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+pkgname=perl-pdf-api2
+_pkgreal=PDF-API2
+pkgver=2.025
+pkgrel=0
+pkgdesc="Facilitates the creation and modification of PDF files"
+url="http://search.cpan.org/dist/PDF-API2/"
+arch="noarch"
+license="open_source"
+cpandepends="perl-font-ttf"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/S/SS/SSIMMS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name uniglyph.txt -o -name perllocal.pod -o -name .packlist \) -delete
+ mv "$pkgdir"/usr/share/perl5/vendor_perl/* "$pkgdir"/usr/lib/perl5/vendor_perl
+ rm -fr "$pkgdir"/usr/share/perl5
+}
+
+md5sums="d8b5e8a8a08986816a0e97d5236de979 PDF-API2-2.025.tar.gz"
+sha256sums="123b49cd459526662d9e0c98c68a52294132051327abe07af1255d599e6d62ea PDF-API2-2.025.tar.gz"
+sha512sums="0dc2e880e77c1beabeed49a6dff0378ebed3eca8f7235a199bd8ffd1b3394af11e0ba2e9f662686407c5c03fde84590c57634ed6e9063c2684578772c2786f5c PDF-API2-2.025.tar.gz"
diff --git a/unmaintained/perl-perl6-classes/APKBUILD b/unmaintained/perl-perl6-classes/APKBUILD
new file mode 100644
index 0000000000..0f4318c5f6
--- /dev/null
+++ b/unmaintained/perl-perl6-classes/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-perl6-classes
+_pkgreal=Perl6-Classes
+pkgver=0.22
+pkgrel=0
+pkgdesc="First-class, concise classes in Perl 5"
+url="http://search.cpan.org/dist/Perl6-Classes/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/L/LP/LPALMER/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="9c2c055460a5866e8b7a8036c3c02eb7 Perl6-Classes-0.22.tar.gz"
diff --git a/unmaintained/perl-perl6-slurp/APKBUILD b/unmaintained/perl-perl6-slurp/APKBUILD
new file mode 100644
index 0000000000..9c25e13df7
--- /dev/null
+++ b/unmaintained/perl-perl6-slurp/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-perl6-slurp
+_pkgreal=Perl6-Slurp
+pkgver=0.051001
+pkgrel=0
+pkgdesc="Implements the Perl 6 'slurp' built-in"
+url="http://search.cpan.org/dist/Perl6-Slurp/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/D/DC/DCONWAY/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="690bde052b583fcec21f7c38a82f3c9c Perl6-Slurp-0.051001.tar.gz"
diff --git a/unmaintained/perl-proc-syncexec/APKBUILD b/unmaintained/perl-proc-syncexec/APKBUILD
new file mode 100644
index 0000000000..8e27d740a5
--- /dev/null
+++ b/unmaintained/perl-proc-syncexec/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-proc-syncexec
+_pkgreal=Proc-SyncExec
+pkgver=1.01
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Proc-SyncExec/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/R/RO/ROSCH/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="38dd51ed78504d73bf6520a044744cb8 Proc-SyncExec-1.01.tar.gz"
diff --git a/unmaintained/perl-proc-waitstat/APKBUILD b/unmaintained/perl-proc-waitstat/APKBUILD
new file mode 100644
index 0000000000..e4803053e0
--- /dev/null
+++ b/unmaintained/perl-proc-waitstat/APKBUILD
@@ -0,0 +1,43 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+pkgname=perl-proc-waitstat
+_pkgreal=Proc-WaitStat
+pkgver=1.00
+pkgrel=0
+pkgdesc="Perl module interpret and act on wait() status values"
+url="http://search.cpan.org/dist/Proc-WaitStat/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-ipc-signal"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/R/RO/ROSCH/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+ mv "$pkgdir"/usr/share/perl5/vendor_perl/* "$pkgdir"/usr/lib/perl5/vendor_perl
+ rm -fr "$pkgdir"/usr/share/perl5
+}
+
+md5sums="b911bd579b6b142391b21de1efa30c95 Proc-WaitStat-1.00.tar.gz"
+sha256sums="d07563f5e787909d16e7390241e877f49ab739b1de9d0e2ea1a41bd0bf4474bc Proc-WaitStat-1.00.tar.gz"
+sha512sums="7abc1c3771ec560e6138cc7709ca4527a34c897067e13afd57d096d664d6d11a1d80898a955404d8b583972eae8c80689fd8421adaee9bed2601e47afe9ef235 Proc-WaitStat-1.00.tar.gz"
diff --git a/unmaintained/perl-provide/APKBUILD b/unmaintained/perl-provide/APKBUILD
new file mode 100644
index 0000000000..6dc7465082
--- /dev/null
+++ b/unmaintained/perl-provide/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-provide
+_pkgreal=provide
+pkgver=0.03
+pkgrel=0
+pkgdesc="easily choose between different version-specific implementations"
+url="http://search.cpan.org/dist/provide/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/B/BE/BELDEN/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="213587bbc758179d39c40285d83fe575 provide-0.03.tar.gz"
+sha256sums="565c8a5e4b09e6724bf8a2df33a4364e98c05dd7d2835821457a2f787cfe2446 provide-0.03.tar.gz"
+sha512sums="d16762c4c2ecc69619904d9eb81cbc75dc253f85bf2c52ec17d08b3fa64ebf1897521e9d60cb541884e9ccf0fe0b51420eb57d4b09daabeda29ea00d8a90f6f1 provide-0.03.tar.gz"
diff --git a/unmaintained/perl-radiusperl/APKBUILD b/unmaintained/perl-radiusperl/APKBUILD
new file mode 100644
index 0000000000..cde96744b2
--- /dev/null
+++ b/unmaintained/perl-radiusperl/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-radiusperl
+_pkgreal=Authen-Radius
+pkgver=0.23
+pkgrel=0
+pkgdesc="Perl module for RadiusPerl"
+url="http://search.cpan.org/dist/RadiusPerl/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends="perl-data-hexdump perl-digest-perl-md5 perl-data-dumper"
+depends="$cpandepends"
+makedepends="perl-dev freeradius-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/M/MA/MANOWAR/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ cd "$_builddir"
+ mkdir -p ${pkgdir}/etc/raddb
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ sed -i "s:/etc/raddb:$pkgdir/etc/raddb:" install-radius-db.PL
+ make
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p ${pkgdir}/etc/raddb
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="556c5bea85f67ab83ec247a74c65e27e Authen-Radius-0.23.tar.gz"
+sha256sums="43c0f3a5bee279156de78b7fbd99f22401994ae82e1adeda09c88b5c53dd50c3 Authen-Radius-0.23.tar.gz"
+sha512sums="110dde66ebb23cea256c093e139deb51eb755c051deaf1e221be20b9a7d689b234d2033d911c30f4212f47848751793c7c33393841270e230334f8528c68f61a Authen-Radius-0.23.tar.gz"
diff --git a/unmaintained/perl-set-intspan-fast/APKBUILD b/unmaintained/perl-set-intspan-fast/APKBUILD
new file mode 100644
index 0000000000..746d02f3ef
--- /dev/null
+++ b/unmaintained/perl-set-intspan-fast/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-set-intspan-fast
+_pkgreal=Set-IntSpan-Fast
+pkgver=1.15
+pkgrel=0
+pkgdesc="Fast handling of sets containing integer spans."
+url="http://search.cpan.org/dist/Set-IntSpan-Fast/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-data-types"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/A/AN/ANDYA/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="d75b52c20f3a365f137b4e0f6e25f888 Set-IntSpan-Fast-1.15.tar.gz"
diff --git a/unmaintained/perl-shell-config-generate/APKBUILD b/unmaintained/perl-shell-config-generate/APKBUILD
new file mode 100644
index 0000000000..1b15a6e593
--- /dev/null
+++ b/unmaintained/perl-shell-config-generate/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-shell-config-generate
+_pkgreal=Shell-Config-Generate
+pkgver=0.24
+pkgrel=0
+pkgdesc="Portably generate config for any shell"
+url="http://search.cpan.org/dist/Shell-Config-Generate/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-shell-guess"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PL/PLICEASE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="4ec8afab38da4f266dcfd04ebe7d503a Shell-Config-Generate-0.24.tar.gz"
+sha256sums="b83b1b8e9b6bcef3626a3d54c1c937e1a0ce579ecd7c592383dc36b424225baf Shell-Config-Generate-0.24.tar.gz"
+sha512sums="0c1a95ec0f150a5776bcdb6d6ae6bcf59c29c7eec99c2f539f5dae7225507d785460890118ce82a7d2edbb17822e1fa19a9e5cf4a7e273d14cbce6284616ea7b Shell-Config-Generate-0.24.tar.gz"
diff --git a/unmaintained/perl-shell-guess/APKBUILD b/unmaintained/perl-shell-guess/APKBUILD
new file mode 100644
index 0000000000..170bf1f28f
--- /dev/null
+++ b/unmaintained/perl-shell-guess/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-shell-guess
+_pkgreal=Shell-Guess
+pkgver=0.06
+pkgrel=1
+pkgdesc="Make an educated guess about the shell in use"
+url="http://search.cpan.org/dist/Shell-Guess/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends="perl-module-build"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PL/PLICEASE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="767d7628cd7d73f129029a649ef45a67 Shell-Guess-0.06.tar.gz"
+sha256sums="4758c98affcade0d8f3882f8c2a9ee671bf1eef72f1025796cff939f7e93be23 Shell-Guess-0.06.tar.gz"
+sha512sums="026a114059d9e4edb96f3bf73612564b38f8651e5007341b19c704aa1b109c53b1c88ada0ae1feb8dfa9759c979608f3658d3cfb52f6dbf1b927707e11876f98 Shell-Guess-0.06.tar.gz"
diff --git a/unmaintained/perl-snmp-info/APKBUILD b/unmaintained/perl-snmp-info/APKBUILD
new file mode 100644
index 0000000000..9d71484a1b
--- /dev/null
+++ b/unmaintained/perl-snmp-info/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-snmp-info
+_pkgreal=SNMP-Info
+pkgver=3.05
+pkgrel=0
+pkgdesc="Object Oriented Perl5 Interface to Network devices and MIBs through SNMP. "
+url="http://search.cpan.org/dist/SNMP-Info/"
+arch="noarch"
+license="bsd"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends net-snmp-perl"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/O/OL/OLIVER/$_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="7a183aecc831746494248af443e3d8c8 SNMP-Info-3.05.tar.gz"
+sha256sums="4ad0ee992763b6fa6904751318259f6405daefa4b4ce88de54adfc5177233a88 SNMP-Info-3.05.tar.gz"
+sha512sums="3a8f840e0ecdf6e543c45c1638b5bbb0488217347181d2c257cd1d92525b52e1bdf81dc14a4d98b5a0f202d2fb90352dd319ee45b00e7571b36ecbe9732d0d5f SNMP-Info-3.05.tar.gz"
diff --git a/unmaintained/perl-software-license/APKBUILD b/unmaintained/perl-software-license/APKBUILD
new file mode 100644
index 0000000000..2898e70942
--- /dev/null
+++ b/unmaintained/perl-software-license/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-software-license
+_pkgreal=Software-License
+pkgver=0.103004
+pkgrel=0
+pkgdesc="packages that provide templated software licenses"
+url="http://search.cpan.org/dist/Software-License/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-text-template perl-data-section perl-sub-install"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="0c5fd53d93818566234578b27d667b35 Software-License-0.103004.tar.gz"
diff --git a/unmaintained/perl-sort-versions/APKBUILD b/unmaintained/perl-sort-versions/APKBUILD
new file mode 100644
index 0000000000..bd1c3b8a22
--- /dev/null
+++ b/unmaintained/perl-sort-versions/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-sort-versions
+_pkgreal=Sort-Versions
+pkgver=1.61
+pkgrel=0
+pkgdesc="a perl 5 module for sorting of revision-like numbers"
+url="http://search.cpan.org/dist/Sort-Versions/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/N/NE/NEILB/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="5da4058c646c15465a8f9b2c1bf70cba Sort-Versions-1.61.tar.gz"
+sha256sums="3e58b98002e448eda425dcdd5c745b5d4ba9328d0022a60a84d333ef6df5a174 Sort-Versions-1.61.tar.gz"
+sha512sums="e1336ffe180ebd0a15bf77d5f216809def7d297958da5d4f5e6f816c67a55f22cad48e2462b533b8b530d00b5178cda553d6dd164b6c2d9478242974d31afb59 Sort-Versions-1.61.tar.gz"
diff --git a/unmaintained/perl-sql-abstract-limit/APKBUILD b/unmaintained/perl-sql-abstract-limit/APKBUILD
new file mode 100644
index 0000000000..89fbd372c6
--- /dev/null
+++ b/unmaintained/perl-sql-abstract-limit/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-sql-abstract-limit
+_pkgreal=SQL-Abstract-Limit
+pkgver=0.141
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/SQL-Abstract-Limit/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-test-exception perl-sql-abstract perl-dbi perl-test-deep"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/D/DA/DAVEBAIRD/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="d8dde39b1d7910ddf5457108c02be552 SQL-Abstract-Limit-0.141.tar.gz"
diff --git a/unmaintained/perl-term-shelly/APKBUILD b/unmaintained/perl-term-shelly/APKBUILD
new file mode 100644
index 0000000000..b37a7a003f
--- /dev/null
+++ b/unmaintained/perl-term-shelly/APKBUILD
@@ -0,0 +1,44 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-term-shelly
+_pkgreal=Term-Shelly
+pkgver=0.01
+pkgrel=0
+pkgdesc="Perl module for Term-Shelly"
+url="http://search.cpan.org/dist/Term-Shelly/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PS/PSIONIC/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal"
+
+prepare() {
+ cd "$_builddir"
+ if [ -e Build.PL ]; then
+ perl Build.PL installdirs=vendor || return 1
+ else
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ fi
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="e59c4f12bc4b2a38294355d964d43cd2 Term-Shelly-0.01.tar.gz"
+sha256sums="3785b2ef908433db10ea1dd17dc47b73ce2eb082318f9196b0718d236043fc6c Term-Shelly-0.01.tar.gz"
+sha512sums="1ed3d4cf765288ce93ae2e80fe7f83c1d8a09c5f3ce5a66d6fd89a178f168fb5c21d05d4a20e351b4104ccd756221b04a5477fa052c56eeb77b8247914f15db3 Term-Shelly-0.01.tar.gz"
diff --git a/unmaintained/perl-test-command/APKBUILD b/unmaintained/perl-test-command/APKBUILD
new file mode 100644
index 0000000000..4252d961b4
--- /dev/null
+++ b/unmaintained/perl-test-command/APKBUILD
@@ -0,0 +1,44 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=perl-test-command
+_pkgreal=Test-Command
+pkgver=0.11
+pkgrel=0
+pkgdesc="Perl module for Test-Command"
+url="http://search.cpan.org/dist/Test-Command/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends="perl-module-build"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/D/DA/DANBOO/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ if [ -e Build.PL ]; then
+ perl Build.PL installdirs=vendor || return 1
+ else
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ fi
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="9ab83c4695961dbe92cd86efe08f0634 Test-Command-0.11.tar.gz"
+sha256sums="28a3fc6fea73a19f563f11bd0f28186756d4c74207be6deacaad26d2081b9533 Test-Command-0.11.tar.gz"
+sha512sums="79a8f41132b965ad4f6e8b4d97f8fb6181a1e394bcf8825abda2c8ee12dd5f6ef8d7c69df84d306c3841bb516213742c4a0a43c2f3d6b39ce6e163d6d77f45f8 Test-Command-0.11.tar.gz"
diff --git a/unmaintained/perl-test-compile/APKBUILD b/unmaintained/perl-test-compile/APKBUILD
new file mode 100644
index 0000000000..357b20674c
--- /dev/null
+++ b/unmaintained/perl-test-compile/APKBUILD
@@ -0,0 +1,45 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=perl-test-compile
+_pkgreal=Test-Compile
+pkgver=v1.3.0
+pkgrel=0
+pkgdesc="Perl module for Test-Compile"
+url="http://search.cpan.org/dist/Test-Compile/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends="perl-module-build perl-devel-checkos perl-module-build
+ perl-test-warnings perl-universal-require"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/E/EG/EGILES/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ if [ -e Build.PL ]; then
+ perl Build.PL installdirs=vendor || return 1
+ else
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ fi
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="c7e8c9255d818823d440ac640527e7f8 Test-Compile-v1.3.0.tar.gz"
+sha256sums="77527e9477ac5260443c756367a7f7bc3d8f6c6ebbc561b0b2fb3f79303bad33 Test-Compile-v1.3.0.tar.gz"
+sha512sums="58396ed37a668ad005955193dfdad435d4b92f16334ed83f1ec5de8e1046bef8eec452ccefa277311f8eb903c7872fcc6ebacfeba112621f8b8ca05841089ef8 Test-Compile-v1.3.0.tar.gz"
diff --git a/unmaintained/perl-test-easy/APKBUILD b/unmaintained/perl-test-easy/APKBUILD
new file mode 100644
index 0000000000..a3052632da
--- /dev/null
+++ b/unmaintained/perl-test-easy/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-test-easy
+_pkgreal=Test-Easy
+pkgver=1.11
+pkgrel=0
+pkgdesc="facilitates easy testing patterns"
+url="http://search.cpan.org/dist/Test-Easy/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-functional-utility perl-data-denter perl-hash-mostutils perl-test-resub perl-data-difflet"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/B/BE/BELDEN/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="72cf55e3846a87fa0505d9e75611da3e Test-Easy-1.11.tar.gz"
+sha256sums="1e8935ddc125be7c1eaab144a12dbf84d5dde3552f4912fcdd2dcede5eabf25d Test-Easy-1.11.tar.gz"
+sha512sums="cbcaa726183de305881023f21bd33c752f4d0a732d49ac8ba8d43798204b73774f802d57c5da342e31a543230bf225e1f725c700c334a1b6c5a475b933035e77 Test-Easy-1.11.tar.gz"
diff --git a/unmaintained/perl-test-most/APKBUILD b/unmaintained/perl-test-most/APKBUILD
new file mode 100644
index 0000000000..9e44695660
--- /dev/null
+++ b/unmaintained/perl-test-most/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-test-most
+_pkgreal=Test-Most
+pkgver=0.34
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Test-Most/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-exception-class perl-test-differences perl-test-warn perl-test-exception perl-test-deep"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/O/OV/OVID/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="6fa1f097bedbc18f46b08ac9eb79bba9 Test-Most-0.34.tar.gz"
+sha256sums="c2820c8de65f5fa59f218ac2be9be98b22cc1bb1a1f371e04375aa3b6054e244 Test-Most-0.34.tar.gz"
+sha512sums="00706bb25e6b9f806b536f75f66356413cdbcb19efd1c8b163fbd3357f61abe9e06e57c311eff216d36962ce74beb996db6cd4f0d2e5ed58fa5c0a0af32a33ef Test-Most-0.34.tar.gz"
diff --git a/unmaintained/perl-test-resub/APKBUILD b/unmaintained/perl-test-resub/APKBUILD
new file mode 100644
index 0000000000..c62815a119
--- /dev/null
+++ b/unmaintained/perl-test-resub/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-test-resub
+_pkgreal=Test-Resub
+pkgver=2.03
+pkgrel=0
+pkgdesc="Lexically scoped monkey patching for testing"
+url="http://search.cpan.org/dist/Test-Resub/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KO/KOLYA/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="8af92b5ec6f3275c88f1a17616d8e8ae Test-Resub-2.03.tar.gz"
+sha256sums="5bc04e7ff90b01c8677b0c3ddaf1be9382c6ace55ab25b0f72e3f935e570da52 Test-Resub-2.03.tar.gz"
+sha512sums="f8f5a51adc21296ee7902f029a1aeaf6c34d2c9ced908dad7ffe09b7256d05d222429aab47d5138e7b733456218441a4ea106e16968267ee3b4ad36850244c68 Test-Resub-2.03.tar.gz"
diff --git a/unmaintained/perl-text-glob/APKBUILD b/unmaintained/perl-text-glob/APKBUILD
new file mode 100644
index 0000000000..3b3294878c
--- /dev/null
+++ b/unmaintained/perl-text-glob/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-text-glob
+_pkgreal=Text-Glob
+pkgver=0.09
+pkgrel=0
+pkgdesc="match globbing patterns against text"
+url="http://search.cpan.org/dist/Text-Glob/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/R/RC/RCLAMP/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="1daa10e087f891c49b720a5c551a024b Text-Glob-0.09.tar.gz"
diff --git a/unmaintained/perl-text-parsewords/APKBUILD b/unmaintained/perl-text-parsewords/APKBUILD
new file mode 100644
index 0000000000..28a6dcd475
--- /dev/null
+++ b/unmaintained/perl-text-parsewords/APKBUILD
@@ -0,0 +1,42 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-text-parsewords
+_pkgreal=Text-ParseWords
+pkgver=3.27
+pkgrel=0
+pkgdesc="Perl module for Text-ParseWords"
+url="http://search.cpan.org/dist/Text-ParseWords/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/C/CH/CHORNY/$_pkgreal-$pkgver.zip"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ if [ -e Build.PL ]; then
+ perl Build.PL installdirs=vendor || return 1
+ else
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ fi
+}
+
+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="620fee5eece9b8d4a7a68e91fe617097 Text-ParseWords-3.27.zip"
diff --git a/unmaintained/perl-tie-cache/APKBUILD b/unmaintained/perl-tie-cache/APKBUILD
new file mode 100644
index 0000000000..6d731c4dbc
--- /dev/null
+++ b/unmaintained/perl-tie-cache/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-tie-cache
+_pkgreal=Tie-Cache
+pkgver=0.19
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Tie-Cache/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/C/CH/CHAMAS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="5feed6d26f5458441231e688df94240b Tie-Cache-0.19.tar.gz"
diff --git a/unmaintained/perl-tie-refhash-weak/APKBUILD b/unmaintained/perl-tie-refhash-weak/APKBUILD
new file mode 100644
index 0000000000..e1f8b89d68
--- /dev/null
+++ b/unmaintained/perl-tie-refhash-weak/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-tie-refhash-weak
+_pkgreal=Tie-RefHash-Weak
+pkgver=0.09
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Tie-RefHash-Weak/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-variable-magic perl-task-weaken"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/N/NU/NUFFIN/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="c7c6793fab417c9761d88f596dfb32e9 Tie-RefHash-Weak-0.09.tar.gz"
diff --git a/unmaintained/perl-tie-tz/APKBUILD b/unmaintained/perl-tie-tz/APKBUILD
new file mode 100644
index 0000000000..8a88adddf1
--- /dev/null
+++ b/unmaintained/perl-tie-tz/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-tie-tz
+_pkgreal=Tie-TZ
+pkgver=9
+pkgrel=0
+pkgdesc="Tied TZ env var calling tzset() when changed."
+url="http://search.cpan.org/dist/Tie-TZ/"
+arch="noarch"
+license="open_source"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="4402c26b5a25378c67d556f8217a961f Tie-TZ-9.tar.gz"
diff --git a/unmaintained/perl-time-local/APKBUILD b/unmaintained/perl-time-local/APKBUILD
new file mode 100644
index 0000000000..62ae9966d7
--- /dev/null
+++ b/unmaintained/perl-time-local/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-time-local
+_pkgreal=Time-Local
+pkgver=1.2000
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Time-Local/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/$_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="dc9c362e980830d62b1e9653ca4f27fd Time-Local-1.2000.tar.gz"
diff --git a/unmaintained/perl-time-unix/APKBUILD b/unmaintained/perl-time-unix/APKBUILD
new file mode 100644
index 0000000000..5d1583954d
--- /dev/null
+++ b/unmaintained/perl-time-unix/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-time-unix
+_pkgreal=Time-Unix
+pkgver=1.03
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Time-Unix/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/N/NW/NWIGER/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="dbf8b0bf572be52696ac41da014495d2 Time-Unix-1.03.tar.gz"
diff --git a/unmaintained/perl-types-serialiser/APKBUILD b/unmaintained/perl-types-serialiser/APKBUILD
new file mode 100644
index 0000000000..90557dcba9
--- /dev/null
+++ b/unmaintained/perl-types-serialiser/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-types-serialiser
+_pkgreal=Types-Serialiser
+pkgver=1.0
+pkgrel=1
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Types-Serialiser/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=
+cpanmakedepends="perl-common-sense"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="76460a2bfbc644672499af89192e03fe Types-Serialiser-1.0.tar.gz"
+sha256sums="7ad3347849d8a3da6470135018d6af5fd8e58b4057cd568c3813695f2a04730d Types-Serialiser-1.0.tar.gz"
+sha512sums="b786bcd3ee976a6ad948cc98a9c71d2cdcd30f485528eff059091f6d86ae7078c10ba2dc2982326fcf0184dbfbdddea84daff324c6ec6a129fe6aac01253c8fb Types-Serialiser-1.0.tar.gz"
diff --git a/unmaintained/perl-universal-moniker/APKBUILD b/unmaintained/perl-universal-moniker/APKBUILD
new file mode 100644
index 0000000000..c1a2e265bd
--- /dev/null
+++ b/unmaintained/perl-universal-moniker/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=perl-universal-moniker
+_pkgreal=UNIVERSAL-moniker
+pkgver=0.08
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/UNIVERSAL-moniker/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/K/KA/KASEI/$_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="e59b97ccf88f9fa68c3e5c18d7059d57 UNIVERSAL-moniker-0.08.tar.gz"
diff --git a/unmaintained/perl-uri-find-simple/APKBUILD b/unmaintained/perl-uri-find-simple/APKBUILD
new file mode 100644
index 0000000000..c34a901608
--- /dev/null
+++ b/unmaintained/perl-uri-find-simple/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-uri-find-simple
+_pkgreal=URI-Find-Simple
+pkgver=1.03
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/URI-Find-Simple/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-uri-find"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/T/TO/TOMI/$_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="a3d62887ea6b6a17559364e8a31fcd8f URI-Find-Simple-1.03.tar.gz"
diff --git a/unmaintained/perl-uri-find/APKBUILD b/unmaintained/perl-uri-find/APKBUILD
new file mode 100644
index 0000000000..8cf761fde4
--- /dev/null
+++ b/unmaintained/perl-uri-find/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-uri-find
+_pkgreal=URI-Find
+pkgver=20111103
+pkgrel=0
+pkgdesc="Find URIs in arbitrary text"
+url="http://search.cpan.org/dist/URI-Find/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-uri"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/M/MS/MSCHWERN/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="7129448917d708aeaab2153a5adfbf0d URI-Find-20111103.tar.gz"
diff --git a/unmaintained/perl-webservice-swigclient/APKBUILD b/unmaintained/perl-webservice-swigclient/APKBUILD
new file mode 100644
index 0000000000..4803f27dd0
--- /dev/null
+++ b/unmaintained/perl-webservice-swigclient/APKBUILD
@@ -0,0 +1,42 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-webservice-swigclient
+_pkgreal=WebService-SwigClient
+pkgver=0.001
+pkgrel=1
+pkgdesc="A client for connecting to a swig service"
+url="http://search.cpan.org/dist/WebService-SwigClient/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-test-most perl-test-easy perl-moo perl-file-slurp
+ perl-www-curl perl-json-xs perl-common-sense perl-types-serialiser"
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/L/LO/LOGIE/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="c768087fd5d39019e51411931ef7acc8 WebService-SwigClient-0.001.tar.gz"
+sha256sums="137d28f5efcfe1c7737d2f0a5bdc9f955c3d14ee2a10a6d5cfa3e0a4851f8d2d WebService-SwigClient-0.001.tar.gz"
+sha512sums="0e1eb0981b1bbc8f004689be85b20e87b1806d43748039831e0bdb032243bb573e43c974725c865d8c98333a376882460fd77c7b247f245370891a42ee2262b1 WebService-SwigClient-0.001.tar.gz"
diff --git a/unmaintained/perl-xml-generator/APKBUILD b/unmaintained/perl-xml-generator/APKBUILD
new file mode 100644
index 0000000000..9799151902
--- /dev/null
+++ b/unmaintained/perl-xml-generator/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-xml-generator
+_pkgreal=XML-Generator
+pkgver=1.04
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/XML-Generator/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" "
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/B/BH/BHOLZMAN/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="1ea1e239bdf3fd6f762c484753776626 XML-Generator-1.04.tar.gz"
+sha256sums="b0b6e3b69ce2c08f2ba00a37041bce08a3524b8a76de7ef781e92bfac2d92994 XML-Generator-1.04.tar.gz"
+sha512sums="ce151a2d575c9ec4cd42819a5d573bfc4985e0daa3945c310d61bb0a6376e4b8a0dcef5ce89e444795d99c9751719d45981675d1418ba6d729d152187688d552 XML-Generator-1.04.tar.gz"
diff --git a/unmaintained/perl-yaml-tiny/APKBUILD b/unmaintained/perl-yaml-tiny/APKBUILD
new file mode 100644
index 0000000000..9cd81c3d83
--- /dev/null
+++ b/unmaintained/perl-yaml-tiny/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor:
+# Maintainer:
+pkgname=perl-yaml-tiny
+_pkgreal=YAML-Tiny
+pkgver=1.69
+pkgrel=0
+pkgdesc="Read/Write YAML files with as little code as possible"
+url="http://search.cpan.org/dist/YAML-Tiny/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=" perl-json-maybexs"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="7deacd0ee428038407ccc5cd0b50f66f YAML-Tiny-1.69.tar.gz"
+sha256sums="bc8cb059492b9e4f7be1bcefd99dfa834b13438d48fd465c1e312223f584f592 YAML-Tiny-1.69.tar.gz"
+sha512sums="64c3428691f78d94bedf7f3b3276f7868d7280ca6d3c9a7a2e8137568d0da2fc94c766f9873f2796898386d6e7d3d1010c790fcc119f3d4d743becfa39d56a2c YAML-Tiny-1.69.tar.gz"
diff --git a/unmaintained/pgagent/APKBUILD b/unmaintained/pgagent/APKBUILD
new file mode 100644
index 0000000000..ae9eaea343
--- /dev/null
+++ b/unmaintained/pgagent/APKBUILD
@@ -0,0 +1,64 @@
+# Contributor: Rafal Rzepecki <rafal@conjur.net>
+# Maintainer:
+pkgname=pgagent
+pkgver=3.4.0
+pkgrel=0
+pkgdesc="a job scheduler for PostgreSQL"
+url="http://www.pgadmin.org/docs/dev/pgagent.html"
+arch="all"
+license="POSTGRESQL"
+depends="wxgtk2.8-base postgresql"
+depends_dev="wxgtk2.8-dev postgresql-dev"
+makedepends="$depends_dev cmake"
+install=""
+subpackages="$pkgname-doc"
+source="
+ https://ftp.postgresql.org/pub/pgadmin3/release/pgagent/pgAgent-$pkgver-Source.tar.gz
+ pgagent.initd
+ pgagent.confd
+"
+
+_builddir="$srcdir"/pgAgent-$pkgver-Source
+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 -DSTATIC_BUILD:BOOLEAN=FALSE
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+
+ make DESTDIR="$pkgdir" install
+
+ # remove useless doc files
+ rm "$pkgdir"/usr/README
+ rm "$pkgdir"/usr/LICENSE
+
+ 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
+
+ install -Dm644 "$_builddir"/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ install -Dm644 "$_builddir"/README "$pkgdir"/usr/share/doc/$pkgname/README
+}
+
+md5sums="187caa1843f0d82f6caa1be0f80d6232 pgAgent-3.4.0-Source.tar.gz
+c719d251f7617583864b9b5f7128bf6f pgagent.initd
+c64e1925e38a93ad66f701d3015ae970 pgagent.confd"
+sha256sums="0da0ac8f453cf34ab6f708eee036bed0fd0e5fa311de283b92d2ff06600bbb3d pgAgent-3.4.0-Source.tar.gz
+b37ac8a8e95144e19c04cc02fd508515b44ef4ac74b2572e48c55d91b04d679f pgagent.initd
+2bdf4166ff53c57b382788b89818e6c3298fbaa291092236883bd03e08970d4b pgagent.confd"
+sha512sums="3b068fc6f5e51ff20604f8cec3e067d04b5b1537229da15ee442000f5fe834697a4eae86be0e9a58b8ee5da24cc985c8c9804d71cb2a50e93ec4cf9a424a4ff0 pgAgent-3.4.0-Source.tar.gz
+e84bf6c3a2bb9d2d8afad2dda7ebcac80ede19a5595ccbe31251731917c3f2337ca3fca68bc47ca8f51bb6e765a0c1e54eabf60466a42d1a6938399d13b71a79 pgagent.initd
+fe9fcdd33225a361cbd007ac5bef439946714da9a990169222b8ba88e63362a753e80490ab9402f146ec6a6782b3457846039cc0ad84bf0cdf0c231deec1c286 pgagent.confd"
diff --git a/unmaintained/pgagent/pgagent.confd b/unmaintained/pgagent/pgagent.confd
new file mode 100644
index 0000000000..a85be20614
--- /dev/null
+++ b/unmaintained/pgagent/pgagent.confd
@@ -0,0 +1,22 @@
+# Pool time interval
+PGA_POLL="10"
+
+# Retry period
+PGA_RETRY="30"
+
+# Log file
+PGA_LOG="/var/log/pgagent.log"
+
+# Logging verbosity
+# ERROR=0, WARNING=1, DEBUG=2
+PGA_LEVEL="1"
+
+# Server parameters
+# Host address
+PG_HOST="localhost"
+
+# DB name
+PG_DBNAME="postgres"
+
+# Username
+PG_USER="postgres"
diff --git a/unmaintained/pgagent/pgagent.initd b/unmaintained/pgagent/pgagent.initd
new file mode 100644
index 0000000000..0e37fcc6b5
--- /dev/null
+++ b/unmaintained/pgagent/pgagent.initd
@@ -0,0 +1,25 @@
+#!/sbin/runscript
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/pgagent/files/pgagent.initd,v 1.1 2012/04/28 18:34:11 titanofold Exp $
+
+PGAGENTOPT="-t ${PGA_POLL} -r ${PGA_RETRY} -s ${PGA_LOG} -l ${PGA_LEVEL}"
+
+PGOPT="hostaddr=${PG_HOST} dbname=${PG_DBNAME} user=${PG_USER}"
+
+depend() {
+ use net
+ need postgresql
+}
+
+start() {
+ ebegin "Starting pgagent"
+ start-stop-daemon --start --exec /usr/bin/pgagent -- ${PGAGENTOPT} ${PGOPT}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping pgagent"
+ start-stop-daemon --stop --name pgagent
+ eend $?
+}
diff --git a/unmaintained/php-blenc/APKBUILD b/unmaintained/php-blenc/APKBUILD
new file mode 100644
index 0000000000..53780f828d
--- /dev/null
+++ b/unmaintained/php-blenc/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Diaz Devera Victor <vitronic2@gmail.com>
+pkgname=php-blenc
+_pkgreal=blenc
+pkgver=1.1.4b
+_pkgver=${pkgver/_rc/RC}
+pkgrel=0
+pkgdesc="PHP extension provides blowfish encryption for php scripts"
+url="http://pecl.php.net/package/$_pkgreal"
+arch="all"
+license="PHP"
+depends=
+pecldepends="php-dev autoconf"
+makedepends="$pecldepends"
+install=""
+subpackages=""
+source="http://pecl.php.net/get/$_pkgreal-$_pkgver.tgz"
+
+_builddir="$srcdir"/$_pkgreal-$_pkgver
+
+build() {
+ cd "$_builddir"
+ phpize || return 1
+ ./configure --prefix=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make INSTALL_ROOT="$pkgdir"/ install || return 1
+ install -d "$pkgdir"/etc/php/conf.d || return 1
+ echo "extension=$_pkgreal.so" > "$pkgdir"/etc/php/conf.d/$_pkgreal.ini
+}
+
+md5sums="90ab57bf63854f7927ae66c2b3a40a7d blenc-1.1.4b.tgz"
+sha256sums="9f366346b0f1f76aa0e3d301fbe2b65de4dff291560a9a3a89f52a592ed0eaf0 blenc-1.1.4b.tgz"
+sha512sums="308011ae8ae3532e9bf6467bb90fe3fc26dfe9b49b10f76f9137e7529ca8b5040ebd750a87b221667db3cd180af5e11e517484fa43eaa5371e17ad0a96332c25 blenc-1.1.4b.tgz"
diff --git a/unmaintained/php-gmagick/APKBUILD b/unmaintained/php-gmagick/APKBUILD
new file mode 100644
index 0000000000..08e36b01ad
--- /dev/null
+++ b/unmaintained/php-gmagick/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+pkgname=php-gmagick
+_pkgreal=gmagick
+pkgver=1.1.7_rc3
+_pkgver=${pkgver/_rc/RC}
+pkgrel=0
+pkgdesc="PHP bindings to the GraphicsMagick library"
+url="http://pecl.php.net/package/$_pkgreal"
+arch="all"
+license="PHP"
+depends=
+pecldepends="php-dev autoconf"
+makedepends="$pecldepends graphicsmagick-dev"
+install=""
+subpackages=""
+source="http://pecl.php.net/get/$_pkgreal-$_pkgver.tgz"
+
+_builddir="$srcdir"/$_pkgreal-$_pkgver
+
+build() {
+ cd "$_builddir"
+ phpize || return 1
+ ./configure --prefix=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make INSTALL_ROOT="$pkgdir/" install || return 1
+ install -d "$pkgdir"/etc/php/conf.d || return 1
+ echo "extension=$_pkgreal.so" > "$pkgdir"/etc/php/conf.d/$_pkgreal.ini
+}
+
+md5sums="b11fe7922daf32a2f82956a3501c7c7b gmagick-1.1.7RC3.tgz"
+sha256sums="1d2a35811a29e0744e852dda526f30c8a0cba516ef611758dd5bd4837ecba1fd gmagick-1.1.7RC3.tgz"
+sha512sums="a51f148dc16322bcd5586b4af059389159edab1de4ada5743a5ef6dd8d4f001a21f955dc8fd2dac2969a5048db89e3b8031da3a2f519d59fcb1f8e6afa4d8dd9 gmagick-1.1.7RC3.tgz"
diff --git a/unmaintained/php-pear-auth_sasl/APKBUILD b/unmaintained/php-pear-auth_sasl/APKBUILD
new file mode 100644
index 0000000000..69400b2b0b
--- /dev/null
+++ b/unmaintained/php-pear-auth_sasl/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+pkgname=php-pear-auth_sasl
+_pkgreal=Auth_SASL
+pkgver=1.0.6
+pkgrel=0
+pkgdesc="Abstraction of various SASL mechanism responses"
+url="http://pear.php.net/package/$_pkgreal"
+arch="noarch"
+license="PHP"
+depends="php-pear"
+depends_dev=""
+makedepends="$depends_dev php-pear"
+install=""
+subpackages=""
+source="http://download.pear.php.net/package/$_pkgreal-$pkgver.tgz"
+
+_builddir="$srcdir"/$_pkgreal-$pkgver
+
+package() {
+ cd "$_builddir"
+ install -d "$pkgdir"/usr/share/pear
+ mv Auth "$pkgdir"/usr/share/pear
+ find "$pkgdir"/usr/share/pear -name *.php -exec chmod -x {} \;
+}
+
+md5sums="75792cb080b66c3ed942c793ce977b09 Auth_SASL-1.0.6.tgz"
+sha256sums="92928ebfb67b0c108956f354ecc1b9859d05a7659d7f49c9b26a8c23a96662da Auth_SASL-1.0.6.tgz"
+sha512sums="af1376ba54349ee3cba9e1cacfaf33fff96ac4eb45682447e1b5862136c774e1737d2206341264bf4d74ad4203e8d465407fdcd5c23670e40eed4678864030cb Auth_SASL-1.0.6.tgz"
diff --git a/unmaintained/php-rrd/APKBUILD b/unmaintained/php-rrd/APKBUILD
new file mode 100644
index 0000000000..ba235d7fea
--- /dev/null
+++ b/unmaintained/php-rrd/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Diaz Devera Victor <vitronic2@gmail.com>
+pkgname=php-rrd
+_pkgreal=rrd
+pkgver=1.1.3
+_pkgver=${pkgver/_rc/RC}
+pkgrel=0
+pkgdesc="PHP extension that provides bindings to rrd tool system"
+url="http://pecl.php.net/package/$_pkgreal"
+arch="all"
+license="PHP"
+depends=
+pecldepends="php-dev autoconf"
+makedepends="$pecldepends rrdtool-dev"
+install=""
+subpackages=""
+source="http://pecl.php.net/get/$_pkgreal-$_pkgver.tgz"
+
+_builddir="$srcdir"/$_pkgreal-$_pkgver
+
+build() {
+ cd "$_builddir"
+ phpize || return 1
+ ./configure --prefix=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make INSTALL_ROOT="$pkgdir"/ install || return 1
+ install -d "$pkgdir"/etc/php/conf.d || return 1
+ echo "extension=$_pkgreal.so" > "$pkgdir"/etc/php/conf.d/$_pkgreal.ini
+}
+
+md5sums="bde6c50fa2aa39090ed22e574ac71c5a rrd-1.1.3.tgz"
+sha256sums="0415ac51e09fe2e7a999d155d10d6af42ddf40ab0b4847a63ed1f9458533858e rrd-1.1.3.tgz"
+sha512sums="356264de1b967af0f78e25e3c0afcbec704dd3e49d828e08d21d744d5fcdc46f4cd7f7c118b4e283c20bcaf2a4c29e0ac9437c7f66ca0d260a76fddf7b9d3242 rrd-1.1.3.tgz"
diff --git a/unmaintained/php-suhosin/0001-php_flock-undefined-variable-fix.patch b/unmaintained/php-suhosin/0001-php_flock-undefined-variable-fix.patch
new file mode 100644
index 0000000000..eb08b1f52e
--- /dev/null
+++ b/unmaintained/php-suhosin/0001-php_flock-undefined-variable-fix.patch
@@ -0,0 +1,27 @@
+From 2979ca419e3c38252384e6b4a23c53736645542a Mon Sep 17 00:00:00 2001
+From: "V.Krishn" <vkrishn4@gmail.com>
+Date: Tue, 16 Feb 2016 20:33:31 +0530
+Subject: [PATCH] php_flock undefined variable fix
+
+---
+ log.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/log.c b/log.c
+index eae3841..77cbfa7 100644
+--- a/log.c
++++ b/log.c
+@@ -30,6 +30,9 @@
+ #include <fcntl.h>
+ #include "SAPI.h"
+ #include "ext/standard/datetime.h"
++
++#define LOCK_EX 2
++#define LOCK_UN 3
+ #include "ext/standard/flock_compat.h"
+
+ #ifdef HAVE_SYS_SOCKET_H
+--
+1.7.10.4
+
+
diff --git a/unmaintained/php-suhosin/APKBUILD b/unmaintained/php-suhosin/APKBUILD
new file mode 100644
index 0000000000..dbbcac4b6d
--- /dev/null
+++ b/unmaintained/php-suhosin/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: V.Krishn <vkrishn4@gmail.com>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=php-suhosin
+_pkgreal=suhosin
+pkgver=0.9.38
+_pkgver=${pkgver/_rc/RC}
+pkgrel=1
+pkgdesc="PHP extension SUHOSIN, An advanced protection system for PHP installations"
+url="http://suhosin.org"
+arch="all"
+license="PHP"
+depends=
+pecldepends="php-dev autoconf"
+makedepends="$pecldepends re2c"
+install=""
+subpackages=""
+source="https://download.suhosin.org/$_pkgreal-$_pkgver.tar.gz
+ 0001-php_flock-undefined-variable-fix.patch
+ "
+
+_srcdir="${srcdir}/$_pkgreal-$_pkgver"
+_builddir="${srcdir}"/$_pkgreal-$_pkgver
+prepare() {
+ cd "$_srcdir"
+ for i in $source; do
+ case $i in
+ *.patch)
+ msg "Applying $i"
+ patch -p1 -i "$srcdir"/$i || return 1
+ ;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ phpize || return 1
+ ./configure --prefix=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make INSTALL_ROOT="$pkgdir"/ install || return 1
+ install -d "$pkgdir"/etc/php/conf.d || return 1
+ echo "extension=$_pkgreal.so" > "$pkgdir"/etc/php/conf.d/$_pkgreal.ini
+}
+
+md5sums="0c26402752b0aff69e4b891f062a52bf suhosin-0.9.38.tar.gz
+c7b5679b138f3605f20a4c4b5742b759 0001-php_flock-undefined-variable-fix.patch"
+sha256sums="c02d76c4e7ce777910a37c18181cb67fd9e90efe0107feab3de3131b5f89bcea suhosin-0.9.38.tar.gz
+aeaf1969d67b954a155fc3eb303c47be66a447768ef90712c0efd887fa4c3c68 0001-php_flock-undefined-variable-fix.patch"
+sha512sums="cc4eb38b5d6673cc3f2dc395e5a8b5461d3221019ac9849b747b6d5bae423cd5bd01a75b9432414dc7c26c78bab9f2381a5414712a6906a999f3ec9dc77ebc45 suhosin-0.9.38.tar.gz
+d9bd1df73d33014d8e35e5094072e7b4aae2347f83154c0162880bbb2a2463e10d18709aa0fe685342831efdfe06a67886e25db9a9f059d1e0747e8b83781df4 0001-php_flock-undefined-variable-fix.patch"
diff --git a/unmaintained/php-zmq/APKBUILD b/unmaintained/php-zmq/APKBUILD
new file mode 100644
index 0000000000..9e6fabba71
--- /dev/null
+++ b/unmaintained/php-zmq/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=php-zmq
+_pkgreal=zmq
+pkgver=1.1.3
+_pkgver=${pkgver/_rc/RC}
+pkgrel=0
+pkgdesc="PHP extension that provides bindings for ZeroMQ messaging"
+url="http://pecl.php.net/package/$_pkgreal"
+arch="all"
+license="PHP"
+depends=
+pecldepends="php-dev autoconf"
+makedepends="$pecldepends zeromq-dev"
+install=""
+subpackages=""
+source="http://pecl.php.net/get/$_pkgreal-$_pkgver.tgz"
+
+_builddir="$srcdir"/$_pkgreal-$_pkgver
+
+build() {
+ cd "$_builddir"
+ phpize || return 1
+ ./configure --prefix=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make INSTALL_ROOT="$pkgdir"/ install || return 1
+ install -d "$pkgdir"/etc/php/conf.d || return 1
+ echo "extension=$_pkgreal.so" > "$pkgdir"/etc/php/conf.d/$_pkgreal.ini
+}
+
+md5sums="9c638df5a6347a0fefb0d43d780e6480 zmq-1.1.3.tgz"
+sha256sums="c492375818bd51b355352798fb94f04d6828c6aeda41ba813849624af74144ce zmq-1.1.3.tgz"
+sha512sums="0f03016e315a6c6a1e1d6eca1e20564834d2a924cef06af1b38693933f1e5a094c37e9c432705a64f61d95e82655f61358fc7783e7a6f06c7dd9ad84fc6f7bbc zmq-1.1.3.tgz"
diff --git a/unmaintained/phppgadmin/APKBUILD b/unmaintained/phppgadmin/APKBUILD
new file mode 100644
index 0000000000..f6a3405448
--- /dev/null
+++ b/unmaintained/phppgadmin/APKBUILD
@@ -0,0 +1,72 @@
+# Contributor: Matt Smith <mcs@darkregion.net>
+# Maintainer: Matt Smith <mcs@darkregion.net>
+pkgname=phppgadmin
+_pkgname=phpPgAdmin
+pkgver=5.1
+pkgrel=0
+pkgdesc="A Web-based PHP tool for administering PostgreSQL"
+url="http://phppgadmin.sourceforge.net/"
+arch="noarch"
+license="GPL2+"
+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="554c94f5b38a1c6e8327ec3aa4cc6538 phpPgAdmin-5.1.tar.gz
+670eec89bbe794a50d36c80f02608708 phppgadmin.apache2.conf"
+sha256sums="42294e7b19d3b4003912eaad9a34df4096c0380871aedce152aa13d4955878a5 phpPgAdmin-5.1.tar.gz
+fb8fe69a0f8bd2efd93e697d5071273cad508f5c46242c112966ec65662c678f phppgadmin.apache2.conf"
+sha512sums="4a9502f234dd09487b016130217bc052899b9ba2ced953133defb0d095e9853570b766aa96bbdb4c315e42ca73002515fb8755166558e79e833b433eebd9bc22 phpPgAdmin-5.1.tar.gz
+7dbc314c1c1dd3ab14a19323f01650fa1ef498e511ed4a05dac57438c9b926c7af0ad4260059b7cc971572557ef7001bcd110fbf0fa466e153f6125e38c15aeb phppgadmin.apache2.conf"
diff --git a/unmaintained/phppgadmin/phppgadmin.apache2.conf b/unmaintained/phppgadmin/phppgadmin.apache2.conf
new file mode 100644
index 0000000000..b69e01b22d
--- /dev/null
+++ b/unmaintained/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/unmaintained/phppgadmin/phppgadmin.post-install b/unmaintained/phppgadmin/phppgadmin.post-install
new file mode 100644
index 0000000000..f9650a192a
--- /dev/null
+++ b/unmaintained/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/unmaintained/phpredis/APKBUILD b/unmaintained/phpredis/APKBUILD
new file mode 100644
index 0000000000..6c745c3f49
--- /dev/null
+++ b/unmaintained/phpredis/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: ScrumpyJack <scrumpyjack@st.ilet.to>
+# Maintainer:
+pkgname=phpredis
+pkgver=2.2.7
+pkgrel=0
+pkgdesc="The phpredis extension provides an API for communicating with the Redis key-value store"
+url="https://github.com/phpredis/phpredis"
+arch="all"
+license="PHP"
+depends=""
+depends_dev=""
+makedepends="php-dev autoconf"
+install=""
+subpackages=""
+source="https://github.com/${pkgname}/${pkgname}/archive/${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"
+ phpize
+ ./configure
+}
+
+package() {
+ cd "$_builddir"
+ make || return 1
+ make INSTALL_ROOT=$pkgdir install || return 1
+}
+
+md5sums="f10bada46b6e1a15eac613df4f298f51 2.2.7.tar.gz"
+sha256sums="a5882dd9b21908e123b3d5c5f72d6dc8cbbbb6a29996e568c4d18ed356c0362b 2.2.7.tar.gz"
+sha512sums="eddca71c76fc39f46a316ac204521f352cba30cb2999a7b91fe907bdb0f17e287be025df2f7c3b7115790b1c2a781c162b32c77d29daf30b246bd4d163e5404e 2.2.7.tar.gz"
diff --git a/unmaintained/physfs/APKBUILD b/unmaintained/physfs/APKBUILD
new file mode 100644
index 0000000000..5bca842223
--- /dev/null
+++ b/unmaintained/physfs/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor:
+# Maintainer:
+pkgname=physfs
+pkgver=2.0.3
+pkgrel=0
+pkgdesc="PhysicsFS is a library to provide abstract access to various archives"
+url="http://icculus.org/physfs/"
+arch="all"
+license="custom zlib"
+depends=""
+depends_dev="zlib-dev"
+makedepends="$depends_dev cmake doxygen"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://icculus.org/physfs/downloads/physfs-$pkgver.tar.bz2
+ silence-gcc.patch"
+
+_builddir="$srcdir"/physfs-$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" && mkdir bld && cd bld && \
+ cmake -DCMAKE_INSTALL_PREFIX=/usr ../ && make || return 1
+}
+
+package() {
+ cd "$_builddir" && \
+ install -d "$pkgdir"/usr/share/licenses/"$pkgname" && \
+ install -m644 LICENSE.txt "$pkgdir"/usr/share/licenses/"$pkgname"/ && \
+ cd bld && make install DESTDIR="$pkgdir" || return 1
+}
+
+md5sums="c2c727a8a8deb623b521b52d0080f613 physfs-2.0.3.tar.bz2
+a2a01b5f5ddf9f6a37f8a8289edd69cc silence-gcc.patch"
+sha256sums="ca862097c0fb451f2cacd286194d071289342c107b6fe69079c079883ff66b69 physfs-2.0.3.tar.bz2
+9eaeedabe7df2b80ab8c4ae4114d9ecbb9ab2125c14e5ca56b24d21387e06178 silence-gcc.patch"
+sha512sums="47eff0c81b8dc3bb526766b0a8ad2437d2951867880116d6e6e8f2ec1490e263541fb741867fed6517cc3fa8a9c5651b36e3e02a499f19cfdc5c7261c9707e80 physfs-2.0.3.tar.bz2
+4e18558d23982d71aac5f6509bd771f65dd52d5e75d969d0ac0561e34a58cd183973157b5fd7f713ba4c32e3b30c5f5abc97de571cf301aad98538cc016154b4 silence-gcc.patch"
diff --git a/unmaintained/physfs/silence-gcc.patch b/unmaintained/physfs/silence-gcc.patch
new file mode 100644
index 0000000000..d4318f6f48
--- /dev/null
+++ b/unmaintained/physfs/silence-gcc.patch
@@ -0,0 +1,19 @@
+commit e64432ac6dde3bf6943d8fc929241d57a961a673
+Author: Isaac Dunham <ibid.ag@gmail.com>
+Date: Tue Nov 18 10:26:22 2014 -0800
+
+ shut up gcc: data_start is stored to, not used
+
+diff --git a/archivers/zip.c b/archivers/zip.c
+index 0e65453..611198d 100644
+--- a/archivers/zip.c
++++ b/archivers/zip.c
+@@ -1113,7 +1113,7 @@ static void *ZIP_openArchive(const char *name, int forWriting)
+ {
+ void *in = NULL;
+ ZIPinfo *info = NULL;
+- PHYSFS_uint32 data_start;
++ PHYSFS_uint32 data_start = data_start;
+ PHYSFS_uint32 cent_dir_ofs;
+
+ BAIL_IF_MACRO(forWriting, ERR_ARC_IS_READ_ONLY, NULL);
diff --git a/unmaintained/pnp4nagios/APKBUILD b/unmaintained/pnp4nagios/APKBUILD
new file mode 100644
index 0000000000..0f64a75f98
--- /dev/null
+++ b/unmaintained/pnp4nagios/APKBUILD
@@ -0,0 +1,75 @@
+# Contributor: Peter de Zoeten <peter@dezoeten.mine.nu>
+# Maintainer: Peter de Zoeten <peter@dezoeten.mine.nu>
+pkgname=pnp4nagios
+pkgver=0.6.15
+pkgrel=0
+pkgdesc="PNP4Nagios"
+url="http://www.pnp4nagios.org"
+arch="all"
+license="GPL"
+depends="nagios perl-time-hires perl-rrd php-zlib"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://sourceforge.net/projects/pnp4nagios/files/PNP-0.6/pnp4nagios-$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/share/webapps/pnp4nagios \
+ --exec-prefix=/usr \
+ --libexecdir=/usr/lib/pnp4nagios \
+ --sysconfdir=/etc/pnp4nagios \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var/run \
+ --datarootdir=/usr/share/webapps/pnp4nagios \
+ --with-perfdata-logfile=/var/pnp4nagios/perfdata/process_perfdata.pl \
+ --with-perfdata-dir=/var/pnp4nagios/perfdata \
+ --with-perfdata-spool-dir=/var/pnp4nagios/perfdata/spool \
+ || return 1
+ make all || return 1
+}
+doc() {
+ arch="noarch"
+ # Man pages
+ mkdir -p "$subpkgdir"/usr/share/man || return 1
+ mv "$pkgdir"/usr/share/webapps/pnp4nagios/man/man* "$subpkgdir"/usr/share/man/ \
+ || return 1
+
+ # Doc files
+ _docs="INSTALL README"
+ for _doc in $_docs; do
+ install -Dm644 "$srcdir"/$pkgname-$pkgver/$_doc \
+ "$subpkgdir"/usr/share/doc/$pkgname/$_doc || return 1
+ done
+ rmdir "$pkgdir"/usr/share/webapps/pnp4nagios/man
+}
+
+package() {
+ cd "$_builddir"
+ make fullinstall DESTDIR="$pkgdir" || return 1
+ mkdir -p "$pkgdir"/usr/share/nagios/htdocs/ssi
+ cp "$_builddir"/contrib/ssi/status-header.ssi "$pkgdir"/usr/share/nagios/htdocs/ssi/status-header.ssi
+# rm -rf "$pkgdir"/etc/httpd
+ mkdir -p "$pkgdir"/etc/lighttpd
+ cp "$_builddir"/sample-config/lighttpd.pnp4nagios.conf "$pkgdir"/etc/lighttpd/pnp4nagios.conf.sample
+ install -D -m644 ../../npcd.cfg "$pkgdir"/etc/pnp4nagios/npcd.cfg
+ rm -f "$pkgdir"/etc/init.d/npcd
+ install -D -m755 ../../npcd "$pkgdir"/etc/init.d/npcd
+ chown nagios.nagios "$pkgdir"/var/pnp4nagios
+}
+
+
+md5sums="27cdab96510e15cfa0f4b7c2bf15dd2b pnp4nagios-0.6.15.tar.gz"
diff --git a/unmaintained/pnp4nagios/npcd b/unmaintained/pnp4nagios/npcd
new file mode 100644
index 0000000000..2b17bea51a
--- /dev/null
+++ b/unmaintained/pnp4nagios/npcd
@@ -0,0 +1,21 @@
+#!/sbin/runscript
+
+depend() {
+ use net
+ need dbus
+ before nfs
+ after logger
+ }
+
+start() {
+ ebegin "Starting npcd"
+ start-stop-daemon --start --quiet --exec /usr/bin/npcd -- -d -f /etc/pnp4nagios/npcd.cfg
+ eend $?
+ }
+
+stop() {
+ ebegin "Stopping npcd"
+ start-stop-daemon --stop --quiet --exec /usr/bin/npcd
+ eend $?
+ }
+
diff --git a/unmaintained/pnp4nagios/npcd.cfg b/unmaintained/pnp4nagios/npcd.cfg
new file mode 100644
index 0000000000..43bf14424e
--- /dev/null
+++ b/unmaintained/pnp4nagios/npcd.cfg
@@ -0,0 +1,195 @@
+# NPCD.cfg - sample configuration file for PNPs NPCD
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation;
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+# Privilege Options
+
+user = nagios
+group = nagios
+
+#########################
+# #
+# Logging Options #
+# #
+#########################
+
+# log_type - define if you want your logs to
+# 'syslog' or to a 'file'
+#
+# log_type = <value>
+#
+
+log_type = file
+#log_type = syslog
+
+
+# log_file - define a path to your logfile
+# needed if 'log_type'='file'
+#
+# log_file = </path/to/logpath/filename>
+#
+
+log_file = /var/pnp4nagios/npcd.log
+
+
+# max_logfile_size - defines the maximum filesize (bytes)
+# before the logfile will rotated.
+#
+# max_logfile_size = <value> (default 10Mbyte)
+#
+
+max_logfile_size = 10485760
+
+
+# log_level - how much should we log?
+#
+# log_level = <integer value>
+#
+# 0 = No logging - except errors
+# 1 = Small logging - some few more output
+# 2 = More Logging (actual ALL logs)
+# -1 = DEBUG Mode - ALL Logging and slower processing
+#
+
+log_level = 0
+
+#########################
+# #
+# NEEDED OPTIONS #
+# #
+#########################
+
+# perfdata_spool_dir - where we can find the
+# performance data files
+#
+# perfdata_spool_dir = </path/to/directory/>
+#
+
+perfdata_spool_dir = /var/pnp4nagios/perfdata/spool/
+
+
+# Execute following command for each found file
+# in 'perfdata_spool_dir'
+#
+# perfdata_file_run_cmd = </path/to/command>
+#
+# Must be executable by user/group from above
+#
+# perfdata_file_run_cmd = </path/to/filename>
+#
+
+perfdata_file_run_cmd = /usr/lib/pnp4nagios/process_perfdata.pl
+
+
+# perfdata_file_run_cmd_args (optional)
+#
+# If you wish, you can apply more arguments to the
+# perfdata_file_run_cmd
+#
+# Hint:
+# NPCD will create a command line like this:
+# '<perfdata_file_run_cmd> <perfdata_file_run_cmd_args> <filename_from_spool_dir>'
+#
+
+perfdata_file_run_cmd_args = -b
+
+
+# identify_npcd (optional)
+#
+# If set to one (by default) npcd will append
+# '-n' to the perfdata_file_run_cmd
+#
+# identify_npcd = 0|1 (default: 1)
+
+identify_npcd = 1
+
+
+# npcd_max_threads - define how many parallel threads we
+# should start
+
+npcd_max_threads = 5
+
+# sleep_time - how many seconds npcd should wait between dirscans
+#
+# sleep_time = 15 (default)
+
+sleep_time = 15
+
+
+# EXPERIMENTAL
+#
+# load_threshold - npcd won't start new threads
+# if your system load is above this threshold
+#
+# load_threshold = <float value> (default: 0.0)
+#
+# Hint: Do not use "," as decimal delimiter
+#
+# 07/15/2008: Every value above 0.0 will
+# enable this feature
+
+load_threshold = 0.0
+
+
+# location of your pid file
+
+pid_file=/var/run/npcd.pid
+
+
+#########################
+# #
+# NPCDMOD OPTIONS #
+# #
+#########################
+
+
+# perfdata_file - where should the npcdmod.o
+# write the performance data
+#
+# must not be within the same directory as
+# perfdata_spool_dir
+#
+# perfdata_file = </path/to/file>
+#
+
+perfdata_file = /var/pnp4nagios/perfdata.dump
+
+
+# perfdata_spool_filename - declare the destination
+# filename for the spooled files
+#
+# This option allows you a customized filename.
+# Usefull if you own different nagios servers
+# which write their data to a shared storage.
+#
+# perfdata_spool_filename = <filename>
+#
+# Hint:
+# The final files will be moved to
+# 'perfdata_spool_dir/perfdata_spool_filename-TIMESTAMP'
+#
+# Example:
+#
+# perfdata_spool_filename = perfdata-NY
+# perfdata_spool_filename = perfdata-LA
+
+perfdata_spool_filename = perfdata
+
+#
+# perfdata_file_processing_interval
+#
+perfdata_file_processing_interval = 15
+
+# We have to end with a newline
+
diff --git a/unmaintained/polkit-qt/APKBUILD b/unmaintained/polkit-qt/APKBUILD
new file mode 100644
index 0000000000..29f7b0bf48
--- /dev/null
+++ b/unmaintained/polkit-qt/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer:
+pkgname=polkit-qt
+pkgver=0.112.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_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DUSE_QT4=TRUE \
+ -Wno-dev \
+ "$_builddir" || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"/build
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="bee71b71c12797e6fc498540a06c829b polkit-qt-1-0.112.0.tar.bz2"
+sha256sums="67fb03bf6ca3e0bdbd98d374dfb5b1651a07d17ae6c23e11a81b4b084447e7c6 polkit-qt-1-0.112.0.tar.bz2"
+sha512sums="4cb17389b54a09c53052f6d72aa5cbfe09ccb19f7fd4edf8b43ccd4751f5e88609c5f89777f4af92167d32eb2ce1e78537cea7bcfb60a90072d1fe02d6a59b50 polkit-qt-1-0.112.0.tar.bz2"
diff --git a/unmaintained/polygraph/10-fix-ftbfs-gcc-4.7.patch b/unmaintained/polygraph/10-fix-ftbfs-gcc-4.7.patch
new file mode 100644
index 0000000000..b066680cdd
--- /dev/null
+++ b/unmaintained/polygraph/10-fix-ftbfs-gcc-4.7.patch
@@ -0,0 +1,77 @@
+Description: Fix ftbfs with GCC-4.7.
+Author: Mònica Ramírez Arceda <monica@debian.org>
+Bug-Debian: http://bugs.debian.org/667326
+Last-Update: 2012-05-11
+
+--- a/src/xstd/Heap.h
++++ b/src/xstd/Heap.h
+@@ -23,7 +23,7 @@
+ const Item &top() const { return this->theItems[1]; }
+ Item &at(int idx) { return this->theItems[idx+1]; }
+
+- void add(Item v) { append(v); floatUp(++theCnt); }
++ void add(Item v) { this->append(v); floatUp(++theCnt); }
+ void skip() { this->theItems[1] = this->theItems[theCnt--]; this->theCount--; sinkDown(1); }
+ Item shift() { const Item v = this->theItems[1]; skip(); return v; }
+
+--- a/src/xstd/Ring.h
++++ b/src/xstd/Ring.h
+@@ -22,11 +22,11 @@
+ int size() const { return Array<Item>::size(); }
+ bool empty() const { return this->theInOff <= this->theOutOff; }
+ bool full() const { return count() >= this->theCapacity; }
+- const Item &top(int off = 0) const { return item((this->theOutOff+off) % this->theCapacity); }
++ const Item &top(int off = 0) const { return this->item((this->theOutOff+off) % this->theCapacity); }
+
+- Item &top(int off = 0) { return item((this->theOutOff+off) % this->theCapacity); }
+- void enqueue(Item i) { Assert(!full()); item(this->theInOff++ % this->theCapacity) = i; check(); }
+- Item dequeue() { return item(this->theOutOff++ % this->theCapacity); }
++ Item &top(int off = 0) { return this->item((this->theOutOff+off) % this->theCapacity); }
++ void enqueue(Item i) { Assert(!full()); this->item(this->theInOff++ % this->theCapacity) = i; check(); }
++ Item dequeue() { return this->item(this->theOutOff++ % this->theCapacity); }
+
+ void reset() { this->theInOff = this->theOutOff = 0; }
+ inline void resize(int aCap);
+--- a/src/runtime/StatPhase.cc
++++ b/src/runtime/StatPhase.cc
+@@ -413,12 +413,12 @@
+ break;
+ }
+ } else {
+- static CompoundXactInfo &compound = *CompoundXactInfo::Create();
+- compound.exchanges = 1;
+- compound.reqSize = reqSize;
+- compound.repSize = repSize;
+- compound.lifeTime = repTime;
+- compound.record(rec.theIsolated);
++ static CompoundXactInfo &compound2 = *CompoundXactInfo::Create();
++ compound2.exchanges = 1;
++ compound2.reqSize = reqSize;
++ compound2.repSize = repSize;
++ compound2.lifeTime = repTime;
++ compound2.record(rec.theIsolated);
+ }
+
+ if (x->cookiesSent() > 0)
+--- a/src/cache/CacheEntryHash.cc
++++ b/src/cache/CacheEntryHash.cc
+@@ -14,7 +14,7 @@
+
+ CacheEntryHash::CacheEntryHash(int aCapacity): theCount(0) {
+ theCapacity = (aCapacity + aCapacity/3 + 7) | 1;
+- theIndex = new (CacheEntry*[theCapacity]);
++ theIndex = new (CacheEntry*[this->theCapacity]);
+ memset(theIndex, 0, sizeof(CacheEntry*)*theCapacity);
+ }
+
+--- a/src/tools/IntIntHash.cc
++++ b/src/tools/IntIntHash.cc
+@@ -13,7 +13,7 @@
+
+ IntIntHash::IntIntHash(int aCapacity): theHashCap(0) {
+ theHashCap = (aCapacity + aCapacity/3 + 7) | 1;
+- theIndex = new (IntIntHashItem*[theHashCap]);
++ theIndex = new (IntIntHashItem*[this->theHashCap]);
+ memset(theIndex, 0, sizeof(IntIntHashItem*)*theHashCap);
+ }
+
diff --git a/unmaintained/polygraph/APKBUILD b/unmaintained/polygraph/APKBUILD
new file mode 100644
index 0000000000..7f6737e820
--- /dev/null
+++ b/unmaintained/polygraph/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
+pkgname=polygraph
+pkgver=4.3.2
+pkgrel=1
+pkgdesc="Performance testing tool for Web intermediaries"
+url="http://www.web-polygraph.org"
+arch="all"
+license="Apache2"
+depends="zlib-dev"
+depends_dev=
+makedepends="$depends_dev"
+install=
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://www.web-polygraph.org/downloads/srcs/$pkgname-$pkgver-src.tgz
+ 10-fix-ftbfs-gcc-4.7.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"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make 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="74d9ad75ed355afbbeefa166954da54f polygraph-4.3.2-src.tgz
+3c7399d3f005c8afb867e9ea3f0d6f4c 10-fix-ftbfs-gcc-4.7.patch"
+sha256sums="b0104448ff3c2f29cebeb5ad5ee6e6f670438d8b78fa095fd54f3b16d99569bb polygraph-4.3.2-src.tgz
+65185b6b695e62efa39cc778fd253afef250b2999eeec8b3e29b41369db3cdb0 10-fix-ftbfs-gcc-4.7.patch"
+sha512sums="a660427f9e21dddb102a172238823091c64983ca6eb938eb5aa9cd1d980e2b2b061614f41162000c838514d164124e08c0fe4517bda1e3f2bf6498831957674b polygraph-4.3.2-src.tgz
+e091fb9cab4cb3053df532df9012cd093a7eb3493aad112ba38eb31d534185bc83c6b9b5eeb424316f9354b04d13a3a92a1af45e6134a60690e5f4a6b3180a27 10-fix-ftbfs-gcc-4.7.patch"
diff --git a/unmaintained/postfixadmin/APKBUILD b/unmaintained/postfixadmin/APKBUILD
new file mode 100644
index 0000000000..1ab46cea84
--- /dev/null
+++ b/unmaintained/postfixadmin/APKBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+pkgname=postfixadmin
+pkgver=2.3.5
+pkgrel=0
+pkgdesc="Web front-end for managing Postfix Virtual Domains"
+url="http://phpldapadmin.sourceforge.net"
+arch="noarch"
+license="GPL2"
+depends="php"
+depends_dev=
+makedepends="$depends_dev"
+install=
+subpackages=
+source="http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgname-$pkgver/$pkgname-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ cd "$_builddir"
+ # apply patches here
+}
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/usr/share/webapps/$pkgname
+ mkdir -p "$pkgdir"/etc/$pkgname
+ mv * "$pkgdir"/usr/share/webapps/$pkgname
+ mv "$pkgdir"/usr/share/webapps/$pkgname/config.inc.php "$pkgdir"/etc/$pkgname
+ ln -s /etc/$pkgname/config.inc.php "$pkgdir"/usr/share/webapps/$pkgname || exit 1
+}
+
+md5sums="9a72ed8d827fa2c7f641001f2aa87814 postfixadmin-2.3.5.tar.gz"
diff --git a/unmaintained/postgresql-old8.4/APKBUILD b/unmaintained/postgresql-old8.4/APKBUILD
new file mode 100644
index 0000000000..d75fa3e10c
--- /dev/null
+++ b/unmaintained/postgresql-old8.4/APKBUILD
@@ -0,0 +1,71 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgver=8.4.13
+_engine_ver=${pkgver%.*}
+pkgname=postgresql-old${_engine_ver}
+pkgrel=0
+pkgdesc="Old PostgreSQL engine to be used with postgresql-upgrade"
+url="http://www.postgresql.org/"
+arch="all"
+license="BSD"
+install=""
+depends_dev="readline-dev openssl-dev zlib-dev libxml2-dev"
+makedepends="$depends_dev"
+subpackages=""
+source="ftp://ftp.postgresql.org/pub/source/v$pkgver/postgresql-$pkgver.tar.bz2
+ "
+
+_builddir="$srcdir"/postgresql-$pkgver
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr/lib/postgresql-${_engine_ver} \
+ --mandir=/usr/share/man \
+ --with-openssl \
+ --disable-rpath \
+ --disable-shared \
+ || return 1
+
+ make all || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+
+ # remo stuff not needed for upgrade
+ cd "$pkgdir"/usr/lib/postgresql-${_engine_ver}
+ rm bin/clusterdb
+ rm bin/createdb
+ rm bin/createlang
+ rm bin/createuser
+ rm bin/dropdb
+ rm bin/droplang
+ rm bin/dropuser
+ rm bin/ecpg
+ rm bin/initdb
+ rm bin/pg_basebackup
+ rm bin/pg_config
+ rm bin/pg_controldata
+ rm bin/pg_dump
+ rm bin/pg_dumpall
+ rm bin/pg_restore
+ rm bin/psql
+ rm bin/reindexdb
+ rm bin/vacuumdb
+ rm -rf include
+ rm lib/dict_snowball.so
+ rm lib/libecpg*
+ rm lib/libpg*
+ rm lib/libpq*
+ rm -rf lib/pgxs
+ rm lib/plpgsql.so
+ rm -rf share/doc
+ rm -rf share/man
+ rm -rf share/tsearch_data
+ rm share/*.bki
+ rm share/*description
+ rm share/*.sample
+ rm share/*.sql
+ rm share/*.txt
+}
+
+md5sums="220657cf9c37e6688c7501d28b2ce8ef postgresql-8.4.13.tar.bz2"
diff --git a/unmaintained/postgresql-old9.0/APKBUILD b/unmaintained/postgresql-old9.0/APKBUILD
new file mode 100644
index 0000000000..ce3f91c793
--- /dev/null
+++ b/unmaintained/postgresql-old9.0/APKBUILD
@@ -0,0 +1,71 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgver=9.0.9
+_engine_ver=${pkgver%.*}
+pkgname=postgresql-old${_engine_ver}
+pkgrel=0
+pkgdesc="Old PostgreSQL engine to be used with postgresql-upgrade"
+url="http://www.postgresql.org/"
+arch="all"
+license="BSD"
+install=""
+depends_dev="readline-dev openssl-dev zlib-dev libxml2-dev"
+makedepends="$depends_dev"
+subpackages=""
+source="ftp://ftp.postgresql.org/pub/source/v$pkgver/postgresql-$pkgver.tar.bz2
+ "
+
+_builddir="$srcdir"/postgresql-$pkgver
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr/lib/postgresql-${_engine_ver} \
+ --mandir=/usr/share/man \
+ --with-openssl \
+ --disable-rpath \
+ --disable-shared \
+ || return 1
+
+ make all || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+
+ # remo stuff not needed for upgrade
+ cd "$pkgdir"/usr/lib/postgresql-${_engine_ver}
+ rm bin/clusterdb
+ rm bin/createdb
+ rm bin/createlang
+ rm bin/createuser
+ rm bin/dropdb
+ rm bin/droplang
+ rm bin/dropuser
+ rm bin/ecpg
+ rm bin/initdb
+ rm bin/pg_basebackup
+ rm bin/pg_config
+ rm bin/pg_controldata
+ rm bin/pg_dump
+ rm bin/pg_dumpall
+ rm bin/pg_restore
+ rm bin/psql
+ rm bin/reindexdb
+ rm bin/vacuumdb
+ rm -rf include
+ rm lib/dict_snowball.so
+ rm lib/libecpg*
+ rm lib/libpg*
+ rm lib/libpq*
+ rm -rf lib/pgxs
+ rm lib/plpgsql.so
+ rm -rf share/doc
+ rm -rf share/man
+ rm -rf share/tsearch_data
+ rm share/*.bki
+ rm share/*description
+ rm share/*.sample
+ rm share/*.sql
+ rm share/*.txt
+}
+
+md5sums="284303098b161240fd13df7c251822a5 postgresql-9.0.9.tar.bz2"
diff --git a/unmaintained/postgresql-old9.1/1q b/unmaintained/postgresql-old9.1/1q
new file mode 100644
index 0000000000..e8a4d8cd66
--- /dev/null
+++ b/unmaintained/postgresql-old9.1/1q
@@ -0,0 +1,36 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=postgresql
+pkgver=9.1.5
+_engine_ver=${pkgver%.*}
+pkgrel=0
+pkgdesc="Old PostgreSQL binary to be used with postgresql-upgrade"
+url="http://www.postgresql.org/"
+arch="all"
+license="BSD"
+install=""
+depends_dev="readline-dev openssl-dev zlib-dev libxml2-dev"
+makedepends="$depends_dev"
+subpackages=""
+source="ftp://ftp.$pkgname.org/pub/source/v$pkgver/$pkgname-$pkgver.tar.bz2
+ "
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver || return 1
+ ./configure --prefix=/usr/lib/postgresql-${_engine_ver} \
+ --mandir=/usr/share/man \
+ --with-openssl \
+ --disable-rpath \
+ || return 1
+
+ make all || return 1
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver || return 1
+ make DESTDIR="$pkgdir" install || return 1
+
+ # remo stuff not needed for upgrade
+# cd "$pkgdir"/usr/lib/potgresql-${_engine_ver}
+}
+
+md5sums="c784decb60615aa94c6a31601bc6ffd2 postgresql-9.1.5.tar.bz2"
diff --git a/unmaintained/postgresql-old9.1/APKBUILD b/unmaintained/postgresql-old9.1/APKBUILD
new file mode 100644
index 0000000000..33cbd27d2a
--- /dev/null
+++ b/unmaintained/postgresql-old9.1/APKBUILD
@@ -0,0 +1,66 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgver=9.1.5
+_engine_ver=${pkgver%.*}
+pkgname=postgresql-old${_engine_ver}
+pkgrel=0
+pkgdesc="Old PostgreSQL binary to be used with postgresql-upgrade"
+url="http://www.postgresql.org/"
+arch="all"
+license="BSD"
+install=""
+depends_dev="readline-dev openssl-dev zlib-dev libxml2-dev"
+makedepends="$depends_dev"
+subpackages=""
+source="ftp://ftp.postgresql.org/pub/source/v$pkgver/postgresql-$pkgver.tar.bz2
+ "
+
+_builddir="$srcdir"/postgresql-$pkgver
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr/lib/postgresql-${_engine_ver} \
+ --mandir=/usr/share/man \
+ --with-openssl \
+ --disable-rpath \
+ --disable-shared \
+ || return 1
+
+ make all || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+
+ # remo stuff not needed for upgrade
+ cd "$pkgdir"/usr/lib/postgresql-${_engine_ver}
+ rm bin/clusterdb
+ rm bin/createdb
+ rm bin/createlang
+ rm bin/createuser
+ rm bin/dropdb
+ rm bin/droplang
+ rm bin/dropuser
+ rm bin/ecpg
+ rm bin/initdb
+ rm bin/pg_basebackup
+ rm bin/pg_config
+ rm bin/pg_controldata
+ rm bin/pg_dump
+ rm bin/pg_dumpall
+ rm bin/pg_restore
+ rm bin/psql
+ rm bin/reindexdb
+ rm bin/vacuumdb
+ rm -rf include
+ rm -r lib
+ rm -rf share/doc
+ rm -rf share/man
+ rm -rf share/tsearch_data
+ rm share/*.bki
+ rm share/*description
+ rm share/*.sample
+ rm share/*.sql
+ rm share/*.txt
+}
+
+md5sums="c784decb60615aa94c6a31601bc6ffd2 postgresql-9.1.5.tar.bz2"
diff --git a/unmaintained/postgresql-old9.2/APKBUILD b/unmaintained/postgresql-old9.2/APKBUILD
new file mode 100644
index 0000000000..46c29a4975
--- /dev/null
+++ b/unmaintained/postgresql-old9.2/APKBUILD
@@ -0,0 +1,68 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgver=9.2.4
+_engine_ver=${pkgver%.*}
+pkgname=postgresql-old${_engine_ver}
+pkgrel=0
+pkgdesc="Old PostgreSQL binary to be used with postgresql-upgrade"
+url="http://www.postgresql.org/"
+arch="all"
+license="BSD"
+install=""
+depends_dev="readline-dev openssl-dev zlib-dev libxml2-dev"
+makedepends="$depends_dev"
+subpackages=""
+source="ftp://ftp.postgresql.org/pub/source/v$pkgver/postgresql-$pkgver.tar.bz2
+ "
+
+_builddir="$srcdir"/postgresql-$pkgver
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr/lib/postgresql-${_engine_ver} \
+ --mandir=/usr/share/man \
+ --with-openssl \
+ --disable-rpath \
+ --disable-shared \
+ || return 1
+
+ make all || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+
+ # remo stuff not needed for upgrade
+ cd "$pkgdir"/usr/lib/postgresql-${_engine_ver}
+ rm bin/clusterdb
+ rm bin/createdb
+ rm bin/createlang
+ rm bin/createuser
+ rm bin/dropdb
+ rm bin/droplang
+ rm bin/dropuser
+ rm bin/ecpg
+ rm bin/initdb
+ rm bin/pg_basebackup
+ rm bin/pg_config
+ rm bin/pg_controldata
+ rm bin/pg_dump
+ rm bin/pg_dumpall
+ rm bin/pg_restore
+ rm bin/psql
+ rm bin/reindexdb
+ rm bin/vacuumdb
+ rm -rf include
+ rm -r lib
+ rm -rf share/doc
+ rm -rf share/man
+ rm -rf share/tsearch_data
+ rm share/*.bki
+ rm share/*description
+ rm share/*.sample
+ rm share/*.sql
+ rm share/*.txt
+}
+
+md5sums="6ee5bb53b97da7c6ad9cb0825d3300dd postgresql-9.2.4.tar.bz2"
+sha256sums="d97dd918a88a4449225998f46aafa85216a3f89163a3411830d6890507ffae93 postgresql-9.2.4.tar.bz2"
+sha512sums="1f347a8e75f4c350cc1ee2e0406b1b696f8e82cd259bb17404113874516fdf4c395517962a5320d5c386994cae7ebe7dbdbbeb7ae79c76d6d506ce5bda662c3e postgresql-9.2.4.tar.bz2"
diff --git a/unmaintained/postgresql-old9.3/APKBUILD b/unmaintained/postgresql-old9.3/APKBUILD
new file mode 100644
index 0000000000..ae6a04ac22
--- /dev/null
+++ b/unmaintained/postgresql-old9.3/APKBUILD
@@ -0,0 +1,68 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgver=9.3.9
+_engine_ver=${pkgver%.*}
+pkgname=postgresql-old${_engine_ver}
+pkgrel=0
+pkgdesc="Old PostgreSQL binary to be used with postgresql-upgrade"
+url="http://www.postgresql.org/"
+arch="all"
+license="BSD"
+install=""
+depends_dev="readline-dev openssl-dev zlib-dev libxml2-dev"
+makedepends="$depends_dev"
+subpackages=""
+source="ftp://ftp.postgresql.org/pub/source/v$pkgver/postgresql-$pkgver.tar.bz2
+ "
+
+_builddir="$srcdir"/postgresql-$pkgver
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr/lib/${pkgname} \
+ --mandir=/usr/share/man \
+ --with-openssl \
+ --disable-rpath \
+ --disable-shared \
+ || return 1
+
+ make all || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+
+ # remo stuff not needed for upgrade
+ cd "$pkgdir"/usr/lib/${pkgname}
+ rm bin/clusterdb
+ rm bin/createdb
+ rm bin/createlang
+ rm bin/createuser
+ rm bin/dropdb
+ rm bin/droplang
+ rm bin/dropuser
+ rm bin/ecpg
+ rm bin/initdb
+ rm bin/pg_basebackup
+ rm bin/pg_config
+ rm bin/pg_controldata
+ rm bin/pg_dump
+ rm bin/pg_dumpall
+ rm bin/pg_restore
+ rm bin/psql
+ rm bin/reindexdb
+ rm bin/vacuumdb
+ rm -rf include
+ rm -r lib
+ rm -rf share/doc
+ rm -rf share/man
+ rm -rf share/tsearch_data
+ rm share/*.bki
+ rm share/*description
+ rm share/*.sample
+ rm share/*.sql
+ rm share/*.txt
+}
+
+md5sums="41cd45d8f9d32c900ff5dafb5946d31f postgresql-9.3.9.tar.bz2"
+sha256sums="f73bd0ec2028511732430beb22414a022d2114231366e8cbe78c149793910549 postgresql-9.3.9.tar.bz2"
+sha512sums="c6a9cae07968c99039910bb98d3e365fc285d2cdef02dd594128bd69ae65926392b18b65b0e13c3f17c366413bffbe226b6e8ce3453774b0439745b18ea129a8 postgresql-9.3.9.tar.bz2"
diff --git a/unmaintained/postler/APKBUILD b/unmaintained/postler/APKBUILD
new file mode 100644
index 0000000000..e8f3117388
--- /dev/null
+++ b/unmaintained/postler/APKBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=postler
+pkgver=0.1.1
+pkgrel=1
+pkgdesc="Email client"
+url="https://launchpad.net/postler/"
+arch=""
+license="LGPL2.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/unmaintained/postler/inet_ntoa.patch b/unmaintained/postler/inet_ntoa.patch
new file mode 100644
index 0000000000..bbb0969bc2
--- /dev/null
+++ b/unmaintained/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/unmaintained/pptpclient/APKBUILD b/unmaintained/pptpclient/APKBUILD
new file mode 100644
index 0000000000..757fff26b8
--- /dev/null
+++ b/unmaintained/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/unmaintained/pptpclient/pptpclient-uclibc.patch b/unmaintained/pptpclient/pptpclient-uclibc.patch
new file mode 100644
index 0000000000..aa9536e4df
--- /dev/null
+++ b/unmaintained/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/unmaintained/premium-cursor-theme/APKBUILD b/unmaintained/premium-cursor-theme/APKBUILD
new file mode 100644
index 0000000000..362abecad8
--- /dev/null
+++ b/unmaintained/premium-cursor-theme/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: August Klein <amatcoder@gmail.com>
+# Maintainer: August Klein <amatcoder@gmail.com>
+pkgname=premium-cursor-theme
+_pkgname=Premium
+pkgver=0.3
+pkgrel=0
+pkgdesc="Premium X Cursor Theme"
+url="http://www.kde-look.org/content/show.php?content=14485"
+arch="noarch"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://www.kde-look.org/CONTENT/content-files/14485-$_pkgname-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/$_pkgname-$pkgver
+package() {
+ mkdir -p "$pkgdir"/usr/share/icons/Premium || return 1
+
+ cp "$_builddir"/Premium/index.theme "$pkgdir"/usr/share/icons/Premium || return 1
+ cp -r "$_builddir"/Premium/cursors "$pkgdir"/usr/share/icons/Premium || return 1
+}
+
+md5sums="0d7b263d25a093012da2b46c11a62d06 14485-Premium-0.3.tar.bz2"
+sha256sums="e4c74d06fd1de21038e57bfa4273ab58f786a91ff703844dd3ee23fcef739596 14485-Premium-0.3.tar.bz2"
+sha512sums="70a64d8d953f314b032d73c05ab42e7b13bbf17a2b2c978dd0313d00db88bfbedaaa91eecf874a1d35b4b140938f9cf13637a44228983349d4c686746d0d9070 14485-Premium-0.3.tar.bz2"
diff --git a/unmaintained/profanity/APKBUILD b/unmaintained/profanity/APKBUILD
new file mode 100644
index 0000000000..470e2c9ff9
--- /dev/null
+++ b/unmaintained/profanity/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Contributor: Bartłomiej Piotrowski <bpiotrowski@alpinelinux.org>
+# Maintainer:
+pkgname=profanity
+pkgver=0.4.7
+pkgrel=0
+pkgdesc="Console based XMPP client"
+url="http://www.profanity.im"
+arch=all
+license="GPL3"
+depends=""
+depends_dev=""
+makedepends="curl-dev expat-dev glib-dev libotr-dev
+ libstrophe-dev readline-dev util-linux-dev"
+install=""
+subpackages="$pkgname-doc $pkgname-themes"
+source="http://www.profanity.im/profanity-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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
+
+ mkdir -p "$pkgdir"/usr/share/doc/$pkgname/examples
+ install -m644 profrc.example \
+ "$pkgdir"/usr/share/doc/$pkgname/examples || return 1
+}
+
+themes() {
+ pkgdesc="UI themes for $pkgname"
+ arch="noarch"
+
+ mkdir -p "$subpkgdir"/usr/share/$pkgname
+ mv "$pkgdir"/usr/share/$pkgname/themes \
+ "$subpkgdir"/usr/share/$pkgname || return 1
+}
+
+md5sums="f044c54c7fee23ab8c4be7228a6bea9b profanity-0.4.7.tar.gz"
+sha256sums="b02c4e029fe84941050ccab6c8cdf5f15df23de5d1384b4d1ec66da6faee11dd profanity-0.4.7.tar.gz"
+sha512sums="805adddbdf41334a2903707ce871f39c36c70639dc4c872cfd36769af36aa3597b05aa9ba719452bcbe8011cc73ac717cee7016c928083cd46c922732ca10568 profanity-0.4.7.tar.gz"
diff --git a/unmaintained/proftpd/APKBUILD b/unmaintained/proftpd/APKBUILD
new file mode 100644
index 0000000000..278665fca9
--- /dev/null
+++ b/unmaintained/proftpd/APKBUILD
@@ -0,0 +1,68 @@
+# Contributor: Elizabeth Jennifer Myers <elizabeth@sporksirc.net>
+# Maintainer: Elizabeth Jennifer Myers <elizabeth@sporksirc.net>
+pkgname=proftpd
+pkgver=1.3.5
+pkgrel=0
+pkgdesc="Highly configurable GPL-licensed FTP server software"
+url="http://www.proftpd.org/"
+arch="all"
+license="GPLv2"
+depends=""
+depends_dev="ncurses-dev openssl-dev gettext-dev libcap-dev"
+makedepends="$depends_dev libtool"
+install=""
+subpackages="$pkgname-doc $pkgname-dev $pkgname-lang"
+source="ftp://ftp.proftpd.org/distrib/source/proftpd-${pkgver}.tar.gz
+ mempcpy.patch
+ proftpd.initd
+ proftpd.confd"
+
+_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 \
+ --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="aff1bff40e675244d72c4667f203e5bb proftpd-1.3.5.tar.gz
+cee983fba72533440d1a95c87bbbefc3 mempcpy.patch
+175ce0cef2fb410d0ac8929ad421f941 proftpd.initd
+aab5852ac574e87781f1c9c4942e699b proftpd.confd"
+sha256sums="c10316fb003bd25eccbc08c77dd9057e053693e6527ffa2ea2cc4e08ccb87715 proftpd-1.3.5.tar.gz
+8d6167cf16551df61139e0410309303721fa58d3898fe9243648c319b61b7135 mempcpy.patch
+afcc8971c7ddba740979117f62a01b70453e53b36806c2b2328ca32f47a5964d proftpd.initd
+36677336553d5b6bc96b36be766d9eadcc42946a25cb38c0824ff509ede31955 proftpd.confd"
+sha512sums="fabc10606f2f6a33c7cbe117e774ed6eba8ef062cb792723f00cc235d4ade6499621f5d546b9b176f76780271c1c881c9e57f9cad67d288b5119fe6ca58c46dd proftpd-1.3.5.tar.gz
+50973de4bb234d455d8ec076c80b692b694a179f07a3903f821887bf75adce1f0672f62c97840c08e0d99bfce05f5b710aa15818031580b3f768ed7c77d2971e mempcpy.patch
+a2aedcfe4c1e78c7591a21943e63f4880eb461935130ed93d4037a80374e7f70b42f37959c23bd82bf965e67b8c9fab6488d84d01628d23231a5c65270b06a74 proftpd.initd
+ea06653f14484b6e3b4267cd964a37d3218c5bcff141c6a33a2e1b46c1f43eaa2996f0d9c3c3eb40c8a8ae9534be09803f53979c37d5fb760d7231a5d3003977 proftpd.confd"
diff --git a/unmaintained/proftpd/mempcpy.patch b/unmaintained/proftpd/mempcpy.patch
new file mode 100644
index 0000000000..e58210f372
--- /dev/null
+++ b/unmaintained/proftpd/mempcpy.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/pr_fnmatch.c b/lib/pr_fnmatch.c
+index 9e398e7..102591a 100644
+--- a/lib/pr_fnmatch.c
++++ b/lib/pr_fnmatch.c
+@@ -233,7 +233,7 @@ __wcschrnul (const wchar_t *s, wint_t c)
+ # endif
+ # define STRLEN(S) strlen (S)
+ # define STRCAT(D, S) strcat (D, S)
+-# define MEMPCPY(D, S, N) __mempcpy (D, S, N)
++# define MEMPCPY(D, S, N) mempcpy (D, S, N)
+ # define MEMCHR(S, C, N) memchr (S, C, N)
+ # define STRCOLL(S1, S2) strcoll (S1, S2)
+ # include "pr_fnmatch_loop.c"
diff --git a/unmaintained/proftpd/proftpd.confd b/unmaintained/proftpd/proftpd.confd
new file mode 100644
index 0000000000..0cf909c432
--- /dev/null
+++ b/unmaintained/proftpd/proftpd.confd
@@ -0,0 +1,7 @@
+# Sample conf.d file for alpine linux
+
+#
+# Specify daemon options here.
+#
+
+sample_opts="-6"
diff --git a/unmaintained/proftpd/proftpd.initd b/unmaintained/proftpd/proftpd.initd
new file mode 100644
index 0000000000..c20a2543a1
--- /dev/null
+++ b/unmaintained/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/unmaintained/proj4/APKBUILD b/unmaintained/proj4/APKBUILD
new file mode 100644
index 0000000000..365a9341fa
--- /dev/null
+++ b/unmaintained/proj4/APKBUILD
@@ -0,0 +1,45 @@
+pkgname=proj4
+pkgver=4.8.0
+pkgrel=0
+pkgdesc="PROJ.4 - Cartographic Projections Library"
+url="http://trac.osgeo.org/proj/"
+arch="all"
+license="MIT"
+options=""
+depends=""
+makedepends=""
+subpackages="$pkgname-doc $pkgname-dev"
+source="http://download.osgeo.org/proj/proj-$pkgver.tar.gz
+ "
+
+_builddir="$srcdir"/proj-$pkgver
+prepare() {
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+ update_config_sub || return 1
+}
+
+build () {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --without-jni \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p $pkgdir/usr/bin
+ make DESTDIR="$pkgdir" install
+}
+
+md5sums="d815838c92a29179298c126effbb1537 proj-4.8.0.tar.gz"
+sha256sums="2db2dbf0fece8d9880679154e0d6d1ce7c694dd8e08b4d091028093d87a9d1b5 proj-4.8.0.tar.gz"
+sha512sums="6076289f8bdf1ca3b76ea879d8c221a668fcb4a6deec7cf6a293c489dfe0b21c36da0c6ed2c7a0b8042436106e851018aa429b4731f4ff018fea2fdb8887ec76 proj-4.8.0.tar.gz"
diff --git a/unmaintained/prt-get/APKBUILD b/unmaintained/prt-get/APKBUILD
new file mode 100644
index 0000000000..1f23380918
--- /dev/null
+++ b/unmaintained/prt-get/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: z3bra <willy at mailoo dot org>
+# Maintainer:
+pkgname=prt-get
+pkgver=5.19
+pkgrel=1
+pkgdesc="Collection of scripts for CRUX, mainly oriented towards package and port management"
+url="http://jw.smts.ch/files/crux/prt-get_quickstart.html"
+arch="all"
+license="Custom"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://jw.smts.ch/files/crux/$pkgname-$pkgver.tar.gz"
+
+_builddir=$srcdir/$pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr --mandir=/usr/man
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR=$pkgdir install
+}
+
+md5sums="a37751f1627a4e0125c8ffadfa85be80 prt-get-5.19.tar.gz"
+sha256sums="987218709abf43cf6ce7a0941aff5802c3397d914a2485ebe3c3892e6062cd89 prt-get-5.19.tar.gz"
+sha512sums="264e0c1166100a25713f5e29be4bfac58743d477f7bea02482289e92a500c4dbc29ed827a7718e6d741bf902450e4b4ad491a6ca09bf607137f086318c2cadcc prt-get-5.19.tar.gz"
diff --git a/unmaintained/prwd/APKBUILD b/unmaintained/prwd/APKBUILD
new file mode 100644
index 0000000000..dd6de9c254
--- /dev/null
+++ b/unmaintained/prwd/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=prwd
+pkgver=1.8
+pkgrel=0
+pkgdesc="A tool can print reduced working directory"
+url="http://tamentis.com/projects/prwd/"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="$pkgname-$pkgver.tar.gz::https://github.com/tamentis/prwd/archive/v$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\
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="904bba51ee14a355b85a583769cb23a5 prwd-1.8.tar.gz"
+sha256sums="af98328ed3d605008f820d865676311d57e985d73f74b020d1d8a81028f66d04 prwd-1.8.tar.gz"
+sha512sums="d6792096b4a28a41f9d9797d15639efe067eaa733a65b57a9e54786d10fb82ef59ee3f95742f3b377a8c1b3a2d00d1df7937c6b67ac492debd9b39ade5756c2a prwd-1.8.tar.gz"
diff --git a/unmaintained/psmisc/APKBUILD b/unmaintained/psmisc/APKBUILD
new file mode 100644
index 0000000000..49ab428edd
--- /dev/null
+++ b/unmaintained/psmisc/APKBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=psmisc
+pkgver=22.20
+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 \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="a25fc99a6dc7fa7ae6e4549be80b401f psmisc-22.20.tar.gz"
+sha256sums="b17224e2385f6a799ffebba27eb7870771d42555e86814ef56b6d7e955765514 psmisc-22.20.tar.gz"
+sha512sums="5565163651c90afeb146c3305fddefc544bcd4cd5e98917fd57a9920e76c22e4bc0a197618539475a1410cfec9dd168b69983b2210a3ad9fc54368e9220503a6 psmisc-22.20.tar.gz"
diff --git a/unmaintained/ptlib/APKBUILD b/unmaintained/ptlib/APKBUILD
new file mode 100644
index 0000000000..d71be74669
--- /dev/null
+++ b/unmaintained/ptlib/APKBUILD
@@ -0,0 +1,74 @@
+# Contributor: Mika Havela
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=ptlib
+pkgver=2.10.10
+pkgrel=2
+pkgdesc="Portable Tools Library"
+url="http://www.opalvoip.org/"
+arch="all"
+license="MPLv1.0"
+depends=""
+depends_dev="expat-dev openssl-dev sdl-dev alsa-lib-dev"
+makedepends="$depends_dev boost-dev v4l-utils-dev flex bison"
+install=""
+subpackages="$pkgname-dev"
+source="http://download.gnome.org/sources/ptlib/${pkgver%.*}/ptlib-$pkgver.tar.xz
+ ptlib-fixcamcrash.patch
+ ptlib-2.10.10-bison_fixes-1.patch
+ musl-fixes.patch
+ "
+
+_builddir="$srcdir"/ptlib-$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-static \
+ --enable-plugins \
+ --enable-alsa \
+ --disable-oss \
+ --enable-v4l2 \
+ --disable-avc \
+ --disable-v4l \
+ --disable-pulse \
+ --disable-resolver \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+dev() {
+ default_dev
+ mkdir -p "$subpkgdir"/usr/share
+ mv "$pkgdir"/usr/share/ptlib "$subpkgdir"/usr/share/
+}
+
+md5sums="1fd609e25f101393bb7e42fbf874c174 ptlib-2.10.10.tar.xz
+5a727140c59bcd71c2f41a70821e8917 ptlib-fixcamcrash.patch
+cecab82649e3fe163335f9c8883dd58b ptlib-2.10.10-bison_fixes-1.patch
+c60887fd165ee5b0e1a70a1b3bf92c64 musl-fixes.patch"
+sha256sums="7fcaabe194cbd3bc0b370b951dffd19cfe7ea0298bfff6aecee948e97f3207e4 ptlib-2.10.10.tar.xz
+9d24ce87ae71b738b1744955bd0516a3b849b2fbb573e266b77046b41803f1a1 ptlib-fixcamcrash.patch
+11027b21f568b2ab84f9c25775e5a697a15304b39aaab6380922ed609aac63b9 ptlib-2.10.10-bison_fixes-1.patch
+3a21064b147f72ec2edcbd1880a0a4e1f3a52416b4226b741f5903272f4e9425 musl-fixes.patch"
+sha512sums="9b1490fa7c5c29b9295d560313b457c61091d0ddc8241f40e080acbfbb80bac685d3b2ad81d3c13628ad2816bebc142ac80de536c4cfb8cd48bfb514c0d8a820 ptlib-2.10.10.tar.xz
+d0809d3b1b90cba41543e69e574c98a011d5e88181d98c42ea005ecf0a1f39c86f76be9360e11c4227c6f5157e49532468c6bcce633e28225d052a124204c35c ptlib-fixcamcrash.patch
+5c1247d78651df88bc3f3a5064beec35f03d3371ef85f893c5557545c284dbe1a325eea4b5a8ea8b698cc97aac2420431e7896250b027bab326e4547458bc119 ptlib-2.10.10-bison_fixes-1.patch
+365eff5b0ff38c44739365ec22afd7f1f1c7d8f6101d50ef71257eb8cf3429f50f87a084862deea6dc105cb7364ab72cf5c0af08bc9eab1d4e4decaf0452414f musl-fixes.patch"
diff --git a/unmaintained/ptlib/musl-fixes.patch b/unmaintained/ptlib/musl-fixes.patch
new file mode 100644
index 0000000000..a0819c89d5
--- /dev/null
+++ b/unmaintained/ptlib/musl-fixes.patch
@@ -0,0 +1,70 @@
+--- ./include/ptlib/unix/ptlib/pmachdep.h.orig
++++ ./include/ptlib/unix/ptlib/pmachdep.h
+@@ -51,7 +51,7 @@
+
+ #define HAS_IFREQ
+
+-#if __GNU_LIBRARY__ < 6
++#if defined(__GNU_LIBRARY__) && __GNU_LIBRARY__ < 6
+ #define P_LINUX_LIB_OLD
+ typedef int socklen_t;
+ #endif
+--- ./src/ptlib/unix/pipechan.cxx.orig
++++ ./src/ptlib/unix/pipechan.cxx
+@@ -44,7 +44,7 @@
+ #include <signal.h>
+
+ #if defined(P_LINUX) || defined(P_SOLARIS)
+-#include <termio.h>
++#include <termios.h>
+ #endif
+
+ #include "../common/pipechan.cxx"
+--- ./src/ptlib/unix/channel.cxx.orig
++++ ./src/ptlib/unix/channel.cxx
+@@ -36,6 +36,7 @@
+
+ #include <ptlib.h>
+ #include <sys/ioctl.h>
++#include <sys/uio.h>
+
+
+ #include "../common/pchannel.cxx"
+--- ./src/ptlib/unix/osutil.cxx.orig
++++ ./src/ptlib/unix/osutil.cxx
+@@ -275,9 +275,9 @@
+ PInt64 PString::AsInt64(unsigned base) const
+ {
+ char * dummy;
+-#if defined(P_SOLARIS) || defined(__BEOS__) || defined (P_AIX) || defined(P_IRIX) || defined (P_QNX)
++#if (LONG_BIT == 32) || defined(P_SOLARIS) || defined(__BEOS__) || defined (P_AIX) || defined(P_IRIX) || defined (P_QNX)
+ return strtoll(theArray, &dummy, base);
+-#elif defined(P_VXWORKS) || defined(P_RTEMS)
++#elif (LONG_BIT == 64) || defined(P_VXWORKS) || defined(P_RTEMS)
+ return strtol(theArray, &dummy, base);
+ #else
+ return strtoq(theArray, &dummy, base);
+@@ -287,9 +287,9 @@
+ PUInt64 PString::AsUnsigned64(unsigned base) const
+ {
+ char * dummy;
+-#if defined(P_SOLARIS) || defined(__BEOS__) || defined (P_AIX) || defined (P_IRIX) || defined (P_QNX)
++#if (LONG_BIT == 32 ) || defined(P_SOLARIS) || defined(__BEOS__) || defined (P_AIX) || defined (P_IRIX) || defined (P_QNX)
+ return strtoull(theArray, &dummy, base);
+-#elif defined(P_VXWORKS) || defined(P_RTEMS)
++#elif (LONG_BIT == 64) || defined(P_VXWORKS) || defined(P_RTEMS)
+ return strtoul(theArray, &dummy, base);
+ #else
+ return strtouq(theArray, &dummy, base);
+--- ./src/ptlib/common/sockets.cxx.orig
++++ ./src/ptlib/common/sockets.cxx
+@@ -77,6 +77,9 @@
+ #endif
+ #endif
+
++#ifndef NETDB_SUCCESS
++#define NETDB_SUCCESS 0
++#endif
+
+ ///////////////////////////////////////////////////////////////////////////////
+ // PIPSocket::Address
diff --git a/unmaintained/ptlib/ptlib-2.10.10-bison_fixes-1.patch b/unmaintained/ptlib/ptlib-2.10.10-bison_fixes-1.patch
new file mode 100644
index 0000000000..996d2365a7
--- /dev/null
+++ b/unmaintained/ptlib/ptlib-2.10.10-bison_fixes-1.patch
@@ -0,0 +1,2895 @@
+Submitted By: Armin K. <krejzi at email dot com>
+Date: 2013-08-20
+Initial Package Version: 2.10.10
+Upstream Status: Reported
+Origin: Self
+Description: Adds pregenerated C file which isn't generated correctly
+ with Bison 3.0.
+
+--- a/src/ptlib/common/getdate.tab.c 1970-01-01 01:00:00.000000000 +0100
++++ b/src/ptlib/common/getdate.tab.c 2013-08-20 17:26:14.143891774 +0200
+@@ -0,0 +1,2884 @@
++/* A Bison parser, made by GNU Bison 2.7.12-4996. */
++
++/* Bison implementation for Yacc-like parsers in C
++
++ Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
++
++ This program is free software: you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation, either version 3 of the License, or
++ (at your option) any later version.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>. */
++
++/* As a special exception, you may create a larger work that contains
++ part or all of the Bison parser skeleton and distribute that work
++ under terms of your choice, so long as that work isn't itself a
++ parser generator using the skeleton or a modified version thereof
++ as a parser skeleton. Alternatively, if you modify or redistribute
++ the parser skeleton itself, you may (at your option) remove this
++ special exception, which will cause the skeleton and the resulting
++ Bison output files to be licensed under the GNU General Public
++ License without this special exception.
++
++ This special exception was added by the Free Software Foundation in
++ version 2.2 of Bison. */
++
++/* C LALR(1) parser skeleton written by Richard Stallman, by
++ simplifying the original so-called "semantic" parser. */
++
++/* All symbols defined below should begin with yy or YY, to avoid
++ infringing on user name space. This should be done even for local
++ variables, as they might otherwise be expanded by user macros.
++ There are some unavoidable exceptions within include files to
++ define necessary library symbols; they are noted "INFRINGES ON
++ USER NAME SPACE" below. */
++
++/* Identify Bison output. */
++#define YYBISON 1
++
++/* Bison version. */
++#define YYBISON_VERSION "2.7.12-4996"
++
++/* Skeleton name. */
++#define YYSKELETON_NAME "yacc.c"
++
++/* Pure parsers. */
++#define YYPURE 1
++
++/* Push parsers. */
++#define YYPUSH 0
++
++/* Pull parsers. */
++#define YYPULL 1
++
++
++
++
++/* Copy the first part of user declarations. */
++/* Line 371 of yacc.c */
++#line 1 "ptlib/common/getdate.y"
++
++/*
++** Originally written by Steven M. Bellovin <smb@research.att.com> while
++** at the University of North Carolina at Chapel Hill. Later tweaked by
++** a couple of people on Usenet. Completely overhauled by Rich $alz
++** <rsalz@bbn.com> and Jim Berets <jberets@bbn.com> in August, 1990;
++**
++** Major hack to coerce it into use with the Equivalence Portable
++** Windows Library.
++**
++** This grammar has 10 shift/reduce conflicts.
++**
++** This code is in the public domain and has no copyright.
++*/
++/* SUPPRESS 287 on yaccpar_sccsid *//* Unused static variable */
++/* SUPPRESS 288 on yyerrlab *//* Label unused */
++
++
++#include <time.h>
++#include <string.h>
++#include <ctype.h>
++#include <stdlib.h>
++
++#ifndef EOF
++#include <stdio.h>
++#endif
++
++
++#ifdef _WIN32
++#ifdef _MSC_VER
++#pragma warning(disable:4131 4701 4996)
++#endif
++#define STDAPICALLTYPE __stdcall
++#define MSDOS
++#else
++#define STDAPICALLTYPE
++#endif
++
++
++extern int STDAPICALLTYPE PTimeGetChar(void * stream);
++extern void STDAPICALLTYPE PTimeUngetChar(void * stream, int c);
++int STDAPICALLTYPE PTimeGetDateOrder();
++int STDAPICALLTYPE PTimeIsMonthName(const char *, int, int);
++int STDAPICALLTYPE PTimeIsDayName(const char *, int, int);
++
++
++#define EPOCH 1970
++#define HOUR(x) ((time_t)(x) * 60)
++#define SECSPERDAY (24L * 60L * 60L)
++
++
++/*
++** An entry in the lexical lookup table.
++*/
++typedef struct _TABLE {
++ char *name;
++ int type;
++ time_t value;
++} TABLE;
++
++
++/*
++** Daylight-savings mode: on, off, or not yet known.
++*/
++typedef enum _DSTMODE {
++ DSTon, DSToff, DSTmaybe
++} DSTMODE;
++
++/*
++** Meridian: am, pm, or 24-hour style.
++*/
++typedef enum _MERIDIAN {
++ MERam, MERpm, MER24
++} MERIDIAN;
++
++
++/*
++** Global variables. We could get rid of most of these by using a good
++** union as the yacc stack. (This routine was originally written before
++** yacc had the %union construct.) Maybe someday; right now we only use
++** the %union very rarely.
++*/
++struct Variables {
++ void *yyInput;
++ DSTMODE yyDSTmode;
++ time_t yyDayOrdinal;
++ time_t yyDayNumber;
++ int yyHaveDate;
++ int yyHaveDay;
++ int yyHaveRel;
++ int yyHaveTime;
++ int yyHaveZone;
++ time_t yyTimezone;
++ time_t yyDay;
++ time_t yyHour;
++ time_t yyMinutes;
++ time_t yyMonth;
++ time_t yySeconds;
++ time_t yyYear;
++ MERIDIAN yyMeridian;
++ time_t yyRelMonth;
++ time_t yyRelSeconds;
++};
++
++#define VARIABLE ((struct Variables*)parseParam)
++
++
++#define YYPURE 1
++#define YYLEX_PARAM VARIABLE
++#define YYPARSE_PARAM parseParam
++
++#define yyparse PTime_yyparse
++#define yylex PTime_yylex
++#define yyerror PTime_yyerror
++
++#define GCC_VERSION (__GNUC__ * 10000 \
++ + __GNUC_MINOR__ * 100 \
++ + __GNUC_PATCHLEVEL__)
++
++static int yyparse(void *);
++static int yylex();
++
++#ifdef __GNUC__
++static int yyerror(char const *msg);
++#else
++static void yyerror(char const *msg);
++#endif
++
++
++static void SetPossibleDate(struct Variables*, time_t, time_t, time_t);
++
++
++
++/* Line 371 of yacc.c */
++#line 202 "ptlib/common/getdate.tab.c"
++
++# ifndef YY_NULL
++# if defined __cplusplus && 201103L <= __cplusplus
++# define YY_NULL nullptr
++# else
++# define YY_NULL 0
++# endif
++# endif
++
++/* Enabling verbose error messages. */
++#ifdef YYERROR_VERBOSE
++# undef YYERROR_VERBOSE
++# define YYERROR_VERBOSE 1
++#else
++# define YYERROR_VERBOSE 0
++#endif
++
++
++/* Enabling traces. */
++#ifndef YYDEBUG
++# define YYDEBUG 0
++#endif
++#if YYDEBUG
++extern int yydebug;
++#endif
++
++/* Tokens. */
++#ifndef YYTOKENTYPE
++# define YYTOKENTYPE
++ /* Put the tokens into the symbol table, so that GDB and other debuggers
++ know about them. */
++ enum yytokentype {
++ tAGO = 258,
++ tDAY = 259,
++ tDAYZONE = 260,
++ tID = 261,
++ tMERIDIAN = 262,
++ tMINUTE_UNIT = 263,
++ tMONTH = 264,
++ tMONTH_UNIT = 265,
++ tSNUMBER = 266,
++ tS4DIGITNUMBER = 267,
++ tUNUMBER = 268,
++ t4DIGITNUMBER = 269,
++ t6DIGITNUMBER = 270,
++ t8DIGITNUMBER = 271,
++ tSEC_UNIT = 272,
++ tZONE = 273,
++ tMILZONE = 274,
++ tRFC3339 = 275,
++ tDST = 276
++ };
++#endif
++
++
++#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
++typedef union YYSTYPE
++{
++/* Line 387 of yacc.c */
++#line 137 "ptlib/common/getdate.y"
++
++ time_t Number;
++ enum _MERIDIAN Meridian;
++
++
++/* Line 387 of yacc.c */
++#line 269 "ptlib/common/getdate.tab.c"
++} YYSTYPE;
++# define YYSTYPE_IS_TRIVIAL 1
++# define yystype YYSTYPE /* obsolescent; will be withdrawn */
++# define YYSTYPE_IS_DECLARED 1
++#endif
++
++
++#ifdef YYPARSE_PARAM
++#if defined __STDC__ || defined __cplusplus
++int yyparse (void *YYPARSE_PARAM);
++#else
++int yyparse ();
++#endif
++#else /* ! YYPARSE_PARAM */
++#if defined __STDC__ || defined __cplusplus
++int yyparse (void);
++#else
++int yyparse ();
++#endif
++#endif /* ! YYPARSE_PARAM */
++
++
++
++/* Copy the second part of user declarations. */
++
++/* Line 390 of yacc.c */
++#line 296 "ptlib/common/getdate.tab.c"
++
++#ifdef short
++# undef short
++#endif
++
++#ifdef YYTYPE_UINT8
++typedef YYTYPE_UINT8 yytype_uint8;
++#else
++typedef unsigned char yytype_uint8;
++#endif
++
++#ifdef YYTYPE_INT8
++typedef YYTYPE_INT8 yytype_int8;
++#elif (defined __STDC__ || defined __C99__FUNC__ \
++ || defined __cplusplus || defined _MSC_VER)
++typedef signed char yytype_int8;
++#else
++typedef short int yytype_int8;
++#endif
++
++#ifdef YYTYPE_UINT16
++typedef YYTYPE_UINT16 yytype_uint16;
++#else
++typedef unsigned short int yytype_uint16;
++#endif
++
++#ifdef YYTYPE_INT16
++typedef YYTYPE_INT16 yytype_int16;
++#else
++typedef short int yytype_int16;
++#endif
++
++#ifndef YYSIZE_T
++# ifdef __SIZE_TYPE__
++# define YYSIZE_T __SIZE_TYPE__
++# elif defined size_t
++# define YYSIZE_T size_t
++# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
++ || defined __cplusplus || defined _MSC_VER)
++# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
++# define YYSIZE_T size_t
++# else
++# define YYSIZE_T unsigned int
++# endif
++#endif
++
++#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
++
++#ifndef YY_
++# if defined YYENABLE_NLS && YYENABLE_NLS
++# if ENABLE_NLS
++# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
++# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
++# endif
++# endif
++# ifndef YY_
++# define YY_(Msgid) Msgid
++# endif
++#endif
++
++#ifndef __attribute__
++/* This feature is available in gcc versions 2.5 and later. */
++# if (! defined __GNUC__ || __GNUC__ < 2 \
++ || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
++# define __attribute__(Spec) /* empty */
++# endif
++#endif
++
++/* Suppress unused-variable warnings by "using" E. */
++#if ! defined lint || defined __GNUC__
++# define YYUSE(E) ((void) (E))
++#else
++# define YYUSE(E) /* empty */
++#endif
++
++
++/* Identity function, used to suppress warnings about constant conditions. */
++#ifndef lint
++# define YYID(N) (N)
++#else
++#if (defined __STDC__ || defined __C99__FUNC__ \
++ || defined __cplusplus || defined _MSC_VER)
++static int
++YYID (int yyi)
++#else
++static int
++YYID (yyi)
++ int yyi;
++#endif
++{
++ return yyi;
++}
++#endif
++
++#if ! defined yyoverflow || YYERROR_VERBOSE
++
++/* The parser invokes alloca or malloc; define the necessary symbols. */
++
++# ifdef YYSTACK_USE_ALLOCA
++# if YYSTACK_USE_ALLOCA
++# ifdef __GNUC__
++# define YYSTACK_ALLOC __builtin_alloca
++# elif defined __BUILTIN_VA_ARG_INCR
++# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
++# elif defined _AIX
++# define YYSTACK_ALLOC __alloca
++# elif defined _MSC_VER
++# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
++# define alloca _alloca
++# else
++# define YYSTACK_ALLOC alloca
++# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
++ || defined __cplusplus || defined _MSC_VER)
++# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
++ /* Use EXIT_SUCCESS as a witness for stdlib.h. */
++# ifndef EXIT_SUCCESS
++# define EXIT_SUCCESS 0
++# endif
++# endif
++# endif
++# endif
++# endif
++
++# ifdef YYSTACK_ALLOC
++ /* Pacify GCC's `empty if-body' warning. */
++# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
++# ifndef YYSTACK_ALLOC_MAXIMUM
++ /* The OS might guarantee only one guard page at the bottom of the stack,
++ and a page size can be as small as 4096 bytes. So we cannot safely
++ invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
++ to allow for a few compiler-allocated temporary stack slots. */
++# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
++# endif
++# else
++# define YYSTACK_ALLOC YYMALLOC
++# define YYSTACK_FREE YYFREE
++# ifndef YYSTACK_ALLOC_MAXIMUM
++# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
++# endif
++# if (defined __cplusplus && ! defined EXIT_SUCCESS \
++ && ! ((defined YYMALLOC || defined malloc) \
++ && (defined YYFREE || defined free)))
++# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
++# ifndef EXIT_SUCCESS
++# define EXIT_SUCCESS 0
++# endif
++# endif
++# ifndef YYMALLOC
++# define YYMALLOC malloc
++# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
++ || defined __cplusplus || defined _MSC_VER)
++void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
++# endif
++# endif
++# ifndef YYFREE
++# define YYFREE free
++# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
++ || defined __cplusplus || defined _MSC_VER)
++void free (void *); /* INFRINGES ON USER NAME SPACE */
++# endif
++# endif
++# endif
++#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
++
++
++#if (! defined yyoverflow \
++ && (! defined __cplusplus \
++ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
++
++/* A type that is properly aligned for any stack member. */
++union yyalloc
++{
++ yytype_int16 yyss_alloc;
++ YYSTYPE yyvs_alloc;
++};
++
++/* The size of the maximum gap between one aligned stack and the next. */
++# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
++
++/* The size of an array large to enough to hold all stacks, each with
++ N elements. */
++# define YYSTACK_BYTES(N) \
++ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
++ + YYSTACK_GAP_MAXIMUM)
++
++# define YYCOPY_NEEDED 1
++
++/* Relocate STACK from its old location to the new one. The
++ local variables YYSIZE and YYSTACKSIZE give the old and new number of
++ elements in the stack, and YYPTR gives the new location of the
++ stack. Advance YYPTR to a properly aligned location for the next
++ stack. */
++# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
++ do \
++ { \
++ YYSIZE_T yynewbytes; \
++ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
++ Stack = &yyptr->Stack_alloc; \
++ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
++ yyptr += yynewbytes / sizeof (*yyptr); \
++ } \
++ while (YYID (0))
++
++#endif
++
++#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
++/* Copy COUNT objects from SRC to DST. The source and destination do
++ not overlap. */
++# ifndef YYCOPY
++# if defined __GNUC__ && 1 < __GNUC__
++# define YYCOPY(Dst, Src, Count) \
++ __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
++# else
++# define YYCOPY(Dst, Src, Count) \
++ do \
++ { \
++ YYSIZE_T yyi; \
++ for (yyi = 0; yyi < (Count); yyi++) \
++ (Dst)[yyi] = (Src)[yyi]; \
++ } \
++ while (YYID (0))
++# endif
++# endif
++#endif /* !YYCOPY_NEEDED */
++
++/* YYFINAL -- State number of the termination state. */
++#define YYFINAL 2
++/* YYLAST -- Last index in YYTABLE. */
++#define YYLAST 105
++
++/* YYNTOKENS -- Number of terminals. */
++#define YYNTOKENS 25
++/* YYNNTS -- Number of nonterminals. */
++#define YYNNTS 12
++/* YYNRULES -- Number of rules. */
++#define YYNRULES 51
++/* YYNRULES -- Number of states. */
++#define YYNSTATES 63
++
++/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
++#define YYUNDEFTOK 2
++#define YYMAXUTOK 276
++
++#define YYTRANSLATE(YYX) \
++ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
++
++/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
++static const yytype_uint8 yytranslate[] =
++{
++ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 23, 2, 2, 24, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 22, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
++ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
++ 15, 16, 17, 18, 19, 20, 21
++};
++
++#if YYDEBUG
++/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
++ YYRHS. */
++static const yytype_uint8 yyprhs[] =
++{
++ 0, 0, 3, 4, 7, 9, 11, 13, 15, 17,
++ 19, 22, 25, 28, 33, 38, 45, 52, 54, 56,
++ 59, 61, 63, 66, 69, 73, 79, 84, 86, 90,
++ 93, 98, 101, 105, 108, 110, 113, 116, 118, 121,
++ 124, 126, 129, 132, 134, 136, 138, 140, 142, 144,
++ 146, 147
++};
++
++/* YYRHS -- A `-1'-separated list of the rules' RHS. */
++static const yytype_int8 yyrhs[] =
++{
++ 26, 0, -1, -1, 26, 27, -1, 28, -1, 29,
++ -1, 31, -1, 30, -1, 32, -1, 35, -1, 13,
++ 7, -1, 14, 12, -1, 15, 12, -1, 34, 22,
++ 34, 36, -1, 34, 22, 34, 12, -1, 34, 22,
++ 34, 22, 34, 36, -1, 34, 22, 34, 22, 34,
++ 12, -1, 18, -1, 5, -1, 18, 21, -1, 19,
++ -1, 4, -1, 4, 23, -1, 34, 4, -1, 34,
++ 24, 34, -1, 34, 24, 34, 24, 34, -1, 34,
++ 11, 11, 20, -1, 16, -1, 34, 9, 11, -1,
++ 9, 34, -1, 9, 34, 23, 34, -1, 34, 9,
++ -1, 34, 9, 34, -1, 33, 3, -1, 33, -1,
++ 34, 8, -1, 11, 8, -1, 8, -1, 11, 17,
++ -1, 34, 17, -1, 17, -1, 11, 10, -1, 34,
++ 10, -1, 10, -1, 13, -1, 14, -1, 15, -1,
++ 13, -1, 14, -1, 15, -1, -1, 7, -1
++};
++
++/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
++static const yytype_uint16 yyrline[] =
++{
++ 0, 153, 153, 154, 157, 160, 163, 166, 169, 172,
++ 175, 181, 189, 197, 203, 210, 216, 226, 230, 235,
++ 239, 249, 253, 257, 263, 266, 269, 273, 278, 282,
++ 289, 294, 301, 306, 310, 313, 316, 319, 322, 325,
++ 328, 331, 334, 337, 342, 345, 348, 353, 379, 390,
++ 407, 410
++};
++#endif
++
++#if YYDEBUG || YYERROR_VERBOSE || 0
++/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
++ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
++static const char *const yytname[] =
++{
++ "$end", "error", "$undefined", "tAGO", "tDAY", "tDAYZONE", "tID",
++ "tMERIDIAN", "tMINUTE_UNIT", "tMONTH", "tMONTH_UNIT", "tSNUMBER",
++ "tS4DIGITNUMBER", "tUNUMBER", "t4DIGITNUMBER", "t6DIGITNUMBER",
++ "t8DIGITNUMBER", "tSEC_UNIT", "tZONE", "tMILZONE", "tRFC3339", "tDST",
++ "':'", "','", "'/'", "$accept", "spec", "item", "time", "zone", "day",
++ "date", "rel", "relunit", "unumber", "number", "o_merid", YY_NULL
++};
++#endif
++
++# ifdef YYPRINT
++/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
++ token YYLEX-NUM. */
++static const yytype_uint16 yytoknum[] =
++{
++ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
++ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
++ 275, 276, 58, 44, 47
++};
++# endif
++
++/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
++static const yytype_uint8 yyr1[] =
++{
++ 0, 25, 26, 26, 27, 27, 27, 27, 27, 27,
++ 28, 28, 28, 28, 28, 28, 28, 29, 29, 29,
++ 29, 30, 30, 30, 31, 31, 31, 31, 31, 31,
++ 31, 31, 31, 32, 32, 33, 33, 33, 33, 33,
++ 33, 33, 33, 33, 34, 34, 34, 35, 35, 35,
++ 36, 36
++};
++
++/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
++static const yytype_uint8 yyr2[] =
++{
++ 0, 2, 0, 2, 1, 1, 1, 1, 1, 1,
++ 2, 2, 2, 4, 4, 6, 6, 1, 1, 2,
++ 1, 1, 2, 2, 3, 5, 4, 1, 3, 2,
++ 4, 2, 3, 2, 1, 2, 2, 1, 2, 2,
++ 1, 2, 2, 1, 1, 1, 1, 1, 1, 1,
++ 0, 1
++};
++
++/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
++ Performed when YYTABLE doesn't specify something else to do. Zero
++ means the default is an error. */
++static const yytype_uint8 yydefact[] =
++{
++ 2, 0, 1, 21, 18, 37, 0, 43, 0, 44,
++ 45, 46, 27, 40, 17, 20, 3, 4, 5, 7,
++ 6, 8, 34, 0, 9, 22, 44, 45, 46, 29,
++ 36, 41, 38, 10, 11, 12, 19, 33, 23, 35,
++ 31, 42, 0, 39, 0, 0, 0, 28, 32, 0,
++ 50, 24, 30, 26, 51, 14, 0, 13, 0, 50,
++ 25, 16, 15
++};
++
++/* YYDEFGOTO[NTERM-NUM]. */
++static const yytype_int8 yydefgoto[] =
++{
++ -1, 1, 16, 17, 18, 19, 20, 21, 22, 23,
++ 24, 57
++};
++
++/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
++ STATE-NUM. */
++#define YYPACT_NINF -27
++static const yytype_int8 yypact[] =
++{
++ -27, 49, -27, -10, -27, -27, -11, -27, 1, 10,
++ 69, 86, -27, -27, -9, -27, -27, -27, -27, -27,
++ -27, -27, 13, -3, -27, -27, -27, -27, -27, 8,
++ -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
++ 30, -27, 9, -27, -11, -11, -11, -27, -27, 12,
++ 15, 18, -27, -27, -27, -27, -11, -27, -11, 23,
++ -27, -27, -27
++};
++
++/* YYPGOTO[NTERM-NUM]. */
++static const yytype_int8 yypgoto[] =
++{
++ -27, -27, -27, -27, -27, -27, -27, -27, -27, -6,
++ -27, -26
++};
++
++/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
++ positive, shift that token. If negative, reduce the rule which
++ number is the opposite. If YYTABLE_NINF, syntax error. */
++#define YYTABLE_NINF -50
++static const yytype_int8 yytable[] =
++{
++ 29, 38, 26, 27, 28, 39, 40, 41, 42, 30,
++ -47, 31, 36, 25, 43, -47, 37, 33, 32, 44,
++ 49, 45, 54, -47, -47, -47, -47, 55, -47, -47,
++ 54, 46, 53, 62, 48, 61, 0, 56, 50, 51,
++ 52, 47, 58, 26, 27, 28, 0, 0, 0, 2,
++ 59, 0, 60, 3, 4, 0, 0, 5, 6, 7,
++ 8, 0, 9, 10, 11, 12, 13, 14, 15, -48,
++ 0, 0, 0, 0, -48, 0, 0, 0, 0, 0,
++ 0, 34, -48, -48, -48, -48, -49, -48, -48, 0,
++ 0, -49, 0, 0, 0, 0, 0, 0, 35, -49,
++ -49, -49, -49, 0, -49, -49
++};
++
++#define yypact_value_is_default(Yystate) \
++ (!!((Yystate) == (-27)))
++
++#define yytable_value_is_error(Yytable_value) \
++ YYID (0)
++
++static const yytype_int8 yycheck[] =
++{
++ 6, 4, 13, 14, 15, 8, 9, 10, 11, 8,
++ 0, 10, 21, 23, 17, 5, 3, 7, 17, 22,
++ 11, 24, 7, 13, 14, 15, 16, 12, 18, 19,
++ 7, 23, 20, 59, 40, 12, -1, 22, 44, 45,
++ 46, 11, 24, 13, 14, 15, -1, -1, -1, 0,
++ 56, -1, 58, 4, 5, -1, -1, 8, 9, 10,
++ 11, -1, 13, 14, 15, 16, 17, 18, 19, 0,
++ -1, -1, -1, -1, 5, -1, -1, -1, -1, -1,
++ -1, 12, 13, 14, 15, 16, 0, 18, 19, -1,
++ -1, 5, -1, -1, -1, -1, -1, -1, 12, 13,
++ 14, 15, 16, -1, 18, 19
++};
++
++/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
++ symbol of state STATE-NUM. */
++static const yytype_uint8 yystos[] =
++{
++ 0, 26, 0, 4, 5, 8, 9, 10, 11, 13,
++ 14, 15, 16, 17, 18, 19, 27, 28, 29, 30,
++ 31, 32, 33, 34, 35, 23, 13, 14, 15, 34,
++ 8, 10, 17, 7, 12, 12, 21, 3, 4, 8,
++ 9, 10, 11, 17, 22, 24, 23, 11, 34, 11,
++ 34, 34, 34, 20, 7, 12, 22, 36, 24, 34,
++ 34, 12, 36
++};
++
++#define yyerrok (yyerrstatus = 0)
++#define yyclearin (yychar = YYEMPTY)
++#define YYEMPTY (-2)
++#define YYEOF 0
++
++#define YYACCEPT goto yyacceptlab
++#define YYABORT goto yyabortlab
++#define YYERROR goto yyerrorlab
++
++
++/* Like YYERROR except do call yyerror. This remains here temporarily
++ to ease the transition to the new meaning of YYERROR, for GCC.
++ Once GCC version 2 has supplanted version 1, this can go. However,
++ YYFAIL appears to be in use. Nevertheless, it is formally deprecated
++ in Bison 2.4.2's NEWS entry, where a plan to phase it out is
++ discussed. */
++
++#define YYFAIL goto yyerrlab
++#if defined YYFAIL
++ /* This is here to suppress warnings from the GCC cpp's
++ -Wunused-macros. Normally we don't worry about that warning, but
++ some users do, and we want to make it easy for users to remove
++ YYFAIL uses, which will produce warnings from Bison 2.5. */
++#endif
++
++#define YYRECOVERING() (!!yyerrstatus)
++
++#define YYBACKUP(Token, Value) \
++do \
++ if (yychar == YYEMPTY) \
++ { \
++ yychar = (Token); \
++ yylval = (Value); \
++ YYPOPSTACK (yylen); \
++ yystate = *yyssp; \
++ goto yybackup; \
++ } \
++ else \
++ { \
++ yyerror (YY_("syntax error: cannot back up")); \
++ YYERROR; \
++ } \
++while (YYID (0))
++
++/* Error token number */
++#define YYTERROR 1
++#define YYERRCODE 256
++
++
++/* This macro is provided for backward compatibility. */
++#ifndef YY_LOCATION_PRINT
++# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
++#endif
++
++
++/* YYLEX -- calling `yylex' with the right arguments. */
++#ifdef YYLEX_PARAM
++# define YYLEX yylex (&yylval, YYLEX_PARAM)
++#else
++# define YYLEX yylex (&yylval)
++#endif
++
++/* Enable debugging if requested. */
++#if YYDEBUG
++
++# ifndef YYFPRINTF
++# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
++# define YYFPRINTF fprintf
++# endif
++
++# define YYDPRINTF(Args) \
++do { \
++ if (yydebug) \
++ YYFPRINTF Args; \
++} while (YYID (0))
++
++# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
++do { \
++ if (yydebug) \
++ { \
++ YYFPRINTF (stderr, "%s ", Title); \
++ yy_symbol_print (stderr, \
++ Type, Value); \
++ YYFPRINTF (stderr, "\n"); \
++ } \
++} while (YYID (0))
++
++
++/*--------------------------------.
++| Print this symbol on YYOUTPUT. |
++`--------------------------------*/
++
++/*ARGSUSED*/
++#if (defined __STDC__ || defined __C99__FUNC__ \
++ || defined __cplusplus || defined _MSC_VER)
++static void
++yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
++#else
++static void
++yy_symbol_value_print (yyoutput, yytype, yyvaluep)
++ FILE *yyoutput;
++ int yytype;
++ YYSTYPE const * const yyvaluep;
++#endif
++{
++ FILE *yyo = yyoutput;
++ YYUSE (yyo);
++ if (!yyvaluep)
++ return;
++# ifdef YYPRINT
++ if (yytype < YYNTOKENS)
++ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
++# else
++ YYUSE (yyoutput);
++# endif
++ YYUSE (yytype);
++}
++
++
++/*--------------------------------.
++| Print this symbol on YYOUTPUT. |
++`--------------------------------*/
++
++#if (defined __STDC__ || defined __C99__FUNC__ \
++ || defined __cplusplus || defined _MSC_VER)
++static void
++yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
++#else
++static void
++yy_symbol_print (yyoutput, yytype, yyvaluep)
++ FILE *yyoutput;
++ int yytype;
++ YYSTYPE const * const yyvaluep;
++#endif
++{
++ if (yytype < YYNTOKENS)
++ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
++ else
++ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
++
++ yy_symbol_value_print (yyoutput, yytype, yyvaluep);
++ YYFPRINTF (yyoutput, ")");
++}
++
++/*------------------------------------------------------------------.
++| yy_stack_print -- Print the state stack from its BOTTOM up to its |
++| TOP (included). |
++`------------------------------------------------------------------*/
++
++#if (defined __STDC__ || defined __C99__FUNC__ \
++ || defined __cplusplus || defined _MSC_VER)
++static void
++yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
++#else
++static void
++yy_stack_print (yybottom, yytop)
++ yytype_int16 *yybottom;
++ yytype_int16 *yytop;
++#endif
++{
++ YYFPRINTF (stderr, "Stack now");
++ for (; yybottom <= yytop; yybottom++)
++ {
++ int yybot = *yybottom;
++ YYFPRINTF (stderr, " %d", yybot);
++ }
++ YYFPRINTF (stderr, "\n");
++}
++
++# define YY_STACK_PRINT(Bottom, Top) \
++do { \
++ if (yydebug) \
++ yy_stack_print ((Bottom), (Top)); \
++} while (YYID (0))
++
++
++/*------------------------------------------------.
++| Report that the YYRULE is going to be reduced. |
++`------------------------------------------------*/
++
++#if (defined __STDC__ || defined __C99__FUNC__ \
++ || defined __cplusplus || defined _MSC_VER)
++static void
++yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
++#else
++static void
++yy_reduce_print (yyvsp, yyrule)
++ YYSTYPE *yyvsp;
++ int yyrule;
++#endif
++{
++ int yynrhs = yyr2[yyrule];
++ int yyi;
++ unsigned long int yylno = yyrline[yyrule];
++ YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
++ yyrule - 1, yylno);
++ /* The symbols being reduced. */
++ for (yyi = 0; yyi < yynrhs; yyi++)
++ {
++ YYFPRINTF (stderr, " $%d = ", yyi + 1);
++ yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
++ &(yyvsp[(yyi + 1) - (yynrhs)])
++ );
++ YYFPRINTF (stderr, "\n");
++ }
++}
++
++# define YY_REDUCE_PRINT(Rule) \
++do { \
++ if (yydebug) \
++ yy_reduce_print (yyvsp, Rule); \
++} while (YYID (0))
++
++/* Nonzero means print parse trace. It is left uninitialized so that
++ multiple parsers can coexist. */
++int yydebug;
++#else /* !YYDEBUG */
++# define YYDPRINTF(Args)
++# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
++# define YY_STACK_PRINT(Bottom, Top)
++# define YY_REDUCE_PRINT(Rule)
++#endif /* !YYDEBUG */
++
++
++/* YYINITDEPTH -- initial size of the parser's stacks. */
++#ifndef YYINITDEPTH
++# define YYINITDEPTH 200
++#endif
++
++/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
++ if the built-in stack extension method is used).
++
++ Do not make this value too large; the results are undefined if
++ YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
++ evaluated with infinite-precision integer arithmetic. */
++
++#ifndef YYMAXDEPTH
++# define YYMAXDEPTH 10000
++#endif
++
++
++#if YYERROR_VERBOSE
++
++# ifndef yystrlen
++# if defined __GLIBC__ && defined _STRING_H
++# define yystrlen strlen
++# else
++/* Return the length of YYSTR. */
++#if (defined __STDC__ || defined __C99__FUNC__ \
++ || defined __cplusplus || defined _MSC_VER)
++static YYSIZE_T
++yystrlen (const char *yystr)
++#else
++static YYSIZE_T
++yystrlen (yystr)
++ const char *yystr;
++#endif
++{
++ YYSIZE_T yylen;
++ for (yylen = 0; yystr[yylen]; yylen++)
++ continue;
++ return yylen;
++}
++# endif
++# endif
++
++# ifndef yystpcpy
++# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
++# define yystpcpy stpcpy
++# else
++/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
++ YYDEST. */
++#if (defined __STDC__ || defined __C99__FUNC__ \
++ || defined __cplusplus || defined _MSC_VER)
++static char *
++yystpcpy (char *yydest, const char *yysrc)
++#else
++static char *
++yystpcpy (yydest, yysrc)
++ char *yydest;
++ const char *yysrc;
++#endif
++{
++ char *yyd = yydest;
++ const char *yys = yysrc;
++
++ while ((*yyd++ = *yys++) != '\0')
++ continue;
++
++ return yyd - 1;
++}
++# endif
++# endif
++
++# ifndef yytnamerr
++/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
++ quotes and backslashes, so that it's suitable for yyerror. The
++ heuristic is that double-quoting is unnecessary unless the string
++ contains an apostrophe, a comma, or backslash (other than
++ backslash-backslash). YYSTR is taken from yytname. If YYRES is
++ null, do not copy; instead, return the length of what the result
++ would have been. */
++static YYSIZE_T
++yytnamerr (char *yyres, const char *yystr)
++{
++ if (*yystr == '"')
++ {
++ YYSIZE_T yyn = 0;
++ char const *yyp = yystr;
++
++ for (;;)
++ switch (*++yyp)
++ {
++ case '\'':
++ case ',':
++ goto do_not_strip_quotes;
++
++ case '\\':
++ if (*++yyp != '\\')
++ goto do_not_strip_quotes;
++ /* Fall through. */
++ default:
++ if (yyres)
++ yyres[yyn] = *yyp;
++ yyn++;
++ break;
++
++ case '"':
++ if (yyres)
++ yyres[yyn] = '\0';
++ return yyn;
++ }
++ do_not_strip_quotes: ;
++ }
++
++ if (! yyres)
++ return yystrlen (yystr);
++
++ return yystpcpy (yyres, yystr) - yyres;
++}
++# endif
++
++/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
++ about the unexpected token YYTOKEN for the state stack whose top is
++ YYSSP.
++
++ Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
++ not large enough to hold the message. In that case, also set
++ *YYMSG_ALLOC to the required number of bytes. Return 2 if the
++ required number of bytes is too large to store. */
++static int
++yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
++ yytype_int16 *yyssp, int yytoken)
++{
++ YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
++ YYSIZE_T yysize = yysize0;
++ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
++ /* Internationalized format string. */
++ const char *yyformat = YY_NULL;
++ /* Arguments of yyformat. */
++ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
++ /* Number of reported tokens (one for the "unexpected", one per
++ "expected"). */
++ int yycount = 0;
++
++ /* There are many possibilities here to consider:
++ - Assume YYFAIL is not used. It's too flawed to consider. See
++ <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
++ for details. YYERROR is fine as it does not invoke this
++ function.
++ - If this state is a consistent state with a default action, then
++ the only way this function was invoked is if the default action
++ is an error action. In that case, don't check for expected
++ tokens because there are none.
++ - The only way there can be no lookahead present (in yychar) is if
++ this state is a consistent state with a default action. Thus,
++ detecting the absence of a lookahead is sufficient to determine
++ that there is no unexpected or expected token to report. In that
++ case, just report a simple "syntax error".
++ - Don't assume there isn't a lookahead just because this state is a
++ consistent state with a default action. There might have been a
++ previous inconsistent state, consistent state with a non-default
++ action, or user semantic action that manipulated yychar.
++ - Of course, the expected token list depends on states to have
++ correct lookahead information, and it depends on the parser not
++ to perform extra reductions after fetching a lookahead from the
++ scanner and before detecting a syntax error. Thus, state merging
++ (from LALR or IELR) and default reductions corrupt the expected
++ token list. However, the list is correct for canonical LR with
++ one exception: it will still contain any token that will not be
++ accepted due to an error action in a later state.
++ */
++ if (yytoken != YYEMPTY)
++ {
++ int yyn = yypact[*yyssp];
++ yyarg[yycount++] = yytname[yytoken];
++ if (!yypact_value_is_default (yyn))
++ {
++ /* Start YYX at -YYN if negative to avoid negative indexes in
++ YYCHECK. In other words, skip the first -YYN actions for
++ this state because they are default actions. */
++ int yyxbegin = yyn < 0 ? -yyn : 0;
++ /* Stay within bounds of both yycheck and yytname. */
++ int yychecklim = YYLAST - yyn + 1;
++ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
++ int yyx;
++
++ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
++ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
++ && !yytable_value_is_error (yytable[yyx + yyn]))
++ {
++ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
++ {
++ yycount = 1;
++ yysize = yysize0;
++ break;
++ }
++ yyarg[yycount++] = yytname[yyx];
++ {
++ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
++ if (! (yysize <= yysize1
++ && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
++ return 2;
++ yysize = yysize1;
++ }
++ }
++ }
++ }
++
++ switch (yycount)
++ {
++# define YYCASE_(N, S) \
++ case N: \
++ yyformat = S; \
++ break
++ YYCASE_(0, YY_("syntax error"));
++ YYCASE_(1, YY_("syntax error, unexpected %s"));
++ YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
++ YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
++ YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
++ YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
++# undef YYCASE_
++ }
++
++ {
++ YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
++ if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
++ return 2;
++ yysize = yysize1;
++ }
++
++ if (*yymsg_alloc < yysize)
++ {
++ *yymsg_alloc = 2 * yysize;
++ if (! (yysize <= *yymsg_alloc
++ && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
++ *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
++ return 1;
++ }
++
++ /* Avoid sprintf, as that infringes on the user's name space.
++ Don't have undefined behavior even if the translation
++ produced a string with the wrong number of "%s"s. */
++ {
++ char *yyp = *yymsg;
++ int yyi = 0;
++ while ((*yyp = *yyformat) != '\0')
++ if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
++ {
++ yyp += yytnamerr (yyp, yyarg[yyi++]);
++ yyformat += 2;
++ }
++ else
++ {
++ yyp++;
++ yyformat++;
++ }
++ }
++ return 0;
++}
++#endif /* YYERROR_VERBOSE */
++
++/*-----------------------------------------------.
++| Release the memory associated to this symbol. |
++`-----------------------------------------------*/
++
++/*ARGSUSED*/
++#if (defined __STDC__ || defined __C99__FUNC__ \
++ || defined __cplusplus || defined _MSC_VER)
++static void
++yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
++#else
++static void
++yydestruct (yymsg, yytype, yyvaluep)
++ const char *yymsg;
++ int yytype;
++ YYSTYPE *yyvaluep;
++#endif
++{
++ YYUSE (yyvaluep);
++
++ if (!yymsg)
++ yymsg = "Deleting";
++ YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
++
++ YYUSE (yytype);
++}
++
++
++
++
++/*----------.
++| yyparse. |
++`----------*/
++
++#ifdef YYPARSE_PARAM
++#if (defined __STDC__ || defined __C99__FUNC__ \
++ || defined __cplusplus || defined _MSC_VER)
++int
++yyparse (void *YYPARSE_PARAM)
++#else
++int
++yyparse (YYPARSE_PARAM)
++ void *YYPARSE_PARAM;
++#endif
++#else /* ! YYPARSE_PARAM */
++#if (defined __STDC__ || defined __C99__FUNC__ \
++ || defined __cplusplus || defined _MSC_VER)
++int
++yyparse (void)
++#else
++int
++yyparse ()
++
++#endif
++#endif
++{
++/* The lookahead symbol. */
++int yychar;
++
++
++#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
++/* Suppress an incorrect diagnostic about yylval being uninitialized. */
++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
++ _Pragma ("GCC diagnostic push") \
++ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
++ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
++# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
++ _Pragma ("GCC diagnostic pop")
++#else
++/* Default value used for initialization, for pacifying older GCCs
++ or non-GCC compilers. */
++static YYSTYPE yyval_default;
++# define YY_INITIAL_VALUE(Value) = Value
++#endif
++#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++# define YY_IGNORE_MAYBE_UNINITIALIZED_END
++#endif
++#ifndef YY_INITIAL_VALUE
++# define YY_INITIAL_VALUE(Value) /* Nothing. */
++#endif
++
++/* The semantic value of the lookahead symbol. */
++YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
++
++ /* Number of syntax errors so far. */
++ int yynerrs;
++
++ int yystate;
++ /* Number of tokens to shift before error messages enabled. */
++ int yyerrstatus;
++
++ /* The stacks and their tools:
++ `yyss': related to states.
++ `yyvs': related to semantic values.
++
++ Refer to the stacks through separate pointers, to allow yyoverflow
++ to reallocate them elsewhere. */
++
++ /* The state stack. */
++ yytype_int16 yyssa[YYINITDEPTH];
++ yytype_int16 *yyss;
++ yytype_int16 *yyssp;
++
++ /* The semantic value stack. */
++ YYSTYPE yyvsa[YYINITDEPTH];
++ YYSTYPE *yyvs;
++ YYSTYPE *yyvsp;
++
++ YYSIZE_T yystacksize;
++
++ int yyn;
++ int yyresult;
++ /* Lookahead token as an internal (translated) token number. */
++ int yytoken = 0;
++ /* The variables used to return semantic value and location from the
++ action routines. */
++ YYSTYPE yyval;
++
++#if YYERROR_VERBOSE
++ /* Buffer for error messages, and its allocated size. */
++ char yymsgbuf[128];
++ char *yymsg = yymsgbuf;
++ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
++#endif
++
++#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
++
++ /* The number of symbols on the RHS of the reduced rule.
++ Keep to zero when no symbol should be popped. */
++ int yylen = 0;
++
++ yyssp = yyss = yyssa;
++ yyvsp = yyvs = yyvsa;
++ yystacksize = YYINITDEPTH;
++
++ YYDPRINTF ((stderr, "Starting parse\n"));
++
++ yystate = 0;
++ yyerrstatus = 0;
++ yynerrs = 0;
++ yychar = YYEMPTY; /* Cause a token to be read. */
++ goto yysetstate;
++
++/*------------------------------------------------------------.
++| yynewstate -- Push a new state, which is found in yystate. |
++`------------------------------------------------------------*/
++ yynewstate:
++ /* In all cases, when you get here, the value and location stacks
++ have just been pushed. So pushing a state here evens the stacks. */
++ yyssp++;
++
++ yysetstate:
++ *yyssp = yystate;
++
++ if (yyss + yystacksize - 1 <= yyssp)
++ {
++ /* Get the current used size of the three stacks, in elements. */
++ YYSIZE_T yysize = yyssp - yyss + 1;
++
++#ifdef yyoverflow
++ {
++ /* Give user a chance to reallocate the stack. Use copies of
++ these so that the &'s don't force the real ones into
++ memory. */
++ YYSTYPE *yyvs1 = yyvs;
++ yytype_int16 *yyss1 = yyss;
++
++ /* Each stack pointer address is followed by the size of the
++ data in use in that stack, in bytes. This used to be a
++ conditional around just the two extra args, but that might
++ be undefined if yyoverflow is a macro. */
++ yyoverflow (YY_("memory exhausted"),
++ &yyss1, yysize * sizeof (*yyssp),
++ &yyvs1, yysize * sizeof (*yyvsp),
++ &yystacksize);
++
++ yyss = yyss1;
++ yyvs = yyvs1;
++ }
++#else /* no yyoverflow */
++# ifndef YYSTACK_RELOCATE
++ goto yyexhaustedlab;
++# else
++ /* Extend the stack our own way. */
++ if (YYMAXDEPTH <= yystacksize)
++ goto yyexhaustedlab;
++ yystacksize *= 2;
++ if (YYMAXDEPTH < yystacksize)
++ yystacksize = YYMAXDEPTH;
++
++ {
++ yytype_int16 *yyss1 = yyss;
++ union yyalloc *yyptr =
++ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
++ if (! yyptr)
++ goto yyexhaustedlab;
++ YYSTACK_RELOCATE (yyss_alloc, yyss);
++ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
++# undef YYSTACK_RELOCATE
++ if (yyss1 != yyssa)
++ YYSTACK_FREE (yyss1);
++ }
++# endif
++#endif /* no yyoverflow */
++
++ yyssp = yyss + yysize - 1;
++ yyvsp = yyvs + yysize - 1;
++
++ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
++ (unsigned long int) yystacksize));
++
++ if (yyss + yystacksize - 1 <= yyssp)
++ YYABORT;
++ }
++
++ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
++
++ if (yystate == YYFINAL)
++ YYACCEPT;
++
++ goto yybackup;
++
++/*-----------.
++| yybackup. |
++`-----------*/
++yybackup:
++
++ /* Do appropriate processing given the current state. Read a
++ lookahead token if we need one and don't already have one. */
++
++ /* First try to decide what to do without reference to lookahead token. */
++ yyn = yypact[yystate];
++ if (yypact_value_is_default (yyn))
++ goto yydefault;
++
++ /* Not known => get a lookahead token if don't already have one. */
++
++ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
++ if (yychar == YYEMPTY)
++ {
++ YYDPRINTF ((stderr, "Reading a token: "));
++ yychar = YYLEX;
++ }
++
++ if (yychar <= YYEOF)
++ {
++ yychar = yytoken = YYEOF;
++ YYDPRINTF ((stderr, "Now at end of input.\n"));
++ }
++ else
++ {
++ yytoken = YYTRANSLATE (yychar);
++ YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
++ }
++
++ /* If the proper action on seeing token YYTOKEN is to reduce or to
++ detect an error, take that action. */
++ yyn += yytoken;
++ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
++ goto yydefault;
++ yyn = yytable[yyn];
++ if (yyn <= 0)
++ {
++ if (yytable_value_is_error (yyn))
++ goto yyerrlab;
++ yyn = -yyn;
++ goto yyreduce;
++ }
++
++ /* Count tokens shifted since error; after three, turn off error
++ status. */
++ if (yyerrstatus)
++ yyerrstatus--;
++
++ /* Shift the lookahead token. */
++ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
++
++ /* Discard the shifted token. */
++ yychar = YYEMPTY;
++
++ yystate = yyn;
++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++ *++yyvsp = yylval;
++ YY_IGNORE_MAYBE_UNINITIALIZED_END
++
++ goto yynewstate;
++
++
++/*-----------------------------------------------------------.
++| yydefault -- do the default action for the current state. |
++`-----------------------------------------------------------*/
++yydefault:
++ yyn = yydefact[yystate];
++ if (yyn == 0)
++ goto yyerrlab;
++ goto yyreduce;
++
++
++/*-----------------------------.
++| yyreduce -- Do a reduction. |
++`-----------------------------*/
++yyreduce:
++ /* yyn is the number of a rule to reduce with. */
++ yylen = yyr2[yyn];
++
++ /* If YYLEN is nonzero, implement the default value of the action:
++ `$$ = $1'.
++
++ Otherwise, the following line sets YYVAL to garbage.
++ This behavior is undocumented and Bison
++ users should not rely upon it. Assigning to YYVAL
++ unconditionally makes the parser a bit smaller, and it avoids a
++ GCC warning that YYVAL may be used uninitialized. */
++ yyval = yyvsp[1-yylen];
++
++
++ YY_REDUCE_PRINT (yyn);
++ switch (yyn)
++ {
++ case 4:
++/* Line 1787 of yacc.c */
++#line 157 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyHaveTime++;
++ }
++ break;
++
++ case 5:
++/* Line 1787 of yacc.c */
++#line 160 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyHaveZone++;
++ }
++ break;
++
++ case 6:
++/* Line 1787 of yacc.c */
++#line 163 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyHaveDate++;
++ }
++ break;
++
++ case 7:
++/* Line 1787 of yacc.c */
++#line 166 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyHaveDay++;
++ }
++ break;
++
++ case 8:
++/* Line 1787 of yacc.c */
++#line 169 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyHaveRel++;
++ }
++ break;
++
++ case 10:
++/* Line 1787 of yacc.c */
++#line 175 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyHour = (yyvsp[(1) - (2)].Number);
++ VARIABLE->yyMinutes = 0;
++ VARIABLE->yySeconds = 0;
++ VARIABLE->yyMeridian = (yyvsp[(2) - (2)].Meridian);
++ }
++ break;
++
++ case 11:
++/* Line 1787 of yacc.c */
++#line 181 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyHour = (yyvsp[(1) - (2)].Number)/100;
++ VARIABLE->yyMinutes = (yyvsp[(1) - (2)].Number)%100;
++ VARIABLE->yySeconds = 0;
++ VARIABLE->yyMeridian = MER24;
++ VARIABLE->yyDSTmode = DSToff;
++ VARIABLE->yyTimezone = - ((yyvsp[(2) - (2)].Number) % 100 + ((yyvsp[(2) - (2)].Number) / 100) * 60);
++ }
++ break;
++
++ case 12:
++/* Line 1787 of yacc.c */
++#line 189 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyHour = (yyvsp[(1) - (2)].Number)/10000;
++ VARIABLE->yyMinutes = ((yyvsp[(1) - (2)].Number)/100)%100;
++ VARIABLE->yySeconds = (yyvsp[(1) - (2)].Number) % 100;
++ VARIABLE->yyMeridian = MER24;
++ VARIABLE->yyDSTmode = DSToff;
++ VARIABLE->yyTimezone = - ((yyvsp[(2) - (2)].Number) % 100 + ((yyvsp[(2) - (2)].Number) / 100) * 60);
++ }
++ break;
++
++ case 13:
++/* Line 1787 of yacc.c */
++#line 197 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyHour = (yyvsp[(1) - (4)].Number);
++ VARIABLE->yyMinutes = (yyvsp[(3) - (4)].Number);
++ VARIABLE->yySeconds = 0;
++ VARIABLE->yyMeridian = (yyvsp[(4) - (4)].Meridian);
++ }
++ break;
++
++ case 14:
++/* Line 1787 of yacc.c */
++#line 203 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyHour = (yyvsp[(1) - (4)].Number);
++ VARIABLE->yyMinutes = (yyvsp[(3) - (4)].Number);
++ VARIABLE->yyMeridian = MER24;
++ VARIABLE->yyDSTmode = DSToff;
++ VARIABLE->yyTimezone = - ((yyvsp[(4) - (4)].Number) % 100 + ((yyvsp[(4) - (4)].Number) / 100) * 60);
++ }
++ break;
++
++ case 15:
++/* Line 1787 of yacc.c */
++#line 210 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyHour = (yyvsp[(1) - (6)].Number);
++ VARIABLE->yyMinutes = (yyvsp[(3) - (6)].Number);
++ VARIABLE->yySeconds = (yyvsp[(5) - (6)].Number);
++ VARIABLE->yyMeridian = (yyvsp[(6) - (6)].Meridian);
++ }
++ break;
++
++ case 16:
++/* Line 1787 of yacc.c */
++#line 216 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyHour = (yyvsp[(1) - (6)].Number);
++ VARIABLE->yyMinutes = (yyvsp[(3) - (6)].Number);
++ VARIABLE->yySeconds = (yyvsp[(5) - (6)].Number);
++ VARIABLE->yyMeridian = MER24;
++ VARIABLE->yyDSTmode = DSToff;
++ VARIABLE->yyTimezone = - ((yyvsp[(6) - (6)].Number) % 100 + ((yyvsp[(6) - (6)].Number) / 100) * 60);
++ }
++ break;
++
++ case 17:
++/* Line 1787 of yacc.c */
++#line 226 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyTimezone = (yyvsp[(1) - (1)].Number);
++ VARIABLE->yyDSTmode = DSToff;
++ }
++ break;
++
++ case 18:
++/* Line 1787 of yacc.c */
++#line 230 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyTimezone = (yyvsp[(1) - (1)].Number);
++ VARIABLE->yyDSTmode = DSTon;
++ }
++ break;
++
++ case 19:
++/* Line 1787 of yacc.c */
++#line 235 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyTimezone = (yyvsp[(1) - (2)].Number);
++ VARIABLE->yyDSTmode = DSTon;
++ }
++ break;
++
++ case 20:
++/* Line 1787 of yacc.c */
++#line 239 "ptlib/common/getdate.y"
++ {
++ if (VARIABLE->yyHaveTime > 0) {
++ VARIABLE->yyTimezone = (yyvsp[(1) - (1)].Number);
++ VARIABLE->yyDSTmode = DSToff;
++ }
++ else
++ VARIABLE->yyHaveZone--;
++ }
++ break;
++
++ case 21:
++/* Line 1787 of yacc.c */
++#line 249 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyDayOrdinal = 1;
++ VARIABLE->yyDayNumber = (yyvsp[(1) - (1)].Number);
++ }
++ break;
++
++ case 22:
++/* Line 1787 of yacc.c */
++#line 253 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyDayOrdinal = 1;
++ VARIABLE->yyDayNumber = (yyvsp[(1) - (2)].Number);
++ }
++ break;
++
++ case 23:
++/* Line 1787 of yacc.c */
++#line 257 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyDayOrdinal = (yyvsp[(1) - (2)].Number);
++ VARIABLE->yyDayNumber = (yyvsp[(2) - (2)].Number);
++ }
++ break;
++
++ case 24:
++/* Line 1787 of yacc.c */
++#line 263 "ptlib/common/getdate.y"
++ {
++ SetPossibleDate(VARIABLE, (yyvsp[(1) - (3)].Number), (yyvsp[(3) - (3)].Number), VARIABLE->yyYear);
++ }
++ break;
++
++ case 25:
++/* Line 1787 of yacc.c */
++#line 266 "ptlib/common/getdate.y"
++ {
++ SetPossibleDate(VARIABLE, (yyvsp[(1) - (5)].Number), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));
++ }
++ break;
++
++ case 26:
++/* Line 1787 of yacc.c */
++#line 269 "ptlib/common/getdate.y"
++ {
++ /* ISO 8601 format. yyyy-mm-dd. */
++ SetPossibleDate(VARIABLE, (yyvsp[(1) - (4)].Number), -(yyvsp[(2) - (4)].Number), -(yyvsp[(3) - (4)].Number));
++ }
++ break;
++
++ case 27:
++/* Line 1787 of yacc.c */
++#line 273 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyDay= ((yyvsp[(1) - (1)].Number))%100;
++ VARIABLE->yyMonth= ((yyvsp[(1) - (1)].Number)/100)%100;
++ VARIABLE->yyYear = (yyvsp[(1) - (1)].Number)/10000;
++ }
++ break;
++
++ case 28:
++/* Line 1787 of yacc.c */
++#line 278 "ptlib/common/getdate.y"
++ {
++ /* e.g. 17-JUN-1992. */
++ SetPossibleDate(VARIABLE, (yyvsp[(1) - (3)].Number), (yyvsp[(2) - (3)].Number), -(yyvsp[(3) - (3)].Number));
++ }
++ break;
++
++ case 29:
++/* Line 1787 of yacc.c */
++#line 282 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyMonth = (yyvsp[(1) - (2)].Number);
++ if ((yyvsp[(2) - (2)].Number) > 31)
++ VARIABLE->yyYear = (yyvsp[(2) - (2)].Number);
++ else
++ VARIABLE->yyDay = (yyvsp[(2) - (2)].Number);
++ }
++ break;
++
++ case 30:
++/* Line 1787 of yacc.c */
++#line 289 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyMonth = (yyvsp[(1) - (4)].Number);
++ VARIABLE->yyDay = (yyvsp[(2) - (4)].Number);
++ VARIABLE->yyYear = (yyvsp[(4) - (4)].Number);
++ }
++ break;
++
++ case 31:
++/* Line 1787 of yacc.c */
++#line 294 "ptlib/common/getdate.y"
++ {
++ if ((yyvsp[(1) - (2)].Number) > 31)
++ VARIABLE->yyYear = (yyvsp[(1) - (2)].Number);
++ else
++ VARIABLE->yyDay = (yyvsp[(1) - (2)].Number);
++ VARIABLE->yyMonth = (yyvsp[(2) - (2)].Number);
++ }
++ break;
++
++ case 32:
++/* Line 1787 of yacc.c */
++#line 301 "ptlib/common/getdate.y"
++ {
++ SetPossibleDate(VARIABLE, (yyvsp[(1) - (3)].Number), (yyvsp[(2) - (3)].Number), (yyvsp[(3) - (3)].Number));
++ }
++ break;
++
++ case 33:
++/* Line 1787 of yacc.c */
++#line 306 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyRelSeconds = -VARIABLE->yyRelSeconds;
++ VARIABLE->yyRelMonth = -VARIABLE->yyRelMonth;
++ }
++ break;
++
++ case 35:
++/* Line 1787 of yacc.c */
++#line 313 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyRelSeconds += (yyvsp[(1) - (2)].Number) * (yyvsp[(2) - (2)].Number) * 60L;
++ }
++ break;
++
++ case 36:
++/* Line 1787 of yacc.c */
++#line 316 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyRelSeconds += (yyvsp[(1) - (2)].Number) * (yyvsp[(2) - (2)].Number) * 60L;
++ }
++ break;
++
++ case 37:
++/* Line 1787 of yacc.c */
++#line 319 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyRelSeconds += (yyvsp[(1) - (1)].Number) * 60L;
++ }
++ break;
++
++ case 38:
++/* Line 1787 of yacc.c */
++#line 322 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyRelSeconds += (yyvsp[(1) - (2)].Number);
++ }
++ break;
++
++ case 39:
++/* Line 1787 of yacc.c */
++#line 325 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyRelSeconds += (yyvsp[(1) - (2)].Number);
++ }
++ break;
++
++ case 40:
++/* Line 1787 of yacc.c */
++#line 328 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyRelSeconds++;
++ }
++ break;
++
++ case 41:
++/* Line 1787 of yacc.c */
++#line 331 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyRelMonth += (yyvsp[(1) - (2)].Number) * (yyvsp[(2) - (2)].Number);
++ }
++ break;
++
++ case 42:
++/* Line 1787 of yacc.c */
++#line 334 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyRelMonth += (yyvsp[(1) - (2)].Number) * (yyvsp[(2) - (2)].Number);
++ }
++ break;
++
++ case 43:
++/* Line 1787 of yacc.c */
++#line 337 "ptlib/common/getdate.y"
++ {
++ VARIABLE->yyRelMonth += (yyvsp[(1) - (1)].Number);
++ }
++ break;
++
++ case 44:
++/* Line 1787 of yacc.c */
++#line 342 "ptlib/common/getdate.y"
++ {
++ (yyval.Number) = (yyvsp[(1) - (1)].Number);
++ }
++ break;
++
++ case 45:
++/* Line 1787 of yacc.c */
++#line 345 "ptlib/common/getdate.y"
++ {
++ (yyval.Number) = (yyvsp[(1) - (1)].Number);
++ }
++ break;
++
++ case 46:
++/* Line 1787 of yacc.c */
++#line 348 "ptlib/common/getdate.y"
++ {
++ (yyval.Number) = (yyvsp[(1) - (1)].Number);
++ }
++ break;
++
++ case 47:
++/* Line 1787 of yacc.c */
++#line 353 "ptlib/common/getdate.y"
++ {
++ if (VARIABLE->yyHaveTime && VARIABLE->yyHaveDate && !VARIABLE->yyHaveRel)
++ VARIABLE->yyYear = (yyvsp[(1) - (1)].Number);
++ else {
++ if((yyvsp[(1) - (1)].Number)>240000) {
++ VARIABLE->yyHaveDate++;
++ VARIABLE->yyDay= ((yyvsp[(1) - (1)].Number))%100;
++ VARIABLE->yyMonth= ((yyvsp[(1) - (1)].Number)/100)%100;
++ VARIABLE->yyYear = (yyvsp[(1) - (1)].Number)/10000;
++ }
++ else {
++ VARIABLE->yyHaveTime++;
++ if ((yyvsp[(1) - (1)].Number) < 10000) {
++ VARIABLE->yyHour = (yyvsp[(1) - (1)].Number) / 100;
++ VARIABLE->yyMinutes = (yyvsp[(1) - (1)].Number) % 100;
++ VARIABLE->yySeconds = 0;
++ }
++ else {
++ VARIABLE->yyHour = (yyvsp[(1) - (1)].Number)/10000;
++ VARIABLE->yyMinutes = ((yyvsp[(1) - (1)].Number)/100)%100;
++ VARIABLE->yySeconds = (yyvsp[(1) - (1)].Number) % 100;
++ }
++ VARIABLE->yyMeridian = MER24;
++ }
++ }
++ }
++ break;
++
++ case 48:
++/* Line 1787 of yacc.c */
++#line 379 "ptlib/common/getdate.y"
++ {
++ if (VARIABLE->yyHaveTime && VARIABLE->yyHaveDate && !VARIABLE->yyHaveRel)
++ VARIABLE->yyYear = (yyvsp[(1) - (1)].Number);
++ else {
++ VARIABLE->yyHaveTime++;
++ VARIABLE->yyHour = (yyvsp[(1) - (1)].Number)/100;
++ VARIABLE->yyMinutes = (yyvsp[(1) - (1)].Number)%100;
++ VARIABLE->yySeconds = 0;
++ VARIABLE->yyMeridian = MER24;
++ }
++ }
++ break;
++
++ case 49:
++/* Line 1787 of yacc.c */
++#line 390 "ptlib/common/getdate.y"
++ {
++ if (!VARIABLE->yyHaveDate && (yyvsp[(1) - (1)].Number)>240000) {
++ VARIABLE->yyHaveDate++;
++ VARIABLE->yyDay= ((yyvsp[(1) - (1)].Number))%100;
++ VARIABLE->yyMonth= ((yyvsp[(1) - (1)].Number)/100)%100;
++ VARIABLE->yyYear = (yyvsp[(1) - (1)].Number)/10000;
++ }
++ else if (!VARIABLE->yyHaveTime) {
++ VARIABLE->yyHaveTime++;
++ VARIABLE->yyHour = (yyvsp[(1) - (1)].Number)/10000;
++ VARIABLE->yyMinutes = ((yyvsp[(1) - (1)].Number)/100)%100;
++ VARIABLE->yySeconds = (yyvsp[(1) - (1)].Number) % 100;
++ VARIABLE->yyMeridian = MER24;
++ }
++ }
++ break;
++
++ case 50:
++/* Line 1787 of yacc.c */
++#line 407 "ptlib/common/getdate.y"
++ {
++ (yyval.Meridian) = MER24;
++ }
++ break;
++
++ case 51:
++/* Line 1787 of yacc.c */
++#line 410 "ptlib/common/getdate.y"
++ {
++ (yyval.Meridian) = (yyvsp[(1) - (1)].Meridian);
++ }
++ break;
++
++
++/* Line 1787 of yacc.c */
++#line 2031 "ptlib/common/getdate.tab.c"
++ default: break;
++ }
++ /* User semantic actions sometimes alter yychar, and that requires
++ that yytoken be updated with the new translation. We take the
++ approach of translating immediately before every use of yytoken.
++ One alternative is translating here after every semantic action,
++ but that translation would be missed if the semantic action invokes
++ YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
++ if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
++ incorrect destructor might then be invoked immediately. In the
++ case of YYERROR or YYBACKUP, subsequent parser actions might lead
++ to an incorrect destructor call or verbose syntax error message
++ before the lookahead is translated. */
++ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
++
++ YYPOPSTACK (yylen);
++ yylen = 0;
++ YY_STACK_PRINT (yyss, yyssp);
++
++ *++yyvsp = yyval;
++
++ /* Now `shift' the result of the reduction. Determine what state
++ that goes to, based on the state we popped back to and the rule
++ number reduced by. */
++
++ yyn = yyr1[yyn];
++
++ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
++ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
++ yystate = yytable[yystate];
++ else
++ yystate = yydefgoto[yyn - YYNTOKENS];
++
++ goto yynewstate;
++
++
++/*------------------------------------.
++| yyerrlab -- here on detecting error |
++`------------------------------------*/
++yyerrlab:
++ /* Make sure we have latest lookahead translation. See comments at
++ user semantic actions for why this is necessary. */
++ yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
++
++ /* If not already recovering from an error, report this error. */
++ if (!yyerrstatus)
++ {
++ ++yynerrs;
++#if ! YYERROR_VERBOSE
++ yyerror (YY_("syntax error"));
++#else
++# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
++ yyssp, yytoken)
++ {
++ char const *yymsgp = YY_("syntax error");
++ int yysyntax_error_status;
++ yysyntax_error_status = YYSYNTAX_ERROR;
++ if (yysyntax_error_status == 0)
++ yymsgp = yymsg;
++ else if (yysyntax_error_status == 1)
++ {
++ if (yymsg != yymsgbuf)
++ YYSTACK_FREE (yymsg);
++ yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
++ if (!yymsg)
++ {
++ yymsg = yymsgbuf;
++ yymsg_alloc = sizeof yymsgbuf;
++ yysyntax_error_status = 2;
++ }
++ else
++ {
++ yysyntax_error_status = YYSYNTAX_ERROR;
++ yymsgp = yymsg;
++ }
++ }
++ yyerror (yymsgp);
++ if (yysyntax_error_status == 2)
++ goto yyexhaustedlab;
++ }
++# undef YYSYNTAX_ERROR
++#endif
++ }
++
++
++
++ if (yyerrstatus == 3)
++ {
++ /* If just tried and failed to reuse lookahead token after an
++ error, discard it. */
++
++ if (yychar <= YYEOF)
++ {
++ /* Return failure if at end of input. */
++ if (yychar == YYEOF)
++ YYABORT;
++ }
++ else
++ {
++ yydestruct ("Error: discarding",
++ yytoken, &yylval);
++ yychar = YYEMPTY;
++ }
++ }
++
++ /* Else will try to reuse lookahead token after shifting the error
++ token. */
++ goto yyerrlab1;
++
++
++/*---------------------------------------------------.
++| yyerrorlab -- error raised explicitly by YYERROR. |
++`---------------------------------------------------*/
++yyerrorlab:
++
++ /* Pacify compilers like GCC when the user code never invokes
++ YYERROR and the label yyerrorlab therefore never appears in user
++ code. */
++ if (/*CONSTCOND*/ 0)
++ goto yyerrorlab;
++
++ /* Do not reclaim the symbols of the rule which action triggered
++ this YYERROR. */
++ YYPOPSTACK (yylen);
++ yylen = 0;
++ YY_STACK_PRINT (yyss, yyssp);
++ yystate = *yyssp;
++ goto yyerrlab1;
++
++
++/*-------------------------------------------------------------.
++| yyerrlab1 -- common code for both syntax error and YYERROR. |
++`-------------------------------------------------------------*/
++yyerrlab1:
++ yyerrstatus = 3; /* Each real token shifted decrements this. */
++
++ for (;;)
++ {
++ yyn = yypact[yystate];
++ if (!yypact_value_is_default (yyn))
++ {
++ yyn += YYTERROR;
++ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
++ {
++ yyn = yytable[yyn];
++ if (0 < yyn)
++ break;
++ }
++ }
++
++ /* Pop the current state because it cannot handle the error token. */
++ if (yyssp == yyss)
++ YYABORT;
++
++
++ yydestruct ("Error: popping",
++ yystos[yystate], yyvsp);
++ YYPOPSTACK (1);
++ yystate = *yyssp;
++ YY_STACK_PRINT (yyss, yyssp);
++ }
++
++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++ *++yyvsp = yylval;
++ YY_IGNORE_MAYBE_UNINITIALIZED_END
++
++
++ /* Shift the error token. */
++ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
++
++ yystate = yyn;
++ goto yynewstate;
++
++
++/*-------------------------------------.
++| yyacceptlab -- YYACCEPT comes here. |
++`-------------------------------------*/
++yyacceptlab:
++ yyresult = 0;
++ goto yyreturn;
++
++/*-----------------------------------.
++| yyabortlab -- YYABORT comes here. |
++`-----------------------------------*/
++yyabortlab:
++ yyresult = 1;
++ goto yyreturn;
++
++#if !defined yyoverflow || YYERROR_VERBOSE
++/*-------------------------------------------------.
++| yyexhaustedlab -- memory exhaustion comes here. |
++`-------------------------------------------------*/
++yyexhaustedlab:
++ yyerror (YY_("memory exhausted"));
++ yyresult = 2;
++ /* Fall through. */
++#endif
++
++yyreturn:
++ if (yychar != YYEMPTY)
++ {
++ /* Make sure we have latest lookahead translation. See comments at
++ user semantic actions for why this is necessary. */
++ yytoken = YYTRANSLATE (yychar);
++ yydestruct ("Cleanup: discarding lookahead",
++ yytoken, &yylval);
++ }
++ /* Do not reclaim the symbols of the rule which action triggered
++ this YYABORT or YYACCEPT. */
++ YYPOPSTACK (yylen);
++ YY_STACK_PRINT (yyss, yyssp);
++ while (yyssp != yyss)
++ {
++ yydestruct ("Cleanup: popping",
++ yystos[*yyssp], yyvsp);
++ YYPOPSTACK (1);
++ }
++#ifndef yyoverflow
++ if (yyss != yyssa)
++ YYSTACK_FREE (yyss);
++#endif
++#if YYERROR_VERBOSE
++ if (yymsg != yymsgbuf)
++ YYSTACK_FREE (yymsg);
++#endif
++ /* Make sure YYID is used. */
++ return YYID (yyresult);
++}
++
++
++/* Line 2050 of yacc.c */
++#line 415 "ptlib/common/getdate.y"
++
++
++/* Month and day table. */
++static TABLE const MonthDayTable[] = {
++ { "january", tMONTH, 1 },
++ { "february", tMONTH, 2 },
++ { "march", tMONTH, 3 },
++ { "april", tMONTH, 4 },
++ { "may", tMONTH, 5 },
++ { "june", tMONTH, 6 },
++ { "july", tMONTH, 7 },
++ { "august", tMONTH, 8 },
++ { "september", tMONTH, 9 },
++ { "sept", tMONTH, 9 },
++ { "october", tMONTH, 10 },
++ { "november", tMONTH, 11 },
++ { "december", tMONTH, 12 },
++ { "sunday", tDAY, 0 },
++ { "monday", tDAY, 1 },
++ { "tuesday", tDAY, 2 },
++ { "tues", tDAY, 2 },
++ { "wednesday", tDAY, 3 },
++ { "wednes", tDAY, 3 },
++ { "thursday", tDAY, 4 },
++ { "thur", tDAY, 4 },
++ { "thurs", tDAY, 4 },
++ { "friday", tDAY, 5 },
++ { "saturday", tDAY, 6 },
++ { NULL }
++};
++
++/* Time units table. */
++static TABLE const UnitsTable[] = {
++ { "year", tMONTH_UNIT, 12 },
++ { "month", tMONTH_UNIT, 1 },
++ { "fortnight", tMINUTE_UNIT, 14 * 24 * 60 },
++ { "week", tMINUTE_UNIT, 7 * 24 * 60 },
++ { "day", tMINUTE_UNIT, 1 * 24 * 60 },
++ { "hour", tMINUTE_UNIT, 60 },
++ { "minute", tMINUTE_UNIT, 1 },
++ { "min", tMINUTE_UNIT, 1 },
++ { "second", tSEC_UNIT, 1 },
++ { "sec", tSEC_UNIT, 1 },
++ { NULL }
++};
++
++/* Assorted relative-time words. */
++static TABLE const OtherTable[] = {
++ { "tomorrow", tMINUTE_UNIT, 1 * 24 * 60 },
++ { "yesterday", tMINUTE_UNIT, -1 * 24 * 60 },
++ { "today", tMINUTE_UNIT, 0 },
++ { "now", tMINUTE_UNIT, 0 },
++ { "last", tUNUMBER, -1 },
++ { "this", tMINUTE_UNIT, 0 },
++ { "next", tUNUMBER, 2 },
++ { "first", tUNUMBER, 1 },
++/* { "second", tUNUMBER, 2 }, */
++ { "third", tUNUMBER, 3 },
++ { "fourth", tUNUMBER, 4 },
++ { "fifth", tUNUMBER, 5 },
++ { "sixth", tUNUMBER, 6 },
++ { "seventh", tUNUMBER, 7 },
++ { "eighth", tUNUMBER, 8 },
++ { "ninth", tUNUMBER, 9 },
++ { "tenth", tUNUMBER, 10 },
++ { "eleventh", tUNUMBER, 11 },
++ { "twelfth", tUNUMBER, 12 },
++ { "ago", tAGO, 1 },
++ { NULL }
++};
++
++/* The timezone table. */
++/* Some of these are commented out because a time_t can't store a float. */
++static TABLE const TimezoneTable[] = {
++ { "gmt", tZONE, HOUR( 0) }, /* Greenwich Mean */
++ { "ut", tZONE, HOUR( 0) }, /* Universal (Coordinated) */
++ { "utc", tZONE, HOUR( 0) },
++ { "wet", tZONE, HOUR( 0) }, /* Western European */
++ { "bst", tDAYZONE, HOUR( 0) }, /* British Summer */
++ { "wat", tZONE, HOUR( 1) }, /* West Africa */
++ { "at", tZONE, HOUR( 2) }, /* Azores */
++#if 0
++ /* For completeness. BST is also British Summer, and GST is
++ * also Guam Standard. */
++ { "bst", tZONE, HOUR( 3) }, /* Brazil Standard */
++ { "gst", tZONE, HOUR( 3) }, /* Greenland Standard */
++#endif
++#if 0
++ { "nft", tZONE, HOUR(3.5) }, /* Newfoundland */
++ { "nst", tZONE, HOUR(3.5) }, /* Newfoundland Standard */
++ { "ndt", tDAYZONE, HOUR(3.5) }, /* Newfoundland Daylight */
++#endif
++ { "ast", tZONE, HOUR( 4) }, /* Atlantic Standard */
++ { "adt", tDAYZONE, HOUR( 4) }, /* Atlantic Daylight */
++ { "est", tZONE, HOUR( 5) }, /* Eastern Standard */
++ { "edt", tDAYZONE, HOUR( 5) }, /* Eastern Daylight */
++ { "cst", tZONE, HOUR( 6) }, /* Central Standard */
++ { "cdt", tDAYZONE, HOUR( 6) }, /* Central Daylight */
++ { "mst", tZONE, HOUR( 7) }, /* Mountain Standard */
++ { "mdt", tDAYZONE, HOUR( 7) }, /* Mountain Daylight */
++ { "pst", tZONE, HOUR( 8) }, /* Pacific Standard */
++ { "pdt", tDAYZONE, HOUR( 8) }, /* Pacific Daylight */
++ { "yst", tZONE, HOUR( 9) }, /* Yukon Standard */
++ { "ydt", tDAYZONE, HOUR( 9) }, /* Yukon Daylight */
++ { "hst", tZONE, HOUR(10) }, /* Hawaii Standard */
++ { "hdt", tDAYZONE, HOUR(10) }, /* Hawaii Daylight */
++ { "cat", tZONE, HOUR(10) }, /* Central Alaska */
++ { "ahst", tZONE, HOUR(10) }, /* Alaska-Hawaii Standard */
++ { "nt", tZONE, HOUR(11) }, /* Nome */
++ { "idlw", tZONE, HOUR(12) }, /* International Date Line West */
++ { "cet", tZONE, -HOUR(1) }, /* Central European */
++ { "met", tZONE, -HOUR(1) }, /* Middle European */
++ { "mewt", tZONE, -HOUR(1) }, /* Middle European Winter */
++ { "mest", tDAYZONE, -HOUR(1) }, /* Middle European Summer */
++ { "swt", tZONE, -HOUR(1) }, /* Swedish Winter */
++ { "sst", tDAYZONE, -HOUR(1) }, /* Swedish Summer */
++ { "fwt", tZONE, -HOUR(1) }, /* French Winter */
++ { "fst", tDAYZONE, -HOUR(1) }, /* French Summer */
++ { "eet", tZONE, -HOUR(2) }, /* Eastern Europe, USSR Zone 1 */
++ { "bt", tZONE, -HOUR(3) }, /* Baghdad, USSR Zone 2 */
++#if 0
++ { "it", tZONE, -HOUR(3.5) },/* Iran */
++#endif
++ { "zp4", tZONE, -HOUR(4) }, /* USSR Zone 3 */
++ { "zp5", tZONE, -HOUR(5) }, /* USSR Zone 4 */
++#if 0
++ { "ist", tZONE, -HOUR(5.5) },/* Indian Standard */
++#endif
++ { "zp6", tZONE, -HOUR(6) }, /* USSR Zone 5 */
++#if 0
++ /* For completeness. NST is also Newfoundland Stanard, and SST is
++ * also Swedish Summer. */
++ { "nst", tZONE, -HOUR(6.5) },/* North Sumatra */
++ { "sst", tZONE, -HOUR(7) }, /* South Sumatra, USSR Zone 6 */
++#endif /* 0 */
++ { "wast", tZONE, -HOUR(7) }, /* West Australian Standard */
++ { "wadt", tDAYZONE, -HOUR(7) }, /* West Australian Daylight */
++#if 0
++ { "jt", tZONE, -HOUR(7.5) },/* Java (3pm in Cronusland!) */
++#endif
++ { "cct", tZONE, -HOUR(8) }, /* China Coast, USSR Zone 7 */
++ { "jst", tZONE, -HOUR(9) }, /* Japan Standard, USSR Zone 8 */
++#if 0
++ { "cast", tZONE, -HOUR(9.5) },/* Central Australian Standard */
++ { "cadt", tDAYZONE, -HOUR(9.5) },/* Central Australian Daylight */
++#endif
++ { "east", tZONE, -HOUR(10) }, /* Eastern Australian Standard */
++ { "eadt", tDAYZONE, -HOUR(10) }, /* Eastern Australian Daylight */
++ { "gst", tZONE, -HOUR(10) }, /* Guam Standard, USSR Zone 9 */
++ { "nzt", tZONE, -HOUR(12) }, /* New Zealand */
++ { "nzst", tZONE, -HOUR(12) }, /* New Zealand Standard */
++ { "nzdt", tDAYZONE, -HOUR(12) }, /* New Zealand Daylight */
++ { "idle", tZONE, -HOUR(12) }, /* International Date Line East */
++ { NULL }
++};
++
++/* Military timezone table. */
++static TABLE const MilitaryTable[] = {
++ { "a", tMILZONE, HOUR( 1) },
++ { "b", tMILZONE, HOUR( 2) },
++ { "c", tMILZONE, HOUR( 3) },
++ { "d", tMILZONE, HOUR( 4) },
++ { "e", tMILZONE, HOUR( 5) },
++ { "f", tMILZONE, HOUR( 6) },
++ { "g", tMILZONE, HOUR( 7) },
++ { "h", tMILZONE, HOUR( 8) },
++ { "i", tMILZONE, HOUR( 9) },
++ { "k", tMILZONE, HOUR( 10) },
++ { "l", tMILZONE, HOUR( 11) },
++ { "m", tMILZONE, HOUR( 12) },
++ { "n", tMILZONE, HOUR(- 1) },
++ { "o", tMILZONE, HOUR(- 2) },
++ { "p", tMILZONE, HOUR(- 3) },
++ { "q", tMILZONE, HOUR(- 4) },
++ { "r", tMILZONE, HOUR(- 5) },
++ { "s", tMILZONE, HOUR(- 6) },
++ { "t", tMILZONE, HOUR(- 7) },
++ { "u", tMILZONE, HOUR(- 8) },
++ { "v", tMILZONE, HOUR(- 9) },
++ { "w", tMILZONE, HOUR(-10) },
++ { "x", tMILZONE, HOUR(-11) },
++ { "y", tMILZONE, HOUR(-12) },
++ { "z", tZONE, HOUR( 0) }, /* Deliberately tZONE */
++ { NULL }
++};
++
++static int LookupWord(char * buff, YYSTYPE * yylval, struct Variables * vars)
++{
++ register char *p;
++ register char *q;
++ register const TABLE *tp;
++ int i;
++ int abbrev;
++
++ /* Make it lowercase. */
++ for (p = buff; *p != '\0'; p++)
++ *p = (char)tolower(*p);
++
++ if (strcmp(buff, "am") == 0 || strcmp(buff, "a.m.") == 0) {
++ yylval->Meridian = MERam;
++ return tMERIDIAN;
++ }
++ if (strcmp(buff, "pm") == 0 || strcmp(buff, "p.m.") == 0) {
++ yylval->Meridian = MERpm;
++ return tMERIDIAN;
++ }
++
++ /* See if we have an abbreviation for a month. */
++ if (strlen(buff) == 3)
++ abbrev = 1;
++ else if (strlen(buff) == 4 && buff[3] == '.') {
++ abbrev = 1;
++ buff[3] = '\0';
++ }
++ else
++ abbrev = 0;
++
++ for (tp = MonthDayTable; tp->name; tp++) {
++ if (abbrev) {
++ if (strncmp(buff, tp->name, 3) == 0) {
++ yylval->Number = tp->value;
++ return tp->type;
++ }
++ }
++ else if (strcmp(buff, tp->name) == 0) {
++ yylval->Number = tp->value;
++ return tp->type;
++ }
++ }
++
++ for (tp = TimezoneTable; tp->name; tp++)
++ if (strcmp(buff, tp->name) == 0) {
++ yylval->Number = tp->value;
++ return tp->type;
++ }
++
++ if (strcmp(buff, "dst") == 0)
++ return tDST;
++
++ for (tp = UnitsTable; tp->name; tp++)
++ if (strcmp(buff, tp->name) == 0) {
++ yylval->Number = tp->value;
++ return tp->type;
++ }
++
++ /* Strip off any plural and try the units table again. */
++ i = strlen(buff) - 1;
++ if (buff[i] == 's') {
++ buff[i] = '\0';
++ for (tp = UnitsTable; tp->name; tp++)
++ if (strcmp(buff, tp->name) == 0) {
++ yylval->Number = tp->value;
++ return tp->type;
++ }
++ buff[i] = 's'; /* Put back for "this" in OtherTable. */
++ }
++
++ for (tp = OtherTable; tp->name; tp++)
++ if (strcmp(buff, tp->name) == 0) {
++ yylval->Number = tp->value;
++ return tp->type;
++ }
++
++ /* Avoid confusion with 'T' in RFC3339 and 't' in Military timezones */
++ if (!vars->yyHaveTime && strcmp(buff, "t") == 0)
++ return tRFC3339;
++
++ /* Military timezones. */
++ if (buff[1] == '\0' && isalpha(*buff)) {
++ for (tp = MilitaryTable; tp->name; tp++)
++ if (strcmp(buff, tp->name) == 0) {
++ yylval->Number = tp->value;
++ return tp->type;
++ }
++ }
++
++ /* Drop out any periods and try the timezone table again. */
++ for (i = 0, p = q = buff; *q; q++)
++ if (*q != '.')
++ *p++ = *q;
++ else
++ i++;
++ *p = '\0';
++ if (i)
++ for (tp = TimezoneTable; tp->name; tp++)
++ if (strcmp(buff, tp->name) == 0) {
++ yylval->Number = tp->value;
++ return tp->type;
++ }
++
++ for (i = 1; i <= 12; i++)
++ for (abbrev = 0; abbrev < 2; abbrev++)
++ if (PTimeIsMonthName(buff, i, abbrev)) {
++ yylval->Number = i;
++ return tMONTH;
++ }
++
++ for (i = 1; i <= 7; i++)
++ for (abbrev = 0; abbrev < 2; abbrev++)
++ if (PTimeIsDayName(buff, i, abbrev)) {
++ yylval->Number = i;
++ return tDAY;
++ }
++
++ return tID;
++}
++
++
++#ifdef _MSC_VER
++#pragma warning(disable:4211)
++#endif
++
++#ifndef __GNUC__
++static
++#endif
++int yylex(YYSTYPE * yylval, struct Variables * vars)
++{
++ register char *p;
++ char buff[20];
++ int Count;
++ int sign;
++ register int c = PTimeGetChar(vars->yyInput);
++
++ while (c != EOF && c != '\0' && c != '\n') {
++ while (isspace(c))
++ c = PTimeGetChar(vars->yyInput);
++
++ if (isdigit(c) || c == '-' || c == '+') {
++ if (c == '-' || c == '+') {
++ sign = c == '-' ? -1 : 1;
++ if (!isdigit(c = PTimeGetChar(vars->yyInput)))
++ /* skip the '-' sign */
++ continue;
++ }
++ else
++ sign = 0;
++ yylval->Number = 0;
++ Count = 0; /* Count number of digits */
++ while (isdigit(c)) {
++ yylval->Number = 10 * yylval->Number + c - '0';
++ c = PTimeGetChar(vars->yyInput);
++ Count++;
++ }
++ PTimeUngetChar(vars->yyInput, c);
++ if (sign < 0)
++ yylval->Number = -yylval->Number;
++ if (Count == 4)
++ return sign ? tS4DIGITNUMBER : t4DIGITNUMBER;
++ if (sign)
++ return tSNUMBER;
++ if (Count == 6)
++ return t6DIGITNUMBER;
++ if (Count == 8)
++ return t8DIGITNUMBER;
++ return tUNUMBER;
++ }
++
++ if (isalpha(c)) {
++ for (p = buff; isalpha(c) || c == '.'; c = PTimeGetChar(vars->yyInput)) {
++ if (p < &buff[sizeof(buff)-1])
++ *p++ = (char)c;
++ }
++ *p = '\0';
++ PTimeUngetChar(vars->yyInput, c);
++ return LookupWord(buff, yylval, vars);
++ }
++
++ if (c != '(')
++ return c;
++
++ Count = 0;
++ do {
++ c = PTimeGetChar(vars->yyInput);
++ if (c == '\0' || c == EOF)
++ return c;
++ if (c == '(')
++ Count++;
++ else if (c == ')')
++ Count--;
++ } while (Count > 0);
++ }
++
++ if (c == '\n')
++ PTimeUngetChar(vars->yyInput, c);
++
++ return EOF;
++}
++
++#ifdef _MSC_VER
++#pragma warning(default:4211)
++#endif
++
++
++static time_t ToSeconds(time_t Hours, time_t Minutes, time_t Seconds,
++ MERIDIAN Meridian)
++{
++ if (Minutes < 0 || Minutes > 59 || Seconds < 0 || Seconds > 59)
++ return -1;
++ switch (Meridian) {
++ case MER24:
++ if (Hours < 0 || Hours > 23)
++ return -1;
++ return (Hours * 60L + Minutes) * 60L + Seconds;
++ case MERam:
++ if (Hours < 1 || Hours > 12)
++ return -1;
++ if (Hours == 12)
++ Hours = 0;
++ return (Hours * 60L + Minutes) * 60L + Seconds;
++ case MERpm:
++ if (Hours < 1 || Hours > 12)
++ return -1;
++ if (Hours == 12)
++ Hours = 0;
++ return ((Hours + 12) * 60L + Minutes) * 60L + Seconds;
++ }
++
++ return -1;
++}
++
++
++static time_t Convert(time_t Month, time_t Day, time_t Year,
++ time_t Hours, time_t Minutes, time_t Seconds,
++ MERIDIAN Meridian, DSTMODE DSTmode, time_t yyTimezone)
++{
++ static int DaysInMonth[12] = {
++ 31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
++ };
++ time_t tod;
++ time_t Julian;
++ int i;
++
++ if (Year < 0)
++ Year = -Year;
++ if (Year < 70)
++ Year += 2000;
++ else if (Year < 100)
++ Year += 1900;
++ DaysInMonth[1] = Year % 4 == 0 && (Year % 100 != 0 || Year % 400 == 0)
++ ? 29 : 28;
++ /* Checking for 2038 bogusly assumes that time_t is 32 bits. But
++ I'm too lazy to try to check for time_t overflow in another way. */
++ if (Year < EPOCH || Year > 2038
++ || Month < 1 || Month > 12
++ /* Lint fluff: "conversion from long may lose accuracy" */
++ || Day < 1 || Day > DaysInMonth[(int)--Month])
++ return -1;
++
++ for (Julian = Day - 1, i = 0; i < Month; i++)
++ Julian += DaysInMonth[i];
++ for (i = EPOCH; i < Year; i++)
++ Julian += 365 + (i % 4 == 0);
++ Julian *= SECSPERDAY;
++ Julian += yyTimezone * 60L;
++ if ((tod = ToSeconds(Hours, Minutes, Seconds, Meridian)) < 0)
++ return -1;
++ Julian += tod;
++ if (DSTmode == DSTon
++ || (DSTmode == DSTmaybe && localtime(&Julian)->tm_isdst))
++ Julian -= 60 * 60;
++ return Julian;
++}
++
++
++static time_t DSTcorrect(time_t Start, time_t Future)
++{
++ time_t StartDay;
++ time_t FutureDay;
++
++ StartDay = (localtime(&Start)->tm_hour + 1) % 24;
++ FutureDay = (localtime(&Future)->tm_hour + 1) % 24;
++ return (Future - Start) + (StartDay - FutureDay) * 60L * 60L;
++}
++
++
++static time_t RelativeDate(time_t Start, time_t DayOrdinal, time_t DayNumber)
++{
++ struct tm *tm;
++ time_t now;
++
++ now = Start;
++ tm = localtime(&now);
++ now += SECSPERDAY * ((DayNumber - tm->tm_wday + 7) % 7);
++ now += 7 * SECSPERDAY * (DayOrdinal <= 0 ? DayOrdinal : DayOrdinal - 1);
++ return DSTcorrect(Start, now);
++}
++
++
++static time_t RelativeMonth(time_t Start, time_t RelMonth, time_t yyTimezone)
++{
++ struct tm *tm;
++ time_t Month;
++ time_t Year;
++
++ if (RelMonth == 0)
++ return 0;
++ tm = localtime(&Start);
++ Month = 12 * tm->tm_year + tm->tm_mon + RelMonth;
++ Year = Month / 12 + 1900;
++ Month = Month % 12 + 1;
++ return DSTcorrect(Start,
++ Convert(Month, (time_t)tm->tm_mday, Year,
++ (time_t)tm->tm_hour, (time_t)tm->tm_min, (time_t)tm->tm_sec,
++ MER24, DSTmaybe, yyTimezone));
++}
++
++
++static void SetPossibleDate(struct Variables * var,
++ time_t possible_day,
++ time_t possible_month,
++ time_t possible_year)
++{
++ int date_order;
++
++ if (possible_day > 31) /* test for ymd */
++ date_order = 2;
++ else if (possible_day > 12) /* test for dmy */
++ date_order = 1;
++ else if (possible_month > 12) /* test for mdy */
++ date_order = 0;
++ else
++ date_order = PTimeGetDateOrder();
++
++ switch (date_order) {
++ case 0 :
++ var->yyDay = possible_month;
++ var->yyMonth = possible_day;
++ var->yyYear = possible_year;
++ break;
++ case 1 :
++ var->yyDay = possible_day;
++ var->yyMonth = possible_month;
++ var->yyYear = possible_year;
++ break;
++ default :
++ var->yyDay = possible_year;
++ var->yyMonth = possible_month;
++ var->yyYear = possible_day;
++ }
++}
++
++
++time_t STDAPICALLTYPE PTimeParse(void * inputStream, struct tm * now, int timezone)
++{
++ time_t Start;
++ struct Variables var;
++
++
++ var.yyInput = inputStream;
++ var.yyYear = now->tm_year + 1900;
++ var.yyMonth = now->tm_mon + 1;
++ var.yyDay = now->tm_mday;
++ var.yyTimezone = -timezone;
++ var.yyDSTmode = DSTmaybe;
++ var.yyHour = 0;
++ var.yyMinutes = 0;
++ var.yySeconds = 0;
++ var.yyMeridian = MER24;
++ var.yyRelSeconds = 0;
++ var.yyRelMonth = 0;
++ var.yyHaveDate = 0;
++ var.yyHaveDay = 0;
++ var.yyHaveRel = 0;
++ var.yyHaveTime = 0;
++ var.yyHaveZone = 0;
++
++ yyparse(&var);
++
++ if (var.yyHaveTime > 1 || var.yyHaveZone > 1 ||
++ var.yyHaveDate > 1 || var.yyHaveDay > 1)
++ return -1;
++
++ if (var.yyHaveTime == 0 && var.yyHaveZone == 0 &&
++ var.yyHaveDate == 0 && var.yyHaveDay == 0 && var.yyHaveRel == 0)
++ return -1;
++
++ if (var.yyHaveDate || var.yyHaveTime || var.yyHaveDay) {
++ Start = Convert(var.yyMonth, var.yyDay, var.yyYear,
++ var.yyHour, var.yyMinutes, var.yySeconds,
++ var.yyMeridian, var.yyDSTmode, var.yyTimezone);
++ if (Start < 0)
++ return -1;
++ }
++ else {
++ time(&Start);
++ if (!var.yyHaveRel)
++ Start -= ((now->tm_hour * 60L + now->tm_min) * 60L) + now->tm_sec;
++ }
++
++ Start += var.yyRelSeconds;
++ Start += RelativeMonth(Start, var.yyRelMonth, var.yyTimezone);
++
++ if (var.yyHaveDay && !var.yyHaveDate)
++ Start += RelativeDate(Start, var.yyDayOrdinal, var.yyDayNumber);
++
++ /* Have to do *something* with a legitimate -1 so it's distinguishable
++ * from the error return value. (Alternately could set errno on error.) */
++ return Start == -1 ? 0 : Start;
++}
++
++
++#ifdef _MSC_VER
++#pragma warning(disable:4028 4100 4211)
++#endif
++
++#ifdef __GNUC__
++int yyerror(const char * s)
++{
++ return 0;
++}
++#else
++static void yyerror(const char * s)
++{
++}
++#endif
++
++#ifdef _MSC_VER
++#pragma warning(default:4028 4100 4211)
++#endif
++
++
++/* End of file ***************************************************************/
diff --git a/unmaintained/ptlib/ptlib-fixcamcrash.patch b/unmaintained/ptlib/ptlib-fixcamcrash.patch
new file mode 100644
index 0000000000..10c6dd79f4
--- /dev/null
+++ b/unmaintained/ptlib/ptlib-fixcamcrash.patch
@@ -0,0 +1,30 @@
+--- ptlib-2.10.10/plugins/vidinput_v4l2/vidinput_v4l2.cxx.orig 2013-02-20 02:12:05.000000000 +0000
++++ ptlib-2.10.10/plugins/vidinput_v4l2/vidinput_v4l2.cxx 2013-03-08 00:07:18.812865388 +0000
+@@ -30,9 +30,9 @@
+ * Contributor(s): Guilhem Tardy (gtardy@salyens.com)
+ * Nicola Orru' <nigu@itadinanta.it>
+ *
+- * $Revision: 27739 $
+- * $Author: rjongbloed $
+- * $Date: 2012-05-30 18:49:09 -0500 (Wed, 30 May 2012) $
++ * $Revision: 29220 $
++ * $Author: ededu $
++ * $Date: 2013-03-07 18:22:08 +0000 (Thu, 07 Mar 2013) $
+ */
+
+ #pragma implementation "vidinput_v4l2.h"
+@@ -219,9 +219,11 @@
+ canSetFrameRate = videoStreamParm.parm.capture.capability & V4L2_CAP_TIMEPERFRAME;
+ if (canSetFrameRate) {
+ if (videoStreamParm.parm.capture.timeperframe.numerator == 0) {
+- PTRACE(1,"PVidInDev\tnumerator is zero and denominator is " << videoStreamParm.parm.capture.timeperframe.denominator << ", driver bug??");
+- }
+- PVideoDevice::SetFrameRate (videoStreamParm.parm.capture.timeperframe.denominator / videoStreamParm.parm.capture.timeperframe.numerator);
++ PTRACE(1,"PVidInDev\tDriver/webcam bug: numerator is zero and denominator is " << videoStreamParm.parm.capture.timeperframe.denominator << ", I assume it cannot set frame rate");
++ canSetFrameRate = PFalse;
++ } else
++ PVideoDevice::SetFrameRate (videoStreamParm.parm.capture.timeperframe.denominator / videoStreamParm.parm.capture.timeperframe.numerator);
++
+ }
+ }
+
diff --git a/unmaintained/pulledpork/APKBUILD b/unmaintained/pulledpork/APKBUILD
new file mode 100644
index 0000000000..c5690b89bf
--- /dev/null
+++ b/unmaintained/pulledpork/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
+# Maintainer:
+pkgname=pulledpork
+pkgver=0.6.1
+pkgrel=0
+pkgdesc="Automatic download of snort rules"
+url="http://code.google.com/p/pulledpork"
+arch="noarch"
+license="GPL"
+depends="perl perl-io-socket-ssl perl-crypt-ssleay perl-libwww"
+depends_dev=
+makedepends="$depends_dev"
+install=
+subpackages="$pkgname-doc"
+source="http://$pkgname.googlecode.com/files/$pkgname-$pkgver.tar.gz"
+
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ cd "$_builddir"
+ return 0
+}
+
+build() {
+ cd "$_builddir"
+ return 0
+}
+
+package() {
+ cd "$_builddir"
+ install -D -m755 pulledpork.pl "$pkgdir"/usr/bin/pulledpork.pl
+ mkdir -p "$pkgdir"/usr/share/doc
+ mkdir -p "$pkgdir"/etc
+ mv doc "$pkgdir"/usr/share/doc/pulledpork
+ mv etc "$pkgdir"/etc/pulledpork
+}
+
+md5sums="a35c5c89d1f631ade1a2cd4e5c3a8778 pulledpork-0.6.1.tar.gz"
diff --git a/unmaintained/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch b/unmaintained/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch
new file mode 100644
index 0000000000..22f524313d
--- /dev/null
+++ b/unmaintained/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch
@@ -0,0 +1,70 @@
+From f6ab3c3aa7a1841c8add04828029356d2a8c88e7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 6 Apr 2015 21:56:31 -0700
+Subject: [PATCH] padsp: Make it compile on musl
+
+break assumptions on glibc and there is no stat64 on non
+glibc C libraries
+
+See pulseaudio bug
+
+https://bugs.freedesktop.org/show_bug.cgi?id=85319
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/utils/padsp.c | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/src/utils/padsp.c b/src/utils/padsp.c
+index e61373c..684721a 100644
+--- src/utils/padsp.c
++++ src/utils/padsp.c
+@@ -2368,7 +2368,7 @@ fail:
+ return ret;
+ }
+
+-#ifdef sun
++#ifndef __GLIBC__
+ int ioctl(int fd, int request, ...) {
+ #else
+ int ioctl(int fd, unsigned long request, ...) {
+@@ -2508,10 +2508,13 @@ int stat(const char *pathname, struct stat *buf) {
+
+ return 0;
+ }
+-
+ #ifdef HAVE_OPEN64
+-
++#undef stat64
++#ifdef __GLIBC__
+ int stat64(const char *pathname, struct stat64 *buf) {
++#else
++int stat64(const char *pathname, struct stat *buf) {
++#endif
+ struct stat oldbuf;
+ int ret;
+
+@@ -2544,7 +2547,7 @@ int stat64(const char *pathname, struct stat64 *buf) {
+
+ return 0;
+ }
+-
++#undef open64
+ int open64(const char *filename, int flags, ...) {
+ va_list args;
+ mode_t mode = 0;
+@@ -2670,8 +2673,8 @@ FILE* fopen(const char *filename, const char *mode) {
+ }
+
+ #ifdef HAVE_OPEN64
+-
+-FILE *fopen64(const char *filename, const char *mode) {
++#undef fopen64
++FILE *fopen64(const char *__restrict filename, const char *__restrict mode) {
+
+ debug(DEBUG_LEVEL_VERBOSE, __FILE__": fopen64(%s)\n", filename?filename:"NULL");
+
+--
+2.1.4
+
diff --git a/unmaintained/pulseaudio/APKBUILD b/unmaintained/pulseaudio/APKBUILD
new file mode 100644
index 0000000000..8885170df9
--- /dev/null
+++ b/unmaintained/pulseaudio/APKBUILD
@@ -0,0 +1,147 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=pulseaudio
+pkgver=8.0
+pkgrel=0
+pkgdesc="A featureful, general-purpose sound server"
+url="http://www.freedesktop.org/wiki/Software/PulseAudio"
+arch="all"
+license="LGPL"
+depends=""
+depends_dev="libcap-dev json-c-dev libsndfile-dev dbus-dev alsa-lib-dev tdb-dev
+ speexdsp-dev sbc-dev bluez-dev jack-dev avahi-dev openssl-dev eudev-dev"
+makedepends="$depends_dev automake autoconf m4 intltool libtool bash"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-bluez
+ $pkgname-alsa $pkgname-utils $pkgname-jack $pkgname-zeroconf $pkgname-system
+ $pkgname-bash-completion:bashcomp $pkgname-zsh-completion:zshcomp"
+source="http://freedesktop.org/software/pulseaudio/releases/pulseaudio-$pkgver.tar.xz
+ 0001-padsp-Make-it-compile-on-musl.patch
+ $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 -p0 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --disable-bluez4 \
+ --disable-nls \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make -j1 DESTDIR="$pkgdir" install || return 1
+}
+
+system() {
+ arch="noarch"
+ depends="$pkgname"
+ pkgdesc="Pulseaudio system-wide init scripts"
+ install -D -m755 "$srcdir"/$pkgname.initd \
+ "$subpkgdir"/etc/init.d/$pkgname || return 1
+ install -D -m644 "$srcdir"/$pkgname.confd \
+ "$subpkgdir"/etc/conf.d/$pkgname || return 1
+ mv "$pkgdir"/etc/dbus-1 "$subpkgdir"/etc
+}
+
+libs() {
+ pkgdesc="Pulseaudio libraries"
+ mkdir -p "$subpkgdir"/usr/lib \
+ "$subpkgdir"/etc/pulse || return 1
+ mv "$pkgdir"/usr/lib/pulseaudio \
+ "$subpkgdir"/usr/lib/ || return 1
+ mv "$pkgdir"/usr/lib/libpulse.so.0* \
+ "$pkgdir"/usr/lib/libpulse-simple.so.0* \
+ "$subpkgdir"/usr/lib/ || return 1
+ mv "$pkgdir"/etc/pulse/client.conf \
+ "$subpkgdir"/etc/pulse/ || return 1
+}
+
+bluez() {
+ pkgdesc="Pulseaudio bluetooth support"
+ mkdir -p "$subpkgdir"/usr/lib/pulse-$pkgver/modules
+ mv "$pkgdir"/usr/lib/pulse-$pkgver/modules/*bluez*.so \
+ "$pkgdir"/usr/lib/pulse-$pkgver/modules/*bluetooth*.so \
+ "$subpkgdir"/usr/lib/pulse-$pkgver/modules/ || return 1
+}
+
+alsa() {
+ pkgdesc="Pulseaudio alsa support"
+ mkdir -p "$subpkgdir"/usr/lib/pulse-$pkgver/modules
+ mv "$pkgdir"/usr/lib/pulse-$pkgver/modules/*alsa*.so \
+ "$subpkgdir"/usr/lib/pulse-$pkgver/modules/ || return 1
+}
+
+utils() {
+ pkgdesc="Pulseaudio utilities"
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/pa* \
+ "$pkgdir"/usr/bin/esdcompat \
+ "$subpkgdir"/usr/bin/ || return 1
+}
+
+jack() {
+ pkgdesc="Pulseaudio jack support"
+ mkdir -p "$subpkgdir"/usr/lib/pulse-$pkgver/modules
+ mv "$pkgdir"/usr/lib/pulse-$pkgver/modules/*jack*.so \
+ "$subpkgdir"/usr/lib/pulse-$pkgver/modules/ || return 1
+}
+
+zeroconf() {
+ pkgdesc="Pulseaudio zeroconf support"
+ mkdir -p "$subpkgdir"/usr/lib/pulse-$pkgver/modules
+ mv "$pkgdir"/usr/lib/pulse-$pkgver/modules/*avahi*.so \
+ "$pkgdir"/usr/lib/pulse-$pkgver/modules/*zeroconf*.so \
+ "$pkgdir"/usr/lib/pulse-$pkgver/modules/*raop*.so \
+ "$subpkgdir"/usr/lib/pulse-$pkgver/modules/ || return 1
+}
+
+bashcomp() {
+ pkgdesc="Bash completion for $pkgname"
+ arch="noarch"
+ depends=""
+ install_if="$pkgname=$pkgver-r$pkgrel bash-completion"
+ install -dm755 "$subpkgdir"/usr/share || return 1
+ mv "$pkgdir"/usr/share/bash-completion "$subpkgdir"/usr/share
+}
+
+zshcomp() {
+ pkgdesc="Zsh completion for $pkgname"
+ arch="noarch"
+ depends=""
+ install_if="$pkgname=$pkgver-r$pkgrel zsh"
+ install -dm755 "$subpkgdir"/usr/share || return 1
+ mv "$pkgdir"/usr/share/zsh "$subpkgdir"/usr/share
+}
+
+md5sums="8678442ba0bb4b4c33ac6f62542962df pulseaudio-8.0.tar.xz
+be814e7c1f53062f1a506c71a97dd6cb 0001-padsp-Make-it-compile-on-musl.patch
+884cb9a843361844904e8c85542e72fb pulseaudio.initd
+bf7487ba2c48fc8a56bca41c97a18934 pulseaudio.confd"
+sha256sums="690eefe28633466cfd1ab9d85ebfa9376f6b622deec6bfee5091ac9737cd1989 pulseaudio-8.0.tar.xz
+1c0ffd3a95b4bc65b97bd8bc6cca0fce386cecf2807e96ddd146521b47003004 0001-padsp-Make-it-compile-on-musl.patch
+bbd37d052962ddbf6ae633e4e3896da292d3e916a9123558a9b973096dda842d pulseaudio.initd
+c03661e8cc902d27ff6b52f291207f2b008957571b942abdd92a873a52aae0dd pulseaudio.confd"
+sha512sums="7008abf768f720839353038ffd3e35e442f82452aa7e27d446f75d403096b042643d2b2b1d153454302bd5a51f9217f4979c8995b80ba2695f141e6a29e164fa pulseaudio-8.0.tar.xz
+0542ade084625e278bf1efdf4a72ed282e4876e98a7358d3c2746659ac3cac4098850468447b6018413022ee7dc085ac2ef34cc661d88e1d150a920cfcf79620 0001-padsp-Make-it-compile-on-musl.patch
+34fe54ece5df60ce63a7955cd828a2716670fef71f40960698ae5518fdaf9cd599f4d8f8852e2c88d715600a9ad06a38984415e5eb320071012e5eb6e5c1b8b1 pulseaudio.initd
+75b54581591519d63a3362b155c0f9b0501a60763ab394693a456c44d0216138cf3a40bdd0f7442028663bc045e9ffee286f8f8eaf2ee3bb17379b43615fee0e pulseaudio.confd"
diff --git a/unmaintained/pulseaudio/pulseaudio.confd b/unmaintained/pulseaudio/pulseaudio.confd
new file mode 100644
index 0000000000..1d31d342a0
--- /dev/null
+++ b/unmaintained/pulseaudio/pulseaudio.confd
@@ -0,0 +1,7 @@
+# Config file for /etc/init.d/pulseaudio
+# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/files/pulseaudio.conf.d,v 1.6 2006/07/29 15:34:18 flameeyes Exp $
+
+# For more see "pulseaudio -h".
+
+# Startup options
+PA_OPTS="--log-target=syslog --disallow-module-loading=1"
diff --git a/unmaintained/pulseaudio/pulseaudio.initd b/unmaintained/pulseaudio/pulseaudio.initd
new file mode 100644
index 0000000000..6dc11bf82b
--- /dev/null
+++ b/unmaintained/pulseaudio/pulseaudio.initd
@@ -0,0 +1,81 @@
+#!/sbin/openrc-run
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/files/pulseaudio.init.d-5,v 1.1 2011/03/27 16:58:49 ssuominen Exp $
+
+depend() {
+ need localmount
+ use net
+
+ local script="/etc/pulse/system.pa"
+
+ for opt in ${PA_OPTS}; do
+ case "$opt" in
+ --file=*) script="${opt#*=}" ;;
+ -F*) script="${opt#-F}" ;;
+ esac
+ done
+
+ config "$script"
+
+ local needs="$(get_options need)"
+ if [ -n "${needs}" ]; then
+ need ${needs}
+ return
+ fi
+
+ if egrep -q '^[[:space:]]*load-module[[:space:]]+module-console-kit' "$script"; then
+ needs="${needs} consolekit"
+ fi
+
+#ifdef UDEV
+ if egrep -q '^[[:space:]]*load-module[[:space:]]+module-udev-detect' "$script"; then
+ needs="${needs} udev"
+ fi
+#endif
+
+#ifdef AVAHI
+ if egrep -q '^[[:space:]]*load-module[[:space:]]+module-zeroconf-publish' "$script"; then
+ needs="${needs} avahi-daemon"
+ fi
+#endif
+
+#ifdef BLUETOOTH
+ if egrep -q '^[[:space:]]*load-module[[:space:]]+module-bt-proximity' "$script"; then
+ needs="${needs} bluetooth"
+ fi
+#endif
+
+#ifdef ALSA
+ if egrep -q '^[[:space:]]*load-module[[:space:]]+module-alsa-(sink|source)' "$script" ||
+ egrep -q '^[[:space:]]*load-module[[:space:]]+module-(udev-)?detect' "$script" ||
+ egrep -q '^[[:space:]]*add-autoload-source[[:space:]]+(input|output)[[:space:]]+module-alsa-(sink|source)' "$script"; then
+ needs="${needs} alsa" # in Alpine install alsa-utils to provide /etc/init.d/alsa (not alsasound as in Gentoo).
+ fi
+#endif
+
+ need "${needs}"
+ save_options need "${needs}"
+}
+
+start() {
+ if [ -z "${PULSEAUDIO_SHOULD_NOT_GO_SYSTEMWIDE}" ]; then
+ eerror "Please don't use system wide PulseAudio unless you read the"
+ eerror "documentation available at http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/"
+ eerror ""
+ eerror "When you're done, please set the variable PULSEAUDIO_SHOULD_NOT_GO_SYSTEMWIDE in"
+ eerror "/etc/conf.d/pulseaudio . Please remember that upstream does not support this mode"
+ eerror "when used for standard desktop configurations."
+ return 1
+ fi
+ ebegin "Starting pulseaudio"
+ PA_ALL_OPTS="${PA_OPTS} --fail=1 --daemonize=1 --system"
+ start-stop-daemon --start --exec /usr/bin/pulseaudio -- ${PA_ALL_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping pulseaudio"
+ start-stop-daemon --stop --quiet --exec /usr/bin/pulseaudio --pidfile /var/run/pulse/pid
+ eend $?
+}
diff --git a/unmaintained/py-acl/APKBUILD b/unmaintained/py-acl/APKBUILD
new file mode 100644
index 0000000000..028dee7dac
--- /dev/null
+++ b/unmaintained/py-acl/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=py-acl
+_pkgname=acl
+pkgver=0.4
+pkgrel=0
+pkgdesc="A python network access control list parsing library"
+url="https://github.com/jathanism/acl"
+arch="noarch"
+license="ASL 2.0"
+depends="python"
+depends_dev=""
+makedepends="python-dev py-setuptools"
+install=""
+subpackages=""
+source="$_pkgname-$pkgver.tar.gz::https://github.com/jathanism/acl/archive/$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"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="3015448d787469e6d9b250d07ca877d1 acl-0.4.tar.gz"
+sha256sums="805a8568c6c1584f35a32b2a212547f479d064bc0fedd5a06531725caf4c65c1 acl-0.4.tar.gz"
+sha512sums="57b0bf0d444084de55b7d2f98b08ee97bb3e740a2fbf469e6dc2b294ac5c70bd67cd506417de791d7c67acca4ea0ed66873a6e84c5a28ad44e590616ae7d5ef5 acl-0.4.tar.gz"
diff --git a/unmaintained/py-authen-ntlm2/APKBUILD b/unmaintained/py-authen-ntlm2/APKBUILD
new file mode 100644
index 0000000000..2bec76c9fc
--- /dev/null
+++ b/unmaintained/py-authen-ntlm2/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer:
+pkgname=py-authen-ntlm2
+_realname=PyAuthenNTLM2
+pkgver=2.2
+_pkgver=RELEASE_2_2
+pkgrel=0
+pkgdesc="Authentication module for Apache"
+url="https://github.com/Legrandin/PyAuthenNTLM2"
+arch="noarch"
+license="ASL 2.0"
+depends=""
+depends_dev="python-dev py-setuptools"
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="https://github.com/Legrandin/$_realname/archive/$_pkgver.zip"
+
+_builddir="$srcdir"/$_realname-$_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 --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="e8cce57ea90d3842ccbe542ee7e1bd4d RELEASE_2_2.zip"
+sha256sums="9dfdd88ef7233335db1efca392ad90813f6ceaeaeda906a27b163674746e586b RELEASE_2_2.zip"
+sha512sums="0c0d46eac73830ecca732fc911d8bba7c06b0ed7c3f21331a3f718b438f5773357443989706fb53fb0193ff758b00a1af420f7a5e4af5eb0b6ee8da55b429db9 RELEASE_2_2.zip"
diff --git a/unmaintained/py-beautifulsoup/APKBUILD b/unmaintained/py-beautifulsoup/APKBUILD
new file mode 100644
index 0000000000..5cb0d4068d
--- /dev/null
+++ b/unmaintained/py-beautifulsoup/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer:
+pkgname=py-beautifulsoup
+_pkgname=BeautifulSoup
+pkgver=3.2.1
+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
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="5ad1a8550a19bfc945baac23eb8293ed BeautifulSoup-3.2.1.tar.gz"
diff --git a/unmaintained/py-beautifulsoup4/APKBUILD b/unmaintained/py-beautifulsoup4/APKBUILD
new file mode 100644
index 0000000000..1d41e2d6c6
--- /dev/null
+++ b/unmaintained/py-beautifulsoup4/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=py-beautifulsoup4
+_pkgname=beautifulsoup4
+pkgver=4.3.2
+pkgrel=0
+pkgdesc="A Python HTML/XML parser"
+url="http://www.crummy.com/software/BeautifulSoup/index.html"
+arch="noarch"
+license="MIT"
+depends="python"
+depends_dev=""
+makedepends="python-dev py-setuptools"
+install=""
+subpackages=""
+source="http://www.crummy.com/software/BeautifulSoup/bs4/download/${pkgver:0:3}/$_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"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="b8d157a204d56512a4cc196e53e7d8ee beautifulsoup4-4.3.2.tar.gz"
+sha256sums="a2b29bd048ca2fe54a046b29770964738872a9747003a371344a93eedf7ad58e beautifulsoup4-4.3.2.tar.gz"
+sha512sums="3d55e553a1a2109378e2961a0feb23a8f038f4ff7bd335a21a26d588d39761f6735888e6ca2d001587e9a6a3b8259a1a09b92b310aa17e9b76fd85601a1ca592 beautifulsoup4-4.3.2.tar.gz"
diff --git a/unmaintained/py-des/APKBUILD b/unmaintained/py-des/APKBUILD
new file mode 100644
index 0000000000..6ff5dcc966
--- /dev/null
+++ b/unmaintained/py-des/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=py-des
+_pkgname=pyDes
+pkgver=2.0.1
+pkgrel=0
+pkgdesc="A Python implementation of DES and TRIPLE DES encryption algorithms"
+url="http://twhiteman.netfirms.com/des.html"
+arch="noarch"
+license="MIT"
+depends="python"
+depends_dev=""
+makedepends="python-dev py-setuptools"
+install=""
+subpackages=""
+source="http://twhiteman.netfirms.com/pyDES/$_pkgname-$pkgver.zip"
+
+_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"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="90f06a24a1ee73fb0e235571d51c287a pyDes-2.0.1.zip"
+sha256sums="9cc6e509f627ef1c2d318730d22f1a33f23b41e1ec223b55a6420f2861266d76 pyDes-2.0.1.zip"
+sha512sums="d9107d532801ff2eb096eeb606c1b81fd68a76fccffdf095a6a2a79bd19815b4c366549989b6f4508c99a2f9afb063eceb7b0702e504ebb4d73dc8175057cb28 pyDes-2.0.1.zip"
diff --git a/unmaintained/py-flask-htmlbuilder/APKBUILD b/unmaintained/py-flask-htmlbuilder/APKBUILD
new file mode 100644
index 0000000000..e45b8a1bef
--- /dev/null
+++ b/unmaintained/py-flask-htmlbuilder/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=py-flask-htmlbuilder
+_pkgname=flask-htmlbuilder
+pkgver=0.4
+pkgrel=0
+pkgdesc="Flask HTML generation extension"
+url="https://pypi.python.org/pypi/Flask-HTMLBuilder"
+arch="noarch"
+license="MIT"
+depends="python py-flask"
+depends_dev=""
+makedepends="python-dev py-setuptools"
+install=""
+subpackages=""
+source="$_pkgname-$pkgver.tar.gz::https://github.com/majorz/flask-htmlbuilder/archive/$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"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="87ab4ae5af06781842790d570abf2463 flask-htmlbuilder-0.4.tar.gz"
+sha256sums="e153bfd7e02c79a8b26ff92ecde8bc5d1c535aecce8d38c6c82ae09f0c5f06ec flask-htmlbuilder-0.4.tar.gz"
+sha512sums="021b8dac367b1484590ec5a2bfbc724938134beaa663087e9ddcce1bb3d678881415258161d6a56145e2443cdf344c2850113f0f38f8a7d8315eedb287014ca1 flask-htmlbuilder-0.4.tar.gz"
diff --git a/unmaintained/py-jabberbot/APKBUILD b/unmaintained/py-jabberbot/APKBUILD
new file mode 100644
index 0000000000..e0cb560d70
--- /dev/null
+++ b/unmaintained/py-jabberbot/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=py-jabberbot
+_pkgname=python-jabberbot
+pkgver=0.15
+pkgrel=0
+pkgdesc="A simple Jabber Bot for Python"
+url="http://pypi.python.org/pypi/jabberbot"
+arch="noarch"
+license="GPL3+"
+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="081be2f6d8c82740b9906bf5b8562e7d jabberbot-0.15.tar.gz"
+sha256sums="b8b946958e15f5413adcb02fecf7cffd6d008669a692ef6a2bc4bf3717c06a1d jabberbot-0.15.tar.gz"
+sha512sums="57cf8cbd79fd530565308b644b7e22d985e7ce5319eb8d5b127546ded4bf49d3c196a7780321aaf093cb948d1217e4ef7c265b7a3b0f411e5c1999feb591b749 jabberbot-0.15.tar.gz"
diff --git a/unmaintained/py-mkdocs-bootstrap/APKBUILD b/unmaintained/py-mkdocs-bootstrap/APKBUILD
new file mode 100644
index 0000000000..690d75a786
--- /dev/null
+++ b/unmaintained/py-mkdocs-bootstrap/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=py-mkdocs-bootstrap
+pkgver=0.1.1
+pkgrel=0
+pkgdesc="MkDocs Bootstrap Theme"
+url="https://github.com/mkdocs/mkdocs-bootstrap"
+arch="noarch"
+license="BSD"
+depends="mkdocs"
+depends_dev=""
+makedepends="$depends_dev py-setuptools"
+install=""
+subpackages=""
+source="mkdocs-bootstrap-$pkgver.tar.gz::https://github.com/mkdocs/mkdocs-bootstrap/archive/$pkgver.tar.gz"
+
+_builddir="$srcdir"/mkdocs-bootstrap-$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 --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="f0f0fc57fdf2a93ab764013ebc38c638 mkdocs-bootstrap-0.1.1.tar.gz"
+sha256sums="215fd357e51f9505e5f5ac45e3c0bb15ed431c3c24abf8f1f3afff66fd51f842 mkdocs-bootstrap-0.1.1.tar.gz"
+sha512sums="c3f91ea22f0393f4ffcb5158ae5401e74abe6f937cc964c605e1ba40ecf0b17a27841558c49d9a79f302fdc8198fff5b8c5d278374ab0c59646b243488cbf719 mkdocs-bootstrap-0.1.1.tar.gz"
diff --git a/unmaintained/py-mkdocs-bootswatch/APKBUILD b/unmaintained/py-mkdocs-bootswatch/APKBUILD
new file mode 100644
index 0000000000..6737b2f084
--- /dev/null
+++ b/unmaintained/py-mkdocs-bootswatch/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=py-mkdocs-bootswatch
+pkgver=0.1.0
+pkgrel=0
+pkgdesc="MkDocs Bootswatch Themes"
+url="https://github.com/mkdocs/mkdocs-bootswatch"
+arch="noarch"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="$depends_dev py-setuptools"
+install=""
+subpackages=""
+source="mkdocs-bootswatch-$pkgver.tar.gz::https://github.com/mkdocs/mkdocs-bootswatch/archive/$pkgver.tar.gz"
+
+_builddir="$srcdir"/mkdocs-bootswatch-$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 --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="3d20297a046ec2b1fbc0134262130112 mkdocs-bootswatch-0.1.0.tar.gz"
+sha256sums="82537b39ba4ccbeda19a53cc6f2e5fcb7b7700cdd27709506eb1043ff712fb04 mkdocs-bootswatch-0.1.0.tar.gz"
+sha512sums="e3762d7edb4533620eae1fd0764f216be07aa49acde98b6df074bb29f80c6b3d10e97a465663adcff81f7702de976f28dbf78dbeb9a556f87b69605bd951fbb5 mkdocs-bootswatch-0.1.0.tar.gz"
diff --git a/unmaintained/py-mysql2pgsql/APKBUILD b/unmaintained/py-mysql2pgsql/APKBUILD
new file mode 100644
index 0000000000..34ebf067fe
--- /dev/null
+++ b/unmaintained/py-mysql2pgsql/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=py-mysql2pgsql
+pkgver=0.1.6
+pkgrel=0
+pkgdesc="A migrating/converting tool from mysql to postgresql"
+url="https://github.com/philipsoutham/py-mysql2pgsql"
+arch="noarch"
+license="MIT"
+depends="python py-yaml py-psycopg2 py-mysqldb"
+depends_dev=""
+makedepends="python-dev py-setuptools"
+install=""
+subpackages=""
+source="$pkgname-$pkgver.tar.gz::https://github.com/philipsoutham/$pkgname/archive/v$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"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="fe6818d5852d97efdc5f017b1850bf18 py-mysql2pgsql-0.1.6.tar.gz"
+sha256sums="56b5d2b6a3b51ccf054541e73b292656a35231be2521232af04e5508f29249ae py-mysql2pgsql-0.1.6.tar.gz"
+sha512sums="fb5730cb27eac73e77ffd5b3847c51050c66f06f300b303c4234c7aec4f8cab8de09c8fc9a98e0fdcb3faedefc11943ddf3f157285b0c483a8157e809cf15955 py-mysql2pgsql-0.1.6.tar.gz"
diff --git a/unmaintained/py-reconfigure/APKBUILD b/unmaintained/py-reconfigure/APKBUILD
new file mode 100644
index 0000000000..3493267031
--- /dev/null
+++ b/unmaintained/py-reconfigure/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=py-reconfigure
+_pkgname=reconfigure
+pkgver=0.1.33
+pkgrel=0
+pkgdesc="A Python library for parsing and generation configuration file formats"
+url="https://github.com/Eugeny/reconfigure"
+arch="noarch"
+license="LGPL3+"
+depends="python"
+depends_dev=""
+makedepends="python-dev py-setuptools"
+install=""
+subpackages=""
+source="$_pkgname-$pkgver.tar.gz::https://github.com/Eugeny/reconfigure/archive/$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"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="b3ce28ceac3641e43a95f32c365af9a8 reconfigure-0.1.33.tar.gz"
+sha256sums="c8ac576d2351fef9b664ceb03ede8a582b49f42e62dde0fdefc2e4c745b1953f reconfigure-0.1.33.tar.gz"
+sha512sums="d259b1033374ad14d94efea77361c1a3d242f88ec2e1e6728fa5df4dc4c69cdedc9cec4c2031bf6e120f1be92d5d91f985bb6933700dce1cb3bdd9dc3df03508 reconfigure-0.1.33.tar.gz"
diff --git a/unmaintained/py-subvertpy/APKBUILD b/unmaintained/py-subvertpy/APKBUILD
new file mode 100644
index 0000000000..e5faa90243
--- /dev/null
+++ b/unmaintained/py-subvertpy/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=py-subvertpy
+_pkgname=subvertpy
+pkgver=0.9.1
+pkgrel=0
+pkgdesc="Python bindings for Subversion"
+url="http://samba.org/~jelmer/subvertpy/"
+arch="all"
+license="LGPLv2+"
+depends="python"
+depends_dev=""
+makedepends="python-dev py-setuptools subversion-dev apr-util-dev"
+install=""
+subpackages=""
+source="http://samba.org/~jelmer/$_pkgname/$_pkgname-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$_pkgname-$pkgver
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="365ff13066def2cac0bc0de75502d3d3 subvertpy-0.9.1.tar.gz"
+sha256sums="31456d4b73b2dad5ac654a0364451078e3f7bd09fb73ce0f18724211e86d504e subvertpy-0.9.1.tar.gz"
+sha512sums="624713c1c565c07493658195494249d18a98898c8d41488b1d74c37bb1ca223bc24b5dda5d06631ae95b9b1791335e56ebb6b16751d0c5f3750b755d10590121 subvertpy-0.9.1.tar.gz"
diff --git a/unmaintained/py-svn/APKBUILD b/unmaintained/py-svn/APKBUILD
new file mode 100644
index 0000000000..6950ea4c65
--- /dev/null
+++ b/unmaintained/py-svn/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=py-svn
+_pkgname=pysvn
+pkgver=1.7.8
+pkgrel=0
+pkgdesc="Python SVN Extension and WorkBench GUI"
+url="http://pysvn.tigris.org/"
+arch="all"
+license="APACHE"
+depends=""
+depends_dev="py-setuptools python-dev subversion-dev apr-util-dev openssl-dev"
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://pysvn.barrys-emacs.org/source_kits/$_pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$_pkgname-$pkgver/Source
+
+build() {
+ cd "$_builddir"
+ python setup.py configure
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ _pyver=$(python -V 2>&1|sed -e 's/.* 2\.\([0-9]\).*/\1/')
+ install -D -m644 pysvn/__init__.py $pkgdir/usr/lib/python2.${_pyver}/site-packages/pysvn/__init__.py
+ install -D -m755 pysvn/_pysvn_2_${_pyver}.so $pkgdir/usr/lib/python2.${_pyver}/site-packages/pysvn/_pysvn_2_${_pyver}.so
+}
+
+md5sums="1e03badde472a6f1e7a11365c1ab9063 pysvn-1.7.8.tar.gz"
+sha256sums="60936e30e73f8909034d8b51ee2aabbdd8dec04df480b6d271c12f45815367e2 pysvn-1.7.8.tar.gz"
+sha512sums="f54bd05ec4d429b99ef1c27167989edd96df73d1fe970bb4fa7669523f6f15c35584bc9252a74bbc7cbdb5fd846bb370a10d625546a50c9be49eedcc85916167 pysvn-1.7.8.tar.gz"
diff --git a/unmaintained/py-tftpy/APKBUILD b/unmaintained/py-tftpy/APKBUILD
new file mode 100644
index 0000000000..e5f7f0577c
--- /dev/null
+++ b/unmaintained/py-tftpy/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=tftpy
+pkgver=0.6.0
+pkgrel=0
+pkgdesc="A Pure Python TFTP Protocol Implementation"
+url="http://tftpy.sourceforge.net/"
+arch="noarch"
+license="MIT"
+depends=""
+depends_dev=""
+makedepends="python-dev"
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="b306d30ef1799f1932540a54cd72f79d tftpy-0.6.0.tar.gz"
+sha256sums="d8de06a543989b910e46d2793f96fb9c5cbd7f99ab014982945b58ae60289893 tftpy-0.6.0.tar.gz"
+sha512sums="f1d3fa00dbb084d077ef727d5fb7d8510bc80537577f5dec8debb1b6b6563443ba0a180d4dd3371fe966e60f9fbfb1aa9eed3559af12642abf0c8b89efb82ee3 tftpy-0.6.0.tar.gz"
diff --git a/unmaintained/py-tkinter/APKBUILD b/unmaintained/py-tkinter/APKBUILD
new file mode 100644
index 0000000000..1effa6fc70
--- /dev/null
+++ b/unmaintained/py-tkinter/APKBUILD
@@ -0,0 +1,87 @@
+# Maintainer: Isaac Dunham <ibid.ag@gmail.com>
+# This depends on the current packaging of Python,
+# which includes idle, the tkinter and idle *.py* files, but not _tkinter.so
+pkgname=py-tkinter
+_pkgname=python
+pkgver=2.7.9
+_verbase=${pkgver%.*}
+pkgrel=0
+pkgdesc="Tk interface for Python"
+url="http://www.python.org"
+arch="all"
+license="custom"
+subpackages=""
+depends=""
+makedepends="expat-dev openssl-dev zlib-dev ncurses-dev bzip2-dev
+ libffi-dev tk-dev python-dev"
+source="http://www.$pkgname.org/ftp/$_pkgname/$pkgver/Python-$pkgver.tar.xz
+ find_library.patch
+ unchecked-ioctl.patch
+ "
+
+prepare() {
+ cd "$srcdir/Python-$pkgver"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1
+ esac
+ done
+
+ # verify that python version corresponds with system python version
+ _pyver=$(python -c 'import platform; print platform.python_version()')
+ if [ "$_pyver" != "$pkgver" ]; then
+ error "$pkgver does not correspond with python $_pyver"
+ return 1
+ fi
+
+ # Make sure we use system libs
+ rm -r Modules/expat Modules/_ctypes/libffi* Modules/zlib || return 1
+
+ # make sure our /dev/shm is world writeable
+ if ! touch /dev/shm/"$pkgname-$pkgver"; then
+ error "/dev/shm is not world writeable. this will cause a broken python build"
+ return 1
+ fi
+ rm /dev/shm/"$pkgname-$pkgver"
+}
+
+build() {
+ cd "$srcdir/Python-$pkgver"
+ export OPT="$CFLAGS"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --enable-shared \
+ --with-threads \
+ --enable-ipv6 \
+ --with-system-ffi \
+ --with-system-expat \
+ --with-system-zlib \
+ --enable-unicode=ucs4 \
+ --with-tcltk-libs="`pkg-config --libs tk`" \
+ --with-tcltk-includes="`pkg-config --cflags tk`" \
+ || return 1
+ make sharedmods || return 1
+}
+
+package() {
+ cd "$srcdir/Python-$pkgver"
+ make -j1 DESTDIR="$pkgdir" sharedinstall || return 1
+ find "$pkgdir/" -type f ! -name _tkinter.so -exec rm -f '{}' + \
+ || return 1
+ find "$pkgdir/" -type l -exec rm -f '{}' + || return 1
+ find "$pkgdir/" -type d -exec rmdir -p '{}' \; || true
+ ls "$pkgdir/usr/lib/$_pkgname$_verbase/lib-dynload/_tkinter.so" \
+ || return 1
+}
+
+md5sums="38d530f7efc373d64a8fb1637e3baaa7 Python-2.7.9.tar.xz
+5d8ca92fa6f187573104593470a9d3d5 find_library.patch
+dada786a50fa332686a9b9260d84c110 unchecked-ioctl.patch"
+sha256sums="90d27e14ea7e03570026850e2e50ba71ad20b7eb31035aada1cf3def8f8d4916 Python-2.7.9.tar.xz
+63b2b1489c2b97b450bb2d19b64f2ae6cca5c43d549c131c7807fbe52b7bbf21 find_library.patch
+f9d37609bab83d9ffff96ec9a33e16568cfb14980d389f7fe34a1c837397e359 unchecked-ioctl.patch"
+sha512sums="6939182463272a6bb9da0e327bfb9efc574a87820f2ae39eaf02d9fae053dbe0004330e916e6828becfef94cbe294acb0a88a600f8930b99b94fcfc4efc44ff4 Python-2.7.9.tar.xz
+cbb18c23b1b55025ba8a08debd545b68317eef2732f9f631d2629ed71b603b9a90843bca5df9db7072e83e29c928b0e9c557d0710955692052607db36a241c08 find_library.patch
+5a8e013a4132d71c4360771f130d27b37275ae59330cf9a75378dc8a11236017f540eb224f2a148984e82ca3fb6b29129375b1080ba05b81044faa717520ab82 unchecked-ioctl.patch"
diff --git a/unmaintained/py-tkinter/find_library.patch b/unmaintained/py-tkinter/find_library.patch
new file mode 100644
index 0000000000..c4975250bb
--- /dev/null
+++ b/unmaintained/py-tkinter/find_library.patch
@@ -0,0 +1,11 @@
+--- ./Lib/ctypes/util.py.orig
++++ ./Lib/ctypes/util.py
+@@ -227,7 +227,7 @@
+ abi_type = mach_map.get(machine, 'libc6')
+
+ # XXX assuming GLIBC's ldconfig (with option -p)
+- expr = r'\s+(lib%s\.[^\s]+)\s+\(%s' % (re.escape(name), abi_type)
++ expr = r'\s+(lib%s\.[^\s]+)\s+\(' % (re.escape(name))
+ f = os.popen('/sbin/ldconfig -p 2>/dev/null')
+ try:
+ data = f.read()
diff --git a/unmaintained/py-tkinter/unchecked-ioctl.patch b/unmaintained/py-tkinter/unchecked-ioctl.patch
new file mode 100644
index 0000000000..4d5564c2cb
--- /dev/null
+++ b/unmaintained/py-tkinter/unchecked-ioctl.patch
@@ -0,0 +1,11 @@
+--- ./Modules/fcntlmodule.c.orig
++++ ./Modules/fcntlmodule.c
+@@ -118,7 +118,7 @@
+ int mutate_arg = 1;
+ char buf[IOCTL_BUFSZ+1]; /* argument plus NUL byte */
+
+- if (PyArg_ParseTuple(args, "O&Iw#|i:ioctl",
++ if (PyArg_ParseTuple(args, "O&Iw#|n:ioctl",
+ conv_descriptor, &fd, &code,
+ &str, &len, &mutate_arg)) {
+ char *arg;
diff --git a/unmaintained/py-twisted-conch/APKBUILD b/unmaintained/py-twisted-conch/APKBUILD
new file mode 100644
index 0000000000..997c9fa643
--- /dev/null
+++ b/unmaintained/py-twisted-conch/APKBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=py-twisted-conch
+pkgver=15.1.0
+pkgrel=0
+pkgdesc="SSH and SFTP protocol implementation together with clients and servers"
+url="http://twistedmatrix.com/trac/wiki/TwistedConch"
+arch="noarch"
+license="MIT"
+depends="py-twisted py-crypto py-asn1"
+makedepends="python-dev"
+source="http://twistedmatrix.com/Releases/Conch/${pkgver%.*}/TwistedConch-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/TwistedConch-$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 --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="73c9c432b614655d6dcf5db4c00e632f TwistedConch-15.1.0.tar.bz2"
+sha256sums="51dc4d3ab3f13e64a196046e3d722689f87c586f3ebe42e287c2063fdd48bb4c TwistedConch-15.1.0.tar.bz2"
+sha512sums="912d9a288fcc6bb3e8babee75325ea7a384e364d227f0629bbb5af8c813cff75dbeb38755d2f0eb5bd5ac243c45c4ed5f1c9e01bf0d693b027adeeef59ebd691 TwistedConch-15.1.0.tar.bz2"
diff --git a/unmaintained/py-xattr/APKBUILD b/unmaintained/py-xattr/APKBUILD
new file mode 100644
index 0000000000..ece10bf523
--- /dev/null
+++ b/unmaintained/py-xattr/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=py-xattr
+_pkgname=pyxattr
+pkgver=0.5.2
+pkgrel=1
+pkgdesc="A python module for accessing filesystem Extended Attributes"
+url="http://pyxattr.k1024.org/"
+arch="all"
+license="LGPL2+"
+depends=""
+depends_dev=""
+makedepends="python-dev attr-dev py-setuptools"
+install=""
+subpackages=""
+source="http://pyxattr.k1024.org/downloads/$_pkgname-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$_pkgname-$pkgver
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --root="$pkgdir" || return 1
+}
+
+md5sums="9ff2e4218badc201b689b6d254290001 pyxattr-0.5.2.tar.gz"
+sha256sums="19accb3927a833b36b1fb0fddeae45c32b08715cce38b1b106faff22c4ba79d9 pyxattr-0.5.2.tar.gz"
+sha512sums="8dfe6583b1bb54c1674ca90ea99ad50d7ad51b858a1f40bfd4a3660fcba71b59540e5957bb601d816e82c9fec91985394f51193e5a2452c4b1b27cb5edf51e2f pyxattr-0.5.2.tar.gz"
diff --git a/unmaintained/py-xdg/APKBUILD b/unmaintained/py-xdg/APKBUILD
new file mode 100644
index 0000000000..c22458d32f
--- /dev/null
+++ b/unmaintained/py-xdg/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: August Klein <amatcoder@gmail.com>
+# Maintainer: August Klein <amatcoder@gmail.com>
+pkgname=py-xdg
+_pkgname=pyxdg
+pkgver=0.25
+pkgrel=0
+pkgdesc="A python library to access freedesktop.org standards"
+url="http://freedesktop.org/wiki/Software/pyxdg"
+arch="noarch"
+license="LGPL"
+depends=""
+depends_dev="python-dev"
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://people.freedesktop.org/~takluyver/$_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 --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="bedcdb3a0ed85986d40044c87f23477c pyxdg-0.25.tar.gz"
+sha256sums="81e883e0b9517d624e8b0499eb267b82a815c0b7146d5269f364988ae031279d pyxdg-0.25.tar.gz"
+sha512sums="86cbf3a54fb8e79043db60dcdbb3fb10013ae25a900fa3592edc8a24bf3f440c19bc04626c7906293c785fcb56eab9d87d209b723b5baa872376ba1eb86758b6 pyxdg-0.25.tar.gz"
diff --git a/unmaintained/py-xmpppy/APKBUILD b/unmaintained/py-xmpppy/APKBUILD
new file mode 100644
index 0000000000..e881e34eb5
--- /dev/null
+++ b/unmaintained/py-xmpppy/APKBUILD
@@ -0,0 +1,31 @@
+# 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="GPL2+"
+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 || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="e0d2b3f9e4a278c163431e64adb0c861 xmpppy-0.5.0rc1.tar.gz"
+sha256sums="519b025b3c9600c26c5805d0c612fe01e61330d2b9869f05c7c416c627820b9a xmpppy-0.5.0rc1.tar.gz"
+sha512sums="7fe91ff313533a419e125bb69163dfb122723e67ca70feab00748b5deafc0c99aa002cbebf0f89b8bc7ce465bb2c775ab98509761af07d90295bc1e9c50eee23 xmpppy-0.5.0rc1.tar.gz"
diff --git a/unmaintained/pycairo/APKBUILD b/unmaintained/pycairo/APKBUILD
new file mode 100644
index 0000000000..5b16b8d2c8
--- /dev/null
+++ b/unmaintained/pycairo/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Alan Lacerda <alacerda@alpinelinux.org>
+# Maintainer:
+pkgname=pycairo
+pkgver=1.10.0
+pkgrel=0
+pkgdesc="A set of Python bindings for the cairo graphics library"
+url="http://cairographics.org/pycairo/"
+arch="all"
+license="MPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev python-dev cairo-dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://cairographics.org/releases/py2cairo-$pkgver.tar.bz2"
+
+_builddir="$srcdir/py2cairo-$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 || return 1
+ ./waf build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ DESTDIR="${pkgdir}" ./waf install || return 1
+}
+
+md5sums="20337132c4ab06c1146ad384d55372c5 py2cairo-1.10.0.tar.bz2"
+sha256sums="d30439f06c2ec1a39e27464c6c828b6eface3b22ee17b2de05dc409e429a7431 py2cairo-1.10.0.tar.bz2"
+sha512sums="cb3d54de9af4134460ce731da8166a3127a642c8a2e6184109437ddec115cd55b8dd2413a5c81700277bfe2f22fcfe268db4f3ba0f7649751e85bb34295f79fc py2cairo-1.10.0.tar.bz2"
diff --git a/unmaintained/pychecker/APKBUILD b/unmaintained/pychecker/APKBUILD
new file mode 100644
index 0000000000..95cb1620a0
--- /dev/null
+++ b/unmaintained/pychecker/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=pychecker
+pkgver=0.8.19
+pkgrel=0
+pkgdesc="A analyser for python source code"
+url="http://pychecker.sourceforge.net/"
+arch="noarch"
+license="BSD"
+depends="python"
+depends_dev=""
+makedepends="python-dev"
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$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"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="c37182863dfb09209d6ba4f38fce9d2b pychecker-0.8.19.tar.gz"
diff --git a/unmaintained/pyx/APKBUILD b/unmaintained/pyx/APKBUILD
new file mode 100644
index 0000000000..cbbbf8e3d4
--- /dev/null
+++ b/unmaintained/pyx/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=pyx
+_pkgname=PyX
+pkgver=0.12
+pkgrel=0
+pkgdesc="Python graphics package"
+url="http://pyx.sourceforge.net/"
+arch="noarch"
+license="GPL2"
+depends="python"
+depends_dev=""
+makedepends="$depends_dev python-dev"
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$_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"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="ce5fbaf4edf8125e0cf4de24d88d784f PyX-0.12.tar.gz"
+sha256sums="859285bc2bd51739b7eb72ecf4f7bc81355b28dcbf81e887d8cbf295526a05f2 PyX-0.12.tar.gz"
+sha512sums="8e6d1bcc898a1b33e290ca8feb8084fb34b1bff17694ad469951533133b44b8f51912747bc034c74392d7903b3acc34afe2e35b2d34fe224e634db22447c4614 PyX-0.12.tar.gz"
diff --git a/unmaintained/qimageblitz/APKBUILD b/unmaintained/qimageblitz/APKBUILD
new file mode 100644
index 0000000000..208748c9e9
--- /dev/null
+++ b/unmaintained/qimageblitz/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer:
+pkgname=qimageblitz
+pkgver=0.0.6
+pkgrel=0
+pkgdesc="qt image processing library"
+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/${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
+ mkdir -p "$_builddir"/build
+}
+
+build() {
+ cd "$_builddir"/build
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_RPATH=TRUE \
+ -Wno-dev "$_builddir" || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"/build
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="0ae2f7d4e0876764a97ca73799f61df4 qimageblitz-0.0.6.tar.bz2"
+sha256sums="9f102269dec50641440e23a449df215a0db9efef9a3969939d618c5e78a5010f qimageblitz-0.0.6.tar.bz2"
+sha512sums="dbd506c01622824efdec69640eb95e737d7848fa15d33351084a6499ca2321d7bc08e080d1e443f8ab9015cd2967c10d9b5aa2f3c6eaa7558153821c46133af9 qimageblitz-0.0.6.tar.bz2"
diff --git a/unmaintained/qt5-qtkeychain/APKBUILD b/unmaintained/qt5-qtkeychain/APKBUILD
new file mode 100644
index 0000000000..1c93dbf85c
--- /dev/null
+++ b/unmaintained/qt5-qtkeychain/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
+# Maintainer:
+pkgname=qt5-qtkeychain
+_realname=qtkeychain
+pkgver=0.5.0
+pkgrel=0
+pkgdesc="Qt API to store passwords and other secret data"
+url="https://github.com/frankosterfeld/qtkeychain"
+arch="all"
+license="BSD"
+depends=
+depends_dev=
+makedepends="$depends_dev cmake qt5-qttools-dev"
+install=
+subpackages="$pkgname-dev"
+replaces="qtkeychain"
+source="$pkgname-$pkgver.tar.gz::https://github.com/frankosterfeld/qtkeychain/archive/v$pkgver.tar.gz"
+
+
+_builddir="$srcdir"/$_realname-$pkgver
+
+prepare() {
+ cd "$_builddir"
+ # apply patches here
+}
+
+build() {
+ cd "$_builddir"
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_INSTALL_LIBEXECDIR=lib/${_realname} \
+ -DCMAKE_BUILD_TYPE=Release
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make 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="ed813a5db320883c2cf34db16a72b2a1 qt5-qtkeychain-0.5.0.tar.gz"
+sha256sums="e62d7ae9c8ae04784d8a5d0f213aaa22f1c02427e800ce88739e997f499bb514 qt5-qtkeychain-0.5.0.tar.gz"
+sha512sums="abc9d27b318a984c95b55f821f8bba7d8f34e6316958cf41b44aa4451371e5f629f17b9a0d1356cd6455f19979d562157a260f835c8f037037b0ac7bf64b94e5 qt5-qtkeychain-0.5.0.tar.gz"
diff --git a/unmaintained/qt5-qtxmlpatterns/APKBUILD b/unmaintained/qt5-qtxmlpatterns/APKBUILD
new file mode 100644
index 0000000000..ebcd8f28e6
--- /dev/null
+++ b/unmaintained/qt5-qtxmlpatterns/APKBUILD
@@ -0,0 +1,49 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=qt5-qtxmlpatterns
+pkgver=5.5.0
+pkgrel=0
+pkgdesc="Qt5 - QtXmlPatterns component"
+url="http://qt-project.org/"
+arch="all"
+license="LGPLv2 with exceptions or GPLv3 with exceptions"
+depends=""
+depends_dev="qt5-qtbase-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+
+_ver=${pkgver/_/-}
+_ver=${_ver/beta0/beta}
+_ver=${_ver/rc0/rc}
+_V=${_ver/rc/RC}
+case $pkgver in
+*_beta*|*_rc*) _rel=development_releases;;
+*) _rel=official_releases;;
+esac
+
+source="http://download.qt-project.org/$_rel/qt/${pkgver%.*}/$_ver/submodules/qtxmlpatterns-opensource-src-$_V.tar.xz"
+
+_builddir="$srcdir"/qtxmlpatterns-opensource-src-$_V
+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"
+ qmake-qt5 && make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make install INSTALL_ROOT="$pkgdir" || return 1
+}
+
+md5sums="138ab73b2376fcfca92a4bb6ab47e4a4 qtxmlpatterns-opensource-src-5.5.0.tar.xz"
+sha256sums="672882c670c13c5caec199173cdabffd38474d06979d261bdc6e19738e0cef53 qtxmlpatterns-opensource-src-5.5.0.tar.xz"
+sha512sums="793a196831b1862c9f79f4d143938b3f80e6e13ebe0fa7fa3532dbaede376365632864f89cfb819c62c573a51cae4b427934436df209895444b8d4feea09621b qtxmlpatterns-opensource-src-5.5.0.tar.xz"
diff --git a/unmaintained/qtserialport/APKBUILD b/unmaintained/qtserialport/APKBUILD
new file mode 100644
index 0000000000..75f08c3fbc
--- /dev/null
+++ b/unmaintained/qtserialport/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+# Maintainer: Timo Teräs <timo.teras@iki.fi>
+pkgname=qtserialport
+pkgver=0_git20130311
+_gitrev=ca598083
+pkgrel=0
+pkgdesc="Interface to serial ports for Qt application"
+url="http://qt-project.org/wiki/QtSerialPort"
+arch="all"
+license="LGPL"
+depends=""
+depends_dev="qt-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::http://qt.gitorious.org/qt/qtserialport/archive-tarball/$_gitrev"
+
+_builddir="$srcdir"/qt-qtserialport
+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"
+ qmake && make
+}
+
+package() {
+ cd "$_builddir"
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+md5sums="76edd7b2fbb2bde5b4aa0d9f43edb27a qtserialport-0_git20130311.tar.gz"
+sha256sums="80fe4b273a76e5153b98646e1a8f2668792a4c179ffe8f86ccfc140474a855b9 qtserialport-0_git20130311.tar.gz"
+sha512sums="855738295d68fe745b507d98d613c70996a089980a6561c7b728c39e433016b1f817a8033c9cb9783535ef1660abfa37007b32185ef5d3f8d059b38ca43e50b4 qtserialport-0_git20130311.tar.gz"
diff --git a/unmaintained/raptor/APKBUILD b/unmaintained/raptor/APKBUILD
new file mode 100644
index 0000000000..fe3cd52c70
--- /dev/null
+++ b/unmaintained/raptor/APKBUILD
@@ -0,0 +1,46 @@
+# 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
+}
+
+md5sums="992061488af7a9e2d933df6b694bb876 raptor-1.4.21.tar.gz
+ab48372dcd90a599fb0da73a10830d79 raptor-curl.patch"
diff --git a/unmaintained/raptor/raptor-curl.patch b/unmaintained/raptor/raptor-curl.patch
new file mode 100644
index 0000000000..e47a496c4c
--- /dev/null
+++ b/unmaintained/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/unmaintained/rats/APKBUILD b/unmaintained/rats/APKBUILD
new file mode 100644
index 0000000000..ff43ff2502
--- /dev/null
+++ b/unmaintained/rats/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=rats
+pkgver=2.3
+pkgrel=0
+pkgdesc="A tool to find security related programming errors"
+url="https://www.fortify.com/ssa-elements/threat-intelligence/rats.html"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="expat-dev wget flex"
+install=""
+subpackages="$pkgname-doc"
+source="https://www.fortify.com/downloads2/public/$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 \
+ --datadir=/usr/share/ \
+ --mandir=/usr/share/man
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ ##make DESTDIR="$pkgdir" install || return 1
+ install -Dpm 0755 "$pkgname" "$pkgdir"/usr/bin/$pkgname || return 1
+ mkdir -p "$pkgdir"/usr/share/$pkgname || return 1
+ install -Dm 0644 *.xml "$pkgdir"/usr/share/$pkgname/ || return 1
+}
+
+doc() {
+ # The man page is not picked-up automatically
+ mkdir -p "$subpkgdir"/usr/share/man/man1 || return 1
+ mv "$_builddir"/*.1 "$subpkgdir"/usr/share/man/man1/ || return 1
+}
+
+md5sums="339ebe60fc61789808a457f6f967d226 rats-2.3.tar.gz"
diff --git a/unmaintained/rc/APKBUILD b/unmaintained/rc/APKBUILD
new file mode 100644
index 0000000000..da1a293262
--- /dev/null
+++ b/unmaintained/rc/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
+pkgname=rc
+pkgver=1.7.4
+pkgrel=0
+pkgdesc="An alternative implementation of the plan 9 rc shell"
+url="http://tobold.org/article/rc"
+arch="all"
+license="custom"
+depends=""
+depends_dev=""
+makedepends="readline-dev ncurses-dev"
+install="$pkgname.post-install $pkgname.pre-deinstall"
+subpackages="$pkgname-doc"
+source="http://static.tobold.org/$pkgname/$pkgname-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --bindir=/bin \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --with-edit=gnu \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+
+ mkdir -p "$pkgdir"/usr/share/licenses/$pkgname
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/ || return 1
+}
+
+md5sums="f99732d7a8be3f15f81e99c3af46dc95 rc-1.7.4.tar.gz"
+sha256sums="5ed26334dd0c1a616248b15ad7c90ca678ae3066fa02c5ddd0e6936f9af9bfd8 rc-1.7.4.tar.gz"
+sha512sums="49e124207b5370b88b8fba0376dda33451451a58bfb85fabfc06ae59eb88fedf38d7aeaaf292e4f380e2c00efc8301ba68d12180923186d1c53ef94f78f7e435 rc-1.7.4.tar.gz"
diff --git a/unmaintained/rc/rc.post-install b/unmaintained/rc/rc.post-install
new file mode 100644
index 0000000000..4cf16eca8d
--- /dev/null
+++ b/unmaintained/rc/rc.post-install
@@ -0,0 +1,3 @@
+#!/bin/sh
+add-shell '/bin/rc'
+exit 0
diff --git a/unmaintained/rc/rc.pre-deinstall b/unmaintained/rc/rc.pre-deinstall
new file mode 100644
index 0000000000..83a26d6253
--- /dev/null
+++ b/unmaintained/rc/rc.pre-deinstall
@@ -0,0 +1,3 @@
+#!/bin/sh
+remove-shell '/bin/rc'
+exit 0
diff --git a/unmaintained/regina-rexx/APKBUILD b/unmaintained/regina-rexx/APKBUILD
new file mode 100644
index 0000000000..4dea475167
--- /dev/null
+++ b/unmaintained/regina-rexx/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor:
+# Maintainer:
+pkgname=regina-rexx
+_pkgname=Regina-REXX
+pkgver=3.7
+pkgrel=0
+pkgdesc="Regina is an implementation of a Rexx interpreter."
+url="http://regina-rexx.sourceforge.net/"
+arch=""
+license="LGPL"
+depends=
+depends_dev=
+makedepends=""
+install=""
+subpackages="$pkgname-doc"
+source="regina-rexx.initd
+ http://downloads.sourceforge.net/regina-rexx/$_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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --libdir=/usr/lib \
+ || return 1
+ make -j1 || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make -j1 DESTDIR="$pkgdir" install || return 1
+ rm -rf "$pkgdir"/usr/etc
+ install -m755 -D "$srcdir"/$pkgname.initd \
+ "$pkgdir"/etc/init.d/$pkgname || return 1
+}
+
+md5sums="d798859c38eb61088f1ca20b16e78639 regina-rexx.initd
+276235e489f7f8596cb9c6e00f8a61f3 Regina-REXX-3.7.tar.gz"
+sha256sums="cad62b61b57b109d619467302e72092ebb83ede166aa9e60adafded791bd3eb3 regina-rexx.initd
+133c9e0fd9e09f9adfc4108f43b727e191e4c4c01711cfa26416799d21d1e7fe Regina-REXX-3.7.tar.gz"
+sha512sums="1d4955ab4d1d5ef46fffecf2e3ebddf889d2108683bc41d2eb04c988ec416c48ae061d349705fc7018a22ff23a92fe1be7328a68f2145292a4d511bfa82b7b70 regina-rexx.initd
+5ae88611baa43fbc3325cb814c9cb4cedc454f36c1f9a18cdf82c755bb75531ab9bd5d0088f340808790959feac691e4bf72c69b33f1fe554e9d26eb880dfc4a Regina-REXX-3.7.tar.gz"
diff --git a/unmaintained/regina-rexx/llong.patch b/unmaintained/regina-rexx/llong.patch
new file mode 100644
index 0000000000..37c3cef3dd
--- /dev/null
+++ b/unmaintained/regina-rexx/llong.patch
@@ -0,0 +1,22 @@
+--- Regina-REXX-3.7.orig/gci/gci_convert.linux.i86
++++ Regina-REXX-3.7/gci/gci_convert.linux.i86
+@@ -43,8 +43,8 @@
+ #define GCI_I_4m INT_MIN
+ #define GCI_I_4M INT_MAX
+ #define GCI_I_8 signed long long
+-#define GCI_I_8m LONG_LONG_MIN
+-#define GCI_I_8M LONG_LONG_MAX
++#define GCI_I_8m LLONG_MIN
++#define GCI_I_8M LLONG_MAX
+
+ #define GCI_Ur strtoull
+ #define GCI_Uw(s,v) sprintf( s, "%Lu", v )
+@@ -55,7 +55,7 @@
+ #define GCI_U_4 unsigned
+ #define GCI_U_4M UINT_MAX
+ #define GCI_U_8 unsigned long long
+-#define GCI_U_8M ULONG_LONG_MAX
++#define GCI_U_8M ULLONG_MAX
+
+ #define GCI_Fr strtold
+ #define GCI_Fw(s,v) sprintf( s, "%.*LE", LDBL_MANT_DIG/3, v )
diff --git a/unmaintained/regina-rexx/regina-rexx.initd b/unmaintained/regina-rexx/regina-rexx.initd
new file mode 100644
index 0000000000..a3e1847805
--- /dev/null
+++ b/unmaintained/regina-rexx/regina-rexx.initd
@@ -0,0 +1,28 @@
+#!/sbin/runscript
+
+# Sample init.d file for alpine linux.
+
+name=rxstack
+daemon=/usr/bin/$name
+
+depend() {
+ need net
+ after firewall
+}
+
+start() {
+ ebegin "Starting ${name}"
+ start-stop-daemon --start --quiet \
+ --pidfile /var/run/${name}.pid \
+ --exec ${daemon} -- -d
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${name}"
+ start-stop-daemon --stop --quiet \
+ --pidfile /var/run/$name.pid \
+ --exec ${daemon}
+ eend $?
+}
+
diff --git a/unmaintained/resource-agents/APKBUILD b/unmaintained/resource-agents/APKBUILD
new file mode 100644
index 0000000000..7d6c90a462
--- /dev/null
+++ b/unmaintained/resource-agents/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=resource-agents
+pkgver=3.9.5
+pkgrel=0
+pkgdesc="Open Source HA Reusable Cluster Resource Scripts"
+url="http://www.linux-ha.org/wiki/Resource_Agents"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev="cluster-glue-dev libxslt-dev libnet-dev"
+makedepends="$depends_dev automake autoconf perl docbook-xsl wget bash"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ClusterLabs/resource-agents/tarball/v$pkgver
+ fix-bashism.patch
+ "
+
+_builddir="$srcdir"/ClusterLabs-resource-agents-ac806fd
+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
+ sed -i 's/export -n/export/g' configure.ac || return 1
+ aclocal && autoheader && autoconf && automake --add-missing \
+ || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --enable-fatal-warnings=no \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install_sh=install install || return 1
+}
+
+md5sums="86ec112decf29906afb755016990f56f resource-agents-3.9.5.tar.gz
+b609cdaa30571a1e637a55b42abe5af8 fix-bashism.patch"
+sha256sums="e893812a2f5e179d129badb001b2d25364e65a7dd9e97903e1f911bb6eb99d91 resource-agents-3.9.5.tar.gz
+b5d19d9268121d25f0a96b1e63c04c4aa3cab958bffe0906ddbb2ef0d05164af fix-bashism.patch"
+sha512sums="d7d0926d64ca93f8735522d4e4a068ae680e77dbfc5a326042fc5b1d7775ec3bde712958a260c264d688e739793b87495c6cb6adf94a16e427edbe4c52393589 resource-agents-3.9.5.tar.gz
+25949952f66f78af05179ac7c3ab5d2666600d0b26931c8579447b0c1a47463de5f39e31914df2a3971a7d60ebddcefcbe133f76411dac523fbc5a67ff2da3b9 fix-bashism.patch"
diff --git a/unmaintained/resource-agents/fix-bashism.patch b/unmaintained/resource-agents/fix-bashism.patch
new file mode 100644
index 0000000000..ca63c2d1a3
--- /dev/null
+++ b/unmaintained/resource-agents/fix-bashism.patch
@@ -0,0 +1,12 @@
+--- ./heartbeat/ocf-shellfuncs.in.orig
++++ ./heartbeat/ocf-shellfuncs.in
+@@ -691,8 +691,7 @@
+ # OCF_TRACE_FILE is set to a path.
+ #
+ ocf_is_bash4() {
+- echo "$SHELL" | grep bash > /dev/null &&
+- [ ${BASH_VERSINFO[0]} = "4" ]
++ [ "${BASH_VERSION%%.*}" = "4" ]
+ }
+ ocf_trace_redirect_to_file() {
+ local dest=$1
diff --git a/unmaintained/rinse/APKBUILD b/unmaintained/rinse/APKBUILD
new file mode 100644
index 0000000000..e8936e4d04
--- /dev/null
+++ b/unmaintained/rinse/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: William Pitcock <nenolod@dereferenced.org>
+pkgname=rinse
+pkgver=2.0.1
+pkgrel=1
+pkgdesc="A RPM chroot bootstrapping tool"
+url="http://www.steve.org.uk/Software/rinse/"
+arch="noarch"
+license="Artistic"
+depends="rpm perl wget perl-libwww"
+depends_dev=""
+makedepends="$depends_dev gzip coreutils"
+install=""
+subpackages="$pkgname-doc"
+source="http://www.steve.org.uk/Software/rinse/rinse-$pkgver.tar.gz
+ rinse-posix-cpio-use.patch
+ rinse-device-nodes.patch
+ rinse-set-rpm-platform.patch"
+
+_builddir="$srcdir"/rinse-$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"
+}
+
+package() {
+ cd "$_builddir"
+ make PREFIX="$pkgdir" install || return 1
+}
+
+md5sums="1221942846f4caa6e621cfc85f759841 rinse-2.0.1.tar.gz
+6761f834b3f50bded544021ccb90c700 rinse-posix-cpio-use.patch
+6a6092323c1973832f5c050d37265d99 rinse-device-nodes.patch
+e292f3192df193924f86ef1f20bee745 rinse-set-rpm-platform.patch"
+sha256sums="74b1149cb6f12c1bd51e371e5decf4820489535afa9b93900780817cbae7f96b rinse-2.0.1.tar.gz
+f869904261add72b2e6a50f910fc79fae44b68df617c8d0d1e1e02d99c77e165 rinse-posix-cpio-use.patch
+dfb972611d74889902d1f25edf6bd172aaa8ef62c352a5e966c2892c568171e8 rinse-device-nodes.patch
+e6d789e0fc67658eac0b1c11ae32e5407aaf2eb09fa479b5e42f94a28526f8df rinse-set-rpm-platform.patch"
+sha512sums="4d6284dfd5bdaac1c2578222203c5dd1bfcd325b756583238c45a064da2345ed75615461464845d721026d3ee1b2bab55f138c9fd5d911f7b41a4e7af5ab9cd8 rinse-2.0.1.tar.gz
+a8ff20b382fa05bf921d1a99fcf7f1e147a63ff7b2c1d04c312ac9d1148d8acb07c56a016176f081a6c2c6797d31a5bd3607b1d891517888931c42bde9a58465 rinse-posix-cpio-use.patch
+9bca1bbbe11453d80f06d330af5695a874240a274ea671f30fd3383f2a88e5e0c73a167aa4ac10f3fde6f9df0cda5678ef436de3ed111a16b008128aafb2a196 rinse-device-nodes.patch
+4e50dafbdd39d1f057a459173e0eac355c0ed592e9d7741a479610915b65ae2e2872ede776fbaca332a8aec20ef94c70ca3b77639670827647634fe276d8731a rinse-set-rpm-platform.patch"
diff --git a/unmaintained/rinse/rinse-device-nodes.patch b/unmaintained/rinse/rinse-device-nodes.patch
new file mode 100644
index 0000000000..a4300f1818
--- /dev/null
+++ b/unmaintained/rinse/rinse-device-nodes.patch
@@ -0,0 +1,19 @@
+--- rinse-2.0.orig/scripts.common/20-dev-zero.sh
++++ rinse-2.0/scripts.common/20-dev-zero.sh
+@@ -34,4 +34,16 @@
+ if [ ! -e "${prefix}/dev/zero" ]; then
+ mknod -m 666 "${prefix}/dev/zero" c 1 5
+ fi
++if [ ! -e "${prefix}/dev/urandom" ]; then
++ mknod -m 666 "${prefix}/dev/urandom" c 1 9
++fi
++if [ ! -e "${prefix}/dev/random" ]; then
++ mknod -m 666 "${prefix}/dev/random" c 1 8
++fi
++if [ ! -e "${prefix}/dev/null" ]; then
++ mknod -m 666 "${prefix}/dev/null" c 1 3
++fi
++if [ ! -e "${prefix}/dev/console" ]; then
++ mknod -m 666 "${prefix}/dev/console" c 5 1
++fi
+
diff --git a/unmaintained/rinse/rinse-posix-cpio-use.patch b/unmaintained/rinse/rinse-posix-cpio-use.patch
new file mode 100644
index 0000000000..429410f981
--- /dev/null
+++ b/unmaintained/rinse/rinse-posix-cpio-use.patch
@@ -0,0 +1,11 @@
+--- rinse-2.0.orig/bin/rinse
++++ rinse-2.0/bin/rinse
+@@ -1144,7 +1144,7 @@
+ # Run the unpacking command.
+ #
+ my $cmd =
+- "rpm2cpio $file | (cd $CONFIG{'directory'} ; cpio --extract --make-directories --no-absolute-filenames --preserve-modification-time) 2>/dev/null >/dev/null";
++ "rpm2cpio $file | (cd $CONFIG{'directory'} ; cpio -idm) 2>/dev/null >/dev/null";
+ if ( $file =~ /(fedora|centos|redhat|mandriva)-release-/ )
+ {
+ my $rpmname = basename($file);
diff --git a/unmaintained/rinse/rinse-set-rpm-platform.patch b/unmaintained/rinse/rinse-set-rpm-platform.patch
new file mode 100644
index 0000000000..a5eae642b8
--- /dev/null
+++ b/unmaintained/rinse/rinse-set-rpm-platform.patch
@@ -0,0 +1,100 @@
+--- rinse-2.0.1.orig/scripts/centos-5/post-install.sh
++++ rinse-2.0.1/scripts/centos-5/post-install.sh
+@@ -10,6 +10,17 @@
+ exit
+ fi
+
++# specify platform
++echo " post-install.sh : arch is ${ARCH}"
++if [ "${ARCH}" = "amd64" -o "${ARCH}" = "x86_64" ]; then
++ arch=x86_64
++ echo $arch-redhat-linux > ${prefix}/etc/rpm/platform
++fi
++if [ "${ARCH}" = "i386" ]; then
++ arch=i686
++ echo $arch-redhat-linux > ${prefix}/etc/rpm/platform
++fi
++
+ # rpm's can now be removed
+ rm -f ${prefix}/*.rpm
+
+--- rinse-2.0.1.orig/scripts/centos-6/post-install.sh
++++ rinse-2.0.1/scripts/centos-6/post-install.sh
+@@ -10,6 +10,17 @@
+ exit
+ fi
+
++# specify platform
++echo " post-install.sh : arch is ${ARCH}"
++if [ "${ARCH}" = "amd64" -o "${ARCH}" = "x86_64" ]; then
++ arch=x86_64
++ echo $arch-redhat-linux > ${prefix}/etc/rpm/platform
++fi
++if [ "${ARCH}" = "i386" ]; then
++ arch=i686
++ echo $arch-redhat-linux > ${prefix}/etc/rpm/platform
++fi
++
+ # rpm's can now be removed
+ rm -f ${prefix}/*.rpm
+
+--- rinse-2.0.1.orig/scripts/rhel-5/post-install.sh
++++ rinse-2.0.1/scripts/rhel-5/post-install.sh
+@@ -10,6 +10,17 @@
+ exit
+ fi
+
++# specify platform
++echo " post-install.sh : arch is ${ARCH}"
++if [ "${ARCH}" = "amd64" -o "${ARCH}" = "x86_64" ] ; then
++ arch=x86_64
++ echo $arch-redhat-linux > ${prefix}/etc/rpm/platform
++fi
++if [ "${ARCH}" = "i386" ]; then
++ arch=i686
++ echo $arch-redhat-linux > ${prefix}/etc/rpm/platform
++fi
++
+ # rpm's can now be removed
+ rm -f ${prefix}/*.rpm
+
+--- rinse-2.0.1.orig/scripts/slc-5/post-install.sh
++++ rinse-2.0.1/scripts/slc-5/post-install.sh
+@@ -10,6 +10,17 @@
+ exit
+ fi
+
++# specify platform
++echo " post-install.sh : arch is ${ARCH}"
++if [ "${ARCH}" = "amd64" -o "${ARCH}" = "x86_64" ] ; then
++ arch=x86_64
++ echo $arch-redhat-linux > ${prefix}/etc/rpm/platform
++fi
++if [ "${ARCH}" = "i386" ]; then
++ arch=i686
++ echo $arch-redhat-linux > ${prefix}/etc/rpm/platform
++fi
++
+ # rpm's can now be removed
+ rm -f ${prefix}/*.rpm
+
+--- rinse-2.0.1.orig/scripts/slc-6/post-install.sh
++++ rinse-2.0.1/scripts/slc-6/post-install.sh
+@@ -10,6 +10,17 @@
+ exit
+ fi
+
++# specify platform
++echo " post-install.sh : arch is ${ARCH}"
++if [ "${ARCH}" = "amd64" -o "${ARCH}" = "x86_64" ] ; then
++ arch=x86_64
++ echo $arch-redhat-linux > ${prefix}/etc/rpm/platform
++fi
++if [ "${ARCH}" = "i386" ]; then
++ arch=i686
++ echo $arch-redhat-linux > ${prefix}/etc/rpm/platform
++fi
++
+ # rpm's can now be removed
+ rm -f ${prefix}/*.rpm
+
diff --git a/unmaintained/rlwrap/APKBUILD b/unmaintained/rlwrap/APKBUILD
new file mode 100644
index 0000000000..afe628860c
--- /dev/null
+++ b/unmaintained/rlwrap/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Andrew Manison <amanison@anselsystems.com>
+# Maintainer:
+pkgname=rlwrap
+pkgver=0.37
+pkgrel=0
+pkgdesc="GNU Readline wrapper"
+url="http://utopia.knoware.nl/~hlub/rlwrap/"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="readline-dev ncurses-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://utopia.knoware.nl/~hlub/$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
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="04cd6e2c257eb5a86b297f2ebf91dbbf rlwrap-0.37.tar.gz"
diff --git a/unmaintained/rosegarden/APKBUILD b/unmaintained/rosegarden/APKBUILD
new file mode 100644
index 0000000000..8f0724b26c
--- /dev/null
+++ b/unmaintained/rosegarden/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=rosegarden
+pkgver=15.10
+pkgrel=0
+pkgdesc="MIDI, audio and notation editor"
+url="http://www.rosegardenmusic.com/"
+arch="all"
+license="GPLv2+"
+depends=""
+depends_dev=""
+makedepends="alsa-lib-dev qt-dev libsamplerate-dev libsndfile-dev ladspa-dev
+ jack-dev liblo-dev dssi-dev liblrdf-dev fftw-dev makedepend"
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/project/rosegarden/rosegarden/$pkgver/rosegarden-$pkgver.tar.bz2
+ nearbyintf.patch"
+
+_builddir="$srcdir"/rosegarden-$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
+}
+
+md5sums="6423f90ae392ff3673578ddc10020efd rosegarden-15.10.tar.bz2
+622bfa38a28010bbffcaa2a64c8ade92 nearbyintf.patch"
+sha256sums="d07984eaff16afbb5bd1dbf09b185b568fe8b193dd27c4efdf82e32e02f89f0b rosegarden-15.10.tar.bz2
+d27e66d5378b5b73cbbc706f13d083aa5dbbbaa217591f426016dffbd04fb117 nearbyintf.patch"
+sha512sums="f9935960e58c2518aeed7d15b7af4dbc1aaa0e94b73ade3609de47ce116538e8b6dc28d3f565acfbfe014e37012435f1e92ad19574203fe3e6bf0e68019e3dfd rosegarden-15.10.tar.bz2
+7e60c1a560be21bcb1cb08503237a54564bceb372abd7984c9c7f6a8e5b87cb449f3e296a9f7d99a51db64daabd6fd24a6267a3d82bc9f8920345ab52a432630 nearbyintf.patch"
diff --git a/unmaintained/rosegarden/nearbyintf.patch b/unmaintained/rosegarden/nearbyintf.patch
new file mode 100644
index 0000000000..d8d2a706e2
--- /dev/null
+++ b/unmaintained/rosegarden/nearbyintf.patch
@@ -0,0 +1,13 @@
+uclibc does not have nearbyintf
+
+--- ./src/gui/widgets/Fader.cpp.orig
++++ ./src/gui/widgets/Fader.cpp
+@@ -222,7 +222,7 @@
+ if (m_integral) {
+ float sliderLength = float(m_sliderMax) - float(m_sliderMin);
+ position =
+- int(nearbyintf(sliderLength * (value - float(m_min)) / float(m_max - m_min) + 0.1));
++ int(nearbyint(sliderLength * (value - float(m_min)) / float(m_max - m_min) + 0.1));
+ } else {
+ position =
+ AudioLevel::dB_to_fader
diff --git a/unmaintained/roundup/APKBUILD b/unmaintained/roundup/APKBUILD
new file mode 100644
index 0000000000..9bbb13c82c
--- /dev/null
+++ b/unmaintained/roundup/APKBUILD
@@ -0,0 +1,47 @@
+# Maintainer: Christian Kampka <christian@kampka.net>
+pkgname=roundup
+pkgver=0.0.6
+pkgrel=1
+pkgdesc="A a unit testing tool for running roundup(5) test plans which are
+written in any POSIX shell."
+url=https://github.com/bmizerany/roundup/
+arch="all"
+license="MIT"
+depends=
+makedepends="ncurses"
+source="$pkgname-$pkgver.tar.gz::https://github.com/bmizerany/$pkgname/archive/v$pkgver.tar.gz
+ $pkgname-fix-busybox-shell-opts.patch
+ $pkgname-avoid-bash-syntax-in-tests.patch
+ "
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ #patches
+ cd "$_builddir"
+ for i in $source; do
+ local p=${i##*/}
+ case $i in
+ *.patch) msg $p; patch -p1 -i "$srcdir"/$p || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd $_builddir
+ /bin/sh roundup.sh roundup-1-test.sh
+}
+
+package() {
+ install -Dm755 $_builddir/roundup.sh $pkgdir/usr/bin/$pkgname
+}
+
+md5sums="607023b4fe4e42fdc2f0cb14b4138b2e roundup-0.0.6.tar.gz
+a7d12efbf88919a1e2fc9b7ed143fd9c roundup-fix-busybox-shell-opts.patch
+dddd5610d03f2c1237c295c564c291c4 roundup-avoid-bash-syntax-in-tests.patch"
+sha256sums="20741043ed5be7cbc54b1e9a7c7de122a0dacced77052e90e4ff08e41736f01c roundup-0.0.6.tar.gz
+31e00fc54fa806aaa1a3199dd13b596b36e8f57685c7524db125bf87a949845b roundup-fix-busybox-shell-opts.patch
+e8829b4459a5e3d65949e564cf69e307e7b6fe11758d9becc9426a164bb4a812 roundup-avoid-bash-syntax-in-tests.patch"
+sha512sums="a7a249d16467bd3835d555288ec6c3d84a36f2f7f2ae5da90e7624bc76a7741788499fd635d3001c086923914870392c23d765ca07ab7c97e58b9deec9989827 roundup-0.0.6.tar.gz
+13cf848227958e83fabf6cde96e1ac347199ad107d6a5daa07e23a976cc8613a0368447295afb310a817c8d6aeb52b96d12d58984a929114decc2c16098ddd7c roundup-fix-busybox-shell-opts.patch
+526cca7805fb55de24df79482e3daa2253fc26db2db662229894b8ad56e79a8a45ad716e0c0241765455bda0a4c45344a9ea7c001860d3f8ca41f0c00e3954f9 roundup-avoid-bash-syntax-in-tests.patch"
diff --git a/unmaintained/roundup/roundup-avoid-bash-syntax-in-tests.patch b/unmaintained/roundup/roundup-avoid-bash-syntax-in-tests.patch
new file mode 100644
index 0000000000..ecd2f076ea
--- /dev/null
+++ b/unmaintained/roundup/roundup-avoid-bash-syntax-in-tests.patch
@@ -0,0 +1,17 @@
+diff --git a/roundup-5-test.sh b/roundup-5-test.sh
+index 250a586..8e8739a 100644
+--- a/roundup-5-test.sh
++++ b/roundup-5-test.sh
+@@ -87,10 +87,10 @@ it_runs_after_if_a_test_fails_part_2() {
+
+ # Output the correct return code of a failing command of a testcase.
+ it_outputs_the_return_code_7() {
+- function f() { return 42; }
++ f() { return 42; }
+ x=$(echo asdf)
+
+- function g() { return 7; }
++ g() { return 7; }
+ g
+ }
+
diff --git a/unmaintained/roundup/roundup-fix-busybox-shell-opts.patch b/unmaintained/roundup/roundup-fix-busybox-shell-opts.patch
new file mode 100644
index 0000000000..b6185e96ab
--- /dev/null
+++ b/unmaintained/roundup/roundup-fix-busybox-shell-opts.patch
@@ -0,0 +1,19 @@
+diff --git a/roundup.sh b/roundup.sh
+index d7465dc..38d7efe 100755
+--- a/roundup.sh
++++ b/roundup.sh
+@@ -258,9 +258,11 @@ do
+
+ # exit subshell with return code of last failing command. This
+ # is needed to see the return code 253 on failed assumptions.
+- # But, only do this if the error handling is activated.
+- set -E
+- trap 'rc=$?; set +x; set -o | grep "errexit.*on" >/dev/null && exit $rc' ERR
++ # But, only do this if the error handling is activated and only if the shell supports it
++ if set -o | grep "^errtrace" >/dev/null; then
++ set -o errtrace
++ trap 'rc=$?; set +x; set -o | grep "errexit.*on" >/dev/null && exit $rc' ERR
++ fi
+
+ # If `before` wasn't redefined, then this is `:`.
+ before
diff --git a/unmaintained/rpmlint/APKBUILD b/unmaintained/rpmlint/APKBUILD
new file mode 100644
index 0000000000..9bbbad58b0
--- /dev/null
+++ b/unmaintained/rpmlint/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=rpmlint
+pkgver=1.6
+pkgrel=0
+pkgdesc="A tool for checking common errors in RPM packages"
+url="http://rpmlint.zarb.org"
+arch="noarch"
+license="GPL2"
+depends="python"
+depends_dev=""
+makedepends="python-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.xz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+build() {
+ cd "$_builddir"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="ad09ff960c7f3561af59f7886f3619ef rpmlint-1.6.tar.xz"
+sha256sums="a0dae71a3fed413ee5c47bd04f393cd6598c68c0dcf1504fa020d62814ff674b rpmlint-1.6.tar.xz"
+sha512sums="1eb8281af40accbc8b0273b552dcb6ccbc8973cbd8a86128205a05e7e98fd0598f0dd7e74e3844e28580111f1d37a11c15014fbd20202464591f5721ed3eca52 rpmlint-1.6.tar.xz"
diff --git a/unmaintained/sane/10-network.patch b/unmaintained/sane/10-network.patch
new file mode 100644
index 0000000000..4e422e28d2
--- /dev/null
+++ b/unmaintained/sane/10-network.patch
@@ -0,0 +1,42 @@
+diff --git a/sanei/sanei_tcp.c b/sanei/sanei_tcp.c
+index a57d7c7..d0a1e92 100644
+--- a/sanei/sanei_tcp.c
++++ b/sanei/sanei_tcp.c
+@@ -45,6 +45,7 @@
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <time.h>
+
+ #ifdef HAVE_WINSOCK2_H
+ #include <winsock2.h>
+@@ -123,14 +124,27 @@ sanei_tcp_write(int fd, const u_char * buf, int count)
+ ssize_t
+ sanei_tcp_read(int fd, u_char * buf, int count)
+ {
+- ssize_t bytes_recv = 0, rc = 1;
++ ssize_t bytes_recv = 0, rc = 1;
++ int retry = 5;
+
+ while (bytes_recv < count && rc > 0)
+ {
+ rc = recv(fd, buf+bytes_recv, count-bytes_recv, 0);
++ DBG(1, "%s: bytes received %d\n", __FUNCTION__, rc);
+ if (rc > 0)
+ bytes_recv += rc;
+-
++ else {
++ if ( errno == EAGAIN && retry-- ) {
++ DBG(1, "%s: waiting %d\n", __FUNCTION__, retry);
++ /* wait for max 1s */
++ struct timespec req;
++ struct timespec rem;
++ req.tv_sec = 0;
++ req.tv_nsec= 100000000;
++ nanosleep(&req, &rem);
++ rc = 1;
++ }
++ }
+ }
+ return bytes_recv;
+ }
diff --git a/unmaintained/sane/20-segfault-avahi-fix-kodakio.patch b/unmaintained/sane/20-segfault-avahi-fix-kodakio.patch
new file mode 100644
index 0000000000..23f9d1ca9e
--- /dev/null
+++ b/unmaintained/sane/20-segfault-avahi-fix-kodakio.patch
@@ -0,0 +1,98 @@
+From 37523b867d411c2f82d08128246be7e38bc9812c Mon Sep 17 00:00:00 2001
+From: Paul Newall <quandry@ntlworld.com>
+Date: Mon, 14 Oct 2013 22:22:53 +0100
+Subject: [PATCH] Bugfix in kodakaio.c to fix segfault when non kodak scanners
+ return unexpected data via avahi auto discovery
+
+---
+ backend/kodakaio.c | 43 ++++++++++++++++++++++++++++++----------
+ doc/descriptions/kodakaio.desc | 2 +-
+ 3 files changed, 37 insertions(+), 12 deletions(-)
+
+diff --git a/backend/kodakaio.c b/backend/kodakaio.c
+index 8c4583a..b442e50 100644
+--- a/backend/kodakaio.c
++++ b/backend/kodakaio.c
+@@ -127,7 +127,7 @@ for ubuntu 12.10
+
+ #define KODAKAIO_VERSION 02
+ #define KODAKAIO_REVISION 4
+-#define KODAKAIO_BUILD 6
++#define KODAKAIO_BUILD 7
+
+ /* for usb (but also used for net though it's not required). */
+ #define MAX_BLOCK_SIZE 32768
+@@ -2184,6 +2184,7 @@ static void resolve_callback(
+ AvahiLookupResultFlags flags,
+ AVAHI_GCC_UNUSED void* userdata) {
+
++ AvahiStringList *vid_pair_list = NULL, *pid_pair_list = NULL;
+ char *pidkey, *pidvalue;
+ char *vidkey, *vidvalue;
+ size_t valuesize;
+@@ -2204,20 +2205,40 @@ static void resolve_callback(
+ avahi_address_snprint(a, sizeof(a), address);
+
+ /* Output short for Kodak ESP */
+- DBG(min(10,DBG_AUTO), "%s:%u %s ", a,port,host_name);
+- avahi_string_list_get_pair(avahi_string_list_find(txt, "vid"),
+- &vidkey, &vidvalue, &valuesize);
+- DBG(min(10,DBG_AUTO), "%s=%s ", vidkey, vidvalue);
+- avahi_string_list_get_pair(avahi_string_list_find(txt, "pid"),
+- &pidkey, &pidvalue, &valuesize);
+- DBG(min(10,DBG_AUTO), "%s=%s\n", pidkey, pidvalue);
++ DBG(min(10,DBG_AUTO), "%s:%u %s\n", a,port,host_name);
+
++ vid_pair_list = avahi_string_list_find(txt, "vid");
++ if(vid_pair_list != NULL) {
++ avahi_string_list_get_pair(vid_pair_list, &vidkey, &vidvalue, &valuesize);
++ DBG(min(10,DBG_AUTO), "%s=%s ", vidkey, vidvalue);
++ }
++ else DBG(min(10,DBG_AUTO), "failed to find key vid\n");
++
++ pid_pair_list = avahi_string_list_find(txt, "pid");
++ if(pid_pair_list != NULL) {
++ avahi_string_list_get_pair(pid_pair_list, &pidkey, &pidvalue, &valuesize);
++ DBG(min(10,DBG_AUTO), "%s=%s\n", pidkey, pidvalue);
++ }
++ else DBG(min(10,DBG_AUTO), "failed to find key pid\n");
++
++ if(pid_pair_list != NULL && vid_pair_list != NULL) {
+ ProcessAvahiDevice(name, vidvalue, pidvalue, a);
+- avahi_free(vidkey); avahi_free(vidvalue);
+- avahi_free(pidkey); avahi_free(pidvalue);
++ }
++ else DBG(min(10,DBG_AUTO), "didn't call ProcessAvahiDevice\n");
++
++ if(vid_pair_list != NULL) {
++ avahi_free(vidkey);
++ avahi_free(vidvalue);
++ DBG(min(15,DBG_AUTO), "vidkey and vidvalue freed\n");
++ }
++ if(pid_pair_list != NULL) {
++ avahi_free(pidkey);
++ avahi_free(pidvalue);
++ DBG(min(15,DBG_AUTO), "pidkey and pidvalue freed\n");
++ }
+ }
+ }
+-
++ DBG(min(10,DBG_AUTO), "ending resolve_callback\n");
+ avahi_service_resolver_free(r);
+ }
+
+diff --git a/doc/descriptions/kodakaio.desc b/doc/descriptions/kodakaio.desc
+index 7882513..5fb18ed 100644
+--- a/doc/descriptions/kodakaio.desc
++++ b/doc/descriptions/kodakaio.desc
+@@ -1,6 +1,6 @@
+ :backend "kodakaio"
+ :url "http://sourceforge.net/projects/cupsdriverkodak/"
+-:version "2.4.6"
++:version "2.4.7"
+ :manpage "sane-kodakaio"
+ :comment "Backend for Kodak AiO ESP and Hero printers. Also possibly Advent AWL10"
+ :devicetype :scanner
+--
+1.7.10.4
+
diff --git a/unmaintained/sane/30-musl-header-fixes.patch b/unmaintained/sane/30-musl-header-fixes.patch
new file mode 100644
index 0000000000..6e10361043
--- /dev/null
+++ b/unmaintained/sane/30-musl-header-fixes.patch
@@ -0,0 +1,51 @@
+--- ./include/sane/sanei_udp.h.orig
++++ ./include/sane/sanei_udp.h
+@@ -19,6 +19,7 @@
+ #define sanei_udp_h
+
+ #include <sane/sane.h>
++#include <sys/types.h>
+
+ #ifdef HAVE_WINSOCK2_H
+ #include <winsock2.h>
+--- ./backend/hp5400_sanei.c.orig
++++ ./backend/hp5400_sanei.c
+@@ -57,6 +57,7 @@
+ #include "hp5400_debug.h"
+ #include <stdio.h>
+ #include "../include/sane/sanei_usb.h"
++#include <sys/types.h>
+
+ #define CMD_INITBULK1 0x0087 /* send 0x14 */
+ #define CMD_INITBULK2 0x0083 /* send 0x24 */
+--- ./backend/hp5590_low.c.orig
++++ ./backend/hp5590_low.c
+@@ -50,6 +50,7 @@
+ #ifdef HAVE_NETINET_IN_H
+ # include <netinet/in.h>
+ #endif /* HAVE_NETINET_IN_H */
++#include <sys/types.h>
+
+ #include "byteorder.h"
+
+--- ./backend/kvs20xx_cmd.h.orig
++++ ./backend/kvs20xx_cmd.h
+@@ -9,6 +9,8 @@
+ Panasonic KV-S20xx USB-SCSI scanners.
+ */
+
++#include <sys/types.h>
++
+ #define COMMAND_BLOCK 1
+ #define DATA_BLOCK 2
+ #define RESPONSE_BLOCK 3
+--- ./backend/kvs40xx.h.orig
++++ ./backend/kvs40xx.h
+@@ -10,6 +10,7 @@
+
+ #include "../include/sane/config.h"
+ #include <semaphore.h>
++#include <sys/types.h>
+
+ #undef BACKEND_NAME
+ #define BACKEND_NAME kvs40xx
diff --git a/unmaintained/sane/APKBUILD b/unmaintained/sane/APKBUILD
new file mode 100644
index 0000000000..a6fee51fd3
--- /dev/null
+++ b/unmaintained/sane/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: Fabio Riga <rifabio@dpersonam.me>
+# Maintainer:
+pkgname=sane
+pkgver=1.0.24
+pkgrel=1
+pkgdesc="Scanner Access Now Easy"
+url="http://www.sane-project.org/"
+arch="all"
+license="GPL"
+depends=""
+depends_dev="tiff-dev libjpeg-turbo-dev libgphoto2-dev libusb-dev cups-dev
+ v4l-utils-dev avahi-dev bash net-snmp-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc"
+source="https://alioth.debian.org/frs/download.php/file/3958/$pkgname-backends-$pkgver.tar.gz
+ 10-network.patch
+ 20-segfault-avahi-fix-kodakio.patch
+ 30-musl-header-fixes.patch
+ "
+
+_builddir="${srcdir}/${pkgname}-backends-${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 \
+ --sbindir=/usr/bin \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --with-docdir=/usr/share/doc/sane \
+ --enable-avahi \
+ --enable-pthread \
+ --disable-rpath \
+ --disable-latex \
+ --enable-libusb_1_0 \
+ --disable-locking \
+ || return 1
+
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="${pkgdir}" install
+ # fix hp officejets
+ echo "#hpaio" >> "${pkgdir}/etc/sane.d/dll.conf"
+ # install udev files
+ install -D -m0644 tools/udev/libsane.rules \
+ "${pkgdir}/usr/lib/udev/rules.d/49-sane.rules"
+ # fix udev rules
+ sed -i 's|NAME="%k", ||g' "${pkgdir}/usr/lib/udev/rules.d/49-sane.rules"
+ # Install the pkg-config file
+ install -D -m644 tools/sane-backends.pc \
+ "${pkgdir}/usr/lib/pkgconfig/sane-backends.pc"
+ # Remove libtool files
+}
+
+md5sums="1ca68e536cd7c1852322822f5f6ac3a4 sane-backends-1.0.24.tar.gz
+9084841146b6d10b957c60594f707937 10-network.patch
+039524a38af8721f2e97d45e889295ca 20-segfault-avahi-fix-kodakio.patch
+dd5c05ee306a1ca2cd4cbb0149997007 30-musl-header-fixes.patch"
+sha256sums="27c7085a54f1505d8b551e6f1e69d30e1ee57328b18429bb2225dabf4c45462d sane-backends-1.0.24.tar.gz
+8400ed2fb2109447eb9d4e343e2964ece964ba5999b2eb6553762e9c984092c3 10-network.patch
+91e01450f87d52fa82e5e0e112a3ac7f5355f5a133467b8a38d0e1f52e94d25a 20-segfault-avahi-fix-kodakio.patch
+3147e7011d64297f6fa0229a51f5451fee151ccfe09dd2cc05d9feaf2f45fcf2 30-musl-header-fixes.patch"
+sha512sums="1e9f962bb9d27f17067eb662dabfc0a1aa0d06e16bec4bd28868124b468578d82f14f6d2c1f5de63d2cec57ca4584ec12d3b2c2b1de20f1199aece581453ebc5 sane-backends-1.0.24.tar.gz
+9cb595841f59b5105ecc85e4c0ad8781c52caa2354fb823c920ec467e88afbe47f2b3f4a7a3980bef5dbf22983c5786f051a9d10aea97b4bf7c4a05378592029 10-network.patch
+43e91fe2452eca4fbfbd256aae3f44a28674af7210f59b60b34c1149f0cd208318678a810313aabff84f18bb712982e10ae320ef3179b6437e413adda6298fbe 20-segfault-avahi-fix-kodakio.patch
+f7a2ce1826a967fdd1ee8e2bfa2080e79547564dec28012cc8fcc3955730eac8a352d55e1b2478e6092bd968f17745feb81ce8462ccd582a2282ff572c46e351 30-musl-header-fixes.patch"
diff --git a/unmaintained/sarg/APKBUILD b/unmaintained/sarg/APKBUILD
new file mode 100644
index 0000000000..6a367350dd
--- /dev/null
+++ b/unmaintained/sarg/APKBUILD
@@ -0,0 +1,56 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=sarg
+pkgver=2.3.5
+pkgrel=0
+pkgdesc="SARG Squid Analysis Report Generator"
+url="http://sarg.sourceforge.net/"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc $pkgname-php"
+source="http://sourceforge.net/projects/sarg/files/sarg/sarg-$pkgver/sarg-$pkgver.tar.gz"
+
+_builddir="$srcdir"/sarg-$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/sarg \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+php() {
+ pkgdesc="SARG php interface"
+ depends="php"
+ arch="noarch"
+ cd "$_builddir"
+ mkdir -p "$subpkgdir"/usr/share/webapps
+ cp -a sarg-php \
+ "$subpkgdir"/usr/share/webapps
+}
+
+md5sums="a10545aa0571f73789d81dcfca5bfb3c sarg-2.3.5.tar.gz"
+sha256sums="661560a3dfbf793ac02260adf8f457029b7cebf676d04a0ecb09b3ba06e0b0fb sarg-2.3.5.tar.gz"
+sha512sums="db71db2212d5f4de7d39c0610f7ba0222618a698d5fa6e3a5f8243a0e0bb588d89319e1bca55a92991db01e506e0892e42a8dbd5d132ab6fba7e6421de743f1a sarg-2.3.5.tar.gz"
diff --git a/unmaintained/sbc/APKBUILD b/unmaintained/sbc/APKBUILD
new file mode 100644
index 0000000000..87916aef4a
--- /dev/null
+++ b/unmaintained/sbc/APKBUILD
@@ -0,0 +1,57 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=sbc
+pkgver=1.3
+pkgrel=0
+pkgdesc="Bluetooth Subband Codec (SBC) library"
+url="http://www.bluez.org/"
+arch="all"
+license="LGPL"
+depends=""
+depends_dev="libsndfile-dev"
+makedepends="$depends_dev linux-headers"
+install=""
+subpackages="$pkgname-dev $pkgname-utils"
+source="http://www.kernel.org/pub/linux/bluetooth/sbc-$pkgver.tar.xz"
+
+_builddir="$srcdir"/sbc-$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
+ update_config_sub || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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
+}
+
+utils() {
+ pkgdesc="sbc utilities"
+ mkdir -p "$subpkgdir"/usr
+ mv "$pkgdir"/usr/bin \
+ "$subpkgdir"/usr/ || return 1
+}
+
+md5sums="2d8b7841f2c11ab287718d562f2b981c sbc-1.3.tar.xz"
+sha256sums="e61022cf576f14190241e7071753fdacdce5d1dea89ffd704110fc50be689309 sbc-1.3.tar.xz"
+sha512sums="c11cb1ede8abdb226d404ce34307d217b716b91cbe550ed90cb5387b062b7b97a6b7a81371de6f462d8c1429cb3299869a1bda347fa175e9d81cfa2bc2056c8b sbc-1.3.tar.xz"
diff --git a/unmaintained/scanssh/APKBUILD b/unmaintained/scanssh/APKBUILD
new file mode 100644
index 0000000000..e2c0f1db76
--- /dev/null
+++ b/unmaintained/scanssh/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+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"
+sha256sums="057eec87edafbbe5bc22960cbac53e3ada0222400d649a5e2f22cc8981f5b035 scanssh-2.1.tar.gz"
+sha512sums="1ddff6f8e51735bab28032c8d7cbb641ff0cd19a404a27ab489589ef1e30e3721dd486854eb4fef15368cc53f10c9c2650ffaf7fa7f767dc2202fcc5540ae59c scanssh-2.1.tar.gz"
diff --git a/unmaintained/scantailor/APKBUILD b/unmaintained/scantailor/APKBUILD
new file mode 100644
index 0000000000..c6e8689dd4
--- /dev/null
+++ b/unmaintained/scantailor/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=scantailor
+pkgver=0.9.11.1
+pkgrel=0
+pkgdesc="Interactive post-processing tool for scanned pages"
+url="http://scantailor.sourceforge.net"
+arch="all"
+license="GPL"
+depends=""
+depends_dev="qt-dev boost-dev libjpeg-turbo-dev tiff-dev"
+makedepends="$depends_dev cmake"
+install=""
+subpackages="$pkgname-cli"
+source="http://downloads.sourceforge.net/scantailor/scantailor-$pkgver.tar.gz"
+
+_builddir="$srcdir"/scantailor-$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_CXX_FLAGS="-DBOOST_NO_MEMBER_TEMPLATE_FRIENDS" \
+ -DCMAKE_CXX_FLAGS_DEBUG="-DBOOST_NO_MEMBER_TEMPLATE_FRIENDS" \
+ -DCMAKE_CXX_FLAGS_RELEASE="-DBOOST_NO_MEMBER_TEMPLATE_FRIENDS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release .
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+cli() {
+ pkgdesc="scantailer cli"
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir/"usr/bin/scantailor-cli \
+ "$subpkgdir"/usr/bin/
+}
+
+md5sums="6cdca1b6d1dafd022ea94b4800dad340 scantailor-0.9.11.1.tar.gz"
+sha256sums="881647a4172c55a067a7b6687965441cf21176d79d93075b22a373ea9accd8d3 scantailor-0.9.11.1.tar.gz"
+sha512sums="cec327fd12144f7cee5043adfee3880c75fb147474e4c3b5166385f7a8f47cb5650ed2df930bbe1f4b8ac2c7229a887ecba1ca105b47b1023f5d3d7d7b54bdb4 scantailor-0.9.11.1.tar.gz"
diff --git a/unmaintained/schedtool/APKBUILD b/unmaintained/schedtool/APKBUILD
new file mode 100644
index 0000000000..be8fa6416e
--- /dev/null
+++ b/unmaintained/schedtool/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: William Pitcock <nenolod@dereferenced.org>
+pkgname=schedtool
+pkgver=1.3.0
+pkgrel=0
+pkgdesc="scheduler tool"
+url="http://freequaos.host.sk/schedtool/"
+arch="all"
+license="GPLv2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://freequaos.host.sk/schedtool/schedtool-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/schedtool-$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 DESTPREFIX="/usr" DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="0d968f05d3ad7675f1f33ef1f6d0a3fb schedtool-1.3.0.tar.bz2"
diff --git a/unmaintained/scrub/APKBUILD b/unmaintained/scrub/APKBUILD
new file mode 100644
index 0000000000..4e2dc3a2c5
--- /dev/null
+++ b/unmaintained/scrub/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=scrub
+pkgver=2.6.1
+pkgrel=0
+pkgdesc="A disk overwrite utility"
+url="http://code.google.com/p/diskscrub/"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="perl"
+install=""
+subpackages="$pkgname-doc"
+source="https://github.com/chaos/scrub/releases/download/$pkgver/scrub-$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 \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="46801354b01f0c619207d6f2df796a6b scrub-2.6.1.tar.gz"
+sha256sums="43d98d3795bc2de7920efe81ef2c5de4e9ed1f903c35c939a7d65adc416d6cb8 scrub-2.6.1.tar.gz"
+sha512sums="6e434b9d81c5ac473188c37af790c808771204203b3f04a5ca316c6a890f872d1beb73ce4713546e14ae91287d7adaf2fbfa44a30af634c2b3af890e2a0e8640 scrub-2.6.1.tar.gz"
diff --git a/unmaintained/scummvm/APKBUILD b/unmaintained/scummvm/APKBUILD
new file mode 100644
index 0000000000..f4e7e84bb5
--- /dev/null
+++ b/unmaintained/scummvm/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+# Maintainer: Timo Teräs <timo.teras@iki.fi>
+pkgname=scummvm
+pkgver=1.7.0
+pkgrel=0
+pkgdesc="engine for several graphical adventure games"
+url="http://www.scummvm.org/"
+arch="all"
+license="GPL2"
+depends=""
+makedepends="libogg-dev libvorbis-dev libtheora-dev zlib-dev
+ libpng-dev jpeg-dev glu-dev sdl-dev alsa-lib-dev freetype-dev"
+install=""
+subpackages=""
+source="http://prdownloads.sourceforge.net/scummvm/scummvm-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/scummvm-$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"
+ # nasm disabled due to non-pic/pie compatible assembly
+ # dynamic plugins disabled due to sdl built without dlopen
+ ./configure \
+ --prefix=/usr \
+ --enable-all-engines \
+ --enable-release \
+ --disable-nasm \
+ || exit 1
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make install DESTDIR="$pkgdir"
+}
+
+md5sums="be91bf3fa2f1b44a82c92cfe8c5cc1c8 scummvm-1.7.0.tar.bz2"
+sha256sums="d9ff0e8cf911afa466d5456d28fef692a17d47ddecfd428bf2fef591237c2e66 scummvm-1.7.0.tar.bz2"
+sha512sums="0133feb2df58461fb0e42b1e84cfb309bd964dad239f7ca0c7529edd4f4716895a45491e31597ec6f6d17361b0ce8f73c317399db07a1249b2ab570e4829000e scummvm-1.7.0.tar.bz2"
diff --git a/unmaintained/sent/APKBUILD b/unmaintained/sent/APKBUILD
new file mode 100644
index 0000000000..8cf5c44c16
--- /dev/null
+++ b/unmaintained/sent/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
+pkgname=sent
+pkgver=0.2
+pkgrel=0
+pkgdesc="Simple plaintext presentation tool"
+url="http://tools.suckless.org/sent/"
+arch="all"
+license="MIT"
+depends=""
+depends_dev=""
+makedepends="libpng-dev libx11-dev libxft-dev"
+install=""
+subpackages=""
+source="http://dl.suckless.org/tools/$pkgname-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+build() {
+ make -C "$_builddir" || return 1
+}
+
+package() {
+ make PREFIX="/usr" DESTDIR="$pkgdir" \
+ -C "$_builddir" install || return 1
+}
+
+md5sums="b45cea13e23711cbf917d5ca45186dc1 sent-0.2.tar.gz"
+sha256sums="53b961f9d92a277a6408df7025b4a6deae6b655a797383c93442290e45391076 sent-0.2.tar.gz"
+sha512sums="22c1e1e1bb7dbdaacb75a71a34ab533ca17b632e505ff96a351a907b861009b748502f7ad2934397f40842bef11e3072e814952a6abb141d470d0bb2e34a1540 sent-0.2.tar.gz"
diff --git a/unmaintained/series60-remote/APKBUILD b/unmaintained/series60-remote/APKBUILD
new file mode 100644
index 0000000000..2624914dca
--- /dev/null
+++ b/unmaintained/series60-remote/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=series60-remote
+pkgver=0.4.0
+pkgrel=1
+pkgdesc="S60 operating system mobile phone manager"
+url="http://series60-remote.sourceforge.net"
+arch="noarch"
+license="GPL"
+depends="py-qt py-bluez qt-sqlite"
+makedepends=
+install=
+subpackages=
+options="!tracedeps"
+source="http://downloads.sourceforge.net/project/series60-remote/series60-remote/$pkgver/series60-remote-$pkgver.tar.gz"
+
+_builddir="$srcdir"/series60-remote-$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 DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="adc345c3998e594da86c4df150f851e0 series60-remote-0.4.0.tar.gz"
diff --git a/unmaintained/setserial/APKBUILD b/unmaintained/setserial/APKBUILD
new file mode 100644
index 0000000000..3af101e884
--- /dev/null
+++ b/unmaintained/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/unmaintained/setserial/setserial.patch b/unmaintained/setserial/setserial.patch
new file mode 100644
index 0000000000..3cce1f07d3
--- /dev/null
+++ b/unmaintained/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/unmaintained/shared-desktop-ontologies/APKBUILD b/unmaintained/shared-desktop-ontologies/APKBUILD
new file mode 100644
index 0000000000..f92bf231d5
--- /dev/null
+++ b/unmaintained/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/unmaintained/shed/APKBUILD b/unmaintained/shed/APKBUILD
new file mode 100644
index 0000000000..fc71bea7b9
--- /dev/null
+++ b/unmaintained/shed/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=shed
+pkgver=1.15
+pkgrel=0
+pkgdesc="A simple hex editor"
+url="http://shed.sourceforge.net/"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="ncurses-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/shed/shed-$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="c7d7d464d6b4fa28a7980270d03e0906 shed-1.15.tar.gz"
diff --git a/unmaintained/shntool/APKBUILD b/unmaintained/shntool/APKBUILD
new file mode 100644
index 0000000000..ecdbdf91d2
--- /dev/null
+++ b/unmaintained/shntool/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=shntool
+pkgver=3.0.10
+pkgrel=0
+pkgdesc="A multi-purpose WAVE data processing and reporting utility"
+url="http://www.etree.org/shnutils/shntool/"
+arch="all"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://www.etree.org/shnutils/shntool/dist/src/shntool-$pkgver.tar.gz"
+
+_builddir="$srcdir"/shntool-$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"
+ update_config_sub || return 1
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="5d41f8f42c3c15e3145a7a43539c3eae shntool-3.0.10.tar.gz"
+sha256sums="74302eac477ca08fb2b42b9f154cc870593aec8beab308676e4373a5e4ca2102 shntool-3.0.10.tar.gz"
+sha512sums="2150d7123860abb54a56a1615bda991ed3713d73c338723f28b7d01a63c49a47809be16dc57b5b4edeee1567b003f9a4b54945c1cd08440f9503d22b91eaa06d shntool-3.0.10.tar.gz"
diff --git a/unmaintained/siege/APKBUILD b/unmaintained/siege/APKBUILD
new file mode 100644
index 0000000000..f1ad3e9c08
--- /dev/null
+++ b/unmaintained/siege/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=siege
+pkgver=3.0.8
+pkgrel=0
+pkgdesc="HTTP regression testing and benchmarking utility"
+url="http://www.joedog.org/JoeDog/Siege"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="openssl-dev sed"
+install=""
+subpackages="$pkgname-dbg $pkgname-doc"
+source="http://download.joedog.org/siege/siege-$pkgver.tar.gz
+ stdint.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
+ sed -i.orig doc/siegerc.in -e 's/^# logfile = *$/logfile = ${HOME}\/siege.log/'
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="ddd2abc8856c58f2495170fe65c34aa6 siege-3.0.8.tar.gz
+c4ee44914937d0395636d2b03f0c6169 stdint.patch"
+sha256sums="b8b5e3e722b75ab2c8a1a51ca25fc58ae599cf78d84e096242ee57622803b297 siege-3.0.8.tar.gz
+f8948f1aa23d0375f2d393f47d993f5b3026d3abe17516fa21f942443e5a6a9a stdint.patch"
+sha512sums="d4f3b4ff715212bf42df10fea968af95397206f878a7b190fe49cd80b7fcb9abd0bf7f57e34106b956c2de2d151c58fb187329ffff4a748f44db9f156b729b94 siege-3.0.8.tar.gz
+2c36dabd634fc700ebcc7aa9ada41a7f8bd6fb87bf57666631b998efc6e6f7b843c0c49e76659d3cd25954b0069838d80618aaa5fef4731bcc26d25a21061328 stdint.patch"
diff --git a/unmaintained/siege/siege-2.72-good.patch b/unmaintained/siege/siege-2.72-good.patch
new file mode 100644
index 0000000000..93da6b6eb5
--- /dev/null
+++ b/unmaintained/siege/siege-2.72-good.patch
@@ -0,0 +1,62 @@
+diff -up siege-2.69/doc/Makefile.in.good siege-2.69/doc/Makefile.in
+--- siege-2.69/doc/Makefile.in.good 2009-07-04 11:12:24.411980518 -0300
++++ siege-2.69/doc/Makefile.in 2009-07-04 11:13:19.914733285 -0300
+@@ -498,32 +498,32 @@ uninstall-man: uninstall-man1 uninstall-
+
+
+ install-exec-hook:
+- @if test -f $(SIEGERC); then \
+- if cmp -s $(srcdir)/siegerc $(SIEGERC); then echo ""; \
+- else \
+- echo ' $(INSTALL_DATA) $(srcdir)/siegerc $(SIEGERC).new'; \
+- $(INSTALL_DATA) $(srcdir)/siegerc $(SIEGERC).new; \
+- echo "#####################################################"; \
+- echo "WARNING: File $(SIEGERC) already exists."; \
+- echo " A new resource file has been installed as"; \
+- echo " $(SIEGERC).new. You may want to"; \
+- echo " consider using the newer version in order to"; \
+- echo " take advantage of any new features."; \
+- echo "#####################################################"; \
+- fi; \
+- else \
+- $(INSTALL_DATA) $(srcdir)/siegerc $(SIEGERC); \
+- fi
+- @if test -f $(URLSTXT); then \
+- if cmp -s $(srcdir)/siegerc $(URLSTXT); then echo ""; \
+- else \
+- echo "WARNING: File $(URLSTXT) already exists."; \
+- echo " It was NOT replaced with this installation."; \
+- fi; \
+- else \
+- $(mkinstalldirs) $(sysconfdir); \
+- $(INSTALL_DATA) $(srcdir)/urls.txt $(URLSTXT); \
+- fi
++ #@if test -f $(SIEGERC); then \
++ # if cmp -s $(srcdir)/siegerc $(SIEGERC); then echo ""; \
++ # else \
++ # echo ' $(INSTALL_DATA) $(srcdir)/siegerc $(SIEGERC).new'; \
++ # $(INSTALL_DATA) $(srcdir)/siegerc $(SIEGERC).new; \
++ # echo "#####################################################"; \
++ # echo "WARNING: File $(SIEGERC) already exists."; \
++ # echo " A new resource file has been installed as"; \
++ # echo " $(SIEGERC).new. You may want to"; \
++ # echo " consider using the newer version in order to"; \
++ # echo " take advantage of any new features."; \
++ # echo "#####################################################"; \
++ # fi; \
++ #else \
++ # $(INSTALL_DATA) $(srcdir)/siegerc $(SIEGERC); \
++ #fi
++ #@if test -f $(URLSTXT); then \
++ # if cmp -s $(srcdir)/siegerc $(URLSTXT); then echo ""; \
++ # else \
++ # echo "WARNING: File $(URLSTXT) already exists."; \
++ # echo " It was NOT replaced with this installation."; \
++ # fi; \
++ #else \
++ # $(mkinstalldirs) $(sysconfdir); \
++ # $(INSTALL_DATA) $(srcdir)/urls.txt $(URLSTXT); \
++ #fi
+
+ uninstall:
+ rm -f $(SIEGERC)
diff --git a/unmaintained/siege/stdint.patch b/unmaintained/siege/stdint.patch
new file mode 100644
index 0000000000..41ccad90b0
--- /dev/null
+++ b/unmaintained/siege/stdint.patch
@@ -0,0 +1,28 @@
+--- ./src/hash.c.orig
++++ ./src/hash.c
+@@ -26,6 +26,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <hash.h>
+ #include <joedog/joedog.h>
+ #include <joedog/defs.h>
+@@ -54,7 +55,7 @@
+ private BOOLEAN __lookup(HASH this, char *key);
+ private void __resize(HASH this);
+ private unsigned int __genkey(int size, char *str);
+-private u_int32_t fnv_32_buf(void *buf, size_t len, u_int32_t hval);
++private uint32_t fnv_32_buf(void *buf, size_t len, uint32_t hval);
+
+ /**
+ * allocs size and space for the
+@@ -265,7 +266,7 @@
+ * FNV-1a hash each octet in the buffer
+ */
+ while (bp < be) {
+- hval ^= (u_int32_t)*bp++;
++ hval ^= (uint32_t)*bp++;
+ hval += (hval<<1) + (hval<<4) + (hval<<7) + (hval<<8) + (hval<<24);
+ }
+ return hval;
diff --git a/unmaintained/sipcrack/APKBUILD b/unmaintained/sipcrack/APKBUILD
new file mode 100644
index 0000000000..293772c644
--- /dev/null
+++ b/unmaintained/sipcrack/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=sipcrack
+pkgver=0.2
+pkgrel=0
+pkgdesc="A SIP protocol login cracker"
+url="http://packages.debian.org/lenny/sipcrack"
+arch="all"
+license="Custom"
+depends=""
+depends_dev=""
+makedepends="libpcap-dev openssl-dev"
+install=""
+subpackages=""
+source="http://ftp.de.debian.org/debian/pool/main/s/$pkgname/"$pkgname"_"$pkgver".orig.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+build() {
+ cd "$_builddir"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ for file in sipcrack sipdump; do
+ install -Dm 0755 $file "$pkgdir"/usr/bin/$file || return 1
+ done
+}
+
+md5sums="b9096c8d537fc231c7d74b759831a4c7 sipcrack_0.2.orig.tar.gz"
+sha256sums="5f356dbce7d09c009005af1a49c55e05ae66c8db4e44de862c5191898c49ae6e sipcrack_0.2.orig.tar.gz"
+sha512sums="406c0f0ac4f23529e2d58f131c571492fd655d27bb466a5b972cef2c7b8ca5d550d6055ad405a4180b711a5f29027a8d47b43a912b4859ef9fccdb85069a1c45 sipcrack_0.2.orig.tar.gz"
diff --git a/unmaintained/sipvicious/APKBUILD b/unmaintained/sipvicious/APKBUILD
new file mode 100644
index 0000000000..55fdbb85b7
--- /dev/null
+++ b/unmaintained/sipvicious/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=sipvicious
+pkgver=0.2.8
+pkgrel=0
+pkgdesc="Tools for auditing SIP based VoIP systems"
+url="http://code.google.com/p/sipvicious/"
+arch="noarch"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://sipvicious.googlecode.com/files/$pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ return 0
+}
+
+build() {
+ cd "$_builddir"
+ return 0
+}
+
+package() {
+ cd "$_builddir"
+ for file in *.py; do
+ install -Dm 0755 $file "$pkgdir"/usr/bin/$file || return 1
+ done
+}
+
+md5sums="5893b53ff97b89a06383ff6a78b62f36 sipvicious-0.2.8.tar.gz"
diff --git a/unmaintained/sisctrl/APKBUILD b/unmaintained/sisctrl/APKBUILD
new file mode 100644
index 0000000000..584e35926b
--- /dev/null
+++ b/unmaintained/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/unmaintained/skroll/APKBUILD b/unmaintained/skroll/APKBUILD
new file mode 100644
index 0000000000..7244392b65
--- /dev/null
+++ b/unmaintained/skroll/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: z3bra <willy at mailoo dot org>
+# Maintainer: z3bra <willy at mailoo dot org>
+pkgname=skroll
+pkgver=0.4
+pkgrel=0
+pkgdesc="scroll text to stdout"
+url="http://git.z3bra.org/cgit.cgi/skroll/"
+arch="all"
+license="wtfpl"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://git.z3bra.org/cgit.cgi/$pkgname/snapshot/$pkgname-$pkgver.tar.bz2"
+
+_builddir=$srcdir/$pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="bd5e78abb228ca976fdd1673171033cc skroll-0.4.tar.bz2"
+sha256sums="45d7ab6bd078adc0a4230f05f406e0db47cc0789e3f9c8434488ea28b1ca4c64 skroll-0.4.tar.bz2"
+sha512sums="ba9caeee802645743fda27d8992df49610887d9157d6cf953648dd34b4786a3be04f58857f78ed018dbef0730fbabf738ccc330038b9dc9561d2860bfc65fabe skroll-0.4.tar.bz2"
diff --git a/unmaintained/slowhttptest/APKBUILD b/unmaintained/slowhttptest/APKBUILD
new file mode 100644
index 0000000000..13033a7625
--- /dev/null
+++ b/unmaintained/slowhttptest/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=slowhttptest
+pkgver=1.6
+pkgrel=0
+pkgdesc="An application Layer DoS attack simulator"
+url="http://code.google.com/p/slowhttptest"
+arch="all"
+license="ASL 2.0"
+depends=""
+depends_dev=""
+makedepends="openssl-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://slowhttptest.googlecode.com/files/$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 \
+ --mandir=/usr/share/man \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="72ba999ffee6b00abe25e597fa1d83b2 slowhttptest-1.6.tar.gz"
+sha256sums="77c54a64cfa5f12a84729833d9b98d5f27f828f51a5e42ad5914482d0b2bd0d6 slowhttptest-1.6.tar.gz"
+sha512sums="34360be27120f5922f68f25690d10d7c2e352c99cdc0224a5de5ad935d00b5e0b79ab9f80dd772fab098767acc1bdba41f7279470e75cd9dba9cf4f6aed28774 slowhttptest-1.6.tar.gz"
diff --git a/unmaintained/smap/APKBUILD b/unmaintained/smap/APKBUILD
new file mode 100644
index 0000000000..4c6dfa9e43
--- /dev/null
+++ b/unmaintained/smap/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=smap
+pkgver=20081016
+pkgrel=0
+pkgdesc="A simple scanner for SIP enabled devices"
+url="http://www.wormulon.net/smap"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://mirror2.openwrt.org/sources/$pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$pkgname
+
+prepare() {
+ return 0
+}
+
+build() {
+ cd "$_builddir"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -m0755 -D $pkgname "$pkgdir"/usr/bin/$pkgname || return 1
+ install -m0755 -D "$_builddir"/fingerprint.db \
+ "$pkgdir"/usr/share/$pkgname//fingerprint.db || return 1
+}
+
+md5sums="814456ccc8fea5688382b7ec55fe44eb smap-20081016.tar.gz"
diff --git a/unmaintained/snorenotify/APKBUILD b/unmaintained/snorenotify/APKBUILD
new file mode 100644
index 0000000000..23f6d8ca9b
--- /dev/null
+++ b/unmaintained/snorenotify/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=snorenotify
+pkgver=0.5.2
+pkgrel=0
+pkgdesc="Snorenotify is a multi platform Qt notification framework"
+url="https://github.com/Snorenotify/Snorenotify"
+arch="all"
+license="LGPL3"
+depends=""
+depends_dev="qt-dev"
+makedepends="$depends_dev cmake doxygen"
+install=""
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Snorenotify/Snorenotify/archive/v$pkgver.tar.gz"
+
+_builddir="$srcdir"/Snorenotify-$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() {
+ mkdir -p "$_builddir"/build
+ cd "$_builddir"/build
+ cmake "$_builddir" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"/build
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="508dafd77c2cb1b57239c1dc6ad73727 snorenotify-0.5.2.tar.gz"
+sha256sums="105d09fc7bbf2da357046d8227f4530eac4fc027f7a90d0c7dc984b4a337649d snorenotify-0.5.2.tar.gz"
+sha512sums="d86c061d4dbda002391333e62b987690916526866b9dd1904304ef92b314cb2f7812c46477666f22508803fbffeeaabea85f00e65389ffa5041dbc92f2241808 snorenotify-0.5.2.tar.gz"
diff --git a/unmaintained/sofia-sip/APKBUILD b/unmaintained/sofia-sip/APKBUILD
new file mode 100644
index 0000000000..a441892665
--- /dev/null
+++ b/unmaintained/sofia-sip/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=sofia-sip
+pkgver=1.12.11
+pkgrel=1
+pkgdesc="An open-source SIP User-Agent library"
+url="http://sofia-sip.sourceforge.net"
+arch="all"
+license="LGPL2+"
+depends=""
+depends_dev="libtool openssl-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://downloads.sourceforge.net/sofia-sip/$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 \
+ --enable-64 \
+ --enable-static=yes \
+ --with-openssl \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="f3582c62080eeecd3fa4cd5d4ccb4225 sofia-sip-1.12.11.tar.gz"
+sha256sums="2b01bc2e1826e00d1f7f57d29a2854b15fd5fe24695e47a14a735d195dd37c81 sofia-sip-1.12.11.tar.gz"
+sha512sums="48bef0223ecf5a31267773c8e2491c1990b4419be67154e350cc9e5644a98e55409d635d7828824de3e0e1658caebe5b61e44d613615beb709ecbe8180be131c sofia-sip-1.12.11.tar.gz"
diff --git a/unmaintained/soprano/APKBUILD b/unmaintained/soprano/APKBUILD
new file mode 100644
index 0000000000..a918267270
--- /dev/null
+++ b/unmaintained/soprano/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer:
+pkgname=soprano
+pkgver=2.9.4
+pkgrel=5
+pkgdesc="KDE RDF framework"
+url="http://soprano.sourceforge.net/"
+arch="all"
+license="LGPL"
+depends=
+depends_dev="qt-dev raptor2-dev rasqal-dev redland-dev libiodbc-dev clucene-dev"
+makedepends="$depends_dev cmake automoc4 doxygen"
+install=""
+subpackages="$pkgname-dev"
+source="http://sourceforge.net/projects/soprano/files/Soprano/$pkgver/soprano-$pkgver.tar.bz2
+ soprano-2.9.4-dbus-1.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 "$_builddir" \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"/build
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="91413e5783efeee0beb747ea4c5c9ef0 soprano-2.9.4.tar.bz2
+46741dc5c70c79c12bde5040bd570e82 soprano-2.9.4-dbus-1.patch"
+sha256sums="64066fbd54e71d7ae4c8a4116997448a72808a2813cff3bb5d2c28f0fce9e0e5 soprano-2.9.4.tar.bz2
+9bd7e2bfed9b99c230c8cea0c56c03b07f076c6722c564e7973116a8ff582d75 soprano-2.9.4-dbus-1.patch"
+sha512sums="3a907d7fa564cc5641e6d620a46efb3c01f8a141fb3a1afdf72422727d968baf00268c2dce420db24de2e86d3373fdd3473eeabaa736170f76bb2672c8ad80b0 soprano-2.9.4.tar.bz2
+9d8fa3bd0763020a401561a87439d10cdaf7f8b61a475e21d6ab4908a0a10d886ec490bbcd4d71ac7420d09ec1637060ba23aa2e27ee0d92ddbd4905694a6493 soprano-2.9.4-dbus-1.patch"
diff --git a/unmaintained/soprano/redland.patch b/unmaintained/soprano/redland.patch
new file mode 100644
index 0000000000..24806db411
--- /dev/null
+++ b/unmaintained/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/unmaintained/soprano/soprano-2.9.4-dbus-1.patch b/unmaintained/soprano/soprano-2.9.4-dbus-1.patch
new file mode 100755
index 0000000000..9861c6d2ed
--- /dev/null
+++ b/unmaintained/soprano/soprano-2.9.4-dbus-1.patch
@@ -0,0 +1,12 @@
+--- a/server/servercore.cpp
++++ b/server/servercore.cpp
+@@ -41,7 +41,9 @@
+ #include <QtNetwork/QTcpServer>
+ #include <QtNetwork/QHostAddress>
+ #include <QtNetwork/QTcpSocket>
++#ifdef BUILD_DBUS_SUPPORT
+ #include <QtDBus/QtDBus>
++#endif
+
+
+ const quint16 Soprano::Server::ServerCore::DEFAULT_PORT = 5000;
diff --git a/unmaintained/spectools/APKBUILD b/unmaintained/spectools/APKBUILD
new file mode 100644
index 0000000000..3c10fe79a8
--- /dev/null
+++ b/unmaintained/spectools/APKBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=spectools
+pkgver=201108
+_pkgver=2011-08-R1
+pkgrel=0
+pkgdesc="Utilities for using Wi-Spy USB spectrum analyzer"
+url="https://www.kismetwireless.net/spectools/"
+arch="all"
+license="GPL2+"
+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="b742d5c7dec6fbd3c5070e54d43e6570 spectools-2011-08-R1.tar.gz"
+sha256sums="ce981cd2b86c6246dc7cb9c0166b85e586e5f5835d3ed147e8901ef18f00220e spectools-2011-08-R1.tar.gz"
+sha512sums="92c80b34049055cec6d677db165fb2d06d75fbff9f04d41ab81fa57900f639936e6a9a01f06165aea863b35760964016f0984f17816859d054bc9d14353e847b spectools-2011-08-R1.tar.gz"
diff --git a/unmaintained/spectrwm/APKBUILD b/unmaintained/spectrwm/APKBUILD
new file mode 100644
index 0000000000..f4f739ea56
--- /dev/null
+++ b/unmaintained/spectrwm/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Contributor: Gabriel Ruse <garuse@gmail.com>
+# Maintainer: Gabriel Ruse <garuse@gmail.com>
+pkgname=spectrwm
+pkgver=2.7.2
+_realver="$(echo $pkgver | tr '.' '_')"
+pkgrel=1
+pkgdesc="A small dynamic tilling window manager for X11"
+url="https://github.com/conformal/spectrwm/wiki"
+arch="all"
+license="ICS"
+depends="dmenu"
+depends_dev=""
+makedepends="bsd-compat-headers libxcursor-dev libxft-dev
+ libxt-dev libxrandr-dev libxcb-dev xcb-util-cursor-dev
+ xcb-util-keysyms-dev xcb-util-wm-dev libxkbcommon-dev"
+install=""
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/conformal/$pkgname/archive/SPECTRWM_${_realver}.tar.gz"
+
+_builddir="$srcdir"/$pkgname-SPECTRWM_$_realver/linux
+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 PREFIX=/usr DESTDIR="$pkgdir/" install || return 1
+
+ mkdir -p "$pkgdir/usr/share/doc/$pkgname"
+ install -d "$pkgdir/usr/share/man/man1"
+ install -m644 ../*.1 "$pkgdir"/usr/share/man/man1/ || return 1
+ install -m644 ../*.conf "$pkgdir"/usr/share/doc/"$pkgname" || return 1
+ install -m644 ../baraction.sh ../initscreen.sh ../screenshot.sh \
+ "$pkgdir"/usr/share/doc/"$pkgname" || return 1
+}
+
+md5sums="64755f7003faf099cebdc3e6b907c4d1 spectrwm-2.7.2.tar.gz"
+sha256sums="23a5b306c5cdfda05eba365b652eca34e87f0b4317c7ff8059813adaa1c55afb spectrwm-2.7.2.tar.gz"
+sha512sums="9856bf8b6f2d9eea40edcb00e68a9d72751cd04367e797ded8deb929929944f45e17db8834ea5765a47891ba550c4db94d411e483c5d48805c593c55d522452f spectrwm-2.7.2.tar.gz"
diff --git a/unmaintained/speech-dispatcher/0001-Make-some-includes-consistent-with-POSIX.patch b/unmaintained/speech-dispatcher/0001-Make-some-includes-consistent-with-POSIX.patch
new file mode 100644
index 0000000000..d7947b7751
--- /dev/null
+++ b/unmaintained/speech-dispatcher/0001-Make-some-includes-consistent-with-POSIX.patch
@@ -0,0 +1,54 @@
+From f2dda28648de4bd940be54e827878f081af22ebc Mon Sep 17 00:00:00 2001
+From: Felix Janda <felix.janda@posteo.de>
+Date: Mon, 23 Mar 2015 21:03:29 +0100
+Subject: [PATCH] Make some includes consistent with POSIX
+
+Reviewed-by: Luke Yelavich <themuso@themuso.com>
+---
+ src/modules/cicero.c | 2 +-
+ src/modules/spd_audio.c | 2 +-
+ src/server/module.c | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/modules/cicero.c b/src/modules/cicero.c
+index 62332a5..2c69b7e 100644
+--- a/src/modules/cicero.c
++++ b/src/modules/cicero.c
+@@ -28,7 +28,7 @@
+ #include <speechd_types.h>
+ #include <safe_io.h>
+ #include <errno.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <fcntl.h>
+ #include <langinfo.h>
+ #include <sys/stat.h>
+diff --git a/src/modules/spd_audio.c b/src/modules/spd_audio.c
+index 3b65bf7..c85e21d 100644
+--- a/src/modules/spd_audio.c
++++ b/src/modules/spd_audio.c
+@@ -38,7 +38,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
+-#include <sys/fcntl.h>
++#include <fcntl.h>
+ #include <sys/ioctl.h>
+ #include <sys/time.h>
+ #include <time.h>
+diff --git a/src/server/module.c b/src/server/module.c
+index 0681caf..51746a0 100644
+--- a/src/server/module.c
++++ b/src/server/module.c
+@@ -29,7 +29,7 @@
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ #include <sys/stat.h>
+-#include <sys/unistd.h>
++#include <unistd.h>
+ #include <stdio.h>
+ #include <dirent.h>
+ #include <glib.h>
+--
+2.4.0
+
diff --git a/unmaintained/speech-dispatcher/0001-Provide-fallback-for-systems-without-TEMP_FAILURE_RE.patch b/unmaintained/speech-dispatcher/0001-Provide-fallback-for-systems-without-TEMP_FAILURE_RE.patch
new file mode 100644
index 0000000000..c469902448
--- /dev/null
+++ b/unmaintained/speech-dispatcher/0001-Provide-fallback-for-systems-without-TEMP_FAILURE_RE.patch
@@ -0,0 +1,182 @@
+From 98504410b7f77cad7457bfdfcd593e2898c3b461 Mon Sep 17 00:00:00 2001
+From: Felix Janda <felix.janda@posteo.de>
+Date: Mon, 23 Mar 2015 21:03:12 +0100
+Subject: [PATCH] Provide fallback for systems without TEMP_FAILURE_RETRY
+
+Reviewed-by: Luke Yelavich <themuso@themuso.com>
+---
+ include/safe_io.h | 55 ++++++++++++++++++++++++++++++++++++++++++++++
+ src/modules/cicero.c | 6 ++---
+ src/server/output.c | 18 +--------------
+ src/server/sem_functions.c | 5 +++--
+ src/server/speaking.c | 5 ++---
+ 5 files changed, 63 insertions(+), 26 deletions(-)
+ create mode 100644 include/safe_io.h
+
+diff --git a/include/safe_io.h b/include/safe_io.h
+new file mode 100644
+index 0000000..37cfe7f
+--- /dev/null
++++ b/include/safe_io.h
+@@ -0,0 +1,55 @@
++/*
++ * safe_io.h - Wrapper around read and write
++ *
++ * Copyright (C) 2001, 2002, 2003, 2007 Brailcom, o.p.s.
++ *
++ * This is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2, or (at your option)
++ * any later version.
++ *
++ * This software is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this package; see the file COPYING. If not, write to
++ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ * Boston, MA 02110-1301, USA.
++ *
++ */
++
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
++#include <unistd.h>
++#include <errno.h>
++
++#ifdef TEMP_FAILURE_RETRY /* GNU libc */
++#define safe_read(fd, buf, count) TEMP_FAILURE_RETRY(read(fd, buf, count))
++#define safe_write(fd, buf, count) TEMP_FAILURE_RETRY(write(fd, buf, count))
++#else /* TEMP_FAILURE_RETRY */
++#ifdef HAVE_UNISTD_H
++#include <unistd.h>
++#endif
++static inline ssize_t
++safe_read(int fd, void *buf, size_t count) {
++ do {
++ ssize_t w = read(fd, buf, count);
++
++ if (w == -1 && errno == EINTR) continue;
++ return w;
++ } while (1);
++}
++static inline ssize_t
++safe_write(int fd, const void *buf, size_t count) {
++ do {
++ ssize_t w = write(fd, buf, count);
++
++ if (w == -1 && errno == EINTR) continue;
++ return w;
++ } while (1);
++}
++#endif /* TEMP_FAILURE_RETRY */
+diff --git a/src/modules/cicero.c b/src/modules/cicero.c
+index 237796e..62332a5 100644
+--- a/src/modules/cicero.c
++++ b/src/modules/cicero.c
+@@ -26,6 +26,7 @@
+ #endif
+
+ #include <speechd_types.h>
++#include <safe_io.h>
+ #include <errno.h>
+ #include <sys/poll.h>
+ #include <fcntl.h>
+@@ -376,10 +377,7 @@ void *_cicero_speak(void *nothing)
+ cicero_speaking = 0;
+ break;
+ }
+- if (ret > 0)
+- TEMP_FAILURE_RETRY(read
+- (fd1[0], b,
+- 2));
++ if (ret > 0) safe_read(fd1[0], b, 2);
+ if (cicero_stop) {
+ cicero_speaking = 0;
+ module_report_event_stop();
+diff --git a/src/server/output.c b/src/server/output.c
+index 40b7e8c..ef98a45 100644
+--- a/src/server/output.c
++++ b/src/server/output.c
+@@ -26,27 +26,11 @@
+ #endif
+
+ #include <fdsetconv.h>
++#include <safe_io.h>
+ #include <spd_utils.h>
+ #include "output.h"
+ #include "parse.h"
+
+-#ifdef TEMP_FAILURE_RETRY /* GNU libc */
+-#define safe_write(fd, buf, count) TEMP_FAILURE_RETRY(write(fd, buf, count))
+-#else /* TEMP_FAILURE_RETRY */
+-#ifdef HAVE_UNISTD_H
+-#include <unistd.h>
+-#endif
+-static inline ssize_t
+-safe_write(int fd, const void *buf, size_t count) {
+- do {
+- ssize_t w = write(fd, buf, count);
+-
+- if (w == -1 && errno == EINTR) continue;
+- return w;
+- } while (1);
+-}
+-#endif /* TEMP_FAILURE_RETRY */
+-
+ #if !(defined(__GLIBC__) && defined(_GNU_SOURCE))
+ /* Added by Willie Walker - strndup is a gcc-ism
+ */
+diff --git a/src/server/sem_functions.c b/src/server/sem_functions.c
+index 0a86f56..430e74c 100644
+--- a/src/server/sem_functions.c
++++ b/src/server/sem_functions.c
+@@ -26,6 +26,8 @@
+ #include <config.h>
+ #endif
+
++#include <safe_io.h>
++
+ #include "speechd.h"
+ #include "sem_functions.h"
+
+@@ -33,8 +35,7 @@ void speaking_semaphore_post(void)
+ {
+ char buf[1];
+ buf[0] = 42;
+- const ssize_t wr_bytes =
+- TEMP_FAILURE_RETRY(write(speaking_pipe[1], buf, 1));
++ const ssize_t wr_bytes = safe_write(speaking_pipe[1], buf, 1);
+ if (wr_bytes != 1)
+ FATAL("write to polled fd: could not write 1 byte");
+ }
+diff --git a/src/server/speaking.c b/src/server/speaking.c
+index bd27008..f2dc289 100644
+--- a/src/server/speaking.c
++++ b/src/server/speaking.c
+@@ -29,6 +29,7 @@
+ #include <glib.h>
+ #include <poll.h>
+ #include <unistd.h>
++#include <safe_io.h>
+ #include "speechd.h"
+ #include "server.h"
+ #include "index_marking.h"
+@@ -88,9 +89,7 @@ void *speak(void *data)
+ MSG(5,
+ "wait_for_poll: activity in Speech Dispatcher");
+ const ssize_t rd_bytes =
+- TEMP_FAILURE_RETRY(read
+- (poll_fds[0].fd, buf,
+- 1));
++ safe_read(poll_fds[0].fd, buf, 1);
+ if (rd_bytes != 1)
+ FATAL
+ ("read from polled fd: could not read 1 byte");
+--
+2.4.0
+
diff --git a/unmaintained/speech-dispatcher/APKBUILD b/unmaintained/speech-dispatcher/APKBUILD
new file mode 100644
index 0000000000..3097c37a73
--- /dev/null
+++ b/unmaintained/speech-dispatcher/APKBUILD
@@ -0,0 +1,59 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=speech-dispatcher
+pkgver=0.8.2
+pkgrel=0
+pkgdesc="High-level device independent layer for speech synthesis interface"
+url="http://www.freebsoft.org/speechd"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev="glib-dev dotconf-dev"
+makedepends="$depends_dev intltool libtool"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="http://devel.freebsoft.org/pub/projects/speechd/speech-dispatcher-$pkgver.tar.gz
+ 0001-Make-some-includes-consistent-with-POSIX.patch
+ 0001-Provide-fallback-for-systems-without-TEMP_FAILURE_RE.patch"
+
+_builddir="$srcdir"/speech-dispatcher-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --without-flite \
+ --without-pulse \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="6beee9a1e4792508bf6d638c750229cc speech-dispatcher-0.8.2.tar.gz
+a5982a0f81d8463923f286f15dcb141a 0001-Make-some-includes-consistent-with-POSIX.patch
+f8f4bbfcd064a1fb35888f85d34e6984 0001-Provide-fallback-for-systems-without-TEMP_FAILURE_RE.patch"
+sha256sums="475c109e70670a02aa8bece9b6358d977f16d4ee6c9fc22cfa043cb2d9ddb55f speech-dispatcher-0.8.2.tar.gz
+6a08763dd8d42283fb1cd0341ace5c948a3662e522137098a0043cb59308ebbb 0001-Make-some-includes-consistent-with-POSIX.patch
+32d72cb4ba7a72cb7714e8f7226b34e21f3e57765a13c39cece38e966857e0c5 0001-Provide-fallback-for-systems-without-TEMP_FAILURE_RE.patch"
+sha512sums="2fd2656055cb266fa0cbec87f025c2bca0ab9bc114c0f894f4cfd9f38d480fe1dab27969a17162de24f278269f8cb24a8b4567e114a27271fefba41615c35977 speech-dispatcher-0.8.2.tar.gz
+76ad3f2e56a2e3ff85880da337dfae73b9c247b69a64584fbc045dc5055ef9f24a9f7788dae65b91d084b5a0f5c04336d40e6eaa7420abae58bc6d19f3121a9e 0001-Make-some-includes-consistent-with-POSIX.patch
+ee5527670346c14c6453ac7aee320dca8360f963599bd95123ef5828d09d7a5c2907dddfd81b8477c198dcc8b1ca98c01fd9c73cd1b74d74083766904c7ea424 0001-Provide-fallback-for-systems-without-TEMP_FAILURE_RE.patch"
diff --git a/unmaintained/spice-vdagent/APKBUILD b/unmaintained/spice-vdagent/APKBUILD
new file mode 100644
index 0000000000..926f355e45
--- /dev/null
+++ b/unmaintained/spice-vdagent/APKBUILD
@@ -0,0 +1,60 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=spice-vdagent
+pkgver=0.15.0
+pkgrel=1
+pkgdesc="Agent for Spice guests"
+url="http://spice-space.org/"
+arch="all"
+license="GPLv3+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev glib-dev spice-protocol libpciaccess-dev dbus-dev
+ libxrandr-dev libxinerama-dev libxfixes-dev linux-headers"
+install=""
+subpackages="$pkgname-doc"
+source="http://spice-space.org/download/releases/spice-vdagent-$pkgver.tar.bz2
+ "$pkgname"d.initd
+ fix-memcpy-memset-implicit-declaration.patch
+ "
+
+_builddir="$srcdir"/spice-vdagent-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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
+ install -m755 -D "$srcdir/$pkgname"d.initd \
+ "$pkgdir"/etc/init.d/"$pkgname"d || return 1
+}
+
+md5sums="2919ac7a4195b0b4b2588fae90a9241c spice-vdagent-0.15.0.tar.bz2
+038842701e8eb6a2890ecd97f34e9aab spice-vdagentd.initd
+083cdf808a24d1855d09a93a52dbeccd fix-memcpy-memset-implicit-declaration.patch"
+sha256sums="5bae1747307c2f4195f6de97639391be7c6be6c5673fdcc9febed6faca22bd34 spice-vdagent-0.15.0.tar.bz2
+0aab914c3f71d19452969c8bfae64e72bd970df3903e29602217a951e87c0db9 spice-vdagentd.initd
+69bbdffc46bd247f5fdee84e8a06d86b0a59e8dc53e9dc5eb0fd8055d87b9323 fix-memcpy-memset-implicit-declaration.patch"
+sha512sums="7d3bdeca2a8a5a63f817c8b0c1c46508e3238e0d2f3a018e44ffa4c7a2b7d0e82b0a2c37a6f35c59fcb23d89de82312edb689dc1de6fdf659004e640b900f436 spice-vdagent-0.15.0.tar.bz2
+0fc2b0a88b0d8707fa814da1b484888763f2bc51792568a38404a15ba88b4b37e4a9f54bc3452cc4605d0026c2af774bb689df6e56ca14b6fa48be5bc81c5705 spice-vdagentd.initd
+381f974580aa478a9c0a35d7e6cc5bee57903f47929dea143ee2ddda9952d4b3ed6180a2b2e90ef83b01425d46507ea18bba01c42d32739fd0cc85bcbac59537 fix-memcpy-memset-implicit-declaration.patch"
diff --git a/unmaintained/spice-vdagent/fix-memcpy-memset-implicit-declaration.patch b/unmaintained/spice-vdagent/fix-memcpy-memset-implicit-declaration.patch
new file mode 100644
index 0000000000..ad0de924e9
--- /dev/null
+++ b/unmaintained/spice-vdagent/fix-memcpy-memset-implicit-declaration.patch
@@ -0,0 +1,11 @@
+--- spice-vdagent-0.15.0/src/udscs.c
++++ spice-vdagent-0.15.0/src/udscs.c.new
+@@ -26,6 +26,7 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include <syslog.h>
+ #include <unistd.h>
+ #include <errno.h>
+
diff --git a/unmaintained/spice-vdagent/spice-vdagentd.initd b/unmaintained/spice-vdagent/spice-vdagentd.initd
new file mode 100644
index 0000000000..5c04d0242c
--- /dev/null
+++ b/unmaintained/spice-vdagent/spice-vdagentd.initd
@@ -0,0 +1,97 @@
+#!/sbin/openrc-run
+
+# This file is part of spice-vdagent
+# by Stuart Cardall <developer@it-offshore.co.uk>
+
+sockfile="/var/run/spice-vdagentd/spice-vdagent-sock"
+pidfile="/var/run/spice-vdagentd/spice-vdagentd.pid"
+command="/usr/sbin/spice-vdagentd"
+command_args="-X"
+msgfile=/tmp/spice-vdagent.msg
+extra_commands="info"
+
+MODULES="uinput"
+
+depend() {
+ need net
+ need logger
+}
+
+start_pre() {
+ # make sure dir for pidfile exists. /var/run is tmpfs...
+ checkpath --directory ${pidfile%/*}
+ # load userspace input driver for copy & paste support
+ ebegin "Loading uinput kernel module for ${SVCNAME}"
+ for mod in $MODULES; do
+ modprobe -q $mod
+ done
+ eend $?
+ rm -f $sockfile
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start $command --pidfile $pidfile -- $command_args
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet --pidfile $pidfile
+ eend $? "Failed to stop ${SVCNAME}"
+ ebegin "Unloading uinput kernel module for ${SVCNAME}"
+ for mod in $MODULES; do
+ rmmod $mod
+ done
+ eend $?
+ rm -f $sockfile
+}
+
+info() {
+ cat > $msgfile <<EOF
+By default the daemon is run with $command_args="-X" to disable consolekit
+support & allow a single agent session only. Run without '-X' & install lxdm
+or slim for muliple sessions.
+
+------------------------------------------------------------------------------
+Settings for libvirt:
+------------------------------------------------------------------------------
+<channel type='spicevmc'>
+ <target type='virtio' name='com.redhat.spice.0'/>
+ <address type='virtio-serial' controller='0' bus='0' port='1'/>
+</channel>
+ <input type='tablet' bus='usb'/>
+ <input type='mouse' bus='ps2'/>
+ <input type='keyboard' bus='ps2'/>
+<graphics type='spice' autoport='yes' listen='127.0.0.1'>
+ <listen type='address' address='127.0.0.1'/>
+ <channel name='main' mode='insecure'/>
+ <channel name='record' mode='insecure'/>
+ <image compression='auto_glz'/>
+ <jpeg compression='auto'/>
+ <zlib compression='auto'/>
+ <playback compression='on'/>
+ <streaming mode='filter'/>
+ <mouse mode='client'/>
+ <clipboard copypaste='yes'/>
+ <filetransfer enable='yes'/>
+</graphics>
+<video>
+ <model type='qxl' ram='65536' vram='9216' heads='1'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
+</video>
+
+------------------------------------------------------------------------------
+Settings for /etc/X11/xorg.conf: <install xf86-video-qxl>
+------------------------------------------------------------------------------
+Section "Device"
+ Identifier "Videocard0"
+ Driver "qxl"
+ Option "EnableSurfaces" "0"
+EndSection
+EOF
+
+cat $msgfile
+rm -f $msgfile
+}
+
diff --git a/unmaintained/spim/APKBUILD b/unmaintained/spim/APKBUILD
new file mode 100644
index 0000000000..52d2859ea7
--- /dev/null
+++ b/unmaintained/spim/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
+pkgname=spim
+pkgver=8.0
+pkgrel=2
+pkgdesc="Simulator for MIPS32"
+url="http://spimsimulator.sourceforge.net/"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="bash flex bison"
+install=""
+subpackages="$pkgname-doc"
+source="http://pages.cs.wisc.edu/~larus/SPIM/${pkgname}-${pkgver}.tar.gz
+ respect-env.patch"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ cd "$_builddir"
+ local i
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p0 -i "$srcdir"/$i || return 1 ;;
+ esac
+ done
+}
+
+build() {
+ make configuration $pkgname \
+ -C "$_builddir"/$pkgname || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" -C $pkgname install || return 1
+
+ install -Dm644 Documentation/spim.man \
+ "$pkgdir"/usr/share/man/man1/spim.1 || return 1
+ for i in ChangeLog Documentation/BLURB README VERSION; do
+ install -Dm644 $i \
+ "$pkgdir"/usr/share/doc/$pkgname/${i##*/} || return 1
+ done
+}
+
+md5sums="146558e8256f2b7577fb825fdc76a04f spim-8.0.tar.gz
+dac9099d3ac158d09caeee6e7eaa5b09 respect-env.patch"
+sha256sums="6f205776cb9fa112729507008843b289012190ed3131cbd426c610a58387ee4b spim-8.0.tar.gz
+d2c7a9662312d5075e08c93fb9037895b633776a1413130674397c1432f612cf respect-env.patch"
+sha512sums="c4eb66863a931b74d6c6ecd92860d16fd6369c85caecba1e71a1149e73e708502d1070f17a9beb6d0af1368db1ee5a85c040b596866a1236275cdd410a661adf spim-8.0.tar.gz
+68e9f39bbcee4524557389fac2a617b1b588f2df7a1a807ce8a646053345b6a5f7aba6dda23d4821283783b654baa01763923cb70501a03467c5302f173383ef respect-env.patch"
diff --git a/unmaintained/spim/respect-env.patch b/unmaintained/spim/respect-env.patch
new file mode 100644
index 0000000000..c7c8925c4e
--- /dev/null
+++ b/unmaintained/spim/respect-env.patch
@@ -0,0 +1,183 @@
+--- spim/Makefile 2010-08-01 22:14:53.352906061 +0200
++++ spim/Makefile 2010-08-01 22:15:00.994905920 +0200
+@@ -66,13 +66,13 @@
+
+
+ # Full path for the directory that will hold the executable files:
+-BIN_DIR = /usr/local/bin
++BIN_DIR = $(DESTDIR)/usr/bin
+
+ # Full path for the directory that will hold the exception handler:
+-EXCEPTION_DIR = /usr/local/lib/spim
++EXCEPTION_DIR = $(DESTDIR)/var/lib/spim
+
+ # Full path for the directory that will hold the man files:
+-MAN_DIR = /usr/local/man/en
++MAN_DIR = $(DESTDIR)/usr/share/man
+
+
+ # If you have flex, use it instead of lex. If you use flex, define this
+@@ -104,11 +104,10 @@
+
+ DEFINES = $(ENDIAN) $(MEM_SIZES) -DDEFAULT_EXCEPTION_HANDLER="\"$(EXCEPTION_DIR)/exceptions.s\"" -DSPIM_VERSION="\"`cat ../VERSION`\""
+
+-CC = gcc
+-CFLAGS = -I. -I$(CPU_DIR) $(DEFINES) -g -Wall
++CC ?= gcc
++CFLAGS += -I. -I$(CPU_DIR) $(DEFINES) -Wall
+ YFLAGS = -d --file-prefix=y
+ YCFLAGS =
+-LDFLAGS = -lm
+ CSH = bash
+
+ # lex.yy.c is usually compiled with -O to speed it up.
+@@ -122,10 +121,10 @@
+
+
+ spim: force
+- make -f Makefile spim2
++ $(MAKE) -f Makefile spim2
+
+ spim2: $(OBJS) spim.o
+- $(CC) -g $(OBJS) spim.o $(LDFLAGS) -o spim -lm
++ $(CC) $(OBJS) spim.o $(LDFLAGS) -o spim -lm
+
+
+ force: configuration
+@@ -143,19 +142,19 @@
+ @echo
+ @echo "Testing tt.bare.s:"
+ $(CSH) -c "./spim -delayed_branches -delayed_loads -noexception -file $(TEST_DIR)/tt.bare.s >& test.out"
+- @tail -2 test.out
++ @tail -n2 test.out
+ @echo
+
+ @echo
+ @echo "Testing tt.core.s:"
+ $(CSH) -c "./spim -ef $(CPU_DIR)/exceptions.s -file $(TEST_DIR)/tt.core.s < $(TEST_DIR)/tt.in >& test.out"
+- @tail -2 test.out
++ @tail -n2 test.out
+ @echo
+
+ @echo
+ @echo "Testing tt.endian.s:"
+ $(CSH) -c "./spim -ef $(CPU_DIR)/exceptions.s -file $(TEST_DIR)/tt.endian.s >& test.out"
+- @tail -2 test.out
++ @tail -n2 test.out
+ @echo
+ @echo
+
+@@ -166,13 +165,13 @@
+ @echo
+ @echo "Testing tt.alu.bare.s:"
+ $(CSH) -c "./spim -bare -noexception -file $(TEST_DIR)/tt.alu.bare.s >& test.out"
+- @tail -2 test.out
++ @tail -n2 test.out
+ @echo
+
+ @echo
+ @echo "Testing tt.fpt.bare.s:"
+ $(CSH) -c "./spim -bare -noexception -file $(TEST_DIR)/tt.fpu.bare.s >& test.out"
+- @tail -2 test.out
++ @tail -n2 test.out
+ @echo
+ @echo
+
+@@ -192,8 +191,6 @@
+ install -m 0444 $(CPU_DIR)/exceptions.s $(EXCEPTION_DIR)/exceptions.s
+
+ install-man:
+- install -d $(MAN_DIR)
+- install -m 0444 $(DOC_DIR)/spim.man $(MAN_DIR)
+
+ very-clean: clean
+ rm -f configuration
+--- xspim/Makefile 2010-08-01 22:14:53.351905921 +0200
++++ xspim/Makefile 2010-08-01 22:26:08.361917058 +0200
+@@ -169,18 +169,18 @@
+
+ VARDBDIR = $(VARDIR)/lib
+
+- AR = ar clq
++ AR = $(AR) clq
+
+ # Nice try but useless: make will inherit BOOTSTRAPCFLAGS
+ # from top Makefile
+ BOOTSTRAPCFLAGS =
+
+- CC = gcc -m32
+- AS = gcc -m32 -c -x assembler
++ CC ?= gcc -m32
++ AS ?= gcc -m32 -c -x assembler
+
+ .SUFFIXES: .cc
+
+- CXX = c++ -m32
++ CXX ?= c++ -m32
+
+ CXXFILT = c++filt
+
+@@ -199,14 +199,14 @@
+ COMPRESS = compress
+ GZIPCMD = gzip
+
+- CPP = cpp $(STD_CPP_DEFINES)
+- RAWCPP = cpp -undef $(STD_CPP_OPTIONS)
+- PREPROCESSCMD = gcc -m32 -E $(STD_CPP_DEFINES)
++ CPP = $(CPP) $(STD_CPP_DEFINES)
++ RAWCPP = $(CPP) -undef $(STD_CPP_OPTIONS)
++ PREPROCESSCMD = $(CC) -E $(STD_CPP_DEFINES)
+
+ INSTALL = install
+ INSTALLFLAGS = -c
+
+- LD = gcc -m32 -nostdlib
++ LD ?= $(CC) -nostdlib
+
+ LEX = flex -l
+ M4 = m4
+@@ -270,18 +270,18 @@
+ COL = col
+ COLFLAGS = -b
+
+- MODCC = gcc -m32
++ MODCC ?= $(CC)
+
+- MODCPP = cpp
++ MODCPP = $(CPP)
+ MODCFLAGS = $(CFLAGS)
+- MODAS = gcc -m32 -c -x assembler
++ MODAS ?= $(CC) -c -x assembler
+ MODASFLAGS =
+
+- MODLD = gcc -m32 -nostdlib
++ MODLD ?= $(CC) -nostdlib
+
+ MODLDFLAGS =
+ MODLDCOMBINEFLAGS = -r
+- MODAR = ar clq
++ MODAR ?= $(AR) clq
+
+ MODRANLIB = ranlib
+
+@@ -330,7 +330,7 @@
+
+ ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(INSTALLED_INCLUDES) $(STD_INCLUDES)
+ ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(MODULE_DEFINES) $(DEFINES) $(EXTRA_DEFINES)
+- CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(MODULE_CFLAGS) $(ALLDEFINES)
++ CFLAGS += $(CCOPTIONS) $(THREADS_CFLAGS) $(MODULE_CFLAGS) $(ALLDEFINES)
+ LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES)
+ LDPRELIB = $(INSTALLED_LIBS)
+ LDPOSTLIB =
+@@ -339,9 +339,9 @@
+
+ LDLIBS = $(LDPOSTLIBS) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
+
+- CCLINK = $(CC)
++ CCLINK = $(CC) $(LDFLAGS)
+
+- CXXLINK = $(CXX)
++ CXXLINK = $(CXX) $(LDFLAGS)
+
+ LDSTRIPFLAGS = -x
+ LDCOMBINEFLAGS = -r
diff --git a/unmaintained/sqstat/APKBUILD b/unmaintained/sqstat/APKBUILD
new file mode 100644
index 0000000000..e802394f23
--- /dev/null
+++ b/unmaintained/sqstat/APKBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+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/unmaintained/squeezelite/0001-only-run-glibc-specific-hacks-on-glibc.patch b/unmaintained/squeezelite/0001-only-run-glibc-specific-hacks-on-glibc.patch
new file mode 100644
index 0000000000..5dbe25493c
--- /dev/null
+++ b/unmaintained/squeezelite/0001-only-run-glibc-specific-hacks-on-glibc.patch
@@ -0,0 +1,25 @@
+From d898fac929cd093bb39af3f517158777c21c06ef Mon Sep 17 00:00:00 2001
+From: Carlo Landmeter <clandmeter@gmail.com>
+Date: Tue, 31 Mar 2015 10:07:14 +0000
+Subject: [PATCH] only run glibc specific hacks on glibc
+
+---
+ output_alsa.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/output_alsa.c b/output_alsa.c
+index aa01560..c1b5435 100644
+--- a/output_alsa.c
++++ b/output_alsa.c
+@@ -853,7 +853,7 @@ void output_init_alsa(log_level level, const char *device, unsigned output_buf_s
+ set_mixer(output.device, volume_mixer_name, volume_mixer_index ? atoi(volume_mixer_index) : 0, true, 0, 0);
+ }
+
+-#if LINUX
++#if defined(__GLIBC__)
+ // RT linux - aim to avoid pagefaults by locking memory:
+ // https://rt.wiki.kernel.org/index.php/Threaded_RT-application_with_memory_locking_and_stack_handling_example
+ if (mlockall(MCL_CURRENT | MCL_FUTURE) == -1) {
+--
+2.3.4
+
diff --git a/unmaintained/squeezelite/0001-respect-LDFLAGS.patch b/unmaintained/squeezelite/0001-respect-LDFLAGS.patch
new file mode 100644
index 0000000000..8ce873d39c
--- /dev/null
+++ b/unmaintained/squeezelite/0001-respect-LDFLAGS.patch
@@ -0,0 +1,61 @@
+From 1c53ed7db5b49ebf347efe65dbf9b740f9d54557 Mon Sep 17 00:00:00 2001
+From: Carlo Landmeter <clandmeter@gmail.com>
+Date: Tue, 31 Mar 2015 09:52:53 +0000
+Subject: [PATCH] respect LDFLAGS
+
+---
+ Makefile | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index dca2abd..119c751 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,6 +1,7 @@
+ # Cross compile support - create a Makefile which defines these three variables and then includes this Makefile...
+-CFLAGS ?= -Wall -fPIC -O2 $(OPTS)
+-LDFLAGS ?= -lasound -lpthread -lm -lrt
++CFLAGS ?= -Wall -O2
++CFLAGS += -fPIC $(OPTS)
++LIBS ?= -lasound -lpthread -lm -lrt
+ EXECUTABLE ?= squeezelite
+
+ # passing one or more of these in $(OPTS) enables optional feature inclusion
+@@ -52,20 +53,20 @@ endif
+
+ # add optional link options
+ ifneq (,$(findstring $(OPT_LINKALL), $(CFLAGS)))
+- LDFLAGS += $(LINKALL)
++ LIBS += $(LINKALL)
+ ifneq (,$(findstring $(OPT_FF), $(CFLAGS)))
+- LDFLAGS += $(LINKALL_FF)
++ LIBS += $(LINKALL_FF)
+ endif
+ ifneq (,$(findstring $(OPT_RESAMPLE), $(CFLAGS)))
+- LDFLAGS += $(LINKALL_RESAMPLE)
++ LIBS += $(LINKALL_RESAMPLE)
+ endif
+ ifneq (,$(findstring $(OPT_IR), $(CFLAGS)))
+- LDFLAGS += $(LINKALL_IR)
++ LIBS += $(LINKALL_IR)
+ endif
+ else
+ # if not LINKALL and linux add LINK_LINUX
+ ifeq ($(UNAME), Linux)
+- LDFLAGS += $(LINK_LINUX)
++ LIBS += $(LINK_LINUX)
+ endif
+ endif
+
+@@ -74,7 +75,7 @@ OBJECTS = $(SOURCES:.c=.o)
+ all: $(EXECUTABLE)
+
+ $(EXECUTABLE): $(OBJECTS)
+- $(CC) $(OBJECTS) $(LDFLAGS) -o $@
++ $(CC) $(OBJECTS) $(LDFLAGS) $(LIBS) -o $@
+
+ $(OBJECTS): $(DEPS)
+
+--
+2.3.4
+
diff --git a/unmaintained/squeezelite/APKBUILD b/unmaintained/squeezelite/APKBUILD
new file mode 100644
index 0000000000..baee01c204
--- /dev/null
+++ b/unmaintained/squeezelite/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=squeezelite
+pkgver=1.8
+pkgrel=0
+pkgdesc="lightweight headless squeezebox emulator"
+url="https://code.google.com/p/squeezelite"
+arch="all"
+license="GPLv3"
+depends=""
+depends_dev="alsa-lib-dev faad2-dev flac-dev libmad-dev soxr-dev
+ libvorbis-dev mpg123-dev"
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="$pkgname-$pkgver-v2.tar.gz::http://dev.alpinelinux.org/archive/$pkgname/v1.8.tar.gz
+ 0001-only-run-glibc-specific-hacks-on-glibc.patch
+ 0001-respect-LDFLAGS.patch"
+
+_builddir="$srcdir/$pkgname-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"
+ OPTS="-DLINKALL -DRESAMPLE -DDSD" make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -m755 -D $pkgname \
+ $pkgdir/usr/bin/$pkgname || return 1
+}
+
+md5sums="bf133bd5a2ccc34d4bfb12a3cb3bcbb2 squeezelite-1.8-v2.tar.gz
+14bc562281e8c5e8faf947d3f9f65cf0 0001-only-run-glibc-specific-hacks-on-glibc.patch
+06dbeeeb3941f64ba29925a8ada76597 0001-respect-LDFLAGS.patch"
+sha256sums="233d39764c461e7ca716d3ed1363dda336a5406438400fbee2581233eefc0572 squeezelite-1.8-v2.tar.gz
+d0929efb834d80d5f6616607d4b883bf75094c37a687d05a1cbdaeb6db68e79d 0001-only-run-glibc-specific-hacks-on-glibc.patch
+6bc4ac51359dce464e3489fa5823cb009bad2253365f999fcda979be236b5d8e 0001-respect-LDFLAGS.patch"
+sha512sums="f7382e2b0c8bd13be922714f5615e999d93bec8b569ec078a3732ca685c09a4661940696f4da77d675f687dbdf95b08653217f4cb6649722dbdbf9324a0e5804 squeezelite-1.8-v2.tar.gz
+2146c7878f693cddb6b6cbce496946a38f7b3454b67789010a001942def5eacf7af79afb9745859c3ee047706beebec988fc50405eeceb59e0b743be59495786 0001-only-run-glibc-specific-hacks-on-glibc.patch
+5aeb611275df9b09c562fef9c85392b829c48d498f8c683bafae215d9ca81fbe54c7d68c737930c2f9d7d7017b981057cd55d786af909c252a975206083efaff 0001-respect-LDFLAGS.patch"
diff --git a/unmaintained/squidanalyzer/APKBUILD b/unmaintained/squidanalyzer/APKBUILD
new file mode 100644
index 0000000000..f61246ed39
--- /dev/null
+++ b/unmaintained/squidanalyzer/APKBUILD
@@ -0,0 +1,52 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=squidanalyzer
+pkgver=5.2
+pkgrel=0
+pkgdesc="Squid proxy log analyzer and report generator"
+url="http://squidanalyzer.darold.net/"
+arch="noarch"
+license="GPLv3"
+depends="perl"
+depends_dev=""
+makedepends="$depends_dev perl-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/project/squid-report/squid-report/$pkgver/squidanalyzer-$pkgver.tar.gz"
+
+_builddir="$srcdir"/squidanalyzer-$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"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL \
+ INSTALLDIRS=vendor \
+ BINDIR=/usr/sbin \
+ MANDIR=/usr/share/man/man3 \
+ HTMLDIR=/var/lib/squidanalyzer \
+ LOGFILE=/var/log/squid/access.log \
+ DESTDIR="$pkgdir" || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+ install -d "$pkgdir"/etc/periodic/daily
+ echo -e "#!/bin/sh\nexec /usr/sbin/squid-analyzer" \
+ > "$pkgdir"/etc/periodic/daily/squid-analyzer || return 1
+ chmod +x "$pkgdir"/etc/periodic/daily/squid-analyzer || return 1
+
+}
+
+md5sums="f716bbb106bde6c8dbe568a6d6f7d0a7 squidanalyzer-5.2.tar.gz"
+sha256sums="1f708e0c2baeb27e229039372bc80ea10c845495eca2bd8b3b099ce2ea2a244b squidanalyzer-5.2.tar.gz"
+sha512sums="e9b559db7333c2c8ec46a4c46b8b9182c6728f69cbeaf0378ccf2be737a35d8271b736010de23505655dd178e96fde2f8c8d1e4ef5a1dfbd1ba8e552b7f3780a squidanalyzer-5.2.tar.gz"
diff --git a/unmaintained/squidguard/APKBUILD b/unmaintained/squidguard/APKBUILD
new file mode 100644
index 0000000000..df2fdc8bcf
--- /dev/null
+++ b/unmaintained/squidguard/APKBUILD
@@ -0,0 +1,53 @@
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+pkgname=squidguard
+_realname=squidGuard
+pkgver=1.4
+pkgrel=6
+pkgdesc="Squid URL redirector"
+url="http://www.squidguard.org"
+arch="all"
+license="GPL"
+depends=
+makedepends="flex bison db-dev"
+install=
+pkgusers="squid"
+pkggroups="squid"
+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
+ squidguard-1.4-debian-bdb-51.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
+ patch -p1 < ../../squidguard-1.4-debian-bdb-51.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
+ mkdir -p "$pkgdir"/var/log/squidGuard && chown squid.squid "$pkgdir"/var/log/squidGuard
+}
+
+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
+ea2deca296c41107bc981d1a2a093846 squidguard-1.4-debian-bdb-51.patch"
diff --git a/unmaintained/squidguard/blockedsites b/unmaintained/squidguard/blockedsites
new file mode 100644
index 0000000000..46279a47ee
--- /dev/null
+++ b/unmaintained/squidguard/blockedsites
@@ -0,0 +1 @@
+sex.com
diff --git a/unmaintained/squidguard/squidGuard.conf.blocksites b/unmaintained/squidguard/squidGuard.conf.blocksites
new file mode 100644
index 0000000000..eaa8cdeef0
--- /dev/null
+++ b/unmaintained/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/unmaintained/squidguard/squidGuard.conf.minimal b/unmaintained/squidguard/squidGuard.conf.minimal
new file mode 100644
index 0000000000..3b0ebf55c7
--- /dev/null
+++ b/unmaintained/squidguard/squidGuard.conf.minimal
@@ -0,0 +1,7 @@
+logdir /var/log/squidGuard
+
+acl {
+ default {
+ pass all
+ }
+}
diff --git a/unmaintained/squidguard/squidguard-1.4-debian-bdb-51.patch b/unmaintained/squidguard/squidguard-1.4-debian-bdb-51.patch
new file mode 100644
index 0000000000..fc12c14b65
--- /dev/null
+++ b/unmaintained/squidguard/squidguard-1.4-debian-bdb-51.patch
@@ -0,0 +1,24 @@
+Package: squidguard
+Subject: make it useable with Berkeley DB version 5.x
+Author: Joachim Wiedorn <ad_debian at joonet.de>
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=621376
+Forwarded: yes
+Last-Update: 2011-05-31
+
+Since the end of 2010 the is a new major version of Berkeley DB.
+For use with squidguard it need this patch.
+
+---
+
+diff -urN s07/src/sgDb.c s08/src/sgDb.c
+--- s07/src/sgDb.c 2008-07-14 20:29:41.000000000 +0200
++++ s08/src/sgDb.c 2011-05-31 20:06:26.328740739 +0200
+@@ -114,7 +114,7 @@
+ }
+ }
+ #endif
+-#if DB_VERSION_MAJOR == 4
++#if DB_VERSION_MAJOR == 4 || DB_VERSION_MAJOR == 5
+ if(globalUpdate || createdb || (dbfile != NULL && stat(dbfile,&st))){
+ flag = DB_CREATE;
+ if(createdb)
diff --git a/unmaintained/squidguard/squidguard-1.4-gentoo.patch b/unmaintained/squidguard/squidguard-1.4-gentoo.patch
new file mode 100644
index 0000000000..60b5461e9e
--- /dev/null
+++ b/unmaintained/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/unmaintained/squidguard/squidguard-1.4-upstream-fixes.patch b/unmaintained/squidguard/squidguard-1.4-upstream-fixes.patch
new file mode 100644
index 0000000000..007e6b4c36
--- /dev/null
+++ b/unmaintained/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/unmaintained/squidguard/squidguard-1.4-vsnprintf.patch b/unmaintained/squidguard/squidguard-1.4-vsnprintf.patch
new file mode 100644
index 0000000000..bf4efec604
--- /dev/null
+++ b/unmaintained/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/unmaintained/sslscan/APKBUILD b/unmaintained/sslscan/APKBUILD
new file mode 100644
index 0000000000..47112704de
--- /dev/null
+++ b/unmaintained/sslscan/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=sslscan
+pkgver=1.8.2
+pkgrel=1
+pkgdesc="Security assessment tool for SSL"
+url="http://sourceforge.net/projects/sslscan/"
+arch="all"
+license="GPL3+"
+depends=""
+depends_dev=""
+makedepends="openssl-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tgz
+ sslscan-makefile.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 DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="1a890d031996ab252efb535511bd58db sslscan-1.8.2.tgz
+1aaacf4df3a6208a9aadafa1938c7126 sslscan-makefile.patch"
+sha256sums="3b728804456042d96d5c8ccd42326f8e5719d091986793bb7b852a36b50d2b3e sslscan-1.8.2.tgz
+01ae42e355da1837ebc393a44a2a2443e5fbde1d52f47acab77e5e4005e2c445 sslscan-makefile.patch"
+sha512sums="89dfa5426cf9c5631fcf379931eabf020d4b084feb88bbd61e81a4b927ad19275b8613adb06a39eb4d9ce2992f4460383935f5903cfa8f0f1a2e72f8a86ec8a3 sslscan-1.8.2.tgz
+6050e5216dd75593c9315d47ad690fbcc4ca58f7e529e7a69730aa8e9bdb98e855a0d0cfa76561aba4980cc3dcc92658466a1d9d0b3521bc99c2eab17301ad30 sslscan-makefile.patch"
diff --git a/unmaintained/sslscan/sslscan-makefile.patch b/unmaintained/sslscan/sslscan-makefile.patch
new file mode 100644
index 0000000000..c41eb230b1
--- /dev/null
+++ b/unmaintained/sslscan/sslscan-makefile.patch
@@ -0,0 +1,28 @@
+diff -ru sslscan-1.8.2/Makefile sslscan-1.8.2.fc12/Makefile
+--- sslscan-1.8.2/Makefile 2010-01-16 20:33:16.000000000 +0100
++++ sslscan-1.8.2.fc12/Makefile 2010-01-16 20:41:10.000000000 +0100
+@@ -1,17 +1,17 @@
+ SRCS = sslscan.c
+-BINPATH = /usr/bin/
+-MANPATH = /usr/share/man/
++BINPATH ?= /usr/bin/
++MANPATH ?= /usr/share/man/
+
+ all:
+- gcc -g -Wall -lssl -o sslscan $(SRCS) $(LDFLAGS) $(CFLAGS)
++ gcc -g -Wall -lssl -lcrypto -o sslscan $(SRCS) $(LDFLAGS) $(CFLAGS)
+
+ install:
+- cp sslscan $(BINPATH)
+- cp sslscan.1 $(MANPATH)man1
++ install -D -m 755 sslscan $(DESTDIR)$(BINPATH)sslscan
++ install -D -m 644 sslscan.1 $(DESTDIR)$(MANPATH)man1/sslscan.1
+
+ uninstall:
+- rm -f $(BINPATH)sslscan
+- rm -f $(MANPATH)man1/sslscan.1
++ rm -f $(DESTDIR)$(BINPATH)sslscan
++ rm -f $(DESTDIR)$(MANPATH)man1/sslscan.1
+
+ clean:
+ rm -f sslscan
diff --git a/unmaintained/stress/APKBUILD b/unmaintained/stress/APKBUILD
new file mode 100644
index 0000000000..01e72936f6
--- /dev/null
+++ b/unmaintained/stress/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Andy Shinn <andys@andyshinn.as>
+pkgname=stress
+pkgver=1.0.4
+pkgrel=0
+pkgdesc="a deliberately simple workload generator for POSIX systems"
+url="http://people.seas.harvard.edu/~apw/stress/"
+arch="all"
+license="GPLv2"
+depends=
+depends_dev=
+makedepends="gcc make libc-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://people.seas.harvard.edu/~apw/$pkgname/$pkgname-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+md5sums="890a4236dd1656792f3ef9a190cf99ef stress-1.0.4.tar.gz"
+sha256sums="057e4fc2a7706411e1014bf172e4f94b63a12f18412378fca8684ca92408825b stress-1.0.4.tar.gz"
+sha512sums="623a7d9585828bed4b7673e19fb0cfdda904552cd56353d74106047b64249299d5f8da892ec135f1781ec3984c7d5835dcc6c0d8e659e06c8a1e4fb2af9fd9c4 stress-1.0.4.tar.gz"
diff --git a/unmaintained/strigi/APKBUILD b/unmaintained/strigi/APKBUILD
new file mode 100644
index 0000000000..2b6f18e0f0
--- /dev/null
+++ b/unmaintained/strigi/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer:
+pkgname=strigi
+pkgver=0.7.8
+pkgrel=2
+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 libxml2-dev attr-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 \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DENABLE_CLUCENE=OFF \
+ -DENABLE_CLUCENE_NG=OFF \
+ -DENABLE_FFMPEG=OFF \
+ -DENABLE_LOG4CXX=OFF \
+ -DENABLE_FAM=OFF \
+ -DENABLE_QT4=ON \
+ "$_builddir" || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"/build
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="d69443234f4286d71997db9de543331a strigi-0.7.8.tar.bz2"
+sha256sums="43e461a625acdefa59bf58cc9d10aebda9eba920dfbe800fc77e6dcbf1eff989 strigi-0.7.8.tar.bz2"
+sha512sums="536f5bd5ed13d87d30c2fa31b6dcb2a883df173e5d60deefe0fdeb843f40f29f7edd0041029dc013bb31a205572087ed95ca661bcdf6d989d9806931716b1043 strigi-0.7.8.tar.bz2"
diff --git a/unmaintained/subberthehut/APKBUILD b/unmaintained/subberthehut/APKBUILD
new file mode 100644
index 0000000000..bd375d70d3
--- /dev/null
+++ b/unmaintained/subberthehut/APKBUILD
@@ -0,0 +1,26 @@
+# Maintainer:
+# Contributor: Bartłomiej Piotrowski <bpiotrowski@alpinelinux.org>
+
+pkgname=subberthehut
+pkgver=17
+pkgrel=0
+pkgdesc='Command-line based OpenSubtitles.org downloader'
+arch=all
+url='https://github.com/mus65/subberthehut'
+license='GPL2'
+depends=
+makedepends='xmlrpc-c-dev glib-dev zlib-dev curl-dev bash-completion'
+source="https://github.com/mus65/$pkgname/archive/$pkgver.tar.gz"
+
+build() {
+ make -C "$srcdir"/$pkgname-$pkgver || return 1
+}
+
+package() {
+ make -C "$srcdir"/$pkgname-$pkgver DESTDIR="$pkgdir" PREFIX=/usr install \
+ || return 1
+}
+
+md5sums="a208bc658dce94d4b1696403a9d75e69 17.tar.gz"
+sha256sums="fde3137b9f818e02eda3e6d7bf444b02df50bf60bb817a672e3413464a816e14 17.tar.gz"
+sha512sums="24d5935ec88c38f00e8b2e060e8cf8c680b3a1488539e66a7df6611697611cef420fc74cce9d2530a76a5e1e9215d5ece8267160ba69f8d6e266d5b063bd783e 17.tar.gz"
diff --git a/unmaintained/suspend-utils/APKBUILD b/unmaintained/suspend-utils/APKBUILD
new file mode 100644
index 0000000000..4342d1238e
--- /dev/null
+++ b/unmaintained/suspend-utils/APKBUILD
@@ -0,0 +1,56 @@
+# Contributor: Andrew Hills <ahills@ednos.net>
+# Maintainer: Andrew Hills <ahills@ednos.net>
+pkgname=suspend-utils
+pkgver=1.0
+pkgrel=0
+pkgdesc="Userspace Software Suspend (µswsusp)"
+url="http://suspend.sourceforge.net"
+arch="x86 x86_64"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev pciutils-dev libx86-dev util-linux-dev linux-headers"
+install=""
+subpackages="$pkgname-doc"
+source="http://sourceforge.net/projects/suspend/files/suspend/suspend-$pkgver/suspend-utils-$pkgver.tar.bz2
+ define-gnu-source.patch"
+
+_builddir="$srcdir"/suspend-utils-$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
+
+ update_config_sub
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=-std=gnu89
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="02f7d4b679bad1bb294a0efe48ce5934 suspend-utils-1.0.tar.bz2
+257194f9de1c5945fb28cbc0b958774c define-gnu-source.patch"
+sha256sums="0206ba6332860b6da57acc79cc0f8604150ef0835ff9633fd42d59d181a6c85d suspend-utils-1.0.tar.bz2
+99f6e77021a20b1df769559a501ebbe4b1afd36e19ad1e53a72d8e11f909dc6b define-gnu-source.patch"
+sha512sums="481f7ab6e6d43b963cf7abf4d16a9911035dbce13d96e11eeadd50bbd2b9671c597eab0e3060536dcb0d6d848e30ac0e7ff534275fc2d66d2064b75066a4adb8 suspend-utils-1.0.tar.bz2
+4acaa74c7466734a7da576e2d0c22a60112cb19d02516328b92ba1943fe280fa1b999be203e6c5fcc3d92d48092a72a6e7f3b2fac614c767f20de2e5c93c8da0 define-gnu-source.patch"
diff --git a/unmaintained/suspend-utils/define-gnu-source.patch b/unmaintained/suspend-utils/define-gnu-source.patch
new file mode 100644
index 0000000000..2d289a698e
--- /dev/null
+++ b/unmaintained/suspend-utils/define-gnu-source.patch
@@ -0,0 +1,30 @@
+--- suspend-utils-1.0/load.c
++++ suspend-utils-1.0-patch/load.c
+@@ -17,6 +17,7 @@
+ #include <time.h>
+ #include <syscall.h>
+ #include <libgen.h>
++#define _GNU_SOURCE
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <stdio.h>
+--- suspend-utils-1.0/resume.c
++++ suspend-utils-1.0-patch/resume.c
+@@ -18,6 +18,7 @@
+ #include <time.h>
+ #include <syscall.h>
+ #include <libgen.h>
++#define _GNU_SOURCE
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <stdio.h>
+--- suspend-utils-1.0/suspend.c
++++ suspend-utils-1.0-patch/suspend.c
+@@ -24,6 +24,7 @@
+ #include <linux/tiocl.h>
+ #include <syscall.h>
+ #include <libgen.h>
++#define _GNU_SOURCE
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <stdio.h>
diff --git a/unmaintained/swaks/APKBUILD b/unmaintained/swaks/APKBUILD
new file mode 100644
index 0000000000..87f82c2914
--- /dev/null
+++ b/unmaintained/swaks/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=swaks
+pkgver=20130209.0
+pkgrel=0
+pkgdesc="An SMTP transaction tester"
+url="http://www.jetmore.org/john/code/swaks"
+arch="noarch"
+license="GPL2+"
+depends="perl-authen-digestmd5 perl-digest-sha1 perl-net-dns
+ perl-net-ssleay perl-time-hires"
+depends_dev=""
+makedepends="perl"
+install=""
+#subpackages="$pkgname-doc"
+source="http://www.jetmore.org/john/code/$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
+}
+
+build() {
+ cd "$_builddir"
+# pod2man swaks > $pkgname.1
+}
+
+package() {
+ cd "$_builddir"
+ install -m755 -D "$_builddir"/$pkgname \
+ "$pkgdir"/usr/bin/$pkgname || return 1
+# install -m644 -D "$_builddir"/$pkgname.1 \
+# "$pkgdir"/usr/share/man/man1/$pkgname.1 || return 1
+}
+
+md5sums="281af4f487ada31cda1408a19e8da5b4 swaks-20130209.0.tar.gz"
+sha256sums="0b0967256dca82776f610f1db862bc47644b236f325fa48cbdb2651babd41f7c swaks-20130209.0.tar.gz"
+sha512sums="bf3c639f2c227d8219d5bc98a3d3519886471168c16e38d036283eeb1bb786c80bb80a648637150b3eb1903ef0c0d01bc37fd7b4f55af66a20f7bef18067b118 swaks-20130209.0.tar.gz"
diff --git a/unmaintained/t1-cursor/APKBUILD b/unmaintained/t1-cursor/APKBUILD
new file mode 100644
index 0000000000..82242670ac
--- /dev/null
+++ b/unmaintained/t1-cursor/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=t1-cursor
+pkgver=1.0.2
+pkgrel=0
+pkgdesc="Coursor font. Type 1 version."
+url="http://xorg.freedesktop.org/"
+arch="noarch"
+license="custom"
+depends="fontconfig"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="$url/releases/individual/font/font-xfree86-type1-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/font-xfree86-type1-$pkgver
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ cd "$_builddir"
+ install -Dm644 cursor.pfa \
+ "${pkgdir}/usr/share/fonts/${pkgname}" || return 1
+}
+
+md5sums="a966f5a8aade9e63af86d8a6bf3e8586 font-xfree86-type1-1.0.2.tar.bz2"
+sha256sums="7a026aeaafe5a619b2c1b35cd361125b169b2212eaf0f2f5ce796038b1cf06cd font-xfree86-type1-1.0.2.tar.bz2"
+sha512sums="5fd55c5300f66be2fd9f00bc4805f9184e2d5fed9644276ae3a8e4c70582d6543534aa515274f3e19747137efb3541e4b0f7e9e60a5975d795df249493742552 font-xfree86-type1-1.0.2.tar.bz2"
diff --git a/unmaintained/t1-urw-fonts/45-urw-fonts.conf b/unmaintained/t1-urw-fonts/45-urw-fonts.conf
new file mode 100644
index 0000000000..379cf915b9
--- /dev/null
+++ b/unmaintained/t1-urw-fonts/45-urw-fonts.conf
@@ -0,0 +1,54 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+ <alias>
+ <family>Nimbus Mono</family>
+ <default>
+ <family>monospace</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Nimbus Roman</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Nimbus Sans</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Bookman URW</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Chancery URW</family>
+ <default>
+ <family>cursive</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>URW Gothic</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Palladio URW</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+</fontconfig>
diff --git a/unmaintained/t1-urw-fonts/90-non-tt-urw-fonts.conf b/unmaintained/t1-urw-fonts/90-non-tt-urw-fonts.conf
new file mode 100644
index 0000000000..95eaf20ee5
--- /dev/null
+++ b/unmaintained/t1-urw-fonts/90-non-tt-urw-fonts.conf
@@ -0,0 +1,167 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+ <match target="font">
+ <test name="family">
+ <string>Dingbats</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Nimbus Mono</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Nimbus Roman</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Nimbus Sans</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Bookman URW</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Chancery URW</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>URW Gothic</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Palladio URW</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Standard Symbols L</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/unmaintained/t1-urw-fonts/APKBUILD b/unmaintained/t1-urw-fonts/APKBUILD
new file mode 100644
index 0000000000..eba7ff1c3f
--- /dev/null
+++ b/unmaintained/t1-urw-fonts/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=t1-urw-fonts
+pkgver=1.10
+pkgrel=0
+pkgdesc="Standard Ghostscript Type1 fonts from URW for infinality-bundle-fonts."
+url="http://sourceforge.net/projects/gs-fonts/"
+arch="noarch"
+license="GPL2"
+depends="fontconfig"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+# added fontconfig configuration from:
+# https://github.com/bohoomil/fontconfig-ultimate/tree/master/fontconfig_patches/fonts-settings
+source="http://dev.alpinelinux.org/archive/t1-urw-fonts/urw-core35-fonts-$pkgver.tar.xz
+ 45-urw-fonts.conf
+ 90-non-tt-urw-fonts.conf"
+
+_builddir="$srcdir"
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ cd "$_builddir"
+
+ mkdir -p "$pkgdir"/usr/share/fonts/$pkgname \
+ "$pkgdir"/etc/fonts/conf.avail \
+ "$pkgdir"/etc/fonts/conf.d
+
+ install -m644 *.pfb "$pkgdir"/usr/share/fonts/$pkgname/ || return 1
+ install -m644 *.pfm "$pkgdir"/usr/share/fonts/$pkgname/ || return 1
+ install -m644 *.afm "$pkgdir"/usr/share/fonts/$pkgname/ || return 1
+
+ for j in "$srcdir"/*.conf; do
+ install -m644 "$j" \
+ "$pkgdir"/etc/fonts/conf.avail/ || return 1
+ cd "$pkgdir"/etc/fonts/conf.d
+ ln -sf /etc/fonts/conf.avail/${j##*/}
+ done
+}
+md5sums="fd98607bf533d583f3af2c3a6ac16a11 urw-core35-fonts-1.10.tar.xz
+48de0ded85f8185c3226e32e44ca5916 45-urw-fonts.conf
+d34210d1717da74a150cf0c09ddeba92 90-non-tt-urw-fonts.conf"
+sha256sums="1bbf31f39980ef401bf373a6581cd17cefe77166d045a009c04703f68feebcd8 urw-core35-fonts-1.10.tar.xz
+7e7a7ebd942523a824e41956e7eff5bad5f0934bad4fbab8141704594c6894c2 45-urw-fonts.conf
+99cd727c211603a1aa04c83c1ebc9b81eea8200228226f0880f1b7910666b5c6 90-non-tt-urw-fonts.conf"
+sha512sums="adae3ab7d075c8bc40116fd1761f1a043ad84fe8aa0ada8ed0676caa202bced7a5a073fd6e7f1fce7ecb149a91136dec31759d1054fa4cffa503e17ac9523a14 urw-core35-fonts-1.10.tar.xz
+e79b3eb7cacc1c4f98756937a65c8b37cce21e845fd158f52f70de4907d1e5be42ce69862060c6d07f8ede4b1624104a0375f02aa4eb8a282fed6bd869019320 45-urw-fonts.conf
+7f341926a31831082cb2a9f231e4e0a268fd89f6abc26187d954822e6f4d6e2827ffd5509e2f1de8d7e20576fa5414d9c2a4da330241588343faf31d1c9a0b2e 90-non-tt-urw-fonts.conf"
diff --git a/unmaintained/t1lib/APKBUILD b/unmaintained/t1lib/APKBUILD
new file mode 100644
index 0000000000..11e47c930f
--- /dev/null
+++ b/unmaintained/t1lib/APKBUILD
@@ -0,0 +1,61 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=t1lib
+pkgver=5.1.2
+pkgrel=0
+pkgdesc="Rasterizer library for Adobe Type 1 fonts "
+url="http://www.ibiblio.org/pub/Linux/libs/graphics/!INDEX.html"
+arch="all"
+license="GPL"
+depends=""
+depends_dev="libxaw-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://www.ibiblio.org/pub/Linux/libs/graphics/$pkgname-$pkgver.tar.gz
+ CVE-2010-2642.patch
+ CVE-2011-0764.patch
+ CVE-2011-1552_1553_1554.patch
+ format-security.patch
+ lib-cleanup.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
+ make without_doc
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="${pkgdir}" install
+}
+
+md5sums="a5629b56b93134377718009df1435f3c t1lib-5.1.2.tar.gz
+2283c116d1dda278ee77ef27c1a8e397 CVE-2010-2642.patch
+60fb9f058a6bb1f760ddaf2ed7d71879 CVE-2011-0764.patch
+22e03d81fab188139acbe7fd3a0a706a CVE-2011-1552_1553_1554.patch
+b947e6a732729db2819d4f857a686e2f format-security.patch
+82dafb6051d64a94f32c73d59649ddd0 lib-cleanup.patch"
+sha256sums="821328b5054f7890a0d0cd2f52825270705df3641dbd476d58d17e56ed957b59 t1lib-5.1.2.tar.gz
+dcd9064f368e0fc1f3ede0a45e61b364f6b5d3607dccae78ac07e74ca315a27d CVE-2010-2642.patch
+a763650bdcffd33a61cd2cecef766b8d6baa9999561463ae9dfdc20d55caef04 CVE-2011-0764.patch
+4bc34e092fdec37e06b38b5b7a3b02194732dbe6a39edbd174b36c2db1f113ac CVE-2011-1552_1553_1554.patch
+89b0aa7ca57fd8e9753336033c1d3e3e58c6c79e943144430e8af9a4626fdd25 format-security.patch
+5b161f4e0f4ad297ad8eea70ea99620f5db6f7e487bbd63a819b6a9958540961 lib-cleanup.patch"
+sha512sums="9f424b19c6f35cc4f194ff7351a4c2352216462c7d1b1d9650ad3a05cf48c6e90c89ccbcda5ecc47a4169a39a850cf84a1fcbf88b3b15614860c27364b631ae3 t1lib-5.1.2.tar.gz
+5714bb8790cec04c0c03778e708fc69ed0e21a68a5c9ff2a6ecafdfbb649540e9e214085fa1b05206166abe3c48ed3605ef7a0812341970709c0ac205d93c925 CVE-2010-2642.patch
+922c1089ca7ec2ecaaee9058b68deb3c9e7952465883500e3247a835d5c8e0d54b9b8145dce8ec5846a0c47ac9b4b7889fcc88033f463acbd68d8ee9e3123859 CVE-2011-0764.patch
+54fb9bb95d20e6a622cc52a7f7b0c3db9ee77e7a1efe1f55b81f07140d0185dd49a8a0b86390dd2d317e5f779cd02759ed6ffa8259c054deab30d2a64d64c19b CVE-2011-1552_1553_1554.patch
+0d7b5db6d9636182d557cc6a760e9eae7f4e8997998366eb517825ebd4a033e13e35bdce4f67f3f4d046d018cd348c68d9c578c0501fef417c9963763168ff22 format-security.patch
+efbce854093bc2408c9e7d6be374901e82e399b60a057746cb876f0943f69018039038e337bd4b03da2568d597cec87e2d9f01f98f374433310edbbe440ec259 lib-cleanup.patch"
diff --git a/unmaintained/t1lib/CVE-2010-2642.patch b/unmaintained/t1lib/CVE-2010-2642.patch
new file mode 100644
index 0000000000..cd54889585
--- /dev/null
+++ b/unmaintained/t1lib/CVE-2010-2642.patch
@@ -0,0 +1,24 @@
+diff --git a/lib/t1lib/parseAFM.c b/lib/t1lib/parseAFM.c
+index 6a31d7f..ba64541 100644
+--- a/lib/t1lib/parseAFM.c
++++ b/lib/t1lib/parseAFM.c
+@@ -199,7 +199,9 @@ static char *token(stream)
+ idx = 0;
+
+ while (ch != EOF && ch != ' ' && ch != CR && ch != LF &&
+- ch != CTRL_Z && ch != '\t' && ch != ':' && ch != ';'){
++ ch != CTRL_Z && ch != '\t' && ch != ':' && ch != ';'
++ && idx < (MAX_NAME -1))
++ {
+ ident[idx++] = ch;
+ ch = fgetc(stream);
+ } /* while */
+@@ -235,7 +237,7 @@ static char *linetoken(stream)
+ while ((ch = fgetc(stream)) == ' ' || ch == '\t' );
+
+ idx = 0;
+- while (ch != EOF && ch != CR && ch != LF && ch != CTRL_Z)
++ while (ch != EOF && ch != CR && ch != LF && ch != CTRL_Z && idx < (MAX_NAME - 1))
+ {
+ ident[idx++] = ch;
+ ch = fgetc(stream);
diff --git a/unmaintained/t1lib/CVE-2011-0764.patch b/unmaintained/t1lib/CVE-2011-0764.patch
new file mode 100644
index 0000000000..c2d9e173b7
--- /dev/null
+++ b/unmaintained/t1lib/CVE-2011-0764.patch
@@ -0,0 +1,32 @@
+Description: Don't lookup previous point if there isn't any
+Author: Marc Deslauriers <marc.deslauriers@canonical.com>
+Forwarded: no
+
+Index: t1lib-5.1.2/lib/type1/type1.c
+===================================================================
+--- t1lib-5.1.2.orig/lib/type1/type1.c 2011-12-13 14:24:14.280965637 -0600
++++ t1lib-5.1.2/lib/type1/type1.c 2011-12-13 14:25:25.893320747 -0600
+@@ -1700,6 +1700,7 @@
+ long pindex = 0;
+
+ /* compute hinting for previous segment! */
++ if (ppoints == NULL) Error0i("RLineTo: No previous point!\n");
+ FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx, dy);
+
+ /* Allocate a new path point and pre-setup data */
+@@ -1728,6 +1729,7 @@
+ long pindex = 0;
+
+ /* compute hinting for previous point! */
++ if (ppoints == NULL) Error0i("RRCurveTo: No previous point!\n");
+ FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx1, dy1);
+
+ /* Allocate three new path points and pre-setup data */
+@@ -1903,6 +1905,7 @@
+ FindStems( currx, curry, 0, 0, dx, dy);
+ }
+ else {
++ if (ppoints == NULL) Error0i("RMoveTo: No previous point!\n");
+ FindStems( currx, curry, ppoints[numppoints-2].x, ppoints[numppoints-2].y, dx, dy);
+ }
+
diff --git a/unmaintained/t1lib/CVE-2011-1552_1553_1554.patch b/unmaintained/t1lib/CVE-2011-1552_1553_1554.patch
new file mode 100644
index 0000000000..aaa31f7b93
--- /dev/null
+++ b/unmaintained/t1lib/CVE-2011-1552_1553_1554.patch
@@ -0,0 +1,133 @@
+Author: Jaroslav Škarvada <jskarvad@redhat.com>
+Description: Fix more crashes on oversized fonts
+Bug-Redhat: http://bugzilla.redhat.com/show_bug.cgi?id=692909
+Index: t1lib-5.1.2/lib/type1/lines.c
+===================================================================
+--- t1lib-5.1.2.orig/lib/type1/lines.c 2007-12-23 09:49:42.000000000 -0600
++++ t1lib-5.1.2/lib/type1/lines.c 2012-01-17 14:15:08.000000000 -0600
+@@ -67,6 +67,10 @@
+ None.
+ */
+
++#define BITS (sizeof(LONG)*8)
++#define HIGHTEST(p) (((p)>>(BITS-2)) != 0) /* includes sign bit */
++#define TOOBIG(xy) ((xy < 0) ? HIGHTEST(-xy) : HIGHTEST(xy))
++
+ /*
+ :h2.StepLine() - Produces Run Ends for a Line After Checks
+
+@@ -84,6 +88,9 @@
+ IfTrace4((LineDebug > 0), ".....StepLine: (%d,%d) to (%d,%d)\n",
+ x1, y1, x2, y2);
+
++ if ( TOOBIG(x1) || TOOBIG(x2) || TOOBIG(y1) || TOOBIG(y2))
++ abort("Lines this big not supported", 49);
++
+ dy = y2 - y1;
+
+ /*
+Index: t1lib-5.1.2/lib/type1/objects.c
+===================================================================
+--- t1lib-5.1.2.orig/lib/type1/objects.c 2007-12-23 09:49:42.000000000 -0600
++++ t1lib-5.1.2/lib/type1/objects.c 2012-01-17 14:15:08.000000000 -0600
+@@ -1137,12 +1137,13 @@
+ "Context: out of them", /* 46 */
+ "MatrixInvert: can't", /* 47 */
+ "xiStub called", /* 48 */
+- "Illegal access type1 abort() message" /* 49 */
++ "Lines this big not supported", /* 49 */
++ "Illegal access type1 abort() message" /* 50 */
+ };
+
+- /* no is valid from 1 to 48 */
+- if ( (number<1)||(number>48))
+- number=49;
++ /* no is valid from 1 to 49 */
++ if ( (number<1)||(number>49))
++ number=50;
+ return( err_msgs[number-1]);
+
+ }
+Index: t1lib-5.1.2/lib/type1/type1.c
+===================================================================
+--- t1lib-5.1.2.orig/lib/type1/type1.c 2012-01-17 14:13:28.000000000 -0600
++++ t1lib-5.1.2/lib/type1/type1.c 2012-01-17 14:19:54.000000000 -0600
+@@ -1012,6 +1012,7 @@
+ double nextdtana = 0.0; /* tangent of post-delta against horizontal line */
+ double nextdtanb = 0.0; /* tangent of post-delta against vertical line */
+
++ if (ppoints == NULL || numppoints < 1) Error0v("FindStems: No previous point!\n");
+
+ /* setup default hinted position */
+ ppoints[numppoints-1].ax = ppoints[numppoints-1].x;
+@@ -1289,7 +1290,7 @@
+ static int DoRead(CodeP)
+ int *CodeP;
+ {
+- if (strindex >= CharStringP->len) return(FALSE); /* end of string */
++ if (!CharStringP || strindex >= CharStringP->len) return(FALSE); /* end of string */
+ /* We handle the non-documented Adobe convention to use lenIV=-1 to
+ suppress charstring encryption. */
+ if (blues->lenIV==-1) {
+@@ -1700,7 +1701,7 @@
+ long pindex = 0;
+
+ /* compute hinting for previous segment! */
+- if (ppoints == NULL) Error0i("RLineTo: No previous point!\n");
++ if (ppoints == NULL || numppoints < 2) Error0i("RLineTo: No previous point!\n");
+ FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx, dy);
+
+ /* Allocate a new path point and pre-setup data */
+@@ -1729,7 +1730,7 @@
+ long pindex = 0;
+
+ /* compute hinting for previous point! */
+- if (ppoints == NULL) Error0i("RRCurveTo: No previous point!\n");
++ if (ppoints == NULL || numppoints < 2) Error0i("RRCurveTo: No previous point!\n");
+ FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx1, dy1);
+
+ /* Allocate three new path points and pre-setup data */
+@@ -1788,7 +1789,9 @@
+ long tmpind;
+ double deltax = 0.0;
+ double deltay = 0.0;
+-
++
++ if (ppoints == NULL || numppoints < 1) Error0i("DoClosePath: No previous point!");
++
+ /* If this ClosePath command together with the starting point of this
+ path completes to a segment aligned to a stem, we would miss
+ hinting for this point. --> Check and explicitly care for this! */
+@@ -1803,6 +1806,7 @@
+ deltax = ppoints[i].x - ppoints[numppoints-1].x;
+ deltay = ppoints[i].y - ppoints[numppoints-1].y;
+
++ if (ppoints == NULL || numppoints <= i + 1) Error0i("DoClosePath: No previous point!");
+ /* save nummppoints and reset to move point */
+ tmpind = numppoints;
+ numppoints = i + 1;
+@@ -1905,7 +1909,7 @@
+ FindStems( currx, curry, 0, 0, dx, dy);
+ }
+ else {
+- if (ppoints == NULL) Error0i("RMoveTo: No previous point!\n");
++ if (ppoints == NULL || numppoints < 2) Error0i("RMoveTo: No previous point!\n");
+ FindStems( currx, curry, ppoints[numppoints-2].x, ppoints[numppoints-2].y, dx, dy);
+ }
+
+@@ -2155,6 +2159,7 @@
+ DOUBLE cx, cy;
+ DOUBLE ex, ey;
+
++ if (ppoints == NULL || numppoints < 8) Error0v("FlxProc: No previous point!");
+
+ /* Our PPOINT list now contains 7 moveto commands which
+ are about to be consumed by the Flex mechanism. --> Remove these
+@@ -2324,6 +2329,7 @@
+ /* Returns currentpoint on stack */
+ static void FlxProc2()
+ {
++ if (ppoints == NULL || numppoints < 1) Error0v("FlxProc2: No previous point!");
+ /* Push CurrentPoint on fake PostScript stack */
+ PSFakePush( ppoints[numppoints-1].x);
+ PSFakePush( ppoints[numppoints-1].y);
diff --git a/unmaintained/t1lib/format-security.patch b/unmaintained/t1lib/format-security.patch
new file mode 100644
index 0000000000..442545571d
--- /dev/null
+++ b/unmaintained/t1lib/format-security.patch
@@ -0,0 +1,33 @@
+--- a/lib/type1/objects.c
++++ b/lib/type1/objects.c
+@@ -957,7 +957,7 @@
+
+ sprintf(typemsg, "Wrong object type in %s; expected %s, found %s.\n",
+ name, TypeFmt(expect), TypeFmt(obj->type));
+- IfTrace0(TRUE,typemsg);
++ IfTrace1(TRUE, "%s", typemsg);
+
+ ObjectPostMortem(obj);
+
+--- a/lib/t1lib/t1subset.c
++++ b/lib/t1lib/t1subset.c
+@@ -759,7 +759,7 @@
+ tr_len);
+ T1_PrintLog( "T1_SubsetFont()", err_warn_msg_buf,
+ T1LOG_DEBUG);
+- l+=sprintf( &(trailerbuf[l]), linebuf); /* contains the PostScript trailer */
++ l+=sprintf( &(trailerbuf[l]), "%s", linebuf); /* contains the PostScript trailer */
+ }
+
+ /* compute size of output file */
+--- a/lib/type1/objects.h
++++ b/lib/type1/objects.h
+@@ -214,7 +214,7 @@
+ /*SHARED*/
+ /* NDW: personally, I want to see status and error messages! */
+ #define IfTrace0(condition,model) \
+- {if (condition) printf(model);}
++ {if (condition) fputs(model,stdout);}
+ #define IfTrace1(condition,model,arg0) \
+ {if (condition) printf(model,arg0);}
+ #define IfTrace2(condition,model,arg0,arg1) \
diff --git a/unmaintained/t1lib/lib-cleanup.patch b/unmaintained/t1lib/lib-cleanup.patch
new file mode 100644
index 0000000000..bd109d1a75
--- /dev/null
+++ b/unmaintained/t1lib/lib-cleanup.patch
@@ -0,0 +1,59 @@
+do not link against libraries that are not needed
+
+Index: t1lib-5.1.1/lib/Makefile.in
+===================================================================
+--- t1lib-5.1.1.orig/lib/Makefile.in 2008-01-05 19:17:21.000000000 +0100
++++ t1lib-5.1.1/lib/Makefile.in 2008-01-05 19:17:38.000000000 +0100
+@@ -24,7 +24,7 @@
+ X_LIBS = @X_LIBS@
+ TOPSRC = @top_srcdir@
+ XPM_LIB = -lXpm
+-XLIB = @X_PRE_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@
++XLIB = -lX11
+ LDFLAGS = @LDFLAGS@
+ LDLIBS = @LDLIBS@
+ AR = ar rc
+@@ -137,7 +137,7 @@
+ $(LIBTOOL) --mode=link \
+ $(CC) $(LDFLAGS) -o $@ $(T1LIBX_OBJS) \
+ -version-info @T1LIB_LT_CURRENT@:@T1LIB_LT_REVISION@:@T1LIB_LT_AGE@ \
+- libt1.la $(X_LIBS) $(XPM_LIB) $(XLIB) -no-undefined -rpath $(libdir)
++ libt1.la $(X_LIBS) $(XLIB) -no-undefined -rpath $(libdir)
+ cp t1lib/t1libx.h .
+
+
+Index: t1lib-5.1.1/type1afm/Makefile.in
+===================================================================
+--- t1lib-5.1.1.orig/type1afm/Makefile.in 2008-01-05 19:17:52.000000000 +0100
++++ t1lib-5.1.1/type1afm/Makefile.in 2008-01-05 19:18:02.000000000 +0100
+@@ -70,7 +70,7 @@
+
+ type1afm: $(OBJS) ../lib/t1lib.h
+ $(LIBTOOL) --mode=link \
+- $(CC) -o type1afm $(LDFLAGS) $(OBJS) $(T1LIB) $(LDLIBS)
++ $(CC) -o type1afm $(LDFLAGS) $(OBJS) $(T1LIB)
+
+ .SUFFIXES: .lo
+ .c.lo:
+Index: t1lib-5.1.1/xglyph/Makefile.in
+===================================================================
+--- t1lib-5.1.1.orig/xglyph/Makefile.in 2008-01-05 19:18:15.000000000 +0100
++++ t1lib-5.1.1/xglyph/Makefile.in 2008-01-05 19:18:31.000000000 +0100
+@@ -24,7 +24,7 @@
+ X_LIBS = @X_LIBS@
+ TOPSRC = @top_srcdir@
+ XPM_LIB = -lXpm
+-XLIB = @X_PRE_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@
++XLIB = -lX11 @X_EXTRA_LIBS@
+ LDFLAGS = @LDFLAGS@
+ LDLIBS = @LDLIBS@
+ AR = ar rc
+@@ -65,7 +65,7 @@
+
+ T1LIB = ../lib/libt1.la
+ T1LIBX = ../lib/libt1x.la
+-XAWLIB = -lXaw -lXt -lXmu
++XAWLIB = -lXaw -lXt
+
+
+ all: xglyph
diff --git a/unmaintained/tartarus/APKBUILD b/unmaintained/tartarus/APKBUILD
new file mode 100644
index 0000000000..432929b64f
--- /dev/null
+++ b/unmaintained/tartarus/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Leslie P. Polzer <polzer@port-zero.com>
+# Maintainer: Leslie P. Polzer <polzer@port-zero.com>
+pkgname=tartarus
+pkgver=0.9.8
+pkgrel=1
+pkgdesc="A flexible script based backup system"
+url="http://wertarbyte.de/tartarus.shtml"
+arch="noarch"
+license="GPL3+"
+depends="perl"
+makedepends="perl"
+subpackages="$pkgname-doc"
+install="$pkgname.post-install"
+source="http://wertarbyte.de/tartarus/tartarus-$pkgver.tar.bz2"
+
+_builddir="$srcdir/tartarus-$pkgver"
+build() {
+ cd "$_builddir"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+
+ mkdir -p "$pkgdir"/usr/bin
+ install -m755 bin/* "$pkgdir"/usr/bin
+
+ mkdir -p "$pkgdir"/usr/lib/perl5/vendor_perl
+ cp -rv lib/Tartarus "$pkgdir"/usr/lib/perl5/vendor_perl/
+
+ mkdir -p "$pkgdir"/usr/share/man/man1
+ install -m644 man/*.1 "$pkgdir"/usr/share/man/man1
+
+ chown -R 0:0 "$pkgdir"
+}
+
+md5sums="4aa1cc8b550ded1c77fc50aeef146310 tartarus-0.9.8.tar.bz2"
+sha256sums="cfd3158974e4c331bebf5b9fbf51eb3f884a71d60eaf2c82e8856a150691bcef tartarus-0.9.8.tar.bz2"
+sha512sums="b879e214924643664e45165b227ceda9723be919854bd867fe11a2c474c1ae3cc9c2206992cb3a75ad02683c8feb44c21f884eb6f354caa398ca0ea9ce9f82d4 tartarus-0.9.8.tar.bz2"
diff --git a/unmaintained/tartarus/tartarus.post-install b/unmaintained/tartarus/tartarus.post-install
new file mode 100644
index 0000000000..ddf64f851e
--- /dev/null
+++ b/unmaintained/tartarus/tartarus.post-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+echo "Optional packages for Tartarus:"
+echo " * afio: for using afio as archive format"
+echo " * curl: for storing backups on FTP sites"
+echo " * lvm2: for snapshot support"
+echo " * gnupg: for encryption support"
diff --git a/unmaintained/tb-tun/APKBUILD b/unmaintained/tb-tun/APKBUILD
new file mode 100644
index 0000000000..676e981929
--- /dev/null
+++ b/unmaintained/tb-tun/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Dennis Przytarski <dennis@przytarski.com>
+# Maintainer:
+pkgname=tb-tun
+pkgver=r18
+pkgrel=0
+pkgdesc="An userspace program using TUN/TAP to build 6to4/tunnelbroker/ISATAP tunnel on Linux"
+url="https://code.google.com/p/tb-tun/"
+arch="all"
+license="GPL1+ PerlArtistic"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://$pkgname.googlecode.com/files/${pkgname}_${pkgver}.tar.gz"
+
+_builddir="$srcdir"
+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"
+ gcc tb_userspace.c -l pthread -o tb_userspace || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -Dm755 tb_userspace "$pkgdir"/usr/sbin/tb_userspace || return 1
+}
+
+md5sums="7227ed964e9eaacb7fc7e08a86c3ffcc tb-tun_r18.tar.gz"
+sha256sums="3c4a18069a888a15b20da3a8ba12374bcae8257b59c0f2221513811df23dec12 tb-tun_r18.tar.gz"
+sha512sums="476532ffaa0eb584af04bc226507445fbe6f5d50aff25cbee6f1d85c0fae19621923905be2a01c52bad5bb01156237b232eed485fd45ffee1da48f14534a92c0 tb-tun_r18.tar.gz"
diff --git a/unmaintained/tc-play/APKBUILD b/unmaintained/tc-play/APKBUILD
new file mode 100644
index 0000000000..76fa7f846f
--- /dev/null
+++ b/unmaintained/tc-play/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer:
+pkgname=tc-play
+pkgver=2.0
+pkgrel=0
+pkgdesc="Free and simple TrueCrypt Implementation based on dm-crypt"
+url="https://github.com/bwalex/tc-play"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="$depends_dev libgcrypt-dev cmake lvm2-dev util-linux-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="tc-play-$pkgver.tar.gz::https://github.com/bwalex/tc-play/archive/v$pkgver.tar.gz
+ libsuffix.patch"
+
+_builddir="$srcdir"/tc-play-$pkgver
+prepare() {
+ local i
+ mkdir -p "$_builddir"/objdir
+ 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"/objdir
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"/objdir
+ make install DESTDIR="$pkgdir" || return 1
+}
+
+md5sums="c0c6638f078d946b58d6108518e54e3c tc-play-2.0.tar.gz
+0d44056b83c9a0db59d0eec530b878e3 libsuffix.patch"
+sha256sums="0e17890f37e862746364b10bad62bbd9f3e2b2811a24b07df12eff266534e42d tc-play-2.0.tar.gz
+4891905a1650df46004820dddd00f53b7d9790cf56410438e737e19e9b337cf4 libsuffix.patch"
+sha512sums="17408b2a664eb6822c77ede4f38ca67cdf643512014619d830a2c024bb8971811eded4edd65f6398d6112a3b57cd11a5b414357878c817c9cc2aac9d851946d7 tc-play-2.0.tar.gz
+4e1c8566f1dee3a8fdeb29f1ac0164b69ff0095cc13ceb339aeceea4b7db63abcea11579ca4613cd9998550cba44cbf0ac08a5386131db9cbd3a663e9bd476f6 libsuffix.patch"
diff --git a/unmaintained/tc-play/libsuffix.patch b/unmaintained/tc-play/libsuffix.patch
new file mode 100644
index 0000000000..31f1e22d36
--- /dev/null
+++ b/unmaintained/tc-play/libsuffix.patch
@@ -0,0 +1,24 @@
+--- ./CMakeLists.txt.orig
++++ ./CMakeLists.txt
+@@ -63,21 +63,6 @@
+ endif()
+
+
+-if (NOT LIB_SUFFIX)
+- message(STATUS "")
+- message(STATUS "LIB_SUFFIX variable is not defined. It will be autodetected now.")
+- message(STATUS "You can set it manually with -DLIB_SUFFIX=<value> (e.g. 64).")
+- if (CMAKE_SIZEOF_VOID_P EQUAL 8)
+- message(STATUS "\nSetting LIB_SUFFIX=64\n")
+- set (LIB_SUFFIX "64")
+- else()
+- message(STATUS "\nSetting LIB_SUFFIX=\n")
+- set (LIB_SUFFIX "")
+- endif()
+-endif()
+-
+-
+-
+ add_executable(tcplay-bin main.c ${SRCS_COMMON} ${SRCS_LINUX} ${SRCS_PBKDF})
+ set_target_properties(tcplay-bin PROPERTIES OUTPUT_NAME tcplay)
+ set_target_properties(tcplay-bin PROPERTIES COMPILE_FLAGS "${CFLAGS_COMMON} ${DEVMAPPER_CFLAGS} ${UUID_CFLAGS} ${GCRYPT_CFLAGS}")
diff --git a/unmaintained/ted/APKBUILD b/unmaintained/ted/APKBUILD
new file mode 100644
index 0000000000..e7279ef6ee
--- /dev/null
+++ b/unmaintained/ted/APKBUILD
@@ -0,0 +1,82 @@
+# Contributor: Isaac Dunham <ibid.ag@gmail.com>
+# Maintainer: Isaac Dunham <ibid.ag@gmail.com>
+pkgname=ted
+pkgver=2.23
+pkgrel=1
+pkgdesc="An easy Rich Text Processor"
+url="http://www.nllgg.nl/Ted/"
+arch="all"
+license="GPL2+"
+depends="$pkgname-common"
+makedepends="pcre-dev motif-dev gtk+2.0-dev libx11-dev
+ libxpm-dev libpng-dev libjpeg-turbo-dev tiff-dev libpaper-dev "
+install=""
+subpackages="$pkgname-motif $pkgname-common $pkgname-doc"
+source="http://ftp.nluug.nl/pub/editors/ted/ted-$pkgver.src.tar.gz"
+
+_builddir="$srcdir"/Ted-$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 -j1 CONFIGURE_OPTIONS="--with-MOTIF" compile.shared || return 1
+ cp Ted/Ted Ted.motif || return 1
+ make clean || return 1
+ make -j1 compile.shared || return 1
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"
+ make DESTDIR="$pkgdir" install || return 1
+ cp Ted.motif "$pkgdir"/usr/bin/ || return 1
+ mv "$pkgdir"/usr/share/Ted/examples/rtf*.sh "$pkgdir"/usr/bin || \
+ return 1
+ mv "$pkgdir"/usr/share/Ted/doc/*.1 "$pkgdir"/usr/share/man/man1/ || \
+ return 1
+}
+
+
+motif() {
+ provides="ted=$pkgver-r$pkgrel"
+ depends="ted-common"
+ triggers="ted-motif.trigger=/usr/bin/Ted*"
+ pkgdesc="An easy Rich Text Processor (Motif version)"
+ mkdir -p "$subpkgdir"/usr/bin || return 1
+ mv "$pkgdir"/usr/bin/Ted.motif "$subpkgdir"/usr/bin || return 1
+}
+
+common() {
+ depends=""
+ arch="noarch"
+ mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/usr/share/Ted || return 1
+ mv "$pkgdir"/usr/share/applications "$subpkgdir"/usr/share/ || return 1
+ mv "$pkgdir"/usr/share/Ted/afm/ "$pkgdir"/usr/share/Ted/config/ \
+ "$pkgdir"/usr/share/Ted/dfa/ "$pkgdir"/usr/share/Ted/Ted*.* \
+ "$subpkgdir"/usr/share/Ted/ || return 1
+ mv "$pkgdir"/usr/bin/*.sh "$subpkgdir"/usr/bin/ || return 1
+}
+
+doc() {
+ depends=""
+ mkdir -p "$subpkgdir"/usr/share/ || return 1
+ mv "$pkgdir"/usr/share/Ted "$subpkgdir"/usr/share || return 1
+ default_doc || return 1
+ if test -e "$subpkgdir"/usr/share/man/man1/Ted.1 -a \
+ -e "$subpkgdir"/usr/share/man/man1/Ted.1.gz
+ then
+ rm -f "$subpkgdir"/usr/share/man/man1/Ted.1 || return 1
+ fi
+}
+
+md5sums="4199df0deb82a90450135ec3f2b7d915 ted-2.23.src.tar.gz"
+sha256sums="3fa992c2bc96af3ca788ef941cb5314f4a1d843202efd0201b8b4ee9adbf316c ted-2.23.src.tar.gz"
+sha512sums="c6541e5a07545a08b30cb9b33429d9a7675f9252df32ccca5cdb4f2ff09978085d28d015a42922baf8c95db1ea6379a9d1088541aafd9ce45b8870212496849f ted-2.23.src.tar.gz"
diff --git a/unmaintained/ted/ted-motif.trigger b/unmaintained/ted/ted-motif.trigger
new file mode 100755
index 0000000000..b4d8500f59
--- /dev/null
+++ b/unmaintained/ted/ted-motif.trigger
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+[ -e /usr/bin/Ted ] || ln -s /usr/bin/Ted.motif /usr/bin/Ted
diff --git a/unmaintained/tesseract-data/APKBUILD b/unmaintained/tesseract-data/APKBUILD
new file mode 100644
index 0000000000..a55a79cb37
--- /dev/null
+++ b/unmaintained/tesseract-data/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=tesseract-data
+pkgver=3.02
+pkgrel=0
+pkgdesc="Tesseract language data"
+url="http://code.google.com/p/tesseract-ocr"
+arch="noarch"
+license="Apache"
+depends="tesseract-ocr"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+
+# available langauges
+#afr ara aze bel ben bul cat ces chi_sim chi_tra chr dan deu ell
+#eng enm epo epo_alt equ est eus fin fra frk frm glg grc heb hin hrv hun
+#ind isl ita ita_old jpn kan kor lav lit mal mkd mlt msa nld nor pol por
+#ron rus slk slv spa spa_old sqi srp swa swe tam tel tgl tha tur ukr vie
+_langs="eng nld"
+
+for lang in $_langs; do
+ source="$source http://tesseract-ocr.googlecode.com/files/tesseract-ocr-$pkgver.$lang.tar.gz"
+ subpackages="$subpackages $pkgname-$lang"
+ depends="$depends $pkgname-$lang"
+done
+
+build() {
+ return 0
+}
+
+package() {
+ mkdir -p "$pkgdir"
+}
+
+_mv_lang() {
+ local lang=$1
+ pkgdesc="$lang tesseract-ocr language files"
+ arch="noarch"
+ depends="tesseract-ocr"
+ mkdir -p "$subpkgdir"/usr/share/tessdata
+ mv "$srcdir"/tesseract-ocr/tessdata/$lang.* \
+ "$subpkgdir"/usr/share/tessdata/ || return 1
+}
+
+eng() { _mv_lang eng; }
+nld() { _mv_lang nld; }
+
+md5sums="3562250fe6f4e76229a329166b8ae853 tesseract-ocr-3.02.eng.tar.gz
+6db5753b3b03296544bbb2c0f59a7178 tesseract-ocr-3.02.nld.tar.gz"
+sha256sums="c110029560e7f6d41cb852ca23b66899daa4456d9afeeae9d062204bd271bdf8 tesseract-ocr-3.02.eng.tar.gz
+5e2e53499a05282968e5a9699aad66ae52a5abf06ae828e2f4cf2c1f6e674a98 tesseract-ocr-3.02.nld.tar.gz"
+sha512sums="4db016a3809be03855c41363788907f404e08aa277cf891e86de5f0d7da5f4f9fd76f6e19a2a983a7906a94c8235e66608fefe45e0bdc786e44e613896d1f48c tesseract-ocr-3.02.eng.tar.gz
+ee00ddb20a8ecb18ff6dbe5211bccb7bd7cf7342df8b7da29f3bde3677c8a2a24cbd99400f25224e2a2432955c11026277af8f98852016c95d349259eb746f1c tesseract-ocr-3.02.nld.tar.gz"
diff --git a/unmaintained/thunar-media-tags-plugin/APKBUILD b/unmaintained/thunar-media-tags-plugin/APKBUILD
new file mode 100644
index 0000000000..d641e0a9b6
--- /dev/null
+++ b/unmaintained/thunar-media-tags-plugin/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=thunar-media-tags-plugin
+pkgver=0.2.1
+pkgrel=1
+pkgdesc="Media Tags plugin for the Thunar file manager"
+url="http://goodies.xfce.org/projects/thunar-plugins/thunar-media-tags-plugin"
+arch="all"
+license="GPLv2+"
+depends=""
+makedepends="thunar-dev taglib-dev"
+install=""
+subpackages="$pkgname-lang"
+source="http://archive.xfce.org/src/thunar-plugins/thunar-media-tags-plugin/${pkgver%.*}/thunar-media-tags-plugin-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/thunar-media-tags-plugin-$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 \
+ --libexecdir=/usr/lib/xfce4 \
+ --disable-static \
+ --sysconfdir=/etc \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="0106e900714f86ccbafdc72238d3cf8d thunar-media-tags-plugin-0.2.1.tar.bz2"
+sha256sums="056d012a10403ee3e2e55b6ff2faecb796821de9ebee000315589b95d95ed253 thunar-media-tags-plugin-0.2.1.tar.bz2"
+sha512sums="008ba9cf5405fba2582d072c48c915ad0afe2eb6bd193a710caf5f99247285362747265fa93fe28d9cedd75285a8f9593baf675310b5dbada948aefe359e951d thunar-media-tags-plugin-0.2.1.tar.bz2"
diff --git a/unmaintained/tidyhtml/APKBUILD b/unmaintained/tidyhtml/APKBUILD
new file mode 100644
index 0000000000..596af37d55
--- /dev/null
+++ b/unmaintained/tidyhtml/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Contributor: Bartłomiej Piotrowski <bpiotrowski@alpinelinux.org>
+
+pkgname=tidyhtml
+_pkgreal=tidy-html5
+pkgver=5.1.25
+pkgrel=0
+pkgdesc="Tool to tidy down your HTML code to a clean style"
+arch=all
+url="http://www.html-tidy.org"
+license="custom"
+depends=
+makedepends="cmake"
+subpackages="$pkgname-dev $pkgname-libs"
+source="$_pkgreal-$pkgver.tar.gz::https://codeload.github.com/htacg/$_pkgreal/tar.gz/$pkgver"
+
+_builddir="$srcdir"/$_pkgreal-$pkgver
+
+build(){
+ cd "$_builddir"
+ cmake CMakeLists.txt -DCMAKE_INSTALL_PREFIX=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="5fd96deef635ab8cea3dc74079f54d95 tidy-html5-5.1.25.tar.gz"
+sha256sums="be81e967537984fbd207b4b19d02e7be73cbf201f07bf55aa5560c9b1d19b106 tidy-html5-5.1.25.tar.gz"
+sha512sums="d58757858cdc41b064e6002d30ff5a7059dca9c4a25f4f8a7cb8ffbfc175b1bddc92c0f7139660872a86024e9d96797637872bc44dda1652d13dec883be296f8 tidy-html5-5.1.25.tar.gz"
diff --git a/unmaintained/tlssled/APKBUILD b/unmaintained/tlssled/APKBUILD
new file mode 100644
index 0000000000..932a948d5f
--- /dev/null
+++ b/unmaintained/tlssled/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=tlssled
+pkgver=1.3
+pkgrel=0
+pkgdesc="An evaluation tool for SSL/TLS (HTTPS) web server implementations"
+url="http://www.taddong.com/en/lab.html"
+arch="noarch"
+license="GPL3+"
+depends="sslscan openssl bash"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="$pkgname-$pkgver.sh::http://www.taddong.com/tools/TLSSLed_v$pkgver.sh"
+
+_builddir="$srcdir"
+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
+ sed -i 's|#!/usr/bin/env bash|#!/bin/bash|g' $pkgname-$pkgver.sh
+}
+
+build() {
+ cd "$_builddir"
+ return 0
+}
+
+package() {
+ cd "$_builddir"
+ install -m755 -D "$_builddir"/$pkgname-$pkgver.sh \
+ "$pkgdir"/usr/bin/$pkgname || return 1
+}
+
+md5sums="1c7126cbb69a52b23dd761a8ddff56bc tlssled-1.3.sh"
+sha256sums="30cfc539a367c8cb2fb3bafa7f214621ccef0bc97d34080ed800c6a0ca4e3339 tlssled-1.3.sh"
+sha512sums="f3380f3d70bd970d4959fd09744c9b4ad82e3448edcc28be4c8d59944860c23e48a53407d17cc96e63523f48d105c27d473271d80f2d557e28c9a9003df99506 tlssled-1.3.sh"
diff --git a/unmaintained/toilet-font/APKBUILD b/unmaintained/toilet-font/APKBUILD
new file mode 100644
index 0000000000..1c16154dcd
--- /dev/null
+++ b/unmaintained/toilet-font/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: z3bra <willy at mailoo dot org>
+# Maintainer:
+pkgname=toilet-font
+pkgver=1.0
+pkgrel=0
+pkgdesc="Additional asciiart fonts for toilet (adapted from figlet-fonts)"
+url="http://www.figlet.org/fontdb.cgi"
+arch="all"
+license="GPL"
+depends="toilet"
+arch="noarch"
+license="GPL"
+depends="toilet"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=
+source="ftp://ftp.figlet.org/pub/figlet/fonts/ours.tar.gz
+ ftp://ftp.figlet.org/pub/figlet/fonts/contributed.tar.gz
+ ftp://ftp.figlet.org/pub/figlet/fonts/international.tar.gz
+ ftp://ftp.figlet.org/pub/figlet/fonts/ms-dos.tar.gz
+ "
+
+package() {
+ find "$srcdir" -iname '*.flf' |
+ while ifs='' read target; do
+ dest="$pkgdir/usr/share/figlet/$(basename "$target")"
+ if [[ ! -e "$dest" ]]; then
+ install -Dm644 "$target" "$dest"
+ fi
+ done
+}
+
+md5sums="ecfc312b626df0d04936200d074d2508 ours.tar.gz
+6e2dec4499f7a7fe178522e02e0b6cd1 contributed.tar.gz
+b2d53f7e251014adcdb4d407c47f90ef international.tar.gz
+49aa57ab989e8d952be037414b0bbbe4 ms-dos.tar.gz"
+sha256sums="10184c883faa63e91c8c7d99f100fe2f76195221ff8863d29c1beef88f666e69 ours.tar.gz
+2c569e052e638b28e4205023ae717f7b07e05695b728e4c80f4ce700354b18c8 contributed.tar.gz
+e6493f51c96f8671c29ab879a533c50b31ade681acfb59e50bae6b765e70c65a international.tar.gz
+d3678a98b3b058ae4ded8525f51a1c53b3c6e6833793cf7cf98fcd9550ed7e70 ms-dos.tar.gz"
+sha512sums="a5bb4b650246c201c89d019b354e5dafff040552d4bfdfac2fe901fa413ccf768db4b58c397eb850066f0a8c7d876c46a69b55927a2bd22c3b918cf6d397b1e4 ours.tar.gz
+aa2acc332c4a8916acd4911a8779ac394bc610dda1af9bfd3e8e9713dace15a1115c360abdf83589608302b529f151f6221f0e5a1e9ad0465de5bd877dcb4943 contributed.tar.gz
+5480ccf5aef3147e2c24cca486a703ba27c03ce4b259a3f811a2aa6ebb2ff7510919438e2d4289a1a8d55a2e3b92451e7b35a4c18f6303dc51f9ee7e4fbc0657 international.tar.gz
+8824b21b054be50fb90e4a80e6f1ca554784a3884ac9c9e4104635a9d7c72b57d98e4070687ecd83cfe9c85cd3969eb1f24a1a3a05e49a2822a16a9f207decb9 ms-dos.tar.gz"
diff --git a/unmaintained/toilet/APKBUILD b/unmaintained/toilet/APKBUILD
new file mode 100644
index 0000000000..f0d4f57552
--- /dev/null
+++ b/unmaintained/toilet/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: z3bra <willy at mailoo dot org>
+# Maintainer:
+pkgname=toilet
+pkgver=0.3
+pkgrel=0
+pkgdesc="free replacement for the figlet utility"
+url="http://caca.zoy.org/wiki/toilet"
+arch="all"
+license="WTFPL"
+depends=""
+depends_dev="libcaca-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://caca.zoy.org/raw-attachment/wiki/$pkgname/$pkgname-$pkgver.tar.gz"
+
+_builddir=$srcdir/$pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr || return 1
+ make DESTDIR=$pkgdir || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR=$pkgdir install || return 1
+ install COPYING -Dm644 \
+ $pkgdir/usr/share/licenses/$pkgname/LICENSE || return 1
+}
+
+md5sums="9b72591cb22a30c42a3184b17cabca6f toilet-0.3.tar.gz"
+sha256sums="89d4b530c394313cc3f3a4e07a7394fa82a6091f44df44dfcd0ebcb3300a81de toilet-0.3.tar.gz"
+sha512sums="64b9389562a51e7dba6e3f1dd27c5340f90df25d8fbf1e041b539f5243b5b6b7af1ebf033a511053ad72a73908d496a1f3d14c4ac656425aefb8364a0664ceed toilet-0.3.tar.gz"
diff --git a/unmaintained/tokyocabinet/APKBUILD b/unmaintained/tokyocabinet/APKBUILD
new file mode 100644
index 0000000000..1b6c85113d
--- /dev/null
+++ b/unmaintained/tokyocabinet/APKBUILD
@@ -0,0 +1,60 @@
+# Contributor: Franz Bettag <franz@bett.ag>
+# Maintainer:
+pkgname=tokyocabinet
+pkgver=1.4.48
+pkgrel=0
+pkgdesc="GDBM and QDBM successor"
+url="http://fallabs.com/tokyocabinet"
+arch="all"
+license="LGPL"
+depends=""
+makedepends="zlib-dev bzip2-dev autoconf"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
+source="http://fallabs.com/$pkgname/$pkgname-$pkgver.tar.gz
+ tokyocabinet-manhelp.patch
+ dynamic-linking.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"
+ LDFLAGS="$LDFLAGS -lpthread" ./configure \
+ --disable-static \
+ --prefix /usr \
+ --enable-off64 \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" DATADIR=/usr/share/doc install || return 1
+}
+
+libs() {
+ pkgdesc="tokyocabinet library"
+ mkdir -p "$subpkgdir"/usr
+ mv "$pkgdir"/usr/lib "$subpkgdir"/usr/
+}
+
+md5sums="fd03df6965f8f56dd5b8518ca43b4f5e tokyocabinet-1.4.48.tar.gz
+9ea4b840cec6831ba8ddd0696f9ab756 tokyocabinet-manhelp.patch
+e76ef468636f1580f6d7a9baee0d806c dynamic-linking.patch"
+sha256sums="a003f47c39a91e22d76bc4fe68b9b3de0f38851b160bbb1ca07a4f6441de1f90 tokyocabinet-1.4.48.tar.gz
+1c40b06e4f35d85d36b2a6218d945acf8cce6da98dc3ac23233a034e35276bc1 tokyocabinet-manhelp.patch
+edfcb01c20971cc9bbbb3b8d7e2ca8a34613b8e3fb2ffc9db8643665ef9a2246 dynamic-linking.patch"
+sha512sums="b9995c838e713c13f781ab41062caefeb5c613f696dab08039f992f6860413d60a513114b83468cafdf7fc5b5e51ab880226972465d532f873f2a55f615e1440 tokyocabinet-1.4.48.tar.gz
+7fb5cdbf0feeaae42de2a21b3fb41b7ef3b6b353ec12799362044a18b4b3ee59a6c9938d367f6142c00e89e4e8712d5560c027ac71eb3125f95059cca0077157 tokyocabinet-manhelp.patch
+dd0f5c22b88bb64820f53992d17bb924363e40fa27d4a2ea98224faf51272eed85ce8c91dbe6334a5f3e1fececb4b25f09d4d507305a171446d0612f92255271 dynamic-linking.patch"
diff --git a/unmaintained/tokyocabinet/dynamic-linking.patch b/unmaintained/tokyocabinet/dynamic-linking.patch
new file mode 100644
index 0000000000..a63d7c21d7
--- /dev/null
+++ b/unmaintained/tokyocabinet/dynamic-linking.patch
@@ -0,0 +1,65 @@
+--- ./configure.in.orig 2013-06-06 11:10:25.337848805 +0000
++++ ./configure.in 2013-06-06 11:11:17.151689523 +0000
+@@ -16,7 +16,7 @@
+
+ # Targets
+ MYHEADERFILES="tcutil.h tchdb.h tcbdb.h tcfdb.h tctdb.h tcadb.h"
+-MYLIBRARYFILES="libtokyocabinet.a"
++MYLIBRARYFILES=""
+ MYLIBOBJFILES="tcutil.o tchdb.o tcbdb.o tcfdb.o tctdb.o tcadb.o myconf.o md5.o"
+ MYCOMMANDFILES="tcutest tcumttest tcucodec tchtest tchmttest tchmgr"
+ MYCOMMANDFILES="$MYCOMMANDFILES tcbtest tcbmttest tcbmgr tcftest tcfmttest tcfmgr"
+--- ./configure.in.orig 2009-12-06 21:43:11.000000000 -0500
++++ ./configure.in 2009-12-17 15:13:58.794592478 -0500
+@@ -31,26 +31,15 @@
+ MYPCFILES="tokyocabinet.pc"
+
+ # Building flags
+-MYCFLAGS="-std=c99 -Wall -fPIC -fsigned-char -O2"
+-MYCPPFLAGS="-I. -I\$(INCLUDEDIR) -I$HOME/include -I/usr/local/include"
++MYCFLAGS="-std=c99 -Wall -fPIC -fsigned-char"
++MYCPPFLAGS="-I. -I\$(INCLUDEDIR)"
+ MYCPPFLAGS="$MYCPPFLAGS -DNDEBUG -D_GNU_SOURCE=1 -D_REENTRANT -D__EXTENSIONS__"
+-MYLDFLAGS="-L. -L\$(LIBDIR) -L$HOME/lib -L/usr/local/lib"
++MYLDFLAGS="-L. -L\$(LIBDIR)"
+ MYCMDLDFLAGS=""
+ MYRUNPATH="\$(LIBDIR)"
+ MYLDLIBPATHENV="LD_LIBRARY_PATH"
+ MYPOSTCMD="true"
+
+-# Building paths
+-PATH="$PATH:$HOME/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin"
+-PATH="$PATH:/opt/SUNWspro/bin:/usr/ccs/bin:/usr/xpg4/bin:/usr/xpg6/bin:/usr/ucb"
+-CPATH="$HOME/include:/usr/local/include:$CPATH"
+-LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LIBRARY_PATH"
+-LD_LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH"
+-PKG_CONFIG_PATH="$HOME/lib/pkgconfig:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
+-export PATH CPATH LIBRARY_PATH LD_LIBRARY_PATH PKG_CONFIG_PATH
+-
+-
+-
+ #================================================================
+ # Options
+ #================================================================
+--- ./Makefile.in.orig 2009-10-13 08:33:20.000000000 -0400
++++ ./Makefile.in 2009-12-17 15:15:07.257604314 -0500
+@@ -54,8 +54,8 @@
+ LDFLAGS = @MYLDFLAGS@
+ CMDLDFLAGS = @MYCMDLDFLAGS@
+ LIBS = @LIBS@
+-LDENV = LD_RUN_PATH=/lib:/usr/lib:$(LIBDIR):$(HOME)/lib:/usr/local/lib:@MYRUNPATH@:.
+-RUNENV = @MYLDLIBPATHENV@=.:/lib:/usr/lib:$(LIBDIR):$(HOME)/lib:/usr/local/lib:@MYRUNPATH@
++LDENV =
++RUNENV = @MYLDLIBPATHENV@=.:$(LIBDIR)
+ POSTCMD = @MYPOSTCMD@
+
+
+--- ./tokyocabinet.pc.in.orig 2008-02-18 02:25:18.000000000 -0500
++++ ./tokyocabinet.pc.in 2009-12-17 15:15:29.626591709 -0500
+@@ -10,5 +10,5 @@
+ Name: Tokyo Cabinet
+ Description: a modern implementation of DBM
+ Version: @PACKAGE_VERSION@
+-Libs: -L${libdir} -ltokyocabinet @LIBS@
++Libs: -L${libdir} -ltokyocabinet
+ Cflags: -I${includedir}
diff --git a/unmaintained/tokyocabinet/tokyocabinet-manhelp.patch b/unmaintained/tokyocabinet/tokyocabinet-manhelp.patch
new file mode 100644
index 0000000000..0e182bdcc0
--- /dev/null
+++ b/unmaintained/tokyocabinet/tokyocabinet-manhelp.patch
@@ -0,0 +1,66 @@
+diff -up tokyocabinet-1.4.48/man/tcftest.1.manhelp tokyocabinet-1.4.48/man/tcftest.1
+--- tokyocabinet-1.4.48/man/tcftest.1.manhelp 2013-05-19 11:20:58.078404514 +0200
++++ tokyocabinet-1.4.48/man/tcftest.1 2013-05-19 11:21:48.949426514 +0200
+@@ -61,6 +61,8 @@ Options feature the following.
+ .br
+ \fB\-rl\fR : set the length of values at random.
+ .br
++\fB\-ru\fR : perform random operation on random key.
++.br
+ .RE
+ .PP
+ This command returns 0 on success, another on failure.
+diff -up tokyocabinet-1.4.48/man/tctmgr.1.manhelp tokyocabinet-1.4.48/man/tctmgr.1
+--- tokyocabinet-1.4.48/man/tctmgr.1.manhelp 2013-05-19 11:27:12.273660237 +0200
++++ tokyocabinet-1.4.48/man/tctmgr.1 2013-05-19 11:27:20.780632188 +0200
+@@ -122,10 +122,6 @@ Options feature the following.
+ .br
+ \fB\-it \fItype\fR\fR : specify the index type among "lexical", "decimal", "token", "qgram", and "void".
+ .br
+-\fB\-cd\fR : create the number index instead of the string index.
+-.br
+-\fB\-cv\fR : remove the existing index.
+-.br
+ \fB\-sc\fR : normalize keys as lower cases.
+ .br
+ .RE
+diff -up tokyocabinet-1.4.48/man/tcumttest.1.manhelp tokyocabinet-1.4.48/man/tcumttest.1
+--- tokyocabinet-1.4.48/man/tcumttest.1.manhelp 2013-05-19 11:38:38.097051333 +0200
++++ tokyocabinet-1.4.48/man/tcumttest.1 2013-05-19 11:43:22.167069021 +0200
+@@ -9,12 +9,12 @@ The command `\fBtcumttest\fR' is a utili
+ .PP
+ .RS
+ .br
+-\fBtcumttest combo \fR[\fB\-rnd\fR]\fB \fItnum\fB \fIrnum\fB \fR[\fB\fIbnum\fB\fR]\fB\fR
++\fBtcumttest combo \fR[\fB\-rnd\fR]\fB \fItnum\fB \fIrnum\fB \fR[\fB\fIbnum\fB\fR]\fB\fR \fR[\fB\-tr\fB\fR]\fB
+ .RS
+ Peform storing, retrieving, and removing in turn.
+ .RE
+ .br
+-\fBtcumttest typical \fR[\fB\-nc\fR]\fB \fR[\fB\-rr \fInum\fB\fR]\fB \fItnum\fB \fIrnum\fB \fR[\fB\fIbnum\fB\fR]\fB\fR
++\fBtcumttest typical \fR[\fB\-nc\fR]\fB \fR[\fB\-rr \fInum\fB\fR]\fB \fItnum\fB \fIrnum\fB \fR[\fB\fIbnum\fB\fR]\fB\fR \fR[\fB\-tr\fB\fR]\fB
+ .RS
+ Perform typical operations selected at random.
+ .RE
+@@ -29,6 +29,8 @@ Options feature the following.
+ .br
+ \-rr \fInum\fR : specifiy the ratio of reading operation by percentage.
+ .br
++\fB\-tr\fR : use on\-memory tree database object.
++.br
+ .RE
+ .PP
+ This command returns 0 on success, another on failure.
+diff -up tokyocabinet-1.4.48/tctmgr.c.manhelp tokyocabinet-1.4.48/tctmgr.c
+diff -up tokyocabinet-1.4.48/tcucodec.c.manhelp tokyocabinet-1.4.48/tcucodec.c
+--- tokyocabinet-1.4.48/tcucodec.c.manhelp 2013-05-19 11:29:49.168261576 +0200
++++ tokyocabinet-1.4.48/tcucodec.c 2013-05-19 11:34:28.335588929 +0200
+@@ -126,7 +126,7 @@ static void usage(void){
+ fprintf(stderr, " %s bzip [-d] [file]\n", g_progname);
+ fprintf(stderr, " %s xml [-d] [-br] [file]\n", g_progname);
+ fprintf(stderr, " %s cstr [-d] [-js] [file]\n", g_progname);
+- fprintf(stderr, " %s ucs [-d] [-un] [file]\n", g_progname);
++ fprintf(stderr, " %s ucs [-d] [-un] [-kw] [file]\n", g_progname);
+ fprintf(stderr, " %s hash [-crc] [-ch num] [file]\n", g_progname);
+ fprintf(stderr, " %s cipher [-key str] [file]\n", g_progname);
+ fprintf(stderr, " %s date [-ds str] [-jl num] [-wf] [-rf]\n", g_progname);
diff --git a/unmaintained/tolua/APKBUILD b/unmaintained/tolua/APKBUILD
new file mode 100644
index 0000000000..b7349f6812
--- /dev/null
+++ b/unmaintained/tolua/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=tolua
+pkgver=5.1.4
+pkgrel=0
+pkgdesc="Tool to integrace C/C++ code in lua"
+url="http://www.tecgraf.puc-rio.br/~celes/tolua/"
+arch="all"
+license="MIT"
+depends=""
+depends_dev="lua-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://www.tecgraf.puc-rio.br/~celes/tolua/tolua-$pkgver.tar.gz"
+
+_builddir="$srcdir"/tolua-$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
+ sed -i -e '/^CC=/d' \
+ -e 's/^CCPP *=.*/CCPP=$(CXX)/' \
+ -e 's/^CFLAGS *=/CFLAGS+=/' \
+ -e 's/^CPPFLAGS *=/CPPFLAGS+=/' \
+ config || return 1
+ # clean up some stuff that probably not was supposed to be there
+ find \( -name '.*DS_Store' -o -name '._*' \) -delete
+}
+
+build() {
+ cd "$_builddir"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -d "$pkgdir"/usr
+ cp -r bin lib include "$pkgdir"/usr/
+}
+
+md5sums="46d67c3b9b4b983368a9ff0baa2139f9 tolua-5.1.4.tar.gz"
diff --git a/unmaintained/tolua/config b/unmaintained/tolua/config
new file mode 100644
index 0000000000..cf148eb13f
--- /dev/null
+++ b/unmaintained/tolua/config
@@ -0,0 +1,37 @@
+# configuration file for making tolua
+
+# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================
+
+# you need an ANSI C compiler. gcc is a popular one.
+CC?= gcc
+CXX?= g++
+CCPP=$(CXX)
+WARN= -ansi -Wall -g
+
+# on SGI's, cc is ANSI.
+#CC= cc
+#WARN= -ansi -fullwarn
+
+# if your system doesn't have (or need) ranlib, change "ranlib" to "true".
+# on some systems, "ar s" does it.
+RANLIB= ranlib
+#RANLIB= ar s
+#RANLIB= true
+
+# this should work in all unix systems.
+AR= ar rcu
+
+# set lua path
+LUA=/usr/local
+LUAINC=$(LUA)/include
+LUALIB=$(LUA)/lib
+
+# == END OF USER SETTINGS. DO NOT CHANGE ANYTHING BELOW THIS LINE ============
+
+INC= -I$(TOLUA)/include -I$(LUAINC)
+LIB= -L$(TOLUA)/lib -L$(LUALIB)
+
+#CFLAGS= -O2 $(WARN) $(INC)
+#CPPFLAGS= -O2 $(WARN) $(INC)
+CFLAGS+= -g $(WARN) $(INC)
+CPPFLAGS+= -g $(WARN) $(INC)
diff --git a/unmaintained/totem-pl-parser/APKBUILD b/unmaintained/totem-pl-parser/APKBUILD
new file mode 100644
index 0000000000..b42850fcb7
--- /dev/null
+++ b/unmaintained/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=3
+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/unmaintained/totem-pl-parser/no-libsoup-gnome.patch b/unmaintained/totem-pl-parser/no-libsoup-gnome.patch
new file mode 100644
index 0000000000..9f0770bd92
--- /dev/null
+++ b/unmaintained/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/unmaintained/totem/APKBUILD b/unmaintained/totem/APKBUILD
new file mode 100644
index 0000000000..8d723109cf
--- /dev/null
+++ b/unmaintained/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=3
+pkgdesc="media player for gnome"
+url="http://projects.gnome.org/totem"
+arch="x86 x86_64"
+license="GPL"
+depends="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/unmaintained/totem/totem.post-install b/unmaintained/totem/totem.post-install
new file mode 100644
index 0000000000..87148a8ef8
--- /dev/null
+++ b/unmaintained/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/unmaintained/totem/totem.post-upgrade b/unmaintained/totem/totem.post-upgrade
new file mode 100644
index 0000000000..87148a8ef8
--- /dev/null
+++ b/unmaintained/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/unmaintained/totem/totem.pre-deinstall b/unmaintained/totem/totem.pre-deinstall
new file mode 100644
index 0000000000..c495189c7c
--- /dev/null
+++ b/unmaintained/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/unmaintained/transmission-remote-gtk/APKBUILD b/unmaintained/transmission-remote-gtk/APKBUILD
new file mode 100644
index 0000000000..e49066327e
--- /dev/null
+++ b/unmaintained/transmission-remote-gtk/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=transmission-remote-gtk
+pkgver=20140620
+pkgrel=0
+pkgdesc="GTK remote control for the Transmission BitTorrent client"
+url="https://code.google.com/p/transmission-remote-gtk/"
+arch="all"
+license="GPLv2"
+depends=""
+depends_dev="gtk+3.0-dev json-glib-dev curl-dev"
+makedepends="$depends_dev automake autoconf libtool"
+install=""
+subpackages="$pkgname-doc"
+source="transmission-remote-gtk-aa4e0c7d836c.tar.gz::http://dev.alpinelinux.org/archive/transmission-remote-gtk/transmission-remote-gtk-$pkgver.tar.gz"
+
+_builddir=$srcdir/transmission-remote-gtk-aa4e0c7d836c
+
+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"
+ ./autogen.sh || return 1
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="4dd705b127511019fa5d1fa8333b37f2 transmission-remote-gtk-aa4e0c7d836c.tar.gz"
+sha256sums="50d04e8cde21a7bf16b50618c76ab5568a7caf0fefd006a15d768d35296c5b8f transmission-remote-gtk-aa4e0c7d836c.tar.gz"
+sha512sums="cdf3bb0c3c3808e1d39772bab5f5f23deed39daed2772312a37127ccec022b8f50e1e62ee4d02da30afa1e38a9781f2c401ce7b91c73d5f6b3addec269a69f2f transmission-remote-gtk-aa4e0c7d836c.tar.gz"
diff --git a/unmaintained/trayer/APKBUILD b/unmaintained/trayer/APKBUILD
new file mode 100644
index 0000000000..3943375108
--- /dev/null
+++ b/unmaintained/trayer/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer:
+pkgname=trayer
+pkgver=1.0
+pkgrel=1
+pkgdesc="A lightweight GTK2-based systray"
+url="https://gna.org/projects/fvwm-crystal/"
+arch="all"
+license="GPL MIT"
+depends=""
+depends_dev="libxmu-dev gtk+2.0-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://download.gna.org/fvwm-crystal/trayer/${pkgver}/${pkgname}-${pkgver}.tar.gz
+ makefile.patch"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -i "$srcdir"/$i || return 1;;
+ esac
+ done
+ sed -i 's/$(LIBS) $(OBJ) $(SYSTRAYOBJ)/$(OBJ) $(SYSTRAYOBJ) $(LIBS) -lX11/' Makefile
+}
+
+build() {
+ cd "$_builddir"
+ make -j1 CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
+}
+
+package() {
+ cd "$_builddir"
+ make PREFIX="${pkgdir}/usr" install
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+md5sums="e1b0b6464f991f2c296561e377585867 trayer-1.0.tar.gz
+5c1ca3b37ddcbc121a14fcc58406ae5f makefile.patch"
+sha256sums="64f3b7040a7a563ca4b6924efd950f10c928af7f3535b6f4a00f8bbe0b19484d trayer-1.0.tar.gz
+d5891d4eaaec101759c3604bae9974693add7ec89b954acce3230514d4110f4f makefile.patch"
+sha512sums="9903a78a1c185515e87552732449937daa23187d54a3ccbf19bc9fc569d6a440600c879fe78edbea3eff6b66a1f3fc5054d474dfeaca53af3521a6f18b454049 trayer-1.0.tar.gz
+e5147767263a6642c1f1cd79bbffadc950e581fba088e8dc8487aa4f8ea8c035b8fc19a02f19fdf83fad01e7e3e09df5238c99ad962a1cf24ad0d41b33ccdb8c makefile.patch"
diff --git a/unmaintained/trayer/makefile.patch b/unmaintained/trayer/makefile.patch
new file mode 100644
index 0000000000..52981b34fa
--- /dev/null
+++ b/unmaintained/trayer/makefile.patch
@@ -0,0 +1,23 @@
+ # This patchfile was courtesy of the Debian team. Thanks!
+--- Makefile.common
++++ Makefile.common~
+@@ -25,7 +25,7 @@
+ endif
+
+ # -DGTK_DISABLE_DEPRECATED does not work yet
+-CFLAGS += -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED
++CFLAGS += -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED
+
+ %.o: %.c
+ $(CC) $(CFLAGS) $(INCS) -c $<
+--- panel.c
++++ panel.c~
+@@ -588,7 +588,6 @@
+ printf(" --height <number>\n");
+ printf(" --SetDockType <true|false>\n");
+ printf(" --SetPartialStrut <true|false>\n");
+- printf(" --RoundCorners <true|false>\n");
+ printf(" --transparent <true|false>\n");
+ printf(" --alpha <number>\n");
+ printf(" --tint <int>\n");
+
diff --git a/unmaintained/triggerhappy/APKBUILD b/unmaintained/triggerhappy/APKBUILD
new file mode 100644
index 0000000000..ebf23ce0c8
--- /dev/null
+++ b/unmaintained/triggerhappy/APKBUILD
@@ -0,0 +1,58 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=triggerhappy
+pkgver=0.3.4
+pkgrel=1
+pkgdesc="A lightweight hotkey daemon"
+url="https://github.com/wertarbyte/triggerhappy"
+arch="all"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev perl"
+install=""
+subpackages="$pkgname-doc"
+source="triggerhappy-$pkgver.tar.gz::https://github.com/wertarbyte/triggerhappy/archive/release/$pkgver.tar.gz
+ triggerhappy.initd
+ triggerhappy.confd
+ "
+
+_builddir="$srcdir"/triggerhappy-release-$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 DESTDIR="$pkgdir" install || return 1
+ install -D udev/triggerhappy-udev.rules \
+ "$pkgdir"/etc/udev/rules.d/50-triggerhappy.rules \
+ || return 1
+ install -d "$pkgdir"/etc/triggerhappy/triggers.d || return 1
+ install triggerhappy.conf.examples \
+ "$pkgdir"/etc/triggerhappy/triggerhappy.conf || return 1
+ install -Dm755 "$srcdir"/triggerhappy.initd \
+ "$pkgdir"/etc/init.d/triggerhappy || return 1
+ install -Dm644 "$srcdir"/triggerhappy.confd \
+ "$pkgdir"/etc/conf.d/triggerhappy || return 1
+}
+
+md5sums="9719903899b3082e75a7ff6e9c00752d triggerhappy-0.3.4.tar.gz
+47d1f804b364758f8742f487926468b4 triggerhappy.initd
+b96c7efb0c27a2d598ebab9cb8dd5dd9 triggerhappy.confd"
+sha256sums="68001858df715527326850940a71690fda9d159ac73bed4a580fb7d2ffd61c83 triggerhappy-0.3.4.tar.gz
+3d02676adbe3df0a6517754f78480364284521c0c6637a46419131d02025c66b triggerhappy.initd
+1601b34ed30ec11293a353937669d030d811357fa2e0f5eb7ff04874daf91702 triggerhappy.confd"
+sha512sums="cf08554a41019019c1142368273dc781c840bb9de81b9a386b4debd34f37816bfe516077f7192779822aa5662b3fadd76a6ff141e7c038b65dd7f51e92135e4c triggerhappy-0.3.4.tar.gz
+b7521739335576f6bfc1c8a440cfe0b137862a07fae1138dcec2a082a8043dd9b64c54c64b62de06e06c0ee003c04e962a8c9be4f60d9ea3ca0898cfde4320a6 triggerhappy.initd
+5f31b9736e8ee8a7c8125dd5c14c4cdf515a6d57c36d04b9b1949cdb6150f25ef264ed8ee5e31f0d62de12db151df5aec9a325ff5d5b5ba0b3b7105c76cd07a0 triggerhappy.confd"
diff --git a/unmaintained/triggerhappy/triggerhappy.confd b/unmaintained/triggerhappy/triggerhappy.confd
new file mode 100644
index 0000000000..f449481e51
--- /dev/null
+++ b/unmaintained/triggerhappy/triggerhappy.confd
@@ -0,0 +1,2 @@
+# specify input device(s)
+#devices="/dev/input/event0"
diff --git a/unmaintained/triggerhappy/triggerhappy.initd b/unmaintained/triggerhappy/triggerhappy.initd
new file mode 100644
index 0000000000..ac707e927c
--- /dev/null
+++ b/unmaintained/triggerhappy/triggerhappy.initd
@@ -0,0 +1,12 @@
+#!/sbin/runscript
+
+: ${socket:=/var/run/thd.socket}
+: ${triggers:=/etc/triggerhappy/triggers.d}
+
+command=/usr/sbin/thd
+pidfile=/var/run/thd.pid
+command_args="--daemon --socket $socket --triggers $triggers $devices --pidfile $pidfile"
+
+depend() {
+ before udev
+}
diff --git a/unmaintained/ttf-caladea/45-caladea.conf b/unmaintained/ttf-caladea/45-caladea.conf
new file mode 100644
index 0000000000..7f9e8d6894
--- /dev/null
+++ b/unmaintained/ttf-caladea/45-caladea.conf
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+ <alias>
+ <family>Caladea</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+</fontconfig>
+
diff --git a/unmaintained/ttf-caladea/90-tt-caladea.conf b/unmaintained/ttf-caladea/90-tt-caladea.conf
new file mode 100644
index 0000000000..5cd4435058
--- /dev/null
+++ b/unmaintained/ttf-caladea/90-tt-caladea.conf
@@ -0,0 +1,54 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Caladea</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Caladea</string>
+ </test>
+ <test name="weight" compare="less">
+ <const>medium</const>
+ </test>
+ <test name="pixelsize" compare="less">
+ <double>13.5</double>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintfull</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+</fontconfig>
+
diff --git a/unmaintained/ttf-caladea/APKBUILD b/unmaintained/ttf-caladea/APKBUILD
new file mode 100644
index 0000000000..63bcd36682
--- /dev/null
+++ b/unmaintained/ttf-caladea/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=ttf-caladea
+pkgver=20130214
+pkgrel=0
+pkgdesc="Caladea is a serif font metrically compatible with Cambria."
+url="https://code.google.com/p/chromium/issues/detail?id=168879"
+arch="noarch"
+license="Apache"
+depends="fontconfig"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+# added fontconfig configuration from:
+# https://github.com/bohoomil/fontconfig-ultimate/tree/master/fontconfig_patches/fonts-settings
+source="http://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/crosextrafonts-$pkgver.tar.gz
+ 45-caladea.conf
+ 90-tt-caladea.conf"
+
+_builddir="$srcdir"/crosextrafonts-$pkgver
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/fonts/$pkgname \
+ "$pkgdir"/etc/fonts/conf.avail \
+ "$pkgdir"/etc/fonts/conf.d
+ for i in "$_builddir"/*.ttf; do
+ install -m644 $i \
+ "$pkgdir"/usr/share/fonts/$pkgname/ || return 1
+ done
+ for j in "$srcdir"/*.conf; do
+ install -m644 $j \
+ "$pkgdir"/etc/fonts/conf.avail/ || return 1
+ cd "$pkgdir"/etc/fonts/conf.d
+ ln -sf /etc/fonts/conf.avail/${j##*/}
+ done
+}
+
+md5sums="368f114c078f94214a308a74c7e991bc crosextrafonts-20130214.tar.gz
+5482372b72ca819be4a6b3cc483d0243 45-caladea.conf
+2a82278467fb1fe0a2187aed2269e0ea 90-tt-caladea.conf"
+sha256sums="c48d1c2fd613c9c06c959c34da7b8388059e2408d2bb19845dc3ed35f76e4d09 crosextrafonts-20130214.tar.gz
+3be38eb979beccd02fa8e6d7dbdbf1e0fa95c4c91ce42c392366214bfddb31fc 45-caladea.conf
+b34aa966aae42be63d6f1344f9b8963b6d230d3dc26eadcef8d42829d6cd93db 90-tt-caladea.conf"
+sha512sums="71f3cfcfbec33d8526184dce32f244f13b29f97aff31c0609487f27135adc0a4d5950e068f8be101e4fd06498cf103be68d781fc611142f060bbc9cb0b81273e crosextrafonts-20130214.tar.gz
+e9c9e2a396682d0d25e2efdc103ab3bf9893c9d94f203a126d31e0546ee50e841254ee276a30b713aecd8ce50792a687308c4b6d2c978049253e910b4a4f3130 45-caladea.conf
+ba9c1a0bea7eeee4494f3c42dc83dc0d37961f3535f574bf5bf7424628d160197304bab35c9558007f3b2163ddac9bc9ee5fa93d69a802477055f13c52d05a74 90-tt-caladea.conf"
diff --git a/unmaintained/ttf-cantoraone/45-cantoraone.conf b/unmaintained/ttf-cantoraone/45-cantoraone.conf
new file mode 100644
index 0000000000..6433b904cb
--- /dev/null
+++ b/unmaintained/ttf-cantoraone/45-cantoraone.conf
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+ <alias>
+ <family>CantoraOne</family>
+ <default>
+ <family>fantasy</family>
+ </default>
+ </alias>
+
+</fontconfig>
diff --git a/unmaintained/ttf-cantoraone/90-tt-cantoraone.conf b/unmaintained/ttf-cantoraone/90-tt-cantoraone.conf
new file mode 100644
index 0000000000..3d69cdcaf0
--- /dev/null
+++ b/unmaintained/ttf-cantoraone/90-tt-cantoraone.conf
@@ -0,0 +1,26 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>CantoraOne</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/unmaintained/ttf-cantoraone/APKBUILD b/unmaintained/ttf-cantoraone/APKBUILD
new file mode 100644
index 0000000000..1e9505dd6c
--- /dev/null
+++ b/unmaintained/ttf-cantoraone/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=ttf-cantoraone
+pkgver=1.001
+pkgrel=0
+pkgdesc="Cantora is a friendly semi formal, semi condensed, semi sans serif."
+url="http://www.impallari.com"
+arch="noarch"
+license="OFL"
+depends="fontconfig"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+# added fontconfig configuration from:
+# https://github.com/bohoomil/fontconfig-ultimate/tree/master/fontconfig_patches/fonts-settings
+source="http://googlefontdirectory.googlecode.com/hg/ofl/cantoraone/CantoraOne-Regular.ttf
+ 45-cantoraone.conf
+ 90-tt-cantoraone.conf"
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/fonts/$pkgname \
+ "$pkgdir"/etc/fonts/conf.avail \
+ "$pkgdir"/etc/fonts/conf.d
+ for i in "$srcdir"/*.ttf; do
+ install -m644 $i \
+ "$pkgdir"/usr/share/fonts/$pkgname/ || return 1
+ done
+ for j in "$srcdir"/*.conf; do
+ install -m644 $j \
+ "$pkgdir"/etc/fonts/conf.avail/ || return 1
+ cd "$pkgdir"/etc/fonts/conf.d
+ ln -sf /etc/fonts/conf.avail/${j##*/}
+ done
+}
+
+md5sums="8363dec7021a33ac3132c341c04d41e1 CantoraOne-Regular.ttf
+8ef656137418c63ef5d41880fe03e994 45-cantoraone.conf
+a03dc1e3c4f5dd75f271e137406a1e3c 90-tt-cantoraone.conf"
+sha256sums="0a41216a2daa8f0fd7e23bc51fefd6bbabe4565db23c4df7d7956e3fc8b8213b CantoraOne-Regular.ttf
+ebde06514c3b69766fc8b8abc0eff6551dc3f06a6a46a2f6a14b2b2b3895336a 45-cantoraone.conf
+2b20f19ba5a2f491c570bd9fef46957a71b57399be95dd17f226b7282550a36a 90-tt-cantoraone.conf"
+sha512sums="05b0c1364a92b436b86ca819e66b63480d1bc2fb399f6c0cf8bffbf8199ccc2a22a199348de099356a6059af533f3dcea817c519b0b237c9a18e92737fe33007 CantoraOne-Regular.ttf
+d2c8393f8cd32896e9fe4e720b018131f9cda1da74523a8ec1253233b2b44e95b471eed3a91a8e3f2680d4cf85eca5ef742ecedecd00e76b4e4ee3bd2c76cafd 45-cantoraone.conf
+2ea75c9ed24cad85fb347899798e8478bc2a55ea9e31169ec35b7ae9ec3f21bff57dc05d8f5e2b572b0a31c08f155e21c0b26789d2d04908c8f0232afb87de95 90-tt-cantoraone.conf"
diff --git a/unmaintained/ttf-carlito/45-carlito.conf b/unmaintained/ttf-carlito/45-carlito.conf
new file mode 100644
index 0000000000..dde534f5e9
--- /dev/null
+++ b/unmaintained/ttf-carlito/45-carlito.conf
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+ <alias>
+ <family>Carlito</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+</fontconfig>
diff --git a/unmaintained/ttf-carlito/90-tt-carlito.conf b/unmaintained/ttf-carlito/90-tt-carlito.conf
new file mode 100644
index 0000000000..87847acab4
--- /dev/null
+++ b/unmaintained/ttf-carlito/90-tt-carlito.conf
@@ -0,0 +1,56 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Carlito</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintfull</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Carlito</string>
+ </test>
+ <test name="weight" compare="less">
+ <const>medium</const>
+ </test>
+ <test name="pixelsize" compare="more">
+ <double>21.5</double>
+ </test>
+ <test name="pixelsize" compare="less">
+ <double>22.5</double>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/unmaintained/ttf-carlito/APKBUILD b/unmaintained/ttf-carlito/APKBUILD
new file mode 100644
index 0000000000..a899260ab6
--- /dev/null
+++ b/unmaintained/ttf-carlito/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=ttf-carlito
+pkgver=20130920
+pkgrel=0
+pkgdesc="Carlito is a sans-serif font metrically compatible with Calibri."
+url="https://code.google.com/p/chromium/issues/detail?id=280557"
+arch="noarch"
+license="OFL"
+depends="fontconfig"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+# added fontconfig configuration from:
+# https://github.com/bohoomil/fontconfig-ultimate/tree/master/fontconfig_patches/fonts-settings
+source="http://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/crosextrafonts-carlito-$pkgver.tar.gz
+ 45-carlito.conf
+ 90-tt-carlito.conf"
+
+_builddir="$srcdir"/crosextrafonts-carlito-$pkgver
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/fonts/$pkgname \
+ "$pkgdir"/etc/fonts/conf.avail \
+ "$pkgdir"/etc/fonts/conf.d
+ for i in "$_builddir"/*.ttf; do
+ install -m644 $i \
+ "$pkgdir"/usr/share/fonts/$pkgname/ || return 1
+ done
+ for j in "$srcdir"/*.conf; do
+ install -m644 $j \
+ "$pkgdir"/etc/fonts/conf.avail/ || return 1
+ cd "$pkgdir"/etc/fonts/conf.d
+ ln -sf /etc/fonts/conf.avail/${j##*/}
+ done
+}
+
+md5sums="c74b7223abe75949b4af367942d96c7a crosextrafonts-carlito-20130920.tar.gz
+7a8451365e94dbd7a399aaa508462393 45-carlito.conf
+320b4c0aa1f353f606bf3bcd6ed5873f 90-tt-carlito.conf"
+sha256sums="4bd12b6cbc321c1cf16da76e2c585c925ce956a08067ae6f6c64eff6ccfdaf5a crosextrafonts-carlito-20130920.tar.gz
+a70f2047fcb095a04a5764da0f3cbb9f9362ed3fcf4dadd2053aa68b889bcd1f 45-carlito.conf
+e9db1f94f67ac711fea16d9b8fca32de7b7ca44679cd6d701dd8925630ade1da 90-tt-carlito.conf"
+sha512sums="eb516060487d30353e06de711921c0d54c5844f2be69b1c1d37edac4b27303e9213a6bb306f309dc5827b2a6a2a37c9cb85b62368164eba6dd397dbaab3e3ba0 crosextrafonts-carlito-20130920.tar.gz
+1eb50a4f3bf1aa6c229059ef25a1344824ac3be179fa819f6613d1457758b4d79ae63e1872a4b54a32bc413d84f7a362c1f9fd9c8cd1265bfcf7abfc3f1b9c27 45-carlito.conf
+b859c5996a4942674979d4353e63ca59a383829e97713512a59910869841dbc923708880af74d9fdebb50ce482e21a2a8c8b1716973a676ee76f6248b3d1521d 90-tt-carlito.conf"
diff --git a/unmaintained/ttf-courier-prime/45-courier-prime.conf b/unmaintained/ttf-courier-prime/45-courier-prime.conf
new file mode 100644
index 0000000000..8611c0756b
--- /dev/null
+++ b/unmaintained/ttf-courier-prime/45-courier-prime.conf
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+ <alias>
+ <family>Courier Prime</family>
+ <default>
+ <family>monospace</family>
+ </default>
+ </alias>
+
+</fontconfig>
diff --git a/unmaintained/ttf-courier-prime/90-tt-courier-prime.conf b/unmaintained/ttf-courier-prime/90-tt-courier-prime.conf
new file mode 100644
index 0000000000..1f61e50d7a
--- /dev/null
+++ b/unmaintained/ttf-courier-prime/90-tt-courier-prime.conf
@@ -0,0 +1,26 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Courier Prime</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/unmaintained/ttf-courier-prime/APKBUILD b/unmaintained/ttf-courier-prime/APKBUILD
new file mode 100644
index 0000000000..f2f4c9cc5e
--- /dev/null
+++ b/unmaintained/ttf-courier-prime/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=ttf-courier-prime
+pkgver=1.203
+pkgrel=0
+pkgdesc="A free, improved, classical monospaced typeface."
+url="http://quoteunquoteapps.com/courierprime/"
+arch="noarch"
+license="OFL"
+depends="fontconfig"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+# added fontconfig configuration from:
+# https://github.com/bohoomil/fontconfig-ultimate/tree/master/fontconfig_patches/fonts-settings
+source="$pkgname-$pkgver.zip::http://quoteunquoteapps.com/downloads/courier-prime.zip
+ 45-courier-prime.conf
+ 90-tt-courier-prime.conf"
+
+_builddir="$srcdir/Courier Prime"
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/fonts/$pkgname \
+ "$pkgdir"/etc/fonts/conf.avail \
+ "$pkgdir"/etc/fonts/conf.d
+
+ for i in "$_builddir"/*.ttf; do
+ install -m644 "$i" \
+ "$pkgdir"/usr/share/fonts/$pkgname/ || return 1
+ done
+
+ for j in "$srcdir"/*.conf; do
+ install -m644 "$j" \
+ "$pkgdir"/etc/fonts/conf.avail/ || return 1
+ cd "$pkgdir"/etc/fonts/conf.d
+ ln -sf /etc/fonts/conf.avail/${j##*/}
+ done
+}
+md5sums="cf79336ce1cf439560a5364ab7856738 ttf-courier-prime-1.203.zip
+386cdeb1dcf7aa8d61b2676bb408071c 45-courier-prime.conf
+34ad0a1eb3a1d7b436feb0347ab72a11 90-tt-courier-prime.conf"
+sha256sums="d5d4faf1bee0d1f52bab1103cbfdfb354976331c86f999c110c22a098cb12d73 ttf-courier-prime-1.203.zip
+bf60ee516132a80f4293b3418e5741121581cd4dc9c3080f05720b61d0b7006d 45-courier-prime.conf
+98ca88805d49df11c362b24467b40aeedc4520cb16f4896ded02236b2785e0d6 90-tt-courier-prime.conf"
+sha512sums="4a039d87ac236c96bf6b82e05bc3f9308ada20507bd6b2e6d265d0046b5c640daf4d1c19c3450131797cba575c60c651977bcfd51e791f7a59fa8c8718b96b28 ttf-courier-prime-1.203.zip
+96287816f005e476a62998991ad20cfd2116d6ee9a7acaca8f1a0ed8bb9f77c14ab38b1cf487add099b082800659fbb51352fa170e13672bc354c35259ef89fc 45-courier-prime.conf
+6a000366145a16746b3e5898bdc29b51f210c47145be1baf5077eb6407cdc448a91ed1e388c38eb3063e264a2642f7af7e340f76028200bed905d1d8f6910b02 90-tt-courier-prime.conf"
diff --git a/unmaintained/ttf-gelasio/45-gelasio.conf b/unmaintained/ttf-gelasio/45-gelasio.conf
new file mode 100644
index 0000000000..64ffcd2385
--- /dev/null
+++ b/unmaintained/ttf-gelasio/45-gelasio.conf
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+ <alias>
+ <family>Gelasio</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+</fontconfig>
diff --git a/unmaintained/ttf-gelasio/90-tt-gelasio.conf b/unmaintained/ttf-gelasio/90-tt-gelasio.conf
new file mode 100644
index 0000000000..4dfc55460c
--- /dev/null
+++ b/unmaintained/ttf-gelasio/90-tt-gelasio.conf
@@ -0,0 +1,26 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Gelasio</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/unmaintained/ttf-gelasio/APKBUILD b/unmaintained/ttf-gelasio/APKBUILD
new file mode 100644
index 0000000000..acc5dbb166
--- /dev/null
+++ b/unmaintained/ttf-gelasio/APKBUILD
@@ -0,0 +1,63 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=ttf-gelasio
+pkgver=1.00
+_hgrev=325e7174147acd060cb6dfe982cf57594a180d53
+pkgrel=0
+pkgdesc="Gelasio serif family by Eben Sorkin."
+url="http://code.google.com/p/googlefontdirectory/"
+arch="noarch"
+license="OFL"
+depends="fontconfig"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+# added fontconfig configuration from:
+# https://github.com/bohoomil/fontconfig-ultimate/tree/master/fontconfig_patches/fonts-settings
+source="https://googlefontdirectory.googlecode.com/hg-history/${_hgrev}/ofl/gelasio/Gelasio-Bold.ttf
+ https://googlefontdirectory.googlecode.com/hg-history/${_hgrev}/ofl/gelasio/Gelasio-BoldItalic.ttf
+ https://googlefontdirectory.googlecode.com/hg-history/${_hgrev}/ofl/gelasio/Gelasio-Italic.ttf
+ https://googlefontdirectory.googlecode.com/hg-history/${_hgrev}/ofl/gelasio/Gelasio-Regular.ttf
+ 45-gelasio.conf
+ 90-tt-gelasio.conf"
+
+_builddir="$srcdir"
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/fonts/$pkgname \
+ "$pkgdir"/etc/fonts/conf.avail \
+ "$pkgdir"/etc/fonts/conf.d
+ for i in "$_builddir"/*.ttf; do
+ install -m644 "$i" \
+ "$pkgdir"/usr/share/fonts/$pkgname/ || return 1
+ done
+ for j in "$srcdir"/*.conf; do
+ install -m644 "$j" \
+ "$pkgdir"/etc/fonts/conf.avail/ || return 1
+ cd "$pkgdir"/etc/fonts/conf.d
+ ln -sf /etc/fonts/conf.avail/${j##*/}
+ done
+}
+md5sums="7be1d568c30cf0392e265effc0e8604f Gelasio-Bold.ttf
+d3c8a6d0d785a2774aa93cf061af46bb Gelasio-BoldItalic.ttf
+54575c749906783220bc30cd278d4cb9 Gelasio-Italic.ttf
+bd1bdf873b65bde2d28e5320a441f733 Gelasio-Regular.ttf
+db221f0bcfc0966d96844698d2e25efe 45-gelasio.conf
+66b8a547f14b90df9a3a554ebe3b8f02 90-tt-gelasio.conf"
+sha256sums="e8b793ff02a65fd6a7aa3a728ec107702652eded8725e6358e88b53af34f94c5 Gelasio-Bold.ttf
+cb06803d9b91dbab6d757d07ee454ff7a0c61961f73f53ddc09843596700d0eb Gelasio-BoldItalic.ttf
+04570e56772c08bc7deffdfe148627a027490594dfe3eebda33c5708223dbd1e Gelasio-Italic.ttf
+125d54b532529889d8e3b5cb774190b1e67e8e8a760908269e6318d97157aaa1 Gelasio-Regular.ttf
+fc0fb11fe69cbd05c84dd6be445d78bca629d4c303fca793e04501b98ccf8872 45-gelasio.conf
+de2ddea85e35f951a16bd78257bf978f5514e577fa29831ed84f5985efd3ee9e 90-tt-gelasio.conf"
+sha512sums="393190d2a8d34661d72227d02f4e57663095cef09a0a4d53f4a3b94f7294893c69c81fd99ae8647e7bee49144ef73721ffdacf139bff657926f92bae717ac0c5 Gelasio-Bold.ttf
+373b05d7700dd30be6249580d479acaea99ca41dd8fc7ca64befeaa66d1fb71236ac234d0850788c455b20853b235ca08b0068e75a8bc8f2e7a9400d40ca2005 Gelasio-BoldItalic.ttf
+50a6b7695a5dcebb48f2bdfd92f57bcc6184031d0e37a6432ea1a020ad9c41723d74b45a8a67a57ecf0d2d5a987ac3c3e683ecd041fd939fb28d5273e21fab0f Gelasio-Italic.ttf
+564c85fd4e0440fad56b9d9c252cefdd20b42c662cbffd1bd477c14352cf8bb5ff717706f98333a5bfb05b5b67f375f4049f54b375eaacc775d70f842a5701f0 Gelasio-Regular.ttf
+bb6a18c187a18a220053c13190d2524d630674e617fc63d8a2268212e6708f4dc575f2c65053e19b865ef0a85396a7bc24ab8fe2493e23f249f6f70d907088ae 45-gelasio.conf
+353d00334890d518915e01ba85c3b465669efe4f113a19eb73b37655d35f33fd8c33eeae27ae3fc82238b0c0a0079ae85f5c86e80bb9d7c604a3ea9bed9a3787 90-tt-gelasio.conf"
diff --git a/unmaintained/ttf-heuristica/45-heuristica.conf b/unmaintained/ttf-heuristica/45-heuristica.conf
new file mode 100644
index 0000000000..a0f7b11608
--- /dev/null
+++ b/unmaintained/ttf-heuristica/45-heuristica.conf
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+ <alias>
+ <family>Heuristica</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+</fontconfig>
diff --git a/unmaintained/ttf-heuristica/90-tt-heuristica.conf b/unmaintained/ttf-heuristica/90-tt-heuristica.conf
new file mode 100644
index 0000000000..a86df21a3b
--- /dev/null
+++ b/unmaintained/ttf-heuristica/90-tt-heuristica.conf
@@ -0,0 +1,26 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Heuristica</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/unmaintained/ttf-heuristica/APKBUILD b/unmaintained/ttf-heuristica/APKBUILD
new file mode 100644
index 0000000000..154849b091
--- /dev/null
+++ b/unmaintained/ttf-heuristica/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=ttf-heuristica
+pkgver=1.0.2
+pkgrel=0
+pkgdesc="Heuristica is an extended version of Adobe Utopia ttf font."
+url="http://code.google.com/p/evristika/"
+arch="noarch"
+license="OFL"
+depends="fontconfig"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+# added fontconfig configuration from:
+# https://github.com/bohoomil/fontconfig-ultimate/tree/master/fontconfig_patches/fonts-settings
+source="https://downloads.sourceforge.net/project/heuristica/heuristica-ttf-${pkgver}.tar.xz
+ 45-heuristica.conf
+ 90-tt-heuristica.conf"
+
+_builddir="$srcdir"
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/fonts/$pkgname \
+ "$pkgdir"/etc/fonts/conf.avail \
+ "$pkgdir"/etc/fonts/conf.d
+ for i in "$_builddir"/*.ttf; do
+ install -m644 "$i" \
+ "$pkgdir"/usr/share/fonts/$pkgname/ || return 1
+ done
+ for j in "$srcdir"/*.conf; do
+ install -m644 "$j" \
+ "$pkgdir"/etc/fonts/conf.avail/ || return 1
+ cd "$pkgdir"/etc/fonts/conf.d
+ ln -sf /etc/fonts/conf.avail/${j##*/}
+ done
+}
+md5sums="874fe2d962cc511aa9d4edbded8205af heuristica-ttf-1.0.2.tar.xz
+aebd478b94816248f486e17a5627cc8e 45-heuristica.conf
+42907dcc7ce2ef65c24a14c195963e71 90-tt-heuristica.conf"
+sha256sums="08bf21e44941d195dceab637c3d8e22f4b5ce8490c83993cebd85d721b92553d heuristica-ttf-1.0.2.tar.xz
+eac2ffc894005dc53357d649ce2cf73102e50740ecccc977f5aeed2e4ffaefe0 45-heuristica.conf
+e433412ca046a2d29fa02b99b8c282a4220ad5e638efb7647cebda75e409824b 90-tt-heuristica.conf"
+sha512sums="8b763a8f44444a96a454d2b1e987e095fc72a67c3c0be4d24a18b6ddd417cb2bbdb57475b5c9515c3e0efb96d4afd5cf6095685ab035f8af4fff7f7e6f9ffb3d heuristica-ttf-1.0.2.tar.xz
+684250c4c575c41d5ea1eff7566532fe5ea2c31c62f35e7e9933dd9212addef980521a3b9421619fdeeec65d0e6863ce7f75ca5b8b00bd749abc654877f569d2 45-heuristica.conf
+9a3f68237a7f5c61e745bcf74f4319133fbaebbbf69a4ad2770d572820fc4b1d08b13e6482001f236f0976bb893d726f7fea2fe904ad60d7e5327561e2c91e24 90-tt-heuristica.conf"
diff --git a/unmaintained/ttf-inconsolata/APKBUILD b/unmaintained/ttf-inconsolata/APKBUILD
new file mode 100644
index 0000000000..b8751ccd15
--- /dev/null
+++ b/unmaintained/ttf-inconsolata/APKBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=ttf-inconsolata
+pkgver=1.01
+pkgrel=0
+pkgdesc="Inconsolata fonts"
+url="http://www.levien.com/type/myfonts/inconsolata.html"
+license="OFL"
+arch="noarch"
+depends=""
+makedepends=""
+install=
+source="https://googlefontdirectory.googlecode.com/hg/ofl/inconsolata/Inconsolata-Bold.ttf
+ https://googlefontdirectory.googlecode.com/hg/ofl/inconsolata/Inconsolata-Regular.ttf"
+
+build() {
+ return 0
+}
+
+package() {
+ install -D $srcdir/*.ttf \
+ "$pkgdir"/usr/share/fonts/truetype/inconsolata
+}
+
+md5sums="b9c2050d87b51fd3d658dd851a95373f Inconsolata-Bold.ttf
+9ac6e3d2a7fb76468bd417ea40b6f8c4 Inconsolata-Regular.ttf"
+sha256sums="93b844b88519b6fbc4fd72eb8d8e30cde2b03a57cbd78892e5886ae47a282db0 Inconsolata-Bold.ttf
+e9acd1d9ff913e75139ddc735ac43f95b6806a9de4dc7b6f30ea33130d8c5639 Inconsolata-Regular.ttf"
+sha512sums="d7e860c8473badded9a1b3b53afe2bb533c17ca129c9e0b6df5dc67fae7d55eafb26c906726d7af51c4046b8abc0e1ef38b4fd7c53c4810968a0fb75877171d7 Inconsolata-Bold.ttf
+3cefae7cfb6c24f0c68bf0df2da5e298b785d1f02c69b22c96d4d5c77f581c7d48cdcf172c1cad35634fd4032b665a4c40d20b5fc2efde6377676b9f1a3ae11a Inconsolata-Regular.ttf"
diff --git a/unmaintained/ttf-merriweather-sans/45-merriweather-sans.conf b/unmaintained/ttf-merriweather-sans/45-merriweather-sans.conf
new file mode 100644
index 0000000000..5b7bf6250b
--- /dev/null
+++ b/unmaintained/ttf-merriweather-sans/45-merriweather-sans.conf
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+ <alias>
+ <family>Merriweather Sans</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+</fontconfig>
diff --git a/unmaintained/ttf-merriweather-sans/90-tt-merriweather-sans.conf b/unmaintained/ttf-merriweather-sans/90-tt-merriweather-sans.conf
new file mode 100644
index 0000000000..6487bffbd9
--- /dev/null
+++ b/unmaintained/ttf-merriweather-sans/90-tt-merriweather-sans.conf
@@ -0,0 +1,26 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Merriweather Sans</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/unmaintained/ttf-merriweather-sans/APKBUILD b/unmaintained/ttf-merriweather-sans/APKBUILD
new file mode 100644
index 0000000000..f1f660882d
--- /dev/null
+++ b/unmaintained/ttf-merriweather-sans/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=ttf-merriweather-sans
+pkgver=1.003
+pkgrel=0
+pkgdesc="Merriweather Sans-Serif font family by Eben Sorkin."
+url="http://sorkintype.com"
+arch="noarch"
+license="OFL"
+depends="fontconfig"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+# added fontconfig configuration from:
+# https://github.com/bohoomil/fontconfig-ultimate/tree/master/fontconfig_patches/fonts-settings
+source="$pkgname-$pkgver.tar.xz::http://bohoomil.com/src/merriweather_sans_ib.tar.xz
+ 45-merriweather-sans.conf
+ 90-tt-merriweather-sans.conf"
+
+_builddir="$srcdir"
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/fonts/$pkgname \
+ "$pkgdir"/etc/fonts/conf.avail \
+ "$pkgdir"/etc/fonts/conf.d
+ for i in "$_builddir"/*.ttf; do
+ install -m644 "$i" \
+ "$pkgdir"/usr/share/fonts/$pkgname/ || return 1
+ done
+ for j in "$srcdir"/*.conf; do
+ install -m644 "$j" \
+ "$pkgdir"/etc/fonts/conf.avail/ || return 1
+ cd "$pkgdir"/etc/fonts/conf.d
+ ln -sf /etc/fonts/conf.avail/${j##*/}
+ done
+}
+md5sums="7ef58ee17e636652de74be921cb2e7c1 ttf-merriweather-sans-1.003.tar.xz
+47f8ede2c9291f7ff54f99a5cce439b7 45-merriweather-sans.conf
+ba82876617eb14520e62af38051951ca 90-tt-merriweather-sans.conf"
+sha256sums="ff0ee58e7067b5eb66397c3dc9521e539683945b3192f1912b985af3250122eb ttf-merriweather-sans-1.003.tar.xz
+d9b7a9dcf8f56d2beb30a2c508dc50c8fe7d180e04eb20c02788ec6849f84e5b 45-merriweather-sans.conf
+4440e02af4d965734c91786f3ffc826ac66d0fcc570caa3719a26134e2252c72 90-tt-merriweather-sans.conf"
+sha512sums="aadab0bfabfa537d6a9ee0dc81c6e75e0924537f2b433af24cfd832d8a25c994753195c2ab527fd1a9291fc6f6f2d32794631c509585e106b778452cd3dba9df ttf-merriweather-sans-1.003.tar.xz
+f3447599d9df6320732085a1322e0afdb0de781b4f3356e0c957ebb048fa372b3113afe7d4cc7d51e3560cfe6e400626c288968109866367ac5d880e22d3c013 45-merriweather-sans.conf
+d3890791c2d716b3a35e0abf9b329e9cff723d3642aa687a7411269a8a189c5face07487198a737ad09d1d727f67cdf6fba820f9691b3905980fd00fd5901738 90-tt-merriweather-sans.conf"
diff --git a/unmaintained/ttf-merriweather/45-merriweather.conf b/unmaintained/ttf-merriweather/45-merriweather.conf
new file mode 100644
index 0000000000..d03a63c45f
--- /dev/null
+++ b/unmaintained/ttf-merriweather/45-merriweather.conf
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+ <alias>
+ <family>Merriweather</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+</fontconfig>
diff --git a/unmaintained/ttf-merriweather/90-tt-merriweather.conf b/unmaintained/ttf-merriweather/90-tt-merriweather.conf
new file mode 100644
index 0000000000..b715f5261b
--- /dev/null
+++ b/unmaintained/ttf-merriweather/90-tt-merriweather.conf
@@ -0,0 +1,26 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Merriweather</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/unmaintained/ttf-merriweather/APKBUILD b/unmaintained/ttf-merriweather/APKBUILD
new file mode 100644
index 0000000000..8a4740dbcd
--- /dev/null
+++ b/unmaintained/ttf-merriweather/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=ttf-merriweather
+pkgver=1.003
+pkgrel=0
+pkgdesc="Merriweather Serif font family by Eben Sorkin."
+url="http://sorkintype.com"
+arch="noarch"
+license="OFL"
+depends="fontconfig"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+# added fontconfig configuration from:
+# https://github.com/bohoomil/fontconfig-ultimate/tree/master/fontconfig_patches/fonts-settings
+source="$pkgname-$pkgver.tar.xz::http://bohoomil.com/src/merriweather_ib.tar.xz
+ 45-merriweather.conf
+ 90-tt-merriweather.conf"
+
+_builddir="$srcdir"/merriweather_ib
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/fonts/$pkgname \
+ "$pkgdir"/etc/fonts/conf.avail \
+ "$pkgdir"/etc/fonts/conf.d
+ for i in "$_builddir"/*.ttf; do
+ install -m644 "$i" \
+ "$pkgdir"/usr/share/fonts/$pkgname/ || return 1
+ done
+ for j in "$srcdir"/*.conf; do
+ install -m644 "$j" \
+ "$pkgdir"/etc/fonts/conf.avail/ || return 1
+ cd "$pkgdir"/etc/fonts/conf.d
+ ln -sf /etc/fonts/conf.avail/${j##*/}
+ done
+}
+md5sums="dc81d1e5399c7a241f502c193eb73b4c ttf-merriweather-1.003.tar.xz
+18f4bb0cf718c19ad323c4d554cfe8de 45-merriweather.conf
+2912745859ce25859166ff4e782ccf55 90-tt-merriweather.conf"
+sha256sums="1b170c2292ab06951ee9f8f6064632d999ca8a612e1c53863de161c42eb8cce2 ttf-merriweather-1.003.tar.xz
+78d5e10ba75623ea6cc0ba2a6c1d7cf098b892f03de5f287aec6ab5b4f084f71 45-merriweather.conf
+766a9e3697a735546df29c87dfbd02ff97b646495615a0846b690718acfc7756 90-tt-merriweather.conf"
+sha512sums="339e02d3ae0d3ad9933dbea00321635b61e0d2e4be78b38ff9fcf9f81bd29036b15ecfab5e3723e521d8763c6ed497f75ce4062c3626c838f84ea53b1cb10ab1 ttf-merriweather-1.003.tar.xz
+12716d17cb06bd76bd554aabf6b3a706c7c83dd322a5f30cb05d7b63eec7873d821ffc436ae0f3354d8e760daff380586c737f03af4ac8d697abb67a8704e08f 45-merriweather.conf
+51ec29a81deab79685905ac84e6668b2972c641327c37dcab1efbcfbf40c7f982de0a2dd9d5c89bcb4bd583996363e6e593788142c632bda818421be9c021ced 90-tt-merriweather.conf"
diff --git a/unmaintained/ttf-noto/40-noto-arabic.conf b/unmaintained/ttf-noto/40-noto-arabic.conf
new file mode 100644
index 0000000000..dd6304ccbf
--- /dev/null
+++ b/unmaintained/ttf-noto/40-noto-arabic.conf
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+ <alias>
+ <family>Noto Kufi Arabic</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Naskh Arabic</family>
+ <default>
+ <family>fantasy</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Nastaliq Urdu Draft</family>
+ <default>
+ <family>fantasy</family>
+ </default>
+ </alias>
+
+</fontconfig>
diff --git a/unmaintained/ttf-noto/45-noto-sans.conf b/unmaintained/ttf-noto/45-noto-sans.conf
new file mode 100644
index 0000000000..988ec2d731
--- /dev/null
+++ b/unmaintained/ttf-noto/45-noto-sans.conf
@@ -0,0 +1,635 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+ <alias>
+ <family>Noto Sans</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Armenian</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Avestan</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Balinese</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Bamum</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Batak</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Bengali</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Brahmi</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Buginese</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Buhid</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Canadian Aboriginal</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Carian</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Cham</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Cherokee</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Coptic</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Cypriot</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Deseret</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Devanagari</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Egyptian Hieroglyphs</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Ethiopic</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Georgian</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Glagolitic</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Gothic</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Gujarati</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Gurmukhi</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans S Chinese</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans T Chinese</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Hanunoo</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Hebrew</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Imperial Aramaic</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Japanese</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Javanese</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Korean</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Kaithi</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Kannada</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Kayah Li</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Kharoshthi</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Khmer</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Lao</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Lepcha</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Limbu</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Linear B</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Lisu</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Lycian</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Lydian</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Malayalam</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Mandaic</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Meetei Mayek</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Mongolian</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Myanmar</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans NKo</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans New Tai Lue</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Ogham</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Ol Chiki</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Old Italic</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Old Persian</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Old South Arabian</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Old Turkic</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Oriya</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Osmanya</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Inscriptional Pahlavi</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Inscriptional Parthian</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Phags-pa</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Phoenician</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Rejang</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Runic</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Samaritan</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Saurashtra</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Shavian</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Sinhala</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Sumero-Akkadian Cuneiform</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Sundanese</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Syloti Nagri</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Symbols</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Syriac Eastern</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Syriac Estrangela</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Syriac Western</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Tagalog</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Tagbanwa</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Tai Le</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Tai Tham</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Tai Viet</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Tamil</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Telugu</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Thaana</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Thai</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Tifinagh</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Ugaritic</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Vai</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Sans Yi</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+</fontconfig>
diff --git a/unmaintained/ttf-noto/45-noto-serif.conf b/unmaintained/ttf-noto/45-noto-serif.conf
new file mode 100644
index 0000000000..aeddf9925f
--- /dev/null
+++ b/unmaintained/ttf-noto/45-noto-serif.conf
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+ <alias>
+ <family>Noto Serif</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Serif Armenian</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Serif Georgian</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Serif Khmer</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Serif Lao</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Noto Serif Thai</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+</fontconfig>
diff --git a/unmaintained/ttf-noto/90-non-tt-noto-sans-cjk.conf b/unmaintained/ttf-noto/90-non-tt-noto-sans-cjk.conf
new file mode 100644
index 0000000000..92f4cff7ee
--- /dev/null
+++ b/unmaintained/ttf-noto/90-non-tt-noto-sans-cjk.conf
@@ -0,0 +1,89 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+ <match target="font" >
+ <test name="family" >
+ <string>Noto Sans CJK SC</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="globaladvance">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font" >
+ <test name="family" >
+ <string>Noto Sans CJK TC</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="globaladvance">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font" >
+ <test name="family" >
+ <string>Noto Sans CJK JP</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="globaladvance">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font" >
+ <test name="family" >
+ <string>Noto Sans CJK KR</string>
+ </test>
+ <edit name="autohint" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="globaladvance">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/unmaintained/ttf-noto/90-tt-noto-sans.conf b/unmaintained/ttf-noto/90-tt-noto-sans.conf
new file mode 100644
index 0000000000..dfbefd0d0b
--- /dev/null
+++ b/unmaintained/ttf-noto/90-tt-noto-sans.conf
@@ -0,0 +1,1876 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+ <!-- Noto Sans -->
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ </match>
+
+ <!-- Noto Sans multilang -->
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Kufi Arabic</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Naskh Arabic</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Nastaliq Urdu Draft</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Armenian</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Avestan</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Balinese</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Bamum</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Batak</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Bengali</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Brahmi</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Buginese</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Buhid</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Canadian Aboriginal</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Carian</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Cham</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Cherokee</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Coptic</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Cypriot</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Deseret</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Devanagari</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Egyptian Hieroglyphs</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Ethiopic</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Georgian</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Glagolitic</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Gothic</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Gujarati</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Gurmukhi</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Hanunoo</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Hebrew</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Imperial Aramaic</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Javanese</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Kaithi</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Kannada</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Kharoshthi</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Khmer</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Lao</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Lepcha</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Limbu</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Linear B</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Lisu</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Lycian</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Lydian</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Malayalam</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Mandaic</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Meetei Mayek</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Mongolian</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Myanmar</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans NKo</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans New Tai Lue</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Ogham</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Ol Chiki</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Old Italic</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Old Persian</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Old South Arabian</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Old Turkic</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Oriya</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Osmanya</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Kannada</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Inscriptional Pahlavi</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Inscriptional Parthian</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Phags-pa</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Phoenician</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Rejang</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Runic</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Samaritan</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Saurashtra</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Shavian</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Sinhala</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Sumero-Akkadian Cuneiform</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Sundanese</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Syloti Nagri</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Symbols</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Syriac Eastern</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Syriac Estrangela</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Syriac Western</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Tagalog</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Tagbanwa</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Tai Le</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Tai Tham</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Tai Viet</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Tamil</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Telugu</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Thaana</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Thai</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Tifinagh</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Ugaritic</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Vai</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Sans Yi</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/unmaintained/ttf-noto/90-tt-noto-serif.conf b/unmaintained/ttf-noto/90-tt-noto-serif.conf
new file mode 100644
index 0000000000..a38f6fc828
--- /dev/null
+++ b/unmaintained/ttf-noto/90-tt-noto-serif.conf
@@ -0,0 +1,131 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Serif</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Serif Armenian</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Serif Georgian</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Serif Khmer</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Serif Lao</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Noto Serif Thai</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/unmaintained/ttf-noto/APKBUILD b/unmaintained/ttf-noto/APKBUILD
new file mode 100644
index 0000000000..4bb2715aa6
--- /dev/null
+++ b/unmaintained/ttf-noto/APKBUILD
@@ -0,0 +1,94 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=ttf-noto
+pkgver=2015.04.20
+pkgrel=0
+pkgdesc="Noto Sans family."
+url="http://www.google.com/get/noto/"
+arch="noarch"
+license="Apache"
+depends="fontconfig $pkgname-sans $pkgname-serif"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-sans $pkgname-serif"
+# added fontconfig configuration from:
+# https://github.com/bohoomil/fontconfig-ultimate/tree/master/fontconfig_patches/fonts-settings
+source="$pkgname-$pkgver.zip::http://storage.googleapis.com/noto-website/pkgs/Noto-hinted.zip
+ 40-noto-arabic.conf
+ 45-noto-sans.conf
+ 45-noto-serif.conf
+ 90-non-tt-noto-sans-cjk.conf
+ 90-tt-noto-sans.conf
+ 90-tt-noto-serif.conf"
+
+_builddir="$srcdir"
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ mkdir -p "$pkgdir"
+}
+
+sans() {
+ pkgdesc="Noto Sans family sans version"
+ depends="fontconfig"
+ local fonts="NotoSans-Bold.ttf NotoSans-BoldItalic.ttf NotoSans-Italic.ttf NotoSans-Regular.ttf"
+ mkdir -p "$subpkgdir"/usr/share/fonts/$subpkgname \
+ "$subpkgdir"/etc/fonts/conf.avail \
+ "$subpkgdir"/etc/fonts/conf.d
+ for i in $fonts; do
+ install -m644 "$srcdir/$i" \
+ "$subpkgdir"/usr/share/fonts/$subpkgname/ || return 1
+ done
+ for j in "$srcdir"/*sans.conf; do
+ install -m644 "$j" \
+ "$subpkgdir"/etc/fonts/conf.avail/ || return 1
+ cd "$subpkgdir"/etc/fonts/conf.d
+ ln -sf /etc/fonts/conf.avail/${j##*/}
+ done
+
+}
+
+serif() {
+ pkgdesc="Noto Sans family serif version"
+ depends="fontconfig"
+ local fonts="NotoSerif-Bold.ttf NotoSerif-BoldItalic.ttf NotoSerif-Italic.ttf NotoSerif-Regular.ttf"
+ mkdir -p "$subpkgdir"/usr/share/fonts/$subpkgname \
+ "$subpkgdir"/etc/fonts/conf.avail \
+ "$subpkgdir"/etc/fonts/conf.d
+ for i in $fonts; do
+ install -m644 "$srcdir/$i" \
+ "$subpkgdir"/usr/share/fonts/$subpkgname/ || return 1
+ done
+ for j in "$srcdir"/*serif.conf; do
+ install -m644 "$j" \
+ "$subpkgdir"/etc/fonts/conf.avail/ || return 1
+ cd "$subpkgdir"/etc/fonts/conf.d
+ ln -sf /etc/fonts/conf.avail/${j##*/}
+ done
+
+}
+md5sums="077a9978839e37b29af710819fb17729 ttf-noto-2015.04.20.zip
+c0f76a250026e206c646464e0c737528 40-noto-arabic.conf
+6be22d72486852a72614753e1796db06 45-noto-sans.conf
+3952f646d177cbac4e9cd20825efa8eb 45-noto-serif.conf
+bca92e0434fd31776c9c2ca2811b7eec 90-non-tt-noto-sans-cjk.conf
+4dc806a20e58a82b85e3f2fb3c88db0d 90-tt-noto-sans.conf
+49668e735b35206c06435851af9101cf 90-tt-noto-serif.conf"
+sha256sums="f93415d4ac7954417ade8461ade32490ec91a2301c5ccf1f5b206382c3bc74c5 ttf-noto-2015.04.20.zip
+b1c92b3551958be19b9a42e86483b3541f11f2fe963df400b1bd6e6ea9957234 40-noto-arabic.conf
+2243a99616c04f8cd0696163d1e0290f2358e6a190c777d27fa1a5cd18092a70 45-noto-sans.conf
+57cbe8e58aabbe14b68a0d75f28688eb9fe6c80864d0baf5b300ab2b02c4fc25 45-noto-serif.conf
+38610c8c44ef29a280f4dbfd96458aeee8aa1381b9e460968cda093ce800cabd 90-non-tt-noto-sans-cjk.conf
+6b7457238150b44d1a2b747cc8130d563def2fd37e0a6786ab6f7b65f2c87f0d 90-tt-noto-sans.conf
+76cf5ee16843444849fcf6c69c5d021933644a4ed3689f7457470c9c351742de 90-tt-noto-serif.conf"
+sha512sums="240aab0cd1bb88e98c504bdd6bad680fc3e94c207f12d2c9f7a3de250aa2d6adc4bdbe7a4971e55930446b8f8cf079f84283deab5210d7519e2128d9a8961939 ttf-noto-2015.04.20.zip
+47396e7a4e5dfb38d3df6dff0b4584757cc132f393d3410463eefc3dbb5f2af592a6b07a4c098d8c594be03f23e4eb84b76b672245fe0cea816927cf535ea270 40-noto-arabic.conf
+748dfecbc3ad5c3750764e6ae889bbc4e614885237bb91ece138d2dc5014fd41ea6361b32982cfa4e76c7c092e0b93f90cccd0b92acbd408b7c302c44c1523e6 45-noto-sans.conf
+5059295a1c36c4ec4aae61443221ee74876315127895da0773e4feb77e70cfc4b7923dde8f6510d6cf9de019082e15f1f4fd4b53f0bce4d2a681541f2de587df 45-noto-serif.conf
+7cf1ec09d6226c46ff7bd796ff526aa42b7221eeb8a2e171e7dbab837fceb96a03b9c5d7bd6e88dbee97cdf54e443d940590b6be51478b88ebca19a419831080 90-non-tt-noto-sans-cjk.conf
+e5d252e4ee265f9cc7a91eea0e0f8c74315a60cbce606860e0f9e722eb9331f8d87d541dd715bef46bdb4e637bab0344f2fd98cc0424e7cfa17e588efa07eb33 90-tt-noto-sans.conf
+4f8760f7eeae99050a3b8ac73f4eeeb5ad32e9e5224034292e3ecdc260ffcc92f3ae45aa35e9f86905fce4ff909bb3263e25d8f4fe56dacba2fb3de2107e314f 90-tt-noto-serif.conf"
diff --git a/unmaintained/ttf-opensans/45-opensans.conf b/unmaintained/ttf-opensans/45-opensans.conf
new file mode 100644
index 0000000000..6f1a7207e4
--- /dev/null
+++ b/unmaintained/ttf-opensans/45-opensans.conf
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+ <alias>
+ <family>Open Sans</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+ <alias>
+ <family>Open Sans Condensed</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+</fontconfig>
diff --git a/unmaintained/ttf-opensans/90-tt-opensans.conf b/unmaintained/ttf-opensans/90-tt-opensans.conf
new file mode 100644
index 0000000000..e7029532d3
--- /dev/null
+++ b/unmaintained/ttf-opensans/90-tt-opensans.conf
@@ -0,0 +1,178 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+ <!-- Open Sans -->
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Open Sans</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <!-- Regular -->
+ <match target="font">
+ <test name="family">
+ <string>Open Sans</string>
+ </test>
+ <test name="weight" compare="less">
+ <const>medium</const>
+ </test>
+ <test name="pixelsize" compare="less">
+ <double>9.0</double>
+ </test>
+ <edit name="hintstyle" mode="assign">
+ <const>hintfull</const>
+ </edit>
+ <edit name="lcd_filter" mode="assign">
+ <const>lcdlegacy</const>
+ </edit>
+ </match>
+
+ <!-- Light -->
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Open Sans</string>
+ </test>
+ <test name="weight" compare="less">
+ <const>regular</const>
+ </test>
+ <test name="pixelsize" compare="less">
+ <double>15.5</double>
+ </test>
+ <edit name="hintstyle" mode="assign">
+ <const>hintfull</const>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Open Sans</string>
+ </test>
+ <test name="weight" compare="less">
+ <const>regular</const>
+ </test>
+ <test name="pixelsize" compare="more">
+ <double>25.5</double>
+ </test>
+ <edit name="hintstyle" mode="assign">
+ <const>hintfull</const>
+ </edit>
+ </match>
+
+ <!-- +Medium -->
+ <match target="font">
+ <test name="family">
+ <string>Open Sans</string>
+ </test>
+ <test name="weight" compare="more">
+ <const>medium</const>
+ </test>
+ <test name="pixelsize" compare="less">
+ <double>9.0</double>
+ </test>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="lcd_filter" mode="assign">
+ <const>lcdnone</const>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Open Sans</string>
+ </test>
+ <test name="weight" compare="more">
+ <const>medium</const>
+ </test>
+ <test name="pixelsize" compare="more">
+ <double>8.5</double>
+ </test>
+ <test name="pixelsize" compare="less">
+ <double>11.5</double>
+ </test>
+ <edit name="hintstyle" mode="assign">
+ <const>hintfull</const>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Open Sans</string>
+ </test>
+ <test name="weight" compare="more">
+ <const>medium</const>
+ </test>
+ <test name="pixelsize" compare="more">
+ <double>14.5</double>
+ </test>
+ <test name="pixelsize" compare="less">
+ <double>15.5</double>
+ </test>
+ <edit name="lcd_filter" mode="assign">
+ <const>lcdlegacy</const>
+ </edit>
+ </match>
+
+ <!-- Open Sans Condensed -->
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Open Sans Condensed</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Open Sans Condensed</string>
+ </test>
+ <test name="pixelsize" compare="less">
+ <double>9.0</double>
+ </test>
+ <edit name="lcd_filter" mode="assign">
+ <const>lcdnone</const>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/unmaintained/ttf-opensans/APKBUILD b/unmaintained/ttf-opensans/APKBUILD
new file mode 100644
index 0000000000..635c241db6
--- /dev/null
+++ b/unmaintained/ttf-opensans/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=ttf-opensans
+pkgver=1.2
+pkgrel=0
+pkgdesc="Open Sans is a humanist sans serif typeface designed by Steve Matteson"
+url="http://opensans.com/"
+arch="noarch"
+license="Apache"
+depends="fontconfig"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+# added fontconfig configuration from:
+# https://github.com/bohoomil/fontconfig-ultimate/tree/master/fontconfig_patches/fonts-settings
+source="http://dev.alpinelinux.org/archive/ttf-opensans/ttf-opensans-$pkgver.tar.gz
+ 45-opensans.conf
+ 90-tt-opensans.conf"
+
+_builddir="$srcdir"/$pkgname
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/fonts/$pkgname \
+ "$pkgdir"/etc/fonts/conf.avail \
+ "$pkgdir"/etc/fonts/conf.d
+ for i in "$_builddir"/*.ttf; do
+ install -m644 "$i" \
+ "$pkgdir"/usr/share/fonts/$pkgname/ || return 1
+ done
+ for j in "$srcdir"/*.conf; do
+ install -m644 "$j" \
+ "$pkgdir"/etc/fonts/conf.avail/ || return 1
+ cd "$pkgdir"/etc/fonts/conf.d
+ ln -sf /etc/fonts/conf.avail/${j##*/}
+ done
+}
+md5sums="65288f5ce42c8f0c65b1325d74df60cc ttf-opensans-1.2.tar.gz
+92ba870ab9de8466dfb3fdf3f02f5eaa 45-opensans.conf
+84f21626d61c7f2a61d673aabddf10fb 90-tt-opensans.conf"
+sha256sums="92470f153bb19fc3edefde04f485755cc084cdd7d4bcedf90f655a09ffa32032 ttf-opensans-1.2.tar.gz
+fa343948e4225f8ab73ce72ff4f6520dec60be396beb57551f30e675b498fd31 45-opensans.conf
+e6213d0af8c24688742903d5b7bd77515c3a249db0a9e0cef4aa107f5b64d5b3 90-tt-opensans.conf"
+sha512sums="6d20a92286db4757acf05123571388d381c761f46080c9dbf175a69535a4b29efa284d1e629a9cbe7f9e43ba05de4140ce38ea6c0f3e53e596c50f9cf3dcde21 ttf-opensans-1.2.tar.gz
+853d50f6d0ff309b170ae6e0fb8f6a0b96dbf842b8ef9ac3c9f4c22aa269ef7a1009d6c39810be1e9adab7d44fb5e7772d5d7ecfecf6cfe18538b999e3390215 45-opensans.conf
+4e3c0e9d3e6fb8f87ec294cda375671a50588998192384e8503550f8c9471501e8d1fd9fb1eb819a630651ab8a81054704d0ca15c0d5de31d5e2067f3837d276 90-tt-opensans.conf"
diff --git a/unmaintained/ttf-signika-family/45-signika.conf b/unmaintained/ttf-signika-family/45-signika.conf
new file mode 100644
index 0000000000..2f080b091c
--- /dev/null
+++ b/unmaintained/ttf-signika-family/45-signika.conf
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+ <alias>
+ <family>Signika</family>
+ <default>
+ <family>sans-serif</family>
+ </default>
+ </alias>
+
+</fontconfig>
diff --git a/unmaintained/ttf-signika-family/90-tt-signika.conf b/unmaintained/ttf-signika-family/90-tt-signika.conf
new file mode 100644
index 0000000000..ce7a4024a4
--- /dev/null
+++ b/unmaintained/ttf-signika-family/90-tt-signika.conf
@@ -0,0 +1,26 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Signika</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/unmaintained/ttf-signika-family/APKBUILD b/unmaintained/ttf-signika-family/APKBUILD
new file mode 100644
index 0000000000..38b7f97823
--- /dev/null
+++ b/unmaintained/ttf-signika-family/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=ttf-signika-family
+pkgver=1.0001
+pkgrel=0
+pkgdesc="Signika is a sans-serif with a gentle character. TrueType version."
+url="http://fontfabric.com/signika-font/"
+arch="noarch"
+license="OFL"
+depends="fontconfig"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+# added fontconfig configuration from:
+# https://github.com/bohoomil/fontconfig-ultimate/tree/master/fontconfig_patches/fonts-settings
+source="http://bohoomil.com/src/signika.zip
+ 45-signika.conf
+ 90-tt-signika.conf"
+
+_builddir="$srcdir"
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/fonts/$pkgname \
+ "$pkgdir"/etc/fonts/conf.avail \
+ "$pkgdir"/etc/fonts/conf.d
+ for i in "$_builddir"/*.ttf; do
+ install -m644 "$i" \
+ "$pkgdir"/usr/share/fonts/$pkgname/ || return 1
+ done
+ for j in "$srcdir"/*.conf; do
+ install -m644 "$j" \
+ "$pkgdir"/etc/fonts/conf.avail/ || return 1
+ cd "$pkgdir"/etc/fonts/conf.d
+ ln -sf /etc/fonts/conf.avail/${j##*/}
+ done
+}
+md5sums="0b6bd70d3c5c49067b5b8d4d31c28a23 signika.zip
+e80feaf4275d8c51ab6958bea98656bb 45-signika.conf
+e61a56958c56c76adfba952e280bdb0a 90-tt-signika.conf"
+sha256sums="a1092b85e68db2aa67fa97c0ec51436d2942b1860b974efdcb6b090d4c252032 signika.zip
+d2425f0d723f72db90e00f323aaa83610a067fe244bcaf13b9dde58a902f0e39 45-signika.conf
+b5aa77899c9b3511adcb6a8cdd4b09c654913a9d3266207c0d8de381d4e7ea8a 90-tt-signika.conf"
+sha512sums="b443b46fdae38731364583f84eb271e576897b8edae1a46efc78463619a896d64fcf6d811cf240e62ddacd3d6531269763c1a28a63f93bfa161c173e70bb6088 signika.zip
+ae5ed92bf84e7091476f83ae1415b8b1cf7cb0db15218d24595f4a590c1f6919cbd088d8ea60101530e0064bca40a249ea2961d0e8d7ca1e6cea8e3ae57304a7 45-signika.conf
+4d7afe74c8255b7cb14f3997fa01d0076aba9edd24b97e515251678e52b7fa54b7bc62ac63ae90e1b05a7d1d1d177ba446ea6bfd952d2f2f1707e7d9da22d35a 90-tt-signika.conf"
diff --git a/unmaintained/ttf-symbola/45-symbola.conf b/unmaintained/ttf-symbola/45-symbola.conf
new file mode 100644
index 0000000000..4cdaf1f464
--- /dev/null
+++ b/unmaintained/ttf-symbola/45-symbola.conf
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+ <alias>
+ <family>Symbola</family>
+ <default>
+ <family>serif</family>
+ </default>
+ </alias>
+
+</fontconfig>
diff --git a/unmaintained/ttf-symbola/90-tt-symbola.conf b/unmaintained/ttf-symbola/90-tt-symbola.conf
new file mode 100644
index 0000000000..14a3211b7d
--- /dev/null
+++ b/unmaintained/ttf-symbola/90-tt-symbola.conf
@@ -0,0 +1,26 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+
+ <match target="font">
+ <test name="force_autohint">
+ <bool>false</bool>
+ </test>
+ <test name="family">
+ <string>Symbola</string>
+ </test>
+ <edit name="antialias" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ <edit name="autohint" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/unmaintained/ttf-symbola/APKBUILD b/unmaintained/ttf-symbola/APKBUILD
new file mode 100644
index 0000000000..def66d1ea0
--- /dev/null
+++ b/unmaintained/ttf-symbola/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=ttf-symbola
+pkgver=7.21
+pkgrel=0
+pkgdesc="Symbola is a free symbol-type font."
+url="http://users.teilar.gr/~g1951d/"
+arch="noarch"
+license="custom"
+depends="fontconfig"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+# added fontconfig configuration from:
+# https://github.com/bohoomil/fontconfig-ultimate/tree/master/fontconfig_patches/fonts-settings
+source="$pkgname-$pkgver.zip::http://users.teilar.gr/~g1951d/Symbola.zip
+ 45-symbola.conf
+ 90-tt-symbola.conf"
+
+_builddir="$srcdir"
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/fonts/$pkgname \
+ "$pkgdir"/etc/fonts/conf.avail \
+ "$pkgdir"/etc/fonts/conf.d
+ for i in "$_builddir"/*.ttf; do
+ install -m644 "$i" \
+ "$pkgdir"/usr/share/fonts/$pkgname/ || return 1
+ done
+ for j in "$srcdir"/*.conf; do
+ install -m644 "$j" \
+ "$pkgdir"/etc/fonts/conf.avail/ || return 1
+ cd "$pkgdir"/etc/fonts/conf.d
+ ln -sf /etc/fonts/conf.avail/${j##*/}
+ done
+}
+
+md5sums="9c8d59868988659dd7fd923c69433cd7 ttf-symbola-7.21.zip
+ea68708c13c24670b7affa2ab5441eaa 45-symbola.conf
+b85c574d01a84a86f9edc5611d044a3f 90-tt-symbola.conf"
+sha256sums="d892c4959af805fc790a5061e623942862e99d14ed157101eec472c410de156b ttf-symbola-7.21.zip
+9b34927b63d6390d3cfe79bce5dcfc3f180b93be5ea9e2b4b5c5f8d89a8093e9 45-symbola.conf
+0f5d31c3fe7af42e8d90a8311a49d84bf60c385983ca9f514cf4eccf40135880 90-tt-symbola.conf"
+sha512sums="a112ba8cd2a65b4a6a45c5b0e03fc01e9a1b16ce922032b77f40a1bc13c78238c6bbd7ea2276f9a13fffd3b6b5ba07632b5f4c19b167cd9158bab6ad2e6a8ed8 ttf-symbola-7.21.zip
+e30c8c2ccf70f89602e2326fc969d1ccaa1a14fb07ff19314d98554c1f3051078476a3fb8bce2ee56e22cd1574cd5d6fd2efd5eb4ca88ca04e9cd4586e29c4fe 45-symbola.conf
+af22a299541b042694ce1b962beef101b612a0992318fb8c9a003defbd4e53c2ffbcb9f584eaa8d0b1fd55cfa175c978aaa495837242dfa38c74d51b19d11044 90-tt-symbola.conf"
diff --git a/unmaintained/tut/APKBUILD b/unmaintained/tut/APKBUILD
new file mode 100644
index 0000000000..502a3ceadf
--- /dev/null
+++ b/unmaintained/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/unmaintained/ubus/APKBUILD b/unmaintained/ubus/APKBUILD
new file mode 100644
index 0000000000..58624854dd
--- /dev/null
+++ b/unmaintained/ubus/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
+# Maintainer:
+pkgname=ubus
+pkgver=0_git20150919
+pkgrel=0
+pkgdesc="OpenWrt micro bus architecture"
+url="http://nbd.name/gitweb.cgi?p=luci2/ubus.git"
+arch="all"
+license="GPL"
+depends=
+depends_dev=
+makedepends="$depends_dev cmake json-c-dev libubox libubox-dev"
+subpackages="$pkgname-dev"
+install=
+source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar.gz
+ disable-systemd.patch
+ "
+giturl="git://nbd.name/luci2/ubus.git"
+disturl="dev.alpinelinux.org:/archive/$pkgname"
+
+_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"
+ cmake CMakeLists.txt -DBUILD_LUA=OFF -DCMAKE_INSTALL_PREFIX=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+md5sums="8697350a75ba8f6b4c9d27ec1a0a30f3 ubus-0_git20150919.tar.gz
+335d57ca38e7cd6ec69433a13c0381fa disable-systemd.patch"
+sha256sums="b7a89410a5bb6e219e65027e641c043dab8d1a0f658d5c7da5f9704b59106924 ubus-0_git20150919.tar.gz
+1232e614b2f3e26687e380c952901833e1bf3e179ba78f14a7bdebb3856a2cec disable-systemd.patch"
+sha512sums="903483208ae5d303e9436f3aa315ad2603ca4c835832470e78a6e0502e889dab02af7d34f624fd9659d1e9679fc0a8724d1223aa7e8d0a9864c109d0de09a496 ubus-0_git20150919.tar.gz
+bef2a9892290b8b37a3b1db414a8031e43823a023660648f06effe3d3ed0258e1f6f7433e59bc46436237bec2cf0a0e7af6d6105d76c1f289a1496bb39f55480 disable-systemd.patch"
diff --git a/unmaintained/ubus/disable-systemd.patch b/unmaintained/ubus/disable-systemd.patch
new file mode 100644
index 0000000000..1a0641e82c
--- /dev/null
+++ b/unmaintained/ubus/disable-systemd.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -5,7 +5,7 @@
+
+ OPTION(BUILD_LUA "build Lua plugin" ON)
+ OPTION(BUILD_EXAMPLES "build examples" ON)
+-OPTION(ENABLE_SYSTEMD "systemd support" ON)
++OPTION(ENABLE_SYSTEMD "systemd support" OFF)
+
+ SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
+ SET(UBUS_UNIX_SOCKET "/var/run/ubus.sock")
diff --git a/unmaintained/uci/APKBUILD b/unmaintained/uci/APKBUILD
new file mode 100644
index 0000000000..bb4199bd1f
--- /dev/null
+++ b/unmaintained/uci/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
+# Maintainer:
+pkgname=uci
+pkgver=0_git20150919
+pkgrel=1
+pkgdesc="Library and utility for the Unified Configuration Interface for OpenWrt"
+url="http://nbd.name/gitweb.cgi?p=uci.git"
+arch="all"
+license="GPL"
+depends=
+depends_dev=
+makedepends="$depends_dev cmake libubox-dev libubox"
+subpackages="$pkgname-dev"
+install=
+source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar.gz
+ "
+giturl="git://nbd.name/uci.git"
+disturl="dev.alpinelinux.org:/archive/$pkgname"
+
+_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"
+ cmake CMakeLists.txt -DBUILD_LUA=OFF -DCMAKE_INSTALL_PREFIX=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ class="western"
+ make DESTDIR="$pkgdir" install
+}
+
+md5sums="d50257b0adedc8fb82a3b90f43830adc uci-0_git20150919.tar.gz"
+sha256sums="5d91c0c80e9bc14b85cdc2f622e2c0c8e1c2ba20a1e7d496cd49536b135c0479 uci-0_git20150919.tar.gz"
+sha512sums="8c2d9fe4492be3231049ab8899ac232b663f31c73a5c857f92d77eccdf3a3bd83967b611cc59b1f507449e030487eb3511214229aa257f426afc72463ed211f7 uci-0_git20150919.tar.gz"
diff --git a/unmaintained/ucspi-ssl/0001-Add-missing-make-targets.patch b/unmaintained/ucspi-ssl/0001-Add-missing-make-targets.patch
new file mode 100644
index 0000000000..8c36dab94c
--- /dev/null
+++ b/unmaintained/ucspi-ssl/0001-Add-missing-make-targets.patch
@@ -0,0 +1,41 @@
+From a4f0a53cab0caa35607a85378bc687468eaec466 Mon Sep 17 00:00:00 2001
+From: Jesse Young <jlyo@jlyo.org>
+Date: Fri, 24 Jul 2015 16:11:59 +0000
+Subject: [PATCH] Add missing make targets
+
+---
+ host/superscript.com/net/ucspi-ssl-0.95b/src/Makefile | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/host/superscript.com/net/ucspi-ssl-0.95b/src/Makefile b/host/superscript.com/net/ucspi-ssl-0.95b/src/Makefile
+index 452586c..089b1ff 100755
+--- a/host/superscript.com/net/ucspi-ssl-0.95b/src/Makefile
++++ b/host/superscript.com/net/ucspi-ssl-0.95b/src/Makefile
+@@ -454,6 +454,12 @@ compile remoteinfo.c buffer.h error.h fmt.h gen_alloc.h iopause.h \
+ remoteinfo.h socket.h stralloc.h tai.h taia.h timeoutconn.h uint16.h uint64.h
+ ./compile remoteinfo.c
+
++remoteinfo6.o: \
++compile remoteinfo6.c buffer.h error.h fmt.h gen_alloc.h iopause.h \
++remoteinfo.h socket.h stralloc.h tai.h taia.h timeoutconn.h uint16.h uint32.h \
++uint64.h
++ ./compile remoteinfo6.c
++
+ rules.o: \
+ compile rules.c alloc.h cdb.h gen_alloc.h ip4_bit.h open.h rules.h \
+ str.h stralloc.h uint32.h
+@@ -881,6 +887,11 @@ compile timeoutconn.c error.h iopause.h ndelay.h socket.h tai.h \
+ taia.h timeoutconn.h uint16.h uint64.h
+ ./compile timeoutconn.c
+
++timeoutconn6.o: \
++compile timeoutconn6.c error.h iopause.h ndelay.h socket.h \
++tai.h taia.h timeoutconn.h uint16.h uint32.h uint64.h
++ ./compile timeoutconn6.c
++
+ ucspissl.a: \
+ makelib ssl_ca.o ssl_cca.o ssl_certkey.o ssl_chainfile.o ssl_ciphers.o \
+ ssl_context.o ssl_env.o ssl_error.o ssl_io.o ssl_new.o ssl_params.o ssl_timeoutaccept.o \
+--
+2.4.6
+
diff --git a/unmaintained/ucspi-ssl/APKBUILD b/unmaintained/ucspi-ssl/APKBUILD
new file mode 100644
index 0000000000..7e0a601ae4
--- /dev/null
+++ b/unmaintained/ucspi-ssl/APKBUILD
@@ -0,0 +1,70 @@
+# Contributor: Jesse Young <jlyo@jlyo.org>
+# Maintainer:
+pkgname=ucspi-ssl
+pkgver=0.95b
+pkgrel=0
+pkgdesc="Command-line tools for building SSL client-server applications"
+url="http://www.fehcom.de/ipnet/ucspi-ssl.html"
+arch="all"
+license="public-domain"
+depends=""
+depends_dev=""
+makedepends="$depends_dev openssl-dev linux-headers perl-dev"
+install=""
+#subpackages="$pkgname-doc"
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://www.fehcom.de/ipnet/${pkgname}/${pkgname}-${pkgver}.tgz
+ 0001-Add-missing-make-targets.patch"
+
+_builddir="${srcdir}/host/superscript.com/net/${pkgname}-${pkgver}"
+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() {
+ cd "${_builddir}/src"
+
+ echo "${CC:-"gcc"} ${CFLAGS}" > conf-cc
+ echo "${CC:-"gcc"} ${LDFLAGS}" > conf-ld
+ echo "/usr" > home
+
+ make || return 1
+}
+
+package() {
+ local f
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/usr/bin
+ for f in $(cat package/commands-base); do
+ cp "src/${f}" "${pkgdir}/usr/bin/${f}"
+ done
+
+ for f in $(cd man && echo *.[0-9] ); do
+ mkdir -p "${pkgdir}/usr/share/man/man${f##*[a-zA-Z.]}"
+ cp "man/${f}" "${pkgdir}/usr/share/man/man${f##*[a-zA-Z.]}/${f}"
+ done
+}
+
+dev() {
+ default_dev
+ cd "$_builddir"
+
+ mkdir -p "${subpkgdir}/usr/include/${pkgname}"
+ mkdir -p "${subpkgdir}/usr/lib/${pkgname}"
+ install -m644 "src/ucspissl.a" "${subpkgdir}/usr/lib/${pkgname}/ucspissl.a"
+ install -m644 "src/ucspissl.h" "${subpkgdir}/usr/include/${pkgname}/ucspissl.h"
+ install -m644 "src/ssl.lib" "${subpkgdir}/usr/lib/${pkgname}/ssl.lib"
+}
+
+md5sums="a9fd37da2dd68861a3ff6bb9f1589364 ucspi-ssl-0.95b.tgz
+f98c590f3dbde7d616d9909bf3fc044b 0001-Add-missing-make-targets.patch"
+sha256sums="9f3bcf66546b433b089f6f340d243065beb801b97d4026e54dd586f0022b5f1e ucspi-ssl-0.95b.tgz
+10964e922af5f2cadb4712091ff389ad33270e834658a711e8f912df4dd822e9 0001-Add-missing-make-targets.patch"
+sha512sums="686bd4a1e4b9d560b381eb78193351114ef4135638296b9287db2fa168ba223412fb377aebbcbaa01a084bcc32455e69787ca3478bea248fed68dc5b882d8861 ucspi-ssl-0.95b.tgz
+dba8942c9e047b7d077a4561e6ca929ed9962250c6f8dd15c1bd3a4dfceb73a54a76963b7c3b4b63afc105bc208f06f602f4049515f176dc33fc2478f6acdc42 0001-Add-missing-make-targets.patch"
diff --git a/unmaintained/ucspi-tcp/APKBUILD b/unmaintained/ucspi-tcp/APKBUILD
new file mode 100644
index 0000000000..98e84685a6
--- /dev/null
+++ b/unmaintained/ucspi-tcp/APKBUILD
@@ -0,0 +1,50 @@
+# 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() {
+ local f
+ 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/unmaintained/ucspi-tcp/ucspi-tcp-0.88.a_record.patch b/unmaintained/ucspi-tcp/ucspi-tcp-0.88.a_record.patch
new file mode 100644
index 0000000000..903125eaae
--- /dev/null
+++ b/unmaintained/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/unmaintained/ucspi-tcp/ucspi-tcp-0.88.errno.patch b/unmaintained/ucspi-tcp/ucspi-tcp-0.88.errno.patch
new file mode 100644
index 0000000000..7654c783a6
--- /dev/null
+++ b/unmaintained/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/unmaintained/ucspi-tcp6/APKBUILD b/unmaintained/ucspi-tcp6/APKBUILD
new file mode 100644
index 0000000000..a9535a4d59
--- /dev/null
+++ b/unmaintained/ucspi-tcp6/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Jesse Young <jlyo@jlyo.org>
+# Maintainer:
+pkgname=ucspi-tcp6
+pkgver=1.00a
+pkgrel=0
+pkgdesc="IPv6 enabled ucspi-tcp superserver"
+url="http://www.fehcom.de/ipnet/ucspi-tcp6.html"
+arch="all"
+license="public-domain"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+conflicts="ucspi-tcp"
+provides="ucspi-tcp"
+source="http://www.fehcom.de/ipnet/${pkgname}/${pkgname}-${pkgver}.tgz"
+
+_builddir="${srcdir}/host/${pkgname}-${pkgver%%[a-zA-Z]}"
+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}/src"
+
+ echo "${CC:-"gcc"} ${CFLAGS}" > conf-cc
+ echo "${CC:-"gcc"} ${LDFLAGS}" > conf-ld
+ echo "/usr" > home
+
+ make || return 1
+}
+
+package() {
+ local f
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/usr/bin
+ for f in $(cat package/commands-base); do
+ cp "src/${f}" "${pkgdir}/usr/bin/${f}"
+ done
+
+ for f in $(cd man && echo *.[0-9] ); do
+ mkdir -p "${pkgdir}/usr/share/man/man${f##*[a-zA-Z.]}"
+ cp "man/${f}" "${pkgdir}/usr/share/man/man${f##*[a-zA-Z.]}/${f}"
+ done
+ mkdir -p "${pkgdir}/usr/share/licenses/${pkgname}"
+ cp doc/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+md5sums="24909412ef7d7ecb32cf3132989b78ea ucspi-tcp6-1.00a.tgz"
+sha256sums="b0f6df425c2f3e90c89a94c501414834ea1bc0b66b8ba381fda8ca02f25d1608 ucspi-tcp6-1.00a.tgz"
+sha512sums="94c623721d19d047aed4fbffbf2702f51588426d0689102478c98bc91ca1f60f65d493dcad3681db63f231ea811dad2c1c7c7c6ead45d40a490f743212c10908 ucspi-tcp6-1.00a.tgz"
diff --git a/unmaintained/uget/APKBUILD b/unmaintained/uget/APKBUILD
new file mode 100644
index 0000000000..d3eb1092f5
--- /dev/null
+++ b/unmaintained/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/unmaintained/uhttpmock/APKBUILD b/unmaintained/uhttpmock/APKBUILD
new file mode 100644
index 0000000000..5cf165bd89
--- /dev/null
+++ b/unmaintained/uhttpmock/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer:
+pkgname=uhttpmock
+pkgver=0.5.0
+pkgrel=0
+pkgdesc="HTTP web service mocking library"
+url="http://gitorious.org/uhttpmock/"
+arch="all"
+license="LGPLv2"
+depends=""
+depends_dev="libsoup-dev glib-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://tecnocode.co.uk/downloads/uhttpmock/$pkgname-$pkgver.tar.xz"
+
+_builddir="$srcdir"/uhttpmock-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --disable-static \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="ebc54cbbe9b6695282a179af223fe374 uhttpmock-0.5.0.tar.xz"
+sha256sums="26da182a2db2579c5ba4dad9096d52099e0766228c295cfbaed6de4046f7d16e uhttpmock-0.5.0.tar.xz"
+sha512sums="952b618f3a12d7190f3812bc0bd53dd655a83d27f29bb749e62b36a08492bf535b85db7f5ff66f15c72bf5574696149f00476041f225ca6039ad87b221f5a1c6 uhttpmock-0.5.0.tar.xz"
diff --git a/unmaintained/ulib/APKBUILD b/unmaintained/ulib/APKBUILD
new file mode 100644
index 0000000000..7f56536b1b
--- /dev/null
+++ b/unmaintained/ulib/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=ulib
+pkgver=1.4.2
+_gitsnapshot=f4cc822edd7797a0dd4b47379f555e05b9ab8990
+pkgrel=1
+pkgdesc="ULib is a highly optimized class framework for writing C++ applications"
+url="https://github.com/stefanocasazza/ULib"
+arch="all"
+license="GPL3"
+depends=""
+depends_dev="openssl-dev pcre-dev linux-headers"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="https://github.com/stefanocasazza/ULib/archive/$_gitsnapshot.tar.gz"
+
+_builddir="$srcdir"/ULib-$_gitsnapshot
+
+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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --enable-static=no \
+ || return 1
+
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="458f67f667e022ef320754e1ec11cab5 f4cc822edd7797a0dd4b47379f555e05b9ab8990.tar.gz"
+sha256sums="ce212c4d4680cff642be84aacf6722a495a322ac497933d286da15b015fbc9db f4cc822edd7797a0dd4b47379f555e05b9ab8990.tar.gz"
+sha512sums="615da26a311666ab18be1ae0e87adbbb615a7b0e27612e2ff6ad5013321dc42fdfab571b7e12002f5c3819502c0ea1dca9648143a932b9d7c5ee616002c1e1b1 f4cc822edd7797a0dd4b47379f555e05b9ab8990.tar.gz"
diff --git a/unmaintained/unagi/APKBUILD b/unmaintained/unagi/APKBUILD
new file mode 100644
index 0000000000..9da0cbd2c8
--- /dev/null
+++ b/unmaintained/unagi/APKBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=unagi
+pkgver=0.3.3
+pkgrel=1
+pkgdesc="A modular compositing manager"
+url="https://projects.mini-dweeb.org/projects/unagi"
+arch="all"
+license="GPLv3"
+depends=""
+depends_dev="libxdg-basedir-dev libxcb-dev confuse-dev xcb-util-wm-dev
+ xcb-util-keysyms-dev xcb-util-renderutil-dev xcb-util-image-dev
+ libev-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="https://projects.mini-dweeb.org/attachments/download/111/unagi-$pkgver.tar.gz"
+
+_builddir="$srcdir"/unagi-$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
+}
+
+package() {
+ cd "$_builddir"
+ make install DESTDIR="$pkgdir" || return 1
+}
+
+md5sums="4a1bc93d23cbbafc87aa0c7f956a585c unagi-0.3.3.tar.gz"
diff --git a/unmaintained/unetbootin/APKBUILD b/unmaintained/unetbootin/APKBUILD
new file mode 100644
index 0000000000..5d1f4928b0
--- /dev/null
+++ b/unmaintained/unetbootin/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: William Pitcock <nenolod@dereferenced.org>
+pkgname=unetbootin
+pkgver=608
+pkgrel=0
+pkgdesc="tool for building USB install media"
+url="http://unetbootin.sourceforge.net/"
+arch="x86 x86_64"
+license="GPL"
+depends="syslinux p7zip"
+depends_dev=""
+makedepends="qt-dev $depends_dev"
+install=""
+subpackages="$pkgname-lang"
+source="http://softlayer-ams.dl.sourceforge.net/project/unetbootin/UNetbootin/$pkgver/unetbootin-source-$pkgver.tar.gz
+ allow-ntfs.patch"
+
+_builddir="$srcdir"
+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"
+ lupdate unetbootin.pro
+ lrelease unetbootin.pro
+ qmake "DEFINES += NOSTATIC" "RESOURCES -= unetbootin.qrc"
+ make
+}
+
+package() {
+ cd "$_builddir"
+ install -D -m755 "$srcdir"/unetbootin "$pkgdir"/usr/bin/unetbootin
+}
+
+lang() {
+ arch="noarch"
+ cd "$_builddir"
+ install -D -m644 "$srcdir"/unetbootin_*.qm "$subpkgdir"/usr/share/unetbootin
+}
+
+md5sums="8c0f9f565a3dc0b093a0a9afd58fa9a7 unetbootin-source-608.tar.gz
+a7d9ea8ed464600bc3d5b018ad6024f6 allow-ntfs.patch"
+sha256sums="ce99c5f60b1f66da0ceb41859ce9198d96b3061b949b167fc952d3951b632080 unetbootin-source-608.tar.gz
+7e1153938a868d390bb0b54ade22299696e2d5c7a9d1347ecbe9d33d097e0b7b allow-ntfs.patch"
+sha512sums="d164537c96845eb90ac5aae1fa0c553c9392d778696e4818760cb11f78341e6a3ea6a05f702678583c5d680dc8fb1348cdc2b2dfba9bebfdf793779c23611d16 unetbootin-source-608.tar.gz
+7b5d415a226356697d7e4ce18d8e9cc4e7c5357ef94fc7a063a320f1f2fa5d03109bd399fafe4565144327643284d3b3ddbf57568cccf34f81e0bd61e151208b allow-ntfs.patch"
diff --git a/unmaintained/unetbootin/allow-ntfs.patch b/unmaintained/unetbootin/allow-ntfs.patch
new file mode 100644
index 0000000000..d8e72c1912
--- /dev/null
+++ b/unmaintained/unetbootin/allow-ntfs.patch
@@ -0,0 +1,20 @@
+--- src.orig/unetbootin.cpp
++++ src/unetbootin.cpp
+@@ -572,7 +572,7 @@
+ {
+ if (!volidcommand.isEmpty())
+ {
+- if (QString(callexternapp(volidcommand, QString("-t %2").arg(usbfileinfoL.at(i).canonicalFilePath()))).contains(QRegExp("(vfat|ext2|ext3|ext4)")))
++ if (QString(callexternapp(volidcommand, QString("-t %2").arg(usbfileinfoL.at(i).canonicalFilePath()))).contains(QRegExp("(vfat|ntfs|ext2|ext3|ext4)")))
+ fulldrivelist.append(usbfileinfoL.at(i).canonicalFilePath());
+ }
+ else
+@@ -580,7 +580,7 @@
+ QString tstrblk = QString(callexternapp(blkidcommand, QString("-s TYPE %2").arg(usbfileinfoL.at(i).canonicalFilePath())));
+ if (tstrblk.contains('='))
+ {
+- if (tstrblk.section('=', -1, -1).remove('"').contains(QRegExp("(vfat|ext2|ext3|ext4)")))
++ if (tstrblk.section('=', -1, -1).remove('"').contains(QRegExp("(vfat|ntfs|ext2|ext3|ext4)")))
+ fulldrivelist.append(usbfileinfoL.at(i).canonicalFilePath());
+ }
+ }
diff --git a/unmaintained/unibilium/APKBUILD b/unmaintained/unibilium/APKBUILD
new file mode 100644
index 0000000000..71a09780bd
--- /dev/null
+++ b/unmaintained/unibilium/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Marvin Steadfast <marvin@xsteadfastx.org>
+# Maintainer: Marvin Steadfast <marvin@xsteadfastx.org>
+pkgname=unibilium
+pkgver=1.2.0
+pkgrel=0
+pkgdesc="A terminfo parsing library"
+url="https://github.com/mauke/unibilium/"
+arch="all"
+license="LGPL3"
+depends=""
+depends_dev="libtool"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mauke/unibilium/archive/v$pkgver.tar.gz"
+
+_builddir="$srcdir"/"$pkgname"-"$pkgver"
+build() {
+ cd "$_builddir"
+ make PREFIX=/usr || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make PREFIX=/usr DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="9b1c97839a880a373da6c097443b43c4 unibilium-1.2.0.tar.gz"
+sha256sums="623af1099515e673abfd3cae5f2fa808a09ca55dda1c65a7b5c9424eb304ead8 unibilium-1.2.0.tar.gz"
+sha512sums="7aff79669200810c2910006aba657ca2276123ecb3e6e0ba01fa2d1c3cdf838c391594e6035ef150deb6185c4f1e43fe1b0bfb59b23c6697d801a5bdee37a0ee unibilium-1.2.0.tar.gz"
diff --git a/unmaintained/unifdef/APKBUILD b/unmaintained/unifdef/APKBUILD
new file mode 100644
index 0000000000..7b98629ab0
--- /dev/null
+++ b/unmaintained/unifdef/APKBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=unifdef
+pkgver=2.10
+pkgrel=0
+pkgdesc="Tool to process C preprocessor #if and #ifdef directives"
+url="http://dotat.at/prog/unifdef/"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://dotat.at/prog/unifdef/unifdef-$pkgver.tar.xz"
+
+_builddir="$srcdir"/unifdef-$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 DESTDIR="$pkgdir" prefix=/usr install || return 1
+}
+
+md5sums="bb5d895e5ebbba5c5cc0c2771cf97ebe unifdef-2.10.tar.xz"
+sha256sums="3b9b2b6b1952e9b9c1b9f734edec270689a35bdbf33ae66b50e19b2ed0d2df06 unifdef-2.10.tar.xz"
+sha512sums="9537a4679997a2677dcbe26c5849147654eb20b9edbf7625bd251e065d90a3ea54c4be9d445abdbc611820d8902d446062f800313904ac3f9cde3a89120860de unifdef-2.10.tar.xz"
diff --git a/unmaintained/unpaper/APKBUILD b/unmaintained/unpaper/APKBUILD
new file mode 100644
index 0000000000..bdda5bafcd
--- /dev/null
+++ b/unmaintained/unpaper/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=unpaper
+pkgver=6.1
+pkgrel=0
+pkgdesc="post-processing tool for scanned sheets of paper"
+url="https://github.com/Flameeyes/unpaper"
+arch="all"
+license="GPL"
+depends=""
+depends_dev="ffmpeg-dev"
+makedepends="$depends_dev automake autoconf libtool libxslt"
+install=""
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Flameeyes/unpaper/tarball/unpaper-$pkgver"
+
+_builddir="$srcdir/Flameeyes-unpaper-5e7fdc7"
+
+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"
+ aclocal && automake --add-missing && autoconf
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="ade1513be12ffc73063db0b375017ca7 unpaper-6.1.tar.gz"
+sha256sums="9421fa66c8506f12dc0cc4c3814f1b41903420f6afeecd0db50fae49fcdb5740 unpaper-6.1.tar.gz"
+sha512sums="96e4f5748f836044d47a08b5c61f4367c8497d64b61e588a38b11ae99261a051c2c77e61aef85803dcd904aa8b03d78a5fa1c467bb3e632dbe9dbd68c4719557 unpaper-6.1.tar.gz"
diff --git a/unmaintained/upgrade-notify/APKBUILD b/unmaintained/upgrade-notify/APKBUILD
new file mode 100644
index 0000000000..901907b1aa
--- /dev/null
+++ b/unmaintained/upgrade-notify/APKBUILD
@@ -0,0 +1,19 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname="upgrade-notify"
+pkgver=0.1
+pkgrel=0
+license="GPL"
+pkgdesc="Get notifications about what services need to restart after an upgrade"
+url="http://git.alpinelinux.org/alpine/tree/testing/upgrade-notify"
+arch=noarch
+triggers="$pkgname.trigger=/etc/init.d:/boot"
+
+build() {
+ return 0
+}
+
+package() {
+ mkdir -p "$pkgdir"
+}
+
+
diff --git a/unmaintained/upgrade-notify/upgrade-notify.trigger b/unmaintained/upgrade-notify/upgrade-notify.trigger
new file mode 100644
index 0000000000..0c3cf462f8
--- /dev/null
+++ b/unmaintained/upgrade-notify/upgrade-notify.trigger
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+msg() {
+ local summary="$1"
+ shift
+ echo "" >&2
+ echo " $summary" >&2
+ local i
+ for i; do
+ echo " $i" >&2
+ done
+ echo "" >&2
+}
+
+# compare the timestamp of "started" symlink with timestamp of /etc/init.d
+# if the /etc/init.d/* script is newer than "started" symlink then
+# service was upgraded after service was started
+services=$(find /run/openrc/started -type l | xargs stat -c "%n %Y" \
+ | while read file started; do
+ svc=${file##*/}
+ installed=$(stat -c "%Y" /etc/init.d/$svc)
+ if [ $installed -gt $started ]; then
+ echo $svc
+ fi
+done)
+
+need_reboot=false
+for i; do
+ case $i in
+ /boot)
+ need_reboot=true
+ esac
+done
+
+notify=msg
+if which notify-send > /dev/null; then
+ notify="notify-send"
+fi
+
+if [ -n "$services" ]; then
+ $notify "The following services have been updated and need a restart:" \
+ $services
+fi
+
+case "$(rc --sys)" in
+ LXC|VSERVER) exit 0 ;;
+esac
+
+if $need_reboot ; then
+ $notify "Kernel(s) were updated. You might need to reboot"
+fi
+
diff --git a/unmaintained/urlwatch/APKBUILD b/unmaintained/urlwatch/APKBUILD
new file mode 100644
index 0000000000..6f9f5345e2
--- /dev/null
+++ b/unmaintained/urlwatch/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=urlwatch
+pkgver=1.17
+pkgrel=0
+pkgdesc="A tool for monitoring webpages for updates"
+url="http://thpinfo.com/2008/urlwatch/"
+arch="noarch"
+license="BSD"
+depends="python py-futures"
+depends_dev=""
+makedepends="python-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://thp.io/2008/$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
+}
+
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="fb15ca7d3723e3a385ee149d9b19c262 urlwatch-1.17.tar.gz"
+sha256sums="006f04c124cf3dace3d071921e5ed452f6fbd463495bc8aa7879b915407c88f6 urlwatch-1.17.tar.gz"
+sha512sums="67026913083fcc99e99cfb33a31873ac48a2ee69db34b8c13fcccc3bdd051787954cfbf3d3ef73a331c03540e254f53ba6d2661967f89de204798aaf35033cd0 urlwatch-1.17.tar.gz"
diff --git a/unmaintained/usbip-utils/APKBUILD b/unmaintained/usbip-utils/APKBUILD
new file mode 100644
index 0000000000..d75c042532
--- /dev/null
+++ b/unmaintained/usbip-utils/APKBUILD
@@ -0,0 +1,69 @@
+# Contributor: Der Tiger <der.tiger.alpine@arcor.de>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=usbip-utils
+pkgver=3.14
+pkgrel=0
+pkgdesc="Utilities for USB device sharing over IP network"
+url="https://www.kernel.org/doc/readme/drivers-staging-usbip-userspace-README"
+arch="all"
+license="GPLv2"
+depends="glib sysfsutils usbutils"
+depends_dev="gcc automake autoconf libtool sysfsutils-dev glib-dev"
+makedepends="$depends_dev tar"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://ftp.kernel.org/pub/linux/kernel/v3.x/linux-$pkgver.tar.gz
+ sigcld.patch
+ usbip.initd
+ usbip.confd"
+
+_baseurl="linux-$pkgver/drivers/staging/usbip/userspace"
+_builddir="$srcdir"/userspace
+
+prepare() {
+ mkdir -p "$srcdir"
+ mkdir -p "$_builddir"
+ tar -zxvf $srcdir/linux-$pkgver.tar.gz $_baseurl --strip-components=4 -C $_builddir
+
+ 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 CFLAGS=$(echo $CFLAGS | sed 's|-Os|-O2|')
+ export CPPFLAGS="$CFLAGS"
+ /bin/sh autogen.sh
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --libdir=/usr/lib \
+ --datarootdir=/usr/share
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ install -m755 -D "$srcdir"/usbip.initd "$pkgdir"/etc/init.d/usbip
+ install -m755 -D "$srcdir"/usbip.confd "$pkgdir"/etc/conf.d/usbip
+}
+
+md5sums="47dbb96b400c694d52ac61f2149aadfd linux-3.14.tar.gz
+5d8ecbdfd0757538e59db7ea80b278a8 sigcld.patch
+c3f342cdda80901668dd5c437899a9af usbip.initd
+cc863a7da6390319cefa20297b35dd58 usbip.confd"
+sha256sums="967fe34abb97456bd2484bc7fdae8240e696aa00c4b0079f8e1e4382ebada2ce linux-3.14.tar.gz
+70b0a78cca949a5a834e0195676577a44461219056b5a9aab9ff329eb1425c3f sigcld.patch
+bcb4ea61ddeb7e1ecb9abf7890c0e98ba11042dd2b7409c8f1823ffae3b26fd8 usbip.initd
+f649eba29178dbaf903b938111f51994eb0e50a8fc004a1e85cc11fb598d5ecf usbip.confd"
+sha512sums="5d00fc3808ac0896c8009f41471e29d60ba5912a2e9dc4da2464e690d8f66442f00f14189bd90d556293ca111aba33097f4df06606eeca0c857d1e25fb80ff07 linux-3.14.tar.gz
+9572bcc378523cca337324b8519d87813310ae08a358811f8075d54f1e741eb68c8027f9073452e6e942178b46d2f2942d54e68f97f96665fcd6285cfebe07a7 sigcld.patch
+102f03eca0d4fea382cb6ded11c3c432ee211659a21cd2a03cb0ec3d02ea9f5c9684360db5799b706e61ba1eb63c305815364a8b663372e905273ab441a07c6b usbip.initd
+eb8de617e27c4d5fdfee9c442e8f74b0afb4d0fe7b59eca3a19629eb70fea7e09b3c125bc968aa8810d845ce661c829bd0f3fdb2288664f2cccf423bc0ae6ae8 usbip.confd"
diff --git a/unmaintained/usbip-utils/sigcld.patch b/unmaintained/usbip-utils/sigcld.patch
new file mode 100644
index 0000000000..8616faec35
--- /dev/null
+++ b/unmaintained/usbip-utils/sigcld.patch
@@ -0,0 +1,13 @@
+diff --git a/src/usbipd.c b/src/usbipd.c
+index 7980f8b..3ccf94f 100644
+--- a/src/usbipd.c
++++ b/src/usbipd.c
+@@ -451,7 +451,7 @@ static void set_signal(void)
+ sigaction(SIGTERM, &act, NULL);
+ sigaction(SIGINT, &act, NULL);
+ act.sa_handler = SIG_IGN;
+- sigaction(SIGCLD, &act, NULL);
++ sigaction(SIGCHLD, &act, NULL);
+ }
+
+ static const char *pid_file;
diff --git a/unmaintained/usbip-utils/usbip.confd b/unmaintained/usbip-utils/usbip.confd
new file mode 100644
index 0000000000..dcd259c2b2
--- /dev/null
+++ b/unmaintained/usbip-utils/usbip.confd
@@ -0,0 +1,18 @@
+#--------------------------------
+# USBIP Settings
+#--------------------------------
+# - Start daemon to share local devices
+USBIP_START_DAEMON=no
+
+# - Automatically bind local busses
+# format: "{bus} [{bus2} [..]]"
+# or : "{vendorID}:{productID} [..]"
+# example: "3-8 1-1 1b2c:4d1a"
+USBIP_AUTO_BIND=""
+
+# - Automatically attach remote busses
+# format: "{host ip} {remote bus} [..]"
+# or: "{host ip} {vendorID}:{productID} [..]"
+# example: "10.10.10.10 5-1 192.168.0.1 1234:abcd"
+USBIP_AUTO_ATTACH=""
+
diff --git a/unmaintained/usbip-utils/usbip.initd b/unmaintained/usbip-utils/usbip.initd
new file mode 100644
index 0000000000..58e2358c31
--- /dev/null
+++ b/unmaintained/usbip-utils/usbip.initd
@@ -0,0 +1,244 @@
+#!/sbin/runscript
+
+description="Load USBIP kernel modules and run daemon"
+
+: ${USBIP_EXEC:=$(which usbip)}
+: ${USBIP_EXEC_DAEMON:=$(which usbipd)}
+
+depend()
+{
+ provide usbip
+ need sysfs net
+}
+
+LoadKernelModule ()
+{
+ local module=$1
+ #-----------------
+ result=
+ if [ -z "$(/sbin/lsmod | grep "^$(basename $module)")" ]
+ then
+ local filename=$(/sbin/modprobe -l $module)
+ if [ -n "$filename" ]
+ then
+ if ! /sbin/modprobe $filename
+ then
+ eerror "Cannot load kernel module '$filename'."
+ result=failed
+ fi
+ else
+ eerror "Cannot find kernel module '$module'."
+ result=failed
+ fi
+ fi
+ [ -z "$result" ]
+}
+
+IsAvailable ()
+{
+ local bus_or_device=$(echo $1 | tr '[A-Z]' '[a-z]')
+ local host=$2
+ #-----------------
+ host=${host:+--remote=$host}
+ : ${host:=--local}
+ $USBIP_EXEC list --parsable $host |
+ sed -n 's|.*busid='$bus_or_device'#.*|yes|p; \
+ s|.*usbid='$bus_or_device'#.*|yes|p'
+}
+
+GetBus ()
+{
+ local device=$(echo $1 | tr '[A-Z]' '[a-z]')
+ local host=$2
+ #-----------------
+ host=${host:+--remote=$host}
+ : ${host:=--local}
+ case "$host" in
+ "--remote"*) # FIXME: USBIP bug causing remote devices not to be listed parsable
+ $USBIP_EXEC list --parsable $host |
+ sed -n 's|^[ \t]*\([0-9][0-9]*-[0-9][0-9]*\):.*('"$device"').*|\1|p';;
+ *)
+ $USBIP_EXEC list --parsable $host |
+ sed -n 's|.*busid=\([0-9][0-9]*-[0-9][0-9]*\)#usbid='"$device"'#.*|\1|p';;
+ esac
+}
+
+ExecuteUsbip()
+{
+ local command=$1
+ local bus=$2
+ local host=$3
+ local port=$4
+ #-----------------
+ local result=
+ if [ -n "$command" ]
+ then
+ if $USBIP_EXEC $command ${bus:+--busid=$bus} ${host:+--remote=$host} ${port:+--port $port} 1> /dev/null 2> /dev/null
+ then
+ einfo "Executed command '$command'${bus:+ with bus '$bus'}${host:+ on host '$host'}${port:+ on port '$port'}, successfully."
+ else
+ ewarn "Executing command '$command'${bus:+ with bus '$bus'}${host:+ on host '$host'}${port:+ on port '$port'} failed."
+ result=failed
+ fi
+ fi
+ [ -z "$result" ]
+}
+
+ValidateCommand ()
+{
+ local command=$1
+ local bus_or_device=$2
+ local host=$3
+ #-----------------
+ local result=
+ local bus=
+ if [ -z "$host" -o -n "$(echo $host | grep '^[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$')" ]
+ then
+ if [ -n "$(echo $bus_or_device | grep '^[[:xdigit:]]\{4\}:[[:xdigit:]]\{4\}$')" ]
+ then
+ bus="$(GetBus $bus_or_device $host)"
+ if [ -z "$bus" ]
+ then
+ ewarn "Device '$bus_or_device' not available${host:+ on host '$host'}."
+ result=failed
+ fi
+ else
+ if [ -n "$(echo $bus_or_device | grep '^[0-9][0-9]*-[0-9][0-9]*$')" ]
+ then
+ bus=$bus_or_device
+ else
+ ewarn "Unrecognized bus or device '$bus_or_device'."
+ result=failed
+ fi
+ fi
+ if [ -n "$bus" ]
+ then
+ case "$command" in
+ "bind"|"unbind")
+ ExecuteUsbip $command $bus || result=failed;;
+ "attach")
+ if [ -n "$host" ]
+ then
+ ExecuteUsbip $command $bus $host || result=failed
+ else
+ ewarn "Host statement is missing in command '$command'."
+ result=failed
+ fi
+ ;;
+ *)
+ ewarn "Unhandled command '$command'."; result=failed;;
+ esac
+ fi
+ else
+ ewarn "Illegal host ip address '$host'."
+ result=failed
+ fi
+ [ -z "$result" ]
+}
+
+ProcessList ()
+{
+ local command=$1
+ shift
+ local list=$*
+ #-----------------
+ local result=
+ local no_host=
+ case "$command" in
+ "bind"|"unbind") no_host=yes;;
+ *) no_host=;;
+ esac
+ local host=
+ local item=
+ ( for item in $list
+ do
+ if [ -n "$host" -o -n "$no_host" ]
+ then
+ ValidateCommand $command $item $host || result=failed
+ host=
+ else
+ host=$item
+ fi
+ done
+ [ -z "$result" ] )
+}
+
+DetachAll ()
+{
+ # FIXME: At this stage, there is no way to get the vhci_hcd port id of any attached device
+ for port in $(seq 0 15)
+ do
+ $USBIP_EXEC detach --port $port 2> /dev/null
+ done
+ [ 1 -eq 1 ]
+}
+
+UnbindAll ()
+{
+ local result=
+ ProcessList unbind "$($USBIP_EXEC list --parsable --local | sed -n 's|^busid=\([0-9][0-9]*-[0-9][0-9]*\)#.*=usbip-host#$|\1|p' | tr '\n' ' ')"
+}
+
+start_daemon()
+{
+ ebegin "Starting usbip daemon"
+ if LoadKernelModule usbip-host
+ then
+ start-stop-daemon --start --exec $USBIP_EXEC_DAEMON -- -D
+ fi
+ eend $?
+}
+
+start()
+{
+ ebegin "Starting usbip"
+ if LoadKernelModule usbip-core
+ then
+ if LoadKernelModule vhci-hcd
+ then
+ eend 0
+ if yesno "${USBIP_START_DAEMON:-no}"
+ then
+ start_daemon
+ fi
+ if [ -n "$USBIP_AUTO_BIND" ]
+ then
+ ebegin "Auto-binding local busses"
+ ProcessList bind $USBIP_AUTO_BIND
+ eend $?
+ fi
+ if [ -n "$USBIP_AUTO_ATTACH" ]
+ then
+ ebegin "Auto-attaching remote busses"
+ ProcessList attach $USBIP_AUTO_ATTACH
+ eend $?
+ fi
+ else
+ eend 1
+ fi
+ else
+ eend 1
+ fi
+}
+
+stop_daemon()
+{
+ ebegin "Stopping usbip daemon"
+ start-stop-daemon --stop --exec $USBIP_EXEC_DAEMON
+ eend $?
+}
+
+stop()
+{
+ ebegin "Detaching remote busses"
+ DetachAll
+ eend $?
+ ebegin "Un-binding local busses"
+ UnbindAll
+ eend $?
+ if [ -n "$(pidof $(basename "$USBIP_EXEC_DAEMON"))" ]
+ then
+ stop_daemon
+ fi
+}
+
diff --git a/unmaintained/usbmuxd/APKBUILD b/unmaintained/usbmuxd/APKBUILD
new file mode 100644
index 0000000000..962260ae45
--- /dev/null
+++ b/unmaintained/usbmuxd/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=usbmuxd
+pkgver=1.1.0
+pkgrel=0
+pkgdesc="USB Multiplex Daemon"
+url="http://marcansoft.com/blog/iphonelinux/usbmuxd/"
+arch="all"
+license="GPL2 GPL3"
+depends=""
+depends_dev=""
+makedepends="$depends_dev libimobiledevice-dev libusb-dev libplist-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://www.libimobiledevice.org/downloads/usbmuxd-$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 \
+ --sbindir=/usr/bin \
+ --enable-shared \
+ --without-systemd
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="${pkgdir}" install
+}
+
+md5sums="34361c59320cb0b1f9ebcd2798ee1b39 usbmuxd-1.1.0.tar.bz2"
+sha256sums="3e8948b4fe4250ee5c4bd41ccd1b83c09b8a6f5518a7d131a66fd38bd461b42d usbmuxd-1.1.0.tar.bz2"
+sha512sums="66aa0c40e912bf596b819098b87d88e9cf30b2e6352e607eeb778bd4f23bf9bb123fb6a6ecca2d4e4be3171e35d66200d632d2c9c80b1f2462bb45be8aa6912d usbmuxd-1.1.0.tar.bz2"
diff --git a/unmaintained/uselessd/APKBUILD b/unmaintained/uselessd/APKBUILD
new file mode 100644
index 0000000000..bcddb44ffd
--- /dev/null
+++ b/unmaintained/uselessd/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=uselessd
+pkgver=7
+pkgrel=0
+pkgdesc="A systemd replacement which uses less"
+url="http://uselessd.darknedgy.net/"
+arch="all"
+license="GPL2 MIT"
+depends=""
+depends_dev="libcap-dev dbus-dev"
+makedepends="$depends_dev intltool gperf coreutils m4 docbook-xsl"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://bitbucket.org/bcsd/uselessd/downloads/uselessd-$pkgver.tar.xz"
+
+_builddir="$srcdir"/uselessd-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --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
+}
+
+md5sums="4e135a6c43fbd79c15e90a561f50c77d uselessd-7.tar.xz"
+sha256sums="35da6ce84b27147b10d6d5a224c94308f28b52bb3f0e993b3ed9ac7a0792b090 uselessd-7.tar.xz"
+sha512sums="465f6a01beb58cec8e884ca29c7f98a9a531f850f829bdbf441a415688398810bef029c1b1058bb64197d47b808d108b1a7eb1c9da8325afe87b77fa494d9190 uselessd-7.tar.xz"
diff --git a/unmaintained/v8/APKBUILD b/unmaintained/v8/APKBUILD
new file mode 100644
index 0000000000..15228d72fc
--- /dev/null
+++ b/unmaintained/v8/APKBUILD
@@ -0,0 +1,77 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: William Pitcock <nenolod@dereferenced.org>
+pkgname=v8
+pkgver=3.26.31.15
+pkgrel=3
+pkgdesc="V8 JavaScript/ECMAScript Engine"
+url="http://www.chromium.org/"
+arch="x86 x86_64 arm"
+license="BSD"
+depends="readline icu"
+depends_dev="icu-dev readline-dev"
+makedepends="${depends_dev} python paxmark"
+install=""
+subpackages="$pkgname-dev"
+# look for updates: http://gsdview.appspot.com/chromium-browser-official/?marker=v8-3.30.22.tar.bz2.hashe%40
+source="http://gsdview.appspot.com/chromium-browser-official/v8-$pkgver.tar.bz2
+ v8.pc"
+
+_builddir="$srcdir"/v8-$pkgver
+
+[ "$CARCH" = 'x86' ] && ARCH=ia32
+[ "$CARCH" = 'x86_64' ] && ARCH=x64
+
+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
+ find build/ test/ tools/ src/ -type f -exec \
+ sed -e 's_^#!/usr/bin/env python$_&2_' \
+ -e 's_^#!/usr/bin/python$_&2_' \
+ -e "s_'python'_'python2'_" -i {} \;
+
+ sed 's/\bpython\b/python2/' -i Makefile build/gyp/gyp
+
+ sed "s/@VERSION@/$pkgver/g" -i "$srcdir/v8.pc"
+}
+
+build() {
+ cd "$_builddir"
+ local paxflags="-m"
+ [ "$CARCH" = "x86" ] && paxflags="-msp"
+
+ msg "Start building..."
+ build/gyp_v8 -Dv8_enable_i18n_support=1 -Duse_system_icu=1 -Dconsole=readline -Dcomponent=shared_library -Dv8_target_arch=$ARCH -Dwerror= --generator-output=out -f make
+ make -C out builddir=$(pwd)/out/Release BUILDTYPE=Release mksnapshot.$ARCH
+ paxmark "$paxflags" out/Release/mksnapshot.$ARCH
+ make -C out builddir=$(pwd)/out/Release BUILDTYPE=Release
+
+}
+
+package() {
+ cd "$_builddir"
+
+ install -Dm755 out/Release/d8 "$pkgdir"/usr/bin/d8
+ install -Dm755 out/Release/lib.target/libv8.so "$pkgdir"/usr/lib/libv8.so
+
+ install -d "$pkgdir"/usr/include
+ install -Dm644 include/*.h "$pkgdir"/usr/include
+
+ install -d "$pkgdir"/usr/lib/pkgconfig
+ install -m644 "$srcdir/v8.pc" "$pkgdir"/usr/lib/pkgconfig
+
+ install -d "$pkgdir"/usr/share/licenses/v8
+ install -m644 LICENSE* "$pkgdir"/usr/share/licenses/v8
+
+}
+
+md5sums="e206a825dffb468bb5b15ed32786c306 v8-3.26.31.15.tar.bz2
+082724bc560e90d846c0aa441847020c v8.pc"
+sha256sums="1455d3d9d25771d9fc6fdecd33d07133946d3350b4280abb3f5df293a199f718 v8-3.26.31.15.tar.bz2
+2b054309df9af9fb2e3e14527e88360b44745649b4866e592fb357ac90935f5d v8.pc"
+sha512sums="7d980192e34ac668b2847e435bf5939791614c7bb01782a5ec2f217ea30f06b728d21c80fc6e09a5568ead117a93ec450e3fa2a261ee68cdbe25a3d4f0ad0134 v8-3.26.31.15.tar.bz2
+67848ce85a6e4b674cf8775a21e687884530748a0296a2259373636729c9a230a27b7ebfbf5fafff3c1e9c102956246ec4eb744853e564fc8337b42a125aeea8 v8.pc"
diff --git a/unmaintained/v8/v8.pc b/unmaintained/v8/v8.pc
new file mode 100755
index 0000000000..f3e604becf
--- /dev/null
+++ b/unmaintained/v8/v8.pc
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/lib
+includedir=${prefix}/include
+
+Name: v8
+Description: V8 JavaScript Engine
+Version: @VERSION@
+Libs: -L${libdir} -lv8 -pthread
+Cflags: -I${includedir}
diff --git a/unmaintained/vbetool/APKBUILD b/unmaintained/vbetool/APKBUILD
new file mode 100644
index 0000000000..b1b95af4dd
--- /dev/null
+++ b/unmaintained/vbetool/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=vbetool
+pkgver=1.1
+pkgrel=0
+pkgdesc="Run real-mode video BIOS code to alter hardware state"
+url="http://www.codon.org.uk/~mjg59/vbetool/"
+arch="x86 x86_64"
+license="GPLv2"
+depends=""
+depends_dev="pciutils-dev zlib-dev libx86-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://www.codon.org.uk/~mjg59/vbetool/download/vbetool-$pkgver.tar.gz"
+
+_builddir="$srcdir"/vbetool-$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"
+ touch configure
+ ./configure --prefix=/usr \
+ --with-x86emu \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make -j1 DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="ffb03b118867a02296d7449019ad8846 vbetool-1.1.tar.gz"
diff --git a/unmaintained/vdr-plugin-satip/APKBUILD b/unmaintained/vdr-plugin-satip/APKBUILD
new file mode 100644
index 0000000000..a6aabace4e
--- /dev/null
+++ b/unmaintained/vdr-plugin-satip/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=vdr-plugin-satip
+pkgver=0.3.3
+pkgrel=0
+pkgdesc="SAT>IP plugin for VDR"
+url="http://www.saunalahti.fi/~rahrenbe/vdr/satip/"
+arch="all"
+license="GPL"
+depends=""
+depends_dev="tinyxml-dev curl-dev vdr-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-lang"
+source="http://www.saunalahti.fi/~rahrenbe/vdr/satip/files/vdr-satip-$pkgver.tgz
+ include-ctype-header.patch"
+
+_builddir="$srcdir"/satip-$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"
+ #pugixml has pic issues
+ export SATIP_USE_TINYXML=1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="2f149747a512b47d32279dae0b6d3c75 vdr-satip-0.3.3.tgz
+a99d9d1d2e9ed2c5bbe0c7a35626a556 include-ctype-header.patch"
+sha256sums="10fff3a660ea57344c0c84d8e743aa5e23e653149c03621358a0d18a12eefd88 vdr-satip-0.3.3.tgz
+f900cd6eecdeb4a59d8bdb0165a27f6aa068a5cc53f941ad7f0724a751dedf53 include-ctype-header.patch"
+sha512sums="9851c635351746a85047e788a7522526f49a971cc009e7ff8f9c2648ccec60999d6336a6ce60b57ff480abcace9551ef5d4a855253c1647064670620c105aeaa vdr-satip-0.3.3.tgz
+56a6beef683248508cf571db8dc541ff09ae2a96e628ae0ecf0cb263c269a0d94eb2b0e107a331ca5e185205298b26e5a41eecfe27caca92ae4e178639165254 include-ctype-header.patch"
diff --git a/unmaintained/vdr-plugin-satip/include-ctype-header.patch b/unmaintained/vdr-plugin-satip/include-ctype-header.patch
new file mode 100644
index 0000000000..e884f6cc6a
--- /dev/null
+++ b/unmaintained/vdr-plugin-satip/include-ctype-header.patch
@@ -0,0 +1,10 @@
+--- a/satip.c
++++ b/satip.c
+@@ -6,6 +6,7 @@
+ */
+
+ #include <getopt.h>
++#include <ctype.h>
+ #include <vdr/plugin.h>
+ #include "common.h"
+ #include "config.h"
diff --git a/unmaintained/vdr-plugin-vnsiserver/APKBUILD b/unmaintained/vdr-plugin-vnsiserver/APKBUILD
new file mode 100644
index 0000000000..464e1d907d
--- /dev/null
+++ b/unmaintained/vdr-plugin-vnsiserver/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=vdr-plugin-vnsiserver
+pkgver="1.1.0"
+pkgrel=0
+pkgdesc="VDR plugin to handle XBMC clients"
+url="https://github.com/FernetMenta/vdr-plugin-vnsiserver"
+arch="all"
+license="GPLv2"
+depends=""
+depends_dev="vdr-dev"
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="vdr-plugin-vnsiserver-${pkgver}.tar.gz::https://github.com/FernetMenta/vdr-plugin-vnsiserver/archive/v${pkgver}.tar.gz
+ musl-fix.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 DESTDIR=$pkgdir install || return 1
+}
+
+md5sums="b1e9e614c2b5737e1eb125466abd2e07 vdr-plugin-vnsiserver-1.1.0.tar.gz
+c31e4e2252eca1ccb760320a3de86a9f musl-fix.patch"
+sha256sums="7fd0210fee1500ea4c9f59c9accc36096ace9c15831e53505318008d54c9ab10 vdr-plugin-vnsiserver-1.1.0.tar.gz
+899791e06b69163cd18f212c3069ec98ae416a4d3a1316edc21969b28fd29eb3 musl-fix.patch"
+sha512sums="d872b3f1db7dfb5f8616c61bebe278626fc5d01d63fe890013db905226c80035592ff18ea724451eebe704ba7e94894a48207141d11b705ea7722356fef5abbd vdr-plugin-vnsiserver-1.1.0.tar.gz
+dce7f79b485d5c8b80f54b30a62f4e5d72875711836599a6c92fc61b862dc3ae2eb49e2540c9d3e9068c147eeb7d9b381495744597e7be234d28579355e008a7 musl-fix.patch"
diff --git a/unmaintained/vdr-plugin-vnsiserver/musl-fix.patch b/unmaintained/vdr-plugin-vnsiserver/musl-fix.patch
new file mode 100644
index 0000000000..3f3e0c433f
--- /dev/null
+++ b/unmaintained/vdr-plugin-vnsiserver/musl-fix.patch
@@ -0,0 +1,11 @@
+--- a/vnsiosd.c
++++ b/vnsiosd.c
+@@ -24,7 +24,7 @@
+ #include "responsepacket.h"
+ #include <signal.h>
+ #include <sys/ioctl.h>
+-#include <sys/unistd.h>
++#include <unistd.h>
+ #include <vdr/tools.h>
+ #include <vdr/remote.h>
+ #include "cxsocket.h"
diff --git a/unmaintained/vdr/APKBUILD b/unmaintained/vdr/APKBUILD
new file mode 100644
index 0000000000..9fde5bd98b
--- /dev/null
+++ b/unmaintained/vdr/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=vdr
+pkgver=2.1.6
+pkgrel=0
+pkgdesc="Video Disk Recorde"
+url="http://www.tvdr.de/"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev="fontconfig-dev freetype-dev gettext-dev libjpeg-turbo-dev
+ fribidi-dev libcap-dev"
+makedepends="$depends_dev perl coreutils"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="http://projects.vdr-developer.org/git/vdr.git/snapshot/vdr-2.1.6.tar.bz2
+ musl-compat.patch
+ Make.config"
+
+_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"
+ cp $srcdir/Make.config \
+ $_builddir || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make -j1 DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="e3cd52a7ab117806f84f33189b67d10f vdr-2.1.6.tar.bz2
+05df0b4253c6e0067ef595f8216031aa musl-compat.patch
+4e51eaaa7d091e1ae940e6d91e889993 Make.config"
+sha256sums="39a66e7c40ef2d7618b5b832cb7f7db99e0497cb0e58e6b825ba5f63360c6c4f vdr-2.1.6.tar.bz2
+e45a56f50aaac978efad1cec2de39f14cabeb0b95b84d7cec5016e18a574cda5 musl-compat.patch
+7bac17fbdb590bc4d751f367f9ad35581c7f2367ae9531ee69b3e378dafbace7 Make.config"
+sha512sums="7896d5d05fbcc1435a86e584cc49e95ff56486462299cb21765ddedcec32b6bbc46aea7080ee5ad714ff82fcbf7ccd1ea5c527b07a9892192ce0d23de10936eb vdr-2.1.6.tar.bz2
+02d4872edc7c934735e44e1af6a4a9fabc2de9d1bef301c1407f7b4533c8e8c5f7fe4fc7319669ba6bf7483daa0c9a4f0489024c15ab7ed2949e04dc11a25da8 musl-compat.patch
+bdf9cfd7dbf30efec5dc0421b15960c779deef0fe4ba975a608d1bec41c79caa9dd3fc8a0c9863df137cacc0222f7a881a7c1870f99528ba46efaed18358103b Make.config"
diff --git a/unmaintained/vdr/Make.config b/unmaintained/vdr/Make.config
new file mode 100644
index 0000000000..e7564e43b1
--- /dev/null
+++ b/unmaintained/vdr/Make.config
@@ -0,0 +1,12 @@
+PREFIX = /usr
+VARDIR = /var
+CONFDIR = /etc/vdr
+BINDIR = $(PREFIX)/bin
+INCDIR = $(PREFIX)/include
+LIBDIR = $(PREFIX)/lib/vdr
+LOCDIR = $(PREFIX)/share/locale
+MANDIR = $(PREFIX)/share/man
+PCDIR = $(PREFIX)/lib/pkgconfig
+RESDIR = $(PREFIX)/share/vdr
+VIDEODIR = $(VARDIR)/lib/vdr/video
+CACHEDIR = $(VARDIR)/cache/vdr
diff --git a/unmaintained/vdr/musl-compat.patch b/unmaintained/vdr/musl-compat.patch
new file mode 100644
index 0000000000..04a1636e36
--- /dev/null
+++ b/unmaintained/vdr/musl-compat.patch
@@ -0,0 +1,182 @@
+diff --git a/Makefile b/Makefile
+index 0d3a8fc..43349ed 100644
+--- a/Makefile
++++ b/Makefile
+@@ -19,7 +19,7 @@ CXXFLAGS ?= -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses
+ CDEFINES = -D_GNU_SOURCE
+ CDEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
+
+-LIBS = -ljpeg -lpthread -ldl -lcap -lrt $(shell pkg-config --libs freetype2 fontconfig)
++LIBS = -ljpeg -lpthread -ldl -lcap -lrt -lintl $(shell pkg-config --libs freetype2 fontconfig)
+ INCLUDES ?= $(shell pkg-config --cflags freetype2 fontconfig)
+
+ # Directories:
+diff --git a/PLUGINS/src/dvbsddevice/dvbsdffosd.c b/PLUGINS/src/dvbsddevice/dvbsdffosd.c
+index 1a8caf8..b82cc52 100644
+--- a/PLUGINS/src/dvbsddevice/dvbsdffosd.c
++++ b/PLUGINS/src/dvbsddevice/dvbsdffosd.c
+@@ -10,7 +10,7 @@
+ #include <linux/dvb/osd.h>
+ #include <signal.h>
+ #include <sys/ioctl.h>
+-#include <sys/unistd.h>
++#include <unistd.h>
+ #include <vdr/tools.h>
+
+ // --- cDvbSdFfOsd -----------------------------------------------------------
+diff --git a/font.c b/font.c
+index cd2c494..0c052a1 100644
+--- a/font.c
++++ b/font.c
+@@ -433,7 +433,7 @@ bool cFont::GetAvailableFontNames(cStringList *FontNames, bool Monospaced)
+ {
+ if (!FontNames->Size()) {
+ FcInit();
+- FcObjectSet *os = FcObjectSetBuild(FC_FAMILY, FC_STYLE, NULL);
++ FcObjectSet *os = FcObjectSetBuild(FC_FAMILY, FC_STYLE, (char *)NULL);
+ FcPattern *pat = FcPatternCreate();
+ FcPatternAddBool(pat, FC_SCALABLE, FcTrue);
+ if (Monospaced)
+diff --git a/i18n.h b/i18n.h
+index c3f1fc7..0ace2cd 100644
+--- a/i18n.h
++++ b/i18n.h
+@@ -17,6 +17,10 @@
+ #define I18N_MAX_LOCALE_LEN 16 // for buffers that hold en_US etc.
+ #define I18N_MAX_LANGUAGES 256 // for buffers that hold all available languages
+
++#ifndef __attribute_format_arg__
++#define __attribute_format_arg__(x)
++#endif
++
+ void I18nInitialize(const char *LocaleDir = NULL);
+ ///< Detects all available locales and loads the language names and codes.
+ ///< If LocaleDir is given, it must point to a static string that lives
+diff --git a/osd.c b/osd.c
+index 7e52782..c372245 100644
+--- a/osd.c
++++ b/osd.c
+@@ -12,7 +12,7 @@
+ #include <stdlib.h>
+ #include <sys/ioctl.h>
+ #include <sys/stat.h>
+-#include <sys/unistd.h>
++#include <unistd.h>
+ #include "device.h"
+ #include "tools.h"
+
+diff --git a/thread.c b/thread.c
+index e5e19c9..fab13a2 100644
+--- a/thread.c
++++ b/thread.c
+@@ -143,7 +143,9 @@ cRwLock::cRwLock(bool PreferWriter)
+ {
+ pthread_rwlockattr_t attr;
+ pthread_rwlockattr_init(&attr);
++ #if defined(PTHREAD_RWLOCK_PREFER_WRITER_NP) && defined(PTHREAD_RWLOCK_PREFER_READER_NP)
+ pthread_rwlockattr_setkind_np(&attr, PreferWriter ? PTHREAD_RWLOCK_PREFER_WRITER_NP : PTHREAD_RWLOCK_PREFER_READER_NP);
++ #endif
+ pthread_rwlock_init(&rwlock, &attr);
+ }
+
+@@ -179,7 +181,7 @@ cMutex::cMutex(void)
+ locked = 0;
+ pthread_mutexattr_t attr;
+ pthread_mutexattr_init(&attr);
+- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK_NP);
++ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK);
+ pthread_mutex_init(&mutex, &attr);
+ }
+
+@@ -507,7 +509,7 @@ bool cPipe::Open(const char *Command, const char *Mode)
+ int MaxPossibleFileDescriptors = getdtablesize();
+ for (int i = STDERR_FILENO + 1; i < MaxPossibleFileDescriptors; i++)
+ close(i); //close all dup'ed filedescriptors
+- if (execl("/bin/sh", "sh", "-c", Command, NULL) == -1) {
++ if (execl("/bin/sh", "sh", "-c", Command, (char *)NULL) == -1) {
+ LOG_ERROR_STR(Command);
+ close(fd[1 - iopipe]);
+ _exit(-1);
+@@ -590,7 +592,7 @@ int SystemExec(const char *Command, bool Detached)
+ int MaxPossibleFileDescriptors = getdtablesize();
+ for (int i = STDERR_FILENO + 1; i < MaxPossibleFileDescriptors; i++)
+ close(i); //close all dup'ed filedescriptors
+- if (execl("/bin/sh", "sh", "-c", Command, NULL) == -1) {
++ if (execl("/bin/sh", "sh", "-c", Command, (char *)NULL) == -1) {
+ LOG_ERROR_STR(Command);
+ _exit(-1);
+ }
+diff --git a/tools.c b/tools.c
+index a2055ec..31fb245 100644
+--- a/tools.c
++++ b/tools.c
+@@ -32,6 +32,11 @@ int SysLogLevel = 3;
+
+ #define MAXSYSLOGBUF 256
+
++#ifndef ACCESSPERMS
++# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO)
++#endif
++
++
+ void syslog_with_tid(int priority, const char *format, ...)
+ {
+ va_list ap;
+@@ -618,7 +623,7 @@ char *ReadLink(const char *FileName)
+ {
+ if (!FileName)
+ return NULL;
+- char *TargetName = canonicalize_file_name(FileName);
++ char *TargetName = realpath(FileName, NULL);
+ if (!TargetName) {
+ if (errno == ENOENT) // file doesn't exist
+ TargetName = strdup(FileName);
+diff --git a/tools.h b/tools.h
+index 358f75e..2029e31 100644
+--- a/tools.h
++++ b/tools.h
+@@ -24,6 +24,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <syslog.h>
++#include <limits.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
+
+@@ -31,6 +32,10 @@ typedef unsigned char uchar;
+
+ extern int SysLogLevel;
+
++#ifndef DEFFILEMODE
++#define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) /* 0666 */
++#endif
++
+ #define esyslog(a...) void( (SysLogLevel > 0) ? syslog_with_tid(LOG_ERR, a) : void() )
+ #define isyslog(a...) void( (SysLogLevel > 1) ? syslog_with_tid(LOG_INFO, a) : void() )
+ #define dsyslog(a...) void( (SysLogLevel > 2) ? syslog_with_tid(LOG_DEBUG, a) : void() )
+@@ -567,7 +572,7 @@ public:
+ data[i] = T(0);
+ size = 0;
+ }
+- void Sort(__compar_fn_t Compare)
++ void Sort(int (* Compare)(const void *, const void *))
+ {
+ qsort(data, size, sizeof(T), Compare);
+ }
+diff --git a/vdr.c b/vdr.c
+index 835d33d..977683d 100644
+--- a/vdr.c
++++ b/vdr.c
+@@ -610,9 +610,9 @@ int main(int argc, char *argv[])
+ }
+ else if (Terminal) {
+ // Claim new controlling terminal
+- stdin = freopen(Terminal, "r", stdin);
+- stdout = freopen(Terminal, "w", stdout);
+- stderr = freopen(Terminal, "w", stderr);
++ freopen(Terminal, "r", stdin);
++ freopen(Terminal, "w", stdout);
++ freopen(Terminal, "w", stderr);
+ HasStdin = true;
+ tcgetattr(STDIN_FILENO, &savedTm);
+ }
diff --git a/unmaintained/vim-sleuth/APKBUILD b/unmaintained/vim-sleuth/APKBUILD
new file mode 100644
index 0000000000..d36285b332
--- /dev/null
+++ b/unmaintained/vim-sleuth/APKBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=vim-sleuth
+pkgver=1.1
+pkgrel=0
+pkgdesc="vim: Heuristically set buffer options"
+url="https://github.com/tpope/vim-sleuth"
+arch="noarch"
+license="Vim"
+depends="vim"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="$pkgname-$pkgver.tar.gz::https://github.com/tpope/vim-sleuth/archive/v$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() {
+ return 0
+}
+
+package() {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/usr/share/vim/vim73
+ cp -r plugin doc "$pkgdir"/usr/share/vim/vim73/
+}
+
+md5sums="beb1ac4938b87fa858d52ca28590393c vim-sleuth-1.1.tar.gz"
+sha256sums="18620f3b09a824e35983730ec82d2fddbc838452fcfedd9c252485727875c8a4 vim-sleuth-1.1.tar.gz"
+sha512sums="216af1e0d1307b4a7292c5567451876a94de52a4f22c65f892e4fd674067347afc1c86377b5b57eb94ad9c37b3be9e300f730f15bc1cdba3ccf66ade7db8bd13 vim-sleuth-1.1.tar.gz"
diff --git a/unmaintained/vimpager/APKBUILD b/unmaintained/vimpager/APKBUILD
new file mode 100644
index 0000000000..4dcab12696
--- /dev/null
+++ b/unmaintained/vimpager/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Peter Bui <pnutzh4x0r@gmail.com>
+# Maintainer:
+pkgname=vimpager
+pkgver=1.8.9
+pkgrel=0
+pkgdesc="Use ViM as PAGER (less.sh replacement)"
+url="https://github.com/rkitover/vimpager"
+arch="noarch"
+license="BSD"
+depends="vim"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="https://github.com/rkitover/${pkgname}/archive/${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"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="${pkgdir}" PREFIX=/usr SYSCONFDIR=/etc install || return 1
+}
+
+md5sums="ca908665e84fc11d651abed48de4d174 1.8.9.tar.gz"
+sha256sums="846c0069e1abeb95d404ae5874f038bf68139f714261e17815fc21999afeb6ef 1.8.9.tar.gz"
+sha512sums="6544600d527159df69f94e976b42adb5fa8651b87ca3aa4e8da52aa197988e14b1efedf9850b6fdb9a9b5716eb1071a6bed45a3f10f41ab63e36eef91b1b3f97 1.8.9.tar.gz"
diff --git a/unmaintained/vlc-htsp-plugin/APKBUILD b/unmaintained/vlc-htsp-plugin/APKBUILD
new file mode 100644
index 0000000000..c8223299de
--- /dev/null
+++ b/unmaintained/vlc-htsp-plugin/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=vlc-htsp-plugin
+pkgver=20140304
+_id=9beb30a2d77e9d11f26e2868eca134e6734abb2e
+pkgrel=0
+pkgdesc="Plugin for VLC to access TVHeadend via HTSP"
+url="https://github.com/BtbN/vlc-htsp-plugin"
+arch="all"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="vlc-dev"
+install=""
+subpackages=""
+source="$pkgname-$pkgver.tar.gz::https://github.com/BtbN/vlc-htsp-plugin/archive/$_id.tar.gz
+ support-bb-install.patch"
+
+_builddir="$srcdir"/$pkgname-$_id
+
+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="d6c04c3ea63d1ffd5e41b04d72d91090 vlc-htsp-plugin-20140304.tar.gz
+c54a463f5a153ad537803f69af479ff6 support-bb-install.patch"
+sha256sums="e02b4544b62b4a11f0299e677497735dfda755002ce709ee74777631bd2e2e87 vlc-htsp-plugin-20140304.tar.gz
+27caf87352c10b3a0cc804cb9cdd8a27afba986df5b36576513683d9f12f32ac support-bb-install.patch"
+sha512sums="cf5cfc01760f388fcd754c57c3c397ddd95c81caaa8283922ddd0789166e59fe8a128bd755a2eb3bda19874ad18fa71795f26eab8e6454693018535364b6fb47 vlc-htsp-plugin-20140304.tar.gz
+655bee8c2cd1deaee0cef100dfdb8aa29d27eae6e21b431915eafab4786aaae6b231a69a31397fa58ef98b8839f9df42091a61311da8e8543f8f6313c8403267 support-bb-install.patch"
diff --git a/unmaintained/vlc-htsp-plugin/support-bb-install.patch b/unmaintained/vlc-htsp-plugin/support-bb-install.patch
new file mode 100644
index 0000000000..af013800d3
--- /dev/null
+++ b/unmaintained/vlc-htsp-plugin/support-bb-install.patch
@@ -0,0 +1,11 @@
+--- a/Makefile.orig
++++ b/Makefile
+@@ -30,7 +30,7 @@
+
+ install: all
+ mkdir -p -- $(DESTDIR)$(plugindir)/access
+- $(INSTALL) --mode 0755 libhtsp_plugin.so $(DESTDIR)$(plugindir)/access
++ $(INSTALL) -m 0755 libhtsp_plugin.so $(DESTDIR)$(plugindir)/access
+
+ install-strip:
+ $(MAKE) install INSTALL="$(INSTALL) -s"
diff --git a/unmaintained/vlc-libde265/APKBUILD b/unmaintained/vlc-libde265/APKBUILD
new file mode 100644
index 0000000000..80438c729d
--- /dev/null
+++ b/unmaintained/vlc-libde265/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=vlc-libde265
+pkgver=0.1.6
+pkgrel=0
+pkgdesc=" Standalone plugin for VLC 2.x to support decoding of HEVC/H.265 using libde265"
+url="https://github.com/strukturag/vlc-libde265"
+arch="all"
+license="LGPL"
+depends=""
+depends_dev="vlc-dev libde265-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev"
+source="https://github.com/strukturag/vlc-libde265/releases/download/$pkgver/vlc-libde265-$pkgver.tar.gz"
+
+_builddir="$srcdir"/vlc-libde265-$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
+ update_config_sub || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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="559567e11a717f8ddbf04dbb9265de8d vlc-libde265-0.1.6.tar.gz"
+sha256sums="33c7e031f2b4dea08e31086803f64d190068a86c6235b17f94f600f161176010 vlc-libde265-0.1.6.tar.gz"
+sha512sums="fdf9d78696879f6194c0767163f7843c57e57cc8d5ecfa2e0753607b5a1c81b428b29f584644196759bf64de6f8d8f3331339420c49e2035aa18b679db541c8d vlc-libde265-0.1.6.tar.gz"
diff --git a/unmaintained/vpnc/APKBUILD b/unmaintained/vpnc/APKBUILD
new file mode 100644
index 0000000000..8078181878
--- /dev/null
+++ b/unmaintained/vpnc/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=vpnc
+pkgver=0.5.3
+pkgrel=1
+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
+ working.patch
+ 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
+b140eec1e05a91fefbf0dad7cfdc7c4c working.patch
+481ddc83b829de62f459f9b94e0c334b vpnc.initd
+5c9fe863f70cc5262c095012b4bcc163 vpnc.confd"
+sha256sums="46cea3bd02f207c62c7c6f2f22133382602baeda1dc320747809e94881414884 vpnc-0.5.3.tar.gz
+1085f41ba75cbc5e281c6a11724c56fb0d9f844488ab13b40b067e32af98d263 working.patch
+aa423cd0a52183e0bdec8b599d52555e4f5c22573cee68bd6b25ff42be129fa5 vpnc.initd
+89a14f4d11b7fb156dd823e5d2c15edd0d5ca649bd16460ef6350cfe728b4a88 vpnc.confd"
+sha512sums="fd1251d200c3826ebfd7022683e38912f30c2a95fbc51259bcd1fdf0570ef3c53cd842003c117a770657f7f8ebb00ceffeea91ced0c3f83dd9c1ca0488519ea3 vpnc-0.5.3.tar.gz
+6c3eb976d3877b02c751c310f835bc864e4868d167bbaf9f365b9b728d732cc018591e9a8dfc5a4277b01daf070b74f3bb7e67e175b90ee495fecec1a049e29f working.patch
+5dbd83a06608714adf5ae5f021a7142c26cdd94fcd89591b029861cf87efdd4fcb783eb1365ad8fcc3edc915c3d2ddb32921662f9c2540994a54972847fa4781 vpnc.initd
+1254f687dcd9822becfcccabbb34d8343d715d70247dbf4b5e018835fff24b33f5272368f77199d697c8d11d913182b1f756d5e08a46b2057849779f09b19633 vpnc.confd"
diff --git a/unmaintained/vpnc/vpnc.confd b/unmaintained/vpnc/vpnc.confd
new file mode 100644
index 0000000000..62789bd407
--- /dev/null
+++ b/unmaintained/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/unmaintained/vpnc/vpnc.initd b/unmaintained/vpnc/vpnc.initd
new file mode 100644
index 0000000000..f5c5dc6e63
--- /dev/null
+++ b/unmaintained/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/unmaintained/vpnc/working.patch b/unmaintained/vpnc/working.patch
new file mode 100644
index 0000000000..2a6e1a19a2
--- /dev/null
+++ b/unmaintained/vpnc/working.patch
@@ -0,0 +1,32 @@
+diff --git a/sysdep.c b/sysdep.c
+index ff07753..43fdb74 100644
+--- a/sysdep.c
++++ b/sysdep.c
+@@ -59,7 +59,7 @@
+ #if defined(__DragonFly__)
+ #include <net/tun/if_tun.h>
+ #elif defined(__linux__)
+-#include <linux/if_tun.h>
++/*#include <linux/if_tun.h>*/
+ #elif defined(__APPLE__)
+ /* no header for tun */
+ #elif defined(__CYGWIN__)
+diff --git a/sysdep.h b/sysdep.h
+index a5eafd6..af34e94 100644
+--- a/sysdep.h
++++ b/sysdep.h
+@@ -38,11 +38,13 @@ int tun_get_hwaddr(int fd, char *dev, uint8_t *hwaddr);
+
+ /***************************************************************************/
+ #if defined(__linux__) || defined(__GLIBC__)
++#ifdef __GLIBC__
+ #include <error.h>
++#define HAVE_ERROR 1
++#endif
+
+ #define HAVE_VASPRINTF 1
+ #define HAVE_ASPRINTF 1
+-#define HAVE_ERROR 1
+ #define HAVE_GETLINE 1
+ #define HAVE_UNSETENV 1
+ #define HAVE_SETENV 1
diff --git a/unmaintained/waf/APKBUILD b/unmaintained/waf/APKBUILD
new file mode 100644
index 0000000000..d4d8ff4cc8
--- /dev/null
+++ b/unmaintained/waf/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+pkgname=waf
+pkgver=1.8.16
+pkgrel=0
+pkgdesc="Python-based meta build system"
+url="https://waf.io/"
+arch="noarch"
+license="BSD"
+depends="python"
+makedepends="python unzip"
+subpackages=""
+source="https://waf.io/$pkgname-$pkgver.tar.bz2"
+
+_builddir="$srcdir/$pkgname-$pkgver"
+
+build() {
+ cd "$_builddir"
+ ./waf-light configure --prefix=/usr build \
+ --make-waf \
+ --tools='compat,compat15,ocaml,go,cython,scala,erlang,cuda,gcj,boost,pep8,eclipse' \
+ || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -Dm755 waf "$pkgdir"/usr/bin/waf
+ local _rev=$(grep '^REVISION="[[:xdigit:]]*"$' "$pkgdir"/usr/bin/waf | cut -d\" -f2)
+ local _lib="$pkgdir"/usr/lib/$pkgname-$pkgver-$_rev
+ install -dm755 "$_lib"
+ unzip -d "$_lib" zip/waflib.zip
+ python -m compileall "$_lib"
+}
+
+md5sums="c68227e4d40c0bdd0aadab22a7a27a44 waf-1.8.16.tar.bz2"
+sha256sums="5188b5a4246ba3c7a2abbf4ddcb3b3457430166244035bf3c70036fb08944846 waf-1.8.16.tar.bz2"
+sha512sums="128484b9cdcd9f2aacdf089b20af016b2ddd862423dab537416b10ad8c8470202b0a9ab02c862be5fc11f73e24b98650e89e6808a3f9fd1f2a4e281fae3843e1 waf-1.8.16.tar.bz2"
diff --git a/unmaintained/wavemon/APKBUILD b/unmaintained/wavemon/APKBUILD
new file mode 100644
index 0000000000..4c77fcc213
--- /dev/null
+++ b/unmaintained/wavemon/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=wavemon
+pkgver=0.8.0
+pkgrel=0
+pkgdesc="Ncurses-based monitoring application for wireless network devices"
+url="http://eden-feed.erg.abdn.ac.uk/wavemon/"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="ncurses-dev libcap-dev libnl3-dev autoconf automake"
+install=""
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/uoaerg/$pkgname/archive/v$pkgver.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ cd "$_builddir"
+ update_config_sub || return 1
+
+ sed -i '/^CFLAGS/d' configure.ac
+ autoreconf -fi || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ || return 1
+ make CFLAGS="$CFLAGS -pthread -I/usr/include/libnl3" || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR=$pkgdir install || return 1
+}
+
+md5sums="816b65577ecf1d2964dee37381901296 wavemon-0.8.0.tar.gz"
+sha256sums="81ee1f06f8349fee62e98ec5b53dff5b76c4d8fcb439f20cca806255239e3a2a wavemon-0.8.0.tar.gz"
+sha512sums="2df48eb300e9b30e0cb7a0ab41ba5e10b2a6e8170dbd11a4c978462c8cd6dc1171f79ceadfdb7344c495420a4e87b7dd723efea4f1af59a6d0312d93049ee798 wavemon-0.8.0.tar.gz"
diff --git a/unmaintained/wbox/APKBUILD b/unmaintained/wbox/APKBUILD
new file mode 100644
index 0000000000..a485a77ec5
--- /dev/null
+++ b/unmaintained/wbox/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=wbox
+pkgver=5
+pkgrel=0
+pkgdesc="HTTP testing tool and configuration-less HTTP server"
+url="http://www.hping.org/wbox/"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends=""
+install=""
+subpackages=""
+source="http://www.hping.org/wbox/$pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -m755 -D "$_builddir"/$pkgname "$pkgdir"/usr/bin/$pkgname
+}
+
+md5sums="a95ca2c69982db10704b5ed482c9c722 wbox-5.tar.gz"
+sha256sums="1589d85e83c8ee78383a491d89e768ab9aab9f433c5f5e035cfb5eed17efaa19 wbox-5.tar.gz"
+sha512sums="cf652ae48a79f48d6f7530a14d7d2eddd4d3a925ef56c547312546bb41c2bbc75156783ff35fe6f079b52aa6090db3a9d6703f5e98f65117c7a161c4437f009b wbox-5.tar.gz"
diff --git a/unmaintained/websocketd/APKBUILD b/unmaintained/websocketd/APKBUILD
new file mode 100644
index 0000000000..dd633a3268
--- /dev/null
+++ b/unmaintained/websocketd/APKBUILD
@@ -0,0 +1,64 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=websocketd
+pkgver=0.2.10
+pkgrel=1
+pkgdesc="Full duplex messaging between web browsers and servers"
+url="http://websocketd.com/"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="$depends_dev go go-tools"
+install=""
+subpackages="$pkgname-doc"
+options="!strip"
+source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar.gz"
+
+_disturl="dev.alpinelinux.org:/archive/$pkgname/"
+_gourl="github.com/joewalnes/websocketd"
+_builddir="$srcdir"/src/$_gourl
+
+snapshot() {
+ abuild clean && abuild deps
+ export GOPATH="$srcdir"
+ msg "Checking out v${pkgver} tag"
+ git clone -q --branch v${pkgver} https://$_gourl $_builddir || return 1
+ cd $_builddir
+ go get -v -d || return 1
+ cd "$srcdir"
+ tar zcf $pkgname-$pkgver.tar.gz src || return 1
+ rsync --progress -La $pkgname-$pkgver.tar.gz \
+ $_disturl || return 1
+ cd $startdir && abuild undeps
+}
+
+
+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" || return 1
+ export GOPATH="$srcdir"
+ go fix || return 1
+ go build -v -ldflags "-X main.version $pkgver" || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -Dm 0755 $pkgname "$pkgdir"/usr/bin/$pkgname || return 1
+ mkdir -p "$pkgdir"/usr/share/man/man8
+ gzip -c release/websocketd.man > \
+ "$pkgdir"/usr/share/man/man8/websocketd.man.gz || return 1
+}
+
+md5sums="226b6f6125a6cf8d747ecd5fb619913a websocketd-0.2.10.tar.gz"
+sha256sums="cecaf94886021f305db659fc2919cd2226ece6e382fc8182fc214c9c24deadc3 websocketd-0.2.10.tar.gz"
+sha512sums="b02a5d4cc4e448571e370db0713ebab83c905beab5b38738aed812eefd4cd8bbe5f8454aa6d36e78295ebf1e995fba41b06fe1d78fb2e6d2eb1f31229bcdcc09 websocketd-0.2.10.tar.gz"
diff --git a/unmaintained/weplab/APKBUILD b/unmaintained/weplab/APKBUILD
new file mode 100644
index 0000000000..916b08723a
--- /dev/null
+++ b/unmaintained/weplab/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=weplab
+pkgver=0.1.5
+pkgrel=3
+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"
+sha256sums="91e4425f474d5b3213effc6d532aa3ee2fb121a1942e43c08210780a4759a72b weplab-0.1.5.tar.gz"
+sha512sums="5df9292a1556eab0f639c69e30c8109976484c92bced893bd004a3ecac86d0b986354138163fee79da3db1d44d48deb182f1e97188a1c6cb748c5558c5d2c16d weplab-0.1.5.tar.gz"
diff --git a/unmaintained/willie/APKBUILD b/unmaintained/willie/APKBUILD
new file mode 100644
index 0000000000..70c52d98fe
--- /dev/null
+++ b/unmaintained/willie/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=willie
+pkgver=4.4.1
+pkgrel=0
+pkgdesc="A lightweight and easy-to-use IRC Utility bot"
+url="http://willie.dftba.net/"
+arch="noarch"
+license="EFL 2.0"
+depends="python py-tz py-lxml py-feedparser py-enchant py-geoip py-praw
+ py-openssl py-mysqldb"
+depends_dev=""
+makedepends="python-dev py-setuptools"
+install=""
+subpackages=""
+source="http://willie.dftba.net/files/$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"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="b40de4b2959abc7d80069b0c0b6e4bb9 willie-4.4.1.tar.gz"
+sha256sums="956c49d1643bfbd15231f2980874e1f25b45540a844d7be4a9a78e206fa34e32 willie-4.4.1.tar.gz"
+sha512sums="902095f52e62021e44376942ee24955e355a5fb51ccf3642cc9176364576aab289f2edc22c2b598793d960715a280c2c8f156f4f3cf9444781b54b864865ba31 willie-4.4.1.tar.gz"
diff --git a/unmaintained/wine-mono/APKBUILD b/unmaintained/wine-mono/APKBUILD
new file mode 100644
index 0000000000..e4309a16c7
--- /dev/null
+++ b/unmaintained/wine-mono/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=wine-mono
+pkgver=0.0.8
+pkgrel=0
+pkgdesc="Wine's built-in replacement for Microsoft's .NET"
+url="http://wiki.winehq.org/Mono"
+arch="x86"
+license="MPL"
+depends=""
+makedepends=""
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/project/wine/Wine%20Mono/$pkgver/wine-mono-$pkgver.msi"
+
+_builddir=
+prepare() {
+ mkdir -p "$srcdir"
+}
+
+build() {
+ return 0
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/wine/mono/
+ cp "$srcdir"/wine-mono-$pkgver.msi \
+ "$pkgdir"/usr/share/wine/mono/
+}
+
+md5sums="a79eb547bcb562aea5c7096bc97fff11 wine-mono-0.0.8.msi"
diff --git a/unmaintained/winetricks/APKBUILD b/unmaintained/winetricks/APKBUILD
new file mode 100644
index 0000000000..702c204900
--- /dev/null
+++ b/unmaintained/winetricks/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor:
+# Maintainer:
+pkgname=winetricks
+pkgver=20111115
+pkgrel=0
+pkgdesc="manage virtual windows environments using wine"
+url="http://winetricks.org"
+arch="noarch"
+license="LGPL"
+depends="grep cabextract zenity p7zip"
+makedepends=""
+install=""
+subpackages=""
+source="http://winetricks.org/download/releases/winetricks-$pkgver.tgz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+unpack() {
+ # manually unpack, as the tgz does not any paths at all
+ mkdir -p "$_builddir"
+ cd "$_builddir"
+ tar xzvf ../winetricks-$pkgver.tgz
+}
+
+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"
+ mkdir -p "$pkgdir"/usr/bin
+ install -Dm755 winetricks "$pkgdir"/usr/bin
+}
+
+md5sums="79141446df0f98115108e96820bb9c3e winetricks-20111115.tgz"
diff --git a/unmaintained/wiringpi/APKBUILD b/unmaintained/wiringpi/APKBUILD
new file mode 100644
index 0000000000..f4a57c0471
--- /dev/null
+++ b/unmaintained/wiringpi/APKBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Timo Teräs <timo.teras@iki.fi>
+pkgname=wiringpi
+pkgver=2.25
+_commitid=5edd177
+pkgrel=0
+pkgdesc="command line interface for Raspberry Pi gpio"
+url="http://wiringpi.com/the-gpio-utility/"
+arch="armhf"
+license="LGPLv3"
+depends=""
+makedepends="linux-headers"
+install=""
+subpackages=""
+source="wiringpi-$pkgver.tar.gz::https://git.drogon.net/?p=wiringPi;a=snapshot;h=$_commitid;sf=tgz
+ "
+
+_srcdir="$srcdir"/wiringPi-$_commitid
+
+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
+ sed -i -e '/sys\/ioctl/i#include <asm/ioctl.h>' wiringPi/wiringPiSPI.c
+}
+
+build() {
+ cd "$_srcdir"
+ make -C wiringPi static CFLAGS="$CFLAGS -I." LDFLAGS="$LDFLAGS" || return 1
+ make -C devLib static CFLAGS="$CFLAGS -I../wiringPi" LDFLAGS="$LDFLAGS" || return 1
+ make -C gpio CFLAGS="$CFLAGS -I../wiringPi -I../devLib" LDFLAGS="$LDFLAGS -L../wiringPi -L../devLib" || return 1
+}
+
+package() {
+ cd "$_srcdir"
+ install -D -m755 gpio/gpio "$pkgdir"/usr/bin/gpio || return 1
+}
+
+md5sums="8c156806f2a7c2bf5573ef54955f0cda wiringpi-2.25.tar.gz"
+sha256sums="c5f7b4807317eb74d81212337b893cb5a27981d01f6037e6be8a3a6d6e58a540 wiringpi-2.25.tar.gz"
+sha512sums="6891ea57e5829772c4567502f6ed93e40e46e0263913df6dd59977016668ebc7457955e34524c1b1838e7ffd64ddf6c5e7d18c16a26b4799d6255cdb32783801 wiringpi-2.25.tar.gz"
diff --git a/unmaintained/wput/APKBUILD b/unmaintained/wput/APKBUILD
new file mode 100644
index 0000000000..3dc01c950e
--- /dev/null
+++ b/unmaintained/wput/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=wput
+pkgver=0.6.2
+pkgrel=2
+pkgdesc="A command line tool to upload files to FTP site"
+url="http://wput.sourceforge.net/"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="gnutls-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tgz
+ $pkgname-destdir.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 \
+ --mandir=/usr/share/man \
+ --disable-g-switch \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="a14c4c13d91d04d6119bdc977e8a8bdf wput-0.6.2.tgz
+6110908786d4b011526a6a77d6429e4f wput-destdir.patch"
+sha256sums="229d8bb7d045ca1f54d68de23f1bc8016690dc0027a16586712594fbc7fad8c7 wput-0.6.2.tgz
+fc9639d314dedd826d4543b747d8c025f188cdf15f84653e45ae4e2a4fd95639 wput-destdir.patch"
+sha512sums="e1d0fb8570cbda44c97215ee1a021a9867f2e91323b3d7f7df1d7fd68a1b2aba40a7f3068e5e85e8c736b1dba1fba62df375af99e3fb96cd0fd414b139c641bd wput-0.6.2.tgz
+d464d4395ffab7f1d8f2c0b293404b05979eb1f63600169b5344c286ecbf1209e20682c957a5319c7246d130438533f80484b30e4664e66fbc9cec6cebbb7eaf wput-destdir.patch"
diff --git a/unmaintained/wput/wput-destdir.patch b/unmaintained/wput/wput-destdir.patch
new file mode 100644
index 0000000000..1098ceef8d
--- /dev/null
+++ b/unmaintained/wput/wput-destdir.patch
@@ -0,0 +1,37 @@
+--- wput-0.6.2/Makefile.in
++++ wput-0.6.2/Makefile.in.new
+@@ -4,7 +4,7 @@
+ datadir = $(prefix)/share
+ mandir = $(datadir)/man/man1
+ exec_prefix = @exec_prefix@
+-bindir=@bindir@
++bindir = @bindir@
+
+ all clean:
+ cd po && $(MAKE) $(MAKEDEFS) $@
+@@ -16,20 +16,11 @@
+
+ install: all
+ cd po && $(MAKE) $(MAKEDEFS) $@
+- mkdir -p $(bindir)
+- mkdir -p $(mandir)
+- install -m0755 wput $(bindir)
+- install -m0644 doc/wput.1.gz $(mandir)
+- ln -s $(bindir)/wput $(bindir)/wdel
+- install -m0644 doc/wdel.1.gz $(mandir)
+- @echo "----------------"
+- @echo "Wput and Wdel installed. See 'wput/wdel -h' or 'man wput/wdel' for"
+- @echo "usage information."
+- @echo "Further documentation is located in the doc/USAGE.* files."
+- @echo
+- @echo "Wput is not perfect, so please report any bugs you notice (see BUGS-section"
+- @echo "in the manpage)."
+- @echo "----------------"
++ install -D -p -m 0755 wput $(DESTDIR)$(bindir)/wput
++ install -D -p -m 0644 doc/wput.1.gz $(DESTDIR)$(mandir)/wput.1.gz
++ ln -s $(DESTDIR)$(bindir)/wput $(DESTDIR)$(bindir)/wdel
++ install -D -p -m 0644 doc/wdel.1.gz $(DESTDIR)$(mandir)/wdel.1.gz
++
+ uninstall:
+ rm -f $(bindir)/wput
+ rm -f $(bindir)/wdel
diff --git a/unmaintained/x11vnc/APKBUILD b/unmaintained/x11vnc/APKBUILD
new file mode 100644
index 0000000000..d7c2402168
--- /dev/null
+++ b/unmaintained/x11vnc/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=x11vnc
+pkgver=0.9.13
+pkgrel=0
+pkgdesc="VNC server for real X displays"
+url="http://www.karlrunge.com/x11vnc/"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev="openssl-dev libjpeg-turbo-dev libxtst-dev libxinerama-dev libxdamage-dev
+ libxrandr-dev avahi-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://cznic.dl.sourceforge.net/project/libvncserver/x11vnc/$pkgver/x11vnc-$pkgver.tar.gz"
+
+_builddir="$srcdir"/x11vnc-$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
+ update_config_sub || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make -j1 DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="a372ec4fe8211221547b1c108cf56e4c x11vnc-0.9.13.tar.gz"
+sha256sums="f6829f2e629667a5284de62b080b13126a0736499fe47cdb447aedb07a59f13b x11vnc-0.9.13.tar.gz"
+sha512sums="7b24e495f29122032e1c8ced7f7d8e0a56a2a8263e761a50725320742c99a0fcd5680d13038dd5d47e1c05d3b889d0caa13ba0b1aeda6fa42d5fb5ef3c43f908 x11vnc-0.9.13.tar.gz"
diff --git a/unmaintained/xbattmon/APKBUILD b/unmaintained/xbattmon/APKBUILD
new file mode 100644
index 0000000000..23d01bffa3
--- /dev/null
+++ b/unmaintained/xbattmon/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: sin <sin@2f30.org>
+# Maintainer: sin <sin@2f30.org>
+pkgname=xbattmon
+pkgver=0.7
+pkgrel=0
+pkgdesc="a simple battery monitor"
+url="http://git.2f30.org/xbattmon"
+arch="all"
+license="ISC"
+depends=""
+depends_dev=""
+makedepends="$depends_dev libx11-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://dl.2f30.org/releases/xbattmon-$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 || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make PREFIX=/usr DESTDIR="$pkgdir" install || return 1
+}
+md5sums="534fd62ee1807795e0d8922e32d3f51f xbattmon-0.7.tar.gz"
+sha256sums="01ff252a431f00e86215a01a8864dc1a65595aaccf2d5fce25911b55f1e5115e xbattmon-0.7.tar.gz"
+sha512sums="e12e21aa56b9e1efd28b8a175a420fb3a6dae15926757a12f8769b9349f60479cef60a1b23360d7dee1999c9d27c71611c0dd9755d769adcfc39ac049bd8d942 xbattmon-0.7.tar.gz"
diff --git a/unmaintained/xbindkeys/APKBUILD b/unmaintained/xbindkeys/APKBUILD
new file mode 100644
index 0000000000..3b32698c3d
--- /dev/null
+++ b/unmaintained/xbindkeys/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Andrew Hills <ahills@ednos.net>
+# Maintainer: Andrew Hills <ahills@ednos.net>
+pkgname=xbindkeys
+pkgver=1.8.6
+pkgrel=0
+pkgdesc="Program for launching shell commands via keyboard shortcuts in X"
+url="http://www.nongnu.org/xbindkeys/xbindkeys.html"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev="libx11-dev"
+makedepends="$depends_dev"
+install=
+subpackages="$pkgname-doc"
+source="http://www.nongnu.org/$pkgname/$pkgname-$pkgver.tar.gz"
+
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --disable-guile \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --build=$CBUILD \
+ --host=$CHOST \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+md5sums="c6ea9db56e075dae0697497e2ed390cc xbindkeys-1.8.6.tar.gz"
+sha256sums="6c0d18be19fc19ab9b4595edf3a23c0a6946c8a5eb5c1bc395471c8f9a710d18 xbindkeys-1.8.6.tar.gz"
+sha512sums="3c77541eae9f87d2020c2272984c221094276dae2a8690c5cec9fe1b23c0139229b8f56876170da70684aeaa128642349b6835c375d473186cbf8123517173ba xbindkeys-1.8.6.tar.gz"
diff --git a/unmaintained/xboard/APKBUILD b/unmaintained/xboard/APKBUILD
new file mode 100644
index 0000000000..45a31cdce4
--- /dev/null
+++ b/unmaintained/xboard/APKBUILD
@@ -0,0 +1,50 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=xboard
+pkgver=4.7.2
+pkgrel=0
+pkgdesc="An X Window System graphical chessboard"
+url="https://www.gnu.org/software/xboard/"
+arch="all"
+license="GPLv3+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev gtk+2.0-dev texinfo librsvg-dev cairo-dev libxt-dev"
+install=""
+subpackages="$pkgname-doc $pkgname-lang"
+source="ftp://ftp.gnu.org/pub/gnu/xboard/xboard-$pkgver.tar.gz"
+
+_builddir="$srcdir"/xboard-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ update_config_sub || return 1
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --with-gtk=yes \
+ --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="83ec086cbf5c4bc362a188654a9332fc xboard-4.7.2.tar.gz"
+sha256sums="9b6736994b051499dcbe564051f6d964114a38fe47bbaab6dc7bde71a52ba9ee xboard-4.7.2.tar.gz"
+sha512sums="00fada24279165e715426282e38f3f7a8dfd2aa15900ed7edd3c3e8de57ac425c1eb721df7bcf4ec4a980955cb42d69762ddd5e07af899e556820fff20607ad0 xboard-4.7.2.tar.gz"
diff --git a/unmaintained/xca/APKBUILD b/unmaintained/xca/APKBUILD
new file mode 100644
index 0000000000..ea7c293211
--- /dev/null
+++ b/unmaintained/xca/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=xca
+pkgver=1.3.2
+pkgrel=0
+pkgdesc="X Certificate and Key management"
+url="http://sourceforge.net/projects/xca/"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="$depends_dev openssl-dev qt-dev libtool"
+install=""
+subpackages="$pkgname-doc"
+source="http://skylink.dl.sourceforge.net/project/xca/xca/$pkgver/xca-$pkgver.tar.gz"
+
+_builddir="$srcdir"/xca-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make destdir="$pkgdir" install || return 1
+}
+
+md5sums="f9528164f46a78c7a2373778bc019c48 xca-1.3.2.tar.gz"
+sha256sums="04f11f2148c8369c1a1b4e109956ed8cc807ec266d0d936410624ba8ee4b5ce4 xca-1.3.2.tar.gz"
+sha512sums="f0a9c4d47f0c20632f44364cc55293a7d2152772a746a72bc4a46622da4e48ae612bafe918c098a71c29cdfca8e6c03c27cf85a862ca0f356eddf061414c89b2 xca-1.3.2.tar.gz"
diff --git a/unmaintained/xcmenu/APKBUILD b/unmaintained/xcmenu/APKBUILD
new file mode 100644
index 0000000000..27c7ec8f17
--- /dev/null
+++ b/unmaintained/xcmenu/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Andrew Hills <ahills@ednos.net>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=xcmenu
+pkgver=0.1.0
+pkgrel=0
+pkgdesc="Lightweight clipboard manager for X"
+url="https://github.com/Cloudef/xcmenu"
+arch="all"
+license="WTFPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev libxcb-dev zlib-dev"
+install=""
+subpackages=""
+source="$pkgname-$pkgver.tar.gz::https://github.com/Cloudef/xcmenu/archive/v$pkgver.tar.gz
+ include-fcntl.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 PREFIX=/usr
+}
+
+package() {
+ cd "$_builddir"
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+}
+
+md5sums="928bbcbd8db964a5e6a2eb5f2a7baae3 xcmenu-0.1.0.tar.gz
+bbe187d0453bf0088c857bd956acd9b4 include-fcntl.patch"
+sha256sums="149e95ce715c77eaa179b4b8df6c499a4570915a5a094b49a7d914e0073097f1 xcmenu-0.1.0.tar.gz
+60ce9cec1ec4eba15d3a7ef832a42154554429db81df7ae472e0f3172e304284 include-fcntl.patch"
+sha512sums="8b2d3958d1d075433f783a100cca773b20c54207114faafbad9de74cdbc16a1113b7fcd6204207af6b6c43871ce14bfc1b1574a998e022909d8d64fd8d82a511 xcmenu-0.1.0.tar.gz
+c01ad7c59bc6a44e488fb3b82b061b6f8b237801eb1b1cbf9285734a3fa2e413e575a10c5215d5b56d3efbe1ee768cb12895cb3c1b75cb4146218b59361bd954 include-fcntl.patch"
diff --git a/unmaintained/xcmenu/include-fcntl.patch b/unmaintained/xcmenu/include-fcntl.patch
new file mode 100644
index 0000000000..fa7b8621fd
--- /dev/null
+++ b/unmaintained/xcmenu/include-fcntl.patch
@@ -0,0 +1,13 @@
+Only in xcmenu-717cd03d66ab03226c1491678e50030844b0c590-patch/: config.h
+Only in xcmenu-717cd03d66ab03226c1491678e50030844b0c590-patch/: xcmenu
+--- xcmenu-717cd03d66ab03226c1491678e50030844b0c590/xcmenu.c
++++ xcmenu-717cd03d66ab03226c1491678e50030844b0c590-patch/xcmenu.c
+@@ -12,6 +12,7 @@
+ #include <unistd.h>
+ #include <zlib.h>
+ #include <xcb/xcb.h>
++#include <fcntl.h>
+
+ #ifdef XCB_UTIL
+ # include <xcb/xcb_util.h>
+Only in xcmenu-717cd03d66ab03226c1491678e50030844b0c590-patch/: xcmenu.o
diff --git a/unmaintained/xcursor-themes/APKBUILD b/unmaintained/xcursor-themes/APKBUILD
new file mode 100644
index 0000000000..d3b3cd33bf
--- /dev/null
+++ b/unmaintained/xcursor-themes/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: August Klein <amatcoder@gmail.com>
+# Maintainer: August Klein <amatcoder@gmail.com>
+pkgname=xcursor-themes
+pkgver=1.0.4
+pkgrel=0
+pkgdesc="X.org Cursor themes"
+url="http://xorg.freedesktop.org"
+arch="noarch"
+license="MIT"
+depends=""
+depends_dev=""
+makedepends="libxcursor-dev util-macros xcursorgen"
+install=""
+subpackages=""
+source="http://xorg.freedesktop.org/releases/individual/data/$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 || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+}
+
+md5sums="c82628f35e9950ba225050ad5803b92a xcursor-themes-1.0.4.tar.gz"
+sha256sums="8ed23bab13a4010fe4e95b37eefb634e31ac7cb8240b8b3b7d919c3a2db09503 xcursor-themes-1.0.4.tar.gz"
+sha512sums="6f26a3f9bfb5f6ba4edca9aab1a09e599863d51c5b0d0f9f5da623d3a5c3ef84eb22067af4635522040cdcc992beb6386e5cac3828a80b8ddcdfe077cfc05d1a xcursor-themes-1.0.4.tar.gz"
diff --git a/unmaintained/xcursorgen/APKBUILD b/unmaintained/xcursorgen/APKBUILD
new file mode 100644
index 0000000000..40d1b85bde
--- /dev/null
+++ b/unmaintained/xcursorgen/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: August Klein <amatcoder@gmail.com>
+# Maintainer: August Klein <amatcoder@gmail.com>
+pkgname=xcursorgen
+pkgver=1.0.6
+pkgrel=0
+pkgdesc="Create an X cursor file from PNG images"
+url="http://xorg.freedesktop.org"
+arch="all"
+license="MIT"
+depends=""
+depends_dev="libpng-dev libxcursor-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://xorg.freedesktop.org/archive/individual/app/${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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+}
+
+md5sums="b58a87e6cd7145c70346adad551dba48 xcursorgen-1.0.6.tar.bz2"
+sha256sums="31c8910f54eb175a8a74a60e7662697467e21a8bf948220a6048a93924b3f66c xcursorgen-1.0.6.tar.bz2"
+sha512sums="3b464b7be3cec8c6d2bf4538266108bdc09e1dae4053d573f7f38e004929b41be0d996aa54918490fa040655644e2b0d4fab1ec24cca014d77bdb91c41ab1db4 xcursorgen-1.0.6.tar.bz2"
diff --git a/unmaintained/xdotool/APKBUILD b/unmaintained/xdotool/APKBUILD
new file mode 100644
index 0000000000..22670d4033
--- /dev/null
+++ b/unmaintained/xdotool/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Stuart Cardall <developer@it-offshore.co.uk>
+# Maintainer:
+pkgname=xdotool
+pkgver=2.20110530.1
+pkgrel=0
+pkgdesc="Simulate keyboard/mouse input"
+url="http://www.semicomplete.com/projects/xdotool/#idp9392"
+arch="all"
+license="BSD"
+depends=""
+depends_dev="libx11-dev libxtst-dev libxinerama-dev"
+makedepends="$depends_dev perl"
+source="http://semicomplete.googlecode.com/files/$pkgname-$pkgver.tar.gz"
+subpackages="$pkgname-dev $pkgname-doc"
+
+_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 PREFIX=/usr || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" PREFIX=/usr INSTALLMAN=/usr/share/man \
+ install || return 1
+}
+
+md5sums="62d0c2158bbaf882a1cf580421437b2f xdotool-2.20110530.1.tar.gz"
+sha256sums="e7b42c8b1d391970e1c1009b256033f30e57d8e0a2a3de229fd61ecfc27baf67 xdotool-2.20110530.1.tar.gz"
+sha512sums="0b2f71203c41e320aac152e1376b30bb9f5ea2067572299ad4c32f49b2505566275f0b377b4f443c3520751d71a9b270325cd676e63ee2a153de3213e128f2cb xdotool-2.20110530.1.tar.gz"
diff --git a/unmaintained/xfce-polkit/APKBUILD b/unmaintained/xfce-polkit/APKBUILD
new file mode 100644
index 0000000000..6354808a81
--- /dev/null
+++ b/unmaintained/xfce-polkit/APKBUILD
@@ -0,0 +1,47 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=xfce-polkit
+pkgver=0.2
+pkgrel=0
+pkgdesc="A simple PolicyKit authentication agent for XFCE"
+url="https://github.com/ncopa/xfce-polkit"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev libxfce4ui-dev polkit-dev glib-dev gtk+2.0-dev"
+install=""
+subpackages=""
+source="https://github.com/ncopa/xfce-polkit/releases/download/v$pkgver/xfce-polkit-$pkgver.tar.gz"
+
+_builddir="$srcdir"/xfce-polkit-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --libexecdir=/usr/lib/xfce4 \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="3b9b6ee32d339cd37f1f60dddcebdb6e xfce-polkit-0.2.tar.gz"
+sha256sums="8947a2582dacad78cfab89b3ee390e1a7810b2457343e6db558d6ee9a872be3a xfce-polkit-0.2.tar.gz"
+sha512sums="da0d01c8b9805efdd212d8d02cafb95a1663184b17c06b0d27553e2189e44b9d1982aa4f51d6cd74d5e0874475346609a1d7c87eba82c55d9967729f59c7c8ac xfce-polkit-0.2.tar.gz"
diff --git a/unmaintained/xfce4-sensors-plugin/APKBUILD b/unmaintained/xfce4-sensors-plugin/APKBUILD
new file mode 100644
index 0000000000..79b1a11a29
--- /dev/null
+++ b/unmaintained/xfce4-sensors-plugin/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=xfce4-sensors-plugin
+pkgver=1.2.6
+pkgrel=0
+pkgdesc="Reads your hardware sensor values and displays them in your panel"
+url="http://goodies.xfce.org/projects/panel-plugins/xfce4-sensors-plugin"
+arch="all"
+license="GPLv2"
+depends=""
+depends_dev="xfce4-panel-dev lm_sensors-dev libxfce4ui-dev"
+makedepends="$depends_dev bash"
+install=""
+subpackages="$pkgname-dev $pkgname-lang"
+source="http://archive.xfce.org/src/panel-plugins/$pkgname/1.2/$pkgname-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/xfce4-sensors-plugin-$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --disable-static \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="33c2e343c1224d9c4ae757a70cbe08eb xfce4-sensors-plugin-1.2.6.tar.bz2"
+sha256sums="235ef842bd45e701bceebb21a384ab09f21afceea8ed95f91bb4c6cf3abe1bc0 xfce4-sensors-plugin-1.2.6.tar.bz2"
+sha512sums="5c520f1c253df1bb9e29855c5ccfc1536034945ca68b43cd8b6d97083e528b2430230d9c51d43953a71c3f0171ae718bf1557714729b1343ebd51f91f3f36d60 xfce4-sensors-plugin-1.2.6.tar.bz2"
diff --git a/unmaintained/xfdashboard/APKBUILD b/unmaintained/xfdashboard/APKBUILD
new file mode 100644
index 0000000000..ad9e8f08c5
--- /dev/null
+++ b/unmaintained/xfdashboard/APKBUILD
@@ -0,0 +1,50 @@
+# Maintainer: Sergey Lukin <sergej.lukin@gmail.com>
+pkgname=xfdashboard
+pkgver=0.4.0
+pkgrel=0
+pkgdesc="Maybe a Gnome shell like dashboard for Xfce"
+url="http://goodies.xfce.org/projects/applications/xfdashboard/start"
+arch="all"
+license="GPLv2+"
+depends=""
+depends_dev="clutter-dev xfconf-dev garcon-dev gtk+3.0-dev libwnck3-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-lang"
+source="http://archive.xfce.org/src/apps/${pkgname}/${pkgver%.*}/xfdashboard-${pkgver}.tar.bz2"
+
+_builddir="$srcdir"/xfdashboard-"$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 \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="39e4bfcdce2aa2dcb55019dbbb1dd4a2 xfdashboard-0.4.0.tar.bz2"
+sha256sums="4016c97011bf7316c8e365f0f4ff753b8e4e74776f2b25e282efa7675965cb45 xfdashboard-0.4.0.tar.bz2"
+sha512sums="d737a65ab27f0d6e49fd24ff7852bd2e00feebd3cce2c1ced5580bb5af1449fad0c593707686b6b83f4fd2e3d7cc318e0778ce404e53240dee53c6aeb9886df0 xfdashboard-0.4.0.tar.bz2"
+
+
+
+
diff --git a/unmaintained/xinput_calibrator/APKBUILD b/unmaintained/xinput_calibrator/APKBUILD
new file mode 100644
index 0000000000..31c3d01c3d
--- /dev/null
+++ b/unmaintained/xinput_calibrator/APKBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=xinput_calibrator
+pkgver=0.7.5
+pkgrel=0
+pkgdesc="A generic touchscreen calibration program for X.Org"
+url="http://www.freedesktop.org/wiki/Software/xinput_calibrator"
+arch="all"
+license="MIT"
+depends=""
+depends_dev=""
+makedepends="libxtst-dev libxrandr-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://github.com/downloads/tias/xinput_calibrator/xinput_calibrator-$pkgver.tar.gz"
+
+_builddir="$srcdir"/xinput_calibrator-$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 \
+ --with-gui=x11 \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="20da0a2055a5a75962add8c6b44f60fa xinput_calibrator-0.7.5.tar.gz"
diff --git a/unmaintained/xiphos/APKBUILD b/unmaintained/xiphos/APKBUILD
new file mode 100644
index 0000000000..a0dfa9d2cd
--- /dev/null
+++ b/unmaintained/xiphos/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Isaac Dunham <ibid.ag@gmail.com>
+# Maintainer: Isaac Dunham <ibid.ag@gmail.com>
+pkgname=xiphos
+pkgver=4.0.4
+pkgrel=0
+_pkgex="-20150830"
+pkgdesc="Gnome application for Bible study"
+url="https://sourceforge.net/projects/gnomesword"
+arch="all"
+license="GPL2"
+depends=""
+makedepends="webkitgtk-dev sword-dev gconf-dev libgsf-dev intltool gettext-dev
+ rarian-dev desktop-file-utils gnome-doc-utils util-linux-dev
+ linux-headers biblesync-dev"
+install=""
+subpackages="$pkgname-doc $pkgname-lang"
+source="http://downloads.sourceforge.net/gnomesword/xiphos-$pkgver$_pkgex.tar.gz"
+
+_builddir="$srcdir"/xiphos-$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 \
+ --enable-webkit-editor --gtk=3 && \
+ ./waf build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ DESTDIR="$pkgdir" ./waf install || return 1
+
+}
+
+md5sums="a1d88b7d6812fd261d71a229999c669d xiphos-4.0.4-20150830.tar.gz"
+sha256sums="413bb8acb444946ccde1fb9fcfa3ff4bdb622cb56995b557f3215fab42193f20 xiphos-4.0.4-20150830.tar.gz"
+sha512sums="337503ee4cc6139ec8724266f3c9c0ce5d17518c48f7aab03ea8213165054854c8dd7317ff9e1b9097ece12292b52f1c8002684c00c5a7b43c5b4810edd6ecda xiphos-4.0.4-20150830.tar.gz"
diff --git a/unmaintained/xlennart/APKBUILD b/unmaintained/xlennart/APKBUILD
new file mode 100644
index 0000000000..4795a321fa
--- /dev/null
+++ b/unmaintained/xlennart/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=xlennart
+pkgver=1.1.1
+pkgrel=0
+pkgdesc="Game - Save the UNIX world"
+url="https://github.com/Xylemon/xlennart"
+arch="all"
+license="GPLv2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev gtk+2.0-dev"
+install=""
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Xylemon/$pkgname/archive/$pkgver.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ install -Dm644 xlennart.desktop \
+ "$pkgdir"/usr/share/applications/xlennart.desktop || return 1
+
+ mkdir -p "$pkgdir"/usr/share/doc/$pkgname
+ install -m644 INSTALL README.md README.Ports README.Credits \
+ "$pkgdir"/usr/share/doc/$pkgname || return 1
+}
+
+md5sums="139fbd10f5670882354dc0a14acbe1a4 xlennart-1.1.1.tar.gz"
+sha256sums="c614db5e7cc0e64469b7dbf6957170ff14e93b580e7ca1885e94041a5102bd57 xlennart-1.1.1.tar.gz"
+sha512sums="ebfb23922063a0208ab24b8c23c7a6737a2a158b549e2942f2f89b26a4972db0a12c843e5c761d6887858abc00ed9353dc6c2a816c1a3cc578f959897369a4c1 xlennart-1.1.1.tar.gz"
diff --git a/unmaintained/xmlrpc-epi/APKBUILD b/unmaintained/xmlrpc-epi/APKBUILD
new file mode 100644
index 0000000000..94660a433a
--- /dev/null
+++ b/unmaintained/xmlrpc-epi/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer:
+pkgname=xmlrpc-epi
+pkgver=0.54.2
+pkgrel=1
+pkgdesc="A versatile xmlrpc and soap implementation"
+url="http://xmlrpc-epi.sourceforge.net/"
+arch="all"
+license="MIT"
+depends=
+depends_dev="expat-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.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
+
+ 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="081e605491429cda17c5f021f211b8fd xmlrpc-epi-0.54.2.tar.bz2"
+sha256sums="c74ef8fb680b140890138a82f37619714b67f69025a775b9ba2009d62cded0b8 xmlrpc-epi-0.54.2.tar.bz2"
+sha512sums="2a8e818bd0eff4d1b0ad0c1cb26f93bc65d941096cf9f4555d1969c69601c452ab26edccee511b06efc9927c5deb7bd2a93fe44da23e5e4f78f6c77ca8e1e9c5 xmlrpc-epi-0.54.2.tar.bz2"
diff --git a/unmaintained/xmlstarlet/APKBUILD b/unmaintained/xmlstarlet/APKBUILD
new file mode 100644
index 0000000000..e50de8dfe7
--- /dev/null
+++ b/unmaintained/xmlstarlet/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=xmlstarlet
+pkgver=1.6.1
+pkgrel=0
+pkgdesc="A set of tools to transform, query, validate, and edit XML documents"
+url="http://xmlstar.sourceforge.net"
+arch="all"
+license="MIT"
+depends=""
+depends_dev=""
+makedepends="$depends_dev ghostscript libxml2-dev libxslt-dev"
+install=""
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::http://sourceforge.net/projects/xmlstar/files/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz/download"
+
+_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"
+ LIBXSLT_PREFIX=/usr LIBXML_PREFIX=/usr ./configure --prefix=/usr --enable-build-docs
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="${pkgdir}" install
+ install -Dm0644 Copyright $pkgdir/usr/share/licenses/$pkgname/COPYING
+ ln -s xml ${pkgdir}/usr/bin/xmlstarlet
+}
+
+md5sums="f3c5dfa3b1a2ee06cd57c255cc8b70a0 xmlstarlet-1.6.1.tar.gz"
+sha256sums="15d838c4f3375332fd95554619179b69e4ec91418a3a5296e7c631b7ed19e7ca xmlstarlet-1.6.1.tar.gz"
+sha512sums="4228df812caec7059d7a76986c4d9a4262bd861cc53dca05f341ae6c062be05f1c39fc637918ab00f60f40587c6c556e3c9bfaf8a18b149e3c321a92214dbe8b xmlstarlet-1.6.1.tar.gz"
diff --git a/unmaintained/xnbd/APKBUILD b/unmaintained/xnbd/APKBUILD
new file mode 100644
index 0000000000..fb064dd337
--- /dev/null
+++ b/unmaintained/xnbd/APKBUILD
@@ -0,0 +1,63 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=xnbd
+pkgver=0.3.0
+pkgrel=0
+pkgdesc="NBD server program enabling live block device migration over wide-area networks"
+url="https://bitbucket.org/hirofuchi/xnbd/wiki/Home"
+arch="all"
+license="GPL-2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev glib-dev automake autoconf libtool linux-headers"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://bitbucket.org/hirofuchi/xnbd/downloads/xnbd-$pkgver.tar.bz2
+ remove-pagesize.patch
+ fix-cblocksize.patch
+ remove-sys_siglist.patch"
+
+_builddir="$srcdir"/xnbd-$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
+ #update_config_sub || return 1
+}
+
+build() {
+ cd "$_builddir"
+ autoreconf -vif || return 1
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --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
+}
+
+md5sums="73327ea76230e123aee6e115f9eed779 xnbd-0.3.0.tar.bz2
+358c26ecf6fc9a82ac2c6bca3b12d4d6 remove-pagesize.patch
+1c33da534f8b4f8fb3aad4d97532ed00 fix-cblocksize.patch
+d8bda14a419a89c7279ff4d83a0325b4 remove-sys_siglist.patch"
+sha256sums="8bbac0a95ab31ffac20e06825b5170dd2cf16bd1acfe07e54656ea823a339b4a xnbd-0.3.0.tar.bz2
+1a8a86a114ed2ad0471261d9974a9d6bb704e0741a29e5ce3ea5c4901dc7fa6a remove-pagesize.patch
+f8214480f998e516fb27fa2b945caf783e8ed9a398918ef795199061b80e29a6 fix-cblocksize.patch
+20d026e88dc22cc25888f4507400d5c8395f51c4dddad81ee57cbc160f6530bb remove-sys_siglist.patch"
+sha512sums="650874ae2790619970217917a6d56c7855dd6ab723269c8e027f1ce7abbf9b5b718131571f4ae4f7b3301bde1516f464ec1b1aeb6581e84bfefff5e73903c74f xnbd-0.3.0.tar.bz2
+9fa5106787cd0fc1ade23fa82f9caa37b920bda90be87aa948a5b11d0c604879663a3d7ae140857beed6af03e18d2b83580201262e1c99162ff697df90346ae3 remove-pagesize.patch
+7fffb13527db255b95e335d648dbb74ca2f26f44a07e126ae7514c3cb0705465b6d57aa660bf5a345a28f54ffe3b77f27a1e3022ef53ae29a811f3f164997a03 fix-cblocksize.patch
+611575a15386940085bf37d933d37c3599d8de4f4ed741822e552a471a5727a380e0bddfd126a516a8de3d2819f4b1c5aef1e71d57ee1427727c0aff8772e4c9 remove-sys_siglist.patch"
diff --git a/unmaintained/xnbd/fix-cblocksize.patch b/unmaintained/xnbd/fix-cblocksize.patch
new file mode 100644
index 0000000000..c678204a1b
--- /dev/null
+++ b/unmaintained/xnbd/fix-cblocksize.patch
@@ -0,0 +1,42 @@
+# HG changeset patch
+# User hirofuchi
+# Date 1393586078 -32400
+# Node ID 34a08647f2e40d22960d8cb1de718a4391c15f3b
+# Parent 93c3b58d3df2ea3f361779dad61240e9381f0bf4
+make the requirement of CBLOCKSIZE clear
+
+CBLOCKSIZE must be a power of 2. 1024 or 8192 should be possible, which is not equal to PAGESIZE.
+
+diff --git a/xnbd_common.c b/trunk/xnbd_common.c
+--- a/xnbd_common.c
++++ b/xnbd_common.c
+@@ -25,6 +25,13 @@
+ #include "xnbd_common.h"
+
+
++/*
++ * CBLOCKSIZE must be a power of 2, because bit operations are used in
++ * mmap_block_region functions. There is an assertion to check this in main()
++ * of xnbd-server.
++ *
++ * 1024 or 8192, which is different from the page size, is also possible, but not well tested.
++ **/
+ const unsigned int CBLOCKSIZE = 4096;
+ unsigned int PAGESIZE = 4096;
+
+diff --git a/xnbd_server.c b/trunk/xnbd_server.c
+--- a/xnbd_server.c
++++ b/xnbd_server.c
+@@ -1060,10 +1060,9 @@
+ xnbd_initialize(&xnbd);
+
+
++ /* must be a power of 2 */
++ g_assert((CBLOCKSIZE & (CBLOCKSIZE - 1)) == 0);
+
+- PAGESIZE = (unsigned int) getpagesize();
+- if (CBLOCKSIZE % PAGESIZE != 0)
+- warn("CBLOCKSIZE %u PAGESIZE %u", CBLOCKSIZE, PAGESIZE);
+
+ if (xnbd.cmd == xnbd_cmd_proxy)
+ cachestat_initialize(DEFAULT_CACHESTAT_PATH, xnbd.nblocks);
diff --git a/unmaintained/xnbd/remove-pagesize.patch b/unmaintained/xnbd/remove-pagesize.patch
new file mode 100644
index 0000000000..61c91c1454
--- /dev/null
+++ b/unmaintained/xnbd/remove-pagesize.patch
@@ -0,0 +1,29 @@
+# HG changeset patch
+# User hirofuchi
+# Date 1393586706 -32400
+# Node ID 6cc644b989ecd4a2cdd7cd3dd2d5c40fd63537d7
+# Parent 34a08647f2e40d22960d8cb1de718a4391c15f3b
+remove PAGESIZE
+
+diff --git a/xnbd.h b/trunk/xnbd.h
+--- a/xnbd.h
++++ b/xnbd.h
+@@ -189,7 +189,6 @@
+
+
+ extern const unsigned int CBLOCKSIZE;
+-extern unsigned int PAGESIZE;
+
+
+
+diff --git a/xnbd_common.c b/trunk/xnbd_common.c
+--- a/xnbd_common.c
++++ b/xnbd_common.c
+@@ -33,7 +33,6 @@
+ * 1024 or 8192, which is different from the page size, is also possible, but not well tested.
+ **/
+ const unsigned int CBLOCKSIZE = 4096;
+-unsigned int PAGESIZE = 4096;
+
+ const int XNBD_PORT = 8520;
+
diff --git a/unmaintained/xnbd/remove-sys_siglist.patch b/unmaintained/xnbd/remove-sys_siglist.patch
new file mode 100644
index 0000000000..8d9c3618f8
--- /dev/null
+++ b/unmaintained/xnbd/remove-sys_siglist.patch
@@ -0,0 +1,35 @@
+--- ./xnbd_server.c.orig
++++ ./xnbd_server.c
+@@ -181,7 +181,7 @@
+
+ static void signal_handler(int signum)
+ {
+- dbg("sig: signal catched, code %d (%s)", signum, sys_siglist[signum]);
++ dbg("sig: signal catched, code %d (%s)", signum, strsignal(signum));
+
+ if (signum == SIGCHLD)
+ got_sigchld = 1;
+@@ -495,7 +495,7 @@
+ info(" with exit status=%d", WEXITSTATUS(status));
+
+ if (WIFSIGNALED(status))
+- info(" killed by signal=%d(%s)", WTERMSIG(status), sys_siglist[WTERMSIG(status)]);
++ info(" killed by signal=%d(%s)", WTERMSIG(status), strsignal(WTERMSIG(status)));
+ }
+
+ const bool single_client_at_most = (connect_fd != -1);
+--- ./xnbd_watchdog.c.orig
++++ ./xnbd_watchdog.c
+@@ -26,10 +26,10 @@
+
+ static void nbddev_watchdog_sigalarm_handler(int signum)
+ {
+- info("sig: signal catched, code %d (%s)", signum, sys_siglist[signum]);
++ info("sig: signal catched, code %d (%s)", signum, strsignal(signum));
+
+ if (signum != SIGALRM)
+- warn("unexpected signal, code %d (%s)", signum, sys_siglist[signum]);
++ warn("unexpected signal, code %d (%s)", signum, strsignal(signum));
+ }
+
+ /* string is dummy */
diff --git a/unmaintained/xrdp-git/APKBUILD b/unmaintained/xrdp-git/APKBUILD
new file mode 100644
index 0000000000..74de1776a8
--- /dev/null
+++ b/unmaintained/xrdp-git/APKBUILD
@@ -0,0 +1,87 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=xrdp-git
+pkgver=20150719
+pkgrel=1
+pkgdesc="an open source RDP server"
+url="http://www.xrdp.org/"
+arch="x86_64"
+license="GPLv2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev autoconf automake libtool openssl-dev libx11-dev
+ libxfixes-dev libxrandr-dev libjpeg-turbo-dev fuse-dev linux-headers
+ perl jq nasm xorg-server-dev"
+install=""
+subpackages="$pkgname-doc $pkgname-xorgxrdp"
+source="http://dev.alpinelinux.org/archive/xrdp-git/xrdp-git-2015-01-08.tar.gz
+ cd077979ebeb81a6e85a9ba7f9c463beda1606ba.patch"
+
+_builddir="$srcdir"/xrdp
+
+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"
+ ./bootstrap
+ ./configure \
+ --prefix=/usr \
+ --disable-static \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --sbindir=/usr/sbin \
+ --enable-nopam \
+ --enable-fuse \
+ --enable-jpeg \
+ || return 1
+ make || return 1
+
+ # xorgxrpd drivers
+ msg "Building xorgxrdp drivers"
+ cd "$_builddir"/xorgxrdp
+ ./bootstrap
+ ./configure \
+ --prefix=/usr \
+ --disable-static \
+ --sysconfdir=/etc \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+xorgxrdp() {
+ pkgdesc="$pkgdesc (xorg drivers)"
+ cd "$_builddir"/xorgxrdp
+ make DESTDIR="$subpkgdir" install || return 1
+}
+
+snapshot() {
+ abuild clean
+ abuild deps
+ mkdir "$srcdir" && cd "$srcdir"
+ git clone --recursive https://github.com/neutrinolabs/xrdp.git
+ local sha=$(curl -s https://api.github.com/repos/neutrinolabs/xrdp/git/refs/heads/master | jq -r '.object.sha')
+ local date=$(curl -s https://api.github.com/repos/neutrinolabs/xrdp/git/commits/$sha | jq -r '.committer.date')
+ date=${date%%T*}
+ tar zcvf xrdp-git-${date}.tar.gz xrdp
+
+ msg "Set \$pkgver to $date"
+}
+md5sums="fa1dd8c18a9da6dd3aebe0fc42fab681 xrdp-git-2015-01-08.tar.gz
+f4c995827a65bc0e267dc4938b1820eb cd077979ebeb81a6e85a9ba7f9c463beda1606ba.patch"
+sha256sums="a7eebc83132d3a5334c0edc7d488c0a2e34cf3294f372d112b68192a4ed7256b xrdp-git-2015-01-08.tar.gz
+1f01a14a1afe8d32177aceba043ccfe04ea2d7574edd662c2caaade306b9d880 cd077979ebeb81a6e85a9ba7f9c463beda1606ba.patch"
+sha512sums="cb9a314ea5b38489f4cacd94d23423c25d341f5fce596dc2cd4ecc3df816ab5453a02fc81ee89dc8c7a79561e7e73c61ac85e7425e5c7f84339c1b97d34abee2 xrdp-git-2015-01-08.tar.gz
+8f9ef1ab081d224cec3221c92856f16f8e743e21a5d762c4c89f671dcbb71bdd8ab2929718219e9f08f821a83b4f577f04b189305155b188b6d2cf6454df498f cd077979ebeb81a6e85a9ba7f9c463beda1606ba.patch"
diff --git a/unmaintained/xrdp-git/cd077979ebeb81a6e85a9ba7f9c463beda1606ba.patch b/unmaintained/xrdp-git/cd077979ebeb81a6e85a9ba7f9c463beda1606ba.patch
new file mode 100644
index 0000000000..c50e7b1184
--- /dev/null
+++ b/unmaintained/xrdp-git/cd077979ebeb81a6e85a9ba7f9c463beda1606ba.patch
@@ -0,0 +1,100 @@
+From cd077979ebeb81a6e85a9ba7f9c463beda1606ba Mon Sep 17 00:00:00 2001
+From: Jay Sorg <jay.sorg@gmail.com>
+Date: Thu, 30 Jul 2015 14:09:00 -0700
+Subject: [PATCH] fix for clientClipType removed in newer xorg versions
+
+---
+ module/rdpDraw.c | 64 +++++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 35 insertions(+), 29 deletions(-)
+
+diff --git a/module/rdpDraw.c b/module/rdpDraw.c
+index 5772923..605c511 100644
+--- a/xorgxrdp/module/rdpDraw.c
++++ b/xorgxrdp/module/rdpDraw.c
+@@ -50,6 +50,21 @@ misc draw calls
+ #define LLOGLN(_level, _args) \
+ do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
+
++#if !defined(XORG_VERSION_CURRENT)
++#warning XORG_VERSION_CURRENT not defined
++#endif
++
++/******************************************************************************/
++static int
++is_clientClip_region(GCPtr gc)
++{
++#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(1, 16, 99, 901, 0)
++ return gc->clientClipType == CT_REGION;
++#else
++ return gc->clientClip != NULL;
++#endif
++}
++
+ /******************************************************************************/
+ /* return 0, draw nothing */
+ /* return 1, draw with no clip */
+@@ -66,19 +81,15 @@ rdpDrawGetClip(rdpPtr dev, RegionPtr pRegion, DrawablePtr pDrawable, GCPtr pGC)
+
+ if (pDrawable->type == DRAWABLE_PIXMAP)
+ {
+- switch (pGC->clientClipType)
++ if (is_clientClip_region(pGC))
+ {
+- case CT_NONE:
+- rv = 1;
+- break;
+- case CT_REGION:
+- rv = 2;
+- rdpRegionCopy(pRegion, pGC->clientClip);
+- break;
+- default:
+- LLOGLN(0, ("rdpDrawGetClip: unimp clip type %d",
+- pGC->clientClipType));
+- break;
++ miComputeCompositeClip(pGC, pDrawable);
++ RegionCopy(pRegion, pGC->pCompositeClip);
++ rv = 2;
++ }
++ else
++ {
++ rv = 1;
+ }
+
+ if (rv == 2) /* check if the clip is the entire pixmap */
+@@ -111,24 +122,19 @@ rdpDrawGetClip(rdpPtr dev, RegionPtr pRegion, DrawablePtr pDrawable, GCPtr pGC)
+
+ if (rdpRegionNotEmpty(temp))
+ {
+- switch (pGC->clientClipType)
++ if (is_clientClip_region(pGC))
++ {
++ rdpRegionCopy(pRegion, pGC->clientClip);
++ rdpRegionTranslate(pRegion,
++ pDrawable->x + pGC->clipOrg.x,
++ pDrawable->y + pGC->clipOrg.y);
++ rdpRegionIntersect(pRegion, pRegion, temp);
++ rv = 2;
++ }
++ else
+ {
+- case CT_NONE:
+- rv = 2;
+- rdpRegionCopy(pRegion, temp);
+- break;
+- case CT_REGION:
+- rv = 2;
+- rdpRegionCopy(pRegion, pGC->clientClip);
+- rdpRegionTranslate(pRegion,
+- pDrawable->x + pGC->clipOrg.x,
+- pDrawable->y + pGC->clipOrg.y);
+- rdpRegionIntersect(pRegion, pRegion, temp);
+- break;
+- default:
+- LLOGLN(0, ("rdpDrawGetClip: unimp clip type %d",
+- pGC->clientClipType));
+- break;
++ rdpRegionCopy(pRegion, temp);
++ rv = 2;
+ }
+
+ if (rv == 2) /* check if the clip is the entire screen */
diff --git a/unmaintained/yum-metadata-parser/APKBUILD b/unmaintained/yum-metadata-parser/APKBUILD
new file mode 100644
index 0000000000..c448fbb13c
--- /dev/null
+++ b/unmaintained/yum-metadata-parser/APKBUILD
@@ -0,0 +1,26 @@
+# Maintainer:
+# Contributor: Bartłomiej Piotrowski <bpiotrowski@alpinelinux.org>
+
+pkgname=yum-metadata-parser
+pkgver=1.1.4
+pkgrel=0
+pkgdesc='Metadata parser to quickly parse xml metadata into sqlite databases'
+url='http://pkgs.fedoraproject.org/repo/pkgs/yum-metadata-parser/'
+arch=all
+license=GPL
+makedepends='python-dev py-setuptools libxml2-dev glib-dev sqlite-dev'
+source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar.gz"
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="05289971e5cfde532631f2a99f6c58c7 yum-metadata-parser-1.1.4.tar.gz"
+sha256sums="f1560a284541feb720c3ae35b6b31f80c2be5cb9ca86b3a1ee9459846f821ada yum-metadata-parser-1.1.4.tar.gz"
+sha512sums="51c1c3652171713a6decc165a4f8c4ddb5641f2ad3ee9b84fba3514d5c9afbb0c7ebc7dbb26156194b58c29227ef7b8d40ad760082da1c568254bcbee129d68c yum-metadata-parser-1.1.4.tar.gz"
diff --git a/unmaintained/yum/APKBUILD b/unmaintained/yum/APKBUILD
new file mode 100644
index 0000000000..50c472c491
--- /dev/null
+++ b/unmaintained/yum/APKBUILD
@@ -0,0 +1,27 @@
+# Maintainer:
+# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+
+pkgname=yum
+pkgver=3.4.3
+pkgrel=1
+pkgdesc='Advanced front-end for rpm'
+arch=noarch
+license='GPL'
+url='http://yum.baseurl.org'
+depends='python py-urlgrabber py-pysqlite yum-metadata-parser py-iniparse py-rpm rpm'
+makedepends='intltool'
+subpackages="$pkgname-doc $pkgname-lang"
+source="$url/download/3.4/yum-$pkgver.tar.gz"
+
+build() {
+ make -C "$srcdir"/$pkgname-$pkgver || return 1
+}
+
+package() {
+ make -C "$srcdir"/$pkgname-$pkgver DESTDIR="$pkgdir" install || return 1
+ rm -rf "$pkgdir"/etc/rc.d
+}
+
+md5sums="7c8ea8beba5b4e7fe0c215e4ebaa26ed yum-3.4.3.tar.gz"
+sha256sums="0178f97820ced9bfbcc269e6fc3ea35e29e35e2d263d24c7bff8660ee62d37ca yum-3.4.3.tar.gz"
+sha512sums="e72f83ba090ba7453a78954437dd14b8f818302464d0a278b60c2c5e0530684db0cece60cb30fce85d8014034c857da3696e1e51e08fddde39be66f3ad1eb817 yum-3.4.3.tar.gz"
diff --git a/unmaintained/zathura-djvu/APKBUILD b/unmaintained/zathura-djvu/APKBUILD
new file mode 100644
index 0000000000..92fe7902e0
--- /dev/null
+++ b/unmaintained/zathura-djvu/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Andrew Hills <ahills@ednos.net>
+# Maintainer: Andrew Hills <ahills@ednos.net>
+pkgname=zathura-djvu
+pkgver=0.2.5
+pkgrel=0
+pkgdesc="DjVu support for zathura"
+url="https://pwmt.org/projects/$pkgname"
+arch="all"
+license="zlib"
+depends=""
+depends_dev=""
+makedepends="$depends_dev zathura-dev girara-dev djvulibre-dev gtk+3.0-dev"
+install=""
+subpackages=""
+source="https://pwmt.org/projects/$pkgname/download/$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"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="b7fcd813a8eba888340e9556769eaf62 zathura-djvu-0.2.5.tar.gz"
+sha256sums="08b7110af13e17a9d221bd7a0f7d3b479b3e31631d78bc6c5efb46271a299c0d zathura-djvu-0.2.5.tar.gz"
+sha512sums="475ad916ed4b1cb1f7d79cf3417a68084bf00d737ffd5436c8079012dff2c8a3c4af28753dd42ad412269ea340e3844f2f781eee080f5487a13ee3a272ffa55a zathura-djvu-0.2.5.tar.gz"
diff --git a/unmaintained/zathura-pdf-poppler/APKBUILD b/unmaintained/zathura-pdf-poppler/APKBUILD
new file mode 100644
index 0000000000..44741ec2bc
--- /dev/null
+++ b/unmaintained/zathura-pdf-poppler/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Andrew Hills <ahills@ednos.net>
+# Maintainer: Andrew Hills <ahills@ednos.net>
+pkgname=zathura-pdf-poppler
+pkgver=0.2.6
+pkgrel=0
+pkgdesc="PDF support for zathura via poppler"
+url="https://pwmt.org/projects/$pkgname"
+arch="all"
+license="zlib"
+depends=""
+depends_dev=""
+makedepends="poppler-dev girara-dev zathura-dev gtk+3.0-dev"
+install=""
+subpackages=""
+source="https://pwmt.org/projects/$pkgname/download/$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"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="fc242236dda05f4a75cb41b52356ccae zathura-pdf-poppler-0.2.6.tar.gz"
+sha256sums="d1eb0c7a4f647c141192a2d7bf66413b9c5f1842463947ab87a8a1edcf8e58d5 zathura-pdf-poppler-0.2.6.tar.gz"
+sha512sums="3675d73da173cdfebee5ec83fa36d1861d6143b55931a2be16b24be1dbc70ce98dbc559f92e93e0d7f4d9073095d276754f64e41714810a6610abb09ab447aea zathura-pdf-poppler-0.2.6.tar.gz"
diff --git a/unmaintained/zathura-ps/APKBUILD b/unmaintained/zathura-ps/APKBUILD
new file mode 100644
index 0000000000..e1e9160779
--- /dev/null
+++ b/unmaintained/zathura-ps/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Andrew Hills <ahills@ednos.net>
+# Maintainer: Andrew Hills <ahills@ednos.net>
+pkgname=zathura-ps
+pkgver=0.2.3
+pkgrel=0
+pkgdesc="Postscript support for zathura"
+url="https://pwmt.org/projects/$pkgname"
+arch="all"
+license="zlib"
+depends=""
+depends_dev=""
+makedepends="zathura-dev girara-dev libspectre-dev gtk+3.0-dev glib-dev"
+install=""
+subpackages=""
+source="https://pwmt.org/projects/$pkgname/download/$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"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="7b9c7d25f015c4c4399d57b30a775c02 zathura-ps-0.2.3.tar.gz"
+sha256sums="a9eef74b12aec87ac2c4309f12d0f9c83b228fe64a788ee46b2c3a7c91779aa3 zathura-ps-0.2.3.tar.gz"
+sha512sums="e5ce62f494f45eeb41a3cf5c91633953fd730b4dd448723afb39fa30cb58f887ef71e5ac462503791905c8de758ca0157805b5e672c6e0807d159294e2b29c7a zathura-ps-0.2.3.tar.gz"
diff --git a/unmaintained/zathura/APKBUILD b/unmaintained/zathura/APKBUILD
new file mode 100644
index 0000000000..33733e72d2
--- /dev/null
+++ b/unmaintained/zathura/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Contributor: Andrew Hills <ahills@ednos.net>
+# Maintainer: Andrew Hills <ahills@ednos.net>
+pkgname=zathura
+pkgver=0.3.4
+pkgrel=0
+pkgdesc="Document viewer with Vim-like controls"
+url="https://pwmt.org/projects/$pkgname"
+arch="all"
+license="zlib"
+depends=""
+depends_dev=""
+makedepends="girara-dev gtk+3.0-dev glib-dev file-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://pwmt.org/projects/$pkgname/download/$pkgname-$pkgver.tar.gz
+ without-synctex.patch"
+
+_builddir="$srcdir"/zathura-$pkgver
+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
+}
+
+build() {
+ cd "$_builddir"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="64a19c0a78d06e3a8c2098911d59b072 zathura-0.3.4.tar.gz
+cf64a40358d705cee2d8174498d56e9f without-synctex.patch"
+sha256sums="52c4a3efc5843ce7c720ea7357667699363c809fd34ada4cb350d0e1031d0234 zathura-0.3.4.tar.gz
+e6cb2e825c584a82283a580fdd77428e91321f46d929eff42979e858eb9eac81 without-synctex.patch"
+sha512sums="663a24574838fe6531bf588ec97ed54f3bf3601c6ed11bbcd38347e8fa1876c4cfa964ab7bba70f8afd40dd9d984315b0966546394c0efac00c6fbd9967b77a2 zathura-0.3.4.tar.gz
+e750c8b2d7de3fdfe8275fe3c625bce6d3d9c12a956d0ea56a0af6848ecdd8cd903ba363fcff829024adc493b8c4f4b271f9f1d6dee52a3b14405df9b42b0ee0 without-synctex.patch"
diff --git a/unmaintained/zathura/without-synctex.patch b/unmaintained/zathura/without-synctex.patch
new file mode 100644
index 0000000000..b12ca3117e
--- /dev/null
+++ b/unmaintained/zathura/without-synctex.patch
@@ -0,0 +1,53 @@
+From 5b3c183a9f8edf778f405f5da9b1ef8384775852 Mon Sep 17 00:00:00 2001
+From: Jan Palus <jan.palus@gmail.com>
+Date: Mon, 28 Dec 2015 22:19:07 +0100
+Subject: [PATCH] fix build without synctex
+
+---
+ zathura/main.c | 19 ++++++++++++-------
+ 1 file changed, 12 insertions(+), 7 deletions(-)
+
+diff --git a/zathura/main.c b/zathura/main.c
+index 060382a..3278dbe 100644
+--- zathura/main.c
++++ zathura/main.c
+@@ -84,12 +84,14 @@ run_synctex_forward(const char* synctex_fwd, const char* filename,
+
+ static zathura_t*
+ init_zathura(const char* config_dir, const char* data_dir,
+- const char* cache_dir, const char* plugin_path, char** argv,
++ const char* cache_dir, const char* plugin_path, char** argv
++#ifdef WITH_SYNCTEX
++ , char* synctex_editor
++#endif
+ #ifdef GDK_WINDOWING_X11
+- char* synctex_editor, Window embed)
+-#else
+- char* synctex_editor)
++ , Window embed
+ #endif
++ )
+ {
+ /* create zathura session */
+ zathura_t* zathura = zathura_create();
+@@ -250,11 +252,14 @@ main(int argc, char* argv[])
+
+ /* Create zathura session */
+ zathura_t* zathura = init_zathura(config_dir, data_dir, cache_dir,
++ plugin_path, argv
++#ifdef WITH_SYNCTEX
++ , synctex_editor
++#endif
+ #ifdef GDK_WINDOWING_X11
+- plugin_path, argv, synctex_editor, embed);
+-#else
+- plugin_path, argv, synctex_editor);
++ , embed
+ #endif
++ );
+ if (zathura == NULL) {
+ girara_error("Could not initialize zathura.");
+ return -1;
+--
+libgit2 0.23.3
+
diff --git a/unmaintained/zziplib/APKBUILD b/unmaintained/zziplib/APKBUILD
new file mode 100644
index 0000000000..77ce928541
--- /dev/null
+++ b/unmaintained/zziplib/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Mika Havela <mika.havela@gmail.com>
+# Maintainer: Mika Havela <mika.havela@gmail.com>
+pkgname=zziplib
+pkgver=0.13.62
+pkgrel=2
+pkgdesc="Lightweight library to easily extract data from zip files"
+url="http://zziplib.sourceforge.net"
+arch="all"
+license="LGPL2+ or MPL 1.1"
+depends=""
+depends_dev="zlib-dev"
+makedepends="$depends_dev perl python"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-utils"
+source="http://downloads.sourceforge.net/zziplib/zziplib-${pkgver}.tar.bz2"
+
+_builddir="$srcdir"/zziplib-${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 \
+ --disable-static \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="${pkgdir}" install || return 1
+}
+
+utils() {
+ pkgdesc="Utilities for the zziplib library"
+ install -d "$subpkgdir"/usr
+ mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
+}
+
+md5sums="5fe874946390f939ee8f4abe9624b96c zziplib-0.13.62.tar.bz2"
+sha256sums="a1b8033f1a1fd6385f4820b01ee32d8eca818409235d22caf5119e0078c7525b zziplib-0.13.62.tar.bz2"
+sha512sums="fd3b9e9015ba7603bdebd8f6a2ac6d11003705bfab22f3a0025f75455042664aea69440845b59e6f389417dff5ac777f49541d8cbacb2a220e67d20bb6973e25 zziplib-0.13.62.tar.bz2"