jobcore/elfutils/PKGBUILD

137 lines
4.0 KiB
Bash

#!/usr/bin/bash
# JOBoRun : Jwm OpenBox Obarun RUNit
# Maintainer : Joe Bo Run <joborun@disroot.org>
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname"
# Website : https://pozol.eu
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgbase=elfutils
pkgname=(elfutils libelf debuginfod)
pkgver=0.191
pkgrel=01
pkgdesc="Handle ELF object files and DWARF debugging information"
url="https://sourceware.org/elfutils/"
makedepends=(bzip2 curl gcc-libs libarchive libmicrohttpd sqlite xz zlib)
#options=(debug staticlibs)
options=(staticlibs)
source=(https://sourceware.org/$pkgbase/ftp/$pkgver/$pkgbase-$pkgver.tar.bz2{,.sig})
prepare() {
# cd $pkgbase-$pkgver
# # Use CURLOPT_PROTOCOLS_STR for libcurl >= 7.85.0
# # https://sourceware.org/git/?p=elfutils.git;a=commit;h=6560fb26a62ef135a804357ef4f15a47de3e49b3
# patch -Np1 < ../curl_7.85_compat.patch
# cd ..
# remove failing test due to missing glibc debug package during test: https://bugs.archlinux.org/task/74875
sed -e 's/run-backtrace-native.sh//g' -i $pkgbase-$pkgver/tests/Makefile.am
cd $pkgbase-$pkgver
autoreconf -fiv
}
build() {
local configure_options=(
--prefix=/usr
--sysconfdir=/etc
--program-prefix="eu-"
--enable-deterministic-archives
)
# fat-lto-objects is required for non-mangled .a files in libelf
CFLAGS+=" -ffat-lto-objects"
# debugging information is required for test-suite
CFLAGS+=" -g"
cd $pkgbase-$pkgver
./configure "${configure_options[@]}"
make
}
## a few tests fail on this 0188 build, they didn't on last 0186 but do try them on your
## machine and environment and report if your build didn't fail, otherwise we will try again on next build
#
check() {
make -C $pkgbase-$pkgver check
}
_pick() {
local p="$1" f d; shift
for f; do
d="$srcdir/$p/${f#$pkgdir/}"
mkdir -p "$(dirname "$d")"
mv "$f" "$d"
rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
done
}
package_elfutils() {
pkgdesc+=" (utilities)"
license=(GPL-3.0-or-later)
depends=(gcc-libs glibc libarchive libelf=$pkgver sh)
make DESTDIR="$pkgdir" install -C $pkgbase-$pkgver
# set the default DEBUGINFOD_URLS environment variable to the distribution's debuginfod URL
echo "https://debuginfod.archlinux.org" > "$pkgdir/etc/debuginfod/archlinux.urls"
(
cd "$pkgdir"
_pick libelf etc/debuginfod
_pick libelf etc/profile.d/*
_pick libelf usr/{include,lib}
_pick debuginfod usr/bin/debuginfod*
_pick debuginfod usr/share/man/*/debuginfod*
)
install -vDm 644 $pkgbase-$pkgver/{AUTHORS,ChangeLog,NEWS,NOTES,README} -t "$pkgdir/usr/share/doc/$pkgname/"
}
package_libelf() {
pkgdesc+=" (libraries)"
license=('GPL-2.0-or-later OR LGPL-3.0-or-later')
depends=(
bzip2 libbz2.so
curl libcurl.so
gcc-libs
glibc
xz
zlib)
# NOTE: the shared objects can not be added to provides as they are not versioned
mv -v libelf/* "$pkgdir"
install -vDm 644 $pkgbase-$pkgver/{AUTHORS,ChangeLog,NEWS,NOTES,README} -t "$pkgdir/usr/share/doc/$pkgname/"
}
package_debuginfod() {
pkgdesc+=" (debuginfod)"
license=(GPL-3.0-or-later)
depends=(
gcc-libs
glibc
libarchive libarchive.so
libelf=$pkgver
libmicrohttpd libmicrohttpd.so
sqlite libsqlite3.so
)
optdepends=("elfutils=$pkgver: for translations")
mv -v debuginfod/* "$pkgdir"
install -vDm 644 $pkgbase-$pkgver/{AUTHORS,ChangeLog,NEWS,NOTES,README} -t "$pkgdir/usr/share/doc/$pkgname/"
}
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
#license=(LGPL3 GPL3)
validpgpkeys=(47CC0331081B8BC6D0FD4DA08370665B57816A6A # Mark J. Wielaard <mark@klomp.org>
EC3CFE88F6CA0788774F5C1D1AA44BE649DE760A # Mark Wielaard <mjw@gnu.org>
6C2B631563B8D330578D3CB474FD3FA2779E7073) # Aaron Merey <amerey@redhat.com>
sha256sums=(df76db71366d1d708365fc7a6c60ca48398f14367eb2b8954efc8897147ad871 # elfutils-0.191.tar.bz2
d07b86df17cbe5187b311cd6e02fc47228cdd20545779cde5cd2a26ca03b7cb1) # elfutils-0.191.tar.bz2.sig