Created
December 26, 2024 22:58
-
-
Save bkuri/110857c7cbc8b45246e592bb14919647 to your computer and use it in GitHub Desktop.
nzbget-git PKGBUILD (no par2-turbo build step)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Maintainer: bkuri <[email protected]> | |
# Contributor: selfdenial <[email protected]> | |
# Contributor: Nicola Hinssen <[email protected]> | |
# Contributor: Jan Holthuis <[email protected]> | |
pkgbase=nzbget-git | |
pkgname=(nzbget-git nzbget-git-debug) | |
pkgver=24.6.r2550.a0e27026 | |
pkgrel=1 | |
pkgdesc="Download from Usenet using .nzb files with par2cmdline-turbo support (testing release)" | |
arch=('x86_64') | |
url="https://github.com/nzbgetcom/nzbget" | |
license=('GPL-2.0-only') | |
install=nzbget.install | |
options=('debug' '!lto') | |
depends=( | |
'libxml2' | |
'openssl' | |
'par2cmdline-turbo' | |
) | |
makedepends=( | |
'cmake>=3.13' | |
'boost' | |
'git' | |
) | |
optdepends=( | |
'nzbget-git-debug: Debug symbols for nzbget' | |
'python: for running scripts' | |
'unrar: for unpacking archives' | |
'p7zip: for unpacking archives' | |
) | |
conflicts=('nzbget' 'nzbget-systemd') | |
provides=('nzbget' 'nzbget-systemd') | |
source=( | |
"${pkgbase}::git+https://github.com/nzbgetcom/nzbget.git#branch=develop" | |
"nzbget.service" | |
) | |
sha256sums=('SKIP' | |
'e92d2d09e56930475c9f28641a3326a17aa187834e1bd6328a65b6ed7cc25e99') | |
pkgver() { | |
cd "${srcdir}/${pkgbase}" | |
# Ensure we have the latest git data | |
git fetch --all --prune | |
local _pkgver=$(grep -oP 'set\(VERSION "\K[^"]+' CMakeLists.txt) | |
local _rev=$(git rev-list --count HEAD) | |
local _hash=$(git rev-parse --short HEAD) | |
printf "%s.r%s.%s" "${_pkgver}" "${_rev}" "${_hash}" | |
} | |
prepare() { | |
cd "${srcdir}/${pkgbase}" | |
mkdir -p build | |
# Ensure clean build environment | |
export HOME="${srcdir}" | |
export XDG_CACHE_HOME="${srcdir}/.cache" | |
export XDG_DATA_HOME="${srcdir}/data" | |
export XDG_CONFIG_HOME="${srcdir}/config" | |
} | |
build() { | |
cd "${srcdir}/${pkgbase}/build" | |
cmake .. \ | |
-DCMAKE_INSTALL_PREFIX=/usr \ | |
-DCMAKE_BUILD_TYPE=RelWithDebInfo \ | |
-DCMAKE_POLICY_DEFAULT_CMP0167=NEW \ | |
-DDEBUG_SYMBOLS=ON \ | |
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \ | |
-DCMAKE_SKIP_INSTALL_RPATH=ON \ | |
-DBUILD_SHARED_LIBS=ON \ | |
-DDISABLE_PARCHECK=ON | |
cmake --build . -j$(nproc) | |
} | |
check() { | |
cd "${srcdir}/${pkgbase}/build" | |
ctest --output-on-failure -j$(nproc) | |
} | |
package_nzbget-git() { | |
cd "${srcdir}/${pkgbase}/build" | |
DESTDIR="$pkgdir" cmake --install . | |
# Install systemd service | |
install -Dm644 "${srcdir}/nzbget.service" "${pkgdir}/usr/lib/systemd/system/nzbget.service" | |
# Create required directories | |
install -dm755 "${pkgdir}"/var/lib/nzbget | |
install -dm755 "${pkgdir}"/usr/share/nzbget | |
# Install documentation and config | |
cd "${srcdir}/${pkgbase}" | |
install -Dm644 README.md "${pkgdir}/usr/share/doc/${pkgname}/README.md" | |
install -Dm644 nzbget.conf "${pkgdir}/usr/share/nzbget/nzbget.conf" | |
install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" | |
# Cleanup build artifacts | |
find "${pkgdir}" -type d -name ".git" -exec rm -rf {} + | |
find "${pkgdir}" -type f -name ".gitignore" -delete | |
rm -rf "${pkgdir}/usr/src" | |
rm -rf "${pkgdir}/home" | |
# Strip binary while preserving debug symbols | |
if [[ -f "${pkgdir}/usr/bin/nzbget" ]]; then | |
strip --strip-all "${pkgdir}/usr/bin/nzbget" | |
fi | |
} | |
package_nzbget-git-debug() { | |
pkgdesc="Debug symbols for nzbget-git" | |
depends=("nzbget-git=${pkgver}-${pkgrel}") | |
options=('!strip') | |
install -dm755 "${pkgdir}/usr/lib/debug" | |
cd "${srcdir}/${pkgbase}/build" | |
# Install debug symbols | |
find . -name "*.debug" -exec install -Dm644 {} "${pkgdir}/usr/lib/debug/{}" \; | |
# Install binary debug symbols | |
if [[ -f nzbget ]]; then | |
install -Dm644 nzbget "${pkgdir}/usr/lib/debug/usr/bin/nzbget.debug" | |
fi | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment