summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
l---------data/aptitude/_metadata/_googletest.dep1
l---------data/aptitude/_metadata/boost.dep1
l---------data/aptitude/_metadata/librpmatch.dep1
l---------data/aptitude/_metadata/libxapian.dep1
-rw-r--r--data/aptitude/_metadata/version2
-rw-r--r--data/aptitude/aptitude_0.4.11.11.orig.tar.gzbin6162554 -> 0 bytes
-rw-r--r--data/aptitude/aptitude_0.8.10.orig.tar.xzbin0 -> 4714076 bytes
-rw-r--r--data/aptitude/build.diff32
-rw-r--r--data/aptitude/dqueue.diff16
-rw-r--r--data/aptitude/gmock.diff34
-rw-r--r--data/aptitude/intl.diff36
-rw-r--r--data/aptitude/make.sh4
-rw-r--r--data/aptitude/namespace.diff22
-rw-r--r--data/aptitude/pkg_columnizer.diff24
-rw-r--r--data/aptitude/stringbuf.diff12
-rw-r--r--data/aptitude/timestamp.diff14
-rw-r--r--data/aptitude/turbulence.diff12
-rw-r--r--data/aptitude/wtf.diff65
-rw-r--r--data/bitchx/_metadata/homepage1
-rw-r--r--data/bitchx/_metadata/version2
-rw-r--r--data/bitchx/bitchx-1.2.1.tar.gzbin0 -> 2549182 bytes
-rw-r--r--data/bitchx/ircii-pana-1.1-final.tar.gzbin2532476 -> 0 bytes
-rw-r--r--data/bitchx/make.sh4
-rw-r--r--data/bitchx/mdns.diff25
-rw-r--r--data/bitchx/port.diff72
-rw-r--r--data/cpanminus/App-cpanminus-1.7044.tar.gzbin0 -> 316368 bytes
-rw-r--r--data/cpanminus/_metadata/description1
-rw-r--r--data/cpanminus/_metadata/license248
l---------data/cpanminus/_metadata/maintainer1
-rw-r--r--data/cpanminus/_metadata/name1
l---------data/cpanminus/_metadata/perl.dep1
-rw-r--r--data/cpanminus/_metadata/priority1
-rw-r--r--data/cpanminus/_metadata/role1
-rw-r--r--data/cpanminus/_metadata/section1
-rw-r--r--data/cpanminus/_metadata/tags1
-rw-r--r--data/cpanminus/_metadata/version1
-rw-r--r--data/cpanminus/make.sh7
-rw-r--r--data/git/shebang.diff22
-rw-r--r--data/ice/_metadata/version2
-rw-r--r--data/ice/libICE-1.0.4.tar.gzbin365664 -> 0 bytes
-rw-r--r--data/ice/libICE-1.0.9.tar.bz2bin0 -> 384921 bytes
-rw-r--r--data/ice/make.sh3
-rw-r--r--data/imagemagick/ImageMagick-7.0.8-11.tar.xz (renamed from data/imagemagick/ImageMagick-6.4.3-6.tar.bz2)bin8860808 -> 8638236 bytes
l---------data/imagemagick/_metadata/libfftw3.dep1
-rw-r--r--data/imagemagick/_metadata/version2
l---------data/imagemagick/_metadata/xz.dep1
-rw-r--r--data/imagemagick/make.sh5
-rw-r--r--data/imagemagick/variable.diff108
-rw-r--r--data/ld64/_metadata/description1
l---------data/ld64/_metadata/libtapi.dep1
l---------data/ld64/_metadata/license1
-rw-r--r--data/ld64/_metadata/maintainer1
-rw-r--r--data/ld64/_metadata/priority1
-rw-r--r--data/ld64/_metadata/role1
-rw-r--r--data/ld64/_metadata/section1
-rw-r--r--data/ld64/_metadata/tags1
-rw-r--r--data/ld64/_metadata/version1
l---------data/ld64/_metadata/xar.dep1
-rw-r--r--data/ld64/arch.diff13
-rw-r--r--data/ld64/got32.diff12
-rw-r--r--data/ld64/ld64-274.2.tar.gzbin0 -> 671652 bytes
-rw-r--r--data/ld64/make.sh4
-rw-r--r--data/ld64/makefile.diff59
-rw-r--r--data/ld64/searchpaths.diff39
-rw-r--r--data/ld64/thinlto.diff34
-rw-r--r--data/ld64/typos.diff12
-rw-r--r--data/ld64/version.diff28
l---------data/ldid/_metadata/author1
-rw-r--r--data/ldid/_metadata/description1
l---------data/ldid/_metadata/license1
l---------data/ldid/_metadata/maintainer1
-rw-r--r--data/ldid/_metadata/name1
-rw-r--r--data/ldid/_metadata/priority1
-rw-r--r--data/ldid/_metadata/section1
-rw-r--r--data/ldid/_metadata/tags1
-rw-r--r--data/ldid/_metadata/version1
-rw-r--r--data/ldid/ldid-2.0.0.tar.xzbin0 -> 34464 bytes
-rw-r--r--data/ldid/make.sh3
l---------data/libarchive/_metadata/lz4.dep1
l---------data/libarchive/_metadata/lzma.dep1
-rw-r--r--data/libarchive/_metadata/version2
-rw-r--r--data/libarchive/libarchive-2.4.11.tar.gzbin815267 -> 0 bytes
-rw-r--r--data/libarchive/libarchive-3.3.2.tar.gzbin0 -> 6236562 bytes
-rw-r--r--data/libarchive/make.sh2
-rw-r--r--data/libfftw3/_metadata/description1
l---------data/libfftw3/_metadata/license1
l---------data/libfftw3/_metadata/maintainer1
-rw-r--r--data/libfftw3/_metadata/priority1
-rw-r--r--data/libfftw3/_metadata/role1
-rw-r--r--data/libfftw3/_metadata/section1
-rw-r--r--data/libfftw3/_metadata/tags1
-rw-r--r--data/libfftw3/_metadata/version1
-rw-r--r--data/libfftw3/fftw-3.3.8.tar.gzbin0 -> 4110137 bytes
-rw-r--r--data/libfftw3/make.sh4
l---------data/libfragmentzip/_metadata/curl.dep1
-rw-r--r--data/libfragmentzip/_metadata/description1
l---------data/libfragmentzip/_metadata/libzip.dep1
l---------data/libfragmentzip/_metadata/license1
l---------data/libfragmentzip/_metadata/maintainer1
-rw-r--r--data/libfragmentzip/_metadata/name1
-rw-r--r--data/libfragmentzip/_metadata/priority1
-rw-r--r--data/libfragmentzip/_metadata/section1
-rw-r--r--data/libfragmentzip/_metadata/tags1
-rw-r--r--data/libfragmentzip/_metadata/version1
-rw-r--r--data/libfragmentzip/libfragmentzip-28.tar.xzbin0 -> 25704 bytes
-rw-r--r--data/libfragmentzip/make.sh5
-rw-r--r--data/libirecovery/_metadata/description1
l---------data/libirecovery/_metadata/license1
l---------data/libirecovery/_metadata/maintainer1
-rw-r--r--data/libirecovery/_metadata/priority1
l---------data/libirecovery/_metadata/readline.dep1
-rw-r--r--data/libirecovery/_metadata/section1
-rw-r--r--data/libirecovery/_metadata/tags1
-rw-r--r--data/libirecovery/_metadata/version1
-rw-r--r--data/libirecovery/libirecovery-0.1.1+210.tar.xzbin0 -> 28564 bytes
-rw-r--r--data/libirecovery/make.sh5
-rw-r--r--data/libjpeg-turbo/_metadata/description1
-rw-r--r--data/libjpeg-turbo/_metadata/homepage1
l---------data/libjpeg-turbo/_metadata/license1
l---------data/libjpeg-turbo/_metadata/maintainer1
-rw-r--r--data/libjpeg-turbo/_metadata/priority1
-rw-r--r--data/libjpeg-turbo/_metadata/role1
-rw-r--r--data/libjpeg-turbo/_metadata/section1
-rw-r--r--data/libjpeg-turbo/_metadata/tags1
-rw-r--r--data/libjpeg-turbo/_metadata/version1
-rw-r--r--data/libjpeg-turbo/libjpeg-turbo-2.0.0.tar.gzbin0 -> 2158457 bytes
-rw-r--r--data/libjpeg-turbo/make.sh22
-rw-r--r--data/libmad/Provide-Thumb-2-alternative-code-for-MAD_F_MLN.diff34
-rw-r--r--data/libmad/_metadata/version2
-rw-r--r--data/libmad/amd64-64bit.diff12
-rw-r--r--data/libmad/length-check.diff817
-rw-r--r--data/libmad/libmad.thumb.diff14
-rw-r--r--data/libmad/make.sh3
-rw-r--r--data/libmad/md_size.diff58
-rw-r--r--data/libmad/mips-gcc4.4.diff25
-rw-r--r--data/libmad/optimize.diff77
-rw-r--r--data/libplist/_metadata/description1
l---------data/libplist/_metadata/license1
l---------data/libplist/_metadata/maintainer1
-rw-r--r--data/libplist/_metadata/priority1
-rw-r--r--data/libplist/_metadata/role1
-rw-r--r--data/libplist/_metadata/section1
-rw-r--r--data/libplist/_metadata/tags1
-rw-r--r--data/libplist/_metadata/version1
-rw-r--r--data/libplist/libplist-2.0.0.tar.gzbin0 -> 161155 bytes
-rw-r--r--data/libplist/make.sh5
-rw-r--r--data/librpmatch/_metadata/description1
-rw-r--r--data/librpmatch/_metadata/license29
l---------data/librpmatch/_metadata/maintainer1
-rw-r--r--data/librpmatch/_metadata/priority1
-rw-r--r--data/librpmatch/_metadata/role1
-rw-r--r--data/librpmatch/_metadata/section1
-rw-r--r--data/librpmatch/_metadata/tags1
-rw-r--r--data/librpmatch/_metadata/version1
-rw-r--r--data/librpmatch/cpp.diff22
-rw-r--r--data/librpmatch/make.sh5
-rw-r--r--data/librpmatch/rpmatch-1.0.tar.gzbin0 -> 3151 bytes
-rw-r--r--data/libtapi/_metadata/version2
-rw-r--r--data/libtapi/apple-libtapi.tar.gzbin0 -> 119552723 bytes
-rw-r--r--data/libtapi/apple-libtapi.tar.xzbin10648384 -> 0 bytes
-rw-r--r--data/libtapi/make.sh8
-rw-r--r--data/libtapi/miphone.diff39
-rw-r--r--data/libutf8proc/_metadata/description1
-rw-r--r--data/libutf8proc/_metadata/homepage1
l---------data/libutf8proc/_metadata/license1
l---------data/libutf8proc/_metadata/maintainer1
-rw-r--r--data/libutf8proc/_metadata/priority1
-rw-r--r--data/libutf8proc/_metadata/role1
-rw-r--r--data/libutf8proc/_metadata/section1
-rw-r--r--data/libutf8proc/_metadata/tags1
-rw-r--r--data/libutf8proc/_metadata/version1
-rw-r--r--data/libutf8proc/make.sh24
-rw-r--r--data/libutf8proc/utf8proc-2.2.0.tar.gzbin0 -> 156334 bytes
-rw-r--r--data/libvncserver/LibVNCServer-0.9.11.tar.gzbin0 -> 1413739 bytes
-rw-r--r--data/libvncserver/LibVNCServer-0.9.8.1.tar.gzbin1238171 -> 0 bytes
l---------data/libvncserver/_metadata/gnutls.dep1
l---------data/libvncserver/_metadata/jpeg.dep1
l---------data/libvncserver/_metadata/libjpeg-turbo.dep1
l---------data/libvncserver/_metadata/p11-kit.dep1
l---------data/libvncserver/_metadata/png.dep1
-rw-r--r--data/libvncserver/_metadata/version2
-rw-r--r--data/libvncserver/clsockrace.diff14
-rw-r--r--data/libvncserver/make.sh5
-rw-r--r--data/libvncserver/subdirs.diff25
-rw-r--r--data/libxapian/_metadata/description1
l---------data/libxapian/_metadata/license1
l---------data/libxapian/_metadata/maintainer1
-rw-r--r--data/libxapian/_metadata/priority1
-rw-r--r--data/libxapian/_metadata/role1
-rw-r--r--data/libxapian/_metadata/section1
-rw-r--r--data/libxapian/_metadata/tags1
-rw-r--r--data/libxapian/_metadata/version1
-rw-r--r--data/libxapian/make.sh4
-rw-r--r--data/libxapian/xapian-core-1.4.7.tar.xzbin0 -> 2874172 bytes
-rw-r--r--data/libzip/_metadata/description1
l---------data/libzip/_metadata/license1
l---------data/libzip/_metadata/maintainer1
-rw-r--r--data/libzip/_metadata/priority1
-rw-r--r--data/libzip/_metadata/section1
-rw-r--r--data/libzip/_metadata/tags1
-rw-r--r--data/libzip/_metadata/version1
-rw-r--r--data/libzip/libzip-1.5.1.tar.xzbin0 -> 717908 bytes
-rw-r--r--data/libzip/make.sh24
-rw-r--r--data/nano/_metadata/version2
-rw-r--r--data/nano/make.sh4
-rw-r--r--data/nano/nano-2.2.6.tar.gzbin1572388 -> 0 bytes
-rw-r--r--data/nano/nano-2.9.8.tar.xzbin0 -> 1499948 bytes
-rw-r--r--data/nano/timestamp.diff13
-rw-r--r--data/ogg/libogg-1.3.3.tar.gzbin0 -> 579853 bytes
-rw-r--r--data/ogg/libogg-1.3.3.tar.xzbin417636 -> 0 bytes
-rw-r--r--data/pzb/_metadata/description1
l---------data/pzb/_metadata/libfragmentzip.dep1
-rw-r--r--data/pzb/_metadata/license55
l---------data/pzb/_metadata/maintainer1
-rw-r--r--data/pzb/_metadata/name1
-rw-r--r--data/pzb/_metadata/priority1
-rw-r--r--data/pzb/_metadata/role1
-rw-r--r--data/pzb/_metadata/section1
-rw-r--r--data/pzb/_metadata/tags1
-rw-r--r--data/pzb/_metadata/version1
-rw-r--r--data/pzb/make.sh5
-rw-r--r--data/pzb/pzb-1.0.1.tar.xzbin0 -> 10652 bytes
222 files changed, 2181 insertions, 290 deletions
diff --git a/data/aptitude/_metadata/_googletest.dep b/data/aptitude/_metadata/_googletest.dep
new file mode 120000
index 000000000..14c22a596
--- /dev/null
+++ b/data/aptitude/_metadata/_googletest.dep
@@ -0,0 +1 @@
+../../_googletest \ No newline at end of file
diff --git a/data/aptitude/_metadata/boost.dep b/data/aptitude/_metadata/boost.dep
new file mode 120000
index 000000000..e73292483
--- /dev/null
+++ b/data/aptitude/_metadata/boost.dep
@@ -0,0 +1 @@
+../../boost \ No newline at end of file
diff --git a/data/aptitude/_metadata/librpmatch.dep b/data/aptitude/_metadata/librpmatch.dep
new file mode 120000
index 000000000..67e172ea7
--- /dev/null
+++ b/data/aptitude/_metadata/librpmatch.dep
@@ -0,0 +1 @@
+../../librpmatch \ No newline at end of file
diff --git a/data/aptitude/_metadata/libxapian.dep b/data/aptitude/_metadata/libxapian.dep
new file mode 120000
index 000000000..af6ec0f7b
--- /dev/null
+++ b/data/aptitude/_metadata/libxapian.dep
@@ -0,0 +1 @@
+../../libxapian \ No newline at end of file
diff --git a/data/aptitude/_metadata/version b/data/aptitude/_metadata/version
index 94404405e..ef5056161 100644
--- a/data/aptitude/_metadata/version
+++ b/data/aptitude/_metadata/version
@@ -1 +1 @@
-0.4.11.11
+0.8.10
diff --git a/data/aptitude/aptitude_0.4.11.11.orig.tar.gz b/data/aptitude/aptitude_0.4.11.11.orig.tar.gz
deleted file mode 100644
index 054f18be8..000000000
--- a/data/aptitude/aptitude_0.4.11.11.orig.tar.gz
+++ /dev/null
Binary files differ
diff --git a/data/aptitude/aptitude_0.8.10.orig.tar.xz b/data/aptitude/aptitude_0.8.10.orig.tar.xz
new file mode 100644
index 000000000..c9e953277
--- /dev/null
+++ b/data/aptitude/aptitude_0.8.10.orig.tar.xz
Binary files differ
diff --git a/data/aptitude/build.diff b/data/aptitude/build.diff
index 14709ad9e..b96af4656 100644
--- a/data/aptitude/build.diff
+++ b/data/aptitude/build.diff
@@ -1,12 +1,24 @@
-diff -ru aptitude_0.4.11.11.orig/Makefile.in aptitude_0.4.11.11.orig+iPhone/Makefile.in
---- aptitude_0.4.11.11.orig/Makefile.in 2008-11-20 03:17:12.000000000 +0000
-+++ aptitude_0.4.11.11.orig+iPhone/Makefile.in 2009-07-07 07:15:39.000000000 +0000
-@@ -215,7 +215,7 @@
- sysconfdir = @sysconfdir@
- target_alias = @target_alias@
- MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.h.in
--SUBDIRS = $(SRCDIRS) $(DOCDIRS) m4 po tests
-+SUBDIRS = $(SRCDIRS) m4
+diff -ur aptitude-0.8.10/Makefile.am aptitude-0.8.10+iPhone/Makefile.am
+--- aptitude-0.8.10/Makefile.am 2017-11-14 11:48:21.000000000 -1000
++++ aptitude-0.8.10+iPhone/Makefile.am 2018-08-30 15:25:48.000000000 -1000
+@@ -7,7 +7,7 @@
+ DOCDIRS=@DOCDIRS@
+ TESTDIRS=@TESTDIRS@
+
+-SUBDIRS=buildlib $(SRCDIRS) $(DOCDIRS) po $(TESTDIRS)
++SUBDIRS=buildlib $(SRCDIRS)
+
dist_bin_SCRIPTS = aptitude-create-state-bundle aptitude-run-state-bundle
- MANPAGE_LOCALES = gl it pl
+
+diff -ur aptitude-0.8.10/Makefile.in aptitude-0.8.10+iPhone/Makefile.in
+--- aptitude-0.8.10/Makefile.in 2017-11-14 14:18:48.000000000 -1000
++++ aptitude-0.8.10+iPhone/Makefile.in 2018-08-30 15:25:38.000000000 -1000
+@@ -576,7 +576,7 @@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.h.in compile test-driver
+-SUBDIRS = buildlib $(SRCDIRS) $(DOCDIRS) po $(TESTDIRS)
++SUBDIRS = buildlib $(SRCDIRS)
+ dist_bin_SCRIPTS = aptitude-create-state-bundle aptitude-run-state-bundle
+ MANPAGE_LOCALES = gl
TLMANPAGES = $(wildcard $(srcdir)/aptitude.??.8)
diff --git a/data/aptitude/dqueue.diff b/data/aptitude/dqueue.diff
new file mode 100644
index 000000000..153028e1b
--- /dev/null
+++ b/data/aptitude/dqueue.diff
@@ -0,0 +1,16 @@
+diff -ur aptitude-0.8.10/src/generic/util/parsers.h aptitude-0.8.10+iPhone/src/generic/util/parsers.h
+--- aptitude-0.8.10/src/generic/util/parsers.h 2017-08-19 07:59:07.000000000 -1000
++++ aptitude-0.8.10+iPhone/src/generic/util/parsers.h 2018-08-31 09:36:06.000000000 -1000
+@@ -72,12 +72,6 @@
+
+ #include <errno.h>
+
+-namespace std
+-{
+- template<typename T, typename Alloc>
+- class deque;
+-}
+-
+ namespace parsers
+ {
+ /** \defgroup Parser combinators in C++
diff --git a/data/aptitude/gmock.diff b/data/aptitude/gmock.diff
new file mode 100644
index 000000000..c8bd78eb9
--- /dev/null
+++ b/data/aptitude/gmock.diff
@@ -0,0 +1,34 @@
+diff -ur aptitude-0.8.10/configure aptitude-0.8.10+iPhone/configure
+--- aptitude-0.8.10/configure 2017-11-14 14:18:50.000000000 -1000
++++ aptitude-0.8.10+iPhone/configure 2018-08-31 16:44:30.000000000 -1000
+@@ -9699,7 +9699,7 @@
+ else
+ LIBS="$OLD_LIBS -lpthread"
+ OLD_CPPFLAGS="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS -I/usr/src/googletest/googletest -I/usr/src/googletest/googlemock"
++ CPPFLAGS="$CPPFLAGS -I$GOOGLETEST/googletest/googletest -I$GOOGLETEST/googletest/googlemock"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+@@ -9712,8 +9712,8 @@
+ }
+ _ACEOF
+ if ac_fn_cxx_try_link "$LINENO"; then :
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: source is in /usr/src/googletest/googlemock" >&5
+-$as_echo "source is in /usr/src/googletest/googlemock" >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: source is in $GOOGLETEST/googletest/googlemock" >&5
++$as_echo "source is in $GOOGLETEST/googletest/googlemock" >&6; }
+ BUILD_LOCAL_GMOCK=1
+ else
+ as_fn_error $? "Can't figure out where Google Mock lives; either install the google-mock package or place the library in the link path" "$LINENO" 5
+@@ -12663,8 +12663,8 @@
+ done
+ }
+ ;;
+- "copy-gtest":C) cp -uv /usr/src/googletest/googletest/src/gtest-all.cc tests/gtest-all.cc ;;
+- "copy-gmock":C) cp -uv /usr/src/googletest/googlemock/src/gmock-all.cc tests/gmock-all.cc ;;
++ "copy-gtest":C) cp -v ${GOOGLETEST}/googletest/googletest/src/gtest-all.cc tests/gtest-all.cc ;;
++ "copy-gmock":C) cp -v ${GOOGLETEST}/googletest/googlemock/src/gmock-all.cc tests/gmock-all.cc ;;
+
+ esac
+ done # for ac_tag
diff --git a/data/aptitude/intl.diff b/data/aptitude/intl.diff
deleted file mode 100644
index 39fe13323..000000000
--- a/data/aptitude/intl.diff
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -ru aptitude-0.4.4.orig/src/generic/apt/Makefile.in aptitude-0.4.4.orig+iPhone/src/generic/apt/Makefile.in
---- aptitude-0.4.4.orig/src/generic/apt/Makefile.in 2006-10-27 04:28:51.000000000 +0000
-+++ aptitude-0.4.4.orig+iPhone/src/generic/apt/Makefile.in 2008-05-13 09:13:50.000000000 +0000
-@@ -305,7 +305,7 @@
- -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
- pkg_hier_dump$(EXEEXT): $(pkg_hier_dump_OBJECTS) $(pkg_hier_dump_DEPENDENCIES)
- @rm -f pkg_hier_dump$(EXEEXT)
-- $(CXXLINK) $(pkg_hier_dump_LDFLAGS) $(pkg_hier_dump_OBJECTS) $(pkg_hier_dump_LDADD) $(LIBS)
-+ $(CXXLINK) $(pkg_hier_dump_LDFLAGS) $(pkg_hier_dump_OBJECTS) $(pkg_hier_dump_LDADD) $(LIBS) $(INTLLIBS)
-
- mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-diff -ru aptitude-0.4.4.orig/src/generic/problemresolver/Makefile.in aptitude-0.4.4.orig+iPhone/src/generic/problemresolver/Makefile.in
---- aptitude-0.4.4.orig/src/generic/problemresolver/Makefile.in 2006-10-27 04:28:51.000000000 +0000
-+++ aptitude-0.4.4.orig+iPhone/src/generic/problemresolver/Makefile.in 2008-05-13 09:10:29.000000000 +0000
-@@ -234,7 +234,7 @@
- -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
- test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES)
- @rm -f test$(EXEEXT)
-- $(CXXLINK) $(test_LDFLAGS) $(test_OBJECTS) $(test_LDADD) $(LIBS)
-+ $(CXXLINK) $(test_LDFLAGS) $(test_OBJECTS) $(test_LDADD) $(LIBS) $(INTLLIBS)
-
- mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-diff -ru aptitude-0.4.4.orig/src/Makefile.in aptitude-0.4.4.orig+iPhone/src/Makefile.in
---- aptitude-0.4.4.orig/src/Makefile.in 2006-10-27 04:28:50.000000000 +0000
-+++ aptitude-0.4.4.orig+iPhone/src/Makefile.in 2008-05-13 09:36:20.000000000 +0000
-@@ -374,7 +374,7 @@
- -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
- aptitude$(EXEEXT): $(aptitude_OBJECTS) $(aptitude_DEPENDENCIES)
- @rm -f aptitude$(EXEEXT)
-- $(CXXLINK) $(aptitude_LDFLAGS) $(aptitude_OBJECTS) $(aptitude_LDADD) $(LIBS)
-+ $(CXXLINK) $(aptitude_LDFLAGS) $(aptitude_OBJECTS) $(aptitude_LDADD) $(LIBS) -liconv
-
- mostlyclean-compile:
- -rm -f *.$(OBJEXT)
diff --git a/data/aptitude/make.sh b/data/aptitude/make.sh
index 0846c54c6..cd029fb7b 100644
--- a/data/aptitude/make.sh
+++ b/data/aptitude/make.sh
@@ -1,6 +1,6 @@
shopt -s extglob
pkg:setup
-pkg:configure
-make AR="${PKG_TARG}-ar" CFLAGS='-O2 -mthumb'
+GOOGLETEST="$(PKG_WORK_ _googletest)" LIBS="-lrpmatch" CXXFLAGS="-std=c++14 -D_XOPEN_SOURCE_EXTENDED -Wno-error" CFLAGS="-D_XOPEN_SOURCE_EXTENDED" pkg:configure XAPIAN_CONFIG="$(PKG_DEST_ libxapian)/usr/bin/xapian-config" --disable-docs --disable-tests --disable-boost-lib-checks --with-boost-iostreams=boost_iostreams --with-boost-filesystem=boost_filesystem --with-boost-system=boost_system
+make AR="${PKG_TARG}-ar" -j8
pkg:install
rm -f "${PKG_DEST}"/usr/share/aptitude/!(aptitude-defaults|section-descriptions) #function_groups|function_pkgs
diff --git a/data/aptitude/namespace.diff b/data/aptitude/namespace.diff
deleted file mode 100644
index 3cc16639e..000000000
--- a/data/aptitude/namespace.diff
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ru aptitude_0.4.11.11.orig/src/generic/apt/matchers.cc aptitude_0.4.11.11.orig+iPhone/src/generic/apt/matchers.cc
---- aptitude_0.4.11.11.orig/src/generic/apt/matchers.cc 2008-11-20 03:17:12.000000000 +0000
-+++ aptitude_0.4.11.11.orig+iPhone/src/generic/apt/matchers.cc 2009-07-07 09:48:40.000000000 +0000
-@@ -4289,6 +4289,9 @@
- return real_matcher->get_match(pkg, cache, records, stack);
- }
-
-+namespace
-+{
-+
- class pkg_const_matcher : public pkg_matcher_real
- {
- pkgCache::PkgIterator match_pkg;
-@@ -4333,6 +4336,8 @@
- }
- };
-
-+}
-+
- pkg_matcher *make_const_matcher(const pkgCache::PkgIterator &pkg)
- {
- return new pkg_const_matcher(pkg);
diff --git a/data/aptitude/pkg_columnizer.diff b/data/aptitude/pkg_columnizer.diff
new file mode 100644
index 000000000..59b52f161
--- /dev/null
+++ b/data/aptitude/pkg_columnizer.diff
@@ -0,0 +1,24 @@
+diff -ur aptitude-0.8.10/src/pkg_columnizer.cc aptitude-0.8.10+iPhone/src/pkg_columnizer.cc
+--- aptitude-0.8.10/src/pkg_columnizer.cc 2017-08-19 07:59:07.000000000 -1000
++++ aptitude-0.8.10+iPhone/src/pkg_columnizer.cc 2018-08-31 15:13:18.000000000 -1000
+@@ -70,8 +70,8 @@
+ {30, false, false}, // origin
+ {10, true, true}, // archive
+ {9, false, false}, // sizechange
+- {strlen(PACKAGE), false, false}, // progname
+- {strlen(VERSION), false, false}, // progver
++ {(unsigned int)strlen(PACKAGE), false, false}, // progname
++ {(unsigned int)strlen(VERSION), false, false}, // progver
+ {12, false, false}, // brokencount
+ {16, false, false}, // diskusage, example (max): "Disk: -2,587 kB "
+ {22, false, false}, // downloadsize, example (max): " DL: 2,586 kB/2,587 kB"
+@@ -396,7 +396,8 @@
+ case diskusage:
+ {
+ size_t bufsize = 256;
+- char buf[bufsize] = "";
++ char buf[bufsize];
++ buf[0] = 0;
+ if (apt_cache_file && ((*apt_cache_file)->UsrSize() != 0))
+ {
+ char sign = ((*apt_cache_file)->UsrSize() > 0) ? '+' : '-';
diff --git a/data/aptitude/stringbuf.diff b/data/aptitude/stringbuf.diff
new file mode 100644
index 000000000..3e0d7a0ca
--- /dev/null
+++ b/data/aptitude/stringbuf.diff
@@ -0,0 +1,12 @@
+diff -ur aptitude-0.8.10/src/generic/util/util.cc aptitude-0.8.10+iPhone/src/generic/util/util.cc
+--- aptitude-0.8.10/src/generic/util/util.cc 2017-08-19 07:59:07.000000000 -1000
++++ aptitude-0.8.10+iPhone/src/generic/util/util.cc 2018-08-31 09:24:23.000000000 -1000
+@@ -242,7 +242,7 @@
+ // We need to copy "result", not "buf", because some
+ // versions of strerror_r can return a static string and
+ // leave "buf" alone.
+- string rval(result);
++ string rval(buf);
+ delete[] buf;
+ return rval;
+ }
diff --git a/data/aptitude/timestamp.diff b/data/aptitude/timestamp.diff
deleted file mode 100644
index 7276fa8ed..000000000
--- a/data/aptitude/timestamp.diff
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -ru aptitude-0.4.4.orig/src/main.cc aptitude-0.4.4.orig+iPhone/src/main.cc
---- aptitude-0.4.4.orig/src/main.cc 2006-10-27 04:26:08.000000000 +0000
-+++ aptitude-0.4.4.orig+iPhone/src/main.cc 2008-06-18 06:36:30.000000000 +0000
-@@ -96,8 +96,8 @@
-
- static void show_version()
- {
-- printf(_("%s %s compiled at %s %s\n"),
-- PACKAGE, VERSION, __DATE__, __TIME__);
-+ printf(_("%s %s\n"),
-+ PACKAGE, VERSION);
- #ifdef __GNUC__
- printf(_("Compiler: g++ %s\n"), __VERSION__);
- #endif
diff --git a/data/aptitude/turbulence.diff b/data/aptitude/turbulence.diff
deleted file mode 100644
index 19d1965c0..000000000
--- a/data/aptitude/turbulence.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru aptitude_0.4.11.11.orig/src/generic/apt/aptitude_resolver_universe.h aptitude_0.4.11.11.orig+iPhone/src/generic/apt/aptitude_resolver_universe.h
---- aptitude_0.4.11.11.orig/src/generic/apt/aptitude_resolver_universe.h 2008-11-20 03:17:12.000000000 +0000
-+++ aptitude_0.4.11.11.orig+iPhone/src/generic/apt/aptitude_resolver_universe.h 2014-06-12 08:14:47.000000000 +0000
-@@ -178,7 +178,7 @@
- unsigned int get_id() const
- {
- if(!ver.end())
-- return ver->ID;
-+ return ver->ID2 << 16 | ver->ID1;
- else
- // non-installed versions are faked.
- //
diff --git a/data/aptitude/wtf.diff b/data/aptitude/wtf.diff
new file mode 100644
index 000000000..a22c948d7
--- /dev/null
+++ b/data/aptitude/wtf.diff
@@ -0,0 +1,65 @@
+diff -ur /Users/sam/source/telesphoreo/telesphoreo-git/data/aptitude/aptitude-0.8.10+iPhone/src/generic/apt/config_file.cc ./src/generic/apt/config_file.cc
+--- /Users/sam/source/telesphoreo/telesphoreo-git/data/aptitude/aptitude-0.8.10+iPhone/src/generic/apt/config_file.cc 2017-08-19 07:59:07.000000000 -1000
++++ ./src/generic/apt/config_file.cc 2018-08-31 10:16:44.000000000 -1000
+@@ -32,7 +32,7 @@
+ #include <sstream>
+ #include <streambuf>
+
+-#include <error.h>
++#include <mach/error.h>
+ #include <sys/stat.h>
+
+
+diff -ur /Users/sam/source/telesphoreo/telesphoreo-git/data/aptitude/aptitude-0.8.10+iPhone/src/generic/problemresolver/problemresolver.h ./src/generic/problemresolver/problemresolver.h
+--- /Users/sam/source/telesphoreo/telesphoreo-git/data/aptitude/aptitude-0.8.10+iPhone/src/generic/problemresolver/problemresolver.h 2017-08-19 07:59:07.000000000 -1000
++++ ./src/generic/problemresolver/problemresolver.h 2018-08-31 10:14:01.000000000 -1000
+@@ -1705,11 +1704,12 @@
+ {
+ generic_problem_resolver &resolver;
+ const promotion &p;
++ search_graph graph;
+
+ public:
+ do_process_promotion(generic_problem_resolver &_resolver,
+- const promotion &_p)
+- : resolver(_resolver), p(_p)
++ const promotion &_p, search_graph _graph)
++ : resolver(_resolver), p(_p), graph(_graph)
+ {
+ }
+
+diff -ur aptitude-0.8.10/src/cmdline/cmdline_prompt.cc aptitude-0.8.10+iPhone/src/cmdline/cmdline_prompt.cc
+--- aptitude-0.8.10/src/cmdline/cmdline_prompt.cc 2017-08-19 07:59:07.000000000 -1000
++++ aptitude-0.8.10+iPhone/src/cmdline/cmdline_prompt.cc 2018-08-31 15:02:33.000000000 -1000
+@@ -45,6 +45,7 @@
+ #include <generic/util/util.h>
+
+ // System includes:
++#include <rpmatch.h>
+ #include <apt-pkg/algorithms.h>
+ #include <apt-pkg/error.h>
+ #include <apt-pkg/strutl.h>
+diff -ur aptitude-0.8.10/src/generic/problemresolver/Makefile.am aptitude-0.8.10+iPhone/src/generic/problemresolver/Makefile.am
+--- aptitude-0.8.10/src/generic/problemresolver/Makefile.am 2017-08-19 07:59:07.000000000 -1000
++++ aptitude-0.8.10+iPhone/src/generic/problemresolver/Makefile.am 2018-08-31 15:04:07.000000000 -1000
+@@ -6,7 +6,7 @@
+
+ noinst_PROGRAMS=test
+
+-test_LDADD = $(top_builddir)/src/generic/util/libgeneric-util.a libgeneric-problemresolver.a
++test_LDADD = $(top_builddir)/src/generic/util/libgeneric-util.a libgeneric-problemresolver.a $(LIBINTL)
+
+ libgeneric_problemresolver_a_SOURCES = \
+ choice.h choice_indexed_map.h choice_set.h \
+diff -ur aptitude-0.8.10/src/generic/problemresolver/Makefile.in aptitude-0.8.10+iPhone/src/generic/problemresolver/Makefile.in
+--- aptitude-0.8.10/src/generic/problemresolver/Makefile.in 2017-11-14 14:18:49.000000000 -1000
++++ aptitude-0.8.10+iPhone/src/generic/problemresolver/Makefile.in 2018-08-31 15:03:38.000000000 -1000
+@@ -352,7 +352,7 @@
+ AM_CPPFLAGS = -I$(top_builddir) -I$(srcdir) -I$(top_srcdir) -I$(top_srcdir)/src
+ EXTRA_DIST = model.tex test1.txt test3.txt test4.txt resolver_undo.h
+ noinst_LIBRARIES = libgeneric-problemresolver.a
+-test_LDADD = $(top_builddir)/src/generic/util/libgeneric-util.a libgeneric-problemresolver.a
++test_LDADD = $(top_builddir)/src/generic/util/libgeneric-util.a libgeneric-problemresolver.a -lintl
+ libgeneric_problemresolver_a_SOURCES = \
+ choice.h choice_indexed_map.h choice_set.h \
+ cost.cc cost.h \
diff --git a/data/bitchx/_metadata/homepage b/data/bitchx/_metadata/homepage
new file mode 100644
index 000000000..1512b7881
--- /dev/null
+++ b/data/bitchx/_metadata/homepage
@@ -0,0 +1 @@
+http://www.bitchx.com/
diff --git a/data/bitchx/_metadata/version b/data/bitchx/_metadata/version
index 9459d4ba2..6085e9465 100644
--- a/data/bitchx/_metadata/version
+++ b/data/bitchx/_metadata/version
@@ -1 +1 @@
-1.1
+1.2.1
diff --git a/data/bitchx/bitchx-1.2.1.tar.gz b/data/bitchx/bitchx-1.2.1.tar.gz
new file mode 100644
index 000000000..d00bd4aa0
--- /dev/null
+++ b/data/bitchx/bitchx-1.2.1.tar.gz
Binary files differ
diff --git a/data/bitchx/ircii-pana-1.1-final.tar.gz b/data/bitchx/ircii-pana-1.1-final.tar.gz
deleted file mode 100644
index 955c9ec9f..000000000
--- a/data/bitchx/ircii-pana-1.1-final.tar.gz
+++ /dev/null
Binary files differ
diff --git a/data/bitchx/make.sh b/data/bitchx/make.sh
index 53ef8a373..cc0d625b4 100644
--- a/data/bitchx/make.sh
+++ b/data/bitchx/make.sh
@@ -1,5 +1,5 @@
pkg:setup
pkg:configure
-make
+make -j8
make install prefix="${PKG_DEST}/usr"
-pkg: ln -sf BitchX-1.1-final /usr/bin/BitchX
+pkg: ln -sf BitchX-1.2.1 /usr/bin/BitchX
diff --git a/data/bitchx/mdns.diff b/data/bitchx/mdns.diff
deleted file mode 100644
index 12a95e9f8..000000000
--- a/data/bitchx/mdns.diff
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -ru BitchX/source/irc.c BitchX+iPhone/source/irc.c
---- BitchX/source/irc.c 2004-03-26 06:15:57.000000000 +0000
-+++ BitchX+iPhone/source/irc.c 2008-03-05 23:33:00.000000000 +0000
-@@ -1,3 +1,5 @@
-+#include <mach-o/nlist.h>
-+
- /*
- * ircII: a new irc client. I like it. I hope you will too!
- *
-@@ -1464,6 +1466,15 @@
-
- int main(int argc, char *argv[], char *envp[])
- {
-+#if !defined(__ENVIRONMENT_ASPEN_VERSION_MIN_REQUIRED__) || __ENVIRONMENT_ASPEN_VERSION_MIN_REQUIRED__ < 10200
-+ struct nlist nl[2];
-+ memset(nl, 0, sizeof(nl));
-+ nl[0].n_un.n_name = (char *) "_useMDNSResponder";
-+ nlist("/usr/lib/libc.dylib", nl);
-+ if (nl[0].n_type != N_UNDF)
-+ *(int *) nl[0].n_value = 0;
-+#endif
-+
- srand((unsigned)time(NULL));
- time(&start_time);
- time(&idle_time);
diff --git a/data/bitchx/port.diff b/data/bitchx/port.diff
deleted file mode 100644
index eb19e9bb4..000000000
--- a/data/bitchx/port.diff
+++ /dev/null
@@ -1,72 +0,0 @@
-diff -ru BitchX/doc/Makefile BitchX+iPhone/doc/Makefile
---- BitchX/doc/Makefile 2004-03-26 06:20:36.000000000 +0000
-+++ BitchX+iPhone/doc/Makefile 2008-03-05 23:22:46.000000000 +0000
-@@ -1,5 +1,5 @@
-
--SHELL = /usr/local/bin/bash
-+SHELL = /bin/sh
-
- default:
- $(SHELL) ./configure --with-plugins
-diff -ru BitchX/source/ctcp.c BitchX+iPhone/source/ctcp.c
---- BitchX/source/ctcp.c 2003-05-27 07:00:22.000000000 +0000
-+++ BitchX+iPhone/source/ctcp.c 2008-03-05 23:23:27.000000000 +0000
-@@ -176,7 +176,7 @@
-
- /* CDE do ops and unban logging */
-
--static char *ctcp_type[] =
-+char *ctcp_type[] =
- {
- "PRIVMSG",
- "NOTICE"
-diff -ru BitchX/source/misc.c BitchX+iPhone/source/misc.c
---- BitchX/source/misc.c 2003-06-11 07:00:42.000000000 +0000
-+++ BitchX+iPhone/source/misc.c 2008-03-05 23:26:27.000000000 +0000
-@@ -59,6 +59,14 @@
- #endif
- #include <unistd.h>
-
-+#define BIND_8_COMPAT
-+#include <arpa/nameser.h>
-+#include <stdio.h>
-+#include <netdb.h>
-+#include <resolv.h>
-+#include <errno.h>
-+#include <arpa/inet.h>
-+
- #if defined(sparc) && defined(sun4c)
- #include <sys/rusage.h>
- #endif
-@@ -2601,7 +2609,7 @@
- /*
- * Skip over the original question.
- */
--#ifndef __QNX__
-+#if 0//ndef __QNX__
- /* QNX doesn't seem to have this function, not sure
- * what it does at the moment but I may change this
- * in the future. - Brian
-diff -ru BitchX/source/term.c BitchX+iPhone/source/term.c
---- BitchX/source/term.c 2003-04-11 01:09:07.000000000 +0000
-+++ BitchX+iPhone/source/term.c 2008-03-05 23:25:10.000000000 +0000
-@@ -92,7 +92,6 @@
- #endif
-
- extern char *getenv();
--extern char *tparm();
-
- /*
- * The old code assumed termcap. termcap is almost always present, but on
-diff -ru BitchX/source/timer.c BitchX+iPhone/source/timer.c
---- BitchX/source/timer.c 2003-04-11 01:09:07.000000000 +0000
-+++ BitchX+iPhone/source/timer.c 2008-03-05 23:25:32.000000000 +0000
-@@ -148,7 +148,7 @@
- * This is put here on purpose -- we dont want any of the above functions
- * to have any knowledge of this struct.
- */
--static TimerList *PendingTimers;
-+TimerList *PendingTimers;
- static char *schedule_timer (TimerList *ntimer);
-
- static char *current_exec_timer = empty_string;
diff --git a/data/cpanminus/App-cpanminus-1.7044.tar.gz b/data/cpanminus/App-cpanminus-1.7044.tar.gz
new file mode 100644
index 000000000..9ae3d15d2
--- /dev/null
+++ b/data/cpanminus/App-cpanminus-1.7044.tar.gz
Binary files differ
diff --git a/data/cpanminus/_metadata/description b/data/cpanminus/_metadata/description
new file mode 100644
index 000000000..49096527f
--- /dev/null
+++ b/data/cpanminus/_metadata/description
@@ -0,0 +1 @@
+script to get, unpack, build and install modules from CPAN
diff --git a/data/cpanminus/_metadata/license b/data/cpanminus/_metadata/license
new file mode 100644
index 000000000..43cd72c3e
--- /dev/null
+++ b/data/cpanminus/_metadata/license
@@ -0,0 +1,248 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 1, February 1989
+
+ Copyright (C) 1989 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The license agreements of most software companies try to keep users
+at the mercy of those companies. By contrast, our General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. The
+General Public License applies to the Free Software Foundation's
+software and to any other program whose authors commit to using it.
+You can use it for your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Specifically, the General Public License is designed to make
+sure that you have the freedom to give away or sell copies of free
+software, that you receive source code or can get it if you want it,
+that you can change the software or use pieces of it in new free
+programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of a such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must tell them their rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any program or other work which
+contains a notice placed by the copyright holder saying it may be
+distributed under the terms of this General Public License. The
+"Program", below, refers to any such program or work, and a "work based
+on the Program" means either the Program or any work containing the
+Program or a portion of it, either verbatim or with modifications. Each
+licensee is addressed as "you".
+
+ 1. You may copy and distribute verbatim copies of the Program's source
+code as you receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice and
+disclaimer of warranty; keep intact all the notices that refer to this
+General Public License and to the absence of any warranty; and give any
+other recipients of the Program a copy of this General Public License
+along with the Program. You may charge a fee for the physical act of
+transferring a copy.
+
+ 2. You may modify your copy or copies of the Program or any portion of
+it, and copy and distribute such modifications under the terms of Paragraph
+1 above, provided that you also do the following:
+
+ a) cause the modified files to carry prominent notices stating that
+ you changed the files and the date of any change; and
+
+ b) cause the whole of any work that you distribute or publish, that
+ in whole or in part contains the Program or any part thereof, either
+ with or without modifications, to be licensed at no charge to all
+ third parties under the terms of this General Public License (except
+ that you may choose to grant warranty protection to some or all
+ third parties, at your option).
+
+ c) If the modified program normally reads commands interactively when
+ run, you must cause it, when started running for such interactive use
+ in the simplest and most usual way, to print or display an
+ announcement including an appropriate copyright notice and a notice
+ that there is no warranty (or else, saying that you provide a
+ warranty) and that users may redistribute the program under these
+ conditions, and telling the user how to view a copy of this General
+ Public License.
+
+ d) You may charge a fee for the physical act of transferring a
+ copy, and you may at your option offer warranty protection in
+ exchange for a fee.
+
+Mere aggregation of another independent work with the Program (or its
+derivative) on a volume of a storage or distribution medium does not bring
+the other work under the scope of these terms.
+
+ 3. You may copy and distribute the Program (or a portion or derivative of
+it, under Paragraph 2) in object code or executable form under the terms of
+Paragraphs 1 and 2 above provided that you also do one of the following:
+
+ a) accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of
+ Paragraphs 1 and 2 above; or,
+
+ b) accompany it with a written offer, valid for at least three
+ years, to give any third party free (except for a nominal charge
+ for the cost of distribution) a complete machine-readable copy of the
+ corresponding source code, to be distributed under the terms of
+ Paragraphs 1 and 2 above; or,
+
+ c) accompany it with the information you received as to where the
+ corresponding source code may be obtained. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form alone.)
+
+Source code for a work means the preferred form of the work for making
+modifications to it. For an executable file, complete source code means
+all the source code for all modules it contains; but, as a special
+exception, it need not include source code for modules which are standard
+libraries that accompany the operating system on which the executable
+file runs, or for standard header files or definitions files that
+accompany that operating system.
+
+ 4. You may not copy, modify, sublicense, distribute or transfer the
+Program except as expressly provided under this General Public License.
+Any attempt otherwise to copy, modify, sublicense, distribute or transfer
+the Program is void, and will automatically terminate your rights to use
+the Program under this License. However, parties who have received
+copies, or rights to use copies, from you under this General Public
+License will not have their licenses terminated so long as such parties
+remain in full compliance.
+
+ 5. By copying, distributing or modifying the Program (or any work based
+on the Program) you indicate your acceptance of this license to do so,
+and all its terms and conditions.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the original
+licensor to copy, distribute or modify the Program subject to these
+terms and conditions. You may not impose any further restrictions on the
+recipients' exercise of the rights granted herein.
+
+ 7. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of the license which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+the license, you may choose any version ever published by the Free Software
+Foundation.
+
+ 8. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ Appendix: How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to humanity, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these
+terms.
+
+ To do so, attach the following notices to the program. It is safest to
+attach them to the start of each source file to most effectively convey
+the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) 19yy <name of author>
+
+ 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 1, 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, write to the Free Software Foundation,
+ Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19xx name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the
+appropriate parts of the General Public License. Of course, the
+commands you use may be called something other than `show w' and `show
+c'; they could even be mouse-clicks or menu items--whatever suits your
+program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ program `Gnomovision' (a program to direct compilers to make passes
+ at assemblers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/data/cpanminus/_metadata/maintainer b/data/cpanminus/_metadata/maintainer
new file mode 120000
index 000000000..573d7ebef
--- /dev/null
+++ b/data/cpanminus/_metadata/maintainer
@@ -0,0 +1 @@
+../../../people/sbingner \ No newline at end of file
diff --git a/data/cpanminus/_metadata/name b/data/cpanminus/_metadata/name
new file mode 100644
index 000000000..4600dca9f
--- /dev/null
+++ b/data/cpanminus/_metadata/name
@@ -0,0 +1 @@
+App::cpanminus
diff --git a/data/cpanminus/_metadata/perl.dep b/data/cpanminus/_metadata/perl.dep
new file mode 120000
index 000000000..899dc46ed
--- /dev/null
+++ b/data/cpanminus/_metadata/perl.dep
@@ -0,0 +1 @@
+../../perl \ No newline at end of file
diff --git a/data/cpanminus/_metadata/priority b/data/cpanminus/_metadata/priority
new file mode 100644
index 000000000..134d9bc32
--- /dev/null
+++ b/data/cpanminus/_metadata/priority
@@ -0,0 +1 @@
+optional
diff --git a/data/cpanminus/_metadata/role b/data/cpanminus/_metadata/role
new file mode 100644
index 000000000..52b4d7301
--- /dev/null
+++ b/data/cpanminus/_metadata/role
@@ -0,0 +1 @@
+hacker
diff --git a/data/cpanminus/_metadata/section b/data/cpanminus/_metadata/section
new file mode 100644
index 000000000..ddc7f1fd8
--- /dev/null
+++ b/data/cpanminus/_metadata/section
@@ -0,0 +1 @@
+Scripting
diff --git a/data/cpanminus/_metadata/tags b/data/cpanminus/_metadata/tags
new file mode 100644
index 000000000..91c01ad11
--- /dev/null
+++ b/data/cpanminus/_metadata/tags
@@ -0,0 +1 @@
+purpose::console, role::developer
diff --git a/data/cpanminus/_metadata/version b/data/cpanminus/_metadata/version
new file mode 100644
index 000000000..5b971f3c8
--- /dev/null
+++ b/data/cpanminus/_metadata/version
@@ -0,0 +1 @@
+1.7044
diff --git a/data/cpanminus/make.sh b/data/cpanminus/make.sh
new file mode 100644
index 000000000..0572d5f18
--- /dev/null
+++ b/data/cpanminus/make.sh
@@ -0,0 +1,7 @@
+pkg:setup
+echo 'INCLUDE = .' > config.in
+echo 'LIB = .' >> config.in
+export PERL_SRC="$(PKG_DEST_ perl)"
+$(PKG_WORK_ perl)/perl-5*/miniperl_top Makefile.PL
+pkg:make
+make pure_vendor_install DESTDIR="${PKG_DEST}"
diff --git a/data/git/shebang.diff b/data/git/shebang.diff
new file mode 100644
index 000000000..1659a5ce4
--- /dev/null
+++ b/data/git/shebang.diff
@@ -0,0 +1,22 @@
+diff -ur git-2.18.0/run-command.c git-2.18.0+iPhone/run-command.c
+--- git-2.18.0/run-command.c 2018-06-21 07:00:06.000000000 -1000
++++ git-2.18.0+iPhone/run-command.c 2018-09-14 15:34:44.000000000 -1000
+@@ -814,9 +814,16 @@
+ */
+ execve(argv.argv[1], (char *const *) argv.argv + 1,
+ (char *const *) childenv);
+- if (errno == ENOEXEC)
+- execve(argv.argv[0], (char *const *) argv.argv,
++ if (errno == ENOEXEC || errno == EPERM) {
++ struct argv_array out = ARGV_ARRAY_INIT;
++ argv_array_push(&out, SHELL_PATH);
++ argv_array_push(&out, "-c");
++ argv_array_push(&out, "\"$@\"");
++ argv_array_push(&out, SHELL_PATH); // unused $0
++ argv_array_pushv(&out, cmd->argv);
++ execve(SHELL_PATH, (char *const *) out.argv,
+ (char *const *) childenv);
++ }
+
+ if (errno == ENOENT) {
+ if (cmd->silent_exec_failure)
diff --git a/data/ice/_metadata/version b/data/ice/_metadata/version
index ee90284c2..66c4c2263 100644
--- a/data/ice/_metadata/version
+++ b/data/ice/_metadata/version
@@ -1 +1 @@
-1.0.4
+1.0.9
diff --git a/data/ice/libICE-1.0.4.tar.gz b/data/ice/libICE-1.0.4.tar.gz
deleted file mode 100644
index a64b0b7c0..000000000
--- a/data/ice/libICE-1.0.4.tar.gz
+++ /dev/null
Binary files differ
diff --git a/data/ice/libICE-1.0.9.tar.bz2 b/data/ice/libICE-1.0.9.tar.bz2
new file mode 100644
index 000000000..a9cc7d4e6
--- /dev/null
+++ b/data/ice/libICE-1.0.9.tar.bz2
Binary files differ
diff --git a/data/ice/make.sh b/data/ice/make.sh
index 452a4bfd5..f24f8a191 100644
--- a/data/ice/make.sh
+++ b/data/ice/make.sh
@@ -1,4 +1,5 @@
pkg:setup
+autoreconf -f -i
pkg:configure
-make
+make -j8
pkg:install
diff --git a/data/imagemagick/ImageMagick-6.4.3-6.tar.bz2 b/data/imagemagick/ImageMagick-7.0.8-11.tar.xz
index 8e3098161..87d69b0bf 100644
--- a/data/imagemagick/ImageMagick-6.4.3-6.tar.bz2
+++ b/data/imagemagick/ImageMagick-7.0.8-11.tar.xz
Binary files differ
diff --git a/data/imagemagick/_metadata/libfftw3.dep b/data/imagemagick/_metadata/libfftw3.dep
new file mode 120000
index 000000000..8fddea995
--- /dev/null
+++ b/data/imagemagick/_metadata/libfftw3.dep
@@ -0,0 +1 @@
+../../libfftw3 \ No newline at end of file
diff --git a/data/imagemagick/_metadata/version b/data/imagemagick/_metadata/version
index 427b0a52d..51b2798d4 100644
--- a/data/imagemagick/_metadata/version
+++ b/data/imagemagick/_metadata/version
@@ -1 +1 @@
-6.4.3-6
+7.0.8-11
diff --git a/data/imagemagick/_metadata/xz.dep b/data/imagemagick/_metadata/xz.dep
new file mode 120000
index 000000000..d5eb7ae54
--- /dev/null
+++ b/data/imagemagick/_metadata/xz.dep
@@ -0,0 +1 @@
+../../xz \ No newline at end of file
diff --git a/data/imagemagick/make.sh b/data/imagemagick/make.sh
index 0430004cb..bc99d98b0 100644
--- a/data/imagemagick/make.sh
+++ b/data/imagemagick/make.sh
@@ -1,4 +1,5 @@
pkg:setup
-pkg:configure --disable-largefile --with-perl=no --with-fontconfig=no --with-x=no
-make
+autoreconf -f -i
+pkg:configure --disable-largefile --with-perl=no --with-fontconfig=no --with-x=no --with-pango=no --without-freetype --with-gs-font-dir=none --with-lcms=no --without-webp
+make -j8
pkg:install
diff --git a/data/imagemagick/variable.diff b/data/imagemagick/variable.diff
new file mode 100644
index 000000000..c115f4035
--- /dev/null
+++ b/data/imagemagick/variable.diff
@@ -0,0 +1,108 @@
+diff -ur ImageMagick-7.0.8-11/MagickCore/magick-baseconfig.h ImageMagick-7.0.8-11+iPhone/MagickCore/magick-baseconfig.h
+--- ImageMagick-7.0.8-11/MagickCore/magick-baseconfig.h 2018-08-28 14:01:38.000000000 -1000
++++ ImageMagick-7.0.8-11+iPhone/MagickCore/magick-baseconfig.h 2018-09-04 13:25:48.000000000 -1000
+@@ -1142,8 +1142,8 @@
+ #endif
+
+ /* Directory where architecture-dependent files live. */
+-#ifndef MAGICKCORE_LIBRARY_PATH
+-#define MAGICKCORE_LIBRARY_PATH "/usr/lib64/ImageMagick-7.0.8/"
++#ifndef MAGICKCORE_MK_LIBRARY_PATH
++#define MAGICKCORE_MK_LIBRARY_PATH "/usr/lib64/ImageMagick-7.0.8/"
+ #endif
+
+ /* Subdirectory of lib where ImageMagick architecture dependent files are
+diff -ur ImageMagick-7.0.8-11/MagickCore/magick-config.h ImageMagick-7.0.8-11+iPhone/MagickCore/magick-config.h
+--- ImageMagick-7.0.8-11/MagickCore/magick-config.h 2018-08-28 14:00:00.000000000 -1000
++++ ImageMagick-7.0.8-11+iPhone/MagickCore/magick-config.h 2018-09-04 13:25:48.000000000 -1000
+@@ -150,7 +150,7 @@
+ #endif
+
+ #ifndef MAGICKCORE_MODULES_PATH
+-# define MAGICKCORE_MODULES_PATH MAGICKCORE_LIBRARY_PATH MAGICKCORE_DIR_SEPARATOR MAGICKCORE_MODULES_DIRNAME
++# define MAGICKCORE_MODULES_PATH MAGICKCORE_MK_LIBRARY_PATH MAGICKCORE_DIR_SEPARATOR MAGICKCORE_MODULES_DIRNAME
+ #endif
+
+ #ifndef MAGICKCORE_MODULES_RELATIVE_PATH
+@@ -189,7 +189,7 @@
+ #endif
+
+ #ifndef MAGICKCORE_SHAREARCH_PATH
+-# define MAGICKCORE_SHAREARCH_PATH MAGICKCORE_LIBRARY_PATH MAGICKCORE_DIR_SEPARATOR MAGICKCORE_SHAREARCH_DIRNAME MAGICKCORE_DIR_SEPARATOR
++# define MAGICKCORE_SHAREARCH_PATH MAGICKCORE_MK_LIBRARY_PATH MAGICKCORE_DIR_SEPARATOR MAGICKCORE_SHAREARCH_DIRNAME MAGICKCORE_DIR_SEPARATOR
+ #endif
+
+ #ifndef MAGICKCORE_SHAREARCH_RELATIVE_PATH
+diff -ur ImageMagick-7.0.8-11/MagickCore/studio.h ImageMagick-7.0.8-11+iPhone/MagickCore/studio.h
+--- ImageMagick-7.0.8-11/MagickCore/studio.h 2018-08-28 14:00:00.000000000 -1000
++++ ImageMagick-7.0.8-11+iPhone/MagickCore/studio.h 2018-09-04 13:25:48.000000000 -1000
+@@ -274,7 +274,7 @@
+ # define Exit exit
+ # define IsBasenameSeparator(c) \
+ (((c) == ']') || ((c) == ':') || ((c) == '/') ? MagickTrue : MagickFalse)
+-# define MAGICKCORE_LIBRARY_PATH "sys$login:"
++# define MAGICKCORE_MK_LIBRARY_PATH "sys$login:"
+ # define MAGICKCORE_SHARE_PATH "sys$login:"
+ # define X11_PREFERENCES_PATH "decw$user_defaults:"
+ # define ProcessPendingEvents(text)
+diff -ur ImageMagick-7.0.8-11/config/config.h.in ImageMagick-7.0.8-11+iPhone/config/config.h.in
+--- ImageMagick-7.0.8-11/config/config.h.in 2018-08-28 14:00:17.000000000 -1000
++++ ImageMagick-7.0.8-11+iPhone/config/config.h.in 2018-09-04 13:27:34.000000000 -1000
+@@ -749,7 +749,7 @@
+ #undef LIBOPENJP2_DELEGATE
+
+ /* Directory where architecture-dependent files live. */
+-#undef LIBRARY_PATH
++#undef MK_LIBRARY_PATH
+
+ /* Subdirectory of lib where ImageMagick architecture dependent files are
+ installed. */
+diff -ur ImageMagick-7.0.8-11/configure.ac ImageMagick-7.0.8-11+iPhone/configure.ac
+--- ImageMagick-7.0.8-11/configure.ac 2018-08-28 14:00:00.000000000 -1000
++++ ImageMagick-7.0.8-11+iPhone/configure.ac 2018-09-04 13:25:48.000000000 -1000
+@@ -2974,15 +2974,15 @@
+ AC_SUBST(EXECUTABLE_PATH)
+
+ # Path to ImageMagick lib
+-LIBRARY_PATH="${LIB_DIR}/${LIBRARY_RELATIVE_PATH}"
++MK_LIBRARY_PATH="${LIB_DIR}/${LIBRARY_RELATIVE_PATH}"
+ DEFINE_LIBRARY_PATH="${LIB_DIR}/${LIBRARY_RELATIVE_PATH}/"
+ case "${build_os}" in
+ mingw* )
+ DEFINE_LIBRARY_PATH=`$WinPathScript "$DEFINE_LIBRARY_PATH" 1`
+ ;;
+ esac
+-AC_DEFINE_UNQUOTED(LIBRARY_PATH,"$DEFINE_LIBRARY_PATH",[Directory where architecture-dependent files live.])
+-AC_SUBST(LIBRARY_PATH)
++AC_DEFINE_UNQUOTED(MK_LIBRARY_PATH,"$DEFINE_LIBRARY_PATH",[Directory where architecture-dependent files live.])
++AC_SUBST(MK_LIBRARY_PATH)
+
+ #
+ # path to local binaries
+@@ -2999,7 +2999,7 @@
+
+ LIB_BIN_DIR_RELATIVE_PATH=$LIB_BIN_DIR
+ AC_SUBST(LIB_BIN_DIR_RELATIVE_PATH)
+-LIB_BIN_DIR_PATH="${LIBRARY_PATH}/${LIB_BIN_DIR_RELATIVE_PATH}"
++LIB_BIN_DIR_PATH="${MK_LIBRARY_PATH}/${LIB_BIN_DIR_RELATIVE_PATH}"
+ AC_SUBST(LIB_BIN_DIR_PATH)
+
+ #
+@@ -3019,7 +3019,7 @@
+
+ MODULES_RELATIVE_PATH="${MODULES_DIRNAME}"
+ AC_SUBST(MODULES_RELATIVE_PATH)
+-MODULES_PATH="${LIBRARY_PATH}/${MODULES_RELATIVE_PATH}"
++MODULES_PATH="${MK_LIBRARY_PATH}/${MODULES_RELATIVE_PATH}"
+ AC_SUBST(MODULES_PATH)
+
+ #
+@@ -3112,7 +3112,7 @@
+
+ SHAREARCH_RELATIVE_PATH="${SHAREARCH_DIRNAME}"
+ AC_SUBST(SHAREARCH_RELATIVE_PATH)
+-SHAREARCH_PATH="${LIBRARY_PATH}/${SHAREARCH_RELATIVE_PATH}"
++SHAREARCH_PATH="${MK_LIBRARY_PATH}/${SHAREARCH_RELATIVE_PATH}"
+ AC_SUBST(SHAREARCH_PATH)
+
+ #
diff --git a/data/ld64/_metadata/description b/data/ld64/_metadata/description
new file mode 100644
index 000000000..97fce8bc3
--- /dev/null
+++ b/data/ld64/_metadata/description
@@ -0,0 +1 @@
+64bit iOS linker
diff --git a/data/ld64/_metadata/libtapi.dep b/data/ld64/_metadata/libtapi.dep
new file mode 120000
index 000000000..5c5ceb1d6
--- /dev/null
+++ b/data/ld64/_metadata/libtapi.dep
@@ -0,0 +1 @@
+../../libtapi \ No newline at end of file
diff --git a/data/ld64/_metadata/license b/data/ld64/_metadata/license
new file mode 120000
index 000000000..9e5e5e89d
--- /dev/null
+++ b/data/ld64/_metadata/license
@@ -0,0 +1 @@
+../../../licenses/apsl-2.0 \ No newline at end of file
diff --git a/data/ld64/_metadata/maintainer b/data/ld64/_metadata/maintainer
new file mode 100644
index 000000000..55521c7d0
--- /dev/null
+++ b/data/ld64/_metadata/maintainer
@@ -0,0 +1 @@
+Sam Bingner <maintainer@sbdhi.com>
diff --git a/data/ld64/_metadata/priority b/data/ld64/_metadata/priority
new file mode 100644
index 000000000..134d9bc32
--- /dev/null
+++ b/data/ld64/_metadata/priority
@@ -0,0 +1 @@
+optional
diff --git a/data/ld64/_metadata/role b/data/ld64/_metadata/role
new file mode 100644
index 000000000..8d0320866
--- /dev/null
+++ b/data/ld64/_metadata/role
@@ -0,0 +1 @@
+developer
diff --git a/data/ld64/_metadata/section b/data/ld64/_metadata/section
new file mode 100644
index 000000000..e0eb96881
--- /dev/null
+++ b/data/ld64/_metadata/section
@@ -0,0 +1 @@
+Development
diff --git a/data/ld64/_metadata/tags b/data/ld64/_metadata/tags
new file mode 100644
index 000000000..ad5d50831
--- /dev/null
+++ b/data/ld64/_metadata/tags
@@ -0,0 +1 @@
+purpose::console
diff --git a/data/ld64/_metadata/version b/data/ld64/_metadata/version
new file mode 100644
index 000000000..a159459e8
--- /dev/null
+++ b/data/ld64/_metadata/version
@@ -0,0 +1 @@
+274.2
diff --git a/data/ld64/_metadata/xar.dep b/data/ld64/_metadata/xar.dep
new file mode 120000
index 000000000..7d8571a6b
--- /dev/null
+++ b/data/ld64/_metadata/xar.dep
@@ -0,0 +1 @@
+../../xar \ No newline at end of file
diff --git a/data/ld64/arch.diff b/data/ld64/arch.diff
new file mode 100644
index 000000000..e4cd7ab0f
--- /dev/null
+++ b/data/ld64/arch.diff
@@ -0,0 +1,13 @@
+Only in ld64-274.2+iPhone: InputFiles.o
+diff -ur ld64-274.2/src/ld/InputFiles.cpp ld64-274.2+iPhone/src/ld/InputFiles.cpp
+--- ld64-274.2/src/ld/InputFiles.cpp 2016-07-01 15:46:14.000000000 -1000
++++ ld64-274.2+iPhone/src/ld/InputFiles.cpp 2018-09-05 11:18:34.000000000 -1000
+@@ -881,6 +881,8 @@
+ opts.setArchitecture(CPU_TYPE_X86_64, CPU_SUBTYPE_X86_64_ALL, Options::kPlatformOSX);
+ #elif __arm__
+ opts.setArchitecture(CPU_TYPE_ARM, CPU_SUBTYPE_ARM_V6, Options::kPlatformOSX);
++#elif __arm64__
++ opts.setArchitecture(CPU_TYPE_ARM64, CPU_SUBTYPE_ARM_V8, Options::kPlatformOSX);
+ #else
+ #error unknown default architecture
+ #endif
diff --git a/data/ld64/got32.diff b/data/ld64/got32.diff
new file mode 100644
index 000000000..48f570329
--- /dev/null
+++ b/data/ld64/got32.diff
@@ -0,0 +1,12 @@
+diff -ur ld64-274.2/src/ld/ld.hpp ld64-274.2+iPhone/src/ld/ld.hpp
+--- ld64-274.2/src/ld/ld.hpp 2017-01-20 12:24:09.000000000 -1000
++++ ld64-274.2+iPhone/src/ld/ld.hpp 2018-09-05 12:14:17.000000000 -1000
+@@ -433,7 +433,7 @@
+ kindStoreARM64GOTLeaPage21, kindStoreARM64GOTLeaPageOff12,
+ kindStoreARM64TLVPLoadPage21, kindStoreARM64TLVPLoadPageOff12,
+ kindStoreARM64TLVPLoadNowLeaPage21, kindStoreARM64TLVPLoadNowLeaPageOff12,
+- kindStoreARM64PointerToGOT, kindStoreARM64PCRelToGOT,
++ kindStoreARM64PointerToGOT, kindStoreARM64PCRelToGOT, kindStoreARM64PointerToGOT32,
+ #endif
+ // dtrace probes
+ kindDtraceExtra,
diff --git a/data/ld64/ld64-274.2.tar.gz b/data/ld64/ld64-274.2.tar.gz
new file mode 100644
index 000000000..039b85144
--- /dev/null
+++ b/data/ld64/ld64-274.2.tar.gz
Binary files differ
diff --git a/data/ld64/make.sh b/data/ld64/make.sh
new file mode 100644
index 000000000..831f083f4
--- /dev/null
+++ b/data/ld64/make.sh
@@ -0,0 +1,4 @@
+pkg:setup
+pkg:make
+pkg:install
+pkg: ln -s ld64 /usr/bin/ld
diff --git a/data/ld64/makefile.diff b/data/ld64/makefile.diff
new file mode 100644
index 000000000..72994fe68
--- /dev/null
+++ b/data/ld64/makefile.diff
@@ -0,0 +1,59 @@
+diff -uNr ld64-274.2/Makefile ld64-274.2+iPhone/Makefile
+--- ld64-274.2/Makefile 1969-12-31 14:00:00.000000000 -1000
++++ ld64-274.2+iPhone/Makefile 2018-09-05 22:32:02.000000000 -1000
+@@ -0,0 +1,55 @@
++SUBDIRS = src
++OTHERS = $(patsubst src/other/%.cpp,%,$(filter-out src/other/PruneTrie.cpp src/other/objcimageinfo.cpp, $(wildcard src/other/*.cpp)))
++BINS = ld64 $(OTHERS)
++LIBS = libprunetrie.a
++DEPS = include/configure.h include/compile_stubs.h
++LD_SOURCES = $(wildcard src/ld/*.cpp src/ld/*.c src/ld/parsers/*.cpp src/ld/passes/*.cpp src/ld/passes/stubs/*.cpp)
++LD_OBJS = $(patsubst %.c,%.c.o,$(patsubst %.cpp,%.cpp.o,$(LD_SOURCES)))
++DERIVED_FILE_DIR = include
++
++.PHONY: all
++
++all: $(LIBS) $(BINS)
++
++include:
++ mkdir include
++
++include/configure.h: include
++ DERIVED_FILE_DIR="$(DERIVED_FILE_DIR)" IPHONEOS_DEPLOYMENT_TARGET="11.0" src/create_configure
++
++include/compile_stubs.h: include
++ echo "static const char *compile_stubs = " > $(DERIVED_FILE_DIR)/compile_stubs.h
++ cat compile_stubs | sed s/\"/\\\\\"/g | sed s/^/\"/ | sed s/\$$/\\\\n\"/ >> $(DERIVED_FILE_DIR)/compile_stubs.h
++ echo ";" >> $(DERIVED_FILE_DIR)/compile_stubs.h
++
++$(LD_OBJS): $(DEPS)
++
++%.cpp.o: %.cpp
++ $(CXX) -std=c++11 -o $@ -c $< -Isrc/abstraction -I$(DERIVED_FILE_DIR) -Isrc/ld/parsers -Isrc/ld -DVERSION=\"274.2\"
++
++%.c.o: %.c
++ $(CC) -o $@ -c $< -Isrc/abstraction -I$(DERIVED_FILE_DIR) -Isrc/ld/parsers -Isrc/ld -DVERSION=\"274.2\"
++
++ld64: $(LD_OBJS)
++ $(CXX) -o $@ $^ -ltapi -lLTO -lxar
++
++libld64.a: $(filter-out src/ld/ld.cpp.o, $(LD_OBJS))
++ ar -r libld64.a $^
++
++$(OTHERS): % : src/other/%.cpp libld64.a
++ $(CXX) -o $@ $^ -ltapi -lLTO -lxar -Isrc/abstraction -I$(DERIVED_FILE_DIR) -Isrc/ld/parsers -Isrc/ld
++
++libprunetrie.a: src/other/PruneTrie.cpp.o
++ ar -r libprunetrie.a $^
++
++install:
++ mkdir -p $(DESTDIR)/usr/{bin,lib,include/mach-o}
++ cp $(BINS) $(DESTDIR)/usr/bin/
++ cp $(LIBS) $(DESTDIR)/usr/lib/
++ cp src/other/prune_trie.h $(DESTDIR)/usr/include/mach-o/
++
++clean:
++ rm -f $(BINS) $(LIBS) $(LD_OBJS) libld64.a src/other/PruneTrie.cpp.o
++
++distclean: clean
++ rm -rf $(DERIVED_FILE_DIR)
diff --git a/data/ld64/searchpaths.diff b/data/ld64/searchpaths.diff
new file mode 100644
index 000000000..c3d9c541b
--- /dev/null
+++ b/data/ld64/searchpaths.diff
@@ -0,0 +1,39 @@
+diff -ur ld64-274.2/src/ld/Options.cpp ld64-274.2+iPhone/src/ld/Options.cpp
+--- ld64-274.2/src/ld/Options.cpp 2017-01-20 12:24:09.000000000 -1000
++++ ld64-274.2+iPhone/src/ld/Options.cpp 2018-09-17 13:33:42.000000000 -1000
+@@ -3992,9 +3992,16 @@
+ libraryPaths.push_back("/usr/lib");
+ libraryPaths.push_back("/usr/local/lib");
+
++ // <rdar://problem/5433882> remove /Network/Library/Frameworks from default search path
++ if ( fSDKPaths.size() == 0 ) {
++ libraryPaths.push_back("/usr/share/SDKs/iPhoneOS.sdk/usr/lib");
++ libraryPaths.push_back("/usr/share/SDKs/iPhoneOS.sdk/usr/local/lib");
++ frameworkPaths.push_back("/usr/share/SDKs/iPhoneOS.sdk/Library/Frameworks/");
++ frameworkPaths.push_back("/usr/share/SDKs/iPhoneOS.sdk/System/Library/Frameworks/");
++ }
++
+ frameworkPaths.push_back("/Library/Frameworks/");
+ frameworkPaths.push_back("/System/Library/Frameworks/");
+- // <rdar://problem/5433882> remove /Network/Library/Frameworks from default search path
+ }
+
+ // <rdar://problem/5829579> Support for configure based hacks
+@@ -4051,7 +4058,7 @@
+ else
+ fLibrarySearchPaths.push_back(libDir);
+ }
+- else if ( !addStandardLibraryDirectories || (strcmp(libDir, "/usr/local/lib") != 0) ) {
++ else if ( !addStandardLibraryDirectories || ( (strcmp(libDir, "/usr/local/lib") != 0) && (strncmp(libDir, "/usr/share/SDKs/iPhoneOS.sdk/", 29) != 0) ) ) {
+ warning("directory not found for option '-L%s'", libDir);
+ }
+ }
+@@ -4105,7 +4112,7 @@
+ else
+ fFrameworkSearchPaths.push_back(frameworkDir);
+ }
+- else if ( !addStandardLibraryDirectories || (strcmp(frameworkDir, "/Library/Frameworks/") != 0) ) {
++ else if ( !addStandardLibraryDirectories || ( (strcmp(frameworkDir, "/Library/Frameworks/") != 0) && (strncmp(frameworkDir, "/usr/share/SDKs/iPhoneOS.sdk/", 29) != 0) ) ) {
+ warning("directory not found for option '-F%s'", frameworkDir);
+ }
+ }
diff --git a/data/ld64/thinlto.diff b/data/ld64/thinlto.diff
new file mode 100644
index 000000000..0466146c2
--- /dev/null
+++ b/data/ld64/thinlto.diff
@@ -0,0 +1,34 @@
+diff -ur ld64-274.2/src/ld/parsers/lto_file.cpp ld64-274.2+iPhone/src/ld/parsers/lto_file.cpp
+--- ld64-274.2/src/ld/parsers/lto_file.cpp 2016-10-21 10:04:17.000000000 -1000
++++ ld64-274.2+iPhone/src/ld/parsers/lto_file.cpp 2018-09-05 11:48:40.000000000 -1000
+@@ -291,12 +291,14 @@
+ std::vector<const ld::Atom*>& newAtoms,
+ std::vector<const char*>& additionalUndefines);
+
++#if LTO_API_VERSION >= 18
+ static thinlto_code_gen_t init_thinlto_codegen(const std::vector<File*>& files,
+ const std::vector<const ld::Atom*>& allAtoms,
+ ld::Internal& state,
+ const OptimizeOptions& options,
+ CStringToAtom& deadllvmAtoms,
+ CStringToAtom& llvmAtoms);
++#endif
+
+ static std::vector<File*> _s_files;
+ static bool _s_llvmOptionsProcessed;
+@@ -1028,6 +1030,7 @@
+ return true;
+ }
+
++#if LTO_API_VERSION >= 18
+ // Create the ThinLTO codegenerator
+ thinlto_code_gen_t Parser::init_thinlto_codegen(const std::vector<File*>& files,
+ const std::vector<const ld::Atom*>& allAtoms,
+@@ -1178,6 +1181,7 @@
+
+ return thingenerator;
+ }
++#endif
+
+ // Full LTO processing
+ bool Parser::optimizeThinLTO(const std::vector<File*>& files,
diff --git a/data/ld64/typos.diff b/data/ld64/typos.diff
new file mode 100644
index 000000000..697745f1c
--- /dev/null
+++ b/data/ld64/typos.diff
@@ -0,0 +1,12 @@
+diff -ur ld64-274.2/src/ld/parsers/textstub_dylib_file.cpp ld64-274.2+iPhone/src/ld/parsers/textstub_dylib_file.cpp
+--- ld64-274.2/src/ld/parsers/textstub_dylib_file.cpp 2016-07-26 11:15:31.000000000 -1000
++++ ld64-274.2+iPhone/src/ld/parsers/textstub_dylib_file.cpp 2018-09-05 12:09:16.000000000 -1000
+@@ -29,7 +29,7 @@
+ #include <vector>
+
+ #include "Architectures.hpp"
+-#include "bitcode.hpp"
++#include "Bitcode.hpp"
+ #include "MachOFileAbstraction.hpp"
+ #include "MachOTrie.hpp"
+ #include "generic_dylib_file.hpp"
diff --git a/data/ld64/version.diff b/data/ld64/version.diff
new file mode 100644
index 000000000..017fe256c
--- /dev/null
+++ b/data/ld64/version.diff
@@ -0,0 +1,28 @@
+diff -ur ld64-274.2/src/ld/Options.cpp ld64-274.2+iPhone/src/ld/Options.cpp
+--- ld64-274.2/src/ld/Options.cpp 2017-01-20 12:24:09.000000000 -1000
++++ ld64-274.2+iPhone/src/ld/Options.cpp 2018-09-05 18:36:45.000000000 -1000
+@@ -45,6 +45,8 @@
+ #include "MachOFileAbstraction.hpp"
+ #include "Snapshot.h"
+
++const char *ldVersionString = "@(#)PROGRAM:ld PROJECT:ld64-" VERSION "\n";
++
+
+ // from FunctionNameDemangle.h
+ extern "C" size_t fnd_get_demangled_name(const char *mangledName, char *outputBuffer, size_t length);
+@@ -3946,7 +3948,6 @@
+ addStandardLibraryDirectories = false;
+ else if ( strcmp(argv[i], "-v") == 0 ) {
+ fVerbose = true;
+- extern const char ldVersionString[];
+ fprintf(stderr, "%s", ldVersionString);
+ fprintf(stderr, "configured to support archs: %s\n", ALL_SUPPORTED_ARCHS);
+ // if only -v specified, exit cleanly
+@@ -5864,7 +5865,6 @@
+ uint8_t version = depLinkerVersion;
+ if ( write(fDependencyFileDescriptor, &version, 1) == -1 )
+ throwf("write() to -dependency_info failed, errno=%d", errno);
+- extern const char ldVersionString[];
+ if ( write(fDependencyFileDescriptor, ldVersionString, strlen(ldVersionString)+1) == -1 )
+ throwf("write() to -dependency_info failed, errno=%d", errno);
+ }
diff --git a/data/ldid/_metadata/author b/data/ldid/_metadata/author
new file mode 120000
index 000000000..0fa66e077
--- /dev/null
+++ b/data/ldid/_metadata/author
@@ -0,0 +1 @@
+../../../people/saurik \ No newline at end of file
diff --git a/data/ldid/_metadata/description b/data/ldid/_metadata/description
new file mode 100644
index 000000000..05b2cc8b0
--- /dev/null
+++ b/data/ldid/_metadata/description
@@ -0,0 +1 @@
+pseudo-codesign Mach-O files
diff --git a/data/ldid/_metadata/license b/data/ldid/_metadata/license
new file mode 120000
index 000000000..af4224931
--- /dev/null
+++ b/data/ldid/_metadata/license
@@ -0,0 +1 @@
+../../../licenses/gpl-3 \ No newline at end of file
diff --git a/data/ldid/_metadata/maintainer b/data/ldid/_metadata/maintainer
new file mode 120000
index 000000000..573d7ebef
--- /dev/null
+++ b/data/ldid/_metadata/maintainer
@@ -0,0 +1 @@
+../../../people/sbingner \ No newline at end of file
diff --git a/data/ldid/_metadata/name b/data/ldid/_metadata/name
new file mode 100644
index 000000000..90352d009
--- /dev/null
+++ b/data/ldid/_metadata/name
@@ -0,0 +1 @@
+Link Identity Editor
diff --git a/data/ldid/_metadata/priority b/data/ldid/_metadata/priority
new file mode 100644
index 000000000..134d9bc32
--- /dev/null
+++ b/data/ldid/_metadata/priority
@@ -0,0 +1 @@
+optional
diff --git a/data/ldid/_metadata/section b/data/ldid/_metadata/section
new file mode 100644
index 000000000..e0eb96881
--- /dev/null
+++ b/data/ldid/_metadata/section
@@ -0,0 +1 @@
+Development
diff --git a/data/ldid/_metadata/tags b/data/ldid/_metadata/tags
new file mode 100644
index 000000000..91c01ad11
--- /dev/null
+++ b/data/ldid/_metadata/tags
@@ -0,0 +1 @@
+purpose::console, role::developer
diff --git a/data/ldid/_metadata/version b/data/ldid/_metadata/version
new file mode 100644
index 000000000..227cea215
--- /dev/null
+++ b/data/ldid/_metadata/version
@@ -0,0 +1 @@
+2.0.0
diff --git a/data/ldid/ldid-2.0.0.tar.xz b/data/ldid/ldid-2.0.0.tar.xz
new file mode 100644
index 000000000..55ed9b945
--- /dev/null
+++ b/data/ldid/ldid-2.0.0.tar.xz
Binary files differ
diff --git a/data/ldid/make.sh b/data/ldid/make.sh
new file mode 100644
index 000000000..cf76f6d64
--- /dev/null
+++ b/data/ldid/make.sh
@@ -0,0 +1,3 @@
+pkg:setup
+pkg:make CFLAGS=-O2 CXXFLAGS=-O2
+pkg:install
diff --git a/data/libarchive/_metadata/lz4.dep b/data/libarchive/_metadata/lz4.dep
new file mode 120000
index 000000000..bccb2875c
--- /dev/null
+++ b/data/libarchive/_metadata/lz4.dep
@@ -0,0 +1 @@
+../../lz4 \ No newline at end of file
diff --git a/data/libarchive/_metadata/lzma.dep b/data/libarchive/_metadata/lzma.dep
new file mode 120000
index 000000000..f84114cb9
--- /dev/null
+++ b/data/libarchive/_metadata/lzma.dep
@@ -0,0 +1 @@
+../../lzma \ No newline at end of file
diff --git a/data/libarchive/_metadata/version b/data/libarchive/_metadata/version
index 11e321269..477254331 100644
--- a/data/libarchive/_metadata/version
+++ b/data/libarchive/_metadata/version
@@ -1 +1 @@
-2.4.11
+3.3.2
diff --git a/data/libarchive/libarchive-2.4.11.tar.gz b/data/libarchive/libarchive-2.4.11.tar.gz
deleted file mode 100644
index 73e9fc7fc..000000000
--- a/data/libarchive/libarchive-2.4.11.tar.gz
+++ /dev/null
Binary files differ
diff --git a/data/libarchive/libarchive-3.3.2.tar.gz b/data/libarchive/libarchive-3.3.2.tar.gz
new file mode 100644
index 000000000..beb1d2132
--- /dev/null
+++ b/data/libarchive/libarchive-3.3.2.tar.gz
Binary files differ
diff --git a/data/libarchive/make.sh b/data/libarchive/make.sh
index 452a4bfd5..fbc999151 100644
--- a/data/libarchive/make.sh
+++ b/data/libarchive/make.sh
@@ -1,4 +1,4 @@
pkg:setup
pkg:configure
-make
+make -j8
pkg:install
diff --git a/data/libfftw3/_metadata/description b/data/libfftw3/_metadata/description
new file mode 100644
index 000000000..247b1007b
--- /dev/null
+++ b/data/libfftw3/_metadata/description
@@ -0,0 +1 @@
+a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions,
diff --git a/data/libfftw3/_metadata/license b/data/libfftw3/_metadata/license
new file mode 120000
index 000000000..9c13a9a0f
--- /dev/null
+++ b/data/libfftw3/_metadata/license
@@ -0,0 +1 @@
+../../../licenses/gpl-2 \ No newline at end of file
diff --git a/data/libfftw3/_metadata/maintainer b/data/libfftw3/_metadata/maintainer
new file mode 120000
index 000000000..573d7ebef
--- /dev/null
+++ b/data/libfftw3/_metadata/maintainer
@@ -0,0 +1 @@
+../../../people/sbingner \ No newline at end of file
diff --git a/data/libfftw3/_metadata/priority b/data/libfftw3/_metadata/priority
new file mode 100644
index 000000000..134d9bc32
--- /dev/null
+++ b/data/libfftw3/_metadata/priority
@@ -0,0 +1 @@
+optional
diff --git a/data/libfftw3/_metadata/role b/data/libfftw3/_metadata/role
new file mode 100644
index 000000000..8d0320866
--- /dev/null
+++ b/data/libfftw3/_metadata/role
@@ -0,0 +1 @@
+developer
diff --git a/data/libfftw3/_metadata/section b/data/libfftw3/_metadata/section
new file mode 100644
index 000000000..e0eb96881
--- /dev/null
+++ b/data/libfftw3/_metadata/section
@@ -0,0 +1 @@
+Development
diff --git a/data/libfftw3/_metadata/tags b/data/libfftw3/_metadata/tags
new file mode 100644
index 000000000..a8928cec8
--- /dev/null
+++ b/data/libfftw3/_metadata/tags
@@ -0,0 +1 @@
+purpose::library
diff --git a/data/libfftw3/_metadata/version b/data/libfftw3/_metadata/version
new file mode 100644
index 000000000..37d02a6e3
--- /dev/null
+++ b/data/libfftw3/_metadata/version
@@ -0,0 +1 @@
+3.3.8
diff --git a/data/libfftw3/fftw-3.3.8.tar.gz b/data/libfftw3/fftw-3.3.8.tar.gz
new file mode 100644
index 000000000..21eb2b3ca
--- /dev/null
+++ b/data/libfftw3/fftw-3.3.8.tar.gz
Binary files differ
diff --git a/data/libfftw3/make.sh b/data/libfftw3/make.sh
new file mode 100644
index 000000000..8780dfc63
--- /dev/null
+++ b/data/libfftw3/make.sh
@@ -0,0 +1,4 @@
+pkg:setup
+pkg:configure
+pkg:make -j8
+pkg:install
diff --git a/data/libfragmentzip/_metadata/curl.dep b/data/libfragmentzip/_metadata/curl.dep
new file mode 120000
index 000000000..9c4438112
--- /dev/null
+++ b/data/libfragmentzip/_metadata/curl.dep
@@ -0,0 +1 @@
+../../curl \ No newline at end of file
diff --git a/data/libfragmentzip/_metadata/description b/data/libfragmentzip/_metadata/description
new file mode 100644
index 000000000..c89ec2041
--- /dev/null
+++ b/data/libfragmentzip/_metadata/description
@@ -0,0 +1 @@
+A library allowing to download single files from a remote zip archive
diff --git a/data/libfragmentzip/_metadata/libzip.dep b/data/libfragmentzip/_metadata/libzip.dep
new file mode 120000
index 000000000..319c30a8f
--- /dev/null
+++ b/data/libfragmentzip/_metadata/libzip.dep
@@ -0,0 +1 @@
+../../libzip \ No newline at end of file
diff --git a/data/libfragmentzip/_metadata/license b/data/libfragmentzip/_metadata/license
new file mode 120000
index 000000000..141b2e41b
--- /dev/null
+++ b/data/libfragmentzip/_metadata/license
@@ -0,0 +1 @@
+../../../licenses/lgpl-3 \ No newline at end of file
diff --git a/data/libfragmentzip/_metadata/maintainer b/data/libfragmentzip/_metadata/maintainer
new file mode 120000
index 000000000..573d7ebef
--- /dev/null
+++ b/data/libfragmentzip/_metadata/maintainer
@@ -0,0 +1 @@
+../../../people/sbingner \ No newline at end of file
diff --git a/data/libfragmentzip/_metadata/name b/data/libfragmentzip/_metadata/name
new file mode 100644
index 000000000..9bd94178b
--- /dev/null
+++ b/data/libfragmentzip/_metadata/name
@@ -0,0 +1 @@
+Fragment Zip Library
diff --git a/data/libfragmentzip/_metadata/priority b/data/libfragmentzip/_metadata/priority
new file mode 100644
index 000000000..134d9bc32
--- /dev/null
+++ b/data/libfragmentzip/_metadata/priority
@@ -0,0 +1 @@
+optional
diff --git a/data/libfragmentzip/_metadata/section b/data/libfragmentzip/_metadata/section
new file mode 100644
index 000000000..e0eb96881
--- /dev/null
+++ b/data/libfragmentzip/_metadata/section
@@ -0,0 +1 @@
+Development
diff --git a/data/libfragmentzip/_metadata/tags b/data/libfragmentzip/_metadata/tags
new file mode 100644
index 000000000..91c01ad11
--- /dev/null
+++ b/data/libfragmentzip/_metadata/tags
@@ -0,0 +1 @@
+purpose::console, role::developer
diff --git a/data/libfragmentzip/_metadata/version b/data/libfragmentzip/_metadata/version
new file mode 100644
index 000000000..9902f1784
--- /dev/null
+++ b/data/libfragmentzip/_metadata/version
@@ -0,0 +1 @@
+28
diff --git a/data/libfragmentzip/libfragmentzip-28.tar.xz b/data/libfragmentzip/libfragmentzip-28.tar.xz
new file mode 100644
index 000000000..eef88ff46
--- /dev/null
+++ b/data/libfragmentzip/libfragmentzip-28.tar.xz
Binary files differ
diff --git a/data/libfragmentzip/make.sh b/data/libfragmentzip/make.sh
new file mode 100644
index 000000000..9507c7cc9
--- /dev/null
+++ b/data/libfragmentzip/make.sh
@@ -0,0 +1,5 @@
+pkg:setup
+autoreconf -f -i
+pkg:configure
+pkg:make
+pkg:install
diff --git a/data/libirecovery/_metadata/description b/data/libirecovery/_metadata/description
new file mode 100644
index 000000000..eb3b13825
--- /dev/null
+++ b/data/libirecovery/_metadata/description
@@ -0,0 +1 @@
+libirecovery is a cross-platform library which implements communication to iBoot/iBSS found on Apple's iOS devices via USB. A command-line utility is also provided.
diff --git a/data/libirecovery/_metadata/license b/data/libirecovery/_metadata/license
new file mode 120000
index 000000000..577aa1598
--- /dev/null
+++ b/data/libirecovery/_metadata/license
@@ -0,0 +1 @@
+../../../licenses/lgpl-2.1 \ No newline at end of file
diff --git a/data/libirecovery/_metadata/maintainer b/data/libirecovery/_metadata/maintainer
new file mode 120000
index 000000000..573d7ebef
--- /dev/null
+++ b/data/libirecovery/_metadata/maintainer
@@ -0,0 +1 @@
+../../../people/sbingner \ No newline at end of file
diff --git a/data/libirecovery/_metadata/priority b/data/libirecovery/_metadata/priority
new file mode 100644
index 000000000..134d9bc32
--- /dev/null
+++ b/data/libirecovery/_metadata/priority
@@ -0,0 +1 @@
+optional
diff --git a/data/libirecovery/_metadata/readline.dep b/data/libirecovery/_metadata/readline.dep
new file mode 120000
index 000000000..f35c9185b
--- /dev/null
+++ b/data/libirecovery/_metadata/readline.dep
@@ -0,0 +1 @@
+../../readline \ No newline at end of file
diff --git a/data/libirecovery/_metadata/section b/data/libirecovery/_metadata/section
new file mode 100644
index 000000000..e0eb96881
--- /dev/null
+++ b/data/libirecovery/_metadata/section
@@ -0,0 +1 @@
+Development
diff --git a/data/libirecovery/_metadata/tags b/data/libirecovery/_metadata/tags
new file mode 100644
index 000000000..91c01ad11
--- /dev/null
+++ b/data/libirecovery/_metadata/tags
@@ -0,0 +1 @@
+purpose::console, role::developer
diff --git a/data/libirecovery/_metadata/version b/data/libirecovery/_metadata/version
new file mode 100644
index 000000000..c7e2339e2
--- /dev/null
+++ b/data/libirecovery/_metadata/version
@@ -0,0 +1 @@
+0.1.1+210
diff --git a/data/libirecovery/libirecovery-0.1.1+210.tar.xz b/data/libirecovery/libirecovery-0.1.1+210.tar.xz
new file mode 100644
index 000000000..b65da59c8
--- /dev/null
+++ b/data/libirecovery/libirecovery-0.1.1+210.tar.xz
Binary files differ
diff --git a/data/libirecovery/make.sh b/data/libirecovery/make.sh
new file mode 100644
index 000000000..0cbf5c328
--- /dev/null
+++ b/data/libirecovery/make.sh
@@ -0,0 +1,5 @@
+pkg:setup
+NOCONFIGURE=1 sh autogen.sh
+pkg:configure --disable-largefile ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes
+pkg:make
+pkg:install
diff --git a/data/libjpeg-turbo/_metadata/description b/data/libjpeg-turbo/_metadata/description
new file mode 100644
index 000000000..c1c910d57
--- /dev/null
+++ b/data/libjpeg-turbo/_metadata/description
@@ -0,0 +1 @@
+JPEG image codec
diff --git a/data/libjpeg-turbo/_metadata/homepage b/data/libjpeg-turbo/_metadata/homepage
new file mode 100644
index 000000000..70a6eab32
--- /dev/null
+++ b/data/libjpeg-turbo/_metadata/homepage
@@ -0,0 +1 @@
+https://sourceforge.net/projects/libjpeg-turbo/
diff --git a/data/libjpeg-turbo/_metadata/license b/data/libjpeg-turbo/_metadata/license
new file mode 120000
index 000000000..eea9de8d1
--- /dev/null
+++ b/data/libjpeg-turbo/_metadata/license
@@ -0,0 +1 @@
+../../../licenses/bsd \ No newline at end of file
diff --git a/data/libjpeg-turbo/_metadata/maintainer b/data/libjpeg-turbo/_metadata/maintainer
new file mode 120000
index 000000000..573d7ebef
--- /dev/null
+++ b/data/libjpeg-turbo/_metadata/maintainer
@@ -0,0 +1 @@
+../../../people/sbingner \ No newline at end of file
diff --git a/data/libjpeg-turbo/_metadata/priority b/data/libjpeg-turbo/_metadata/priority
new file mode 100644
index 000000000..134d9bc32
--- /dev/null
+++ b/data/libjpeg-turbo/_metadata/priority
@@ -0,0 +1 @@
+optional
diff --git a/data/libjpeg-turbo/_metadata/role b/data/libjpeg-turbo/_metadata/role
new file mode 100644
index 000000000..8d0320866
--- /dev/null
+++ b/data/libjpeg-turbo/_metadata/role
@@ -0,0 +1 @@
+developer
diff --git a/data/libjpeg-turbo/_metadata/section b/data/libjpeg-turbo/_metadata/section
new file mode 100644
index 000000000..593877746
--- /dev/null
+++ b/data/libjpeg-turbo/_metadata/section
@@ -0,0 +1 @@
+Multimedia
diff --git a/data/libjpeg-turbo/_metadata/tags b/data/libjpeg-turbo/_metadata/tags
new file mode 100644
index 000000000..a8928cec8
--- /dev/null
+++ b/data/libjpeg-turbo/_metadata/tags
@@ -0,0 +1 @@
+purpose::library
diff --git a/data/libjpeg-turbo/_metadata/version b/data/libjpeg-turbo/_metadata/version
new file mode 100644
index 000000000..227cea215
--- /dev/null
+++ b/data/libjpeg-turbo/_metadata/version
@@ -0,0 +1 @@
+2.0.0
diff --git a/data/libjpeg-turbo/libjpeg-turbo-2.0.0.tar.gz b/data/libjpeg-turbo/libjpeg-turbo-2.0.0.tar.gz
new file mode 100644
index 000000000..89fcfba42
--- /dev/null
+++ b/data/libjpeg-turbo/libjpeg-turbo-2.0.0.tar.gz
Binary files differ
diff --git a/data/libjpeg-turbo/make.sh b/data/libjpeg-turbo/make.sh
new file mode 100644
index 000000000..fe918e72b
--- /dev/null
+++ b/data/libjpeg-turbo/make.sh
@@ -0,0 +1,22 @@
+pkg:setup
+cat >iphoneos_toolchain.cmake <<EOF
+set(CMAKE_SYSTEM_NAME Darwin) # Tell CMake we're cross-compiling
+set(CMAKE_CROSSCOMPILING true)
+#include(CMakeForceCompiler)
+# Prefix detection only works with compiler id "GNU"
+# CMake will look for prefixed g++, cpp, ld, etc. automatically
+set(CMAKE_SYSTEM_PROCESSOR aarch64)
+set(triple ${PKG_TARG})
+set(CMAKE_FIND_ROOT_PATH $(echo ${PKG_PATH} | sed -e s/:/' '/g))
+set(CMAKE_LIBRARY_PATH $(echo ${LIBRARY_PATH} | sed -e s/:/' '/g))
+set(CMAKE_INCLUDE_PATH $(echo ${INCLUDE_PATH} | sed -e s/:/' '/g))
+set(CMAKE_C_COMPILER ${PKG_TARG}-gcc)
+set(CMAKE_CXX_COMPILER ${PKG_TARG}-g++)
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+EOF
+
+cmake -j8 -DCMAKE_TOOLCHAIN_FILE=iphoneos_toolchain.cmake -DCMAKE_LOCALSTATEDIR="/private/var" -DCMAKE_INSTALL_NAME_DIR="/usr/lib" -DCMAKE_INSTALL_RPATH="/usr/" -DCMAKE_OSX_SYSROOT="${PKG_ROOT}" -DCMAKE_INSTALL_PREFIX="/usr/" -DCURRENT_VENDOR=debian -DUSE_NLS=0 -DWITH_DOC=0 .
+make -j8
+pkg:install
diff --git a/data/libmad/Provide-Thumb-2-alternative-code-for-MAD_F_MLN.diff b/data/libmad/Provide-Thumb-2-alternative-code-for-MAD_F_MLN.diff
new file mode 100644
index 000000000..46415107d
--- /dev/null
+++ b/data/libmad/Provide-Thumb-2-alternative-code-for-MAD_F_MLN.diff
@@ -0,0 +1,34 @@
+From: Dave Martin
+Subject: "rsc" doesnt exist anymore in thumb2
+
+diff --git a/fixed.h b/fixed.h
+index 4b58abf..ba4bc26 100644
+--- a/fixed.h
++++ b/fixed.h
+@@ -275,12 +275,25 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y)
+ : "+r" (lo), "+r" (hi) \
+ : "%r" (x), "r" (y))
+
++#ifdef __thumb__
++/* In Thumb-2, the RSB-immediate instruction is only allowed with a zero
++ operand. If needed this code can also support Thumb-1
++ (simply append "s" to the end of the second two instructions). */
++# define MAD_F_MLN(hi, lo) \
++ asm ("rsbs %0, %0, #0\n\t" \
++ "sbc %1, %1, %1\n\t" \
++ "sub %1, %1, %2" \
++ : "+&r" (lo), "=&r" (hi) \
++ : "r" (hi) \
++ : "cc")
++#else /* ! __thumb__ */
+ # define MAD_F_MLN(hi, lo) \
+ asm ("rsbs %0, %2, #0\n\t" \
+ "rsc %1, %3, #0" \
+- : "=r" (lo), "=r" (hi) \
++ : "=&r" (lo), "=r" (hi) \
+ : "0" (lo), "1" (hi) \
+ : "cc")
++#endif /* __thumb__ */
+
+ # define mad_f_scale64(hi, lo) \
+ ({ mad_fixed_t __result; \
diff --git a/data/libmad/_metadata/version b/data/libmad/_metadata/version
index 285885e58..7c2c2b029 100644
--- a/data/libmad/_metadata/version
+++ b/data/libmad/_metadata/version
@@ -1 +1 @@
-0.15.1b
+0.15.1b+deb9u1
diff --git a/data/libmad/amd64-64bit.diff b/data/libmad/amd64-64bit.diff
new file mode 100644
index 000000000..2ef025b6c
--- /dev/null
+++ b/data/libmad/amd64-64bit.diff
@@ -0,0 +1,12 @@
+Index: libmad-0.15.1b/configure.ac
+===================================================================
+--- libmad-0.15.1b.orig/configure.ac 2008-03-07 20:33:05.000000000 +0000
++++ libmad-0.15.1b/configure.ac 2008-03-07 20:33:31.000000000 +0000
+@@ -233,6 +233,7 @@
+ then
+ case "$host" in
+ i?86-*) FPM="INTEL" ;;
++ x86_64*) FPM="64BIT" ;;
+ arm*-*) FPM="ARM" ;;
+ mips*-*) FPM="MIPS" ;;
+ sparc*-*) FPM="SPARC" ;;
diff --git a/data/libmad/length-check.diff b/data/libmad/length-check.diff
new file mode 100644
index 000000000..80e48469e
--- /dev/null
+++ b/data/libmad/length-check.diff
@@ -0,0 +1,817 @@
+From: Kurt Roeckx <kurt@roeckx.be>
+Date: Sun, 28 Jan 2018 19:26:36 +0100
+Subject: Check the size before reading with mad_bit_read
+
+There are various cases where it attemps to read past the end of the buffer
+using mad_bit_read(). Most functions didn't even know the size of the buffer
+they were reading from.
+
+Index: libmad-0.15.1b/bit.c
+===================================================================
+--- libmad-0.15.1b.orig/bit.c
++++ libmad-0.15.1b/bit.c
+@@ -138,6 +138,9 @@ unsigned long mad_bit_read(struct mad_bi
+ {
+ register unsigned long value;
+
++ if (len == 0)
++ return 0;
++
+ if (bitptr->left == CHAR_BIT)
+ bitptr->cache = *bitptr->byte;
+
+Index: libmad-0.15.1b/frame.c
+===================================================================
+--- libmad-0.15.1b.orig/frame.c
++++ libmad-0.15.1b/frame.c
+@@ -120,11 +120,18 @@ static
+ int decode_header(struct mad_header *header, struct mad_stream *stream)
+ {
+ unsigned int index;
++ struct mad_bitptr bufend_ptr;
+
+ header->flags = 0;
+ header->private_bits = 0;
+
++ mad_bit_init(&bufend_ptr, stream->bufend);
++
+ /* header() */
++ if (mad_bit_length(&stream->ptr, &bufend_ptr) < 32) {
++ stream->error = MAD_ERROR_BUFLEN;
++ return -1;
++ }
+
+ /* syncword */
+ mad_bit_skip(&stream->ptr, 11);
+@@ -225,8 +232,13 @@ int decode_header(struct mad_header *hea
+ /* error_check() */
+
+ /* crc_check */
+- if (header->flags & MAD_FLAG_PROTECTION)
++ if (header->flags & MAD_FLAG_PROTECTION) {
++ if (mad_bit_length(&stream->ptr, &bufend_ptr) < 16) {
++ stream->error = MAD_ERROR_BUFLEN;
++ return -1;
++ }
+ header->crc_target = mad_bit_read(&stream->ptr, 16);
++ }
+
+ return 0;
+ }
+@@ -338,7 +350,7 @@ int mad_header_decode(struct mad_header
+ stream->error = MAD_ERROR_BUFLEN;
+ goto fail;
+ }
+- else if (!(ptr[0] == 0xff && (ptr[1] & 0xe0) == 0xe0)) {
++ else if ((end - ptr >= 2) && !(ptr[0] == 0xff && (ptr[1] & 0xe0) == 0xe0)) {
+ /* mark point where frame sync word was expected */
+ stream->this_frame = ptr;
+ stream->next_frame = ptr + 1;
+@@ -361,6 +373,8 @@ int mad_header_decode(struct mad_header
+ ptr = mad_bit_nextbyte(&stream->ptr);
+ }
+
++ stream->error = MAD_ERROR_NONE;
++
+ /* begin processing */
+ stream->this_frame = ptr;
+ stream->next_frame = ptr + 1; /* possibly bogus sync word */
+@@ -413,7 +427,7 @@ int mad_header_decode(struct mad_header
+ /* check that a valid frame header follows this frame */
+
+ ptr = stream->next_frame;
+- if (!(ptr[0] == 0xff && (ptr[1] & 0xe0) == 0xe0)) {
++ if ((end - ptr >= 2) && !(ptr[0] == 0xff && (ptr[1] & 0xe0) == 0xe0)) {
+ ptr = stream->next_frame = stream->this_frame + 1;
+ goto sync;
+ }
+Index: libmad-0.15.1b/layer12.c
+===================================================================
+--- libmad-0.15.1b.orig/layer12.c
++++ libmad-0.15.1b/layer12.c
+@@ -72,10 +72,18 @@ mad_fixed_t const linear_table[14] = {
+ * DESCRIPTION: decode one requantized Layer I sample from a bitstream
+ */
+ static
+-mad_fixed_t I_sample(struct mad_bitptr *ptr, unsigned int nb)
++mad_fixed_t I_sample(struct mad_bitptr *ptr, unsigned int nb, struct mad_stream *stream)
+ {
+ mad_fixed_t sample;
++ struct mad_bitptr frameend_ptr;
+
++ mad_bit_init(&frameend_ptr, stream->next_frame);
++
++ if (mad_bit_length(ptr, &frameend_ptr) < nb) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return 0;
++ }
+ sample = mad_bit_read(ptr, nb);
+
+ /* invert most significant bit, extend sign, then scale to fixed format */
+@@ -106,6 +114,10 @@ int mad_layer_I(struct mad_stream *strea
+ struct mad_header *header = &frame->header;
+ unsigned int nch, bound, ch, s, sb, nb;
+ unsigned char allocation[2][32], scalefactor[2][32];
++ struct mad_bitptr bufend_ptr, frameend_ptr;
++
++ mad_bit_init(&bufend_ptr, stream->bufend);
++ mad_bit_init(&frameend_ptr, stream->next_frame);
+
+ nch = MAD_NCHANNELS(header);
+
+@@ -118,6 +130,11 @@ int mad_layer_I(struct mad_stream *strea
+ /* check CRC word */
+
+ if (header->flags & MAD_FLAG_PROTECTION) {
++ if (mad_bit_length(&stream->ptr, &bufend_ptr)
++ < 4 * (bound * nch + (32 - bound))) {
++ stream->error = MAD_ERROR_BADCRC;
++ return -1;
++ }
+ header->crc_check =
+ mad_bit_crc(stream->ptr, 4 * (bound * nch + (32 - bound)),
+ header->crc_check);
+@@ -133,6 +150,11 @@ int mad_layer_I(struct mad_stream *strea
+
+ for (sb = 0; sb < bound; ++sb) {
+ for (ch = 0; ch < nch; ++ch) {
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 4) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ nb = mad_bit_read(&stream->ptr, 4);
+
+ if (nb == 15) {
+@@ -145,6 +167,11 @@ int mad_layer_I(struct mad_stream *strea
+ }
+
+ for (sb = bound; sb < 32; ++sb) {
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 4) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ nb = mad_bit_read(&stream->ptr, 4);
+
+ if (nb == 15) {
+@@ -161,6 +188,11 @@ int mad_layer_I(struct mad_stream *strea
+ for (sb = 0; sb < 32; ++sb) {
+ for (ch = 0; ch < nch; ++ch) {
+ if (allocation[ch][sb]) {
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 6) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ scalefactor[ch][sb] = mad_bit_read(&stream->ptr, 6);
+
+ # if defined(OPT_STRICT)
+@@ -185,8 +217,10 @@ int mad_layer_I(struct mad_stream *strea
+ for (ch = 0; ch < nch; ++ch) {
+ nb = allocation[ch][sb];
+ frame->sbsample[ch][s][sb] = nb ?
+- mad_f_mul(I_sample(&stream->ptr, nb),
++ mad_f_mul(I_sample(&stream->ptr, nb, stream),
+ sf_table[scalefactor[ch][sb]]) : 0;
++ if (stream->error != 0)
++ return -1;
+ }
+ }
+
+@@ -194,7 +228,14 @@ int mad_layer_I(struct mad_stream *strea
+ if ((nb = allocation[0][sb])) {
+ mad_fixed_t sample;
+
+- sample = I_sample(&stream->ptr, nb);
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < nb) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
++ sample = I_sample(&stream->ptr, nb, stream);
++ if (stream->error != 0)
++ return -1;
+
+ for (ch = 0; ch < nch; ++ch) {
+ frame->sbsample[ch][s][sb] =
+@@ -280,13 +321,21 @@ struct quantclass {
+ static
+ void II_samples(struct mad_bitptr *ptr,
+ struct quantclass const *quantclass,
+- mad_fixed_t output[3])
++ mad_fixed_t output[3], struct mad_stream *stream)
+ {
+ unsigned int nb, s, sample[3];
++ struct mad_bitptr frameend_ptr;
++
++ mad_bit_init(&frameend_ptr, stream->next_frame);
+
+ if ((nb = quantclass->group)) {
+ unsigned int c, nlevels;
+
++ if (mad_bit_length(ptr, &frameend_ptr) < quantclass->bits) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return;
++ }
+ /* degrouping */
+ c = mad_bit_read(ptr, quantclass->bits);
+ nlevels = quantclass->nlevels;
+@@ -299,8 +348,14 @@ void II_samples(struct mad_bitptr *ptr,
+ else {
+ nb = quantclass->bits;
+
+- for (s = 0; s < 3; ++s)
++ for (s = 0; s < 3; ++s) {
++ if (mad_bit_length(ptr, &frameend_ptr) < nb) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return;
++ }
+ sample[s] = mad_bit_read(ptr, nb);
++ }
+ }
+
+ for (s = 0; s < 3; ++s) {
+@@ -336,6 +391,9 @@ int mad_layer_II(struct mad_stream *stre
+ unsigned char const *offsets;
+ unsigned char allocation[2][32], scfsi[2][32], scalefactor[2][32][3];
+ mad_fixed_t samples[3];
++ struct mad_bitptr frameend_ptr;
++
++ mad_bit_init(&frameend_ptr, stream->next_frame);
+
+ nch = MAD_NCHANNELS(header);
+
+@@ -402,13 +460,24 @@ int mad_layer_II(struct mad_stream *stre
+ for (sb = 0; sb < bound; ++sb) {
+ nbal = bitalloc_table[offsets[sb]].nbal;
+
+- for (ch = 0; ch < nch; ++ch)
++ for (ch = 0; ch < nch; ++ch) {
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < nbal) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ allocation[ch][sb] = mad_bit_read(&stream->ptr, nbal);
++ }
+ }
+
+ for (sb = bound; sb < sblimit; ++sb) {
+ nbal = bitalloc_table[offsets[sb]].nbal;
+
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < nbal) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ allocation[0][sb] =
+ allocation[1][sb] = mad_bit_read(&stream->ptr, nbal);
+ }
+@@ -417,8 +486,14 @@ int mad_layer_II(struct mad_stream *stre
+
+ for (sb = 0; sb < sblimit; ++sb) {
+ for (ch = 0; ch < nch; ++ch) {
+- if (allocation[ch][sb])
++ if (allocation[ch][sb]) {
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 2) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ scfsi[ch][sb] = mad_bit_read(&stream->ptr, 2);
++ }
+ }
+ }
+
+@@ -441,6 +516,11 @@ int mad_layer_II(struct mad_stream *stre
+ for (sb = 0; sb < sblimit; ++sb) {
+ for (ch = 0; ch < nch; ++ch) {
+ if (allocation[ch][sb]) {
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 6) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ scalefactor[ch][sb][0] = mad_bit_read(&stream->ptr, 6);
+
+ switch (scfsi[ch][sb]) {
+@@ -451,11 +531,21 @@ int mad_layer_II(struct mad_stream *stre
+ break;
+
+ case 0:
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 6) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ scalefactor[ch][sb][1] = mad_bit_read(&stream->ptr, 6);
+ /* fall through */
+
+ case 1:
+ case 3:
++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 6) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+ scalefactor[ch][sb][2] = mad_bit_read(&stream->ptr, 6);
+ }
+
+@@ -487,7 +577,9 @@ int mad_layer_II(struct mad_stream *stre
+ if ((index = allocation[ch][sb])) {
+ index = offset_table[bitalloc_table[offsets[sb]].offset][index - 1];
+
+- II_samples(&stream->ptr, &qc_table[index], samples);
++ II_samples(&stream->ptr, &qc_table[index], samples, stream);
++ if (stream->error != 0)
++ return -1;
+
+ for (s = 0; s < 3; ++s) {
+ frame->sbsample[ch][3 * gr + s][sb] =
+@@ -505,7 +597,9 @@ int mad_layer_II(struct mad_stream *stre
+ if ((index = allocation[0][sb])) {
+ index = offset_table[bitalloc_table[offsets[sb]].offset][index - 1];
+
+- II_samples(&stream->ptr, &qc_table[index], samples);
++ II_samples(&stream->ptr, &qc_table[index], samples, stream);
++ if (stream->error != 0)
++ return -1;
+
+ for (ch = 0; ch < nch; ++ch) {
+ for (s = 0; s < 3; ++s) {
+Index: libmad-0.15.1b/layer3.c
+===================================================================
+--- libmad-0.15.1b.orig/layer3.c
++++ libmad-0.15.1b/layer3.c
+@@ -598,7 +598,8 @@ enum mad_error III_sideinfo(struct mad_b
+ static
+ unsigned int III_scalefactors_lsf(struct mad_bitptr *ptr,
+ struct channel *channel,
+- struct channel *gr1ch, int mode_extension)
++ struct channel *gr1ch, int mode_extension,
++ unsigned int bits_left, unsigned int *part2_length)
+ {
+ struct mad_bitptr start;
+ unsigned int scalefac_compress, index, slen[4], part, n, i;
+@@ -644,8 +645,12 @@ unsigned int III_scalefactors_lsf(struct
+
+ n = 0;
+ for (part = 0; part < 4; ++part) {
+- for (i = 0; i < nsfb[part]; ++i)
++ for (i = 0; i < nsfb[part]; ++i) {
++ if (bits_left < slen[part])
++ return MAD_ERROR_BADSCFSI;
+ channel->scalefac[n++] = mad_bit_read(ptr, slen[part]);
++ bits_left -= slen[part];
++ }
+ }
+
+ while (n < 39)
+@@ -690,7 +695,10 @@ unsigned int III_scalefactors_lsf(struct
+ max = (1 << slen[part]) - 1;
+
+ for (i = 0; i < nsfb[part]; ++i) {
++ if (bits_left < slen[part])
++ return MAD_ERROR_BADSCFSI;
+ is_pos = mad_bit_read(ptr, slen[part]);
++ bits_left -= slen[part];
+
+ channel->scalefac[n] = is_pos;
+ gr1ch->scalefac[n++] = (is_pos == max);
+@@ -703,7 +711,8 @@ unsigned int III_scalefactors_lsf(struct
+ }
+ }
+
+- return mad_bit_length(&start, ptr);
++ *part2_length = mad_bit_length(&start, ptr);
++ return MAD_ERROR_NONE;
+ }
+
+ /*
+@@ -712,7 +721,8 @@ unsigned int III_scalefactors_lsf(struct
+ */
+ static
+ unsigned int III_scalefactors(struct mad_bitptr *ptr, struct channel *channel,
+- struct channel const *gr0ch, unsigned int scfsi)
++ struct channel const *gr0ch, unsigned int scfsi,
++ unsigned int bits_left, unsigned int *part2_length)
+ {
+ struct mad_bitptr start;
+ unsigned int slen1, slen2, sfbi;
+@@ -728,12 +738,20 @@ unsigned int III_scalefactors(struct mad
+ sfbi = 0;
+
+ nsfb = (channel->flags & mixed_block_flag) ? 8 + 3 * 3 : 6 * 3;
+- while (nsfb--)
++ while (nsfb--) {
++ if (bits_left < slen1)
++ return MAD_ERROR_BADSCFSI;
+ channel->scalefac[sfbi++] = mad_bit_read(ptr, slen1);
++ bits_left -= slen1;
++ }
+
+ nsfb = 6 * 3;
+- while (nsfb--)
++ while (nsfb--) {
++ if (bits_left < slen2)
++ return MAD_ERROR_BADSCFSI;
+ channel->scalefac[sfbi++] = mad_bit_read(ptr, slen2);
++ bits_left -= slen2;
++ }
+
+ nsfb = 1 * 3;
+ while (nsfb--)
+@@ -745,8 +763,12 @@ unsigned int III_scalefactors(struct mad
+ channel->scalefac[sfbi] = gr0ch->scalefac[sfbi];
+ }
+ else {
+- for (sfbi = 0; sfbi < 6; ++sfbi)
++ for (sfbi = 0; sfbi < 6; ++sfbi) {
++ if (bits_left < slen1)
++ return MAD_ERROR_BADSCFSI;
+ channel->scalefac[sfbi] = mad_bit_read(ptr, slen1);
++ bits_left -= slen1;
++ }
+ }
+
+ if (scfsi & 0x4) {
+@@ -754,8 +776,12 @@ unsigned int III_scalefactors(struct mad
+ channel->scalefac[sfbi] = gr0ch->scalefac[sfbi];
+ }
+ else {
+- for (sfbi = 6; sfbi < 11; ++sfbi)
++ for (sfbi = 6; sfbi < 11; ++sfbi) {
++ if (bits_left < slen1)
++ return MAD_ERROR_BADSCFSI;
+ channel->scalefac[sfbi] = mad_bit_read(ptr, slen1);
++ bits_left -= slen1;
++ }
+ }
+
+ if (scfsi & 0x2) {
+@@ -763,8 +789,12 @@ unsigned int III_scalefactors(struct mad
+ channel->scalefac[sfbi] = gr0ch->scalefac[sfbi];
+ }
+ else {
+- for (sfbi = 11; sfbi < 16; ++sfbi)
++ for (sfbi = 11; sfbi < 16; ++sfbi) {
++ if (bits_left < slen2)
++ return MAD_ERROR_BADSCFSI;
+ channel->scalefac[sfbi] = mad_bit_read(ptr, slen2);
++ bits_left -= slen2;
++ }
+ }
+
+ if (scfsi & 0x1) {
+@@ -772,14 +802,19 @@ unsigned int III_scalefactors(struct mad
+ channel->scalefac[sfbi] = gr0ch->scalefac[sfbi];
+ }
+ else {
+- for (sfbi = 16; sfbi < 21; ++sfbi)
++ for (sfbi = 16; sfbi < 21; ++sfbi) {
++ if (bits_left < slen2)
++ return MAD_ERROR_BADSCFSI;
+ channel->scalefac[sfbi] = mad_bit_read(ptr, slen2);
++ bits_left -= slen2;
++ }
+ }
+
+ channel->scalefac[21] = 0;
+ }
+
+- return mad_bit_length(&start, ptr);
++ *part2_length = mad_bit_length(&start, ptr);
++ return MAD_ERROR_NONE;
+ }
+
+ /*
+@@ -933,19 +968,17 @@ static
+ enum mad_error III_huffdecode(struct mad_bitptr *ptr, mad_fixed_t xr[576],
+ struct channel *channel,
+ unsigned char const *sfbwidth,
+- unsigned int part2_length)
++ signed int part3_length)
+ {
+ signed int exponents[39], exp;
+ signed int const *expptr;
+ struct mad_bitptr peek;
+- signed int bits_left, cachesz;
++ signed int bits_left, cachesz, fakebits;
+ register mad_fixed_t *xrptr;
+ mad_fixed_t const *sfbound;
+ register unsigned long bitcache;
+
+- bits_left = (signed) channel->part2_3_length - (signed) part2_length;
+- if (bits_left < 0)
+- return MAD_ERROR_BADPART3LEN;
++ bits_left = part3_length;
+
+ III_exponents(channel, sfbwidth, exponents);
+
+@@ -956,8 +989,12 @@ enum mad_error III_huffdecode(struct mad
+ cachesz = mad_bit_bitsleft(&peek);
+ cachesz += ((32 - 1 - 24) + (24 - cachesz)) & ~7;
+
++ if (bits_left < cachesz) {
++ cachesz = bits_left;
++ }
+ bitcache = mad_bit_read(&peek, cachesz);
+ bits_left -= cachesz;
++ fakebits = 0;
+
+ xrptr = &xr[0];
+
+@@ -986,7 +1023,7 @@ enum mad_error III_huffdecode(struct mad
+
+ big_values = channel->big_values;
+
+- while (big_values-- && cachesz + bits_left > 0) {
++ while (big_values-- && cachesz + bits_left - fakebits > 0) {
+ union huffpair const *pair;
+ unsigned int clumpsz, value;
+ register mad_fixed_t requantized;
+@@ -1023,10 +1060,19 @@ enum mad_error III_huffdecode(struct mad
+ unsigned int bits;
+
+ bits = ((32 - 1 - 21) + (21 - cachesz)) & ~7;
++ if (bits_left < bits) {
++ bits = bits_left;
++ }
+ bitcache = (bitcache << bits) | mad_bit_read(&peek, bits);
+ cachesz += bits;
+ bits_left -= bits;
+ }
++ if (cachesz < 21) {
++ unsigned int bits = 21 - cachesz;
++ bitcache <<= bits;
++ cachesz += bits;
++ fakebits += bits;
++ }
+
+ /* hcod (0..19) */
+
+@@ -1041,6 +1087,8 @@ enum mad_error III_huffdecode(struct mad
+ }
+
+ cachesz -= pair->value.hlen;
++ if (cachesz < fakebits)
++ return MAD_ERROR_BADHUFFDATA;
+
+ if (linbits) {
+ /* x (0..14) */
+@@ -1054,10 +1102,15 @@ enum mad_error III_huffdecode(struct mad
+
+ case 15:
+ if (cachesz < linbits + 2) {
+- bitcache = (bitcache << 16) | mad_bit_read(&peek, 16);
+- cachesz += 16;
+- bits_left -= 16;
++ unsigned int bits = 16;
++ if (bits_left < 16)
++ bits = bits_left;
++ bitcache = (bitcache << bits) | mad_bit_read(&peek, bits);
++ cachesz += bits;
++ bits_left -= bits;
+ }
++ if (cachesz - fakebits < linbits)
++ return MAD_ERROR_BADHUFFDATA;
+
+ value += MASK(bitcache, cachesz, linbits);
+ cachesz -= linbits;
+@@ -1074,6 +1127,8 @@ enum mad_error III_huffdecode(struct mad
+ }
+
+ x_final:
++ if (cachesz - fakebits < 1)
++ return MAD_ERROR_BADHUFFDATA;
+ xrptr[0] = MASK1BIT(bitcache, cachesz--) ?
+ -requantized : requantized;
+ }
+@@ -1089,10 +1144,15 @@ enum mad_error III_huffdecode(struct mad
+
+ case 15:
+ if (cachesz < linbits + 1) {
+- bitcache = (bitcache << 16) | mad_bit_read(&peek, 16);
+- cachesz += 16;
+- bits_left -= 16;
++ unsigned int bits = 16;
++ if (bits_left < 16)
++ bits = bits_left;
++ bitcache = (bitcache << bits) | mad_bit_read(&peek, bits);
++ cachesz += bits;
++ bits_left -= bits;
+ }
++ if (cachesz - fakebits < linbits)
++ return MAD_ERROR_BADHUFFDATA;
+
+ value += MASK(bitcache, cachesz, linbits);
+ cachesz -= linbits;
+@@ -1109,6 +1169,8 @@ enum mad_error III_huffdecode(struct mad
+ }
+
+ y_final:
++ if (cachesz - fakebits < 1)
++ return MAD_ERROR_BADHUFFDATA;
+ xrptr[1] = MASK1BIT(bitcache, cachesz--) ?
+ -requantized : requantized;
+ }
+@@ -1128,6 +1190,8 @@ enum mad_error III_huffdecode(struct mad
+ requantized = reqcache[value] = III_requantize(value, exp);
+ }
+
++ if (cachesz - fakebits < 1)
++ return MAD_ERROR_BADHUFFDATA;
+ xrptr[0] = MASK1BIT(bitcache, cachesz--) ?
+ -requantized : requantized;
+ }
+@@ -1146,6 +1210,8 @@ enum mad_error III_huffdecode(struct mad
+ requantized = reqcache[value] = III_requantize(value, exp);
+ }
+
++ if (cachesz - fakebits < 1)
++ return MAD_ERROR_BADHUFFDATA;
+ xrptr[1] = MASK1BIT(bitcache, cachesz--) ?
+ -requantized : requantized;
+ }
+@@ -1155,9 +1221,6 @@ enum mad_error III_huffdecode(struct mad
+ }
+ }
+
+- if (cachesz + bits_left < 0)
+- return MAD_ERROR_BADHUFFDATA; /* big_values overrun */
+-
+ /* count1 */
+ {
+ union huffquad const *table;
+@@ -1167,15 +1230,24 @@ enum mad_error III_huffdecode(struct mad
+
+ requantized = III_requantize(1, exp);
+
+- while (cachesz + bits_left > 0 && xrptr <= &xr[572]) {
++ while (cachesz + bits_left - fakebits > 0 && xrptr <= &xr[572]) {
+ union huffquad const *quad;
+
+ /* hcod (1..6) */
+
+ if (cachesz < 10) {
+- bitcache = (bitcache << 16) | mad_bit_read(&peek, 16);
+- cachesz += 16;
+- bits_left -= 16;
++ unsigned int bits = 16;
++ if (bits_left < 16)
++ bits = bits_left;
++ bitcache = (bitcache << bits) | mad_bit_read(&peek, bits);
++ cachesz += bits;
++ bits_left -= bits;
++ }
++ if (cachesz < 10) {
++ unsigned int bits = 10 - cachesz;
++ bitcache <<= bits;
++ cachesz += bits;
++ fakebits += bits;
+ }
+
+ quad = &table[MASK(bitcache, cachesz, 4)];
+@@ -1188,6 +1260,11 @@ enum mad_error III_huffdecode(struct mad
+ MASK(bitcache, cachesz, quad->ptr.bits)];
+ }
+
++ if (cachesz - fakebits < quad->value.hlen + quad->value.v
++ + quad->value.w + quad->value.x + quad->value.y)
++ /* We don't have enough bits to read one more entry, consider them
++ * stuffing bits. */
++ break;
+ cachesz -= quad->value.hlen;
+
+ if (xrptr == sfbound) {
+@@ -1236,22 +1313,8 @@ enum mad_error III_huffdecode(struct mad
+
+ xrptr += 2;
+ }
+-
+- if (cachesz + bits_left < 0) {
+-# if 0 && defined(DEBUG)
+- fprintf(stderr, "huffman count1 overrun (%d bits)\n",
+- -(cachesz + bits_left));
+-# endif
+-
+- /* technically the bitstream is misformatted, but apparently
+- some encoders are just a bit sloppy with stuffing bits */
+-
+- xrptr -= 4;
+- }
+ }
+
+- assert(-bits_left <= MAD_BUFFER_GUARD * CHAR_BIT);
+-
+ # if 0 && defined(DEBUG)
+ if (bits_left < 0)
+ fprintf(stderr, "read %d bits too many\n", -bits_left);
+@@ -2348,10 +2411,11 @@ void III_freqinver(mad_fixed_t sample[18
+ */
+ static
+ enum mad_error III_decode(struct mad_bitptr *ptr, struct mad_frame *frame,
+- struct sideinfo *si, unsigned int nch)
++ struct sideinfo *si, unsigned int nch, unsigned int md_len)
+ {
+ struct mad_header *header = &frame->header;
+ unsigned int sfreqi, ngr, gr;
++ int bits_left = md_len * CHAR_BIT;
+
+ {
+ unsigned int sfreq;
+@@ -2383,6 +2447,7 @@ enum mad_error III_decode(struct mad_bit
+ for (ch = 0; ch < nch; ++ch) {
+ struct channel *channel = &granule->ch[ch];
+ unsigned int part2_length;
++ unsigned int part3_length;
+
+ sfbwidth[ch] = sfbwidth_table[sfreqi].l;
+ if (channel->block_type == 2) {
+@@ -2391,18 +2456,30 @@ enum mad_error III_decode(struct mad_bit
+ }
+
+ if (header->flags & MAD_FLAG_LSF_EXT) {
+- part2_length = III_scalefactors_lsf(ptr, channel,
++ error = III_scalefactors_lsf(ptr, channel,
+ ch == 0 ? 0 : &si->gr[1].ch[1],
+- header->mode_extension);
++ header->mode_extension, bits_left, &part2_length);
+ }
+ else {
+- part2_length = III_scalefactors(ptr, channel, &si->gr[0].ch[ch],
+- gr == 0 ? 0 : si->scfsi[ch]);
++ error = III_scalefactors(ptr, channel, &si->gr[0].ch[ch],
++ gr == 0 ? 0 : si->scfsi[ch], bits_left, &part2_length);
+ }
++ if (error)
++ return error;
++
++ bits_left -= part2_length;
+
+- error = III_huffdecode(ptr, xr[ch], channel, sfbwidth[ch], part2_length);
++ if (part2_length > channel->part2_3_length)
++ return MAD_ERROR_BADPART3LEN;
++
++ part3_length = channel->part2_3_length - part2_length;
++ if (part3_length > bits_left)
++ return MAD_ERROR_BADPART3LEN;
++
++ error = III_huffdecode(ptr, xr[ch], channel, sfbwidth[ch], part3_length);
+ if (error)
+ return error;
++ bits_left -= part3_length;
+ }
+
+ /* joint stereo processing */
+@@ -2519,11 +2596,13 @@ int mad_layer_III(struct mad_stream *str
+ unsigned int nch, priv_bitlen, next_md_begin = 0;
+ unsigned int si_len, data_bitlen, md_len;
+ unsigned int frame_space, frame_used, frame_free;
+- struct mad_bitptr ptr;
++ struct mad_bitptr ptr, bufend_ptr;
+ struct sideinfo si;
+ enum mad_error error;
+ int result = 0;
+
++ mad_bit_init(&bufend_ptr, stream->bufend);
++
+ /* allocate Layer III dynamic structures */
+
+ if (stream->main_data == 0) {
+@@ -2587,14 +2666,15 @@ int mad_layer_III(struct mad_stream *str
+ unsigned long header;
+
+ mad_bit_init(&peek, stream->next_frame);
++ if (mad_bit_length(&peek, &bufend_ptr) >= 57) {
++ header = mad_bit_read(&peek, 32);
++ if ((header & 0xffe60000L) /* syncword | layer */ == 0xffe20000L) {
++ if (!(header & 0x00010000L)) /* protection_bit */
++ mad_bit_skip(&peek, 16); /* crc_check */
+
+- header = mad_bit_read(&peek, 32);
+- if ((header & 0xffe60000L) /* syncword | layer */ == 0xffe20000L) {
+- if (!(header & 0x00010000L)) /* protection_bit */
+- mad_bit_skip(&peek, 16); /* crc_check */
+-
+- next_md_begin =
+- mad_bit_read(&peek, (header & 0x00080000L) /* ID */ ? 9 : 8);
++ next_md_begin =
++ mad_bit_read(&peek, (header & 0x00080000L) /* ID */ ? 9 : 8);
++ }
+ }
+
+ mad_bit_finish(&peek);
+@@ -2653,7 +2733,7 @@ int mad_layer_III(struct mad_stream *str
+ /* decode main_data */
+
+ if (result == 0) {
+- error = III_decode(&ptr, frame, &si, nch);
++ error = III_decode(&ptr, frame, &si, nch, md_len);
+ if (error) {
+ stream->error = error;
+ result = -1;
diff --git a/data/libmad/libmad.thumb.diff b/data/libmad/libmad.thumb.diff
new file mode 100644
index 000000000..4236fa248
--- /dev/null
+++ b/data/libmad/libmad.thumb.diff
@@ -0,0 +1,14 @@
+From: Konstantinos Margaritis <markos@debian.org>
+Subject: use "adr" instead of "add" to make code ready for thumb2
+
+--- ./imdct_l_arm.S.orig 2010-02-25 13:25:23.000000000 +0100
++++ ./imdct_l_arm.S 2010-02-25 13:27:26.000000000 +0100
+@@ -468,7 +468,7 @@
+
+ @----
+
+- add r2, pc, #(imdct36_long_karray-.-8) @ r2 = base address of Knn array (PIC safe ?)
++ adr r2, imdct36_long_karray
+
+
+ loop:
diff --git a/data/libmad/make.sh b/data/libmad/make.sh
index 98abe07e6..91f1f6d38 100644
--- a/data/libmad/make.sh
+++ b/data/libmad/make.sh
@@ -1,4 +1,5 @@
pkg:setup
+cp "${PKG_BASE}/config.sub" .
pkg:configure --disable-aso
-make
+make -j8
pkg:install
diff --git a/data/libmad/md_size.diff b/data/libmad/md_size.diff
new file mode 100644
index 000000000..657b5ffdb
--- /dev/null
+++ b/data/libmad/md_size.diff
@@ -0,0 +1,58 @@
+From: Kurt Roeckx <kurt@roeckx.be>
+Date: Sun, 28 Jan 2018 15:44:08 +0100
+Subject: Check the size of the main data
+
+The main data to decode a frame can come from the current frame and part of the
+previous frame, the so called bit reservoir. si.main_data_begin is the part of
+the previous frame we need for this frame. frame_space is the amount of main
+data that can be in this frame, and next_md_begin is the part of this frame that
+is going to be used for the next frame.
+
+The maximum amount of data from a previous frame that the format allows is 511
+bytes. The maximum frame size for the defined bitrates is at MPEG 2.5 layer 2
+at 320 kbit/s and 8 kHz sample rate which gives 72 * (320000 / 8000) + 1 = 2881.
+So those defines are not large enough:
+ # define MAD_BUFFER_GUARD 8
+ # define MAD_BUFFER_MDLEN (511 + 2048 + MAD_BUFFER_GUARD)
+
+There is also support for a "free" bitrate which allows you to create any frame
+size, which can be larger than the buffer.
+
+Changing the defines is not an option since it's part of the ABI, so we check
+that the main data fits in the bufer.
+
+The previous frame data is stored in *stream->main_data and contains
+stream->md_len bytes. If stream->md_len is larger than the data we
+need from the previous frame (si.main_data_begin) it still wouldn't fit
+in the buffer, so just keep the data that we need.
+
+Index: libmad-0.15.1b/layer3.c
+===================================================================
+--- libmad-0.15.1b.orig/layer3.c
++++ libmad-0.15.1b/layer3.c
+@@ -2608,6 +2608,11 @@ int mad_layer_III(struct mad_stream *str
+ next_md_begin = 0;
+
+ md_len = si.main_data_begin + frame_space - next_md_begin;
++ if (md_len + MAD_BUFFER_GUARD > MAD_BUFFER_MDLEN) {
++ stream->error = MAD_ERROR_LOSTSYNC;
++ stream->sync = 0;
++ return -1;
++ }
+
+ frame_used = 0;
+
+@@ -2625,8 +2630,11 @@ int mad_layer_III(struct mad_stream *str
+ }
+ }
+ else {
+- mad_bit_init(&ptr,
+- *stream->main_data + stream->md_len - si.main_data_begin);
++ memmove(stream->main_data,
++ *stream->main_data + stream->md_len - si.main_data_begin,
++ si.main_data_begin);
++ stream->md_len = si.main_data_begin;
++ mad_bit_init(&ptr, *stream->main_data);
+
+ if (md_len > si.main_data_begin) {
+ assert(stream->md_len + md_len -
diff --git a/data/libmad/mips-gcc4.4.diff b/data/libmad/mips-gcc4.4.diff
new file mode 100644
index 000000000..a82bea39d
--- /dev/null
+++ b/data/libmad/mips-gcc4.4.diff
@@ -0,0 +1,25 @@
+From: Aurelien Jarno <aurelien@aurel32.net>
+Subject: Different constraints for mips with gcc-4.4
+
+This asm constraints has been removed from gcc 4.4, that's why it was not
+failing before. See http://gcc.gnu.org/gcc-4.4/changes.html for more
+details, including a description of the new way to do it.
+
+--- libmad-0.15.1b.orig/fixed.h
++++ libmad-0.15.1b/fixed.h
+@@ -297,6 +297,14 @@
+
+ /* --- MIPS ---------------------------------------------------------------- */
+
++# elif defined(FPM_MIPS) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
++ typedef unsigned int u64_di_t __attribute__ ((mode (DI)));
++# define MAD_F_MLX(hi, lo, x, y) \
++ do { \
++ u64_di_t __ll = (u64_di_t) (x) * (y); \
++ hi = __ll >> 32; \
++ lo = __ll; \
++ } while (0)
+ # elif defined(FPM_MIPS)
+
+ /*
+
diff --git a/data/libmad/optimize.diff b/data/libmad/optimize.diff
new file mode 100644
index 000000000..1418dc927
--- /dev/null
+++ b/data/libmad/optimize.diff
@@ -0,0 +1,77 @@
+Index: libmad-0.15.1b/configure.ac
+===================================================================
+--- libmad-0.15.1b.orig/configure.ac 2008-03-07 20:31:23.000000000 +0000
++++ libmad-0.15.1b/configure.ac 2008-03-07 20:34:26.000000000 +0000
+@@ -124,71 +124,7 @@
+
+ if test "$GCC" = yes
+ then
+- if test -z "$arch"
+- then
+- case "$host" in
+- i386-*) ;;
+- i?86-*) arch="-march=i486" ;;
+- arm*-empeg-*) arch="-march=armv4 -mtune=strongarm1100" ;;
+- armv4*-*) arch="-march=armv4 -mtune=strongarm" ;;
+- powerpc-*) ;;
+- mips*-agenda-*) arch="-mcpu=vr4100" ;;
+- mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;;
+- esac
+- fi
+-
+- case "$optimize" in
+- -O|"-O "*)
+- optimize="-O"
+- optimize="$optimize -fforce-mem"
+- optimize="$optimize -fforce-addr"
+- : #x optimize="$optimize -finline-functions"
+- : #- optimize="$optimize -fstrength-reduce"
+- optimize="$optimize -fthread-jumps"
+- optimize="$optimize -fcse-follow-jumps"
+- optimize="$optimize -fcse-skip-blocks"
+- : #x optimize="$optimize -frerun-cse-after-loop"
+- : #x optimize="$optimize -frerun-loop-opt"
+- : #x optimize="$optimize -fgcse"
+- optimize="$optimize -fexpensive-optimizations"
+- optimize="$optimize -fregmove"
+- : #* optimize="$optimize -fdelayed-branch"
+- : #x optimize="$optimize -fschedule-insns"
+- optimize="$optimize -fschedule-insns2"
+- : #? optimize="$optimize -ffunction-sections"
+- : #? optimize="$optimize -fcaller-saves"
+- : #> optimize="$optimize -funroll-loops"
+- : #> optimize="$optimize -funroll-all-loops"
+- : #x optimize="$optimize -fmove-all-movables"
+- : #x optimize="$optimize -freduce-all-givs"
+- : #? optimize="$optimize -fstrict-aliasing"
+- : #* optimize="$optimize -fstructure-noalias"
+-
+- case "$host" in
+- arm*-*)
+- optimize="$optimize -fstrength-reduce"
+- ;;
+- mips*-*)
+- optimize="$optimize -fstrength-reduce"
+- optimize="$optimize -finline-functions"
+- ;;
+- i?86-*)
+- optimize="$optimize -fstrength-reduce"
+- ;;
+- powerpc-apple-*)
+- # this triggers an internal compiler error with gcc2
+- : #optimize="$optimize -fstrength-reduce"
+-
+- # this is really only beneficial with gcc3
+- : #optimize="$optimize -finline-functions"
+- ;;
+- *)
+- # this sometimes provokes bugs in gcc 2.95.2
+- : #optimize="$optimize -fstrength-reduce"
+- ;;
+- esac
+- ;;
+- esac
++ optimize="-O2"
+ fi
+
+ case "$host" in
diff --git a/data/libplist/_metadata/description b/data/libplist/_metadata/description
new file mode 100644
index 000000000..38110d75c
--- /dev/null
+++ b/data/libplist/_metadata/description
@@ -0,0 +1 @@
+plist library
diff --git a/data/libplist/_metadata/license b/data/libplist/_metadata/license
new file mode 120000
index 000000000..577aa1598
--- /dev/null
+++ b/data/libplist/_metadata/license
@@ -0,0 +1 @@
+../../../licenses/lgpl-2.1 \ No newline at end of file
diff --git a/data/libplist/_metadata/maintainer b/data/libplist/_metadata/maintainer
new file mode 120000
index 000000000..573d7ebef
--- /dev/null
+++ b/data/libplist/_metadata/maintainer
@@ -0,0 +1 @@
+../../../people/sbingner \ No newline at end of file
diff --git a/data/libplist/_metadata/priority b/data/libplist/_metadata/priority
new file mode 100644
index 000000000..a6a7b9cd7
--- /dev/null
+++ b/data/libplist/_metadata/priority
@@ -0,0 +1 @@
+standard
diff --git a/data/libplist/_metadata/role b/data/libplist/_metadata/role
new file mode 100644
index 000000000..8d0320866
--- /dev/null
+++ b/data/libplist/_metadata/role
@@ -0,0 +1 @@
+developer
diff --git a/data/libplist/_metadata/section b/data/libplist/_metadata/section
new file mode 100644
index 000000000..8708e4b54
--- /dev/null
+++ b/data/libplist/_metadata/section
@@ -0,0 +1 @@
+Networking
diff --git a/data/libplist/_metadata/tags b/data/libplist/_metadata/tags
new file mode 100644
index 000000000..a8928cec8
--- /dev/null
+++ b/data/libplist/_metadata/tags
@@ -0,0 +1 @@
+purpose::library
diff --git a/data/libplist/_metadata/version b/data/libplist/_metadata/version
new file mode 100644
index 000000000..227cea215
--- /dev/null
+++ b/data/libplist/_metadata/version
@@ -0,0 +1 @@
+2.0.0
diff --git a/data/libplist/libplist-2.0.0.tar.gz b/data/libplist/libplist-2.0.0.tar.gz
new file mode 100644
index 000000000..782c2189f
--- /dev/null
+++ b/data/libplist/libplist-2.0.0.tar.gz
Binary files differ
diff --git a/data/libplist/make.sh b/data/libplist/make.sh
new file mode 100644
index 000000000..730f93f4d
--- /dev/null
+++ b/data/libplist/make.sh
@@ -0,0 +1,5 @@
+pkg:setup
+autoreconf -f -i
+pkg:configure --without-cython
+pkg:make
+pkg:install
diff --git a/data/librpmatch/_metadata/description b/data/librpmatch/_metadata/description
new file mode 100644
index 000000000..203e9d0e2
--- /dev/null
+++ b/data/librpmatch/_metadata/description
@@ -0,0 +1 @@
+Xapian is an Open Source Search Engine Library
diff --git a/data/librpmatch/_metadata/license b/data/librpmatch/_metadata/license
new file mode 100644
index 000000000..e67cdf4f2
--- /dev/null
+++ b/data/librpmatch/_metadata/license
@@ -0,0 +1,29 @@
+Copyright (c) 2016, Jürgen Buchmüller
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+2. 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.
+
+3. Neither the name of the copyright holder 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/data/librpmatch/_metadata/maintainer b/data/librpmatch/_metadata/maintainer
new file mode 120000
index 000000000..573d7ebef
--- /dev/null
+++ b/data/librpmatch/_metadata/maintainer
@@ -0,0 +1 @@
+../../../people/sbingner \ No newline at end of file
diff --git a/data/librpmatch/_metadata/priority b/data/librpmatch/_metadata/priority
new file mode 100644
index 000000000..134d9bc32
--- /dev/null
+++ b/data/librpmatch/_metadata/priority
@@ -0,0 +1 @@
+optional
diff --git a/data/librpmatch/_metadata/role b/data/librpmatch/_metadata/role
new file mode 100644
index 000000000..8d0320866
--- /dev/null
+++ b/data/librpmatch/_metadata/role
@@ -0,0 +1 @@
+developer
diff --git a/data/librpmatch/_metadata/section b/data/librpmatch/_metadata/section
new file mode 100644
index 000000000..e0eb96881
--- /dev/null
+++ b/data/librpmatch/_metadata/section
@@ -0,0 +1 @@
+Development
diff --git a/data/librpmatch/_metadata/tags b/data/librpmatch/_metadata/tags
new file mode 100644
index 000000000..a8928cec8
--- /dev/null
+++ b/data/librpmatch/_metadata/tags
@@ -0,0 +1 @@
+purpose::library
diff --git a/data/librpmatch/_metadata/version b/data/librpmatch/_metadata/version
new file mode 100644
index 000000000..d3827e75a
--- /dev/null
+++ b/data/librpmatch/_metadata/version
@@ -0,0 +1 @@
+1.0
diff --git a/data/librpmatch/cpp.diff b/data/librpmatch/cpp.diff
new file mode 100644
index 000000000..9f559f45c
--- /dev/null
+++ b/data/librpmatch/cpp.diff
@@ -0,0 +1,22 @@
+diff -ur musl-rpmatch-1.0/rpmatch.h musl-rpmatch-1.0+iPhone/rpmatch.h
+--- musl-rpmatch-1.0/rpmatch.h 2016-07-07 03:31:00.000000000 -1000
++++ musl-rpmatch-1.0+iPhone/rpmatch.h 2018-08-31 15:41:43.000000000 -1000
+@@ -1,6 +1,9 @@
+ #if !defined(_RPMATCH_H_)
+ #define _RPMATCH_H_
+
++#ifdef __cplusplus
++extern "C" {
++#endif
+ /*
+ * Determine whether the string value of RESPONSE matches the affirmation
+ * or negative response expression as specified by the LC_MESSAGES category
+@@ -8,5 +11,8 @@
+ * negative, and -1 if not matching.
+ */
+ extern int rpmatch (const char *response);
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !defined(_RPMATCH_H_) */
diff --git a/data/librpmatch/make.sh b/data/librpmatch/make.sh
new file mode 100644
index 000000000..01b1e1557
--- /dev/null
+++ b/data/librpmatch/make.sh
@@ -0,0 +1,5 @@
+pkg:setup
+autoreconf -f -i
+pkg:configure
+pkg:make -j8
+pkg:install
diff --git a/data/librpmatch/rpmatch-1.0.tar.gz b/data/librpmatch/rpmatch-1.0.tar.gz
new file mode 100644
index 000000000..9c8bd01f5
--- /dev/null
+++ b/data/librpmatch/rpmatch-1.0.tar.gz
Binary files differ
diff --git a/data/libtapi/_metadata/version b/data/libtapi/_metadata/version
index f0bb29e76..227cea215 100644
--- a/data/libtapi/_metadata/version
+++ b/data/libtapi/_metadata/version
@@ -1 +1 @@
-1.3.0
+2.0.0
diff --git a/data/libtapi/apple-libtapi.tar.gz b/data/libtapi/apple-libtapi.tar.gz
new file mode 100644
index 000000000..ab2c0202b
--- /dev/null
+++ b/data/libtapi/apple-libtapi.tar.gz
Binary files differ
diff --git a/data/libtapi/apple-libtapi.tar.xz b/data/libtapi/apple-libtapi.tar.xz
deleted file mode 100644
index 82cfee300..000000000
--- a/data/libtapi/apple-libtapi.tar.xz
+++ /dev/null
Binary files differ
diff --git a/data/libtapi/make.sh b/data/libtapi/make.sh
index ec4aa3547..644d8f6bf 100644
--- a/data/libtapi/make.sh
+++ b/data/libtapi/make.sh
@@ -1,8 +1,8 @@
pkg:setup
mkdir native
cd native
-MACOSX_DEPLOYMENT_TARGET=10.9 CC="$(xcrun -f clang) -stdlib=libc++" CXX="$(xcrun -f clang++) -stdlib=libc++" cmake -j16 -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_SYSTEM_NAME=Darwin -DUSE_NLS=0 -DWITH_DOC=0 -DLLVM_INCLUDE_TESTS=OFF ../src/apple-llvm/src
-make -j16 llvm-tblgen
+MACOSX_DEPLOYMENT_TARGET="$(sw_vers -productVersion | sed -e 's/\.[0-9]*$//')" CC="$(xcrun -f clang)" CXX="$(xcrun -f clang++)" cmake -j16 -DLLVM_BUILD_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=RELEASE -DLLVM_INCLUDE_TESTS=OFF ../src/llvm
+make -j16 llvm-tblgen clang-tblgen
cd ..
mkdir build
cd build
@@ -26,11 +26,11 @@ set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
EOF
unset MACOSX_DEPLOYMENT_TARGET
-cmake -j8 -DCMAKE_TOOLCHAIN_FILE=iphoneos_toolchain.cmake -DCMAKE_LOCALSTATEDIR="/private/var" -DCMAKE_INSTALL_NAME_DIR="/usr/lib" -DCMAKE_INSTALL_RPATH="/usr/" -DCMAKE_OSX_SYSROOT="${PKG_ROOT}" -DCMAKE_INSTALL_PREFIX="/usr/" -DCMAKE_SHARED_LINKER_FLAGS="-lresolv" -DCURRENT_VENDOR=debian -DUSE_NLS=0 -DWITH_DOC=0 -DLLVM_INCLUDE_TESTS=OFF -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_SYSTEM_NAME=Darwin -DLLVM_TABLEGEN="$(pwd)/../native/bin/llvm-tblgen" -DLLVM_DEFAULT_TARGET_TRIPLE="${PKG_TARG}" -DLLVM_TARGETS_TO_BUILD=AArch64 ../src/apple-llvm/src
+cmake -j8 -DCMAKE_TOOLCHAIN_FILE=iphoneos_toolchain.cmake -DCMAKE_INSTALL_NAME_DIR="/usr/lib" -DCMAKE_INSTALL_RPATH="/usr/" -DCMAKE_OSX_SYSROOT="${PKG_ROOT}" -DCMAKE_INSTALL_PREFIX="/usr/" -DCMAKE_SHARED_LINKER_FLAGS="-lresolv" -DLLVM_INCLUDE_TESTS=OFF -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_SYSTEM_NAME=Darwin -DLLVM_TABLEGEN="$(pwd)/../native/bin/llvm-tblgen" -DCLANG_TABLEGEN="$(pwd)/../native/bin/clang-tblgen" -DLLVM_DEFAULT_TARGET_TRIPLE="${PKG_TARG}" -DLLVM_TARGETS_TO_BUILD=AArch64 ../src/llvm
make -j16 libtapi
make install-libtapi DESTDIR="${PKG_DEST}"
pkg: mkdir -p /usr/include/tapi
-pkg: cp -va ../src/apple-llvm/src/projects/libtapi/include/tapi /usr/include
+pkg: cp -va ../src/libtapi/include/tapi /usr/include
pkg: cp -va projects/libtapi/include/tapi/Version.inc /usr/include/tapi
cd ..
diff --git a/data/libtapi/miphone.diff b/data/libtapi/miphone.diff
deleted file mode 100644
index 382ba30af..000000000
--- a/data/libtapi/miphone.diff
+++ /dev/null
@@ -1,39 +0,0 @@
-diff -ur apple-libtapi/src/apple-llvm/src/Makefile.rules apple-libtapi+iPhone/src/apple-llvm/src/Makefile.rules
---- apple-libtapi/src/apple-llvm/src/Makefile.rules 2018-08-05 15:37:17.000000000 -1000
-+++ apple-libtapi+iPhone/src/apple-llvm/src/Makefile.rules 2018-08-05 15:52:24.000000000 -1000
-@@ -576,10 +576,6 @@
- SharedLinkOptions := -dynamiclib
- ifdef DEPLOYMENT_TARGET
- SharedLinkOptions += $(DEPLOYMENT_TARGET)
-- else
-- ifneq ($(ARCH),ARM)
-- SharedLinkOptions += -mmacosx-version-min=$(DARWIN_VERSION)
-- endif
- endif
- else
- SharedLinkOptions=-shared
-@@ -588,10 +584,6 @@
- ifeq ($(TARGET_OS),Darwin)
- ifdef DEPLOYMENT_TARGET
- TargetCommonOpts += $(DEPLOYMENT_TARGET)
-- else
-- ifneq ($(ARCH),ARM)
-- TargetCommonOpts += -mmacosx-version-min=$(DARWIN_VERSION)
-- endif
- endif
- endif
-
-diff -ur apple-libtapi/src/apple-llvm/src/utils/buildit/build_llvm apple-libtapi+iPhone/src/apple-llvm/src/utils/buildit/build_llvm
---- apple-libtapi/src/apple-llvm/src/utils/buildit/build_llvm 2018-08-05 15:37:18.000000000 -1000
-+++ apple-libtapi+iPhone/src/apple-llvm/src/utils/buildit/build_llvm 2018-08-05 15:53:09.000000000 -1000
-@@ -189,10 +189,6 @@
- export CXX=`xcrun -sdk macosx -find clang++`
-
- configure_opts="--enable-targets=arm,arm64,x86"
-- if [ -n "$MACOSX_DEPLOYMENT_TARGET" ]; then
-- COMMON_MAKEFLAGS="$COMMON_MAKEFLAGS \
-- DEPLOYMENT_TARGET=-mmacosx-version-min=$MACOSX_DEPLOYMENT_TARGET"
-- fi
- fi
-
- if [ $SDKROOT_PATH ]; then
diff --git a/data/libutf8proc/_metadata/description b/data/libutf8proc/_metadata/description
new file mode 100644
index 000000000..f21e00186
--- /dev/null
+++ b/data/libutf8proc/_metadata/description
@@ -0,0 +1 @@
+a small, clean C library that provides Unicode normalization, case-folding, and other operations for data in the UTF-8 encoding
diff --git a/data/libutf8proc/_metadata/homepage b/data/libutf8proc/_metadata/homepage
new file mode 100644
index 000000000..0e88fc9da
--- /dev/null
+++ b/data/libutf8proc/_metadata/homepage
@@ -0,0 +1 @@
+http://juliastrings.github.io/utf8proc/
diff --git a/data/libutf8proc/_metadata/license b/data/libutf8proc/_metadata/license
new file mode 120000
index 000000000..8a4bc1936
--- /dev/null
+++ b/data/libutf8proc/_metadata/license
@@ -0,0 +1 @@
+../../../licenses/modified-bsd \ No newline at end of file
diff --git a/data/libutf8proc/_metadata/maintainer b/data/libutf8proc/_metadata/maintainer
new file mode 120000
index 000000000..573d7ebef
--- /dev/null
+++ b/data/libutf8proc/_metadata/maintainer
@@ -0,0 +1 @@
+../../../people/sbingner \ No newline at end of file
diff --git a/data/libutf8proc/_metadata/priority b/data/libutf8proc/_metadata/priority
new file mode 100644
index 000000000..134d9bc32
--- /dev/null
+++ b/data/libutf8proc/_metadata/priority
@@ -0,0 +1 @@
+optional
diff --git a/data/libutf8proc/_metadata/role b/data/libutf8proc/_metadata/role
new file mode 100644
index 000000000..8d0320866
--- /dev/null
+++ b/data/libutf8proc/_metadata/role
@@ -0,0 +1 @@
+developer
diff --git a/data/libutf8proc/_metadata/section b/data/libutf8proc/_metadata/section
new file mode 100644
index 000000000..e0eb96881
--- /dev/null
+++ b/data/libutf8proc/_metadata/section
@@ -0,0 +1 @@
+Development
diff --git a/data/libutf8proc/_metadata/tags b/data/libutf8proc/_metadata/tags
new file mode 100644
index 000000000..a8928cec8
--- /dev/null
+++ b/data/libutf8proc/_metadata/tags
@@ -0,0 +1 @@
+purpose::library
diff --git a/data/libutf8proc/_metadata/version b/data/libutf8proc/_metadata/version
new file mode 100644
index 000000000..ccbccc3dc
--- /dev/null
+++ b/data/libutf8proc/_metadata/version
@@ -0,0 +1 @@
+2.2.0
diff --git a/data/libutf8proc/make.sh b/data/libutf8proc/make.sh
new file mode 100644
index 000000000..5910adb0a
--- /dev/null
+++ b/data/libutf8proc/make.sh
@@ -0,0 +1,24 @@
+pkg:setup
+mkdir build
+cd build
+cat >iphoneos_toolchain.cmake <<EOF
+set(CMAKE_SYSTEM_NAME Darwin) # Tell CMake we're cross-compiling
+set(CMAKE_CROSSCOMPILING true)
+#include(CMakeForceCompiler)
+# Prefix detection only works with compiler id "GNU"
+# CMake will look for prefixed g++, cpp, ld, etc. automatically
+set(CMAKE_SYSTEM_PROCESSOR aarch64)
+set(triple ${PKG_TARG})
+set(CMAKE_FIND_ROOT_PATH $(echo ${PKG_PATH} | sed -e s/:/' '/g))
+set(CMAKE_LIBRARY_PATH $(echo ${LIBRARY_PATH} | sed -e s/:/' '/g))
+set(CMAKE_INCLUDE_PATH $(echo ${INCLUDE_PATH} | sed -e s/:/' '/g))
+set(CMAKE_C_COMPILER ${PKG_TARG}-gcc)
+set(CMAKE_CXX_COMPILER ${PKG_TARG}-g++)
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+EOF
+
+cmake -j8 -DCMAKE_TOOLCHAIN_FILE=iphoneos_toolchain.cmake -DCMAKE_LOCALSTATEDIR="/private/var" -DCMAKE_INSTALL_NAME_DIR="/usr/lib" -DCMAKE_INSTALL_RPATH="/usr/" -DCMAKE_OSX_SYSROOT="${PKG_ROOT}" -DCMAKE_INSTALL_PREFIX="/usr/" -DCURRENT_VENDOR=debian -DUSE_NLS=0 -DWITH_DOC=0 ..
+pkg:make -j8
+pkg:install
diff --git a/data/libutf8proc/utf8proc-2.2.0.tar.gz b/data/libutf8proc/utf8proc-2.2.0.tar.gz
new file mode 100644
index 000000000..39e429383
--- /dev/null
+++ b/data/libutf8proc/utf8proc-2.2.0.tar.gz
Binary files differ
diff --git a/data/libvncserver/LibVNCServer-0.9.11.tar.gz b/data/libvncserver/LibVNCServer-0.9.11.tar.gz
new file mode 100644
index 000000000..c33564ae6
--- /dev/null
+++ b/data/libvncserver/LibVNCServer-0.9.11.tar.gz
Binary files differ
diff --git a/data/libvncserver/LibVNCServer-0.9.8.1.tar.gz b/data/libvncserver/LibVNCServer-0.9.8.1.tar.gz
deleted file mode 100644
index aad3ad8d8..000000000
--- a/data/libvncserver/LibVNCServer-0.9.8.1.tar.gz
+++ /dev/null
Binary files differ
diff --git a/data/libvncserver/_metadata/gnutls.dep b/data/libvncserver/_metadata/gnutls.dep
new file mode 120000
index 000000000..2dbb733a2
--- /dev/null
+++ b/data/libvncserver/_metadata/gnutls.dep
@@ -0,0 +1 @@
+../../gnutls \ No newline at end of file
diff --git a/data/libvncserver/_metadata/jpeg.dep b/data/libvncserver/_metadata/jpeg.dep
deleted file mode 120000
index 6a539ed63..000000000
--- a/data/libvncserver/_metadata/jpeg.dep
+++ /dev/null
@@ -1 +0,0 @@
-../../jpeg \ No newline at end of file
diff --git a/data/libvncserver/_metadata/libjpeg-turbo.dep b/data/libvncserver/_metadata/libjpeg-turbo.dep
new file mode 120000
index 000000000..b905b9550
--- /dev/null
+++ b/data/libvncserver/_metadata/libjpeg-turbo.dep
@@ -0,0 +1 @@
+../../libjpeg-turbo \ No newline at end of file
diff --git a/data/libvncserver/_metadata/p11-kit.dep b/data/libvncserver/_metadata/p11-kit.dep
new file mode 120000
index 000000000..1019ede75
--- /dev/null
+++ b/data/libvncserver/_metadata/p11-kit.dep
@@ -0,0 +1 @@
+../../p11-kit \ No newline at end of file
diff --git a/data/libvncserver/_metadata/png.dep b/data/libvncserver/_metadata/png.dep
new file mode 120000
index 000000000..581f24e2a
--- /dev/null
+++ b/data/libvncserver/_metadata/png.dep
@@ -0,0 +1 @@
+../../png \ No newline at end of file
diff --git a/data/libvncserver/_metadata/version b/data/libvncserver/_metadata/version
index b5343984c..8225a4ba4 100644
--- a/data/libvncserver/_metadata/version
+++ b/data/libvncserver/_metadata/version
@@ -1 +1 @@
-0.9.8.1
+0.9.11
diff --git a/data/libvncserver/clsockrace.diff b/data/libvncserver/clsockrace.diff
index 56b41e38e..9b1f2ad5d 100644
--- a/data/libvncserver/clsockrace.diff
+++ b/data/libvncserver/clsockrace.diff
@@ -1,12 +1,12 @@
-diff -ru LibVNCServer-0.9.8.1/libvncserver/main.c LibVNCServer-0.9.8.1+iPhone/libvncserver/main.c
---- LibVNCServer-0.9.8.1/libvncserver/main.c 2011-10-12 16:52:18.000000000 +0000
-+++ LibVNCServer-0.9.8.1+iPhone/libvncserver/main.c 2011-10-13 04:09:56.000000000 +0000
+diff -ur libvncserver-LibVNCServer-0.9.11/libvncserver/main.c libvncserver-LibVNCServer-0.9.11+iPhone/libvncserver/main.c
+--- libvncserver-LibVNCServer-0.9.11/libvncserver/main.c 2016-12-30 03:01:28.000000000 -1000
++++ libvncserver-LibVNCServer-0.9.11+iPhone/libvncserver/main.c 2018-08-29 11:20:52.000000000 -1000
@@ -517,24 +517,26 @@
struct timeval tv;
int n;
- if (cl->sock == -1) {
-+ int sock = cl->sock;
++ int sock = cl->sock;
+
+ if (sock == -1) {
/* Client has disconnected. */
@@ -43,6 +43,6 @@ diff -ru LibVNCServer-0.9.8.1/libvncserver/main.c LibVNCServer-0.9.8.1+iPhone/li
- if (FD_ISSET(cl->sock, &rfds) || FD_ISSET(cl->sock, &efds))
+ if (FD_ISSET(sock, &rfds) || FD_ISSET(cl->sock, &efds))
- rfbProcessClientMessage(cl);
- }
-
+ {
+ #ifdef LIBVNCSERVER_WITH_WEBSOCKETS
+ do {
diff --git a/data/libvncserver/make.sh b/data/libvncserver/make.sh
index 452a4bfd5..163b0e374 100644
--- a/data/libvncserver/make.sh
+++ b/data/libvncserver/make.sh
@@ -1,4 +1,5 @@
pkg:setup
-pkg:configure
-make
+autoreconf -fiv
+pkg:configure --with-libgcrypt-prefix="$(PKG_DEST_ gcrypt)/usr" --disable-static
+make -j8
pkg:install
diff --git a/data/libvncserver/subdirs.diff b/data/libvncserver/subdirs.diff
index 507e02d45..c2f61075b 100644
--- a/data/libvncserver/subdirs.diff
+++ b/data/libvncserver/subdirs.diff
@@ -1,14 +1,13 @@
-diff -ru LibVNCServer-0.9.8/Makefile.in LibVNCServer-0.9.8+iPhone/Makefile.in
---- LibVNCServer-0.9.8/Makefile.in 2011-03-30 11:34:39.000000000 +0000
-+++ LibVNCServer-0.9.8+iPhone/Makefile.in 2011-08-03 09:17:58.000000000 +0000
-@@ -266,8 +266,8 @@
- top_srcdir = @top_srcdir@
- with_ffmpeg = @with_ffmpeg@
- @WITH_X11VNC_TRUE@X11VNC = x11vnc
--SUBDIRS = libvncserver examples libvncclient vncterm classes client_examples test $(X11VNC)
--DIST_SUBDIRS = libvncserver examples libvncclient vncterm classes client_examples test
-+SUBDIRS = libvncserver libvncclient classes test $(X11VNC)
-+DIST_SUBDIRS = libvncserver libvncclient classes test
- EXTRA_DIST = CMakeLists.txt rfb/rfbint.h.cmake rfb/rfbconfig.h.cmake
+diff -ur libvncserver-LibVNCServer-0.9.11/Makefile.am libvncserver-LibVNCServer-0.9.11+iPhone/Makefile.am
+--- libvncserver-LibVNCServer-0.9.11/Makefile.am 2016-12-30 03:01:28.000000000 -1000
++++ libvncserver-LibVNCServer-0.9.11+iPhone/Makefile.am 2018-08-29 11:17:20.000000000 -1000
+@@ -1,7 +1,7 @@
+ ACLOCAL_AMFLAGS = -I m4
+
+-SUBDIRS=libvncserver examples libvncclient webclients client_examples test
+-DIST_SUBDIRS=libvncserver examples libvncclient webclients client_examples test
++SUBDIRS=libvncserver libvncclient test
++DIST_SUBDIRS=libvncserver libvncclient test
+ EXTRA_DIST = CMakeLists.txt rfb/rfbconfig.h.cmake
+
bin_SCRIPTS = libvncserver-config
- pkgconfigdir = $(libdir)/pkgconfig
diff --git a/data/libxapian/_metadata/description b/data/libxapian/_metadata/description
new file mode 100644
index 000000000..203e9d0e2
--- /dev/null
+++ b/data/libxapian/_metadata/description
@@ -0,0 +1 @@
+Xapian is an Open Source Search Engine Library
diff --git a/data/libxapian/_metadata/license b/data/libxapian/_metadata/license
new file mode 120000
index 000000000..9c13a9a0f
--- /dev/null
+++ b/data/libxapian/_metadata/license
@@ -0,0 +1 @@
+../../../licenses/gpl-2 \ No newline at end of file
diff --git a/data/libxapian/_metadata/maintainer b/data/libxapian/_metadata/maintainer
new file mode 120000
index 000000000..573d7ebef
--- /dev/null
+++ b/data/libxapian/_metadata/maintainer
@@ -0,0 +1 @@
+../../../people/sbingner \ No newline at end of file
diff --git a/data/libxapian/_metadata/priority b/data/libxapian/_metadata/priority
new file mode 100644
index 000000000..134d9bc32
--- /dev/null
+++ b/data/libxapian/_metadata/priority
@@ -0,0 +1 @@
+optional
diff --git a/data/libxapian/_metadata/role b/data/libxapian/_metadata/role
new file mode 100644
index 000000000..8d0320866
--- /dev/null
+++ b/data/libxapian/_metadata/role
@@ -0,0 +1 @@
+developer
diff --git a/data/libxapian/_metadata/section b/data/libxapian/_metadata/section
new file mode 100644
index 000000000..e0eb96881
--- /dev/null
+++ b/data/libxapian/_metadata/section
@@ -0,0 +1 @@
+Development
diff --git a/data/libxapian/_metadata/tags b/data/libxapian/_metadata/tags
new file mode 100644
index 000000000..a8928cec8
--- /dev/null
+++ b/data/libxapian/_metadata/tags
@@ -0,0 +1 @@
+purpose::library
diff --git a/data/libxapian/_metadata/version b/data/libxapian/_metadata/version
new file mode 100644
index 000000000..be05bba98
--- /dev/null
+++ b/data/libxapian/_metadata/version
@@ -0,0 +1 @@
+1.4.7
diff --git a/data/libxapian/make.sh b/data/libxapian/make.sh
new file mode 100644
index 000000000..8780dfc63
--- /dev/null
+++ b/data/libxapian/make.sh
@@ -0,0 +1,4 @@
+pkg:setup
+pkg:configure
+pkg:make -j8
+pkg:install
diff --git a/data/libxapian/xapian-core-1.4.7.tar.xz b/data/libxapian/xapian-core-1.4.7.tar.xz
new file mode 100644
index 000000000..33fa471d2
--- /dev/null
+++ b/data/libxapian/xapian-core-1.4.7.tar.xz
Binary files differ
diff --git a/data/libzip/_metadata/description b/data/libzip/_metadata/description
new file mode 100644
index 000000000..325f94816
--- /dev/null
+++ b/data/libzip/_metadata/description
@@ -0,0 +1 @@
+a C library for reading, creating, and modifying zip archives.
diff --git a/data/libzip/_metadata/license b/data/libzip/_metadata/license
new file mode 120000
index 000000000..141b2e41b
--- /dev/null
+++ b/data/libzip/_metadata/license
@@ -0,0 +1 @@
+../../../licenses/lgpl-3 \ No newline at end of file
diff --git a/data/libzip/_metadata/maintainer b/data/libzip/_metadata/maintainer
new file mode 120000
index 000000000..573d7ebef
--- /dev/null
+++ b/data/libzip/_metadata/maintainer
@@ -0,0 +1 @@
+../../../people/sbingner \ No newline at end of file
diff --git a/data/libzip/_metadata/priority b/data/libzip/_metadata/priority
new file mode 100644
index 000000000..134d9bc32
--- /dev/null
+++ b/data/libzip/_metadata/priority
@@ -0,0 +1 @@
+optional
diff --git a/data/libzip/_metadata/section b/data/libzip/_metadata/section
new file mode 100644
index 000000000..e0eb96881
--- /dev/null
+++ b/data/libzip/_metadata/section
@@ -0,0 +1 @@
+Development
diff --git a/data/libzip/_metadata/tags b/data/libzip/_metadata/tags
new file mode 100644
index 000000000..91c01ad11
--- /dev/null
+++ b/data/libzip/_metadata/tags
@@ -0,0 +1 @@
+purpose::console, role::developer
diff --git a/data/libzip/_metadata/version b/data/libzip/_metadata/version
new file mode 100644
index 000000000..26ca59460
--- /dev/null
+++ b/data/libzip/_metadata/version
@@ -0,0 +1 @@
+1.5.1
diff --git a/data/libzip/libzip-1.5.1.tar.xz b/data/libzip/libzip-1.5.1.tar.xz
new file mode 100644
index 000000000..e974522c2
--- /dev/null
+++ b/data/libzip/libzip-1.5.1.tar.xz
Binary files differ
diff --git a/data/libzip/make.sh b/data/libzip/make.sh
new file mode 100644
index 000000000..a410fb73a
--- /dev/null
+++ b/data/libzip/make.sh
@@ -0,0 +1,24 @@
+pkg:setup
+mkdir build
+cd build
+cat >iphoneos_toolchain.cmake <<EOF
+set(CMAKE_SYSTEM_NAME Darwin) # Tell CMake we're cross-compiling
+set(CMAKE_CROSSCOMPILING true)
+#include(CMakeForceCompiler)
+# Prefix detection only works with compiler id "GNU"
+# CMake will look for prefixed g++, cpp, ld, etc. automatically
+set(CMAKE_SYSTEM_PROCESSOR aarch64)
+set(triple ${PKG_TARG})
+set(CMAKE_FIND_ROOT_PATH $(echo ${PKG_PATH} | sed -e s/:/' '/g))
+set(CMAKE_LIBRARY_PATH $(echo ${LIBRARY_PATH} | sed -e s/:/' '/g))
+set(CMAKE_INCLUDE_PATH $(echo ${INCLUDE_PATH} | sed -e s/:/' '/g))
+set(CMAKE_C_COMPILER ${PKG_TARG}-gcc)
+set(CMAKE_CXX_COMPILER ${PKG_TARG}-g++)
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+EOF
+
+cmake -j8 -DCMAKE_TOOLCHAIN_FILE=iphoneos_toolchain.cmake -DCMAKE_LOCALSTATEDIR="/private/var" -DCMAKE_INSTALL_NAME_DIR="/usr/lib" -DCMAKE_INSTALL_RPATH="/usr/" -DCMAKE_OSX_SYSROOT="${PKG_ROOT}" -DCMAKE_INSTALL_PREFIX="/usr/" -DCURRENT_VENDOR=debian -DUSE_NLS=0 -DWITH_DOC=0 ..
+pkg:make
+pkg:install
diff --git a/data/nano/_metadata/version b/data/nano/_metadata/version
index bda8fbec1..d8589d192 100644
--- a/data/nano/_metadata/version
+++ b/data/nano/_metadata/version
@@ -1 +1 @@
-2.2.6
+2.9.8
diff --git a/data/nano/make.sh b/data/nano/make.sh
index 4c3c40818..a6eb5250d 100644
--- a/data/nano/make.sh
+++ b/data/nano/make.sh
@@ -1,7 +1,7 @@
pkg:setup
pkg:configure --enable-all --sysconfdir=/etc
-make
+make -j8
pkg:install
pkg: mkdir -p /etc/profile.d
pkg: cp -a %/nano.sh /etc/profile.d
-pkg: cp -a ./doc/nanorc.sample /etc/nanorc
+pkg: cp -a ./doc/sample.nanorc /etc/nanorc
diff --git a/data/nano/nano-2.2.6.tar.gz b/data/nano/nano-2.2.6.tar.gz
deleted file mode 100644
index 15445f070..000000000
--- a/data/nano/nano-2.2.6.tar.gz
+++ /dev/null
Binary files differ
diff --git a/data/nano/nano-2.9.8.tar.xz b/data/nano/nano-2.9.8.tar.xz
new file mode 100644
index 000000000..25b2a3641
--- /dev/null
+++ b/data/nano/nano-2.9.8.tar.xz
Binary files differ
diff --git a/data/nano/timestamp.diff b/data/nano/timestamp.diff
deleted file mode 100644
index 71e278535..000000000
--- a/data/nano/timestamp.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ru nano-2.2.6/src/nano.c nano-2.2.6+iPhone/src/nano.c
---- nano-2.2.6/src/nano.c 2010-11-12 06:13:08.000000000 +0000
-+++ nano-2.2.6+iPhone/src/nano.c 2013-09-06 23:00:09.000000000 +0000
-@@ -935,8 +935,7 @@
- * it was compiled with. */
- void version(void)
- {
-- printf(_(" GNU nano version %s (compiled %s, %s)\n"), VERSION,
-- __TIME__, __DATE__);
-+ printf(_(" GNU nano version %s\n"), VERSION);
- printf(" (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,\n");
- printf(" 2008, 2009 Free Software Foundation, Inc.\n");
- printf(
diff --git a/data/ogg/libogg-1.3.3.tar.gz b/data/ogg/libogg-1.3.3.tar.gz
new file mode 100644
index 000000000..b39fdfe49
--- /dev/null
+++ b/data/ogg/libogg-1.3.3.tar.gz
Binary files differ
diff --git a/data/ogg/libogg-1.3.3.tar.xz b/data/ogg/libogg-1.3.3.tar.xz
deleted file mode 100644
index c782c6b2b..000000000
--- a/data/ogg/libogg-1.3.3.tar.xz
+++ /dev/null
Binary files differ
diff --git a/data/pzb/_metadata/description b/data/pzb/_metadata/description
new file mode 100644
index 000000000..f94f28860
--- /dev/null
+++ b/data/pzb/_metadata/description
@@ -0,0 +1 @@
+partialZipBrowser is a commandline tool for browsing and downloading files from zip files on remote webserver
diff --git a/data/pzb/_metadata/libfragmentzip.dep b/data/pzb/_metadata/libfragmentzip.dep
new file mode 120000
index 000000000..a0d56c2ea
--- /dev/null
+++ b/data/pzb/_metadata/libfragmentzip.dep
@@ -0,0 +1 @@
+../../libfragmentzip \ No newline at end of file
diff --git a/data/pzb/_metadata/license b/data/pzb/_metadata/license
new file mode 100644
index 000000000..be2972aa9
--- /dev/null
+++ b/data/pzb/_metadata/license
@@ -0,0 +1,55 @@
+This is version 2005-Feb-10 of the Info-ZIP license.
+The definitive version of this document should be available at
+ftp://ftp.info-zip.org/pub/infozip/license.html indefinitely.
+
+
+Copyright (c) 1990-2006 Info-ZIP. All rights reserved.
+
+For the purposes of this copyright and license, "Info-ZIP" is defined as
+the following set of individuals:
+
+ Mark Adler, John Bush, Karl Davis, Harald Denker, Jean-Michel Dubois,
+ Jean-loup Gailly, Hunter Goatley, Ed Gordon, Ian Gorman, Chris Herborth,
+ Dirk Haase, Greg Hartwig, Robert Heath, Jonathan Hudson, Paul Kienitz,
+ David Kirschbaum, Johnny Lee, Onno van der Linden, Igor Mandrichenko,
+ Steve P. Miller, Sergio Monesi, Keith Owens, George Petrov, Greg Roelofs,
+ Kai Uwe Rommel, Steve Salisbury, Dave Smith, Steven M. Schweda,
+ Christian Spieler, Cosmin Truta, Antoine Verheijen, Paul von Behren,
+ Rich Wales, Mike White
+
+This software is provided "as is," without warranty of any kind, express
+or implied. In no event shall Info-ZIP or its contributors be held liable
+for any direct, indirect, incidental, special or consequential damages
+arising out of the use of or inability to use this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ definition, disclaimer, and this list of conditions.
+
+ 2. Redistributions in binary form (compiled executables) must reproduce
+ the above copyright notice, definition, disclaimer, and this list of
+ conditions in documentation and/or other materials provided with the
+ distribution. The sole exception to this condition is redistribution
+ of a standard UnZipSFX binary (including SFXWiz) as part of a
+ self-extracting archive; that is permitted without inclusion of this
+ license, as long as the normal SFX banner has not been removed from
+ the binary or disabled.
+
+ 3. Altered versions--including, but not limited to, ports to new operating
+ systems, existing ports with new graphical interfaces, and dynamic,
+ shared, or static library versions--must be plainly marked as such
+ and must not be misrepresented as being the original source. Such
+ altered versions also must not be misrepresented as being Info-ZIP
+ releases--including, but not limited to, labeling of the altered
+ versions with the names "Info-ZIP" (or any variation thereof, including,
+ but not limited to, different capitalizations), "Pocket UnZip," "WiZ"
+ or "MacZip" without the explicit permission of Info-ZIP. Such altered
+ versions are further prohibited from misrepresentative use of the
+ Zip-Bugs or Info-ZIP e-mail addresses or of the Info-ZIP URL(s).
+
+ 4. Info-ZIP retains the right to use the names "Info-ZIP," "Zip," "UnZip,"
+ "UnZipSFX," "WiZ," "Pocket UnZip," "Pocket Zip," and "MacZip" for its
+ own source and binary releases.
diff --git a/data/pzb/_metadata/maintainer b/data/pzb/_metadata/maintainer
new file mode 120000
index 000000000..573d7ebef
--- /dev/null
+++ b/data/pzb/_metadata/maintainer
@@ -0,0 +1 @@
+../../../people/sbingner \ No newline at end of file
diff --git a/data/pzb/_metadata/name b/data/pzb/_metadata/name
new file mode 100644
index 000000000..4e7f480f3
--- /dev/null
+++ b/data/pzb/_metadata/name
@@ -0,0 +1 @@
+partialZipBrowser
diff --git a/data/pzb/_metadata/priority b/data/pzb/_metadata/priority
new file mode 100644
index 000000000..134d9bc32
--- /dev/null
+++ b/data/pzb/_metadata/priority
@@ -0,0 +1 @@
+optional
diff --git a/data/pzb/_metadata/role b/data/pzb/_metadata/role
new file mode 100644
index 000000000..52b4d7301
--- /dev/null
+++ b/data/pzb/_metadata/role
@@ -0,0 +1 @@
+hacker
diff --git a/data/pzb/_metadata/section b/data/pzb/_metadata/section
new file mode 100644
index 000000000..888e3e192
--- /dev/null
+++ b/data/pzb/_metadata/section
@@ -0,0 +1 @@
+Archiving
diff --git a/data/pzb/_metadata/tags b/data/pzb/_metadata/tags
new file mode 100644
index 000000000..ad5d50831
--- /dev/null
+++ b/data/pzb/_metadata/tags
@@ -0,0 +1 @@
+purpose::console
diff --git a/data/pzb/_metadata/version b/data/pzb/_metadata/version
new file mode 100644
index 000000000..7dea76edb
--- /dev/null
+++ b/data/pzb/_metadata/version
@@ -0,0 +1 @@
+1.0.1
diff --git a/data/pzb/make.sh b/data/pzb/make.sh
new file mode 100644
index 000000000..9507c7cc9
--- /dev/null
+++ b/data/pzb/make.sh
@@ -0,0 +1,5 @@
+pkg:setup
+autoreconf -f -i
+pkg:configure
+pkg:make
+pkg:install
diff --git a/data/pzb/pzb-1.0.1.tar.xz b/data/pzb/pzb-1.0.1.tar.xz
new file mode 100644
index 000000000..5e27cb7cc
--- /dev/null
+++ b/data/pzb/pzb-1.0.1.tar.xz
Binary files differ