diff options
Diffstat (limited to 'user')
171 files changed, 8704 insertions, 504 deletions
diff --git a/user/alpine/APKBUILD b/user/alpine/APKBUILD new file mode 100644 index 000000000..189057dea --- /dev/null +++ b/user/alpine/APKBUILD @@ -0,0 +1,46 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=alpine +pkgver=2.21 +pkgrel=0 +pkgdesc="Terminal-based email client" +url="http://alpine.x10host.com/alpine/" +arch="all" +license="Apache-2.0" +depends="" +makedepends="aspell-dev krb5-dev linux-pam-dev ncurses-dev openldap-dev + openssl-dev" +subpackages="$pkgname-doc" +source="http://alpine.x10host.com/alpine/release/src/alpine-$pkgver.tar.xz + support-musl.patch" + +prepare() { + cd "$builddir" + default_prepare + autoreconf -vif +} + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="a2a36a033c8af79810816a7da7185c269808ba6d84d013691fd8b3764c63f5fb2284e6844ec5a5e99d168514ae636debf59fae962533a2916679e4e9109c6264 alpine-2.21.tar.xz +cdf827b5947fd14b6a6c1ad86df4ff1b8be1ffd51279aaa02376b2b60f3de742c54364e18d73d9a75c5c87ed3c8668a3f0c9eb59733f8da195e85833b4364782 support-musl.patch" diff --git a/user/alpine/support-musl.patch b/user/alpine/support-musl.patch new file mode 100644 index 000000000..ab3c2d857 --- /dev/null +++ b/user/alpine/support-musl.patch @@ -0,0 +1,20 @@ +--- ./configure.ac.orig ++++ ./configure.ac +@@ -723,7 +723,7 @@ + else + dnl preload c-client default locations/options + case $host in +- *-linux-gnu*|*-k*bsd*-gnu*|*-gnu*) ++ *-linux-gnu*|*-k*bsd*-gnu*|*-gnu*|*-linux-musl*) + if test -f /etc/fedora-release -o -f /etc/redhat-release -o -f /etc/redhat_version ; then + alpine_SSLTYPE="nopwd" + if test -d /etc/pki/tls ; then +@@ -1059,7 +1059,7 @@ + dnl build from c-client. Most of this will go away when c-client + dnl adopts configure + case "$host" in +- *-linux-gnu*|*-k*bsd*-gnu*|*-gnu*) ++ *-linux-gnu*|*-k*bsd*-gnu*|*-gnu*|*-linux-musl*) + alpine_path_delim="/" + alpine_mode_readonly="(0600)" + if test -f /etc/fedora-release ; then diff --git a/user/at-spi2-atk/APKBUILD b/user/at-spi2-atk/APKBUILD index 52cc5f8aa..4f328d84f 100644 --- a/user/at-spi2-atk/APKBUILD +++ b/user/at-spi2-atk/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: pkgname=at-spi2-atk -pkgver=2.30.1 +pkgver=2.32.0 pkgrel=0 pkgdesc="GTK+ module to bridge ATK to D-Bus at-spi" url="https://wiki.linuxfoundation.org/accessibility/d-bus" @@ -37,4 +37,4 @@ package() { DESTDIR="$pkgdir" ninja install } -sha512sums="862cccb65d2a8a7df4e899e4f53742535389a0efa0a75c936b52e68690c07e206b19d8308f0910cddb71bda0d803012d613f6959329ae43c411d1314062b7018 at-spi2-atk-2.30.1.tar.xz" +sha512sums="095ceaa33d5b35f1f4f81a31bea00487c054493cb29d4fdbcf74331ec8d1b9570dc7cb93e1cc06da9ea3f5805e7a3a9e7bf80cfdbce86a1822c2a46327109393 at-spi2-atk-2.32.0.tar.xz" diff --git a/user/at-spi2-core/APKBUILD b/user/at-spi2-core/APKBUILD index 1ccdb23c6..38feb8b0a 100644 --- a/user/at-spi2-core/APKBUILD +++ b/user/at-spi2-core/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: pkgname=at-spi2-core -pkgver=2.30.1 +pkgver=2.32.0 pkgrel=0 pkgdesc="Protocol definitions and daemon for D-Bus at-spi" url="https://wiki.linuxfoundation.org/accessibility/d-bus" @@ -13,7 +13,9 @@ depends_dev="libxtst-dev" makedepends="$depends_dev dbus-dev glib-dev intltool gobject-introspection-dev dbus meson ninja" subpackages="$pkgname-dev $pkgname-lang" -source="https://download.gnome.org/sources/at-spi2-core/${pkgver%.*}/at-spi2-core-$pkgver.tar.xz" +source="https://download.gnome.org/sources/at-spi2-core/${pkgver%.*}/at-spi2-core-$pkgver.tar.xz + stupid-meson-fix.patch + " build() { cd "$builddir" @@ -31,4 +33,5 @@ package() { DESTDIR="$pkgdir" ninja -C builddir/ install } -sha512sums="c8b6a2ae5f96ce7d8c1fd32c9fec861148ceff631069b417296425fe6e2ae15198628826e13a72e018871d38e12b1128aa299edcc45eaf3eb7bbff83774361cd at-spi2-core-2.30.1.tar.xz" +sha512sums="4c77b4e0d37b559d20e6521107e8f7e03e91392414dc7ffdceb558667f3a7a6137af6895f3a8cd97dc3e85715d7875812d658dcc84277a63a10276992bde2fa6 at-spi2-core-2.32.0.tar.xz +628b40c26d50d35ac898eab547c7c66d481e9ab239e0de4e98f5a8d90ef189960ac8c20312c88e8036c40ef1a1bb90559d5e621157b46f75d185d6b1be550877 stupid-meson-fix.patch" diff --git a/user/at-spi2-core/stupid-meson-fix.patch b/user/at-spi2-core/stupid-meson-fix.patch new file mode 100644 index 000000000..461871706 --- /dev/null +++ b/user/at-spi2-core/stupid-meson-fix.patch @@ -0,0 +1,11 @@ +--- at-spi2-core-2.32.0/atspi/meson.build.old 2019-03-12 02:54:43.000000000 +0000 ++++ at-spi2-core-2.32.0/atspi/meson.build 2019-03-23 22:15:47.910000000 +0000 +@@ -57,7 +57,7 @@ + + atspi_includedir = join_paths(get_option('prefix'), get_option('includedir'), 'at-spi-2.0', 'atspi') + +-install_headers(atspi_headers, subdir: atspi_includedir) ++install_headers(atspi_headers, install_dir: atspi_includedir) + + atspi_enums = gnome.mkenums('atspi-enum-types', + sources: [ 'atspi-constants.h', 'atspi-types.h' ], diff --git a/user/atk/APKBUILD b/user/atk/APKBUILD index 6beebfcb0..c87c8dfd7 100644 --- a/user/atk/APKBUILD +++ b/user/atk/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: pkgname=atk -pkgver=2.30.0 +pkgver=2.32.0 pkgrel=0 pkgdesc="A library providing a set of interfaces for accessibility" url="https://www.gtk.org/" @@ -33,4 +33,4 @@ package() { DESTDIR="$pkgdir" ninja install } -sha512sums="03f311378fdb91442f27ed542fa36edd2c9c036837c9f25ff37468bf7f743277d0b9253621563d15894e0da9d37e8df0a0e2c0e47e6aae33a38b13744c3b8b8e atk-2.30.0.tar.xz" +sha512sums="8cd2a3ee006f21835f3e564f2e1de4ae61bd9529b4c0b4f2e3ece88e905e2dd36b67affb089f41582806a1397576602a526a4b8698303708894f20af97ecac22 atk-2.32.0.tar.xz" diff --git a/user/atril/APKBUILD b/user/atril/APKBUILD new file mode 100644 index 000000000..4d2996967 --- /dev/null +++ b/user/atril/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=atril +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Document viewer for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +options="!check" # testsuite requires X and py3-dogtail +license="GPL-2.0+ AND Afmparse AND Info-ZIP AND libtiff AND LGPL-2.0+ AND MIT AND LGPL-2.1+" +depends="" +makedepends="caja-dev djvulibre-dev gobject-introspection-dev gtk+3.0-dev + intltool itstool libgxps-dev libsecret-dev libsm-dev libspectre-dev + libxml2-dev libxml2-utils poppler-dev python3 tiff-dev" +subpackages="$pkgname-dev $pkgname-doc" +source="https://pub.mate-desktop.org/releases/1.22/atril-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --enable-introspection \ + --enable-pixbuf \ + --enable-comics \ + --enable-xps + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="bf940178647c348fd78e828bcb3a55c4ff6195d4020bf198ae5ba4a96e2fe582f7e30fb9d4cde4143e82ae783358373d3a9fd68413295586da9fe1b374e2f034 atril-1.22.0.tar.xz" diff --git a/user/ayatana-ido/APKBUILD b/user/ayatana-ido/APKBUILD new file mode 100644 index 000000000..dea352c42 --- /dev/null +++ b/user/ayatana-ido/APKBUILD @@ -0,0 +1,46 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=ayatana-ido +pkgver=0.4.4 +pkgrel=0 +pkgdesc="Indicator display object library for the Gnome desktop environment" +url="https://ayatanaindicators.github.io/" +arch="all" +license="GPL-3.0-only AND (LGPL-2.1-only OR LGPL-3.0-only) AND LGPL-2.0+" +depends="" +makedepends="glib-dev gobject-introspection-dev gtest-dev gtk+3.0-dev + mate-common-dev vala-dev xorg-gtest-dev" +subpackages="$pkgname-dev" +source="ayatana-ido-$pkgver.tar.gz::https://github.com/AyatanaIndicators/ayatana-ido/archive/$pkgver.tar.gz + gtk-doc-fix.patch" + +prepare() { + cd "$builddir" + default_prepare + autoreconf -vif +} + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + DESTDIR="$pkgdir" make install +} + +sha512sums="ef04b0b6c959d209e88b1de322ac64ea33fdd043a73980bf3b043380603b6a448ea7bf43ba8e2750e1a0a9bef704a7099f7ae9b92a97d3ce0be2e9f48ba16703 ayatana-ido-0.4.4.tar.gz +92ddc4f09c5ed7800357a76e2276c07db682408f259e22d6511696df032d6712ecd295d0775db36ad6ace5d3f352ce7d59cd9f1b24e899b7accaf680c0e4488d gtk-doc-fix.patch" diff --git a/user/ayatana-ido/gtk-doc-fix.patch b/user/ayatana-ido/gtk-doc-fix.patch new file mode 100644 index 000000000..867aa0b2c --- /dev/null +++ b/user/ayatana-ido/gtk-doc-fix.patch @@ -0,0 +1,16 @@ +diff -Nurd ayatana-ido-0.4.4/configure.ac ayatana-ido-0.4.4.new/configure.ac +--- ayatana-ido-0.4.4/configure.ac 2018-08-13 05:34:25.000000000 -0500 ++++ ayatana-ido-0.4.4.new/configure.ac 2019-03-23 19:40:02.167258822 -0500 +@@ -138,7 +138,11 @@ + + dnl = GTK Doc Check =========================================================== + +-GTK_DOC_CHECK([1.8]) ++m4_ifdef([GTK_DOC_CHECK], [ ++GTK_DOC_CHECK([1.8],[]) ++],[ ++AM_CONDITIONAL([ENABLE_GTK_DOC], false) ++]) + + dnl =========================================================================== + diff --git a/user/caja-dropbox/APKBUILD b/user/caja-dropbox/APKBUILD new file mode 100644 index 000000000..17b585fbc --- /dev/null +++ b/user/caja-dropbox/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=caja-dropbox +pkgver=1.22.0 +pkgrel=0 +pkgdesc="DropBox extension for Caja" +url="https://mate-desktop.org" +arch="all" +license="GPL-3.0+" +depends="" +makedepends="caja-dev py3-docutils py3-pygobject" +subpackages="$pkgname-doc" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/caja-dropbox-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + rm "$pkgdir"/usr/lib/caja/extensions-2.0/libcaja-dropbox.a +} + +sha512sums="d21f44c0e0f7f28a963fb8611e6992b3ea58ba2ad5910e440d286ab447f2f91e4776496569eb271ed25cb2628e35d2bd80d12bf832bc76011241f6b09903a8b2 caja-dropbox-1.22.0.tar.xz" diff --git a/user/caja-extensions/APKBUILD b/user/caja-extensions/APKBUILD new file mode 100644 index 000000000..530be8356 --- /dev/null +++ b/user/caja-extensions/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=caja-extensions +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Extensions for the Caja file manager" +url="https://mate-desktop.org" +arch="all" +license="GPL-2.0+" +depends="" +makedepends="caja-dev dbus-glib-dev intltool mate-desktop-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/caja-extensions-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="19fd287123b8d2ba67b636066e9f8910aadd47d375eb1d52136d9b808b48abacade81dde490ce3edb6fc4a9d2ddfd39d9abf294a58aed8bcaf620c1eff03e761 caja-extensions-1.22.0.tar.xz" diff --git a/user/caja/APKBUILD b/user/caja/APKBUILD new file mode 100644 index 000000000..46156b522 --- /dev/null +++ b/user/caja/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=caja +pkgver=1.22.0 +pkgrel=0 +pkgdesc="File manager for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +options="!check" # testsuite requires X +license="GPL-2.0+ AND LGPL-2.0+" +depends="" +makedepends="gobject-introspection-dev intltool libexif-dev libnotify-dev + libxml2-dev mate-desktop-dev" +subpackages="$pkgname-dev $pkgname-doc" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/caja-$pkgver.tar.xz" +builddir="$srcdir/caja-$pkgver" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + + for i in icons globs globs2 XMLnamespaces magic aliases subclasses types treemagic mime.cache version generic-icons; do + rm "$pkgdir"/usr/share/mime/$i + done +} + +sha512sums="ca97a1e81cc7b061bb331d7a4574c76831dbff50bdc9ba0a162675def7278cf5dadb37aacb0e1e37a0ac2cf60df73f98353aaa36fa0e69a0097017eed5d325b6 caja-1.22.0.tar.xz" diff --git a/user/cdrtools/APKBUILD b/user/cdrtools/APKBUILD deleted file mode 100644 index 39a3021c8..000000000 --- a/user/cdrtools/APKBUILD +++ /dev/null @@ -1,34 +0,0 @@ -# Contributor: A. Wilcox <awilfox@adelielinux.org> -# Maintainer: A. Wilcox <awilfox@adelielinux.org> -pkgname=cdrtools -pkgver=3.01 -pkgrel=1 -pkgdesc="Highly portable CD/DVD/Blu-Ray command line recording software" -url="http://schilytools.sourceforge.net/" -arch="all" -options="suid" -license="CDDL-1.0" -depends="" -makedepends="attr-dev byacc expat-dev openssl-dev smake" -subpackages="$pkgname-doc" -source="https://download.sourceforge.net/cdrtools/cdrtools-$pkgver.tar.bz2" - -build() { - cd "$builddir" - smake INS_BASE=/usr -} - -check() { - cd "$builddir" - smake check -} - -package() { - cd "$builddir" - smake INS_BASE=/usr DESTDIR="$pkgdir" install - - mv "$pkgdir"/usr/share/man/man3 "$pkgdir"/usr/share/man/man3sch - rename .3 .3sch "$pkgdir"/usr/share/man/man3sch/*.3 -} - -sha512sums="54f06496e47184e324fc9d8b1153d3c806ed43c3c57e2a8d79a79afe12aa5334e82fa500fe1b1bf49307ad7dfabe687f6e1ad914fc2f0c5c429d8e6a34c293eb cdrtools-3.01.tar.bz2" diff --git a/user/cmus/APKBUILD b/user/cmus/APKBUILD index 918cef34c..0be94312e 100644 --- a/user/cmus/APKBUILD +++ b/user/cmus/APKBUILD @@ -13,7 +13,8 @@ makedepends="alsa-lib-dev faad2-dev ffmpeg-dev flac-dev libao-dev libcddb-dev libcdio-paranoia-dev libmad-dev libmodplug-dev libvorbis-dev ncurses-dev opusfile-dev pulseaudio-dev wavpack-dev" subpackages="$pkgname-doc" -source="$pkgname-$pkgver.tar.gz::https://github.com/$pkgname/$pkgname/archive/v$pkgver.tar.gz" +source="$pkgname-$pkgver.tar.gz::https://github.com/$pkgname/$pkgname/archive/v$pkgver.tar.gz + ppc-libatomic.patch" build() { cd "$builddir" @@ -60,4 +61,5 @@ package() { make DESTDIR="$pkgdir" PREFIX=/usr install } -sha512sums="cf359dfcefa833a5b10a2d16ac405672bea762b62b7177c115560127035682fba65c15b9a8710179a343d1f99212a0260b5c095542982202e2cd1bef5b0c17fc cmus-2.8.0.tar.gz" +sha512sums="cf359dfcefa833a5b10a2d16ac405672bea762b62b7177c115560127035682fba65c15b9a8710179a343d1f99212a0260b5c095542982202e2cd1bef5b0c17fc cmus-2.8.0.tar.gz +06a91da06cc916aa475467aa90bd7170c7288b68459706c3416700e79ba8707fd7a85bded0c0d5d51d805c15f59ff395670f11318ca5a419d17ab1070a48775f ppc-libatomic.patch" diff --git a/user/cmus/ppc-libatomic.patch b/user/cmus/ppc-libatomic.patch new file mode 100644 index 000000000..7107fb5db --- /dev/null +++ b/user/cmus/ppc-libatomic.patch @@ -0,0 +1,29 @@ +From 9a56c86a663e53195a32b7908cf2bd4349bad5c3 Mon Sep 17 00:00:00 2001 +From: Luis Ressel <aranea@aixah.de> +Date: Fri, 29 Mar 2019 17:16:16 +0100 +Subject: [PATCH] Link against libatomic on ppc32. DO NOT UPSTREAM. + +Assuming that we'll always need libatomic on ppc32, but never elsewhere +is hideous and broken, but gcc is making it a huge pain to handle this +properly. +--- + configure | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/configure b/configure +index e76acdd..2cd5d45 100755 +--- a/configure ++++ b/configure +@@ -98,6 +98,9 @@ check_compat() + CONFIG_CYGWIN=y + makefile_vars CONFIG_CYGWIN + esac ++ ++ test ppc = "$(uname -m)" && try_link -latomic && COMPAT_LIBS="$COMPAT_LIBS -latomic" ++ + makefile_vars COMPAT_LIBS + } + +-- +2.21.0 + diff --git a/user/dconf/APKBUILD b/user/dconf/APKBUILD new file mode 100644 index 000000000..988cfbae5 --- /dev/null +++ b/user/dconf/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=dconf +pkgver=0.32.0 +pkgrel=0 +pkgdesc="Configuration management for the Gnome desktop environment" +url="https://gnome.org" +arch="all" +license="LGPL-2.0+ AND LGPL-2.1+" +depends="dbus" +makedepends="meson ninja + bash-completion dbus-dev docbook-xsl libxslt-dev python3-dev vala-dev" +subpackages="$pkgname-dev $pkgname-doc" +source="https://download.gnome.org/sources/dconf/${pkgver%.*}/dconf-$pkgver.tar.xz" + +build() { + cd "$builddir" + meson \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --buildtype=release \ + . output + ninja -C output +} + +check() { + cd "$builddir" +} + +package() { + cd "$builddir" + DESTDIR="$pkgdir" ninja -C output install +} + +sha512sums="09ae65ad365947aed24228b94978b290060264e55b443d18a743e943627703c92e16e3a5ca8a0aaf3549f7a1d5aad77bdc285d4c8519db705d3104ec22b111a0 dconf-0.32.0.tar.xz" diff --git a/user/dosbox/APKBUILD b/user/dosbox/APKBUILD index 0b9418d50..e8674b531 100644 --- a/user/dosbox/APKBUILD +++ b/user/dosbox/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Horst Burkhardt <horst@adelielinux.org> pkgname=dosbox pkgver=0.82.7 -pkgrel=1 +pkgrel=2 pkgdesc="Emulator for MS-DOS games" url="https://github.com/joncampbell123/dosbox-x/" arch="all !s390x" @@ -15,6 +15,7 @@ source="https://github.com/joncampbell123/dosbox-x/archive/dosbox-x-wip-20180513 asmfix.patch posix-headers.patch constness.patch + gcc8-pmmx.patch " builddir="$srcdir/dosbox-x-dosbox-x-wip-20180513-1316" @@ -40,4 +41,5 @@ sha512sums="38b7423b695f3b0dfd26f8c8913f26afba73ea6235bb205ec3a5d7f08ef3c74a9b6c daf0efea03d6295f5a20d8d197f7d0ba38e0608edcfe8be19fc6091b783885d523557674f0f7df83b88186b77794723106cf7a0e02125d2cc75ecfd7d51fa91d porttalk-fix.patch 266ede57d21030f7752287f18660b47e9185a9aef9d022337dded9c9ce93e572691b41aca878f8a28c67bf5d217c7e84912336c21aacf594085dc31d99862ebf asmfix.patch 462e84d5bac8fb2c1317b303d1bdda72a50e9eedfb5251450cb8d0f98f4297d6a483eb2c95624cbc8d25e917788032dd1e7d8b0d06d82dad6600f8bd6eec85f4 posix-headers.patch -775d8f209ea04a81fda5c3dcf8186b529248befb962019c66e60344a5e07c95462f9cc4acf0f82c44635fc86f1b4817030792a1900d36e6d911b6f782722f320 constness.patch" +775d8f209ea04a81fda5c3dcf8186b529248befb962019c66e60344a5e07c95462f9cc4acf0f82c44635fc86f1b4817030792a1900d36e6d911b6f782722f320 constness.patch +0e23ccef2c238583b1fbbf598da95f6e5f805edef37bd08d0d0c4a69e92f11b935b94dd3a8d889dc9587ec264b8540169b2858116f20d8467c345a179893090d gcc8-pmmx.patch" diff --git a/user/dosbox/gcc8-pmmx.patch b/user/dosbox/gcc8-pmmx.patch new file mode 100644 index 000000000..3b86802ed --- /dev/null +++ b/user/dosbox/gcc8-pmmx.patch @@ -0,0 +1,32 @@ +From 771f1c8304253fcb95aef54da739f43712aea726 Mon Sep 17 00:00:00 2001 +From: Jonathan Campbell <jonathan@castus.tv> +Date: Sun, 20 May 2018 19:30:58 -0700 +Subject: [PATCH] Suddenly MinGW GCC 7.3.0 does not allow the dynamic core to + declare EBP clobbered. Fix dynamic core entry appropriately + +--- + src/cpu/core_dyn_x86/risc_x86.h | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/cpu/core_dyn_x86/risc_x86.h b/src/cpu/core_dyn_x86/risc_x86.h +index dea5ae0ca..d2a847a4f 100644 +--- a/src/cpu/core_dyn_x86/risc_x86.h ++++ b/src/cpu/core_dyn_x86/risc_x86.h +@@ -130,13 +130,15 @@ static BlockReturn gen_runcode(Bit8u * code) { + #else + register Bit32u tempflags=reg_flags & FMASK_TEST; + __asm__ volatile ( ++ "pushl %%ebp \n" +- "call 1f ; 1: addl $run_return_adress-.,(%%esp) \n" ++ "pushl $(run_return_adress) \n" + "pushl %2 \n" + "jmp *%3 \n" + "run_return_adress: \n" ++ "popl %%ebp \n" + :"=a" (retval), "=c" (tempflags) + :"r" (tempflags),"r" (code) +- :"%edx","%ebx","%edi","%esi","%ebp","cc","memory" ++ :"%edx","%ebx","%edi","%esi"/*,"%ebp"*/,"cc","memory" /* NTS: GCC 7.3.0 MinGW suddenly will not allow this code to declare EBP clobbered */ + ); + reg_flags=(reg_flags & ~FMASK_TEST) | (tempflags & FMASK_TEST); + #endif diff --git a/user/enchant/APKBUILD b/user/enchant/APKBUILD index f2ddc1c65..57b0bf6c1 100644 --- a/user/enchant/APKBUILD +++ b/user/enchant/APKBUILD @@ -5,6 +5,7 @@ pkgrel=0 pkgdesc="A wrapper library for generic spell checking" url="https://abiword.github.io/enchant/" arch="all" +options="!check" # Requires dictionary that it can't find license="LGPL-2.0+" subpackages="$pkgname-dev $pkgname-doc" depends="" diff --git a/user/engrampa/APKBUILD b/user/engrampa/APKBUILD new file mode 100644 index 000000000..e2e84c8b6 --- /dev/null +++ b/user/engrampa/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=engrampa +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Archive manager for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="GPL-2.0+ AND LGPL-2.0+" +depends="" +makedepends="caja-dev file-dev gtk+3.0-dev intltool itstool json-glib-dev + libsm-dev libxml2-utils" +subpackages="$pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/engrampa-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --enable-magic + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="7b4c3b85184c1530ec72eba174ee571cc14490c88f5fef1232acd4197f1020107f5172d6d4271753f9f6fcfadcf049273095b3dfbcef6fdd25a51ad8d2e17382 engrampa-1.22.0.tar.xz" diff --git a/user/eom/APKBUILD b/user/eom/APKBUILD new file mode 100644 index 000000000..f6479a1f6 --- /dev/null +++ b/user/eom/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=eom +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Image viewer for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="GPL-2.0+ AND LGPL-2.0+ AND GPL-2.0-only" +depends="" +makedepends="gobject-introspection-dev gtk+3.0-dev intltool itstool + mate-desktop-dev libjpeg-turbo-dev libexif-dev libpeas-dev librsvg-dev + libxml2-dev libxml2-utils" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/eom-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="1e086d1e2a0adc02978ffb45a4636e9b614a52d53a7a821af4050029f3fa3a774c29c2d43b5f2e0c58a100311eccc34e9424caf44e7e2139b4fa8d695b77cea0 eom-1.22.0.tar.xz" diff --git a/user/evince/APKBUILD b/user/evince/APKBUILD index 9f9e7172e..c1b07dc43 100644 --- a/user/evince/APKBUILD +++ b/user/evince/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=evince pkgver=3.31.4 -pkgrel=0 +pkgrel=1 pkgdesc="GNOME document viewer" url="https://wiki.gnome.org/Apps/Evince" arch="all" @@ -13,7 +13,7 @@ makedepends="djvulibre-dev glib-dev gobject-introspection-dev gtk+3.0-dev itstool libarchive-dev libexecinfo-dev libgxps-dev libsecret-dev libspectre-dev libxml2-dev libxml2-utils poppler-dev tiff-dev zlib-dev" -subpackages="$pkgname-doc $pkgname-lang" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" source="https://ftp.gnome.org/pub/gnome/sources/evince/3.31/evince-$pkgver.tar.xz" build() { diff --git a/user/featherpad/APKBUILD b/user/featherpad/APKBUILD index 85110b2c9..fc73865e7 100644 --- a/user/featherpad/APKBUILD +++ b/user/featherpad/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=featherpad -pkgver=0.9.3 +pkgver=0.9.4 pkgrel=0 pkgdesc="Featureful Qt-based text editor" url="https://github.com/tsujan/FeatherPad" @@ -31,4 +31,4 @@ package() { make INSTALL_ROOT="$pkgdir" PREFIX=/usr install } -sha512sums="f06749b0ab57e6869bb6568367a7ef777a0f91c6a9229fe7892e720f48020ceac36d6948159b0516f4d1c920bff4ceb23f6b29a492d58908305856d2f03c2d36 FeatherPad-0.9.3.tar.gz" +sha512sums="95fe137ccc0de49bb464b15aec586287e46b04ff2fe636d6092e39a6c5e3d633ca0b809181a728a8931a6628cdcf51cd0b91d8dfa58eee6a551fb3ec4ff42280 FeatherPad-0.9.4.tar.gz" diff --git a/user/freetype/0001-Enable-table-validation-modules.patch b/user/freetype/0001-Enable-table-validation-modules.patch deleted file mode 100644 index 3e9451fa8..000000000 --- a/user/freetype/0001-Enable-table-validation-modules.patch +++ /dev/null @@ -1,34 +0,0 @@ -From c3680bf8d38cf759c1e33dcc2d2d51e0a4fea2f9 Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> -Date: Tue, 23 Jun 2015 08:40:29 +0200 -Subject: [PATCH 1/3] Enable table validation modules - ---- - modules.cfg | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/modules.cfg b/modules.cfg -index f30049c38cc45159..7b8e50fe1b34584a 100644 ---- a/modules.cfg -+++ b/modules.cfg -@@ -120,7 +120,7 @@ AUX_MODULES += cache - # TrueType GX/AAT table validation. Needs ftgxval.c below. - # - # No FT_CONFIG_OPTION_PIC support. --# AUX_MODULES += gxvalid -+AUX_MODULES += gxvalid - - # Support for streams compressed with gzip (files with suffix .gz). - # -@@ -143,7 +143,7 @@ AUX_MODULES += bzip2 - # OpenType table validation. Needs ftotval.c below. - # - # No FT_CONFIG_OPTION_PIC support. --# AUX_MODULES += otvalid -+AUX_MODULES += otvalid - - # Auxiliary PostScript driver component to share common code. - # --- -2.9.3 - diff --git a/user/freetype/0002-Enable-subpixel-rendering.patch b/user/freetype/0002-Enable-subpixel-rendering.patch deleted file mode 100644 index dfb57966e..000000000 --- a/user/freetype/0002-Enable-subpixel-rendering.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 96f09f08417887b2618c177bccfb6da2906568d9 Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> -Date: Tue, 23 Jun 2015 08:43:07 +0200 -Subject: [PATCH 2/3] Enable subpixel rendering - ---- - include/freetype/config/ftoption.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h -index 90c123ef93e9ea04..67a361dd41e0b026 100644 ---- a/include/freetype/config/ftoption.h -+++ b/include/freetype/config/ftoption.h -@@ -122,7 +122,7 @@ FT_BEGIN_HEADER - /* This is done to allow FreeType clients to run unmodified, forcing */ - /* them to display normal gray-level anti-aliased glyphs. */ - /* */ --/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */ -+#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING - - - /*************************************************************************/ --- -2.9.3 - diff --git a/user/freetype/0003-Enable-infinality-subpixel-hinting.patch b/user/freetype/0003-Enable-infinality-subpixel-hinting.patch deleted file mode 100644 index bbfa2a2cd..000000000 --- a/user/freetype/0003-Enable-infinality-subpixel-hinting.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 220e96a9a8d7aff6ad0f0f1aa12c79cdb563331c Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> -Date: Mon, 29 Aug 2016 08:43:10 +0200 -Subject: [PATCH 3/3] Enable infinality subpixel hinting - ---- - include/freetype/config/ftoption.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h -index 67a361dd41e0b026..c4812862518b66a6 100644 ---- a/include/freetype/config/ftoption.h -+++ b/include/freetype/config/ftoption.h -@@ -675,8 +675,8 @@ FT_BEGIN_HEADER - /* [1] http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx */ - /* */ - /* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 1 */ --#define TT_CONFIG_OPTION_SUBPIXEL_HINTING 2 --/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 ) */ -+/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 2 */ -+#define TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 ) - - - /*************************************************************************/ --- -2.9.3 - diff --git a/user/freetype/0004-Enable-long-PCF-family-names.patch b/user/freetype/0004-Enable-long-PCF-family-names.patch deleted file mode 100644 index 675423a7c..000000000 --- a/user/freetype/0004-Enable-long-PCF-family-names.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 62da6a0f7f5cb77859a793863c386c452411e2a6 Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> -Date: Sun, 14 May 2017 18:09:31 +0200 -Subject: [PATCH 4/4] Enable long PCF family names - ---- - include/freetype/config/ftoption.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h -index ebb44acdbbef9a47..0b39b417162707e4 100644 ---- a/include/freetype/config/ftoption.h -+++ b/include/freetype/config/ftoption.h -@@ -865,7 +865,7 @@ FT_BEGIN_HEADER - /* If this option is activated, it can be controlled with the */ - /* `no-long-family-names' property of the pcf driver module. */ - /* */ --/* #define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */ -+#define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES - - - /*************************************************************************/ --- -2.13.0 - diff --git a/user/freetype/40-memcpy-fix.patch b/user/freetype/40-memcpy-fix.patch deleted file mode 100644 index 89e61cd0b..000000000 --- a/user/freetype/40-memcpy-fix.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- ./src/psaux/psobjs.c~ 2006-04-26 16:38:17.000000000 +0200 -+++ ./src/psaux/psobjs.c 2006-09-10 15:01:13.000000000 +0200 -@@ -165,6 +165,11 @@ - return PSaux_Err_Invalid_Argument; - } - -+ if ( length < 0 ) { -+ FT_ERROR(( "ps_table_add: invalid length\n" )); -+ return PSaux_Err_Invalid_Argument; -+ } -+ - /* grow the base block if needed */ - if ( table->cursor + length > table->capacity ) - { diff --git a/user/freetype/APKBUILD b/user/freetype/APKBUILD index 652bef747..b2f5cd66e 100644 --- a/user/freetype/APKBUILD +++ b/user/freetype/APKBUILD @@ -1,25 +1,17 @@ # Contributor: Carlo Landmeter <clandmeter@gmail.com> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=freetype -pkgver=2.9.1 -pkgrel=2 +pkgver=2.10.0 +pkgrel=0 pkgdesc="TrueType font rendering library" url="https://www.freetype.org/" arch="all" license="FTL OR GPL-2.0+" options="!check" depends="" -depends_dev="" -makedepends="$depends_dev zlib-dev libpng-dev bzip2-dev" +makedepends="zlib-dev libpng-dev bzip2-dev" subpackages="$pkgname-dev $pkgname-doc" -source="http://download.savannah.gnu.org/releases/freetype/freetype-$pkgver.tar.bz2 - 40-memcpy-fix.patch - 0001-Enable-table-validation-modules.patch - 0003-Enable-infinality-subpixel-hinting.patch - 0004-Enable-long-PCF-family-names.patch - - freetype-profile.sh - " +source="http://download.savannah.gnu.org/releases/freetype/freetype-$pkgver.tar.bz2" # secfixes: # 2.9.1-r0: @@ -29,7 +21,6 @@ source="http://download.savannah.gnu.org/releases/freetype/freetype-$pkgver.tar. # - CVE-2017-8287 build() { - cd "$builddir" ./configure \ --build=$CBUILD \ --host=$CHOST \ @@ -43,11 +34,7 @@ build() { } package() { - cd "$builddir" make DESTDIR="$pkgdir" install - - install -Dm644 "$srcdir"/freetype-profile.sh \ - "$pkgdir"/etc/profile.d/freetype.sh } doc() { @@ -55,9 +42,4 @@ doc() { default_doc } -sha512sums="856766e1f3f4c7dc8afb2b5ee991138c8b642c6a6e5e007cd2bc04ae58bde827f082557cf41bf541d97e8485f7fd064d10390d1ee597f19d1daed6c152e27708 freetype-2.9.1.tar.bz2 -9981be8a3ea6f2cf856860b87a4e895e4610c9d5ea4beb611815e757e6080e060f6853ace02dd8ea55e5888cdf4bae5ad5eadd2d8a123754bb3c0bfe7ef41dea 40-memcpy-fix.patch -41a84be2631b53072a76b78c582575aa48b650ee7b00017d018381002bc25df10cf33da4954c95ef50db39f1fa566678e3b4ae9bfee1dfd705423fb53e53e494 0001-Enable-table-validation-modules.patch -7b52a3d67750d59b2c98e83dab4e0a0ab263142c2ca7bd5f8be5f8fe9cd1dc1f4debad44111c7886665329d8d2a3163756455618a6615df8f85d82bb0372d4dd 0003-Enable-infinality-subpixel-hinting.patch -64c20fbcbf48372ea35fe2e0dae8fec4be8c601c899a4a71913060c6ea4082a2f41d69701da511e09fee126bf198d560986469e2356bd088d2dd5961f437df63 0004-Enable-long-PCF-family-names.patch -7100cde5b2ca16bfbe968fce3e2eba5ba49e6ed53792d5db889c8d89e572d7d80da1338ccc9eeb9b243664ca2337467e9f73c1074bee0b34c417f6c7832ed390 freetype-profile.sh" +sha512sums="dfad66f419ea9577f09932e0730c0c887bdcbdbc8152fa7477a0c39d69a5b68476761deed6864ddcc5cf18d100a7a3f728049768e24afcb04b1a74b25b6acf7e freetype-2.10.0.tar.bz2" diff --git a/user/freetype/freetype-profile.sh b/user/freetype/freetype-profile.sh deleted file mode 100644 index a4cc6423b..000000000 --- a/user/freetype/freetype-profile.sh +++ /dev/null @@ -1,12 +0,0 @@ -# Subpixel hinting mode can be chosen by setting the right TrueType interpreter -# version. The available settings are: -# -# truetype:interpreter-version=35 # Classic mode (default in 2.6) -# truetype:interpreter-version=38 # Infinality mode -# truetype:interpreter-version=40 # Minimal mode (default in 2.7) -# -# There are more properties that can be set, separated by whitespace. Please -# refer to the FreeType documentation for details. - -# Uncomment and configure below -export FREETYPE_PROPERTIES="truetype:interpreter-version=38" diff --git a/user/giblib/APKBUILD b/user/giblib/APKBUILD index dcc509921..22f125ef3 100644 --- a/user/giblib/APKBUILD +++ b/user/giblib/APKBUILD @@ -10,7 +10,7 @@ subpackages="$pkgname-doc $pkgname-dev" depends="" depends_dev="freetype-dev imlib2-dev libx11-dev libxext-dev zlib-dev" makedepends="$depends_dev" -source="https://distfiles.gentoo.org/distfiles/$pkgname-$pkgver.tar.gz" +source="http://distfiles.gentoo.org/distfiles/$pkgname-$pkgver.tar.gz" prepare() { cd "$builddir" diff --git a/user/glib-networking/APKBUILD b/user/glib-networking/APKBUILD index 8cb1a8019..40c86ad5c 100644 --- a/user/glib-networking/APKBUILD +++ b/user/glib-networking/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: pkgname=glib-networking -pkgver=2.58.0 -_ver=2.58 +pkgver=2.60.0.1 +_ver=2.60 pkgrel=0 pkgdesc="Networking support for GLib" url="https://www.gnome.org/" @@ -37,4 +37,4 @@ package() { rm -f "$pkgdir"/usr/lib/gio/modules/*.a } -sha512sums="d9cfd97ef9905eceb1f807a7d18c648fcf148214bf3fc55c718c5bcd6fb0afc429ab5b7bf72e83cf959d5ce7f145ce17952c1288d4225cc99d3c6ad66e4494ff glib-networking-2.58.0.tar.xz" +sha512sums="98a34a14cdbbcb4a9496bce807e7720dd9e103adbacd5dc44439d5fcaf02eef12c0385df95767d7603587331b84c7ad4a677f47b00583a46f15a022572a3690f glib-networking-2.60.0.1.tar.xz" diff --git a/user/glibmm/APKBUILD b/user/glibmm/APKBUILD index e5dfbfd14..9ceb52bb2 100644 --- a/user/glibmm/APKBUILD +++ b/user/glibmm/APKBUILD @@ -1,14 +1,14 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=glibmm -pkgver=2.58.0 +pkgver=2.60.0 pkgrel=0 pkgdesc="C++ interfaces for glib" url="https://gnome.org" arch="all" license="GPL-2.0+ AND LGPL-2.1+" depends="glib-networking" -makedepends="glib-dev libsigc++-dev" +makedepends="glib-dev>=2.60.0 libsigc++-dev" subpackages="$pkgname-dev $pkgname-doc" source="https://download.gnome.org/sources/glibmm/${pkgver%.*}/glibmm-$pkgver.tar.xz" @@ -34,4 +34,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="e376462cdf1a60ed7d7750115200162016f57797674bbf7291c11b8754a6e4394eb1e2948ce4e37247438120dba4e18f5cf9c543963c1e97d8561d174d5ae7df glibmm-2.58.0.tar.xz" +sha512sums="ea0477d5cb6e59019e87f929630ff32ac38dd5e4fb53fe84ef64b5b41c1090c8e10a0a67b26c786ab4d9ebf64b993fa0044333b4aa8554c331a0a6d02039c5ad glibmm-2.60.0.tar.xz" diff --git a/user/gnutls/APKBUILD b/user/gnutls/APKBUILD index 8924c70e8..94e741c25 100644 --- a/user/gnutls/APKBUILD +++ b/user/gnutls/APKBUILD @@ -2,7 +2,7 @@ # Contributor: Michael Mason <ms13sp@gmail.com> # Maintainer: pkgname=gnutls -pkgver=3.6.6 +pkgver=3.6.7 pkgrel=0 pkgdesc="A TLS protocol implementation" url="http://www.gnutls.org/" @@ -72,5 +72,5 @@ xx() { mv "$pkgdir"/usr/lib/lib*xx.so.* "$subpkgdir"/usr/lib/ } -sha512sums="4ff34f38d7dc543bc5750d8fdfe9be84af60c66e8d41da45f6cffc11d6c6c726784fd2d471b3416604ca1f3f9efb22ff7a290d5c92c96deda38df6ae3e794cc1 gnutls-3.6.6.tar.xz +sha512sums="ae9b8996eb9b7269d28213f0aca3a4a17890ba8d47e3dc3b8e754ab8e2b4251e9412aaaa161a8bf56167f04cc169b4cada46f55a7bde92b955eb36cd717a99f3 gnutls-3.6.7.tar.xz abc24ee59cc67805fe953535b0bae33080fc8b0bf788304377f6d10ec8c162c4cf203a69c98a4ba3483b4c60ed7a204433cc7db9b8190eddb0d68f6fb6dad52d gnulib-tests-dont-require-gpg-passphrase.patch" diff --git a/user/gobject-introspection/APKBUILD b/user/gobject-introspection/APKBUILD index c8f5fc03a..1e97e0eb5 100644 --- a/user/gobject-introspection/APKBUILD +++ b/user/gobject-introspection/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: pkgname=gobject-introspection -pkgver=1.58.3 +pkgver=1.60.0 pkgrel=0 pkgdesc="Introspection system for GObject-based libraries" url="https://wiki.gnome.org/action/show/Projects/GObjectIntrospection" @@ -13,9 +13,7 @@ makedepends="$depends_dev bison flex glib-dev libffi-dev meson ninja python3-dev checkdepends="sed" subpackages="$pkgname-doc $pkgname-dev" replaces="libgirepository" -source="https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz - we-are-in-a-pickle.patch - " +source="https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz" prepare() { cd "$builddir" @@ -48,5 +46,4 @@ dev() { replaces="gobject-introspection" } -sha512sums="0811cd08e224975b3aa55ae89d648fc65f3105cae8a077a5671593d84743b1db28e9fbffe53fc86a2b3e82ea98c35f3daae033d3df07c7020cc3bf8b5d94f796 gobject-introspection-1.58.3.tar.xz -106e36c04ab9035b92d7f34251c3af2c37fbbc538d2b96027735565df74314eb90a93288f1bc62c08742ff6ba525d72ea03306e3b32f48724a09548788466d3d we-are-in-a-pickle.patch" +sha512sums="858cf12b1a606be4ec884444ef0c9f05aaaf75d4f547dde489c4eef35d125a66d3d1b7c3cd879bae0f01bc0fb75dd3473a1e1bc9f66241f32ac27b0a35a06901 gobject-introspection-1.60.0.tar.xz" diff --git a/user/gpgme/APKBUILD b/user/gpgme/APKBUILD index bb97598e4..c541b7af7 100644 --- a/user/gpgme/APKBUILD +++ b/user/gpgme/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=gpgme pkgver=1.12.0 -pkgrel=1 +pkgrel=2 pkgdesc="GnuPG Made Easy" url="https://www.gnupg.org/related_software/gpgme/" arch="all" @@ -13,7 +13,9 @@ depends_dev="libgpg-error-dev libassuan-dev qt5-qtbase-dev" makedepends="$depends_dev doxygen python3-dev swig cmd:which" subpackages="$pkgname-dev $pkgname-doc gpgmepp qgpgme py3-gpg:_py" source="https://gnupg.org/ftp/gcrypt/$pkgname/$pkgname-$pkgver.tar.bz2 - 1.12.0-fix-t-tofuinfo.patch" + 1.12.0-fix-t-tofuinfo.patch + test32bit.patch + " build() { cd "$builddir" @@ -60,4 +62,5 @@ _py() { } sha512sums="c228b3df28377df882be536ada56dc9c73150048a58e591aa4495f89c854af95820152cd60139840f994c249e9c7df50d8b89eb9d6dc4ce02aa80bbfebcdd014 gpgme-1.12.0.tar.bz2 -c8748651021a6ea670329cffb9565b905272b092315e77dc6fa9fa23890f8a55c2159edbfa026e8af961f2ff0c0d524dc8332a2e9a24fce2b37ac7cc4bb88cb3 1.12.0-fix-t-tofuinfo.patch" +c8748651021a6ea670329cffb9565b905272b092315e77dc6fa9fa23890f8a55c2159edbfa026e8af961f2ff0c0d524dc8332a2e9a24fce2b37ac7cc4bb88cb3 1.12.0-fix-t-tofuinfo.patch +26bb302f462d7164842acea38080b3937b0b7b11d12fcfe1a61d656a41c993474dc7d9ca2298f936b030874a2f59f85b2189b11087f8b39d4c685a9a4e5d9450 test32bit.patch" diff --git a/user/gpgme/test32bit.patch b/user/gpgme/test32bit.patch new file mode 100644 index 000000000..49dafdddb --- /dev/null +++ b/user/gpgme/test32bit.patch @@ -0,0 +1,93 @@ +From 651a1afe80bcc421da26f38015e8a322e140f130 Mon Sep 17 00:00:00 2001 +From: Ben McGinnes <ben@adversary.org> +Date: Sat, 20 Oct 2018 11:07:55 +1100 +Subject: [PATCH] python bindings: callback test + +* lang/python/tests/t-callbacks.py: Updated test logic to try + generating a key which expires in 2099 and if that fails then + fallback to an expiration in 2037 in an attempt to catch the 32-bit + systems. +--- + lang/python/tests/t-callbacks.py | 32 ++++++++++++++++++++++++++++++-- + 1 file changed, 30 insertions(+), 2 deletions(-) + +diff --git a/lang/python/tests/t-callbacks.py b/lang/python/tests/t-callbacks.py +index 5bcac237..3a210dd0 100755 +--- a/lang/python/tests/t-callbacks.py ++++ b/lang/python/tests/t-callbacks.py +@@ -20,12 +20,14 @@ + from __future__ import absolute_import, print_function, unicode_literals + + import os ++import platform + import gpg + import support + _ = support # to appease pyflakes. + + del absolute_import, print_function, unicode_literals + ++oops = None + c = gpg.Context() + c.set_pinentry_mode(gpg.constants.PINENTRY_MODE_LOOPBACK) + +@@ -99,6 +101,17 @@ Expire-Date: 2099-12-31 + </GnupgKeyParms> + """ + ++prams = """<GnupgKeyParms format="internal"> ++Key-Type: RSA ++Key-Length: 1024 ++Name-Real: Joe Tester ++Name-Comment: with stupid passphrase ++Name-Email: joe+gpg@example.org ++Passphrase: Crypt0R0cks ++Expire-Date: 2037-12-31 ++</GnupgKeyParms> ++""" ++ + messages = [] + + +@@ -111,7 +124,10 @@ def progress_cb(what, typ, current, total, hook=None): + + c = gpg.Context() + c.set_progress_cb(progress_cb, messages) +-c.op_genkey(parms, None, None) ++try: ++ c.op_genkey(parms, None, None) ++except Exception as oops: ++ c.op_genkey(prams, None, None) + assert len(messages) > 0 + + +@@ -123,7 +139,10 @@ def progress_cb(what, typ, current, total, hook=None): + c = gpg.Context() + c.set_progress_cb(progress_cb, None) + try: +- c.op_genkey(parms, None, None) ++ try: ++ c.op_genkey(parms, None, None) ++ except Exception as oops: ++ c.op_genkey(prams, None, None) + except Exception as e: + assert e == myException + else: +@@ -139,6 +158,15 @@ alpha = c.get_key("A0FF4590BB6122EDEF6E3C542D727CC768697734", False) + cookie = object() + edit_cb_called = False + ++def oops_check(): ++ if oops is not None and platform.architecture()[0] != "64bit": ++ y2k38_msg = "System appears to be 32-bit and vulnerable to EOL in 2038." ++ elif oops is not None and platform.architecture()[0] == "64bit": ++ y2k38_msg = "System appears to be 64-bit, but may use 32-bit time." ++ else: ++ y2k38_msg = "System is 64-bit and/or not susceptible to 2038 EOL." ++ return y2k38_msg ++ + + def edit_cb(status, args, hook): + global edit_cb_called +-- +2.11.0 + diff --git a/user/gsettings-desktop-schemas/APKBUILD b/user/gsettings-desktop-schemas/APKBUILD index 83bdc123e..185d15bdf 100644 --- a/user/gsettings-desktop-schemas/APKBUILD +++ b/user/gsettings-desktop-schemas/APKBUILD @@ -1,13 +1,13 @@ # Maintainer: pkgname=gsettings-desktop-schemas -pkgver=3.28.1 +pkgver=3.32.0 pkgrel=0 pkgdesc="GSettings schemas shared by GNOME desktop components" url="https://developer.gnome.org/gio/unstable/GSettings.html" arch="noarch" license="LGPL-2.0-or-later" -makedepends="glib-dev gobject-introspection-dev intltool" -subpackages="$pkgname-dev" +makedepends="glib-dev gobject-introspection-dev intltool meson ninja" +subpackages="$pkgname-dev $pkgname-lang" source="https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz" prepare() { @@ -18,24 +18,19 @@ prepare() { build() { cd "$builddir" - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --disable-nls - make + mkdir -p build && cd build + meson -Dprefix=/usr .. + ninja } check() { - cd "$builddir" - make check + cd "$builddir"/build + ninja test } package() { - cd "$builddir" - make install DESTDIR="$pkgdir" + cd "$builddir"/build + DESTDIR="$pkgdir" ninja install } dev() { @@ -47,4 +42,4 @@ dev() { } -sha512sums="2bf3260e976943e9d1e51feda62ef1e432870a6d9b34881afbdf99ddbe4954e5dd679697e152e793a0b38492dbbc4891018f7aa8cd4e703d05a8647cc5a56785 gsettings-desktop-schemas-3.28.1.tar.xz" +sha512sums="cf1d78a8f9f1697e20c995286b50d556c2ecc83bf4b28be19b3258a724494a2827fb9567cabf29cda1c590488fd2645e905072e08321766c8bdddd22ac3710dc gsettings-desktop-schemas-3.32.0.tar.xz" diff --git a/user/gtk+3.0/APKBUILD b/user/gtk+3.0/APKBUILD index ea1c05d69..0504053e6 100644 --- a/user/gtk+3.0/APKBUILD +++ b/user/gtk+3.0/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: pkgname=gtk+3.0 -pkgver=3.24.5 +pkgver=3.24.7 pkgrel=0 pkgdesc="The GTK+ Toolkit (v3)" url="https://www.gtk.org/" @@ -53,4 +53,4 @@ package() { rm -f "$pkgdir"/usr/share/man/man1/gtk-update-icon-cache.1 } -sha512sums="344988c9e2a2d7fd2fd1e367a113be7c4a32c28c9cf395aeab923e25256b99856091d1583d3f8557aac6919a930a4d0af69b966486caab559c7d9d22585cc1a1 gtk+-3.24.5.tar.xz" +sha512sums="2605087c3e09c81192769e6c4bcc4374e0fadbc4d05433edeaefd9915e128ff925c64fb3d07799bacccb16d85d31e53936ac09c696a09349efa6e21d886074c5 gtk+-3.24.7.tar.xz" diff --git a/user/gtksourceview-3.0/APKBUILD b/user/gtksourceview-3.0/APKBUILD index ca4fd1c32..12ec22e9c 100644 --- a/user/gtksourceview-3.0/APKBUILD +++ b/user/gtksourceview-3.0/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=gtksourceview-3.0 -pkgver=3.24.9 +pkgver=3.24.10 pkgrel=0 pkgdesc="Source viewer widget for GTK+ 3.0" url="https://gnome.org" @@ -36,4 +36,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="29b58afba1c0b473205cf7070997139d2ca07cf68d40185aa76fa59c900ad21c03ccb79dec9970e5f96743cfdb5a7d926b21a9947244bc8cf8cbd1033467cd01 gtksourceview-3.24.9.tar.xz" +sha512sums="990935ed7c3b10a1659cf22bd36eb71e76088768f7b70234b50465f542592720bb6b206746e0606c96ab99ba0208535fc6073b4f6c0f3427acd0ab5a43420d46 gtksourceview-3.24.10.tar.xz" diff --git a/user/gucharmap/APKBUILD b/user/gucharmap/APKBUILD new file mode 100644 index 000000000..9a3d7bfcf --- /dev/null +++ b/user/gucharmap/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=gucharmap +pkgver=12.0.1 +_unicode=12.0.0 +pkgrel=0 +pkgdesc="Unicode utility for the Gnome desktop environment" +url="https://gnome.org" +arch="all" +license="GPL-3.0+" +depends="" +makedepends="desktop-file-utils gobject-introspection-dev gtk+3.0-dev intltool + itstool libxml2-utils unicode-data" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +source="https://download.gnome.org/sources/gucharmap/${pkgver%.*}/gucharmap-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --with-unicode-data=/usr/share/unicode/$_unicode + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="989034350c73c3f1857167f434aa4a5c140ef7574cb799b874e421a8d0c2bf520dfcee85bc0cf8e52f439fb7d30e0db5172a25c107c80b38ce6da4e703a3ffc2 gucharmap-12.0.1.tar.xz" diff --git a/user/gvim/APKBUILD b/user/gvim/APKBUILD index 0d0b4af59..a31e6eee5 100644 --- a/user/gvim/APKBUILD +++ b/user/gvim/APKBUILD @@ -5,7 +5,7 @@ # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=gvim _pkgreal=vim -pkgver=8.1.0952 +pkgver=8.1.1073 pkgrel=0 pkgdesc="advanced text editor" url="http://www.vim.org" @@ -74,4 +74,4 @@ package() { ln -s gvim rgvim } -sha512sums="485d839901b3d1fc8efcc035991d5f34849f6d05d9c556dcf5b2918cd01e7f7b490cd0a7eb976c7577adb41962dceea4552474103f0b3c7807311d07f8158bd1 vim-8.1.0952.tar.gz" +sha512sums="74d13063853677aaff795925414baa293819ccd20e3deb7013c134b42434e8abd14db1645116b20081f80bcb3dfd9a1e0c6b210ed9af62a4cf19c183025c9779 vim-8.1.1073.tar.gz" diff --git a/user/icewm/APKBUILD b/user/icewm/APKBUILD index c74eaf649..78975e205 100644 --- a/user/icewm/APKBUILD +++ b/user/icewm/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=icewm -pkgver=1.5.2 +pkgver=1.5.3 pkgrel=0 pkgdesc="A window manager designed for speed, usability, and consistency" url="https://github.com/bbidulock/icewm" @@ -44,4 +44,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="f2a542d162e984dcc6f7b8e3fc2dbd7df46510f961431b4c3b6651351f7b236ef4724a07ce01dfa163b08c9a130e7ee3ed62e1c5b1f364340998d31290323614 icewm-1.5.2.tar.xz" +sha512sums="3fb7bb3002687fc3105c61f062600015cf59173e054e3dc3dc1af4ec960991790bbb5b4ba842e9c67c8f73fb8189ae76772f3df58fd679884c85239e6d93a3cb icewm-1.5.3.tar.xz" diff --git a/user/imagemagick/APKBUILD b/user/imagemagick/APKBUILD index a96496fcc..f06e32d6c 100644 --- a/user/imagemagick/APKBUILD +++ b/user/imagemagick/APKBUILD @@ -2,7 +2,7 @@ # Contributor: Carlo Landmeter <clandmeter@gmail.com> # Maintainer: pkgname=imagemagick -pkgver=7.0.8.32 +pkgver=7.0.8.35 _abiver=7 _pkgver=${pkgver%.*}-${pkgver##*.} pkgrel=0 @@ -81,4 +81,4 @@ _cxx() { mv "$pkgdir"/usr/lib/libMagick++*.so.* "$subpkgdir"/usr/lib/ } -sha512sums="ca33135795c78479557526403140b5feb1c1e39c57b5b94f1f7bc2f4cef65e975dcd760c08be965882d0498011a18d6aff5567c485c54a188b3e36ee542c5e56 ImageMagick-7.0.8-32.tar.xz" +sha512sums="6da0c64838488262809c8e70167b021624a436fc5569583075ee5878cb96ac5f511e05eede9009a49ee9856c7e96692e425dc41fe8d80a0599d300f45f2d3186 ImageMagick-7.0.8-35.tar.xz" diff --git a/user/jasper/APKBUILD b/user/jasper/APKBUILD index 3fbb320cd..321969aa3 100644 --- a/user/jasper/APKBUILD +++ b/user/jasper/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: pkgname=jasper -pkgver=2.0.14 +pkgver=2.0.16 pkgrel=0 pkgdesc="Library implementing JPEG-2000" url="http://www.ece.uvic.ca/~mdadams/jasper/" @@ -9,7 +9,8 @@ license="custom:JasPer2.0" depends= #"libjpeg>=8 freeglut libxi libxmu mesa" makedepends="libjpeg-turbo-dev cmake" subpackages="$pkgname-dev $pkgname-doc $pkgname-libs" -source="http://www.ece.uvic.ca/~frodo/jasper/software/jasper-$pkgver.tar.gz" +source="$pkgname-$pkgver.tar.gz::https://github.com/mdadams/jasper/archive/version-$pkgver.tar.gz" +builddir="$srcdir/$pkgname-version-$pkgver" # secfixes: # 2.0.12-r1: @@ -44,4 +45,4 @@ libs() { mv "$pkgdir"/usr/lib "$subpkgdir"/usr } -sha512sums="9e5cffd2e899e37ba08890e2377ddfc3c2fb13d9fe00dea6b4612e4d241a6f4327de6835809b415c41ae4bf44208cf7871c1982ff5fc04ae6bc09fd376b0afc8 jasper-2.0.14.tar.gz" +sha512sums="b3bca227f833567c9061c4a29c0599784ed6a131b5cceddfd1696542d19add821eda445ce6d83782b454b266723b24d0f028cbc644a25c0e3a75304e615b34ee jasper-2.0.16.tar.gz" diff --git a/user/libayatana-indicator/APKBUILD b/user/libayatana-indicator/APKBUILD new file mode 100644 index 000000000..4372a2b44 --- /dev/null +++ b/user/libayatana-indicator/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=libayatana-indicator +pkgver=0.6.2 +pkgrel=0 +pkgdesc="Gnome library implementing the StatusNotifierItem specification" +url="https://ayatanaindicators.github.io/" +arch="all" +options="!check" # incompetent test author +license="GPL-3.0-only" +depends="" +makedepends="ayatana-ido-dev gtk+3.0-dev" +subpackages="$pkgname-dev" +source="libayatana-indicator-$pkgver.tar.gz::https://github.com/AyatanaIndicators/libayatana-indicator/archive/$pkgver.tar.gz" + +prepare() { + cd "$builddir" + default_prepare + autoreconf -vif +} + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --sysconfdir=/etc \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + DESTDIR="$pkgdir" make -j1 install +} + +sha512sums="47a89a4f59d547e4aeeeba245ec7df360e18dc9f8a8c256cbeaf2a95e335f2734873457b2b0fdef8c2fdeaf780dda38cfe020c335a3447a2175914d580aeb8de libayatana-indicator-0.6.2.tar.gz" diff --git a/user/libebml/APKBUILD b/user/libebml/APKBUILD index e9aad6680..5ed4be827 100644 --- a/user/libebml/APKBUILD +++ b/user/libebml/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Timo Teräs <timo.teras@iki.fi> # Maintainer: pkgname=libebml -pkgver=1.3.6 +pkgver=1.3.7 pkgrel=0 pkgdesc="Library to parse Extensible Binary Meta-Language files" url="https://www.matroska.org/" @@ -29,4 +29,4 @@ package() { make install DESTDIR="$pkgdir" } -sha512sums="6a31a56dcde39642848f25353a462f4621d6cfd3bc9ef62add1b00d098c6a80b3c2b50ecf4d6dd50650c609eb39a6150c6d1b69ea3a77a3928bd3300af7dd91f libebml-1.3.6.tar.xz" +sha512sums="ad574a73a1d2c5fbd4581991ff790ef22cfcaf5645295b06dce36235b43d552bbec3b400d3c80550c8020ed3720226fad05348c6034c444da1106439c7fd9fc1 libebml-1.3.7.tar.xz" diff --git a/user/libfakekey/APKBUILD b/user/libfakekey/APKBUILD new file mode 100644 index 000000000..d8221c552 --- /dev/null +++ b/user/libfakekey/APKBUILD @@ -0,0 +1,43 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=libfakekey +pkgver=0.3 +pkgrel=0 +pkgdesc="Library for faking X key-presses from character inputs" +url="https://www.yoctoproject.org/software-item/matchbox/" +arch="all" +license="LGPL-2.0+" +depends="" +makedepends="libx11-dev libxtst-dev" +subpackages="$pkgname-dev" +source="http://git.yoctoproject.org/cgit.cgi/libfakekey/snapshot/libfakekey-$pkgver.tar.gz" + +prepare() { + cd "$builddir" + default_prepare + autoreconf -vif +} + +build() { + cd "$builddir" + LIBS="-lX11" ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="9c09007c6ab616095bdf69669cfdf0d176d44beaeb6b2a0fe8e310bb835d3f241ca7499dcb523c1eeeb24968ef908c1951f97352da419fc1bbb3883cb43dd963 libfakekey-0.3.tar.gz" diff --git a/user/libglade/APKBUILD b/user/libglade/APKBUILD new file mode 100644 index 000000000..97d20f603 --- /dev/null +++ b/user/libglade/APKBUILD @@ -0,0 +1,43 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=libglade +pkgver=2.6.4 +pkgrel=0 +pkgdesc="GUI construction toolkit for GTK+ 2" +url="https://gnome.org" +arch="all" +license="LGPL-2.0+ AND GPL-2.0+" +depends="" +makedepends="gtk+2.0-dev libxml2-dev" +subpackages="$pkgname-dev $pkgname-doc" +source="https://download.gnome.org/sources/libglade/${pkgver%.*}/libglade-$pkgver.tar.bz2" + +prepare() { + cd "$builddir" + update_config_sub + default_prepare +} + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="b725842febaf4c1f0d305a629ae1c61ea2de24dd6f41937e806c078fada2cea483195ef40f5238ce2045e47130c92559e984f677de667b840dd7fff0f8559735 libglade-2.6.4.tar.bz2" diff --git a/user/libgnome-keyring/APKBUILD b/user/libgnome-keyring/APKBUILD new file mode 100644 index 000000000..030194fc5 --- /dev/null +++ b/user/libgnome-keyring/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=libgnome-keyring +pkgver=3.12.0 +pkgrel=0 +pkgdesc="Gnome library for secure authentication storage" +url="https://gnome.org" +arch="all" +options="!check" # Test suite requires py-dbus. +license="GPL-2.0+ AND LGPL-2.1+ AND LGPL-2.0+" +depends="" +makedepends="dbus-dev dbus-glib-dev gobject-introspection-dev intltool + libgcrypt-dev" +subpackages="$pkgname-dev $pkgname-doc" +source="https://download.gnome.org/sources/libgnome-keyring/${pkgver%.*}/libgnome-keyring-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="dd1777b6e0dd774feb86dbc72d9f2a85f2143e2772a09c438b84aec468ddc5e7ee5ebd534d24f079e5daf4757f2918d0621e26fb671fde0fcef9c74d30f8b9bd libgnome-keyring-3.12.0.tar.xz" diff --git a/user/libgtop/APKBUILD b/user/libgtop/APKBUILD new file mode 100644 index 000000000..ea17925e3 --- /dev/null +++ b/user/libgtop/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=libgtop +pkgver=2.40.0 +pkgrel=0 +pkgdesc="Gnome library for system monitoring" +url="https://gnome.org" +arch="all" +license="GPL-2.0+ AND GPL-2.0-only" +depends="" +makedepends="glib-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +source="https://download.gnome.org/sources/libgtop/${pkgver%.*}/libgtop-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="a9b2135796d7e41c63a6621f672c385d1baeb74d4af3e55c9164aaaae18c66a8a76b09a6ae8b37f89f120092123c38830e0da840c6613a09035ea62339117861 libgtop-2.40.0.tar.xz" diff --git a/user/libmatekbd/APKBUILD b/user/libmatekbd/APKBUILD new file mode 100644 index 000000000..f7ea8d723 --- /dev/null +++ b/user/libmatekbd/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=libmatekbd +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Keyboard libraries for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="LGPL-2.0+" +depends="" +makedepends="gobject-introspection-dev gtk+3.0-dev intltool libice-dev + libxklavier-dev" +subpackages="$pkgname-dev $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/libmatekbd-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="79f19455bb6c0df5a50e445907ac12d6bd92a54cd086e0303890bc67350de3d94b2fd665efdaec85f84a42d76af430ad0a1b9639da078179ac25d27c4a325281 libmatekbd-1.22.0.tar.xz" diff --git a/user/libmatemixer/APKBUILD b/user/libmatemixer/APKBUILD new file mode 100644 index 000000000..a3b1fc797 --- /dev/null +++ b/user/libmatemixer/APKBUILD @@ -0,0 +1,51 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=libmatemixer +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Sound mixer library for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="LGPL-2.0+" +depends="" +makedepends="alsa-lib-dev intltool pulseaudio-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang $pkgname-alsa $pkgname-pulse" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/libmatemixer-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +alsa() { + pkgdesc="$pkgdesc (ALSA backend)" + install_if="$pkgname=$pkgver-r$pkgrel alsa-lib" + mkdir -p "$subpkgdir"/usr/lib/$pkgname + mv "$pkgdir"/usr/lib/$pkgname/$pkgname-alsa.so "$subpkgdir"/usr/lib/$pkgname +} + +pulse() { + pkgdesc="$pkgdesc (PulseAudio backend)" + install_if="$pkgname=$pkgver-r$pkgrel pulseaudio" + mkdir -p "$subpkgdir"/usr/lib/$pkgname + mv "$pkgdir"/usr/lib/$pkgname/$pkgname-pulse.so "$subpkgdir"/usr/lib/$pkgname +} + +sha512sums="6eaa006142601c077ac70739e637273288a4b9713dfc4179341c4832ae4e3b362e92104e150132ee274224d6c5dc057d812b7e1814e49a7690581de6d81e0db8 libmatemixer-1.22.0.tar.xz" diff --git a/user/libmateweather/APKBUILD b/user/libmateweather/APKBUILD new file mode 100644 index 000000000..3d6f9573d --- /dev/null +++ b/user/libmateweather/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=libmateweather +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Weather library for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="LGPL-2.1+ AND GPL-2.0+" +depends="" +makedepends="gtk+3.0-dev intltool libsoup-dev libxml2-dev libxml2-utils" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/libmateweather-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="43371fc615dda2b9042633a63ac4c1fb0b1ea43b20c783e443b0f57e10ad8fddedbd593f03bd6c942729f0a9c80484266fe1ef900d128fa4b02f80d6a80ae9bd libmateweather-1.22.0.tar.xz" diff --git a/user/libmatroska/APKBUILD b/user/libmatroska/APKBUILD index ea56219a2..85e521369 100644 --- a/user/libmatroska/APKBUILD +++ b/user/libmatroska/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Timo Teräs <timo.teras@iki.fi> # Maintainer: pkgname=libmatroska -pkgver=1.4.9 +pkgver=1.5.0 pkgrel=0 pkgdesc="Library to parse Matroska files" url="https://www.matroska.org/" @@ -29,4 +29,4 @@ package() { make install DESTDIR="$pkgdir" } -sha512sums="281224b66ce7ef39daf0f186cda1144250e190b914e64f4f2524e8bf0170a3d18dbc50f204d4ca8d7eaffe183a61f96c92ba6ec4325bacb068272d62cdbcef33 libmatroska-1.4.9.tar.xz" +sha512sums="eb59b5afd9d510c2d6c7408b0053a261cee6669a9f5bbb1a939d98d96ac6c9b8f340691e95310268f59c954a1d9f72322fd0ec7b442a74c56cd2e2c22eb3a754 libmatroska-1.5.0.tar.xz" diff --git a/user/libmpeg2/APKBUILD b/user/libmpeg2/APKBUILD index f72f51e93..f24035f54 100644 --- a/user/libmpeg2/APKBUILD +++ b/user/libmpeg2/APKBUILD @@ -1,25 +1,26 @@ # Maintainer: pkgname=libmpeg2 pkgver=0.5.1 -pkgrel=9 +pkgrel=10 pkgdesc="Library for decoding MPEG-1 and MPEG-2 video streams" url="http://libmpeg2.sourceforge.net/" arch="all" license="GPL-2.0+ AND LGPL-2.0+" subpackages="$pkgname-dev $pkgname-doc mpeg2dec" makedepends="libx11-dev libice-dev libsm-dev libxext-dev libxv-dev" -source="https://distfiles.gentoo.org/distfiles/libmpeg2-$pkgver.tar.gz +source="http://distfiles.gentoo.org/distfiles/libmpeg2-$pkgver.tar.gz arm-private-symbols.patch arm-textrel.patch + altivec.patch " prepare() { update_config_sub default_prepare + autoreconf -vif } build() { - cd "$builddir" ./configure \ --build=$CBUILD \ --host=$CHOST \ @@ -33,12 +34,10 @@ build() { } check() { - cd "$builddir" make check } package() { - cd "$builddir" make DESTDIR="$pkgdir" install } @@ -50,4 +49,5 @@ mpeg2dec() { sha512sums="3648a2b3d7e2056d5adb328acd2fb983a1fa9a05ccb6f9388cc686c819445421811f42e8439418a0491a13080977f074a0d8bf8fa6bc101ff245ddea65a46fbc libmpeg2-0.5.1.tar.gz 334e4e0b1e2877311503d2907f4f65c26d6a83ee79308c49697b2f3d2b8da9ac665e19ab419d85a944eaa34e1d43f512d1418a372cd444381d66f71df2a92c83 arm-private-symbols.patch -888b8b4f90ece7f8dcd54895c36e2a93471de167f83cddc67d6943baf9e7ea19abd31ab055f6805629a2e176a1057e18de6a053fdea69cec90483a5165efa9c9 arm-textrel.patch" +888b8b4f90ece7f8dcd54895c36e2a93471de167f83cddc67d6943baf9e7ea19abd31ab055f6805629a2e176a1057e18de6a053fdea69cec90483a5165efa9c9 arm-textrel.patch +d985e832cf0d10f6f63f3ac0140bddb3c4bd92c44c09a99ec1bd195f36d69b01a14a020ab7ce6d6c154439d4d006cd5da1fa23dbf2c694a1f2e6b1793c8d416e altivec.patch" diff --git a/user/libmpeg2/altivec.patch b/user/libmpeg2/altivec.patch new file mode 100644 index 000000000..7edfaa344 --- /dev/null +++ b/user/libmpeg2/altivec.patch @@ -0,0 +1,16 @@ +--- a/configure.ac.bak 2010-05-25 17:12:14.756245990 +0000 ++++ b/configure.ac 2010-05-25 17:11:51.629581723 +0000 +@@ -79,11 +79,10 @@ + CFLAGS="$OPT_CFLAGS $TRY_CFLAGS $CFLAGS" + AC_MSG_CHECKING([if <altivec.h> is needed]) + AC_TRY_COMPILE([], +- [typedef vector int t; +- vec_ld(0, (unsigned char *)0);], ++ [vector int t; t = vec_add(t,t);], + [have_altivec=yes; AC_MSG_RESULT(no)], + [AC_TRY_COMPILE([#include <altivec.h>], +- [typedef vector int t; vec_ld(0, (unsigned char *)0);], ++ [vector int t; t = vec_add(t,t);], + [AC_DEFINE([HAVE_ALTIVEC_H],, + [Define to 1 if you have the <altivec.h> header.]) + have_altivec=yes; AC_MSG_RESULT(yes)], diff --git a/user/libnice/APKBUILD b/user/libnice/APKBUILD index 15c544c34..d7ab8cdb8 100644 --- a/user/libnice/APKBUILD +++ b/user/libnice/APKBUILD @@ -6,10 +6,10 @@ pkgrel=0 pkgdesc="GLib-based Interactive Connectivity Establishment (ICE) library" url="https://nice.freedesktop.org/wiki/" arch="all" +options="!check" # test-send-recv fails on 32-bit platforms license="MPL-1.1 AND LGPL-2.1-only" depends="" -depends_dev="glib-dev" -makedepends="$depends_dev gobject-introspection-dev gstreamer-dev openssl-dev" +makedepends="glib-dev gobject-introspection-dev gstreamer-dev openssl-dev" subpackages="$pkgname-dev $pkgname-doc" source="https://nice.freedesktop.org/releases/libnice-$pkgver.tar.gz dont-error-on-socket-close.patch diff --git a/user/libpeas/APKBUILD b/user/libpeas/APKBUILD new file mode 100644 index 000000000..942d22442 --- /dev/null +++ b/user/libpeas/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=libpeas +pkgver=1.22.0 +pkgrel=0 +pkgdesc="GObject-based plugin framework" +url="https://gnome.org" +arch="all" +license="LGPL-2.1+" +depends="" +makedepends="intltool glib-dev gobject-introspection-dev gtk+3.0-dev + py3-pygobject py3-pygobject-dev python3-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +langdir="/usr/lib/locale" +source="https://download.gnome.org/sources/libpeas/${pkgver%.*}/libpeas-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="9c1da1d4b5688c0f4d0647f3519dbfbed94c8921091057aaef0e41bf5ed3f8faf04a49ce9e4eea3fd7bf4ac4dfa1727d76a5f6dae2a4f52228d4c8c74b420c91 libpeas-1.22.0.tar.xz" diff --git a/user/libreoffice/APKBUILD b/user/libreoffice/APKBUILD index a9e18b5f3..b6968e4ab 100644 --- a/user/libreoffice/APKBUILD +++ b/user/libreoffice/APKBUILD @@ -94,6 +94,7 @@ source="https://download.documentfoundation.org/$pkgname/src/$_ver/$pkgname-$pkg disable-outdated-font-test.patch disable-mariadbc.patch disable-mysqlc.patch + boost.patch " ldpath="/usr/lib/$pkgname/program" @@ -483,4 +484,5 @@ bac06a1f0f6ef3e5860ec340470583b2a7ff079efa9efee9119ae1ac320b97ecbfdb7eba63975d4f 6a039ba592a23b8db1dd5c8d5dffbc9562270de691d2eb1e1c420f8632532c0fce14a0f3844dc2e6f6b6b04655c40230bd69fd81d1ae6f0bd16f0e88ce0a2783 disable-crc-test.patch 4ffc389a3c545d37d152bb52390c3abd06a32eb9fee03110c07e8b57f9b9d1be68fdc5092ad0be76f6540367a1f1d2e9e32d519021d8205847594edb811da428 disable-outdated-font-test.patch c1925fe5833410c6a4b47a1723e67ce3898fc01ebded766023855cd93f290a6788638a86a8595e112ab788628c0ea7642c41d7ff987ba9117c2e079a99a3b29f disable-mariadbc.patch -01ef207d0b3ab1ded5edadd2d05cefe65d7c2dc4285abee12d7fbb61c92b2a3e37d5cfe5bb8f5ea9a40fd2918396ec25b473a916012e04732ebbe79ee6768a21 disable-mysqlc.patch" +01ef207d0b3ab1ded5edadd2d05cefe65d7c2dc4285abee12d7fbb61c92b2a3e37d5cfe5bb8f5ea9a40fd2918396ec25b473a916012e04732ebbe79ee6768a21 disable-mysqlc.patch +431f55b4ec96caa94b0f55d3691931ad65320ecacbd8f9c9f477107136866ba614683eb77458006960240918392e995a567f5b5436d75003ac036f6d24a77e0a boost.patch" diff --git a/user/libreoffice/boost.patch b/user/libreoffice/boost.patch new file mode 100644 index 000000000..cd8ef9dba --- /dev/null +++ b/user/libreoffice/boost.patch @@ -0,0 +1,17 @@ +After https://github.com/boostorg/logic/commit/23cd89d4c80f build fails: + +sfx2/source/appl/shutdownicon.cxx:170:12: error: no viable conversion from returned value of type 'boost::logic::tribool' to function return type 'bool' + return loaded; + ^~~~~~ + +--- lo/sfx2/source/appl/shutdownicon.cxx.orig 2018-06-19 22:27:30 UTC ++++ lo/sfx2/source/appl/shutdownicon.cxx +@@ -167,7 +167,7 @@ bool LoadModule() + #endif // ENABLE_QUICKSTART_APPLET + } + assert(!boost::logic::indeterminate(loaded)); +- return loaded; ++ return bool{loaded}; + } + + } diff --git a/user/libsass/APKBUILD b/user/libsass/APKBUILD index b96567340..5d560aa6e 100644 --- a/user/libsass/APKBUILD +++ b/user/libsass/APKBUILD @@ -4,7 +4,7 @@ pkgname=libsass pkgver=3.5.5 pkgrel=0 pkgdesc="Library for preprocessing CSS" -url="http://sass-lang.com/libsass" +url="https://sass-lang.com/libsass" arch="all" options="!check" # Tests require sassc, which requires this library. license="MIT" diff --git a/user/libsoup/APKBUILD b/user/libsoup/APKBUILD index b69b2ea55..27dde65ad 100644 --- a/user/libsoup/APKBUILD +++ b/user/libsoup/APKBUILD @@ -1,38 +1,32 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=libsoup -pkgver=2.64.2 +pkgver=2.66.0 pkgrel=0 pkgdesc="GObject-based HTTP library" url="https://wiki.gnome.org/Projects/libsoup" arch="all" -options="!check" # test suite requires poorly-configured apache-httpd license="LGPL-2.0+ AND LGPL-2.1+" makedepends="glib-dev libxml2-dev sqlite-dev libpsl-dev intltool vala-dev - gobject-introspection-dev glib-networking" -subpackages="$pkgname-dev $pkgname-doc" -source="https://download.gnome.org/sources/libsoup/2.64/libsoup-$pkgver.tar.xz" + gobject-introspection-dev glib-networking meson ninja krb5-dev" +subpackages="$pkgname-dev $pkgname-lang" +source="https://download.gnome.org/sources/libsoup/${pkgver%.*}/libsoup-$pkgver.tar.xz" build() { - cd "$builddir" - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --localstatedir=/var - make + mkdir -p "$builddir"/build + cd "$builddir"/build + meson -Dprefix=/usr .. + ninja } check() { - cd "$builddir" - make check + cd "$builddir"/build + ninja test } package() { - cd "$builddir" - make DESTDIR="$pkgdir" install + cd "$builddir"/build + DESTDIR="$pkgdir" ninja install } -sha512sums="c001495be4e1eafd169b904431b22e961b52f5a3202f2e75b0657281cbfd91153148765bd95378bba3e85a66d7eaca428750641f20c07ca3232d1f9bdabdc90f libsoup-2.64.2.tar.xz" +sha512sums="a79d4dafbf12a3345803b38859a398839e3e9e389552c90bab60b005ffa7e4ce2f43112e322ca10f134ab6e6c53568e058c82c370617e872539e1fafd82a1352 libsoup-2.66.0.tar.xz" diff --git a/user/libssh2/APKBUILD b/user/libssh2/APKBUILD index 9497d8ace..cb6e11f97 100644 --- a/user/libssh2/APKBUILD +++ b/user/libssh2/APKBUILD @@ -1,8 +1,8 @@ # Contributor: William Pitcock <nenolod@dereferenced.org> # Maintainer: pkgname=libssh2 -pkgver=1.8.0 -pkgrel=2 +pkgver=1.8.2 +pkgrel=0 pkgdesc="Library for accessing SSH servers" url="https://libssh2.org/" arch="all" @@ -12,11 +12,6 @@ makedepends_host="openssl-dev zlib-dev" subpackages="$pkgname-dev $pkgname-doc" source="https://libssh2.org/download/libssh2-$pkgver.tar.gz" -prepare() { - cd "$builddir" - update_config_sub -} - build() { cd "$builddir" ./configure \ @@ -42,4 +37,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="289aa45c4f99653bebf5f99565fe9c519abc204feb2084b47b7cc3badc8bf4ecdedd49ea6acdce8eb902b3c00995d5f92a3ca77b2508b92f04ae0e7de7287558 libssh2-1.8.0.tar.gz" +sha512sums="390ab4ad93bb738415ec11a6eb92806c9b9e9e5d8ee7c442d841a58b4292c1c447a9bc99e153ba464e2e11f9c0d1913469303598c3046722d1ae821991e8cb93 libssh2-1.8.2.tar.gz" diff --git a/user/libxklavier/APKBUILD b/user/libxklavier/APKBUILD index 0f3964a06..e1addd860 100644 --- a/user/libxklavier/APKBUILD +++ b/user/libxklavier/APKBUILD @@ -2,12 +2,14 @@ # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=libxklavier pkgver=5.4 -pkgrel=0 +pkgrel=1 pkgdesc="High-level API for XKB" url="https://www.freedesktop.org/wiki/Software/LibXklavier/" arch="all" license="LGPL-2.0+" -makedepends="libx11-dev libxml2-dev glib-dev libxcb-dev libxi-dev iso-codes-dev" +makedepends="gobject-introspection-dev libx11-dev libxml2-dev glib-dev + libxcb-dev libxkbcommon-dev libxkbfile-dev libxi-dev iso-codes-dev + vala-dev" subpackages="$pkgname-dev $pkgname-doc" source="https://people.freedesktop.org/~svu/libxklavier-$pkgver.tar.bz2" diff --git a/user/marco/APKBUILD b/user/marco/APKBUILD new file mode 100644 index 000000000..99289220b --- /dev/null +++ b/user/marco/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=marco +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Window manager for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="GPL-2.0+ AND MIT-advertising AND MIT-CMU" +depends="" +makedepends="gtk+3.0-dev intltool itstool libcanberra-dev libice-dev libsm-dev + libxml2-utils zenity" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/marco-$pkgver.tar.xz + correctly-posix.patch" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="0935ca1532fde882e21ebbc67b41afe80e15e8519b413b9b8bde351196be347a8dcac2e092da818ec0bc700216e38211f192a891eafec8ac7d9bf63d3a42328d marco-1.22.0.tar.xz +b377b2a7d2af094a8b4bd6d1827c85f9675656cd8bdc6892b334c8479d188459ec8585fed3c746fdaef5820f768ce93605586693a3308f0db2d6f58e08f4df49 correctly-posix.patch" diff --git a/user/marco/correctly-posix.patch b/user/marco/correctly-posix.patch new file mode 100644 index 000000000..e2ad5fa18 --- /dev/null +++ b/user/marco/correctly-posix.patch @@ -0,0 +1,12 @@ +diff -Nurd marco-1.22.0/src/ui/theme.c marco-1.22.0.new/src/ui/theme.c +--- marco-1.22.0/src/ui/theme.c 2019-02-08 08:51:33.000000000 -0600 ++++ marco-1.22.0.new/src/ui/theme.c 2019-03-23 06:00:16.139892136 -0500 +@@ -60,7 +60,7 @@ + #include <gtk/gtk.h> + #include <string.h> + #include <stdlib.h> +-#define __USE_XOPEN ++#define _XOPEN_SOURCE + #include <math.h> + + #define GDK_COLOR_RGBA(color) \ diff --git a/user/mate-applets/APKBUILD b/user/mate-applets/APKBUILD new file mode 100644 index 000000000..c8d60eaf0 --- /dev/null +++ b/user/mate-applets/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-applets +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Utility applications for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="LGPL-2.0+ AND GPL-2.0+ AND GPL-2.0-only" +depends="" +makedepends="dbus-dev dbus-glib-dev gtk+3.0-dev gtksourceview-3.0-dev + gucharmap-dev intltool itstool libmateweather-dev libnotify-dev + libwnck-dev libxml2-dev libxml2-utils mate-panel-dev polkit-dev + upower-dev" +subpackages="$pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/1.22/mate-applets-$pkgver.tar.xz" + +build() { + cd "$builddir" + rm -r mateweather/docs/ru + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="2f3e17414171ec5ab6967b76b1291d99783c3091b51127788f99148f46d5f2068edf7d890c3ebca1a59c29cbda4a06be11c852e5e88d4dc58e9981d906c9e34c mate-applets-1.22.0.tar.xz" diff --git a/user/mate-backgrounds/APKBUILD b/user/mate-backgrounds/APKBUILD new file mode 100644 index 000000000..bd70d43a8 --- /dev/null +++ b/user/mate-backgrounds/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-backgrounds +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Desktop wallpapers provided by the MATE desktop environment" +url="https://mate-desktop.org" +arch="noarch" +license="GPL-2.0+" +depends="" +makedepends="intltool" +subpackages="$pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-backgrounds-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="b7135cdb20972d50f43026cf98275faaa3c5e41bd0900bca7624a8f9ed03d0ec7f465c78aaf3da534ea6798e8cc690727a1fed8f14b3fb42a8a63bd82858ff30 mate-backgrounds-1.22.0.tar.xz" diff --git a/user/mate-calc/APKBUILD b/user/mate-calc/APKBUILD new file mode 100644 index 000000000..f55f691fc --- /dev/null +++ b/user/mate-calc/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-calc +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Calculator utility for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="GPL-2.0+ AND GPL-2.0-only" +depends="" +makedepends="gtk+3.0-dev intltool itstool libxml2-utils libxml2-dev" +subpackages="$pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-calc-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="a0d72a17dc9e7e97ef36cb2f089db126b1f91790d6a34ae829ef9cea87e82b025ba106f08e8c677352e72423a6670a3bf8751eecc67444cd8cea8dc8f3cf6728 mate-calc-1.22.0.tar.xz" diff --git a/user/mate-common/APKBUILD b/user/mate-common/APKBUILD new file mode 100644 index 000000000..e9e00f902 --- /dev/null +++ b/user/mate-common/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-common +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Additional development support for the MATE desktop environment" +url="https://mate-desktop.org" +arch="noarch" +license="GPL-3.0-only" +depends="" +makedepends="" +subpackages="$pkgname-dev $pkgname-doc" +source="https://pub.mate-desktop.org/releases/1.22/mate-common-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="3887634081c126c6c23f560ca256ae83edbc5f77f0fc0128c2aaa2b5652672ec6f21ca29b0b44802b03c5dfd53bf0da860093ec73c46fba58f7be12a1db1d2a3 mate-common-1.22.0.tar.xz" diff --git a/user/mate-complete/APKBUILD b/user/mate-complete/APKBUILD new file mode 100644 index 000000000..f3a5ac75a --- /dev/null +++ b/user/mate-complete/APKBUILD @@ -0,0 +1,26 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-complete +pkgver=1.22.0 +pkgrel=0 +url="https://mate-desktop.org" +pkgdesc="Complete MATE desktop environment" +arch="noarch" +options="!check" # No tests +license=" " +depends="atril caja caja-dropbox caja-extensions engrampa eom marco + mate-applets mate-backgrounds mate-calc mate-control-center + mate-desktop mate-icon-theme mate-indicator-applet mate-media + mate-menus mate-netbook mate-notification-daemon mate-panel + mate-polkit mate-power-manager mate-screensaver mate-sensors-applet + mate-session-manager mate-settings-daemon mate-system-monitor + mate-terminal mate-user-guide mate-user-share mate-utils mozo pluma" +source="org.adelie-linux.about-mate.desktop" + +package() { + cd "$srcdir" + mkdir -p "$pkgdir"/usr/share/applications + install -Dm644 org.adelie-linux.about-mate.desktop "$pkgdir"/usr/share/applications +} + +sha512sums="24fd0524d949a22b22e38c81667f31498bc524302c52128c10d8a5802315720543426ba82245f5e7510832c493389ff59f36be14433f1a6a6c68993f733f329c org.adelie-linux.about-mate.desktop" diff --git a/user/mate-complete/org.adelie-linux.about-mate.desktop b/user/mate-complete/org.adelie-linux.about-mate.desktop new file mode 100644 index 000000000..53e23ed68 --- /dev/null +++ b/user/mate-complete/org.adelie-linux.about-mate.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Type=Application +Version=1.0 +Name=About MATE +Comment=Learn about the MATE desktop environment +Icon=dialog-information +Categories=MATE +Exec=xdg-open https://mate-desktop.org diff --git a/user/mate-control-center/APKBUILD b/user/mate-control-center/APKBUILD new file mode 100644 index 000000000..93db69089 --- /dev/null +++ b/user/mate-control-center/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-control-center +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Configuration utilities for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="GPL-2.0-only AND GPL-2.0+ AND LGPL-2.0+ AND LGPL-2.1+ AND MIT" +depends="" +makedepends="accountsservice-dev dbus-dev dbus-glib-dev desktop-file-utils + gtk+3.0-dev intltool itstool libcanberra-dev libmatekbd-dev + libxklavier-dev libxml2-dev libxml2-utils marco-dev mate-desktop-dev + mate-menus-dev mate-settings-daemon-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-control-center-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="3b2b88458848862a4c819d54104e9394817b29feb3d05117fe69441023ec5e6c922012395f24b5f70c9f9dbf6f8044f769840ec9996b1495441c4cb690f68371 mate-control-center-1.22.0.tar.xz" diff --git a/user/mate-desktop/APKBUILD b/user/mate-desktop/APKBUILD new file mode 100644 index 000000000..a09df86a9 --- /dev/null +++ b/user/mate-desktop/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-desktop +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Core library for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="MIT AND LGPL-2.0+ AND GPL-2.0+" +depends="" +makedepends="dconf-dev gobject-introspection-dev gtk+3.0-dev intltool + iso-codes-dev startup-notification-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-desktop-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="3950249c0bc026163da7f38a6fd5551c0e1e863e298e9d2ca224679b6c802d1deaf12e16ea873a2ea0539a7989a523d0495fb0dc4c556857203c0b04ab6edf7a mate-desktop-1.22.0.tar.xz" diff --git a/user/mate-icon-theme/APKBUILD b/user/mate-icon-theme/APKBUILD new file mode 100644 index 000000000..aad16388d --- /dev/null +++ b/user/mate-icon-theme/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-icon-theme +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Default icon theme for the MATE desktop environment" +url="https://mate-desktop.org" +arch="noarch" +license="LGPL-3.0-only OR CC-BY-SA-3.0" +depends="" +makedepends="icon-naming-utils-dev intltool" +subpackages="$pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-icon-theme-$pkgver.tar.xz" +builddir="$srcdir/mate-icon-theme-$pkgver" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="b4f0b5040e412bcbe818c14f101556cd643cc9dfce02aa676edc790f17de7da2272754235f8d9ad000551e7d92a5974cec3336712074747fcf669c0a729f8a5e mate-icon-theme-1.22.0.tar.xz" diff --git a/user/mate-indicator-applet/APKBUILD b/user/mate-indicator-applet/APKBUILD new file mode 100644 index 000000000..884c9e35c --- /dev/null +++ b/user/mate-indicator-applet/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-indicator-applet +pkgver=1.22.0 +pkgrel=0 +pkgdesc="MATE panel applet for consistent information display" +url="https://mate-desktop.org" +arch="all" +license="GPL-3.0+ AND LGPL-2.0+" +depends="" +makedepends="ayatana-ido-dev gtk+3.0-dev intltool libayatana-indicator-dev + mate-panel-dev" +subpackages="$pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-indicator-applet-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="6e1dd133a521f247ecb648b3ffa542e326f504fd3b0719a74099e83ac1dfa9fd4d7676af284f89f69d6684e5640f240930bb0fb43bcf7d59472786adf4c3200c mate-indicator-applet-1.22.0.tar.xz" diff --git a/user/mate-media/APKBUILD b/user/mate-media/APKBUILD new file mode 100644 index 000000000..aa6090507 --- /dev/null +++ b/user/mate-media/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-media +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Media utilities for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="GPL-2.0+" +depends="" +makedepends="gtk+3.0-dev intltool libcanberra-dev libmatemixer-dev libxml2-dev + mate-desktop-dev" +subpackages="$pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/1.22/mate-media-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="1c1751ebb0c848cece0e2fc10240832dff317dfcc08aa6721fe00feaf2cff907c700f5e0debd5a236078a199b9d65d59124ffca7a04f61d425d16b1adb02fc1f mate-media-1.22.0.tar.xz" diff --git a/user/mate-menus/APKBUILD b/user/mate-menus/APKBUILD new file mode 100644 index 000000000..4d4fe80d4 --- /dev/null +++ b/user/mate-menus/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-menus +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Desktop menu implementation for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="LGPL-2.0+" +depends="" +makedepends="gobject-introspection-dev intltool" +subpackages="$pkgname-dev $pkgname-lang" +source="https://pub.mate-desktop.org/releases/1.22/mate-menus-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="7ca02c1bb89c83b6b331fc2e8878862fa8f02f5cd52b297aa44b36dd5c2d1ee1ffeb1641d63a10bd4deb99f63ded9c3b890a05ab7f7faf32d7f895b0a2f68d70 mate-menus-1.22.0.tar.xz" diff --git a/user/mate-netbook/APKBUILD b/user/mate-netbook/APKBUILD new file mode 100644 index 000000000..6b002e694 --- /dev/null +++ b/user/mate-netbook/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-netbook +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Netbook-oriented window manager for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="GPL-3.0-only AND LGPL-2.0+" +depends="" +makedepends="gtk+3.0-dev intltool libfakekey-dev libwnck-dev libxtst-dev + mate-panel-dev" +subpackages="$pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-netbook-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="faff1618e0a99b95b291d7556b1ccd5d0593be1ffa2b2ee30f4df2c9228ff797e9021cc7a0f6183c69b38fdb3dae1c4cb206539057174ff37a4b56b55d07c33a mate-netbook-1.22.0.tar.xz" diff --git a/user/mate-notification-daemon/APKBUILD b/user/mate-notification-daemon/APKBUILD new file mode 100644 index 000000000..c45995739 --- /dev/null +++ b/user/mate-notification-daemon/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-notification-daemon +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Notification service for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="GPL-2.0+" +depends="" +makedepends="gtk+3.0-dev intltool libcanberra-dev libnotify-dev libwnck-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-notification-daemon-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="1345604dee1315843ad5a6920aab7cbe1544c8f7c7ccea686e5684c7ea5272fa09d27edbcc996f6a568f8b3760f561b84901c44f93f1b3ae2d5ddcd3c3ce86fc mate-notification-daemon-1.22.0.tar.xz" diff --git a/user/mate-panel/APKBUILD b/user/mate-panel/APKBUILD new file mode 100644 index 000000000..dd01821ce --- /dev/null +++ b/user/mate-panel/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-panel +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Panel for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="GPL-2.0+ AND GPL-2.0-only AND LGPL-2.0+ AND MIT" +depends="" +makedepends="gobject-introspection-dev gtk+3.0-dev intltool itstool libice-dev + libmateweather-dev librsvg-dev libsm-dev libwnck-dev libxml2-utils + mate-desktop-dev mate-menus-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-panel-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="078c6dcdc17970a7a7fab9a218eaf2c8cd6c4074c0c23ff4ce7ccf57e007d0afcbe797be4ad4c9d2c16d9033cc554cc5a979ec61dc721514db939a5e60de456b mate-panel-1.22.0.tar.xz" diff --git a/user/mate-polkit/APKBUILD b/user/mate-polkit/APKBUILD new file mode 100644 index 000000000..345159cbc --- /dev/null +++ b/user/mate-polkit/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-polkit +pkgver=1.22.0 +pkgrel=0 +pkgdesc="PolKit integration for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="LGPL-2.0+" +depends="" +makedepends="gtk+3.0-dev intltool polkit-dev" +subpackages="$pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-polkit-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="e761ec10842789b5bbb3831f568c64e969429131a893850e8323927b949e115a24b3907fd3def7f31f5f785f0831717d852c61f08a9028a009ea9cca0ba86393 mate-polkit-1.22.0.tar.xz" diff --git a/user/mate-power-manager/APKBUILD b/user/mate-power-manager/APKBUILD new file mode 100644 index 000000000..10fec58b7 --- /dev/null +++ b/user/mate-power-manager/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-power-manager +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Power management utility for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="GPL-2.0+ AND LGPL-2.0+" +depends="" +makedepends="dbus-dev dbus-glib-dev intltool itstool libcanberra-dev + libexecinfo-dev libgnome-keyring-dev libnotify-dev libxml2-utils + mate-panel-dev upower-dev" +subpackages="$pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-power-manager-$pkgver.tar.xz" + +build() { + cd "$builddir" + LIBS="-lexecinfo" ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="d36ec8d328e00ccc14b26c36ded74f20ea80578870541899560c6a744018e5e91b08ec9b4d517548404e82da6f1868ed1f2fcc0aada1223f98e68dd6e6009503 mate-power-manager-1.22.0.tar.xz" diff --git a/user/mate-screensaver/APKBUILD b/user/mate-screensaver/APKBUILD new file mode 100644 index 000000000..7d5c002b7 --- /dev/null +++ b/user/mate-screensaver/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-screensaver +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Screensaver for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="LGPL-2.0+ AND GPL-2.0+ AND MIT" +depends="" +makedepends="dbus-glib-dev gtk+3.0-dev intltool libxscrnsaver-dev + mate-desktop-dev mate-menus-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-screensaver-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="e253495ad700264ee7833d7b5a732cabff53058384801ff5e874d45f812cea1e4bd3877a1688ecec6197c37f32761f69a4924a47a6556332f1fec736e540e333 mate-screensaver-1.22.0.tar.xz" diff --git a/user/mate-sensors-applet/APKBUILD b/user/mate-sensors-applet/APKBUILD new file mode 100644 index 000000000..aad0bd7e4 --- /dev/null +++ b/user/mate-sensors-applet/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-sensors-applet +pkgver=1.22.0 +pkgrel=0 +pkgdesc="System monitoring applet for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="GPL-2.0+" +depends="" +makedepends="gtk+3.0-dev intltool itstool libnotify-dev libxml2-utils libxslt + mate-panel-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-sensors-applet-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="f756fdff4dd8fe824fbe41956411ca1e6ce251fc1d43276c7244a8a806e91bacc283c412b831935136682971509e23c08538264963af31488bee15ce5644d5cb mate-sensors-applet-1.22.0.tar.xz" diff --git a/user/mate-session-manager/APKBUILD b/user/mate-session-manager/APKBUILD new file mode 100644 index 000000000..09ee4cc78 --- /dev/null +++ b/user/mate-session-manager/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-session-manager +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Session manager for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="GPL-2.0+ AND LGPL-2.0+" +depends="" +makedepends="dbus-glib-dev gtk+3.0-dev intltool libsm-dev" +subpackages="$pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-session-manager-$pkgver.tar.xz + no-systemd.patch" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="7e5e21e37c7ac55ca7d71302edef9aabeccf39233aec9edfe93a2fdcd4150d039e8121adecebb3d0a4a707eccef0c7afa1b54c5b52b57853242964c7506eeb9a mate-session-manager-1.22.0.tar.xz +ea84e562b3a5d08b373f270d8d5fa9eeae9b803e3eb4ef925c31bad0e4e185eecfcff5465864a4a449fc5cade000b3ee18dea515744fcb59ac2efaf9df420a43 no-systemd.patch" diff --git a/user/mate-session-manager/no-systemd.patch b/user/mate-session-manager/no-systemd.patch new file mode 100644 index 000000000..79c19f34a --- /dev/null +++ b/user/mate-session-manager/no-systemd.patch @@ -0,0 +1,65 @@ +From 254a091b31517a25bc037b31daff27fbb74ac90d Mon Sep 17 00:00:00 2001 +From: Victor Kareh <vkareh@redhat.com> +Date: Wed, 6 Mar 2019 09:20:36 -0500 +Subject: [PATCH] Guard against missing systemd + +--- + mate-session/gsm-systemd.c | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +diff --git a/mate-session/gsm-systemd.c b/mate-session/gsm-systemd.c +index da3f23b..d03cafd 100644 +--- a/mate-session/gsm-systemd.c ++++ b/mate-session/gsm-systemd.c +@@ -429,16 +429,31 @@ gsm_systemd_is_last_session_for_user (GsmSystemd *manager) + gboolean is_last_session; + int ret, i; + ++#ifdef HAVE_SYSTEMD + ret = sd_pid_get_session (getpid (), &session); ++#endif ++ ++ if (session == NULL) { ++ return FALSE; ++ } + + if (ret != 0) { ++ free (session); + return FALSE; + } + ++#ifdef HAVE_SYSTEMD + ret = sd_uid_get_sessions (getuid (), FALSE, &sessions); ++#endif ++ ++ if (sessions == NULL) { ++ free (session); ++ return FALSE; ++ } + + if (ret <= 0) { + free (session); ++ free (sessions); + return FALSE; + } + +@@ -450,7 +465,9 @@ gsm_systemd_is_last_session_for_user (GsmSystemd *manager) + if (g_strcmp0 (sessions[i], session) == 0) + continue; + ++#ifdef HAVE_SYSTEMD + ret = sd_session_get_state (sessions[i], &state); ++#endif + + if (ret != 0) + continue; +@@ -461,7 +478,9 @@ gsm_systemd_is_last_session_for_user (GsmSystemd *manager) + } + free (state); + ++#ifdef HAVE_SYSTEMD + ret = sd_session_get_type (sessions[i], &type); ++#endif + + if (ret != 0) + continue; diff --git a/user/mate-settings-daemon/APKBUILD b/user/mate-settings-daemon/APKBUILD new file mode 100644 index 000000000..df1a07ec1 --- /dev/null +++ b/user/mate-settings-daemon/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-settings-daemon +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Settings daemon for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="GPL-2.0+ AND MIT AND LGPL-2.0+ AND GPL-3.0+" +depends="" +makedepends="dbus-dev dbus-glib-dev dconf-dev gtk+3.0-dev intltool + libcanberra-dev libmatekbd-dev libmatemixer-dev libnotify-dev + mate-desktop-dev nss-dev polkit-dev pulseaudio-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-settings-daemon-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="e8fa2ba07195dd66a94312909be37abe67089c7a687afee3bfde5860a598e84481949c9cdc7408886f90776556b41d5574bd6efc0614ed7583908214d59c6cb5 mate-settings-daemon-1.22.0.tar.xz" diff --git a/user/mate-system-monitor/APKBUILD b/user/mate-system-monitor/APKBUILD new file mode 100644 index 000000000..6f4db0166 --- /dev/null +++ b/user/mate-system-monitor/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-system-monitor +pkgver=1.22.0 +pkgrel=0 +pkgdesc="System monitor utilities for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="GPL-2.0+ AND LGPL-2.0+ AND GPL-2.0-only" +depends="" +makedepends="gtkmm+3.0-dev intltool itstool libgtop-dev librsvg-dev + libwnck-dev libxml2-dev libxml2-utils" +subpackages="$pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-system-monitor-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="6f97f934626b49320ea0dbb4e14743c4f33b12a85671b69465f689765f3003f00e51685b616e34a482c3ec0ca09ca4e13cbdb2e3eb4719c0d1fc7b25b24436a7 mate-system-monitor-1.22.0.tar.xz" diff --git a/user/mate-terminal/APKBUILD b/user/mate-terminal/APKBUILD new file mode 100644 index 000000000..fd0179bb6 --- /dev/null +++ b/user/mate-terminal/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-terminal +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Terminal emulator for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="GPL-3.0+ AND LGPL-3.0+" +depends="" +makedepends="dconf-dev gtk+3.0-dev intltool itstool libsm-dev libxml2-utils + vte-dev" +subpackages="$pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-terminal-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="45932db8c50348386a58ee7acaf08af43e28bd495dac08b4dcff5defd1c10189163bdfd73c61015674d61f275dabc2f749b2e0cbf9981c7dfdef5a4060686645 mate-terminal-1.22.0.tar.xz" diff --git a/user/mate-user-guide/APKBUILD b/user/mate-user-guide/APKBUILD new file mode 100644 index 000000000..96b71d29f --- /dev/null +++ b/user/mate-user-guide/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-user-guide +pkgver=1.22.0 +pkgrel=0 +pkgdesc="User handbook for the MATE desktop environment" +url="https://mate-desktop.org" +arch="noarch" +license="GFDL-1.1+" +depends="" +makedepends="intltool itstool libxml2-utils" +subpackages="$pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-user-guide-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="faf82569d8289f13d31c0c3a548692194f4938dc341b5a2214ccd3bba1fafaa6b5446cc5455ade391e7172268354cf2088c2a119aee96d3d42e71ee4c094dd14 mate-user-guide-1.22.0.tar.xz" diff --git a/user/mate-user-share/APKBUILD b/user/mate-user-share/APKBUILD new file mode 100644 index 000000000..3e681aa4f --- /dev/null +++ b/user/mate-user-share/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-user-share +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Inter-user file sharing utilities for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="GPL-2.0+" +depends="" +makedepends="apache-httpd-dev caja-dev dbus-glib-dev gtk+3.0-dev intltool + itstool libcanberra-dev libnotify-dev libxml2-utils" +subpackages="$pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-user-share-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --with-httpd=/usr/sbin/httpd \ + --with-modules-dir=/usr/libexec/apache2 + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="151532ebe031a973e8825d86c9a315697f5930f89d78960946da3ba135238e3130c59018d04cf9dc8d343ff1613e51254701bbf8e23a9881733ecbb7e6fb9f18 mate-user-share-1.22.0.tar.xz" diff --git a/user/mate-utils/APKBUILD b/user/mate-utils/APKBUILD new file mode 100644 index 000000000..7d70c09f4 --- /dev/null +++ b/user/mate-utils/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mate-utils +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Miscellaneous utilities for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +license="LGPL-2.0+ AND LGPL-2.1+ AND GPL-2.0+ AND GPL-3.0+" +depends="" +makedepends="gtk+3.0-dev intltool itstool libcanberra-dev libgtop-dev + libsm-dev libxml2-utils mate-panel-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mate-utils-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="248c6e4108900768a4e8b272d20ac9b2d70e8bf77375f4669a099f4d8386c2e8affeafb772d209f00906f96f20d7ee347167ef4837186f44d8aaad85ef855f70 mate-utils-1.22.0.tar.xz" diff --git a/user/mednafen/APKBUILD b/user/mednafen/APKBUILD index 097454cad..0666bec0f 100644 --- a/user/mednafen/APKBUILD +++ b/user/mednafen/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Horst Burkhardt <horst@adelielinux.org> # Maintainer: Horst Burkhardt <horst@adelielinux.org> pkgname=mednafen -pkgver=1.21.3 +pkgver=1.22.1 pkgrel=0 pkgdesc="an emulator for various home gaming consoles" url="https://mednafen.github.io/" @@ -12,18 +12,26 @@ license="GPL-2.0-only" depends="" makedepends="alsa-lib-dev flac-dev libogg-dev libsndfile-dev libvorbis-dev lzo-dev sdl2-dev zlib-dev" -source="https://mednafen.github.io/releases/files/$pkgname-$pkgver.tar.xz" +source="https://mednafen.github.io/releases/files/$pkgname-$pkgver.tar.xz + ppc.patch + ppc64.patch + " builddir="$srcdir/$pkgname" build() { - cd "$builddir" - ./configure --prefix=/usr --enable-ss=no - make + ./autogen.sh + export CXXFLAGS="$CXXFLAGS -fno-omit-frame-pointer" + ./configure \ + --prefix=/usr \ + --enable-ss=no \ + --enable-snes-faust=no + make } package() { - cd "$builddir" make DESTDIR="$pkgdir" install } -sha512sums="987c14edae68901f8a693c9f7317063daf4274bb0b650ed05cd01cf4ceb38d76e6ff5446c324447f73727096c74d0bf7f545cdeadfb6291d67656d659de26715 mednafen-1.21.3.tar.xz" +sha512sums="4e6890b984a812e188a42582e79dfdac28e101ce3bd658044b68f267d5c8b3799ea3f4de3dcac5314a615f17591a537b51e64f6bd165fec01f028b201eb32763 mednafen-1.22.1.tar.xz +264b22be3af9db57d0e8676d77b57338308764c79a5eae1c7bd3bb211c5e190ec0797e34a952039175395c0b8819e6285f2ac5f652ee0d5b9d1e0eaf43eca6e9 ppc.patch +84cbff76b16960ec67fec785fc6e8d541db342e9567fb6f4d42c84ced3fc0f0dfe702a8a7fd7af4f84835f8efe289e7cb9cf18766e4196525686eaa23b02537c ppc64.patch" diff --git a/user/mednafen/ppc.patch b/user/mednafen/ppc.patch new file mode 100644 index 000000000..0f795f169 --- /dev/null +++ b/user/mednafen/ppc.patch @@ -0,0 +1,11 @@ +--- mednafen/configure.ac.old 2019-01-28 06:52:37.000000000 +0000 ++++ mednafen/configure.ac 2019-03-24 22:30:31.180000000 +0000 +@@ -765,7 +765,7 @@ + AM_CONDITIONAL(ARCH_X86_32, true) + ;; + +- powerpc) ++ powerpc*|ppc*) + AC_DEFINE([ARCH_POWERPC], [1], [Define if we are compiling for PPC architectures.]) + AM_CONDITIONAL(ARCH_POWERPC, true) + diff --git a/user/mednafen/ppc64.patch b/user/mednafen/ppc64.patch new file mode 100644 index 000000000..734af47de --- /dev/null +++ b/user/mednafen/ppc64.patch @@ -0,0 +1,13 @@ +musl is always ELFv2, no matter endianness. + +--- mednafen/src/snes/src/lib/libco/ppc.c.old 2019-01-28 06:52:37.000000000 +0000 ++++ mednafen/src/snes/src/lib/libco/ppc.c 2019-03-25 03:42:05.330000000 +0000 +@@ -40,7 +40,7 @@ + /* Whether function calls are indirect through a descriptor, + or are directly to function */ + #ifndef LIBCO_PPCDESC +- #if !_CALL_SYSV && (_CALL_AIX || _CALL_AIXDESC || LIBCO_PPC64) ++ #if !_CALL_SYSV && (_CALL_AIX || _CALL_AIXDESC || (LIBCO_PPC64 && _CALL_ELF == 1)) + #define LIBCO_PPCDESC 1 + #endif + #endif diff --git a/user/mesa-demos/APKBUILD b/user/mesa-demos/APKBUILD index f89083ae4..d1c172828 100644 --- a/user/mesa-demos/APKBUILD +++ b/user/mesa-demos/APKBUILD @@ -3,7 +3,7 @@ # Maintainer: Dan Theisen <djt@hxx.in> pkgname=mesa-demos pkgver=8.4.0 -pkgrel=0 +pkgrel=1 pkgdesc="Mesa demos and utils" url="http://mesa3d.org" arch="all" @@ -25,6 +25,8 @@ build() { package() { cd "$builddir" make -j1 DESTDIR="$pkgdir" install + # conflicts with X11 bitmap tool + mv "$pkgdir"/usr/bin/bitmap "$pkgdir"/usr/bin/bitmap-demo } sha512sums="b72d03cad36e0535ff18dcfb222ec4200064b9264f6da51a6e5f03b0dd912abe188bc1d600b6698de3ce6f63b28d2ce01565886ca8e7079edc4967fbf2fb0957 mesa-demos-8.4.0.tar.bz2" diff --git a/user/meson/APKBUILD b/user/meson/APKBUILD index d649ab340..709062f23 100644 --- a/user/meson/APKBUILD +++ b/user/meson/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net> # Maintainer: pkgname=meson -pkgver=0.49.2 +pkgver=0.50.0 pkgrel=0 pkgdesc="Fast, user-friendly build system" url="http://mesonbuild.com/" @@ -27,4 +27,4 @@ package() { python3 setup.py install --prefix=/usr --root="$pkgdir" } -sha512sums="d07a5dfd699f1e4b00af39c377ec186c91718d9595cb0ab506b4b40c0c63ddd14eccbe8afb446635272c431e2a78032888be0bc8f6064044da53e8c0b5f7be3f meson-0.49.2.tar.gz" +sha512sums="93ed7dbb1e3f7687834560686b9bf1c34d1098b1a542d3a6f6f91e36316202705e3a45fa4280237e3896a02177b42a6362e1afe4fbe29adf0b857c5c368f6f5f meson-0.50.0.tar.gz" diff --git a/user/mosh/APKBUILD b/user/mosh/APKBUILD index 323891e69..afa107c80 100644 --- a/user/mosh/APKBUILD +++ b/user/mosh/APKBUILD @@ -7,7 +7,7 @@ pkgdesc="Mobile shell surviving disconnects with local echo and line editing" url="https://mosh.org" arch="all" license="GPL-3.0+" -depends="$pkgname-client $pkgname-server" +depends="$pkgname-client $pkgname-server perl" checkdepends="tmux perl" makedepends="ncurses-dev zlib-dev openssl-dev perl-dev perl-io-tty protobuf-dev automake autoconf libtool gzip" diff --git a/user/mozjs/APKBUILD b/user/mozjs/APKBUILD index 7760654b5..e9b3958ac 100644 --- a/user/mozjs/APKBUILD +++ b/user/mozjs/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=mozjs pkgver=52.4.0 -pkgrel=1 +pkgrel=2 pkgdesc="Standalone JavaScript interpreter from Mozilla" url="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" arch="all" @@ -18,6 +18,7 @@ source="https://distfiles.adelielinux.org/source/mozilla/mozjs-$pkgver.tar.bz2 0006-Disable-MOZ_GLUE_IN_PROGRAM-in-stand-alone-builds-on.patch 0008-tests-Skip-on-all-64-bit-archs.patch 0009-build-Include-configure-script-be-nicer-about-option.patch + arm64.patch baseconfig.patch dont-fail-tests-without-ion.patch python3.patch @@ -68,6 +69,7 @@ edbec26bff4fb91911b1dafc566d4cf37635e9039a1cbd527543d74765d1c96bcfae71fe4f9a66c6 d9acf4570a073a2151e19ad854e72ff927d050b532f04367bf49fb0c98f8eb544e9f6c455b1411d09a8a3034a2be62e23b7f9080fac9249e4132e85f2245d474 0006-Disable-MOZ_GLUE_IN_PROGRAM-in-stand-alone-builds-on.patch a95e91ffa3693ac2ac81eddee2e490b4acfb5ae0381a291b1916afc0d91fb00b95457fde0efe62905025fe425c18d5363c5e6ad1bb121645b29a14f6c76c0489 0008-tests-Skip-on-all-64-bit-archs.patch 2556f3322c5bc39c1efbbbd19b6843cf69b63a0255e8e3617f58b229e75ac221b6cb57fce15452cd1f25498c66f29f588f38c10c175b82c6fe163faaa7e3e2b0 0009-build-Include-configure-script-be-nicer-about-option.patch +63806e54fe7530703420fd070a8ef38b46cd185991a6d66dc2c1ec588f2b271883120b8e16d1a898eb6ddb41569d719f857e71f9e16e839962527cee1f47c41e arm64.patch 22870d6ee8a0a0b4359d78173aef0ade49063bfad495fd40815852684a1cdf17f9f50585e0d693eb712c2a2225ea43c4387cf454f3b9bd39e01899f3936775f1 baseconfig.patch 6ebaf6fd24f1987020ad0da82cd2ff878e5c27997ac45a571899f492b435d12e32274eac35e2d571775b6f6bdce24f8e7a968088da61329e2cd36dfc762a0156 dont-fail-tests-without-ion.patch 66a894b4878797438ac1361b892df4df45fe0c990e9540235336116a2dbfcc5d787a3076dca323b8252fb8cb6e39a61819fc0d4ce1491fb9e4d07c912fdf9e4d python3.patch" diff --git a/user/mozjs/arm64.patch b/user/mozjs/arm64.patch new file mode 100644 index 000000000..df1c8cc7e --- /dev/null +++ b/user/mozjs/arm64.patch @@ -0,0 +1,60 @@ + +# HG changeset patch +# User Jim Chen <nchen@mozilla.com> +# Date 1493664360 14400 +# Node ID 042d975f9355f711b058152691a44e458ba252b3 +# Parent fa7165dda22460795afe4ed27ecc57f454a3dfaa +Bug 1357874 - Add more AArch64 support to JS code; r=luke + +* Fix a parentheses warning when compiling testGCAllocator.cpp. + +* Define GETRANDOM_NR macro for AArch64. + +* Disable Android workarounds in jsnativestack.cpp and + WasmSignalHandlers.cpp for AArch64, because AArch64 is only supported + on API 21+, in which case those workarounds don't apply. + +* Enable trace logging in TraceLogging.cpp. + +diff --git a/js/src/jsapi-tests/testGCAllocator.cpp b/js/src/jsapi-tests/testGCAllocator.cpp +--- a/js/src/jsapi-tests/testGCAllocator.cpp ++++ b/js/src/jsapi-tests/testGCAllocator.cpp +@@ -310,15 +310,15 @@ void unmapPages(void* p, size_t size) { + #elif defined(XP_UNIX) + + void* + mapMemoryAt(void* desired, size_t length) + { + #if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) || defined(__aarch64__) +- MOZ_RELEASE_ASSERT(0xffff800000000000ULL & (uintptr_t(desired) + length - 1) == 0); ++ MOZ_RELEASE_ASSERT((0xffff800000000000ULL & (uintptr_t(desired) + length - 1)) == 0); + #endif + void* region = mmap(desired, length, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0); + if (region == MAP_FAILED) + return nullptr; + if (region != desired) { + if (munmap(region, length)) + MOZ_RELEASE_ASSERT(errno == ENOMEM); + return nullptr; +diff --git a/js/src/vm/TraceLogging.cpp b/js/src/vm/TraceLogging.cpp +--- a/js/src/vm/TraceLogging.cpp ++++ b/js/src/vm/TraceLogging.cpp +@@ -56,17 +56,17 @@ rdtsc(void) + ); + result = upper; + result = result<<32; + result = result|lower; + + return result; + + } +-#elif defined(__arm__) ++#elif defined(__arm__) || defined(__aarch64__) + + #include <sys/time.h> + + static __inline__ uint64_t + rdtsc(void) + { + struct timeval tv; + gettimeofday(&tv, NULL); diff --git a/user/mozo/APKBUILD b/user/mozo/APKBUILD new file mode 100644 index 000000000..9d24d67cd --- /dev/null +++ b/user/mozo/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=mozo +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Menu editor for the MATE desktop environment" +url="https://mate-desktop.org" +arch="noarch" +license="LGPL-2.0+" +depends="python3" +makedepends="intltool mate-menus-dev py3-pygobject-dev" +subpackages="$pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/mozo-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="f3d60e94d9bf5fdd435320856563622f0687cc2844a3d51473bcef5c442f4938a4030533271ead2fd88fb0ce805c16b40d629e5a69fc642e7e670a1afd5745db mozo-1.22.0.tar.xz" diff --git a/user/nghttp2/APKBUILD b/user/nghttp2/APKBUILD index da23381f8..0c0c764e7 100644 --- a/user/nghttp2/APKBUILD +++ b/user/nghttp2/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: pkgname=nghttp2 -pkgver=1.36.0 +pkgver=1.37.0 pkgrel=0 pkgdesc="Experimental HTTP/2 client, server and proxy" url="https://nghttp2.org/" @@ -39,4 +39,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="4e0d5c5cdb4f1b7e5f12790850237f36649af4aa9596033392725972e4e0e5a33bb78bd1aa0735e35e489b523b7e9a236a7b5847dfca69bd7583fcab36c13c76 nghttp2-1.36.0.tar.xz" +sha512sums="67a4b9df3f7f0edad719011fa289d9aa9ef04f31ef3ccf826b861c8830ed24e0743a33b54ab66d198fec7edbf723852b38a2007b335d7f566f702f4b02297b0f nghttp2-1.37.0.tar.xz" diff --git a/user/node/APKBUILD b/user/node/APKBUILD new file mode 100644 index 000000000..ba3ff6807 --- /dev/null +++ b/user/node/APKBUILD @@ -0,0 +1,71 @@ +# Contributor: A. Wilcox <awilfox@adelielinux.org> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=node +pkgver=10.15.3 +pkgrel=0 +pkgdesc="JavaScript runtime" +url="https://nodejs.org/" +arch="all" +license="MIT AND ICU AND BSD-3-Clause AND BSD-2-Clause AND ISC AND OpenSSL AND Public-Domain AND Zlib AND Artistic-2.0 AND Apache-2.0 AND CC0-1.0" +depends="" +makedepends="c-ares-dev http-parser-dev icu-dev libexecinfo-dev libuv-dev + nghttp2-dev python3 zlib-dev" +subpackages="$pkgname-dev $pkgname-doc" +source="https://nodejs.org/download/release/v$pkgver/node-v$pkgver.tar.xz + https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tar.xz + libatomic.patch + ppc32.patch + ppc64.patch + stack-silliness.patch + " +builddir="$srcdir/$pkgname-v$pkgver" + +unpack() { + default_unpack + [ -z $SKIP_PYTHON ] || return 0 + + msg "Killing all remaining hope for humanity and building Python 2..." + cd "$srcdir/Python-2.7.15" + [ -d ../python ] && rm -r ../python + # 19:39 <+solar> just make the firefox build process build its own py2 copy + # 20:03 <calvin> TheWilfox: there's always violence + ./configure --prefix="$srcdir/python" + make -j $JOBS + make -j $JOBS install +} + +build() { + cd "$builddir" + export PATH="$srcdir/python/bin:$PATH" + # We can't use --shared-openssl until 1.1 is available. + python ./configure.py \ + --prefix=/usr \ + --with-intl=system-icu \ + --shared-cares \ + --shared-http-parser \ + --shared-libuv \ + --shared-nghttp2 \ + --openssl-no-asm \ + --shared-zlib + # keep DESTDIR set, to avoid a full rebuild in package() + make DESTDIR="$pkgdir" +} + +check() { + cd "$builddir" + export PATH="$srcdir/python/bin:$PATH" + make DESTDIR="$pkgdir" test-only +} + +package() { + cd "$builddir" + export PATH="$srcdir/python/bin:$PATH" + make DESTDIR="$pkgdir" install +} + +sha512sums="cf741f733af7a7e1fbd37b0f98110078494b4771dbdfccacfda95a5ea4cda6cdcea4f8d31dddcf27477213614e4ab6cf7d1a1f900cb92936333730737ac4f9e8 node-v10.15.3.tar.xz +27ea43eb45fc68f3d2469d5f07636e10801dee11635a430ec8ec922ed790bb426b072da94df885e4dfa1ea8b7a24f2f56dd92f9b0f51e162330f161216bd6de6 Python-2.7.15.tar.xz +8f64922d586bce9d82c83042a989739cc55ecc5e015778cdfbda21c257aa50527ddb18740985bcb2068e4a749b71eb8a135d9a8152b374d361589df7f33c9b60 libatomic.patch +d369cd9685e372368af11ea763defdde7afc789ce5e2f617b47174fb4d45003d6e494a00ef92c9ed098c49c189d1690edf9ce780448a5b4a5b072c20ea35ab95 ppc32.patch +583326353de5b0ac14a6c42321f6b031bd943a80550624794e15bd7526470f67bfa14a66558db3c94b4ee2db3053d2e4efed2117f4e7b6dca3c59c171048c094 ppc64.patch +3ea09e36ed0cc31e0475ebc9c92b7609b70e9c1637c5db6c92cf1d6363fb8c6f884ffa20dd81054ca390b721695185327d80c9eeff0688a959e9d46947602471 stack-silliness.patch" diff --git a/user/node/gyp-python3.patch b/user/node/gyp-python3.patch new file mode 100644 index 000000000..e52ef19ec --- /dev/null +++ b/user/node/gyp-python3.patch @@ -0,0 +1,3862 @@ +diff --git a/tools/gyp/pylib/gyp/input.py b/pylib/gyp/input.py +index a046a15..21b4606 100644 +--- a/tools/gyp/pylib/gyp/input.py ++++ b/tools/gyp/pylib/gyp/input.py +@@ -2,14 +2,8 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + +-from compiler.ast import Const +-from compiler.ast import Dict +-from compiler.ast import Discard +-from compiler.ast import List +-from compiler.ast import Module +-from compiler.ast import Node +-from compiler.ast import Stmt +-import compiler ++import ast ++ + import gyp.common + import gyp.simple_copy + import multiprocessing +@@ -183,43 +177,38 @@ + Note that this is slower than eval() is. + """ + +- ast = compiler.parse(file_contents) +- assert isinstance(ast, Module) +- c1 = ast.getChildren() +- assert c1[0] is None +- assert isinstance(c1[1], Stmt) +- c2 = c1[1].getChildren() +- assert isinstance(c2[0], Discard) +- c3 = c2[0].getChildren() +- assert len(c3) == 1 +- return CheckNode(c3[0], []) ++ syntax_tree = ast.parse(file_contents) ++ assert isinstance(syntax_tree, ast.Module) ++ c1 = syntax_tree.body ++ assert len(c1) == 1 ++ c2 = c1[0] ++ assert isinstance(c2, ast.Expr) ++ return CheckNode(c2.value, []) + + + def CheckNode(node, keypath): +- if isinstance(node, Dict): +- c = node.getChildren() ++ if isinstance(node, ast.Dict): + dict = {} +- for n in range(0, len(c), 2): +- assert isinstance(c[n], Const) +- key = c[n].getChildren()[0] ++ for key, value in zip(node.keys, node.values): ++ assert isinstance(key, ast.Str) ++ key = key.s + if key in dict: + raise GypError("Key '" + key + "' repeated at level " + + repr(len(keypath) + 1) + " with key path '" + + '.'.join(keypath) + "'") + kp = list(keypath) # Make a copy of the list for descending this node. + kp.append(key) +- dict[key] = CheckNode(c[n + 1], kp) ++ dict[key] = CheckNode(value, kp) + return dict +- elif isinstance(node, List): +- c = node.getChildren() ++ elif isinstance(node, ast.List): + children = [] +- for index, child in enumerate(c): ++ for index, child in enumerate(node.elts): + kp = list(keypath) # Copy list. + kp.append(repr(index)) + children.append(CheckNode(child, kp)) + return children +- elif isinstance(node, Const): +- return node.getChildren()[0] ++ elif isinstance(node, ast.Str): ++ return node.s + else: + raise TypeError("Unknown AST node at key path '" + '.'.join(keypath) + + "': " + repr(node)) +diff --git a/tools/gyp/pylib/gyp/simple_copy.py b/pylib/gyp/simple_copy.py +index 74c98c5..eaf5f8b 100644 +--- a/tools/gyp/pylib/gyp/simple_copy.py ++++ b/tools/gyp/pylib/gyp/simple_copy.py +@@ -28,8 +28,19 @@ + def _deepcopy_atomic(x): + return x + +-for x in (type(None), int, long, float, +- bool, str, unicode, type): ++try: ++ _string_types = (str, unicode) ++# There's no unicode in python3 ++except NameError: ++ _string_types = (str, ) ++ ++try: ++ _integer_types = (int, long) ++# There's no long in python3 ++except NameError: ++ _integer_types = (int, ) ++ ++for x in (type(None), float, bool, type) + _integer_types + _string_types: + d[x] = _deepcopy_atomic + + def _deepcopy_list(x): +diff --git a/tools/gyp/PRESUBMIT.py b/PRESUBMIT.py +index 4bc1b8c..5ee669b 100644 +--- a/tools/gyp/PRESUBMIT.py ++++ b/tools/gyp/PRESUBMIT.py +@@ -76,8 +76,7 @@ + def _LicenseHeader(input_api): + # Accept any year number from 2009 to the current year. + current_year = int(input_api.time.strftime('%Y')) +- allowed_years = (str(s) for s in reversed(xrange(2009, current_year + 1))) +- ++ allowed_years = (str(s) for s in reversed(range(2009, current_year + 1))) + years_re = '(' + '|'.join(allowed_years) + ')' + + # The (c) is deprecated, but tolerate it until it's removed from all files. +diff --git a/tools/gyp/README.md b/README.md +index c0d73ac..b4766c9 100644 +--- a/tools/gyp/README.md ++++ b/tools/gyp/README.md +@@ -1,4 +1,5 @@ + GYP can Generate Your Projects. + =================================== + +-Documents are available at [gyp.gsrc.io](https://gyp.gsrc.io), or you can check out ```md-pages``` branch to read those documents offline. ++Documents are available at [gyp.gsrc.io](https://gyp.gsrc.io), or you can ++check out ```md-pages``` branch to read those documents offline. +diff --git a/tools/gyp/buildbot/buildbot_run.py b/buildbot/buildbot_run.py +index 9a2b71f..8941652 100755 +--- a/tools/gyp/buildbot/buildbot_run.py ++++ b/tools/gyp/buildbot/buildbot_run.py +@@ -5,6 +5,8 @@ + + """Argument-less script to select what to run on the buildbots.""" + ++from __future__ import print_function ++ + import os + import shutil + import subprocess +@@ -24,14 +26,14 @@ + with open(os.devnull) as devnull_fd: + retcode = subprocess.call(stdin=devnull_fd, *args, **kwargs) + if retcode != 0: +- print '@@@STEP_EXCEPTION@@@' ++ print('@@@STEP_EXCEPTION@@@') + sys.exit(1) + + + def PrepareCmake(): + """Build CMake 2.8.8 since the version in Precise is 2.8.7.""" + if os.environ['BUILDBOT_CLOBBER'] == '1': +- print '@@@BUILD_STEP Clobber CMake checkout@@@' ++ print('@@@BUILD_STEP Clobber CMake checkout@@@') + shutil.rmtree(CMAKE_DIR) + + # We always build CMake 2.8.8, so no need to do anything +@@ -39,10 +41,10 @@ + if os.path.isdir(CMAKE_DIR): + return + +- print '@@@BUILD_STEP Initialize CMake checkout@@@' ++ print('@@@BUILD_STEP Initialize CMake checkout@@@') + os.mkdir(CMAKE_DIR) + +- print '@@@BUILD_STEP Sync CMake@@@' ++ print('@@@BUILD_STEP Sync CMake@@@') + CallSubProcess( + ['git', 'clone', + '--depth', '1', +@@ -53,7 +55,7 @@ + CMAKE_DIR], + cwd=CMAKE_DIR) + +- print '@@@BUILD_STEP Build CMake@@@' ++ print('@@@BUILD_STEP Build CMake@@@') + CallSubProcess( + ['/bin/bash', 'bootstrap', '--prefix=%s' % CMAKE_DIR], + cwd=CMAKE_DIR) +@@ -74,7 +76,7 @@ + if not format: + format = title + +- print '@@@BUILD_STEP ' + title + '@@@' ++ print('@@@BUILD_STEP ' + title + '@@@') + sys.stdout.flush() + env = os.environ.copy() + if msvs_version: +@@ -89,17 +91,17 @@ + retcode = subprocess.call(command, cwd=ROOT_DIR, env=env, shell=True) + if retcode: + # Emit failure tag, and keep going. +- print '@@@STEP_FAILURE@@@' ++ print('@@@STEP_FAILURE@@@') + return 1 + return 0 + + + def GypBuild(): + # Dump out/ directory. +- print '@@@BUILD_STEP cleanup@@@' +- print 'Removing %s...' % OUT_DIR ++ print('@@@BUILD_STEP cleanup@@@') ++ print('Removing %s...' % OUT_DIR) + shutil.rmtree(OUT_DIR, ignore_errors=True) +- print 'Done.' ++ print('Done.') + + retcode = 0 + if sys.platform.startswith('linux'): +@@ -128,7 +130,7 @@ + # after the build proper that could be used for cumulative failures), + # use that instead of this. This isolates the final return value so + # that it isn't misattributed to the last stage. +- print '@@@BUILD_STEP failures@@@' ++ print('@@@BUILD_STEP failures@@@') + sys.exit(retcode) + + +diff --git a/tools/gyp/pylib/gyp/MSVSSettings.py b/pylib/gyp/MSVSSettings.py +index 8ae1918..1d2e25a 100644 +--- a/tools/gyp/pylib/gyp/MSVSSettings.py ++++ b/tools/gyp/pylib/gyp/MSVSSettings.py +@@ -14,9 +14,17 @@ + MSBuild install directory, e.g. c:\Program Files (x86)\MSBuild + """ + ++from __future__ import print_function ++ + import sys + import re + ++try: ++ # basestring was removed in python3. ++ basestring ++except NameError: ++ basestring = str ++ + # Dictionaries of settings validators. The key is the tool name, the value is + # a dictionary mapping setting names to validation functions. + _msvs_validators = {} +@@ -400,7 +408,7 @@ + + if unrecognized: + # We don't know this setting. Give a warning. +- print >> stderr, error_msg ++ print(error_msg, file=stderr) + + + def FixVCMacroSlashes(s): +@@ -433,7 +441,7 @@ + '$(PlatformName)': '$(Platform)', + '$(SafeInputName)': '%(Filename)', + } +- for old, new in replace_map.iteritems(): ++ for old, new in replace_map.items(): + s = s.replace(old, new) + s = FixVCMacroSlashes(s) + return s +@@ -453,17 +461,18 @@ + dictionaries of settings and their values. + """ + msbuild_settings = {} +- for msvs_tool_name, msvs_tool_settings in msvs_settings.iteritems(): ++ for msvs_tool_name, msvs_tool_settings in msvs_settings.items(): + if msvs_tool_name in _msvs_to_msbuild_converters: + msvs_tool = _msvs_to_msbuild_converters[msvs_tool_name] +- for msvs_setting, msvs_value in msvs_tool_settings.iteritems(): ++ for msvs_setting, msvs_value in msvs_tool_settings.items(): + if msvs_setting in msvs_tool: + # Invoke the translation function. + try: + msvs_tool[msvs_setting](msvs_value, msbuild_settings) +- except ValueError, e: +- print >> stderr, ('Warning: while converting %s/%s to MSBuild, ' +- '%s' % (msvs_tool_name, msvs_setting, e)) ++ except ValueError as e: ++ print(('Warning: while converting %s/%s to MSBuild, ' ++ '%s' % (msvs_tool_name, msvs_setting, e)), ++ file=stderr) + else: + _ValidateExclusionSetting(msvs_setting, + msvs_tool, +@@ -472,8 +481,8 @@ + (msvs_tool_name, msvs_setting)), + stderr) + else: +- print >> stderr, ('Warning: unrecognized tool %s while converting to ' +- 'MSBuild.' % msvs_tool_name) ++ print(('Warning: unrecognized tool %s while converting to ' ++ 'MSBuild.' % msvs_tool_name), file=stderr) + return msbuild_settings + + +@@ -513,13 +522,13 @@ + for tool_name in settings: + if tool_name in validators: + tool_validators = validators[tool_name] +- for setting, value in settings[tool_name].iteritems(): ++ for setting, value in settings[tool_name].items(): + if setting in tool_validators: + try: + tool_validators[setting](value) +- except ValueError, e: +- print >> stderr, ('Warning: for %s/%s, %s' % +- (tool_name, setting, e)) ++ except ValueError as e: ++ print(('Warning: for %s/%s, %s' % ++ (tool_name, setting, e)), file=stderr) + else: + _ValidateExclusionSetting(setting, + tool_validators, +@@ -528,7 +537,7 @@ + stderr) + + else: +- print >> stderr, ('Warning: unrecognized tool %s' % tool_name) ++ print(('Warning: unrecognized tool %s' % tool_name), file=stderr) + + + # MSVS and MBuild names of the tools. +diff --git a/tools/gyp/pylib/gyp/MSVSSettings_test.py b/pylib/gyp/MSVSSettings_test.py +index bf6ea6b..73ed25e 100755 +--- a/tools/gyp/pylib/gyp/MSVSSettings_test.py ++++ b/tools/gyp/pylib/gyp/MSVSSettings_test.py +@@ -6,7 +6,10 @@ + + """Unit tests for the MSVSSettings.py file.""" + +-import StringIO ++try: ++ from StringIO import StringIO ++except ImportError: ++ from io import StringIO + import unittest + import gyp.MSVSSettings as MSVSSettings + +@@ -14,7 +17,7 @@ + class TestSequenceFunctions(unittest.TestCase): + + def setUp(self): +- self.stderr = StringIO.StringIO() ++ self.stderr = StringIO() + + def _ExpectedWarnings(self, expected): + """Compares recorded lines to expected warnings.""" +diff --git a/tools/gyp/pylib/gyp/MSVSUserFile.py b/pylib/gyp/MSVSUserFile.py +index 6c07e9a..2264d64 100644 +--- a/tools/gyp/pylib/gyp/MSVSUserFile.py ++++ b/tools/gyp/pylib/gyp/MSVSUserFile.py +@@ -91,7 +91,7 @@ + + if environment and isinstance(environment, dict): + env_list = ['%s="%s"' % (key, val) +- for (key,val) in environment.iteritems()] ++ for (key,val) in environment.items()] + environment = ' '.join(env_list) + else: + environment = '' +@@ -135,7 +135,7 @@ + def WriteIfChanged(self): + """Writes the user file.""" + configs = ['Configurations'] +- for config, spec in sorted(self.configurations.iteritems()): ++ for config, spec in sorted(self.configurations.items()): + configs.append(spec) + + content = ['VisualStudioUserFile', +diff --git a/tools/gyp/pylib/gyp/MSVSUtil.py b/pylib/gyp/MSVSUtil.py +index 96dea6c..f24530b 100644 +--- a/tools/gyp/pylib/gyp/MSVSUtil.py ++++ b/tools/gyp/pylib/gyp/MSVSUtil.py +@@ -236,7 +236,7 @@ + + # Set up the shim to output its PDB to the same location as the final linker + # target. +- for config_name, config in shim_dict.get('configurations').iteritems(): ++ for config_name, config in shim_dict.get('configurations').items(): + pdb_path = _GetPdbPath(target_dict, config_name, vars) + + # A few keys that we don't want to propagate. +diff --git a/tools/gyp/pylib/gyp/MSVSVersion.py b/pylib/gyp/MSVSVersion.py +index 44b958d..5f316b6 100644 +--- a/tools/gyp/pylib/gyp/MSVSVersion.py ++++ b/tools/gyp/pylib/gyp/MSVSVersion.py +@@ -189,7 +189,7 @@ + text = None + try: + text = _RegistryQueryBase('Sysnative', key, value) +- except OSError, e: ++ except OSError as e: + if e.errno == errno.ENOENT: + text = _RegistryQueryBase('System32', key, value) + else: +@@ -207,12 +207,15 @@ + contents of the registry key's value, or None on failure. Throws + ImportError if _winreg is unavailable. + """ +- import _winreg ++ try: ++ import _winreg as winreg ++ except ImportError: ++ import winreg + try: + root, subkey = key.split('\\', 1) + assert root == 'HKLM' # Only need HKLM for now. +- with _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, subkey) as hkey: +- return _winreg.QueryValueEx(hkey, value)[0] ++ with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, subkey) as hkey: ++ return winreg.QueryValueEx(hkey, value)[0] + except WindowsError: + return None + +diff --git a/tools/gyp/pylib/gyp/__init__.py b/pylib/gyp/__init__.py +index 668f38b..e038151 100755 +--- a/tools/gyp/pylib/gyp/__init__.py ++++ b/tools/gyp/pylib/gyp/__init__.py +@@ -4,6 +4,8 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++from __future__ import print_function ++ + import copy + import gyp.input + import optparse +@@ -14,6 +16,12 @@ + import traceback + from gyp.common import GypError + ++try: ++ # basestring was removed in python3. ++ basestring ++except NameError: ++ basestring = str ++ + # Default debug modes for GYP + debug = {} + +@@ -22,7 +30,6 @@ + DEBUG_VARIABLES = 'variables' + DEBUG_INCLUDES = 'includes' + +- + def DebugOutput(mode, message, *args): + if 'all' in gyp.debug or mode in gyp.debug: + ctx = ('unknown', 0, 'unknown') +@@ -34,8 +41,8 @@ + pass + if args: + message %= args +- print '%s:%s:%d:%s %s' % (mode.upper(), os.path.basename(ctx[0]), +- ctx[1], ctx[2], message) ++ print('%s:%s:%d:%s %s' % (mode.upper(), os.path.basename(ctx[0]), ++ ctx[1], ctx[2], message)) + + def FindBuildFiles(): + extension = '.gyp' +@@ -207,7 +214,7 @@ + # We always want to ignore the environment when regenerating, to avoid + # duplicate or changed flags in the environment at the time of regeneration. + flags = ['--ignore-environment'] +- for name, metadata in options._regeneration_metadata.iteritems(): ++ for name, metadata in options._regeneration_metadata.items(): + opt = metadata['opt'] + value = getattr(options, name) + value_predicate = metadata['type'] == 'path' and FixPath or Noop +@@ -226,12 +233,13 @@ + (action == 'store_false' and not value)): + flags.append(opt) + elif options.use_environment and env_name: +- print >>sys.stderr, ('Warning: environment regeneration unimplemented ' ++ print(('Warning: environment regeneration unimplemented ' + 'for %s flag %r env_name %r' % (action, opt, +- env_name)) ++ env_name)), ++ file=sys.stderr) + else: +- print >>sys.stderr, ('Warning: regeneration unimplemented for action %r ' +- 'flag %r' % (action, opt)) ++ print(('Warning: regeneration unimplemented for action %r ' ++ 'flag %r' % (action, opt)), file=sys.stderr) + + return flags + +@@ -431,12 +439,11 @@ + for build_file in build_files: + build_file_dir = os.path.abspath(os.path.dirname(build_file)) + build_file_dir_components = build_file_dir.split(os.path.sep) +- components_len = len(build_file_dir_components) +- for index in xrange(components_len - 1, -1, -1): +- if build_file_dir_components[index] == 'src': ++ for component in reversed(build_file_dir_components): ++ if component == 'src': + options.depth = os.path.sep.join(build_file_dir_components) + break +- del build_file_dir_components[index] ++ del build_file_dir_components[-1] + + # If the inner loop found something, break without advancing to another + # build file. +@@ -475,7 +482,7 @@ + if home_dot_gyp != None: + default_include = os.path.join(home_dot_gyp, 'include.gypi') + if os.path.exists(default_include): +- print 'Using overrides found in ' + default_include ++ print('Using overrides found in ' + default_include) + includes.append(default_include) + + # Command-line --include files come after the default include. +@@ -490,7 +497,7 @@ + if options.generator_flags: + gen_flags += options.generator_flags + generator_flags = NameValueListToDict(gen_flags) +- if DEBUG_GENERAL in gyp.debug.keys(): ++ if DEBUG_GENERAL in gyp.debug: + DebugOutput(DEBUG_GENERAL, "generator_flags: %s", generator_flags) + + # Generate all requested formats (use a set in case we got one format request +@@ -523,7 +530,7 @@ + generator.GenerateOutput(flat_list, targets, data, params) + + if options.configs: +- valid_configs = targets[flat_list[0]]['configurations'].keys() ++ valid_configs = targets[flat_list[0]]['configurations'] + for conf in options.configs: + if conf not in valid_configs: + raise GypError('Invalid config specified via --build: %s' % conf) +@@ -536,7 +543,7 @@ + def main(args): + try: + return gyp_main(args) +- except GypError, e: ++ except GypError as e: + sys.stderr.write("gyp: %s\n" % e) + return 1 + +diff --git a/tools/gyp/pylib/gyp/common.py b/pylib/gyp/common.py +index 1b245ec..1823de8 100644 +--- a/tools/gyp/pylib/gyp/common.py ++++ b/tools/gyp/pylib/gyp/common.py +@@ -345,7 +345,7 @@ + prefix=os.path.split(filename)[1] + '.gyp.', + dir=os.path.split(filename)[0]) + try: +- self.tmp_file = os.fdopen(tmp_fd, 'wb') ++ self.tmp_file = os.fdopen(tmp_fd, 'w') + except Exception: + # Don't leave turds behind. + os.unlink(self.tmp_path) +@@ -363,7 +363,7 @@ + same = False + try: + same = filecmp.cmp(self.tmp_path, filename, False) +- except OSError, e: ++ except OSError as e: + if e.errno != errno.ENOENT: + raise + +@@ -382,9 +382,9 @@ + # + # No way to get the umask without setting a new one? Set a safe one + # and then set it back to the old value. +- umask = os.umask(077) ++ umask = os.umask(0o77) + os.umask(umask) +- os.chmod(self.tmp_path, 0666 & ~umask) ++ os.chmod(self.tmp_path, 0o666 & ~umask) + if sys.platform == 'win32' and os.path.exists(filename): + # NOTE: on windows (but not cygwin) rename will not replace an + # existing file, so it must be preceded with a remove. Sadly there +@@ -471,7 +471,7 @@ + ''.join([source[0], header] + source[1:])) + + # Make file executable. +- os.chmod(tool_path, 0755) ++ os.chmod(tool_path, 0o755) + + + # From Alex Martelli, +diff --git a/tools/gyp/pylib/gyp/common_test.py b/pylib/gyp/common_test.py +index ad6f9a1..0b8ada3 100755 +--- a/tools/gyp/pylib/gyp/common_test.py ++++ b/tools/gyp/pylib/gyp/common_test.py +@@ -63,6 +63,7 @@ + self.assertFlavor('solaris', 'sunos' , {}); + self.assertFlavor('linux' , 'linux2' , {}); + self.assertFlavor('linux' , 'linux3' , {}); ++ self.assertFlavor('linux' , 'linux' , {}); + + def test_param(self): + self.assertFlavor('foobar', 'linux2' , {'flavor': 'foobar'}) +diff --git a/tools/gyp/pylib/gyp/easy_xml.py b/pylib/gyp/easy_xml.py +index 2522efb..15c6651 100644 +--- a/tools/gyp/pylib/gyp/easy_xml.py ++++ b/tools/gyp/pylib/gyp/easy_xml.py +@@ -6,6 +6,11 @@ + import os + import locale + ++try: ++ # reduce moved to functools in python3. ++ reduce ++except NameError: ++ from functools import reduce + + def XmlToString(content, encoding='utf-8', pretty=False): + """ Writes the XML content to disk, touching the file only if it has changed. +@@ -80,7 +85,7 @@ + # Optionally in second position is a dictionary of the attributes. + rest = specification[1:] + if rest and isinstance(rest[0], dict): +- for at, val in sorted(rest[0].iteritems()): ++ for at, val in sorted(rest[0].items()): + xml_parts.append(' %s="%s"' % (at, _XmlEscape(val, attr=True))) + rest = rest[1:] + if rest: +diff --git a/tools/gyp/pylib/gyp/easy_xml_test.py b/pylib/gyp/easy_xml_test.py +index df64354..a1fdb18 100755 +--- a/tools/gyp/pylib/gyp/easy_xml_test.py ++++ b/tools/gyp/pylib/gyp/easy_xml_test.py +@@ -8,13 +8,16 @@ + + import gyp.easy_xml as easy_xml + import unittest +-import StringIO ++try: ++ from StringIO import StringIO ++except ImportError: ++ from io import StringIO + + + class TestSequenceFunctions(unittest.TestCase): + + def setUp(self): +- self.stderr = StringIO.StringIO() ++ self.stderr = StringIO() + + def test_EasyXml_simple(self): + self.assertEqual( +diff --git a/tools/gyp/pylib/gyp/flock_tool.py b/pylib/gyp/flock_tool.py +index b38d866..81fb79d 100755 +--- a/tools/gyp/pylib/gyp/flock_tool.py ++++ b/tools/gyp/pylib/gyp/flock_tool.py +@@ -39,7 +39,7 @@ + # where fcntl.flock(fd, LOCK_EX) always fails + # with EBADF, that's why we use this F_SETLK + # hack instead. +- fd = os.open(lockfile, os.O_WRONLY|os.O_NOCTTY|os.O_CREAT, 0666) ++ fd = os.open(lockfile, os.O_WRONLY|os.O_NOCTTY|os.O_CREAT, 0o666) + if sys.platform.startswith('aix'): + # Python on AIX is compiled with LARGEFILE support, which changes the + # struct size. +diff --git a/tools/gyp/pylib/gyp/generator/analyzer.py b/pylib/gyp/generator/analyzer.py +index 921c1a6..b3484dc 100644 +--- a/tools/gyp/pylib/gyp/generator/analyzer.py ++++ b/tools/gyp/pylib/gyp/generator/analyzer.py +@@ -62,6 +62,8 @@ + then the "all" target includes "b1" and "b2". + """ + ++from __future__ import print_function ++ + import gyp.common + import gyp.ninja_syntax as ninja_syntax + import json +@@ -155,7 +157,7 @@ + continue + result.append(base_path + source) + if debug: +- print 'AddSource', org_source, result[len(result) - 1] ++ print('AddSource', org_source, result[len(result) - 1]) + + + def _ExtractSourcesFromAction(action, base_path, base_path_components, +@@ -185,7 +187,7 @@ + base_path += '/' + + if debug: +- print 'ExtractSources', target, base_path ++ print('ExtractSources', target, base_path) + + results = [] + if 'sources' in target_dict: +@@ -278,7 +280,7 @@ + the root of the source tree.""" + if _ToLocalPath(toplevel_dir, _ToGypPath(build_file)) in files: + if debug: +- print 'gyp file modified', build_file ++ print('gyp file modified', build_file) + return True + + # First element of included_files is the file itself. +@@ -291,8 +293,8 @@ + _ToGypPath(gyp.common.UnrelativePath(include_file, build_file)) + if _ToLocalPath(toplevel_dir, rel_include_file) in files: + if debug: +- print 'included gyp file modified, gyp_file=', build_file, \ +- 'included file=', rel_include_file ++ print('included gyp file modified, gyp_file=', build_file, \ ++ 'included file=', rel_include_file) + return True + return False + +@@ -373,7 +375,7 @@ + # If a build file (or any of its included files) is modified we assume all + # targets in the file are modified. + if build_file_in_files[build_file]: +- print 'matching target from modified build file', target_name ++ print('matching target from modified build file', target_name) + target.match_status = MATCH_STATUS_MATCHES + matching_targets.append(target) + else: +@@ -381,7 +383,7 @@ + toplevel_dir) + for source in sources: + if _ToGypPath(os.path.normpath(source)) in files: +- print 'target', target_name, 'matches', source ++ print('target', target_name, 'matches', source) + target.match_status = MATCH_STATUS_MATCHES + matching_targets.append(target) + break +@@ -433,7 +435,7 @@ + for dep in target.deps: + if _DoesTargetDependOnMatchingTargets(dep): + target.match_status = MATCH_STATUS_MATCHES_BY_DEPENDENCY +- print '\t', target.name, 'matches by dep', dep.name ++ print('\t', target.name, 'matches by dep', dep.name) + return True + target.match_status = MATCH_STATUS_DOESNT_MATCH + return False +@@ -445,7 +447,7 @@ + supplied as input to analyzer. + possible_targets: targets to search from.""" + found = [] +- print 'Targets that matched by dependency:' ++ print('Targets that matched by dependency:') + for target in possible_targets: + if _DoesTargetDependOnMatchingTargets(target): + found.append(target) +@@ -484,12 +486,13 @@ + (add_if_no_ancestor or target.requires_build)) or + (target.is_static_library and add_if_no_ancestor and + not target.is_or_has_linked_ancestor)): +- print '\t\tadding to compile targets', target.name, 'executable', \ +- target.is_executable, 'added_to_compile_targets', \ +- target.added_to_compile_targets, 'add_if_no_ancestor', \ +- add_if_no_ancestor, 'requires_build', target.requires_build, \ +- 'is_static_library', target.is_static_library, \ ++ print('\t\tadding to compile targets', target.name, 'executable', ++ target.is_executable, 'added_to_compile_targets', ++ target.added_to_compile_targets, 'add_if_no_ancestor', ++ add_if_no_ancestor, 'requires_build', target.requires_build, ++ 'is_static_library', target.is_static_library, + 'is_or_has_linked_ancestor', target.is_or_has_linked_ancestor ++ ) + result.add(target) + target.added_to_compile_targets = True + +@@ -500,7 +503,7 @@ + supplied_targets: set of targets supplied to analyzer to search from.""" + result = set() + for target in matching_targets: +- print 'finding compile targets for match', target.name ++ print('finding compile targets for match', target.name) + _AddCompileTargets(target, supplied_targets, True, result) + return result + +@@ -508,46 +511,46 @@ + def _WriteOutput(params, **values): + """Writes the output, either to stdout or a file is specified.""" + if 'error' in values: +- print 'Error:', values['error'] ++ print('Error:', values['error']) + if 'status' in values: +- print values['status'] ++ print(values['status']) + if 'targets' in values: + values['targets'].sort() +- print 'Supplied targets that depend on changed files:' ++ print('Supplied targets that depend on changed files:') + for target in values['targets']: +- print '\t', target ++ print('\t', target) + if 'invalid_targets' in values: + values['invalid_targets'].sort() +- print 'The following targets were not found:' ++ print('The following targets were not found:') + for target in values['invalid_targets']: +- print '\t', target ++ print('\t', target) + if 'build_targets' in values: + values['build_targets'].sort() +- print 'Targets that require a build:' ++ print('Targets that require a build:') + for target in values['build_targets']: +- print '\t', target ++ print('\t', target) + if 'compile_targets' in values: + values['compile_targets'].sort() +- print 'Targets that need to be built:' ++ print('Targets that need to be built:') + for target in values['compile_targets']: +- print '\t', target ++ print('\t', target) + if 'test_targets' in values: + values['test_targets'].sort() +- print 'Test targets:' ++ print('Test targets:') + for target in values['test_targets']: +- print '\t', target ++ print('\t', target) + + output_path = params.get('generator_flags', {}).get( + 'analyzer_output_path', None) + if not output_path: +- print json.dumps(values) ++ print(json.dumps(values)) + return + try: + f = open(output_path, 'w') + f.write(json.dumps(values) + '\n') + f.close() + except IOError as e: +- print 'Error writing to output file', output_path, str(e) ++ print('Error writing to output file', output_path, str(e)) + + + def _WasGypIncludeFileModified(params, files): +@@ -556,7 +559,7 @@ + if params['options'].includes: + for include in params['options'].includes: + if _ToGypPath(os.path.normpath(include)) in files: +- print 'Include file modified, assuming all changed', include ++ print('Include file modified, assuming all changed', include) + return True + return False + +@@ -638,13 +641,13 @@ + set(self._root_targets))] + else: + test_targets = [x for x in test_targets_no_all] +- print 'supplied test_targets' ++ print('supplied test_targets') + for target_name in self._test_target_names: +- print '\t', target_name +- print 'found test_targets' ++ print('\t', target_name) ++ print('found test_targets') + for target in test_targets: +- print '\t', target.name +- print 'searching for matching test targets' ++ print('\t', target.name) ++ print('searching for matching test targets') + matching_test_targets = _GetTargetsDependingOnMatchingTargets(test_targets) + matching_test_targets_contains_all = (test_target_names_contains_all and + set(matching_test_targets) & +@@ -654,14 +657,14 @@ + # 'all' is subsequentely added to the matching names below. + matching_test_targets = [x for x in (set(matching_test_targets) & + set(test_targets_no_all))] +- print 'matched test_targets' ++ print('matched test_targets') + for target in matching_test_targets: +- print '\t', target.name ++ print('\t', target.name) + matching_target_names = [gyp.common.ParseQualifiedTarget(target.name)[1] + for target in matching_test_targets] + if matching_test_targets_contains_all: + matching_target_names.append('all') +- print '\tall' ++ print('\tall') + return matching_target_names + + def find_matching_compile_target_names(self): +@@ -669,7 +672,7 @@ + assert self.is_build_impacted(); + # Compile targets are found by searching up from changed targets. + # Reset the visited status for _GetBuildTargets. +- for target in self._name_to_target.itervalues(): ++ for target in self._name_to_target.values(): + target.visited = False + + supplied_targets = _LookupTargets(self._supplied_target_names_no_all(), +@@ -677,10 +680,10 @@ + if 'all' in self._supplied_target_names(): + supplied_targets = [x for x in (set(supplied_targets) | + set(self._root_targets))] +- print 'Supplied test_targets & compile_targets' ++ print('Supplied test_targets & compile_targets') + for target in supplied_targets: +- print '\t', target.name +- print 'Finding compile targets' ++ print('\t', target.name) ++ print('Finding compile targets') + compile_targets = _GetCompileTargets(self._changed_targets, + supplied_targets) + return [gyp.common.ParseQualifiedTarget(target.name)[1] +@@ -699,7 +702,7 @@ + + toplevel_dir = _ToGypPath(os.path.abspath(params['options'].toplevel_dir)) + if debug: +- print 'toplevel_dir', toplevel_dir ++ print('toplevel_dir', toplevel_dir) + + if _WasGypIncludeFileModified(params, config.files): + result_dict = { 'status': all_changed_string, +diff --git a/tools/gyp/pylib/gyp/generator/cmake.py b/pylib/gyp/generator/cmake.py +index a2b9629..4a2041c 100644 +--- a/tools/gyp/pylib/gyp/generator/cmake.py ++++ b/tools/gyp/pylib/gyp/generator/cmake.py +@@ -28,6 +28,8 @@ + CMakeLists.txt file. + """ + ++from __future__ import print_function ++ + import multiprocessing + import os + import signal +@@ -36,6 +38,12 @@ + import gyp.common + import gyp.xcode_emulation + ++try: ++ # maketrans moved to str in python3. ++ _maketrans = string.maketrans ++except NameError: ++ _maketrans = str.maketrans ++ + generator_default_variables = { + 'EXECUTABLE_PREFIX': '', + 'EXECUTABLE_SUFFIX': '', +@@ -238,7 +246,7 @@ + Invalid for make: ':' + Invalid for unknown reasons but cause failures: '.' + """ +- return a.translate(string.maketrans(' /():."', '_______')) ++ return a.translate(_maketrans(' /():."', '_______')) + + + def WriteActions(target_name, actions, extra_sources, extra_deps, +@@ -644,8 +652,8 @@ + + cmake_target_type = cmake_target_type_from_gyp_target_type.get(target_type) + if cmake_target_type is None: +- print ('Target %s has unknown target type %s, skipping.' % +- ( target_name, target_type ) ) ++ print('Target %s has unknown target type %s, skipping.' % ++ ( target_name, target_type )) + return + + SetVariable(output, 'TARGET', target_name) +@@ -868,8 +876,8 @@ + default_product_ext = generator_default_variables['SHARED_LIB_SUFFIX'] + + elif target_type != 'executable': +- print ('ERROR: What output file should be generated?', +- 'type', target_type, 'target', target_name) ++ print(('ERROR: What output file should be generated?', ++ 'type', target_type, 'target', target_name)) + + product_prefix = spec.get('product_prefix', default_product_prefix) + product_name = spec.get('product_name', default_product_name) +@@ -1207,11 +1215,11 @@ + output_dir, + config_name)) + arguments = ['cmake', '-G', 'Ninja'] +- print 'Generating [%s]: %s' % (config_name, arguments) ++ print('Generating [%s]: %s' % (config_name, arguments)) + subprocess.check_call(arguments, cwd=build_dir) + + arguments = ['ninja', '-C', build_dir] +- print 'Building [%s]: %s' % (config_name, arguments) ++ print('Building [%s]: %s' % (config_name, arguments)) + subprocess.check_call(arguments) + + +@@ -1230,7 +1238,7 @@ + GenerateOutputForConfig(target_list, target_dicts, data, + params, user_config) + else: +- config_names = target_dicts[target_list[0]]['configurations'].keys() ++ config_names = target_dicts[target_list[0]]['configurations'] + if params['parallel']: + try: + pool = multiprocessing.Pool(len(config_names)) +@@ -1239,7 +1247,7 @@ + arglists.append((target_list, target_dicts, data, + params, config_name)) + pool.map(CallGenerateOutputForConfig, arglists) +- except KeyboardInterrupt, e: ++ except KeyboardInterrupt as e: + pool.terminate() + raise e + else: +diff --git a/tools/gyp/pylib/gyp/generator/dump_dependency_json.py b/pylib/gyp/generator/dump_dependency_json.py +index 160eafe..2bf3f39 100644 +--- a/tools/gyp/pylib/gyp/generator/dump_dependency_json.py ++++ b/tools/gyp/pylib/gyp/generator/dump_dependency_json.py +@@ -2,6 +2,8 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++from __future__ import print_function ++ + import collections + import os + import gyp +@@ -96,4 +98,4 @@ + f = open(filename, 'w') + json.dump(edges, f) + f.close() +- print 'Wrote json to %s.' % filename ++ print('Wrote json to %s.' % filename) +diff --git a/tools/gyp/pylib/gyp/generator/eclipse.py b/pylib/gyp/generator/eclipse.py +index 3544347..d039f03 100644 +--- a/tools/gyp/pylib/gyp/generator/eclipse.py ++++ b/tools/gyp/pylib/gyp/generator/eclipse.py +@@ -141,7 +141,7 @@ + compiler_includes_list.append(include_dir) + + # Find standard gyp include dirs. +- if config.has_key('include_dirs'): ++ if 'include_dirs' in config: + include_dirs = config['include_dirs'] + for shared_intermediate_dir in shared_intermediate_dirs: + for include_dir in include_dirs: +@@ -272,7 +272,7 @@ + out.write(' <language name="holder for library settings"></language>\n') + for lang in eclipse_langs: + out.write(' <language name="%s">\n' % lang) +- for key in sorted(defines.iterkeys()): ++ for key in sorted(defines.keys()): + out.write(' <macro><name>%s</name><value>%s</value></macro>\n' % + (escape(key), escape(defines[key]))) + out.write(' </language>\n') +@@ -418,7 +418,7 @@ + GenerateOutputForConfig(target_list, target_dicts, data, params, + user_config) + else: +- config_names = target_dicts[target_list[0]]['configurations'].keys() ++ config_names = target_dicts[target_list[0]]['configurations'] + for config_name in config_names: + GenerateOutputForConfig(target_list, target_dicts, data, params, + config_name) +diff --git a/tools/gyp/pylib/gyp/generator/gypd.py b/pylib/gyp/generator/gypd.py +index 3efdb99..78eeaa6 100644 +--- a/tools/gyp/pylib/gyp/generator/gypd.py ++++ b/tools/gyp/pylib/gyp/generator/gypd.py +@@ -88,7 +88,7 @@ + if not output_file in output_files: + output_files[output_file] = input_file + +- for output_file, input_file in output_files.iteritems(): ++ for output_file, input_file in output_files.items(): + output = open(output_file, 'w') + pprint.pprint(data[input_file], output) + output.close() +diff --git a/tools/gyp/pylib/gyp/generator/make.py b/pylib/gyp/generator/make.py +index fb4f918..2057e3a 100644 +--- a/tools/gyp/pylib/gyp/generator/make.py ++++ b/tools/gyp/pylib/gyp/generator/make.py +@@ -21,6 +21,8 @@ + # toplevel Makefile. It may make sense to generate some .mk files on + # the side to keep the the files readable. + ++from __future__ import print_function ++ + import os + import re + import sys +@@ -668,7 +670,7 @@ + basenames.setdefault(basename, []).append(source) + + error = '' +- for basename, files in basenames.iteritems(): ++ for basename, files in basenames.items(): + if len(files) > 1: + error += ' %s: %s\n' % (basename, ' '.join(files)) + +@@ -816,7 +818,7 @@ + gyp.xcode_emulation.MacPrefixHeader( + self.xcode_settings, lambda p: Sourceify(self.Absolutify(p)), + self.Pchify)) +- sources = filter(Compilable, all_sources) ++ sources = [x for x in all_sources if Compilable(x)] + if sources: + self.WriteLn(SHARED_HEADER_SUFFIX_RULES_COMMENT1) + extensions = set([os.path.splitext(s)[1] for s in sources]) +@@ -945,7 +947,7 @@ + '%s%s' + % (name, cd_action, command)) + self.WriteLn() +- outputs = map(self.Absolutify, outputs) ++ outputs = [self.Absolutify(o) for o in outputs] + # The makefile rules are all relative to the top dir, but the gyp actions + # are defined relative to their containing dir. This replaces the obj + # variable for the action rule with an absolute version so that the output +@@ -1035,7 +1037,7 @@ + outputs = [gyp.xcode_emulation.ExpandEnvVars(o, env) for o in outputs] + inputs = [gyp.xcode_emulation.ExpandEnvVars(i, env) for i in inputs] + +- outputs = map(self.Absolutify, outputs) ++ outputs = [self.Absolutify(o) for o in outputs] + all_outputs += outputs + # Only write the 'obj' and 'builddir' rules for the "primary" output + # (:1); it's superfluous for the "extra outputs", and this avoids +@@ -1233,11 +1235,11 @@ + self.WriteList(cflags_objcc, 'CFLAGS_OBJCC_%s' % configname) + includes = config.get('include_dirs') + if includes: +- includes = map(Sourceify, map(self.Absolutify, includes)) ++ includes = [Sourceify(self.Absolutify(include)) for include in includes] + self.WriteList(includes, 'INCS_%s' % configname, prefix='-I') + + compilable = filter(Compilable, sources) +- objs = map(self.Objectify, map(self.Absolutify, map(Target, compilable))) ++ objs = [self.Objectify(self.Absolutify(Target(x))) for x in compilable] + self.WriteList(objs, 'OBJS') + + for obj in objs: +@@ -1309,7 +1311,7 @@ + + # If there are any object files in our input file list, link them into our + # output. +- extra_link_deps += filter(Linkable, sources) ++ extra_link_deps += [source for source in sources if Linkable(source)] + + self.WriteLn() + +@@ -1377,8 +1379,8 @@ + elif self.type == 'none': + target = '%s.stamp' % target + elif self.type != 'executable': +- print ("ERROR: What output file should be generated?", +- "type", self.type, "target", target) ++ print(("ERROR: What output file should be generated?", ++ "type", self.type, "target", target)) + + target_prefix = spec.get('product_prefix', target_prefix) + target = spec.get('product_name', target) +@@ -1542,9 +1544,9 @@ + # Postbuilds expect to be run in the gyp file's directory, so insert an + # implicit postbuild to cd to there. + postbuilds.insert(0, gyp.common.EncodePOSIXShellList(['cd', self.path])) +- for i in xrange(len(postbuilds)): +- if not postbuilds[i].startswith('$'): +- postbuilds[i] = EscapeShellArgument(postbuilds[i]) ++ for i, postbuild in enumerate(postbuilds): ++ if not postbuild.startswith('$'): ++ postbuilds[i] = EscapeShellArgument(postbuild) + self.WriteLn('%s: builddir := $(abs_builddir)' % QuoteSpaces(self.output)) + self.WriteLn('%s: POSTBUILDS := %s' % ( + QuoteSpaces(self.output), ' '.join(postbuilds))) +@@ -1634,7 +1636,7 @@ + self.WriteDoCmd([self.output_binary], deps, 'touch', part_of_all, + postbuilds=postbuilds) + else: +- print "WARNING: no output for", self.type, target ++ print("WARNING: no output for", self.type, target) + + # Add an alias for each target (if there are any outputs). + # Installable target aliases are created below. +@@ -1741,7 +1743,7 @@ + output is just a name to run the rule + command: (optional) command name to generate unambiguous labels + """ +- outputs = map(QuoteSpaces, outputs) ++ outputs = [QuoteSpaces(o) for o in outputs] + inputs = map(QuoteSpaces, inputs) + + if comment: +@@ -1986,7 +1988,7 @@ + if options.toplevel_dir and options.toplevel_dir != '.': + arguments += '-C', options.toplevel_dir + arguments.append('BUILDTYPE=' + config) +- print 'Building [%s]: %s' % (config, arguments) ++ print('Building [%s]: %s' % (config, arguments)) + subprocess.check_call(arguments) + + +diff --git a/tools/gyp/pylib/gyp/generator/msvs.py b/pylib/gyp/generator/msvs.py +index 8fe9e5a..e8a2b36 100644 +--- a/tools/gyp/pylib/gyp/generator/msvs.py ++++ b/tools/gyp/pylib/gyp/generator/msvs.py +@@ -2,6 +2,9 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++from __future__ import print_function ++ ++import collections + import copy + import ntpath + import os +@@ -23,16 +26,6 @@ + from gyp.common import GypError + from gyp.common import OrderedSet + +-# TODO: Remove once bots are on 2.7, http://crbug.com/241769 +-def _import_OrderedDict(): +- import collections +- try: +- return collections.OrderedDict +- except AttributeError: +- import gyp.ordered_dict +- return gyp.ordered_dict.OrderedDict +-OrderedDict = _import_OrderedDict() +- + + # Regular expression for validating Visual Studio GUIDs. If the GUID + # contains lowercase hex letters, MSVS will be fine. However, +@@ -202,7 +195,7 @@ + if not prefix: prefix = [] + result = [] + excluded_result = [] +- folders = OrderedDict() ++ folders = collections.OrderedDict() + # Gather files into the final result, excluded, or folders. + for s in sources: + if len(s) == 1: +@@ -469,7 +462,7 @@ + 'CommandLine': cmd, + }) + # Add to the properties of primary input for each config. +- for config_name, c_data in spec['configurations'].iteritems(): ++ for config_name, c_data in spec['configurations'].items(): + p.AddFileConfig(_FixPath(primary_input), + _ConfigFullName(config_name, c_data), tools=[tool]) + +@@ -775,8 +768,8 @@ + # the VCProj but cause the same problem on the final command-line. Moving + # the item to the end of the list does works, but that's only possible if + # there's only one such item. Let's just warn the user. +- print >> sys.stderr, ('Warning: MSVS may misinterpret the odd number of ' + +- 'quotes in ' + s) ++ print(('Warning: MSVS may misinterpret the odd number of ' + ++ 'quotes in ' + s), file=sys.stderr) + return s + + +@@ -991,7 +984,7 @@ + basenames.setdefault(basename, []).append(source) + + error = '' +- for basename, files in basenames.iteritems(): ++ for basename, files in basenames.items(): + if len(files) > 1: + error += ' %s: %s\n' % (basename, ' '.join(files)) + +@@ -1023,7 +1016,7 @@ + relative_path_of_gyp_file = gyp.common.RelativePath(gyp_path, project_dir) + + config_type = _GetMSVSConfigurationType(spec, project.build_file) +- for config_name, config in spec['configurations'].iteritems(): ++ for config_name, config in spec['configurations'].items(): + _AddConfigurationToMSVSProject(p, spec, config_type, config_name, config) + + # MSVC08 and prior version cannot handle duplicate basenames in the same +@@ -1392,10 +1385,10 @@ + A list of Tool objects. + """ + tool_list = [] +- for tool, settings in tools.iteritems(): ++ for tool, settings in tools.items(): + # Collapse settings with lists. + settings_fixed = {} +- for setting, value in settings.iteritems(): ++ for setting, value in settings.items(): + if type(value) == list: + if ((tool == 'VCLinkerTool' and + setting == 'AdditionalDependencies') or +@@ -1570,7 +1563,7 @@ + def _GetPrecompileRelatedFiles(spec): + # Gather a list of precompiled header related sources. + precompiled_related = [] +- for _, config in spec['configurations'].iteritems(): ++ for _, config in spec['configurations'].items(): + for k in precomp_keys: + f = config.get(k) + if f: +@@ -1581,7 +1574,7 @@ + def _ExcludeFilesFromBeingBuilt(p, spec, excluded_sources, excluded_idl, + list_excluded): + exclusions = _GetExcludedFilesFromBuild(spec, excluded_sources, excluded_idl) +- for file_name, excluded_configs in exclusions.iteritems(): ++ for file_name, excluded_configs in exclusions.items(): + if (not list_excluded and + len(excluded_configs) == len(spec['configurations'])): + # If we're not listing excluded files, then they won't appear in the +@@ -1598,7 +1591,7 @@ + # Exclude excluded sources from being built. + for f in excluded_sources: + excluded_configs = [] +- for config_name, config in spec['configurations'].iteritems(): ++ for config_name, config in spec['configurations'].items(): + precomped = [_FixPath(config.get(i, '')) for i in precomp_keys] + # Don't do this for ones that are precompiled header related. + if f not in precomped: +@@ -1608,7 +1601,7 @@ + # Exclude them now. + for f in excluded_idl: + excluded_configs = [] +- for config_name, config in spec['configurations'].iteritems(): ++ for config_name, config in spec['configurations'].items(): + excluded_configs.append((config_name, config)) + exclusions[f] = excluded_configs + return exclusions +@@ -1617,7 +1610,7 @@ + def _AddToolFilesToMSVS(p, spec): + # Add in tool files (rules). + tool_files = OrderedSet() +- for _, config in spec['configurations'].iteritems(): ++ for _, config in spec['configurations'].items(): + for f in config.get('msvs_tool_files', []): + tool_files.add(f) + for f in tool_files: +@@ -1630,7 +1623,7 @@ + # kind (i.e. C vs. C++) as the precompiled header source stub needs + # to have use of precompiled headers disabled. + extensions_excluded_from_precompile = [] +- for config_name, config in spec['configurations'].iteritems(): ++ for config_name, config in spec['configurations'].items(): + source = config.get('msvs_precompiled_source') + if source: + source = _FixPath(source) +@@ -1651,7 +1644,7 @@ + else: + basename, extension = os.path.splitext(source) + if extension in extensions_excluded_from_precompile: +- for config_name, config in spec['configurations'].iteritems(): ++ for config_name, config in spec['configurations'].items(): + tool = MSVSProject.Tool('VCCLCompilerTool', + {'UsePrecompiledHeader': '0', + 'ForcedIncludeFiles': '$(NOINHERIT)'}) +@@ -1702,7 +1695,7 @@ + return # Nothing to add + # Write out the user file. + user_file = _CreateMSVSUserFile(project_path, version, spec) +- for config_name, c_data in spec['configurations'].iteritems(): ++ for config_name, c_data in spec['configurations'].items(): + user_file.AddDebugSettings(_ConfigFullName(config_name, c_data), + action, environment, working_directory) + user_file.WriteIfChanged() +@@ -1756,7 +1749,7 @@ + def _DictsToFolders(base_path, bucket, flat): + # Convert to folders recursively. + children = [] +- for folder, contents in bucket.iteritems(): ++ for folder, contents in bucket.items(): + if type(contents) == dict: + folder_children = _DictsToFolders(os.path.join(base_path, folder), + contents, flat) +@@ -1778,8 +1771,8 @@ + # such projects up one level. + if (type(node) == dict and + len(node) == 1 and +- node.keys()[0] == parent + '.vcproj'): +- return node[node.keys()[0]] ++ next(iter(node)) == parent + '.vcproj'): ++ return node[next(iter(node))] + if type(node) != dict: + return node + for child in node: +@@ -1798,8 +1791,8 @@ + # Walk down from the top until we hit a folder that has more than one entry. + # In practice, this strips the top-level "src/" dir from the hierarchy in + # the solution. +- while len(root) == 1 and type(root[root.keys()[0]]) == dict: +- root = root[root.keys()[0]] ++ while len(root) == 1 and type(root[next(iter(root))]) == dict: ++ root = root[next(iter(root))] + # Collapse singles. + root = _CollapseSingles('', root) + # Merge buckets until everything is a root entry. +@@ -1828,7 +1821,7 @@ + # Prepare a dict indicating which project configurations are used for which + # solution configurations for this target. + config_platform_overrides = {} +- for config_name, c in spec['configurations'].iteritems(): ++ for config_name, c in spec['configurations'].items(): + config_fullname = _ConfigFullName(config_name, c) + platform = c.get('msvs_target_platform', _ConfigPlatform(c)) + fixed_config_fullname = '%s|%s' % ( +@@ -1967,7 +1960,7 @@ + msvs_version = params['msvs_version'] + devenv = os.path.join(msvs_version.path, 'Common7', 'IDE', 'devenv.com') + +- for build_file, build_file_dict in data.iteritems(): ++ for build_file, build_file_dict in data.items(): + (build_file_root, build_file_ext) = os.path.splitext(build_file) + if build_file_ext != '.gyp': + continue +@@ -1977,7 +1970,7 @@ + + for config in configurations: + arguments = [devenv, sln_path, '/Build', config] +- print 'Building [%s]: %s' % (config, arguments) ++ print('Building [%s]: %s' % (config, arguments)) + rtn = subprocess.check_call(arguments) + + +@@ -2029,7 +2022,7 @@ + configs = set() + for qualified_target in target_list: + spec = target_dicts[qualified_target] +- for config_name, config in spec['configurations'].iteritems(): ++ for config_name, config in spec['configurations'].items(): + configs.add(_ConfigFullName(config_name, config)) + configs = list(configs) + +@@ -2072,7 +2065,7 @@ + if generator_flags.get('msvs_error_on_missing_sources', False): + raise GypError(error_message) + else: +- print >> sys.stdout, "Warning: " + error_message ++ print("Warning: " + error_message, file=sys.stdout) + + + def _GenerateMSBuildFiltersFile(filters_path, source_files, +@@ -2669,7 +2662,7 @@ + + def _GetMSBuildProjectConfigurations(configurations): + group = ['ItemGroup', {'Label': 'ProjectConfigurations'}] +- for (name, settings) in sorted(configurations.iteritems()): ++ for (name, settings) in sorted(configurations.items()): + configuration, platform = _GetConfigurationAndPlatform(name, settings) + designation = '%s|%s' % (configuration, platform) + group.append( +@@ -2742,7 +2735,7 @@ + + def _GetMSBuildConfigurationDetails(spec, build_file): + properties = {} +- for name, settings in spec['configurations'].iteritems(): ++ for name, settings in spec['configurations'].items(): + msbuild_attributes = _GetMSBuildAttributes(spec, settings, build_file) + condition = _GetConfigurationCondition(name, settings) + character_set = msbuild_attributes.get('CharacterSet') +@@ -2776,9 +2769,9 @@ + user_props = r'$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props' + additional_props = {} + props_specified = False +- for name, settings in sorted(configurations.iteritems()): ++ for name, settings in sorted(configurations.items()): + configuration = _GetConfigurationCondition(name, settings) +- if settings.has_key('msbuild_props'): ++ if 'msbuild_props' in settings: + additional_props[configuration] = _FixPaths(settings['msbuild_props']) + props_specified = True + else: +@@ -2798,7 +2791,7 @@ + ] + else: + sheets = [] +- for condition, props in additional_props.iteritems(): ++ for condition, props in additional_props.items(): + import_group = [ + 'ImportGroup', + {'Label': 'PropertySheets', +@@ -2831,7 +2824,7 @@ + elif a == 'ConfigurationType': + msbuild_attributes[a] = _ConvertMSVSConfigurationType(msvs_attributes[a]) + else: +- print 'Warning: Do not know how to convert MSVS attribute ' + a ++ print('Warning: Do not know how to convert MSVS attribute ' + a) + return msbuild_attributes + + +@@ -2927,7 +2920,7 @@ + new_paths = '$(ExecutablePath);' + ';'.join(new_paths) + + properties = {} +- for (name, configuration) in sorted(configurations.iteritems()): ++ for (name, configuration) in sorted(configurations.items()): + condition = _GetConfigurationCondition(name, configuration) + attributes = _GetMSBuildAttributes(spec, configuration, build_file) + msbuild_settings = configuration['finalized_msbuild_settings'] +@@ -2952,7 +2945,7 @@ + _AddConditionalProperty(properties, condition, 'ExecutablePath', + new_paths) + tool_settings = msbuild_settings.get('', {}) +- for name, value in sorted(tool_settings.iteritems()): ++ for name, value in sorted(tool_settings.items()): + formatted_value = _GetValueFormattedForMSBuild('', name, value) + _AddConditionalProperty(properties, condition, name, formatted_value) + return _GetMSBuildPropertyGroup(spec, None, properties) +@@ -3021,7 +3014,7 @@ + # NOTE: reverse(topsort(DAG)) = topsort(reverse_edges(DAG)) + for name in reversed(properties_ordered): + values = properties[name] +- for value, conditions in sorted(values.iteritems()): ++ for value, conditions in sorted(values.items()): + if len(conditions) == num_configurations: + # If the value is the same all configurations, + # just add one unconditional entry. +@@ -3034,18 +3027,18 @@ + + def _GetMSBuildToolSettingsSections(spec, configurations): + groups = [] +- for (name, configuration) in sorted(configurations.iteritems()): ++ for (name, configuration) in sorted(configurations.items()): + msbuild_settings = configuration['finalized_msbuild_settings'] + group = ['ItemDefinitionGroup', + {'Condition': _GetConfigurationCondition(name, configuration)} + ] +- for tool_name, tool_settings in sorted(msbuild_settings.iteritems()): ++ for tool_name, tool_settings in sorted(msbuild_settings.items()): + # Skip the tool named '' which is a holder of global settings handled + # by _GetMSBuildConfigurationGlobalProperties. + if tool_name: + if tool_settings: + tool = [tool_name] +- for name, value in sorted(tool_settings.iteritems()): ++ for name, value in sorted(tool_settings.items()): + formatted_value = _GetValueFormattedForMSBuild(tool_name, name, + value) + tool.append([name, formatted_value]) +@@ -3078,8 +3071,8 @@ + for ignored_setting in ignored_settings: + value = configuration.get(ignored_setting) + if value: +- print ('Warning: The automatic conversion to MSBuild does not handle ' +- '%s. Ignoring setting of %s' % (ignored_setting, str(value))) ++ print('Warning: The automatic conversion to MSBuild does not handle ' ++ '%s. Ignoring setting of %s' % (ignored_setting, str(value))) + + defines = [_EscapeCppDefineForMSBuild(d) for d in defines] + disabled_warnings = _GetDisabledWarnings(configuration) +@@ -3245,7 +3238,7 @@ + {'Condition': condition}, + 'true']) + # Add precompile if needed +- for config_name, configuration in spec['configurations'].iteritems(): ++ for config_name, configuration in spec['configurations'].items(): + precompiled_source = configuration.get('msvs_precompiled_source', '') + if precompiled_source != '': + precompiled_source = _FixPath(precompiled_source) +@@ -3291,7 +3284,7 @@ + ['Project', guid], + ['ReferenceOutputAssembly', 'false'] + ] +- for config in dependency.spec.get('configurations', {}).itervalues(): ++ for config in dependency.spec.get('configurations', {}).values(): + if config.get('msvs_use_library_dependency_inputs', 0): + project_ref.append(['UseLibraryDependencyInputs', 'true']) + break +@@ -3360,7 +3353,7 @@ + extension_to_rule_name) + missing_sources = _VerifySourcesExist(sources, project_dir) + +- for configuration in configurations.itervalues(): ++ for configuration in configurations.values(): + _FinalizeMSBuildSettings(spec, configuration) + + # Add attributes to root element +@@ -3486,7 +3479,7 @@ + """ + sources_handled_by_action = OrderedSet() + actions_spec = [] +- for primary_input, actions in actions_to_add.iteritems(): ++ for primary_input, actions in actions_to_add.items(): + inputs = OrderedSet() + outputs = OrderedSet() + descriptions = [] +diff --git a/tools/gyp/pylib/gyp/generator/msvs_test.py b/pylib/gyp/generator/msvs_test.py +index c0b021d..838d236 100755 +--- a/tools/gyp/pylib/gyp/generator/msvs_test.py ++++ b/tools/gyp/pylib/gyp/generator/msvs_test.py +@@ -7,13 +7,16 @@ + + import gyp.generator.msvs as msvs + import unittest +-import StringIO ++try: ++ from StringIO import StringIO ++except ImportError: ++ from io import StringIO + + + class TestSequenceFunctions(unittest.TestCase): + + def setUp(self): +- self.stderr = StringIO.StringIO() ++ self.stderr = StringIO() + + def test_GetLibraries(self): + self.assertEqual( +diff --git a/tools/gyp/pylib/gyp/generator/ninja.py b/pylib/gyp/generator/ninja.py +index 6de87b7..66faabc 100644 +--- a/tools/gyp/pylib/gyp/generator/ninja.py ++++ b/tools/gyp/pylib/gyp/generator/ninja.py +@@ -2,6 +2,8 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++from __future__ import print_function ++ + import collections + import copy + import hashlib +@@ -18,7 +20,10 @@ + import gyp.msvs_emulation + import gyp.MSVSUtil as MSVSUtil + import gyp.xcode_emulation +-from cStringIO import StringIO ++try: ++ from cStringIO import StringIO ++except ImportError: ++ from io import StringIO + + from gyp.common import GetEnvironFallback + import gyp.ninja_syntax as ninja_syntax +@@ -350,7 +355,7 @@ + + Uses a stamp file if necessary.""" + +- assert targets == filter(None, targets), targets ++ assert targets == [t for t in targets if t], targets + if len(targets) == 0: + assert not order_only + return None +@@ -427,8 +432,8 @@ + compile_depends.append(target.PreCompileInput()) + if target.uses_cpp: + self.target.uses_cpp = True +- actions_depends = filter(None, actions_depends) +- compile_depends = filter(None, compile_depends) ++ actions_depends = [d for d in actions_depends if d] ++ compile_depends = [d for d in compile_depends if d] + actions_depends = self.WriteCollapsedDependencies('actions_depends', + actions_depends) + compile_depends = self.WriteCollapsedDependencies('compile_depends', +@@ -455,8 +460,8 @@ + try: + sources = extra_sources + spec.get('sources', []) + except TypeError: +- print 'extra_sources: ', str(extra_sources) +- print 'spec.get("sources"): ', str(spec.get('sources')) ++ print('extra_sources: ', str(extra_sources)) ++ print('spec.get("sources"): ', str(spec.get('sources'))) + raise + if sources: + if self.flavor == 'mac' and len(self.archs) > 1: +@@ -485,8 +490,9 @@ + if self.flavor != 'mac' or len(self.archs) == 1: + link_deps += [self.GypPathToNinja(o) for o in obj_outputs] + else: +- print "Warning: Actions/rules writing object files don't work with " \ +- "multiarch targets, dropping. (target %s)" % spec['target_name'] ++ print("Warning: Actions/rules writing object files don't work with " \ ++ "multiarch targets, dropping. (target %s)" % ++ spec['target_name']) + elif self.flavor == 'mac' and len(self.archs) > 1: + link_deps = collections.defaultdict(list) + +@@ -838,7 +844,7 @@ + 'XCASSETS_LAUNCH_IMAGE': 'launch-image', + } + settings = self.xcode_settings.xcode_settings[self.config_name] +- for settings_key, arg_name in settings_to_arg.iteritems(): ++ for settings_key, arg_name in settings_to_arg.items(): + value = settings.get(settings_key) + if value: + extra_arguments[arg_name] = value +@@ -1772,7 +1778,7 @@ + + # VS 2015 uses 20% more working set than VS 2013 and can consume all RAM + # on a 64 GB machine. +- mem_limit = max(1, stat.ullTotalPhys / (5 * (2 ** 30))) # total / 5GB ++ mem_limit = max(1, stat.ullTotalPhys // (5 * (2 ** 30))) # total / 5GB + hard_cap = max(1, int(os.environ.get('GYP_LINK_CONCURRENCY_MAX', 2**32))) + return min(mem_limit, hard_cap) + elif sys.platform.startswith('linux'): +@@ -1784,14 +1790,14 @@ + if not match: + continue + # Allow 8Gb per link on Linux because Gold is quite memory hungry +- return max(1, int(match.group(1)) / (8 * (2 ** 20))) ++ return max(1, int(match.group(1)) // (8 * (2 ** 20))) + return 1 + elif sys.platform == 'darwin': + try: + avail_bytes = int(subprocess.check_output(['sysctl', '-n', 'hw.memsize'])) + # A static library debug build of Chromium's unit_tests takes ~2.7GB, so + # 4GB per ld process allows for some more bloat. +- return max(1, avail_bytes / (4 * (2 ** 30))) # total / 4GB ++ return max(1, avail_bytes // (4 * (2 ** 30))) # total / 4GB + except: + return 1 + else: +@@ -1946,7 +1952,7 @@ + wrappers[key[:-len('_wrapper')]] = os.path.join(build_to_root, value) + + # Support wrappers from environment variables too. +- for key, value in os.environ.iteritems(): ++ for key, value in os.environ.items(): + if key.lower().endswith('_wrapper'): + key_prefix = key[:-len('_wrapper')] + key_prefix = re.sub(r'\.HOST$', '.host', key_prefix) +@@ -1966,7 +1972,7 @@ + configs, generator_flags) + cl_paths = gyp.msvs_emulation.GenerateEnvironmentFiles( + toplevel_build, generator_flags, shared_system_includes, OpenOutput) +- for arch, path in sorted(cl_paths.iteritems()): ++ for arch, path in sorted(cl_paths.items()): + if clang_cl: + # If we have selected clang-cl, use that instead. + path = clang_cl +@@ -2381,6 +2387,7 @@ + + qualified_target_for_hash = gyp.common.QualifiedTarget(build_file, name, + toolset) ++ qualified_target_for_hash = qualified_target_for_hash.encode('utf-8') + hash_for_rules = hashlib.md5(qualified_target_for_hash).hexdigest() + + base_path = os.path.dirname(build_file) +@@ -2447,7 +2454,7 @@ + for config in configurations: + builddir = os.path.join(options.toplevel_dir, 'out', config) + arguments = ['ninja', '-C', builddir] +- print 'Building [%s]: %s' % (config, arguments) ++ print('Building [%s]: %s' % (config, arguments)) + subprocess.check_call(arguments) + + +@@ -2475,7 +2482,7 @@ + GenerateOutputForConfig(target_list, target_dicts, data, params, + user_config) + else: +- config_names = target_dicts[target_list[0]]['configurations'].keys() ++ config_names = target_dicts[target_list[0]]['configurations'] + if params['parallel']: + try: + pool = multiprocessing.Pool(len(config_names)) +@@ -2484,7 +2491,7 @@ + arglists.append( + (target_list, target_dicts, data, params, config_name)) + pool.map(CallGenerateOutputForConfig, arglists) +- except KeyboardInterrupt, e: ++ except KeyboardInterrupt as e: + pool.terminate() + raise e + else: +diff --git a/tools/gyp/pylib/gyp/generator/ninja_test.py b/pylib/gyp/generator/ninja_test.py +index 1767b2f..1ad68e4 100644 +--- a/tools/gyp/pylib/gyp/generator/ninja_test.py ++++ b/tools/gyp/pylib/gyp/generator/ninja_test.py +@@ -8,7 +8,6 @@ + + import gyp.generator.ninja as ninja + import unittest +-import StringIO + import sys + import TestCommon + +diff --git a/tools/gyp/pylib/gyp/generator/xcode.py b/pylib/gyp/generator/xcode.py +index b35372a..8bc22be 100644 +--- a/tools/gyp/pylib/gyp/generator/xcode.py ++++ b/tools/gyp/pylib/gyp/generator/xcode.py +@@ -2,6 +2,8 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++from __future__ import print_function ++ + import filecmp + import gyp.common + import gyp.xcodeproj_file +@@ -129,7 +131,7 @@ + try: + os.makedirs(self.path) + self.created_dir = True +- except OSError, e: ++ except OSError as e: + if e.errno != errno.EEXIST: + raise + +@@ -183,7 +185,7 @@ + # the tree tree view for UI display. + # Any values set globally are applied to all configurations, then any + # per-configuration values are applied. +- for xck, xcv in self.build_file_dict.get('xcode_settings', {}).iteritems(): ++ for xck, xcv in self.build_file_dict.get('xcode_settings', {}).items(): + xccl.SetBuildSetting(xck, xcv) + if 'xcode_config_file' in self.build_file_dict: + config_ref = self.project.AddOrGetFileInRootGroup( +@@ -197,7 +199,7 @@ + if build_file_configuration_named: + xcc = xccl.ConfigurationNamed(config_name) + for xck, xcv in build_file_configuration_named.get('xcode_settings', +- {}).iteritems(): ++ {}).items(): + xcc.SetBuildSetting(xck, xcv) + if 'xcode_config_file' in build_file_configuration_named: + config_ref = self.project.AddOrGetFileInRootGroup( +@@ -273,7 +275,7 @@ + script = script + "\n".join( + ['export %s="%s"' % + (key, gyp.xcodeproj_file.ConvertVariablesToShellSyntax(val)) +- for (key, val) in command.get('environment').iteritems()]) + "\n" ++ for (key, val) in command.get('environment').items()]) + "\n" + + # Some test end up using sockets, files on disk, etc. and can get + # confused if more then one test runs at a time. The generator +@@ -444,7 +446,7 @@ + dir=self.path) + + try: +- output_file = os.fdopen(output_fd, 'wb') ++ output_file = os.fdopen(output_fd, 'w') + + self.project_file.Print(output_file) + output_file.close() +@@ -454,7 +456,7 @@ + same = False + try: + same = filecmp.cmp(pbxproj_path, new_pbxproj_path, False) +- except OSError, e: ++ except OSError as e: + if e.errno != errno.ENOENT: + raise + +@@ -473,10 +475,10 @@ + # + # No way to get the umask without setting a new one? Set a safe one + # and then set it back to the old value. +- umask = os.umask(077) ++ umask = os.umask(0o77) + os.umask(umask) + +- os.chmod(new_pbxproj_path, 0666 & ~umask) ++ os.chmod(new_pbxproj_path, 0o666 & ~umask) + os.rename(new_pbxproj_path, pbxproj_path) + + except Exception: +@@ -566,7 +568,7 @@ + def PerformBuild(data, configurations, params): + options = params['options'] + +- for build_file, build_file_dict in data.iteritems(): ++ for build_file, build_file_dict in data.items(): + (build_file_root, build_file_ext) = os.path.splitext(build_file) + if build_file_ext != '.gyp': + continue +@@ -577,7 +579,7 @@ + for config in configurations: + arguments = ['xcodebuild', '-project', xcodeproj_path] + arguments += ['-configuration', config] +- print "Building [%s]: %s" % (config, arguments) ++ print("Building [%s]: %s" % (config, arguments)) + subprocess.check_call(arguments) + + +@@ -625,7 +627,7 @@ + skip_excluded_files = \ + not generator_flags.get('xcode_list_excluded_files', True) + xcode_projects = {} +- for build_file, build_file_dict in data.iteritems(): ++ for build_file, build_file_dict in data.items(): + (build_file_root, build_file_ext) = os.path.splitext(build_file) + if build_file_ext != '.gyp': + continue +@@ -744,7 +746,7 @@ + xctarget_type = gyp.xcodeproj_file.PBXNativeTarget + try: + target_properties['productType'] = _types[type_bundle_key] +- except KeyError, e: ++ except KeyError as e: + gyp.common.ExceptionAppend(e, "-- unknown product type while " + "writing target %s" % target_name) + raise +@@ -1016,22 +1018,21 @@ + makefile_name) + # TODO(mark): try/close? Write to a temporary file and swap it only + # if it's got changes? +- makefile = open(makefile_path, 'wb') ++ makefile = open(makefile_path, 'w') + + # make will build the first target in the makefile by default. By + # convention, it's called "all". List all (or at least one) + # concrete output for each rule source as a prerequisite of the "all" + # target. + makefile.write('all: \\\n') +- for concrete_output_index in \ +- xrange(0, len(concrete_outputs_by_rule_source)): ++ for concrete_output_index, concrete_output_by_rule_source in \ ++ enumerate(concrete_outputs_by_rule_source): + # Only list the first (index [0]) concrete output of each input + # in the "all" target. Otherwise, a parallel make (-j > 1) would + # attempt to process each input multiple times simultaneously. + # Otherwise, "all" could just contain the entire list of + # concrete_outputs_all. +- concrete_output = \ +- concrete_outputs_by_rule_source[concrete_output_index][0] ++ concrete_output = concrete_output_by_rule_source[0] + if concrete_output_index == len(concrete_outputs_by_rule_source) - 1: + eol = '' + else: +@@ -1047,8 +1048,8 @@ + # rule source. Collect the names of the directories that are + # required. + concrete_output_dirs = [] +- for concrete_output_index in xrange(0, len(concrete_outputs)): +- concrete_output = concrete_outputs[concrete_output_index] ++ for concrete_output_index, concrete_output in \ ++ enumerate(concrete_outputs): + if concrete_output_index == 0: + bol = '' + else: +@@ -1066,8 +1067,7 @@ + # the set of additional rule inputs, if any. + prerequisites = [rule_source] + prerequisites.extend(rule.get('inputs', [])) +- for prerequisite_index in xrange(0, len(prerequisites)): +- prerequisite = prerequisites[prerequisite_index] ++ for prerequisite_index, prerequisite in enumerate(prerequisites): + if prerequisite_index == len(prerequisites) - 1: + eol = '' + else: +@@ -1279,7 +1279,7 @@ + set_define = EscapeXcodeDefine(define) + xcbc.AppendBuildSetting('GCC_PREPROCESSOR_DEFINITIONS', set_define) + if 'xcode_settings' in configuration: +- for xck, xcv in configuration['xcode_settings'].iteritems(): ++ for xck, xcv in configuration['xcode_settings'].items(): + xcbc.SetBuildSetting(xck, xcv) + if 'xcode_config_file' in configuration: + config_ref = pbxp.AddOrGetFileInRootGroup( +@@ -1287,7 +1287,7 @@ + xcbc.SetBaseConfiguration(config_ref) + + build_files = [] +- for build_file, build_file_dict in data.iteritems(): ++ for build_file, build_file_dict in data.items(): + if build_file.endswith('.gyp'): + build_files.append(build_file) + +diff --git a/tools/gyp/pylib/gyp/input.py b/pylib/gyp/input.py +index 21b4606..8ac47cb 100644 +--- a/tools/gyp/pylib/gyp/input.py ++++ b/tools/gyp/pylib/gyp/input.py +@@ -2,8 +2,9 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + +-import ast ++from __future__ import print_function + ++import ast + import gyp.common + import gyp.simple_copy + import multiprocessing +@@ -231,10 +232,10 @@ + else: + build_file_data = eval(build_file_contents, {'__builtins__': None}, + None) +- except SyntaxError, e: ++ except SyntaxError as e: + e.filename = build_file_path + raise +- except Exception, e: ++ except Exception as e: + gyp.common.ExceptionAppend(e, 'while reading ' + build_file_path) + raise + +@@ -254,7 +255,7 @@ + else: + LoadBuildFileIncludesIntoDict(build_file_data, build_file_path, data, + aux_data, None, check) +- except Exception, e: ++ except Exception as e: + gyp.common.ExceptionAppend(e, + 'while reading includes of ' + build_file_path) + raise +@@ -291,7 +292,7 @@ + subdict_path, include) + + # Recurse into subdictionaries. +- for k, v in subdict.iteritems(): ++ for k, v in subdict.items(): + if type(v) is dict: + LoadBuildFileIncludesIntoDict(v, subdict_path, data, aux_data, + None, check) +@@ -456,7 +457,7 @@ + try: + LoadTargetBuildFile(dependency, data, aux_data, variables, + includes, depth, check, load_dependencies) +- except Exception, e: ++ except Exception as e: + gyp.common.ExceptionAppend( + e, 'while loading dependencies of %s' % build_file_path) + raise +@@ -477,7 +478,7 @@ + signal.signal(signal.SIGINT, signal.SIG_IGN) + + # Apply globals so that the worker process behaves the same. +- for key, value in global_flags.iteritems(): ++ for key, value in global_flags.items(): + globals()[key] = value + + SetGeneratorGlobals(generator_input_info) +@@ -499,12 +500,12 @@ + return (build_file_path, + build_file_data, + dependencies) +- except GypError, e: ++ except GypError as e: + sys.stderr.write("gyp: %s\n" % e) + return None +- except Exception, e: +- print >>sys.stderr, 'Exception:', e +- print >>sys.stderr, traceback.format_exc() ++ except Exception as e: ++ print('Exception:', e, file=sys.stderr) ++ print(traceback.format_exc(), file=sys.stderr) + return None + + +@@ -594,7 +595,7 @@ + args = (global_flags, dependency, + variables, includes, depth, check, generator_input_info), + callback = parallel_state.LoadTargetBuildFileCallback) +- except KeyboardInterrupt, e: ++ except KeyboardInterrupt as e: + parallel_state.pool.terminate() + raise e + +@@ -894,7 +895,7 @@ + stderr=subprocess.PIPE, + stdin=subprocess.PIPE, + cwd=build_file_dir) +- except Exception, e: ++ except Exception as e: + raise GypError("%s while executing command '%s' in %s" % + (e, contents, build_file)) + +@@ -1008,9 +1009,9 @@ + + # Convert all strings that are canonically-represented integers into integers. + if type(output) is list: +- for index in xrange(0, len(output)): +- if IsStrCanonicalInt(output[index]): +- output[index] = int(output[index]) ++ for index, outstr in enumerate(output): ++ if IsStrCanonicalInt(outstr): ++ output[index] = int(outstr) + elif IsStrCanonicalInt(output): + output = int(output) + +@@ -1079,13 +1080,13 @@ + if eval(ast_code, {'__builtins__': None}, variables): + return true_dict + return false_dict +- except SyntaxError, e: ++ except SyntaxError as e: + syntax_error = SyntaxError('%s while evaluating condition \'%s\' in %s ' + 'at character %d.' % + (str(e.args[0]), e.text, build_file, e.offset), + e.filename, e.lineno, e.offset, e.text) + raise syntax_error +- except NameError, e: ++ except NameError as e: + gyp.common.ExceptionAppend(e, 'while evaluating condition \'%s\' in %s' % + (cond_expr_expanded, build_file)) + raise GypError(e) +@@ -1140,7 +1141,7 @@ + def LoadAutomaticVariablesFromDict(variables, the_dict): + # Any keys with plain string values in the_dict become automatic variables. + # The variable name is the key name with a "_" character prepended. +- for key, value in the_dict.iteritems(): ++ for key, value in the_dict.items(): + if type(value) in (str, int, list): + variables['_' + key] = value + +@@ -1153,7 +1154,7 @@ + # the_dict in the_dict's parent dict. If the_dict's parent is not a dict + # (it could be a list or it could be parentless because it is a root dict), + # the_dict_key will be None. +- for key, value in the_dict.get('variables', {}).iteritems(): ++ for key, value in the_dict.get('variables', {}).items(): + if type(value) not in (str, int, list): + continue + +@@ -1192,7 +1193,7 @@ + # list before we process them so that you can reference one + # variable from another. They will be fully expanded by recursion + # in ExpandVariables. +- for key, value in the_dict['variables'].iteritems(): ++ for key, value in the_dict['variables'].items(): + variables[key] = value + + # Handle the associated variables dict first, so that any variable +@@ -1205,7 +1206,7 @@ + + LoadVariablesFromVariablesDict(variables, the_dict, the_dict_key) + +- for key, value in the_dict.iteritems(): ++ for key, value in the_dict.items(): + # Skip "variables", which was already processed if present. + if key != 'variables' and type(value) is str: + expanded = ExpandVariables(value, phase, variables, build_file) +@@ -1263,7 +1264,7 @@ + + # Recurse into child dicts, or process child lists which may result in + # further recursion into descendant dicts. +- for key, value in the_dict.iteritems(): ++ for key, value in the_dict.items(): + # Skip "variables" and string values, which were already processed if + # present. + if key == 'variables' or type(value) is str: +@@ -1360,14 +1361,14 @@ + for dep in dependency_sections + for op in ('', '!', '/')] + +- for target, target_dict in targets.iteritems(): ++ for target, target_dict in targets.items(): + target_build_file = gyp.common.BuildFile(target) + toolset = target_dict['toolset'] + for dependency_key in all_dependency_sections: + dependencies = target_dict.get(dependency_key, []) +- for index in xrange(0, len(dependencies)): ++ for index, dep in enumerate(dependencies): + dep_file, dep_target, dep_toolset = gyp.common.ResolveTarget( +- target_build_file, dependencies[index], toolset) ++ target_build_file, dep, toolset) + if not multiple_toolsets: + # Ignore toolset specification in the dependency if it is specified. + dep_toolset = toolset +@@ -1400,7 +1401,7 @@ + dependency list, must be qualified when this function is called. + """ + +- for target, target_dict in targets.iteritems(): ++ for target, target_dict in targets.items(): + toolset = target_dict['toolset'] + target_build_file = gyp.common.BuildFile(target) + for dependency_key in dependency_sections: +@@ -1462,7 +1463,7 @@ + def RemoveDuplicateDependencies(targets): + """Makes sure every dependency appears only once in all targets's dependency + lists.""" +- for target_name, target_dict in targets.iteritems(): ++ for target_name, target_dict in targets.items(): + for dependency_key in dependency_sections: + dependencies = target_dict.get(dependency_key, []) + if dependencies: +@@ -1478,7 +1479,7 @@ + def RemoveSelfDependencies(targets): + """Remove self dependencies from targets that have the prune_self_dependency + variable set.""" +- for target_name, target_dict in targets.iteritems(): ++ for target_name, target_dict in targets.items(): + for dependency_key in dependency_sections: + dependencies = target_dict.get(dependency_key, []) + if dependencies: +@@ -1491,7 +1492,7 @@ + def RemoveLinkDependenciesFromNoneTargets(targets): + """Remove dependencies having the 'link_dependency' attribute from the 'none' + targets.""" +- for target_name, target_dict in targets.iteritems(): ++ for target_name, target_dict in targets.items(): + for dependency_key in dependency_sections: + dependencies = target_dict.get(dependency_key, []) + if dependencies: +@@ -1783,14 +1784,14 @@ + # Create a DependencyGraphNode for each target. Put it into a dict for easy + # access. + dependency_nodes = {} +- for target, spec in targets.iteritems(): ++ for target, spec in targets.items(): + if target not in dependency_nodes: + dependency_nodes[target] = DependencyGraphNode(target) + + # Set up the dependency links. Targets that have no dependencies are treated + # as dependent on root_node. + root_node = DependencyGraphNode(None) +- for target, spec in targets.iteritems(): ++ for target, spec in targets.items(): + target_node = dependency_nodes[target] + target_build_file = gyp.common.BuildFile(target) + dependencies = spec.get('dependencies') +@@ -1814,7 +1815,7 @@ + if not root_node.dependents: + # If all targets have dependencies, add the first target as a dependent + # of root_node so that the cycle can be discovered from root_node. +- target = targets.keys()[0] ++ target = next(iter(targets)) + target_node = dependency_nodes[target] + target_node.dependencies.append(root_node) + root_node.dependents.append(target_node) +@@ -1833,20 +1834,20 @@ + # Create a DependencyGraphNode for each gyp file containing a target. Put + # it into a dict for easy access. + dependency_nodes = {} +- for target in targets.iterkeys(): ++ for target in targets.keys(): + build_file = gyp.common.BuildFile(target) + if not build_file in dependency_nodes: + dependency_nodes[build_file] = DependencyGraphNode(build_file) + + # Set up the dependency links. +- for target, spec in targets.iteritems(): ++ for target, spec in targets.items(): + build_file = gyp.common.BuildFile(target) + build_file_node = dependency_nodes[build_file] + target_dependencies = spec.get('dependencies', []) + for dependency in target_dependencies: + try: + dependency_build_file = gyp.common.BuildFile(dependency) +- except GypError, e: ++ except GypError as e: + gyp.common.ExceptionAppend( + e, 'while computing dependencies of .gyp file %s' % build_file) + raise +@@ -1864,7 +1865,7 @@ + + # Files that have no dependencies are treated as dependent on root_node. + root_node = DependencyGraphNode(None) +- for build_file_node in dependency_nodes.itervalues(): ++ for build_file_node in dependency_nodes.values(): + if len(build_file_node.dependencies) == 0: + build_file_node.dependencies.append(root_node) + root_node.dependents.append(build_file_node) +@@ -1877,7 +1878,7 @@ + if not root_node.dependents: + # If all files have dependencies, add the first file as a dependent + # of root_node so that the cycle can be discovered from root_node. +- file_node = dependency_nodes.values()[0] ++ file_node = next(iter(dependency_nodes.values())) + file_node.dependencies.append(root_node) + root_node.dependents.append(file_node) + cycles = [] +@@ -2104,7 +2105,7 @@ + + def MergeDicts(to, fro, to_file, fro_file): + # I wanted to name the parameter "from" but it's a Python keyword... +- for k, v in fro.iteritems(): ++ for k, v in fro.items(): + # It would be nice to do "if not k in to: to[k] = v" but that wouldn't give + # copy semantics. Something else may want to merge from the |fro| dict + # later, and having the same dict ref pointed to twice in the tree isn't +@@ -2239,13 +2240,13 @@ + if not 'configurations' in target_dict: + target_dict['configurations'] = {'Default': {}} + if not 'default_configuration' in target_dict: +- concrete = [i for (i, config) in target_dict['configurations'].iteritems() ++ concrete = [i for (i, config) in target_dict['configurations'].items() + if not config.get('abstract')] + target_dict['default_configuration'] = sorted(concrete)[0] + + merged_configurations = {} + configs = target_dict['configurations'] +- for (configuration, old_configuration_dict) in configs.iteritems(): ++ for (configuration, old_configuration_dict) in configs.items(): + # Skip abstract configurations (saves work only). + if old_configuration_dict.get('abstract'): + continue +@@ -2253,7 +2254,7 @@ + # Get the inheritance relationship right by making a copy of the target + # dict. + new_configuration_dict = {} +- for (key, target_val) in target_dict.iteritems(): ++ for (key, target_val) in target_dict.items(): + key_ext = key[-1:] + if key_ext in key_suffixes: + key_base = key[:-1] +@@ -2274,10 +2275,9 @@ + merged_configurations[configuration]) + + # Now drop all the abstract ones. +- for configuration in target_dict['configurations'].keys(): +- old_configuration_dict = target_dict['configurations'][configuration] +- if old_configuration_dict.get('abstract'): +- del target_dict['configurations'][configuration] ++ configs = target_dict['configurations'] ++ target_dict['configurations'] = \ ++ {k: v for k, v in configs.items() if not v.get('abstract')} + + # Now that all of the target's configurations have been built, go through + # the target dict's keys and remove everything that's been moved into a +@@ -2337,7 +2337,7 @@ + + lists = [] + del_lists = [] +- for key, value in the_dict.iteritems(): ++ for key, value in the_dict.items(): + operation = key[-1] + if operation != '!' and operation != '/': + continue +@@ -2385,8 +2385,8 @@ + exclude_key = list_key + '!' + if exclude_key in the_dict: + for exclude_item in the_dict[exclude_key]: +- for index in xrange(0, len(the_list)): +- if exclude_item == the_list[index]: ++ for index, list_item in enumerate(the_list): ++ if exclude_item == list_item: + # This item matches the exclude_item, so set its action to 0 + # (exclude). + list_actions[index] = 0 +@@ -2411,8 +2411,7 @@ + raise ValueError('Unrecognized action ' + action + ' in ' + name + \ + ' key ' + regex_key) + +- for index in xrange(0, len(the_list)): +- list_item = the_list[index] ++ for index, list_item in enumerate(the_list): + if list_actions[index] == action_value: + # Even if the regex matches, nothing will change so continue (regex + # searches are expensive). +@@ -2442,7 +2441,7 @@ + # the indices of items that haven't been seen yet don't shift. That means + # that things need to be prepended to excluded_list to maintain them in the + # same order that they existed in the_list. +- for index in xrange(len(list_actions) - 1, -1, -1): ++ for index in range(len(list_actions) - 1, -1, -1): + if list_actions[index] == 0: + # Dump anything with action 0 (exclude). Keep anything with action 1 + # (include) or -1 (no include or exclude seen for the item). +@@ -2455,7 +2454,7 @@ + the_dict[excluded_key] = excluded_list + + # Now recurse into subdicts and lists that may contain dicts. +- for key, value in the_dict.iteritems(): ++ for key, value in the_dict.items(): + if type(value) is dict: + ProcessListFiltersInDict(key, value) + elif type(value) is list: +@@ -2512,7 +2511,7 @@ + basenames.setdefault(basename, []).append(source) + + error = '' +- for basename, files in basenames.iteritems(): ++ for basename, files in basenames.items(): + if len(files) > 1: + error += ' %s: %s\n' % (basename, ' '.join(files)) + +@@ -2651,8 +2650,7 @@ + def TurnIntIntoStrInList(the_list): + """Given list the_list, recursively converts all integers into strings. + """ +- for index in xrange(0, len(the_list)): +- item = the_list[index] ++ for index, item in enumerate(the_list): + if type(item) is int: + the_list[index] = str(item) + elif type(item) is dict: +@@ -2769,7 +2767,7 @@ + try: + LoadTargetBuildFile(build_file, data, aux_data, + variables, includes, depth, check, True) +- except Exception, e: ++ except Exception as e: + gyp.common.ExceptionAppend(e, 'while trying to load %s' % build_file) + raise + +@@ -2791,7 +2789,7 @@ + RemoveLinkDependenciesFromNoneTargets(targets) + + # Apply exclude (!) and regex (/) list filters only for dependency_sections. +- for target_name, target_dict in targets.iteritems(): ++ for target_name, target_dict in targets.items(): + tmp_dict = {} + for key_base in dependency_sections: + for op in ('', '!', '/'): +diff --git a/tools/gyp/pylib/gyp/input_test.py b/pylib/gyp/input_test.py +index 4234fbb..6c4b1cc 100755 +--- a/tools/gyp/pylib/gyp/input_test.py ++++ b/tools/gyp/pylib/gyp/input_test.py +@@ -22,7 +22,7 @@ + dependency.dependents.append(dependent) + + def test_no_cycle_empty_graph(self): +- for label, node in self.nodes.iteritems(): ++ for label, node in self.nodes.items(): + self.assertEquals([], node.FindCycles()) + + def test_no_cycle_line(self): +@@ -30,7 +30,7 @@ + self._create_dependency(self.nodes['b'], self.nodes['c']) + self._create_dependency(self.nodes['c'], self.nodes['d']) + +- for label, node in self.nodes.iteritems(): ++ for label, node in self.nodes.items(): + self.assertEquals([], node.FindCycles()) + + def test_no_cycle_dag(self): +@@ -38,7 +38,7 @@ + self._create_dependency(self.nodes['a'], self.nodes['c']) + self._create_dependency(self.nodes['b'], self.nodes['c']) + +- for label, node in self.nodes.iteritems(): ++ for label, node in self.nodes.items(): + self.assertEquals([], node.FindCycles()) + + def test_cycle_self_reference(self): +diff --git a/tools/gyp/pylib/gyp/mac_tool.py b/pylib/gyp/mac_tool.py +index 0ad7e7a..7d3a8c2 100755 +--- a/tools/gyp/pylib/gyp/mac_tool.py ++++ b/tools/gyp/pylib/gyp/mac_tool.py +@@ -8,6 +8,8 @@ + These functions are executed via gyp-mac-tool when using the Makefile generator. + """ + ++from __future__ import print_function ++ + import fcntl + import fnmatch + import glob +@@ -16,7 +18,6 @@ + import plistlib + import re + import shutil +-import string + import struct + import subprocess + import sys +@@ -155,11 +156,11 @@ + fp.close() + return None + fp.close() +- if header.startswith("\xFE\xFF"): ++ if header.startswith(b"\xFE\xFF"): + return "UTF-16" +- elif header.startswith("\xFF\xFE"): ++ elif header.startswith(b"\xFF\xFE"): + return "UTF-16" +- elif header.startswith("\xEF\xBB\xBF"): ++ elif header.startswith(b"\xEF\xBB\xBF"): + return "UTF-8" + else: + return None +@@ -174,7 +175,7 @@ + # Insert synthesized key/value pairs (e.g. BuildMachineOSBuild). + plist = plistlib.readPlistFromString(lines) + if keys: +- plist = dict(plist.items() + json.loads(keys[0]).items()) ++ plist.update(json.loads(keys[0])) + lines = plistlib.writePlistToString(plist) + + # Go through all the environment variables and replace them as variables in +@@ -185,7 +186,7 @@ + continue + evar = '${%s}' % key + evalue = os.environ[key] +- lines = string.replace(lines, evar, evalue) ++ lines = lines.replace(evar, evalue) + + # Xcode supports various suffices on environment variables, which are + # all undocumented. :rfc1034identifier is used in the standard project +@@ -195,11 +196,11 @@ + # in a URL either -- oops, hence :rfc1034identifier was born. + evar = '${%s:identifier}' % key + evalue = IDENT_RE.sub('_', os.environ[key]) +- lines = string.replace(lines, evar, evalue) ++ lines = lines.replace(evar, evalue) + + evar = '${%s:rfc1034identifier}' % key + evalue = IDENT_RE.sub('-', os.environ[key]) +- lines = string.replace(lines, evar, evalue) ++ lines = lines.replace(evar, evalue) + + # Remove any keys with values that haven't been replaced. + lines = lines.split('\n') +@@ -270,7 +271,7 @@ + _, err = libtoolout.communicate() + for line in err.splitlines(): + if not libtool_re.match(line) and not libtool_re5.match(line): +- print >>sys.stderr, line ++ print(line, file=sys.stderr) + # Unconditionally touch the output .a file on the command line if present + # and the command succeeded. A bit hacky. + if not libtoolout.returncode: +@@ -385,7 +386,7 @@ + ]) + if keys: + keys = json.loads(keys) +- for key, value in keys.iteritems(): ++ for key, value in keys.items(): + arg_name = '--' + key + if isinstance(value, bool): + if value: +@@ -480,8 +481,9 @@ + profiles_dir = os.path.join( + os.environ['HOME'], 'Library', 'MobileDevice', 'Provisioning Profiles') + if not os.path.isdir(profiles_dir): +- print >>sys.stderr, ( +- 'cannot find mobile provisioning for %s' % bundle_identifier) ++ print(( ++ 'cannot find mobile provisioning for %s' % bundle_identifier), ++ file=sys.stderr) + sys.exit(1) + provisioning_profiles = None + if profile: +@@ -502,8 +504,9 @@ + valid_provisioning_profiles[app_id_pattern] = ( + profile_path, profile_data, team_identifier) + if not valid_provisioning_profiles: +- print >>sys.stderr, ( +- 'cannot find mobile provisioning for %s' % bundle_identifier) ++ print(( ++ 'cannot find mobile provisioning for %s' % bundle_identifier), ++ file=sys.stderr) + sys.exit(1) + # If the user has multiple provisioning profiles installed that can be + # used for ${bundle_identifier}, pick the most specific one (ie. the +@@ -527,7 +530,7 @@ + + def _MergePlist(self, merged_plist, plist): + """Merge |plist| into |merged_plist|.""" +- for key, value in plist.iteritems(): ++ for key, value in plist.items(): + if isinstance(value, dict): + merged_value = merged_plist.get(key, {}) + if isinstance(merged_value, dict): +@@ -637,7 +640,7 @@ + the key was not found. + """ + if isinstance(data, str): +- for key, value in substitutions.iteritems(): ++ for key, value in substitutions.items(): + data = data.replace('$(%s)' % key, value) + return data + if isinstance(data, list): +diff --git a/tools/gyp/pylib/gyp/msvs_emulation.py b/pylib/gyp/msvs_emulation.py +index 6d5b5bd..63d40e6 100644 +--- a/tools/gyp/pylib/gyp/msvs_emulation.py ++++ b/tools/gyp/pylib/gyp/msvs_emulation.py +@@ -7,6 +7,7 @@ + build systems, primarily ninja. + """ + ++import collections + import os + import re + import subprocess +@@ -16,6 +17,12 @@ + import gyp.MSVSUtil + import gyp.MSVSVersion + ++try: ++ # basestring was removed in python3. ++ basestring ++except NameError: ++ basestring = str ++ + + windows_quoter_regex = re.compile(r'(\\*)"') + +@@ -84,8 +91,8 @@ + """Add |prefix| to |element| or each subelement if element is iterable.""" + if element is None: + return element +- # Note, not Iterable because we don't want to handle strings like that. +- if isinstance(element, list) or isinstance(element, tuple): ++ if (isinstance(element, collections.Iterable) and ++ not isinstance(element, basestring)): + return [prefix + e for e in element] + else: + return prefix + element +@@ -97,7 +104,8 @@ + if map is not None and element is not None: + if not callable(map): + map = map.get # Assume it's a dict, otherwise a callable to do the remap. +- if isinstance(element, list) or isinstance(element, tuple): ++ if (isinstance(element, collections.Iterable) and ++ not isinstance(element, basestring)): + element = filter(None, [map(elem) for elem in element]) + else: + element = map(element) +@@ -109,7 +117,8 @@ + then add |element| to it, adding each item in |element| if it's a list or + tuple.""" + if append is not None and element is not None: +- if isinstance(element, list) or isinstance(element, tuple): ++ if (isinstance(element, collections.Iterable) and ++ not isinstance(element, basestring)): + append.extend(element) + else: + append.append(element) +@@ -209,7 +218,7 @@ + configs = spec['configurations'] + for field, default in supported_fields: + setattr(self, field, {}) +- for configname, config in configs.iteritems(): ++ for configname, config in configs.items(): + getattr(self, field)[configname] = config.get(field, default()) + + self.msvs_cygwin_dirs = spec.get('msvs_cygwin_dirs', ['.']) +@@ -482,7 +491,7 @@ + # https://msdn.microsoft.com/en-us/library/dn502518.aspx + cflags.append('/FS') + # ninja handles parallelism by itself, don't have the compiler do it too. +- cflags = filter(lambda x: not x.startswith('/MP'), cflags) ++ cflags = [x for x in cflags if not x.startswith('/MP')] + return cflags + + def _GetPchFlags(self, config, extension): +@@ -649,19 +658,17 @@ + + # If the base address is not specifically controlled, DYNAMICBASE should + # be on by default. +- base_flags = filter(lambda x: 'DYNAMICBASE' in x or x == '/FIXED', +- ldflags) +- if not base_flags: ++ if not any('DYNAMICBASE' in flag or flag == '/FIXED' for flag in ldflags): + ldflags.append('/DYNAMICBASE') + + # If the NXCOMPAT flag has not been specified, default to on. Despite the + # documentation that says this only defaults to on when the subsystem is + # Vista or greater (which applies to the linker), the IDE defaults it on + # unless it's explicitly off. +- if not filter(lambda x: 'NXCOMPAT' in x, ldflags): ++ if not any('NXCOMPAT' in flag for flag in ldflags): + ldflags.append('/NXCOMPAT') + +- have_def_file = filter(lambda x: x.startswith('/DEF:'), ldflags) ++ have_def_file = any(flag.startswith('/DEF:') for flag in ldflags) + manifest_flags, intermediate_manifest, manifest_files = \ + self._GetLdManifestFlags(config, manifest_base_name, gyp_to_build_path, + is_executable and not have_def_file, build_dir) +@@ -953,7 +960,7 @@ + """Expand $(Variable) per expansions dict. See MsvsSettings.GetVSMacroEnv + for the canonical way to retrieve a suitable dict.""" + if '$' in string: +- for old, new in expansions.iteritems(): ++ for old, new in expansions.items(): + assert '$(' not in new, new + string = string.replace(old, new) + return string +@@ -1001,7 +1008,7 @@ + CreateProcess documentation for more details.""" + block = '' + nul = '\0' +- for key, value in envvar_dict.iteritems(): ++ for key, value in envvar_dict.items(): + block += key + '=' + value + nul + block += nul + return block +@@ -1056,7 +1063,7 @@ + env['INCLUDE'] = ';'.join(system_includes) + + env_block = _FormatAsEnvironmentBlock(env) +- f = open_out(os.path.join(toplevel_build_dir, 'environment.' + arch), 'wb') ++ f = open_out(os.path.join(toplevel_build_dir, 'environment.' + arch), 'w') + f.write(env_block) + f.close() + +@@ -1078,7 +1085,7 @@ + if int(generator_flags.get('msvs_error_on_missing_sources', 0)): + no_specials = filter(lambda x: '$' not in x, sources) + relative = [os.path.join(build_dir, gyp_to_ninja(s)) for s in no_specials] +- missing = filter(lambda x: not os.path.exists(x), relative) ++ missing = [x for x in relative if not os.path.exists(x)] + if missing: + # They'll look like out\Release\..\..\stuff\things.cc, so normalize the + # path for a slightly less crazy looking output. +diff --git a/tools/gyp/pylib/gyp/ordered_dict.py b/pylib/gyp/ordered_dict.py +deleted file mode 100644 +index a1e89f9..0000000 +--- a/tools/gyp/pylib/gyp/ordered_dict.py ++++ /dev/null +@@ -1,289 +0,0 @@ +-# Unmodified from http://code.activestate.com/recipes/576693/ +-# other than to add MIT license header (as specified on page, but not in code). +-# Linked from Python documentation here: +-# http://docs.python.org/2/library/collections.html#collections.OrderedDict +-# +-# This should be deleted once Py2.7 is available on all bots, see +-# http://crbug.com/241769. +-# +-# Copyright (c) 2009 Raymond Hettinger. +-# +-# Permission is hereby granted, free of charge, to any person obtaining a copy +-# of this software and associated documentation files (the "Software"), to deal +-# in the Software without restriction, including without limitation the rights +-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-# copies of the Software, and to permit persons to whom the Software is +-# furnished to do so, subject to the following conditions: +-# +-# The above copyright notice and this permission notice shall be included in +-# all copies or substantial portions of the Software. +-# +-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-# THE SOFTWARE. +- +-# Backport of OrderedDict() class that runs on Python 2.4, 2.5, 2.6, 2.7 and pypy. +-# Passes Python2.7's test suite and incorporates all the latest updates. +- +-try: +- from thread import get_ident as _get_ident +-except ImportError: +- from dummy_thread import get_ident as _get_ident +- +-try: +- from _abcoll import KeysView, ValuesView, ItemsView +-except ImportError: +- pass +- +- +-class OrderedDict(dict): +- 'Dictionary that remembers insertion order' +- # An inherited dict maps keys to values. +- # The inherited dict provides __getitem__, __len__, __contains__, and get. +- # The remaining methods are order-aware. +- # Big-O running times for all methods are the same as for regular dictionaries. +- +- # The internal self.__map dictionary maps keys to links in a doubly linked list. +- # The circular doubly linked list starts and ends with a sentinel element. +- # The sentinel element never gets deleted (this simplifies the algorithm). +- # Each link is stored as a list of length three: [PREV, NEXT, KEY]. +- +- def __init__(self, *args, **kwds): +- '''Initialize an ordered dictionary. Signature is the same as for +- regular dictionaries, but keyword arguments are not recommended +- because their insertion order is arbitrary. +- +- ''' +- if len(args) > 1: +- raise TypeError('expected at most 1 arguments, got %d' % len(args)) +- try: +- self.__root +- except AttributeError: +- self.__root = root = [] # sentinel node +- root[:] = [root, root, None] +- self.__map = {} +- self.__update(*args, **kwds) +- +- def __setitem__(self, key, value, dict_setitem=dict.__setitem__): +- 'od.__setitem__(i, y) <==> od[i]=y' +- # Setting a new item creates a new link which goes at the end of the linked +- # list, and the inherited dictionary is updated with the new key/value pair. +- if key not in self: +- root = self.__root +- last = root[0] +- last[1] = root[0] = self.__map[key] = [last, root, key] +- dict_setitem(self, key, value) +- +- def __delitem__(self, key, dict_delitem=dict.__delitem__): +- 'od.__delitem__(y) <==> del od[y]' +- # Deleting an existing item uses self.__map to find the link which is +- # then removed by updating the links in the predecessor and successor nodes. +- dict_delitem(self, key) +- link_prev, link_next, key = self.__map.pop(key) +- link_prev[1] = link_next +- link_next[0] = link_prev +- +- def __iter__(self): +- 'od.__iter__() <==> iter(od)' +- root = self.__root +- curr = root[1] +- while curr is not root: +- yield curr[2] +- curr = curr[1] +- +- def __reversed__(self): +- 'od.__reversed__() <==> reversed(od)' +- root = self.__root +- curr = root[0] +- while curr is not root: +- yield curr[2] +- curr = curr[0] +- +- def clear(self): +- 'od.clear() -> None. Remove all items from od.' +- try: +- for node in self.__map.itervalues(): +- del node[:] +- root = self.__root +- root[:] = [root, root, None] +- self.__map.clear() +- except AttributeError: +- pass +- dict.clear(self) +- +- def popitem(self, last=True): +- '''od.popitem() -> (k, v), return and remove a (key, value) pair. +- Pairs are returned in LIFO order if last is true or FIFO order if false. +- +- ''' +- if not self: +- raise KeyError('dictionary is empty') +- root = self.__root +- if last: +- link = root[0] +- link_prev = link[0] +- link_prev[1] = root +- root[0] = link_prev +- else: +- link = root[1] +- link_next = link[1] +- root[1] = link_next +- link_next[0] = root +- key = link[2] +- del self.__map[key] +- value = dict.pop(self, key) +- return key, value +- +- # -- the following methods do not depend on the internal structure -- +- +- def keys(self): +- 'od.keys() -> list of keys in od' +- return list(self) +- +- def values(self): +- 'od.values() -> list of values in od' +- return [self[key] for key in self] +- +- def items(self): +- 'od.items() -> list of (key, value) pairs in od' +- return [(key, self[key]) for key in self] +- +- def iterkeys(self): +- 'od.iterkeys() -> an iterator over the keys in od' +- return iter(self) +- +- def itervalues(self): +- 'od.itervalues -> an iterator over the values in od' +- for k in self: +- yield self[k] +- +- def iteritems(self): +- 'od.iteritems -> an iterator over the (key, value) items in od' +- for k in self: +- yield (k, self[k]) +- +- # Suppress 'OrderedDict.update: Method has no argument': +- # pylint: disable=E0211 +- def update(*args, **kwds): +- '''od.update(E, **F) -> None. Update od from dict/iterable E and F. +- +- If E is a dict instance, does: for k in E: od[k] = E[k] +- If E has a .keys() method, does: for k in E.keys(): od[k] = E[k] +- Or if E is an iterable of items, does: for k, v in E: od[k] = v +- In either case, this is followed by: for k, v in F.items(): od[k] = v +- +- ''' +- if len(args) > 2: +- raise TypeError('update() takes at most 2 positional ' +- 'arguments (%d given)' % (len(args),)) +- elif not args: +- raise TypeError('update() takes at least 1 argument (0 given)') +- self = args[0] +- # Make progressively weaker assumptions about "other" +- other = () +- if len(args) == 2: +- other = args[1] +- if isinstance(other, dict): +- for key in other: +- self[key] = other[key] +- elif hasattr(other, 'keys'): +- for key in other.keys(): +- self[key] = other[key] +- else: +- for key, value in other: +- self[key] = value +- for key, value in kwds.items(): +- self[key] = value +- +- __update = update # let subclasses override update without breaking __init__ +- +- __marker = object() +- +- def pop(self, key, default=__marker): +- '''od.pop(k[,d]) -> v, remove specified key and return the corresponding value. +- If key is not found, d is returned if given, otherwise KeyError is raised. +- +- ''' +- if key in self: +- result = self[key] +- del self[key] +- return result +- if default is self.__marker: +- raise KeyError(key) +- return default +- +- def setdefault(self, key, default=None): +- 'od.setdefault(k[,d]) -> od.get(k,d), also set od[k]=d if k not in od' +- if key in self: +- return self[key] +- self[key] = default +- return default +- +- def __repr__(self, _repr_running={}): +- 'od.__repr__() <==> repr(od)' +- call_key = id(self), _get_ident() +- if call_key in _repr_running: +- return '...' +- _repr_running[call_key] = 1 +- try: +- if not self: +- return '%s()' % (self.__class__.__name__,) +- return '%s(%r)' % (self.__class__.__name__, self.items()) +- finally: +- del _repr_running[call_key] +- +- def __reduce__(self): +- 'Return state information for pickling' +- items = [[k, self[k]] for k in self] +- inst_dict = vars(self).copy() +- for k in vars(OrderedDict()): +- inst_dict.pop(k, None) +- if inst_dict: +- return (self.__class__, (items,), inst_dict) +- return self.__class__, (items,) +- +- def copy(self): +- 'od.copy() -> a shallow copy of od' +- return self.__class__(self) +- +- @classmethod +- def fromkeys(cls, iterable, value=None): +- '''OD.fromkeys(S[, v]) -> New ordered dictionary with keys from S +- and values equal to v (which defaults to None). +- +- ''' +- d = cls() +- for key in iterable: +- d[key] = value +- return d +- +- def __eq__(self, other): +- '''od.__eq__(y) <==> od==y. Comparison to another OD is order-sensitive +- while comparison to a regular mapping is order-insensitive. +- +- ''' +- if isinstance(other, OrderedDict): +- return len(self)==len(other) and self.items() == other.items() +- return dict.__eq__(self, other) +- +- def __ne__(self, other): +- return not self == other +- +- # -- the following methods are only used in Python 2.7 -- +- +- def viewkeys(self): +- "od.viewkeys() -> a set-like object providing a view on od's keys" +- return KeysView(self) +- +- def viewvalues(self): +- "od.viewvalues() -> an object providing a view on od's values" +- return ValuesView(self) +- +- def viewitems(self): +- "od.viewitems() -> a set-like object providing a view on od's items" +- return ItemsView(self) +- +diff --git a/tools/gyp/pylib/gyp/simple_copy.py b/pylib/gyp/simple_copy.py +index eaf5f8b..58a61c3 100644 +--- a/tools/gyp/pylib/gyp/simple_copy.py ++++ b/tools/gyp/pylib/gyp/simple_copy.py +@@ -49,7 +49,7 @@ + + def _deepcopy_dict(x): + y = {} +- for key, value in x.iteritems(): ++ for key, value in x.items(): + y[deepcopy(key)] = deepcopy(value) + return y + d[dict] = _deepcopy_dict +diff --git a/tools/gyp/pylib/gyp/win_tool.py b/pylib/gyp/win_tool.py +index 1c843a0..8973484 100755 +--- a/tools/gyp/pylib/gyp/win_tool.py ++++ b/tools/gyp/pylib/gyp/win_tool.py +@@ -9,6 +9,8 @@ + These functions are executed via gyp-win-tool when using the ninja generator. + """ + ++from __future__ import print_function ++ + import os + import re + import shutil +@@ -134,7 +136,7 @@ + if (not line.startswith(' Creating library ') and + not line.startswith('Generating code') and + not line.startswith('Finished generating code')): +- print line ++ print(line) + return link.returncode + + def ExecLinkWithManifests(self, arch, embed_manifest, out, ldcmd, resname, +@@ -193,16 +195,18 @@ + our_manifest = '%(out)s.manifest' % variables + # Load and normalize the manifests. mt.exe sometimes removes whitespace, + # and sometimes doesn't unfortunately. +- with open(our_manifest, 'rb') as our_f: +- with open(assert_manifest, 'rb') as assert_f: ++ with open(our_manifest, 'r') as our_f: ++ with open(assert_manifest, 'r') as assert_f: + our_data = our_f.read().translate(None, string.whitespace) + assert_data = assert_f.read().translate(None, string.whitespace) + if our_data != assert_data: + os.unlink(out) + def dump(filename): +- sys.stderr.write('%s\n-----\n' % filename) +- with open(filename, 'rb') as f: +- sys.stderr.write(f.read() + '\n-----\n') ++ print(filename, file=sys.stderr) ++ print('-----', file=sys.stderr) ++ with open(filename, 'r') as f: ++ print(f.read(), file=sys.stderr) ++ print('-----', file=sys.stderr) + dump(intermediate_manifest) + dump(our_manifest) + dump(assert_manifest) +@@ -223,7 +227,7 @@ + out, _ = popen.communicate() + for line in out.splitlines(): + if line and 'manifest authoring warning 81010002' not in line: +- print line ++ print(line) + return popen.returncode + + def ExecManifestToRc(self, arch, *args): +@@ -231,7 +235,7 @@ + |args| is tuple containing path to resource file, path to manifest file + and resource name which can be "1" (for executables) or "2" (for DLLs).""" + manifest_path, resource_path, resource_name = args +- with open(resource_path, 'wb') as output: ++ with open(resource_path, 'w') as output: + output.write('#include <windows.h>\n%s RT_MANIFEST "%s"' % ( + resource_name, + os.path.abspath(manifest_path).replace('\\', '/'))) +@@ -263,7 +267,7 @@ + for x in lines if x.startswith(prefixes)) + for line in lines: + if not line.startswith(prefixes) and line not in processing: +- print line ++ print(line) + return popen.returncode + + def ExecAsmWrapper(self, arch, *args): +@@ -277,7 +281,7 @@ + not line.startswith('Microsoft (R) Macro Assembler') and + not line.startswith(' Assembling: ') and + line): +- print line ++ print(line) + return popen.returncode + + def ExecRcWrapper(self, arch, *args): +@@ -291,7 +295,7 @@ + if (not line.startswith('Microsoft (R) Windows (R) Resource Compiler') and + not line.startswith('Copyright (C) Microsoft Corporation') and + line): +- print line ++ print(line) + return popen.returncode + + def ExecActionWrapper(self, arch, rspfile, *dir): +@@ -300,7 +304,7 @@ + env = self._GetEnv(arch) + # TODO(scottmg): This is a temporary hack to get some specific variables + # through to actions that are set after gyp-time. http://crbug.com/333738. +- for k, v in os.environ.iteritems(): ++ for k, v in os.environ.items(): + if k not in env: + env[k] = v + args = open(rspfile).read() +diff --git a/tools/gyp/pylib/gyp/xcode_emulation.py b/pylib/gyp/xcode_emulation.py +index dba8e76..4c875de 100644 +--- a/tools/gyp/pylib/gyp/xcode_emulation.py ++++ b/tools/gyp/pylib/gyp/xcode_emulation.py +@@ -7,6 +7,8 @@ + other build systems, such as make and ninja. + """ + ++from __future__ import print_function ++ + import copy + import gyp.common + import os +@@ -73,7 +75,7 @@ + if arch not in expanded_archs: + expanded_archs.append(arch) + except KeyError as e: +- print 'Warning: Ignoring unsupported variable "%s".' % variable ++ print('Warning: Ignoring unsupported variable "%s".' % variable) + elif arch not in expanded_archs: + expanded_archs.append(arch) + return expanded_archs +@@ -171,7 +173,7 @@ + # the same for all configs are implicitly per-target settings. + self.xcode_settings = {} + configs = spec['configurations'] +- for configname, config in configs.iteritems(): ++ for configname, config in configs.items(): + self.xcode_settings[configname] = config.get('xcode_settings', {}) + self._ConvertConditionalKeys(configname) + if self.xcode_settings[configname].get('IPHONEOS_DEPLOYMENT_TARGET', +@@ -197,8 +199,8 @@ + new_key = key.split("[")[0] + settings[new_key] = settings[key] + else: +- print 'Warning: Conditional keys not implemented, ignoring:', \ +- ' '.join(conditional_keys) ++ print('Warning: Conditional keys not implemented, ignoring:', \ ++ ' '.join(conditional_keys)) + del settings[key] + + def _Settings(self): +@@ -216,7 +218,7 @@ + + def _WarnUnimplemented(self, test_key): + if test_key in self._Settings(): +- print 'Warning: Ignoring not yet implemented key "%s".' % test_key ++ print('Warning: Ignoring not yet implemented key "%s".' % test_key) + + def IsBinaryOutputFormat(self, configname): + default = "binary" if self.isIOS else "xml" +@@ -963,7 +965,7 @@ + result = dict(self.xcode_settings[configname]) + first_pass = False + else: +- for key, value in self.xcode_settings[configname].iteritems(): ++ for key, value in self.xcode_settings[configname].items(): + if key not in result: + continue + elif result[key] != value: +@@ -1084,8 +1086,8 @@ + unimpl = ['OTHER_CODE_SIGN_FLAGS'] + unimpl = set(unimpl) & set(self.xcode_settings[configname].keys()) + if unimpl: +- print 'Warning: Some codesign keys not implemented, ignoring: %s' % ( +- ', '.join(sorted(unimpl))) ++ print('Warning: Some codesign keys not implemented, ignoring: %s' % ( ++ ', '.join(sorted(unimpl)))) + + if self._IsXCTest(): + # For device xctests, Xcode copies two extra frameworks into $TEST_HOST. +@@ -1737,7 +1739,7 @@ + order = gyp.common.TopologicallySorted(env.keys(), GetEdges) + order.reverse() + return order +- except gyp.common.CycleError, e: ++ except gyp.common.CycleError as e: + raise GypError( + 'Xcode environment variables are cyclically dependent: ' + str(e.nodes)) + +@@ -1774,10 +1776,11 @@ + def _AddIOSDeviceConfigurations(targets): + """Clone all targets and append -iphoneos to the name. Configure these targets + to build for iOS devices and use correct architectures for those builds.""" +- for target_dict in targets.itervalues(): ++ for target_dict in targets.values(): + toolset = target_dict['toolset'] + configs = target_dict['configurations'] +- for config_name, simulator_config_dict in dict(configs).iteritems(): ++ ++ for config_name, simulator_config_dict in dict(configs).items(): + iphoneos_config_dict = copy.deepcopy(simulator_config_dict) + configs[config_name + '-iphoneos'] = iphoneos_config_dict + configs[config_name + '-iphonesimulator'] = simulator_config_dict +diff --git a/tools/gyp/pylib/gyp/xcode_ninja.py b/pylib/gyp/xcode_ninja.py +index bc76fff..1d71b8c 100644 +--- a/tools/gyp/pylib/gyp/xcode_ninja.py ++++ b/tools/gyp/pylib/gyp/xcode_ninja.py +@@ -28,7 +28,7 @@ + workspace_path = os.path.join(options.generator_output, workspace_path) + try: + os.makedirs(workspace_path) +- except OSError, e: ++ except OSError as e: + if e.errno != errno.EEXIST: + raise + output_string = '<?xml version="1.0" encoding="UTF-8"?>\n' + \ +@@ -85,7 +85,7 @@ + "%s/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)" % ninja_toplevel + + if 'configurations' in old_spec: +- for config in old_spec['configurations'].iterkeys(): ++ for config in old_spec['configurations'].keys(): + old_xcode_settings = \ + old_spec['configurations'][config].get('xcode_settings', {}) + if 'IPHONEOS_DEPLOYMENT_TARGET' in old_xcode_settings: +@@ -167,7 +167,7 @@ + params: Dict of global options for gyp. + """ + orig_gyp = params['build_files'][0] +- for gyp_name, gyp_dict in data.iteritems(): ++ for gyp_name, gyp_dict in data.items(): + if gyp_name == orig_gyp: + depth = gyp_dict['_DEPTH'] + +@@ -238,7 +238,7 @@ + not generator_flags.get('xcode_ninja_list_excluded_files', True) + + sources = [] +- for target, target_dict in target_dicts.iteritems(): ++ for target, target_dict in target_dicts.items(): + base = os.path.dirname(target) + files = target_dict.get('sources', []) + \ + target_dict.get('mac_bundle_resources', []) +diff --git a/tools/gyp/pylib/gyp/xcodeproj_file.py b/pylib/gyp/xcodeproj_file.py +index e69235f..bd238f6 100644 +--- a/tools/gyp/pylib/gyp/xcodeproj_file.py ++++ b/tools/gyp/pylib/gyp/xcodeproj_file.py +@@ -154,6 +154,11 @@ + import sha + _new_sha1 = sha.new + ++try: ++ # basestring was removed in python3. ++ basestring ++except NameError: ++ basestring = str + + # See XCObject._EncodeString. This pattern is used to determine when a string + # can be printed unquoted. Strings that match this pattern may be printed +@@ -314,7 +319,7 @@ + """ + + that = self.__class__(id=self.id, parent=self.parent) +- for key, value in self._properties.iteritems(): ++ for key, value in self._properties.items(): + is_strong = self._schema[key][2] + + if isinstance(value, XCObject): +@@ -324,8 +329,7 @@ + that._properties[key] = new_value + else: + that._properties[key] = value +- elif isinstance(value, str) or isinstance(value, unicode) or \ +- isinstance(value, int): ++ elif isinstance(value, basestring) or isinstance(value, int): + that._properties[key] = value + elif isinstance(value, list): + if is_strong: +@@ -449,10 +453,10 @@ + # is 160 bits. Instead of throwing out 64 bits of the digest, xor them + # into the portion that gets used. + assert hash.digest_size % 4 == 0 +- digest_int_count = hash.digest_size / 4 ++ digest_int_count = hash.digest_size // 4 + digest_ints = struct.unpack('>' + 'I' * digest_int_count, hash.digest()) + id_ints = [0, 0, 0] +- for index in xrange(0, digest_int_count): ++ for index in range(0, digest_int_count): + id_ints[index % 3] ^= digest_ints[index] + self.id = '%08X%08X%08X' % tuple(id_ints) + +@@ -475,7 +479,7 @@ + """Returns a list of all of this object's owned (strong) children.""" + + children = [] +- for property, attributes in self._schema.iteritems(): ++ for property, attributes in self._schema.items(): + (is_list, property_type, is_strong) = attributes[0:3] + if is_strong and property in self._properties: + if not is_list: +@@ -603,7 +607,12 @@ + comment = value.Comment() + elif isinstance(value, str): + printable += self._EncodeString(value) +- elif isinstance(value, unicode): ++ # A python3 compatible way of saying isinstance(value, unicode). ++ # basestring is str in python3 so this is equivalent to the above ++ # isinstance. Thus if it failed above it will fail here. ++ # In python2 we test against str and unicode at this point. str has already ++ # failed in the above isinstance so we test against unicode. ++ elif isinstance(value, basestring): + printable += self._EncodeString(value.encode('utf-8')) + elif isinstance(value, int): + printable += str(value) +@@ -622,7 +631,7 @@ + printable += end_tabs + ')' + elif isinstance(value, dict): + printable = '{' + sep +- for item_key, item_value in sorted(value.iteritems()): ++ for item_key, item_value in sorted(value.items()): + printable += element_tabs + \ + self._XCPrintableValue(tabs + 1, item_key, flatten_list) + ' = ' + \ + self._XCPrintableValue(tabs + 1, item_value, flatten_list) + ';' + \ +@@ -691,7 +700,7 @@ + printable_value[0] == '"' and printable_value[-1] == '"': + printable_value = printable_value[1:-1] + printable += printable_key + ' = ' + printable_value + ';' + after_kv +- except TypeError, e: ++ except TypeError as e: + gyp.common.ExceptionAppend(e, + 'while printing key "%s"' % key) + raise +@@ -730,7 +739,7 @@ + self._XCKVPrint(file, 3, 'isa', self.__class__.__name__) + + # The remaining elements of an object dictionary are sorted alphabetically. +- for property, value in sorted(self._properties.iteritems()): ++ for property, value in sorted(self._properties.items()): + self._XCKVPrint(file, 3, property, value) + + # End the object. +@@ -752,7 +761,7 @@ + if properties is None: + return + +- for property, value in properties.iteritems(): ++ for property, value in properties.items(): + # Make sure the property is in the schema. + if not property in self._schema: + raise KeyError(property + ' not in ' + self.__class__.__name__) +@@ -766,7 +775,7 @@ + ' must be list, not ' + value.__class__.__name__) + for item in value: + if not isinstance(item, property_type) and \ +- not (item.__class__ == unicode and property_type == str): ++ not (isinstance(item, basestring) and property_type == str): + # Accept unicode where str is specified. str is treated as + # UTF-8-encoded. + raise TypeError( +@@ -774,7 +783,7 @@ + ' must be ' + property_type.__name__ + ', not ' + \ + item.__class__.__name__) + elif not isinstance(value, property_type) and \ +- not (value.__class__ == unicode and property_type == str): ++ not (isinstance(value, basestring) and property_type == str): + # Accept unicode where str is specified. str is treated as + # UTF-8-encoded. + raise TypeError( +@@ -788,8 +797,7 @@ + self._properties[property] = value.Copy() + else: + self._properties[property] = value +- elif isinstance(value, str) or isinstance(value, unicode) or \ +- isinstance(value, int): ++ elif isinstance(value, basestring) or isinstance(value, int): + self._properties[property] = value + elif isinstance(value, list): + if is_strong: +@@ -865,7 +873,7 @@ + + # TODO(mark): A stronger verification mechanism is needed. Some + # subclasses need to perform validation beyond what the schema can enforce. +- for property, attributes in self._schema.iteritems(): ++ for property, attributes in self._schema.items(): + (is_list, property_type, is_strong, is_required) = attributes[0:4] + if is_required and not property in self._properties: + raise KeyError(self.__class__.__name__ + ' requires ' + property) +@@ -875,7 +883,7 @@ + overwrite properties that have already been set.""" + + defaults = {} +- for property, attributes in self._schema.iteritems(): ++ for property, attributes in self._schema.items(): + (is_list, property_type, is_strong, is_required) = attributes[0:4] + if is_required and len(attributes) >= 5 and \ + not property in self._properties: +@@ -1426,8 +1434,8 @@ + xche = self + while xche != None and isinstance(xche, XCHierarchicalElement): + xche_hashables = xche.Hashables() +- for index in xrange(0, len(xche_hashables)): +- hashables.insert(index, xche_hashables[index]) ++ for index, xche_hashable in enumerate(xche_hashables): ++ hashables.insert(index, xche_hashable) + xche = xche.parent + return hashables + +@@ -2468,8 +2476,7 @@ + # The headers phase should come before the resources, sources, and + # frameworks phases, if any. + insert_at = len(self._properties['buildPhases']) +- for index in xrange(0, len(self._properties['buildPhases'])): +- phase = self._properties['buildPhases'][index] ++ for index, phase in enumerate(self._properties['buildPhases']): + if isinstance(phase, PBXResourcesBuildPhase) or \ + isinstance(phase, PBXSourcesBuildPhase) or \ + isinstance(phase, PBXFrameworksBuildPhase): +@@ -2489,8 +2496,7 @@ + # The resources phase should come before the sources and frameworks + # phases, if any. + insert_at = len(self._properties['buildPhases']) +- for index in xrange(0, len(self._properties['buildPhases'])): +- phase = self._properties['buildPhases'][index] ++ for index, phase in enumerate(self._properties['buildPhases']): + if isinstance(phase, PBXSourcesBuildPhase) or \ + isinstance(phase, PBXFrameworksBuildPhase): + insert_at = index +@@ -2911,7 +2917,7 @@ + # determine the sort order. + return cmp(x_index, y_index) + +- for other_pbxproject, ref_dict in self._other_pbxprojects.iteritems(): ++ for other_pbxproject, ref_dict in self._other_pbxprojects.items(): + # Build up a list of products in the remote project file, ordered the + # same as the targets that produce them. + remote_products = [] +diff --git a/tools/gyp/pylib/gyp/xml_fix.py b/pylib/gyp/xml_fix.py +index 5de8481..4308d99 100644 +--- a/tools/gyp/pylib/gyp/xml_fix.py ++++ b/tools/gyp/pylib/gyp/xml_fix.py +@@ -32,8 +32,7 @@ + writer.write(indent+"<" + self.tagName) + + attrs = self._get_attributes() +- a_names = attrs.keys() +- a_names.sort() ++ a_names = sorted(attrs.keys()) + + for a_name in a_names: + writer.write(" %s=\"" % a_name) +diff --git a/tools/gyp/tools/graphviz.py b/tools/graphviz.py +index 326ae22..538b059 100755 +--- a/tools/gyp/tools/graphviz.py ++++ b/tools/gyp/tools/graphviz.py +@@ -8,6 +8,8 @@ + generate input suitable for graphviz to render a dependency graph of + targets.""" + ++from __future__ import print_function ++ + import collections + import json + import sys +@@ -50,9 +52,9 @@ + build_file, target_name, toolset = ParseTarget(src) + files[build_file].append(src) + +- print 'digraph D {' +- print ' fontsize=8' # Used by subgraphs. +- print ' node [fontsize=8]' ++ print('digraph D {') ++ print(' fontsize=8') # Used by subgraphs. ++ print(' node [fontsize=8]') + + # Output nodes by file. We must first write out each node within + # its file grouping before writing out any edges that may refer +@@ -63,31 +65,31 @@ + # the display by making it a box without an internal node. + target = targets[0] + build_file, target_name, toolset = ParseTarget(target) +- print ' "%s" [shape=box, label="%s\\n%s"]' % (target, filename, +- target_name) ++ print(' "%s" [shape=box, label="%s\\n%s"]' % (target, filename, ++ target_name)) + else: + # Group multiple nodes together in a subgraph. +- print ' subgraph "cluster_%s" {' % filename +- print ' label = "%s"' % filename ++ print(' subgraph "cluster_%s" {' % filename) ++ print(' label = "%s"' % filename) + for target in targets: + build_file, target_name, toolset = ParseTarget(target) +- print ' "%s" [label="%s"]' % (target, target_name) +- print ' }' ++ print(' "%s" [label="%s"]' % (target, target_name)) ++ print(' }') + + # Now that we've placed all the nodes within subgraphs, output all + # the edges between nodes. + for src, dsts in edges.items(): + for dst in dsts: +- print ' "%s" -> "%s"' % (src, dst) ++ print(' "%s" -> "%s"' % (src, dst)) + +- print '}' ++ print('}') + + + def main(): + if len(sys.argv) < 2: +- print >>sys.stderr, __doc__ +- print >>sys.stderr +- print >>sys.stderr, 'usage: %s target1 target2...' % (sys.argv[0]) ++ print(__doc__, file=sys.stderr) ++ print(file=sys.stderr) ++ print('usage: %s target1 target2...' % (sys.argv[0]), file=sys.stderr) + return 1 + + edges = LoadEdges('dump.json', sys.argv[1:]) +diff --git a/tools/gyp/tools/pretty_gyp.py b/tools/pretty_gyp.py +index d5736bb..5060d1d 100755 +--- a/tools/gyp/tools/pretty_gyp.py ++++ b/tools/gyp/tools/pretty_gyp.py +@@ -6,6 +6,8 @@ + + """Pretty-prints the contents of a GYP file.""" + ++from __future__ import print_function ++ + import sys + import re + +@@ -125,15 +127,15 @@ + (brace_diff, after) = count_braces(line) + if brace_diff != 0: + if after: +- print " " * (basic_offset * indent) + line ++ print(" " * (basic_offset * indent) + line) + indent += brace_diff + else: + indent += brace_diff +- print " " * (basic_offset * indent) + line ++ print(" " * (basic_offset * indent) + line) + else: +- print " " * (basic_offset * indent) + line ++ print(" " * (basic_offset * indent) + line) + else: +- print "" ++ print("") + last_line = line + + +diff --git a/tools/gyp/tools/pretty_sln.py b/tools/pretty_sln.py +index ca8cf4a..12a6dad 100755 +--- a/tools/gyp/tools/pretty_sln.py ++++ b/tools/gyp/tools/pretty_sln.py +@@ -12,6 +12,8 @@ + Then it outputs a possible build order. + """ + ++from __future__ import print_function ++ + __author__ = 'nsylvain (Nicolas Sylvain)' + + import os +@@ -26,7 +28,7 @@ + for dep in deps[project]: + if dep not in built: + BuildProject(dep, built, projects, deps) +- print project ++ print(project) + built.append(project) + + def ParseSolution(solution_file): +@@ -100,44 +102,44 @@ + return (projects, dependencies) + + def PrintDependencies(projects, deps): +- print "---------------------------------------" +- print "Dependencies for all projects" +- print "---------------------------------------" +- print "-- --" ++ print("---------------------------------------") ++ print("Dependencies for all projects") ++ print("---------------------------------------") ++ print("-- --") + + for (project, dep_list) in sorted(deps.items()): +- print "Project : %s" % project +- print "Path : %s" % projects[project][0] ++ print("Project : %s" % project) ++ print("Path : %s" % projects[project][0]) + if dep_list: + for dep in dep_list: +- print " - %s" % dep +- print "" ++ print(" - %s" % dep) ++ print("") + +- print "-- --" ++ print("-- --") + + def PrintBuildOrder(projects, deps): +- print "---------------------------------------" +- print "Build order " +- print "---------------------------------------" +- print "-- --" ++ print("---------------------------------------") ++ print("Build order ") ++ print("---------------------------------------") ++ print("-- --") + + built = [] + for (project, _) in sorted(deps.items()): + if project not in built: + BuildProject(project, built, projects, deps) + +- print "-- --" ++ print("-- --") + + def PrintVCProj(projects): + + for project in projects: +- print "-------------------------------------" +- print "-------------------------------------" +- print project +- print project +- print project +- print "-------------------------------------" +- print "-------------------------------------" ++ print("-------------------------------------") ++ print("-------------------------------------") ++ print(project) ++ print(project) ++ print(project) ++ print("-------------------------------------") ++ print("-------------------------------------") + + project_path = os.path.abspath(os.path.join(os.path.dirname(sys.argv[1]), + projects[project][2])) +@@ -153,7 +155,7 @@ + def main(): + # check if we have exactly 1 parameter. + if len(sys.argv) < 2: +- print 'Usage: %s "c:\\path\\to\\project.sln"' % sys.argv[0] ++ print('Usage: %s "c:\\path\\to\\project.sln"' % sys.argv[0]) + return 1 + + (projects, deps) = ParseSolution(sys.argv[1]) +diff --git a/tools/gyp/tools/pretty_vcproj.py b/tools/pretty_vcproj.py +index 6099bd7..f02e59e 100755 +--- a/tools/gyp/tools/pretty_vcproj.py ++++ b/tools/gyp/tools/pretty_vcproj.py +@@ -12,6 +12,8 @@ + It outputs the resulting xml to stdout. + """ + ++from __future__ import print_function ++ + __author__ = 'nsylvain (Nicolas Sylvain)' + + import os +@@ -73,23 +75,23 @@ + + # Print the main tag + if attr_count == 0: +- print '%s<%s>' % (' '*indent, node.nodeName) ++ print('%s<%s>' % (' '*indent, node.nodeName)) + else: +- print '%s<%s' % (' '*indent, node.nodeName) ++ print('%s<%s' % (' '*indent, node.nodeName)) + + all_attributes = [] + for (name, value) in node.attributes.items(): + all_attributes.append((name, value)) +- all_attributes.sort(CmpTuple()) ++ all_attributes.sort(key=(lambda attr: attr[0])) + for (name, value) in all_attributes: +- print '%s %s="%s"' % (' '*indent, name, value) +- print '%s>' % (' '*indent) ++ print('%s %s="%s"' % (' '*indent, name, value)) ++ print('%s>' % (' '*indent)) + if node.nodeValue: +- print '%s %s' % (' '*indent, node.nodeValue) ++ print('%s %s' % (' '*indent, node.nodeValue)) + + for sub_node in node.childNodes: + PrettyPrintNode(sub_node, indent=indent+2) +- print '%s</%s>' % (' '*indent, node.nodeName) ++ print('%s</%s>' % (' '*indent, node.nodeName)) + + + def FlattenFilter(node): +@@ -283,8 +285,8 @@ + + # check if we have exactly 1 parameter. + if len(argv) < 2: +- print ('Usage: %s "c:\\path\\to\\vcproj.vcproj" [key1=value1] ' +- '[key2=value2]' % argv[0]) ++ print('Usage: %s "c:\\path\\to\\vcproj.vcproj" [key1=value1] ' ++ '[key2=value2]' % argv[0]) + return 1 + + # Parse the keys +diff --git a/tools/gyp/gyptest.py b/gyptest.py +index 9930e78..1a9ffca 100755 +--- a/tools/gyp/gyptest.py ++++ b/tools/gyp/gyptest.py +@@ -58,7 +58,7 @@ + os.chdir(args.chdir) + + if args.path: +- extra_path = [os.path.abspath(p) for p in opts.path] ++ extra_path = [os.path.abspath(p) for p in args.path] + extra_path = os.pathsep.join(extra_path) + os.environ['PATH'] = extra_path + os.pathsep + os.environ['PATH'] + +diff --git a/tools/gyp/pylib/gyp/MSVSNew.py b/pylib/gyp/MSVSNew.py +index 593f0e5..0445931 100644 +--- a/tools/gyp/pylib/gyp/MSVSNew.py ++++ b/tools/gyp/pylib/gyp/MSVSNew.py +@@ -21,6 +21,13 @@ + _new_md5 = md5.new + + ++try: ++ # cmp was removed in python3. ++ cmp ++except NameError: ++ def cmp(a, b): ++ return (a > b) - (a < b) ++ + # Initialize random number generator + random.seed() + +diff --git a/tools/gyp/pylib/gyp/common.py b/pylib/gyp/common.py +index 1823de8..b268d22 100644 +--- a/tools/gyp/pylib/gyp/common.py ++++ b/tools/gyp/pylib/gyp/common.py +@@ -584,7 +584,7 @@ + graph = {'a': '$(b) $(c)', 'b': 'hi', 'c': '$(b)'} + def GetEdges(node): + return re.findall(r'\$\(([^))]\)', graph[node]) +- print TopologicallySorted(graph.keys(), GetEdges) ++ print(TopologicallySorted(graph.keys(), GetEdges)) + ==> + ['a', 'c', b'] + """ +diff --git a/tools/gyp/pylib/gyp/generator/make.py b/pylib/gyp/generator/make.py +index 2057e3a..8c2827e 100644 +--- a/tools/gyp/pylib/gyp/generator/make.py ++++ b/tools/gyp/pylib/gyp/generator/make.py +@@ -1636,7 +1636,7 @@ + self.WriteDoCmd([self.output_binary], deps, 'touch', part_of_all, + postbuilds=postbuilds) + else: +- print("WARNING: no output for", self.type, target) ++ print("WARNING: no output for", self.type, self.target) + + # Add an alias for each target (if there are any outputs). + # Installable target aliases are created below. +diff --git a/tools/gyp/pylib/gyp/generator/msvs.py b/pylib/gyp/generator/msvs.py +index e8a2b36..9eac028 100644 +--- a/tools/gyp/pylib/gyp/generator/msvs.py ++++ b/tools/gyp/pylib/gyp/generator/msvs.py +@@ -308,10 +308,8 @@ + if names: + return names[0] + else: +- print >> sys.stdout, ( +- 'Warning: No include files found for ' +- 'detected Windows SDK version %s' % (version) +- ) ++ print('Warning: No include files found for ' ++ 'detected Windows SDK version %s' % (version)) + + + def _BuildCommandLineForRuleRaw(spec, cmd, cygwin_shell, has_input_path, +@@ -2065,7 +2063,7 @@ + if generator_flags.get('msvs_error_on_missing_sources', False): + raise GypError(error_message) + else: +- print("Warning: " + error_message, file=sys.stdout) ++ print("Warning: " + error_message) + + + def _GenerateMSBuildFiltersFile(filters_path, source_files, +diff --git a/tools/gyp/pylib/gyp/mac_tool.py b/pylib/gyp/mac_tool.py +index 7d3a8c2..84f8863 100755 +--- a/tools/gyp/pylib/gyp/mac_tool.py ++++ b/tools/gyp/pylib/gyp/mac_tool.py +@@ -670,7 +670,7 @@ + count = len(filelist) + capacity = NextGreaterPowerOf2(count) + strings_offset = 24 + (12 * capacity) +- max_value_length = len(max(filelist.items(), key=lambda (k,v):len(v))[1]) ++ max_value_length = len(max(filelist.items(), key=lambda t: len(t[1]))[1]) + + out = open(output_name, "wb") + out.write(struct.pack('<LHHLLLL', magic, version, _reserved, strings_offset, +diff --git a/tools/gyp/pylib/gyp/xcodeproj_file.py b/pylib/gyp/xcodeproj_file.py +index bd238f6..bc9814d 100644 +--- a/tools/gyp/pylib/gyp/xcodeproj_file.py ++++ b/tools/gyp/pylib/gyp/xcodeproj_file.py +@@ -160,6 +160,13 @@ + except NameError: + basestring = str + ++try: ++ # cmp was removed in python3. ++ cmp ++except NameError: ++ def cmp(a, b): ++ return (a > b) - (a < b) ++ + # See XCObject._EncodeString. This pattern is used to determine when a string + # can be printed unquoted. Strings that match this pattern may be printed + # unquoted. Strings that do not match must be quoted and may be further +diff --git a/tools/gyp/samples/samples b/samples/samples +index 804b618..ff26de3 100755 +--- a/tools/gyp/samples/samples ++++ b/tools/gyp/samples/samples +@@ -4,6 +4,8 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++from __future__ import print_function ++ + import os.path + import shutil + import sys +@@ -57,7 +59,7 @@ + + def Main(argv): + if len(argv) != 3 or argv[1] not in ['push', 'pull']: +- print 'Usage: %s push/pull PATH_TO_CHROME' % argv[0] ++ print('Usage: %s push/pull PATH_TO_CHROME' % argv[0]) + return 1 + + path_to_chrome = argv[2] +@@ -66,10 +68,10 @@ + chrome_file = os.path.join(path_to_chrome, g) + local_file = os.path.join(os.path.dirname(argv[0]), os.path.split(g)[1]) + if argv[1] == 'push': +- print 'Copying %s to %s' % (local_file, chrome_file) ++ print('Copying %s to %s' % (local_file, chrome_file)) + shutil.copyfile(local_file, chrome_file) + elif argv[1] == 'pull': +- print 'Copying %s to %s' % (chrome_file, local_file) ++ print('Copying %s to %s' % (chrome_file, local_file)) + shutil.copyfile(chrome_file, local_file) + else: + assert False +diff --git a/tools/gyp/tools/pretty_vcproj.py b/tools/pretty_vcproj.py +index f02e59e..4454d9b 100755 +--- a/tools/gyp/tools/pretty_vcproj.py ++++ b/tools/gyp/tools/pretty_vcproj.py +@@ -22,6 +22,13 @@ + from xml.dom.minidom import parse + from xml.dom.minidom import Node + ++try: ++ # cmp was removed in python3. ++ cmp ++except NameError: ++ def cmp(a, b): ++ return (a > b) - (a < b) ++ + REPLACEMENTS = dict() + ARGUMENTS = None + +@@ -63,7 +70,7 @@ + def PrettyPrintNode(node, indent=0): + if node.nodeType == Node.TEXT_NODE: + if node.data.strip(): +- print '%s%s' % (' '*indent, node.data.strip()) ++ print('%s%s' % (' '*indent, node.data.strip())) + return + + if node.childNodes: +@@ -322,7 +329,6 @@ + + # Finally, we use the prett xml function to print the vcproj back to the + # user. +- #print dom.toprettyxml(newl="\n") + PrettyPrintNode(dom.documentElement) + return 0 + +--- node-v10.15.3/tools/gyp/pylib/gyp/input.py.old 2019-04-02 06:44:13.086310973 +0000 ++++ node-v10.15.3/tools/gyp/pylib/gyp/input.py 2019-04-02 06:45:35.987250735 +0000 +@@ -900,6 +900,9 @@ + (e, contents, build_file)) + + p_stdout, p_stderr = p.communicate('') ++ if getattr(p_stdout, 'decode'): ++ p_stdout = p_stdout.decode('utf-8') ++ p_stderr = p_stderr.decode('utf-8') + + if p.wait() != 0 or p_stderr: + sys.stderr.write(p_stderr) diff --git a/user/node/libatomic.patch b/user/node/libatomic.patch new file mode 100644 index 000000000..fc2e4ffd2 --- /dev/null +++ b/user/node/libatomic.patch @@ -0,0 +1,14 @@ +--- node-v10.15.3/node.gyp.old 2019-03-05 15:16:32.000000000 +0000 ++++ node-v10.15.3/node.gyp 2019-04-06 13:54:51.204939193 +0000 +@@ -479,6 +479,11 @@ + 'msvs_disabled_warnings!': [4244], + + 'conditions': [ ++ [ 'host_arch=="mips" or host_arch=="mipsel" or host_arch=="ppc"', { ++ 'link_settings': { ++ 'libraries': [ '-latomic' ], ++ }, ++ }], + [ 'node_code_cache_path!=""', { + 'sources': [ '<(node_code_cache_path)' ] + }, { diff --git a/user/node/ppc32.patch b/user/node/ppc32.patch new file mode 100644 index 000000000..80b97993c --- /dev/null +++ b/user/node/ppc32.patch @@ -0,0 +1,18 @@ +--- node-v10.15.3/deps/v8/src/libsampler/sampler.cc.old 2019-03-05 15:16:28.000000000 +0000 ++++ node-v10.15.3/deps/v8/src/libsampler/sampler.cc 2019-04-06 13:44:07.224653262 +0000 +@@ -502,9 +502,15 @@ + reinterpret_cast<void*>(ucontext->uc_mcontext.regs->gpr[PT_R31]); + #else + // Some C libraries, notably Musl, define the regs member as a void pointer ++ #if !V8_TARGET_ARCH_32_BIT + state->pc = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[32]); + state->sp = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[1]); + state->fp = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[31]); ++ #else ++ state->pc = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[32]); ++ state->sp = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[1]); ++ state->fp = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[31]); ++ #endif + #endif + #elif V8_HOST_ARCH_S390 + #if V8_TARGET_ARCH_32_BIT diff --git a/user/node/ppc64.patch b/user/node/ppc64.patch new file mode 100644 index 000000000..f76618562 --- /dev/null +++ b/user/node/ppc64.patch @@ -0,0 +1,40 @@ +--- a/deps/v8/src/ppc/assembler-ppc.h.old 2019-03-05 15:16:29.000000000 +0000 ++++ b/deps/v8/src/ppc/assembler-ppc.h 2019-04-02 07:05:25.977213735 +0000 +@@ -48,7 +48,8 @@ + #include "src/ppc/constants-ppc.h" + + #if V8_HOST_ARCH_PPC && \ +- (V8_OS_AIX || (V8_TARGET_ARCH_PPC64 && V8_TARGET_BIG_ENDIAN)) ++ (V8_OS_AIX || (V8_TARGET_ARCH_PPC64 && \ ++ (V8_TARGET_BIG_ENDIAN && (!defined(_CALL_ELF) || _CALL_ELF == 1)))) + #define ABI_USES_FUNCTION_DESCRIPTORS 1 + #else + #define ABI_USES_FUNCTION_DESCRIPTORS 0 +@@ -60,13 +61,15 @@ + #define ABI_PASSES_HANDLES_IN_REGS 0 + #endif + +-#if !V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || V8_TARGET_LITTLE_ENDIAN ++#if !V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || \ ++ (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2)) + #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 1 + #else + #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 0 + #endif + +-#if !V8_HOST_ARCH_PPC || (V8_TARGET_ARCH_PPC64 && V8_TARGET_LITTLE_ENDIAN) ++#if !V8_HOST_ARCH_PPC || (V8_TARGET_ARCH_PPC64 && \ ++ (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2))) + #define ABI_CALL_VIA_IP 1 + #else + #define ABI_CALL_VIA_IP 0 +@@ -220,7 +220,8 @@ + // The following constants describe the stack frame linkage area as + // defined by the ABI. Note that kNumRequiredStackFrameSlots must + // satisfy alignment requirements (rounding up if required). +-#if V8_TARGET_ARCH_PPC64 && V8_TARGET_LITTLE_ENDIAN ++#if V8_TARGET_ARCH_PPC64 && (V8_TARGET_LITTLE_ENDIAN || \ ++ defined(_CALL_ELF) && _CALL_ELF == 2) + // [0] back chain + // [1] condition register save area + // [2] link register save area diff --git a/user/node/python3.patch b/user/node/python3.patch new file mode 100644 index 000000000..dca32c7e4 --- /dev/null +++ b/user/node/python3.patch @@ -0,0 +1,163 @@ +--- node-v10.15.3/tools/configure.d/nodedownload.py (original) ++++ node-v10.15.3/tools/configure.d/nodedownload.py (refactored) +@@ -1,7 +1,10 @@ + #!/usr/bin/env python + # Moved some utilities here from ../../configure + ++try: +-import urllib ++ import urllib ++except ImportError: ++ import urllib.request, urllib.parse, urllib.error + import hashlib + import sys + import zipfile +@@ -18,10 +18,10 @@ + spin = ".:|'" + return (spin[c % len(spin)]) + +-class ConfigOpener(urllib.FancyURLopener): ++class ConfigOpener(urllib.request.FancyURLopener): + """fancy opener used by retrievefile. Set a UA""" + # append to existing version (UA) +- version = '%s node.js/configure' % urllib.URLopener.version ++ version = '%s node.js/configure' % urllib.request.URLopener.version + + def reporthook(count, size, total): + """internal hook used by retrievefile""" +@@ -36,10 +36,10 @@ + sys.stdout.write(' <%s>\nConnecting...\r' % url) + sys.stdout.flush() + ConfigOpener().retrieve(url, targetfile, reporthook=reporthook) +- print '' # clear the line ++ print('') # clear the line + return targetfile + except: +- print ' ** Error occurred while downloading\n <%s>' % url ++ print(' ** Error occurred while downloading\n <%s>' % url) + raise + + def md5sum(targetfile): +@@ -56,12 +56,12 @@ + """Unpacks packedfile into parent_path. Assumes .zip. Returns parent_path""" + if zipfile.is_zipfile(packedfile): + with contextlib.closing(zipfile.ZipFile(packedfile, 'r')) as icuzip: +- print ' Extracting zipfile: %s' % packedfile ++ print(' Extracting zipfile: %s' % packedfile) + icuzip.extractall(parent_path) + return parent_path + elif tarfile.is_tarfile(packedfile): + with contextlib.closing(tarfile.TarFile.open(packedfile, 'r')) as icuzip: +- print ' Extracting tarfile: %s' % packedfile ++ print(' Extracting tarfile: %s' % packedfile) + icuzip.extractall(parent_path) + return parent_path + else: +@@ -112,16 +112,16 @@ + theRet[anOpt] = True + else: + # future proof: ignore unknown types +- print 'Warning: ignoring unknown --download= type "%s"' % anOpt ++ print('Warning: ignoring unknown --download= type "%s"' % anOpt) + # all done + return theRet + + def candownload(auto_downloads, package): +- if not (package in auto_downloads.keys()): ++ if not (package in list(auto_downloads.keys())): + raise Exception('Internal error: "%s" is not in the --downloads list. Check nodedownload.py' % package) + if auto_downloads[package]: + return True + else: +- print """Warning: Not downloading package "%s". You could pass "--download=all" +- (Windows: "download-all") to try auto-downloading it.""" % package ++ print("""Warning: Not downloading package "%s". You could pass "--download=all" ++ (Windows: "download-all") to try auto-downloading it.""" % package) + return False +--- node-v10.15.3/tools/configure.d/nodedownload.py.old 2019-04-02 00:56:07.533200475 +0000 ++++ node-v10.15.3/tools/configure.d/nodedownload.py 2019-04-02 00:58:09.019947842 +0000 +@@ -6,12 +6,11 @@ + import sys + import zipfile + import tarfile +-import fpformat + import contextlib + + def formatSize(amt): + """Format a size as a string in MB""" +- return fpformat.fix(amt / 1024000., 1) ++ return "%{size}.1f" % (amt / 1024000.) + + def spin(c): + """print out an ASCII 'spinner' based on the value of counter 'c'""" +--- node-v10.15.3/configure.py.old 2019-03-05 15:16:24.000000000 +0000 ++++ node-v10.15.3/configure.py 2019-04-02 01:09:04.948394534 +0000 +@@ -649,8 +649,8 @@ + except OSError: + return (False, False, '', '') + +- proc.stdin.write('__clang__ __GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__ ' +- '__clang_major__ __clang_minor__ __clang_patchlevel__') ++ proc.stdin.write(b'__clang__ __GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__ ' ++ b'__clang_major__ __clang_minor__ __clang_patchlevel__') + + values = (proc.communicate()[0].split() + ['0'] * 7)[0:7] + is_clang = values[0] == '1' +@@ -727,7 +727,7 @@ + consider adjusting the CC environment variable if you installed + it in a non-standard prefix.''') + +- gas_ret = proc.communicate()[1] ++ gas_ret = proc.communicate()[1].decode('utf-8') + match = re.match(r"GNU assembler version ([2-9]\.[0-9]+)", gas_ret) + + if match: +@@ -794,7 +794,7 @@ + consider adjusting the CC environment variable if you installed + it in a non-standard prefix.''') + +- p.stdin.write('\n') ++ p.stdin.write(b'\n') + out = p.communicate()[0] + + out = str(out).split('\n') +@@ -1351,7 +1351,7 @@ + o['variables']['icu_small'] = b(True) + locs = set(options.with_icu_locales.split(',')) + locs.add('root') # must have root +- o['variables']['icu_locales'] = string.join(locs,',') ++ o['variables']['icu_locales'] = ','.join(locs) + # We will check a bit later if we can use the canned deps/icu-small + elif with_intl == 'full-icu': + # full ICU +@@ -1655,7 +1655,7 @@ + if options.prefix: + config['PREFIX'] = options.prefix + +-config = '\n'.join(map('='.join, config.iteritems())) + '\n' ++config = '\n'.join(map('='.join, config.items())) + '\n' + + # On Windows there's no reason to search for a different python binary. + bin_override = None if sys.platform == 'win32' else make_bin_override() +--- node-v10.15.3/configure.py.old 2019-04-02 01:12:29.786049396 +0000 ++++ node-v10.15.3/configure.py 2019-04-02 01:21:08.499637208 +0000 +@@ -634,7 +634,7 @@ + proc = subprocess.Popen( + shlex.split(pkg_config) + ['--silence-errors', flag, pkg], + stdout=subprocess.PIPE) +- val = proc.communicate()[0].strip() ++ val = proc.communicate()[0].strip().decode('utf-8') + except OSError as e: + if e.errno != errno.ENOENT: raise e # Unexpected error. + return (None, None, None, None) # No pkg-config/pkgconf installed. +--- node-v10.15.3/configure.py.old 2019-04-02 01:27:36.437454388 +0000 ++++ node-v10.15.3/configure.py 2019-04-02 01:28:06.954136125 +0000 +@@ -795,7 +795,7 @@ + it in a non-standard prefix.''') + + p.stdin.write(b'\n') +- out = p.communicate()[0] ++ out = p.communicate()[0].decode('utf-8') + + out = str(out).split('\n') + diff --git a/user/node/stack-silliness.patch b/user/node/stack-silliness.patch new file mode 100644 index 000000000..e8d775b73 --- /dev/null +++ b/user/node/stack-silliness.patch @@ -0,0 +1,14 @@ +--- node-v10.15.3/src/inspector_agent.cc.old 2019-03-05 15:16:32.000000000 +0000 ++++ node-v10.15.3/src/inspector_agent.cc 2019-04-06 02:03:11.082016553 +0000 +@@ -104,9 +104,9 @@ + // Don't shrink the thread's stack on FreeBSD. Said platform decided to + // follow the pthreads specification to the letter rather than in spirit: + // https://lists.freebsd.org/pipermail/freebsd-current/2014-March/048885.html +-#ifndef __FreeBSD__ ++#ifdef __GLIBC__ + CHECK_EQ(0, pthread_attr_setstacksize(&attr, PTHREAD_STACK_MIN)); +-#endif // __FreeBSD__ ++#endif // __GLIBC__ + CHECK_EQ(0, pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED)); + sigset_t sigmask; + // Mask all signals. diff --git a/user/node/v8-python3.patch b/user/node/v8-python3.patch new file mode 100644 index 000000000..64151be4f --- /dev/null +++ b/user/node/v8-python3.patch @@ -0,0 +1,169 @@ +--- node-v10.15.3/deps/v8/tools/node/fetch_deps.py.old 2019-03-05 15:16:31.000000000 +0000 ++++ node-v10.15.3/deps/v8/tools/node/fetch_deps.py 2019-04-02 01:01:00.421250178 +0000 +@@ -9,6 +9,9 @@ + Usage: fetch_deps.py <v8-path> + """ + ++# for py2/py3 compatibility ++from __future__ import print_function ++ + import os + import subprocess + import sys +@@ -51,9 +55,9 @@ + expected_git_dir = os.path.join(v8_path, ".git") + actual_git_dir = git("rev-parse --absolute-git-dir") + if expected_git_dir == actual_git_dir: +- print "V8 is tracked stand-alone by git." ++ print("V8 is tracked stand-alone by git.") + return False +- print "Initializing temporary git repository in v8." ++ print("Initializing temporary git repository in v8.") + git("init") + git("config user.name \"Ada Lovelace\"") + git("config user.email ada@lovela.ce") +@@ -70,7 +74,7 @@ + + temporary_git = EnsureGit(v8_path) + try: +- print "Fetching dependencies." ++ print("Fetching dependencies.") + env = os.environ.copy() + # gclient needs to have depot_tools in the PATH. + env["PATH"] = depot_tools + os.pathsep + env["PATH"] +--- node-v10.15.3/deps/v8/tools/node/node_common.py.old 2019-03-05 15:16:31.000000000 +0000 ++++ node-v10.15.3/deps/v8/tools/node/node_common.py 2019-04-02 01:00:45.522875398 +0000 +@@ -3,11 +3,15 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++# for py2/py3 compatibility ++from __future__ import print_function ++ + import os + import pipes + import shutil + import stat + import subprocess ++import sys + + DEPOT_TOOLS_URL = \ + "https://chromium.googlesource.com/chromium/tools/depot_tools.git" +@@ -22,23 +26,27 @@ + except: + pass + if fetch_if_not_exist: +- print "Checking out depot_tools." ++ print("Checking out depot_tools.") + # shell=True needed on Windows to resolve git.bat. + subprocess.check_call("git clone {} {}".format( + pipes.quote(DEPOT_TOOLS_URL), + pipes.quote(depot_tools)), shell=True) ++ # Using check_output to hide warning messages. ++ subprocess.check_output( ++ [sys.executable, gclient_path, "metrics", "--opt-out"], ++ cwd=depot_tools) + return depot_tools + return None + depot_tools = _Get(v8_path) + assert depot_tools is not None +- print "Using depot tools in %s" % depot_tools ++ print("Using depot tools in %s" % depot_tools) + return depot_tools + + def UninitGit(v8_path): +- print "Uninitializing temporary git repository" ++ print("Uninitializing temporary git repository") + target = os.path.join(v8_path, ".git") + if os.path.isdir(target): +- print ">> Cleaning up %s" % target ++ print(">> Cleaning up %s" % target) + def OnRmError(func, path, exec_info): + # This might happen on Windows + os.chmod(path, stat.S_IWRITE) +--- node-v10.15.3/deps/v8/tools/node/update_node.py.old 2019-03-05 15:16:31.000000000 +0000 ++++ node-v10.15.3/deps/v8/tools/node/update_node.py 2019-04-02 01:00:27.184875836 +0000 +@@ -23,6 +23,9 @@ + --with-patch Also include currently staged files in the V8 checkout. + """ + ++# for py2/py3 compatibility ++from __future__ import print_function ++ + import argparse + import os + import shutil +@@ -61,9 +64,9 @@ + # Node.js owns deps/v8/gypfiles in their downstream repository. + FILES_TO_KEEP = [ "gypfiles" ] + + def RunGclient(path): + assert os.path.isdir(path) +- print ">> Running gclient sync" ++ print(">> Running gclient sync") + subprocess.check_call(["gclient", "sync", "--nohooks"], cwd=path) + + def CommitPatch(options): +@@ -74,7 +77,7 @@ + the fake git clone fetch it into node.js. We can leave the commit, as + bot_update will ensure a clean state on each run. + """ +- print ">> Committing patch" ++ print(">> Committing patch") + subprocess.check_call( + ["git", "-c", "user.name=fake", "-c", "user.email=fake@chromium.org", + "commit", "--allow-empty", "-m", "placeholder-commit"], +@@ -84,8 +87,8 @@ + def UpdateTarget(repository, options, files_to_keep): + source = os.path.join(options.v8_path, *repository) + target = os.path.join(options.node_path, TARGET_SUBDIR, *repository) +- print ">> Updating target directory %s" % target +- print ">> from active branch at %s" % source ++ print(">> Updating target directory %s" % target) ++ print(">> from active branch at %s" % source) + if not os.path.exists(target): + os.makedirs(target) + # Remove possible remnants of previous incomplete runs. +@@ -98,10 +101,11 @@ + git_args.append(["add"] + files_to_keep) # add and commit + git_args.append(["commit", "-m", "keep files"]) # files we want to keep + ++ git_args.append(["clean", "-fxd"]) # nuke everything else + git_args.append(["remote", "add", "source", source]) # point to source repo + git_args.append(["fetch", "source", "HEAD"]) # sync to current branch + git_args.append(["checkout", "-f", "FETCH_HEAD"]) # switch to that branch +- git_args.append(["clean", "-fd"]) # delete removed files ++ git_args.append(["clean", "-fxd"]) # delete removed files + + if files_to_keep: + git_args.append(["cherry-pick", "master"]) # restore kept files +@@ -117,17 +120,17 @@ + def UpdateGitIgnore(options): + file_name = os.path.join(options.node_path, TARGET_SUBDIR, ".gitignore") + assert os.path.isfile(file_name) +- print ">> Updating .gitignore with lines" ++ print(">> Updating .gitignore with lines") + with open(file_name) as gitignore: + content = gitignore.readlines() + content = [x.strip() for x in content] + for x in DELETE_FROM_GITIGNORE: + if x in content: +- print "- %s" % x ++ print("- %s" % x) + content.remove(x) + for x in ADD_TO_GITIGNORE: + if x not in content: +- print "+ %s" % x ++ print("+ %s" % x) + content.append(x) + content.sort(key=lambda x: x[1:] if x.startswith("!") else x) + with open(file_name, "w") as gitignore: +@@ -135,7 +138,7 @@ + gitignore.write("%s\n" % x) + + def CreateCommit(options): +- print ">> Creating commit." ++ print(">> Creating commit.") + # Find git hash from source. + githash = subprocess.check_output(["git", "rev-parse", "--short", "HEAD"], + cwd=options.v8_path).strip() diff --git a/user/nsd/APKBUILD b/user/nsd/APKBUILD index 388c902a1..f99b4514e 100644 --- a/user/nsd/APKBUILD +++ b/user/nsd/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Luis Ressel <aranea@aixah.de> # Maintainer: Luis Ressel <aranea@aixah.de> pkgname=nsd -pkgver=4.1.26 +pkgver=4.1.27 pkgrel=0 pkgdesc="An authoritative only name server" url="https://www.nlnetlabs.nl/projects/nsd/about/" @@ -50,6 +50,6 @@ openrc() { install -Dm644 "$srcdir/nsd.confd" "$subpkgdir/etc/conf.d/nsd" } -sha512sums="49c07ad79e4e056bd519dad157a44d5cc55cd9a28723fd910159dc761d4ba56ef86cb7bf289dc5d1b363a49b999232bb7ec1afa737ca5c2659c4c9893e93494b nsd-4.1.26.tar.gz +sha512sums="9c75041f5a6213cdba7238c2e51fc73031f6f073e06587659f93992fed49418ee789642b25b5522d48642507050ac15021f385927eed81ce5ea649f974e66402 nsd-4.1.27.tar.gz f0ef1d3427e92650239d9d91402810c045fc9223e3f42ce86986422bf2039a0bcc02dffdfe1153d54de5c76c8f2bdc3e34fe341c65b41f2d333b02c00b5b0eae nsd.confd 139e52dec98792173f06d298574db0d0e6966a06af8a0a3069487beb01fd570c09d22322569b54bacdc43232dbfb99a8c497d4417d2bbfee88bcdd9d1b4d22f7 nsd.initd" diff --git a/user/openjdk8/APKBUILD b/user/openjdk8/APKBUILD new file mode 100644 index 000000000..24dd5e28a --- /dev/null +++ b/user/openjdk8/APKBUILD @@ -0,0 +1,309 @@ +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=openjdk8 +_icedteaver=3.11.0 +# pkgver is <JDK version>.<JDK update>.<JDK build> +# Check https://icedtea.classpath.org/wiki/Main_Page when updating +pkgver=8.201.08 +pkgrel=0 +pkgdesc="Libre Java development kit for Java 8" +url="https://icedtea.classpath.org/" +arch="all" +license="GPL-2.0-only" +depends="$pkgname-jre java-cacerts" +options="sover-namecheck" +makedepends="bash findutils libarchive-tools zip file util-linux libxslt + autoconf automake linux-headers sed xz coreutils + openjdk7 ca-certificates libjpeg-turbo-dev cmd:which + nss-dev nss-static cups-dev giflib-dev libpng-dev libxt-dev + lcms2-dev libxp-dev libxtst-dev libxinerama-dev zlib-dev + libxrender-dev alsa-lib-dev freetype-dev fontconfig-dev + gtk+2.0-dev krb5-dev attr-dev pcsc-lite-dev lksctp-tools-dev + libxcomposite-dev" + +case $CARCH in +x86|pmmx) _jarch=i386;; +x86_64) _jarch=amd64;; +arm*) _jarch=aarch32;; +ppc64) _jarch=ppc64 + export CFLAGS="$CFLAGS -DABI_ELFv2";; +*) _jarch="$CARCH";; +esac + +_bootstrap_java_home="/usr/lib/jvm/java-1.7-openjdk" +_java_home="/usr/lib/jvm/java-1.8-openjdk" +_jrelib="$_java_home/jre/lib/$_jarch" + +# Exclude xawt from ldpath to avoid duplicate provides for libmawt.so +# (also in headless). in future this should be a virtual provides. +ldpath="$_jrelib:$_jrelib/native_threads:$_jrelib/headless:$_jrelib/server:$_jrelib/jli" +sonameprefix="$pkgname:" + +subpackages="$pkgname-dbg $pkgname-jre-lib:jrelib:noarch $pkgname-jre $pkgname-jre-base:jrebase + $pkgname-doc $pkgname-demos" + +_dropsver=$_icedteaver +_dropsurl="https://icedtea.classpath.org/download/drops/icedtea8/$_dropsver" + +source="https://icedtea.classpath.org/download/source/icedtea-$_icedteaver.tar.xz + openjdk-$_dropsver.tar.xz::$_dropsurl/openjdk.tar.xz + corba-$_dropsver.tar.xz::$_dropsurl/corba.tar.xz + jaxp-$_dropsver.tar.xz::$_dropsurl/jaxp.tar.xz + jaxws-$_dropsver.tar.xz::$_dropsurl/jaxws.tar.xz + jdk-$_dropsver.tar.xz::$_dropsurl/jdk.tar.xz + langtools-$_dropsver.tar.xz::$_dropsurl/langtools.tar.xz + hotspot-$_dropsver.tar.xz::$_dropsurl/hotspot.tar.xz + nashorn-$_dropsver.tar.xz::$_dropsurl/nashorn.tar.xz + + icedtea-hotspot-musl.patch + icedtea-hotspot-musl-ppc.patch + icedtea-hotspot-noagent-musl.patch + icedtea-jdk-execinfo.patch + icedtea-jdk-fix-ipv6-init.patch + icedtea-jdk-fix-libjvm-load.patch + icedtea-jdk-musl.patch + icedtea-jdk-includes.patch + icedtea-jdk-getmntent-buffer.patch + icedtea-autoconf-config.patch + icedtea-jdk-tls-nist-curves.patch + remove-gawk.patch + " +builddir="$srcdir/icedtea-$_icedteaver" + +# secfixes: +# 8.201.08-r0: +# - CVE-2019-2422 +# - CVE-2019-2426 +# - CVE-2018-11212 +# 8.191.12-r0: +# - CVE-2018-3136 +# - CVE-2018-3139 +# - CVE-2018-3149 +# - CVE-2018-3169 +# - CVE-2018-3180 +# - CVE-2018-3183 +# - CVE-2018-3214 +# - CVE-2018-13785 +# - CVE-2018-16435 +# 8.181.13-r0: +# - CVE-2018-2938 +# - CVE-2018-2940 +# - CVE-2018-2952 +# - CVE-2018-2973 +# - CVE-2018-3639 + +unpack() { + if [ -z "$force" ]; then + verify + initdcheck + fi + mkdir -p "$srcdir" + msg "Unpacking sources..." + tar -C "$srcdir" -Jxf icedtea-$_icedteaver.tar.xz +} + +prepare() { + cd "$builddir" + + local ver_u=$(sed -En 's/^\s*JDK_UPDATE_VERSION\s*=\s*(\S+).*/\1/p' acinclude.m4) + local ver_b=$(sed -En 's/^\s*BUILD_VERSION\s*=\s*b(\S+).*/\1/p' acinclude.m4) + [ "${pkgver#*.}" = "$ver_u.$ver_b" ] \ + || die "Version mismatch, source is 8.$ver_u.$ver_b, but abuild defines $pkgver!" + + # Busybox sha256 does not support longopts. + sed -e "s/--check/-c/g" -i Makefile.am + + local patch; for patch in $source; do + case $patch in + icedtea-*.patch) + cp ../$patch patches + ;; + *.patch) + msg "Applying patch $patch" + patch -p1 -i "$srcdir"/$patch + ;; + esac + done + + ./autogen.sh +} + +build() { + export JAVA_HOME="$_bootstrap_java_home" + export PATH="$JAVA_HOME/bin:$PATH" + + if [ -z "$JOBS" ]; then + export JOBS=$(printf '%s\n' "$MAKEFLAGS" | sed -n -e 's/.*-j\([0-9]\+\).*/\1/p') + fi + + DISTRIBUTION_PATCHES="" + local patch; for patch in $source; do + case $patch in + icedtea-*.patch) + DISTRIBUTION_PATCHES="$DISTRIBUTION_PATCHES patches/$patch" + ;; + esac + done + export DISTRIBUTION_PATCHES + echo "icedtea patches: $DISTRIBUTION_PATCHES" + + cd "$builddir" + bash ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix="$_java_home" \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --disable-dependency-tracking \ + --disable-downloading \ + --disable-precompiled-headers \ + --with-parallel-jobs=${JOBS:-2} \ + --with-hotspot-build=default \ + --with-openjdk-src-zip="$srcdir/openjdk-$_dropsver.tar.xz" \ + --with-hotspot-src-zip="$srcdir/hotspot-$_dropsver.tar.xz" \ + --with-corba-src-zip="$srcdir/corba-$_dropsver.tar.xz" \ + --with-jaxp-src-zip="$srcdir/jaxp-$_dropsver.tar.xz" \ + --with-jaxws-src-zip="$srcdir/jaxws-$_dropsver.tar.xz" \ + --with-jdk-src-zip="$srcdir/jdk-$_dropsver.tar.xz" \ + --with-langtools-src-zip="$srcdir/langtools-$_dropsver.tar.xz" \ + --with-nashorn-src-zip="$srcdir/nashorn-$_dropsver.tar.xz" \ + --with-pax=paxmark \ + --with-jdk-home="$_bootstrap_java_home" \ + --with-pkgversion="Adelie ${pkgver}-r${pkgrel}" \ + --enable-nss \ + --enable-non-nss-curves + make +} + +# TODO: Run tests or at least try to compile and run hello world. +check() { + cd "$builddir"/openjdk.build/images/j2sdk-image + + ./bin/java -version +} + +package() { + cd "$builddir" + + mkdir -p "$pkgdir"/$_java_home + + cp -a openjdk.build/images/j2sdk-image/* "$pkgdir"/$_java_home/ + rm "$pkgdir"/$_java_home/src.zip + + # This archive contains absolute paths from the build environment, + # so it does not work on the target system. User can generate it + # running `java -Xshare:dump`. + rm -f "$pkgdir"/$_jrelib/server/classes.jsa + + # pax mark again (due to fakeroot xattr handling bug) + ./pax-mark-vm "$pkgdir"/$_java_home true + + # symlink to shared java cacerts store + rm -f "$pkgdir"/$_java_home/jre/lib/security/cacerts + ln -sf /etc/ssl/certs/java/cacerts \ + "$pkgdir"/$_java_home/jre/lib/security/cacerts +} + +jrelib() { + pkgdesc="OpenJDK 8 Java Runtime (class libraries)" + depends="" + + local file dir + for file in jre/lib/images \ + jre/lib/*.jar \ + jre/lib/security \ + jre/lib/ext/*.jar \ + jre/lib/cmm \ + jre/ASSEMBLY_EXCEPTION \ + jre/THIRD_PARTY_README \ + jre/LICENSE; do + + dir=${file%/*} + mkdir -p "$subpkgdir"/$_java_home/$dir + mv "$pkgdir"/$_java_home/$file "$subpkgdir"/$_java_home/$dir + done +} + +jre() { + pkgdesc="OpenJDK 8 Java Runtime" + local file dir + + mkdir -p "$subpkgdir" + for file in jre/bin/policytool \ + bin/appletviewer \ + bin/policytool \ + jre/lib/$_jarch/libawt_xawt.so \ + jre/lib/$_jarch/libfontmanager.so \ + jre/lib/$_jarch/libjawt.so \ + jre/lib/$_jarch/libjsoundalsa.so \ + jre/lib/$_jarch/libsplashscreen.so; do + + dir=${file%/*} + mkdir -p "$subpkgdir"/$_java_home/$dir + mv "$pkgdir"/$_java_home/$file "$subpkgdir"/$_java_home/$dir + done + + # Pax mark again (due to fakeroot xattr handling bug). + "$builddir"/pax-mark-vm "$subpkgdir"/$_java_home true +} + +jrebase() { + pkgdesc="OpenJDK 8 Java Runtime (no GUI support)" + depends="$pkgname-jre-lib java-common java-cacerts" + + mkdir -p "$subpkgdir"/$_java_home/bin \ + "$subpkgdir"/$_java_home/lib/$_jarch + + mv "$pkgdir"/$_java_home/lib/$_jarch/jli \ + "$subpkgdir"/$_java_home/lib/$_jarch/ + + local file; for file in java orbd rmid servertool unpack200 keytool \ + pack200 rmiregistry tnameserv; do + mv "$pkgdir"/$_java_home/bin/$file "$subpkgdir"/$_java_home/bin/ + done + + # Rest of the jre subdir (which were not taken by -jre subpkg). + mv "$pkgdir"/$_java_home/jre "$subpkgdir"/$_java_home/ + + # Pax mark again (due to fakeroot xattr handling bug). + "$builddir"/pax-mark-vm "$subpkgdir"/$_java_home true +} + +doc() { + default_doc + + mkdir -p "$subpkgdir"/$_java_home/ + mv "$pkgdir"/$_java_home/man "$subpkgdir"/$_java_home/ +} + +demos() { + pkgdesc="OpenJDK 8 Java Demos and Samples" + depends="$pkgname" + + mkdir -p "$subpkgdir"/$_java_home/ + mv "$pkgdir"/$_java_home/demo "$pkgdir"/$_java_home/sample \ + "$subpkgdir"/$_java_home/ +} + +sha512sums="a71c9318d49077f8ae27f5c3e0b61df0709eded241f557c886f6b93aa98c13ad78f713d1286da286989bf62866dfff7538ad783eb804a705a160cbc096dea851 icedtea-3.11.0.tar.xz +fc3faa7d7b9531f10c40241d89c36854043921f6f1a0851f284bcab36fc54fb0bb8cf8365dd4b2fb22b3ee8ddb8ed4a79e0807f79cb95b4b00f164993f1acc0b openjdk-3.11.0.tar.xz +9b8a44dda0bbfba8dc0d659e0fabf22e84b9931518e4b199a238faa103cbc4ed814c97f0f38f0aed263846b46fc7eab4500ba9759503373083e12cb8b5b364b5 corba-3.11.0.tar.xz +9eba0f6ada2ae8adc1791a91ceb4fba9bd06aee0626cd1b4310ff16c7c8006045fed5fb7f109e490395b70695be4e6bfd6f1f5cbcdb095fb17abf123012a03de jaxp-3.11.0.tar.xz +ce5f0c2aced1af59f002dc9dc6cba4b9332167e9e019a3040267901ef7f325e05b8c99ed1f276b88ddb4e43cdd1b0c456e0c4dc2222ae6b3800c0502ffa840de jaxws-3.11.0.tar.xz +411508ed91f14ae1c51ea54de72a943db222ff572f3991631fe1a1fa97f9bb42da1e01ca98893f7236b4b44bae2917fc3f8622d7f94a085be30d437451acd272 jdk-3.11.0.tar.xz +363c376848870c6c28415967561c4b151f1256c38a315fabc69c90425f5255224182045349a00c9433db52c416b7ebffedaa4825c980460541a3f9338adbaa5e langtools-3.11.0.tar.xz +13fa35f4a4fe01b3da4efb8476c0cb3482a36596eb422f2ad958a4c51efc286962ac3123a75853e84c4db477ac064a0fd3ee5e03f1ea0ec4f7e2c8ac07aa2d0e hotspot-3.11.0.tar.xz +2b46a8599d530a351522420cae8ac780cd2e64a6d7adbff87397a178f12f0a992bccd0f56435582dbd10be2157d4a4540c41b3dca488566162eed680102e58a9 nashorn-3.11.0.tar.xz +c0776ff52e11a353fee29419319cd9e1fc4e5bb922832547616e8499fd52852a935a6a6fb93b49a67ab7b3fd2f7a63320f917e354cc7123220139e80694a7b5a icedtea-hotspot-musl.patch +e5cf4d70f96fc1e72ae8b97a887adb96092ff36584711cbb8de9d9fa9e859cb8731d638838de0d9591239fc44ffe5c74422d1842bd9f10a0c00dff1627bdeeef icedtea-hotspot-musl-ppc.patch +19459dbb922f5a71cd15b53199481498626a783c24f91d2544d55b7dddd2cdb34a64bbf0226b99548612dd1743af01b3f9ff32c30abbbc90ce727ca2dbbbd1f9 icedtea-hotspot-noagent-musl.patch +f6365cfafafa008bd6c1bf0ccec01a63f8a39bd1a8bc87baa492a27234d47793ba02d455e5667a873ef50148df3baaf6a8421e2da0b15faac675867da714dd5f icedtea-jdk-execinfo.patch +48533f87fc2cf29d26b259be0df51087d2fe5b252e72d00c6ea2f4add7b0fb113141718c116279c5905e03f64a1118082e719393786811367cf4d472b5d36774 icedtea-jdk-fix-ipv6-init.patch +b135991c76b0db8fa7c363e0903624668e11eda7b54a943035c214aa4d7fc8c3e8110ed200edcec82792f3c9393150a9bd628625ddf7f3e55720ff163fbbb471 icedtea-jdk-fix-libjvm-load.patch +1fbc32ddc528c7c0099dbc1e48f88d29dccf55e7b8997793aa1d3d8408003a1223d898cca4248e1a12d343d3feec5144f875e6cdac8460d763c73ab3ad7e49f9 icedtea-jdk-musl.patch +e8d9f1b867bf4fc84aa00d1237b264bcf503b1ed5f34735e14b0b747a728953fe0051a5af69ed058d377fbf65d8be1ed9e38fe5fc6edb2d50b31f34bf3ba91dc icedtea-jdk-includes.patch +7e6fa46b10c630517bfa46943858aea1d032c12d32ba3fcb7a2143ae1e896c34fa4cb8f925af80cb19f8e29149b835aa054adfd30ebb00539f6c78588d6f5211 icedtea-jdk-getmntent-buffer.patch +662d662d0a7a84be2978e921317589f212f3ba3b7629527ba0f1140b5ac4c1024893e0ed176211688ed1a4505968c4befc841ed57ffcdbb9d355c2cb0571b167 icedtea-autoconf-config.patch +9ea7ac942baf29cc619bc2e1acd59201b9f6d38f39a517b495d7613aec746459200c81afb57c5fcdcb856f6bc8b33f7566c8593fed07e5c73f43e08f1072d458 icedtea-jdk-tls-nist-curves.patch +b0f6d07c6a949acdc8b4a25bf924f134f468e162f01dd440fd4ca80769fb84a0a54210f93efbe88012404fe3db6701aad31cdbc772bc054ad69021c37db5538c remove-gawk.patch" diff --git a/user/openjdk8/icedtea-autoconf-config.patch b/user/openjdk8/icedtea-autoconf-config.patch new file mode 100644 index 000000000..9b75def87 --- /dev/null +++ b/user/openjdk8/icedtea-autoconf-config.patch @@ -0,0 +1,114 @@ +OpenJDK contains very outdated autoconf-config.guess and autoconf-config.sub +that don't handle triplet with -musl. It also contains wrapper scripts +config.guess and config.sub that we don't need at all. + +This patch modifies these wrapper scripts to just include up-to-date +config.guess and config.sub from the icedtea tarball. + +--- openjdk.orig/common/autoconf/build-aux/config.guess ++++ openjdk/common/autoconf/build-aux/config.guess +@@ -28,62 +28,4 @@ + # and fix the broken property, if needed. + + DIR=`dirname $0` +-OUT=`. $DIR/autoconf-config.guess` +- +-# Test and fix solaris on x86_64 +-echo $OUT | grep i386-pc-solaris > /dev/null 2> /dev/null +-if test $? = 0; then +- # isainfo -n returns either i386 or amd64 +- REAL_CPU=`isainfo -n` +- OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'` +-fi +- +-# Test and fix solaris on sparcv9 +-echo $OUT | grep sparc-sun-solaris > /dev/null 2> /dev/null +-if test $? = 0; then +- # isainfo -n returns either sparc or sparcv9 +- REAL_CPU=`isainfo -n` +- OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'` +-fi +- +-# Test and fix cygwin on x86_64 +-echo $OUT | grep 86-pc-cygwin > /dev/null 2> /dev/null +-if test $? != 0; then +- echo $OUT | grep 86-pc-mingw > /dev/null 2> /dev/null +-fi +-if test $? = 0; then +- case `echo $PROCESSOR_IDENTIFIER | cut -f1 -d' '` in +- intel64|Intel64|INTEL64|em64t|EM64T|amd64|AMD64|8664|x86_64) +- REAL_CPU=x86_64 +- OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'` +- ;; +- esac +-fi +- +-# Test and fix architecture string on AIX +-# On AIX 'config.guess' returns 'powerpc' as architecture but 'powerpc' is +-# implicitely handled as 32-bit architecture in 'platform.m4' so we check +-# for the kernel mode rewrite it to 'powerpc64' if we'Re running in 64-bit mode. +-# The check could also be done with `/usr/sbin/prtconf | grep "Kernel Type" | grep "64-bit"` +-echo $OUT | grep powerpc-ibm-aix > /dev/null 2> /dev/null +-if test $? = 0; then +- if [ -x /bin/getconf ] ; then +- KERNEL_BITMODE=`getconf KERNEL_BITMODE` +- if [ "$KERNEL_BITMODE" = "32" ]; then +- KERNEL_BITMODE="" +- fi +- fi +- OUT=powerpc$KERNEL_BITMODE`echo $OUT | sed -e 's/[^-]*//'` +-fi +- +-# Test and fix little endian PowerPC64. +-# TODO: should be handled by autoconf-config.guess. +-if [ "x$OUT" = x ]; then +- if [ `uname -m` = ppc64le ]; then +- if [ `uname -s` = Linux ]; then +- OUT=powerpc64le-unknown-linux-gnu +- fi +- fi +-fi +- +-echo $OUT ++. $DIR/../../../../config.guess +--- openjdk.orig/common/autoconf/build-aux/config.sub ++++ openjdk/common/autoconf/build-aux/config.sub +@@ -28,37 +28,4 @@ + # wrap it and fix the broken property, if needed. + + DIR=`dirname $0` +- +-# First, filter out everything that doesn't begin with "aarch64-" +-if ! echo $* | grep '^aarch64-' >/dev/null ; then +- . $DIR/autoconf-config.sub "$@" +- # autoconf-config.sub exits, so we never reach here, but just in +- # case we do: +- exit +-fi +- +-while test $# -gt 0 ; do +- case $1 in +- -- ) # Stop option processing +- shift; break ;; +- aarch64-* ) +- config=`echo $1 | sed 's/^aarch64-/arm-/'` +- sub_args="$sub_args $config" +- shift; ;; +- - ) # Use stdin as input. +- sub_args="$sub_args $1" +- shift; break ;; +- * ) +- sub_args="$sub_args $1" +- shift; ;; +- esac +-done +- +-result=`. $DIR/autoconf-config.sub $sub_args "$@"` +-exitcode=$? +- +-result=`echo $result | sed "s/^arm-/aarch64-/"` +- +-echo $result +-exit $exitcode +- ++. $DIR/../../../../config.sub "$@" diff --git a/user/openjdk8/icedtea-hotspot-musl-ppc.patch b/user/openjdk8/icedtea-hotspot-musl-ppc.patch new file mode 100644 index 000000000..eca684884 --- /dev/null +++ b/user/openjdk8/icedtea-hotspot-musl-ppc.patch @@ -0,0 +1,169 @@ +--- openjdk.orig/hotspot/src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp ++++ openjdk/hotspot/src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp +@@ -110,11 +110,19 @@ + // it because the volatile registers are not needed to make setcontext() work. + // Hopefully it was zero'd out beforehand. + guarantee(uc->uc_mcontext.regs != NULL, "only use ucontext_get_pc in sigaction context"); ++#if defined(__GLIBC__) || defined(__UCLIBC__) + return (address)uc->uc_mcontext.regs->nip; ++#else // Musl ++ return (address)uc->uc_mcontext.gp_regs[32]; ++#endif + } + + intptr_t* os::Linux::ucontext_get_sp(ucontext_t * uc) { ++#if defined(__GLIBC__) || defined(__UCLIBC__) + return (intptr_t*)uc->uc_mcontext.regs->gpr[1/*REG_SP*/]; ++#else // Musl ++ return (intptr_t*)uc->uc_mcontext.gp_regs[1/*REG_SP*/]; ++#endif + } + + intptr_t* os::Linux::ucontext_get_fp(ucontext_t * uc) { +@@ -213,7 +221,11 @@ + if (uc) { + address const pc = os::Linux::ucontext_get_pc(uc); + if (pc && StubRoutines::is_safefetch_fault(pc)) { ++#if defined(__GLIBC__) || defined(__UCLIBC__) + uc->uc_mcontext.regs->nip = (unsigned long)StubRoutines::continuation_for_safefetch_fault(pc); ++#else // Musl ++ uc->uc_mcontext.gp_regs[32] = (unsigned long)StubRoutines::continuation_for_safefetch_fault(pc); ++#endif + return true; + } + } +@@ -364,7 +376,11 @@ + // continue at the next instruction after the faulting read. Returning + // garbage from this read is ok. + thread->set_pending_unsafe_access_error(); ++#if defined(__GLIBC__) || defined(__UCLIBC__) + uc->uc_mcontext.regs->nip = ((unsigned long)pc) + 4; ++#else // Musl ++ uc->uc_mcontext.gp_regs[32] = ((unsigned long)pc) + 4; ++#endif + return true; + } + } +@@ -383,7 +399,11 @@ + // continue at the next instruction after the faulting read. Returning + // garbage from this read is ok. + thread->set_pending_unsafe_access_error(); ++#if defined(__GLIBC__) || defined(__UCLIBC__) + uc->uc_mcontext.regs->nip = ((unsigned long)pc) + 4; ++#else // Musl ++ uc->uc_mcontext.gp_regs[32] = ((unsigned long)pc) + 4; ++#endif + return true; + } + } +@@ -406,7 +426,11 @@ + if (stub != NULL) { + // Save all thread context in case we need to restore it. + if (thread != NULL) thread->set_saved_exception_pc(pc); ++#if defined(__GLIBC__) || defined(__UCLIBC__) + uc->uc_mcontext.regs->nip = (unsigned long)stub; ++#else ++ uc->uc_mcontext.gp_regs[32] = (unsigned long)stub; ++#endif + return true; + } + +@@ -564,6 +588,7 @@ + ucontext_t* uc = (ucontext_t*)context; + + st->print_cr("Registers:"); ++#if defined(__GLIBC__) || defined(__UCLIBC__) + st->print("pc =" INTPTR_FORMAT " ", uc->uc_mcontext.regs->nip); + st->print("lr =" INTPTR_FORMAT " ", uc->uc_mcontext.regs->link); + st->print("ctr=" INTPTR_FORMAT " ", uc->uc_mcontext.regs->ctr); +@@ -572,8 +597,18 @@ + st->print("r%-2d=" INTPTR_FORMAT " ", i, uc->uc_mcontext.regs->gpr[i]); + if (i % 3 == 2) st->cr(); + } ++#else // Musl ++ st->print("pc =" INTPTR_FORMAT " ", uc->uc_mcontext.gp_regs[32]); ++ st->print("lr =" INTPTR_FORMAT " ", uc->uc_mcontext.gp_regs[36]); ++ st->print("ctr=" INTPTR_FORMAT " ", uc->uc_mcontext.gp_regs[35]); + st->cr(); ++ for (int i = 0; i < 32; i++) { ++ st->print("r%-2d=" INTPTR_FORMAT " ", i, uc->uc_mcontext.gp_regs[i]); ++ if (i % 3 == 2) st->cr(); ++ } ++#endif + st->cr(); ++ st->cr(); + + intptr_t *sp = (intptr_t *)os::Linux::ucontext_get_sp(uc); + st->print_cr("Top of Stack: (sp=" PTR_FORMAT ")", p2i(sp)); +@@ -600,7 +635,11 @@ + // this is only for the "general purpose" registers + for (int i = 0; i < 32; i++) { + st->print("r%-2d=", i); ++#if defined(__GLIBC__) || defined(__UCLIBC__) + print_location(st, uc->uc_mcontext.regs->gpr[i]); ++#else // Musl ++ print_location(st, uc->uc_mcontext.gp_regs[i]); ++#endif + } + st->cr(); + } +--- openjdk.orig/hotspot.orig/src/cpu/ppc/vm/macroAssembler_ppc.cpp ++++ openjdk/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp +@@ -1242,7 +1242,11 @@ + // the safepoing polling page. + ucontext_t* uc = (ucontext_t*) ucontext; + // Set polling address. ++#if defined(__GLIBC__) || defined(__UCLIBC__) + address addr = (address)uc->uc_mcontext.regs->gpr[ra] + (ssize_t)ds; ++#else // Musl ++ address addr = (address)uc->uc_mcontext.gp_regs[ra] + (ssize_t)ds; ++#endif + if (polling_address_ptr != NULL) { + *polling_address_ptr = addr; + } +@@ -1263,15 +1267,24 @@ + int rb = inv_rb_field(instruction); + + // look up content of ra and rb in ucontext ++#if defined(__GLIBC__) || defined(__UCLIBC__) + address ra_val=(address)uc->uc_mcontext.regs->gpr[ra]; + long rb_val=(long)uc->uc_mcontext.regs->gpr[rb]; ++#else // Musl ++ address ra_val=(address)uc->uc_mcontext.gp_regs[ra]; ++ long rb_val=(long)uc->uc_mcontext.gp_regs[rb]; ++#endif + return os::is_memory_serialize_page(thread, ra_val+rb_val); + } else if (is_stw(instruction) || is_stwu(instruction)) { + int ra = inv_ra_field(instruction); + int d1 = inv_d1_field(instruction); + + // look up content of ra in ucontext ++#if defined(__GLIBC__) || defined(__UCLIBC__) + address ra_val=(address)uc->uc_mcontext.regs->gpr[ra]; ++#else // Musl ++ address ra_val=(address)uc->uc_mcontext.gp_regs[ra]; ++#endif + return os::is_memory_serialize_page(thread, ra_val+d1); + } else { + return false; +@@ -1334,11 +1347,20 @@ + || (is_stdu(instruction) && rs == 1)) { + int ds = inv_ds_field(instruction); + // return banged address ++#if defined(__GLIBC__) || defined(__UCLIBC__) + return ds+(address)uc->uc_mcontext.regs->gpr[ra]; ++#else // Musl ++ return ds+(address)uc->uc_mcontext.gp_regs[ra]; ++#endif + } else if (is_stdux(instruction) && rs == 1) { + int rb = inv_rb_field(instruction); ++#if defined(__GLIBC__) || defined(__UCLIBC__) + address sp = (address)uc->uc_mcontext.regs->gpr[1]; + long rb_val = (long)uc->uc_mcontext.regs->gpr[rb]; ++#else // Musl ++ address sp = (address)uc->uc_mcontext.gp_regs[1]; ++ long rb_val = (long)uc->uc_mcontext.gp_regs[rb]; ++#endif + return ra != 1 || rb_val >= 0 ? NULL // not a stack bang + : sp + rb_val; // banged address + } diff --git a/user/openjdk8/icedtea-hotspot-musl.patch b/user/openjdk8/icedtea-hotspot-musl.patch new file mode 100644 index 000000000..6cfb3e606 --- /dev/null +++ b/user/openjdk8/icedtea-hotspot-musl.patch @@ -0,0 +1,135 @@ +diff --git icedtea/hotspot/src/os/linux/vm/jvm_linux.cpp icedtea/hotspot/src/os/linux/vm/jvm_linux.cpp +index ba84788..c22281f 100644 +--- openjdk/hotspot/src/os/linux/vm/jvm_linux.cpp ++++ openjdk/hotspot/src/os/linux/vm/jvm_linux.cpp +@@ -154,7 +154,9 @@ struct siglabel siglabels[] = { + #ifdef SIGSTKFLT + "STKFLT", SIGSTKFLT, /* Stack fault. */ + #endif ++#ifdef SIGCLD + "CLD", SIGCLD, /* Same as SIGCHLD (System V). */ ++#endif + "CHLD", SIGCHLD, /* Child status has changed (POSIX). */ + "CONT", SIGCONT, /* Continue (POSIX). */ + "STOP", SIGSTOP, /* Stop, unblockable (POSIX). */ +diff --git icedtea/hotspot/src/os/linux/vm/os_linux.cpp icedtea/hotspot/src/os/linux/vm/os_linux.cpp +index 89ba0ff..e84837a 100644 +--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp ++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp +@@ -94,7 +94,6 @@ + # include <string.h> + # include <syscall.h> + # include <sys/sysinfo.h> +-# include <gnu/libc-version.h> + # include <sys/ipc.h> + # include <sys/shm.h> + # include <link.h> +@@ -530,6 +529,13 @@ void os::Linux::hotspot_sigmask(Thread* thread) { + // detecting pthread library + + void os::Linux::libpthread_init() { ++#if 1 ++ // Hard code musl compatible settings ++ os::Linux::set_glibc_version("glibc 2.9"); ++ os::Linux::set_libpthread_version("NPTL"); ++ os::Linux::set_is_NPTL(); ++ os::Linux::set_is_floating_stack(); ++#else + // Save glibc and pthread version strings. Note that _CS_GNU_LIBC_VERSION + // and _CS_GNU_LIBPTHREAD_VERSION are supported in glibc >= 2.3.2. Use a + // generic name for earlier versions. +@@ -588,6 +594,7 @@ void os::Linux::libpthread_init() { + if (os::Linux::is_NPTL() || os::Linux::supports_variable_stack_size()) { + os::Linux::set_is_floating_stack(); + } ++#endif + } + + ///////////////////////////////////////////////////////////////////////////// +@@ -2834,6 +2841,11 @@ extern "C" JNIEXPORT void numa_warn(int number, char *where, ...) { } + extern "C" JNIEXPORT void numa_error(char *where) { } + extern "C" JNIEXPORT int fork1() { return fork(); } + ++static void *dlvsym(void *handle, const char *name, const char *ver) ++{ ++ return dlsym(handle, name); ++} ++ + // Handle request to load libnuma symbol version 1.1 (API v1). If it fails + // load symbol from base version instead. + void* os::Linux::libnuma_dlsym(void* handle, const char *name) { +diff --git openjdk/hotspot/src/os/linux/vm/os_linux.inline.hpp openjdk/hotspot/src/os/linux/vm/os_linux.inline.hpp +index 10d56d8..b9b2b77 100644 +--- openjdk/hotspot/src/os/linux/vm/os_linux.inline.hpp ++++ openjdk/hotspot/src/os/linux/vm/os_linux.inline.hpp +@@ -33,7 +33,7 @@ + + #include <unistd.h> + #include <sys/socket.h> +-#include <sys/poll.h> ++#include <poll.h> + #include <netdb.h> + + inline void* os::thread_local_storage_at(int index) { +diff --git openjdk/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp openjdk/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp +index d2c10e0..20f657f 100644 +--- openjdk/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp ++++ openjdk/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp +@@ -75,7 +75,7 @@ + # include <pwd.h> + # include <poll.h> + # include <ucontext.h> +-# include <fpu_control.h> ++# include <linux/types.h> /* provides __u64 */ + + #ifdef BUILTIN_SIM + #define REG_SP REG_RSP +diff --git openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp +index 38388cb..2505ba8 100644 +--- openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp ++++ openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp +@@ -72,7 +72,6 @@ + # include <pwd.h> + # include <poll.h> + # include <ucontext.h> +-# include <fpu_control.h> + + #ifdef AMD64 + #define REG_SP REG_RSP +@@ -544,6 +543,9 @@ JVM_handle_linux_signal(int sig, + return true; // Mute compiler + } + ++#define _FPU_GETCW(cw) __asm__ __volatile__ ("fnstcw %0" : "=m" (*&cw)) ++#define _FPU_SETCW(cw) __asm__ __volatile__ ("fldcw %0" : : "m" (*&cw)) ++ + void os::Linux::init_thread_fpu_state(void) { + #ifndef AMD64 + // set fpu to 53 bit precision +diff --git openjdk/hotspot/src/os_cpu/linux_x86/vm/threadLS_linux_x86.hpp openjdk/hotspot/src/os_cpu/linux_x86/vm/threadLS_linux_x86.hpp +index f3f2f26..6b50cfa 100644 +--- openjdk/hotspot/src/os_cpu/linux_x86/vm/threadLS_linux_x86.hpp ++++ openjdk/hotspot/src/os_cpu/linux_x86/vm/threadLS_linux_x86.hpp +@@ -32,7 +32,9 @@ + // map stack pointer to thread pointer - see notes in threadLS_linux_x86.cpp + #define SP_BITLENGTH 32 + #define PAGE_SHIFT 12 ++ #ifndef PAGE_SIZE + #define PAGE_SIZE (1UL << PAGE_SHIFT) ++ #endif + static Thread* _sp_map[1UL << (SP_BITLENGTH - PAGE_SHIFT)]; + + public: +diff --git openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp +index efa0b4e..6df2302 100644 +--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp ++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp +@@ -235,7 +235,7 @@ inline int g_isnan(double f) { return isnand(f); } + #elif defined(__APPLE__) + inline int g_isnan(double f) { return isnan(f); } + #elif defined(LINUX) || defined(_ALLBSD_SOURCE) +-inline int g_isnan(float f) { return isnanf(f); } ++inline int g_isnan(float f) { return isnan(f); } + inline int g_isnan(double f) { return isnan(f); } + #else + #error "missing platform-specific definition here" diff --git a/user/openjdk8/icedtea-hotspot-noagent-musl.patch b/user/openjdk8/icedtea-hotspot-noagent-musl.patch new file mode 100644 index 000000000..25bdb1c5a --- /dev/null +++ b/user/openjdk8/icedtea-hotspot-noagent-musl.patch @@ -0,0 +1,79 @@ +--- openjdk.orig/common/autoconf/configure ++++ openjdk/common/autoconf/configure +@@ -103,7 +103,7 @@ + } + + # Check for local changes +-check_hg_updates ++run_autogen_or_fail + + if test -e $conf_custom_script_dir/generated-configure.sh; then + # Test if open configure is newer than custom configure, if so, custom needs to +--- openjdk.orig/common/autoconf/jdk-options.m4 ++++ openjdk/common/autoconf/jdk-options.m4 +@@ -159,7 +159,7 @@ + AC_SUBST(JVM_VARIANT_ZEROSHARK) + AC_SUBST(JVM_VARIANT_CORE) + +- INCLUDE_SA=true ++ AC_CHECK_HEADER(thread_db.h,INCLUDE_SA=true,INCLUDE_SA=false) + if test "x$JVM_VARIANT_ZERO" = xtrue ; then + INCLUDE_SA=false + fi +--- openjdk.orig/hotspot/make/linux/makefiles/defs.make ++++ openjdk/hotspot/make/linux/makefiles/defs.make +@@ -305,6 +305,9 @@ + + # Serviceability Binaries + # No SA Support for PPC, IA64, ARM or zero ++# or if thread_db.h missing (musl) ++ ++ifneq ($(wildcard /usr/include/thread_db.h),) + ADD_SA_BINARIES/x86 = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \ + $(EXPORT_LIB_DIR)/sa-jdi.jar + ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \ +@@ -322,6 +322,11 @@ + endif + endif + endif ++else ++ADD_SA_BINARIES/x86 = ++ADD_SA_BINARIES/sparc = ++ADD_SA_BINARIES/aarch64 = ++endif + ADD_SA_BINARIES/ppc = + ADD_SA_BINARIES/ia64 = + ADD_SA_BINARIES/arm = +--- openjdk.orig/hotspot/make/linux/makefiles/sa.make ++++ openjdk/hotspot/make/linux/makefiles/sa.make +@@ -59,9 +59,11 @@ + + # if $(AGENT_DIR) does not exist, we don't build SA + # also, we don't build SA on Itanium or zero. ++# check for thread_db.h too (musl does not have it). + + all: +- if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" \ ++ if [ -d $(AGENT_DIR) -a -f /usr/include/thread_db.h \ ++ -a "$(SRCARCH)" != "ia64" \ + -a "$(SRCARCH)" != "zero" ] ; then \ + $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \ + fi +--- openjdk.orig/hotspot/make/linux/makefiles/saproc.make ++++ openjdk/hotspot/make/linux/makefiles/saproc.make +@@ -61,12 +61,15 @@ + + # if $(AGENT_DIR) does not exist, we don't build SA + # also, we don't build SA on Itanium or zero. ++# check for thread_db.h too (musl does not have it). + ++ifneq ($(wildcard /usr/include/thread_db.h),) + ifneq ($(wildcard $(AGENT_DIR)),) + ifneq ($(filter-out ia64 zero,$(SRCARCH)),) + BUILDLIBSAPROC = $(LIBSAPROC) + endif + endif ++endif + + ifneq ($(ALT_SASRCDIR),) + ALT_SAINCDIR=-I$(ALT_SASRCDIR) -DALT_SASRCDIR diff --git a/user/openjdk8/icedtea-jdk-execinfo.patch b/user/openjdk8/icedtea-jdk-execinfo.patch new file mode 100644 index 000000000..e4ae562c5 --- /dev/null +++ b/user/openjdk8/icedtea-jdk-execinfo.patch @@ -0,0 +1,20 @@ +--- openjdk.orig/jdk/src/solaris/native/sun/xawt/XToolkit.c ++++ openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c +@@ -27,7 +27,7 @@ + #include <X11/Xutil.h> + #include <X11/Xos.h> + #include <X11/Xatom.h> +-#ifdef __linux__ ++#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__) + #include <execinfo.h> + #endif + +@@ -689,7 +689,7 @@ + return ret; + } + +-#ifdef __linux__ ++#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__) + void print_stack(void) + { + void *array[10]; diff --git a/user/openjdk8/icedtea-jdk-fix-ipv6-init.patch b/user/openjdk8/icedtea-jdk-fix-ipv6-init.patch new file mode 100644 index 000000000..11f3bf6dd --- /dev/null +++ b/user/openjdk8/icedtea-jdk-fix-ipv6-init.patch @@ -0,0 +1,42 @@ +--- openjdk/jdk/src/solaris/native/java/net/net_util_md.c.orig ++++ openjdk/jdk/src/solaris/native/java/net/net_util_md.c +@@ -561,7 +561,7 @@ + + static struct localinterface *localifs = 0; + static int localifsSize = 0; /* size of array */ +-static int nifs = 0; /* number of entries used in array */ ++static int nifs = -1; /* number of entries used in array */ + + /* not thread safe: make sure called once from one thread */ + +@@ -573,6 +573,10 @@ + int index, x1, x2, x3; + unsigned int u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,ua,ub,uc,ud,ue,uf; + ++ if (nifs >= 0) ++ return ; ++ nifs = 0; ++ + if ((f = fopen("/proc/net/if_inet6", "r")) == NULL) { + return ; + } +@@ -601,7 +605,7 @@ + localifs = (struct localinterface *) realloc ( + localifs, sizeof (struct localinterface)* (localifsSize+5)); + if (localifs == 0) { +- nifs = 0; ++ nifs = -1; + fclose (f); + return; + } +@@ -624,9 +628,7 @@ + static int getLocalScopeID (char *addr) { + struct localinterface *lif; + int i; +- if (localifs == 0) { +- initLocalIfs(); +- } ++ initLocalIfs(); + for (i=0, lif=localifs; i<nifs; i++, lif++) { + if (memcmp (addr, lif->localaddr, 16) == 0) { + return lif->index; diff --git a/user/openjdk8/icedtea-jdk-fix-libjvm-load.patch b/user/openjdk8/icedtea-jdk-fix-libjvm-load.patch new file mode 100644 index 000000000..d0a090ea5 --- /dev/null +++ b/user/openjdk8/icedtea-jdk-fix-libjvm-load.patch @@ -0,0 +1,14 @@ +musl needs LD_LIBRARY_PATH set because when .so is opened with dlopen(/abs/path) +it does not qualify for providing symbols for NEEDED dependency. + +--- openjdk.orig/jdk/src/solaris/bin/java_md_solinux.c ++++ openjdk/jdk/src/solaris/bin/java_md_solinux.c +@@ -291,6 +291,8 @@ + char *dmllp = NULL; + char *p; /* a utility pointer */ + ++ return JNI_TRUE; ++ + #ifdef AIX + /* We always have to set the LIBPATH on AIX because ld doesn't support $ORIGIN. */ + return JNI_TRUE; diff --git a/user/openjdk8/icedtea-jdk-getmntent-buffer.patch b/user/openjdk8/icedtea-jdk-getmntent-buffer.patch new file mode 100644 index 000000000..075a9d423 --- /dev/null +++ b/user/openjdk8/icedtea-jdk-getmntent-buffer.patch @@ -0,0 +1,88 @@ +Give a much bigger buffer to getmntent_r. + +https://bugs.alpinelinux.org/issues/7093 + +diff --git a/openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c b/openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c +index c8500db..d0b85d6 100644 +--- openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c ++++ openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c +@@ -33,6 +33,7 @@ + #include <dlfcn.h> + #include <errno.h> + #include <mntent.h> ++#include <limits.h> + + #include "sun_nio_fs_LinuxNativeDispatcher.h" + +@@ -173,8 +174,8 @@ Java_sun_nio_fs_LinuxNativeDispatcher_getmntent(JNIEnv* env, jclass this, + jlong value, jobject entry) + { + struct mntent ent; +- char buf[1024]; +- int buflen = sizeof(buf); ++ char *buf = NULL; ++ const size_t buflen = PATH_MAX * 4; + struct mntent* m; + FILE* fp = jlong_to_ptr(value); + jsize len; +@@ -183,10 +184,17 @@ Java_sun_nio_fs_LinuxNativeDispatcher_getmntent(JNIEnv* env, jclass this, + char* dir; + char* fstype; + char* options; ++ jint res = -1; + +- m = getmntent_r(fp, &ent, (char*)&buf, buflen); +- if (m == NULL) ++ buf = malloc(buflen); ++ if (buf == NULL) { ++ JNU_ThrowOutOfMemoryError(env, "native heap"); + return -1; ++ } ++ m = getmntent_r(fp, &ent, buf, buflen); ++ if (m == NULL) ++ goto out; ++ + name = m->mnt_fsname; + dir = m->mnt_dir; + fstype = m->mnt_type; +@@ -195,32 +203,35 @@ Java_sun_nio_fs_LinuxNativeDispatcher_getmntent(JNIEnv* env, jclass this, + len = strlen(name); + bytes = (*env)->NewByteArray(env, len); + if (bytes == NULL) +- return -1; ++ goto out; + (*env)->SetByteArrayRegion(env, bytes, 0, len, (jbyte*)name); + (*env)->SetObjectField(env, entry, entry_name, bytes); + + len = strlen(dir); + bytes = (*env)->NewByteArray(env, len); + if (bytes == NULL) +- return -1; ++ goto out; + (*env)->SetByteArrayRegion(env, bytes, 0, len, (jbyte*)dir); + (*env)->SetObjectField(env, entry, entry_dir, bytes); + + len = strlen(fstype); + bytes = (*env)->NewByteArray(env, len); + if (bytes == NULL) +- return -1; ++ goto out; + (*env)->SetByteArrayRegion(env, bytes, 0, len, (jbyte*)fstype); + (*env)->SetObjectField(env, entry, entry_fstype, bytes); + + len = strlen(options); + bytes = (*env)->NewByteArray(env, len); + if (bytes == NULL) +- return -1; ++ goto out; + (*env)->SetByteArrayRegion(env, bytes, 0, len, (jbyte*)options); + (*env)->SetObjectField(env, entry, entry_options, bytes); + +- return 0; ++ res = 0; ++out: ++ free(buf); ++ return res; + } + + JNIEXPORT void JNICALL diff --git a/user/openjdk8/icedtea-jdk-includes.patch b/user/openjdk8/icedtea-jdk-includes.patch new file mode 100644 index 000000000..6443a1973 --- /dev/null +++ b/user/openjdk8/icedtea-jdk-includes.patch @@ -0,0 +1,154 @@ +--- openjdk.orig/jdk/src/aix/native/java/net/aix_close.c ++++ openjdk/jdk/src/aix/native/java/net/aix_close.c +@@ -62,7 +62,7 @@ + #include <unistd.h> + #include <errno.h> + +-#include <sys/poll.h> ++#include <poll.h> + + /* + * Stack allocated by thread when doing blocking operation +--- openjdk.orig/jdk/src/aix/native/sun/nio/ch/AixNativeThread.c ++++ openjdk/jdk/src/aix/native/sun/nio/ch/AixNativeThread.c +@@ -32,7 +32,7 @@ + #include "sun_nio_ch_NativeThread.h" + + #include <pthread.h> +-#include <sys/signal.h> ++#include <signal.h> + + /* Also defined in src/aix/native/java/net/aix_close.c */ + #define INTERRUPT_SIGNAL (SIGRTMAX - 1) +--- openjdk.orig/jdk/src/aix/native/sun/nio/ch/AixPollPort.c ++++ openjdk/jdk/src/aix/native/sun/nio/ch/AixPollPort.c +@@ -34,7 +34,7 @@ + #include <unistd.h> + #include <sys/types.h> + #include <sys/socket.h> +-#include <sys/poll.h> ++#include <poll.h> + #include <sys/pollset.h> + #include <fcntl.h> + #include <stddef.h> +--- openjdk.orig/jdk/src/macosx/javavm/export/jvm_md.h ++++ openjdk/jdk/src/macosx/javavm/export/jvm_md.h +@@ -60,7 +60,7 @@ + #include <sys/stat.h> + #include <fcntl.h> + #include <errno.h> +-#include <sys/signal.h> ++#include <signal.h> + + /* O Flags */ + +--- openjdk.orig/jdk/src/solaris/javavm/export/jvm_md.h ++++ openjdk/jdk/src/solaris/javavm/export/jvm_md.h +@@ -65,7 +65,7 @@ + #include <sys/stat.h> + #include <fcntl.h> + #include <errno.h> +-#include <sys/signal.h> ++#include <signal.h> + + /* O Flags */ + +--- openjdk.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c ++++ openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c +@@ -28,7 +28,7 @@ + #include <sys/types.h> + #include <sys/socket.h> + #if defined(__linux__) && !defined(USE_SELECT) +-#include <sys/poll.h> ++#include <poll.h> + #endif + #include <netinet/tcp.h> /* Defines TCP_NODELAY, needed for 2.6 */ + #include <netinet/in.h> +--- openjdk.orig/jdk/src/solaris/native/java/net/bsd_close.c ++++ openjdk/jdk/src/solaris/native/java/net/bsd_close.c +@@ -36,7 +36,7 @@ + #include <sys/uio.h> + #include <unistd.h> + #include <errno.h> +-#include <sys/poll.h> ++#include <poll.h> + + /* + * Stack allocated by thread when doing blocking operation +--- openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c ++++ openjdk/jdk/src/solaris/native/java/net/linux_close.c +@@ -34,7 +34,7 @@ + #include <sys/uio.h> + #include <unistd.h> + #include <errno.h> +-#include <sys/poll.h> ++#include <poll.h> + + /* + * Stack allocated by thread when doing blocking operation +--- openjdk.orig/jdk/src/solaris/native/java/net/net_util_md.h ++++ openjdk/jdk/src/solaris/native/java/net/net_util_md.h +@@ -33,7 +33,7 @@ + #include <unistd.h> + + #ifndef USE_SELECT +-#include <sys/poll.h> ++#include <poll.h> + #endif + + int NET_Timeout(int s, long timeout); +--- openjdk.orig/jdk/src/solaris/native/sun/nio/ch/DevPollArrayWrapper.c ++++ openjdk/jdk/src/solaris/native/sun/nio/ch/DevPollArrayWrapper.c +@@ -28,7 +28,7 @@ + #include "jvm.h" + #include "jlong.h" + #include "sun_nio_ch_DevPollArrayWrapper.h" +-#include <sys/poll.h> ++#include <poll.h> + #include <unistd.h> + #include <sys/time.h> + +--- openjdk.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c ++++ openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c +@@ -34,7 +34,7 @@ + + #ifdef __linux__ + #include <pthread.h> +- #include <sys/signal.h> ++ #include <signal.h> + /* Also defined in net/linux_close.c */ + #define INTERRUPT_SIGNAL (SIGRTMAX - 2) + #elif __solaris__ +--- openjdk.orig/jdk/src/solaris/native/sun/nio/ch/Net.c ++++ openjdk/jdk/src/solaris/native/sun/nio/ch/Net.c +@@ -23,7 +23,7 @@ + * questions. + */ + +-#include <sys/poll.h> ++#include <poll.h> + #include <sys/types.h> + #include <sys/socket.h> + #include <string.h> +--- openjdk.orig/jdk/src/solaris/native/sun/nio/fs/LinuxWatchService.c ++++ openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxWatchService.c +@@ -32,7 +32,7 @@ + #include <dlfcn.h> + #include <sys/types.h> + #include <sys/socket.h> +-#include <sys/poll.h> ++#include <poll.h> + #include <sys/inotify.h> + + #include "sun_nio_fs_LinuxWatchService.h" +--- openjdk.orig/jdk/src/solaris/transport/socket/socket_md.c ++++ openjdk/jdk/src/solaris/transport/socket/socket_md.c +@@ -37,7 +37,7 @@ + #include <thread.h> + #else + #include <pthread.h> +-#include <sys/poll.h> ++#include <poll.h> + #endif + + #include "socket_md.h" diff --git a/user/openjdk8/icedtea-jdk-musl.patch b/user/openjdk8/icedtea-jdk-musl.patch new file mode 100644 index 000000000..97946ba42 --- /dev/null +++ b/user/openjdk8/icedtea-jdk-musl.patch @@ -0,0 +1,105 @@ +diff -ru openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp +--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp 2017-01-25 04:22:03.000000000 +0000 ++++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp 2017-02-06 11:23:47.041165210 +0000 +@@ -46,6 +46,8 @@ + + #include "zip.h" + ++#define uchar unsigned char ++ + #ifdef NO_ZLIB + + inline bool jar::deflate_bytes(bytes& head, bytes& tail) { +diff -ru openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h +--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h 2017-01-25 04:22:03.000000000 +0000 ++++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h 2017-02-06 11:23:47.047832009 +0000 +@@ -23,9 +23,7 @@ + * questions. + */ + +-#define ushort unsigned short +-#define uint unsigned int +-#define uchar unsigned char ++#include <sys/types.h> + + struct unpacker; + +diff -ru openjdk.orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h openjdk/jdk/src/share/native/sun/awt/medialib/mlib_types.h +--- openjdk.orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h 2017-01-25 04:22:03.000000000 +0000 ++++ openjdk/jdk/src/share/native/sun/awt/medialib/mlib_types.h 2017-02-06 11:23:47.047832009 +0000 +@@ -27,6 +27,7 @@ + #ifndef MLIB_TYPES_H + #define MLIB_TYPES_H + ++#include <stddef.h> /* for NULL */ + #include <limits.h> + #if defined(_MSC_VER) + #include <float.h> /* for FLT_MAX and DBL_MAX */ +diff -ru openjdk.orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c +--- openjdk.orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c 2017-01-25 04:22:03.000000000 +0000 ++++ openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c 2017-02-06 11:23:47.047832009 +0000 +@@ -47,7 +47,7 @@ + + #include "java_net_Inet4AddressImpl.h" + +-#if defined(__GLIBC__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 601104)) ++#if defined(__linux__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 601104)) + #define HAS_GLIBC_GETHOSTBY_R 1 + #endif + +diff -ru openjdk.orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c +--- openjdk.orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c 2017-01-25 04:22:03.000000000 +0000 ++++ openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c 2017-02-06 11:23:47.047832009 +0000 +@@ -41,7 +41,6 @@ + #endif + #ifdef __linux__ + #include <unistd.h> +-#include <sys/sysctl.h> + #include <sys/utsname.h> + #include <netinet/ip.h> + +diff -ru openjdk.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c +--- openjdk.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c 2017-01-25 04:22:03.000000000 +0000 ++++ openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c 2017-02-06 11:23:47.047832009 +0000 +@@ -43,7 +43,6 @@ + #endif + #ifdef __linux__ + #include <unistd.h> +-#include <sys/sysctl.h> + #endif + + #include "jvm.h" +diff -ru openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c openjdk/jdk/src/solaris/native/java/net/linux_close.c +--- openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c 2017-01-25 04:22:03.000000000 +0000 ++++ openjdk/jdk/src/solaris/native/java/net/linux_close.c 2017-02-06 11:23:47.047832009 +0000 +@@ -56,7 +56,7 @@ + /* + * Signal to unblock thread + */ +-static int sigWakeup = (__SIGRTMAX - 2); ++static int sigWakeup; + + /* + * The fd table and the number of file descriptors +@@ -95,6 +95,9 @@ + /* + * Setup the signal handler + */ ++#ifndef __AIX ++ sigWakeup = SIGRTMAX - 2; ++#endif + sa.sa_handler = sig_wakeup; + sa.sa_flags = 0; + sigemptyset(&sa.sa_mask); +diff -ru openjdk.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c +--- openjdk.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c 2017-01-25 04:22:03.000000000 +0000 ++++ openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c 2017-02-06 11:23:47.051165409 +0000 +@@ -36,7 +36,7 @@ + #include <pthread.h> + #include <sys/signal.h> + /* Also defined in net/linux_close.c */ +- #define INTERRUPT_SIGNAL (__SIGRTMAX - 2) ++ #define INTERRUPT_SIGNAL (SIGRTMAX - 2) + #elif __solaris__ + #include <thread.h> + #include <signal.h> diff --git a/user/openjdk8/icedtea-jdk-tls-nist-curves.patch b/user/openjdk8/icedtea-jdk-tls-nist-curves.patch new file mode 100644 index 000000000..75fb3af8c --- /dev/null +++ b/user/openjdk8/icedtea-jdk-tls-nist-curves.patch @@ -0,0 +1,47 @@ +Bug #7404 TLS negotiation error in OpenJDK 8 u131 + +Fixes an OpenJDK 8 regression discovered in docker-library/openjdk#115 +on Alpine Linux 3.5 (u121) and 3.6 (u131) that causes TLS negotiation +errors for some clients. + +Root cause appears to be OpenJDK announcing support for NIST curves the +underlying NSS library does doesn't. This patch limits OpenJDK's +announcement to elliptic curves 23 (secp256r1), 24 (secp384r1), and 25 +(secp521r1). + +Related issues: + +* https://github.com/docker-library/openjdk/issues/115 +* https://bugs.alpinelinux.org/issues/7404 +* https://access.redhat.com/discussions/2339811 +* https://bugzilla.redhat.com/show_bug.cgi?id=1022017 +* https://bugzilla.redhat.com/show_bug.cgi?id=1348525 + +--- openjdk.orig/jdk/src/share/classes/sun/security/ssl/EllipticCurvesExtension.java 2017-05-08 20:03:50.000000000 -0700 ++++ openjdk/jdk/src/share/classes/sun/security/ssl/EllipticCurvesExtension.java 2017-06-14 13:37:00.000000000 -0700 +@@ -168,21 +168,10 @@ + "contains no supported elliptic curves"); + } + } else { // default curves +- int[] ids; +- if (requireFips) { +- ids = new int[] { +- // only NIST curves in FIPS mode +- 23, 24, 25, 9, 10, 11, 12, 13, 14, +- }; +- } else { +- ids = new int[] { +- // NIST curves first +- 23, 24, 25, 9, 10, 11, 12, 13, 14, +- // non-NIST curves +- 22, +- }; +- } +- ++ int[] ids = new int[] { ++ // NSS currently only supports these three NIST curves ++ 23, 24, 25 ++ }; + idList = new ArrayList<>(ids.length); + for (int curveId : ids) { + if (isAvailableCurve(curveId)) { diff --git a/user/openjdk8/remove-gawk.patch b/user/openjdk8/remove-gawk.patch new file mode 100644 index 000000000..f0731bab4 --- /dev/null +++ b/user/openjdk8/remove-gawk.patch @@ -0,0 +1,125 @@ +--- icedtea-2.6.16/configure.old 2019-01-01 20:11:07.846602426 +0000 ++++ icedtea-2.6.16/configure 2019-02-27 00:23:41.230000000 +0000 +@@ -6881,108 +6881,7 @@ + LDD="$ac_cv_prog_LDD" + fi + +-if test -n "$ac_tool_prefix"; then +- # Extract the first word of "${ac_tool_prefix}gawk", so it can be a program name with args. +-set dummy ${ac_tool_prefix}gawk; ac_word=$2 +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +-$as_echo_n "checking for $ac_word... " >&6; } +-if ${ac_cv_path_GAWK+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- case $GAWK in +- [\\/]* | ?:[\\/]*) +- ac_cv_path_GAWK="$GAWK" # Let the user override the test with a path. +- ;; +- *) +- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_path_GAWK="$as_dir/$ac_word$ac_exec_ext" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +- done +-IFS=$as_save_IFS +- +- ;; +-esac +-fi +-GAWK=$ac_cv_path_GAWK +-if test -n "$GAWK"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GAWK" >&5 +-$as_echo "$GAWK" >&6; } +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } +-fi +- +- +-fi +-if test -z "$ac_cv_path_GAWK"; then +- ac_pt_GAWK=$GAWK +- # Extract the first word of "gawk", so it can be a program name with args. +-set dummy gawk; ac_word=$2 +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +-$as_echo_n "checking for $ac_word... " >&6; } +-if ${ac_cv_path_ac_pt_GAWK+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- case $ac_pt_GAWK in +- [\\/]* | ?:[\\/]*) +- ac_cv_path_ac_pt_GAWK="$ac_pt_GAWK" # Let the user override the test with a path. +- ;; +- *) +- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_path_ac_pt_GAWK="$as_dir/$ac_word$ac_exec_ext" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +- done +-IFS=$as_save_IFS +- +- ;; +-esac +-fi +-ac_pt_GAWK=$ac_cv_path_ac_pt_GAWK +-if test -n "$ac_pt_GAWK"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_GAWK" >&5 +-$as_echo "$ac_pt_GAWK" >&6; } +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } +-fi +- +- if test "x$ac_pt_GAWK" = x; then +- GAWK="" +- else +- case $cross_compiling:$ac_tool_warned in +-yes:) +-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +-ac_tool_warned=yes ;; +-esac +- GAWK=$ac_pt_GAWK +- fi +-else +- GAWK="$ac_cv_path_GAWK" +-fi +- +- if test x"$GAWK" = x ; then +- as_fn_error $? "The following program was not found on the PATH: gawk" "$LINENO" 5 +- fi +- ++GAWK="$AWK" + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}perl", so it can be a program name with args. +--- icedtea-2.6.16/configure.ac.old 2019-01-01 20:09:39.139994680 +0000 ++++ icedtea-2.6.16/configure.ac 2019-02-27 00:25:01.960000000 +0000 +@@ -39,9 +39,7 @@ + IT_FIND_TOOLS([FASTJAR], [fastjar jar]) + IT_FIND_TOOLS([SED],[gsed sed]) + AC_CHECK_TOOL([LDD], [ldd]) +-dnl OpenJDK's README-builds.html lists gawk as a build dependency so we +-dnl check for it explicitly rather than using AC_PROG_AWK. +-IT_FIND_TOOL([GAWK], [gawk]) ++IT_FIND_TOOL([GAWK], [awk]) + IT_FIND_TOOL([WHICH], [which]) + IT_FIND_TOOL([PERL], [perl]) + diff --git a/user/pcsc-lite/APKBUILD b/user/pcsc-lite/APKBUILD index 3066ad3bc..9746a2d46 100644 --- a/user/pcsc-lite/APKBUILD +++ b/user/pcsc-lite/APKBUILD @@ -2,7 +2,7 @@ # Contributor: Timo Teräs <timo.teras@iki.fi> # Maintainer: pkgname=pcsc-lite -pkgver=1.8.24 +pkgver=1.8.25 pkgrel=0 pkgdesc="Middleware to access a smart card using SCard API (PC/SC)" url="https://pcsclite.apdu.fr/" @@ -64,5 +64,5 @@ dev() { mv "$subpkgdir"/usr/lib/libpcsclite.so "$pkgdir"/usr/lib/libpcsclite.so } -sha512sums="df2e6a7a8179563a6dbf654ab75cf78a4b297b0562214a081d7d2b5d00fd4adf92fd892bd16aacf9d5e2867f3ad46c88a88e5834e311011f37556dd7e8936a0c pcsc-lite-1.8.24.tar.bz2 +sha512sums="0da63cefd70d9524b2afabd62c5f404758c805b84bbe9ef64fb801ef91a8934c38495513022565ea31bd8550b23bc95b9e9b098ddc76930e3d0643c1fbfb5deb pcsc-lite-1.8.25.tar.bz2 6810ab357b5bcf07bf1ad76ed17ebb8e92be4599303a4e697b87a05d43b8d2bec5d3c29d44d8ddb5d031910ea62ca52a9868e6de9a255227eaeb29d1a7ee0041 pcscd.initd" diff --git a/user/perl-cgi/APKBUILD b/user/perl-cgi/APKBUILD index 09fca609f..4135379d6 100644 --- a/user/perl-cgi/APKBUILD +++ b/user/perl-cgi/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> pkgname=perl-cgi -pkgver=4.40 +pkgver=4.42 pkgrel=0 pkgdesc="Handle CGI requests and responses in Perl" url="https://metacpan.org/release/CGI" @@ -31,4 +31,4 @@ package() { find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete } -sha512sums="317cc410d8cc630067759cc05b8643e0c3fe4e55307c437176892a625b88d46443c3e0ff4361e066c54f95c3573e5fa8c21e23069071fa0dc74fc2d93dca13c1 CGI-4.40.tar.gz" +sha512sums="caa5402ffe683b38609aab56fdd1388ddecf97fde449e889cecb9ac6ecbb490a08624ea8b9430d59b46c99133608a79fde6cba584d13ca435a201c741a0b472b CGI-4.42.tar.gz" diff --git a/user/perl-class-inspector/APKBUILD b/user/perl-class-inspector/APKBUILD index 64423c44a..e2255d2ad 100644 --- a/user/perl-class-inspector/APKBUILD +++ b/user/perl-class-inspector/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> pkgname=perl-class-inspector _pkgname=Class-Inspector -pkgver=1.32 +pkgver=1.34 pkgrel=0 pkgdesc="Inspect Perl classes and structures" url="https://metacpan.org/release/Class-Inspector" @@ -31,4 +31,4 @@ package() { find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete } -sha512sums="980654614d968e2fb61df864322f5c5248e352f0697a425539600c3549505f47b857d7856bc9d406ebc8757f8fc379a669f1f5085412f6fa48672c9db8a82df4 Class-Inspector-1.32.tar.gz" +sha512sums="c9f3f3dbc10c45811d0dffca3f31b9579200cd3b5288bb878bf97f38c4c153bb665632e5238ecce55bd3c515200c8d9500d5b1e461a9ea47e5ad011783323a80 Class-Inspector-1.34.tar.gz" diff --git a/user/perl-datetime-locale/APKBUILD b/user/perl-datetime-locale/APKBUILD index a70b6872b..829b21dcf 100644 --- a/user/perl-datetime-locale/APKBUILD +++ b/user/perl-datetime-locale/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> pkgname=perl-datetime-locale _pkgname=DateTime-Locale -pkgver=1.23 +pkgver=1.24 pkgrel=0 pkgdesc="Locale support for Perl DateTime" url="https://metacpan.org/release/DateTime-Locale" @@ -35,4 +35,4 @@ package() { find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete } -sha512sums="4404f6e5301b7623253e788b127fd59fffb1a4b24d97878168d8d9244bafb383424b9664ab78dbafe83bbd6cfa3d4686d4a4375a729c8fad157f36905868c884 DateTime-Locale-1.23.tar.gz" +sha512sums="0510df7e69bc7e50cb301510224cb084bf9d75f072ceb631d7c94ab07a6f7c11b64247c492054c0be3840bf5b13b6981f09426fd0b8e20a48901308cc0b5ffdb DateTime-Locale-1.24.tar.gz" diff --git a/user/perl-datetime-timezone/APKBUILD b/user/perl-datetime-timezone/APKBUILD index 9a1b35e06..cccb8ee11 100644 --- a/user/perl-datetime-timezone/APKBUILD +++ b/user/perl-datetime-timezone/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> pkgname=perl-datetime-timezone _pkgname=DateTime-TimeZone -pkgver=2.23 +pkgver=2.34 pkgrel=0 pkgdesc="Time zone object class and factory for Perl" url="https://metacpan.org/release/DateTime-TimeZone" @@ -33,4 +33,4 @@ package() { find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete } -sha512sums="e2edfde606bea8595df6f6cec9239fe6fe637d2c3ca2eb319da835c71061dab52ae8da0eb67da3d572b371f2e0820a35d681d9876e0c4dc8003e7504bdd41d06 DateTime-TimeZone-2.23.tar.gz" +sha512sums="8525542dfee39f8b889889db310d455b03dd0f270d391a06c337c46d9d457969e365ebf9b8fa42eef71b1dbf2bbd3e25c1ef710f19701a300729bc1816bcaa0c DateTime-TimeZone-2.34.tar.gz" diff --git a/user/perl-json-xs/APKBUILD b/user/perl-json-xs/APKBUILD index 758211fa0..cd09f8f87 100644 --- a/user/perl-json-xs/APKBUILD +++ b/user/perl-json-xs/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Dan Theisen <djt@hxx.in> # Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> pkgname=perl-json-xs -pkgver=4.01 +pkgver=4.02 pkgrel=0 pkgdesc="JSON serialising/deserialising, done correctly and fast" url="https://metacpan.org/pod/JSON::XS" @@ -31,4 +31,4 @@ package() { find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete } -sha512sums="283adfa5b5b0c8e8c0b8d86c92d521695bdc306249be30555cf8f2833b8da7196429c9e1269106a687ef9170051ddd3cbad4f671e97b0fc1e2aa4d73a1a2960f JSON-XS-4.01.tar.gz" +sha512sums="4a8fdf8d81cdd6e38c3c5672621d38ef6f63a09ca3a74e98fbb21e679273c347d2a3b8c2233c8e813987d2728081fb535223ea3f705d33a7016b76d0e76ffd61 JSON-XS-4.02.tar.gz" diff --git a/user/perl-lib-relative/APKBUILD b/user/perl-lib-relative/APKBUILD index daeb17687..b717ab88f 100644 --- a/user/perl-lib-relative/APKBUILD +++ b/user/perl-lib-relative/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> pkgname=perl-lib-relative -pkgver=0.002 +pkgver=1.000 pkgrel=0 pkgdesc="Add paths relative to the current file to Perl @INC" url="https://metacpan.org/release/lib-relative" @@ -30,4 +30,4 @@ package() { find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete } -sha512sums="ebe552fbc4967dd8615e2a1ecde69000358b3909095c66b557a6dd68c1a4744ca586dc91d2cf1b679a57ef981ec79a4689ba9c3f846393f4f48e528e85c326b0 lib-relative-0.002.tar.gz" +sha512sums="1b4de00abe4ba5190259414123d8cbdde9bf43a525a32d7ef07f7faa3a88ed9d40babbec6f3c49a0a3550c63ffb8cbf79b0c7a6204568549d30145bbd02f8a55 lib-relative-1.000.tar.gz" diff --git a/user/perl-sub-quote/APKBUILD b/user/perl-sub-quote/APKBUILD index 778b7f793..d8f15cd71 100644 --- a/user/perl-sub-quote/APKBUILD +++ b/user/perl-sub-quote/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Dan Theisen <djt@hxx.in> # Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> pkgname=perl-sub-quote -pkgver=2.005001 +pkgver=2.006003 pkgrel=0 pkgdesc="Efficient generation of subroutines via string eval" url="https://metacpan.org/release/Sub-Quote" @@ -31,4 +31,4 @@ package() { find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete } -sha512sums="3c32348c8ac6a8831faf75b084a6108657a3cfc0841fda8d8a182c4ca38c88f800bc60a01df07a2010b9a877e120fc46720f17f11092de5e97f40c36854ba24c Sub-Quote-2.005001.tar.gz" +sha512sums="d486556750fa8cf8152f86204ed2156ff33dd4ba467955c3f9621b67b68acb543f953eb1476297a85d3ee2bc9755072491ad9d34c33a496d5ba5828c687f6d83 Sub-Quote-2.006003.tar.gz" diff --git a/user/perl-test-differences/APKBUILD b/user/perl-test-differences/APKBUILD index 56d34bce8..25948de34 100644 --- a/user/perl-test-differences/APKBUILD +++ b/user/perl-test-differences/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Dan Theisen <djt@hxx.in> # Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> pkgname=perl-test-differences -pkgver=0.65 +pkgver=0.67 pkgrel=0 pkgdesc="Test strings and data structures and show differences if not ok" url="https://metacpan.org/pod/Test::Differences" @@ -31,4 +31,4 @@ package() { find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete } -sha512sums="298058b0ca94b865ac84bbed86275e1d2c3f9eadafc70c017d471d39a78a1370112aa63c09ff072621b12b1e6a84e9b456fe05e17d0d2893e2f5fc9946f81b87 Test-Differences-0.65.tar.gz" +sha512sums="72f5e70d5ed953f50e7fff36645612b8e531354a217de5e7780ee76d72c95e1aed1f1f23a1aaf447b2893246d0c8d0452f2946afa820966d85b2c99dcf9b5ed9 Test-Differences-0.67.tar.gz" diff --git a/user/pluma/APKBUILD b/user/pluma/APKBUILD new file mode 100644 index 000000000..4e6d80e39 --- /dev/null +++ b/user/pluma/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=pluma +pkgver=1.22.0 +pkgrel=0 +pkgdesc="Text editor for the MATE desktop environment" +url="https://mate-desktop.org" +arch="all" +options="!check" # tests fail due to schema being requested but not available +license="GPL-2.0+ AND GPL-2.0-only AND LGPL-2.0+" +depends="" +makedepends="gtk+3.0-dev gtksourceview-3.0-dev enchant-dev intltool + itstool iso-codes-dev libpeas-dev libsm-dev libxml2-dev libxml2-utils" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +source="https://pub.mate-desktop.org/releases/${pkgver%.*}/pluma-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="7c74c2ce0a89ec3813c936449d3114957e7b319433875ef567ecc508a28a1d3ddc3d0da418b2eb1278b6dc9dbaa3c75a279524f5a061b5aecb52955edcf28f51 pluma-1.22.0.tar.xz" diff --git a/user/pulseaudio/APKBUILD b/user/pulseaudio/APKBUILD index 9e3f7a565..bacaab731 100644 --- a/user/pulseaudio/APKBUILD +++ b/user/pulseaudio/APKBUILD @@ -9,7 +9,7 @@ url="https://www.freedesktop.org/wiki/Software/PulseAudio" pkgusers="pulse" pkggroups="pulse pulse-access" arch="all" -options="!checkroot" +options="!check" # Complains about permissions in /var/tmp. license="LGPL-2.1+" makedepends="alsa-lib-dev bash bluez-dev check-dev dbus-dev eudev-dev fftw-dev gconf-dev gtk+3.0-dev intltool libcap-dev libsndfile-dev m4 openssl-dev diff --git a/user/py3-pygobject/APKBUILD b/user/py3-pygobject/APKBUILD index 972b0f957..33b068899 100644 --- a/user/py3-pygobject/APKBUILD +++ b/user/py3-pygobject/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=py3-pygobject -pkgver=3.30.4 +pkgver=3.32.0 pkgrel=0 pkgdesc="Python bindings for GObject libraries" url="https://pygobject.readthedocs.io/" @@ -28,4 +28,4 @@ package() { python3 setup.py install --prefix=/usr --root="$pkgdir" } -sha512sums="8c86955033690b199d12e4e853443e4078fc0eb7c2c23599aba1e083b743ae3b6c9e2031c4277c6a1140ac787540639865e743e1504dd15bf160b977b4a8dee5 pygobject-3.30.4.tar.bz2" +sha512sums="c231c8aa19657a3d2eed7f3c707cfb8c55d37dc828d8046a66e0d8c91b98291ee786115bb29f37cf78c9191e2b640828a72940fad1a27989e6e7ef04d508f379 pygobject-3.32.0.tar.bz2" diff --git a/user/py3-six/APKBUILD b/user/py3-six/APKBUILD index b1c4ffadd..94ece5835 100644 --- a/user/py3-six/APKBUILD +++ b/user/py3-six/APKBUILD @@ -2,8 +2,8 @@ # Maintainer: pkgname=py3-six _pkgname=six -pkgver=1.11.0 -pkgrel=1 +pkgver=1.12.0 +pkgrel=0 pkgdesc="Python 2 compatibility library" url="https://pypi.python.org/pypi/six" arch="noarch" @@ -30,4 +30,4 @@ package() { python3 setup.py install --prefix=/usr --root="$pkgdir" } -sha512sums="f301c6e3c159fc87c121a6b860e4a24fa77ca2d23c3beb29201f7ba0ef71188d683d103fd3f44f50bc774a0682183256ac119e20463d389ebe0f481e2c4711f9 py3-six-1.11.0.tar.gz" +sha512sums="67f218ec591411b4a460e4e2744083b7e128440a50d006433cd85a7485b3f4bbf37830bee4cfd3e24194e4873f9ad251a62900e2f5fce7429d647b3df14543c3 py3-six-1.12.0.tar.gz" diff --git a/user/qt5-qtscript/APKBUILD b/user/qt5-qtscript/APKBUILD index 16237b5c6..4f56a9e7d 100644 --- a/user/qt5-qtscript/APKBUILD +++ b/user/qt5-qtscript/APKBUILD @@ -2,14 +2,16 @@ pkgname=qt5-qtscript _pkgname=qtscript-opensource-src pkgver=5.9.7 -pkgrel=0 +pkgrel=1 pkgdesc="Qt 5 - Deprecated scripting framework for Qt applications" url="https://www.qt.io/" arch="all" license="LGPL-2.0 with exceptions OR GPL-3.0 with exceptions" makedepends="qt5-qtbase-dev" subpackages="$pkgname-dev" -source="https://download.qt.io/official_releases/qt/${pkgver%.*}/$pkgver/submodules/$_pkgname-$pkgver.tar.xz" +source="https://download.qt.io/official_releases/qt/${pkgver%.*}/$pkgver/submodules/$_pkgname-$pkgver.tar.xz + gcc8.patch + " builddir="$srcdir"/$_pkgname-$pkgver build() { @@ -28,4 +30,5 @@ package() { make INSTALL_ROOT="$pkgdir" install } -sha512sums="e019d2e7aa29e1183636503822db960d97f1787fa7517f286acbe42645f2c5daa099cc251ac6640e3243dedb4ef64e509f2e22bca798a7e583063e0ac7635662 qtscript-opensource-src-5.9.7.tar.xz" +sha512sums="e019d2e7aa29e1183636503822db960d97f1787fa7517f286acbe42645f2c5daa099cc251ac6640e3243dedb4ef64e509f2e22bca798a7e583063e0ac7635662 qtscript-opensource-src-5.9.7.tar.xz +426174235ab57b14edf58166327372ba215dfce092b9d4cc07686b326c999d4d6348460a75343791de96b6ad7352c393b4a748d0592865e0d78dc119c12657f2 gcc8.patch" diff --git a/user/qt5-qtscript/gcc8.patch b/user/qt5-qtscript/gcc8.patch new file mode 100644 index 000000000..2fb04a708 --- /dev/null +++ b/user/qt5-qtscript/gcc8.patch @@ -0,0 +1,238 @@ +From 97ec1d1882a83c23c91f0f7daea48e05858d8c32 Mon Sep 17 00:00:00 2001 +From: Thiago Macieira <thiago.macieira@intel.com> +Date: Mon, 28 Jan 2019 14:33:12 -0800 +Subject: Fix build with GCC 8.3 + +Qualifiers in the asm statement are not allowed in the global scope. I +thought they were necessary for LTO, but I the commit to this file that +added them predates my work on setting up LTO for GCC. + +Change-Id: Id98140e1c2f0426cabbefffd157e23e5ece67a49 +Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> +--- + .../javascriptcore/JavaScriptCore/jit/JITStubs.cpp | 48 +++++++++++----------- + 1 file changed, 24 insertions(+), 24 deletions(-) + +diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp +index 1abdf8b..9f60761 100644 +--- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp ++++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp +@@ -116,7 +116,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, savedEBX) == 0x3c, JITStackFrame_s + COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x58, JITStackFrame_callFrame_offset_matches_ctiTrampoline); + COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x50, JITStackFrame_code_offset_matches_ctiTrampoline); + +-asm volatile ( ++asm ( + ".text\n" + ".globl " SYMBOL_STRING(ctiTrampoline) "\n" + HIDE_SYMBOL(ctiTrampoline) "\n" +@@ -138,7 +138,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n" + "ret" "\n" + ); + +-asm volatile ( ++asm ( + ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n" + HIDE_SYMBOL(ctiVMThrowTrampoline) "\n" + SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" +@@ -154,7 +154,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" + "ret" "\n" + ); + +-asm volatile ( ++asm ( + ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n" + HIDE_SYMBOL(ctiOpThrowNotCaught) "\n" + SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n" +@@ -179,7 +179,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, savedRBX) == 0x48, JITStackFrame_s + COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x90, JITStackFrame_callFrame_offset_matches_ctiTrampoline); + COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x80, JITStackFrame_code_offset_matches_ctiTrampoline); + +-asm volatile ( ++asm ( + ".globl " SYMBOL_STRING(ctiTrampoline) "\n" + HIDE_SYMBOL(ctiTrampoline) "\n" + SYMBOL_STRING(ctiTrampoline) ":" "\n" +@@ -206,7 +206,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n" + "ret" "\n" + ); + +-asm volatile ( ++asm ( + ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n" + HIDE_SYMBOL(ctiVMThrowTrampoline) "\n" + SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" +@@ -222,7 +222,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" + "ret" "\n" + ); + +-asm volatile ( ++asm ( + ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n" + HIDE_SYMBOL(ctiOpThrowNotCaught) "\n" + SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n" +@@ -242,7 +242,7 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n" + #error "JIT_STUB_ARGUMENT_VA_LIST not supported on ARMv7." + #endif + +-asm volatile ( ++asm ( + ".text" "\n" + ".align 2" "\n" + ".globl " SYMBOL_STRING(ctiTrampoline) "\n" +@@ -269,7 +269,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n" + "bx lr" "\n" + ); + +-asm volatile ( ++asm ( + ".text" "\n" + ".align 2" "\n" + ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n" +@@ -287,7 +287,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" + "bx lr" "\n" + ); + +-asm volatile ( ++asm ( + ".text" "\n" + ".align 2" "\n" + ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n" +@@ -305,7 +305,7 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n" + + #elif COMPILER(GCC) && CPU(ARM_TRADITIONAL) + +-asm volatile ( ++asm ( + ".globl " SYMBOL_STRING(ctiTrampoline) "\n" + HIDE_SYMBOL(ctiTrampoline) "\n" + SYMBOL_STRING(ctiTrampoline) ":" "\n" +@@ -323,7 +323,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n" + "mov pc, lr" "\n" + ); + +-asm volatile ( ++asm ( + ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n" + HIDE_SYMBOL(ctiVMThrowTrampoline) "\n" + SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" +@@ -418,7 +418,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x38, JITStackFrame_ + COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x30, JITStackFrame_code_offset_matches_ctiTrampoline); + COMPILE_ASSERT(offsetof(struct JITStackFrame, savedEBX) == 0x1c, JITStackFrame_stub_argument_space_matches_ctiTrampoline); + +-asm volatile ( ++asm ( + ".text\n" + ".globl " SYMBOL_STRING(ctiTrampoline) "\n" + HIDE_SYMBOL(ctiTrampoline) "\n" +@@ -440,7 +440,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n" + "ret" "\n" + ); + +-asm volatile ( ++asm ( + ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n" + HIDE_SYMBOL(ctiVMThrowTrampoline) "\n" + SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" +@@ -456,7 +456,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" + "ret" "\n" + ); + +-asm volatile ( ++asm ( + ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n" + HIDE_SYMBOL(ctiOpThrowNotCaught) "\n" + SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n" +@@ -480,7 +480,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x58, JITStackFrame_ + COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x48, JITStackFrame_code_offset_matches_ctiTrampoline); + COMPILE_ASSERT(offsetof(struct JITStackFrame, savedRBX) == 0x78, JITStackFrame_stub_argument_space_matches_ctiTrampoline); + +-asm volatile ( ++asm ( + ".text\n" + ".globl " SYMBOL_STRING(ctiTrampoline) "\n" + HIDE_SYMBOL(ctiTrampoline) "\n" +@@ -515,7 +515,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n" + "ret" "\n" + ); + +-asm volatile ( ++asm ( + ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n" + HIDE_SYMBOL(ctiVMThrowTrampoline) "\n" + SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" +@@ -531,7 +531,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" + "ret" "\n" + ); + +-asm volatile ( ++asm ( + ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n" + HIDE_SYMBOL(ctiOpThrowNotCaught) "\n" + SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n" +@@ -551,7 +551,7 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n" + #error "JIT_STUB_ARGUMENT_VA_LIST not supported on ARMv7." + #endif + +-asm volatile ( ++asm ( + ".text" "\n" + ".align 2" "\n" + ".globl " SYMBOL_STRING(ctiTrampoline) "\n" +@@ -578,7 +578,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n" + "bx lr" "\n" + ); + +-asm volatile ( ++asm ( + ".text" "\n" + ".align 2" "\n" + ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n" +@@ -596,7 +596,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" + "bx lr" "\n" + ); + +-asm volatile ( ++asm ( + ".text" "\n" + ".align 2" "\n" + ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n" +@@ -614,7 +614,7 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n" + + #elif COMPILER(GCC) && CPU(ARM_TRADITIONAL) + +-asm volatile ( ++asm ( + ".text\n" + ".globl " SYMBOL_STRING(ctiTrampoline) "\n" + HIDE_SYMBOL(ctiTrampoline) "\n" +@@ -632,7 +632,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n" + "mov pc, lr" "\n" + ); + +-asm volatile ( ++asm ( + ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n" + HIDE_SYMBOL(ctiVMThrowTrampoline) "\n" + SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" +@@ -1024,7 +1024,7 @@ static NEVER_INLINE void throwStackOverflowError(CallFrame* callFrame, JSGlobalD + extern "C" { \ + rtype JITStubThunked_##op(STUB_ARGS_DECLARATION); \ + }; \ +- asm volatile ( \ ++ asm ( \ + ".text" "\n" \ + ".align 2" "\n" \ + ".globl " SYMBOL_STRING(cti_##op) "\n" \ +@@ -1053,7 +1053,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, thunkReturnAddress) == THUNK_RETUR + extern "C" { \ + rtype JITStubThunked_##op(STUB_ARGS_DECLARATION); \ + }; \ +- asm volatile ( \ ++ asm ( \ + ".globl " SYMBOL_STRING(cti_##op) "\n" \ + HIDE_SYMBOL(cti_##op) "\n" \ + SYMBOL_STRING(cti_##op) ":" "\n" \ +-- +cgit v1.2.1 + diff --git a/user/qt5ct/APKBUILD b/user/qt5ct/APKBUILD index faf9c6455..e32542954 100644 --- a/user/qt5ct/APKBUILD +++ b/user/qt5ct/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=qt5ct -pkgver=0.37 +pkgver=0.38 pkgrel=0 pkgdesc="GUI utility for configuring Qt5" url="https://sourceforge.net/projects/qt5ct/" @@ -23,4 +23,4 @@ package() { make INSTALL_ROOT="$pkgdir" install } -sha512sums="685716b2e756ff433f5092cda981ef665ca5a44ad009745f51b38278c3d8eed6939fc52c6cf1f09046ab0a3910261892d7cf5250360874e2d7e4f12bff692da7 qt5ct-0.37.tar.bz2" +sha512sums="0c33beca5103f6c01fceabffea50df5798f055b1e530fc084b294917d8bfa6ea78db72385e8941fe92164c682a069b166c69595e2e06bc62be0595a3718a7323 qt5ct-0.38.tar.bz2" diff --git a/user/sane/APKBUILD b/user/sane/APKBUILD index 1d7322866..1a5e2fc16 100644 --- a/user/sane/APKBUILD +++ b/user/sane/APKBUILD @@ -36,7 +36,7 @@ for _backend in $_backends; do done subpackages="$pkgname-doc $pkgname-dev $subpackages $pkgname-utils saned $pkgname-udev::noarch $_pkgname::noarch" -source="https://distfiles.gentoo.org/distfiles/$_pkgname-$pkgver.tar.gz +source="http://distfiles.gentoo.org/distfiles/$_pkgname-$pkgver.tar.gz saned.initd include.patch network.patch diff --git a/user/sassc/APKBUILD b/user/sassc/APKBUILD index dcda892bb..ee082659f 100644 --- a/user/sassc/APKBUILD +++ b/user/sassc/APKBUILD @@ -4,7 +4,7 @@ pkgname=sassc pkgver=3.5.0 pkgrel=0 pkgdesc="CSS preprocessor and extension language compiler" -url="http://sass-lang.com/" +url="https://sass-lang.com/" arch="all" license="MIT" depends="" diff --git a/user/smake/APKBUILD b/user/smake/APKBUILD deleted file mode 100644 index 809060c9b..000000000 --- a/user/smake/APKBUILD +++ /dev/null @@ -1,35 +0,0 @@ -# Contributor: A. Wilcox <awilfox@adelielinux.org> -# Maintainer: A. Wilcox <awilfox@adelielinux.org> -pkgname=smake -pkgver=1.2.5 -pkgrel=0 -pkgdesc="Highly portable Unix make implementation" -url="https://sourceforge.net/projects/s-make/" -arch="all" -options="!check" # No test suite. -license="CDDL-1.0 AND GPL-2.0-only" -depends="" -makedepends="" -subpackages="$pkgname-doc" -source="https://download.sourceforge.net/s-make/smake-$pkgver.tar.bz2" - -prepare() { - cd "$builddir" - default_prepare - sed -i -e "s|opt/schily|usr|" \ - $(find ./ -type f -name \*.[0-9ch] -exec grep -l 'opt/schily' '{}' '+') -} - -build() { - cd "$builddir" - export MAKEFLAGS="" - make INS_BASE=/usr -} - -package() { - cd "$builddir" - export MAKEFLAGS="" - make INS_BASE=/usr DESTDIR="$pkgdir" install -} - -sha512sums="15131f57942d6ea611602afa1f3d3d3d1892b0e7f0f6e5b1ace7f69f1acb7bd09403b8c70e380204cff75512f5824daef81d59205d758c93f2583b40caa873a8 smake-1.2.5.tar.bz2" diff --git a/user/spice/APKBUILD b/user/spice/APKBUILD index 4ca90937f..2d7e1b52c 100644 --- a/user/spice/APKBUILD +++ b/user/spice/APKBUILD @@ -6,6 +6,7 @@ pkgrel=0 pkgdesc="Solution for seamless access to virtual machines" url="https://www.spice-space.org/" arch="all" +options="!check" # Tests only pass on 64-bit architectures. license="LGPL-2.1+" depends="gst-plugins-base" makedepends="$depends_dev openssl-dev zlib-dev libjpeg-turbo-dev cyrus-sasl-dev diff --git a/user/tigervnc/0002-vncviewer-Ensure-buffer-always-has-0-termination.patch b/user/tigervnc/0002-vncviewer-Ensure-buffer-always-has-0-termination.patch deleted file mode 100644 index 3072ca020..000000000 --- a/user/tigervnc/0002-vncviewer-Ensure-buffer-always-has-0-termination.patch +++ /dev/null @@ -1,50 +0,0 @@ -From f01feaa6d235b40e659bf808ce66acc2b9a93da1 Mon Sep 17 00:00:00 2001 -From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> -Date: Wed, 20 Mar 2019 13:28:36 -0500 -Subject: [PATCH 2/2] vncviewer: Ensure buffer always has \0 termination -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Building from the 1.9.0 tarball using GCC 8.3.0 on Linux yields the following: - -tigervnc-1.9.0/vncviewer/vncviewer.cxx: In function ‘int main(int, char**)’: -tigervnc-1.9.0/vncviewer/vncviewer.cxx:527:14: error: ‘char* strncpy(char*, const char*, size_t)’ specified bound 64 equals destination size [-Werror=stringop-truncation] - strncpy(defaultServerName, configServerName, VNCSERVERNAMELEN); - ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In function ‘void potentiallyLoadConfigurationFile(char*)’, - inlined from ‘int main(int, char**)’ at tigervnc-1.9.0/vncviewer/vncviewer.cxx:557:35: -tigervnc-1.9.0/vncviewer/vncviewer.cxx:396:14: error: ‘char* strncpy(char*, const char*, size_t)’ specified bound 64 equals destination size [-Werror=stringop-truncation] - strncpy(vncServerName, newServerName, VNCSERVERNAMELEN); - ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This commit ensures the buffer always has the null terminator. ---- - vncviewer/vncviewer.cxx | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/vncviewer/vncviewer.cxx b/vncviewer/vncviewer.cxx -index d2fe7e00..8ccfe563 100644 ---- a/vncviewer/vncviewer.cxx -+++ b/vncviewer/vncviewer.cxx -@@ -402,7 +402,7 @@ potentiallyLoadConfigurationFile(char *vncServerName) - newServerName = loadViewerParameters(vncServerName); - // This might be empty, but we still need to clear it so we - // don't try to connect to the filename -- strncpy(vncServerName, newServerName, VNCSERVERNAMELEN); -+ strncpy(vncServerName, newServerName, VNCSERVERNAMELEN-1); - } catch (rfb::Exception& e) { - vlog.error("%s", e.str()); - if (alertOnFatalError) -@@ -533,7 +533,7 @@ int main(int argc, char** argv) - const char* configServerName; - configServerName = loadViewerParameters(NULL); - if (configServerName != NULL) -- strncpy(defaultServerName, configServerName, VNCSERVERNAMELEN); -+ strncpy(defaultServerName, configServerName, VNCSERVERNAMELEN-1); - } catch (rfb::Exception& e) { - vlog.error("%s", e.str()); - if (alertOnFatalError) --- -2.19.2 - diff --git a/user/tigervnc/APKBUILD b/user/tigervnc/APKBUILD index 59da8dae1..1bbfcb8dc 100644 --- a/user/tigervnc/APKBUILD +++ b/user/tigervnc/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=tigervnc pkgver=1.9.0 -pkgrel=2 +pkgrel=3 pkgdesc="High-performance, platform-neutral VNC remote desktop application" url="https://tigervnc.org/" arch="all" @@ -17,7 +17,8 @@ source="tigervnc-$pkgver.tar.gz::https://github.com/TigerVNC/tigervnc/archive/v$ use-intltool.patch endian.patch 0001-CSecurityTLS-Use-size_t-as-argument-for-new.patch - 0002-vncviewer-Ensure-buffer-always-has-0-termination.patch + null-termination.patch + initialise-var.patch " build() { @@ -45,4 +46,5 @@ sha512sums="333910f567e6b5e4a5a22d898b2d4c3f4b834cb4cc8fc13ff55d31401894c0d5122a 5c1cee98b7ba41c7cf121480fdfe16d5ef17c9562ff2ba3ea4e74235161fc63e2e3ed63e788c0aa999610b660b394c1269d6fdcc9716c5563651fd67d723f619 use-intltool.patch 189a51a542b368e4db22174d09f5b656848e94577bbf93b2388f54529f1c7c2d32e5b5283551b3fb067ba21f6464f60989e22d4cd11ed3d87d5c931301555b49 endian.patch f95328f6b669e6608b9971de3db25d5eb26a733fbe32f13291c309ed57eacba6c86461a516c3b8cdc12ff7482ee0249a45189864d473d52df81df0a3541d95b9 0001-CSecurityTLS-Use-size_t-as-argument-for-new.patch -f7282c7c12e51878540be7dd45b9a00ea5d54fa13fe0cfe90f003c1b36f410ce023dfa64c64d1fb3923955c6459d25e1afe7b504651b4e9e8a2f6f9ac9e51b83 0002-vncviewer-Ensure-buffer-always-has-0-termination.patch" +82566734e5288e899048b918ce47f5abc3b94196e88d54fa0b0ef68c20d1fcd9d5854f36a0043d28f81dc6213c9ee8cf55fb187aeeb8add5fc31765f6a5b23bb null-termination.patch +a7fb612d7e3625b66db66ffc7e3f28f2e47f79b858ff1fd9e403576ef2b8ff7bc8cf83a6f67439de6242e4a11a0144119d040f8f9e917e17a8af512b47067360 initialise-var.patch" diff --git a/user/tigervnc/initialise-var.patch b/user/tigervnc/initialise-var.patch new file mode 100644 index 000000000..f58a4dadc --- /dev/null +++ b/user/tigervnc/initialise-var.patch @@ -0,0 +1,24 @@ +From 44cf1d64ecf80c061c0a2b0f0167094e58782102 Mon Sep 17 00:00:00 2001 +From: Pierre Ossman <ossman@cendio.se> +Date: Mon, 25 Mar 2019 16:14:49 +0100 +Subject: [PATCH] Don't use un-initialized stride to base constructor + +We can use a dummy value here as we set up the buffer and stride +further down in the constructor. +--- + vncviewer/PlatformPixelBuffer.cxx | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/vncviewer/PlatformPixelBuffer.cxx b/vncviewer/PlatformPixelBuffer.cxx +index 1e9803eb2..ff1935e74 100644 +--- a/vncviewer/PlatformPixelBuffer.cxx ++++ b/vncviewer/PlatformPixelBuffer.cxx +@@ -36,7 +36,7 @@ static rfb::LogWriter vlog("PlatformPixelBuffer"); + PlatformPixelBuffer::PlatformPixelBuffer(int width, int height) : + FullFramePixelBuffer(rfb::PixelFormat(32, 24, false, true, + 255, 255, 255, 16, 8, 0), +- width, height, 0, stride), ++ width, height, NULL, 0), + Surface(width, height) + #if !defined(WIN32) && !defined(__APPLE__) + , shminfo(NULL), xim(NULL) diff --git a/user/tigervnc/null-termination.patch b/user/tigervnc/null-termination.patch new file mode 100644 index 000000000..e80a4f62d --- /dev/null +++ b/user/tigervnc/null-termination.patch @@ -0,0 +1,39 @@ +From 7240f62ddc06643f982456c05c11d8afe5422069 Mon Sep 17 00:00:00 2001 +From: Pierre Ossman <ossman@cendio.se> +Date: Tue, 26 Mar 2019 11:11:20 +0100 +Subject: [PATCH] Handle server name overflow properly + +We need to make sure it is null terminated on truncation. We also +need to avoid giving a too large size argument or modern gcc will +complain. +--- + vncviewer/vncviewer.cxx | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/vncviewer/vncviewer.cxx b/vncviewer/vncviewer.cxx +index d7cbd6e36..4a8370b95 100644 +--- a/vncviewer/vncviewer.cxx ++++ b/vncviewer/vncviewer.cxx +@@ -411,7 +411,8 @@ potentiallyLoadConfigurationFile(char *vncServerName) + newServerName = loadViewerParameters(vncServerName); + // This might be empty, but we still need to clear it so we + // don't try to connect to the filename +- strncpy(vncServerName, newServerName, VNCSERVERNAMELEN); ++ strncpy(vncServerName, newServerName, VNCSERVERNAMELEN-1); ++ vncServerName[VNCSERVERNAMELEN-1] = '\0'; + } catch (rfb::Exception& e) { + vlog.error("%s", e.str()); + if (alertOnFatalError) +@@ -541,8 +542,10 @@ int main(int argc, char** argv) + try { + const char* configServerName; + configServerName = loadViewerParameters(NULL); +- if (configServerName != NULL) +- strncpy(defaultServerName, configServerName, VNCSERVERNAMELEN); ++ if (configServerName != NULL) { ++ strncpy(defaultServerName, configServerName, VNCSERVERNAMELEN-1); ++ defaultServerName[VNCSERVERNAMELEN-1] = '\0'; ++ } + } catch (rfb::Exception& e) { + vlog.error("%s", e.str()); + if (alertOnFatalError) diff --git a/user/unicode-data/APKBUILD b/user/unicode-data/APKBUILD new file mode 100644 index 000000000..5cbd55565 --- /dev/null +++ b/user/unicode-data/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=unicode-data +pkgver=12.0.0 +pkgrel=0 +pkgdesc="Unicode data files" +url="https://unicode.org" +arch="noarch" +options="!check" # no testsuite +license="Unicode-TOU" +depends="" +makedepends="" +source="https://unicode.org/Public/$pkgver/ucd/Blocks.txt + https://unicode.org/Public/$pkgver/ucd/DerivedAge.txt + https://unicode.org/Public/$pkgver/ucd/NamesList.txt + https://unicode.org/Public/$pkgver/ucd/Scripts.txt + https://unicode.org/Public/$pkgver/ucd/UnicodeData.txt + https://unicode.org/Public/$pkgver/ucd/Unihan.zip + " + +package() { + cd "$srcdir" + mkdir -p "$pkgdir"/usr/share/unicode/$pkgver + install -m644 -t "$pkgdir"/usr/share/unicode/$pkgver \ + Blocks.txt \ + DerivedAge.txt \ + NamesList.txt \ + Scripts.txt \ + UnicodeData.txt \ + Unihan.zip +} + +sha512sums="e3ead1233c29a13d46ffcc4b1c8b685144444579fb9231189f2724d9161adcdba39e9dd468c2d791af32538aa6d3f39f1e3f19c6d73eab432ac006526dc6c3ae Blocks.txt +2cfe840bd5c72a7a47a15123e936cf96677ad66e2caecb7f580b98de83054a17cf49cd26b6470084979bdb3cf8818ea9799dab220108b7bf3a813f65bb1ed86e DerivedAge.txt +de087e89be129928de87ebb9370f95ab9964c491a41f306791884c6d0452407b8530b7d47804cb3f0442e29d4c98d84867c82c90b46f3fbc1a7ee3fb6ce97005 NamesList.txt +d25c87b58df3096d1dc26a81edc01eb1d08c62510b38854683ca91978a2a4df12ca0b29731c8d0211555387da604b5e8da7d5f5a5f9d57052f1bc502ecd2154e Scripts.txt +be1844662041d022c57c2f81b971d395a0ba3a5824de4a5c1c8076ed66955f590a9d624d8abc189a66b7d35ba7fa7d63be727e8bdd9c3dff01251a34f2b84729 UnicodeData.txt +7fdefad078284c14a9105655d1cb4d2b0dc1c89c56effe92ffcbd5a30b325559a56d97574b6077144d7a4ed02df6e6a402a2a5360e4abc0c84bae5c589044375 Unihan.zip" diff --git a/user/unifont/APKBUILD b/user/unifont/APKBUILD index fc71d4326..70182158c 100644 --- a/user/unifont/APKBUILD +++ b/user/unifont/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Breno Leitao <breno.leitao@gmail.com> # Maintainer: pkgname=unifont -pkgver=11.0.03 +pkgver=12.0.01 pkgrel=0 pkgdesc="GNU font package with all Unicode 11 characters" url="http://unifoundry.com/unifont.html" @@ -24,4 +24,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="fd24e48630acb4bac5e3a05aa541c5c93cbdda95ce162f62e05bc860a686f025e67af3c2e577bf96991119b70b2e3a0d1ef170466af3b8037df5a7014d009982 unifont-11.0.03.tar.gz" +sha512sums="e44678acbf696d0529f3c2fe7fe796d3d6908a54b8eaa3f7cd5717d5bebc2698aed7f4e5cde4a954330d8bcaac6a5886839afb854d271ac3a03b460f774215c1 unifont-12.0.01.tar.gz" diff --git a/user/v4l-utils/APKBUILD b/user/v4l-utils/APKBUILD index 389c4f9ad..bf53d6890 100644 --- a/user/v4l-utils/APKBUILD +++ b/user/v4l-utils/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Leonardo Arena <rnalrd@alpinelinux.org> # Maintainer: pkgname=v4l-utils -pkgver=1.16.3 +pkgver=1.16.4 pkgrel=0 pkgdesc="Userspace tools and conversion library for Video 4 Linux" url="https://www.linuxtv.org/wiki/index.php/V4l-utils" @@ -76,7 +76,7 @@ ir_keytable() { "$subpkgdir"/etc } -sha512sums="404672d18d94861c6957ea3a15a6a48f238d3859940810952a5a8cc33b57f1a360d1a19af28405c01b073c0ece90c5995a71dbe6544b30bdb8eace7daeb4bc0b v4l-utils-1.16.3.tar.bz2 +sha512sums="451e3af203b43fcf9fc61e00a236c030c932eabc0b749269277fc42da05464a2b74581255e7d9bbbac35b43ece318b640c3fde8d074c71723a3594a27ee982ff v4l-utils-1.16.4.tar.bz2 bc18280046c15b19984103f7c2bb44a0aea79715803c64f0c64bc932499c09022c956914c3b15ae59499adc09f6fbff5378be45707fe851250f495a26b63d682 qv4l2.svg 6f74aa524b3de420eeb8de788ff3f717020732a3f1f6530caee50e63aae7eddbe5f551ffc50065c9f5d6078c13bace089948ecdcacf01f8b82c1a44960e06315 qv4l2.desktop 9a4f6d0a44d30bb7afe4db8b40074d362f240cae1f1b13feb0eb2b1b666479fc6f73ef27542f6f80fb1b922c9540feadc9ff8563890ff3041d3f7fc62e504e29 getsubopt.patch" diff --git a/user/vala/APKBUILD b/user/vala/APKBUILD index e8bbd399e..8e158fa96 100644 --- a/user/vala/APKBUILD +++ b/user/vala/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=vala -pkgver=0.44.0 +pkgver=0.44.1 pkgrel=0 pkgdesc="Compiler for the Vala programming language" url="https://wiki.gnome.org/Projects/Vala" @@ -30,4 +30,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="1c2e962e849fbf7f3a2be56cca3f26770f6f754f403f7ff7dc8a7ed28bba212d3b704313e02cce86a27432b9b3b918009f59155398ca3be26afc698cc3952b3d vala-0.44.0.tar.xz" +sha512sums="319b97dc5a28fffb5ef6bf2c8bde6b47c72066746fe468f8a1b7e5df978c027853cdef2224c77998f9dc2a418eb1087d1337e3a56ebe3807b744d110618fb6ca vala-0.44.1.tar.xz" diff --git a/user/vte/APKBUILD b/user/vte/APKBUILD index 0808c026e..b952f4959 100644 --- a/user/vte/APKBUILD +++ b/user/vte/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=vte -pkgver=0.54.3 -pkgrel=1 +pkgver=0.56.0 +pkgrel=0 pkgdesc="Virtual terminal emulator library for Gnome" url="https://www.gnome.org" arch="all" @@ -10,9 +10,8 @@ license="LGPL-2.1+ AND GPL-3.0+ AND LGPL-3.0+ AND MIT AND LGPL-2.0+" makedepends="intltool gtk+3.0-dev gnutls-dev zlib-dev pcre2-dev gobject-introspection-dev vala vala-dev libxml2-utils" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" -source="https://download.gnome.org/sources/vte/0.54/vte-$pkgver.tar.xz +source="https://download.gnome.org/sources/vte/${pkgver%.*}/vte-$pkgver.tar.xz exitcode.patch - vala.patch " build() { @@ -34,6 +33,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="dd7d2ac361ed9ac0550599bb3164a3bd6ba95535275c9b559c81ce0af1bbf4b3d150a7489f987b2e626b32d4a8adc82d1ff78e8c8640e5b1c036fe4076c5d8ce vte-0.54.3.tar.xz -4987254439a136f66a7b7be1300f5efbf85db74bdb64fdd8d0c9a555173a172b4fd519174f932e73d58a2618ef37273e82fe681bb129891f2792a414025f6c61 exitcode.patch -6f699507326dcef82ab2eb1b94eb0a21255e90053d27db24c38e0dd1ec389ed7710b8032b4c12374448b59ff5b73852bbdd5ce0f5e5cdd4c84be290c7203aafc vala.patch" +sha512sums="f366ed4a28a896ba919184b50a55ee110eae43127847f34c049684bcb9b81327d1b72e9d871b2a5b7f7fa12f3f4aa721ac3d770770b600dca9c433cb2c674915 vte-0.56.0.tar.xz +4987254439a136f66a7b7be1300f5efbf85db74bdb64fdd8d0c9a555173a172b4fd519174f932e73d58a2618ef37273e82fe681bb129891f2792a414025f6c61 exitcode.patch" diff --git a/user/vte/vala.patch b/user/vte/vala.patch deleted file mode 100644 index fe07dbbf0..000000000 --- a/user/vte/vala.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 53690d5cee51bdb7c3f7680d3c22b316b1086f2c Mon Sep 17 00:00:00 2001 -From: Rico Tzschichholz <ricotz@ubuntu.com> -Date: Sat, 1 Dec 2018 19:04:59 +0100 -Subject: [PATCH] vala: Fix build with vala 0.43+ git master due to empty - struct definition - -This should get a proper refactoring as the FIXME suggests. - -See https://gitlab.gnome.org/GNOME/vte/issues/76 ---- - bindings/vala/app.vala | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/bindings/vala/app.vala b/bindings/vala/app.vala -index 8663d63c..a534e76b 100644 ---- a/bindings/vala/app.vala -+++ b/bindings/vala/app.vala -@@ -819,6 +819,8 @@ class App : Gtk.Application - - public struct Options - { -+ //FIXME Merge this struct into App class -+ public int dummy; - public static bool audible = false; - public static string? command = null; - private static string? cjk_ambiguous_width_string = null; --- -2.18.1 - diff --git a/user/wireguard-module-power8-64k/APKBUILD b/user/wireguard-module-power8-64k/APKBUILD index 0e08c993f..ed1fa1ba3 100644 --- a/user/wireguard-module-power8-64k/APKBUILD +++ b/user/wireguard-module-power8-64k/APKBUILD @@ -3,7 +3,7 @@ # KEEP THIS IN SYNC with the other wireguard-module packages. _kflavour="-power8-64k" _kver="4.14.88-mc13" -pkgver=0.0.20190227 +pkgver=0.0.20190406 pkgrel=0 _pkgname="wireguard-module$_kflavour" pkgname="$_pkgname-$_kver" @@ -29,4 +29,4 @@ package() { make -C src DEPMOD=true KERNELDIR="/usr/src/linux-$_kver$_kflavour" INSTALL_MOD_PATH="$pkgdir" module-install } -sha512sums="0c27353f27d7ae758cab84a02f63863681baa5eab2b64aa494be30c411b4dccc3af030b410dbfb72342fb5ea34be04f2d3b36ad0bb6a418d9f389ac34384eca3 WireGuard-0.0.20190227.tar.xz" +sha512sums="e3035030299f5a6ae3ac0c2e35dc2d54745cda8f31185b21c6590f1ddcc9c7a83bf7b71cc71f6d48ed6dc8f2b31f3c704f8fa85685d4113f4c560f7eba7b7d5e WireGuard-0.0.20190406.tar.xz" diff --git a/user/wireguard-module-power8/APKBUILD b/user/wireguard-module-power8/APKBUILD index 6ea11b28c..260d22029 100644 --- a/user/wireguard-module-power8/APKBUILD +++ b/user/wireguard-module-power8/APKBUILD @@ -3,7 +3,7 @@ # KEEP THIS IN SYNC with the other wireguard-module packages. _kflavour="-power8" _kver="4.14.88-mc13" -pkgver=0.0.20190227 +pkgver=0.0.20190406 pkgrel=0 _pkgname="wireguard-module$_kflavour" pkgname="$_pkgname-$_kver" @@ -29,4 +29,4 @@ package() { make -C src DEPMOD=true KERNELDIR="/usr/src/linux-$_kver$_kflavour" INSTALL_MOD_PATH="$pkgdir" module-install } -sha512sums="0c27353f27d7ae758cab84a02f63863681baa5eab2b64aa494be30c411b4dccc3af030b410dbfb72342fb5ea34be04f2d3b36ad0bb6a418d9f389ac34384eca3 WireGuard-0.0.20190227.tar.xz" +sha512sums="e3035030299f5a6ae3ac0c2e35dc2d54745cda8f31185b21c6590f1ddcc9c7a83bf7b71cc71f6d48ed6dc8f2b31f3c704f8fa85685d4113f4c560f7eba7b7d5e WireGuard-0.0.20190406.tar.xz" diff --git a/user/wireguard-module/APKBUILD b/user/wireguard-module/APKBUILD index b85581303..4bb25ae3e 100644 --- a/user/wireguard-module/APKBUILD +++ b/user/wireguard-module/APKBUILD @@ -3,7 +3,7 @@ # KEEP THIS IN SYNC with the other wireguard-module packages. _kflavour="" _kver="4.14.88-mc13" -pkgver=0.0.20190227 +pkgver=0.0.20190406 pkgrel=0 _pkgname="wireguard-module$_kflavour" pkgname="$_pkgname-$_kver" @@ -29,4 +29,4 @@ package() { make -C src DEPMOD=true KERNELDIR="/usr/src/linux-$_kver$_kflavour" INSTALL_MOD_PATH="$pkgdir" module-install } -sha512sums="0c27353f27d7ae758cab84a02f63863681baa5eab2b64aa494be30c411b4dccc3af030b410dbfb72342fb5ea34be04f2d3b36ad0bb6a418d9f389ac34384eca3 WireGuard-0.0.20190227.tar.xz" +sha512sums="e3035030299f5a6ae3ac0c2e35dc2d54745cda8f31185b21c6590f1ddcc9c7a83bf7b71cc71f6d48ed6dc8f2b31f3c704f8fa85685d4113f4c560f7eba7b7d5e WireGuard-0.0.20190406.tar.xz" diff --git a/user/wireguard-tools/APKBUILD b/user/wireguard-tools/APKBUILD index c14471f7f..493da9d37 100644 --- a/user/wireguard-tools/APKBUILD +++ b/user/wireguard-tools/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Luis Ressel <aranea@aixah.de> pkgname=wireguard-tools _pkgreal=WireGuard -pkgver=0.0.20190227 +pkgver=0.0.20190406 pkgrel=0 pkgdesc="Userland tools for the WireGuard VPN" url="https://www.wireguard.com/" @@ -43,4 +43,4 @@ _patch() { } -sha512sums="0c27353f27d7ae758cab84a02f63863681baa5eab2b64aa494be30c411b4dccc3af030b410dbfb72342fb5ea34be04f2d3b36ad0bb6a418d9f389ac34384eca3 WireGuard-0.0.20190227.tar.xz" +sha512sums="e3035030299f5a6ae3ac0c2e35dc2d54745cda8f31185b21c6590f1ddcc9c7a83bf7b71cc71f6d48ed6dc8f2b31f3c704f8fa85685d4113f4c560f7eba7b7d5e WireGuard-0.0.20190406.tar.xz" diff --git a/user/wpa_supplicant/APKBUILD b/user/wpa_supplicant/APKBUILD index ba297f885..240fb474c 100644 --- a/user/wpa_supplicant/APKBUILD +++ b/user/wpa_supplicant/APKBUILD @@ -8,8 +8,8 @@ url="https://w1.fi/wpa_supplicant/" arch="all" license="BSD-3-Clause AND Public-Domain AND (GPL-2.0+ OR BSD-3-Clause)" options="!check" # No test suite -subpackages="$pkgname-doc $pkgname-openrc wpa_gui" -depends="dbus" +subpackages="$pkgname-dbus::noarch $pkgname-doc $pkgname-openrc wpa_gui" +depends="" makedepends="linux-headers openssl-dev dbus-dev libnl3-dev qt5-qtbase-dev" source="http://w1.fi/releases/$pkgname-$pkgver.tar.gz rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch @@ -72,15 +72,6 @@ package() { done install -Dm755 eapol_test "$pkgdir"/sbin/eapol_test - # dbus - cd dbus - install -d "$pkgdir"/etc/dbus-1/system.d - install -m644 dbus-wpa_supplicant.conf \ - "$pkgdir"/etc/dbus-1/system.d/wpa_supplicant.conf - install -d "$pkgdir"/usr/share/dbus-1/system-services - install fi.epitest.hostap.WPASupplicant.service \ - "$pkgdir"/usr/share/dbus-1/system-services - install -d "$pkgdir"/var/run/wpa_supplicant install -Dm755 "$srcdir"/wpa_supplicant.initd \ "$pkgdir"/etc/init.d/wpa_supplicant install -Dm644 "$srcdir"/wpa_supplicant.confd \ @@ -91,6 +82,20 @@ package() { ln -s ../sbin/wpa_cli "$pkgdir"/bin/wpa_cli } +dbus() { + pkgdesc="$pkgdesc (dbus services)" + depends="$pkgname dbus" + install_if="$pkgname=$pkgver-r$pkgrel dbus" + + cd "$builddir/wpa_supplicant/dbus" + install -d "$subpkgdir"/etc/dbus-1/system.d + install -m644 dbus-wpa_supplicant.conf \ + "$subpkgdir"/etc/dbus-1/system.d/wpa_supplicant.conf + install -d "$subpkgdir"/usr/share/dbus-1/system-services + install fi.epitest.hostap.WPASupplicant.service \ + "$subpkgdir"/usr/share/dbus-1/system-services +} + wpa_gui() { pkgdesc="Graphical User Interface for wpa_supplicant" depends="$pkgname" diff --git a/user/xf86-video-intel/APKBUILD b/user/xf86-video-intel/APKBUILD index d65be06d8..6727ce394 100644 --- a/user/xf86-video-intel/APKBUILD +++ b/user/xf86-video-intel/APKBUILD @@ -14,7 +14,9 @@ depends="mesa-dri-intel" makedepends="xorg-server-dev libxi-dev libdrm-dev mesa-dev libxvmc-dev xcb-util-dev eudev-dev util-macros autoconf automake libtool xorgproto " -source="https://dev.sick.bike/$pkgname-$pkgver.tar.gz" +source="https://dev.sick.bike/$pkgname-$pkgver.tar.gz + pmmx.patch + " giturl="https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel.git" reporev="3d395062ce73f85e8340218df01c2ebf4bc25023" @@ -44,4 +46,5 @@ package() { rm "$pkgdir"/usr/libexec/xf86-video-intel-backlight-helper } -sha512sums="a96e627ed1b3fb6b66f02caaafb0f94967df9a2409158aacc9d8958538ef47bd84176ce71a4785f21944beb764450b1560c6dc59eef435f75959e27704be41f1 xf86-video-intel-2.99.917_git20180803.tar.gz" +sha512sums="a96e627ed1b3fb6b66f02caaafb0f94967df9a2409158aacc9d8958538ef47bd84176ce71a4785f21944beb764450b1560c6dc59eef435f75959e27704be41f1 xf86-video-intel-2.99.917_git20180803.tar.gz +13694f8829ec59773f764817467052d5d4b93b5de16d8cdacc08ced48608b46008414be1f5f118e5f327c401541477c3418f510ada9cfb290a11ac2e5590b0f3 pmmx.patch" diff --git a/user/xf86-video-intel/pmmx.patch b/user/xf86-video-intel/pmmx.patch new file mode 100644 index 000000000..7edddfb96 --- /dev/null +++ b/user/xf86-video-intel/pmmx.patch @@ -0,0 +1,13 @@ +diff --git a/src/sna/compiler.h b/src/sna/compiler.h +index 0f3775ec..c4056913 100644 +--- a/src/sna/compiler.h ++++ b/src/sna/compiler.h +@@ -32,7 +32,7 @@ + #define likely(expr) (__builtin_expect (!!(expr), 1)) + #define unlikely(expr) (__builtin_expect (!!(expr), 0)) + #define noinline __attribute__((noinline)) +-#define force_inline inline __attribute__((always_inline)) ++#define force_inline inline + #define fastcall __attribute__((regparm(3))) + #define must_check __attribute__((warn_unused_result)) + #define constant __attribute__((const)) diff --git a/user/xfce4-screenshooter/APKBUILD b/user/xfce4-screenshooter/APKBUILD index 47e3f889b..9a11eea79 100644 --- a/user/xfce4-screenshooter/APKBUILD +++ b/user/xfce4-screenshooter/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=xfce4-screenshooter -pkgver=1.9.3 +pkgver=1.9.4 pkgrel=0 pkgdesc="Screenshot tool for the XFCE desktop environment" url="https://xfce.org" @@ -10,7 +10,6 @@ license="GPL-2.0+" makedepends="intltool libxfce4ui-dev xfce4-panel-dev libsoup-dev exo-dev" subpackages="$pkgname-doc" source="http://archive.xfce.org/src/apps/xfce4-screenshooter/1.9/xfce4-screenshooter-$pkgver.tar.bz2" -sha512sums="ba59fdca3900143a50b3b858986b1152d4574d302d2e041a5287933427a67f64542ca691c130030937344433ea893a1f082086f9c02a9edccaeedbdc0a2a50a2 xfce4-screenshooter-1.9.3.tar.bz2" build() { cd "$builddir" @@ -34,3 +33,4 @@ package() { make DESTDIR="$pkgdir" install } +sha512sums="9f7240aafe8662cc8a8e105602ba26b31ea212ab4e74f55a4a3c80acf06f0316fe5376430c91a6a0b8e43e85763ca6df6a8af5f64c142c1ca3cce2f8ec3c31f9 xfce4-screenshooter-1.9.4.tar.bz2" diff --git a/user/xfce4-whiskermenu-plugin/APKBUILD b/user/xfce4-whiskermenu-plugin/APKBUILD index 726611224..b562d6126 100644 --- a/user/xfce4-whiskermenu-plugin/APKBUILD +++ b/user/xfce4-whiskermenu-plugin/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=xfce4-whiskermenu-plugin -pkgver=2.3.1 +pkgver=2.3.2 _pkgmaj=${pkgver%.*} pkgrel=0 pkgdesc="Whisker menu plugin for the XFCE panel" @@ -34,4 +34,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="f09a3a496aec5c29e6604657c0eb6dbc1bab731b56b34067dfe2548670dd4837741c55ebbb9f98505c6569effee170936cdd48dd0d79947d50b17f85410a38ea xfce4-whiskermenu-plugin-2.3.1.tar.bz2" +sha512sums="2b9557b29d1b30b5d46df5f182d64562873defd59cd36e6444da4b73bbdf3835cfb17101f11a3ac6e9f875a9dc4d51e2301a420a888bfa1d7fdc6ae715d92443 xfce4-whiskermenu-plugin-2.3.2.tar.bz2" diff --git a/user/xfdesktop/APKBUILD b/user/xfdesktop/APKBUILD index b061e50ff..75dcffed9 100644 --- a/user/xfdesktop/APKBUILD +++ b/user/xfdesktop/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=xfdesktop -pkgver=4.13.2 +pkgver=4.13.3 pkgrel=0 pkgdesc="Desktop manager for the XFCE desktop environment" url="https://xfce.org" @@ -12,7 +12,6 @@ makedepends="intltool gtk+3.0-dev libxfce4util-dev libxfce4ui-dev libwnck-dev subpackages="$pkgname-doc $pkgname-lang" langdir="/usr/lib/locale" source="http://archive.xfce.org/src/xfce/xfdesktop/4.13/xfdesktop-$pkgver.tar.bz2" -sha512sums="0002ed639f8554144d8c921ca5bd9d1c2ed634baa11c98f95685c8a636ae6bdc87f8df19aa138fe4eda591facba964451a10aef6ba303be1fad66013bb06ae13 xfdesktop-4.13.2.tar.bz2" build() { cd "$builddir" @@ -36,3 +35,4 @@ package() { make DESTDIR="$pkgdir" install } +sha512sums="5d828ad653b46ab1edc8300335321bab48e0ad2be1ae02944eff553375a6059513aeb363c73aaec1a6958dd3f1c873920287ad911cfe7b8096b447f1b8165ce3 xfdesktop-4.13.3.tar.bz2" diff --git a/user/xorg-gtest/APKBUILD b/user/xorg-gtest/APKBUILD new file mode 100644 index 000000000..72effff40 --- /dev/null +++ b/user/xorg-gtest/APKBUILD @@ -0,0 +1,48 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=xorg-gtest +pkgver=0.7.1 +pkgrel=0 +pkgdesc="X extensions to googletest" +url="https://gitlab.freedesktop.org/xorg/test/xorg-gtest" +arch="noarch" +options="!check" # tests require X +license="MIT AND BSD-3-Clause" +depends="" +makedepends="libx11-dev libxi-dev util-macros xorg-server-dev xf86-video-dummy" +subpackages="$pkgname-dev" +source="https://gitlab.freedesktop.org/xorg/test/xorg-gtest/-/archive/xorg-gtest-$pkgver/xorg-gtest-xorg-gtest-$pkgver.tar.bz2" +builddir="$srcdir"/$pkgname-$pkgname-$pkgver + +prepare() { + cd "$builddir" + default_prepare + ./autogen.sh +} + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + DESTDIR="$pkgdir" make install + for i in gtest gtest-spi; do + rm "$pkgdir"/usr/include/gtest/"$i".h + done +} + +sha512sums="100746225dd6b24f030893da7b960c2f2562fa9f5d02ee7fca3eb99c40e3ae17d408d5e3c4e99e05e3767984d48648d5a42473a9922d699cf1281290af1eb86c xorg-gtest-xorg-gtest-0.7.1.tar.bz2" diff --git a/user/xsane/APKBUILD b/user/xsane/APKBUILD index 77a83e2d8..05cf220e4 100644 --- a/user/xsane/APKBUILD +++ b/user/xsane/APKBUILD @@ -13,7 +13,7 @@ makedepends="gtk+2.0-dev lcms2-dev libjpeg-turbo-dev libpng-dev sane-dev tiff-dev" subpackages="$pkgname-doc $pkgname-lang" langdir="/usr/lib/locale" -source="https://distfiles.gentoo.org/distfiles/xsane-$pkgver.tar.gz +source="http://distfiles.gentoo.org/distfiles/xsane-$pkgver.tar.gz xsane-0.999-lcms2.patch xsane-0.999-libpng16.patch " diff --git a/user/xscreensaver/APKBUILD b/user/xscreensaver/APKBUILD new file mode 100644 index 000000000..06f648560 --- /dev/null +++ b/user/xscreensaver/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=xscreensaver +pkgver=5.42 +pkgrel=0 +pkgdesc="X Screensaver suite" +url="https://www.jwz.org/xscreensaver/" +arch="all" +options="!check suid" # no tests +license="MIT" +depends="" +makedepends="bc gtk+2.0-dev intltool libglade-dev libice-dev libjpeg-turbo-dev + libx11-dev libxft-dev libxinerama-dev libxml2-dev libxml2-utils + libxrandr-dev libxt-dev linux-pam-dev mesa-dev mesa-glapi" +subpackages="$pkgname-doc $pkgname-lang" +source="https://www.jwz.org/xscreensaver/xscreensaver-$pkgver.tar.gz + xscreensaver-fixes.patch" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +package() { + cd "$builddir" + make install_prefix="$pkgdir" install +} + +sha512sums="84cde9364c933de720acd51a0bf75eb4d0642d60f62b92de89d932233eb5abb51e1edb53cd413b2dc4801a02cb68652a28d7d1f83cdaa8d8cdd1fee7d651eefd xscreensaver-5.42.tar.gz +1df5d3a1456990eb0b2a9efb65fcd26ce576e470a0d6ee268e84e4b399dda930f5ed0960d185e55a7fdab10e5dc42fa2c90060b16443954ec2fce306c8855b54 xscreensaver-fixes.patch" diff --git a/user/xscreensaver/xscreensaver-fixes.patch b/user/xscreensaver/xscreensaver-fixes.patch new file mode 100644 index 000000000..0f5381902 --- /dev/null +++ b/user/xscreensaver/xscreensaver-fixes.patch @@ -0,0 +1,14 @@ +diff -Nurd xscreensaver-5.42/hacks/fontglide.c xscreensaver-5.42.new/hacks/fontglide.c +--- xscreensaver-5.42/hacks/fontglide.c 2018-09-02 17:56:45.000000000 -0500 ++++ xscreensaver-5.42.new/hacks/fontglide.c 2019-03-24 14:09:46.559263834 -0500 +@@ -2421,8 +2421,8 @@ + + textclient_close (s->tc); + +-// if (s->b && s->b != s->window) XFreePixmap (dpy, s->b); +-// if (s->ba && s->ba != s->b) XFreePixmap (dpy, s->ba); ++/* if (s->b && s->b != s->window) XFreePixmap (dpy, s->b); */ ++/* if (s->ba && s->ba != s->b) XFreePixmap (dpy, s->ba); */ + XFreeGC (dpy, s->bg_gc); + if (s->charset) free (s->charset); + if (s->font_override) free (s->font_override); diff --git a/user/zenity/APKBUILD b/user/zenity/APKBUILD new file mode 100644 index 000000000..234508b94 --- /dev/null +++ b/user/zenity/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=zenity +pkgver=3.32.0 +pkgrel=0 +pkgdesc="GTK-based dialog utility" +url="https://gnome.org" +arch="all" +license="GPL-2.0+" +depends="" +makedepends="gtk+3.0-dev itstool libxml2-utils" +subpackages="$pkgname-doc $pkgname-lang" +source="https://download.gnome.org/sources/zenity/${pkgver%.*}/zenity-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="d057df25dbb2d780c6be184ec167b0f569eadf0ac1c460d63509843157f14dfdcebe46bb6f93b17c6069ef0208902ce9ecbb4025933f7dc7572323032ec34fda zenity-3.32.0.tar.xz" |