summaryrefslogtreecommitdiff
path: root/libre/tp_smapi-lts
diff options
context:
space:
mode:
authorAndreas Grapentin <andreas@grapentin.org>2018-01-15 07:22:30 +0100
committerAndreas Grapentin <andreas@grapentin.org>2018-01-15 07:22:30 +0100
commitbcd8a3b71ee5cfe293d10e0f2c64284702002899 (patch)
tree3fd2da34f151526dd60c9c26dd48a8bccfd4ebb3 /libre/tp_smapi-lts
parentbafddb056fe8435c4de2b3e287350e4cd88673da (diff)
libre/tp_smapi: added dedicated -lts PKGBUILD
Diffstat (limited to 'libre/tp_smapi-lts')
-rw-r--r--libre/tp_smapi-lts/PKGBUILD73
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"
+}