155 lines
4.5 KiB
Bash
155 lines
4.5 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=(debuginfod elfutils libelf)
|
|
pkgver=0.190
|
|
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})
|
|
|
|
_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
|
|
}
|
|
|
|
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
|
|
)
|
|
|
|
cp -av $pkgbase-$pkgver $pkgbase-test-$pkgver
|
|
|
|
}
|
|
|
|
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"
|
|
cd $pkgbase-$pkgver
|
|
./configure "${configure_options[@]}"
|
|
make
|
|
)
|
|
(
|
|
cd $pkgbase-test-$pkgver
|
|
# debugging information is required for test-suite
|
|
CFLAGS+=" -g"
|
|
# fat-lto-objects is required for non-mangled .a files in libelf
|
|
CFLAGS+=" -ffat-lto-objects"
|
|
./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 check -C $pkgbase-test-$pkgver
|
|
#}
|
|
|
|
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")
|
|
|
|
make DESTDIR="$pkgdir" install -C $pkgbase-$pkgver
|
|
install -vDm 644 $pkgbase-$pkgver/{AUTHORS,ChangeLog,NEWS,NOTES,README} -t "$pkgdir/usr/share/doc/$pkgname/"
|
|
|
|
# set the default DEBUGINFOD_URLS environment variable to the distribution's debuginfod URL
|
|
printf "https://debuginfod.archlinux.org\n" > "$pkgdir/etc/debuginfod/archlinux.urls"
|
|
|
|
(
|
|
cd "$pkgdir"
|
|
|
|
_pick libelf etc/debuginfod/*
|
|
_pick libelf etc/profile.d/*
|
|
_pick libelf usr/{include,lib}
|
|
_pick elfutils usr/bin/eu-*
|
|
_pick elfutils usr/share/locale
|
|
_pick elfutils usr/share/man/man1/eu-*
|
|
_pick elfutils usr/share/man/man3/elf_*
|
|
)
|
|
|
|
}
|
|
|
|
package_elfutils() {
|
|
pkgdesc+=" (utilities)"
|
|
license=(GPL-3.0-or-later)
|
|
depends=(gcc-libs glibc libelf=$pkgver sh)
|
|
|
|
mv -v elfutils/* "$pkgdir"
|
|
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/"
|
|
}
|
|
|
|
#---- 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>
|
|
|
|
sha256sums=(8e00a3a9b5f04bc1dc273ae86281d2d26ed412020b391ffcc23198f10231d692 # elfutils-0.190.tar.bz2
|
|
c3bb6c01bd962b8c39f2f4eb49d1573d56becb6a6a3aa0888b1105f95178d9b1) # elfutils-0.190.tar.bz2.sig
|
|
|
|
## 885cf0ceddd4e3d763f326a7cb6cbcfaf8e5de93252dfa2bf35d020f7fa96900 debuginfod-0.190-01-x86_64.pkg.tar.lz
|
|
## 5bd8bc477445d892f22f2d400781c1981ee78c736e96ec69078831be15da99a1 elfutils-0.190-01-x86_64.pkg.tar.lz
|
|
## b682bb07e66c74c4c99c0b7d91c7b41e80ad907618f634e0b06a019d54c70aec libelf-0.190-01-x86_64.pkg.tar.lz
|
|
|