summaryrefslogtreecommitdiff
path: root/libre/pacman/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre/pacman/PKGBUILD')
-rw-r--r--libre/pacman/PKGBUILD65
1 files changed, 43 insertions, 22 deletions
diff --git a/libre/pacman/PKGBUILD b/libre/pacman/PKGBUILD
index dc261b9aa..0f2f3f95c 100644
--- a/libre/pacman/PKGBUILD
+++ b/libre/pacman/PKGBUILD
@@ -12,7 +12,7 @@ pkgrel=3
pkgrel+=.parabola1
pkgdesc="A library-based package manager with dependency support"
arch=('x86_64')
-arch+=('i686' 'armv7h')
+arch+=('i686' 'armv7h' 'riscv64')
url="https://www.archlinux.org/pacman/"
license=('GPL')
groups=('base-devel')
@@ -28,7 +28,7 @@ conflicts=('pacman-parabola')
replaces=('pacman-parabola')
backup=(etc/pacman.conf
etc/makepkg.conf)
-options=('strip' 'debug')
+options=('strip')
validpgpkeys=('6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD' # Allan McRae <allan@archlinux.org>
'B8151B117037781095514CA7BBDFFC92306B1121') # Andrew Gregory (pacman) <andrew@archlinux.org>
source=(https://sources.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz{,.sig}
@@ -41,12 +41,15 @@ source=(https://sources.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz{,.sig
source_armv7h=(0001-Sychronize-filesystem.patch
0002-Revert-close-stdin-before-running-install-scripts.patch
0003-Revert-alpm_run_chroot-always-connect-parent2child-p.patch)
+source_riscv64=(makepkg.conf-riscv64-updguess.patch
+ makepkg-riscv64-updguess.patch)
sha256sums=('bb201a9f2fb53c28d011f661d50028efce6eef2c1d2a36728bdd0130189349a0'
'SKIP'
- 'fdc78b55947d41d08d9a0404b4fbb37e409517733ab11cbe336f5aaa24dcfffd'
- 'e5632e1581a4283cf8b93f0d32618fc7a35480c9caaf2d256c95f77645ae4265'
- 'd9bed26a58377b726ebadabd9729008e484f8719632b9c3e76c9320c2fcaa22c'
- 'ee4121a3a94fa0a0709be215e450b3c5b604bc03ffc32be8969d7461526dcc6b'
+ '4d5477620ff652b16bca12f149ad79112fcc7d1f2ed8e66248e6e4773a61933c'
+ '989951ad742283c01cb5d05bb76166d1300e737f7ee792e9849937a3ea08e0e5'
+ '759a16419d16aa6c4e5bbbec362f9652c80047398a1e517dbf86ad2dd7186ad9'
+ '989951ad742283c01cb5d05bb76166d1300e737f7ee792e9849937a3ea08e0e5'
+ 'be567e9dba55fe916bac61d0ea9bb857daba392ab65a0cf9435cbd5d80c98243'
'871fd97b3f13f1718358e4b8e046a56c0262c9042b5e3b5d60835606735798bd'
'220f1b25a64727041dc6fa3fd486b0a043f735a3f6cecedc4e2f7c47ec6ce66d'
'2a857061f032ff5485f5c75ab74e6f6532621e08963ef48640a792cca16cacd6'
@@ -54,6 +57,8 @@ sha256sums=('bb201a9f2fb53c28d011f661d50028efce6eef2c1d2a36728bdd0130189349a0'
sha256sums_armv7h=('8d70fb5094f58aad98b601bbc42be354c2014b9fe734a1ee0b1e14bb041cc9cc'
'0e771370da68c855bfb4eaad4c2ae137883a474886a049b934dac2e775574cb9'
'2f586f72c34150330389854575a21be1d3ef3637c4f94bec2e948c2717a5aecb')
+sha256sums_riscv64=('85ddd7e212e5268c44facebffe949ceb2085986bd1ec1f08930c0978dd454964'
+ '7d8014f263ec54068f519f6c7a0fd99a63fc54a0b437349305db8a4a11b384dd')
prepare() {
cd "$pkgname-$pkgver"
@@ -68,6 +73,10 @@ prepare() {
# From Parabola
patch -p1 -i ../0004-makepkg-Treat-pkgrel-more-similarly-to-pkgver.patch
+
+ if [ "${CARCH}" = "riscv64" ]; then
+ patch -p1 -i ../makepkg-riscv64-updguess.patch
+ fi
}
build() {
@@ -80,42 +89,54 @@ build() {
make V=1
# Generate the architecture-specific makepkg.conf files
- local carch mycarch mychost myflags myldflags
+ local carch mycarch mychost myflags=() myldflags=()
for carch in "${arch[@]}"; do
case $carch in
i686)
mycarch="i686"
mychost="i686-pc-linux-gnu"
- myflags="-march=i686 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
- -Wp,-D_FORTIFY_SOURCE=2,-D_GLIBCXX_ASSERTIONS \
- -Wformat -Werror=format-security \
- -fstack-clash-protection -fcf-protection"
+ myflags=(-march=i686 -mtune=generic -O2 -pipe -fno-plt -fexceptions
+ -Wp,-D_FORTIFY_SOURCE=2,-D_GLIBCXX_ASSERTIONS
+ -Wformat -Werror=format-security
+ -fstack-clash-protection -fcf-protection)
;;
x86_64)
mycarch="x86_64"
mychost="x86_64-pc-linux-gnu"
- myflags="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
- -Wp,-D_FORTIFY_SOURCE=2,-D_GLIBCXX_ASSERTIONS \
- -Wformat -Werror=format-security \
- -fstack-clash-protection -fcf-protection"
+ myflags=(-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions
+ -Wp,-D_FORTIFY_SOURCE=2,-D_GLIBCXX_ASSERTIONS
+ -Wformat -Werror=format-security
+ -fstack-clash-protection -fcf-protection)
;;
armv7h)
mycarch="armv7h"
mychost="armv7l-unknown-linux-gnueabihf"
- myflags="-march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -pipe -fno-plt -fexceptions \
- -Wp,-D_FORTIFY_SOURCE=2,-D_GLIBCXX_ASSERTIONS \
- -Wformat -Werror=format-security \
- -fstack-clash-protection"
+ myflags=(-march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -pipe -fno-plt -fexceptions
+ -Wp,-D_FORTIFY_SOURCE=2,-D_GLIBCXX_ASSERTIONS
+ -Wformat -Werror=format-security
+ -fstack-clash-protection)
+ ;;
+ riscv64)
+ mycarch="riscv64"
+ mychost="riscv64-unknown-linux-gnu"
+ myflags=(-march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions
+ -Wp,-D_FORTIFY_SOURCE=2,-D_GLIBCXX_ASSERTIONS
+ -Wformat -Werror=format-security
+ -fstack-clash-protection)
;;
esac
- myldflags="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
+ myldflags=(-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now)
# set things correctly in the default conf file
sed < "$srcdir/makepkg.conf.in" > "$srcdir/makepkg.conf.$carch" \
-e "s|@CARCH[@]|$mycarch|g" \
-e "s|@CHOST[@]|$mychost|g" \
- -e "s|@CARCHFLAGS[@]|$myflags|g" \
- -e "s|@LDFLAGS[@]|$myldflags|g"
+ -e "s|@CARCHFLAGS[@]|${myflags[*]}|g" \
+ -e "s|@LDFLAGS[@]|${myldflags[*]}|g"
+
+ if [ "${mycarch}" = "riscv64" ]; then
+ patch -d "$srcdir" -i ../makepkg.conf-riscv64-updguess.patch
+ fi
done
}