diff options
Diffstat (limited to 'libre/pacman/PKGBUILD')
-rw-r--r-- | libre/pacman/PKGBUILD | 65 |
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 } |