diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..da45e37d6a5f --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,98 @@ +# Maintainer: Chris Billington <chrisjbillington@gmail.com> +_pkgname=linux-zen +_pkgver=5.11.15.zen1 +_kernver=5.11.15 +_zenver=zen1 +_pkgrel=2 +pkgbase="${_pkgname}-versioned-bin" +KERNNAME="${_kernver}-${_zenver}-${_pkgrel}-zen" +_versioned_pkgname="linux${_pkgver}-${_pkgrel}-zen" +pkgname=("${_pkgname}-versioned-bin" + "${_pkgname}-versioned-headers-bin" + "${_pkgname}-versioned-docs-bin" + "${_versioned_pkgname}-bin" + "${_versioned_pkgname}-headers-bin" + "${_versioned_pkgname}-docs-bin") +pkgver=${_pkgver} +pkgrel=${_pkgrel} +pkgdesc="The Linux ZEN kernel and modules | repackaged with a unique package name for each version" +url="https://github.com/zen-kernel/zen-kernel/commits/v5.11.15-zen1" +arch=(x86_64) +license=(GPL2) +options=('!strip') + +_kernpkg=${_pkgname}-${_pkgver}-${_pkgrel}-${arch}.pkg.tar.zst +_headerspkg=${_pkgname}-headers-${_pkgver}-${_pkgrel}-${arch}.pkg.tar.zst +_docspkg=${_pkgname}-docs-${_pkgver}-${_pkgrel}-${arch}.pkg.tar.zst + +# See if the sources are available from our own mirror: +_kernsrc=$(pacman -Spdd "${_pkgname}" 2> /dev/null) +_headerssrc=$(pacman -Spdd "${_pkgname}-headers" 2> /dev/null) +_docssrc=$(pacman -Spdd "${_pkgname}-docs" 2> /dev/null) + +# If not, then use the Arch Linux archive: +if [ "$(basename "${_kernsrc}" 2> /dev/null)" != "${_kernpkg}" ]; then + _arch_archive=https://archive.archlinux.org/packages/.all + _kernsrc=${_arch_archive}/${_kernpkg} + _headerssrc=${_arch_archive}/${_headerspkg} + _docssrc=${_arch_archive}/${_docspkg} +fi + +source=("${_kernsrc}" + "${_headerssrc}" + "${_docssrc}") + +noextract=("${source[@]##*/}") + +sha256sums=('7b290193967b81446a195b18f339ce1bf0a1309547bed18cea91779e2fae4594' + '024803a203f3585849bf8f5ba5c46407ccf029726f2222236f1465add386e815' + '8d4fe426e9f06dffefa8bbe4141a00ed6c039ece0a9a4b532fdf33d6e51211c7') + +package_linux-zen-versioned-bin() { + pkgdesc="Dummy package depending on ${_versioned_pkgname}-bin" + depends=("${_versioned_pkgname}-bin") + optdepends=('grub-hook: to run grub-mkconfig when kernels are added/removed') +} + +package_linux-zen-versioned-headers-bin() { + pkgdesc="Dummy package depending on ${_versioned_pkgname}-headers-bin" + depends=("${_versioned_pkgname}-headers-bin") +} + +package_linux-zen-versioned-docs-bin() { + pkgdesc="Dummy package depending on ${_versioned_pkgname}-docs-bin" + depends=("${_versioned_pkgname}-docs-bin") +} + +package_linux5.11.15.zen1-2-zen-bin() { + pkgdesc="The Linux ZEN kernel and modules, version ${KERNNAME}" + depends=(coreutils + initramfs + kmod) + conflicts=("${_pkgname}") + optdepends=('crda: to set the correct wireless channels of your country' + 'linux-firmware: firmware images needed for some devices') + provides=(VHBA-MODULE + VIRTUALBOX-GUEST-MODULES + WIREGUARD-MODULE) + tar -xf "${_kernpkg}" -C "${pkgdir}" + rm "${pkgdir}"/{.MTREE,.BUILDINFO,.PKGINFO} + sed -ic "s/${_pkgname}/${KERNNAME}/" "${pkgdir}/usr/lib/modules/${KERNNAME}/pkgbase" +} + +package_linux5.11.15.zen1-2-zen-headers-bin() { + pkgdesc="Headers and scripts for building modules for the Linux ZEN kernel ${KERNNAME}" + depends=(pahole) + conflicts=("${_pkgname}-headers") + tar -xf "${_headerspkg}" -C "${pkgdir}" + rm "${pkgdir}"/{.MTREE,.BUILDINFO,.PKGINFO} + mv "${pkgdir}/usr/src/"{"${_pkgname}","${_versioned_pkgname}"} +} + +package_linux5.11.15.zen1-2-zen-docs-bin() { + pkgdesc="Documentation for the Linux ZEN kernel ${KERNNAME}" + conflicts=("${_pkgname}-docs") + tar -xf "${_docspkg}" -C "${pkgdir}" + rm "${pkgdir}"/{.MTREE,.BUILDINFO,.PKGINFO} + mv "${pkgdir}/usr/share/doc/"{"${_pkgname}","${_versioned_pkgname}"} +} |