diff options
Diffstat (limited to 'libre/tp_smapi-lts/PKGBUILD')
-rw-r--r-- | libre/tp_smapi-lts/PKGBUILD | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/libre/tp_smapi-lts/PKGBUILD b/libre/tp_smapi-lts/PKGBUILD new file mode 100644 index 000000000..8a752b925 --- /dev/null +++ b/libre/tp_smapi-lts/PKGBUILD @@ -0,0 +1,73 @@ +# Maintainer (Arch): Lukas Fleischer <lfleischer@archlinux.org> +# Contributor (Arch): xduugu +# Contributor (Arch): nh2 +# Contributor (Arch): Steven Davidovitz <steviedizzle ð gmail đ com> +# Contributor (Arch): Nick B <Shirakawasuna ð gmail đ com> +# Contributor (Arch): Christof Musik <christof ð senfdax đ de> +# Contributor (Arch): Stefan Rupp <archlinux ð stefanrupp đ de> +# Contributor (Arch): Ignas Anikevicius <anikevicius ð gmail đ com> +# Contributor (Hyperbola): André Silva <emulatorman@hyperbola.info> +# Contributor (Hyperbola): Márcio Silva <coadde@hyperbola.info> +# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe> +# Contributor: Luke Shumaker <lukeshu@sbcglobal.net> + +_kernelname=-lts + +if [[ ${_kernelname} == "" ]]; then + _basekernel=4.14 + _archrel=45 + _parabolarel=1 +elif [[ ${_kernelname} == -lts ]]; then + _basekernel=4.9 + _archrel=24 + _parabolarel=1 +fi + +__pkgname=tp-smapi +_pkgname=tp_smapi +pkgname=${_pkgname}${_kernelname} +pkgver=0.42 +pkgrel=${_archrel}.parabola${_parabolarel}.basekernel${_basekernel} +_extramodules=extramodules-${_basekernel}${_kernelname} +pkgdesc="Modules for ThinkPad's SMAPI functionality (built for the linux-libre${_kernelname} kernel package)" +arch=('i686' 'x86_64') +url='https://github.com/evgeni/tp_smapi' +license=('GPL') + +# Generic (you shouldn't have to modify any of these variables) +_toohigh=$(IFS=. read a b <<<$_basekernel; echo $a.$((b+1))) +depends=("linux-libre${_kernelname}>=${_basekernel}" "linux-libre${_kernelname}<${_toohigh}") +makedepends=("linux-libre${_kernelname}-headers>=${_basekernel}" "linux-libre${_kernelname}-headers<${_toohigh}") +makedepends+=('libelf') + +replaces=("${_pkgname}-libre${_kernelname}" "${_pkgname}-parabola${_kernelname}") +conflicts=("${_pkgname}-libre${_kernelname}" "${_pkgname}-parabola${_kernelname}") +if [[ ${_kernelname} != "" ]]; then + provides=("${_pkgname}") +fi + +source=("${_pkgname}-${pkgver}.tar.gz::https://github.com/evgeni/${_pkgname}/archive/${__pkgname}/${pkgver}.tar.gz") +sha256sums=('cd28bf6ee21b2c27b88d947cb0bfcb19648c7daa5d350115403dbcad05849381') + +build() { + cd "${_pkgname}-${__pkgname}-${pkgver}" + + # https://bugs.archlinux.org/task/54975 (kernel has no _GLOBAL_OFFSET_TABLE_): + # Clear EXTRA_CFLAGS since it defaults to injecting CFLAGS and -fno-plt breaks the modules + + make HDAPS=1 KVER="$(</usr/lib/modules/${_extramodules}/version)" EXTRA_CFLAGS= +} + +package() { + cd "${_pkgname}-${__pkgname}-${pkgver}" + + # install kernel modules + find . -name "*.ko" -exec install -Dt "${pkgdir}/usr/lib/modules/${_extramodules}" {} + + + # compress kernel modules + find "${pkgdir}" -name "*.ko" -exec gzip -9 {} + + + # load module on startup + install -dm 755 "${pkgdir}/usr/lib/modules-load.d" + echo ${_pkgname} > "${pkgdir}/usr/lib/modules-load.d/${_pkgname}${_kernelname}.conf" +} |