diff options
Diffstat (limited to 'user')
185 files changed, 8937 insertions, 770 deletions
diff --git a/user/alsa-plugins/APKBUILD b/user/alsa-plugins/APKBUILD new file mode 100644 index 000000000..304b63ab4 --- /dev/null +++ b/user/alsa-plugins/APKBUILD @@ -0,0 +1,58 @@ +# Contributor: Taner Tas <taner76@gmail.com> +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=alsa-plugins +pkgver=1.1.6 +pkgrel=0 +pkgdesc="Advanced Linux Sound Architecture (ALSA) plugins" +url="https://www.alsa-project.org/main/index.php/Main_Page" +arch="all" +options="!check" # No test suite. +license="GPL-2.0+ AND LGPL-2.1+ AND BSD-3-Clause AND MIT" +makedepends="linux-headers alsa-lib-dev speexdsp-dev ffmpeg-dev + libsamplerate-dev pulseaudio-dev" +subpackages="$pkgname-lavcrate $pkgname-pulse $pkgname-a52" +source="ftp://ftp.alsa-project.org/pub/plugins/$pkgname-$pkgver.tar.bz2" + +prepare() { + default_prepare + update_config_sub +} + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" -name '*.la' -type f -delete +} + +lavcrate() { + pkgdesc="FFmpeg samplerate conversion plugins for ALSA" + mkdir -p "$subpkgdir"/usr/lib/alsa-lib/ + mv "$pkgdir"/usr/lib/alsa-lib/*lavcrate* "$subpkgdir"/usr/lib/alsa-lib/ +} + +pulse() { + pkgdesc="PulseAudio support for ALSA-only applications" + mkdir -p "$subpkgdir"/usr/lib/alsa-lib/ + mv "$pkgdir"/usr/lib/alsa-lib/*pulse.so "$subpkgdir"/usr/lib/alsa-lib/ + mv "$pkgdir"/usr/share "$subpkgdir"/usr/ +} + +a52() { + pkgdesc="S16 linear sound format to A52 compressed format for SPDIF output" + mkdir -p "$subpkgdir"/usr/lib/alsa-lib/ + mv "$pkgdir"/usr/lib/alsa-lib/*a52.so "$subpkgdir"/usr/lib/alsa-lib/ +} + +sha512sums="f01633cd7166a2fba4c5b4d5d786b5a2122f6a810f5b5b7209c42033759d116a4515174e7ee57973d5de716be88a246d733dc5a2daf92b72377c274b04db401b alsa-plugins-1.1.6.tar.bz2" diff --git a/user/alsa-utils/APKBUILD b/user/alsa-utils/APKBUILD new file mode 100644 index 000000000..7ecea8193 --- /dev/null +++ b/user/alsa-utils/APKBUILD @@ -0,0 +1,49 @@ +# Contributor: Leonardo Arena <rnalrd@alpinelinux.org> +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=alsa-utils +pkgver=1.1.6 +pkgrel=0 +pkgdesc="Advanced Linux Sound Architecture (ALSA) utilities" +url="https://www.alsa-project.org/main/index.php/Main_Page" +arch="all" +options="!check" # No test suite. +license="GPL-2.0+ AND LGPL-2.0+ AND ISC AND GPL-2.0-only" +makedepends="alsa-lib-dev fftw-dev ncurses-dev pciutils-dev" +depends="bash dialog" +subpackages="$pkgname-doc $pkgname-dbg $pkgname-lang $pkgname-openrc" +replaces="alsaconf" +source="ftp://ftp.alsa-project.org/pub/utils/$pkgname-$pkgver.tar.bz2 + alsaconf.patch + alsa.initd + alsa.confd +" + +prepare() { + default_prepare + update_config_sub +} + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --disable-xmlto + make +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + install -Dm755 ../alsa.initd "$pkgdir"/etc/init.d/alsa + install -Dm644 ../alsa.confd "$pkgdir"/etc/conf.d/alsa +} + +sha512sums="24d0ffaeeccecb3276d7d35ef51e6de6026a63fa5a1a1e4605b024f54d8097717e97ec9d33cfe50830ad17e4a89268ca24b065039b0df7f9fbe02b570617aa58 alsa-utils-1.1.6.tar.bz2 +817215be6e9f103a8a187df5b1142c4d2e952f547a64579a9b8cfa58bd762d6a55bde75c0f66f018c0597744d07ccdb08216f7b368db464e36667cecedcc00f3 alsaconf.patch +8a52e6363d5dcfb16e1e607e1af3e46a2148989689e5ab04caf05f84dc68b34cc003b1cf0945ce2c3670cc7f3ef0e40824f689f1efa2d09177c82b13571a7168 alsa.initd +6e716e6230fd3d2c33e3cb2dbf572d632c9ac6452c1768388bea7d3ca22f7c72cf6bcd702580f45cb9089983582011c8b04cbdb4420d14fb988167b1391ea547 alsa.confd" diff --git a/user/alsa-utils/alsa.confd b/user/alsa-utils/alsa.confd new file mode 100644 index 000000000..d47edb124 --- /dev/null +++ b/user/alsa-utils/alsa.confd @@ -0,0 +1,15 @@ +# RESTORE_ON_START: +# Do you want to restore your mixer settings? If not, your cards will be +# muted. +# no - Do not restore state +# yes - Restore state + +RESTORE_ON_START="yes" + +# SAVE_ON_STOP: +# Do you want to save changes made to your mixer volumes when alsasound +# stops? +# no - Do not save state +# yes - Save state + +SAVE_ON_STOP="yes" diff --git a/user/alsa-utils/alsa.initd b/user/alsa-utils/alsa.initd new file mode 100644 index 000000000..e0a1215cf --- /dev/null +++ b/user/alsa-utils/alsa.initd @@ -0,0 +1,88 @@ +#!/sbin/openrc-run +# $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/files/alsasound.initd-r6,v 1.1 2014/06/23 21:34:42 ssuominen Exp $ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +alsastatedir=/var/lib/alsa +alsascrdir=/etc/alsa.d +alsahomedir=/var/run/alsasound + +extra_commands="save restore" + +depend() { + need localmount + after bootmisc modules isapnp coldplug hotplug +} + +restore() { + ebegin "Restoring Mixer Levels" + + checkpath -q -d -m 0700 -o root:root ${alsahomedir} || return 1 + + if [ ! -r "${alsastatedir}/asound.state" ] ; then + ewarn "No mixer config in ${alsastatedir}/asound.state, you have to unmute your card!" + eend 0 + return 0 + fi + + local cards="$(sed -n -e 's/ *\([[:digit:]]*\) .*/\1/p' /proc/asound/cards)" + local CARDNUM + for cardnum in ${cards}; do + [ -e /dev/snd/controlC${cardnum} ] || sleep 2 + [ -e /dev/snd/controlC${cardnum} ] || sleep 2 + [ -e /dev/snd/controlC${cardnum} ] || sleep 2 + [ -e /dev/snd/controlC${cardnum} ] || sleep 2 + alsactl -E HOME="${alsahomedir}" -I -f "${alsastatedir}/asound.state" restore ${cardnum} \ + || ewarn "Errors while restoring defaults, ignoring" + done + + for ossfile in "${alsastatedir}"/oss/card*_pcm* ; do + [ -e "${ossfile}" ] || continue + # We use cat because I'm not sure if cp works properly on /proc + local procfile=${ossfile##${alsastatedir}/oss} + procfile="$(echo "${procfile}" | sed -e 's,_,/,g')" + if [ -e /proc/asound/"${procfile}"/oss ] ; then + cat "${ossfile}" > /proc/asound/"${procfile}"/oss + fi + done + + eend 0 +} + +save() { + ebegin "Storing ALSA Mixer Levels" + + checkpath -q -d -m 0700 -o root:root ${alsahomedir} || return 1 + + mkdir -p "${alsastatedir}" + if ! alsactl -E HOME="${alsahomedir}" -f "${alsastatedir}/asound.state" store; then + eerror "Error saving levels." + eend 1 + return 1 + fi + + for ossfile in /proc/asound/card*/pcm*/oss; do + [ -e "${ossfile}" ] || continue + local device=${ossfile##/proc/asound/} ; device=${device%%/oss} + device="$(echo "${device}" | sed -e 's,/,_,g')" + mkdir -p "${alsastatedir}/oss/" + cp "${ossfile}" "${alsastatedir}/oss/${device}" + done + + eend 0 +} + +start() { + if [ "${RESTORE_ON_START}" = "yes" ]; then + restore + fi + + return 0 +} + +stop() { + if [ "${SAVE_ON_STOP}" = "yes" ]; then + save + fi + return 0 +} diff --git a/user/alsa-utils/alsaconf.patch b/user/alsa-utils/alsaconf.patch new file mode 100644 index 000000000..a7dec1c9a --- /dev/null +++ b/user/alsa-utils/alsaconf.patch @@ -0,0 +1,12 @@ +diff -Naur alsa-utils-1.0.9a-orig/alsaconf/alsaconf.in alsa-utils-1.0.9a/alsaconf/alsaconf.in +--- alsa-utils-1.0.9a-orig/alsaconf/alsaconf.in 2005-03-24 00:24:52.000000000 -0800 ++++ alsa-utils-1.0.9a/alsaconf/alsaconf.in 2005-07-18 09:25:02.000000000 -0700 +@@ -65,6 +58,8 @@ + distribution="redhat" + elif test -f /etc/fedora-release && grep -q "Fedora" /etc/fedora-release; then + distribution="fedora" ++elif test -f /etc/adelie-release; then ++ distribution="adelie" + elif [ -f /etc/slackware-version -o -f /etc/slamd64-version ]; then + distribution="slackware" + else diff --git a/user/audacious-plugins/APKBUILD b/user/audacious-plugins/APKBUILD index 150efce23..8a4742252 100644 --- a/user/audacious-plugins/APKBUILD +++ b/user/audacious-plugins/APKBUILD @@ -2,8 +2,8 @@ # Contributor: William Pitcock <nenolod@dereferenced.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=audacious-plugins -pkgver=3.9 -pkgrel=2 +pkgver=3.10 +pkgrel=0 pkgdesc="Playlist-oriented media player (plugins)" url="https://audacious-media-player.org/" arch="all" @@ -17,6 +17,7 @@ makedepends="audacious-dev>=${pkgver%.*} libcue-dev libmms-dev libsamplerate-dev libsndfile-dev libxcomposite-dev libnotify-dev libogg-dev libvorbis-dev pulseaudio-dev alsa-lib-dev curl-dev flac-dev lame-dev neon-dev sdl-dev wavpack-dev + faad2-dev fluidsynth-dev qt5-qtmultimedia-dev automake autoconf" subpackages="$pkgname-lang" source="https://distfiles.audacious-media-player.org/$pkgname-$pkgver.tar.bz2" @@ -46,4 +47,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="00c8c53d69995ca1fedb91c7df609cc6c65b13e1af23b98a2fbda143c02ac554cc2c42c01f1c593af252e36bfb85b6324f2daca8632d3b672c69fb4dead2e3fa audacious-plugins-3.9.tar.bz2" +sha512sums="88dd93b5a7f6582ec42cf539d1000de0900cce683f4de85d8a17f57c7ba34545c6277882cad1505cb6682ee7b885ffcd1fe5675f7e24dc3e2a650615789d9d52 audacious-plugins-3.10.tar.bz2" diff --git a/user/audacious/APKBUILD b/user/audacious/APKBUILD index e4a2377c7..de1cc6993 100644 --- a/user/audacious/APKBUILD +++ b/user/audacious/APKBUILD @@ -2,8 +2,8 @@ # Contributor: William Pitcock <nenolod@dereferenced.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=audacious -pkgver=3.9 -pkgrel=2 +pkgver=3.10 +pkgrel=0 pkgdesc="A playlist-oriented media player with multiple interfaces" url="https://audacious-media-player.org/" arch="all" @@ -12,7 +12,9 @@ license="ISC" depends_dev="qt5-qtbase-dev dbus-glib-dev" makedepends="$depends_dev libguess-dev>=1.2 libxml2-dev autoconf automake" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" -source="https://distfiles.audacious-media-player.org/$pkgname-$pkgver.tar.bz2" +source="https://distfiles.audacious-media-player.org/$pkgname-$pkgver.tar.bz2 + qt-crash.patch + " prepare() { default_prepare @@ -38,4 +40,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="d8ef24c91c84bfa80831075cd9a12fc4bf02cec8bc96bcfa5a941254d194cccdc482482b1c015bc63e1142718c2221034c0f3a87e2cb6e4daf3b4cc428328aaa audacious-3.9.tar.bz2" +sha512sums="513d5f9608c1ebeae9cf9bb95128244e990e66c74bf49aff6570ec557d537809f3ebf93c400f5df2708ff61cf04ecc95da183b111f5a757735cef5a68dd9907f audacious-3.10.tar.bz2 +debc016b8a2a1313bdd4a840c103755a52a7e4a5e21970ca82031bac101253f04ade3e81aa648cf5f44b8225da6e1b245f995df6ea43f2ed1f2e757d774205d4 qt-crash.patch" diff --git a/user/audacious/qt-crash.patch b/user/audacious/qt-crash.patch new file mode 100644 index 000000000..4b7d42d3b --- /dev/null +++ b/user/audacious/qt-crash.patch @@ -0,0 +1,43 @@ +From 61471d51503736d868f5978f5b9a1471f3d2c9ce Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> +Date: Thu, 20 Sep 2018 12:36:16 -0500 +Subject: [PATCH] libaudqt: Fix crash when infopopup is being hidden + +Hovering over the track I wanted to listen to showed a tool tip (the +InfoPopup widget); if I moved the mouse in any way after the widget was +displayed, it would immediately crash with a segmentation fault. + +Valgrind showed that this was due to s_infopopup being deleted from an +event that involved it. By switching both `delete` to `deleteLater`, +the crash no longer occurs. + +Closes: #828. +--- + src/libaudqt/infopopup-qt.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/libaudqt/infopopup-qt.cc b/src/libaudqt/infopopup-qt.cc +index fdbba41d2..cad4d16d5 100644 +--- a/src/libaudqt/infopopup-qt.cc ++++ b/src/libaudqt/infopopup-qt.cc +@@ -176,7 +176,7 @@ static InfoPopup * s_infopopup; + + static void infopopup_show (const String & filename, const Tuple & tuple) + { +- delete s_infopopup; ++ if(s_infopopup) s_infopopup->deleteLater(); + s_infopopup = new InfoPopup (filename, tuple); + + QObject::connect (s_infopopup, & QObject::destroyed, [] () { +@@ -206,7 +206,7 @@ EXPORT void infopopup_show_current () + + EXPORT void infopopup_hide () + { +- delete s_infopopup; ++ s_infopopup->deleteLater(); + } + + } // namespace audqt +-- +2.18.0 + diff --git a/user/bind/APKBUILD b/user/bind/APKBUILD index 32ff1b23f..7e0b38e15 100644 --- a/user/bind/APKBUILD +++ b/user/bind/APKBUILD @@ -4,23 +4,27 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Dan Theisen <djt@hxx.in> pkgname=bind -pkgver=9.12.1_p2 +pkgver=9.13.3 _p=${pkgver#*_p} _ver=${pkgver%_p*} _major=${pkgver%%.*} [ "$_p" != "$pkgver" ] && _ver="${_ver}-P$_p" -pkgrel=0 +pkgrel=1 pkgdesc="The ISC DNS server" url="https://www.isc.org/downloads/bind/" arch="all" # NOTE: The tests were not run because they require that # the IP addresses 10.53.0.1 through 10.53.0.8 are configured -# as alias addresses on the loopback interface. +# as alias addresses on the loopback interface. +# To test, run: +# cd $builddir +# sudo bin/tests/system/ifconfig.sh up +# make check options="!check" license="ISC AND Apache-2.0 AND OpenSSL AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause" pkgusers="named" pkggroups="named" -makedepends="bash libressl-dev libcap-dev perl linux-headers bsd-compat-headers libxml2-dev json-c-dev" +makedepends="bash openssl-dev libcap-dev perl linux-headers bsd-compat-headers libxml2-dev json-c-dev" install="$pkgname.pre-install" subpackages="$pkgname-doc $pkgname-dev $pkgname-libs $pkgname-openrc $pkgname-tools" source="https://ftp.isc.org/isc/${pkgname}${_major}/$_ver/$pkgname-$_ver.tar.gz @@ -36,6 +40,11 @@ source="https://ftp.isc.org/isc/${pkgname}${_major}/$_ver/$pkgname-$_ver.tar.gz builddir="$srcdir/$pkgname-$_ver" # secfixes: +# 9.13.3: +# - CVE-2018-5741 +# - CVE-2018-5740 +# 9.13.2: +# - CVE-2018-5738 # 9.12.1_p2-r0: # - CVE-2018-5737 # - CVE-2018-5736 @@ -138,7 +147,7 @@ tools() { done } -sha512sums="de47eef272c437316444c4f585a2f98ae9169fc118fd057464a5cd064bb9079ffc07145dabf388cd240f56a5ad6d3ad78cf8d98fc37609681eba5d87e18a4f9a bind-9.12.1-P2.tar.gz +sha512sums="980f294ef7b75c9a0917212e26300037ad6a33ff3565c099a6bad15350f0738491396a22a40dd552efd7fd25634f82f236abca4f83b4c8a9c580099851dd3c83 bind-9.13.3.tar.gz 7167dccdb2833643dfdb92994373d2cc087e52ba23b51bd68bd322ff9aca6744f01fa9d8a4b9cd8c4ce471755a85c03ec956ec0d8a1d4fae02124ddbed6841f6 bind.so_bsdcompat.patch 196c0a3b43cf89e8e3547d7fb63a93ff9a3306505658dfd9aa78e6861be6b226580b424dd3dd44b955b2d9f682b1dc62c457f3ac29ce86200ef070140608c015 named.initd 127bdcc0b5079961f0951344bc3fad547450c81aee2149eac8c41a8c0c973ea0ffe3f956684c6fcb735a29c43d2ff48c153b6a71a0f15757819a72c492488ddf named.confd diff --git a/user/bsdwhois/APKBUILD b/user/bsdwhois/APKBUILD new file mode 100644 index 000000000..d5222238d --- /dev/null +++ b/user/bsdwhois/APKBUILD @@ -0,0 +1,29 @@ +# Contributor: A. Wilcox <awilfox@adelielinux.org> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=bsdwhois +pkgver=1.43.2.1 +pkgrel=0 +pkgdesc="WHOIS client, allowing you to see details about domain names and IP subnets" +url="https://www.FreeBSD.org/" +arch="all" +options="!check" # No test suite. +license="BSD-4-Clause-UC" +depends="" +makedepends="bsd-compat-headers" +subpackages="$pkgname-doc" +source="http://utenti.gufi.org/~drizzt/codes/bsdwhois-$pkgver.tar.bz2" +builddir="$srcdir/$pkgname" + +build() { + cd "$builddir" + make +} + +package() { + cd "$builddir" + + install -D -m755 "$builddir"/whois "$pkgdir"/usr/bin/whois + install -D -m644 "$builddir"/whois.1 "$pkgdir"/usr/share/man/man1/whois.1 +} + +sha512sums="a69f9768a500ce08daa6cc0105c4d6591e4d33b570fa323166b06286b70ae7cc49cd1f77d04a411f558ea55c43316ffdbe897eb3c83ae331e2e4d9800a8a29d3 bsdwhois-1.43.2.1.tar.bz2" diff --git a/user/bzflag/APKBUILD b/user/bzflag/APKBUILD index dfa85b0bc..23d1a30dd 100644 --- a/user/bzflag/APKBUILD +++ b/user/bzflag/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Dan Theisen <djt@hxx.in> # Maintainer: Dan Theisen <djt@hxx.in> pkgname=bzflag -pkgver=2.4.14 +pkgver=2.4.16 pkgrel=0 pkgdesc="3D networked multi-player multi-platform tank battle game" url="https://www.bzflag.org/" @@ -35,5 +35,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="9a9d4c9fee5b33613691e1b2d4ec4582bd89d8726122d42994933404c9fdeeaf5256ef5d77a56232a1026c2f2689ff342a1e4ff3d6bdd1596f91f0e7fdd1e80d bzflag-2.4.14.tar.bz2 -568e581dd82ca28aa43281a86867408c726ad4f2145f115a5d3535dbc472463c94288e9349ced715004191af0925daff7e3d55fe1db3ab35554352cc703d79b9 defineAddrLen.patch" +sha512sums="809adc39088f3fc8ca0d2ead9c7172cfbe582789bc80b3ac55fabe078a0868f0cf7cfa8027ac696718e9983a19386933fd370684a0bd33e63c3106f2ce8a9d63 bzflag-2.4.16.tar.bz2 +6c7a1873706140b1b0b254d6f8350f47adef8f499a7e7b3418331beda11bdc71e2e0dee74e17d4a955960de66adf90d22796b440e1afa78d328077235e2e3dde defineAddrLen.patch" diff --git a/user/bzflag/defineAddrLen.patch b/user/bzflag/defineAddrLen.patch index b1189dcac..a25eb96c3 100644 --- a/user/bzflag/defineAddrLen.patch +++ b/user/bzflag/defineAddrLen.patch @@ -1,11 +1,11 @@ ---- a/include/network.h 2018-04-23 23:17:50.969874036 -0700 -+++ b/include/network.h 2018-04-23 23:18:37.750554121 -0700 +--- bzflag-2.4.16/include/network.h.old 2018-09-27 19:16:48.015111918 -0700 ++++ bzflag-2.4.16/include/network.h 2018-09-27 19:17:06.195370763 -0700 @@ -57,7 +57,7 @@ # include <bstring.h> #endif -#if defined(BSD) || defined(__sun__) || defined(__GLIBC__) +#if defined(BSD) || defined(__sun__) || defined(__linux__) - # define AddrLen socklen_t + # define AddrLen socklen_t #elif defined (__APPLE__) # include <AvailabilityMacros.h> diff --git a/user/checkbashisms/APKBUILD b/user/checkbashisms/APKBUILD new file mode 100644 index 000000000..c85d7cc54 --- /dev/null +++ b/user/checkbashisms/APKBUILD @@ -0,0 +1,43 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=checkbashisms +pkgver=2.18.4 +pkgrel=0 +pkgdesc="Check shell scripts for POSIX compliance" +url="https://tracker.debian.org/pkg/devscripts" +arch="noarch" +license="GPL-2.0+" +makedepends="" +depends="perl" +checkdepends="shunit2" +subpackages="$pkgname-doc $pkgname-bash-completion:bashcomp:noarch" +source="http://cdn.debian.net/debian/pool/main/d/devscripts/devscripts_$pkgver.tar.xz" +builddir="$srcdir/devscripts-$pkgver" + +prepare() { + default_prepare + sed -i "s/###VERSION###/$pkgver/" "scripts/$pkgname.pl" +} + +check() { + cd "$builddir" + ./test/test_checkbashisms +} + +package() { + cd "$builddir" + install -Dm755 "scripts/$pkgname.pl" "$pkgdir/usr/bin/$pkgname" + install -Dm644 "scripts/$pkgname.1" "$pkgdir/usr/share/man/man1/$pkgname.1" +} + +bashcomp() { + pkgdesc="Bash completions for $pkgname" + depends="" + install_if="$pkgname=$pkgver-r$pkgrel bash-completion" + + cd "$builddir" + install -Dm644 "scripts/$pkgname.bash_completion" \ + "$subpkgdir/usr/share/bash-completion/completions/$pkgname" +} + +sha512sums="91a0ab2fa1f8d884d79f62d5cc8170c885c24af51de321a41f2111fe0fbc0fd8394e5fb3825eeee14d8090968be35761080a40cb55339b09522219d974f63897 devscripts_2.18.4.tar.xz" diff --git a/user/chrony/APKBUILD b/user/chrony/APKBUILD index 494b70946..5f460b632 100644 --- a/user/chrony/APKBUILD +++ b/user/chrony/APKBUILD @@ -3,7 +3,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Dan Theisen <djt@hxx.in> pkgname=chrony -pkgver=3.3 +pkgver=3.4 pkgrel=0 _ver=${pkgver/_/-} pkgdesc="NTP client and server programs" @@ -20,6 +20,7 @@ subpackages="$pkgname-doc $pkgname-openrc" source="https://download.tuxfamily.org/$pkgname/$pkgname-$_ver.tar.gz fix-tests.patch max_resolve_interval.patch + chrony-include-util.patch chronyd.confd chronyd.initd chrony.logrotate @@ -89,9 +90,10 @@ package() { chown -R $pkgusers:$pkggroups "$pkgdir"/var/lib/chrony } -sha512sums="36975d863599141e8e5b071d35cf67326b27f5b0da7ec942dbb4530377d10472b0729eea632e0702718b515cb2d5fd41a7eba158e6dade7f05adfb1bdffa5df0 chrony-3.3.tar.gz +sha512sums="4fbb0311c8d363a87edd6f5d1be3d8554da169f260ba23c1ad9e8c567808258c6fd7513ba630d6fa27453ecfd81f0ece0e26d5ee2f98ca47fbc9887181a36918 chrony-3.4.tar.gz 067d47224a8c075ec8f63ffc58e65b030fdf228a72c4f03d50a2f2c17414da65bb5d27c7c2e4ba99e909f452041db83eaebe3c9e34c0c8fce18e05ebb489735e fix-tests.patch b26581ed32680585edea5b8163a0062a87f648394c0f363c77a7d01a36608fcf4d005d9e6ab179ed2827b8a08f598f7bad4801bb5e135cad5107eb77fb19b247 max_resolve_interval.patch +30f1ed28e0d956c994abd770c68634c7d5c69ded04a2fbfd387bbd8009bc0102ce57934ce41e468fc6b2c7f8fefdab73d97f6d6ff39ec93fffa6575fa1451fbd chrony-include-util.patch 1ebb72341b4421060a43d6db164d743de9144f1c23370e052f0db92a17e5e34f24ac98baddeb5dbfef27f67479142d448c4401d927394e55024760730a27e8de chronyd.confd 9a18c9744d7b78d9b9be3f0ae0b43cb988b294c342764802e0d5df835d450e748584c0b345f7161f14d84e15c8bbd491514ee9dc45e4a65f1276c52124d2e312 chronyd.initd ab38f06bf45888846778ad935e24abb30d13b6805e9a750bc694ff953695fa8c5b33aac560f5f7f96dc46031c1a38660e5c418b6fce6fb34a87908a9a3c99357 chrony.logrotate diff --git a/user/chrony/chrony-include-util.patch b/user/chrony/chrony-include-util.patch new file mode 100644 index 000000000..20b43c187 --- /dev/null +++ b/user/chrony/chrony-include-util.patch @@ -0,0 +1,10 @@ +--- chrony-3.4/hash_intmd5.c.old 2018-09-27 19:29:57.386348229 -0700 ++++ chrony-3.4/hash_intmd5.c 2018-09-27 19:30:07.696494803 -0700 +@@ -29,6 +29,7 @@ + #include "sysincl.h" + #include "hash.h" + #include "memory.h" ++#include "util.h" + + #include "md5.c" + diff --git a/user/clang/0001-Add-support-for-Ad-lie-Linux.patch b/user/clang/0001-Add-support-for-Ad-lie-Linux.patch new file mode 100644 index 000000000..f12adf513 --- /dev/null +++ b/user/clang/0001-Add-support-for-Ad-lie-Linux.patch @@ -0,0 +1,78 @@ +From 085ba75b10376fa55bb94cb6fa6c54526957732f Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> +Date: Thu, 13 Sep 2018 11:42:28 -0500 +Subject: [PATCH] =?UTF-8?q?Add=20support=20for=20Ad=C3=A9lie=20Linux?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +--- + include/clang/Driver/Distro.h | 5 +++++ + lib/Driver/Distro.cpp | 3 +++ + lib/Driver/ToolChains/Linux.cpp | 6 ++++-- + 3 files changed, 12 insertions(+), 2 deletions(-) + +diff --git a/include/clang/Driver/Distro.h b/include/clang/Driver/Distro.h +index 7b34a09256..7a3774a4f1 100644 +--- a/include/clang/Driver/Distro.h ++++ b/include/clang/Driver/Distro.h +@@ -26,6 +26,7 @@ public: + // NB: Releases of a particular Linux distro should be kept together + // in this enum, because some tests are done by integer comparison against + // the first and last known member in the family, e.g. IsRedHat(). ++ AdelieLinux, + AlpineLinux, + ArchLinux, + DebianLenny, +@@ -118,6 +119,10 @@ public: + return DistroVal >= UbuntuHardy && DistroVal <= UbuntuCosmic; + } + ++ bool IsAdelieLinux() const { ++ return DistroVal == AdelieLinux; ++ } ++ + bool IsAlpineLinux() const { + return DistroVal == AlpineLinux; + } +diff --git a/lib/Driver/Distro.cpp b/lib/Driver/Distro.cpp +index 2c4d44faf8..7ef35ab379 100644 +--- a/lib/Driver/Distro.cpp ++++ b/lib/Driver/Distro.cpp +@@ -130,6 +130,9 @@ static Distro::DistroType DetectDistro(vfs::FileSystem &VFS) { + if (VFS.exists("/etc/exherbo-release")) + return Distro::Exherbo; + ++ if (VFS.exists("/etc/adelie-release")) ++ return Distro::AdelieLinux; ++ + if (VFS.exists("/etc/alpine-release")) + return Distro::AlpineLinux; + +diff --git a/lib/Driver/ToolChains/Linux.cpp b/lib/Driver/ToolChains/Linux.cpp +index 2a87cb077c..85bcd8ed47 100644 +--- a/lib/Driver/ToolChains/Linux.cpp ++++ b/lib/Driver/ToolChains/Linux.cpp +@@ -234,7 +234,8 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + ExtraOpts.push_back("now"); + } + +- if (Distro.IsOpenSUSE() || Distro.IsUbuntu() || Distro.IsAlpineLinux()) { ++ if (Distro.IsOpenSUSE() || Distro.IsUbuntu() || Distro.IsAlpineLinux() || ++ Distro.IsAdelieLinux()) { + ExtraOpts.push_back("-z"); + ExtraOpts.push_back("relro"); + } +@@ -268,7 +269,8 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + // Hexagon linker/loader does not support .gnu.hash + if (!IsMips && !IsAndroid && !IsHexagon) { + if (Distro.IsRedhat() || Distro.IsOpenSUSE() || Distro.IsAlpineLinux() || +- (Distro.IsUbuntu() && Distro >= Distro::UbuntuMaverick)) ++ Distro.IsAdelieLinux() || ++ (Distro.IsUbuntu() && Distro >= Distro::UbuntuMaverick)) + ExtraOpts.push_back("--hash-style=gnu"); + + if (Distro.IsDebian() || Distro.IsOpenSUSE() || Distro == Distro::UbuntuLucid || +-- +2.18.0 + diff --git a/user/clang/0008-Fix-ClangConfig-cmake-LLVM-path.patch b/user/clang/0008-Fix-ClangConfig-cmake-LLVM-path.patch new file mode 100644 index 000000000..f1c1c2449 --- /dev/null +++ b/user/clang/0008-Fix-ClangConfig-cmake-LLVM-path.patch @@ -0,0 +1,25 @@ +From: Adeel <adeelbm@outlook.com> +Date: Sun, 6 May 2018 10:22:00 +0200 +Subject: [PATCH] Fix ClangConfig.cmake to look for LLVM-Config.cmake in correct location + +This results in the following change in the generated ClangConfig.cmake: + + find_package(LLVM REQUIRED CONFIG + - HINTS "${CLANG_INSTALL_PREFIX}/lib/cmake/llvm") + + HINTS "/usr/lib/llvm5/lib/cmake/llvm") + +This is needed e.g. for building lldb. + +See https://github.com/alpinelinux/aports/pull/2342 for more information. + +--- a/cmake/modules/CMakeLists.txt ++++ b/cmake/modules/CMakeLists.txt +@@ -39,7 +39,7 @@ foreach(p ${_count}) + get_filename_component(CLANG_INSTALL_PREFIX \"\${CLANG_INSTALL_PREFIX}\" PATH)") + endforeach(p) + set(CLANG_CONFIG_CMAKE_DIR "\${CLANG_INSTALL_PREFIX}/${CLANG_INSTALL_PACKAGE_DIR}") +-set(CLANG_CONFIG_LLVM_CMAKE_DIR "\${CLANG_INSTALL_PREFIX}/${LLVM_INSTALL_PACKAGE_DIR}") ++set(CLANG_CONFIG_LLVM_CMAKE_DIR "${llvm_cmake_builddir}") + set(CLANG_CONFIG_EXPORTS_FILE "\${CLANG_CMAKE_DIR}/ClangTargets.cmake") + set(CLANG_CONFIG_INCLUDE_DIRS + "\${CLANG_INSTALL_PREFIX}/include" diff --git a/user/clang/APKBUILD b/user/clang/APKBUILD new file mode 100644 index 000000000..a95693351 --- /dev/null +++ b/user/clang/APKBUILD @@ -0,0 +1,91 @@ +# Contributor Travis Tilley <ttilley@gmail.com> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=clang +# Note: Update together with llvm. +pkgver=6.0.1 +pkgrel=0 +_llvmver=${pkgver%%.*} +pkgdesc="A C language family front-end for LLVM" +arch="all" +options="!dbg" +url="https://llvm.org/" +license="NCSA" +depends_dev="$pkgname=$pkgver-r$pkgrel" +makedepends="cmake isl-dev libedit-dev libexecinfo-dev libxml2-dev libxml2-utils + llvm-dev>=$_llvmver llvm-static>=$_llvmver llvm-test-utils>=$_llvmver" +subpackages="$pkgname-static $pkgname-dev $pkgname-doc $pkgname-libs + $pkgname-analyzer::noarch" +source="https://llvm.org/releases/$pkgver/cfe-$pkgver.src.tar.xz + 0001-Add-support-for-Ad-lie-Linux.patch + 0008-Fix-ClangConfig-cmake-LLVM-path.patch + use-llvm-lit.patch + secure-plt.patch + " +builddir="$srcdir/cfe-$pkgver.src" + +build() { + mkdir -p "$builddir"/build + cd "$builddir"/build + + cmake .. -Wno-dev \ + -DCMAKE_BUILD_TYPE=MinSizeRel \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_VERBOSE_MAKEFILE=OFF \ + -DCLANG_VENDOR=${DISTRO_SHORT_NAME:-Adélie} \ + -DCLANG_BUILD_EXAMPLES=OFF \ + -DCLANG_INCLUDE_DOCS=ON \ + -DCLANG_INCLUDE_TESTS=ON \ + -DCLANG_PLUGIN_SUPPORT=ON \ + -DLIBCLANG_BUILD_STATIC=ON \ + -DLLVM_ENABLE_EH=ON \ + -DLLVM_ENABLE_RTTI=ON + + make clang-tblgen + # too memory hungry + if [ -z "$JOBS" -o $JOBS -gt 32 ]; then + make -j32 + else + make + fi +} + +check() { + cd "$builddir"/build + [ -f bin/llvm-lit ] || ln -s /usr/bin/lit bin/llvm-lit + make check-clang +} + +package() { + cd "$builddir"/build + + make DESTDIR="$pkgdir" install + install -m 644 lib/libclang.a "$pkgdir"/usr/lib +} + +static() { + pkgdesc="Static libraries for clang" + + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/*.a "$subpkgdir"/usr/lib/ + strip -d "$subpkgdir"/usr/lib/*.a +} + +analyzer() { + pkgdesc="Clang source code analysis framework" + depends="$pkgname=$pkgver-r$pkgrel perl python3" + + cd "$pkgdir" + + mkdir -p "$subpkgdir"/usr/bin \ + "$subpkgdir"/usr/libexec \ + "$subpkgdir"/usr/share/ + mv usr/bin/scan-* "$subpkgdir"/usr/bin/ + mv usr/libexec/*-analyzer "$subpkgdir"/usr/libexec/ + mv usr/share/scan-* "$subpkgdir"/usr/share/ +} + +sha512sums="f64ba9290059f6e36fee41c8f32bf483609d31c291fcd2f77d41fecfdf3c8233a5e23b93a1c73fed03683823bd6e72757ed993dd32527de3d5f2b7a64bb031b9 cfe-6.0.1.src.tar.xz +44aa152d50822a9e1a223b9e07e150ffa830c55deb4c4ca29e6218a0103eb263a00b41fd1ca84390e65fa08005901a0a0f88cf529bff8764220e99d06adef5fc 0001-Add-support-for-Ad-lie-Linux.patch +9485fe4fd6182df543735ed8f4ce618693d0faeafa86d3f9574a6c7abf50978e2d56e0a94be3ed94d515cc937c388d66ceff1bbc9bb120d371b6d3e95340da00 0008-Fix-ClangConfig-cmake-LLVM-path.patch +8a596e7369b5791e7e9c3278320aa5bac30d91f27d9a0df335ea862c359623869353d12145c3b64730f721600522f3acc5abe706428091482e0209e4ff308175 use-llvm-lit.patch +23c3de4f8cbfa115b337ee115b4f95eb1ce3b8c6451de590b0ecf196a4b3bc96ab1d88029edf7f0c51299dffb7b2a05cade9c64c72dba18d858686466bb82bad secure-plt.patch" diff --git a/user/clang/secure-plt.patch b/user/clang/secure-plt.patch new file mode 100644 index 000000000..c1b4cb1de --- /dev/null +++ b/user/clang/secure-plt.patch @@ -0,0 +1,70 @@ +Index: cfe/include/clang/Driver/Options.td +=================================================================== +--- cfe/include/clang/Driver/Options.td ++++ cfe/include/clang/Driver/Options.td +@@ -1957,6 +1957,7 @@ + def mno_altivec : Flag<["-"], "mno-altivec">, Group<m_ppc_Features_Group>; + def mvsx : Flag<["-"], "mvsx">, Group<m_ppc_Features_Group>; + def mno_vsx : Flag<["-"], "mno-vsx">, Group<m_ppc_Features_Group>; ++def msecure_plt : Flag<["-"], "msecure-plt">, Group<m_ppc_Features_Group>; + def mpower8_vector : Flag<["-"], "mpower8-vector">, + Group<m_ppc_Features_Group>; + def mno_power8_vector : Flag<["-"], "mno-power8-vector">, +Index: cfe/lib/Driver/ToolChains/Arch/PPC.h +=================================================================== +--- cfe/lib/Driver/ToolChains/Arch/PPC.h ++++ cfe/lib/Driver/ToolChains/Arch/PPC.h +@@ -29,10 +29,17 @@ + Hard, + }; + ++enum class ReadGOTPtrMode { ++ Bss, ++ SecurePlt, ++}; ++ + FloatABI getPPCFloatABI(const Driver &D, const llvm::opt::ArgList &Args); + + std::string getPPCTargetCPU(const llvm::opt::ArgList &Args); + const char *getPPCAsmModeForCPU(StringRef Name); ++ReadGOTPtrMode getPPCReadGOTPtrMode(const Driver &D, ++ const llvm::opt::ArgList &Args); + + void getPPCTargetFeatures(const Driver &D, const llvm::Triple &Triple, + const llvm::opt::ArgList &Args, +Index: cfe/lib/Driver/ToolChains/Arch/PPC.cpp +=================================================================== +--- cfe/lib/Driver/ToolChains/Arch/PPC.cpp ++++ cfe/lib/Driver/ToolChains/Arch/PPC.cpp +@@ -106,6 +106,16 @@ + ppc::FloatABI FloatABI = ppc::getPPCFloatABI(D, Args); + if (FloatABI == ppc::FloatABI::Soft) + Features.push_back("-hard-float"); ++ ++ ppc::ReadGOTPtrMode ReadGOT = ppc::getPPCReadGOTPtrMode(D, Args); ++ if (ReadGOT == ppc::ReadGOTPtrMode::SecurePlt) ++ Features.push_back("+secure-plt"); ++} ++ ++ppc::ReadGOTPtrMode ppc::getPPCReadGOTPtrMode(const Driver &D, const ArgList &Args) { ++ if (Args.getLastArg(options::OPT_msecure_plt)) ++ return ppc::ReadGOTPtrMode::SecurePlt; ++ return ppc::ReadGOTPtrMode::Bss; + } + + ppc::FloatABI ppc::getPPCFloatABI(const Driver &D, const ArgList &Args) { +Index: cfe/test/Driver/ppc-features.cpp +=================================================================== +--- cfe/test/Driver/ppc-features.cpp ++++ cfe/test/Driver/ppc-features.cpp +@@ -22,6 +22,10 @@ + // RUN: %clang -target powerpc-unknown-linux-gnu %s -msoft-float -mhard-float -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-SOFTHARD %s + // CHECK-SOFTHARD-NOT: "-target-feature" "-hard-float" + ++// check -msecure-plt option for ppc32 ++// RUN: %clang -target powerpc-unknown-linux-gnu -msecure-plt %s -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-SECUREPLT %s ++// CHECK-SECUREPLT: "-target-feature" "+secure-plt" ++ + // check -mfloat-abi=x option + // RUN: %clang -target powerpc-unknown-linux-gnu %s -mfloat-abi=x -### -o %t.o 2>&1 | FileCheck --check-prefix=CHECK-ERRMSG %s + // CHECK-ERRMSG: error: invalid float ABI '-mfloat-abi=x' diff --git a/user/clang/use-llvm-lit.patch b/user/clang/use-llvm-lit.patch new file mode 100644 index 000000000..0cbb84835 --- /dev/null +++ b/user/clang/use-llvm-lit.patch @@ -0,0 +1,11 @@ +--- cfe-6.0.1.src/test/CMakeLists.txt.old 2017-12-12 19:47:40.000000000 +0000 ++++ cfe-6.0.1.src/test/CMakeLists.txt 2018-09-13 17:01:03.690000000 +0000 +@@ -115,7 +115,7 @@ + + add_lit_testsuite(check-clang "Running the Clang regression tests" + ${CMAKE_CURRENT_BINARY_DIR} +- #LIT ${LLVM_LIT} ++ LIT ${LLVM_LIT} + PARAMS ${CLANG_TEST_PARAMS} + DEPENDS ${CLANG_TEST_DEPS} + ARGS ${CLANG_TEST_EXTRA_ARGS} diff --git a/user/cups-filters/APKBUILD b/user/cups-filters/APKBUILD index 4a29feb9c..9e174a77c 100644 --- a/user/cups-filters/APKBUILD +++ b/user/cups-filters/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Max Rees <maxcrees@me.com> pkgname=cups-filters pkgver=1.21.2 -pkgrel=0 +pkgrel=1 pkgdesc="OpenPrinting CUPS filters and backends" url="https://www.linuxfoundation.org/collaborate/workgroups/openprinting/pdf_as_standard_print_job_format" arch="all" diff --git a/user/dhcpcd/APKBUILD b/user/dhcpcd/APKBUILD index 856088ea3..e42405db5 100644 --- a/user/dhcpcd/APKBUILD +++ b/user/dhcpcd/APKBUILD @@ -3,7 +3,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Dan Theisen <djt@hxx.in> pkgname=dhcpcd -pkgver=7.0.6 +pkgver=7.0.8 pkgrel=0 pkgdesc="RFC2131 compliant DHCP client" url="https://roy.marples.name/projects/dhcpcd" @@ -47,6 +47,6 @@ package() { "$pkgdir"/etc/init.d/dhcpcd } -sha512sums="5885739e60d6eb4fded117cb87f59a073ae6e8da8454dee56d8e7c5d33778e413e121d28a22163ebf31e4508a21d3a21c1d17ee6d4551081db2ee8e5384d44c9 dhcpcd-7.0.6.tar.xz +sha512sums="82cd845eb35670788b8f31b973945460f4c5f1a0a3025e3a452b79230dc30704e129d97140e6aec6d0281e0c89c333c0ce0af03c4767b2e5e66547ed3e071953 dhcpcd-7.0.8.tar.xz 1c19eed0f7a008ee96ea392beb327169ff8c83fc27fed20f65f05c9125f60629ebe3474c5e6a7cf4aeeea448fde4264c9b84916efacd67d47ab908c47b1fc3a5 fix-chrony-conf-location.patch e777432c2efc84285b41e63a4687f3bd543f6864218d037529ab78b5ad934de154f28f478bd9facb56628f2953aad8a932bc2eb8b1dfffa0ce2278ffcfc4d880 dhcpcd.initd" diff --git a/user/fluxbox/APKBUILD b/user/fluxbox/APKBUILD new file mode 100644 index 000000000..ca5245921 --- /dev/null +++ b/user/fluxbox/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Dan Theisen <djt@hxx.in> +pkgname=fluxbox +pkgver=1.3.7 +pkgrel=0 +pkgdesc="A lightweight and highly-configurable window manager" +url="http://www.fluxbox.org" +arch="all" +license="MIT" +options="!check" # This package has a broken testsuite +depends="" +makedepends="libxinerama-dev libxpm-dev libxrandr imlib2-dev libxrender-dev + libxrandr-dev libxinerama-dev freetype-dev libxft-dev xorgproto" +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2" + +build() { + cd "$builddir" + # TODO: Enable NLS when we get 'gencat' + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --enable-imlib2 \ + --disable-nls + make +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="c40cc765f5d542210e18dca21b98b97a048c6685b605a68e2c64f4e886329f4e6d3a3a7e76b3ca0ce488242f38d0ee2a4d6dfebc9ce97d37c68f84c3948aac8c fluxbox-1.3.7.tar.bz2" diff --git a/user/freeglut/APKBUILD b/user/freeglut/APKBUILD new file mode 100644 index 000000000..f89c0cac6 --- /dev/null +++ b/user/freeglut/APKBUILD @@ -0,0 +1,33 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: Dan Theisen <djt@hxx.in> +pkgname=freeglut +pkgver=3.0.0 +pkgrel=0 +pkgdesc="free reimplementation of OpenGL Utility Toolkit (GLUT) library" +url="http://freeglut.sourceforge.net/" +arch="all" +options="!check" # No test suite. +license="X11" +depends_dev="mesa-dev libx11-dev libice-dev libxxf86vm-dev libxi-dev glu-dev" +makedepends="$depends_dev cmake" +subpackages="$pkgname-dev $pkgname-doc" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz" + +build() { + cd "$builddir" + cmake . \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DFREEGLUT_BUILD_STATIC_LIBS=0 + make +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + + install -m644 -D COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING +} + +sha512sums="9c45d5b203b26a7ff92331b3e080a48e806c92fbbe7c65d9262dd18c39cd6efdad8a795a80f499a2d23df84b4909dbd7c1bab20d7dd3555d3d88782ce9dd15b0 freeglut-3.0.0.tar.gz" diff --git a/user/fuse3/APKBUILD b/user/fuse3/APKBUILD new file mode 100644 index 000000000..dd03d34e2 --- /dev/null +++ b/user/fuse3/APKBUILD @@ -0,0 +1,77 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=fuse3 +_pkgname=fuse +pkgver=3.2.6 +pkgrel=0 +pkgdesc="The reference implementation of the Linux FUSE (Filesystem in Userspace) interface" +url="https://github.com/libfuse/libfuse" +arch="all" +options="suid !check" # Requires fuse kernel module to be loaded +license="GPL-2.0-only AND LGPL-2.1-only AND BSD-2-Clause" +depends="fuse-common" +makedepends="linux-headers meson eudev-dev python3 py3-six py3-pluggy + py3-attrs py3-py" +#checkdepends="py3-pytest debianutils-which" +subpackages="$pkgname-dev $pkgname-doc + $_pkgname-common:common:noarch $_pkgname-openrc:openrc:noarch" +source="https://github.com/libfuse/libfuse/releases/download/fuse-$pkgver/fuse-$pkgver.tar.xz + fix-realpath.patch + fuse.initd" +builddir="$srcdir/$_pkgname-$pkgver" + +# secfixes: +# 3.2.5-r0: +# - CVE-2018-10906 + +build() { + cd "$builddir" + meson \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --buildtype=release \ + . output + ninja -C output +} + +check() { + cd "$builddir"/output + python3 -m pytest test/ +} + +package() { + cd "$builddir" + DESTDIR="$pkgdir" ninja -C output install + rm -r "$pkgdir"/dev "$pkgdir"/etc/init.d + + install -Dm755 "$srcdir"/fuse.initd "$pkgdir"/etc/init.d/fuse + install -d "$pkgdir"/etc + cat >"$pkgdir"/etc/fuse.conf << EOF +# Set the maximum number of FUSE mounts allowed to non-root users. +# The default is 1000. +# +#mount_max = 1000 + +# Allow non-root users to specify the 'allow_other' or 'allow_root' +# mount options. +# +#user_allow_other +EOF +} + +common() { + pkgdesc="Common files for fuse2 and fuse3" + mkdir -p "$subpkgdir"/etc + mv "$pkgdir"/etc/fuse.conf "$subpkgdir"/etc +} + +openrc() { + default_openrc + install_if="openrc fuse-common=$pkgver-r$pkgrel" +} + +sha512sums="3a1ef77ab4c79a24aad0b259e17f568a30a5faf53ac17eb25d05f30dc7423f0081583f5b3c284ca9196a01885843e97c323a84231272b7e2b55c8e73848a61b8 fuse-3.2.6.tar.xz +1a9e1d1e8a7b0778ffde328e4322c73b5d57ec98d52767c846d755cce861ab27989823a75b6c5f994432ddb77fa351dfa4a8f948c9467c5f7d5f471e4608358b fix-realpath.patch +7f6a503ef23cfa8b809c544375c2d83ad56525269b48ad1a7dff0ce36f4bf2f2a3fafed9dc70a71ff6281b261db5f01829e16c06f041921a5d8c8d715a04a8c1 fuse.initd" diff --git a/user/fuse3/fix-realpath.patch b/user/fuse3/fix-realpath.patch new file mode 100644 index 000000000..375bedc96 --- /dev/null +++ b/user/fuse3/fix-realpath.patch @@ -0,0 +1,28 @@ +--- fuse-3.1.0.orig/util/fusermount.c ++++ fuse-3.1.0/util/fusermount.c +@@ -1200,19 +1200,16 @@ + + origmnt = argv[optind]; + +- drop_privs(); + mnt = fuse_mnt_resolve_path(progname, origmnt); +- if (mnt != NULL) { +- res = chdir("/"); +- if (res == -1) { +- fprintf(stderr, "%s: failed to chdir to '/'\n", progname); +- goto err_out; +- } +- } +- restore_privs(); + if (mnt == NULL) + exit(1); + ++ res = chdir("/"); ++ if (res == -1) { ++ fprintf(stderr, "%s: failed to chdir to '/'\n", progname); ++ exit(1); ++ } ++ + umask(033); + if (unmount) + goto do_unmount; diff --git a/user/fuse3/fuse.initd b/user/fuse3/fuse.initd new file mode 100644 index 000000000..6c99929c2 --- /dev/null +++ b/user/fuse3/fuse.initd @@ -0,0 +1,35 @@ +#!/sbin/openrc-run +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +MOUNTPOINT=/sys/fs/fuse/connections + +depend() { + need localmount +} + +start() { + + ebegin "Starting fuse" + if ! grep -qw fuse /proc/filesystems; then + modprobe fuse >/dev/null 2>&1 || eerror $? "Error loading fuse module" + fi + if grep -qw fusectl /proc/filesystems && \ + ! grep -qw $MOUNTPOINT /proc/mounts; then + mount -t fusectl none $MOUNTPOINT >/dev/null 2>&1 || \ + eerror $? "Error mounting control filesystem" + fi + eend ${?} + +} + +stop() { + + ebegin "Stopping fuse" + if grep -qw $MOUNTPOINT /proc/mounts; then + umount $MOUNTPOINT >/dev/null 2>&1 || \ + eerror $? "Error unmounting control filesystem" + fi + eend ${?} + +} diff --git a/user/gcompat/APKBUILD b/user/gcompat/APKBUILD new file mode 100644 index 000000000..3c18e3891 --- /dev/null +++ b/user/gcompat/APKBUILD @@ -0,0 +1,39 @@ +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=gcompat +pkgver=0.3.0 +pkgrel=0 +pkgdesc="The GNU C Library compatibility layer for musl" +url="https://code.foxkit.us/adelie/gcompat" +arch="all" +options="!check" # No test suite. +license="UoI-NCSA" +depends="" +makedepends="libucontext-dev" +replaces="libc6-compat" +source="https://distfiles.adelielinux.org/source/gcompat/$pkgname-$pkgver.tar.xz + no-utmp.patch + " + +case "$CARCH" in +armel) _ld="ld-linux.so.3" ;; +armhf | armv7) _ld="ld-linux-armhf.so.3" ;; +aarch64) _ld="ld-linux-aarch64.so.1" ;; +x86|pmmx|i528) _ld="ld-linux.so.2" ;; +x86_64) _ld="ld-linux-x86-64.so.2" ;; +mips* | ppc | s390*) _ld="ld.so.1" ;; +ppc64le) _ld="ld64.so.2" ;; +ppc64) _ld="ld64.so.1" ;; +esac + +build() { + cd "$builddir" + make LINKER_PATH="/lib/ld-musl-${CARCH}.so.1" LOADER_NAME="$_ld" WITH_LIBUCONTEXT=YesPlease +} + +package() { + cd "$builddir" + make LINKER_PATH="/lib/ld-musl-${CARCH}.so.1" LOADER_NAME="$_ld" WITH_LIBUCONTEXT=YesPlease DESTDIR="$pkgdir" install +} + +sha512sums="1f7dd73efd556b7e0f7f1c80751185583de24daf4ab235b488ea1ab98cea2d3a94abed341b922be0bd43c8d539a00176b892c78acf09f2adacb279c09648b3be gcompat-0.3.0.tar.xz +34fbf97cfbad2bae219e238f5edcb55425c6d7c9be7dde02aa0e8223dbf163ff20f535539de2232a1ef3c6f47a92eac6e00484af99dc8beb192c761b15389b82 no-utmp.patch" diff --git a/user/gcompat/no-utmp.patch b/user/gcompat/no-utmp.patch new file mode 100644 index 000000000..c5d2251b1 --- /dev/null +++ b/user/gcompat/no-utmp.patch @@ -0,0 +1,16 @@ +--- gcompat-0.3.0/libgcompat/utmp.c.old 2018-09-05 02:26:02.850000000 +0000 ++++ gcompat-0.3.0/libgcompat/utmp.c 2018-09-21 21:39:17.350000000 +0000 +@@ -1,12 +1,11 @@ + #include <stddef.h> /* NULL */ +-#include <utmp.h> /* struct utmp */ + + /** + * Get user accounting database entries. + * + * LSB 5.0: LSB-Core-generic/baselib-getutent-r-3.html + */ +-int getutent_r(struct utmp *buffer, struct utmp **result) ++int getutent_r(void *buffer, void **result) + { + /* musl does not implement getutent(). */ + *result = NULL; diff --git a/user/i3wm/APKBUILD b/user/i3wm/APKBUILD new file mode 100644 index 000000000..197cbd45f --- /dev/null +++ b/user/i3wm/APKBUILD @@ -0,0 +1,49 @@ +# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net> +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Dan Theisen <djt@hxx.in> +pkgname=i3wm +pkgver=4.15 +pkgrel=0 +pkgdesc="Improved dynamic tiling window manager" +url="http://i3wm.org" +arch="all" +license="BSD-3-Clause" +options="!check" # The test suite requires X +makedepends="bison flex libxcb-dev xcb-util-cursor-dev xcb-util-keysyms-dev + xcb-util-wm-dev libev-dev pango-dev cairo-dev yajl-dev + startup-notification-dev pcre-dev libxkbcommon-dev xcb-util-xrm-dev" +checkdepends="perl-x11-xcb perl-anyevent perl-json-xs perl-ipc-run + perl-inline-c perl-dev libxcb-dev xcb-util-dev xorg-server-xephyr" +subpackages="$pkgname-doc" +source="http://i3wm.org/downloads/i3-$pkgver.tar.bz2 + i3wm-musl-glob-tilde.patch + i3wm-test-fix-off_t.patch + i3wm-test-disable-branch-check.patch" +builddir="$srcdir/i3-$pkgver" + +build() { + cd "$builddir" + ./configure \ + --prefix="/usr" \ + --disable-builddir \ + --sysconfdir="/etc" + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir/" install + + install -d "$pkgdir/usr/share/man/man1" + install -m644 man/*.1 "$pkgdir"/usr/share/man/man1/ +} + +sha512sums="60ab61b7e380342126bea12fb4371f98fcf18f6435f79a9519d3f59cfabdb170634366036e1aa20c5592da0832b03140ad1f0c72bad3cfaace0b7c57ad01dfc4 i3-4.15.tar.bz2 +8ce7d00371c43b93dabbe0dadf9caf7c58a68f4a0079f5a9b9552c15c55bfa0df16d7e87a281595af2ac5254632ba28ccf82a467cea16159b41490f6f2910299 i3wm-musl-glob-tilde.patch +77224b994397b2e2487ae28dfd5781b3630654191813eb3c685f05ebf446e65c36e53a665ff3cc8323ea67e87f7cf977044025dade0a6ed22cbd84f0e6b4cbc7 i3wm-test-fix-off_t.patch +a80384965dff62c51ce77e2baa3cf1b0b6db1df68994ce98383f96554bd296b4b59527fb5b1cb24b08c123699e294ba9b3baaa52afe88d87e7a76f0629194b1f i3wm-test-disable-branch-check.patch" diff --git a/user/i3wm/i3wm-musl-glob-tilde.patch b/user/i3wm/i3wm-musl-glob-tilde.patch new file mode 100644 index 000000000..82ad6195b --- /dev/null +++ b/user/i3wm/i3wm-musl-glob-tilde.patch @@ -0,0 +1,73 @@ +diff -urp i3-4.11/i3bar/src/main.c i3-4.11.new/i3bar/src/main.c +--- i3-4.11/i3bar/src/main.c 2015-09-30 07:55:10.000000000 +0100 ++++ i3-4.11.new/i3bar/src/main.c 2016-02-08 20:03:41.777392482 +0000 +@@ -45,14 +45,20 @@ void debuglog(char *fmt, ...) { + * + */ + char *expand_path(char *path) { +- static glob_t globbuf; +- if (glob(path, GLOB_NOCHECK | GLOB_TILDE, NULL, &globbuf) < 0) { +- ELOG("glob() failed\n"); +- exit(EXIT_FAILURE); ++ char *home, *expanded; ++ ++ if (strncmp(path, "~/", 2) == 0) { ++ home = getenv("HOME"); ++ if (home != NULL) { ++ /* new length: sum - 1 (omit '~') + 1 (for '\0') */ ++ expanded = scalloc(strlen(home)+strlen(path), 1); ++ strcpy(expanded, home); ++ strcat(expanded, path+1); ++ return expanded; ++ } + } +- char *result = sstrdup(globbuf.gl_pathc > 0 ? globbuf.gl_pathv[0] : path); +- globfree(&globbuf); +- return result; ++ ++ return sstrdup(path); + } + + void print_usage(char *elf_name) { +diff -urp i3-4.11/libi3/resolve_tilde.c i3-4.11.new/libi3/resolve_tilde.c +--- i3-4.11/libi3/resolve_tilde.c 2015-09-30 07:55:10.000000000 +0100 ++++ i3-4.11.new/libi3/resolve_tilde.c 2016-02-08 20:03:47.849230953 +0000 +@@ -19,27 +19,18 @@ + * + */ + char *resolve_tilde(const char *path) { +- static glob_t globbuf; +- char *head, *tail, *result; ++ char *home, *expanded; + +- tail = strchr(path, '/'); +- head = sstrndup(path, tail ? (size_t)(tail - path) : strlen(path)); +- +- int res = glob(head, GLOB_TILDE, NULL, &globbuf); +- free(head); +- /* no match, or many wildcard matches are bad */ +- if (res == GLOB_NOMATCH || globbuf.gl_pathc != 1) +- result = sstrdup(path); +- else if (res != 0) { +- err(EXIT_FAILURE, "glob() failed"); +- } else { +- head = globbuf.gl_pathv[0]; +- result = scalloc(strlen(head) + (tail ? strlen(tail) : 0) + 1, 1); +- strncpy(result, head, strlen(head)); +- if (tail) +- strncat(result, tail, strlen(tail)); ++ if (strncmp(path, "~/", 2) == 0) { ++ home = getenv("HOME"); ++ if (home != NULL) { ++ /* new length: sum - 1 (omit '~') + 1 (for '\0') */ ++ expanded = scalloc(strlen(home)+strlen(path), 1); ++ strcpy(expanded, home); ++ strcat(expanded, path+1); ++ return expanded; ++ } + } +- globfree(&globbuf); + +- return result; ++ return sstrdup(path); + } diff --git a/user/i3wm/i3wm-test-disable-branch-check.patch b/user/i3wm/i3wm-test-disable-branch-check.patch new file mode 100644 index 000000000..ac3572e9b --- /dev/null +++ b/user/i3wm/i3wm-test-disable-branch-check.patch @@ -0,0 +1,10 @@ +--- i3-4.15/testcases/t/193-ipc-version.t.old 2018-03-10 09:29:14.000000000 -0800 ++++ i3-4.15/testcases/t/193-ipc-version.t 2018-09-27 16:49:56.599257224 -0700 +@@ -32,6 +32,6 @@ + + is(int($version->{minor}), $version->{minor}, 'minor version is an integer'); + is(int($version->{patch}), $version->{patch}, 'patch version is an integer'); +-like($version->{human_readable}, qr/branch/, 'human readable version contains branch name'); ++#like($version->{human_readable}, qr/branch/, 'human readable version contains branch name'); + + done_testing; diff --git a/user/i3wm/i3wm-test-fix-off_t.patch b/user/i3wm/i3wm-test-fix-off_t.patch new file mode 100644 index 000000000..1aeb69be6 --- /dev/null +++ b/user/i3wm/i3wm-test-fix-off_t.patch @@ -0,0 +1,26 @@ +--- i3-4.15/testcases/lib/i3test/XTEST.pm.old 2018-09-27 16:18:59.682101063 -0700 ++++ i3-4.15/testcases/lib/i3test/XTEST.pm 2018-09-27 16:20:33.723493893 -0700 +@@ -39,6 +39,7 @@ + my %sn_config; + BEGIN { + %sn_config = ExtUtils::PkgConfig->find('xcb-xkb xcb-xtest xcb-util'); ++ $sn_config{cflags} .= ' -D_GNU_SOURCE'; + } + + use Inline C => Config => LIBS => $sn_config{libs}, CCFLAGS => $sn_config{cflags}; +--- i3-4.15/testcases/t/175-startup-notification.t.old 2018-09-27 16:24:17.546808884 -0700 ++++ i3-4.15/testcases/t/175-startup-notification.t 2018-09-27 16:24:55.587372292 -0700 +@@ -31,11 +31,13 @@ + my %sn_config; + BEGIN { + %sn_config = ExtUtils::PkgConfig->find('libstartup-notification-1.0'); ++ $sn_config{cflags} .= ' -D_GNU_SOURCE'; + } + + use Inline C => Config => LIBS => $sn_config{libs}, CCFLAGS => $sn_config{cflags}; + use Inline C => <<'END_OF_C_CODE'; + ++#include <sys/types.h> + #include <xcb/xcb.h> + + #define SN_API_NOT_YET_FROZEN 1 diff --git a/user/imake/APKBUILD b/user/imake/APKBUILD new file mode 100644 index 000000000..ba5585c32 --- /dev/null +++ b/user/imake/APKBUILD @@ -0,0 +1,27 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Dan Theisen <djt@hxx.in> +pkgname=imake +pkgver=1.0.7 +pkgrel=0 +pkgdesc="X Windows make utility" +url="http://www.x.org" +arch="all" +license="X11" +options="!check" # No testsuite +depends="" +makedepends="util-macros xorgproto-dev" +subpackages="$pkgname-doc" +source="http://ftp.x.org/pub/individual/util/$pkgname-$pkgver.tar.bz2" + +build() { + cd "$builddir" + ./configure --prefix=/usr + make +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="b3527c8fead25c6e093e1fe4a39e60ff210212dcd323e206505b9e872a3f36d9db85f85cab5a6f0fa914fa5c558ef54b499b2b13ccd66739223e4e72ef805d08 imake-1.0.7.tar.bz2" diff --git a/user/iperf3/APKBUILD b/user/iperf3/APKBUILD new file mode 100644 index 000000000..1e1fad965 --- /dev/null +++ b/user/iperf3/APKBUILD @@ -0,0 +1,57 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Dan Theisen <djt@hxx.in> +pkgname=iperf3 +_pkgname=iperf +pkgver=3.6 +pkgrel=0 +pkgdesc="A tool to measure IP bandwidth using UDP or TCP" +url="https://software.es.net/iperf/" +arch="all" +license="BSD-3-Clause" +depends="" +makedepends="" +install="" +subpackages="$pkgname-doc $pkgname-openrc" +source="$pkgname-$pkgver.tar.gz::https://downloads.es.net/pub/$_pkgname/$_pkgname-$pkgver.tar.gz + $_pkgname.initd + $_pkgname.confd + + build-fixes.patch + remove-pg-flags.patch + " +builddir="$srcdir/$_pkgname-$pkgver" + +build() { + cd "$builddir" + CFLAGS="$CFLAGS -D_GNU_SOURCE" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + + install -Dm755 "$srcdir"/$_pkgname.initd \ + "$pkgdir"/etc/init.d/$_pkgname + install -Dm644 "$srcdir"/$_pkgname.confd \ + "$pkgdir"/etc/conf.d/$_pkgname +} + +sha512sums="322a6893ad28c6ce9c9849e8a0326408ed76f09bbb13591c01c3d051bd4777a2acdb8f5032b9d1bb37d47ad3818d8b18ab6c0be4d40559040eb7e57bbfc06f39 iperf3-3.6.tar.gz +339fb04b41cce11e8ea8694d95c13af9c88e0d1143356d913ec810c9b11efa27212d585b5dcc49cc2eb860a6d8bc557092c8659d7d5cfe532c5afdb36f8eedf8 iperf.initd +fb5e155fff568a72488cc1511d30358835a48bcce309f8f46d040160932b4a4ccb85040c27c60dee477900a25bd34c50eac21d1d0bea984b40faa401be2ba7e8 iperf.confd +126043503eebf84bccf26758f18715eaf81131e2fc9ef1fe829e55acb2f14e97db18e9b890b8bf13c230ac80c7537615272af4e072808e25bde8ddd6f326f198 build-fixes.patch +ed0fb3a3af0dae3e9f58ff6643cb15defdd31f65cf966a6013fdf2a7fd67a7f8ef522a7c8f3269bd43d5ca991a86d758526c384ebc0984b1403bb24f61a1779b remove-pg-flags.patch" diff --git a/user/iperf3/build-fixes.patch b/user/iperf3/build-fixes.patch new file mode 100644 index 000000000..b797e70ea --- /dev/null +++ b/user/iperf3/build-fixes.patch @@ -0,0 +1,20 @@ +--- a/src/t_timer.c ++++ b/src/t_timer.c +@@ -33,6 +33,7 @@ + #include <stdlib.h> + #include <unistd.h> + #include <sys/time.h> ++#include <sys/types.h> + + #include "timer.h" + +--- a/src/t_uuid.c ++++ b/src/t_uuid.c +@@ -28,6 +28,7 @@ + #include <stdlib.h> + #include <string.h> + #include <sys/time.h> ++#include <sys/types.h> + + #include "iperf_util.h" + diff --git a/user/iperf3/iperf.confd b/user/iperf3/iperf.confd new file mode 100644 index 000000000..1f425faa6 --- /dev/null +++ b/user/iperf3/iperf.confd @@ -0,0 +1,3 @@ +# Default option for iperf: --server (runs in TCP/5001 mode) +# For further server options check --help flag +command_args="" diff --git a/user/iperf3/iperf.initd b/user/iperf3/iperf.initd new file mode 100644 index 000000000..a135bafc9 --- /dev/null +++ b/user/iperf3/iperf.initd @@ -0,0 +1,18 @@ +#!/sbin/openrc-run + +command="/usr/bin/iperf" +pidfile="/var/run/$SVCNAME/$SVCNAME.pid" + +depend() { + need net + after firewall +} + +start() { + ebegin "Starting $SVCNAME" + start-stop-daemon --start --make-pid --user ${exec_user:-nobody} \ + --pidfile ${pidfile} --background --exec $command \ + -- --server ${command_args} + eend +} + diff --git a/user/iperf3/remove-pg-flags.patch b/user/iperf3/remove-pg-flags.patch new file mode 100644 index 000000000..1ed47eebf --- /dev/null +++ b/user/iperf3/remove-pg-flags.patch @@ -0,0 +1,29 @@ +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -50,9 +50,9 @@ + iperf3_profile_SOURCES = main.c \ + $(libiperf_la_SOURCES) + +-iperf3_profile_CFLAGS = -pg -g ++iperf3_profile_CFLAGS = -g + iperf3_profile_LDADD = libiperf.la +-iperf3_profile_LDFLAGS = -pg -g ++iperf3_profile_LDFLAGS = -g + + # Specify the sources and various flags for the test cases + t_timer_SOURCES = t_timer.c + +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -643,9 +643,9 @@ + iperf3_profile_SOURCES = main.c \ + $(libiperf_la_SOURCES) + +-iperf3_profile_CFLAGS = -pg -g ++iperf3_profile_CFLAGS = -g + iperf3_profile_LDADD = libiperf.la +-iperf3_profile_LDFLAGS = -pg -g ++iperf3_profile_LDFLAGS = -g + + # Specify the sources and various flags for the test cases + t_timer_SOURCES = t_timer.c diff --git a/user/ipmiutil/APKBUILD b/user/ipmiutil/APKBUILD new file mode 100644 index 000000000..8accd70c0 --- /dev/null +++ b/user/ipmiutil/APKBUILD @@ -0,0 +1,37 @@ +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=ipmiutil +pkgver=3.1.3 +pkgrel=0 +pkgdesc="IPMI Management Utilities" +url="http://ipmiutil.sourceforge.net/" +arch="all" +options="!check" # No test suite shipped. +license="BSD-2-Clause AND BSD-3-Clause AND GPL-2.0+" +depends_dev="openssl-dev" +makedepends="$depends_dev linux-headers" +subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc" +source="https://downloads.sourceforge.net/project/ipmiutil/ipmiutil-$pkgver.tar.gz + ipmiutil-3.0.7-fix-sha256.patch" + +build() { + cd "$builddir" + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --libdir=/usr/lib \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --disable-systemd \ + --enable-sha256 \ + --enable-gpl + make +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="bd1f95b59583a07a5b6001b40e59269f25eb63b69e33f7fad6dd40136e1ea7611e647eb5ed2e2a9746944bde2dc2a3aa2def44238947693d75d9ca48697e1b99 ipmiutil-3.1.3.tar.gz +74e8951bccd004f765b99de87dc5f04834e594b3e14ba885148fb971eaf15164ccac2de880e409f201a38cba5c0948a0fabc04e1e34fb396f50b1ecddb6b305b ipmiutil-3.0.7-fix-sha256.patch" diff --git a/user/ipmiutil/ipmiutil-3.0.7-fix-sha256.patch b/user/ipmiutil/ipmiutil-3.0.7-fix-sha256.patch new file mode 100644 index 000000000..1cc1b5532 --- /dev/null +++ b/user/ipmiutil/ipmiutil-3.0.7-fix-sha256.patch @@ -0,0 +1,68 @@ +--- ipmiutil-3.0.7/lib/Makefile.am.old 2017-09-20 10:08:20.000000000 -0500 ++++ ipmiutil-3.0.7/lib/Makefile.am 2018-01-01 18:03:45.080832425 -0600 +@@ -33,10 +33,11 @@ + else cp -f libipmiapi64.a.redhat libipmiapi.a; fi \ + else cp -f libipmiapi32.a libipmiapi.a; fi \ + fi +- if [ "$(PLUSFLAGS)" = "-DHAVE_LANPLUS" ]; then \ +- cd lanplus; make clean; make ; \ +- pwd; cp -f libipmi_lanplus.a .. ; \ +- fi ++ case "$(PLUSFLAGS)" in \ ++ "-DHAVE_LANPLUS"*) \ ++ cd lanplus; make clean; make ; \ ++ pwd; cp -f libipmi_lanplus.a .. ;; \ ++ esac + + clean: + rm -f libipmiapi.a lib*_lanplus.a lib*_lanplus.so +@@ -51,10 +52,11 @@ + cd lanplus; make distclean + + install: +- if [ "$(PLUSFLAGS)" = "-DHAVE_LANPLUS" ]; then \ +- $(MKDIR) ${datato} ; \ +- cd lanplus; make install ; \ +- fi ++ case "$(PLUSFLAGS)" in \ ++ "-DHAVE_LANPLUS"*) \ ++ $(MKDIR) ${datato} ; \ ++ cd lanplus; make install ;; \ ++ esac + + check: + +--- ipmiutil-3.0.7/lib/Makefile.in.old 2017-09-20 10:08:28.000000000 -0500 ++++ ipmiutil-3.0.7/lib/Makefile.in 2018-01-01 18:02:55.187678005 -0600 +@@ -392,10 +392,11 @@ + else cp -f libipmiapi64.a.redhat libipmiapi.a; fi \ + else cp -f libipmiapi32.a libipmiapi.a; fi \ + fi +- if [ "$(PLUSFLAGS)" = "-DHAVE_LANPLUS" ]; then \ +- cd lanplus; make clean; make ; \ +- pwd; cp -f libipmi_lanplus.a .. ; \ +- fi ++ case "$(PLUSFLAGS)" in \ ++ "-DHAVE_LANPLUS"*) \ ++ cd lanplus; make clean; make ; \ ++ pwd; cp -f libipmi_lanplus.a .. ;; \ ++ esac + + clean: + rm -f libipmiapi.a lib*_lanplus.a lib*_lanplus.so +@@ -410,10 +411,11 @@ + cd lanplus; make distclean + + install: +- if [ "$(PLUSFLAGS)" = "-DHAVE_LANPLUS" ]; then \ +- $(MKDIR) ${datato} ; \ +- cd lanplus; make install ; \ +- fi ++ case "$(PLUSFLAGS)" in \ ++ "-DHAVE_LANPLUS"*) \ ++ $(MKDIR) ${datato} ; \ ++ cd lanplus; make install ;; \ ++ esac + + check: + diff --git a/user/json-glib/APKBUILD b/user/json-glib/APKBUILD index b686fef6b..a297939df 100644 --- a/user/json-glib/APKBUILD +++ b/user/json-glib/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=json-glib -pkgver=1.4.2 +pkgver=1.4.4 pkgrel=0 pkgdesc="GObject-based library for JSON (de)serialization" url="https://live.gnome.org/JsonGlib" @@ -29,4 +29,4 @@ package() { DESTDIR="$pkgdir" ninja -C output install } -sha512sums="e1495c4d0167db4cc31c7d9a6059de1f9126ab48fb45666a1bd10c69e10df9db195160cfba35cfac9c438a868559068e39402adf98a3e416d425c095c0946a51 json-glib-1.4.2.tar.xz" +sha512sums="cf56a99dce3938b5c0075810f105719836fac65392da33a49b26ebf33aee1fab89ca9fac58059a2008d688ecc75a3e524de60621a5b027d566963541f38b971f json-glib-1.4.4.tar.xz" diff --git a/user/labplot/APKBUILD b/user/labplot/APKBUILD index 53c91a025..c3b4d0388 100644 --- a/user/labplot/APKBUILD +++ b/user/labplot/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=labplot pkgver=2.5.0 -pkgrel=0 +pkgrel=1 pkgdesc="Interactive tool for graphing and analysis of scientific data" url="https://www.kde.org/applications/education/labplot/" arch="all" @@ -15,9 +15,7 @@ makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtsvg-dev kconfig-dev qt5-qtserialport-dev syntax-highlighting-dev bison libexecinfo-dev" subpackages="$pkgname-doc $pkgname-lang" source="https://download.kde.org/stable/labplot/$pkgver/labplot-$pkgver.tar.xz - disable-liborigin.patch - really-disable-liborigin.patch - really-really-disable-liborigin.patch + liborigin-endian.patch " build() { @@ -32,7 +30,6 @@ build() { -DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ -DCMAKE_C_FLAGS="$CFLAGS -D_GNU_SOURCE" \ - -DENABLE_LIBORIGIN=False \ ${CMAKE_CROSSOPTS} make } @@ -49,6 +46,4 @@ package() { } sha512sums="a4b285917e30b0ac00cb8c8ad6827ba3884d95fccc0511a0a317bb2d637e48e6579929c45cfb8bba737bb5a01472a2baa9d812a688730ac4fa40b23cc6625eba labplot-2.5.0.tar.xz -c309bc9d8d73377298824a5b5c741a4caf796f7136a562827c8f9969c860cef0f5f510a85527b3ef89cbd35d08d986b5d95f5d44e1a30f8a8eed083f3ebedcc7 disable-liborigin.patch -d2dd6f90a4382f88b28a8a2cb5e07c618ea8ba823e040638f08b95a4df97f4db76c025f897e6b618eb9546cf39a401904329697422db6af1c14cd2e8f6961362 really-disable-liborigin.patch -cba3c70d661fa2a887c414595757b9961771500402e58e6414e403cef2dd4fe183e253ce1e5accb49c6f930519ac4ff02ee8f63dfb5eb53289c6d0d3fab6703c really-really-disable-liborigin.patch" +d251300ca0992637453ef12021f3fa4ba0ed5651a19b27bee7573f50b101aaa787544c035bf0d00b9a9ef14156536ce027879d605ede228761754b762db88ded liborigin-endian.patch" diff --git a/user/labplot/disable-liborigin.patch b/user/labplot/disable-liborigin.patch deleted file mode 100644 index 9fd4e4ba7..000000000 --- a/user/labplot/disable-liborigin.patch +++ /dev/null @@ -1,169 +0,0 @@ -From d67faf643b2e69c017c21e9d9aaa1fe2d3de6b0e Mon Sep 17 00:00:00 2001 -From: Alexander Semke <alexander.semke@web.de> -Date: Wed, 12 Sep 2018 08:46:38 +0200 -Subject: Fixed the build with -DENABLE_LIBORIGIN=OFF. - ---- - INSTALL | 1 + - src/CMakeLists.txt | 5 ++++- - src/kdefrontend/MainWin.cpp | 18 +++++++++++++++++- - src/kdefrontend/datasources/ImportProjectDialog.cpp | 8 ++++++++ - 4 files changed, 30 insertions(+), 2 deletions(-) - -diff --git a/INSTALL b/INSTALL -index cc2bab9..05dd97b 100644 ---- a/INSTALL -+++ b/INSTALL -@@ -41,5 +41,7 @@ To compile LabPlot without optional dependencies even if they are present on the - -DENABLE_LIBCERF=OFF - -DENABLE_CANTOR=OFF -+-DENABLE_MQTT=OFF -+-DENABLE_LIBORIGIN=OFF - - Note, by switching off these libraries the feature set of LabPlot will be reduced. - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index ba5763d..892c3c3 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -223,7 +223,6 @@ set(BACKEND_SOURCES - ${BACKEND_DIR}/datasources/filters/ROOTFilter.cpp - ${BACKEND_DIR}/datasources/projects/ProjectParser.cpp - ${BACKEND_DIR}/datasources/projects/LabPlotProjectParser.cpp -- ${BACKEND_DIR}/datasources/projects/OriginProjectParser.cpp - ${BACKEND_DIR}/gsl/ExpressionParser.cpp - ${BACKEND_DIR}/matrix/Matrix.cpp - ${BACKEND_DIR}/matrix/matrixcommands.cpp -@@ -271,6 +270,10 @@ set(BACKEND_SOURCES - ${BACKEND_DIR}/datapicker/DatapickerCurve.cpp - ) - -+IF (ENABLE_LIBORIGIN) -+ lsit(APPEND BACKEND_SOURCES ${BACKEND_DIR}/datasources/projects/OriginProjectParser.cpp) -+ENDIF () -+ - set(NSL_SOURCES - ${BACKEND_DIR}/nsl/nsl_conv.c - ${BACKEND_DIR}/nsl/nsl_dft.c -diff --git a/src/kdefrontend/MainWin.cpp b/src/kdefrontend/MainWin.cpp -index 6f90d38..f7d6f8b 100644 ---- a/src/kdefrontend/MainWin.cpp -+++ b/src/kdefrontend/MainWin.cpp -@@ -37,7 +37,9 @@ - #include "backend/matrix/Matrix.h" - #include "backend/worksheet/Worksheet.h" - #include "backend/datasources/LiveDataSource.h" -+#ifdef HAVE_LIBORIGIN - #include "backend/datasources/projects/OriginProjectParser.h" -+#endif - #ifdef HAVE_CANTOR_LIBS - #include "backend/cantorWorksheet/CantorWorksheet.h" - #endif -@@ -295,7 +297,11 @@ void MainWin::initGUI(const QString& fileName) { - connect(&m_autoSaveTimer, SIGNAL(timeout()), this, SLOT(autoSaveProject())); - - if (!fileName.isEmpty()) { -+#ifdef HAVE_LIBORIGIN - if (Project::isLabPlotProject(fileName) || OriginProjectParser::isOriginProject(fileName)) { -+#else -+ if (Project::isLabPlotProject(fileName)) { -+#endif - QTimer::singleShot(0, this, [=] () { openProject(fileName); }); - } else { - newProject(); -@@ -939,7 +945,11 @@ void MainWin::openProject() { - KConfigGroup conf(KSharedConfig::openConfig(), "MainWin"); - const QString& dir = conf.readEntry("LastOpenDir", ""); - const QString& path = QFileDialog::getOpenFileName(this,i18n("Open project"), dir, -+#ifdef HAVE_LIBORIGIN - i18n("LabPlot Projects (%1);;Origin Projects (%2)", Project::supportedExtensions(), OriginProjectParser::supportedExtensions()) ); -+#else -+ i18n("LabPlot Projects (%1)", Project::supportedExtensions()) ); -+#endif - - if (path.isEmpty())// "Cancel" was clicked - return; -@@ -970,12 +980,14 @@ void MainWin::openProject(const QString& filename) { - bool rc = false; - if (Project::isLabPlotProject(filename)) - rc = m_project->load(filename); -+#ifdef HAVE_LIBORIGIN - else if (OriginProjectParser::isOriginProject(filename)) { - OriginProjectParser parser; - parser.setProjectFileName(filename); - parser.importTo(m_project, QStringList()); //TODO: add return code - rc = true; - } -+#endif - - if (!rc) { - closeProject(); -@@ -1718,7 +1730,11 @@ void MainWin::dropEvent(QDropEvent* event) { - QUrl url = event->mimeData()->urls().at(0); - const QString& f = url.toLocalFile(); - -+#ifdef HAVE_LIBORIGIN - if (Project::isLabPlotProject(f) || OriginProjectParser::isOriginProject(f)) -+#else -+ if (Project::isLabPlotProject(f)) -+#endif - openProject(f); - else { - if (!m_project) -diff --git a/src/kdefrontend/datasources/ImportProjectDialog.cpp b/src/kdefrontend/datasources/ImportProjectDialog.cpp -index 85cbf34..5216127 100644 ---- a/src/kdefrontend/datasources/ImportProjectDialog.cpp -+++ b/src/kdefrontend/datasources/ImportProjectDialog.cpp -@@ -111,8 +111,10 @@ ImportProjectDialog::ImportProjectDialog(MainWin* parent, ProjectType type) : QD - title = i18n("Import LabPlot Project"); - break; - case (ProjectOrigin): -+#ifdef HAVE_LIBORIGIN - m_projectParser = new OriginProjectParser(); - title = i18n("Import Origin Project"); -+#endif - break; - } - -@@ -234,8 +236,10 @@ void ImportProjectDialog::importTo(QStatusBar* statusBar) const { - timer.start(); - connect(m_projectParser, SIGNAL(completed(int)), progressBar, SLOT(setValue(int))); - -+#ifdef HAVE_LIBORIGIN - if (m_projectType == ProjectOrigin && ui.chbUnusedObjects->isVisible() && ui.chbUnusedObjects->isChecked()) - reinterpret_cast<OriginProjectParser*>(m_projectParser)->setImportUnusedObjects(true); -+#endif - - m_projectParser->importTo(targetFolder, selectedPathes); - statusBar->showMessage( i18n("Project data imported in %1 seconds.", (float)timer.elapsed()/1000) ); -@@ -251,6 +255,7 @@ void ImportProjectDialog::refreshPreview() { - QString project = ui.leFileName->text(); - m_projectParser->setProjectFileName(project); - -+#ifdef HAVE_LIBORIGIN - if (m_projectType == ProjectOrigin) { - OriginProjectParser* originParser = reinterpret_cast<OriginProjectParser*>(m_projectParser); - if (originParser->hasUnusedObjects()) -@@ -260,6 +265,7 @@ void ImportProjectDialog::refreshPreview() { - - originParser->setImportUnusedObjects(ui.chbUnusedObjects->isVisible() && ui.chbUnusedObjects->isChecked()); - } -+#endif - - ui.tvPreview->setModel(m_projectParser->model()); - -@@ -349,9 +355,11 @@ void ImportProjectDialog::selectFile() { - supportedFormats = i18n("LabPlot Projects (%1)", Project::supportedExtensions()); - break; - case (ProjectOrigin): -+#ifdef HAVE_LIBORIGIN - title = i18n("Open Origin Project"); - lastDirConfEntryName = QLatin1String("LastImportOriginProjecttDir"); - supportedFormats = i18n("Origin Projects (%1)", OriginProjectParser::supportedExtensions()); -+#endif - break; - } - --- -cgit v0.11.2 - diff --git a/user/labplot/liborigin-endian.patch b/user/labplot/liborigin-endian.patch new file mode 100644 index 000000000..b40782a3a --- /dev/null +++ b/user/labplot/liborigin-endian.patch @@ -0,0 +1,26 @@ +diff --git a/OriginAnyParser.cpp b/OriginAnyParser.cpp +index c9e863e..2637945 100644 +--- a/liborigin/OriginAnyParser.cpp ++++ b/liborigin/OriginAnyParser.cpp +@@ -24,10 +24,18 @@ + #include <cinttypes> + + /* define a macro to get an int (or uint) from a istringstream in binary mode */ +-#define GET_INT(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 4);}; +-#define GET_SHORT(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 2);}; +-#define GET_FLOAT(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 4);}; ++#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ ++#define GET_SHORT(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 2);}; ++#define GET_INT(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 4);}; ++#define GET_FLOAT(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 4);}; + #define GET_DOUBLE(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 8);}; ++#else ++void inline swap_bytes(unsigned char* data, int size) {int i = 0, j = size - 1; while(i < j) {std::swap(data[i], data[j]); ++i, --j;}} ++#define GET_SHORT(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 2); swap_bytes(reinterpret_cast<unsigned char *>(&ovalue), 2);}; ++#define GET_INT(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 4); swap_bytes(reinterpret_cast<unsigned char *>(&ovalue), 4);}; ++#define GET_FLOAT(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 4); swap_bytes(reinterpret_cast<unsigned char *>(&ovalue), 4);}; ++#define GET_DOUBLE(iss, ovalue) {iss.read(reinterpret_cast<char *>(&ovalue), 8); swap_bytes(reinterpret_cast<unsigned char *>(&ovalue), 8);}; ++#endif + + OriginAnyParser::OriginAnyParser(const string& fileName) + : file(fileName.c_str(),ios::binary), diff --git a/user/labplot/really-disable-liborigin.patch b/user/labplot/really-disable-liborigin.patch deleted file mode 100644 index c97a30ed7..000000000 --- a/user/labplot/really-disable-liborigin.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 75408146f9e26521dff825acc2bfb270dc4f6179 Mon Sep 17 00:00:00 2001 -From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> -Date: Wed, 12 Sep 2018 11:56:17 -0500 -Subject: [PATCH] datasources: Only include Origin header if enabled - -ImportProjectDialog was still #including the OriginProjectParser header, -which caused a build error if -DENABLE_LIBORIGIN=OFF. - -Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com> -Fixes: d67faf643b2e69c017c21e9d9aaa1fe2d3de6b0e ---- - src/kdefrontend/datasources/ImportProjectDialog.cpp | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/kdefrontend/datasources/ImportProjectDialog.cpp b/src/kdefrontend/datasources/ImportProjectDialog.cpp -index 52161277..9fac9389 100644 ---- a/src/kdefrontend/datasources/ImportProjectDialog.cpp -+++ b/src/kdefrontend/datasources/ImportProjectDialog.cpp -@@ -30,7 +30,9 @@ - #include "backend/core/AspectTreeModel.h" - #include "backend/core/Project.h" - #include "backend/datasources/projects/LabPlotProjectParser.h" --#include "backend/datasources/projects/OriginProjectParser.h" -+#ifdef HAVE_LIBORIGIN -+# include "backend/datasources/projects/OriginProjectParser.h" -+#endif - #include "kdefrontend/MainWin.h" - #include "commonfrontend/widgets/TreeViewComboBox.h" - --- -2.18.0 - diff --git a/user/labplot/really-really-disable-liborigin.patch b/user/labplot/really-really-disable-liborigin.patch deleted file mode 100644 index 6deb963c8..000000000 --- a/user/labplot/really-really-disable-liborigin.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 5e37796f4db1a2408fdd56562f0d80ef7988ff38 Mon Sep 17 00:00:00 2001 -From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> -Date: Wed, 12 Sep 2018 12:02:44 -0500 -Subject: [PATCH] Tests: disable Origin tests when lib is disabled - -Compiling with liborigin disabled caused a build failure while building -ProjectImportTest, because it still unconditionally #included -OriginProjectParser and called into Origin code. ---- - tests/import_export/project/ProjectImportTest.cpp | 6 +++++- - tests/import_export/project/ProjectImportTest.h | 2 ++ - 2 files changed, 7 insertions(+), 1 deletion(-) - -diff --git a/tests/import_export/project/ProjectImportTest.cpp b/tests/import_export/project/ProjectImportTest.cpp -index 11ac7845..91163b62 100755 ---- a/tests/import_export/project/ProjectImportTest.cpp -+++ b/tests/import_export/project/ProjectImportTest.cpp -@@ -26,7 +26,9 @@ - ***************************************************************************/ - - #include "ProjectImportTest.h" --#include "backend/datasources/projects/OriginProjectParser.h" -+#ifdef HAVE_LIBORIGIN -+# include "backend/datasources/projects/OriginProjectParser.h" -+#endif - #include "backend/core/Project.h" - #include "backend/core/Workbook.h" - #include "backend/matrix/Matrix.h" -@@ -49,6 +51,7 @@ void ProjectImportTest::initTestCase() { - //############################################################################## - - -+#ifdef HAVE_LIBORIGIN - //############################################################################## - //###################### import of Origin projects ############################ - //############################################################################## -@@ -375,5 +378,6 @@ void ProjectImportTest::testOriginTextNumericColumns() { - QCOMPARE(!std::isnan(column->valueAt(3)), false); - QCOMPARE(!std::isnan(column->valueAt(4)), false); - } -+#endif - - QTEST_MAIN(ProjectImportTest) -diff --git a/tests/import_export/project/ProjectImportTest.h b/tests/import_export/project/ProjectImportTest.h -index 2e27bcd0..22b414a3 100755 ---- a/tests/import_export/project/ProjectImportTest.h -+++ b/tests/import_export/project/ProjectImportTest.h -@@ -37,12 +37,14 @@ private slots: - - //import of LabPlot projects - -+#ifdef HAVE_LIBORIGIN - //import of Origin projects - void testOrigin01(); - void testOrigin02(); - void testOrigin03(); - void testOrigin04(); - void testOriginTextNumericColumns(); -+#endif - - private: - QString m_dataDir; --- -2.18.0 - diff --git a/user/libxdg-basedir/APKBUILD b/user/libxdg-basedir/APKBUILD new file mode 100644 index 000000000..50a1e7dfc --- /dev/null +++ b/user/libxdg-basedir/APKBUILD @@ -0,0 +1,43 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Dan Theisen <djt@hxx.in> +# TODO: Repackage from better source, rehost or something. +pkgname=libxdg-basedir +pkgver=1.2.0 +pkgrel=0 +pkgdesc="library for XDG base dir specification" +url="https://nevill.ch/libxdg-basedir/" +arch="all" +license="MIT" +depends="" +makedepends="" +subpackages="$pkgname-dev" +source="https://nevill.ch/libxdg-basedir/downloads/$pkgname-$pkgver.tar.gz" + +prepare() { + cd "$builddir" + default_prepare + update_config_sub +} + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="346553ddd9d0a0c854af9320f2ced695a0838adc18736b66120bea48ea60cb9ea3a7390672a42f83909db92f692e94de833d9e8bcfe51568a72ad1f4661fde06 libxdg-basedir-1.2.0.tar.gz" diff --git a/user/llvm6/APKBUILD b/user/llvm6/APKBUILD new file mode 100644 index 000000000..f3bc9acc7 --- /dev/null +++ b/user/llvm6/APKBUILD @@ -0,0 +1,249 @@ +# Contributor: Travis Tilley <ttilley@gmail.com> +# Contributor: Mitch Tishmack <mitch.tishmack@gmail.com> +# Contributor: Jakub Jirutka <jakub@jirutka.cz> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +_pkgname=llvm +pkgver=6.0.1 +_majorver=${pkgver%%.*} +pkgname=$_pkgname$_majorver +pkgrel=0 +pkgdesc="Low Level Virtual Machine compiler system, version $_majorver" +arch="all" +options="!checkroot !dbg" +url="https://llvm.org/" +license="NCSA" +depends_dev="$pkgname=$pkgver-r$pkgrel" +makedepends="binutils-dev chrpath cmake file libexecinfo-dev libffi-dev + libxml2-dev python3 zlib-dev" +subpackages="$pkgname-static $pkgname-libs $pkgname-dev + $pkgname-test-utils:_test_utils" +source="http://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.xz + llvm-fix-build-with-musl-libc.patch + cmake-fix-libLLVM-name.patch + disable-FileSystemTest.CreateDir-perms-assert.patch + disable-dlclose-test.patch + musl-ppc64-elfv2.patch + secure-plt.patch + " +builddir="$srcdir/$_pkgname-$pkgver.src" + +# ARM has few failures in test suite that we don't care about currently and +# also it takes forever to run them on the builder. +case "$CARCH" in + arm*) options="$options !check";; +esac + +# Whether is this package the default (latest) LLVM version. +_default_llvm="yes" + +if [ "$_default_llvm" = yes ]; then + provides="llvm=$pkgver-r$pkgrel" + replaces="llvm" +fi + +# NOTE: It seems that there's no (sane) way how to change includedir, sharedir +# etc. separately, just the CMAKE_INSTALL_PREFIX. Standard CMake variables and +# even LLVM-specific variables, that are related to these paths, actually +# don't work (in llvm 3.7). +# +# When building a software that depends on LLVM, utility llvm-config should be +# used to discover where is LLVM installed. It provides options to print +# path of bindir, includedir, and libdir separately, but in its source, all +# these paths are actually hard-coded against INSTALL_PREFIX. We can patch it +# and move paths manually, but I'm really not sure what it may break... +# +# Also note that we should *not* add version suffix to files in llvm bindir! +# It breaks build system of some software that depends on LLVM, because they +# don't expect these files to have a sufix. +# +# So, we install all the LLVM files into /usr/lib/llvm$_majorver. +# BTW, Fedora and Debian do the same thing. +# +_prefix="usr/lib/llvm$_majorver" + +prepare() { + default_prepare + cd "$builddir" + + # https://bugs.llvm.org//show_bug.cgi?id=31870 + rm test/tools/llvm-symbolizer/print_context.c + + mkdir -p "$builddir"/build +} + +build() { + cd "$builddir"/build + + # Auto-detect it by guessing either. + local ffi_include_dir="$(pkg-config --cflags-only-I libffi | sed 's|^-I||g')" + + cmake -G "Unix Makefiles" -Wno-dev \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/$_prefix \ + -DCMAKE_VERBOSE_MAKEFILE=NO \ + -DFFI_INCLUDE_DIR="$ffi_include_dir" \ + -DLLVM_BINUTILS_INCDIR=/usr/include \ + -DLLVM_BUILD_DOCS=OFF \ + -DLLVM_BUILD_EXAMPLES=OFF \ + -DLLVM_BUILD_EXTERNAL_COMPILER_RT=ON \ + -DLLVM_BUILD_LLVM_DYLIB=ON \ + -DLLVM_BUILD_TESTS=ON \ + -DLLVM_DEFAULT_TARGET_TRIPLE="$CBUILD" \ + -DLLVM_ENABLE_ASSERTIONS=OFF \ + -DLLVM_ENABLE_CXX1Y=ON \ + -DLLVM_ENABLE_FFI=ON \ + -DLLVM_ENABLE_LIBCXX=OFF \ + -DLLVM_ENABLE_PIC=ON \ + -DLLVM_ENABLE_RTTI=ON \ + -DLLVM_ENABLE_SPHINX=OFF \ + -DLLVM_ENABLE_TERMINFO=ON \ + -DLLVM_ENABLE_ZLIB=ON \ + -DLLVM_HOST_TRIPLE="$CHOST" \ + -DLLVM_INCLUDE_EXAMPLES=OFF \ + -DLLVM_LINK_LLVM_DYLIB=ON \ + -DLLVM_TARGETS_TO_BUILD='X86;ARM;AArch64;PowerPC;SystemZ;AMDGPU;NVPTX;Mips;BPF' \ + "$builddir" + + make llvm-tblgen + make + + python3 ../utils/lit/setup.py build +} + +check() { + cd "$builddir"/build + + # FIXME: Few tests fail on s390x, ignore it for now. See build log + # https://gist.github.com/jirutka/6edc951ad5b8002cf1780546cf661edc + case "$CARCH" in + s390x) make check-llvm || true;; + *) make check-llvm;; + esac +} + +package() { + cd "$builddir"/build + + make DESTDIR="$pkgdir" install + + cd "$pkgdir"/$_prefix + + # Remove RPATHs. + file lib/*.so bin/* \ + | awk -F: '$2~/ELF/{print $1}' \ + | xargs -r chrpath -d + + # Symlink files from /usr/lib/llvm*/bin to /usr/bin. + mkdir -p "$pkgdir"/usr/bin + local name newname path + for path in bin/*; do + name=${path##*/} + # Add version infix/suffix to the executable name. + case "$name" in + llvm-*) newname="llvm$_majorver-${name#llvm-}";; + *) newname="$name$_majorver";; + esac + # If this package provides=llvm (i.e. it's the default/latest + # llvm package), omit version infix/suffix. + if [ "$_default_llvm" = yes ]; then + newname=$name + fi + case "$name" in + FileCheck | obj2yaml | yaml2obj) continue;; + esac + ln -s ../lib/llvm$_majorver/bin/$name "$pkgdir"/usr/bin/$newname + done + + # Move /usr/lib/$pkgname/include/ into /usr/include/$pkgname/ + # and symlink it back. + _mv include/* "$pkgdir"/usr/include/$pkgname/ + rmdir include + ln -s ../../include/$pkgname include + + # Move /usr/lib/$pkgname/lib/cmake/llvm/ into /usr/lib/cmake/$pkgname/ + # and symlink it back. + _mv lib/cmake/llvm/* "$pkgdir"/usr/lib/cmake/$pkgname/ + rmdir lib/cmake/llvm + ln -s ../../../cmake/$pkgname lib/cmake/llvm +} + +static() { + pkgdesc="LLVM $_majorver static libraries" + _common_subpkg + + _mv "$pkgdir"/$_prefix/lib/*.a "$subpkgdir"/$_prefix/lib/ + strip -d "$subpkgdir"/$_prefix/lib/*.a +} + +libs() { + pkgdesc="LLVM $_majorver runtime library" + local soname="libLLVM-$_majorver.0.so" + local soname2="libLLVM-$pkgver.so" + _common_subpkg + + mkdir -p "$subpkgdir" + cd "$subpkgdir" + + # libLLVM should be in /usr/lib. This is needed for binaries that are + # dynamically linked with libLLVM, so they can find it on default path. + _mv "$pkgdir"/$_prefix/lib/$soname usr/lib/ + ln -s $soname usr/lib/$soname2 + + # And also symlink it back to the LLVM prefix. + mkdir -p $_prefix/lib + ln -s ../../$soname $_prefix/lib/$soname + ln -s ../../$soname $_prefix/lib/$soname2 +} + +dev() { + _common_subpkg + default_dev + cd "$subpkgdir" + + _mv "$pkgdir"/$_prefix/lib $_prefix/ + _mv "$pkgdir"/$_prefix/include $_prefix/ + + _mv "$pkgdir"/$_prefix/bin/llvm-config $_prefix/bin/ +} + +_test_utils() { + pkgdesc="LLVM $_majorver utilities for executing LLVM and Clang style test suites" + depends="python3" + _common_subpkg + replaces="" + + local litver=$(python3 "$builddir"/utils/lit/setup.py --version 2>/dev/null \ + | sed 's/\.dev.*$//') + test -n "$litver" || return 1 + provides="$provides lit=$litver-r$pkgrel" + + cd "$builddir"/build + + install -D -m 755 bin/FileCheck "$subpkgdir"/$_prefix/bin/FileCheck + install -D -m 755 bin/count "$subpkgdir"/$_prefix/bin/count + install -D -m 755 bin/not "$subpkgdir"/$_prefix/bin/not + + python3 ../utils/lit/setup.py install --prefix=/usr --root="$subpkgdir" + ln -s ../../../bin/lit "$subpkgdir"/$_prefix/bin/lit +} + +_common_subpkg() { + if [ "$_default_llvm" = yes ]; then + replaces="llvm${subpkgname#$pkgname}" + provides="$replaces=$pkgver-r$pkgrel" + fi +} + +_mv() { + local dest; for dest; do true; done # get last argument + mkdir -p "$dest" + mv $@ +} + +sha512sums="cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9 llvm-6.0.1.src.tar.xz +f84cd65d7042e89826ba6e8d48c4c302bf4980da369d7f19a55f217e51c00ca8ed178d453df3a3cee76598a7cecb94aed0775a6d24fe73266f82749913fc3e71 llvm-fix-build-with-musl-libc.patch +6d1a716e5aa24e6b9a3acf4cc11e2504b1b01abf574074e9e5617b991de87d5e4e687eb18e85e73d5e632568afe2fc357771c4c96f9e136502071991496fb78c cmake-fix-libLLVM-name.patch +49c47f125014b60d0ea7870f981a2c1708ad705793f89287ed846ee881a837a4dc0170bf467e03f2ef56177473128945287749ac80dc2d13cfabcf8b929ba58a disable-FileSystemTest.CreateDir-perms-assert.patch +caeec8e4dbd92f5f74940780b69075f3879a267a8623822cbdc193fd14706eb089071e3a5a20d60cc2eca59e4c5b2a61d29827a2f3362ee7c5f74f11d9ace200 disable-dlclose-test.patch +bde743960003a2a39868af9f665d86fadb0a7b1e7eb51c16ebbd74ce4c5220bbc400b1d5211c02fc2643863f49ee961e9a18dffa0eb813a0e1723613396512ab musl-ppc64-elfv2.patch +35d289641fa4d200b5a3f62f1d51da600a734641356b0dc6c54a3080dd89aec3b031e36af8b53be49c35346c1cbcce00268de7ec9b4f552bfd7bf84d3504d1c4 secure-plt.patch" diff --git a/user/llvm6/cmake-fix-libLLVM-name.patch b/user/llvm6/cmake-fix-libLLVM-name.patch new file mode 100644 index 000000000..cb29fe2ef --- /dev/null +++ b/user/llvm6/cmake-fix-libLLVM-name.patch @@ -0,0 +1,26 @@ +Include version in name of shared libs + +libLLVM.so -> libLLVM-$MAJOR.$MINOR.so + +Source: http://pkgs.fedoraproject.org/cgit/rpms/llvm3.9.git/tree/llvm-soversion.patch?id=3dac83eaa5b88f550ae50125b14b8f644e10617b +--- a/cmake/modules/AddLLVM.cmake ++++ b/cmake/modules/AddLLVM.cmake +@@ -450,6 +450,18 @@ + PREFIX "" + ) + endif() ++ ++ # Set SOVERSION on shared libraries that lack explicit SONAME ++ # specifier, on *nix systems that are not Darwin. ++ if(UNIX AND NOT APPLE AND NOT ARG_SONAME) ++ set_target_properties(${name} ++ PROPERTIES ++ # Concatenate the version numbers since ldconfig expects exactly ++ # one component indicating the ABI version, while LLVM uses ++ # major+minor for that. ++ SOVERSION ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR} ++ VERSION ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX}) ++ endif() + endif() + + if(ARG_MODULE OR ARG_SHARED) diff --git a/user/llvm6/disable-FileSystemTest.CreateDir-perms-assert.patch b/user/llvm6/disable-FileSystemTest.CreateDir-perms-assert.patch new file mode 100644 index 000000000..e73ce9b6f --- /dev/null +++ b/user/llvm6/disable-FileSystemTest.CreateDir-perms-assert.patch @@ -0,0 +1,61 @@ +Do not assert permissions of file created in /tmp directory. + +This assertion fails, probably due to some specific setup of /tmp +on build servers. + + FAIL: LLVM-Unit :: Support/SupportTests/FileSystemTest.CreateDir (1293 of 17222) + ******************** TEST 'LLVM-Unit :: Support/SupportTests/FileSystemTest.CreateDir' FAILED ******************** + Note: Google Test filter = FileSystemTest.CreateDir + [==========] Running 1 test from 1 test case. + [----------] Global test environment set-up. + [----------] 1 test from FileSystemTest + [ RUN ] FileSystemTest.CreateDir + /home/buildozer/aports/testing/llvm3.9/src/llvm-3.9.1.src/unittests/Support/Path.cpp:591: Failure + Value of: fs::perms::owner_read | fs::perms::owner_exe + Actual: 320 + Expected: Status.permissions() & fs::perms::all_all + Which is: 448 + +--- a/unittests/Support/Path.cpp ++++ b/unittests/Support/Path.cpp +@@ -579,23 +579,23 @@ + ASSERT_NO_ERROR(fs::remove(Twine(TestDirectory) + "foo")); + + #ifdef LLVM_ON_UNIX +- // Set a 0000 umask so that we can test our directory permissions. +- mode_t OldUmask = ::umask(0000); +- +- fs::file_status Status; +- ASSERT_NO_ERROR( +- fs::create_directory(Twine(TestDirectory) + "baz500", false, +- fs::perms::owner_read | fs::perms::owner_exe)); +- ASSERT_NO_ERROR(fs::status(Twine(TestDirectory) + "baz500", Status)); +- ASSERT_EQ(Status.permissions() & fs::perms::all_all, +- fs::perms::owner_read | fs::perms::owner_exe); +- ASSERT_NO_ERROR(fs::create_directory(Twine(TestDirectory) + "baz777", false, +- fs::perms::all_all)); +- ASSERT_NO_ERROR(fs::status(Twine(TestDirectory) + "baz777", Status)); +- ASSERT_EQ(Status.permissions() & fs::perms::all_all, fs::perms::all_all); +- +- // Restore umask to be safe. +- ::umask(OldUmask); ++// // Set a 0000 umask so that we can test our directory permissions. ++// mode_t OldUmask = ::umask(0000); ++// ++// fs::file_status Status; ++// ASSERT_NO_ERROR( ++// fs::create_directory(Twine(TestDirectory) + "baz500", false, ++// fs::perms::owner_read | fs::perms::owner_exe)); ++// ASSERT_NO_ERROR(fs::status(Twine(TestDirectory) + "baz500", Status)); ++// ASSERT_EQ(Status.permissions() & fs::perms::all_all, ++// fs::perms::owner_read | fs::perms::owner_exe); ++// ASSERT_NO_ERROR(fs::create_directory(Twine(TestDirectory) + "baz777", false, ++// fs::perms::all_all)); ++// ASSERT_NO_ERROR(fs::status(Twine(TestDirectory) + "baz777", Status)); ++// ASSERT_EQ(Status.permissions() & fs::perms::all_all, fs::perms::all_all); ++// ++// // Restore umask to be safe. ++// ::umask(OldUmask); + #endif + + #ifdef LLVM_ON_WIN32 diff --git a/user/llvm6/disable-dlclose-test.patch b/user/llvm6/disable-dlclose-test.patch new file mode 100644 index 000000000..b70cd4d4d --- /dev/null +++ b/user/llvm6/disable-dlclose-test.patch @@ -0,0 +1,18 @@ +--- llvm-6.0.1.src/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp.old 2017-07-12 21:22:45.000000000 +0000 ++++ llvm-6.0.1.src/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp 2018-09-13 04:43:37.240000000 +0000 +@@ -107,6 +107,7 @@ + EXPECT_TRUE(DynamicLibrary::SearchOrder == DynamicLibrary::SO_Linker); + } + ++#if 0 + TEST(DynamicLibrary, Shutdown) { + std::string A("PipSqueak"), B, C("SecondLib"); + std::vector<std::string> Order; +@@ -162,6 +163,7 @@ + EXPECT_EQ(Order.front(), "SecondLib"); + EXPECT_EQ(Order.back(), "PipSqueak"); + } ++#endif + + #else + diff --git a/user/llvm6/llvm-fix-build-with-musl-libc.patch b/user/llvm6/llvm-fix-build-with-musl-libc.patch new file mode 100644 index 000000000..6ee91ea44 --- /dev/null +++ b/user/llvm6/llvm-fix-build-with-musl-libc.patch @@ -0,0 +1,46 @@ +From 5c571082fdaf61f6df19d9b7137dc26d71334058 Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Thu, 18 Feb 2016 10:33:04 +0100 +Subject: [PATCH 2/3] Fix build with musl libc + +On musl libc the fopen64 and fopen are the same thing, but for +compatibility they have a `#define fopen64 fopen`. Same applies for +fseek64, fstat64, fstatvfs64, ftello64, lstat64, stat64 and tmpfile64. +--- + include/llvm/Analysis/TargetLibraryInfo.h | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/include/llvm/Analysis/TargetLibraryInfo.h b/include/llvm/Analysis/TargetLibraryInfo.h +index 7becdf0..7f14427 100644 +--- a/include/llvm/Analysis/TargetLibraryInfo.h ++++ b/include/llvm/Analysis/TargetLibraryInfo.h +@@ -18,6 +18,26 @@ + #include "llvm/IR/Module.h" + #include "llvm/Pass.h" + ++#undef fopen64 ++#undef fseeko64 ++#undef fstat64 ++#undef fstatvfs64 ++#undef ftello64 ++#undef lstat64 ++#undef stat64 ++#undef tmpfile64 ++#undef F_GETLK64 ++#undef F_SETLK64 ++#undef F_SETLKW64 ++#undef flock64 ++#undef open64 ++#undef openat64 ++#undef creat64 ++#undef lockf64 ++#undef posix_fadvise64 ++#undef posix_fallocate64 ++#undef off64_t ++ + namespace llvm { + /// VecDesc - Describes a possible vectorization of a function. + /// Function 'VectorFnName' is equivalent to 'ScalarFnName' vectorized +-- +2.7.3 + diff --git a/user/llvm6/musl-ppc64-elfv2.patch b/user/llvm6/musl-ppc64-elfv2.patch new file mode 100644 index 000000000..6fa65526b --- /dev/null +++ b/user/llvm6/musl-ppc64-elfv2.patch @@ -0,0 +1,13 @@ +--- llvm-6.0.1.src/lib/Target/PowerPC/PPCTargetMachine.cpp.orig 2018-09-13 03:51:11.900000000 +0000 ++++ llvm-6.0.1.src/lib/Target/PowerPC/PPCTargetMachine.cpp 2018-09-13 03:56:10.740000000 +0000 +@@ -191,6 +191,10 @@ + if (TT.isMacOSX()) + return PPCTargetMachine::PPC_ABI_UNKNOWN; + ++ // musl uses ELFv2 ABI on both endians. ++ if (TT.getEnvironment() == Triple::Musl) ++ return PPCTargetMachine::PPC_ABI_ELFv2; ++ + switch (TT.getArch()) { + case Triple::ppc64le: + return PPCTargetMachine::PPC_ABI_ELFv2; diff --git a/user/llvm6/secure-plt.patch b/user/llvm6/secure-plt.patch new file mode 100644 index 000000000..e8af33d87 --- /dev/null +++ b/user/llvm6/secure-plt.patch @@ -0,0 +1,208 @@ +Index: llvm/lib/Target/PowerPC/PPC.td +=================================================================== +--- llvm/lib/Target/PowerPC/PPC.td ++++ llvm/lib/Target/PowerPC/PPC.td +@@ -119,6 +119,8 @@ + [FeatureBookE]>; + def FeatureE500 : SubtargetFeature<"e500", "IsE500", "true", + "Enable E500/E500mc instructions">; ++def FeatureSecurePlt : SubtargetFeature<"secure-plt","SecurePlt", "true", ++ "Enable secure plt mode">; + def FeaturePPC4xx : SubtargetFeature<"ppc4xx", "IsPPC4xx", "true", + "Enable PPC 4xx instructions">; + def FeaturePPC6xx : SubtargetFeature<"ppc6xx", "IsPPC6xx", "true", +Index: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp +=================================================================== +--- llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp ++++ llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp +@@ -563,33 +563,63 @@ + // Transform %rd = UpdateGBR(%rt, %ri) + // Into: lwz %rt, .L0$poff - .L0$pb(%ri) + // add %rd, %rt, %ri ++ // or into (if secure plt mode is on): ++ // addis r30, r30, .LTOC - .L0$pb@ha ++ // addi r30, r30, .LTOC - .L0$pb@l + // Get the offset from the GOT Base Register to the GOT + LowerPPCMachineInstrToMCInst(MI, TmpInst, *this, isDarwin); +- MCSymbol *PICOffset = +- MF->getInfo<PPCFunctionInfo>()->getPICOffsetSymbol(); +- TmpInst.setOpcode(PPC::LWZ); +- const MCExpr *Exp = +- MCSymbolRefExpr::create(PICOffset, MCSymbolRefExpr::VK_None, OutContext); +- const MCExpr *PB = +- MCSymbolRefExpr::create(MF->getPICBaseSymbol(), +- MCSymbolRefExpr::VK_None, +- OutContext); +- const MCOperand TR = TmpInst.getOperand(1); +- const MCOperand PICR = TmpInst.getOperand(0); ++ if (Subtarget->isSecurePlt() && isPositionIndependent() ) { ++ unsigned PICR = TmpInst.getOperand(0).getReg(); ++ MCSymbol *LTOCSymbol = OutContext.getOrCreateSymbol(StringRef(".LTOC")); ++ const MCExpr *PB = ++ MCSymbolRefExpr::create(MF->getPICBaseSymbol(), ++ OutContext); + +- // Step 1: lwz %rt, .L$poff - .L$pb(%ri) +- TmpInst.getOperand(1) = +- MCOperand::createExpr(MCBinaryExpr::createSub(Exp, PB, OutContext)); +- TmpInst.getOperand(0) = TR; +- TmpInst.getOperand(2) = PICR; +- EmitToStreamer(*OutStreamer, TmpInst); ++ const MCExpr *LTOCDeltaExpr = ++ MCBinaryExpr::createSub(MCSymbolRefExpr::create(LTOCSymbol, OutContext), ++ PB, OutContext); + +- TmpInst.setOpcode(PPC::ADD4); +- TmpInst.getOperand(0) = PICR; +- TmpInst.getOperand(1) = TR; +- TmpInst.getOperand(2) = PICR; +- EmitToStreamer(*OutStreamer, TmpInst); +- return; ++ const MCExpr *LTOCDeltaHi = ++ PPCMCExpr::createHa(LTOCDeltaExpr, false, OutContext); ++ EmitToStreamer(*OutStreamer, MCInstBuilder(PPC::ADDIS) ++ .addReg(PICR) ++ .addReg(PICR) ++ .addExpr(LTOCDeltaHi)); ++ ++ const MCExpr *LTOCDeltaLo = ++ PPCMCExpr::createLo(LTOCDeltaExpr, false, OutContext); ++ EmitToStreamer(*OutStreamer, MCInstBuilder(PPC::ADDI) ++ .addReg(PICR) ++ .addReg(PICR) ++ .addExpr(LTOCDeltaLo)); ++ return; ++ } else { ++ MCSymbol *PICOffset = ++ MF->getInfo<PPCFunctionInfo>()->getPICOffsetSymbol(); ++ TmpInst.setOpcode(PPC::LWZ); ++ const MCExpr *Exp = ++ MCSymbolRefExpr::create(PICOffset, MCSymbolRefExpr::VK_None, OutContext); ++ const MCExpr *PB = ++ MCSymbolRefExpr::create(MF->getPICBaseSymbol(), ++ MCSymbolRefExpr::VK_None, ++ OutContext); ++ const MCOperand TR = TmpInst.getOperand(1); ++ const MCOperand PICR = TmpInst.getOperand(0); ++ ++ // Step 1: lwz %rt, .L$poff - .L$pb(%ri) ++ TmpInst.getOperand(1) = ++ MCOperand::createExpr(MCBinaryExpr::createSub(Exp, PB, OutContext)); ++ TmpInst.getOperand(0) = TR; ++ TmpInst.getOperand(2) = PICR; ++ EmitToStreamer(*OutStreamer, TmpInst); ++ ++ TmpInst.setOpcode(PPC::ADD4); ++ TmpInst.getOperand(0) = PICR; ++ TmpInst.getOperand(1) = TR; ++ TmpInst.getOperand(2) = PICR; ++ EmitToStreamer(*OutStreamer, TmpInst); ++ return; ++ } + } + case PPC::LWZtoc: { + // Transform %r3 = LWZtoc @min1, %r2 +@@ -1233,7 +1263,7 @@ + + if (!Subtarget->isPPC64()) { + const PPCFunctionInfo *PPCFI = MF->getInfo<PPCFunctionInfo>(); +- if (PPCFI->usesPICBase()) { ++ if (PPCFI->usesPICBase() && !Subtarget->isSecurePlt()) { + MCSymbol *RelocSymbol = PPCFI->getPICOffsetSymbol(); + MCSymbol *PICBase = MF->getPICBaseSymbol(); + OutStreamer->EmitLabel(RelocSymbol); +Index: llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp +=================================================================== +--- llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp ++++ llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp +@@ -4001,6 +4001,27 @@ + return; + break; + ++ case PPCISD::CALL: { ++ const Module *M = MF->getFunction().getParent(); ++ ++ if (PPCLowering->getPointerTy(CurDAG->getDataLayout()) != MVT::i32 || ++ !PPCSubTarget->isSecurePlt() || !PPCSubTarget->isTargetELF() || ++ M->getPICLevel() == PICLevel::SmallPIC) ++ break; ++ ++ SDValue Op = N->getOperand(1); ++ ++ if (GlobalAddressSDNode *GA = dyn_cast<GlobalAddressSDNode>(Op)) { ++ if (GA->getTargetFlags() == PPCII::MO_PLT) ++ getGlobalBaseReg(); ++ } ++ else if (ExternalSymbolSDNode *ES = dyn_cast<ExternalSymbolSDNode>(Op)) { ++ if (ES->getTargetFlags() == PPCII::MO_PLT) ++ getGlobalBaseReg(); ++ } ++ } ++ break; ++ + case PPCISD::GlobalBaseReg: + ReplaceNode(N, getGlobalBaseReg()); + return; +Index: llvm/lib/Target/PowerPC/PPCMCInstLower.cpp +=================================================================== +--- llvm/lib/Target/PowerPC/PPCMCInstLower.cpp ++++ llvm/lib/Target/PowerPC/PPCMCInstLower.cpp +@@ -107,10 +107,20 @@ + break; + } + +- if (MO.getTargetFlags() == PPCII::MO_PLT) ++ if (MO.getTargetFlags() == PPCII::MO_PLT) + RefKind = MCSymbolRefExpr::VK_PLT; + ++ const MachineFunction *MF = MO.getParent()->getParent()->getParent(); ++ const PPCSubtarget *Subtarget = &(MF->getSubtarget<PPCSubtarget>()); ++ const TargetMachine &TM = Printer.TM; + const MCExpr *Expr = MCSymbolRefExpr::create(Symbol, RefKind, Ctx); ++ // -msecure-plt option works only in PIC mode. If secure plt mode ++ // is on add 32768 to symbol. ++ if (Subtarget->isSecurePlt() && TM.isPositionIndependent() && ++ MO.getTargetFlags() == PPCII::MO_PLT) ++ Expr = MCBinaryExpr::createAdd(Expr, ++ MCConstantExpr::create(32768, Ctx), ++ Ctx); + + if (!MO.isJTI() && MO.getOffset()) + Expr = MCBinaryExpr::createAdd(Expr, +Index: llvm/lib/Target/PowerPC/PPCSubtarget.h +=================================================================== +--- llvm/lib/Target/PowerPC/PPCSubtarget.h ++++ llvm/lib/Target/PowerPC/PPCSubtarget.h +@@ -133,6 +133,7 @@ + bool HasFloat128; + bool IsISA3_0; + bool UseLongCalls; ++ bool SecurePlt; + + POPCNTDKind HasPOPCNTD; + +@@ -255,6 +256,7 @@ + bool hasOnlyMSYNC() const { return HasOnlyMSYNC; } + bool isPPC4xx() const { return IsPPC4xx; } + bool isPPC6xx() const { return IsPPC6xx; } ++ bool isSecurePlt() const {return SecurePlt; } + bool isE500() const { return IsE500; } + bool isFeatureMFTB() const { return FeatureMFTB; } + bool isDeprecatedDST() const { return DeprecatedDST; } +Index: llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll +=================================================================== +--- llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll ++++ llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll +@@ -1,4 +1,5 @@ + ; RUN: llc < %s -mtriple=powerpc-unknown-linux-gnu -relocation-model=pic | FileCheck -check-prefix=LARGE-BSS %s ++; RUN: llc < %s -mtriple=powerpc-unknown-linux-gnu -mattr=+secure-plt -relocation-model=pic | FileCheck -check-prefix=LARGE-SECUREPLT %s + @bar = common global i32 0, align 4 + + declare i32 @call_foo(i32, ...) +@@ -29,3 +30,6 @@ + ; LARGE-BSS: [[VREF]]: + ; LARGE-BSS-NEXT: .p2align 2 + ; LARGE-BSS-NEXT: .long bar ++; LARGE-SECUREPLT: addis 30, 30, .LTOC-.L0$pb@ha ++; LARGE-SECUREPLT: addi 30, 30, .LTOC-.L0$pb@l ++; LARGE-SECUREPLT: bl call_foo@PLT+32768 diff --git a/user/lua-lgi/APKBUILD b/user/lua-lgi/APKBUILD new file mode 100644 index 000000000..ef7e42726 --- /dev/null +++ b/user/lua-lgi/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Dan Theisen <djt@hxx.in> +pkgname=lua-lgi +pkgver=0.9.2 +pkgrel=0 +pkgdesc="Dynamic Lua binding to GObject libraries using GObject-Introspection" +url="https://github.com/pavouk/lgi" +arch="all" +license="MIT" +options="!check" # checks require dbus +depends="" +makedepends="glib-dev gobject-introspection-dev libffi-dev lua5.3-dev" +subpackages="$pkgname-doc" +source="lgi-$pkgver.tar.gz::https://github.com/pavouk/lgi/archive/$pkgver.tar.gz" +builddir="$srcdir"/lgi-$pkgver + +build() { + cd "$builddir" + make PREFIX=/usr LUA_CFLAGS="$(pkg-config --cflags lua)" +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make install PREFIX=/usr DESTDIR="$pkgdir" + + mkdir -p "$pkgdir"/usr/share/doc/lua-lgi + cp -r docs/* samples "$pkgdir"/usr/share/doc/lua-lgi/ +} + +sha512sums="755a96b78530f42da6d4e2664f8e37cb07a356419e7e6448003c3f841c9d98ad18b851715d9eb203ea7eb27b13ec46223fa8a1c90a99fd12960ce85b0a695335 lgi-0.9.2.tar.gz" diff --git a/user/mesa-demos/APKBUILD b/user/mesa-demos/APKBUILD new file mode 100644 index 000000000..9d2b4627d --- /dev/null +++ b/user/mesa-demos/APKBUILD @@ -0,0 +1,30 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Dan Theisen <djt@hxx.in> +pkgname=mesa-demos +pkgver=8.3.0 +pkgrel=0 +pkgdesc="Mesa demos and utils" +url="http://mesa3d.org" +arch="all" +license="X11" +options="!check" # No testsuite +makedepends="mesa-dev glew-dev glu-dev freeglut-dev freetype-dev libtool" +source="ftp://ftp.freedesktop.org/pub/mesa/demos/$pkgver/$pkgname-$pkgver.tar.bz2" + +build() { + cd "$builddir" + export LDFLAGS="$LDFLAGS -Wl,-z,lazy" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr + make V=1 +} + +package() { + cd "$builddir" + make -j1 DESTDIR="$pkgdir" install +} + +sha512sums="9ba96980306953f7b72745063e75809fb8399bbd5fc58fca96290a8b4e61741bb82fb6171311eddf249ea12face83d7c7b087e6dade6833699a8d220fc752e3f mesa-demos-8.3.0.tar.bz2" diff --git a/user/mesa/APKBUILD b/user/mesa/APKBUILD index c0ba61046..418e9e361 100644 --- a/user/mesa/APKBUILD +++ b/user/mesa/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=mesa -pkgver=18.1.7 +pkgver=18.1.8 pkgrel=0 pkgdesc="Mesa DRI OpenGL library" url="https://www.mesa3d.org" @@ -17,7 +17,7 @@ subpackages="$pkgname-dev $pkgname-xatracker $pkgname-osmesa $pkgname-gbm $pkgname-libwayland-egl:_wayland " -_llvmver=4 +_llvmver=6 depends_dev="libdrm-dev dri2proto libxext-dev libxdamage-dev libxcb-dev glproto dri3proto presentproto libxshmfence-dev" makedepends="$depends_dev expat-dev xextproto libxt-dev makedepend py3-mako @@ -245,7 +245,7 @@ _wayland() { || return 1 } -sha512sums="697c4f441ae52bc867d9d73b103094a29102168c248a502c4ea0fc48f51bcb86b2e741da39e882f24131326d460cdb1416415604c6994d1b8c09fb8a153a5c77 mesa-18.1.7.tar.xz +sha512sums="ab89c6d27b765d3efdf61b24dc56d863ae590d83003d2eae4bfe25ecfbeda5bee0227f21d057523bb4eceeaf3d9955df48087ffb472c41b123c100e593056cb9 mesa-18.1.8.tar.xz c3d4804ebc24c7216e4c9d4995fb92e116be7f478024b44808ee134a4c93bb51d1f66fe5fb6eca254f124c4abf6f81272b027824b3e2650a9607818bf793035a glx_ro_text_segm.patch 9f7a050f09571a2b17098d495b82e2e85b293fb7285e7d6d7c3c48cd4220a1bdcc61a7321ba78dd14860939ecabe7e89b32d6110f3728f793273e1e26b78a553 musl-fixes.patch c7d91a660a033df91fac9c557039efc8669f0c26b2d35997d50753938b70d1af0bd110dcab3f8236eafab7d4be5dd7cd128a3e057e67e7e6a38a73fd6a7ef62e musl-fix-includes.patch diff --git a/user/minicom/APKBUILD b/user/minicom/APKBUILD new file mode 100644 index 000000000..d597290e8 --- /dev/null +++ b/user/minicom/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Dan Theisen <djt@hxx.in> +pkgname=minicom +pkgver=2.7.1 +pkgrel=0 +pkgdesc="menu driven communications program for terminals" +url="https://fossies.org/linux/minicom/" +arch="all" +license="GPL-2.0+" +depends="" +makedepends="ncurses-dev gettext-tiny-dev linux-headers" +subpackages="$pkgname-doc $pkgname-lang" +source="https://fossies.org/linux/misc/$pkgname-$pkgver.tar.gz + fix-includes.patch" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="b429b32d187c3ee915c5074a0d0f08b7e3951cb8528ecbdd889837ff301662c16740ad77bd2bf3baf759c0a84e779a8dc8fd888a4260a0ace15ebc4c2f697c82 minicom-2.7.1.tar.gz +5acff3efb0b8b02333291722044d7c473bf19eec8a26e66c0e0f41895f3e3f071dff13515ec20f7ce17368732e3674f0a42b38602e61b04e9cd70e61012641ff fix-includes.patch" diff --git a/user/minicom/fix-includes.patch b/user/minicom/fix-includes.patch new file mode 100644 index 000000000..19a18dcdb --- /dev/null +++ b/user/minicom/fix-includes.patch @@ -0,0 +1,24 @@ +--- minicom-2.6.2.orig/src/dial.c ++++ minicom-2.6.2/src/dial.c +@@ -39,11 +39,9 @@ + #include "intl.h" + + #ifdef VC_MUSIC +-# if defined(__GLIBC__) + # include <sys/ioctl.h> + # include <sys/kd.h> + # include <sys/time.h> +-# endif + #endif + + enum { CURRENT_VERSION = 6 }; +--- minicom-2.6.2.orig/src/getsdir.h ++++ minicom-2.6.2/src/getsdir.h +@@ -22,6 +22,7 @@ + * and licensing conditions. See the source, Luke. + */ + ++#include <sys/param.h> + #include <dirent.h> + + typedef struct dirEntry { /* structure of data item */ diff --git a/user/ncftp/APKBUILD b/user/ncftp/APKBUILD new file mode 100644 index 000000000..1a9b5fce4 --- /dev/null +++ b/user/ncftp/APKBUILD @@ -0,0 +1,46 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: Dan Theisen <djt@hxx.in> +pkgname=ncftp +pkgver=3.2.6 +pkgrel=0 +pkgdesc="A set of free application programs implementing FTP" +url="http://www.ncftp.com/" +arch="all" +options="!check" # No test suite. +license="ClArtistic" +makedepends="ncurses-dev" +source="ftp://ftp.ncftp.com/ncftp/$pkgname-$pkgver-src.tar.gz" +subpackages="$pkgname-doc $pkgname-bookmarks" + +build () { + cd "$builddir" + + LIBS="-ltinfo" ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man + + cd "$builddir"/libncftp + make shared + cd "$builddir" + make +} + +package() { + cd "$builddir"/libncftp + make PREFIX="${pkgdir}"/usr soinstall + cd "$builddir" + make DESTDIR="$pkgdir" install + install -D doc/LICENSE.txt \ + "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE +} + +bookmarks () { + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/ncftpbookmarks \ + "$subpkgdir"/usr/bin/ +} + +sha512sums="a2f8ac555bee8af4be1aa745ce5838beee99cd2253c1fe701b710ec135d7c47e2bf8b22ec928975ec2460919977d45a07fb12185ab58a2e96e3092039ffd3303 ncftp-3.2.6-src.tar.gz" diff --git a/user/perl-algorithm-diff/APKBUILD b/user/perl-algorithm-diff/APKBUILD new file mode 100644 index 000000000..5e0c60775 --- /dev/null +++ b/user/perl-algorithm-diff/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-algorithm-diff +pkgver=1.1903 +pkgrel=0 +pkgdesc="Compute 'intelligent' differences between two files / lists" +url="https://metacpan.org/pod/Algorithm::Diff" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/T/TY/TYEMQ/Algorithm-Diff-$pkgver.tar.gz" +builddir="$srcdir/Algorithm-Diff-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="61632be4c19a03ccacaa218ab7cb8bdbc53a4a6030b8173a59c7611056375536788392c1da00ab88f3df9884fc8a67825efc83b70e2e564664d5187021d6b106 Algorithm-Diff-1.1903.tar.gz" diff --git a/user/perl-any-moose/APKBUILD b/user/perl-any-moose/APKBUILD new file mode 100644 index 000000000..eed2735ca --- /dev/null +++ b/user/perl-any-moose/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-any-moose +pkgver=0.27 +pkgrel=0 +pkgdesc="Deprecated Moose Mouse abstraction layer" +url="https://metacpan.org/pod/Any::Moose" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl perl-mouse" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/E/ET/ETHER/Any-Moose-$pkgver.tar.gz" +builddir="$srcdir/Any-Moose-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="5c97caf2e64462bae95fc4d5dd41868c01f856bd8f74872985254b7cc6ce0e13b4accad7955047ff5c4013399f7aea2ad6d48ae3592883a3b6cd20c0e4478b7b Any-Moose-0.27.tar.gz" diff --git a/user/perl-anyevent/APKBUILD b/user/perl-anyevent/APKBUILD new file mode 100644 index 000000000..f97e983eb --- /dev/null +++ b/user/perl-anyevent/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-anyevent +pkgver=7.14 +pkgrel=0 +pkgdesc="The DBI of event loop programming" +url="https://metacpan.org/pod/AnyEvent" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/AnyEvent-$pkgver.tar.gz" +builddir="$srcdir/AnyEvent-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="98e7b9e06cf74b99d3407a25b60f3b825fceed3bae43505e1fb90785e24bd88ae25955cff25d29b4cc96957db7f4f5203d19ad2365abb4e3a3227fd91a16fb25 AnyEvent-7.14.tar.gz" diff --git a/user/perl-canary-stability/APKBUILD b/user/perl-canary-stability/APKBUILD new file mode 100644 index 000000000..f68eadfc0 --- /dev/null +++ b/user/perl-canary-stability/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-canary-stability +pkgver=2012 +pkgrel=0 +pkgdesc="Canary to check Perl compatibility for schmorp's modules" +url="https://metacpan.org/pod/Canary::Stability" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/Canary-Stability-$pkgver.tar.gz" +builddir="$srcdir/Canary-Stability-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="7780731e4142d536182e1820c041c43ae67c5b47c044f15d8dcc060646bbab10a974bddcb703fdb27f427db3cd4dbdff54e131dc708c0260d7275be869eb27b1 Canary-Stability-2012.tar.gz" diff --git a/user/perl-capture-tiny/APKBUILD b/user/perl-capture-tiny/APKBUILD new file mode 100644 index 000000000..1ac11f9d0 --- /dev/null +++ b/user/perl-capture-tiny/APKBUILD @@ -0,0 +1,43 @@ +# Automatically generated by apkbuild-cpan, template 1 +# Contributor: Francesco Colista <fcolista@alpinelinux.org> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-capture-tiny +_pkgreal=Capture-Tiny +pkgver=0.48 +pkgrel=0 +pkgdesc="Capture STDOUT and STDERR from Perl, XS or external programs" +url="https://metacpan.org/release/Capture-Tiny" +arch="noarch" +license="Apache-2.0" +cpandepends="" +cpanmakedepends="" +depends="$cpandepends" +makedepends="perl-dev $cpanmakedepends" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/$_pkgreal-$pkgver.tar.gz" +builddir="$srcdir/$_pkgreal-$pkgver" + +prepare() { + cd "$builddir" + export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'` + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor +} + +build() { + cd "$builddir" + export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'` + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="96d140b33a5ee147804925353ec5b49b806fa9c98b4ac23ec9c9494828f52ac72fd6f69c08e14ada18e5187dc4cece3d72901ce07b12eef20595322161a98437 Capture-Tiny-0.48.tar.gz" diff --git a/user/perl-class-method-modifiers/APKBUILD b/user/perl-class-method-modifiers/APKBUILD new file mode 100644 index 000000000..7d22c357d --- /dev/null +++ b/user/perl-class-method-modifiers/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-class-method-modifiers +pkgver=2.12 +pkgrel=0 +pkgdesc="Provides Moose-like method modifiers" +url="https://metacpan.org/pod/Class::Method::Modifiers" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev" +checkdepends="perl-test-requires perl-test-fatal" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/E/ET/ETHER/Class-Method-Modifiers-$pkgver.tar.gz" +builddir="$srcdir/Class-Method-Modifiers-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="18c7cdff214d39a475b116cc5e6dda043c31765bcdfa9a1fa7242ce61e42583c4981d41a43ba556fb5a057e0cfbd5e52dd60048ea7dfae0fec3618dc47876dd4 Class-Method-Modifiers-2.12.tar.gz" diff --git a/user/perl-common-sense/APKBUILD b/user/perl-common-sense/APKBUILD new file mode 100644 index 000000000..8f159d0b3 --- /dev/null +++ b/user/perl-common-sense/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-common-sense +pkgver=3.74 +pkgrel=0 +pkgdesc="Implements some (in)sane defaults for Perl programs" +url="https://metacpan.org/pod/common::sense" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/common-sense-$pkgver.tar.gz" +builddir="$srcdir/common-sense-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="658ad70a2d1bbd0b26f91c4ea5d69b4cc0b632ede9532b88282987002a5e280f0475d63ee846b7bd2d38ef82f2680e20c2093803e4b62a984750ed447f318d60 common-sense-3.74.tar.gz" diff --git a/user/perl-cwd-guard/APKBUILD b/user/perl-cwd-guard/APKBUILD new file mode 100644 index 000000000..5976741ef --- /dev/null +++ b/user/perl-cwd-guard/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-cwd-guard +pkgver=0.05 +pkgrel=0 +pkgdesc="Temporary changing working directory (chdir)" +url="https://metacpan.org/pod/Cwd::Guard" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev perl-module-build" +checkdepends="perl-test-requires" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/K/KA/KAZEBURO/Cwd-Guard-$pkgver.tar.gz" +builddir="$srcdir/Cwd-Guard-$pkgver" + +prepare() { + cd "$builddir" + perl Build.PL installdirs=vendor +} + +build() { + cd "$builddir" + ./Build +} + +check() { + cd "$builddir" + ./Build test +} + +package() { + cd "$builddir" + ./Build install destdir="$pkgdir" + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="14aa68e535cec8f7182d5648558c539cbf6eebe2fee9c59d0b06f5b45cca1c6c652104a58f71b5a56f796f03d139e3e74962e45fb127bf038803b05cb9f32b82 Cwd-Guard-0.05.tar.gz" diff --git a/user/perl-data-dump/APKBUILD b/user/perl-data-dump/APKBUILD new file mode 100644 index 000000000..26deca4d9 --- /dev/null +++ b/user/perl-data-dump/APKBUILD @@ -0,0 +1,32 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +pkgname=perl-data-dump +pkgver=1.23 +pkgrel=0 +pkgdesc="Perl module for outputting data structures" +url="https://metacpan.org/pod/Data::Dump" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0+" +depends="perl" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/G/GA/GAAS/Data-Dump-$pkgver.tar.gz" +builddir="$srcdir/Data-Dump-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="6fd6c23bb6df7f7396219149dbfd23132fc2ea1dd344c32f62fc27a1afeeb28d7ebf2d429184bb6d1189f412e218f9e62a966b49fdd9ad5564e5152d67a02b96 Data-Dump-1.23.tar.gz" diff --git a/user/perl-data-optlist/APKBUILD b/user/perl-data-optlist/APKBUILD new file mode 100644 index 000000000..c2f5f6308 --- /dev/null +++ b/user/perl-data-optlist/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-data-optlist +_pkgreal=Data-OptList +pkgver=0.110 +pkgrel=0 +pkgdesc="Parse and validate simple name/value option pairs" +url="https://metacpan.org/release/Data-OptList" +arch="noarch" +license="GPL-1.0+ OR Artistic-1.0-Perl" +depends="perl perl-params-util perl-sub-install" +makedepends="perl-dev" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/R/RJ/RJBS/$_pkgreal-$pkgver.tar.gz" +builddir="$srcdir/$_pkgreal-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="68393958a38f509a71cfba61f6dff8303821918ba29ad8492af0c23cfd4f741c6ce98c4f68ad295f27e166287fc546229c430816f0bdd6009d4f60860c967b76 Data-OptList-0.110.tar.gz" diff --git a/user/perl-devel-checkcompiler/APKBUILD b/user/perl-devel-checkcompiler/APKBUILD new file mode 100644 index 000000000..6e99b7ced --- /dev/null +++ b/user/perl-devel-checkcompiler/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-devel-checkcompiler +pkgver=0.07 +pkgrel=0 +pkgdesc="Check the compiler's availability" +url="https://metacpan.org/pod/Devel::CheckCompiler" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev perl-module-build-tiny" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/S/SY/SYOHEX/Devel-CheckCompiler-$pkgver.tar.gz" +builddir="$srcdir/Devel-CheckCompiler-$pkgver" + +prepare() { + cd "$builddir" + perl Build.PL --destdir="$pkgdir" --prefix="/usr" --installdirs=vendor +} + +build() { + cd "$builddir" + export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'` + ./Build +} + +check() { + cd "$builddir" + ./Build test +} + +package() { + cd "$builddir" + ./Build install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="147fbdab382ff40bf1402d2d6be1143fe77403cd2444e854fdf11eb02e8acdcab8cb6bbdd7f3aef01cc64fac2862efaa044c5148c7770b84b464f7360c399d7a Devel-CheckCompiler-0.07.tar.gz" diff --git a/user/perl-devel-globaldestruction/APKBUILD b/user/perl-devel-globaldestruction/APKBUILD new file mode 100644 index 000000000..af612cad4 --- /dev/null +++ b/user/perl-devel-globaldestruction/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-devel-globaldestruction +pkgver=0.14 +pkgrel=0 +pkgdesc="Provides Global Destruction for older perls" +url="https://metacpan.org/pod/Devel::GlobalDestruction" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl perl-sub-exporter-progressive" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/H/HA/HAARG/Devel-GlobalDestruction-$pkgver.tar.gz" +builddir="$srcdir/Devel-GlobalDestruction-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="75c346feae98897fb202dea0295f0225bf3cac59f21915da5dd1cdcf845052f4f8bcd0362d357020fb0facb6358175112b3685860ca1c1f173421c7c6a54f45d Devel-GlobalDestruction-0.14.tar.gz" diff --git a/user/perl-devel-symdump/APKBUILD b/user/perl-devel-symdump/APKBUILD new file mode 100644 index 000000000..a56a92cd9 --- /dev/null +++ b/user/perl-devel-symdump/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-devel-symdump +pkgver=2.18 +pkgrel=0 +pkgdesc="Dump symbol names or the symbol table" +url="https://metacpan.org/pod/Devel::Symdump" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/A/AN/ANDK/Devel-Symdump-$pkgver.tar.gz" +builddir="$srcdir/Devel-Symdump-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="4e8e1ee723e3e02d2f0c100dace40d7722f6366402cff24fb50c8616a863628bc2faa02210754132afa7cbebbd90c75ea6f173e15bbcfaa5158dfcfdfd03da73 Devel-Symdump-2.18.tar.gz" diff --git a/user/perl-extutils-depends/APKBUILD b/user/perl-extutils-depends/APKBUILD new file mode 100644 index 000000000..3947f7667 --- /dev/null +++ b/user/perl-extutils-depends/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-extutils-depends +pkgver=0.405 +pkgrel=0 +pkgdesc="Easily build XS extensions that depend on XS extensions" +url="https://metacpan.org/release/ExtUtils::Depends" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/X/XA/XAOC/ExtUtils-Depends-$pkgver.tar.gz" +sha512sums="b9983ad763ff0cb81c899bc24f3152f13c69e608304b6e4446bd07b9b13d039650f3f87544c0bdd29c67246ea2973f04a1ce0fccbffb566fe89fdbe0bb03f11b ExtUtils-Depends-0.405.tar.gz" +builddir="$srcdir/ExtUtils-Depends-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + diff --git a/user/perl-file-copy-recursive-reduced/APKBUILD b/user/perl-file-copy-recursive-reduced/APKBUILD new file mode 100644 index 000000000..76e66d192 --- /dev/null +++ b/user/perl-file-copy-recursive-reduced/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-file-copy-recursive-reduced +pkgver=0.006 +pkgrel=0 +pkgdesc="Recursive copying of files and directories within Perl 5 toolchain" +url="https://metacpan.org/pod/File::Copy::Recursive::Reduced" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev" +checkdepends="perl-capture-tiny perl-path-tiny" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/J/JK/JKEENAN/File-Copy-Recursive-Reduced-$pkgver.tar.gz" +builddir="$srcdir/File-Copy-Recursive-Reduced-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="7cf888b8c004d9430c87c1cceba25e997cb12974a79c3f4d803b11779abef81f5b686caac4c46a70caadb2eee12a71cb1fb87abfc7d5fec43dc37bbd2ef07694 File-Copy-Recursive-Reduced-0.006.tar.gz" diff --git a/user/perl-file-copy-recursive/APKBUILD b/user/perl-file-copy-recursive/APKBUILD new file mode 100644 index 000000000..882a25d2f --- /dev/null +++ b/user/perl-file-copy-recursive/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-file-copy-recursive +pkgver=0.44 +pkgrel=0 +pkgdesc="Perl extension for recursively copying files and directories" +url="https://metacpan.org/pod/File::Copy::Recursive" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev" +checkdepends="perl-test-fatal perl-test-warnings perl-path-tiny perl-test-deep perl-test-file" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/D/DM/DMUEY/File-Copy-Recursive-$pkgver.tar.gz" +builddir="$srcdir/File-Copy-Recursive-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="7599c48cee0b9848d5e275a1de00845cb2d4820eda9092d550063d4791974870129ce8d3d9337a8f7ea413ed4c21e533c2eb3134c2fcb5cc412dbbfddd2500e4 File-Copy-Recursive-0.44.tar.gz" diff --git a/user/perl-file-sharedir-install/APKBUILD b/user/perl-file-sharedir-install/APKBUILD new file mode 100644 index 000000000..f2b567b5e --- /dev/null +++ b/user/perl-file-sharedir-install/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-file-sharedir-install +pkgver=0.13 +pkgrel=0 +pkgdesc="Install shared files" +url="https://metacpan.org/pod/File::ShareDir::Install" +arch="noarch" +license="GPL-1.0+ OR Artistic-1.0-Perl" +depends="perl" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/E/ET/ETHER/File-ShareDir-Install-$pkgver.tar.gz" +builddir="$srcdir/File-ShareDir-Install-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="a119e38491fad8ae0ebd95913e3b608e09a2b99376a5160e75083a28abe4f83c4f6a36df216365527ff87bf8ec095254b16a2f6d2515c69f34609df8672605ca File-ShareDir-Install-0.13.tar.gz" diff --git a/user/perl-inline-c/APKBUILD b/user/perl-inline-c/APKBUILD new file mode 100644 index 000000000..50d298bb0 --- /dev/null +++ b/user/perl-inline-c/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-inline-c +pkgver=0.78 +pkgrel=0 +pkgdesc="C Language Support for Inline" +url="https://metacpan.org/pod/Inline::C" +arch="noarch" +license="GPL-1.0+ OR Artistic-1.0-Perl" +depends="perl perl-inline perl-pegex perl-parse-recdescent" +makedepends="perl-dev perl-file-sharedir-install" +checkdepends="perl-test-warn perl-yaml-libyaml perl-file-copy-recursive" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/T/TI/TINITA/Inline-C-$pkgver.tar.gz" +builddir="$srcdir/Inline-C-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="368e68dfb9f1700534d9b391090e340172e3adde5fe15576f883e9341047fec35cea8660751883b27e128ad91dda363d513547368097a989457d669bbbdc8ce4 Inline-C-0.78.tar.gz" diff --git a/user/perl-inline/APKBUILD b/user/perl-inline/APKBUILD new file mode 100644 index 000000000..032805c28 --- /dev/null +++ b/user/perl-inline/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-inline +pkgver=0.80 +pkgrel=0 +pkgdesc="Write Perl Subroutines in Other Programming Languages" +url="https://metacpan.org/pod/Inline" +arch="noarch" +license="GPL-1.0+ OR Artistic-1.0-Perl" +depends="perl" +makedepends="perl-dev" +checkdepends="perl-test-warn" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/I/IN/INGY/Inline-$pkgver.tar.gz" +builddir="$srcdir/Inline-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="e64f7752f32fd07c7c7a975429e04730f2987c9588f99b95502d4e5c87d458736a606c03943a68660940c3987cd632ad2f75ec3862342956c1754b1aca86e0bb Inline-0.80.tar.gz" diff --git a/user/perl-io-stringy/APKBUILD b/user/perl-io-stringy/APKBUILD new file mode 100644 index 000000000..e5a271ac7 --- /dev/null +++ b/user/perl-io-stringy/APKBUILD @@ -0,0 +1,41 @@ +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-io-stringy +_pkgreal=IO-stringy +pkgver=2.111 +pkgrel=0 +pkgdesc="I/O on in-core objects like strings and arrays" +url="https://metacpan.org/release/IO-stringy" +arch="noarch" +license="GPL-1.0+ OR Artistic-1.0-Perl" +cpandepends="" +cpanmakedepends="" +depends="$cpandepends" +makedepends="perl-dev $cpanmakedepends" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/D/DS/DSKOLL/$_pkgreal-$pkgver.tar.gz" +builddir="$srcdir/$_pkgreal-$pkgver" + +prepare() { + cd "$builddir" + export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'` + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor +} + +build() { + cd "$builddir" + export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'` + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="9da8fb03945bc4a59cea3b3b2e22b15d56b133470e581d1cb03920bda2b4953e3c9e4a25d095ed8a384efb5a4c58db437c92cca6a81d583791191f1a37691a4a IO-stringy-2.111.tar.gz" diff --git a/user/perl-ipc-run/APKBUILD b/user/perl-ipc-run/APKBUILD new file mode 100644 index 000000000..c78ee10fb --- /dev/null +++ b/user/perl-ipc-run/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-ipc-run +pkgver=20180523.0 +pkgrel=0 +pkgdesc="system() and background procs w/ piping, redirs, ptys" +url="https://metacpan.org/pod/IPC::Run" +arch="noarch" +license="GPL-1.0+ OR Artistic-1.0-Perl" +depends="perl" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/T/TO/TODDR/IPC-Run-$pkgver.tar.gz" +builddir="$srcdir/IPC-Run-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="e9d97cbec9f2607d1a89c1a06bd166ae2f030157f201e870df3b88b9f0b915b06a4b0db05b7f50daa4883de255e29c6898b1f9964d706739d4bf7034b53d7f89 IPC-Run-20180523.0.tar.gz" diff --git a/user/perl-json-xs/APKBUILD b/user/perl-json-xs/APKBUILD new file mode 100644 index 000000000..75f0720ce --- /dev/null +++ b/user/perl-json-xs/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-json-xs +pkgver=3.04 +pkgrel=0 +pkgdesc="JSON serialising/deserialising, done correctly and fast" +url="https://metacpan.org/pod/JSON::XS" +arch="all" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl perl-common-sense perl-types-serialiser" +makedepends="perl-dev perl-canary-stability" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/JSON-XS-$pkgver.tar.gz" +builddir="$srcdir/JSON-XS-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="69c2e199385b5b5e331d905b64805304de80e1a3b393acaf7dce21c45254b1f23f1a83b246dcd3a80c2cfdadaf8ce3634ee587c469629cb69106f0c2239c73db JSON-XS-3.04.tar.gz" diff --git a/user/perl-module-build-xsutil/APKBUILD b/user/perl-module-build-xsutil/APKBUILD new file mode 100644 index 000000000..80d03b9ed --- /dev/null +++ b/user/perl-module-build-xsutil/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-module-build-xsutil +pkgver=0.19 +pkgrel=0 +pkgdesc="A Module::Build class for building XS modules" +url="https://metacpan.org/pod/Module::Build::XSUtil" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl perl-module-build perl-devel-checkcompiler" +makedepends="perl-dev" +checkdepends="perl-capture-tiny perl-cwd-guard perl-file-copy-recursive-reduced" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/H/HI/HIDEAKIO/Module-Build-XSUtil-$pkgver.tar.gz" +builddir="$srcdir/Module-Build-XSUtil-$pkgver" + +prepare() { + cd "$builddir" + perl Build.PL installdirs=vendor +} + +build() { + cd "$builddir" + ./Build +} + +check() { + cd "$builddir" + ./Build test +} + +package() { + cd "$builddir" + ./Build install destdir="$pkgdir" + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="187f504c3f26d15b96cdc5b682d3487a31cf124475160b7fe5dce727d5d6ec5de5a58d09535adb62a1a95b3030fb62951b2cc0eca860eb03c66a48042cea8819 Module-Build-XSUtil-0.19.tar.gz" diff --git a/user/perl-module-runtime/APKBUILD b/user/perl-module-runtime/APKBUILD new file mode 100644 index 000000000..0430740c3 --- /dev/null +++ b/user/perl-module-runtime/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-module-runtime +pkgver=0.016 +pkgrel=0 +pkgdesc="Runtime module handling" +url="https://metacpan.org/pod/Module::Runtime" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev" +checkdepends="perl-test-pod perl-test-pod-coverage" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM/Module-Runtime-$pkgver.tar.gz" +builddir="$srcdir/Module-Runtime-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="64a362ee897646173dbbdd8794f863d93379d45d7ac20d3ae890d77b4ec3f5e36aaff66c41b4a6a33b28bf492216283528755550ab09e466ceafb4f0cfbaeb9e Module-Runtime-0.016.tar.gz" diff --git a/user/perl-moo/APKBUILD b/user/perl-moo/APKBUILD new file mode 100644 index 000000000..6e419cac2 --- /dev/null +++ b/user/perl-moo/APKBUILD @@ -0,0 +1,36 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-moo +pkgver=2.003004 +pkgrel=0 +pkgdesc="Minimalist Object Orientation (with Moose compatibility)" +url="https://metacpan.org/pod/Moo" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl perl-module-runtime perl-devel-globaldestruction perl-class-method-modifiers + perl-sub-quote perl-role-tiny" +makedepends="perl-dev" +checkdepends="perl-test-fatal" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/H/HA/HAARG/Moo-$pkgver.tar.gz" +builddir="$srcdir/Moo-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="686996e4dd0238cff7483e4e06db5439660e390c67e65ace67c3fd0b05ade379a168d36ae649812c8a5e2b715eefea7cb17e5db323a0cd31b90667d8954eb38a Moo-2.003004.tar.gz" diff --git a/user/perl-mouse/APKBUILD b/user/perl-mouse/APKBUILD new file mode 100644 index 000000000..d89d9c3b3 --- /dev/null +++ b/user/perl-mouse/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-mouse +pkgver=2.5.6 +pkgrel=0 +pkgdesc="Moose minus the antlers" +url="https://metacpan.org/pod/Mouse" +arch="all" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev perl-module-build-xsutil" +checkdepends="perl-test-exception perl-test-fatal perl-test-leaktrace perl-test-output perl-test-requires perl-try-tiny" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/S/SK/SKAJI/Mouse-v$pkgver.tar.gz" +builddir="$srcdir/Mouse-v$pkgver" + +prepare() { + cd "$builddir" + perl Build.PL installdirs=vendor +} + +build() { + cd "$builddir" + ./Build +} + +check() { + # most, but not all functionality is tested + cd "$builddir" + ./Build test +} + +package() { + cd "$builddir" + ./Build install destdir="$pkgdir" + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="1f29430badec842c1b3aa5a8a4c4ad785cf26d2e6cc745da82c0fa667b19da0b9e6c364e10ef615fbc03f60cb5020f079113b470162d095d8c514e6cb9ce96e3 Mouse-v2.5.6.tar.gz" diff --git a/user/perl-mousex-nativetraits/APKBUILD b/user/perl-mousex-nativetraits/APKBUILD new file mode 100644 index 000000000..34cd187bc --- /dev/null +++ b/user/perl-mousex-nativetraits/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-mousex-nativetraits +pkgver=1.09 +pkgrel=0 +pkgdesc="Extend your attribute interfaces" +url="https://metacpan.org/pod/MouseX::NativeTraits" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl perl-mouse" +makedepends="perl-dev perl-module-install" +checkdepends="perl-test-fatal perl-any-moose" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/G/GF/GFUJI/MouseX-NativeTraits-$pkgver.tar.gz" +builddir="$srcdir/MouseX-NativeTraits-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="2aad717c7c78c1014f705a85b8bb8cab79febb827aa478a0884bcdd4d8d702a366785bc6104ba115513c234b8ca71cafcbbbc070ba37d6328255fe1f972c3619 MouseX-NativeTraits-1.09.tar.gz" diff --git a/user/perl-params-util/APKBUILD b/user/perl-params-util/APKBUILD new file mode 100644 index 000000000..f18775a6f --- /dev/null +++ b/user/perl-params-util/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-params-util +_pkgreal=Params-Util +pkgver=1.07 +pkgrel=5 +pkgdesc="Simple, compact and correct param-checking functions" +url="https://metacpan.org/release/Params-Util" +arch="all" +license="GPL-1.0+ OR Artistic-1.0-Perl" +depends="perl" +makedepends="perl-dev" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/A/AD/ADAMK/$_pkgreal-$pkgver.tar.gz" +builddir="$srcdir/$_pkgreal-$pkgver" + +build() { + cd "$builddir" + unset CFLAGS + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="ff471b01b33414fc5e1c68d97c21171a95d3418c33e3c45f9910cc768898690e35051506a83ad9403a200336654c14b8efc9d471c4b3fe3321047a7603d6fd56 Params-Util-1.07.tar.gz" diff --git a/user/perl-parse-recdescent/APKBUILD b/user/perl-parse-recdescent/APKBUILD new file mode 100644 index 000000000..7e9bd3ebd --- /dev/null +++ b/user/perl-parse-recdescent/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-parse-recdescent +pkgver=1.967015 +pkgrel=0 +pkgdesc="Generate Recursive-Descent Parsers" +url="https://metacpan.org/pod/Parse::RecDescent" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev" +checkdepends="perl-test-warn perl-test-pod" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/J/JT/JTBRAUN/Parse-RecDescent-$pkgver.tar.gz" +builddir="$srcdir/Parse-RecDescent-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="38adbfc9a88f09d0465d862b845f48c0921ce462ffccaa7ce8b5f1b7090f33f70e7f00f9ee787fd698b5539804412c44f03e7942cf675d53a17a84c3510e5aa4 Parse-RecDescent-1.967015.tar.gz" diff --git a/user/perl-path-tiny/APKBUILD b/user/perl-path-tiny/APKBUILD new file mode 100644 index 000000000..0f32e49eb --- /dev/null +++ b/user/perl-path-tiny/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-path-tiny +pkgver=0.108 +pkgrel=0 +pkgdesc="File path utility" +url="https://metacpan.org/pod/Path::Tiny" +arch="noarch" +license="Apache-2.0" +depends="perl" +makedepends="perl-dev" +checkdepends="perl-test-mockrandom" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Path-Tiny-$pkgver.tar.gz" +builddir="$srcdir/Path-Tiny-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="21cbc8ec84474a2fc14b77a2c8b659676d4842a87a7572497c0dd6ba1c2e5f91cdefa30fc9578fdc416d8c8ee4155ff302833925c1fdf9242c898ba6a0ebee13 Path-Tiny-0.108.tar.gz" diff --git a/user/perl-pegex/APKBUILD b/user/perl-pegex/APKBUILD new file mode 100644 index 000000000..468e3d7a4 --- /dev/null +++ b/user/perl-pegex/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-pegex +pkgver=0.67 +pkgrel=0 +pkgdesc="Acmeist PEG Parser Framework" +url="https://metacpan.org/pod/Pegex" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev perl-file-sharedir-install" +checkdepends="perl-yaml-libyaml" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/I/IN/INGY/Pegex-$pkgver.tar.gz" +builddir="$srcdir/Pegex-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="905e22e54bdf8050bc470a2184d8b2444f583cae82b450f2e94e00ff78441687636927bf814a8f1a1e35a4b6126a6b7270d43b3dd55d68718a8c709176412274 Pegex-0.67.tar.gz" diff --git a/user/perl-pod-coverage/APKBUILD b/user/perl-pod-coverage/APKBUILD new file mode 100644 index 000000000..39ef36d1b --- /dev/null +++ b/user/perl-pod-coverage/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-pod-coverage +pkgver=0.23 +pkgrel=0 +pkgdesc="Checks if the documentation of a module is comprehensive" +url="https://metacpan.org/pod/Pod::Coverage" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl perl-devel-symdump" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/R/RC/RCLAMP/Pod-Coverage-$pkgver.tar.gz" +builddir="$srcdir/Pod-Coverage-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="64760bcaf37b22a1308b665bcccb9273e3f7d12c9a96e4a2c4a0fddd4b528e2b476dcfeb654dc52ef3f40f64f2e7a1e860647f139dc53909c7696f406b7a312e Pod-Coverage-0.23.tar.gz" diff --git a/user/perl-role-tiny/APKBUILD b/user/perl-role-tiny/APKBUILD new file mode 100644 index 000000000..b0552ccfb --- /dev/null +++ b/user/perl-role-tiny/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-role-tiny +pkgver=2.000006 +pkgrel=0 +pkgdesc="A minimalist role composition tool" +url="https://metacpan.org/pod/Role::Tiny" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/H/HA/HAARG/Role-Tiny-$pkgver.tar.gz" +builddir="$srcdir/Role-Tiny-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="7640196c4bc1bf7a5437c57f0137f3bbf7c5fb92b9614805f16fec41dfb87a8bf6b7f3348ceade0800bccd72c4e5b72bcd4ab8bf28768ecda9d912c1b4c78047 Role-Tiny-2.000006.tar.gz" diff --git a/user/perl-sub-exporter-progressive/APKBUILD b/user/perl-sub-exporter-progressive/APKBUILD new file mode 100644 index 000000000..a744538c5 --- /dev/null +++ b/user/perl-sub-exporter-progressive/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-sub-exporter-progressive +pkgver=0.001013 +pkgrel=0 +pkgdesc="Only use Sub::Exporter if you need it" +url="https://metacpan.org/pod/Sub::Exporter::Progressive" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl perl-sub-exporter" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/F/FR/FREW/Sub-Exporter-Progressive-$pkgver.tar.gz" +builddir="$srcdir/Sub-Exporter-Progressive-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="28d0ac6a380a4fc1515bd69320bcfd073c0c0e92ea34bb924972aa46fb2f6912485d686f0eca5d5b885d8b06927250dfaacd1a7ff86ba029f879a183cba546c4 Sub-Exporter-Progressive-0.001013.tar.gz" diff --git a/user/perl-sub-exporter/APKBUILD b/user/perl-sub-exporter/APKBUILD new file mode 100644 index 000000000..174da8d4b --- /dev/null +++ b/user/perl-sub-exporter/APKBUILD @@ -0,0 +1,43 @@ +# Automatically generated by apkbuild-cpan, template 1 +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-sub-exporter +_pkgreal=Sub-Exporter +pkgver=0.987 +pkgrel=0 +pkgdesc="A sophisticated exporter for custom-built routines" +url="https://metacpan.org/release/Sub-Exporter" +arch="noarch" +license="GPL-1.0+ OR Artistic-1.0-Perl" +cpandepends="perl-data-optlist perl-sub-install perl-params-util" +cpanmakedepends="" +depends="$cpandepends" +makedepends="perl-dev $cpanmakedepends" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/R/RJ/RJBS/$_pkgreal-$pkgver.tar.gz" +builddir="$srcdir/$_pkgreal-$pkgver" + +prepare() { + cd "$builddir" + export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'` + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor +} + +build() { + cd "$builddir" + export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'` + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="6b682d27a0df8ce971ea48aeca5162e1c70929c51cf27119b30361477876b0b86ecb15ab13a6c3cbe5bb85be9e600589fb9e3c9c4e94bad3fc05b675d293adad Sub-Exporter-0.987.tar.gz" diff --git a/user/perl-sub-install/APKBUILD b/user/perl-sub-install/APKBUILD new file mode 100644 index 000000000..d0883e0cd --- /dev/null +++ b/user/perl-sub-install/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-sub-install +_pkgreal=Sub-Install +pkgver=0.928 +pkgrel=0 +pkgdesc="Install subroutines into packages easily" +url="https://metacpan.org/release/Sub-Install" +arch="noarch" +license="GPL-1.0+ OR Artistic-1.0-Perl" +depends="perl" +makedepends="perl-dev" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/R/RJ/RJBS/$_pkgreal-$pkgver.tar.gz" +builddir="$srcdir/$_pkgreal-$pkgver" + +build() { + cd "$_builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="3f25df9f5992075968830d4235e9f6520c526331b9180391e41483241d43253a61ad8dc381d77aaeb6c6fb841cfc5c097598e62abb46208894275c393a133ade Sub-Install-0.928.tar.gz" diff --git a/user/perl-sub-quote/APKBUILD b/user/perl-sub-quote/APKBUILD new file mode 100644 index 000000000..778b7f793 --- /dev/null +++ b/user/perl-sub-quote/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-sub-quote +pkgver=2.005001 +pkgrel=0 +pkgdesc="Efficient generation of subroutines via string eval" +url="https://metacpan.org/release/Sub-Quote" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev perl-test-fatal" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/H/HA/HAARG/Sub-Quote-$pkgver.tar.gz" +builddir="$srcdir/Sub-Quote-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="3c32348c8ac6a8831faf75b084a6108657a3cfc0841fda8d8a182c4ca38c88f800bc60a01df07a2010b9a877e120fc46720f17f11092de5e97f40c36854ba24c Sub-Quote-2.005001.tar.gz" diff --git a/user/perl-test-deep/APKBUILD b/user/perl-test-deep/APKBUILD new file mode 100644 index 000000000..0c488f4e2 --- /dev/null +++ b/user/perl-test-deep/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-test-deep +pkgver=1.128 +pkgrel=0 +pkgdesc="Extremely flexible deep comparison" +url="https://metacpan.org/pod/Test::Deep" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/R/RJ/RJBS/Test-Deep-$pkgver.tar.gz" +builddir="$srcdir/Test-Deep-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="d4642b3268a10d8e882beabfbb3b3bf891a57aa7ebb74bc4919a4368df9c9acd2351498401538ae50299071f99e06b4443686d20f8c9f95f5fd588309ccee302 Test-Deep-1.128.tar.gz" diff --git a/user/perl-test-differences/APKBUILD b/user/perl-test-differences/APKBUILD new file mode 100644 index 000000000..64a93147b --- /dev/null +++ b/user/perl-test-differences/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-test-differences +pkgver=0.64 +pkgrel=0 +pkgdesc="Test strings and data structures and show differences if not ok" +url="https://metacpan.org/pod/Test::Differences" +arch="noarch" +license="Artistic-1.0-Perl OR GPL-1.0" +depends="perl perl-text-diff perl-capture-tiny perl-test-pod-coverage perl-test-pod" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL/Test-Differences-$pkgver.tar.gz" +builddir="$srcdir/Test-Differences-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="118a4b8e3f61f64d6676c82913bb605a843a408f3fc5d960b40cc86f10423380a203b2a5604e15ba8d4e0cff96af88b551fba1c7aa2ada3c0ef408a27ee5f069 Test-Differences-0.64.tar.gz" diff --git a/user/perl-test-file/APKBUILD b/user/perl-test-file/APKBUILD new file mode 100644 index 000000000..947598ca1 --- /dev/null +++ b/user/perl-test-file/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-test-file +pkgver=1.443 +pkgrel=0 +pkgdesc="Test file attributes" +url="https://metacpan.org/pod/Test::File" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev" +checkdepends="perl-test-pod perl-test-pod-coverage perl-test-utf8" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/B/BD/BDFOY/Test-File-$pkgver.tar.gz" +builddir="$srcdir/Test-File-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="9ad66b3a9dc1c3752a4ec22934db9139ac010ac3237a3de018d4ec4a65ac047f0152ab9e7979a2615412c1af02a1f2dfa0dbfdf5eba5358628b1b443232c45b2 Test-File-1.443.tar.gz" diff --git a/user/perl-test-mockrandom/APKBUILD b/user/perl-test-mockrandom/APKBUILD new file mode 100644 index 000000000..ddf840a56 --- /dev/null +++ b/user/perl-test-mockrandom/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-test-mockrandom +pkgver=1.01 +pkgrel=0 +pkgdesc="Replaces random number generation with non-random number generation" +url="https://metacpan.org/pod/Test::MockRandom" +arch="noarch" +license="Apache-2.0" +depends="perl" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Test-MockRandom-$pkgver.tar.gz" +builddir="$srcdir/Test-MockRandom-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="e222bd0d3d7673b403e80d1633ddaca0ee35f96f2245e8df859d661edc7efc09b9a96d3718f25b6614395d1f24d66c9498e842cec476cf8c5b12464d585f85e7 Test-MockRandom-1.01.tar.gz" diff --git a/user/perl-test-output/APKBUILD b/user/perl-test-output/APKBUILD new file mode 100644 index 000000000..8454737f3 --- /dev/null +++ b/user/perl-test-output/APKBUILD @@ -0,0 +1,44 @@ +# Automatically generated by apkbuild-cpan, template 1 +# Contributor: Francesco Colista <fcolista@alpinelinux.org> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-test-output +_pkgreal=Test-Output +pkgver=1.031 +pkgrel=0 +pkgdesc="Utilities to test STDOUT and STDERR messages" +url="https://metacpan.org/release/Test-Output" +arch="noarch" +license="Artistic-2.0" +cpandepends="perl-capture-tiny perl-sub-exporter perl-test-simple" +cpanmakedepends="" +depends="$cpandepends" +makedepends="perl-dev $cpanmakedepends" +checkdepends="perl-test-pod" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/B/BD/BDFOY/$_pkgreal-$pkgver.tar.gz" +builddir="$srcdir/$_pkgreal-$pkgver" + +prepare() { + cd "$builddir" + export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'` + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor +} + +build() { + cd "$builddir" + export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'` + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="b443d5a4ab7be1c308b74ebc9a1a50022b404886e8a1dbd2700d974ead506a6976ec6d5c141528cf1c2833174c3afd9023362cb0b4e000f0e878d2e3e9f90e90 Test-Output-1.031.tar.gz" diff --git a/user/perl-test-pod-coverage/APKBUILD b/user/perl-test-pod-coverage/APKBUILD new file mode 100644 index 000000000..903724f9b --- /dev/null +++ b/user/perl-test-pod-coverage/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-test-pod-coverage +pkgver=1.10 +pkgrel=0 +pkgdesc="Check for pod coverage in your distribution" +url="https://metacpan.org/pod/Test::Pod::Coverage" +arch="noarch" +license="Artistic-2.0" +depends="perl perl-pod-coverage" +makedepends="perl-dev" +checkdepends="perl-test-pod" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/N/NE/NEILB/Test-Pod-Coverage-$pkgver.tar.gz" +builddir="$srcdir/Test-Pod-Coverage-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="ebcebb900f4367984245d1915937200e2de8586a6e6ea9c9b71588e56caf68808ee73c21e633434ab5c43b80b42dd56cb0cbd4e67519e928270e1eda06c1d02c Test-Pod-Coverage-1.10.tar.gz" diff --git a/user/perl-test-utf8/APKBUILD b/user/perl-test-utf8/APKBUILD new file mode 100644 index 000000000..ee562a170 --- /dev/null +++ b/user/perl-test-utf8/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-test-utf8 +pkgver=1.01 +pkgrel=0 +pkgdesc="Handy UTF8 tests" +url="https://metacpan.org/pod/Test::utf8" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev perl-module-install" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/M/MA/MARKF/Test-utf8-$pkgver.tar.gz" +builddir="$srcdir/Test-utf8-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="07dcd5ed98a63f7d96bb0fc629b168773d02bb4c93c5bc44ec60738fc29669794547dfde5913f9de682cd583cf85f4d82b6151398aaebcfec9278525447b9c4e Test-utf8-1.01.tar.gz" diff --git a/user/perl-test-warnings/APKBUILD b/user/perl-test-warnings/APKBUILD new file mode 100644 index 000000000..9b65d822e --- /dev/null +++ b/user/perl-test-warnings/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-test-warnings +pkgver=0.026 +pkgrel=0 +pkgdesc="Test for warnings and the lack of them" +url="https://metacpan.org/pod/Test::Warnings" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/E/ET/ETHER/Test-Warnings-$pkgver.tar.gz" +builddir="$srcdir/Test-Warnings-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="510e182299173fa01482cde642fe5d84a77ea2f3b1761c7d8bf855caed963f276134357b4d7662bb3fbf09621ac6e11451fe19bf0ba2cf96bc841c280a624cd4 Test-Warnings-0.026.tar.gz" diff --git a/user/perl-text-diff/APKBUILD b/user/perl-text-diff/APKBUILD new file mode 100644 index 000000000..303106e54 --- /dev/null +++ b/user/perl-text-diff/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-text-diff +pkgver=1.45 +pkgrel=0 +pkgdesc="Perform diffs on files and record sets" +url="https://metacpan.org/pod/Text::Diff" +arch="noarch" +license="GPL-2.0+ OR Artistic-1.0-Perl" +depends="perl perl-algorithm-diff" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/N/NE/NEILB/Text-Diff-$pkgver.tar.gz" +builddir="$srcdir/Text-Diff-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="569370707bf30d60d12df6389594bcdba050805005916ac3a485c2226e528891b0af9ecfcc13d20e4f377d2c36a7ff67e51de5ca409c647aa8a36b7a87eab367 Text-Diff-1.45.tar.gz" diff --git a/user/perl-types-serialiser/APKBUILD b/user/perl-types-serialiser/APKBUILD new file mode 100644 index 000000000..6c34d8215 --- /dev/null +++ b/user/perl-types-serialiser/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-types-serialiser +pkgver=1.0 +pkgrel=0 +pkgdesc="Simple data types for common serialisation formats" +url="https://metacpan.org/pod/Types::Serialiser" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl perl-common-sense" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/Types-Serialiser-$pkgver.tar.gz" +builddir="$srcdir/Types-Serialiser-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="b786bcd3ee976a6ad948cc98a9c71d2cdcd30f485528eff059091f6d86ae7078c10ba2dc2982326fcf0184dbfbdddea84daff324c6ec6a129fe6aac01253c8fb Types-Serialiser-1.0.tar.gz" diff --git a/user/perl-x11-xcb/APKBUILD b/user/perl-x11-xcb/APKBUILD new file mode 100644 index 000000000..070b97db9 --- /dev/null +++ b/user/perl-x11-xcb/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-x11-xcb +pkgver=0.17 +pkgrel=0 +pkgdesc="Perl bindings for libxcb" +url="https://metacpan.org/pod/X11::XCB" +arch="all" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl perl-extutils-pkgconfig perl-extutils-depends + perl-xs-object-magic perl-data-dump perl-xml-simple + perl-xml-descent perl-mouse perl-mousex-nativetraits" +makedepends="perl-dev perl-xs-object-magic-dev libxcb-dev + xcb-util-dev xcb-util-wm-dev" +checkdepends="perl-test-deep perl-test-exception" +options="!check" # Tests require a running X server +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/M/MS/MSTPLBG/X11-XCB-$pkgver.tar.gz" +builddir="$srcdir/X11-XCB-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make -j1 +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="8a5457afdb3b32fd6d425a27dee1a6afbbded222cf71a9d7201ed2c0db0b0b7c803ae3e69a897c510b9b07b79e880efe0cf062ea025d2d3ff7ee16d364c568bc X11-XCB-0.17.tar.gz" diff --git a/user/perl-xml-descent/APKBUILD b/user/perl-xml-descent/APKBUILD new file mode 100644 index 000000000..846a4361e --- /dev/null +++ b/user/perl-xml-descent/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-xml-descent +pkgver=1.04 +pkgrel=0 +pkgdesc="Recursive descent XML parsing" +url="https://metacpan.org/pod/XML::Descent" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl perl-xml-tokeparser" +makedepends="perl-dev" +checkdepends="perl-test-pod perl-test-differences" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/A/AN/ANDYA/XML-Descent-$pkgver.tar.gz" +sha512sums="779a476907ecfbe9c279fa1f476c3aa64de626c515719643be21fef8b945cdd5c1f654a189bf7ea9a6964a88818e101e1eddc019439a5dcb397f56b13bdfa415 XML-Descent-1.04.tar.gz" +builddir="$srcdir/XML-Descent-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + diff --git a/user/perl-xml-namespacesupport/APKBUILD b/user/perl-xml-namespacesupport/APKBUILD new file mode 100644 index 000000000..e155f6b32 --- /dev/null +++ b/user/perl-xml-namespacesupport/APKBUILD @@ -0,0 +1,32 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-xml-namespacesupport +pkgver=1.12 +pkgrel=0 +pkgdesc="A Perl module for processing XML namespaces" +url="https://metacpan.org/pod/XML::NamespaceSupport" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0+" +depends="perl" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-$pkgver.tar.gz" +builddir="$srcdir/XML-NamespaceSupport-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="8a29698acc152888b3abd53b277f89209252830cc3b57d587a5b66e5019445d7c1858a08fa548d42387c1143b726da1440e36eb0c69b0b59c3770b5f528f38b2 XML-NamespaceSupport-1.12.tar.gz" diff --git a/user/perl-xml-simple/APKBUILD b/user/perl-xml-simple/APKBUILD new file mode 100644 index 000000000..9327c5fc3 --- /dev/null +++ b/user/perl-xml-simple/APKBUILD @@ -0,0 +1,32 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-xml-simple +pkgver=2.25 +pkgrel=0 +pkgdesc="A Perl module for parsing XML" +url="https://metacpan.org/pod/XML::Simple" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0+" +depends="perl perl-xml-parser perl-xml-namespacesupport" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/G/GR/GRANTM/XML-Simple-$pkgver.tar.gz" +builddir="$srcdir/XML-Simple-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="0f1a6a1bdb8f6ac6fa4deef33d09930eb4758b4a3ed4431624004ffa2b1eb02f0d6ce14cb4942162cb76f7aa39fea4ec6a71e1eb9ebd464b710db7024bdd990c XML-Simple-2.25.tar.gz" diff --git a/user/perl-xml-tokeparser/APKBUILD b/user/perl-xml-tokeparser/APKBUILD new file mode 100644 index 000000000..a797ee9e4 --- /dev/null +++ b/user/perl-xml-tokeparser/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-xml-tokeparser +pkgver=0.05 +pkgrel=0 +pkgdesc="Simplified interface to XML::Parser" +url="https://metacpan.org/pod/XML::TokeParser" +arch="noarch" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl perl-xml-parser" +makedepends="perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/P/PO/PODMASTER/XML-TokeParser-$pkgver.tar.gz" +sha512sums="c19be15013a04908ae863ec1095af34785ad6050c8f895759e98053a0c097c9a80f5c99d33e30675c003cde7eb3b9340e866bc90c5fbcfcad93666df42439a7a XML-TokeParser-0.05.tar.gz" +builddir="$srcdir/XML-TokeParser-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + diff --git a/user/perl-xs-object-magic/APKBUILD b/user/perl-xs-object-magic/APKBUILD new file mode 100644 index 000000000..f36be4872 --- /dev/null +++ b/user/perl-xs-object-magic/APKBUILD @@ -0,0 +1,36 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-xs-object-magic +pkgver=0.04 +pkgrel=0 +pkgdesc="Opaque, extensible XS pointer backed objects using sv_magic" +url="https://metacpan.org/pod/XS::Object::Magic" +arch="all" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl perl-module-install perl-extutils-depends" +depends_dev="" +makedepends="$depends_dev perl-dev" +checkdepends="perl-test-fatal" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="https://cpan.metacpan.org/authors/id/F/FL/FLORA/XS-Object-Magic-$pkgver.tar.gz" +sha512sums="315288496c0bab79f16d010f7f140dc1483bb3a1053a7fc41a048308aa1f9ae01b03795be28f132c856360176372d2251315ae62db950e377be88ff222a441dd XS-Object-Magic-0.04.tar.gz" +builddir="$srcdir/XS-Object-Magic-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + diff --git a/user/perl-yaml-libyaml/APKBUILD b/user/perl-yaml-libyaml/APKBUILD new file mode 100644 index 000000000..516971ac2 --- /dev/null +++ b/user/perl-yaml-libyaml/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> +pkgname=perl-yaml-libyaml +pkgver=0.74 +pkgrel=0 +pkgdesc="Perl YAML Serialization using XS and libyaml" +url="https://metacpan.org/pod/YAML::LibYAML" +arch="all" +license="Artistic-1.0-Perl AND GPL-2.0" +depends="perl" +depends_dev="" +makedepends="$depends_dev perl-dev" +install="" +subpackages="$pkgname-doc" +source="https://cpan.metacpan.org/authors/id/I/IN/INGY/YAML-LibYAML-$pkgver.tar.gz" +builddir="$srcdir/YAML-LibYAML-$pkgver" + +build() { + cd "$builddir" + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + make +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete +} + +sha512sums="fbc502b1c9173ec76a01e99d303bffd4c97d0a8f30dc6fe8f1962f8edc0296d81fb06c1ef958a0ec81a45259f1f9f6fcdfc3a056054dbf24ae8ce4a4be736614 YAML-LibYAML-0.74.tar.gz" diff --git a/user/php7/APKBUILD b/user/php7/APKBUILD index 8d3d77ffe..e48a1f3e3 100644 --- a/user/php7/APKBUILD +++ b/user/php7/APKBUILD @@ -25,7 +25,7 @@ pkgname=php7 _pkgname=php -pkgver=7.2.9 +pkgver=7.2.10 pkgrel=0 _apiver=20170718 pkgdesc="The PHP7 language runtime engine" @@ -522,7 +522,7 @@ _mv() { mv $@ } -sha512sums="45ff1b090646d3d8516250c88951d797831dc449aad15c809995462c7df72c347a4012578d0c923a036aaebd761844bfc6804639f21e386e53fe68b0445b091a php-7.2.9.tar.bz2 +sha512sums="de1c22ee37cd0e6d1682091d9735f292cb5c6be653c5ce5771fdcd43522122dfebecab474fe2b29f94a757942513569916ebff59f3a8e63b6fc61830dabb3e47 php-7.2.10.tar.bz2 23df4e779c809db3e3b8e5b0353b1aafaad2f3dc56f2d1cd45f9b0e3ad71b32e40700d6ebfe914b3c87e8e0b670d0dc862ded1e5c898adf160e33dea372e044f php-fpm.initd 01d4ba3ef104ea378eb0e8cbb7bdee3fdf65e4bd6865eb3bc6c0dc4af31c2d52887abdf0150b5ef984b877860285a3b1af84b11ffebb5b8b722ea9faf83edfeb php-fpm.logrotate a7f9ba5e11652fd1cb9e756c3269269a95de083ecb5be936a85c7a09c1396db9088e0251c6a643c40235c0e776fce2a471e5c7f5a033b85c7d3b3110c2b39e48 php-module.conf diff --git a/user/physlock/APKBUILD b/user/physlock/APKBUILD new file mode 100644 index 000000000..a2c4e471f --- /dev/null +++ b/user/physlock/APKBUILD @@ -0,0 +1,28 @@ +# Contributor: Max Rees <maxcrees@me.com> +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=physlock +pkgver=11 +pkgrel=0 +pkgdesc="Lightweight Linux console-locking tool" +url="https://github.com/muennich/physlock" +arch="all" +options="!check suid" # No test suite. +license="GPL-2.0+" +depends="" +makedepends="linux-headers linux-pam-dev utmps-dev" +subpackages="$pkgname-doc" +source="$pkgname-$pkgver.tar.gz::https://github.com/muennich/physlock/archive/v$pkgver.tar.gz + utmps.patch" + +build() { + cd "$builddir" + make +} + +package() { + cd "$builddir" + make PREFIX="/usr" DESTDIR="$pkgdir" install +} + +sha512sums="d3badf5c99e4e3e16f4e7ec5c59ee8320c845f1b180463900d816206362ce1aa8652f2489453ad5e190cceee2ed61a90acc52e25bb6b4c4a9dc8c4ebd3054938 physlock-11.tar.gz +d461b462dedfb7505f506ce1050d5140b8729f50a383157157e4f65465f63174cc11dc0a46cc1eed57cec0293006c5ec6cc6e96af9acab009ab3c9fe5e2381d5 utmps.patch" diff --git a/user/physlock/utmps.patch b/user/physlock/utmps.patch new file mode 100644 index 000000000..efae166a9 --- /dev/null +++ b/user/physlock/utmps.patch @@ -0,0 +1,33 @@ +--- physlock-11/auth.c 2017-07-13 07:23:52.000000000 +0000 ++++ physlock-11/auth.c 2018-09-21 21:21:36.240024566 +0000 +@@ -16,13 +16,14 @@ + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + ++#define _GNU_SOURCE + #include <paths.h> + #include <stdio.h> + #include <stdlib.h> + #include <string.h> + #include <pwd.h> + #include <unistd.h> +-#include <utmp.h> ++#include <utmpx.h> + #include <errno.h> + #include <security/pam_misc.h> + +@@ -41,12 +42,12 @@ static void get_pam(userinfo_t *uinfo) { + + void get_user(userinfo_t *uinfo, int vt, uid_t owner) { + FILE *uf; +- struct utmp r; ++ struct utmpx r; + struct passwd *pw; + char tty[16], name[UT_NAMESIZE+1]; + + uinfo->name = NULL; +- while ((uf = fopen(_PATH_UTMP, "r")) == NULL && errno == EINTR); ++ while ((uf = fopen(UTMPX_FILE, "r")) == NULL && errno == EINTR); + + if (uf != NULL) { + snprintf(tty, sizeof(tty), "tty%d", vt); diff --git a/user/py3-attrs/APKBUILD b/user/py3-attrs/APKBUILD new file mode 100644 index 000000000..fad246453 --- /dev/null +++ b/user/py3-attrs/APKBUILD @@ -0,0 +1,32 @@ +# Contributor: Jean-Louis Fuchs <ganwell@fangorn.ch> +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=py3-attrs +pkgver=18.2.0 +pkgrel=0 +pkgdesc="Python classes without boilerplate" +url="https://www.attrs.org" +arch="noarch" +options="!check" # Circular dependency with py3-pytest. Passes on x86_64 +license="MIT" +depends="python3" +makedepends="python3-dev" +#checkdepends="py3-tox" +source="py3-attrs-$pkgver.tar.gz::https://github.com/python-attrs/attrs/archive/$pkgver.tar.gz" +builddir="$srcdir/attrs-$pkgver" + +build() { + cd "$builddir" + python3 setup.py build +} + +check() { + cd "$builddir" + tox -e py36 +} + +package() { + cd "$builddir" + python3 setup.py install --prefix=/usr --root="$pkgdir" +} + +sha512sums="01bcd8d492f0b7e64ae42e311b0e443d2b365d98021d8c15f8003da084f48cd20456c12defd734d3386979bb69ac2bebafa1d14692c6dad69b084929992b2c2d py3-attrs-18.2.0.tar.gz" diff --git a/user/py3-more-itertools/APKBUILD b/user/py3-more-itertools/APKBUILD new file mode 100644 index 000000000..46baffedb --- /dev/null +++ b/user/py3-more-itertools/APKBUILD @@ -0,0 +1,33 @@ +# Contributor: Max Rees <maxcrees@me.com> +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=py3-more-itertools +_pkgname=more-itertools +pkgver=4.3.0 +pkgrel=0 +pkgdesc="More routines for operating on iterables, beyond itertools" +url="https://pypi.org/project/more-itertools" +options="!check" # Circular dependency with py3-pytest. Passes on x86_64 +arch="noarch" +license="MIT" +depends="python3" +makedepends="" +#checkdepends="py3-tox" +source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/m/$_pkgname/$_pkgname-$pkgver.tar.gz" +builddir="$srcdir/$_pkgname-$pkgver" + +build() { + cd "$builddir" + python3 setup.py build +} + +check() { + cd "$builddir" + tox -e py36 +} + +package() { + cd "$builddir" + python3 setup.py install --prefix=/usr --root="$pkgdir" +} + +sha512sums="5fee3d99fd796b0f0f6b5aa99a8db22e219d3dced71fef6f4b16286fe67061dce280389b3638c55c6e5f6c828ef1286cee845d76a6861d2af66d90e995d5aa4e py3-more-itertools-4.3.0.tar.gz" diff --git a/user/py3-pygobject/APKBUILD b/user/py3-pygobject/APKBUILD index a4804cd0d..62c3717b7 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.0 +pkgver=3.30.1 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="5fa48b16edd61b3ae584f6690582485ef54eb962b46a4fa129786cbfafc89b65c1f3e9f8211b550fda42fb084170ed5e9a27e070feb109b26750ed54581764de pygobject-3.30.0.tar.bz2" +sha512sums="99f25e19d36b9700670f1e6c6d279104ec449f958001e1c0dc7225169aeaccf882420badac419a2cb4ef8c39f847102d2d62435e95e1a334c440ee5de03b3f7f pygobject-3.30.1.tar.bz2" diff --git a/user/py3-pytest/APKBUILD b/user/py3-pytest/APKBUILD index 30a26fb30..8d720971e 100644 --- a/user/py3-pytest/APKBUILD +++ b/user/py3-pytest/APKBUILD @@ -3,13 +3,13 @@ pkgname=py3-pytest _pkgname=pytest pkgver=3.5.1 -pkgrel=0 +pkgrel=1 pkgdesc="A python test library" url="https://pypi.python.org/pypi/pytest" arch="noarch" options="net !check" # Circular dependency with py3-tox. Passes on x86_64 license="MIT" -depends="python3 py3-py" +depends="python3 py3-py py3-more-itertools py3-six py3-pluggy py3-attrs" makedepends="python3-dev" #checkdepends="py3-tox" source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz" diff --git a/user/py3-six/APKBUILD b/user/py3-six/APKBUILD index 7c001b2a9..3b5c00d34 100644 --- a/user/py3-six/APKBUILD +++ b/user/py3-six/APKBUILD @@ -7,10 +7,11 @@ pkgrel=1 pkgdesc="Python 2 compatibility library" url="https://pypi.python.org/pypi/six" arch="noarch" +options="!check" # Circular dependency with py3-pytest license="MIT" depends="" makedepends="python3-dev" -checkdepends="py3-pluggy py3-pytest" +#checkdepends="py3-pluggy py3-pytest" source="$pkgname-$pkgver.tar.gz::https://github.com/benjaminp/$_pkgname/archive/$pkgver.tar.gz" builddir="$srcdir/$_pkgname-$pkgver" diff --git a/user/rust/0001-Require-static-native-libraries-when-linking-static-.patch b/user/rust/0001-Require-static-native-libraries-when-linking-static-.patch new file mode 100644 index 000000000..2bcf4b318 --- /dev/null +++ b/user/rust/0001-Require-static-native-libraries-when-linking-static-.patch @@ -0,0 +1,44 @@ +From 531eaa63083c5351cea24867ba7144817d456d77 Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Fri, 8 Sep 2017 00:05:18 -0500 +Subject: [PATCH 01/28] Require static native libraries when linking static + executables + +--- + src/librustc_codegen_llvm/back/link.rs | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) + +diff --git a/src/librustc_codegen_llvm/back/link.rs b/src/librustc_codegen_llvm/back/link.rs +index 845a66c6e4..f61318affc 100644 +--- a/src/librustc_codegen_llvm/back/link.rs ++++ b/src/librustc_codegen_llvm/back/link.rs +@@ -1551,8 +1551,8 @@ fn add_upstream_rust_crates(cmd: &mut dyn Linker, + } + } + +-// Link in all of our upstream crates' native dependencies. Remember that +-// all of these upstream native dependencies are all non-static ++// Link in all of our upstream crates' native dependencies. Remember that when ++// linking libraries, these upstream native dependencies are all non-static + // dependencies. We've got two cases then: + // + // 1. The upstream crate is an rlib. In this case we *must* link in the +@@ -1596,7 +1596,14 @@ fn add_upstream_native_libraries(cmd: &mut dyn Linker, + continue + } + match lib.kind { +- NativeLibraryKind::NativeUnknown => cmd.link_dylib(&name.as_str()), ++ NativeLibraryKind::NativeUnknown => { ++ // When creating executables, match library linkage to that of the executable. ++ if crate_type == config::CrateTypeExecutable && sess.crt_static() { ++ cmd.link_staticlib(&name.as_str()) ++ } else { ++ cmd.link_dylib(&name.as_str()) ++ } ++ }, + NativeLibraryKind::NativeFramework => cmd.link_framework(&name.as_str()), + NativeLibraryKind::NativeStaticNobundle => { + // Link "static-nobundle" native libs only if the crate they originate from +-- +2.18.0 + diff --git a/user/rust/0002-Don-t-pass-CFLAGS-to-the-C-compiler.patch b/user/rust/0002-Don-t-pass-CFLAGS-to-the-C-compiler.patch new file mode 100644 index 000000000..a3efabf93 --- /dev/null +++ b/user/rust/0002-Don-t-pass-CFLAGS-to-the-C-compiler.patch @@ -0,0 +1,36 @@ +From b77da61648c4787be551de6f654148c3686c7a3e Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Wed, 10 Jan 2018 13:36:41 -0600 +Subject: [PATCH 02/28] Don't pass CFLAGS to the C++ compiler + +--- + src/bootstrap/builder.rs | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs +index dc0b0aaf0b..257d369750 100644 +--- a/src/bootstrap/builder.rs ++++ b/src/bootstrap/builder.rs +@@ -966,7 +966,7 @@ impl<'a> Builder<'a> { + let cflags = self.cflags(target).join(" "); + cargo + .env(format!("CFLAGS_{}", target), cflags.clone()) +- .env("CFLAGS", cflags.clone()); ++ .env("CFLAGS", cflags); + + if let Some(ar) = self.ar(target) { + let ranlib = format!("{} s", ar.display()); +@@ -981,9 +981,7 @@ impl<'a> Builder<'a> { + let cxx = ccacheify(&cxx); + cargo + .env(format!("CXX_{}", target), &cxx) +- .env("CXX", &cxx) +- .env(format!("CXXFLAGS_{}", target), cflags.clone()) +- .env("CXXFLAGS", cflags); ++ .env("CXX", &cxx); + } + } + +-- +2.18.0 + diff --git a/user/rust/0003-Fix-LLVM-build.patch b/user/rust/0003-Fix-LLVM-build.patch new file mode 100644 index 000000000..d2ca8526b --- /dev/null +++ b/user/rust/0003-Fix-LLVM-build.patch @@ -0,0 +1,26 @@ +From 272bbaa5abe4f165a1f45ea1e9b33604af3ca77b Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Fri, 8 Sep 2017 00:04:29 -0500 +Subject: [PATCH 03/28] Fix LLVM build + +--- + src/bootstrap/lib.rs | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs +index 1efff19dfb..e6ac847afe 100644 +--- a/src/bootstrap/lib.rs ++++ b/src/bootstrap/lib.rs +@@ -742,7 +742,8 @@ impl Build { + // cc-rs because the build scripts will determine that for themselves. + let mut base = self.cc[&target].args().iter() + .map(|s| s.to_string_lossy().into_owned()) +- .filter(|s| !s.starts_with("-O") && !s.starts_with("/O")) ++ .filter(|s| !s.starts_with("-O") && !s.starts_with("/O") ++ && !s.starts_with("-static")) + .collect::<Vec<_>>(); + + // If we're compiling on macOS then we add a few unconditional flags +-- +2.18.0 + diff --git a/user/rust/0004-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch b/user/rust/0004-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch new file mode 100644 index 000000000..a5105fd82 --- /dev/null +++ b/user/rust/0004-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch @@ -0,0 +1,25 @@ +From 46fce11b84d5ae71fe55593c6141307a60ee349f Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Mon, 17 Sep 2018 01:32:20 +0000 +Subject: [PATCH 04/28] test/sysroot-crates-are-unstable: Fix test when rpath + is disabled + +Without this environment var, the test can't run rustc to find +the sysroot path. +--- + .../run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile +index a35174b3c2..9e77070685 100644 +--- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile ++++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile +@@ -1,2 +1,4 @@ ++-include ../tools.mk ++ + all: +- python2.7 test.py ++ env '$(HOST_RPATH_ENV)' python2.7 test.py +-- +2.18.0 + diff --git a/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch b/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch new file mode 100644 index 000000000..4fb2f6e23 --- /dev/null +++ b/user/rust/0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch @@ -0,0 +1,444 @@ +From 98c0bb0e0213db77313c73167acf65c4658046dd Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Fri, 8 Sep 2017 22:11:14 -0500 +Subject: [PATCH 05/28] Remove -nostdlib and musl_root from musl targets + +--- + config.toml.example | 6 --- + src/bootstrap/bin/rustc.rs | 10 ----- + src/bootstrap/cc_detect.rs | 27 ++---------- + src/bootstrap/compile.rs | 31 -------------- + src/bootstrap/config.rs | 7 ---- + src/bootstrap/configure.py | 22 ---------- + src/bootstrap/lib.rs | 8 ---- + src/bootstrap/sanity.rs | 30 +------------- + .../dist-i586-gnu-i586-i686-musl/Dockerfile | 2 - + src/ci/docker/dist-various-1/Dockerfile | 7 ---- + src/ci/docker/dist-x86_64-musl/Dockerfile | 1 - + src/librustc_target/spec/linux_musl_base.rs | 41 ------------------- + 12 files changed, 4 insertions(+), 188 deletions(-) + +diff --git a/config.toml.example b/config.toml.example +index 9907341633..6f8b52e235 100644 +--- a/config.toml.example ++++ b/config.toml.example +@@ -409,12 +409,6 @@ + # only use static libraries. If unset, the target's default linkage is used. + #crt-static = false + +-# The root location of the MUSL installation directory. The library directory +-# will also need to contain libunwind.a for an unwinding implementation. Note +-# that this option only makes sense for MUSL targets that produce statically +-# linked binaries +-#musl-root = "..." +- + # Used in testing for configuring where the QEMU images are located, you + # probably don't want to use this. + #qemu-rootfs = "..." +diff --git a/src/bootstrap/bin/rustc.rs b/src/bootstrap/bin/rustc.rs +index 7192cae895..71435f9306 100644 +--- a/src/bootstrap/bin/rustc.rs ++++ b/src/bootstrap/bin/rustc.rs +@@ -30,7 +30,6 @@ + extern crate bootstrap; + + use std::env; +-use std::ffi::OsString; + use std::io; + use std::path::PathBuf; + use std::process::Command; +@@ -126,15 +125,6 @@ fn main() { + cmd.arg("-Cprefer-dynamic"); + } + +- // Help the libc crate compile by assisting it in finding the MUSL +- // native libraries. +- if let Some(s) = env::var_os("MUSL_ROOT") { +- let mut root = OsString::from("native="); +- root.push(&s); +- root.push("/lib"); +- cmd.arg("-L").arg(&root); +- } +- + // Override linker if necessary. + if let Ok(target_linker) = env::var("RUSTC_TARGET_LINKER") { + cmd.arg(format!("-Clinker={}", target_linker)); +diff --git a/src/bootstrap/cc_detect.rs b/src/bootstrap/cc_detect.rs +index 698903f128..629cedf019 100644 +--- a/src/bootstrap/cc_detect.rs ++++ b/src/bootstrap/cc_detect.rs +@@ -95,7 +95,7 @@ pub fn find(build: &mut Build) { + if let Some(cc) = config.and_then(|c| c.cc.as_ref()) { + cfg.compiler(cc); + } else { +- set_compiler(&mut cfg, Language::C, target, config, build); ++ set_compiler(&mut cfg, Language::C, target, config); + } + + let compiler = cfg.get_compiler(); +@@ -124,7 +124,7 @@ pub fn find(build: &mut Build) { + if let Some(cxx) = config.and_then(|c| c.cxx.as_ref()) { + cfg.compiler(cxx); + } else { +- set_compiler(&mut cfg, Language::CPlusPlus, host, config, build); ++ set_compiler(&mut cfg, Language::CPlusPlus, host, config); + } + let compiler = cfg.get_compiler(); + build.verbose(&format!("CXX_{} = {:?}", host, compiler.path())); +@@ -135,8 +135,7 @@ pub fn find(build: &mut Build) { + fn set_compiler(cfg: &mut cc::Build, + compiler: Language, + target: Interned<String>, +- config: Option<&Target>, +- build: &Build) { ++ config: Option<&Target>) { + match &*target { + // When compiling for android we may have the NDK configured in the + // config.toml in which case we look there. Otherwise the default +@@ -173,26 +172,6 @@ fn set_compiler(cfg: &mut cc::Build, + } + } + +- "mips-unknown-linux-musl" => { +- if cfg.get_compiler().path().to_str() == Some("gcc") { +- cfg.compiler("mips-linux-musl-gcc"); +- } +- } +- "mipsel-unknown-linux-musl" => { +- if cfg.get_compiler().path().to_str() == Some("gcc") { +- cfg.compiler("mipsel-linux-musl-gcc"); +- } +- } +- +- t if t.contains("musl") => { +- if let Some(root) = build.musl_root(target) { +- let guess = root.join("bin/musl-gcc"); +- if guess.exists() { +- cfg.compiler(guess); +- } +- } +- } +- + _ => {} + } + } +diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs +index 04e8e133b0..7767956cd8 100644 +--- a/src/bootstrap/compile.rs ++++ b/src/bootstrap/compile.rs +@@ -87,13 +87,6 @@ impl Step for Std { + }); + builder.info(&format!("Uplifting stage1 std ({} -> {})", from.host, target)); + +- // Even if we're not building std this stage, the new sysroot must +- // still contain the musl startup objects. +- if target.contains("musl") { +- let libdir = builder.sysroot_libdir(compiler, target); +- copy_musl_third_party_objects(builder, target, &libdir); +- } +- + builder.ensure(StdLink { + compiler: from, + target_compiler: compiler, +@@ -102,11 +95,6 @@ impl Step for Std { + return; + } + +- if target.contains("musl") { +- let libdir = builder.sysroot_libdir(compiler, target); +- copy_musl_third_party_objects(builder, target, &libdir); +- } +- + let out_dir = builder.cargo_out(compiler, Mode::Std, target); + builder.clear_if_dirty(&out_dir, &builder.rustc(compiler)); + let mut cargo = builder.cargo(compiler, Mode::Std, target, "build"); +@@ -128,20 +116,6 @@ impl Step for Std { + } + } + +-/// Copies the crt(1,i,n).o startup objects +-/// +-/// Since musl supports fully static linking, we can cross link for it even +-/// with a glibc-targeting toolchain, given we have the appropriate startup +-/// files. As those shipped with glibc won't work, copy the ones provided by +-/// musl so we have them on linux-gnu hosts. +-fn copy_musl_third_party_objects(builder: &Builder, +- target: Interned<String>, +- into: &Path) { +- for &obj in &["crt1.o", "crti.o", "crtn.o"] { +- builder.copy(&builder.musl_root(target).unwrap().join("lib").join(obj), &into.join(obj)); +- } +-} +- + /// Configure cargo to compile the standard library, adding appropriate env vars + /// and such. + pub fn std_cargo(builder: &Builder, +@@ -196,11 +170,6 @@ pub fn std_cargo(builder: &Builder, + cargo.env("JEMALLOC_OVERRIDE", jemalloc); + } + } +- if target.contains("musl") { +- if let Some(p) = builder.musl_root(target) { +- cargo.env("MUSL_ROOT", p); +- } +- } + } + } + +diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs +index 0a8a5c87d0..9fdf8690c5 100644 +--- a/src/bootstrap/config.rs ++++ b/src/bootstrap/config.rs +@@ -131,8 +131,6 @@ pub struct Config { + pub save_toolstates: Option<PathBuf>, + pub print_step_timings: bool, + +- // Fallback musl-root for all targets +- pub musl_root: Option<PathBuf>, + pub prefix: Option<PathBuf>, + pub sysconfdir: Option<PathBuf>, + pub datadir: Option<PathBuf>, +@@ -165,7 +163,6 @@ pub struct Target { + pub linker: Option<PathBuf>, + pub ndk: Option<PathBuf>, + pub crt_static: Option<bool>, +- pub musl_root: Option<PathBuf>, + pub qemu_rootfs: Option<PathBuf>, + pub no_std: bool, + } +@@ -294,7 +291,6 @@ struct Rust { + backtrace: Option<bool>, + default_linker: Option<String>, + channel: Option<String>, +- musl_root: Option<String>, + rpath: Option<bool>, + optimize_tests: Option<bool>, + debuginfo_tests: Option<bool>, +@@ -328,7 +324,6 @@ struct TomlTarget { + linker: Option<String>, + android_ndk: Option<String>, + crt_static: Option<bool>, +- musl_root: Option<String>, + qemu_rootfs: Option<String>, + } + +@@ -541,7 +536,6 @@ impl Config { + set(&mut config.llvm_tools_enabled, rust.llvm_tools); + config.rustc_parallel_queries = rust.experimental_parallel_queries.unwrap_or(false); + config.rustc_default_linker = rust.default_linker.clone(); +- config.musl_root = rust.musl_root.clone().map(PathBuf::from); + config.save_toolstates = rust.save_toolstates.clone().map(PathBuf::from); + set(&mut config.deny_warnings, rust.deny_warnings.or(flags.warnings)); + set(&mut config.backtrace_on_ice, rust.backtrace_on_ice); +@@ -580,7 +574,6 @@ impl Config { + target.ar = cfg.ar.clone().map(PathBuf::from); + target.linker = cfg.linker.clone().map(PathBuf::from); + target.crt_static = cfg.crt_static.clone(); +- target.musl_root = cfg.musl_root.clone().map(PathBuf::from); + target.qemu_rootfs = cfg.qemu_rootfs.clone().map(PathBuf::from); + + config.target_config.insert(INTERNER.intern_string(triple.clone()), target); +diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py +index 9fdba044f4..513935e4c8 100755 +--- a/src/bootstrap/configure.py ++++ b/src/bootstrap/configure.py +@@ -108,28 +108,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk", + "aarch64-linux-android NDK standalone path") + v("x86_64-linux-android-ndk", "target.x86_64-linux-android.android-ndk", + "x86_64-linux-android NDK standalone path") +-v("musl-root", "target.x86_64-unknown-linux-musl.musl-root", +- "MUSL root installation directory (deprecated)") +-v("musl-root-x86_64", "target.x86_64-unknown-linux-musl.musl-root", +- "x86_64-unknown-linux-musl install directory") +-v("musl-root-i586", "target.i586-unknown-linux-musl.musl-root", +- "i586-unknown-linux-musl install directory") +-v("musl-root-i686", "target.i686-unknown-linux-musl.musl-root", +- "i686-unknown-linux-musl install directory") +-v("musl-root-arm", "target.arm-unknown-linux-musleabi.musl-root", +- "arm-unknown-linux-musleabi install directory") +-v("musl-root-armhf", "target.arm-unknown-linux-musleabihf.musl-root", +- "arm-unknown-linux-musleabihf install directory") +-v("musl-root-armv5te", "target.armv5te-unknown-linux-musleabi.musl-root", +- "armv5te-unknown-linux-musleabi install directory") +-v("musl-root-armv7", "target.armv7-unknown-linux-musleabihf.musl-root", +- "armv7-unknown-linux-musleabihf install directory") +-v("musl-root-aarch64", "target.aarch64-unknown-linux-musl.musl-root", +- "aarch64-unknown-linux-musl install directory") +-v("musl-root-mips", "target.mips-unknown-linux-musl.musl-root", +- "mips-unknown-linux-musl install directory") +-v("musl-root-mipsel", "target.mipsel-unknown-linux-musl.musl-root", +- "mipsel-unknown-linux-musl install directory") + v("qemu-armhf-rootfs", "target.arm-unknown-linux-gnueabihf.qemu-rootfs", + "rootfs in qemu testing, you probably don't want to use this") + v("qemu-aarch64-rootfs", "target.aarch64-unknown-linux-gnu.qemu-rootfs", +diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs +index e6ac847afe..dd785124d2 100644 +--- a/src/bootstrap/lib.rs ++++ b/src/bootstrap/lib.rs +@@ -803,14 +803,6 @@ impl Build { + } + } + +- /// Returns the "musl root" for this `target`, if defined +- fn musl_root(&self, target: Interned<String>) -> Option<&Path> { +- self.config.target_config.get(&target) +- .and_then(|t| t.musl_root.as_ref()) +- .or(self.config.musl_root.as_ref()) +- .map(|p| &**p) +- } +- + /// Returns true if this is a no-std `target`, if defined + fn no_std(&self, target: Interned<String>) -> Option<bool> { + self.config.target_config.get(&target) +diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs +index c7f514da93..617a3c2399 100644 +--- a/src/bootstrap/sanity.rs ++++ b/src/bootstrap/sanity.rs +@@ -21,7 +21,7 @@ + use std::collections::HashMap; + use std::env; + use std::ffi::{OsString, OsStr}; +-use std::fs::{self, File}; ++use std::fs::File; + use std::io::Read; + use std::path::PathBuf; + use std::process::Command; +@@ -186,34 +186,6 @@ pub fn check(build: &mut Build) { + } + } + +- // Make sure musl-root is valid +- if target.contains("musl") { +- // If this is a native target (host is also musl) and no musl-root is given, +- // fall back to the system toolchain in /usr before giving up +- if build.musl_root(*target).is_none() && build.config.build == *target { +- let target = build.config.target_config.entry(target.clone()) +- .or_insert(Default::default()); +- target.musl_root = Some("/usr".into()); +- } +- match build.musl_root(*target) { +- Some(root) => { +- if fs::metadata(root.join("lib/libc.a")).is_err() { +- panic!("couldn't find libc.a in musl dir: {}", +- root.join("lib").display()); +- } +- if fs::metadata(root.join("lib/libunwind.a")).is_err() { +- panic!("couldn't find libunwind.a in musl dir: {}", +- root.join("lib").display()); +- } +- } +- None => { +- panic!("when targeting MUSL either the rust.musl-root \ +- option or the target.$TARGET.musl-root option must \ +- be specified in config.toml") +- } +- } +- } +- + if target.contains("msvc") { + // There are three builds of cmake on windows: MSVC, MinGW, and + // Cygwin. The Cygwin build does not have generators for Visual +diff --git a/src/ci/docker/dist-i586-gnu-i586-i686-musl/Dockerfile b/src/ci/docker/dist-i586-gnu-i586-i686-musl/Dockerfile +index ba2d32a929..412c37fdd1 100644 +--- a/src/ci/docker/dist-i586-gnu-i586-i686-musl/Dockerfile ++++ b/src/ci/docker/dist-i586-gnu-i586-i686-musl/Dockerfile +@@ -30,8 +30,6 @@ COPY scripts/sccache.sh /scripts/ + RUN sh /scripts/sccache.sh + + ENV RUST_CONFIGURE_ARGS \ +- --musl-root-i586=/musl-i586 \ +- --musl-root-i686=/musl-i686 \ + --enable-extended \ + --disable-docs + +diff --git a/src/ci/docker/dist-various-1/Dockerfile b/src/ci/docker/dist-various-1/Dockerfile +index 6302f55009..e04fdaa226 100644 +--- a/src/ci/docker/dist-various-1/Dockerfile ++++ b/src/ci/docker/dist-various-1/Dockerfile +@@ -109,13 +109,6 @@ ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \ + CC_x86_64_unknown_redox=x86_64-unknown-redox-gcc + + ENV RUST_CONFIGURE_ARGS \ +- --musl-root-armv5te=/musl-armv5te \ +- --musl-root-arm=/musl-arm \ +- --musl-root-armhf=/musl-armhf \ +- --musl-root-armv7=/musl-armv7 \ +- --musl-root-aarch64=/musl-aarch64 \ +- --musl-root-mips=/musl-mips \ +- --musl-root-mipsel=/musl-mipsel \ + --enable-emscripten \ + --disable-docs + +diff --git a/src/ci/docker/dist-x86_64-musl/Dockerfile b/src/ci/docker/dist-x86_64-musl/Dockerfile +index 06f8a2fbba..f5dd379528 100644 +--- a/src/ci/docker/dist-x86_64-musl/Dockerfile ++++ b/src/ci/docker/dist-x86_64-musl/Dockerfile +@@ -30,7 +30,6 @@ COPY scripts/sccache.sh /scripts/ + RUN sh /scripts/sccache.sh + + ENV RUST_CONFIGURE_ARGS \ +- --musl-root-x86_64=/musl-x86_64 \ + --enable-extended \ + --disable-docs + +diff --git a/src/librustc_target/spec/linux_musl_base.rs b/src/librustc_target/spec/linux_musl_base.rs +index 7a3f3c2a51..32fe2f880a 100644 +--- a/src/librustc_target/spec/linux_musl_base.rs ++++ b/src/librustc_target/spec/linux_musl_base.rs +@@ -13,53 +13,12 @@ use spec::{LinkerFlavor, TargetOptions}; + pub fn opts() -> TargetOptions { + let mut base = super::linux_base::opts(); + +- // Make sure that the linker/gcc really don't pull in anything, including +- // default objects, libs, etc. +- base.pre_link_args_crt.insert(LinkerFlavor::Gcc, Vec::new()); +- base.pre_link_args_crt.get_mut(&LinkerFlavor::Gcc).unwrap().push("-nostdlib".to_string()); +- + // At least when this was tested, the linker would not add the + // `GNU_EH_FRAME` program header to executables generated, which is required + // when unwinding to locate the unwinding information. I'm not sure why this + // argument is *not* necessary for normal builds, but it can't hurt! + base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-Wl,--eh-frame-hdr".to_string()); + +- // There's a whole bunch of circular dependencies when dealing with MUSL +- // unfortunately. To put this in perspective libc is statically linked to +- // liblibc and libunwind is statically linked to libstd: +- // +- // * libcore depends on `fmod` which is in libc (transitively in liblibc). +- // liblibc, however, depends on libcore. +- // * compiler-rt has personality symbols that depend on libunwind, but +- // libunwind is in libstd which depends on compiler-rt. +- // +- // Recall that linkers discard libraries and object files as much as +- // possible, and with all the static linking and archives flying around with +- // MUSL the linker is super aggressively stripping out objects. For example +- // the first case has fmod stripped from liblibc (it's in its own object +- // file) so it's not there when libcore needs it. In the second example all +- // the unused symbols from libunwind are stripped (each is in its own object +- // file in libstd) before we end up linking compiler-rt which depends on +- // those symbols. +- // +- // To deal with these circular dependencies we just force the compiler to +- // link everything as a group, not stripping anything out until everything +- // is processed. The linker will still perform a pass to strip out object +- // files but it won't do so until all objects/archives have been processed. +- base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-Wl,-(".to_string()); +- base.post_link_args.insert(LinkerFlavor::Gcc, vec!["-Wl,-)".to_string()]); +- +- // When generating a statically linked executable there's generally some +- // small setup needed which is listed in these files. These are provided by +- // a musl toolchain and are linked by default by the `musl-gcc` script. Note +- // that `gcc` also does this by default, it just uses some different files. +- // +- // Each target directory for musl has these object files included in it so +- // they'll be included from there. +- base.pre_link_objects_exe_crt.push("crt1.o".to_string()); +- base.pre_link_objects_exe_crt.push("crti.o".to_string()); +- base.post_link_objects_crt.push("crtn.o".to_string()); +- + // These targets statically link libc by default + base.crt_static_default = true; + // These targets allow the user to choose between static and dynamic linking. +-- +2.18.0 + diff --git a/user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch b/user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch new file mode 100644 index 000000000..2e0aa35d8 --- /dev/null +++ b/user/rust/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch @@ -0,0 +1,24 @@ +From 6b2b48be476938c0f74b4e521e5ce3ecbeb19641 Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sat, 9 Sep 2017 00:14:16 -0500 +Subject: [PATCH 06/28] Prefer libgcc_eh over libunwind for musl + +--- + src/libunwind/lib.rs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libunwind/lib.rs b/src/libunwind/lib.rs +index 2b3c19c067..8233beada0 100644 +--- a/src/libunwind/lib.rs ++++ b/src/libunwind/lib.rs +@@ -35,6 +35,6 @@ cfg_if! { + } + + #[cfg(target_env = "musl")] +-#[link(name = "unwind", kind = "static", cfg(target_feature = "crt-static"))] ++#[link(name = "gcc_eh", cfg(target_feature = "crt-static"))] + #[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))] + extern {} +-- +2.18.0 + diff --git a/user/rust/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch b/user/rust/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch new file mode 100644 index 000000000..102e2e3a9 --- /dev/null +++ b/user/rust/0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch @@ -0,0 +1,37 @@ +From 30a10fccca71d84e696bf907621c30f66eb708e6 Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sun, 16 Sep 2018 16:40:04 +0000 +Subject: [PATCH 07/28] runtest: Fix proc-macro tests on musl hosts + +--- + src/tools/compiletest/src/runtest.rs | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs +index ce7828144c..ec48fd2d85 100644 +--- a/src/tools/compiletest/src/runtest.rs ++++ b/src/tools/compiletest/src/runtest.rs +@@ -1509,7 +1509,6 @@ impl<'test> TestCx<'test> { + None + } else if self.config.target.contains("cloudabi") + || self.config.target.contains("emscripten") +- || (self.config.target.contains("musl") && !aux_props.force_host) + || self.config.target.contains("wasm32") + { + // We primarily compile all auxiliary libraries as dynamic libraries +@@ -1517,10 +1516,8 @@ impl<'test> TestCx<'test> { + // for the test suite (otherwise including libstd statically in all + // executables takes up quite a bit of space). + // +- // For targets like MUSL or Emscripten, however, there is no support for +- // dynamic libraries so we just go back to building a normal library. Note, +- // however, that for MUSL if the library is built with `force_host` then +- // it's ok to be a dylib as the host should always support dylibs. ++ // For targets like Emscripten, however, there is no support for ++ // dynamic libraries so we just go back to building a normal library. + Some("lib") + } else { + Some("dylib") +-- +2.18.0 + diff --git a/user/rust/0008-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch b/user/rust/0008-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch new file mode 100644 index 000000000..7dbd51a92 --- /dev/null +++ b/user/rust/0008-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch @@ -0,0 +1,36 @@ +From 8b418c37f13710085f9a0c0c70904ad07e799c3f Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sat, 2 Dec 2017 17:25:44 -0600 +Subject: [PATCH 08/28] Allow rustdoc to work when cross-compiling on musl + +musl can't handle foreign-architecture libraries in LD_LIBRARY_PATH. +--- + src/bootstrap/bin/rustdoc.rs | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/src/bootstrap/bin/rustdoc.rs b/src/bootstrap/bin/rustdoc.rs +index a54e58665c..fc0cf940e2 100644 +--- a/src/bootstrap/bin/rustdoc.rs ++++ b/src/bootstrap/bin/rustdoc.rs +@@ -34,9 +34,6 @@ fn main() { + Err(_) => 0, + }; + +- let mut dylib_path = bootstrap::util::dylib_path(); +- dylib_path.insert(0, PathBuf::from(libdir.clone())); +- + let mut cmd = Command::new(rustdoc); + cmd.args(&args) + .arg("--cfg") +@@ -46,7 +43,7 @@ fn main() { + .arg("--sysroot") + .arg(sysroot) + .env(bootstrap::util::dylib_path_var(), +- env::join_paths(&dylib_path).unwrap()); ++ PathBuf::from(libdir.clone())); + + // Force all crates compiled by this compiler to (a) be unstable and (b) + // allow the `rustc_private` feature to link to other unstable crates +-- +2.18.0 + diff --git a/user/rust/0009-Add-missing-OpenSSL-configurations-for-musl-targets.patch b/user/rust/0009-Add-missing-OpenSSL-configurations-for-musl-targets.patch new file mode 100644 index 000000000..1bd596f33 --- /dev/null +++ b/user/rust/0009-Add-missing-OpenSSL-configurations-for-musl-targets.patch @@ -0,0 +1,42 @@ +From 29fdec385825390eca134825acda5c2cbb09bceb Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Mon, 11 Sep 2017 11:21:56 -0500 +Subject: [PATCH 09/28] Add missing OpenSSL configurations for musl targets + +--- + src/bootstrap/native.rs | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs +index 9aeb4e0eda..18c3dba233 100644 +--- a/src/bootstrap/native.rs ++++ b/src/bootstrap/native.rs +@@ -610,9 +610,13 @@ impl Step for Openssl { + "arm-linux-androideabi" => "android", + "arm-unknown-linux-gnueabi" => "linux-armv4", + "arm-unknown-linux-gnueabihf" => "linux-armv4", ++ "arm-unknown-linux-musleabi" => "linux-armv4", ++ "arm-unknown-linux-musleabihf" => "linux-armv4", ++ "armv5te-unknown-linux-musleabi" => "linux-armv4", + "armv6-unknown-netbsd-eabihf" => "BSD-generic32", + "armv7-linux-androideabi" => "android-armv7", + "armv7-unknown-linux-gnueabihf" => "linux-armv4", ++ "armv7-unknown-linux-musleabihf" => "linux-armv4", + "armv7-unknown-netbsd-eabihf" => "BSD-generic32", + "i586-unknown-linux-gnu" => "linux-elf", + "i586-unknown-linux-musl" => "linux-elf", +@@ -623,9 +627,11 @@ impl Step for Openssl { + "i686-unknown-linux-musl" => "linux-elf", + "i686-unknown-netbsd" => "BSD-x86-elf", + "mips-unknown-linux-gnu" => "linux-mips32", ++ "mips-unknown-linux-musl" => "linux-mips32", + "mips64-unknown-linux-gnuabi64" => "linux64-mips64", + "mips64el-unknown-linux-gnuabi64" => "linux64-mips64", + "mipsel-unknown-linux-gnu" => "linux-mips32", ++ "mipsel-unknown-linux-musl" => "linux-mips32", + "powerpc-unknown-linux-gnu" => "linux-ppc", + "powerpc-unknown-linux-gnuspe" => "linux-ppc", + "powerpc-unknown-netbsd" => "BSD-generic32", +-- +2.18.0 + diff --git a/user/rust/0010-test-linkage-visibility-dlsym-only-sees-exported-sym.patch b/user/rust/0010-test-linkage-visibility-dlsym-only-sees-exported-sym.patch new file mode 100644 index 000000000..1d6b5ae0d --- /dev/null +++ b/user/rust/0010-test-linkage-visibility-dlsym-only-sees-exported-sym.patch @@ -0,0 +1,26 @@ +From 5cbbac1243e4cda725f82337245881fe71beeec0 Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sun, 16 Sep 2018 16:35:41 +0000 +Subject: [PATCH 10/28] test/linkage-visibility: dlsym only sees exported + symbols + +--- + src/test/run-pass-fulldeps/auxiliary/linkage-visibility.rs | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/test/run-pass-fulldeps/auxiliary/linkage-visibility.rs b/src/test/run-pass-fulldeps/auxiliary/linkage-visibility.rs +index 7a15a4cb3a..853d97670d 100644 +--- a/src/test/run-pass-fulldeps/auxiliary/linkage-visibility.rs ++++ b/src/test/run-pass-fulldeps/auxiliary/linkage-visibility.rs +@@ -8,6 +8,8 @@ + // option. This file may not be copied, modified, or distributed + // except according to those terms. + ++// compile-flags: -C link-arg=-Wl,--export-dynamic ++ + #![feature(rustc_private)] + + // We're testing linkage visibility; the compiler warns us, but we want to +-- +2.18.0 + diff --git a/user/rust/0011-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch b/user/rust/0011-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch new file mode 100644 index 000000000..b2bd46ab7 --- /dev/null +++ b/user/rust/0011-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch @@ -0,0 +1,25 @@ +From c4ed34adcd7649f886354115132fb18489ed91dc Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sun, 16 Sep 2018 16:37:09 +0000 +Subject: [PATCH 11/28] test/invalid_const_promotion: Accept SIGTRAP as a valid + death signal + +--- + src/test/run-pass/invalid_const_promotion.rs | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/test/run-pass/invalid_const_promotion.rs b/src/test/run-pass/invalid_const_promotion.rs +index 53cb4c4b00..dc4c0a51dd 100644 +--- a/src/test/run-pass/invalid_const_promotion.rs ++++ b/src/test/run-pass/invalid_const_promotion.rs +@@ -33,6 +33,7 @@ fn check_status(status: std::process::ExitStatus) + use std::os::unix::process::ExitStatusExt; + + assert!(status.signal() == Some(libc::SIGILL) ++ || status.signal() == Some(libc::SIGTRAP) + || status.signal() == Some(libc::SIGABRT)); + } + +-- +2.18.0 + diff --git a/user/rust/0012-Add-powerpc-unknown-linux-musl-target.patch b/user/rust/0012-Add-powerpc-unknown-linux-musl-target.patch new file mode 100644 index 000000000..acf5285c0 --- /dev/null +++ b/user/rust/0012-Add-powerpc-unknown-linux-musl-target.patch @@ -0,0 +1,92 @@ +From 3e06726c26cd4ca93e7434cb33f7749e4d7311da Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Mon, 10 Sep 2018 01:35:35 +0000 +Subject: [PATCH 12/28] Add powerpc-unknown-linux-musl target + +--- + src/bootstrap/native.rs | 1 + + src/librustc_target/spec/mod.rs | 1 + + .../spec/powerpc_unknown_linux_musl.rs | 34 +++++++++++++++++++ + src/tools/build-manifest/src/main.rs | 1 + + 4 files changed, 37 insertions(+) + create mode 100644 src/librustc_target/spec/powerpc_unknown_linux_musl.rs + +diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs +index 18c3dba233..7c32b8b546 100644 +--- a/src/bootstrap/native.rs ++++ b/src/bootstrap/native.rs +@@ -634,6 +634,7 @@ impl Step for Openssl { + "mipsel-unknown-linux-musl" => "linux-mips32", + "powerpc-unknown-linux-gnu" => "linux-ppc", + "powerpc-unknown-linux-gnuspe" => "linux-ppc", ++ "powerpc-unknown-linux-musl" => "linux-ppc", + "powerpc-unknown-netbsd" => "BSD-generic32", + "powerpc64-unknown-linux-gnu" => "linux-ppc64", + "powerpc64le-unknown-linux-gnu" => "linux-ppc64le", +diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs +index c5d21cdc46..f09e5a7465 100644 +--- a/src/librustc_target/spec/mod.rs ++++ b/src/librustc_target/spec/mod.rs +@@ -272,6 +272,7 @@ supported_targets! { + ("mipsel-unknown-linux-gnu", mipsel_unknown_linux_gnu), + ("powerpc-unknown-linux-gnu", powerpc_unknown_linux_gnu), + ("powerpc-unknown-linux-gnuspe", powerpc_unknown_linux_gnuspe), ++ ("powerpc-unknown-linux-musl", powerpc_unknown_linux_musl), + ("powerpc64-unknown-linux-gnu", powerpc64_unknown_linux_gnu), + ("powerpc64le-unknown-linux-gnu", powerpc64le_unknown_linux_gnu), + ("powerpc64le-unknown-linux-musl", powerpc64le_unknown_linux_musl), +diff --git a/src/librustc_target/spec/powerpc_unknown_linux_musl.rs b/src/librustc_target/spec/powerpc_unknown_linux_musl.rs +new file mode 100644 +index 0000000000..48340da514 +--- /dev/null ++++ b/src/librustc_target/spec/powerpc_unknown_linux_musl.rs +@@ -0,0 +1,34 @@ ++// Copyright 2018 The Rust Project Developers. See the COPYRIGHT ++// file at the top-level directory of this distribution and at ++// http://rust-lang.org/COPYRIGHT. ++// ++// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or ++// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license ++// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your ++// option. This file may not be copied, modified, or distributed ++// except according to those terms. ++ ++use spec::{LinkerFlavor, Target, TargetResult}; ++ ++pub fn target() -> TargetResult { ++ let mut base = super::linux_musl_base::opts(); ++ base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-m32".to_string()); ++ base.max_atomic_width = Some(32); ++ ++ // see #36994 ++ base.exe_allocation_crate = None; ++ ++ Ok(Target { ++ llvm_target: "powerpc-unknown-linux-musl".to_string(), ++ target_endian: "big".to_string(), ++ target_pointer_width: "32".to_string(), ++ target_c_int_width: "32".to_string(), ++ data_layout: "E-m:e-p:32:32-i64:64-n32".to_string(), ++ arch: "powerpc".to_string(), ++ target_os: "linux".to_string(), ++ target_env: "musl".to_string(), ++ target_vendor: "unknown".to_string(), ++ linker_flavor: LinkerFlavor::Gcc, ++ options: base, ++ }) ++} +diff --git a/src/tools/build-manifest/src/main.rs b/src/tools/build-manifest/src/main.rs +index 83b2895e1d..7659d24f47 100644 +--- a/src/tools/build-manifest/src/main.rs ++++ b/src/tools/build-manifest/src/main.rs +@@ -86,6 +86,7 @@ static TARGETS: &'static [&'static str] = &[ + "mipsel-unknown-linux-musl", + "powerpc-unknown-linux-gnu", + "powerpc-unknown-linux-gnuspe", ++ "powerpc-unknown-linux-musl", + "powerpc64-unknown-linux-gnu", + "powerpc64le-unknown-linux-gnu", + "powerpc64le-unknown-linux-musl", +-- +2.18.0 + diff --git a/user/rust/0015-Use-ELFv2-ABI-on-powerpc64-musl-LLVM-half.patch b/user/rust/0015-Use-ELFv2-ABI-on-powerpc64-musl-LLVM-half.patch new file mode 100644 index 000000000..72743d01d --- /dev/null +++ b/user/rust/0015-Use-ELFv2-ABI-on-powerpc64-musl-LLVM-half.patch @@ -0,0 +1,29 @@ +From 91000b21e3a9938a66b7a9d12281b807004eefcc Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Wed, 8 Aug 2018 22:06:09 -0500 +Subject: [PATCH 15/28] Use ELFv2 ABI on powerpc64 musl (LLVM half) + +--- + src/rustllvm/PassWrapper.cpp | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp +index 85fbc4bf37..15c3ab18d9 100644 +--- a/src/rustllvm/PassWrapper.cpp ++++ b/src/rustllvm/PassWrapper.cpp +@@ -399,6 +399,12 @@ extern "C" LLVMTargetMachineRef LLVMRustCreateTargetMachine( + Options.ThreadModel = ThreadModel::Single; + } + ++ // See https://reviews.llvm.org/D52013 ++ if (Trip.getArch() == llvm::Triple::ArchType::ppc64 && ++ Trip.getEnvironment() == llvm::Triple::EnvironmentType::Musl) { ++ Options.MCOptions.ABIName = "elfv2"; ++ } ++ + #if LLVM_VERSION_GE(6, 0) + Optional<CodeModel::Model> CM; + #else +-- +2.18.0 + diff --git a/user/rust/0016-Use-ELFv2-ABI-on-powerpc64-musl-Rust-half.patch b/user/rust/0016-Use-ELFv2-ABI-on-powerpc64-musl-Rust-half.patch new file mode 100644 index 000000000..5841dfaf5 --- /dev/null +++ b/user/rust/0016-Use-ELFv2-ABI-on-powerpc64-musl-Rust-half.patch @@ -0,0 +1,43 @@ +From 616f6627b1489fbf87f867cc9b7a2c870c64f06f Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Wed, 8 Aug 2018 22:06:18 -0500 +Subject: [PATCH 16/28] Use ELFv2 ABI on powerpc64 musl (Rust half) + +--- + src/librustc_target/abi/call/powerpc64.rs | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/src/librustc_target/abi/call/powerpc64.rs b/src/librustc_target/abi/call/powerpc64.rs +index 0c5ec77a39..4851b25fe7 100644 +--- a/src/librustc_target/abi/call/powerpc64.rs ++++ b/src/librustc_target/abi/call/powerpc64.rs +@@ -14,6 +14,7 @@ + + use abi::call::{FnType, ArgType, Reg, RegKind, Uniform}; + use abi::{Align, Endian, HasDataLayout, LayoutOf, TyLayout, TyLayoutMethods}; ++use spec::HasTargetSpec; + + #[derive(Debug, Clone, Copy, PartialEq)] + enum ABI { +@@ -136,11 +137,14 @@ fn classify_arg_ty<'a, Ty, C>(cx: C, arg: &mut ArgType<'a, Ty>, abi: ABI) + + pub fn compute_abi_info<'a, Ty, C>(cx: C, fty: &mut FnType<'a, Ty>) + where Ty: TyLayoutMethods<'a, C> + Copy, +- C: LayoutOf<Ty = Ty, TyLayout = TyLayout<'a, Ty>> + HasDataLayout ++ C: LayoutOf<Ty = Ty, TyLayout = TyLayout<'a, Ty>> + HasDataLayout + HasTargetSpec + { +- let abi = match cx.data_layout().endian { +- Endian::Big => ELFv1, +- Endian::Little => ELFv2, ++ let abi = match cx.target_spec().target_env { ++ "musl" => ELFv2, ++ _ => match cx.data_layout().endian { ++ Endian::Big => ELFv1, ++ Endian::Little => ELFv2 ++ } + }; + + if !fty.ret.is_ignore() { +-- +2.18.0 + diff --git a/user/rust/0017-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch b/user/rust/0017-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch new file mode 100644 index 000000000..35bf35f6c --- /dev/null +++ b/user/rust/0017-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch @@ -0,0 +1,93 @@ +From 87d7cb5226728f549af3a7f469a6107c3acbc41d Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sun, 16 Sep 2018 16:34:15 +0000 +Subject: [PATCH 17/28] Fix powerpc64 ELFv2 big-endian struct-passing ABI + +The requirements here are not "ELFv1" requirements, but big-endian +requirements, as the extension or non-extension of the argument is +necessary to put the argument in the correct half of the register. +Parameter passing in the ELFv2 ABI needs these same transformations. +Since this code makes no difference on little-endian machines, simplify +it to use the same code path everywhere. +--- + src/librustc_target/abi/call/powerpc64.rs | 36 ++++++++++------------- + src/librustc_target/abi/mod.rs | 2 +- + 2 files changed, 17 insertions(+), 21 deletions(-) + +diff --git a/src/librustc_target/abi/call/powerpc64.rs b/src/librustc_target/abi/call/powerpc64.rs +index 4851b25fe7..9e616c034e 100644 +--- a/src/librustc_target/abi/call/powerpc64.rs ++++ b/src/librustc_target/abi/call/powerpc64.rs +@@ -76,7 +76,9 @@ fn classify_ret_ty<'a, Ty, C>(cx: C, ret: &mut ArgType<'a, Ty>, abi: ABI) + let size = ret.layout.size; + let bits = size.bits(); + if bits <= 128 { +- let unit = if bits <= 8 { ++ let unit = if cx.data_layout().endian == Endian::Big { ++ Reg { kind: RegKind::Integer, size } ++ } else if bits <= 8 { + Reg::i8() + } else if bits <= 16 { + Reg::i16() +@@ -111,22 +113,15 @@ fn classify_arg_ty<'a, Ty, C>(cx: C, arg: &mut ArgType<'a, Ty>, abi: ABI) + } + + let size = arg.layout.size; +- let (unit, total) = match abi { +- ELFv1 => { +- // In ELFv1, aggregates smaller than a doubleword should appear in +- // the least-significant bits of the parameter doubleword. The rest +- // should be padded at their tail to fill out multiple doublewords. +- if size.bits() <= 64 { +- (Reg { kind: RegKind::Integer, size }, size) +- } else { +- let align = Align::from_bits(64, 64).unwrap(); +- (Reg::i64(), size.abi_align(align)) +- } +- }, +- ELFv2 => { +- // In ELFv2, we can just cast directly. +- (Reg::i64(), size) +- }, ++ let (unit, total) = if size.bits() <= 64 { ++ // Aggregates smaller than a doubleword should appear in ++ // the least-significant bits of the parameter doubleword. ++ (Reg { kind: RegKind::Integer, size }, size) ++ } else { ++ // Aggregates larger than a doubleword should be padded ++ // at the tail to fill out a whole number of doublewords. ++ let align = Align::from_bits(64, 64).unwrap(); ++ (Reg::i64(), size.abi_align(align)) + }; + + arg.cast_to(Uniform { +@@ -139,9 +134,10 @@ pub fn compute_abi_info<'a, Ty, C>(cx: C, fty: &mut FnType<'a, Ty>) + where Ty: TyLayoutMethods<'a, C> + Copy, + C: LayoutOf<Ty = Ty, TyLayout = TyLayout<'a, Ty>> + HasDataLayout + HasTargetSpec + { +- let abi = match cx.target_spec().target_env { +- "musl" => ELFv2, +- _ => match cx.data_layout().endian { ++ let abi = if cx.target_spec().target_env == "musl" { ++ ELFv2 ++ } else { ++ match cx.data_layout().endian { + Endian::Big => ELFv1, + Endian::Little => ELFv2 + } +diff --git a/src/librustc_target/abi/mod.rs b/src/librustc_target/abi/mod.rs +index dac4738e2b..35b1ceb967 100644 +--- a/src/librustc_target/abi/mod.rs ++++ b/src/librustc_target/abi/mod.rs +@@ -214,7 +214,7 @@ impl<'a> HasDataLayout for &'a TargetDataLayout { + } + + /// Endianness of the target, which must match cfg(target-endian). +-#[derive(Copy, Clone)] ++#[derive(Copy, Clone, PartialEq)] + pub enum Endian { + Little, + Big +-- +2.18.0 + diff --git a/user/rust/0018-Add-powerpc64-unknown-linux-musl-target.patch b/user/rust/0018-Add-powerpc64-unknown-linux-musl-target.patch new file mode 100644 index 000000000..a21c07b12 --- /dev/null +++ b/user/rust/0018-Add-powerpc64-unknown-linux-musl-target.patch @@ -0,0 +1,118 @@ +From 529fb4b3cdc73a3a6b098f13f7d07255f0ebb63e Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Tue, 7 Aug 2018 21:59:15 -0500 +Subject: [PATCH 18/28] Add powerpc64-unknown-linux-musl target + +--- + src/bootstrap/native.rs | 5 +++ + src/librustc_target/abi/call/powerpc64.rs | 2 +- + src/librustc_target/spec/mod.rs | 1 + + .../spec/powerpc64_unknown_linux_musl.rs | 35 +++++++++++++++++++ + src/tools/build-manifest/src/main.rs | 1 + + 5 files changed, 43 insertions(+), 1 deletion(-) + create mode 100644 src/librustc_target/spec/powerpc64_unknown_linux_musl.rs + +diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs +index 7c32b8b546..186ef75189 100644 +--- a/src/bootstrap/native.rs ++++ b/src/bootstrap/native.rs +@@ -637,6 +637,7 @@ impl Step for Openssl { + "powerpc-unknown-linux-musl" => "linux-ppc", + "powerpc-unknown-netbsd" => "BSD-generic32", + "powerpc64-unknown-linux-gnu" => "linux-ppc64", ++ "powerpc64-unknown-linux-musl" => "linux-ppc64", + "powerpc64le-unknown-linux-gnu" => "linux-ppc64le", + "powerpc64le-unknown-linux-musl" => "linux-ppc64le", + "s390x-unknown-linux-gnu" => "linux64-s390x", +@@ -664,6 +665,10 @@ impl Step for Openssl { + configure.arg("-mandroid"); + configure.arg("-fomit-frame-pointer"); + } ++ // OpenSSL ships incompatible ELFv1 ABI assembly code ++ if target == "powerpc64-unknown-linux-musl" { ++ configure.arg("no-asm"); ++ } + if target == "sparc64-unknown-netbsd" { + // Need -m64 to get assembly generated correctly for sparc64. + configure.arg("-m64"); +diff --git a/src/librustc_target/abi/call/powerpc64.rs b/src/librustc_target/abi/call/powerpc64.rs +index 9e616c034e..18d14495e2 100644 +--- a/src/librustc_target/abi/call/powerpc64.rs ++++ b/src/librustc_target/abi/call/powerpc64.rs +@@ -19,7 +19,7 @@ use spec::HasTargetSpec; + #[derive(Debug, Clone, Copy, PartialEq)] + enum ABI { + ELFv1, // original ABI used for powerpc64 (big-endian) +- ELFv2, // newer ABI used for powerpc64le ++ ELFv2, // newer ABI used for powerpc64le and musl (both endians) + } + use self::ABI::*; + +diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs +index f09e5a7465..94aa07abb6 100644 +--- a/src/librustc_target/spec/mod.rs ++++ b/src/librustc_target/spec/mod.rs +@@ -274,6 +274,7 @@ supported_targets! { + ("powerpc-unknown-linux-gnuspe", powerpc_unknown_linux_gnuspe), + ("powerpc-unknown-linux-musl", powerpc_unknown_linux_musl), + ("powerpc64-unknown-linux-gnu", powerpc64_unknown_linux_gnu), ++ ("powerpc64-unknown-linux-musl", powerpc64_unknown_linux_musl), + ("powerpc64le-unknown-linux-gnu", powerpc64le_unknown_linux_gnu), + ("powerpc64le-unknown-linux-musl", powerpc64le_unknown_linux_musl), + ("s390x-unknown-linux-gnu", s390x_unknown_linux_gnu), +diff --git a/src/librustc_target/spec/powerpc64_unknown_linux_musl.rs b/src/librustc_target/spec/powerpc64_unknown_linux_musl.rs +new file mode 100644 +index 0000000000..24ff9e0ecd +--- /dev/null ++++ b/src/librustc_target/spec/powerpc64_unknown_linux_musl.rs +@@ -0,0 +1,35 @@ ++// Copyright 2018 The Rust Project Developers. See the COPYRIGHT ++// file at the top-level directory of this distribution and at ++// http://rust-lang.org/COPYRIGHT. ++// ++// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or ++// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license ++// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your ++// option. This file may not be copied, modified, or distributed ++// except according to those terms. ++ ++use spec::{LinkerFlavor, Target, TargetResult}; ++ ++pub fn target() -> TargetResult { ++ let mut base = super::linux_musl_base::opts(); ++ base.cpu = "ppc64".to_string(); ++ base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-m64".to_string()); ++ base.max_atomic_width = Some(64); ++ ++ // see #36994 ++ base.exe_allocation_crate = None; ++ ++ Ok(Target { ++ llvm_target: "powerpc64-unknown-linux-musl".to_string(), ++ target_endian: "big".to_string(), ++ target_pointer_width: "64".to_string(), ++ target_c_int_width: "32".to_string(), ++ data_layout: "E-m:e-i64:64-n32:64".to_string(), ++ arch: "powerpc64".to_string(), ++ target_os: "linux".to_string(), ++ target_env: "musl".to_string(), ++ target_vendor: "unknown".to_string(), ++ linker_flavor: LinkerFlavor::Gcc, ++ options: base, ++ }) ++} +diff --git a/src/tools/build-manifest/src/main.rs b/src/tools/build-manifest/src/main.rs +index 7659d24f47..e20f9fe216 100644 +--- a/src/tools/build-manifest/src/main.rs ++++ b/src/tools/build-manifest/src/main.rs +@@ -88,6 +88,7 @@ static TARGETS: &'static [&'static str] = &[ + "powerpc-unknown-linux-gnuspe", + "powerpc-unknown-linux-musl", + "powerpc64-unknown-linux-gnu", ++ "powerpc64-unknown-linux-musl", + "powerpc64le-unknown-linux-gnu", + "powerpc64le-unknown-linux-musl", + "s390x-unknown-linux-gnu", +-- +2.18.0 + diff --git a/user/rust/0019-run-pass-const-endianness-negate-before-to_le.patch b/user/rust/0019-run-pass-const-endianness-negate-before-to_le.patch new file mode 100644 index 000000000..a024abc21 --- /dev/null +++ b/user/rust/0019-run-pass-const-endianness-negate-before-to_le.patch @@ -0,0 +1,29 @@ +From c38c7916aca7d0d0aa1d860ae16ec8743515c94c Mon Sep 17 00:00:00 2001 +From: Josh Stone <jistone@redhat.com> +Date: Mon, 30 Jul 2018 13:08:56 -0700 +Subject: [PATCH 19/28] run-pass/const-endianness: negate before to_le() + +`const LE_I128` needs parentheses to negate the value *before* calling +`to_le()`, otherwise it doesn't match the operations performed in the +black-boxed part of the test. This only makes a tangible difference on +big-endian targets. +--- + src/test/run-pass/const-endianess.rs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/test/run-pass/const-endianess.rs b/src/test/run-pass/const-endianess.rs +index fa34b49210..95c738d3ec 100644 +--- a/src/test/run-pass/const-endianess.rs ++++ b/src/test/run-pass/const-endianess.rs +@@ -25,7 +25,7 @@ fn main() { + #[cfg(not(target_arch = "asmjs"))] + { + const BE_U128: u128 = 999999u128.to_be(); +- const LE_I128: i128 = -999999i128.to_le(); ++ const LE_I128: i128 = (-999999i128).to_le(); + assert_eq!(BE_U128, b(999999u128).to_be()); + assert_eq!(LE_I128, b(-999999i128).to_le()); + } +-- +2.18.0 + diff --git a/user/rust/0020-Fix-double_check-tests-on-big-endian-targets.patch b/user/rust/0020-Fix-double_check-tests-on-big-endian-targets.patch new file mode 100644 index 000000000..ca8f7d1ad --- /dev/null +++ b/user/rust/0020-Fix-double_check-tests-on-big-endian-targets.patch @@ -0,0 +1,75 @@ +From 94543ed21325120c86cde3267306272b519be3f7 Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sun, 16 Sep 2018 16:37:58 +0000 +Subject: [PATCH 20/28] Fix double_check tests on big-endian targets + +Since the enums get optimized down to 1 byte long, the bits +set in the usize member don't align with the enums on big-endian +machines. Avoid this issue by shrinking the integer member to the +same size as the enums. +--- + src/test/ui/const-eval/double_check.rs | 8 ++++---- + src/test/ui/const-eval/double_check2.rs | 8 ++++---- + src/test/ui/const-eval/double_check2.stderr | 4 ++-- + 3 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/src/test/ui/const-eval/double_check.rs b/src/test/ui/const-eval/double_check.rs +index 81f6e7ddd2..76f9276c05 100644 +--- a/src/test/ui/const-eval/double_check.rs ++++ b/src/test/ui/const-eval/double_check.rs +@@ -21,12 +21,12 @@ enum Bar { + union Union { + foo: &'static Foo, + bar: &'static Bar, +- usize: &'static usize, ++ u8: &'static u8, + } +-static BAR: usize = 42; ++static BAR: u8 = 42; + static FOO: (&Foo, &Bar) = unsafe {( +- Union { usize: &BAR }.foo, +- Union { usize: &BAR }.bar, ++ Union { u8: &BAR }.foo, ++ Union { u8: &BAR }.bar, + )}; + + fn main() {} +diff --git a/src/test/ui/const-eval/double_check2.rs b/src/test/ui/const-eval/double_check2.rs +index b661ee9247..701632362c 100644 +--- a/src/test/ui/const-eval/double_check2.rs ++++ b/src/test/ui/const-eval/double_check2.rs +@@ -19,12 +19,12 @@ enum Bar { + union Union { + foo: &'static Foo, + bar: &'static Bar, +- usize: &'static usize, ++ u8: &'static u8, + } +-static BAR: usize = 5; ++static BAR: u8 = 5; + static FOO: (&Foo, &Bar) = unsafe {( //~ undefined behavior +- Union { usize: &BAR }.foo, +- Union { usize: &BAR }.bar, ++ Union { u8: &BAR }.foo, ++ Union { u8: &BAR }.bar, + )}; + + fn main() {} +diff --git a/src/test/ui/const-eval/double_check2.stderr b/src/test/ui/const-eval/double_check2.stderr +index 2a0a674e23..d0f44a627b 100644 +--- a/src/test/ui/const-eval/double_check2.stderr ++++ b/src/test/ui/const-eval/double_check2.stderr +@@ -2,8 +2,8 @@ error[E0080]: this static likely exhibits undefined behavior + --> $DIR/double_check2.rs:25:1 + | + LL | / static FOO: (&Foo, &Bar) = unsafe {( //~ undefined behavior +-LL | | Union { usize: &BAR }.foo, +-LL | | Union { usize: &BAR }.bar, ++LL | | Union { u8: &BAR }.foo, ++LL | | Union { u8: &BAR }.bar, + LL | | )}; + | |___^ type validation failed: encountered 5 at (*.1).TAG, but expected something in the range 42..=99 + | +-- +2.18.0 + diff --git a/user/rust/0021-x.py-Use-python3-instead-of-python.patch b/user/rust/0021-x.py-Use-python3-instead-of-python.patch new file mode 100644 index 000000000..70a1dcb9a --- /dev/null +++ b/user/rust/0021-x.py-Use-python3-instead-of-python.patch @@ -0,0 +1,22 @@ +From e6007a9a892ccece7c940782a1ac9c13275eb26a Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Mon, 10 Sep 2018 01:36:00 +0000 +Subject: [PATCH 21/28] x.py: Use python3 instead of python + +--- + x.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/x.py b/x.py +index e277ab98be..a75176a3f9 100755 +--- a/x.py ++++ b/x.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # Copyright 2016 The Rust Project Developers. See the COPYRIGHT + # file at the top-level directory of this distribution and at + # http://rust-lang.org/COPYRIGHT. +-- +2.18.0 + diff --git a/user/rust/0022-test-debuginfo-Update-for-GDB-output-format-changes.patch b/user/rust/0022-test-debuginfo-Update-for-GDB-output-format-changes.patch new file mode 100644 index 000000000..d7852a977 --- /dev/null +++ b/user/rust/0022-test-debuginfo-Update-for-GDB-output-format-changes.patch @@ -0,0 +1,109 @@ +From b50f6be09bdefa827bbb2248f48faaae87204a1d Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sun, 16 Sep 2018 16:34:56 +0000 +Subject: [PATCH 22/28] test/debuginfo: Update for GDB output format changes + +--- + .../generic-enum-with-different-disr-sizes.rs | 16 ++++++++-------- + src/test/debuginfo/generic-struct-style-enum.rs | 6 +++--- + src/test/debuginfo/generic-tuple-style-enum.rs | 6 +++--- + 3 files changed, 14 insertions(+), 14 deletions(-) + +diff --git a/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs b/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs +index 1fc05b3752..7e3818bc0e 100644 +--- a/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs ++++ b/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs +@@ -19,36 +19,36 @@ + + // gdb-command:print eight_bytes1 + // gdbg-check:$1 = {{RUST$ENUM$DISR = Variant1, __0 = 100}, {RUST$ENUM$DISR = Variant1, __0 = 100}} +-// gdbr-check:$1 = generic_enum_with_different_disr_sizes::Enum::Variant1(100) ++// gdbr-check:$1 = generic_enum_with_different_disr_sizes::Enum<f64>::Variant1(100) + + // gdb-command:print four_bytes1 + // gdbg-check:$2 = {{RUST$ENUM$DISR = Variant1, __0 = 101}, {RUST$ENUM$DISR = Variant1, __0 = 101}} +-// gdbr-check:$2 = generic_enum_with_different_disr_sizes::Enum::Variant1(101) ++// gdbr-check:$2 = generic_enum_with_different_disr_sizes::Enum<i32>::Variant1(101) + + // gdb-command:print two_bytes1 + // gdbg-check:$3 = {{RUST$ENUM$DISR = Variant1, __0 = 102}, {RUST$ENUM$DISR = Variant1, __0 = 102}} +-// gdbr-check:$3 = generic_enum_with_different_disr_sizes::Enum::Variant1(102) ++// gdbr-check:$3 = generic_enum_with_different_disr_sizes::Enum<i16>::Variant1(102) + + // gdb-command:print one_byte1 + // gdbg-check:$4 = {{RUST$ENUM$DISR = Variant1, __0 = 65 'A'}, {RUST$ENUM$DISR = Variant1, __0 = 65 'A'}} +-// gdbr-check:$4 = generic_enum_with_different_disr_sizes::Enum::Variant1(65) ++// gdbr-check:$4 = generic_enum_with_different_disr_sizes::Enum<u8>::Variant1(65) + + + // gdb-command:print eight_bytes2 + // gdbg-check:$5 = {{RUST$ENUM$DISR = Variant2, __0 = 100}, {RUST$ENUM$DISR = Variant2, __0 = 100}} +-// gdbr-check:$5 = generic_enum_with_different_disr_sizes::Enum::Variant2(100) ++// gdbr-check:$5 = generic_enum_with_different_disr_sizes::Enum<f64>::Variant2(100) + + // gdb-command:print four_bytes2 + // gdbg-check:$6 = {{RUST$ENUM$DISR = Variant2, __0 = 101}, {RUST$ENUM$DISR = Variant2, __0 = 101}} +-// gdbr-check:$6 = generic_enum_with_different_disr_sizes::Enum::Variant2(101) ++// gdbr-check:$6 = generic_enum_with_different_disr_sizes::Enum<i32>::Variant2(101) + + // gdb-command:print two_bytes2 + // gdbg-check:$7 = {{RUST$ENUM$DISR = Variant2, __0 = 102}, {RUST$ENUM$DISR = Variant2, __0 = 102}} +-// gdbr-check:$7 = generic_enum_with_different_disr_sizes::Enum::Variant2(102) ++// gdbr-check:$7 = generic_enum_with_different_disr_sizes::Enum<i16>::Variant2(102) + + // gdb-command:print one_byte2 + // gdbg-check:$8 = {{RUST$ENUM$DISR = Variant2, __0 = 65 'A'}, {RUST$ENUM$DISR = Variant2, __0 = 65 'A'}} +-// gdbr-check:$8 = generic_enum_with_different_disr_sizes::Enum::Variant2(65) ++// gdbr-check:$8 = generic_enum_with_different_disr_sizes::Enum<u8>::Variant2(65) + + // gdb-command:continue + +diff --git a/src/test/debuginfo/generic-struct-style-enum.rs b/src/test/debuginfo/generic-struct-style-enum.rs +index 4a1d14ccf6..fa6b0105dc 100644 +--- a/src/test/debuginfo/generic-struct-style-enum.rs ++++ b/src/test/debuginfo/generic-struct-style-enum.rs +@@ -19,15 +19,15 @@ + + // gdb-command:print case1 + // gdbg-check:$1 = {{RUST$ENUM$DISR = Case1, a = 0, b = 31868, c = 31868, d = 31868, e = 31868}, {RUST$ENUM$DISR = Case1, [...]}, {RUST$ENUM$DISR = Case1, [...]}} +-// gdbr-check:$1 = generic_struct_style_enum::Regular::Case1{a: 0, b: 31868, c: 31868, d: 31868, e: 31868} ++// gdbr-check:$1 = generic_struct_style_enum::Regular<u16, u32, i64>::Case1{a: 0, b: 31868, c: 31868, d: 31868, e: 31868} + + // gdb-command:print case2 + // gdbg-check:$2 = {{RUST$ENUM$DISR = Case2, [...]}, {RUST$ENUM$DISR = Case2, a = 0, b = 286331153, c = 286331153}, {RUST$ENUM$DISR = Case2, [...]}} +-// gdbr-check:$2 = generic_struct_style_enum::Regular::Case2{a: 0, b: 286331153, c: 286331153} ++// gdbr-check:$2 = generic_struct_style_enum::Regular<i16, u32, i64>::Case2{a: 0, b: 286331153, c: 286331153} + + // gdb-command:print case3 + // gdbg-check:$3 = {{RUST$ENUM$DISR = Case3, [...]}, {RUST$ENUM$DISR = Case3, [...]}, {RUST$ENUM$DISR = Case3, a = 0, b = 6438275382588823897}} +-// gdbr-check:$3 = generic_struct_style_enum::Regular::Case3{a: 0, b: 6438275382588823897} ++// gdbr-check:$3 = generic_struct_style_enum::Regular<u16, i32, u64>::Case3{a: 0, b: 6438275382588823897} + + // gdb-command:print univariant + // gdbg-check:$4 = {{a = -1}} +diff --git a/src/test/debuginfo/generic-tuple-style-enum.rs b/src/test/debuginfo/generic-tuple-style-enum.rs +index 012bd6140c..b0f85d6f8b 100644 +--- a/src/test/debuginfo/generic-tuple-style-enum.rs ++++ b/src/test/debuginfo/generic-tuple-style-enum.rs +@@ -21,15 +21,15 @@ + + // gdb-command:print case1 + // gdbg-check:$1 = {{RUST$ENUM$DISR = Case1, __0 = 0, __1 = 31868, __2 = 31868, __3 = 31868, __4 = 31868}, {RUST$ENUM$DISR = Case1, [...]}, {RUST$ENUM$DISR = Case1, [...]}} +-// gdbr-check:$1 = generic_tuple_style_enum::Regular::Case1(0, 31868, 31868, 31868, 31868) ++// gdbr-check:$1 = generic_tuple_style_enum::Regular<u16, u32, u64>::Case1(0, 31868, 31868, 31868, 31868) + + // gdb-command:print case2 + // gdbg-check:$2 = {{RUST$ENUM$DISR = Case2, [...]}, {RUST$ENUM$DISR = Case2, __0 = 0, __1 = 286331153, __2 = 286331153}, {RUST$ENUM$DISR = Case2, [...]}} +-// gdbr-check:$2 = generic_tuple_style_enum::Regular::Case2(0, 286331153, 286331153) ++// gdbr-check:$2 = generic_tuple_style_enum::Regular<i16, i32, i64>::Case2(0, 286331153, 286331153) + + // gdb-command:print case3 + // gdbg-check:$3 = {{RUST$ENUM$DISR = Case3, [...]}, {RUST$ENUM$DISR = Case3, [...]}, {RUST$ENUM$DISR = Case3, __0 = 0, __1 = 6438275382588823897}} +-// gdbr-check:$3 = generic_tuple_style_enum::Regular::Case3(0, 6438275382588823897) ++// gdbr-check:$3 = generic_tuple_style_enum::Regular<i16, i32, i64>::Case3(0, 6438275382588823897) + + // gdb-command:print univariant + // gdbg-check:$4 = {{__0 = -1}} +-- +2.18.0 + diff --git a/user/rust/0023-test-target-feature-gate-Ignore-on-not-applicable-ta.patch b/user/rust/0023-test-target-feature-gate-Ignore-on-not-applicable-ta.patch new file mode 100644 index 000000000..bcb0e8e77 --- /dev/null +++ b/user/rust/0023-test-target-feature-gate-Ignore-on-not-applicable-ta.patch @@ -0,0 +1,26 @@ +From 103ce33fe27dfcb0dad1354f269838f641fe66f6 Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sun, 16 Sep 2018 16:39:46 +0000 +Subject: [PATCH 23/28] test/target-feature-gate: Ignore on not-applicable + targets + +--- + src/test/ui/target-feature-gate.rs | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/test/ui/target-feature-gate.rs b/src/test/ui/target-feature-gate.rs +index 69208f1513..59c5708b0c 100644 +--- a/src/test/ui/target-feature-gate.rs ++++ b/src/test/ui/target-feature-gate.rs +@@ -10,6 +10,8 @@ + + // ignore-arm + // ignore-aarch64 ++// ignore-powerpc ++// ignore-powerpc64 + // ignore-wasm + // ignore-emscripten + // gate-test-sse4a_target_feature +-- +2.18.0 + diff --git a/user/rust/0024-Ignore-broken-and-non-applicable-tests.patch b/user/rust/0024-Ignore-broken-and-non-applicable-tests.patch new file mode 100644 index 000000000..75434c9fb --- /dev/null +++ b/user/rust/0024-Ignore-broken-and-non-applicable-tests.patch @@ -0,0 +1,63 @@ +From 4ed9e0630eafd839c9b22e8ed56ecacccc913bdf Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sun, 16 Sep 2018 16:38:48 +0000 +Subject: [PATCH 24/28] Ignore broken and non-applicable tests + +long-linker-command-lines: takes more than 10 minutes to run +nil-enum: GDB output changed in a questionable way +sparc-struct-abi: no sparc target +sysroot-crates-are-unstable: can't run rustc without rpath +--- + src/test/codegen/sparc-struct-abi.rs | 1 + + src/test/debuginfo/nil-enum.rs | 2 +- + src/test/run-make-fulldeps/long-linker-command-lines/Makefile | 1 - + src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 +- + 4 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs +index d3b7a5cd59..5e0f94cdf9 100644 +--- a/src/test/codegen/sparc-struct-abi.rs ++++ b/src/test/codegen/sparc-struct-abi.rs +@@ -12,6 +12,7 @@ + // See issue #52638. + + // compile-flags: -O --target=sparc64-unknown-linux-gnu --crate-type=rlib ++// ignore-test + #![feature(no_core, lang_items)] + #![no_core] + +diff --git a/src/test/debuginfo/nil-enum.rs b/src/test/debuginfo/nil-enum.rs +index 94377421c0..bce2b98447 100644 +--- a/src/test/debuginfo/nil-enum.rs ++++ b/src/test/debuginfo/nil-enum.rs +@@ -10,7 +10,7 @@ + + // LLDB can't handle zero-sized values + // ignore-lldb +- ++// ignore-test + + // compile-flags:-g + // gdb-command:run +diff --git a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile +index 5876fbc94b..e9f5c33b77 100644 +--- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile ++++ b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile +@@ -2,4 +2,3 @@ + + all: + $(RUSTC) foo.rs -g -O +- RUSTC="$(RUSTC_ORIGINAL)" $(call RUN,foo) +diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile +index 9e77070685..7784230b46 100644 +--- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile ++++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile +@@ -1,4 +1,4 @@ + -include ../tools.mk + + all: +- env '$(HOST_RPATH_ENV)' python2.7 test.py ++ true +-- +2.18.0 + diff --git a/user/rust/0025-Move-debugger-scripts-to-usr-share-rust.patch b/user/rust/0025-Move-debugger-scripts-to-usr-share-rust.patch new file mode 100644 index 000000000..f1b163f2d --- /dev/null +++ b/user/rust/0025-Move-debugger-scripts-to-usr-share-rust.patch @@ -0,0 +1,53 @@ +From e2660b4762083f14a355d283b6383f7cab0d38fd Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Mon, 17 Sep 2018 02:09:10 +0000 +Subject: [PATCH 25/28] Move debugger scripts to /usr/share/rust + +--- + src/bootstrap/dist.rs | 2 +- + src/etc/rust-gdb | 2 +- + src/etc/rust-lldb | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs +index c6b39a52ae..ca21e87c9d 100644 +--- a/src/bootstrap/dist.rs ++++ b/src/bootstrap/dist.rs +@@ -575,7 +575,7 @@ impl Step for DebuggerScripts { + fn run(self, builder: &Builder) { + let host = self.host; + let sysroot = self.sysroot; +- let dst = sysroot.join("lib/rustlib/etc"); ++ let dst = sysroot.join("share/rust"); + t!(fs::create_dir_all(&dst)); + let cp_debugger_script = |file: &str| { + builder.install(&builder.src.join("src/etc/").join(file), &dst, 0o644); +diff --git a/src/etc/rust-gdb b/src/etc/rust-gdb +index 6835d6aa90..dbdee6af31 100755 +--- a/src/etc/rust-gdb ++++ b/src/etc/rust-gdb +@@ -14,7 +14,7 @@ set -e + + # Find out where the pretty printer Python module is + RUSTC_SYSROOT=`rustc --print=sysroot` +-GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc" ++GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/share/rust" + + # Run GDB with the additional arguments that load the pretty printers + # Set the environment variable `RUST_GDB` to overwrite the call to a +diff --git a/src/etc/rust-lldb b/src/etc/rust-lldb +index f70ab65bce..621546bd3f 100755 +--- a/src/etc/rust-lldb ++++ b/src/etc/rust-lldb +@@ -33,7 +33,7 @@ trap "rm -f $TMPFILE; exit" INT TERM EXIT + RUSTC_SYSROOT=`rustc --print sysroot` + + # Write the LLDB script to the tempfile +-echo "command script import \"$RUSTC_SYSROOT/lib/rustlib/etc/lldb_rust_formatters.py\"" >> $TMPFILE ++echo "command script import \"$RUSTC_SYSROOT/share/rust/lldb_rust_formatters.py\"" >> $TMPFILE + echo "type summary add --no-value --python-function lldb_rust_formatters.print_val -x \".*\" --category Rust" >> $TMPFILE + echo "type category enable Rust" >> $TMPFILE + +-- +2.18.0 + diff --git a/user/rust/0026-Add-foxkit-target-specs.patch b/user/rust/0026-Add-foxkit-target-specs.patch new file mode 100644 index 000000000..883748a0e --- /dev/null +++ b/user/rust/0026-Add-foxkit-target-specs.patch @@ -0,0 +1,204 @@ +From 84f391140786018536c2eecd925c72814e5df38f Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Mon, 17 Sep 2018 02:29:06 +0000 +Subject: [PATCH 26/28] Add foxkit target specs + +--- + .../spec/aarch64_foxkit_linux_musl.rs | 21 +++++++++++++++++++ + .../spec/armv7_foxkit_linux_musleabihf.rs | 21 +++++++++++++++++++ + .../spec/i586_foxkit_linux_musl.rs | 21 +++++++++++++++++++ + src/librustc_target/spec/mod.rs | 7 +++++++ + .../spec/powerpc64_foxkit_linux_musl.rs | 21 +++++++++++++++++++ + .../spec/powerpc_foxkit_linux_musl.rs | 21 +++++++++++++++++++ + .../spec/x86_64_foxkit_linux_musl.rs | 21 +++++++++++++++++++ + 7 files changed, 133 insertions(+) + create mode 100644 src/librustc_target/spec/aarch64_foxkit_linux_musl.rs + create mode 100644 src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs + create mode 100644 src/librustc_target/spec/i586_foxkit_linux_musl.rs + create mode 100644 src/librustc_target/spec/powerpc64_foxkit_linux_musl.rs + create mode 100644 src/librustc_target/spec/powerpc_foxkit_linux_musl.rs + create mode 100644 src/librustc_target/spec/x86_64_foxkit_linux_musl.rs + +diff --git a/src/librustc_target/spec/aarch64_foxkit_linux_musl.rs b/src/librustc_target/spec/aarch64_foxkit_linux_musl.rs +new file mode 100644 +index 0000000000..18ad2c2f31 +--- /dev/null ++++ b/src/librustc_target/spec/aarch64_foxkit_linux_musl.rs +@@ -0,0 +1,21 @@ ++// Copyright 2018 The Rust Project Developers. See the COPYRIGHT ++// file at the top-level directory of this distribution and at ++// http://rust-lang.org/COPYRIGHT. ++// ++// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or ++// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license ++// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your ++// option. This file may not be copied, modified, or distributed ++// except according to those terms. ++ ++use spec::TargetResult; ++ ++pub fn target() -> TargetResult { ++ let mut base = super::aarch64_unknown_linux_musl::target()?; ++ ++ base.llvm_target = "aarch64-foxkit-linux-musl".to_string(); ++ base.target_vendor = "foxkit".to_string(); ++ base.options.crt_static_default = false; ++ ++ Ok(base) ++} +diff --git a/src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs b/src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs +new file mode 100644 +index 0000000000..facfd5d363 +--- /dev/null ++++ b/src/librustc_target/spec/armv7_foxkit_linux_musleabihf.rs +@@ -0,0 +1,21 @@ ++// Copyright 2018 The Rust Project Developers. See the COPYRIGHT ++// file at the top-level directory of this distribution and at ++// http://rust-lang.org/COPYRIGHT. ++// ++// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or ++// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license ++// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your ++// option. This file may not be copied, modified, or distributed ++// except according to those terms. ++ ++use spec::TargetResult; ++ ++pub fn target() -> TargetResult { ++ let mut base = super::armv7_unknown_linux_musleabihf::target()?; ++ ++ base.llvm_target = "armv7-foxkit-linux-musleabihf".to_string(); ++ base.target_vendor = "foxkit".to_string(); ++ base.options.crt_static_default = false; ++ ++ Ok(base) ++} +diff --git a/src/librustc_target/spec/i586_foxkit_linux_musl.rs b/src/librustc_target/spec/i586_foxkit_linux_musl.rs +new file mode 100644 +index 0000000000..cd6280e586 +--- /dev/null ++++ b/src/librustc_target/spec/i586_foxkit_linux_musl.rs +@@ -0,0 +1,21 @@ ++// Copyright 2018 The Rust Project Developers. See the COPYRIGHT ++// file at the top-level directory of this distribution and at ++// http://rust-lang.org/COPYRIGHT. ++// ++// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or ++// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license ++// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your ++// option. This file may not be copied, modified, or distributed ++// except according to those terms. ++ ++use spec::TargetResult; ++ ++pub fn target() -> TargetResult { ++ let mut base = super::i586_unknown_linux_musl::target()?; ++ ++ base.llvm_target = "i586-foxkit-linux-musl".to_string(); ++ base.target_vendor = "foxkit".to_string(); ++ base.options.crt_static_default = false; ++ ++ Ok(base) ++} +diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs +index 94aa07abb6..1187afbb60 100644 +--- a/src/librustc_target/spec/mod.rs ++++ b/src/librustc_target/spec/mod.rs +@@ -375,6 +375,13 @@ supported_targets! { + ("armv7-unknown-cloudabi-eabihf", armv7_unknown_cloudabi_eabihf), + ("i686-unknown-cloudabi", i686_unknown_cloudabi), + ("x86_64-unknown-cloudabi", x86_64_unknown_cloudabi), ++ ++ ("aarch64-foxkit-linux-musl", aarch64_foxkit_linux_musl), ++ ("armv7-foxkit-linux-musleabihf", armv7_foxkit_linux_musleabihf), ++ ("i586-foxkit-linux-musl", i586_foxkit_linux_musl), ++ ("powerpc-foxkit-linux-musl", powerpc_foxkit_linux_musl), ++ ("powerpc64-foxkit-linux-musl", powerpc64_foxkit_linux_musl), ++ ("x86_64-foxkit-linux-musl", x86_64_foxkit_linux_musl), + } + + /// Everything `rustc` knows about how to compile for a specific target. +diff --git a/src/librustc_target/spec/powerpc64_foxkit_linux_musl.rs b/src/librustc_target/spec/powerpc64_foxkit_linux_musl.rs +new file mode 100644 +index 0000000000..b7202ee0fc +--- /dev/null ++++ b/src/librustc_target/spec/powerpc64_foxkit_linux_musl.rs +@@ -0,0 +1,21 @@ ++// Copyright 2018 The Rust Project Developers. See the COPYRIGHT ++// file at the top-level directory of this distribution and at ++// http://rust-lang.org/COPYRIGHT. ++// ++// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or ++// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license ++// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your ++// option. This file may not be copied, modified, or distributed ++// except according to those terms. ++ ++use spec::TargetResult; ++ ++pub fn target() -> TargetResult { ++ let mut base = super::powerpc64_unknown_linux_musl::target()?; ++ ++ base.llvm_target = "powerpc64-foxkit-linux-musl".to_string(); ++ base.target_vendor = "foxkit".to_string(); ++ base.options.crt_static_default = false; ++ ++ Ok(base) ++} +diff --git a/src/librustc_target/spec/powerpc_foxkit_linux_musl.rs b/src/librustc_target/spec/powerpc_foxkit_linux_musl.rs +new file mode 100644 +index 0000000000..4daa96d3ce +--- /dev/null ++++ b/src/librustc_target/spec/powerpc_foxkit_linux_musl.rs +@@ -0,0 +1,21 @@ ++// Copyright 2018 The Rust Project Developers. See the COPYRIGHT ++// file at the top-level directory of this distribution and at ++// http://rust-lang.org/COPYRIGHT. ++// ++// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or ++// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license ++// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your ++// option. This file may not be copied, modified, or distributed ++// except according to those terms. ++ ++use spec::TargetResult; ++ ++pub fn target() -> TargetResult { ++ let mut base = super::powerpc_unknown_linux_musl::target()?; ++ ++ base.llvm_target = "powerpc-foxkit-linux-musl".to_string(); ++ base.target_vendor = "foxkit".to_string(); ++ base.options.crt_static_default = false; ++ ++ Ok(base) ++} +diff --git a/src/librustc_target/spec/x86_64_foxkit_linux_musl.rs b/src/librustc_target/spec/x86_64_foxkit_linux_musl.rs +new file mode 100644 +index 0000000000..801dd8d6f4 +--- /dev/null ++++ b/src/librustc_target/spec/x86_64_foxkit_linux_musl.rs +@@ -0,0 +1,21 @@ ++// Copyright 2018 The Rust Project Developers. See the COPYRIGHT ++// file at the top-level directory of this distribution and at ++// http://rust-lang.org/COPYRIGHT. ++// ++// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or ++// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license ++// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your ++// option. This file may not be copied, modified, or distributed ++// except according to those terms. ++ ++use spec::TargetResult; ++ ++pub fn target() -> TargetResult { ++ let mut base = super::x86_64_unknown_linux_musl::target()?; ++ ++ base.llvm_target = "x86_64-foxkit-linux-musl".to_string(); ++ base.target_vendor = "foxkit".to_string(); ++ base.options.crt_static_default = false; ++ ++ Ok(base) ++} +-- +2.18.0 + diff --git a/user/rust/0027-Add-foxkit-target-specs-for-OpenSSL.patch b/user/rust/0027-Add-foxkit-target-specs-for-OpenSSL.patch new file mode 100644 index 000000000..69e8584ba --- /dev/null +++ b/user/rust/0027-Add-foxkit-target-specs-for-OpenSSL.patch @@ -0,0 +1,38 @@ +From 7eba02678b9a00bc6d38281795422663bca3fcc1 Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Tue, 18 Sep 2018 00:02:46 +0000 +Subject: [PATCH 27/28] Add foxkit target specs for OpenSSL + +--- + src/bootstrap/native.rs | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs +index 186ef75189..406c76b95c 100644 +--- a/src/bootstrap/native.rs ++++ b/src/bootstrap/native.rs +@@ -652,6 +652,12 @@ impl Step for Openssl { + "x86_64-unknown-linux-gnux32" => "linux-x32", + "x86_64-unknown-linux-musl" => "linux-x86_64", + "x86_64-unknown-netbsd" => "BSD-x86_64", ++ "aarch64-foxkit-linux-musl" => "linux-aarch64", ++ "armv7-foxkit-linux-musleabihf" => "linux-armv4", ++ "i586-foxkit-linux-musl" => "linux-elf", ++ "powerpc-foxkit-linux-musl" => "linux-ppc", ++ "powerpc64-foxkit-linux-musl" => "linux-ppc64", ++ "x86_64-foxkit-linux-musl" => "linux-x86_64", + _ => panic!("don't know how to configure OpenSSL for {}", target), + }; + configure.arg(os); +@@ -666,7 +672,7 @@ impl Step for Openssl { + configure.arg("-fomit-frame-pointer"); + } + // OpenSSL ships incompatible ELFv1 ABI assembly code +- if target == "powerpc64-unknown-linux-musl" { ++ if target == "powerpc64-unknown-linux-musl" || target == "powerpc64-foxkit-linux-musl" { + configure.arg("no-asm"); + } + if target == "sparc64-unknown-netbsd" { +-- +2.18.0 + diff --git a/user/rust/0028-Link-stage-2-tools-dynamically-to-libstd.patch b/user/rust/0028-Link-stage-2-tools-dynamically-to-libstd.patch new file mode 100644 index 000000000..5a6f8506c --- /dev/null +++ b/user/rust/0028-Link-stage-2-tools-dynamically-to-libstd.patch @@ -0,0 +1,27 @@ +From 418b6417dbaf06f5afe7a076bc8d58c308a4a48c Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Mon, 24 Sep 2018 23:42:23 +0000 +Subject: [PATCH 28/28] Link stage 2 tools dynamically to libstd + +--- + src/bootstrap/tool.rs | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs +index 5e68b797b3..6a4c53f9a1 100644 +--- a/src/bootstrap/tool.rs ++++ b/src/bootstrap/tool.rs +@@ -261,7 +261,9 @@ pub fn prepare_tool_cargo( + + // We don't want to build tools dynamically as they'll be running across + // stages and such and it's just easier if they're not dynamically linked. +- cargo.env("RUSTC_NO_PREFER_DYNAMIC", "1"); ++ if compiler.stage < 2 { ++ cargo.env("RUSTC_NO_PREFER_DYNAMIC", "1"); ++ } + + if source_type == SourceType::Submodule { + cargo.env("RUSTC_EXTERNAL_TOOL", "1"); +-- +2.18.0 + diff --git a/user/rust/0030-liblibc-linkage.patch b/user/rust/0030-liblibc-linkage.patch new file mode 100644 index 000000000..4daa0e48f --- /dev/null +++ b/user/rust/0030-liblibc-linkage.patch @@ -0,0 +1,17 @@ +diff --git a/src/liblibc/src/unix/mod.rs b/src/liblibc/src/unix/mod.rs +index 9c68178a..1ae270e9 100644 +--- a/src/liblibc/src/unix/mod.rs ++++ b/src/liblibc/src/unix/mod.rs +@@ -287,11 +287,7 @@ cfg_if! { + // cargo build, don't pull in anything extra as the libstd dep + // already pulls in all libs. + } else if #[cfg(target_env = "musl")] { +- #[cfg_attr(feature = "stdbuild", +- link(name = "c", kind = "static", +- cfg(target_feature = "crt-static")))] +- #[cfg_attr(feature = "stdbuild", +- link(name = "c", cfg(not(target_feature = "crt-static"))))] ++ #[link(name = "c")] + extern {} + } else if #[cfg(target_os = "emscripten")] { + #[link(name = "c")] diff --git a/user/rust/0031-liblibc-dcff154781e4.patch b/user/rust/0031-liblibc-dcff154781e4.patch new file mode 100644 index 000000000..6840e203f --- /dev/null +++ b/user/rust/0031-liblibc-dcff154781e4.patch @@ -0,0 +1,642 @@ +From dcff154781e4b3c6ef3a6a4024c73631f52f48cb Mon Sep 17 00:00:00 2001 +From: Mike Sullivan <mksully22@gmail.com> +Date: Mon, 18 Jun 2018 15:16:25 +0000 +Subject: [PATCH] libc: changes to ppc64le musl branch to support building of + rust on Alpine amend to add style changes amend to add style changes + +--- + src/unix/notbsd/linux/musl/b32/mod.rs | 74 ++++++++++ + src/unix/notbsd/linux/musl/b64/mod.rs | 62 -------- + src/unix/notbsd/linux/musl/b64/powerpc64.rs | 155 ++++++++++++++++++-- + src/unix/notbsd/linux/musl/b64/x86_64.rs | 136 +++++++++++++++++ + src/unix/notbsd/linux/musl/mod.rs | 74 ---------- + 5 files changed, 353 insertions(+), 148 deletions(-) + +diff --git a/src/vendor/libc/src/unix/notbsd/linux/musl/b32/mod.rs b/src/vendor/libc/src/unix/notbsd/linux/musl/b32/mod.rs +index f6e19d981dd..b4a0f761636 100644 +--- a/src/vendor/libc/src/unix/notbsd/linux/musl/b32/mod.rs ++++ b/src/vendor/libc/src/unix/notbsd/linux/musl/b32/mod.rs +@@ -52,6 +52,80 @@ pub const MINSIGSTKSZ: ::size_t = 2048; + pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 32; + pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 24; + ++pub const RLIMIT_NLIMITS: ::c_int = 16; ++pub const TIOCINQ: ::c_int = ::FIONREAD; ++pub const MCL_CURRENT: ::c_int = 0x0001; ++pub const MCL_FUTURE: ::c_int = 0x0002; ++pub const CBAUD: ::tcflag_t = 0o0010017; ++pub const TAB1: ::c_int = 0x00000800; ++pub const TAB2: ::c_int = 0x00001000; ++pub const TAB3: ::c_int = 0x00001800; ++pub const CR1: ::c_int = 0x00000200; ++pub const CR2: ::c_int = 0x00000400; ++pub const CR3: ::c_int = 0x00000600; ++pub const FF1: ::c_int = 0x00008000; ++pub const BS1: ::c_int = 0x00002000; ++pub const VT1: ::c_int = 0x00004000; ++pub const VWERASE: usize = 14; ++pub const VREPRINT: usize = 12; ++pub const VSUSP: usize = 10; ++pub const VSTART: usize = 8; ++pub const VSTOP: usize = 9; ++pub const VDISCARD: usize = 13; ++pub const VTIME: usize = 5; ++pub const IXON: ::tcflag_t = 0x00000400; ++pub const IXOFF: ::tcflag_t = 0x00001000; ++pub const ONLCR: ::tcflag_t = 0x4; ++pub const CSIZE: ::tcflag_t = 0x00000030; ++pub const CS6: ::tcflag_t = 0x00000010; ++pub const CS7: ::tcflag_t = 0x00000020; ++pub const CS8: ::tcflag_t = 0x00000030; ++pub const CSTOPB: ::tcflag_t = 0x00000040; ++pub const CREAD: ::tcflag_t = 0x00000080; ++pub const PARENB: ::tcflag_t = 0x00000100; ++pub const PARODD: ::tcflag_t = 0x00000200; ++pub const HUPCL: ::tcflag_t = 0x00000400; ++pub const CLOCAL: ::tcflag_t = 0x00000800; ++pub const ECHOKE: ::tcflag_t = 0x00000800; ++pub const ECHOE: ::tcflag_t = 0x00000010; ++pub const ECHOK: ::tcflag_t = 0x00000020; ++pub const ECHONL: ::tcflag_t = 0x00000040; ++pub const ECHOPRT: ::tcflag_t = 0x00000400; ++pub const ECHOCTL: ::tcflag_t = 0x00000200; ++pub const ISIG: ::tcflag_t = 0x00000001; ++pub const ICANON: ::tcflag_t = 0x00000002; ++pub const PENDIN: ::tcflag_t = 0x00004000; ++pub const NOFLSH: ::tcflag_t = 0x00000080; ++pub const CIBAUD: ::tcflag_t = 0o02003600000; ++pub const CBAUDEX: ::tcflag_t = 0o010000; ++pub const VSWTC: usize = 7; ++pub const OLCUC: ::tcflag_t = 0o000002; ++pub const NLDLY: ::tcflag_t = 0o000400; ++pub const CRDLY: ::tcflag_t = 0o003000; ++pub const TABDLY: ::tcflag_t = 0o014000; ++pub const BSDLY: ::tcflag_t = 0o020000; ++pub const FFDLY: ::tcflag_t = 0o100000; ++pub const VTDLY: ::tcflag_t = 0o040000; ++pub const XTABS: ::tcflag_t = 0o014000; ++pub const B57600: ::speed_t = 0o010001; ++pub const B115200: ::speed_t = 0o010002; ++pub const B230400: ::speed_t = 0o010003; ++pub const B460800: ::speed_t = 0o010004; ++pub const B500000: ::speed_t = 0o010005; ++pub const B576000: ::speed_t = 0o010006; ++pub const B921600: ::speed_t = 0o010007; ++pub const B1000000: ::speed_t = 0o010010; ++pub const B1152000: ::speed_t = 0o010011; ++pub const B1500000: ::speed_t = 0o010012; ++pub const B2000000: ::speed_t = 0o010013; ++pub const B2500000: ::speed_t = 0o010014; ++pub const B3000000: ::speed_t = 0o010015; ++pub const B3500000: ::speed_t = 0o010016; ++pub const B4000000: ::speed_t = 0o010017; ++extern { ++ pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int; ++} ++ + cfg_if! { + if #[cfg(any(target_arch = "x86"))] { + mod x86; +diff --git a/src/vendor/libc/src/unix/notbsd/linux/musl/b64/mod.rs b/src/vendor/libc/src/unix/notbsd/linux/musl/b64/mod.rs +index 70baf8277a9..5c2e815fd60 100644 +--- a/src/vendor/libc/src/unix/notbsd/linux/musl/b64/mod.rs ++++ b/src/vendor/libc/src/unix/notbsd/linux/musl/b64/mod.rs +@@ -136,9 +136,6 @@ pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40; + + pub const O_ASYNC: ::c_int = 0x2000; + +-pub const FIOCLEX: ::c_int = 0x5451; +-pub const FIONBIO: ::c_int = 0x5421; +- + pub const RLIMIT_RSS: ::c_int = 5; + pub const RLIMIT_NOFILE: ::c_int = 7; + pub const RLIMIT_AS: ::c_int = 9; +@@ -172,7 +169,6 @@ pub const SOCK_SEQPACKET: ::c_int = 5; + + pub const SOL_SOCKET: ::c_int = 1; + +-pub const EDEADLK: ::c_int = 35; + pub const ENAMETOOLONG: ::c_int = 36; + pub const ENOLCK: ::c_int = 37; + pub const ENOSYS: ::c_int = 38; +@@ -194,7 +190,6 @@ pub const EXFULL: ::c_int = 54; + pub const ENOANO: ::c_int = 55; + pub const EBADRQC: ::c_int = 56; + pub const EBADSLT: ::c_int = 57; +-pub const EDEADLOCK: ::c_int = EDEADLK; + pub const EMULTIHOP: ::c_int = 72; + pub const EBADMSG: ::c_int = 74; + pub const EOVERFLOW: ::c_int = 75; +@@ -272,12 +267,6 @@ pub const SO_PRIORITY: ::c_int = 12; + pub const SO_LINGER: ::c_int = 13; + pub const SO_BSDCOMPAT: ::c_int = 14; + pub const SO_REUSEPORT: ::c_int = 15; +-pub const SO_PASSCRED: ::c_int = 16; +-pub const SO_PEERCRED: ::c_int = 17; +-pub const SO_RCVLOWAT: ::c_int = 18; +-pub const SO_SNDLOWAT: ::c_int = 19; +-pub const SO_RCVTIMEO: ::c_int = 20; +-pub const SO_SNDTIMEO: ::c_int = 21; + pub const SO_ACCEPTCONN: ::c_int = 30; + pub const SO_SNDBUFFORCE: ::c_int = 32; + pub const SO_RCVBUFFORCE: ::c_int = 33; +@@ -312,8 +301,6 @@ pub const SIG_SETMASK: ::c_int = 2; + pub const SIG_BLOCK: ::c_int = 0x000000; + pub const SIG_UNBLOCK: ::c_int = 0x01; + +-pub const EXTPROC: ::tcflag_t = 0x00010000; +- + pub const MAP_HUGETLB: ::c_int = 0x040000; + + pub const F_GETLK: ::c_int = 5; +@@ -323,59 +310,10 @@ pub const F_SETLKW: ::c_int = 7; + pub const F_SETOWN: ::c_int = 8; + + pub const VEOF: usize = 4; +-pub const VEOL: usize = 11; +-pub const VEOL2: usize = 16; +-pub const VMIN: usize = 6; +-pub const IEXTEN: ::tcflag_t = 0x00008000; +-pub const TOSTOP: ::tcflag_t = 0x00000100; +-pub const FLUSHO: ::tcflag_t = 0x00001000; +- +-pub const TCGETS: ::c_int = 0x5401; +-pub const TCSETS: ::c_int = 0x5402; +-pub const TCSETSW: ::c_int = 0x5403; +-pub const TCSETSF: ::c_int = 0x5404; +-pub const TCGETA: ::c_int = 0x5405; +-pub const TCSETA: ::c_int = 0x5406; +-pub const TCSETAW: ::c_int = 0x5407; +-pub const TCSETAF: ::c_int = 0x5408; +-pub const TCSBRK: ::c_int = 0x5409; +-pub const TCXONC: ::c_int = 0x540A; +-pub const TCFLSH: ::c_int = 0x540B; +-pub const TIOCGSOFTCAR: ::c_int = 0x5419; +-pub const TIOCSSOFTCAR: ::c_int = 0x541A; +-pub const TIOCLINUX: ::c_int = 0x541C; +-pub const TIOCGSERIAL: ::c_int = 0x541E; +-pub const TIOCEXCL: ::c_int = 0x540C; +-pub const TIOCNXCL: ::c_int = 0x540D; +-pub const TIOCSCTTY: ::c_int = 0x540E; +-pub const TIOCGPGRP: ::c_int = 0x540F; +-pub const TIOCSPGRP: ::c_int = 0x5410; +-pub const TIOCOUTQ: ::c_int = 0x5411; +-pub const TIOCSTI: ::c_int = 0x5412; +-pub const TIOCGWINSZ: ::c_int = 0x5413; +-pub const TIOCSWINSZ: ::c_int = 0x5414; +-pub const TIOCMGET: ::c_int = 0x5415; +-pub const TIOCMBIS: ::c_int = 0x5416; +-pub const TIOCMBIC: ::c_int = 0x5417; +-pub const TIOCMSET: ::c_int = 0x5418; +-pub const FIONREAD: ::c_int = 0x541B; +-pub const TIOCCONS: ::c_int = 0x541D; + + pub const POLLWRNORM: ::c_short = 0x100; + pub const POLLWRBAND: ::c_short = 0x200; + +-pub const TIOCM_LE: ::c_int = 0x001; +-pub const TIOCM_DTR: ::c_int = 0x002; +-pub const TIOCM_RTS: ::c_int = 0x004; +-pub const TIOCM_ST: ::c_int = 0x008; +-pub const TIOCM_SR: ::c_int = 0x010; +-pub const TIOCM_CTS: ::c_int = 0x020; +-pub const TIOCM_CAR: ::c_int = 0x040; +-pub const TIOCM_RNG: ::c_int = 0x080; +-pub const TIOCM_DSR: ::c_int = 0x100; +-pub const TIOCM_CD: ::c_int = TIOCM_CAR; +-pub const TIOCM_RI: ::c_int = TIOCM_RNG; +- + cfg_if! { + if #[cfg(target_arch = "aarch64")] { + mod aarch64; +diff --git a/src/vendor/libc/src/unix/notbsd/linux/musl/b64/powerpc64.rs b/src/vendor/libc/src/unix/notbsd/linux/musl/b64/powerpc64.rs +index 621f9f4ce79..2ac39bf0cd5 100644 +--- a/src/vendor/libc/src/unix/notbsd/linux/musl/b64/powerpc64.rs ++++ b/src/vendor/libc/src/unix/notbsd/linux/musl/b64/powerpc64.rs +@@ -60,22 +60,17 @@ s! { + } + } + +-pub const SYS_pivot_root: ::c_long = 203; +-pub const SYS_gettid: ::c_long = 207; +-pub const SYS_perf_event_open: ::c_long = 319; +-pub const SYS_memfd_create: ::c_long = 360; +- + pub const MAP_32BIT: ::c_int = 0x0040; +-pub const O_DIRECT: ::c_int = 0x4000; +-pub const O_DIRECTORY: ::c_int = 0x10000; +-pub const O_LARGEFILE: ::c_int = 0; +-pub const O_NOFOLLOW: ::c_int = 0x20000; ++pub const O_DIRECT: ::c_int = 0x20000; ++pub const O_DIRECTORY: ::c_int = 0x4000; ++pub const O_LARGEFILE: ::c_int = 0x10000; ++pub const O_NOFOLLOW: ::c_int = 0x8000; + +-pub const SIGSTKSZ: ::size_t = 8192; +-pub const MINSIGSTKSZ: ::size_t = 2048; ++pub const SIGSTKSZ: ::size_t = 10240; ++pub const MINSIGSTKSZ: ::size_t = 4096; + + #[doc(hidden)] +-pub const AF_MAX: ::c_int = 42; ++pub const AF_MAX: ::c_int = 43; + #[doc(hidden)] + pub const PF_MAX: ::c_int = AF_MAX; + +@@ -439,3 +434,139 @@ pub const SYS_copy_file_range: ::c_long = 379; + pub const SYS_preadv2: ::c_long = 380; + pub const SYS_pwritev2: ::c_long = 381; + pub const SYS_kexec_file_load: ::c_long = 382; ++ ++pub const FIOCLEX: ::c_ulong = 0x20006601; ++pub const FIONBIO: ::c_ulong = 0x8004667e; ++pub const EDEADLK: ::c_int = 58; ++pub const EDEADLOCK: ::c_int = EDEADLK; ++pub const SO_PASSCRED: ::c_int = 20; ++pub const SO_PEERCRED: ::c_int = 21; ++pub const SO_RCVLOWAT: ::c_int = 16; ++pub const SO_SNDLOWAT: ::c_int = 17; ++pub const SO_RCVTIMEO: ::c_int = 18; ++pub const SO_SNDTIMEO: ::c_int = 19; ++pub const EXTPROC: ::tcflag_t = 0x10000000; ++pub const VEOL: usize = 6; ++pub const VEOL2: usize = 8; ++pub const VMIN: usize = 5; ++pub const IEXTEN: ::tcflag_t = 0x00000400; ++pub const TOSTOP: ::tcflag_t = 0x00400000; ++pub const FLUSHO: ::tcflag_t = 0x00800000; ++pub const TCGETS: ::c_ulong = 0x403c7413; ++pub const TCSETS: ::c_ulong = 0x803c7414; ++pub const TCSETSW: ::c_ulong = 0x803c7415; ++pub const TCSETSF: ::c_ulong = 0x803c7416; ++pub const TCGETA: ::c_ulong = 0x40147417; ++pub const TCSETA: ::c_ulong = 0x80147418; ++pub const TCSETAW: ::c_ulong = 0x80147419; ++pub const TCSETAF: ::c_ulong = 0x8014741c; ++pub const TCSBRK: ::c_ulong = 0x2000741d; ++pub const TCXONC: ::c_ulong = 0x2000741e; ++pub const TCFLSH: ::c_ulong = 0x2000741f; ++pub const TIOCGSOFTCAR: ::c_ulong = 0x5419; ++pub const TIOCSSOFTCAR: ::c_ulong = 0x541A; ++pub const TIOCLINUX: ::c_ulong = 0x541C; ++pub const TIOCGSERIAL: ::c_ulong = 0x541E; ++pub const TIOCEXCL: ::c_ulong = 0x540C; ++pub const TIOCNXCL: ::c_ulong = 0x540D; ++pub const TIOCSCTTY: ::c_ulong = 0x540E; ++pub const TIOCGPGRP: ::c_ulong = 0x40047477; ++pub const TIOCSPGRP: ::c_ulong = 0x80047476; ++pub const TIOCOUTQ: ::c_ulong = 0x40047473; ++pub const TIOCGWINSZ: ::c_ulong = 0x40087468; ++pub const TIOCSWINSZ: ::c_ulong = 0x80087467; ++pub const TIOCMGET: ::c_ulong = 0x5415; ++pub const TIOCMBIS: ::c_ulong = 0x5416; ++pub const TIOCMBIC: ::c_ulong = 0x5417; ++pub const TIOCMSET: ::c_ulong = 0x5418; ++pub const FIONREAD: ::c_ulong = 0x4004667f; ++pub const TIOCCONS: ::c_ulong = 0x541D; ++pub const TIOCM_LE: ::c_ulong = 0x001; ++pub const TIOCM_DTR: ::c_ulong = 0x002; ++pub const TIOCM_RTS: ::c_ulong = 0x004; ++pub const TIOCM_ST: ::c_ulong = 0x008; ++pub const TIOCM_SR: ::c_ulong = 0x010; ++pub const TIOCM_CTS: ::c_ulong = 0x020; ++pub const TIOCM_CAR: ::c_ulong = 0x040; ++pub const TIOCM_RNG: ::c_ulong = 0x080; ++pub const TIOCM_DSR: ::c_ulong = 0x100; ++pub const TIOCM_CD: ::c_ulong = TIOCM_CAR; ++pub const TIOCM_RI: ::c_ulong = TIOCM_RNG; ++ ++pub const RLIMIT_NLIMITS: ::c_int = 15; ++pub const TIOCINQ: ::c_ulong = ::FIONREAD; ++pub const MCL_CURRENT: ::c_int = 0x2000; ++pub const MCL_FUTURE: ::c_int = 0x4000; ++pub const CBAUD: ::tcflag_t = 0xff; ++pub const TAB1: ::c_int = 0x400; ++pub const TAB2: ::c_int = 0x800; ++pub const TAB3: ::c_int = 0xc00; ++pub const CR1: ::c_int = 0x1000; ++pub const CR2: ::c_int = 0x2000; ++pub const CR3: ::c_int = 0x3000; ++pub const FF1: ::c_int = 0x4000; ++pub const BS1: ::c_int = 0x8000; ++pub const VT1: ::c_int = 0x10000; ++pub const VWERASE: usize = 10; ++pub const VREPRINT: usize = 11; ++pub const VSUSP: usize = 12; ++pub const VSTART: usize = 13; ++pub const VSTOP: usize = 14; ++pub const VDISCARD: usize = 16; ++pub const VTIME: usize = 7; ++pub const IXON: ::tcflag_t = 0x00000200; ++pub const IXOFF: ::tcflag_t = 0x00000400; ++pub const ONLCR: ::tcflag_t = 0x2; ++pub const CSIZE: ::tcflag_t = 0x00000300; ++ ++pub const CS6: ::tcflag_t = 0x00000100; ++pub const CS7: ::tcflag_t = 0x00000200; ++pub const CS8: ::tcflag_t = 0x00000300; ++pub const CSTOPB: ::tcflag_t = 0x00000400; ++pub const CREAD: ::tcflag_t = 0x00000800; ++pub const PARENB: ::tcflag_t = 0x00001000; ++pub const PARODD: ::tcflag_t = 0x00002000; ++pub const HUPCL: ::tcflag_t = 0x00004000; ++pub const CLOCAL: ::tcflag_t = 0x00008000; ++pub const ECHOKE: ::tcflag_t = 0x00000001; ++pub const ECHOE: ::tcflag_t = 0x00000002; ++pub const ECHOK: ::tcflag_t = 0x00000004; ++pub const ECHONL: ::tcflag_t = 0x00000010; ++pub const ECHOPRT: ::tcflag_t = 0x00000020; ++pub const ECHOCTL: ::tcflag_t = 0x00000040; ++pub const ISIG: ::tcflag_t = 0x00000080; ++pub const ICANON: ::tcflag_t = 0x00000100; ++pub const PENDIN: ::tcflag_t = 0x20000000; ++pub const NOFLSH: ::tcflag_t = 0x80000000; ++ ++pub const CIBAUD: ::tcflag_t = 0o77600000; ++pub const CBAUDEX: ::tcflag_t = 0o0000020; ++pub const VSWTC: usize = 9; ++pub const OLCUC: ::tcflag_t = 0o000004; ++pub const NLDLY: ::tcflag_t = 0o0001400; ++pub const CRDLY: ::tcflag_t = 0o0030000; ++pub const TABDLY: ::tcflag_t = 0o0006000; ++pub const BSDLY: ::tcflag_t = 0o0100000; ++pub const FFDLY: ::tcflag_t = 0o0040000; ++pub const VTDLY: ::tcflag_t = 0o0200000; ++pub const XTABS: ::tcflag_t = 0o00006000; ++ ++pub const B57600: ::speed_t = 0o00020; ++pub const B115200: ::speed_t = 0o00021; ++pub const B230400: ::speed_t = 0o00022; ++pub const B460800: ::speed_t = 0o00023; ++pub const B500000: ::speed_t = 0o00024; ++pub const B576000: ::speed_t = 0o00025; ++pub const B921600: ::speed_t = 0o00026; ++pub const B1000000: ::speed_t = 0o00027; ++pub const B1152000: ::speed_t = 0o00030; ++pub const B1500000: ::speed_t = 0o00031; ++pub const B2000000: ::speed_t = 0o00032; ++pub const B2500000: ::speed_t = 0o00033; ++pub const B3000000: ::speed_t = 0o00034; ++pub const B3500000: ::speed_t = 0o00035; ++pub const B4000000: ::speed_t = 0o00036; ++ ++extern { ++ pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int; ++} +diff --git a/src/vendor/libc/src/unix/notbsd/linux/musl/b64/x86_64.rs b/src/vendor/libc/src/unix/notbsd/linux/musl/b64/x86_64.rs +index 78d38e49e8f..0e0fcec4d2e 100644 +--- a/src/vendor/libc/src/unix/notbsd/linux/musl/b64/x86_64.rs ++++ b/src/vendor/libc/src/unix/notbsd/linux/musl/b64/x86_64.rs +@@ -449,3 +449,139 @@ pub const MINSIGSTKSZ: ::size_t = 2048; + pub const AF_MAX: ::c_int = 42; + #[doc(hidden)] + pub const PF_MAX: ::c_int = AF_MAX; ++ ++pub const RLIMIT_NLIMITS: ::c_int = 16; ++pub const TIOCINQ: ::c_int = ::FIONREAD; ++pub const MCL_CURRENT: ::c_int = 0x0001; ++pub const MCL_FUTURE: ::c_int = 0x0002; ++pub const CBAUD: ::tcflag_t = 0o0010017; ++pub const TAB1: ::c_int = 0x00000800; ++pub const TAB2: ::c_int = 0x00001000; ++pub const TAB3: ::c_int = 0x00001800; ++pub const CR1: ::c_int = 0x00000200; ++pub const CR2: ::c_int = 0x00000400; ++pub const CR3: ::c_int = 0x00000600; ++pub const FF1: ::c_int = 0x00008000; ++pub const BS1: ::c_int = 0x00002000; ++pub const VT1: ::c_int = 0x00004000; ++pub const VWERASE: usize = 14; ++pub const VREPRINT: usize = 12; ++pub const VSUSP: usize = 10; ++pub const VSTART: usize = 8; ++pub const VSTOP: usize = 9; ++pub const VDISCARD: usize = 13; ++pub const VTIME: usize = 5; ++pub const IXON: ::tcflag_t = 0x00000400; ++pub const IXOFF: ::tcflag_t = 0x00001000; ++pub const ONLCR: ::tcflag_t = 0x4; ++pub const CSIZE: ::tcflag_t = 0x00000030; ++pub const CS6: ::tcflag_t = 0x00000010; ++pub const CS7: ::tcflag_t = 0x00000020; ++pub const CS8: ::tcflag_t = 0x00000030; ++pub const CSTOPB: ::tcflag_t = 0x00000040; ++pub const CREAD: ::tcflag_t = 0x00000080; ++pub const PARENB: ::tcflag_t = 0x00000100; ++pub const PARODD: ::tcflag_t = 0x00000200; ++pub const HUPCL: ::tcflag_t = 0x00000400; ++pub const CLOCAL: ::tcflag_t = 0x00000800; ++pub const ECHOKE: ::tcflag_t = 0x00000800; ++pub const ECHOE: ::tcflag_t = 0x00000010; ++pub const ECHOK: ::tcflag_t = 0x00000020; ++pub const ECHONL: ::tcflag_t = 0x00000040; ++pub const ECHOPRT: ::tcflag_t = 0x00000400; ++pub const ECHOCTL: ::tcflag_t = 0x00000200; ++pub const ISIG: ::tcflag_t = 0x00000001; ++pub const ICANON: ::tcflag_t = 0x00000002; ++pub const PENDIN: ::tcflag_t = 0x00004000; ++pub const NOFLSH: ::tcflag_t = 0x00000080; ++pub const CIBAUD: ::tcflag_t = 0o02003600000; ++pub const CBAUDEX: ::tcflag_t = 0o010000; ++pub const VSWTC: usize = 7; ++pub const OLCUC: ::tcflag_t = 0o000002; ++pub const NLDLY: ::tcflag_t = 0o000400; ++pub const CRDLY: ::tcflag_t = 0o003000; ++pub const TABDLY: ::tcflag_t = 0o014000; ++pub const BSDLY: ::tcflag_t = 0o020000; ++pub const FFDLY: ::tcflag_t = 0o100000; ++pub const VTDLY: ::tcflag_t = 0o040000; ++pub const XTABS: ::tcflag_t = 0o014000; ++pub const B57600: ::speed_t = 0o010001; ++pub const B115200: ::speed_t = 0o010002; ++pub const B230400: ::speed_t = 0o010003; ++pub const B460800: ::speed_t = 0o010004; ++pub const B500000: ::speed_t = 0o010005; ++pub const B576000: ::speed_t = 0o010006; ++pub const B921600: ::speed_t = 0o010007; ++pub const B1000000: ::speed_t = 0o010010; ++pub const B1152000: ::speed_t = 0o010011; ++pub const B1500000: ::speed_t = 0o010012; ++pub const B2000000: ::speed_t = 0o010013; ++pub const B2500000: ::speed_t = 0o010014; ++pub const B3000000: ::speed_t = 0o010015; ++pub const B3500000: ::speed_t = 0o010016; ++pub const B4000000: ::speed_t = 0o010017; ++ ++pub const FIOCLEX: ::c_int = 0x5451; ++pub const FIONBIO: ::c_int = 0x5421; ++pub const EDEADLK: ::c_int = 35; ++pub const EDEADLOCK: ::c_int = EDEADLK; ++pub const SO_PASSCRED: ::c_int = 16; ++pub const SO_PEERCRED: ::c_int = 17; ++pub const SO_RCVLOWAT: ::c_int = 18; ++pub const SO_SNDLOWAT: ::c_int = 19; ++pub const SO_RCVTIMEO: ::c_int = 20; ++pub const SO_SNDTIMEO: ::c_int = 21; ++pub const EXTPROC: ::tcflag_t = 0x00010000; ++pub const VEOL: usize = 11; ++pub const VEOL2: usize = 16; ++pub const VMIN: usize = 6; ++pub const IEXTEN: ::tcflag_t = 0x00008000; ++pub const TOSTOP: ::tcflag_t = 0x00000100; ++pub const FLUSHO: ::tcflag_t = 0x00001000; ++pub const TCGETS: ::c_int = 0x5401; ++pub const TCSETS: ::c_int = 0x5402; ++pub const TCSETSW: ::c_int = 0x5403; ++pub const TCSETSF: ::c_int = 0x5404; ++pub const TCGETA: ::c_int = 0x5405; ++pub const TCSETA: ::c_int = 0x5406; ++pub const TCSETAW: ::c_int = 0x5407; ++pub const TCSETAF: ::c_int = 0x5408; ++pub const TCSBRK: ::c_int = 0x5409; ++pub const TCXONC: ::c_int = 0x540A; ++pub const TCFLSH: ::c_int = 0x540B; ++pub const TIOCGSOFTCAR: ::c_int = 0x5419; ++pub const TIOCSSOFTCAR: ::c_int = 0x541A; ++pub const TIOCLINUX: ::c_int = 0x541C; ++pub const TIOCGSERIAL: ::c_int = 0x541E; ++pub const TIOCEXCL: ::c_int = 0x540C; ++pub const TIOCNXCL: ::c_int = 0x540D; ++pub const TIOCSCTTY: ::c_int = 0x540E; ++pub const TIOCGPGRP: ::c_int = 0x540F; ++pub const TIOCSPGRP: ::c_int = 0x5410; ++pub const TIOCOUTQ: ::c_int = 0x5411; ++pub const TIOCSTI: ::c_int = 0x5412; ++pub const TIOCGWINSZ: ::c_int = 0x5413; ++pub const TIOCSWINSZ: ::c_int = 0x5414; ++pub const TIOCMGET: ::c_int = 0x5415; ++pub const TIOCMBIS: ::c_int = 0x5416; ++pub const TIOCMBIC: ::c_int = 0x5417; ++pub const TIOCMSET: ::c_int = 0x5418; ++pub const FIONREAD: ::c_int = 0x541B; ++pub const TIOCCONS: ::c_int = 0x541D; ++ ++pub const TIOCM_LE: ::c_int = 0x001; ++pub const TIOCM_DTR: ::c_int = 0x002; ++pub const TIOCM_RTS: ::c_int = 0x004; ++pub const TIOCM_ST: ::c_int = 0x008; ++pub const TIOCM_SR: ::c_int = 0x010; ++pub const TIOCM_CTS: ::c_int = 0x020; ++pub const TIOCM_CAR: ::c_int = 0x040; ++pub const TIOCM_RNG: ::c_int = 0x080; ++pub const TIOCM_DSR: ::c_int = 0x100; ++pub const TIOCM_CD: ::c_int = TIOCM_CAR; ++pub const TIOCM_RI: ::c_int = TIOCM_RNG; ++ ++extern { ++ pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int; ++} ++ +diff --git a/src/vendor/libc/src/unix/notbsd/linux/musl/mod.rs b/src/vendor/libc/src/unix/notbsd/linux/musl/mod.rs +index 9a63d1f7330..0d92a4b9d14 100644 +--- a/src/vendor/libc/src/unix/notbsd/linux/musl/mod.rs ++++ b/src/vendor/libc/src/unix/notbsd/linux/musl/mod.rs +@@ -147,7 +147,6 @@ pub const POSIX_MADV_DONTNEED: ::c_int = 4; + + pub const RLIM_INFINITY: ::rlim_t = !0; + pub const RLIMIT_RTTIME: ::c_int = 15; +-pub const RLIMIT_NLIMITS: ::c_int = 16; + + pub const MAP_ANONYMOUS: ::c_int = MAP_ANON; + +@@ -213,8 +212,6 @@ pub const TCSANOW: ::c_int = 0; + pub const TCSADRAIN: ::c_int = 1; + pub const TCSAFLUSH: ::c_int = 2; + +-pub const TIOCINQ: ::c_int = ::FIONREAD; +- + pub const RTLD_GLOBAL: ::c_int = 0x100; + pub const RTLD_NOLOAD: ::c_int = 0x4; + +@@ -223,61 +220,6 @@ pub const RTLD_NOLOAD: ::c_int = 0x4; + pub const CLOCK_SGI_CYCLE: ::clockid_t = 10; + pub const CLOCK_TAI: ::clockid_t = 11; + +-pub const MCL_CURRENT: ::c_int = 0x0001; +-pub const MCL_FUTURE: ::c_int = 0x0002; +- +-pub const CBAUD: ::tcflag_t = 0o0010017; +-pub const TAB1: ::c_int = 0x00000800; +-pub const TAB2: ::c_int = 0x00001000; +-pub const TAB3: ::c_int = 0x00001800; +-pub const CR1: ::c_int = 0x00000200; +-pub const CR2: ::c_int = 0x00000400; +-pub const CR3: ::c_int = 0x00000600; +-pub const FF1: ::c_int = 0x00008000; +-pub const BS1: ::c_int = 0x00002000; +-pub const VT1: ::c_int = 0x00004000; +-pub const VWERASE: usize = 14; +-pub const VREPRINT: usize = 12; +-pub const VSUSP: usize = 10; +-pub const VSTART: usize = 8; +-pub const VSTOP: usize = 9; +-pub const VDISCARD: usize = 13; +-pub const VTIME: usize = 5; +-pub const IXON: ::tcflag_t = 0x00000400; +-pub const IXOFF: ::tcflag_t = 0x00001000; +-pub const ONLCR: ::tcflag_t = 0x4; +-pub const CSIZE: ::tcflag_t = 0x00000030; +-pub const CS6: ::tcflag_t = 0x00000010; +-pub const CS7: ::tcflag_t = 0x00000020; +-pub const CS8: ::tcflag_t = 0x00000030; +-pub const CSTOPB: ::tcflag_t = 0x00000040; +-pub const CREAD: ::tcflag_t = 0x00000080; +-pub const PARENB: ::tcflag_t = 0x00000100; +-pub const PARODD: ::tcflag_t = 0x00000200; +-pub const HUPCL: ::tcflag_t = 0x00000400; +-pub const CLOCAL: ::tcflag_t = 0x00000800; +-pub const ECHOKE: ::tcflag_t = 0x00000800; +-pub const ECHOE: ::tcflag_t = 0x00000010; +-pub const ECHOK: ::tcflag_t = 0x00000020; +-pub const ECHONL: ::tcflag_t = 0x00000040; +-pub const ECHOPRT: ::tcflag_t = 0x00000400; +-pub const ECHOCTL: ::tcflag_t = 0x00000200; +-pub const ISIG: ::tcflag_t = 0x00000001; +-pub const ICANON: ::tcflag_t = 0x00000002; +-pub const PENDIN: ::tcflag_t = 0x00004000; +-pub const NOFLSH: ::tcflag_t = 0x00000080; +-pub const CIBAUD: ::tcflag_t = 0o02003600000; +-pub const CBAUDEX: ::tcflag_t = 0o010000; +-pub const VSWTC: usize = 7; +-pub const OLCUC: ::tcflag_t = 0o000002; +-pub const NLDLY: ::tcflag_t = 0o000400; +-pub const CRDLY: ::tcflag_t = 0o003000; +-pub const TABDLY: ::tcflag_t = 0o014000; +-pub const BSDLY: ::tcflag_t = 0o020000; +-pub const FFDLY: ::tcflag_t = 0o100000; +-pub const VTDLY: ::tcflag_t = 0o040000; +-pub const XTABS: ::tcflag_t = 0o014000; +- + pub const B0: ::speed_t = 0o000000; + pub const B50: ::speed_t = 0o000001; + pub const B75: ::speed_t = 0o000002; +@@ -296,21 +238,6 @@ pub const B19200: ::speed_t = 0o000016; + pub const B38400: ::speed_t = 0o000017; + pub const EXTA: ::speed_t = B19200; + pub const EXTB: ::speed_t = B38400; +-pub const B57600: ::speed_t = 0o010001; +-pub const B115200: ::speed_t = 0o010002; +-pub const B230400: ::speed_t = 0o010003; +-pub const B460800: ::speed_t = 0o010004; +-pub const B500000: ::speed_t = 0o010005; +-pub const B576000: ::speed_t = 0o010006; +-pub const B921600: ::speed_t = 0o010007; +-pub const B1000000: ::speed_t = 0o010010; +-pub const B1152000: ::speed_t = 0o010011; +-pub const B1500000: ::speed_t = 0o010012; +-pub const B2000000: ::speed_t = 0o010013; +-pub const B2500000: ::speed_t = 0o010014; +-pub const B3000000: ::speed_t = 0o010015; +-pub const B3500000: ::speed_t = 0o010016; +-pub const B4000000: ::speed_t = 0o010017; + + pub const SO_BINDTODEVICE: ::c_int = 25; + pub const SO_TIMESTAMP: ::c_int = 29; +@@ -320,7 +247,6 @@ pub const SO_PEEK_OFF: ::c_int = 42; + pub const SO_BUSY_POLL: ::c_int = 46; + + extern { +- pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int; + pub fn ptrace(request: ::c_int, ...) -> ::c_long; + pub fn getpriority(which: ::c_int, who: ::id_t) -> ::c_int; + pub fn setpriority(which: ::c_int, who: ::id_t, prio: ::c_int) -> ::c_int; diff --git a/user/rust/0032-liblibc-90c01fa6b0f4.patch b/user/rust/0032-liblibc-90c01fa6b0f4.patch new file mode 100644 index 000000000..5e73c780e --- /dev/null +++ b/user/rust/0032-liblibc-90c01fa6b0f4.patch @@ -0,0 +1,162 @@ +From 90c01fa6b0f45c63dc19aa75cd39b38d2de5e98b Mon Sep 17 00:00:00 2001 +From: est31 <MTest31@outlook.com> +Date: Sun, 1 Jul 2018 09:25:11 +0200 +Subject: [PATCH] Re-add aarch64 stuff removed by previous commit + +Previous commit + +dcff154781e4b3c6ef3a6a4024c73631f52f48cb +"libc: changes to ppc64le musl branch to support building of rust on Alpine" + +has removed stuff from mod.rs and added it to some submodules, but +missed the aarch64 submodule. + +This copies the stuff that that commit added to the x86_64.rs submodule +and puts it into aarch64.rs. +--- + src/unix/notbsd/linux/musl/b64/aarch64.rs | 135 ++++++++++++++++++++++ + 1 file changed, 135 insertions(+) + +diff --git a/src/vendor/libc/src/unix/notbsd/linux/musl/b64/aarch64.rs b/src/vendor/libc/src/unix/notbsd/linux/musl/b64/aarch64.rs +index da0827a7750..98c53dc4f2b 100644 +--- a/src/vendor/libc/src/unix/notbsd/linux/musl/b64/aarch64.rs ++++ b/src/vendor/libc/src/unix/notbsd/linux/musl/b64/aarch64.rs +@@ -339,3 +339,138 @@ pub const SYS_pwritev2: ::c_long = 287; + pub const SYS_pkey_mprotect: ::c_long = 288; + pub const SYS_pkey_alloc: ::c_long = 289; + pub const SYS_pkey_free: ::c_long = 290; ++ ++pub const RLIMIT_NLIMITS: ::c_int = 16; ++pub const TIOCINQ: ::c_int = ::FIONREAD; ++pub const MCL_CURRENT: ::c_int = 0x0001; ++pub const MCL_FUTURE: ::c_int = 0x0002; ++pub const CBAUD: ::tcflag_t = 0o0010017; ++pub const TAB1: ::c_int = 0x00000800; ++pub const TAB2: ::c_int = 0x00001000; ++pub const TAB3: ::c_int = 0x00001800; ++pub const CR1: ::c_int = 0x00000200; ++pub const CR2: ::c_int = 0x00000400; ++pub const CR3: ::c_int = 0x00000600; ++pub const FF1: ::c_int = 0x00008000; ++pub const BS1: ::c_int = 0x00002000; ++pub const VT1: ::c_int = 0x00004000; ++pub const VWERASE: usize = 14; ++pub const VREPRINT: usize = 12; ++pub const VSUSP: usize = 10; ++pub const VSTART: usize = 8; ++pub const VSTOP: usize = 9; ++pub const VDISCARD: usize = 13; ++pub const VTIME: usize = 5; ++pub const IXON: ::tcflag_t = 0x00000400; ++pub const IXOFF: ::tcflag_t = 0x00001000; ++pub const ONLCR: ::tcflag_t = 0x4; ++pub const CSIZE: ::tcflag_t = 0x00000030; ++pub const CS6: ::tcflag_t = 0x00000010; ++pub const CS7: ::tcflag_t = 0x00000020; ++pub const CS8: ::tcflag_t = 0x00000030; ++pub const CSTOPB: ::tcflag_t = 0x00000040; ++pub const CREAD: ::tcflag_t = 0x00000080; ++pub const PARENB: ::tcflag_t = 0x00000100; ++pub const PARODD: ::tcflag_t = 0x00000200; ++pub const HUPCL: ::tcflag_t = 0x00000400; ++pub const CLOCAL: ::tcflag_t = 0x00000800; ++pub const ECHOKE: ::tcflag_t = 0x00000800; ++pub const ECHOE: ::tcflag_t = 0x00000010; ++pub const ECHOK: ::tcflag_t = 0x00000020; ++pub const ECHONL: ::tcflag_t = 0x00000040; ++pub const ECHOPRT: ::tcflag_t = 0x00000400; ++pub const ECHOCTL: ::tcflag_t = 0x00000200; ++pub const ISIG: ::tcflag_t = 0x00000001; ++pub const ICANON: ::tcflag_t = 0x00000002; ++pub const PENDIN: ::tcflag_t = 0x00004000; ++pub const NOFLSH: ::tcflag_t = 0x00000080; ++pub const CIBAUD: ::tcflag_t = 0o02003600000; ++pub const CBAUDEX: ::tcflag_t = 0o010000; ++pub const VSWTC: usize = 7; ++pub const OLCUC: ::tcflag_t = 0o000002; ++pub const NLDLY: ::tcflag_t = 0o000400; ++pub const CRDLY: ::tcflag_t = 0o003000; ++pub const TABDLY: ::tcflag_t = 0o014000; ++pub const BSDLY: ::tcflag_t = 0o020000; ++pub const FFDLY: ::tcflag_t = 0o100000; ++pub const VTDLY: ::tcflag_t = 0o040000; ++pub const XTABS: ::tcflag_t = 0o014000; ++pub const B57600: ::speed_t = 0o010001; ++pub const B115200: ::speed_t = 0o010002; ++pub const B230400: ::speed_t = 0o010003; ++pub const B460800: ::speed_t = 0o010004; ++pub const B500000: ::speed_t = 0o010005; ++pub const B576000: ::speed_t = 0o010006; ++pub const B921600: ::speed_t = 0o010007; ++pub const B1000000: ::speed_t = 0o010010; ++pub const B1152000: ::speed_t = 0o010011; ++pub const B1500000: ::speed_t = 0o010012; ++pub const B2000000: ::speed_t = 0o010013; ++pub const B2500000: ::speed_t = 0o010014; ++pub const B3000000: ::speed_t = 0o010015; ++pub const B3500000: ::speed_t = 0o010016; ++pub const B4000000: ::speed_t = 0o010017; ++ ++pub const FIOCLEX: ::c_int = 0x5451; ++pub const FIONBIO: ::c_int = 0x5421; ++pub const EDEADLK: ::c_int = 35; ++pub const EDEADLOCK: ::c_int = EDEADLK; ++pub const SO_PASSCRED: ::c_int = 16; ++pub const SO_PEERCRED: ::c_int = 17; ++pub const SO_RCVLOWAT: ::c_int = 18; ++pub const SO_SNDLOWAT: ::c_int = 19; ++pub const SO_RCVTIMEO: ::c_int = 20; ++pub const SO_SNDTIMEO: ::c_int = 21; ++pub const EXTPROC: ::tcflag_t = 0x00010000; ++pub const VEOL: usize = 11; ++pub const VEOL2: usize = 16; ++pub const VMIN: usize = 6; ++pub const IEXTEN: ::tcflag_t = 0x00008000; ++pub const TOSTOP: ::tcflag_t = 0x00000100; ++pub const FLUSHO: ::tcflag_t = 0x00001000; ++pub const TCGETS: ::c_int = 0x5401; ++pub const TCSETS: ::c_int = 0x5402; ++pub const TCSETSW: ::c_int = 0x5403; ++pub const TCSETSF: ::c_int = 0x5404; ++pub const TCGETA: ::c_int = 0x5405; ++pub const TCSETA: ::c_int = 0x5406; ++pub const TCSETAW: ::c_int = 0x5407; ++pub const TCSETAF: ::c_int = 0x5408; ++pub const TCSBRK: ::c_int = 0x5409; ++pub const TCXONC: ::c_int = 0x540A; ++pub const TCFLSH: ::c_int = 0x540B; ++pub const TIOCGSOFTCAR: ::c_int = 0x5419; ++pub const TIOCSSOFTCAR: ::c_int = 0x541A; ++pub const TIOCLINUX: ::c_int = 0x541C; ++pub const TIOCGSERIAL: ::c_int = 0x541E; ++pub const TIOCEXCL: ::c_int = 0x540C; ++pub const TIOCNXCL: ::c_int = 0x540D; ++pub const TIOCSCTTY: ::c_int = 0x540E; ++pub const TIOCGPGRP: ::c_int = 0x540F; ++pub const TIOCSPGRP: ::c_int = 0x5410; ++pub const TIOCOUTQ: ::c_int = 0x5411; ++pub const TIOCSTI: ::c_int = 0x5412; ++pub const TIOCGWINSZ: ::c_int = 0x5413; ++pub const TIOCSWINSZ: ::c_int = 0x5414; ++pub const TIOCMGET: ::c_int = 0x5415; ++pub const TIOCMBIS: ::c_int = 0x5416; ++pub const TIOCMBIC: ::c_int = 0x5417; ++pub const TIOCMSET: ::c_int = 0x5418; ++pub const FIONREAD: ::c_int = 0x541B; ++pub const TIOCCONS: ::c_int = 0x541D; ++ ++pub const TIOCM_LE: ::c_int = 0x001; ++pub const TIOCM_DTR: ::c_int = 0x002; ++pub const TIOCM_RTS: ::c_int = 0x004; ++pub const TIOCM_ST: ::c_int = 0x008; ++pub const TIOCM_SR: ::c_int = 0x010; ++pub const TIOCM_CTS: ::c_int = 0x020; ++pub const TIOCM_CAR: ::c_int = 0x040; ++pub const TIOCM_RNG: ::c_int = 0x080; ++pub const TIOCM_DSR: ::c_int = 0x100; ++pub const TIOCM_CD: ::c_int = TIOCM_CAR; ++pub const TIOCM_RI: ::c_int = TIOCM_RNG; ++ ++extern { ++ pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int; ++} diff --git a/user/rust/0033-liblibc-checksums.patch b/user/rust/0033-liblibc-checksums.patch new file mode 100644 index 000000000..3a1f5f423 --- /dev/null +++ b/user/rust/0033-liblibc-checksums.patch @@ -0,0 +1,9 @@ +diff --git a/src/vendor/libc/.cargo-checksum.json b/src/vendor/libc/.cargo-checksum.json +index 5b315f61..c28c8c5c 100644 +--- a/src/vendor/libc/.cargo-checksum.json ++++ b/src/vendor/libc/.cargo-checksum.json +@@ -1 +1 @@ +-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".gitignore":"7150ee9391a955b2ef7e0762fc61c0c1aab167620ca36d88d78062d93b8334ba",".travis.yml":"9750910d5fdc61263fb3eae7f5f78e2920923f250150f8500c0c22a830790acd","Cargo.toml":"4629bf1256274045a39aedc78a7f6b48b5bf7fdf177cd69c4eb65909586ab0cf","Cargo.toml.orig":"423b6276994f73cf7fc57dafad118ff8b0e207eb55ebe57a0ee1a149bf36f544","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"fdf0f0c197e2999fce42457fb089f192a42d2fb1f743c9c8fcda1a44cb40e1fa","appveyor.yml":"216f7ac4561aa5810dc84ce5a9950897a8c0496e0615d0211d62348b1c8dc720","ci/README.md":"2e3d7ad13f8c3202e57d2af73aeeebde306221dce7c0907e462e25767a692d6b","ci/android-install-ndk.sh":"725db9025c5905849916bf7c910f98ff0e753484397c2a1f836d48a576d10890","ci/android-install-sdk.sh":"5c3fbe402ac611239ac7715a61f247d1c55fa012f33a5be0b0127dfc196965cf","ci/android-sysimage.sh":"901415631752827454c827e8c51906ba4260612e4021eda98eb7fff771c7d0e8","ci/docker/aarch64-linux-android/Dockerfile":"e17945fba1786dfe766006f50e79baf3f4151ca0c0c14ae96f91483bf345afd7","ci/docker/aarch64-unknown-linux-gnu/Dockerfile":"5f430271941e1eecdf9d1a5fb701dd5622e2c4b9da03140fd829bf216e55529d","ci/docker/aarch64-unknown-linux-musl/Dockerfile":"3e1cbf0fa728571b9be9769e5a6281c964fa5b26d586265117ccee017ca4022c","ci/docker/arm-linux-androideabi/Dockerfile":"4e0bdc13254f99bd0db195f91331c634050426e3e4a0fcc63ef25ab795fe2d46","ci/docker/arm-unknown-linux-gnueabihf/Dockerfile":"dbb025b53b27e406893184290836a50133ecae8295711d5e05b4e41fac9bd262","ci/docker/arm-unknown-linux-musleabihf/Dockerfile":"7cb6e0f8fb91c97f142a9c827687bbbc1a5e7643a3081160025d0365593a596c","ci/docker/asmjs-unknown-emscripten/Dockerfile":"0d9aea5119c2cd136cc2c0a578105d91210e45901ac49b17c5e45f458b1c7551","ci/docker/i686-linux-android/Dockerfile":"4e8377ec0bd9ad2df23bf2c5373200a12750dc9f28c4f10bc83a0150fe1623ee","ci/docker/i686-unknown-linux-gnu/Dockerfile":"f22ac412525ef15b33ab8ccd8193d97346faf421c17f6ddeffc25b651aba83b7","ci/docker/i686-unknown-linux-musl/Dockerfile":"4ac86fe9e159d454616396a9f3f07ce0f5d99cc4b49898b8d2486e6bdbfed9e9","ci/docker/mips-unknown-linux-gnu/Dockerfile":"6d2a9daa299003497c1d441d07b69f730ad75ee49f34520f959b5158e60072e0","ci/docker/mips-unknown-linux-musl/Dockerfile":"4773b2656a7dd6a3b106fcb737428436652edf3d1f48181de3f62c16bf5bd49d","ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile":"7c4d26232f1c1553a6612d9b0b3faac9887e139eaffa025f70d34113dcee812f","ci/docker/mips64el-unknown-linux-gnuabi64/Dockerfile":"edb4144c07ade1a8bd65272ec1d3672ad794e9e6b7d01197896e159a70175b58","ci/docker/mipsel-unknown-linux-musl/Dockerfile":"0ca9c12b5618c6d2df04ff820d56fb28e05b43e45eaa506480126b03c5072d48","ci/docker/powerpc-unknown-linux-gnu/Dockerfile":"4b247dcc399395815ec9153c1247cc03d764896c484eddcb196d0bf8650d6311","ci/docker/powerpc64-unknown-linux-gnu/Dockerfile":"e949717a8ba5e123940729ff47ce1c45989c8b8247c576f1488f698b534e0283","ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile":"018591017f499414a9f79477e1c39baa6a47f71fce6812fb1868fb0fcdfb8cea","ci/docker/s390x-unknown-linux-gnu/Dockerfile":"9860f478c5b2dc3bcf76d2cda7f71922a2a2ef54898cc2ed6ea9b9eff094a5c0","ci/docker/sparc64-unknown-linux-gnu/Dockerfile":"2312491343665d2ab36fd669f14766facbf3c7e9820ffb8f0d623830b676f8f0","ci/docker/wasm32-unknown-emscripten/Dockerfile":"bd072d6ae91a9160693e402dd77462d3c9dd0716711e719a62af330ae479eb4e","ci/docker/wasm32-unknown-emscripten/node-wrapper.sh":"0eef37c3c4fb16dbc083148b7e7af45f2ae60bd9a1b3a77e1d43da79efbd30c6","ci/docker/x86_64-linux-android/Dockerfile":"aeeaa540189ca712369c564c9a14cbace63217dadcfaf879a2cb40fbdeb08199","ci/docker/x86_64-rumprun-netbsd/Dockerfile":"e8f9287b267c6058eec42d1bca0007cb9a78a1d244dd8e11088368cb61fb17d6","ci/docker/x86_64-rumprun-netbsd/runtest.rs":"53302e9ed39293c1ec68ab56287593907d4aaf5bac9c1c2857b29f754a71d62b","ci/docker/x86_64-unknown-freebsd/Dockerfile":"ab1f14c65c29f3721c7c091bdec2e865fb1abf45fdcdc867201d087966e396c4","ci/docker/x86_64-unknown-linux-gnu/Dockerfile":"ab3fa45765802b8155996796fcad9fb82096360ac587e38e6faa3ec345268796","ci/docker/x86_64-unknown-linux-gnux32/Dockerfile":"f22ac412525ef15b33ab8ccd8193d97346faf421c17f6ddeffc25b651aba83b7","ci/docker/x86_64-unknown-linux-musl/Dockerfile":"e145784741473150473b1bef7cc3c2cf0c6339d4fc480113ac41b4247a9b38ec","ci/dox.sh":"d77171a9da467bb01fc702a28fc3b5099f82a485a627f3d5593a9830c3e1a77c","ci/emscripten-entry.sh":"c97bbec520b57af9b1ae264ca991560e99c3852c99b00a2f673c614d1ba17498","ci/emscripten.sh":"6f66c7b5c3d34a41afc59ceb0a8c3b0880cd6fd9a6344b874ae80bac0639ccb2","ci/ios/deploy_and_run_on_ios_simulator.rs":"3175066fd7f82390f6226d881e1a1dda9767ea2705656870e0d7774e2731800e","ci/landing-page-footer.html":"b70b3112c2147f5c967e7481061ef38bc2d79a28dd55a16fb916d9c9426da2c4","ci/landing-page-head.html":"ad69663fac7924f27d0209bc519d55838e86edfc4133713a6fd08caadac1b142","ci/linux-s390x.sh":"d6b732d7795b4ba131326aff893bca6228a7d2eb0e9402f135705413dbbe0dce","ci/linux-sparc64.sh":"c92966838b1ab7ad3b7a344833ee726aba6b647cf5952e56f0ad1ba420b13325","ci/run-docker.sh":"be83bc5a8b5ef913a7c9941ffca24734716028650c9a876123c4c160672c18de","ci/run-qemu.sh":"bb859421170871ef23a8940c5e150efec0c01b95e32d2ce2d37b79a45d9d346c","ci/run.sh":"25f8fd0a88d5673bb872dbb7aef8d44ebbf6c863e10352cd79de557ce3e2e252","ci/runtest-android.rs":"a07ddbdd276aedda7876c7e676774178a60d9aeab95df01275a4ee95f59e3044","ci/style.rs":"940c06a676cff1dfc1555b887e46867c6aacc473956cd6aaafaed71824facdb2","ci/test-runner-linux":"cb3713d9e4fa1d9a7c039dfd077af0939921c1f2bf969c9e680ee66e87dc30a4","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"1c2dc787a1b3438970ccd04153c93538719b1a27445707913b90b6f0cdcdde77","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/dox.rs":"8f6037887281b828d8541ce8a549dacaed5d29c05fd9cf78b169838476b82741","src/fuchsia/aarch64.rs":"8366ac6f51e494aad9266ccab2b3a95c5ed7aa3a9f77ea672413283440919743","src/fuchsia/mod.rs":"56ee2333b856db94cc1f1f4350885ad2a4ed0e1b4e8792615aa0b257e2941192","src/fuchsia/powerpc64.rs":"390e8db54271a1d5f512d54a21b328091a792378bf9b42b49b6c1a72388da4ec","src/fuchsia/x86_64.rs":"b4a3eff94dcf1ffe41e6500468ca2cff0e97ddbcc75fe079b6ac7adb1e493f56","src/lib.rs":"e434d3def305ea28108b59841396ef8949333db9223aa11886ee05cd1c0ce8b0","src/macros.rs":"2e7048e266efdef4298254b7186a27736182c94adb0648aed0c8d735f66a5139","src/redox/mod.rs":"029a9af78211d86fe3108100c33f58d6e73ab09c826b641a9732325dc700d8e8","src/redox/net.rs":"0946ab864a2eeb20a365dc541c060f7a238c75356bb57de39956a486607f7ce1","src/unix/bsd/apple/b32.rs":"41699d2802327b0a4d4aa50cd20b1e366b442176cbedab27ca888ac0446c9156","src/unix/bsd/apple/b64.rs":"4fe7bf5de252dcd712dee0a7a8acfaa7c737c862eaa3ff669255d3f2076c5fa6","src/unix/bsd/apple/mod.rs":"3a423665ca29d73a4a29503f5f58277b7d19cb8df175c5f11666983880ef276f","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"1950bf56a7ecbfc8994e4b54dc94e752d91dccd8f0e2d1e4c2d3ad2fa8cb5e23","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/freebsd/mod.rs":"e762bacf0b96295ae241717210323c7442d199d9863159ee73462954fc855e1d","src/unix/bsd/freebsdlike/freebsd/x86.rs":"54311d3ebf2bb091ab22361e377e6ef9224aec2ecfe459fbfcedde4932db9c58","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/mod.rs":"d6096edda549bb2af16d083ee86561f5eb6bfa728d3cfac1938f0f84592bde5d","src/unix/bsd/mod.rs":"a1030452eed4ec52a39e9f39040e8fae4309143c7af145efadd9b425caa39672","src/unix/bsd/netbsdlike/mod.rs":"a685c1d23cb17758c3249b9c4ab45a50474e79270891235176b5f796f365380c","src/unix/bsd/netbsdlike/netbsd/mod.rs":"46a28912a4741e500f392131cc71273621de0234c4c28e29d8bf51c015ca7840","src/unix/bsd/netbsdlike/netbsd/other/b32/mod.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/netbsd/other/b64/mod.rs":"927eeccaf3269d299db4c2a55f8010807bf43dfa894aea6a783215f5d3560baa","src/unix/bsd/netbsdlike/netbsd/other/mod.rs":"4d9f7091af8e166943ac6f42ce85558909e5b6e61325039bff7adfbcf4b90212","src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs":"92459d80b8e5b570c0efe35a1d244d38f23072cd28b6581dfcb313dc9bfc3d51","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86_64.rs":"927eeccaf3269d299db4c2a55f8010807bf43dfa894aea6a783215f5d3560baa","src/unix/bsd/netbsdlike/openbsdlike/mod.rs":"cec53623e2269aea4437554a405452e7d3b09648b7cf6872d257d36ba979e2ec","src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs":"820092e397c7ec259cd2de8f2444083a8e57071c02d73d678701dfa7807726e9","src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs":"44035aad2907dffb6b18687ac7ddc76b5268af92b4e4f4c87759a00cae4de900","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs":"44b7ea81cf363777b29935da175e702cbf45ed78f7498ae57faf44aa32335085","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs":"7c959cdb3415f68a0f948117b9aa87a17463e57ab97cc3235f2567454b706653","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"ddd834c5c4e5ec7771d0f0071517c2d00095d5595f87a52245380ac762f7f011","src/unix/mod.rs":"47d253eef3bc46dacb0df2951b2136e41c4e758ffd34473b144f6108a90749f9","src/unix/newlib/aarch64/mod.rs":"c408a990f22fb4292a824f38367e9b517e6e6f8623328397ee631cc88b3d1f7d","src/unix/newlib/arm/mod.rs":"2b6dba2e697ab9b4f4bc4dd5f28057249e9b596d1cb395a9322ec87605c4a5c4","src/unix/newlib/mod.rs":"7422845a44de13a2faf15d105670525ed090c6e200c9723178ed735810bbd689","src/unix/notbsd/android/b32/arm.rs":"3625a32c7e58cfe683a53486fbe3d42d4e28f00bea31e19cb46ed2bb0b6a140b","src/unix/notbsd/android/b32/mod.rs":"2fbe398c1fb5251dda6213741a193e50aae4622807cb255d1dd2e82b536f0c65","src/unix/notbsd/android/b32/x86.rs":"ae2b7f1d6278caddc007749bb1d09ca33f7593478a0fd7fe98b457dae86c7814","src/unix/notbsd/android/b64/aarch64.rs":"63d65629d79371814910f691672ef593d20244ee09be26f1ebe07ee6212d0163","src/unix/notbsd/android/b64/mod.rs":"90d4f6b063fd4de42fd302cbc9d9902fd99ac1d71dc48cb8bc6ad7b4c902e481","src/unix/notbsd/android/b64/x86_64.rs":"5547aef8dcbaa5a932559f34606fd8d89f6c9c15173d2b1412c12d39b3c1045f","src/unix/notbsd/android/mod.rs":"c83157cf4a74c653b877c4d42b565d4a7d31e46e32015f19fc91447df2489a58","src/unix/notbsd/emscripten.rs":"5beb9bc98b6b317e85f2935db2aad9ef9cb2ab2e881917064fa7adf944568dae","src/unix/notbsd/linux/mips/mips32.rs":"df3268b082962844c94733c58782ecd9386ffe1f5ed8e05a703a6fa1e80b8f7f","src/unix/notbsd/linux/mips/mips64.rs":"88ad72fa125b9a2c0bd98ef03a7f5ceff78a39b0628d0d0f997ac9b6b82fe16b","src/unix/notbsd/linux/mips/mod.rs":"32c3e7cf430575544bbe4a670cbbf2b4dbe1f28b4895feb6f43fa33d6da25e1d","src/unix/notbsd/linux/mod.rs":"d37bd8bd956b7ab3484b2ad3ee7c1848574bbd37027c76ac06f4d7ca2906cf01","src/unix/notbsd/linux/musl/b32/arm.rs":"d2998b13648696304bb34f0793715d821178baf8e88a45b532764a20b5294232","src/unix/notbsd/linux/musl/b32/mips.rs":"340be794362a4532d709ef23542b10762f710f7bfd0c4fafa5166a3fb9a15b4f","src/unix/notbsd/linux/musl/b32/mod.rs":"3cc7979546258a47df6b0fcd7ad64571826623671857633a7acafe87e05e56a1","src/unix/notbsd/linux/musl/b32/x86.rs":"df114102dcf35bc32f891d4a9e09ce02fbe4c096a196c6b98b10ff87b29dbe4d","src/unix/notbsd/linux/musl/b64/aarch64.rs":"12c590fde2a1450c08934234c4f5bcd94ee7b58ca21f8e93bc930148c15fb0b0","src/unix/notbsd/linux/musl/b64/mod.rs":"b1991ef46a00d2db7ce3e36f6596685c1d508786c4dd4e62cbbf65ac3c256cc0","src/unix/notbsd/linux/musl/b64/powerpc64.rs":"790dca3cc6c0a4166992d2c1665e1b1e320fbad5c0b1ba3c454321a6b2d7a103","src/unix/notbsd/linux/musl/b64/x86_64.rs":"bf8fc10a09bf700084db0381c484ddec3add79aa1726954cb14d21802ff7d199","src/unix/notbsd/linux/musl/mod.rs":"a9323bffa1a8ed40a67a3b2cbb1dec6ebb0d565d8308e43e8623101ac739cd60","src/unix/notbsd/linux/other/b32/arm.rs":"d9892f7350b2978335f734f1cd2d7fed60f0f2e66aa05bee3f69549c031f8b14","src/unix/notbsd/linux/other/b32/mod.rs":"7d77f1dd8327b1249769496351cf287d0fff3852f87bde2f58afc67e6dc54a4f","src/unix/notbsd/linux/other/b32/powerpc.rs":"253fcd2f9978525285be1903cc08f3fec2dc3b12d1660a33e2995b4f6b810d1c","src/unix/notbsd/linux/other/b32/x86.rs":"49376e3ed0f3ff95c230ac20751911fe3c608dfe15c7c118b069fd7a954d8db9","src/unix/notbsd/linux/other/b64/aarch64.rs":"ed6ea00e3281ad2f4bab82821f20a2ff5b48401a65618bd6a544bc24ea4e3e39","src/unix/notbsd/linux/other/b64/mod.rs":"63e1a3fdf5f4d1b9820934ab344c91aed5e458e7e05908535d2e942d51a08bf8","src/unix/notbsd/linux/other/b64/not_x32.rs":"9b5e2321c0114c2740dcb86d9f1f3584c07ded921a157164ae8bb0712d397818","src/unix/notbsd/linux/other/b64/powerpc64.rs":"ca25b5f94a9147a984fcb70cf48a261b30df14e2e8194ac174363b6280e82a29","src/unix/notbsd/linux/other/b64/sparc64.rs":"a84580fe226654e33f8ddd0f1f7f2069c29334fc826a74f81f7892b87cfb9083","src/unix/notbsd/linux/other/b64/x32.rs":"ae7698b217106a6c00465f9d10df24d45ad9b7dfc280b24168f53f42198b7b92","src/unix/notbsd/linux/other/b64/x86_64.rs":"afba464e903d350325a1ca3d9d5af1659efc0ede83a43dbac4dbd60c522e2ad1","src/unix/notbsd/linux/other/mod.rs":"7065a7e83834f38ee2f4e03f28824eb94111c13f10e7a8b76ee7025686a84e7f","src/unix/notbsd/linux/s390x.rs":"259c5533ba7f0b10bb23d01dc0e53301afd236a7bb4339dcef9472c579503729","src/unix/notbsd/mod.rs":"eff4c19451d4d4579d5c483a941a7b259b7b73c3ab13c31fc54a7961e8292b9a","src/unix/solaris/mod.rs":"9c6af198a2f80da827054784faf70bc404673d9568fb45664b4f73c46245fdbd","src/unix/uclibc/mips/mips32.rs":"4dcb19abae37f02f08660bdad500c3230436322b581eba37287c73a742d6fcdc","src/unix/uclibc/mips/mips64.rs":"e67eec1636a998b047d89a4cda1c99cb6bc3071db017762675179a68201c4438","src/unix/uclibc/mips/mod.rs":"3f86061d05a8da7d923310550b7d40c6223f0c907d77edc86b7a78da1d647f76","src/unix/uclibc/mod.rs":"3605127517734b5f5f20be1d37e52184a77ecc6fb6099b88aa744e0aca1b802a","src/unix/uclibc/x86_64/l4re.rs":"68fd3a833fd1f7caf784a084224f384bdbdfb8b5a14ef94c4f5155409afb3439","src/unix/uclibc/x86_64/mod.rs":"69ec3ca821a483cc076e84a794bbecb3e5536af1c1d5b807eaf1db9af11f771d","src/unix/uclibc/x86_64/other.rs":"f03b47842896f2f3ae6f8ebdcbcf0276454f880349d9cf00e3d304f8136893c5","src/windows.rs":"e41357d610608bad81abf285306ad8b127b6f02d5132f63c4942861980b47d59"},"package":"b685088df2b950fccadf07a7187c8ef846a959c142338a48f9dc0b94517eb5f1"} +\ No newline at end of file ++{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".gitignore":"7150ee9391a955b2ef7e0762fc61c0c1aab167620ca36d88d78062d93b8334ba",".travis.yml":"9750910d5fdc61263fb3eae7f5f78e2920923f250150f8500c0c22a830790acd","Cargo.toml":"4629bf1256274045a39aedc78a7f6b48b5bf7fdf177cd69c4eb65909586ab0cf","Cargo.toml.orig":"423b6276994f73cf7fc57dafad118ff8b0e207eb55ebe57a0ee1a149bf36f544","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"fdf0f0c197e2999fce42457fb089f192a42d2fb1f743c9c8fcda1a44cb40e1fa","appveyor.yml":"216f7ac4561aa5810dc84ce5a9950897a8c0496e0615d0211d62348b1c8dc720","ci/README.md":"2e3d7ad13f8c3202e57d2af73aeeebde306221dce7c0907e462e25767a692d6b","ci/android-install-ndk.sh":"725db9025c5905849916bf7c910f98ff0e753484397c2a1f836d48a576d10890","ci/android-install-sdk.sh":"5c3fbe402ac611239ac7715a61f247d1c55fa012f33a5be0b0127dfc196965cf","ci/android-sysimage.sh":"901415631752827454c827e8c51906ba4260612e4021eda98eb7fff771c7d0e8","ci/docker/aarch64-linux-android/Dockerfile":"e17945fba1786dfe766006f50e79baf3f4151ca0c0c14ae96f91483bf345afd7","ci/docker/aarch64-unknown-linux-gnu/Dockerfile":"5f430271941e1eecdf9d1a5fb701dd5622e2c4b9da03140fd829bf216e55529d","ci/docker/aarch64-unknown-linux-musl/Dockerfile":"3e1cbf0fa728571b9be9769e5a6281c964fa5b26d586265117ccee017ca4022c","ci/docker/arm-linux-androideabi/Dockerfile":"4e0bdc13254f99bd0db195f91331c634050426e3e4a0fcc63ef25ab795fe2d46","ci/docker/arm-unknown-linux-gnueabihf/Dockerfile":"dbb025b53b27e406893184290836a50133ecae8295711d5e05b4e41fac9bd262","ci/docker/arm-unknown-linux-musleabihf/Dockerfile":"7cb6e0f8fb91c97f142a9c827687bbbc1a5e7643a3081160025d0365593a596c","ci/docker/asmjs-unknown-emscripten/Dockerfile":"0d9aea5119c2cd136cc2c0a578105d91210e45901ac49b17c5e45f458b1c7551","ci/docker/i686-linux-android/Dockerfile":"4e8377ec0bd9ad2df23bf2c5373200a12750dc9f28c4f10bc83a0150fe1623ee","ci/docker/i686-unknown-linux-gnu/Dockerfile":"f22ac412525ef15b33ab8ccd8193d97346faf421c17f6ddeffc25b651aba83b7","ci/docker/i686-unknown-linux-musl/Dockerfile":"4ac86fe9e159d454616396a9f3f07ce0f5d99cc4b49898b8d2486e6bdbfed9e9","ci/docker/mips-unknown-linux-gnu/Dockerfile":"6d2a9daa299003497c1d441d07b69f730ad75ee49f34520f959b5158e60072e0","ci/docker/mips-unknown-linux-musl/Dockerfile":"4773b2656a7dd6a3b106fcb737428436652edf3d1f48181de3f62c16bf5bd49d","ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile":"7c4d26232f1c1553a6612d9b0b3faac9887e139eaffa025f70d34113dcee812f","ci/docker/mips64el-unknown-linux-gnuabi64/Dockerfile":"edb4144c07ade1a8bd65272ec1d3672ad794e9e6b7d01197896e159a70175b58","ci/docker/mipsel-unknown-linux-musl/Dockerfile":"0ca9c12b5618c6d2df04ff820d56fb28e05b43e45eaa506480126b03c5072d48","ci/docker/powerpc-unknown-linux-gnu/Dockerfile":"4b247dcc399395815ec9153c1247cc03d764896c484eddcb196d0bf8650d6311","ci/docker/powerpc64-unknown-linux-gnu/Dockerfile":"e949717a8ba5e123940729ff47ce1c45989c8b8247c576f1488f698b534e0283","ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile":"018591017f499414a9f79477e1c39baa6a47f71fce6812fb1868fb0fcdfb8cea","ci/docker/s390x-unknown-linux-gnu/Dockerfile":"9860f478c5b2dc3bcf76d2cda7f71922a2a2ef54898cc2ed6ea9b9eff094a5c0","ci/docker/sparc64-unknown-linux-gnu/Dockerfile":"2312491343665d2ab36fd669f14766facbf3c7e9820ffb8f0d623830b676f8f0","ci/docker/wasm32-unknown-emscripten/Dockerfile":"bd072d6ae91a9160693e402dd77462d3c9dd0716711e719a62af330ae479eb4e","ci/docker/wasm32-unknown-emscripten/node-wrapper.sh":"0eef37c3c4fb16dbc083148b7e7af45f2ae60bd9a1b3a77e1d43da79efbd30c6","ci/docker/x86_64-linux-android/Dockerfile":"aeeaa540189ca712369c564c9a14cbace63217dadcfaf879a2cb40fbdeb08199","ci/docker/x86_64-rumprun-netbsd/Dockerfile":"e8f9287b267c6058eec42d1bca0007cb9a78a1d244dd8e11088368cb61fb17d6","ci/docker/x86_64-rumprun-netbsd/runtest.rs":"53302e9ed39293c1ec68ab56287593907d4aaf5bac9c1c2857b29f754a71d62b","ci/docker/x86_64-unknown-freebsd/Dockerfile":"ab1f14c65c29f3721c7c091bdec2e865fb1abf45fdcdc867201d087966e396c4","ci/docker/x86_64-unknown-linux-gnu/Dockerfile":"ab3fa45765802b8155996796fcad9fb82096360ac587e38e6faa3ec345268796","ci/docker/x86_64-unknown-linux-gnux32/Dockerfile":"f22ac412525ef15b33ab8ccd8193d97346faf421c17f6ddeffc25b651aba83b7","ci/docker/x86_64-unknown-linux-musl/Dockerfile":"e145784741473150473b1bef7cc3c2cf0c6339d4fc480113ac41b4247a9b38ec","ci/dox.sh":"d77171a9da467bb01fc702a28fc3b5099f82a485a627f3d5593a9830c3e1a77c","ci/emscripten-entry.sh":"c97bbec520b57af9b1ae264ca991560e99c3852c99b00a2f673c614d1ba17498","ci/emscripten.sh":"6f66c7b5c3d34a41afc59ceb0a8c3b0880cd6fd9a6344b874ae80bac0639ccb2","ci/ios/deploy_and_run_on_ios_simulator.rs":"3175066fd7f82390f6226d881e1a1dda9767ea2705656870e0d7774e2731800e","ci/landing-page-footer.html":"b70b3112c2147f5c967e7481061ef38bc2d79a28dd55a16fb916d9c9426da2c4","ci/landing-page-head.html":"ad69663fac7924f27d0209bc519d55838e86edfc4133713a6fd08caadac1b142","ci/linux-s390x.sh":"d6b732d7795b4ba131326aff893bca6228a7d2eb0e9402f135705413dbbe0dce","ci/linux-sparc64.sh":"c92966838b1ab7ad3b7a344833ee726aba6b647cf5952e56f0ad1ba420b13325","ci/run-docker.sh":"be83bc5a8b5ef913a7c9941ffca24734716028650c9a876123c4c160672c18de","ci/run-qemu.sh":"bb859421170871ef23a8940c5e150efec0c01b95e32d2ce2d37b79a45d9d346c","ci/run.sh":"25f8fd0a88d5673bb872dbb7aef8d44ebbf6c863e10352cd79de557ce3e2e252","ci/runtest-android.rs":"a07ddbdd276aedda7876c7e676774178a60d9aeab95df01275a4ee95f59e3044","ci/style.rs":"940c06a676cff1dfc1555b887e46867c6aacc473956cd6aaafaed71824facdb2","ci/test-runner-linux":"cb3713d9e4fa1d9a7c039dfd077af0939921c1f2bf969c9e680ee66e87dc30a4","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"1c2dc787a1b3438970ccd04153c93538719b1a27445707913b90b6f0cdcdde77","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/dox.rs":"8f6037887281b828d8541ce8a549dacaed5d29c05fd9cf78b169838476b82741","src/fuchsia/aarch64.rs":"8366ac6f51e494aad9266ccab2b3a95c5ed7aa3a9f77ea672413283440919743","src/fuchsia/mod.rs":"56ee2333b856db94cc1f1f4350885ad2a4ed0e1b4e8792615aa0b257e2941192","src/fuchsia/powerpc64.rs":"390e8db54271a1d5f512d54a21b328091a792378bf9b42b49b6c1a72388da4ec","src/fuchsia/x86_64.rs":"b4a3eff94dcf1ffe41e6500468ca2cff0e97ddbcc75fe079b6ac7adb1e493f56","src/lib.rs":"e434d3def305ea28108b59841396ef8949333db9223aa11886ee05cd1c0ce8b0","src/macros.rs":"2e7048e266efdef4298254b7186a27736182c94adb0648aed0c8d735f66a5139","src/redox/mod.rs":"029a9af78211d86fe3108100c33f58d6e73ab09c826b641a9732325dc700d8e8","src/redox/net.rs":"0946ab864a2eeb20a365dc541c060f7a238c75356bb57de39956a486607f7ce1","src/unix/bsd/apple/b32.rs":"41699d2802327b0a4d4aa50cd20b1e366b442176cbedab27ca888ac0446c9156","src/unix/bsd/apple/b64.rs":"4fe7bf5de252dcd712dee0a7a8acfaa7c737c862eaa3ff669255d3f2076c5fa6","src/unix/bsd/apple/mod.rs":"3a423665ca29d73a4a29503f5f58277b7d19cb8df175c5f11666983880ef276f","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"1950bf56a7ecbfc8994e4b54dc94e752d91dccd8f0e2d1e4c2d3ad2fa8cb5e23","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/freebsd/mod.rs":"e762bacf0b96295ae241717210323c7442d199d9863159ee73462954fc855e1d","src/unix/bsd/freebsdlike/freebsd/x86.rs":"54311d3ebf2bb091ab22361e377e6ef9224aec2ecfe459fbfcedde4932db9c58","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"97132e2097411034271b8c927ecc94a208a361564680972a6c82998bd30a9826","src/unix/bsd/freebsdlike/mod.rs":"d6096edda549bb2af16d083ee86561f5eb6bfa728d3cfac1938f0f84592bde5d","src/unix/bsd/mod.rs":"a1030452eed4ec52a39e9f39040e8fae4309143c7af145efadd9b425caa39672","src/unix/bsd/netbsdlike/mod.rs":"a685c1d23cb17758c3249b9c4ab45a50474e79270891235176b5f796f365380c","src/unix/bsd/netbsdlike/netbsd/mod.rs":"46a28912a4741e500f392131cc71273621de0234c4c28e29d8bf51c015ca7840","src/unix/bsd/netbsdlike/netbsd/other/b32/mod.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/netbsd/other/b64/mod.rs":"927eeccaf3269d299db4c2a55f8010807bf43dfa894aea6a783215f5d3560baa","src/unix/bsd/netbsdlike/netbsd/other/mod.rs":"4d9f7091af8e166943ac6f42ce85558909e5b6e61325039bff7adfbcf4b90212","src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs":"92459d80b8e5b570c0efe35a1d244d38f23072cd28b6581dfcb313dc9bfc3d51","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86_64.rs":"927eeccaf3269d299db4c2a55f8010807bf43dfa894aea6a783215f5d3560baa","src/unix/bsd/netbsdlike/openbsdlike/mod.rs":"cec53623e2269aea4437554a405452e7d3b09648b7cf6872d257d36ba979e2ec","src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs":"820092e397c7ec259cd2de8f2444083a8e57071c02d73d678701dfa7807726e9","src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs":"44035aad2907dffb6b18687ac7ddc76b5268af92b4e4f4c87759a00cae4de900","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs":"44b7ea81cf363777b29935da175e702cbf45ed78f7498ae57faf44aa32335085","src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs":"7c959cdb3415f68a0f948117b9aa87a17463e57ab97cc3235f2567454b706653","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"ddd834c5c4e5ec7771d0f0071517c2d00095d5595f87a52245380ac762f7f011","src/unix/mod.rs":"47d253eef3bc46dacb0df2951b2136e41c4e758ffd34473b144f6108a90749f9","src/unix/newlib/aarch64/mod.rs":"c408a990f22fb4292a824f38367e9b517e6e6f8623328397ee631cc88b3d1f7d","src/unix/newlib/arm/mod.rs":"2b6dba2e697ab9b4f4bc4dd5f28057249e9b596d1cb395a9322ec87605c4a5c4","src/unix/newlib/mod.rs":"7422845a44de13a2faf15d105670525ed090c6e200c9723178ed735810bbd689","src/unix/notbsd/android/b32/arm.rs":"3625a32c7e58cfe683a53486fbe3d42d4e28f00bea31e19cb46ed2bb0b6a140b","src/unix/notbsd/android/b32/mod.rs":"2fbe398c1fb5251dda6213741a193e50aae4622807cb255d1dd2e82b536f0c65","src/unix/notbsd/android/b32/x86.rs":"ae2b7f1d6278caddc007749bb1d09ca33f7593478a0fd7fe98b457dae86c7814","src/unix/notbsd/android/b64/aarch64.rs":"63d65629d79371814910f691672ef593d20244ee09be26f1ebe07ee6212d0163","src/unix/notbsd/android/b64/mod.rs":"90d4f6b063fd4de42fd302cbc9d9902fd99ac1d71dc48cb8bc6ad7b4c902e481","src/unix/notbsd/android/b64/x86_64.rs":"5547aef8dcbaa5a932559f34606fd8d89f6c9c15173d2b1412c12d39b3c1045f","src/unix/notbsd/android/mod.rs":"c83157cf4a74c653b877c4d42b565d4a7d31e46e32015f19fc91447df2489a58","src/unix/notbsd/emscripten.rs":"5beb9bc98b6b317e85f2935db2aad9ef9cb2ab2e881917064fa7adf944568dae","src/unix/notbsd/linux/mips/mips32.rs":"df3268b082962844c94733c58782ecd9386ffe1f5ed8e05a703a6fa1e80b8f7f","src/unix/notbsd/linux/mips/mips64.rs":"88ad72fa125b9a2c0bd98ef03a7f5ceff78a39b0628d0d0f997ac9b6b82fe16b","src/unix/notbsd/linux/mips/mod.rs":"32c3e7cf430575544bbe4a670cbbf2b4dbe1f28b4895feb6f43fa33d6da25e1d","src/unix/notbsd/linux/mod.rs":"d37bd8bd956b7ab3484b2ad3ee7c1848574bbd37027c76ac06f4d7ca2906cf01","src/unix/notbsd/linux/musl/b32/arm.rs":"d2998b13648696304bb34f0793715d821178baf8e88a45b532764a20b5294232","src/unix/notbsd/linux/musl/b32/mips.rs":"340be794362a4532d709ef23542b10762f710f7bfd0c4fafa5166a3fb9a15b4f","src/unix/notbsd/linux/musl/b32/mod.rs":"026476800c0f02be1221b9623632ceb8c4f3c423c5a9024cbe41f5647844cbf8","src/unix/notbsd/linux/musl/b32/x86.rs":"df114102dcf35bc32f891d4a9e09ce02fbe4c096a196c6b98b10ff87b29dbe4d","src/unix/notbsd/linux/musl/b64/aarch64.rs":"4d79d86d11fbb8cb7a74084e410a1140e3c89dfc1842cdfb213f3a0ca93046df","src/unix/notbsd/linux/musl/b64/mod.rs":"caac00326693b372d6805e4dda239475e7fef36368881f372c006264844fda0d","src/unix/notbsd/linux/musl/b64/powerpc64.rs":"24514e41be4b5f5e0ffbe8a25a99dae8989489b607db59e8bfa345f8e65c9963","src/unix/notbsd/linux/musl/b64/x86_64.rs":"25340999290a63d564ec149532c905f59c312ec369f8806d6b15df66fa1b8857","src/unix/notbsd/linux/musl/mod.rs":"f89154d5225ad8c93d1890d0bbf2855af2ec0e93c2c1b9cbf02f35561c2b7c16","src/unix/notbsd/linux/other/b32/arm.rs":"d9892f7350b2978335f734f1cd2d7fed60f0f2e66aa05bee3f69549c031f8b14","src/unix/notbsd/linux/other/b32/mod.rs":"7d77f1dd8327b1249769496351cf287d0fff3852f87bde2f58afc67e6dc54a4f","src/unix/notbsd/linux/other/b32/powerpc.rs":"253fcd2f9978525285be1903cc08f3fec2dc3b12d1660a33e2995b4f6b810d1c","src/unix/notbsd/linux/other/b32/x86.rs":"49376e3ed0f3ff95c230ac20751911fe3c608dfe15c7c118b069fd7a954d8db9","src/unix/notbsd/linux/other/b64/aarch64.rs":"ed6ea00e3281ad2f4bab82821f20a2ff5b48401a65618bd6a544bc24ea4e3e39","src/unix/notbsd/linux/other/b64/mod.rs":"63e1a3fdf5f4d1b9820934ab344c91aed5e458e7e05908535d2e942d51a08bf8","src/unix/notbsd/linux/other/b64/not_x32.rs":"9b5e2321c0114c2740dcb86d9f1f3584c07ded921a157164ae8bb0712d397818","src/unix/notbsd/linux/other/b64/powerpc64.rs":"ca25b5f94a9147a984fcb70cf48a261b30df14e2e8194ac174363b6280e82a29","src/unix/notbsd/linux/other/b64/sparc64.rs":"a84580fe226654e33f8ddd0f1f7f2069c29334fc826a74f81f7892b87cfb9083","src/unix/notbsd/linux/other/b64/x32.rs":"ae7698b217106a6c00465f9d10df24d45ad9b7dfc280b24168f53f42198b7b92","src/unix/notbsd/linux/other/b64/x86_64.rs":"afba464e903d350325a1ca3d9d5af1659efc0ede83a43dbac4dbd60c522e2ad1","src/unix/notbsd/linux/other/mod.rs":"7065a7e83834f38ee2f4e03f28824eb94111c13f10e7a8b76ee7025686a84e7f","src/unix/notbsd/linux/s390x.rs":"259c5533ba7f0b10bb23d01dc0e53301afd236a7bb4339dcef9472c579503729","src/unix/notbsd/mod.rs":"eff4c19451d4d4579d5c483a941a7b259b7b73c3ab13c31fc54a7961e8292b9a","src/unix/solaris/mod.rs":"9c6af198a2f80da827054784faf70bc404673d9568fb45664b4f73c46245fdbd","src/unix/uclibc/mips/mips32.rs":"4dcb19abae37f02f08660bdad500c3230436322b581eba37287c73a742d6fcdc","src/unix/uclibc/mips/mips64.rs":"e67eec1636a998b047d89a4cda1c99cb6bc3071db017762675179a68201c4438","src/unix/uclibc/mips/mod.rs":"3f86061d05a8da7d923310550b7d40c6223f0c907d77edc86b7a78da1d647f76","src/unix/uclibc/mod.rs":"3605127517734b5f5f20be1d37e52184a77ecc6fb6099b88aa744e0aca1b802a","src/unix/uclibc/x86_64/l4re.rs":"68fd3a833fd1f7caf784a084224f384bdbdfb8b5a14ef94c4f5155409afb3439","src/unix/uclibc/x86_64/mod.rs":"69ec3ca821a483cc076e84a794bbecb3e5536af1c1d5b807eaf1db9af11f771d","src/unix/uclibc/x86_64/other.rs":"f03b47842896f2f3ae6f8ebdcbcf0276454f880349d9cf00e3d304f8136893c5","src/windows.rs":"e41357d610608bad81abf285306ad8b127b6f02d5132f63c4942861980b47d59"},"package":"b685088df2b950fccadf07a7187c8ef846a959c142338a48f9dc0b94517eb5f1"} +\ No newline at end of file diff --git a/user/rust/0034-rls-atomics.patch b/user/rust/0034-rls-atomics.patch new file mode 100644 index 000000000..61811ef4d --- /dev/null +++ b/user/rust/0034-rls-atomics.patch @@ -0,0 +1,63 @@ +diff --git a/src/tools/rls/src/cmd.rs b/src/tools/rls/src/cmd.rs +index 545a129..8285f99 100644 +--- a/src/tools/rls/src/cmd.rs ++++ b/src/tools/rls/src/cmd.rs +@@ -16,7 +16,7 @@ use crate::actions::requests; + use rls_analysis::{AnalysisHost, Target}; + use crate::config::Config; + use crate::server::{self, LsService, Notification, Request, RequestId}; +-use std::sync::atomic::{AtomicU64, Ordering}; ++use std::sync::atomic::{AtomicU32, Ordering}; + use rls_vfs::Vfs; + + use languageserver_types::{ +@@ -415,8 +415,8 @@ fn url(file_name: &str) -> Url { + } + + fn next_id() -> RequestId { +- static ID: AtomicU64 = AtomicU64::new(1); +- RequestId::Num(ID.fetch_add(1, Ordering::SeqCst)) ++ static ID: AtomicU32 = AtomicU32::new(1); ++ RequestId::Num(ID.fetch_add(1, Ordering::SeqCst).into()) + } + + // Custom reader and output for the RLS server. +diff --git a/src/tools/rls/src/server/io.rs b/src/tools/rls/src/server/io.rs +index 5d5060e..55ab545 100644 +--- a/src/tools/rls/src/server/io.rs ++++ b/src/tools/rls/src/server/io.rs +@@ -17,7 +17,7 @@ use crate::lsp_data::{LSPNotification, LSPRequest}; + + use std::fmt; + use std::io::{self, BufRead, Write}; +-use std::sync::atomic::{AtomicU64, Ordering}; ++use std::sync::atomic::{AtomicU32, Ordering}; + use std::sync::Arc; + + use jsonrpc_core::{self as jsonrpc, response, version, Id}; +@@ -190,14 +190,14 @@ pub trait Output: Sync + Send + Clone + 'static { + /// An output that sends notifications and responses on `stdout`. + #[derive(Clone)] + pub(super) struct StdioOutput { +- next_id: Arc<AtomicU64>, ++ next_id: Arc<AtomicU32>, + } + + impl StdioOutput { + /// Construct a new `stdout` output. + crate fn new() -> StdioOutput { + StdioOutput { +- next_id: Arc::new(AtomicU64::new(1)), ++ next_id: Arc::new(AtomicU32::new(1).into()), + } + } + } +@@ -215,7 +215,7 @@ impl Output for StdioOutput { + } + + fn provide_id(&self) -> RequestId { +- RequestId::Num(self.next_id.fetch_add(1, Ordering::SeqCst)) ++ RequestId::Num(self.next_id.fetch_add(1, Ordering::SeqCst).into()) + } + } + diff --git a/user/rust/APKBUILD b/user/rust/APKBUILD new file mode 100644 index 000000000..6b0111f26 --- /dev/null +++ b/user/rust/APKBUILD @@ -0,0 +1,344 @@ +# Contributor: Jakub Jirutka <jakub@jirutka.cz> +# Contributor: Shiz <hi@shiz.me> +# Contributor: Jeizsm <jeizsm@gmail.com> +# Maintainer: Samuel Holland <samuel@sholland.org> +pkgname=rust +pkgver=1.29.0 +_bootcargover=0.30.0 +_bootver=1.29.0 +_llvmver=6 +pkgrel=0 +pkgdesc="The Rust Programming Language" +url="https://www.rust-lang.org" +arch="all" +license="(Apache-2.0 OR MIT) AND (NCSA OR MIT) AND BSD-2-Clause AND BSD-3-Clause" +depends="$pkgname-stdlib=$pkgver-r$pkgrel gcc musl-dev" +makedepends=" + curl-dev + libgit2-dev + libssh2-dev + llvm$_llvmver-dev + llvm$_llvmver-test-utils + openssl-dev + python3 + zlib-dev + " +subpackages=" + $pkgname-dbg + $pkgname-stdlib + $pkgname-analysis + $pkgname-doc + $pkgname-gdb::noarch + $pkgname-lldb::noarch + $pkgname-src::noarch + cargo + cargo-clippy:_cargo_clippy + cargo-fmt:_cargo_fmt + cargo-doc:_cargo_doc:noarch + cargo-bash-completion:_cargo_bashcomp:noarch + cargo-zsh-completion:_cargo_zshcomp:noarch + rls + rustfmt + " +source="https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.xz + https://distfiles.adelielinux.org/source/rust/cargo-$_bootcargover-$CBUILD.tar.xz + https://distfiles.adelielinux.org/source/rust/rust-std-$_bootver-$CBUILD.tar.xz + https://distfiles.adelielinux.org/source/rust/rustc-$_bootver-$CBUILD.tar.xz + 0001-Require-static-native-libraries-when-linking-static-.patch + 0002-Don-t-pass-CFLAGS-to-the-C-compiler.patch + 0003-Fix-LLVM-build.patch + 0004-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch + 0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch + 0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch + 0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch + 0008-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch + 0009-Add-missing-OpenSSL-configurations-for-musl-targets.patch + 0010-test-linkage-visibility-dlsym-only-sees-exported-sym.patch + 0011-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch + 0012-Add-powerpc-unknown-linux-musl-target.patch + 0015-Use-ELFv2-ABI-on-powerpc64-musl-LLVM-half.patch + 0016-Use-ELFv2-ABI-on-powerpc64-musl-Rust-half.patch + 0017-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch + 0018-Add-powerpc64-unknown-linux-musl-target.patch + 0019-run-pass-const-endianness-negate-before-to_le.patch + 0020-Fix-double_check-tests-on-big-endian-targets.patch + 0021-x.py-Use-python3-instead-of-python.patch + 0022-test-debuginfo-Update-for-GDB-output-format-changes.patch + 0023-test-target-feature-gate-Ignore-on-not-applicable-ta.patch + 0024-Ignore-broken-and-non-applicable-tests.patch + 0025-Move-debugger-scripts-to-usr-share-rust.patch + 0026-Add-foxkit-target-specs.patch + 0027-Add-foxkit-target-specs-for-OpenSSL.patch + 0028-Link-stage-2-tools-dynamically-to-libstd.patch + 0030-liblibc-linkage.patch + 0031-liblibc-dcff154781e4.patch + 0032-liblibc-90c01fa6b0f4.patch + 0033-liblibc-checksums.patch + 0034-rls-atomics.patch + " +builddir="$srcdir/rustc-$pkgver-src" +_rlibdir="/usr/lib/rustlib/$CTARGET/lib" + +prepare() { + cd "$builddir" + + default_prepare + + $srcdir/cargo-$_bootcargover-$CBUILD/install.sh \ + --destdir=$srcdir/prebuilt \ + --prefix=/ \ + --disable-ldconfig + $srcdir/rust-std-$_bootver-$CBUILD/install.sh \ + --destdir=$srcdir/prebuilt \ + --prefix=/ \ + --disable-ldconfig + $srcdir/rustc-$_bootver-$CBUILD/install.sh \ + --destdir=$srcdir/prebuilt \ + --prefix=/ \ + --disable-ldconfig +} + +build() { + cd "$builddir" + + cat > config.toml <<- EOF + [build] + build = "$CBUILD" + host = [ "$CHOST" ] + target = [ "$CTARGET" ] + cargo = "$srcdir/prebuilt/bin/cargo" + rustc = "$srcdir/prebuilt/bin/rustc" + submodules = false + python = "python3" + locked-deps = true + vendor = true + extended = true + tools = [ "analysis", "cargo", "clippy", "rls", "rustfmt", "src" ] + [install] + prefix = "/usr" + [rust] + codegen-units = 1 + debuginfo = true + debuginfo-lines = true + debuginfo-only-std = false + debuginfo-tools = true + use-jemalloc = false + backtrace = true + channel = "stable" + rpath = false + [target.$CTARGET] + cc = "$CTARGET-gcc" + cxx = "$CTARGET-g++" + linker = "$CTARGET-gcc" + llvm-config = "/usr/lib/llvm$_llvmver/bin/llvm-config" + crt-static = false + EOF + + LIBGIT2_SYS_USE_PKG_CONFIG=1 \ + LLVM_LINK_SHARED=1 \ + RUST_BACKTRACE=1 \ + ./x.py build -j ${JOBS:-2} +} + +check() { + cd "$builddir" + + ./x.py test -j ${JOBS:-2} --no-doc --no-fail-fast \ + src/test/codegen \ + src/test/codegen-units \ + src/test/compile-fail \ + src/test/compile-fail-fulldeps \ + src/test/debuginfo \ + src/test/incremental \ + src/test/incremental-fulldeps \ + src/test/mir-opt \ + src/test/parse-fail \ + src/test/pretty \ + src/test/run-fail \ + src/test/run-fail/pretty \ + src/test/run-fail-fulldeps \ + src/test/run-fail-fulldeps/pretty \ + src/test/run-make \ + src/test/run-make-fulldeps \ + src/test/run-pass \ + src/test/run-pass/pretty \ + src/test/run-pass-fulldeps \ + src/test/run-pass-fulldeps/pretty \ + src/test/ui \ + src/test/ui-fulldeps +} + +package() { + cd "$builddir" + + DESTDIR="$pkgdir" ./x.py install + + rm "$pkgdir"/usr/lib/*.so \ + "$pkgdir"/usr/lib/rustlib/components \ + "$pkgdir"/usr/lib/rustlib/install.log \ + "$pkgdir"/usr/lib/rustlib/manifest-* \ + "$pkgdir"/usr/lib/rustlib/rust-installer-version \ + "$pkgdir"/usr/lib/rustlib/uninstall.sh \ + "$pkgdir"/usr/share/doc/rust/*.old +} + +stdlib() { + pkgdesc="Standard library for Rust" + depends="musl-utils" + + _mv "$pkgdir"$_rlibdir/*.so "$subpkgdir"$_rlibdir + + mkdir -p "$subpkgdir"/etc/ld.so.conf.d + echo "$_rlibdir" > "$subpkgdir"/etc/ld.so.conf.d/$pkgname.conf +} + +analysis() { + pkgdesc="Compiler analysis data for the Rust standard library" + depends="$pkgname=$pkgver-r$pkgrel $pkgname-stdlib=$pkgver-r$pkgrel" + + _mv "$pkgdir"${_rlibdir%/*}/analysis "$subpkgdir"${_rlibdir%/*} +} + +gdb() { + pkgdesc="GDB pretty printers for Rust" + license="Apache-2.0 OR MIT" + depends="$pkgname gdb" + install_if="$pkgname=$pkgver-r$pkgrel gdb" + + _mv "$pkgdir"/usr/bin/rust-gdb "$subpkgdir"/usr/bin + _mv "$pkgdir"/usr/share/rust/gdb_*.py "$subpkgdir"/usr/share/rust || true +} + +lldb() { + pkgdesc="LLDB pretty printers for Rust" + license="Apache-2.0 OR MIT" + depends="$pkgname lldb py3-lldb" + install_if="$pkgname=$pkgver-r$pkgrel lldb" + + _mv "$pkgdir"/usr/bin/rust-lldb "$subpkgdir"/usr/bin + _mv "$pkgdir"/usr/share/rust/lldb_*.py "$subpkgdir"/usr/share/rust || true +} + +src() { + pkgdesc="$pkgdesc (source code)" + depends="" + + _mv "$pkgdir"/usr/lib/rustlib/src/rust "$subpkgdir"/usr/src + rmdir -p "$pkgdir"/usr/lib/rustlib/src 2>/dev/null || true + + mkdir -p "$subpkgdir"/usr/lib/rustlib/src + ln -s ../../../src/rust "$subpkgdir"/usr/lib/rustlib/src/rust +} + +cargo() { + pkgdesc="The Rust package manager" + depends="$pkgname-stdlib=$pkgver-r$pkgrel $pkgname" + + _mv "$pkgdir"/usr/bin/cargo "$subpkgdir"/usr/bin +} + +_cargo_clippy() { + pkgdesc="A collection of Rust lints (cargo plugin)" + depends="$pkgname-stdlib=$pkgver-r$pkgrel cargo" + + _mv "$pkgdir"/usr/bin/cargo-clippy \ + "$pkgdir"/usr/bin/clippy-driver \ + "$subpkgdir"/usr/bin +} + +_cargo_fmt() { + pkgdesc="Format Rust code (cargo plugin)" + depends="$pkgname-stdlib=$pkgver-r$pkgrel cargo rustfmt" + install_if="cargo=$pkgver-r$pkgrel rustfmt=$pkgver-r$pkgrel" + + _mv "$pkgdir"/usr/bin/cargo-fmt "$subpkgdir"/usr/bin +} + +_cargo_bashcomp() { + pkgdesc="Bash completion for cargo" + license="Apache-2.0 OR MIT" + depends="" + install_if="cargo=$pkgver-r$pkgrel bash-completion" + + _mv "$pkgdir"/etc/bash_completion.d/cargo \ + "$subpkgdir"/usr/share/bash-completion/completions + rmdir -p "$pkgdir"/etc/bash_completion.d 2>/dev/null || true +} + +_cargo_zshcomp() { + pkgdesc="ZSH completion for cargo" + license="Apache-2.0 OR MIT" + depends="" + install_if="cargo=$pkgver-r$pkgrel zsh" + + _mv "$pkgdir"/usr/share/zsh/site-functions/_cargo \ + "$subpkgdir"/usr/share/zsh/site-functions/_cargo + rmdir -p "$pkgdir"/usr/share/zsh/site-functions 2>/dev/null || true +} + +_cargo_doc() { + pkgdesc="The Rust package manager (documentation)" + license="Apache-2.0 OR MIT" + depends="" + install_if="cargo=$pkgver-r$pkgrel docs" + + # XXX: This is hackish! + _mv "$pkgdir"/../$pkgname-doc/usr/share/man/man1/cargo* \ + "$subpkgdir"/usr/share/man/man1 +} + +rls() { + pkgdesc="The Rust language server" + license="Apache-2.0 OR MIT" + depends="$pkgname-stdlib=$pkgver-r$pkgrel" + + _mv "$pkgdir"/usr/bin/rls "$subpkgdir"/usr/bin +} + +rustfmt() { + pkgdesc="Format Rust code" + depends="$pkgname-stdlib=$pkgver-r$pkgrel" + + _mv "$pkgdir"/usr/bin/rustfmt "$subpkgdir"/usr/bin +} + +_mv() { + local dest; for dest; do true; done # get last argument + mkdir -p "$dest" + mv "$@" +} +sha512sums="87f416c76db2967c0ce2b39ee2d2c2fcad875bbe13cfa507f5483e170827c131f3af4400c11785ed836143b2732aaf32bc0291fcd93bbfb96b266a198c926a5b rustc-1.29.0-src.tar.xz +1e67f3b28ca5d6e8ed06df36145abcfeecedb8c8b5370023e7de4a19b850b690efefdd583b42fc484c1167a5c301f6779745c12efb065475acf956d9934cb02b cargo-0.30.0-powerpc64-foxkit-linux-musl.tar.xz +92f250086aa8cc1528359fbf9e9413bc86857acb6e9f0bb3a045a3a1770dd3a4eda5b499c1cd1946bb9f0937d402b73bf46c7e1de8d419efdd0ffbc278239a81 rust-std-1.29.0-powerpc64-foxkit-linux-musl.tar.xz +1fedd316a05f16947e8288f194cf55b9d9e29667096a50b4f2ecd9c2031e00fbf9a8c14c01968bb047e3f3aac18a036606092749de467b152169eb218360ecbe rustc-1.29.0-powerpc64-foxkit-linux-musl.tar.xz +23540d67f2774f007ffea65e3475b0003193a28503f302dbbf7fa741c0e53dd14d110a3eb88374c2fc1a29b7c8add4c41300fe1c187b2d2ead8e35740cabaaa8 0001-Require-static-native-libraries-when-linking-static-.patch +3e10a597f35470b31da178dad3af956d395f4245470f7c2821a78f1e7411acd8758c13c686a342eb362850a736b2887293203847e38c89f40a61498282d29c69 0002-Don-t-pass-CFLAGS-to-the-C-compiler.patch +d6b293f13dccbe5bdbcc13c2b18e610c271ab49acc0eb5658489388b371431a522f454308af20d2fdb8c68ce99203cfa8455b7c36cc47c8d1f5722b739c3b3fc 0003-Fix-LLVM-build.patch +38f5380a3e7c8454de62ed75e807ad034f1ef3521a88706d3a24d4de09140147ff298c8e36de14d21f0b458d8c1bf82dd8e3924c7dcef0a16d8cd07ff49f06ea 0004-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch +660283864cbd7a98246c3a6d5634b99032c90fcd98eab6f2477786ab49078505f59f2a88f2b87729850e0b07bef18dd5b93c458e947ae876aac3dca3742dff73 0005-Remove-nostdlib-and-musl_root-from-musl-targets.patch +75a7d5f67e315ef69f6c5114b80523858b528c6ef80ec10fba7d1f1afce97e6053670a8a7473c6948931d2f013e77646b7b30635f12f5b5f6dd12a29f6f4925e 0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch +7256275df428ea13028731e91dccbba90f7e9f2a611ce9265447831cc60a9284b8d78573da50143b2e7fe4f3f6dc360eddf0be94a01de4b8745d7930144b2365 0007-runtest-Fix-proc-macro-tests-on-musl-hosts.patch +45c7342c9b901f3d96e293e189773b22e0c7f240e79ffd661e4010f798a6d622304ad16fab22ebb81e92e473c98f93f39505e79dbfb341ec7e29efbcd366594b 0008-Allow-rustdoc-to-work-when-cross-compiling-on-musl.patch +d48b2653265de8e331afe8fb8ec48b3170845d95eb54ea1fad77cc8ac617cab193b3e797c2753794addcb3f3edb5de99ebdd6de1ad31613a08485b4ad9a8878f 0009-Add-missing-OpenSSL-configurations-for-musl-targets.patch +abbefe8cbdb1b0cefe9cecfe5b5fad88b868d838617bf1fc1e0da782844ca9f28fb5edd8052115e9667ff21eca90e768caea1ce6c8bf23981162e1da93a70c59 0010-test-linkage-visibility-dlsym-only-sees-exported-sym.patch +e9c4c6d9029029abc806da48ba85fb3ce5ca2aa0dd748012f8cd89620b3a5646b06a3295b1d001c3e651ffebf7a23d16d074c7a146cc585b9347f16b2c147743 0011-test-invalid_const_promotion-Accept-SIGTRAP-as-a-val.patch +cf5cb5827a836f2fc155ba5f9caf24d2811e143fa178d64c2cd2c6cd0ba8c121dacd657be7a631f1d2532f3bd6f244c371361afddf65f057acf15f0de1d4b8bd 0012-Add-powerpc-unknown-linux-musl-target.patch +9e47df4cd5f9590e526be1617efa6c96b80cc9220f819a0b86a6b48a229786b860fff4c2dc5451f7098aa5f250e35285d65cfa0012c15110eab612d585a1f6d7 0015-Use-ELFv2-ABI-on-powerpc64-musl-LLVM-half.patch +36f07adaef870b90590a7513b1bde0f37793bbd6b773b41bf0cf2b791add51c0c8e22a55b5f8266a04e82f8c60f8a89eb0597cdb23b6f595e787a6a57cd869c0 0016-Use-ELFv2-ABI-on-powerpc64-musl-Rust-half.patch +63fb44a61ee59e916bbaf78dc95cdb73a77671671db10280e8a8fde08324604f1b2560a648f25b088558c3fd198f855a8056dcb14997c0747f05957c51643aba 0017-Fix-powerpc64-ELFv2-big-endian-struct-passing-ABI.patch +bd16a8c9d79c495677d1d59a5a806a46d807447ef9be85b20fb2d8150775f24a233d00dea4c5a3b505054b299982fe00d64d1a9a9da26c320e804a8f3840e48b 0018-Add-powerpc64-unknown-linux-musl-target.patch +41f272bc925d2800fde0f663d300572ab27d4de275b4802de7adb89c2d6582b1aec3cd456ae2c0d115f1104f9de97489da86df101eefbaead374c5d5b20c95d8 0019-run-pass-const-endianness-negate-before-to_le.patch +e146e9205f22f10fcdd6b8b77ee76a7b2cab0f38368a793cdd15a2dd5b1432c7e9d0ea9ae5cda55ff91edfbea20941fe49836707bb238c84b74ec0330490b4c8 0020-Fix-double_check-tests-on-big-endian-targets.patch +ed4f07e005a9ee7b117c48961c0285cb5a8f1bf5c1480343d617630af56837fb177cf8e5f564b0795ed063ede485d8478a44c7c257511aaa05d4abf4c316d898 0021-x.py-Use-python3-instead-of-python.patch +12e6f6dbeefaeee6190a8ed25336836bec23d92778a2b01921f1191e4ac9fb8259b7b99d6bebe52b9e390eb3b4dca40c61e9498cdc222d5019843ef31b82146e 0022-test-debuginfo-Update-for-GDB-output-format-changes.patch +d9b2234fdc3e2fac9462f0be8ce8988d50573d1149c496ef7b439596303a34e540824a5a6ab23cb15be1a6c1d15d857662d6dae740abd77084375b276b84f4dd 0023-test-target-feature-gate-Ignore-on-not-applicable-ta.patch +7cff0eb0f947e009326cbd96dae0d74d1f5fb9fbd1cd62544aa5b52c44fdc8f40094856d44dc5b4d55fd2c35308f37fa64656d614ae16d42d71e59a7a8cdb531 0024-Ignore-broken-and-non-applicable-tests.patch +de5c3b3ca532328957b550cf02cbdc851bacd7740bbdd4512e03d2eb4d916034d2bd026710f2f734d7a31ca67eda3f34e2577a0cd39a4901d0808a1815095064 0025-Move-debugger-scripts-to-usr-share-rust.patch +6a1c997e5e280b9575857d5dca5cff22ea17fc878389bb0d852139bb113fe64082dfd1298958a78e10d4a8faf58358bc8c221516e248c929c399d327559ef030 0026-Add-foxkit-target-specs.patch +6b1723c2e4672e394374419fcc136a851078b4a4c538c7c1d86847e6915c5fb3ddc1f81971ded1a73a3090766d103c3cc79c60b8e39999947be625e0e17e1249 0027-Add-foxkit-target-specs-for-OpenSSL.patch +74618287fe0bdcbedb23b2343e88885496d346c68a6b76109f613c5a13f7e09623ece11cb9c784f1ae6779005c9ec4def0351810718afd80285d1912c0040c9a 0028-Link-stage-2-tools-dynamically-to-libstd.patch +f94abe390798b968bccfba1c908ab5895220ed0d167314b790a9c28b10cac81fb2e3b08760b4e8551ad5a5d02cd052d3d0d647ad8f8634e97f4d3b0470a21c42 0030-liblibc-linkage.patch +48a2ea6beb5f333d646fcc7aa15405d24f52f48e82b8f9cd09737dbfef16df0679246b30a28871595d13414b44c316122e0c969e1ae555b7ab18b692057c0d67 0031-liblibc-dcff154781e4.patch +fcfdd6b2702b8b23d8fd339ceb23b75a6e9814a388f00d226c8101be46a0f29835c77b75ab665e36972fde14364d762816ea2dcf3c1d90dd1e574fb8f6c33c80 0032-liblibc-90c01fa6b0f4.patch +1e1e1f485abd8e3e283aa69b3b5c6f11901d0cc14527834a6490ed70c043512aa207ff4f9ef4bbdef884697120fab59d23ec1faf3b02b3d3d77a060789275cd4 0033-liblibc-checksums.patch +9182408b7a87fc2f01dc12a36440e43a721f7693da00310806f6306e711c04b34d43b6ab348ae523656937f61389adb6a5a2b8ff46dec5424ad20c29652d4edf 0034-rls-atomics.patch" diff --git a/user/screen/APKBUILD b/user/screen/APKBUILD new file mode 100644 index 000000000..e717f570d --- /dev/null +++ b/user/screen/APKBUILD @@ -0,0 +1,43 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Dan Theisen <djt@hxx.in> +pkgname=screen +pkgver=4.6.2 +pkgrel=0 +pkgdesc="A window manager that multiplexes a physical terminal" +url="http://ftp.gnu.org/gnu/screen/" +arch="all" +license="GPL-3.0+" +options="!check" # No test suite. +makedepends="ncurses-dev utmps-dev" +subpackages="$pkgname-doc" +source="http://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz + utmpx.patch" + +build() { + cd "$builddir" + LIBS="-lutmps -lskarnet" ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --enable-colors256 + make +} + +package() { + cd "$builddir" + make -j1 DESTDIR="$pkgdir" install + + # remove suid root + find "$pkgdir" -type f -perm -u+s -print0 \ + | xargs -0 chmod -s + + install -Dm644 etc/etcscreenrc "$pkgdir"/etc/screenrc + install -Dm644 etc/screenrc "$pkgdir"/etc/skel/.screenrc +} + +sha512sums="224bd16ad5ae501d1b8bb7d2ba9cc19e6a0743de5a5b320109c2f6bf3b1ca564cc7094ed9211be13733d9d769cde77d13fe236341d448cad0518038ab1e85c99 screen-4.6.2.tar.gz +82aca3e16c8cd7a3029d3b589ff2dd3471708d6287979ebb5cfdaedbd1f3012c0cd660b131e0cbe142b99786e49ef8b24c63159523d870e95ccf71ec94b82634 utmpx.patch" diff --git a/user/screen/utmpx.patch b/user/screen/utmpx.patch new file mode 100644 index 000000000..c8c6f444b --- /dev/null +++ b/user/screen/utmpx.patch @@ -0,0 +1,21 @@ +--- screen-4.6.2/os.h.old 2018-09-27 23:11:11.655480028 -0700 ++++ screen-4.6.2/os.h 2018-09-27 23:11:34.745808665 -0700 +@@ -250,17 +250,13 @@ + #endif + + #if defined(UTMPOK) || defined(BUGGYGETLOGIN) +-# if defined(SVR4) && !defined(DGUX) && !defined(__hpux) && !defined(linux) ++# if defined(linux) + # include <utmpx.h> + # define UTMPFILE UTMPX_FILE + # define utmp utmpx +-# define getutent getutxent + # define getutid getutxid + # define getutline getutxline + # define pututline pututxline +-# define setutent setutxent +-# define endutent endutxent +-# define ut_time ut_xtime + # else /* SVR4 */ + # include <utmp.h> + # endif /* SVR4 */ diff --git a/user/sdl_mixer/APKBUILD b/user/sdl_mixer/APKBUILD new file mode 100644 index 000000000..2cdb8238e --- /dev/null +++ b/user/sdl_mixer/APKBUILD @@ -0,0 +1,44 @@ +# Contributor: Carlo Landmeter +# Maintainer: +pkgname=sdl_mixer +pkgver=1.2.12 +pkgrel=2 +pkgdesc="A simple multi-channel audio mixer" +url="https://www.libsdl.org/projects/SDL_mixer/release-1.2.html" +arch="all" +options="!check" # No test suite. +license="Zlib" +depends="" +makedepends="flac-dev fluidsynth-dev libvorbis-dev linux-headers sdl-dev" +subpackages="$pkgname-dev" +source="https://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-${pkgver}.tar.gz" +builddir="$srcdir"/SDL_mixer-$pkgver + +prepare() { + cd "$builddir" + update_config_sub + sed -e "/CONFIG_FILE_ETC/s/\/etc\/timidity.cfg/\/etc\/timidity++\/timidity.cfg/" \ + -e "/DEFAULT_PATH/s/\/etc\/timidity/\/etc\/timidity++/" \ + -e "/DEFAULT_PATH2/s/\/usr\/local\/lib\/timidity/\/usr\/lib\/timidity/" \ + -i timidity/config.h +} + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --enable-music-mod + make +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="230f6c5a73f4bea364f8aa3d75f76694305571dea45f357def742b2b50849b2d896af71e08689981207edc99a9836088bee2d0bd98d92c7f4ca52b12b3d8cf96 SDL_mixer-1.2.12.tar.gz" diff --git a/user/sdl_net/APKBUILD b/user/sdl_net/APKBUILD new file mode 100644 index 000000000..6172ddc1e --- /dev/null +++ b/user/sdl_net/APKBUILD @@ -0,0 +1,46 @@ +# Contributor: A. Wilcox <awilfox@adelielinux.org> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=sdl_net +_pkgname=SDL_net +pkgver=1.2.8 +pkgrel=0 +pkgdesc="Cross-platform networking library" +url="https://www.libsdl.org/projects/SDL_net/release-1.2.html" +arch="all" +license="zlib" +depends="" +makedepends="sdl-dev" +subpackages="$pkgname-dev" +source="https://www.libsdl.org/projects/$_pkgname/release/$_pkgname-$pkgver.tar.gz" +builddir="$srcdir"/$_pkgname-$pkgver + +prepare() { + cd "$builddir" + default_prepare + update_config_sub +} + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --disable-static + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="2766ca55343127c619958ab3a3ae3052a27a676839f10a158f7dfc071b8db38c2f1fc853e8add32b9fef94ab07eaa986f46a68e264e8087b57c990af30ea9a0b SDL_net-1.2.8.tar.gz" diff --git a/user/shunit2/APKBUILD b/user/shunit2/APKBUILD new file mode 100644 index 000000000..8a110ff6d --- /dev/null +++ b/user/shunit2/APKBUILD @@ -0,0 +1,33 @@ +# Contributor: Max Rees <maxcrees@me.com> +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=shunit2 +pkgver=2.1.7 +pkgrel=0 +pkgdesc="xUnit-based unit test framework for Bourne shell scripts" +url="https://github.com/kward/shunit2" +arch="noarch" +license="Apache-2.0" +depends="/bin/sh" +makedepends="" +checkdepends="debianutils-which bash dash zsh" +subpackages="$pkgname-doc" +source="$pkgname-$pkgver.tar.gz::https://github.com/kward/shunit2/archive/v$pkgver.tar.gz + dash-negative-lineno.patch" + +build() { + cd "$builddir" +} + +check() { + cd "$builddir" + ./test_runner +} + +package() { + cd "$builddir" + install -Dm755 "$pkgname" "$pkgdir/usr/bin/$pkgname" + install -Dm644 "doc/$pkgname.txt" "$pkgdir/usr/share/doc/$pkgname/$pkgname.rst" +} + +sha512sums="35453cf2c469eb1bab2fff0624b8037a09d405c377fec0938875a6339749d5934fe246eec5691a121290ae9e4ee5cbf7768b740c5f0010a5345c4e111c50fbbd shunit2-2.1.7.tar.gz +af2d3c65e9f3c86796b12832c403a869767b70da819f3cf6f69f0e2cf8445e85ec63db20c4b39430e35b7c2105e439abf6bbbd3fc3d880d23ee11d54339c61fd dash-negative-lineno.patch" diff --git a/user/shunit2/dash-negative-lineno.patch b/user/shunit2/dash-negative-lineno.patch new file mode 100644 index 000000000..2508be856 --- /dev/null +++ b/user/shunit2/dash-negative-lineno.patch @@ -0,0 +1,197 @@ +dash reports a negative $LINENO when using shunit2's macros - this isn't +shunit2's fault, so allow for it in the test cases + +--- shunit2-2.1.7/shunit2_macros_test.sh ++++ shunit2-2.1.7/shunit2_macros_test.sh +@@ -27,13 +27,13 @@ + [ -z "${LINENO:-}" ] && startSkipping + + ( ${_ASSERT_EQUALS_} 'x' 'y' >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_ASSERT_EQUALS_ failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 + + ( ${_ASSERT_EQUALS_} '"some msg"' 'x' 'y' >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_ASSERT_EQUALS_ w/ msg failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 +@@ -44,13 +44,13 @@ + [ -z "${LINENO:-}" ] && startSkipping + + ( ${_ASSERT_NOT_EQUALS_} 'x' 'x' >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_ASSERT_NOT_EQUALS_ failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 + + ( ${_ASSERT_NOT_EQUALS_} '"some msg"' 'x' 'x' >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_ASSERT_NOT_EQUALS_ w/ msg failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 +@@ -61,13 +61,13 @@ + [ -z "${LINENO:-}" ] && startSkipping + + ( ${_ASSERT_SAME_} 'x' 'y' >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_ASSERT_SAME_ failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 + + ( ${_ASSERT_SAME_} '"some msg"' 'x' 'y' >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_ASSERT_SAME_ w/ msg failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 +@@ -78,13 +78,13 @@ + [ -z "${LINENO:-}" ] && startSkipping + + ( ${_ASSERT_NOT_SAME_} 'x' 'x' >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_ASSERT_NOT_SAME_ failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 + + ( ${_ASSERT_NOT_SAME_} '"some msg"' 'x' 'x' >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_ASSERT_NOT_SAME_ w/ msg failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 +@@ -95,13 +95,13 @@ + [ -z "${LINENO:-}" ] && startSkipping + + ( ${_ASSERT_NULL_} 'x' >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_ASSERT_NULL_ failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 + + ( ${_ASSERT_NULL_} '"some msg"' 'x' >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_ASSERT_NULL_ w/ msg failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 +@@ -113,13 +113,13 @@ + [ -z "${LINENO:-}" ] && startSkipping + + ( ${_ASSERT_NOT_NULL_} '' >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_ASSERT_NOT_NULL_ failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 + + ( ${_ASSERT_NOT_NULL_} '"some msg"' '""' >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_ASSERT_NOT_NULL_ w/ msg failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stdoutF}" "${stderrF}" >&2 +@@ -130,13 +130,13 @@ + [ -z "${LINENO:-}" ] && startSkipping + + ( ${_ASSERT_TRUE_} "${SHUNIT_FALSE}" >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_ASSERT_TRUE_ failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 + + ( ${_ASSERT_TRUE_} '"some msg"' "${SHUNIT_FALSE}" >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_ASSERT_TRUE_ w/ msg failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 +@@ -147,13 +147,13 @@ + [ -z "${LINENO:-}" ] && startSkipping + + ( ${_ASSERT_FALSE_} "${SHUNIT_TRUE}" >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_ASSERT_FALSE_ failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 + + ( ${_ASSERT_FALSE_} '"some msg"' "${SHUNIT_TRUE}" >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_ASSERT_FALSE_ w/ msg failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 +@@ -164,13 +164,13 @@ + [ -z "${LINENO:-}" ] && startSkipping + + ( ${_FAIL_} >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_FAIL_ failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 + + ( ${_FAIL_} '"some msg"' >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_FAIL_ w/ msg failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 +@@ -182,13 +182,13 @@ + [ -z "${LINENO:-}" ] && startSkipping + + ( ${_FAIL_NOT_EQUALS_} 'x' 'y' >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_FAIL_NOT_EQUALS_ failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 + + ( ${_FAIL_NOT_EQUALS_} '"some msg"' 'x' 'y' >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_FAIL_NOT_EQUALS_ w/ msg failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 +@@ -199,13 +199,13 @@ + [ -z "${LINENO:-}" ] && startSkipping + + ( ${_FAIL_SAME_} 'x' 'x' >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_FAIL_SAME_ failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 + + ( ${_FAIL_SAME_} '"some msg"' 'x' 'x' >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_FAIL_SAME_ w/ msg failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 +@@ -216,13 +216,13 @@ + [ -z "${LINENO:-}" ] && startSkipping + + ( ${_FAIL_NOT_SAME_} 'x' 'y' >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_FAIL_NOT_SAME_ failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 + + ( ${_FAIL_NOT_SAME_} '"some msg"' 'x' 'y' >"${stdoutF}" 2>"${stderrF}" ) +- grep '^ASSERT:\[[0-9]*\] *' "${stdoutF}" >/dev/null ++ grep '^ASSERT:\[[0-9-]*\] *' "${stdoutF}" >/dev/null + rtrn=$? + assertTrue '_FAIL_NOT_SAME_ w/ msg failure' ${rtrn} + [ "${rtrn}" -ne "${SHUNIT_TRUE}" ] && cat "${stderrF}" >&2 diff --git a/user/sshfs/APKBUILD b/user/sshfs/APKBUILD new file mode 100644 index 000000000..404c077be --- /dev/null +++ b/user/sshfs/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=sshfs +pkgver=3.5.0 +pkgrel=0 +pkgdesc="FUSE client based on the SSH File Transfer Protocol" +url="https://github.com/libfuse/sshfs" +arch="all" +options="!check" # Requires fuse kernel module to be loaded and local ssh server +license="GPL-2.0-only AND GPL-2.0+ AND LGPL-2.1-only" +depends="openssh-client" +makedepends="fuse3-dev glib-dev meson coreutils py3-docutils" +#checkdepends="py3-pytest debianutils-which" +subpackages="$pkgname-doc" +source="https://github.com/libfuse/$pkgname/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.xz" + +build() { + cd "$builddir" + # NOTE: --prefix=/ is intentional. If --prefix=/usr, mount(8) will not be + # able to find mount.fuse.sshfs or mount.sshfs - it only looks in /sbin, not + # /usr/sbin. The omission of the absolute slash in --mandir=usr/share/man is + # also intentional - otherwise ninja tries to install the manpage to + # "/sr/share/man/man1" (???) + + meson \ + --prefix=/ \ + --sysconfdir=/etc \ + --mandir=usr/share/man \ + --localstatedir=/var \ + --buildtype=release \ + . output + ninja -C output +} + +check() { + cd "$builddir"/output + python3 -m pytest test/ +} + +package() { + cd "$builddir" + DESTDIR="$pkgdir" ninja -C output install +} + +sha512sums="6ba7be4bcad401d99fb864f105a6c8fc8b7c832d5b25f18cba27eee422fe65ee7bda8982466d624792a1fb21528c0cb078a59db48e93da4880a36aad7b506b0c sshfs-3.5.0.tar.xz" diff --git a/user/stow/APKBUILD b/user/stow/APKBUILD new file mode 100644 index 000000000..dcb81dc09 --- /dev/null +++ b/user/stow/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: Stefan Wagner <stw@bit-strickerei.de> +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=stow +pkgver=2.2.2 +pkgrel=0 +pkgdesc="Manage installation of multiple softwares in the same directory tree" +url="https://www.gnu.org/software/stow/" +arch="noarch" +license="GPL-2.0-only" +depends="perl" +makedepends="perl-test-output" +checkdepends="perl-io-stringy" +subpackages="$pkgname-doc" +source="https://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.gz" + +build() { + cd "$builddir" + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --with-pmdir=/usr/lib/perl5/vendor_perl +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + rm "$pkgdir"/usr/share/doc/stow/manual.pdf + rm "$pkgdir"/usr/share/doc/stow/version.texi +} + +sha512sums="8a3e5da6b5cb4c1ee1b512bae5a9859f83659d5de05f7a9af1dd09df2a32f6b8c6d43b79736db91232c43621d542041d4ef92eb088925796adad0676f200a9b5 stow-2.2.2.tar.gz" diff --git a/user/tcpdump/APKBUILD b/user/tcpdump/APKBUILD new file mode 100644 index 000000000..c5f4203e7 --- /dev/null +++ b/user/tcpdump/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Dan Theisen <djt@hxx.in> +pkgname=tcpdump +pkgver=4.9.2 +pkgrel=0 +pkgdesc="A tool for network monitoring and data acquisition" +url="http://www.tcpdump.org" +arch="all" +license="BSD-3-Clause" +depends="" +makedepends="libpcap-dev openssl-dev perl" +subpackages="$pkgname-doc" +source="http://www.tcpdump.org/release/$pkgname-$pkgver.tar.gz" + +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 -f "$pkgdir"/usr/sbin/tcpdump.4* +} + +sha512sums="e1bc19a5867d6e3628f3941bdf3ec831bf13784f1233ca1bccc46aac1702f47ee9357d7ff0ca62cddf211b3c8884488c21144cabddd92c861e32398cd8f7c44b tcpdump-4.9.2.tar.gz" diff --git a/user/tcsh/001-sysmalloc.patch b/user/tcsh/001-sysmalloc.patch new file mode 100644 index 000000000..b22c01898 --- /dev/null +++ b/user/tcsh/001-sysmalloc.patch @@ -0,0 +1,15 @@ +--- a/config_f.h ++++ b/config_f.h +@@ -139,11 +139,8 @@ + * This can be much slower and no memory statistics will be + * provided. + */ +-#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined (__CYGWIN__) || defined(__GLIBC__) || defined(__OpenBSD__) || defined(__APPLE__) || defined (__ANDROID__) ++ + # define SYSMALLOC +-#else +-# undef SYSMALLOC +-#endif + + /* + * USE_ACCESS Use access(2) rather than stat(2) when POSIX is defined. diff --git a/user/tcsh/002-test_123-posix_fix.patch b/user/tcsh/002-test_123-posix_fix.patch new file mode 100644 index 000000000..6ed59de38 --- /dev/null +++ b/user/tcsh/002-test_123-posix_fix.patch @@ -0,0 +1,34 @@ +Author: Dan Theisen <djt@hxx.in> +Date: Wed Jun 06 03:30:25 2018 -0800 + +The following lines have a subtle change around [:blank:], changing it +to [[:blank:]] instead. This is required because POSIX treats characters +inside of brackets as a group of characters to match against. In this case, +[[:space:]] means [] group of characters, and [:space:] is the group, as per: +IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008), Chapter 9 +http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html + +--- tcsh-6.20.00/tests/lexical.at.old 2018-06-06 02:20:16.787145186 -0700 ++++ tcsh-6.20.00/tests/lexical.at 2018-06-06 02:21:09.537890842 -0700 +@@ -567,10 +567,10 @@ + ]]) + AT_DATA([uniformity_test.csh], + [[ +-set SERVICE_NAME_LOG = `cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g'` ++set SERVICE_NAME_LOG = `cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g'` + echo -n "$SERVICE_NAME_LOG" > ./output1 + +-cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g' > ./output2 ++cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g' > ./output2 + + diff -uprN ./output1 ./output2 >& /dev/null + +@@ -587,7 +587,7 @@ + echo "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP\)(HOST=db\)(PORT=1521\)\)(CONNECT_DATA=(SERVER=DEDICATED\)(SERVICE_NAME=bns03\)\)\)" > ./expected_result + + set string = "jdbc_url=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=bns03)))" +-set SERVICE_NAME_LOG = `echo "$string" | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\)/\\\)/g'` ++set SERVICE_NAME_LOG = `echo "$string" | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\)/\\\)/g'` + + echo "$SERVICE_NAME_LOG" > ./actual_result + diff --git a/user/tcsh/APKBUILD b/user/tcsh/APKBUILD new file mode 100644 index 000000000..2fdfac0b2 --- /dev/null +++ b/user/tcsh/APKBUILD @@ -0,0 +1,47 @@ +# Contributor: Dan Theisen <djt@hxx.in> +# Maintainer: Dan Theisen <djt@hxx.in> +pkgname=tcsh +pkgver=6.20.00 +pkgrel=2 +pkgdesc="extended C-shell" +url="http://www.tcsh.org" +arch="all" +license="BSD-3-Clause" +depends="" +checkdepends="diffutils autoconf" +makedepends="ncurses-dev ncurses-terminfo utmps-dev gettext-tiny-dev" +install="$pkgname.post-install $pkgname.post-upgrade $pkgname.pre-deinstall" +subpackages="$pkgname-doc" +options="!checkroot" +source="$pkgname-$pkgver.tar.gz::http://http.debian.net/debian/pool/main/t/tcsh/${pkgname}_${pkgver}.orig.tar.gz + 001-sysmalloc.patch + 002-test_123-posix_fix.patch" + +build() { + cd "$builddir" + LIBS="-lutmps -lskarnet -ltinfo" ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --bindir=/bin \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --enable-nls \ + --enable-nls-catalogs \ + --disable-rpath + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="c5635393c22341e62fb9a0b953ddf8871a876ab09deb08c98237f93afa9257b4a3381d1db65eefe769e22ef845db29ab7bc78773f1f609d73c8205689a6683e9 tcsh-6.20.00.tar.gz +40149d8eb2fc0fe5184f3c24c7a1b728e881cc0048ccd37a986c3b2d2094499ec1c37ae2bae4c209fb8a847aa943e83e81f79e3d2f55c59990bc00d9d07f5a94 001-sysmalloc.patch +b4c1afe04554d117b1402608bcdb243148c0c7b2442bdc10dde3ed6601db5e7c5a2341373f9bdc31fda8860e47a6e152cdcc4e3a8b273742037eebc624df282c 002-test_123-posix_fix.patch" diff --git a/user/tcsh/tcsh.post-install b/user/tcsh/tcsh.post-install new file mode 100644 index 000000000..7342c5e72 --- /dev/null +++ b/user/tcsh/tcsh.post-install @@ -0,0 +1,3 @@ +#!/bin/sh +add-shell '/bin/tcsh' +exit 0 diff --git a/user/tcsh/tcsh.post-upgrade b/user/tcsh/tcsh.post-upgrade new file mode 120000 index 000000000..180542a18 --- /dev/null +++ b/user/tcsh/tcsh.post-upgrade @@ -0,0 +1 @@ +tcsh.post-install
\ No newline at end of file diff --git a/user/tcsh/tcsh.pre-deinstall b/user/tcsh/tcsh.pre-deinstall new file mode 100644 index 000000000..9e2e34c1c --- /dev/null +++ b/user/tcsh/tcsh.pre-deinstall @@ -0,0 +1,3 @@ +#!/bin/sh +remove-shell '/bin/tcsh' +exit 0 diff --git a/user/tlp/APKBUILD b/user/tlp/APKBUILD new file mode 100644 index 000000000..dd34fe5cc --- /dev/null +++ b/user/tlp/APKBUILD @@ -0,0 +1,52 @@ +# Contributor: Ivan Tham <pickfire@riseup.net> +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=tlp +_pkgname=TLP +pkgver=1.1 +pkgrel=0 +pkgdesc="Linux Advanced Power Management" +url="http://linrunner.de/en/tlp/tlp.html" +arch="noarch" +options="!check" # No test suite. +license="GPL-2.0+ AND GPL-3.0+" +depends="/bin/sh perl" +makedepends="" +subpackages="$pkgname-doc $pkgname-rdw $pkgname-bash-completion:bashcomp + $pkgname-openrc" +source="$pkgname-$pkgver.tar.gz::https://github.com/linrunner/$_pkgname/archive/$pkgver.tar.gz + $pkgname.initd" +builddir="$srcdir/$_pkgname-$pkgver" + +build() { + cd "$builddir" + make +} + +package() { + cd "$builddir" + + make DESTDIR="$pkgdir" install-tlp install-man + install -Dm755 "$srcdir"/tlp.initd "$pkgdir"/etc/init.d/"$pkgname" + # We don't ship systemd + find "$pkgdir"/usr/share/man/man8 -name '*.service*' -delete +} + +rdw() { + pkgdesc="Linux Advanced Power Management - Radio Device Wizard" + depends="tlp" + + cd "$builddir" + make DESTDIR="$subpkgdir" install-rdw +} + +bashcomp() { + pkgdesc="Bash completions for $pkgname" + depends="" + install_if="$pkgname=$pkgver-r$pkgrel bash-completion" + + mkdir -p "$subpkgdir"/usr/share + mv "$pkgdir"/usr/share/bash-completion "$subpkgdir"/usr/share +} + +sha512sums="3400f2b6c249fd2e1bbbc61f23e3450ff90fabb8dd74f2903ce1f0d07e7ce3d1e61b07295736138d4697235dbee9157d3f32a8d296a649c93f73e03e3555af1e tlp-1.1.tar.gz +e6de216b2540413812711b3304cdc29c8729d527080cfd747ba382db50166dd21c6c27ff467f9f2a967e92007c7a311b00e88262952c34a22f417578c66cf4e7 tlp.initd" diff --git a/user/tlp/tlp.initd b/user/tlp/tlp.initd new file mode 100755 index 000000000..05b4c3b97 --- /dev/null +++ b/user/tlp/tlp.initd @@ -0,0 +1,15 @@ +#!/sbin/openrc-run + +description="Initialize tlp" +extra_started_commands="force_reload" + +depend() { + need localmount +} + +status() { tlp-stat -s; } +# TODO: keep the following in one line +start() { tlp init start; } +stop() { tlp init stop; } +restart() { tlp init restart; } +force_reload() { tlp init force-reload; } diff --git a/user/tumbler/APKBUILD b/user/tumbler/APKBUILD index c0739970e..e1cf61892 100644 --- a/user/tumbler/APKBUILD +++ b/user/tumbler/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=tumbler -pkgver=0.2.2 +pkgver=0.2.3 pkgrel=0 pkgdesc="Thumbnail generation service for the XFCE desktop environment" url="https://xfce.org" @@ -37,4 +37,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="6bbd9ef32a9c105fc614daab8f9b87eab71934c85d3caf8465672adb2def9c43ef8b962b1da214d8013e187ee523c39f081f1331bcefb3af6359a93272875a05 tumbler-0.2.2.tar.bz2" +sha512sums="aefe284c3baa1d8eaf79c9bdb3cfc044ee6a1f36be34efd67541e6310aa275b5235b29f68483b7b7b5a8df699a8b3db8dc75569ec2b90253756fd6285a2e3816 tumbler-0.2.3.tar.bz2" diff --git a/user/vala/APKBUILD b/user/vala/APKBUILD index 3bc302f7e..9736033ee 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.42.0 +pkgver=0.42.1 pkgrel=0 pkgdesc="Compiler for the Vala programming language" url="https://wiki.gnome.org/Projects/Vala" @@ -33,4 +33,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="3f87834a83035d60d0714996d4762927a6baced250e062ea1b0f029cc2fb07581e866afa049a412bebb35861d6773c439b58e34ab91524a35238b48b02fe2be1 vala-0.42.0.tar.xz" +sha512sums="36d5a4057fdad7f02616d39d5a04e8a4af7ddc79ce1c5e68247c8a0ccda09fc2a084f35d378acc4bd61d3a872386c992e4a337ef50d3604b37d1a5d064aea92a vala-0.42.1.tar.xz" diff --git a/user/valgrind/0001-Ensure-ELFv2-is-supported-on-PPC64.patch b/user/valgrind/0001-Ensure-ELFv2-is-supported-on-PPC64.patch new file mode 100644 index 000000000..5272406ec --- /dev/null +++ b/user/valgrind/0001-Ensure-ELFv2-is-supported-on-PPC64.patch @@ -0,0 +1,817 @@ +From a5224eb31a4c8a680587e74cc402e5ed92ead216 Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> +Date: Thu, 27 Sep 2018 15:42:40 -0500 +Subject: [PATCH] Ensure ELFv2 is supported on PPC64 + +--- + coregrind/m_dispatch/dispatch-ppc64be-linux.S | 107 ++++++++++++++++-- + coregrind/m_initimg/initimg-linux.c | 5 +- + coregrind/m_libcsetjmp.c | 7 +- + coregrind/m_machine.c | 3 +- + coregrind/m_main.c | 19 ++-- + coregrind/m_sigframe/sigframe-ppc64-linux.c | 3 +- + coregrind/m_signals.c | 11 +- + coregrind/m_stacktrace.c | 12 +- + coregrind/m_syscall.c | 9 +- + coregrind/m_syswrap/syscall-ppc64be-linux.S | 19 +++- + coregrind/m_syswrap/syswrap-ppc64-linux.c | 9 +- + coregrind/m_trampoline.S | 4 +- + coregrind/m_translate.c | 23 ++-- + coregrind/m_ume/elf.c | 8 +- + coregrind/pub_core_machine.h | 12 +- + coregrind/vg_preloaded.c | 3 +- + include/valgrind.h | 16 ++- + memcheck/mc_leakcheck.c | 2 +- + memcheck/mc_machine.c | 3 +- + 19 files changed, 206 insertions(+), 69 deletions(-) + +diff --git a/coregrind/m_dispatch/dispatch-ppc64be-linux.S b/coregrind/m_dispatch/dispatch-ppc64be-linux.S +index 91bd3b236..eb8026c7c 100644 +--- a/coregrind/m_dispatch/dispatch-ppc64be-linux.S ++++ b/coregrind/m_dispatch/dispatch-ppc64be-linux.S +@@ -75,14 +75,26 @@ void VG_(disp_run_translations)( UWord* two_words, + .section ".text" + .align 2 + .globl VG_(disp_run_translations) ++#if _CALL_ELF == 2 ++.type VG_(disp_run_translations),@function ++VG_(disp_run_translations): ++.type .VG_(disp_run_translations),@function ++#else + .section ".opd","aw" + .align 3 + VG_(disp_run_translations): + .quad .VG_(disp_run_translations),.TOC.@tocbase,0 + .previous + .type .VG_(disp_run_translations),@function ++#endif + .globl .VG_(disp_run_translations) + .VG_(disp_run_translations): ++#if _CALL_ELF == 2 ++0: addis 2, 12,.TOC.-0b@ha ++ addi 2,2,.TOC.-0b@l ++ .localentry VG_(disp_run_translations), .-VG_(disp_run_translations) ++#endif ++ + /* r3 holds two_words */ + /* r4 holds guest_state */ + /* r5 holds host_addr */ +@@ -231,6 +243,11 @@ VG_(disp_run_translations): + + /* Set up the guest state ptr */ + mr 31,4 /* r31 (generated code gsp) = r4 */ ++#if _CALL_ELF == 2 ++/* for the LE ABI need to setup r2 and r12 */ ++0: addis 2, 12,.TOC.-0b@ha ++ addi 2,2,.TOC.-0b@l ++#endif + + /* and jump into the code cache. Chained translations in + the code cache run, until for whatever reason, they can't +@@ -385,7 +402,9 @@ VG_(disp_run_translations): + mtlr 0 + addi 1,1,624 /* stack_size */ + blr +- ++#if _CALL_ELF == 2 ++ .size VG_(disp_run_translations),.-VG_(disp_run_translations) ++#endif + + /*----------------------------------------------------*/ + /*--- Continuation points ---*/ +@@ -395,15 +414,25 @@ VG_(disp_run_translations): + .section ".text" + .align 2 + .globl VG_(disp_cp_chain_me_to_slowEP) +- .section ".opd","aw" ++#if _CALL_ELF == 2 ++ .type VG_(disp_cp_chain_me_to_slowEP),@function ++ VG_(disp_cp_chain_me_to_slowEP): ++#else ++ .section ".opd","aw" + .align 3 + VG_(disp_cp_chain_me_to_slowEP): + .quad .VG_(disp_cp_chain_me_to_slowEP),.TOC.@tocbase,0 + .previous ++#endif + .type .VG_(disp_cp_chain_me_to_slowEP),@function + .globl .VG_(disp_cp_chain_me_to_slowEP) + .VG_(disp_cp_chain_me_to_slowEP): +- /* We got called. The return address indicates ++#if _CALL_ELF == 2 ++0: addis 2, 12,.TOC.-0b@ha ++ addi 2,2,.TOC.-0b@l ++ .localentry VG_(disp_cp_chain_me_to_slowEP), .-VG_(disp_cp_chain_me_to_slowEP) ++#endif ++ /* We got called. The return address indicates + where the patching needs to happen. Collect + the return address and, exit back to C land, + handing the caller the pair (Chain_me_S, RA) */ +@@ -415,20 +444,33 @@ VG_(disp_cp_chain_me_to_slowEP): + */ + subi 7,7,20+4+4 + b .postamble ++#if _CALL_ELF == 2 ++ .size VG_(disp_cp_chain_me_to_slowEP),.-VG_(disp_cp_chain_me_to_slowEP) ++#endif + + /* ------ Chain me to fast entry point ------ */ + .section ".text" + .align 2 + .globl VG_(disp_cp_chain_me_to_fastEP) +- .section ".opd","aw" ++#if _CALL_ELF == 2 ++ .type VG_(disp_cp_chain_me_to_fastEP),@function ++VG_(disp_cp_chain_me_to_fastEP): ++#else ++ .section ".opd","aw" + .align 3 + VG_(disp_cp_chain_me_to_fastEP): + .quad .VG_(disp_cp_chain_me_to_fastEP),.TOC.@tocbase,0 + .previous ++#endif + .type .VG_(disp_cp_chain_me_to_fastEP),@function + .globl .VG_(disp_cp_chain_me_to_fastEP) + .VG_(disp_cp_chain_me_to_fastEP): +- /* We got called. The return address indicates ++#if _CALL_ELF == 2 ++0: addis 2, 12,.TOC.-0b@ha ++ addi 2,2,.TOC.-0b@l ++ .localentry VG_(disp_cp_chain_me_to_fastEP), .-VG_(disp_cp_chain_me_to_fastEP) ++#endif ++ /* We got called. The return address indicates + where the patching needs to happen. Collect + the return address and, exit back to C land, + handing the caller the pair (Chain_me_S, RA) */ +@@ -440,20 +482,33 @@ VG_(disp_cp_chain_me_to_fastEP): + */ + subi 7,7,20+4+4 + b .postamble ++#if _CALL_ELF == 2 ++ .size VG_(disp_cp_chain_me_to_fastEP),.-VG_(disp_cp_chain_me_to_fastEP) ++#endif + + /* ------ Indirect but boring jump ------ */ + .section ".text" + .align 2 + .globl VG_(disp_cp_xindir) +- .section ".opd","aw" ++#if _CALL_ELF == 2 ++ .type VG_(disp_cp_xindir),@function ++VG_(disp_cp_xindir): ++#else ++ .section ".opd","aw" + .align 3 + VG_(disp_cp_xindir): + .quad .VG_(disp_cp_xindir),.TOC.@tocbase,0 + .previous ++#endif + .type .VG_(disp_cp_xindir),@function + .globl .VG_(disp_cp_xindir) + .VG_(disp_cp_xindir): +- /* Where are we going? */ ++#if _CALL_ELF == 2 ++0: addis 2, 12,.TOC.-0b@ha ++ addi 2,2,.TOC.-0b@l ++ .localentry VG_(disp_cp_xindir), .-VG_(disp_cp_xindir) ++#endif ++ /* Where are we going? */ + ld 3,OFFSET_ppc64_CIA(31) + + /* stats only */ +@@ -479,6 +534,9 @@ VG_(disp_cp_xindir): + /* Found a match. Jump to .host. */ + mtctr 7 + bctr ++#if _CALL_ELF == 2 ++ .size VG_(disp_cp_xindir),.-VG_(disp_cp_xindir) ++#endif + + .fast_lookup_failed: + /* stats only */ +@@ -496,39 +554,64 @@ VG_(disp_cp_xindir): + .section ".text" + .align 2 + .globl VG_(disp_cp_xassisted) +- .section ".opd","aw" ++#if _CALL_ELF == 2 ++ .type VG_(disp_cp_xassisted),@function ++VG_(disp_cp_xassisted): ++#else ++ .section ".opd","aw" + .align 3 + VG_(disp_cp_xassisted): + .quad .VG_(disp_cp_xassisted),.TOC.@tocbase,0 + .previous +- .type .VG_(disp_cp_xassisted),@function ++#endif ++#if _CALL_ELF == 2 ++0: addis 2, 12,.TOC.-0b@ha ++ addi 2,2,.TOC.-0b@l ++ .localentry VG_(disp_cp_xassisted), .-VG_(disp_cp_xassisted) ++#endif ++ .type .VG_(disp_cp_xassisted),@function + .globl .VG_(disp_cp_xassisted) + .VG_(disp_cp_xassisted): + /* r31 contains the TRC */ + mr 6,31 + li 7,0 + b .postamble ++#if _CALL_ELF == 2 ++ .size VG_(disp_cp_xassisted),.-VG_(disp_cp_xassisted) ++#endif + + /* ------ Event check failed ------ */ + .section ".text" + .align 2 + .globl VG_(disp_cp_evcheck_fail) +- .section ".opd","aw" ++#if _CALL_ELF == 2 ++ .type VG_(disp_cp_evcheck_fail),@function ++VG_(disp_cp_evcheck_fail): ++#else ++ .section ".opd","aw" + .align 3 + VG_(disp_cp_evcheck_fail): + .quad .VG_(disp_cp_evcheck_fail),.TOC.@tocbase,0 + .previous ++#endif ++#if _CALL_ELF == 2 ++0: addis 2, 12,.TOC.-0b@ha ++ addi 2,2,.TOC.-0b@l ++ .localentry VG_(disp_cp_evcheck_fail), .-VG_(disp_cp_evcheck_fail) ++#endif + .type .VG_(disp_cp_evcheck_fail),@function + .globl .VG_(disp_cp_evcheck_fail) + .VG_(disp_cp_evcheck_fail): + li 6,VG_TRC_INNER_COUNTERZERO + li 7,0 + b .postamble ++#if _CALL_ELF == 2 ++ .size VG_(disp_cp_evcheck_fail),.-VG_(disp_cp_evcheck_fail) ++#endif + +- + .size .VG_(disp_run_translations), .-.VG_(disp_run_translations) + +-#endif // defined(VGP_ppc64be_linux) ++#endif // defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux) + + /* Let the linker know we don't need an executable stack */ + MARK_STACK_NO_EXEC +diff --git a/coregrind/m_initimg/initimg-linux.c b/coregrind/m_initimg/initimg-linux.c +index 61cc458bc..19df79705 100644 +--- a/coregrind/m_initimg/initimg-linux.c ++++ b/coregrind/m_initimg/initimg-linux.c +@@ -1117,7 +1117,8 @@ void VG_(ii_finalise_image)( IIFinaliseImageInfo iifii ) + arch->vex.guest_GPR1 = iifii.initial_client_SP; + arch->vex.guest_GPR2 = iifii.initial_client_TOC; + arch->vex.guest_CIA = iifii.initial_client_IP; +-#if defined(VGP_ppc64le_linux) ++#if (defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)) \ ++ && !defined(VG_PLAT_USES_PPCTOC) + arch->vex.guest_GPR12 = iifii.initial_client_IP; + #endif + +diff --git a/coregrind/m_libcsetjmp.c b/coregrind/m_libcsetjmp.c +index c73180640..ed96f4739 100644 +--- a/coregrind/m_libcsetjmp.c ++++ b/coregrind/m_libcsetjmp.c +@@ -35,6 +35,7 @@ + + #include "pub_core_basics.h" + #include "pub_core_libcsetjmp.h" /* self */ ++#include "pub_core_machine.h" /* VG_PLAT_USES_PPCTOC */ + + /* See include/pub_tool_libcsetjmp.h for background and rationale. */ + +@@ -151,7 +152,8 @@ __asm__( + + /* ------------ ppc64-linux ------------ */ + +-#if defined(VGP_ppc64be_linux) ++#if (defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)) \ ++ && defined(VG_PLAT_USES_PPCTOC) + + __asm__( + ".section \".toc\",\"aw\"" "\n" +@@ -270,7 +272,8 @@ __asm__( + ".previous" "\n" + ); + +-#elif defined(VGP_ppc64le_linux) ++#elif (defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)) \ ++ && !defined(VG_PLAT_USES_PPCTOC) + __asm__( + ".section \".toc\",\"aw\"" "\n" + +diff --git a/coregrind/m_machine.c b/coregrind/m_machine.c +index 31b0e1b6b..eb3e6a4e1 100644 +--- a/coregrind/m_machine.c ++++ b/coregrind/m_machine.c +@@ -2035,7 +2035,8 @@ void* VG_(fnptr_to_fnentry)( void* f ) + || defined(VGP_ppc32_linux) || defined(VGP_ppc64le_linux) \ + || defined(VGP_s390x_linux) || defined(VGP_mips32_linux) \ + || defined(VGP_mips64_linux) || defined(VGP_arm64_linux) \ +- || defined(VGP_x86_solaris) || defined(VGP_amd64_solaris) ++ || defined(VGP_x86_solaris) || defined(VGP_amd64_solaris) \ ++ || (defined(VGP_ppc64be_linux) && !defined(VG_PLAT_USES_PPCTOC)) + return f; + # elif defined(VGP_ppc64be_linux) + /* ppc64-linux uses the AIX scheme, in which f is a pointer to a +diff --git a/coregrind/m_main.c b/coregrind/m_main.c +index bf4a71284..102235dca 100644 +--- a/coregrind/m_main.c ++++ b/coregrind/m_main.c +@@ -2274,7 +2274,7 @@ static void final_tidyup(ThreadId tid) + return; /* won't do it */ + } + +-# if defined(VGP_ppc64be_linux) ++# if defined(VGP_ppc64be_linux) && defined(VG_PLAT_USES_PPCTOC) + Addr r2 = VG_(get_tocptr)(freeres_wrapper); + if (r2 == 0) { + VG_(message)(Vg_UserMsg, +@@ -2306,9 +2306,11 @@ static void final_tidyup(ThreadId tid) + directly. However, we need to set R2 (the toc pointer) + appropriately. */ + VG_(set_IP)(tid, freeres_wrapper); +-# if defined(VGP_ppc64be_linux) ++# if (defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)) \ ++ && defined(VG_PLAT_USES_PPCTOC) + VG_(threads)[tid].arch.vex.guest_GPR2 = r2; +-# elif defined(VGP_ppc64le_linux) ++# elif (defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)) \ ++ && !defined(VG_PLAT_USES_PPCTOC) + /* setting GPR2 but not really needed, GPR12 is needed */ + VG_(threads)[tid].arch.vex.guest_GPR2 = freeres_wrapper; + VG_(threads)[tid].arch.vex.guest_GPR12 = freeres_wrapper; +@@ -2610,9 +2612,10 @@ asm("\n" + "\ttrap\n" + ".previous\n" + ); +-#elif defined(VGP_ppc64be_linux) ++#elif (defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)) \ ++ && defined(VG_PLAT_USES_PPCTOC) + asm("\n" +- /* PPC64 ELF ABI says '_start' points to a function descriptor. ++ /* PPC64 ELFv1 ABI says '_start' points to a function descriptor. + So we must have one, and that is what goes into the .opd section. */ + "\t.align 2\n" + "\t.global _start\n" +@@ -2656,9 +2659,9 @@ asm("\n" + "\tnop\n" + "\ttrap\n" + ); +-#elif defined(VGP_ppc64le_linux) +-/* Little Endian uses ELF version 2 but in the future may also +- * support other ELF versions. ++#elif (defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)) \ ++ && !defined(VG_PLAT_USES_PPCTOC) ++/* ELF version 2 does not use function descriptors. + */ + asm("\n" + "\t.align 2\n" +diff --git a/coregrind/m_sigframe/sigframe-ppc64-linux.c b/coregrind/m_sigframe/sigframe-ppc64-linux.c +index b16606c22..cc657838f 100644 +--- a/coregrind/m_sigframe/sigframe-ppc64-linux.c ++++ b/coregrind/m_sigframe/sigframe-ppc64-linux.c +@@ -263,7 +263,8 @@ void VG_(sigframe_create)( ThreadId tid, + + /* Handler is in fact a standard ppc64-linux function descriptor, + so extract the function entry point and also the toc ptr to use. */ +-#if defined(VGP_ppc64be_linux) ++#if (defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)) \ ++ && defined(VG_PLAT_USES_PPCTOC) + SET_SIGNAL_GPR(tid, 2, (Addr) ((ULong*)handler)[1]); + tst->arch.vex.guest_CIA = (Addr) ((ULong*)handler)[0]; + #else +diff --git a/coregrind/m_signals.c b/coregrind/m_signals.c +index e572f17cc..52d939057 100644 +--- a/coregrind/m_signals.c ++++ b/coregrind/m_signals.c +@@ -889,7 +889,9 @@ extern void my_sigreturn(void); + " sc\n" \ + ".previous\n" + +-#elif defined(VGP_ppc64be_linux) ++#elif (defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)) \ ++ && defined(VG_PLAT_USES_PPCTOC) ++/* ELF version 1. Used in some legacy environments on LE, and most BE. */ + # define _MY_SIGRETURN(name) \ + ".align 2\n" \ + ".globl my_sigreturn\n" \ +@@ -904,9 +906,10 @@ extern void my_sigreturn(void); + " li 0, " #name "\n" \ + " sc\n" + +-#elif defined(VGP_ppc64le_linux) +-/* Little Endian supports ELF version 2. In the future, it may +- * support other versions. ++#elif (defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)) \ ++ && !defined(VG_PLAT_USES_PPCTOC) ++/* ELF version 2. In the future, PPC64 may support other versions. Used by ++ * most LE environments and any BE environment running musl libc. + */ + # define _MY_SIGRETURN(name) \ + ".align 2\n" \ +diff --git a/coregrind/m_stacktrace.c b/coregrind/m_stacktrace.c +index 24f1409dd..9be4c6da9 100644 +--- a/coregrind/m_stacktrace.c ++++ b/coregrind/m_stacktrace.c +@@ -726,7 +726,8 @@ UInt VG_(get_StackTrace_wrk) ( ThreadId tid_if_known, + Addr fp_max_orig ) + { + Bool lr_is_first_RA = False; +-# if defined(VG_PLAT_USES_PPCTOC) || defined(VGP_ppc64le_linux) ++# if defined(VG_PLAT_USES_PPCTOC) || defined(VGP_ppc64be_linux) \ ++ || defined(VGP_ppc64le_linux) + Word redir_stack_size = 0; + Word redirs_used = 0; + # endif +@@ -787,7 +788,8 @@ UInt VG_(get_StackTrace_wrk) ( ThreadId tid_if_known, + redirs_used = 0; + # endif + +-# if defined(VG_PLAT_USES_PPCTOC) || defined (VGP_ppc64le_linux) ++# if defined(VG_PLAT_USES_PPCTOC) || defined(VGP_ppc64be_linux) \ ++ || defined(VGP_ppc64le_linux) + /* Deal with bogus LR values caused by function + interception/wrapping on ppc-TOC platforms; see comment on + similar code a few lines further down. */ +@@ -839,7 +841,8 @@ UInt VG_(get_StackTrace_wrk) ( ThreadId tid_if_known, + /* On ppc64-linux (ppc64-elf, really), the lr save + slot is 2 words back from sp, whereas on ppc32-elf(?) it's + only one word back. */ +-# if defined(VG_PLAT_USES_PPCTOC) || defined(VGP_ppc64le_linux) ++# if defined(VG_PLAT_USES_PPCTOC) || defined(VGP_ppc64be_linux) \ ++ || defined(VGP_ppc64le_linux) + const Int lr_offset = 2; + # else + const Int lr_offset = 1; +@@ -858,7 +861,8 @@ UInt VG_(get_StackTrace_wrk) ( ThreadId tid_if_known, + else + ip = (((UWord*)fp)[lr_offset]); + +-# if defined(VG_PLAT_USES_PPCTOC) || defined(VGP_ppc64le_linux) ++# if defined(VG_PLAT_USES_PPCTOC) || defined(VGP_ppc64be_linux) \ ++ || defined(VGP_ppc64le_linux) + /* Nasty hack to do with function replacement/wrapping on + ppc64-linux. If LR points to our magic return stub, + then we are in a wrapped or intercepted function, in +diff --git a/coregrind/m_syscall.c b/coregrind/m_syscall.c +index 5948cecf5..c1cdfab27 100644 +--- a/coregrind/m_syscall.c ++++ b/coregrind/m_syscall.c +@@ -470,7 +470,8 @@ asm( + ".previous\n" + ); + +-#elif defined(VGP_ppc64be_linux) ++#elif (defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)) \ ++ && defined(VG_PLAT_USES_PPCTOC) + /* Due to the need to return 65 bits of result, this is completely + different from the ppc32 case. The single arg register points to a + 7-word block containing the syscall # and the 6 args. The syscall +@@ -506,15 +507,15 @@ asm( + " blr\n" + ); + +-#elif defined(VGP_ppc64le_linux) ++#elif (defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)) \ ++ && !defined(VG_PLAT_USES_PPCTOC) + /* Due to the need to return 65 bits of result, this is completely + different from the ppc32 case. The single arg register points to a + 7-word block containing the syscall # and the 6 args. The syscall + result proper is put in [0] of the block, and %cr0.so is in the + bottom bit of [1]. */ + extern void do_syscall_WRK ( ULong* argblock ); +-/* Little Endian supports ELF version 2. In the future, it may support +- * other versions as well. ++/* ELF version 2. In the future, PPC64 may support other versions as well. + */ + asm( + ".align 2\n" +diff --git a/coregrind/m_syswrap/syscall-ppc64be-linux.S b/coregrind/m_syswrap/syscall-ppc64be-linux.S +index 16e9cedc0..db0d8b4aa 100644 +--- a/coregrind/m_syswrap/syscall-ppc64be-linux.S ++++ b/coregrind/m_syswrap/syscall-ppc64be-linux.S +@@ -76,11 +76,24 @@ + + .align 2 + .globl ML_(do_syscall_for_client_WRK) ++#if _CALL_ELF == 2 ++.type .ML_(do_syscall_for_client_WRK),@function ++ML_(do_syscall_for_client_WRK): ++0: addis 2,12,.TOC.-0b@ha ++ addi 2,2,.TOC.-0b@l ++ .localentry ML_(do_syscall_for_client_WRK), .-ML_(do_syscall_for_client_WRK) ++#else + .section ".opd","aw" + .align 3 +-ML_(do_syscall_for_client_WRK): ++ML_(do_syscall_for_client_WRK): + .quad .ML_(do_syscall_for_client_WRK),.TOC.@tocbase,0 + .previous ++#endif ++#if _CALL_ELF == 2 ++0: addis 2,12,.TOC.-0b@ha ++ addi 2,2,.TOC.-0b@l ++ .localentry ML_(do_syscall_for_client_WRK), .-ML_(do_syscall_for_client_WRK) ++#endif + .type .ML_(do_syscall_for_client_WRK),@function + .globl .ML_(do_syscall_for_client_WRK) + .ML_(do_syscall_for_client_WRK): +@@ -145,7 +158,9 @@ ML_(do_syscall_for_client_WRK): + /* failure: return 0x8000 | error code */ + 7: ori 3,3,0x8000 /* FAILURE -- ensure return value is nonzero */ + b 5b +- ++#if _CALL_ELF == 2 ++ .size .ML_(do_syscall_for_client_WRK),.-.ML_(do_syscall_for_client_WRK) ++#endif + .section .rodata + /* export the ranges so that + VG_(fixup_guest_state_after_syscall_interrupted) can do the +diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c +index 6549dd1b3..4ecbe38a6 100644 +--- a/coregrind/m_syswrap/syswrap-ppc64-linux.c ++++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c +@@ -41,6 +41,7 @@ + #include "pub_core_libcprint.h" + #include "pub_core_libcproc.h" + #include "pub_core_libcsignal.h" ++#include "pub_core_machine.h" + #include "pub_core_options.h" + #include "pub_core_scheduler.h" + #include "pub_core_sigframe.h" // For VG_(sigframe_destroy)() +@@ -76,7 +77,8 @@ void ML_(call_on_new_stack_0_1) ( Addr stack, + address, the second word is the TOC ptr (r2), and the third word is + the static chain value. */ + asm( +-#if defined(VGP_ppc64be_linux) ++#if (defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)) \ ++ && defined(VG_PLAT_USES_PPCTOC) + " .align 2\n" + " .globl vgModuleLocal_call_on_new_stack_0_1\n" + " .section \".opd\",\"aw\"\n" +@@ -126,7 +128,7 @@ asm( + " bctr\n\t" // jump to dst + " trap\n" // should never get here + #else +-// ppc64le_linux ++// ppc64 ELFv2 Linux + " .align 2\n" + " .globl vgModuleLocal_call_on_new_stack_0_1\n" + "vgModuleLocal_call_on_new_stack_0_1:\n" +@@ -211,7 +213,8 @@ asm( + + // See priv_syswrap-linux.h for arg profile. + asm( +-#if defined(VGP_ppc64be_linux) ++#if (defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)) \ ++ && defined(VG_PLAT_USES_PPCTOC) + " .align 2\n" + " .globl do_syscall_clone_ppc64_linux\n" + " .section \".opd\",\"aw\"\n" +diff --git a/coregrind/m_trampoline.S b/coregrind/m_trampoline.S +index 0488b54bd..d00916aef 100644 +--- a/coregrind/m_trampoline.S ++++ b/coregrind/m_trampoline.S +@@ -469,11 +469,11 @@ VG_(ppctoc_magic_redirect_return_stub): + .align 2 + .globl VG_(ppc64_linux_REDIR_FOR_strlen) + #if !defined VGP_ppc64be_linux || _CALL_ELF == 2 +- /* Little Endian uses ELF version 2 */ ++ /* ELF version 2 */ + .type VG_(ppc64_linux_REDIR_FOR_strlen),@function + VG_(ppc64_linux_REDIR_FOR_strlen): + #else +- /* Big Endian uses ELF version 1 */ ++ /* ELF version 1 */ + .section ".opd","aw" + .align 3 + VG_(ppc64_linux_REDIR_FOR_strlen): +diff --git a/coregrind/m_translate.c b/coregrind/m_translate.c +index 3602a4663..bdd1d50ee 100644 +--- a/coregrind/m_translate.c ++++ b/coregrind/m_translate.c +@@ -1006,7 +1006,8 @@ static IRExpr* mkU32 ( UInt n ) { + return IRExpr_Const(IRConst_U32(n)); + } + +-#if defined(VG_PLAT_USES_PPCTOC) || defined(VGP_ppc64le_linux) ++#if defined(VG_PLAT_USES_PPCTOC) || defined(VGP_ppc64be_linux) \ ++ || defined(VGP_ppc64le_linux) + static IRExpr* mkU8 ( UChar n ) { + return IRExpr_Const(IRConst_U8(n)); + } +@@ -1234,7 +1234,8 @@ static void gen_push_and_set_LR_R2 ( IRSB* bb, Addr new_R2_value ) + } + #endif + +-#if defined(VG_PLAT_USES_PPCTOC) || defined(VGP_ppc64le_linux) ++#if defined(VG_PLAT_USES_PPCTOC) || defined(VGP_ppc64be_linux) \ ++ || defined(VGP_ppc64le_linux) + + static void gen_pop_R2_LR_then_bLR ( IRSB* bb ) + { +@@ -1263,7 +1264,8 @@ static void gen_pop_R2_LR_then_bLR ( IRSB* bb ) + } + #endif + +-#if defined(VG_PLAT_USES_PPCTOC) || defined(VGP_ppc64le_linux) ++#if defined(VG_PLAT_USES_PPCTOC) || defined(VGP_ppc64be_linux) \ ++ || defined(VGP_ppc64le_linux) + + static + Bool mk_preamble__ppctoc_magic_return_stub ( void* closureV, IRSB* bb ) +@@ -1285,7 +1287,7 @@ Bool mk_preamble__ppctoc_magic_return_stub ( void* closureV, IRSB* bb ) + } + #endif + +-#if defined(VGP_ppc64le_linux) ++#if defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux) + /* Generate code to push LR and R2 onto this thread's redir stack. + Need to save R2 in case we redirect to a global entry point. The + value of R2 is not preserved when entering the global entry point. +@@ -1366,9 +1368,7 @@ Bool mk_preamble__set_NRADDR_to_zero ( void* closureV, IRSB* bb ) + gen_push_and_set_LR_R2 ( bb, VG_(get_tocptr)( VG_(current_DiEpoch)(), + closure->readdr ) ); + } +-# endif +- +-#if defined(VGP_ppc64le_linux) ++#elif defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux) + VgCallbackClosure* closure = (VgCallbackClosure*)closureV; + Int offB_GPR12 = offsetof(VexGuestArchState, guest_GPR12); + addStmtToIRSB(bb, IRStmt_Put(offB_GPR12, mkU64(closure->readdr))); +@@ -1424,7 +1424,6 @@ Bool mk_preamble__set_NRADDR_to_nraddr ( void* closureV, IRSB* bb ) + ); + gen_push_and_set_LR_R2 ( bb, VG_(get_tocptr)( closure->readdr ) ); +-# endif +-#if defined(VGP_ppc64le_linux) ++#elif defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux) + /* This saves the r2 before leaving the function. We need to move + * guest_NRADDR_GPR2 back to R2 on return. + */ +@@ -1648,7 +1647,8 @@ Bool VG_(translate) ( ThreadId tid, + preamble_fn = mk_preamble__set_NRADDR_to_nraddr; + + /* LE we setup the LR */ +-# if defined(VG_PLAT_USES_PPCTOC) || defined(VGP_ppc64le_linux) ++# if defined(VG_PLAT_USES_PPCTOC) || defined(VGP_ppc64be_linux) \ ++ || defined(VGP_ppc64le_linux) + if (nraddr == (Addr)&VG_(ppctoc_magic_redirect_return_stub)) { + /* If entering the special return stub, this means a wrapped or + redirected function is returning. Make this translation one +@@ -1692,13 +1692,14 @@ Bool VG_(translate) ( ThreadId tid, + vex_abiinfo.guest_ppc_zap_RZ_at_bl = NULL; + # endif + +-# if defined(VGP_ppc64be_linux) ++# if defined(VGP_ppc64be_linux) && defined(VG_PLAT_USES_PPCTOC) + vex_abiinfo.guest_ppc_zap_RZ_at_blr = True; + vex_abiinfo.guest_ppc_zap_RZ_at_bl = const_True; + vex_abiinfo.host_ppc_calls_use_fndescrs = True; + # endif + +-# if defined(VGP_ppc64le_linux) ++# if (defined(VGP_ppc64be_linux) && !defined(VG_PLAT_USES_PPCTOC)) \ ++ || defined(VGP_ppc64le_linux) + vex_abiinfo.guest_ppc_zap_RZ_at_blr = True; + vex_abiinfo.guest_ppc_zap_RZ_at_bl = const_True; + vex_abiinfo.host_ppc_calls_use_fndescrs = False; +diff --git a/coregrind/m_ume/elf.c b/coregrind/m_ume/elf.c +index 21eb52bcb..f1e6b4728 100644 +--- a/coregrind/m_ume/elf.c ++++ b/coregrind/m_ume/elf.c +@@ -847,8 +847,8 @@ Int VG_(load_ELF)(Int fd, const HChar* name, /*MOD*/ExeInfo* info) + info->exe_base = minaddr + ebase; + info->exe_end = maxaddr + ebase; + +-#if defined(VGP_ppc64be_linux) +- /* On PPC64BE, ELF ver 1, a func ptr is represented by a TOC entry ptr. ++#if defined(VGP_ppc64be_linux) && defined(VG_PLAT_USES_PPCTOC) ++ /* On PPC64, ELF ver 1, a func ptr is represented by a TOC entry ptr. + This TOC entry contains three words; the first word is the function + address, the second word is the TOC ptr (r2), and the third word + is the static chain value. */ +@@ -856,8 +856,8 @@ Int VG_(load_ELF)(Int fd, const HChar* name, /*MOD*/ExeInfo* info) + info->init_toc = ((ULong*)entry)[1]; + info->init_ip += info->interp_offset; + info->init_toc += info->interp_offset; +-#elif defined(VGP_ppc64le_linux) +- /* On PPC64LE, ELF ver 2. API doesn't use a func ptr */ ++#elif defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux) ++ /* On PPC64, ELF ver 2. API doesn't use a func ptr */ + info->init_ip = (Addr)entry; + info->init_toc = 0; /* meaningless on this platform */ + #else +diff --git a/coregrind/pub_core_machine.h b/coregrind/pub_core_machine.h +index d6af843df..400148d57 100644 +--- a/coregrind/pub_core_machine.h ++++ b/coregrind/pub_core_machine.h +@@ -60,12 +60,20 @@ + # define VG_ELF_DATA2XXX ELFDATA2MSB + # define VG_ELF_MACHINE EM_PPC64 + # define VG_ELF_CLASS ELFCLASS64 +-# define VG_PLAT_USES_PPCTOC 1 ++# if !defined(_CALL_ELF) || _CALL_ELF == 1 ++# define VG_PLAT_USES_PPCTOC 1 ++# else ++# undef VG_PLAT_USES_PPCTOC ++# endif + #elif defined(VGP_ppc64le_linux) + # define VG_ELF_DATA2XXX ELFDATA2LSB + # define VG_ELF_MACHINE EM_PPC64 + # define VG_ELF_CLASS ELFCLASS64 +-# undef VG_PLAT_USES_PPCTOC ++# if defined(_CALL_ELF) && _CALL_ELF == 1 ++# define VG_PLAT_USES_PPCTOC 1 ++# else // assume ELFv2 by default if no ABI is specified ++# undef VG_PLAT_USES_PPCTOC ++# endif + #elif defined(VGP_arm_linux) + # define VG_ELF_DATA2XXX ELFDATA2LSB + # define VG_ELF_MACHINE EM_ARM +diff --git a/coregrind/vg_preloaded.c b/coregrind/vg_preloaded.c +index ad033432a..f300fbe80 100644 +--- a/coregrind/vg_preloaded.c ++++ b/coregrind/vg_preloaded.c +@@ -45,6 +45,7 @@ + #include "pub_core_basics.h" + #include "pub_core_clreq.h" + #include "pub_core_debuginfo.h" // Needed for pub_core_redir.h ++#include "pub_core_machine.h" // For VG_PLAT_USES_PPCTOC + #include "pub_core_redir.h" // For VG_NOTIFY_ON_LOAD + + #if defined(VGO_linux) || defined(VGO_solaris) +@@ -103,7 +104,7 @@ void * VG_NOTIFY_ON_LOAD(ifunc_wrapper) (void) + VALGRIND_GET_ORIG_FN(fn); + CALL_FN_W_v(result, fn); + +-#if defined(VGP_ppc64be_linux) ++#if defined(VGP_ppc64be_linux) && defined(VG_PLAT_USES_PPCTOC) + /* ppc64be uses function descriptors, so get the actual function entry + address for the client request, but return the function descriptor + from this function. +diff --git a/include/valgrind.h b/include/valgrind.h +index 577c8f05e..99e058ccf 100644 +--- a/include/valgrind.h ++++ b/include/valgrind.h +@@ -143,12 +143,20 @@ + # define PLAT_amd64_linux 1 + #elif defined(__linux__) && defined(__powerpc__) && !defined(__powerpc64__) + # define PLAT_ppc32_linux 1 +-#elif defined(__linux__) && defined(__powerpc__) && defined(__powerpc64__) && _CALL_ELF != 2 +-/* Big Endian uses ELF version 1 */ ++#elif defined(__linux__) && defined(__powerpc__) && defined(__powerpc64__) && defined(__BIG_ENDIAN__) + # define PLAT_ppc64be_linux 1 +-#elif defined(__linux__) && defined(__powerpc__) && defined(__powerpc64__) && _CALL_ELF == 2 +-/* Little Endian uses ELF version 2 */ ++# if _CALL_ELF == 2 ++# define PLAT_ppc64_linux_abi2 ++# else ++# define PLAT_ppc64_linux_abi1 ++# endif ++#elif defined(__linux__) && defined(__powerpc__) && defined(__powerpc64__) && !defined(__BIG_ENDIAN__) + # define PLAT_ppc64le_linux 1 ++# if _CALL_ELF == 2 ++# define PLAT_ppc64_linux_abi2 ++# else ++# define PLAT_ppc64_linux_abi1 ++# endif + #elif defined(__linux__) && defined(__arm__) && !defined(__aarch64__) + # define PLAT_arm_linux 1 + #elif defined(__linux__) && defined(__aarch64__) && !defined(__arm__) +diff --git a/memcheck/mc_leakcheck.c b/memcheck/mc_leakcheck.c +index 782244481..c239f5b10 100644 +--- a/memcheck/mc_leakcheck.c ++++ b/memcheck/mc_leakcheck.c +@@ -653,7 +653,7 @@ static Bool aligned_ptr_above_page0_is_vtable_addr(Addr ptr) + if (pot_fn == 0) + continue; // NULL fn pointer. Seems it can happen in vtable. + seg = VG_(am_find_nsegment) (pot_fn); +-#if defined(VGA_ppc64be) ++#if defined(VGA_ppc64be) && (!defined(_CALL_ELF) || _CALL_ELF == 1) + // ppc64BE uses a thunk table (function descriptors), so we have one + // more level of indirection to follow. + if (seg == NULL +diff --git a/memcheck/mc_machine.c b/memcheck/mc_machine.c +index 5ed101fca..70c64b361 100644 +--- a/memcheck/mc_machine.c ++++ b/memcheck/mc_machine.c +@@ -132,7 +132,8 @@ static Int get_otrack_shadow_offset_wrk ( Int offset, Int szB ) + return GOF(GPRn); + by testing ox instead of o, and setting ox back 4 bytes when sz == 4. + */ +-#if defined(VGA_ppc64le) ++#if (defined(VGA_ppc64be) && (defined(_CALL_ELF) && _CALL_ELF == 2)) \ ++ || defined(VGA_ppc64le) + Int ox = o; + #else + Int ox = sz == 8 ? o : (o - 4); +-- +2.18.0 + diff --git a/user/valgrind/APKBUILD b/user/valgrind/APKBUILD index 58ed29fa1..fcbd838d2 100644 --- a/user/valgrind/APKBUILD +++ b/user/valgrind/APKBUILD @@ -1,12 +1,12 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=valgrind pkgver=3.13.0 -pkgrel=1 +pkgrel=3 pkgdesc="A tool to help find memory-management problems in programs" url="http://valgrind.org/" arch="all" license="GPL-2.0+" -makedepends="autoconf automake libtool bash perl" +makedepends="autoconf automake libtool bash perl cmd:which" # from README_PACKAGERS: # Don't strip the debug info off lib/valgrind/$platform/vgpreload*.so # in the installation tree. Either Valgrind won't work at all, or it @@ -17,9 +17,9 @@ subpackages="$pkgname-dev $pkgname-doc" source="ftp://sourceware.org/pub/$pkgname/$pkgname-$pkgver.tar.bz2 uclibc.patch arm.patch - coregrind-elfv2.patch" + 0001-Ensure-ELFv2-is-supported-on-PPC64.patch + " # musl-fixes.patch -builddir="$srcdir"/$pkgname-$pkgver prepare() { default_prepare @@ -67,4 +67,4 @@ package() { sha512sums="34e1013cd3815d30a459b86220e871bb0a6209cc9e87af968f347083693779f022e986f211bdf1a5184ad7370cde12ff2cfca8099967ff94732970bd04a97009 valgrind-3.13.0.tar.bz2 d59a10db9037e120df2ee94a103402ca95a79abee9d8be63e4e1bca29c82dca775cc402a79b854ec11a2160a4d2da202c237369418e221d1925267ea2613fd5d uclibc.patch 9ee297d1b2b86891584443ad0caadc4977e1447979611ccf1cc55dbee61911b0b063bc4ad936d86c451cedae410cb3219b5a088b2ad0aa17df182d564fe36cfe arm.patch -0f54b7b207870f495a0cf010b3091e2c0626bbf93b8a5ba7956b690981d4186de61f3e3b1fdc3aec2dfcacb69e712900f32c883a09dd4733c1e4569506272520 coregrind-elfv2.patch" +71afb12748f69f0976a299c65572818b70cbce5d04f230a49a50f114351d8083c59a9e197cefbcb9145806797ff4d1d54488f50342b680c9a2b76e4a7f7cf305 0001-Ensure-ELFv2-is-supported-on-PPC64.patch" diff --git a/user/valgrind/coregrind-elfv2.patch b/user/valgrind/coregrind-elfv2.patch deleted file mode 100644 index 7e4a2d636..000000000 --- a/user/valgrind/coregrind-elfv2.patch +++ /dev/null @@ -1,443 +0,0 @@ -The LE and BE code here is the same, except the BE has the old-style -function descriptor. So, we use the LE code on ELFv2 to fix build errors. - ---- valgrind-3.13.0/coregrind/m_libcsetjmp.c 2017-05-31 10:14:45.000000000 -0500 -+++ valgrind-3.13.0/coregrind/m_libcsetjmp.c 2018-05-25 20:07:37.007835735 -0500 -@@ -149,7 +149,7 @@ - - /* ------------ ppc64-linux ------------ */ - --#if defined(VGP_ppc64be_linux) -+#if defined(VGP_ppc64be_linux) && (!defined(_CALL_ELF) || _CALL_ELF == 1) - - __asm__( - ".section \".toc\",\"aw\"" "\n" -@@ -268,7 +268,8 @@ - ".previous" "\n" - ); - --#elif defined(VGP_ppc64le_linux) -+#elif (defined(VGP_ppc64le_linux)) || \ -+ (defined(VGP_ppc64be_linux) && defined(_CALL_ELF) && _CALL_ELF == 2) - __asm__( - ".section \".toc\",\"aw\"" "\n" - ---- valgrind-3.13.0/coregrind/m_main.c.old 2017-05-31 10:14:52.000000000 -0500 -+++ valgrind-3.13.0/coregrind/m_main.c 2018-05-30 19:01:00.534083618 -0500 -@@ -2585,7 +2585,7 @@ - "\ttrap\n" - ".previous\n" - ); --#elif defined(VGP_ppc64be_linux) -+#elif defined(VGP_ppc64be_linux) && (!defined(_CALL_ELF) || _CALL_ELF == 1) - asm("\n" - /* PPC64 ELF ABI says '_start' points to a function descriptor. - So we must have one, and that is what goes into the .opd section. */ -@@ -2631,9 +2631,9 @@ - "\tnop\n" - "\ttrap\n" - ); --#elif defined(VGP_ppc64le_linux) --/* Little Endian uses ELF version 2 but in the future may also -- * support other ELF versions. -+#elif defined(VGP_ppc64le_linux) || \ -+ (defined(VGP_ppc64be_linux) && defined(_CALL_ELF) && _CALL_ELF == 2) -+/* PowerPC 64 ELF version 2 does not use function descriptors. - */ - asm("\n" - "\t.align 2\n" ---- valgrind-3.13.0/coregrind/m_syscall.c.old 2017-05-31 10:14:29.000000000 -0500 -+++ valgrind-3.13.0/coregrind/m_syscall.c 2018-05-30 19:02:00.984023769 -0500 -@@ -470,7 +470,7 @@ - ".previous\n" - ); - --#elif defined(VGP_ppc64be_linux) -+#elif defined(VGP_ppc64be_linux) && (!defined(_CALL_ELF) || _CALL_ELF == 1) - /* Due to the need to return 65 bits of result, this is completely - different from the ppc32 case. The single arg register points to a - 7-word block containing the syscall # and the 6 args. The syscall -@@ -506,7 +506,8 @@ - " blr\n" - ); - --#elif defined(VGP_ppc64le_linux) -+#elif defined(VGP_ppc64le_linux) || \ -+ (defined(VGP_ppc64be_linux) && defined(_CALL_ELF) && _CALL_ELF == 2) - /* Due to the need to return 65 bits of result, this is completely - different from the ppc32 case. The single arg register points to a - 7-word block containing the syscall # and the 6 args. The syscall ---- valgrind-3.13.0/coregrind/m_signals.c.old 2017-05-31 10:14:52.000000000 -0500 -+++ valgrind-3.13.0/coregrind/m_signals.c 2018-05-30 22:12:46.082692356 -0500 -@@ -889,7 +889,7 @@ - " sc\n" \ - ".previous\n" - --#elif defined(VGP_ppc64be_linux) -+#elif defined(VGP_ppc64be_linux) && (!defined(_CALL_ELF) || _CALL_ELF == 1) - # define _MY_SIGRETURN(name) \ - ".align 2\n" \ - ".globl my_sigreturn\n" \ -@@ -904,7 +904,8 @@ - " li 0, " #name "\n" \ - " sc\n" - --#elif defined(VGP_ppc64le_linux) -+#elif defined(VGP_ppc64le_linux) || \ -+ (defined(VGP_ppc64be_linux) && defined(_CALL_ELF) && _CALL_ELF == 2) - /* Little Endian supports ELF version 2. In the future, it may - * support other versions. - */ ---- valgrind-3.13.0/coregrind/m_syswrap/syswrap-ppc64-linux.c.old 2017-05-31 10:14:39.000000000 -0500 -+++ valgrind-3.13.0/coregrind/m_syswrap/syswrap-ppc64-linux.c 2018-05-30 22:15:42.112518074 -0500 -@@ -71,12 +71,12 @@ - // r4 = retaddr - // r5 = function descriptor - // r6 = arg1 --/* On PPC64, a func ptr is represented by a TOC entry ptr. -+/* On ELFv1, a func ptr is represented by a TOC entry ptr. - This TOC entry contains three words; the first word is the function - address, the second word is the TOC ptr (r2), and the third word is - the static chain value. */ - asm( --#if defined(VGP_ppc64be_linux) -+#if defined(VGP_ppc64be_linux) && (!defined(_CALL_ELF) || _CALL_ELF == 1) - " .align 2\n" - " .globl vgModuleLocal_call_on_new_stack_0_1\n" - " .section \".opd\",\"aw\"\n" -@@ -126,7 +126,7 @@ - " bctr\n\t" // jump to dst - " trap\n" // should never get here - #else --// ppc64le_linux -+// ppc64le_linux, or ELFv2 ABI on BE - " .align 2\n" - " .globl vgModuleLocal_call_on_new_stack_0_1\n" - "vgModuleLocal_call_on_new_stack_0_1:\n" -@@ -211,7 +211,7 @@ - - // See priv_syswrap-linux.h for arg profile. - asm( --#if defined(VGP_ppc64be_linux) -+#if defined(VGP_ppc64be_linux) && (!defined(_CALL_ELF) || _CALL_ELF == 1) - " .align 2\n" - " .globl do_syscall_clone_ppc64_linux\n" - " .section \".opd\",\"aw\"\n" ---- valgrind-3.13.0/coregrind/m_syswrap/syscall-ppc64be-linux.S.old 2017-05-31 10:14:39.000000000 -0500 -+++ valgrind-3.13.0/coregrind/m_syswrap/syscall-ppc64be-linux.S 2018-05-30 22:18:31.742350130 -0500 -@@ -29,7 +29,7 @@ - - #include "pub_core_basics_asm.h" - --#if defined(VGP_ppc64be_linux) -+#if defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux) - - #include "pub_core_vkiscnums_asm.h" - #include "libvex_guest_offsets.h" -@@ -76,12 +76,25 @@ - - .align 2 - .globl ML_(do_syscall_for_client_WRK) -+#if _CALL_ELF == 2 -+.type .ML_(do_syscall_for_client_WRK),@function -+ML_(do_syscall_for_client_WRK): -+0: addis 2,12,.TOC.-0b@ha -+ addi 2,2,.TOC.-0b@l -+ .localentry ML_(do_syscall_for_client_WRK), .-ML_(do_syscall_for_client_WRK) -+#else - .section ".opd","aw" - .align 3 --ML_(do_syscall_for_client_WRK): -+ML_(do_syscall_for_client_WRK): - .quad .ML_(do_syscall_for_client_WRK),.TOC.@tocbase,0 - .previous --.type .ML_(do_syscall_for_client_WRK),@function -+#endif -+#if _CALL_ELF == 2 -+0: addis 2,12,.TOC.-0b@ha -+ addi 2,2,.TOC.-0b@l -+ .localentry ML_(do_syscall_for_client_WRK), .-ML_(do_syscall_for_client_WRK) -+#endif -+.type .ML_(do_syscall_for_client_WRK),@function - .globl .ML_(do_syscall_for_client_WRK) - .ML_(do_syscall_for_client_WRK): - /* make a stack frame */ -@@ -145,7 +158,11 @@ - /* failure: return 0x8000 | error code */ - 7: ori 3,3,0x8000 /* FAILURE -- ensure return value is nonzero */ - b 5b -- -+#if _CALL_ELF == 2 -+ .size .ML_(do_syscall_for_client_WRK),.-.ML_(do_syscall_for_client_WRK) -+#else -+ .size .ML_(do_syscall_for_client_WRK),.-.ML_(do_syscall_for_client_WRK) -+#endif - .section .rodata - /* export the ranges so that - VG_(fixup_guest_state_after_syscall_interrupted) can do the -@@ -162,7 +179,7 @@ - ML_(blksys_committed): .quad 4b - ML_(blksys_finished): .quad 5b - --#endif // defined(VGP_ppc64be_linux) -+#endif // defined(VGP_ppc64le_linux) - - /* Let the linker know we don't need an executable stack */ - MARK_STACK_NO_EXEC ---- valgrind-3.13.0/coregrind/m_dispatch/dispatch-ppc64be-linux.S.old 2017-05-31 10:14:33.000000000 -0500 -+++ valgrind-3.13.0/coregrind/m_dispatch/dispatch-ppc64be-linux.S 2018-05-30 22:39:37.951096498 -0500 -@@ -30,12 +30,21 @@ - - #include "pub_core_basics_asm.h" - --#if defined(VGP_ppc64be_linux) -+#if defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux) - - #include "pub_core_dispatch_asm.h" - #include "pub_core_transtab_asm.h" - #include "libvex_guest_offsets.h" /* for OFFSET_ppc64_CIA */ - -+/* NOTE: PPC64 supports Big Endian and Little Endian. It also supports the -+ ELF version 1 and ELF version 2 APIs. -+ -+ Currently LE uses ELF version 2 and BE uses ELF version 1. However, -+ BE and LE may support the other ELF version in the future. So, the -+ _CALL_ELF is used in the assembly function to enable code for a -+ specific ELF version independently of the endianness of the machine. -+ The test "#if _CALL_ELF == 2" checks if ELF version 2 is being used. -+*/ - - /* References to globals via the TOC */ - -@@ -75,14 +84,26 @@ - .section ".text" - .align 2 - .globl VG_(disp_run_translations) -+#if _CALL_ELF == 2 -+.type VG_(disp_run_translations),@function -+VG_(disp_run_translations): -+.type .VG_(disp_run_translations),@function -+#else - .section ".opd","aw" - .align 3 - VG_(disp_run_translations): - .quad .VG_(disp_run_translations),.TOC.@tocbase,0 - .previous - .type .VG_(disp_run_translations),@function -+#endif - .globl .VG_(disp_run_translations) - .VG_(disp_run_translations): -+#if _CALL_ELF == 2 -+0: addis 2, 12,.TOC.-0b@ha -+ addi 2,2,.TOC.-0b@l -+ .localentry VG_(disp_run_translations), .-VG_(disp_run_translations) -+#endif -+ - /* r3 holds two_words */ - /* r4 holds guest_state */ - /* r5 holds host_addr */ -@@ -229,8 +250,13 @@ - /* make a stack frame for the code we are calling */ - stdu 1,-48(1) - -- /* Set up the guest state ptr */ -+ /* Set up the guest state ptr */ - mr 31,4 /* r31 (generated code gsp) = r4 */ -+#if _CALL_ELF == 2 -+/* for the LE ABI need to setup r2 and r12 */ -+0: addis 2, 12,.TOC.-0b@ha -+ addi 2,2,.TOC.-0b@l -+#endif - - /* and jump into the code cache. Chained translations in - the code cache run, until for whatever reason, they can't -@@ -385,6 +411,9 @@ - mtlr 0 - addi 1,1,624 /* stack_size */ - blr -+#if _CALL_ELF == 2 -+ .size VG_(disp_run_translations),.-VG_(disp_run_translations) -+#endif - - - /*----------------------------------------------------*/ -@@ -395,15 +424,25 @@ - .section ".text" - .align 2 - .globl VG_(disp_cp_chain_me_to_slowEP) -- .section ".opd","aw" -+#if _CALL_ELF == 2 -+ .type VG_(disp_cp_chain_me_to_slowEP),@function -+ VG_(disp_cp_chain_me_to_slowEP): -+#else -+ .section ".opd","aw" - .align 3 - VG_(disp_cp_chain_me_to_slowEP): - .quad .VG_(disp_cp_chain_me_to_slowEP),.TOC.@tocbase,0 - .previous -+#endif - .type .VG_(disp_cp_chain_me_to_slowEP),@function - .globl .VG_(disp_cp_chain_me_to_slowEP) - .VG_(disp_cp_chain_me_to_slowEP): -- /* We got called. The return address indicates -+#if _CALL_ELF == 2 -+0: addis 2, 12,.TOC.-0b@ha -+ addi 2,2,.TOC.-0b@l -+ .localentry VG_(disp_cp_chain_me_to_slowEP), .-VG_(disp_cp_chain_me_to_slowEP) -+#endif -+ /* We got called. The return address indicates - where the patching needs to happen. Collect - the return address and, exit back to C land, - handing the caller the pair (Chain_me_S, RA) */ -@@ -415,20 +454,33 @@ - */ - subi 7,7,20+4+4 - b .postamble -+#if _CALL_ELF == 2 -+ .size VG_(disp_cp_chain_me_to_slowEP),.-VG_(disp_cp_chain_me_to_slowEP) -+#endif - - /* ------ Chain me to fast entry point ------ */ - .section ".text" - .align 2 - .globl VG_(disp_cp_chain_me_to_fastEP) -- .section ".opd","aw" -+#if _CALL_ELF == 2 -+ .type VG_(disp_cp_chain_me_to_fastEP),@function -+VG_(disp_cp_chain_me_to_fastEP): -+#else -+ .section ".opd","aw" - .align 3 - VG_(disp_cp_chain_me_to_fastEP): - .quad .VG_(disp_cp_chain_me_to_fastEP),.TOC.@tocbase,0 - .previous -+#endif - .type .VG_(disp_cp_chain_me_to_fastEP),@function - .globl .VG_(disp_cp_chain_me_to_fastEP) - .VG_(disp_cp_chain_me_to_fastEP): -- /* We got called. The return address indicates -+#if _CALL_ELF == 2 -+0: addis 2, 12,.TOC.-0b@ha -+ addi 2,2,.TOC.-0b@l -+ .localentry VG_(disp_cp_chain_me_to_fastEP), .-VG_(disp_cp_chain_me_to_fastEP) -+#endif -+ /* We got called. The return address indicates - where the patching needs to happen. Collect - the return address and, exit back to C land, - handing the caller the pair (Chain_me_S, RA) */ -@@ -440,20 +492,33 @@ - */ - subi 7,7,20+4+4 - b .postamble -+#if _CALL_ELF == 2 -+ .size VG_(disp_cp_chain_me_to_fastEP),.-VG_(disp_cp_chain_me_to_fastEP) -+#endif - - /* ------ Indirect but boring jump ------ */ - .section ".text" - .align 2 - .globl VG_(disp_cp_xindir) -- .section ".opd","aw" -+#if _CALL_ELF == 2 -+ .type VG_(disp_cp_xindir),@function -+VG_(disp_cp_xindir): -+#else -+ .section ".opd","aw" - .align 3 - VG_(disp_cp_xindir): - .quad .VG_(disp_cp_xindir),.TOC.@tocbase,0 - .previous -+#endif - .type .VG_(disp_cp_xindir),@function - .globl .VG_(disp_cp_xindir) - .VG_(disp_cp_xindir): -- /* Where are we going? */ -+#if _CALL_ELF == 2 -+0: addis 2, 12,.TOC.-0b@ha -+ addi 2,2,.TOC.-0b@l -+ .localentry VG_(disp_cp_xindir), .-VG_(disp_cp_xindir) -+#endif -+ /* Where are we going? */ - ld 3,OFFSET_ppc64_CIA(31) - - /* stats only */ -@@ -479,6 +544,9 @@ - /* Found a match. Jump to .host. */ - mtctr 7 - bctr -+#if _CALL_ELF == 2 -+ .size VG_(disp_cp_xindir),.-VG_(disp_cp_xindir) -+#endif - - .fast_lookup_failed: - /* stats only */ -@@ -496,39 +564,64 @@ - .section ".text" - .align 2 - .globl VG_(disp_cp_xassisted) -- .section ".opd","aw" -+#if _CALL_ELF == 2 -+ .type VG_(disp_cp_xassisted),@function -+VG_(disp_cp_xassisted): -+#else -+ .section ".opd","aw" - .align 3 - VG_(disp_cp_xassisted): - .quad .VG_(disp_cp_xassisted),.TOC.@tocbase,0 - .previous -- .type .VG_(disp_cp_xassisted),@function -+#endif -+#if _CALL_ELF == 2 -+0: addis 2, 12,.TOC.-0b@ha -+ addi 2,2,.TOC.-0b@l -+ .localentry VG_(disp_cp_xassisted), .-VG_(disp_cp_xassisted) -+#endif -+ .type .VG_(disp_cp_xassisted),@function - .globl .VG_(disp_cp_xassisted) - .VG_(disp_cp_xassisted): - /* r31 contains the TRC */ - mr 6,31 - li 7,0 - b .postamble -+#if _CALL_ELF == 2 -+ .size VG_(disp_cp_xassisted),.-VG_(disp_cp_xassisted) -+#endif - - /* ------ Event check failed ------ */ - .section ".text" - .align 2 - .globl VG_(disp_cp_evcheck_fail) -- .section ".opd","aw" -+#if _CALL_ELF == 2 -+ .type VG_(disp_cp_evcheck_fail),@function -+VG_(disp_cp_evcheck_fail): -+#else -+ .section ".opd","aw" - .align 3 - VG_(disp_cp_evcheck_fail): - .quad .VG_(disp_cp_evcheck_fail),.TOC.@tocbase,0 - .previous -+#endif -+#if _CALL_ELF == 2 -+0: addis 2, 12,.TOC.-0b@ha -+ addi 2,2,.TOC.-0b@l -+ .localentry VG_(disp_cp_evcheck_fail), .-VG_(disp_cp_evcheck_fail) -+#endif - .type .VG_(disp_cp_evcheck_fail),@function - .globl .VG_(disp_cp_evcheck_fail) - .VG_(disp_cp_evcheck_fail): - li 6,VG_TRC_INNER_COUNTERZERO - li 7,0 - b .postamble -+#if _CALL_ELF == 2 -+ .size VG_(disp_cp_evcheck_fail),.-VG_(disp_cp_evcheck_fail) -+#endif - -- - .size .VG_(disp_run_translations), .-.VG_(disp_run_translations) - --#endif // defined(VGP_ppc64be_linux) -+#endif // defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux) - - /* Let the linker know we don't need an executable stack */ - MARK_STACK_NO_EXEC diff --git a/user/vlc/APKBUILD b/user/vlc/APKBUILD index dea31e948..7db6632a1 100644 --- a/user/vlc/APKBUILD +++ b/user/vlc/APKBUILD @@ -3,7 +3,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=vlc pkgver=3.0.4 -pkgrel=0 +pkgrel=1 pkgdesc="Multi-platform MPEG, VCD/DVD, and DivX player" triggers="vlc-libs.trigger=/usr/lib/vlc/plugins" pkgusers="vlc" diff --git a/user/wpa_supplicant/APKBUILD b/user/wpa_supplicant/APKBUILD index 095e0320c..0b070dee7 100644 --- a/user/wpa_supplicant/APKBUILD +++ b/user/wpa_supplicant/APKBUILD @@ -2,14 +2,15 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=wpa_supplicant pkgver=2.6 -pkgrel=8 +pkgrel=9 pkgdesc="Utility providing key negotiation for WPA wireless networks" url="https://w1.fi/wpa_supplicant/" arch="all" license="BSD-3-Clause AND Public-Domain AND (GPL-2.0+ OR BSD-3-Clause)" -subpackages="$pkgname-doc $pkgname-openrc" +subpackages="$pkgname-doc $pkgname-openrc wpa_gui" depends="dbus" -makedepends="linux-headers openssl-dev dbus-dev libnl3-dev pcsc-lite-dev" +makedepends="linux-headers openssl-dev dbus-dev libnl3-dev pcsc-lite-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 rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch @@ -50,6 +51,10 @@ prepare() { build() { cd "$builddir"/wpa_supplicant make LIBDIR=/lib BINDIR=/sbin + + # wpa_gui + qmake -o wpa_gui-qt4/Makefile wpa_gui-qt4/wpa_gui.pro + make -C wpa_gui-qt4 } check() { @@ -87,6 +92,14 @@ package() { "$pkgdir"/etc/conf.d/wpa_supplicant } +wpa_gui() { + pkgdesc="Graphical User Interface for wpa_supplicant" + depends="$pkgname" + + cd "$builddir"/wpa_supplicant + install -Dm755 wpa_gui-qt4/wpa_gui "$subpkgdir"/usr/bin/wpa_gui +} + sha512sums="46442cddb6ca043b8b08d143908f149954c238e0f3a57a0df73ca4fab9c1acd91b078f3f26375a1d99cd1d65625986328018c735d8705882c8f91e389cad28a6 wpa_supplicant-2.6.tar.gz f855fa792425f175ccc800eb49df42067b1c1f4b52ba2d24160af4dfbb74dcf8e81661b7e6c8d92fa408938b8a559fc74557d1677913e4a751bfd43706c14bb6 rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch b4e413aa815572ea0002d33d24b69cd499aebb5efebed8fcaade8b29324bb5853a5db64e8b1dfdf24478e02c66196238b81a6ec777a7a28610435dce4d2c344e rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch diff --git a/user/xcb-util-xrm/APKBUILD b/user/xcb-util-xrm/APKBUILD new file mode 100644 index 000000000..d368f1544 --- /dev/null +++ b/user/xcb-util-xrm/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Contributor: Jakub Skrzypnik <j.skrzypnik@openmailbox.org> +# Maintainer: Dan Theisen <djt@hxx.in> +pkgname=xcb-util-xrm +pkgver=1.3 +pkgrel=0 +pkgdesc="Utility functions for the X resource manager" +url="https://github.com/Airblader/xcb-util-xrm" +arch="all" +license="MIT" +makedepends="m4 bsd-compat-headers libx11-dev libxcb-dev util-macros xcb-util-dev" +source="https://github.com/Airblader/$pkgname/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz" +subpackages="$pkgname-dev" + +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="d8a427ed6d1f1568ce58db9b89284e4fafcc7b7929c31bccf70e5ccd91f3f6cb9c87ff25c4e64d95b0c6215cfecde6c0ee2b3a18759817aea3169ba87602c5de xcb-util-xrm-1.3.tar.gz" diff --git a/user/xdotool/APKBUILD b/user/xdotool/APKBUILD new file mode 100644 index 000000000..35d7984cc --- /dev/null +++ b/user/xdotool/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Stuart Cardall <developer@it-offshore.co.uk> +# Contributor: Stefan Wagner <stw@bit-strickerei.de> +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=xdotool +pkgver=3.20160805.1 +pkgrel=0 +pkgdesc="Tool to simulate keyboard/mouse input" +url="https://www.semicomplete.com/projects/xdotool/" +arch="all" +options="!check" # Requires running X11 server +license="BSD-3-Clause" +depends="" +depends_dev="libx11-dev libxtst-dev libxinerama-dev libxkbcommon-dev" +makedepends="$depends_dev perl" +#checkdepends="xvfb ruby-minitest debianutils-which lsof xdpyinfo xterm xwininfo" +subpackages="$pkgname-dev $pkgname-doc" +source="https://github.com/jordansissel/xdotool/releases/download/v$pkgver/xdotool-$pkgver.tar.gz" + +build() { + cd "$builddir" + make WITHOUT_RPATH_FIX=1 +} + +check() { + cd "$builddir" + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" PREFIX="/usr" INSTALLMAN="/usr/share/man" install +} + +sha512sums="e27b1029ee954ea17643ed489a00a1856e5687b03772c0f10a8e50cde3c3c957b57a3ba9890005474a744a228ef4827a83770d6890479c37a1f98f4fd7b1ff6c xdotool-3.20160805.1.tar.gz" diff --git a/user/xf86-video-ati/APKBUILD b/user/xf86-video-ati/APKBUILD index e5fd1de9a..647ae8776 100644 --- a/user/xf86-video-ati/APKBUILD +++ b/user/xf86-video-ati/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=xf86-video-ati -pkgver=18.0.1 -pkgrel=1 +pkgver=18.1.0 +pkgrel=0 pkgdesc="ATI video driver for X11" url="https://www.X.Org/" arch="all" @@ -31,4 +31,4 @@ package() { install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING } -sha512sums="b468a78503a596bbf71a1b91b231ce1fa32908f619ff2dfe249352d046696a3641f2a9ff065e32545fff77100134b4b237591215e78ef885b6509d6b16112d14 xf86-video-ati-18.0.1.tar.bz2" +sha512sums="7a58c9a6cb4876bd2ff37d837372b4e360e81fec7de6a6c7a48d70a5338d62745f734f5d4207f30aa368ff2d9ef44f5f1ef36afd73802a618998c16fe395ed53 xf86-video-ati-18.1.0.tar.bz2" diff --git a/user/xinput/APKBUILD b/user/xinput/APKBUILD new file mode 100644 index 000000000..2cb5822fe --- /dev/null +++ b/user/xinput/APKBUILD @@ -0,0 +1,33 @@ +# Contributor: Johannes Matheis <jomat+alpinebuild@jmt.gr> +# Maintainer: Dan Theisen <djt@hxx.in> +pkgname=xinput +pkgver=1.6.2 +pkgrel=0 +pkgdesc="Utility to configure and test XInput devices" +url="http://xorg.freedesktop.org/" +arch="all" +options="!check" # No test suite. +license="X11" +makedepends="util-macros libx11-dev libxext-dev libxi-dev libxrandr-dev + libxinerama-dev" +subpackages="$pkgname-doc" +source="http://www.x.org/archive/individual/app/$pkgname-$pkgver.tar.bz2" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="dbef3a87dd47bb8c593f1305bea7978697a12434a4992584e4124d745bb366812366b44fc205159137a3db6f7b8338effd1b90641a194497b19159b9fd91939e xinput-1.6.2.tar.bz2" diff --git a/user/xorriso/APKBUILD b/user/xorriso/APKBUILD index 7e79453c6..ebaff2e24 100644 --- a/user/xorriso/APKBUILD +++ b/user/xorriso/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xorriso -pkgver=1.4.9 +pkgver=1.5.0 pkgrel=0 pkgdesc="ISO 9660 Rock Ridge filesystem manipulator" url="https://www.gnu.org/software/xorriso/" @@ -34,4 +34,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="ca22e40f56e7ab61a6f4ac4a8d4189f68cce427a10d63e3b26af88b64bbd1c76ec6e3fa21818b7c2b6de5ce482caccc8b9de0fc16d8bfd7c9681fccfc8c8dd83 xorriso-1.4.9.tar.gz" +sha512sums="39d74cff30532fba8ac3851245802323babbd2877129ab5bb14d0cab830ee3f2f678f41d922f3c12cb2c642f66f22006bc4ca457e6c1f766f3d1dbce37d29d31 xorriso-1.5.0.tar.gz" diff --git a/user/xwininfo/APKBUILD b/user/xwininfo/APKBUILD new file mode 100644 index 000000000..c9afec639 --- /dev/null +++ b/user/xwininfo/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=xwininfo +pkgver=1.1.4 +pkgrel=0 +pkgdesc="Window information utility for X" +url="https://cgit.freedesktop.org/xorg/app/xwininfo" +arch="all" +options="!check" # No test suite. +license="MIT AND X11" +depends="" +makedepends="libx11-dev libxext-dev util-macros" +subpackages="$pkgname-doc" +source="https://www.x.org/releases/individual/app/xwininfo-$pkgver.tar.bz2" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --infodir=/usr/share/info + make +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="d3ab103a0a311e08d1eabc4346750c21eb7d2fbcdc27cab0989a2624b9cd488911614fcf9832603353450114b1231a8f8262cab16e090a0d458d83ec7b6b959b xwininfo-1.1.4.tar.bz2" |