summaryrefslogtreecommitdiff
path: root/libre/tp_smapi-libre-lts
diff options
context:
space:
mode:
Diffstat (limited to 'libre/tp_smapi-libre-lts')
-rw-r--r--libre/tp_smapi-libre-lts/PKGBUILD60
-rw-r--r--libre/tp_smapi-libre-lts/tp_smapi-lts.install13
2 files changed, 73 insertions, 0 deletions
diff --git a/libre/tp_smapi-libre-lts/PKGBUILD b/libre/tp_smapi-libre-lts/PKGBUILD
new file mode 100644
index 000000000..91ae34864
--- /dev/null
+++ b/libre/tp_smapi-libre-lts/PKGBUILD
@@ -0,0 +1,60 @@
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: xduugu
+# Contributor: nh2
+# Contributor: Steven Davidovitz <steviedizzle ð gmail đ com>
+# Contributor: Nick B <Shirakawasuna ð gmail đ com>
+# Contributor: Christof Musik <christof ð senfdax đ de>
+# Contributor: Stefan Rupp <archlinux ð stefanrupp đ de>
+# Contributor: Ignas Anikevicius <anikevicius ð gmail đ com>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+pkgname=tp_smapi-libre-lts
+_pkgname=tp_smapi
+_extramodules=/usr/lib/modules/extramodules-3.0-LIBRE-LTS
+pkgver=0.41
+pkgrel=9
+pkgdesc="linux-libre-lts modules for ThinkPad's SMAPI functionality"
+arch=('i686' 'x86_64')
+url='https://github.com/evgeni/tp_smapi'
+license=('GPL')
+depends=('linux-libre-lts>=3.0' 'linux-libre-lts<3.1')
+makedepends=('linux-libre-lts-headers>=3.0' 'linux-libre-lts-headers<3.1')
+replaces=('tp_smapi-lts')
+conflicts=('tp_smapi-lts')
+provides=("tp_smapi-lts=${pkgver}")
+install='tp_smapi-lts.install'
+source=("https://github.com/downloads/evgeni/${_pkgname}/${_pkgname}-${pkgver}.tar.gz")
+md5sums=('63c683415c764568f6bf17c7eabe4752')
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ _kernver=$(< "${_extramodules}/version")
+
+ sed -ri -e "s/^(KVER\s*:=).*$/\1 ${_kernver}/" \
+ -e "s#^(KBASE\s*:=).*\$#\1 ${_extramodules%/*}/${_kernver}#" Makefile
+
+ make HDAPS=1
+}
+
+package() {
+ _kernver=$(< "${_extramodules}/version")
+
+ make -C "${_extramodules%/*}/${_kernver}/build" \
+ INSTALL_MOD_PATH="${pkgdir}/${_extramodules%%/lib/*}" \
+ M="${srcdir}/${_pkgname}-${pkgver}" modules_install
+
+ cd "${pkgdir}/${_extramodules%/*}"
+ mv "${_kernver}/extra" "${_extramodules##*/}"
+ rmdir "${_kernver}"
+
+ # compress kernel modules
+ find "${pkgdir}" -name "*.ko" -exec gzip -9 {} +
+
+ # load module on startup
+ echo tp_smapi > "${srcdir}/tp_smapi-lts.conf"
+ install -Dm644 "${srcdir}/tp_smapi-lts.conf" "${pkgdir}/usr/lib/modules-load.d/tp_smapi-lts.conf"
+
+ # update kernel version in install file
+ sed -ri "s#^(extramodules=).*\$#\1${_extramodules}#" "${startdir}/tp_smapi-lts.install"
+}
diff --git a/libre/tp_smapi-libre-lts/tp_smapi-lts.install b/libre/tp_smapi-libre-lts/tp_smapi-lts.install
new file mode 100644
index 000000000..2723fead7
--- /dev/null
+++ b/libre/tp_smapi-libre-lts/tp_smapi-lts.install
@@ -0,0 +1,13 @@
+extramodules=/usr/lib/modules/extramodules-3.0-LIBRE-LTS
+
+post_install() {
+ depmod -v $(< "$extramodules/version") &>/dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}