#!/usr/bin/bash # JOBoRun : Jwm OpenBox Obarun RUNit # Maintainer : Joe Bo Run # 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=03 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 EC3CFE88F6CA0788774F5C1D1AA44BE649DE760A # Mark Wielaard 6C2B631563B8D330578D3CB474FD3FA2779E7073) # Aaron Merey sha256sums=(df76db71366d1d708365fc7a6c60ca48398f14367eb2b8954efc8897147ad871 # elfutils-0.191.tar.bz2 d07b86df17cbe5187b311cd6e02fc47228cdd20545779cde5cd2a26ca03b7cb1) # elfutils-0.191.tar.bz2.sig ## 768eaa1bd16e4db0d84812f1ffc2a8dd7a6f558f15da2f2ab325556e24574260 debuginfod-0.191-03-x86_64.pkg.tar.lz ## 73fe2b0dbe11213d9be2d078df6aa4ee3faf2e3120e683cb5480484bc33c541f elfutils-0.191-03-x86_64.pkg.tar.lz ## b112d063c644018ff434a823d16368682679865c6601fdfd4a05f435633833f9 libelf-0.191-03-x86_64.pkg.tar.lz