summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 466c5c042175fa3c38750c0d21485e3530f9da87 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# Maintainer: Spyros Stathopoulos <foucault.online@gmail.com>
# Contributor: Alex Forenchich <alex@alexforencich.com>

pkgname=('linux-gpib')
pkgver=4.3.6
pkgrel=1
pkgdesc='A support package for GPIB (IEEE 488) hardware.'
arch=('i686' 'x86_64')
url='http://linux-gpib.sourceforge.net/'
license=('GPL')
depends=('bash' 'linux>=6.4' 'linux<6.5')
makedepends=('perl' 'python' 'linux-headers' 'bison')
optdepends=('fxload: firmware upload support for NI USB-B, Keithley KUSB-488 and Agilent 82357')
source=("https://downloads.sourceforge.net/project/${pkgname}/${pkgname}%20for%203.x.x%20and%202.6.x%20kernels/${pkgver}/${pkgname}-${pkgver}.tar.gz")
install='linux-gpib.install'
backup=('etc/gpib.conf')
options=('!emptydirs')

_kernver=5.19
_extramodules=/usr/lib/modules/extramodules-ARCH

md5sums=('ffefc4e5c03b891c57f406a4b82395b7')

prepare() {

    msg "Unpacking kernel module source"
    cd "${srcdir}/${pkgname}-${pkgver}"
    tar xvfz "${pkgname}-kernel-${pkgver}.tar.gz"
    cd "${pkgname}-kernel-${pkgver}"
    sed -i -e 's/ioremap_nocache/ioremap/g' drivers/gpib/eastwood/fluke_gpib.c
    sed -i -e 's/config.slave_id = 0;//g' drivers/gpib/eastwood/fluke_gpib.c
    sed -i -e 's/ioremap_nocache/ioremap/g' drivers/gpib/fmh_gpib/fmh_gpib.c
    sed -i -e 's/config.slave_id = 0;//g' drivers/gpib/fmh_gpib/fmh_gpib.c

    msg "Unpacking userland utils source"
    cd "${srcdir}/${pkgname}-${pkgver}"
    tar xvfz "${pkgname}-user-${pkgver}.tar.gz"
    cd "${pkgname}-user-${pkgver}"

    echo 'ACTION=="add|change", KERNEL=="gpib[0-9]*", MODE="0660", GROUP="gpib"' >| \
        usb/99-gpib-generic.rules
}

build() {
    cd "${srcdir}/${pkgname}-${pkgver}"
    cd "${pkgname}-kernel-${pkgver}"

    msg "Building kernel module"

    make

    cd "${srcdir}/${pkgname}-${pkgver}"
    cd "${pkgname}-user-${pkgver}"

    msg "Building userland utils"

    ./configure \
        --prefix=/usr \
        --sysconfdir=/etc \
        --bindir=/usr/bin \
        --sbindir=/usr/bin \
        --disable-guile-binding \
        --enable-perl-binding \
        --disable-php-binding \
        --disable-python-binding \
        --disable-tcl-binding
    make

}

package() {
    cd "${srcdir}/${pkgname}-${pkgver}"
    cd "${pkgname}-kernel-${pkgver}"

    MAKEFLAGS="-j1" make INSTALL_MOD_PATH="${pkgdir}" DESTDIR="${pkgdir}" install

    mkdir -p ${pkgdir}/${_extramodules}
    mv ${pkgdir}/lib/modules/$(uname -r)/gpib ${pkgdir}/${_extramodules}/
    find ${pkgdir} -depth -type d -empty -exec rmdir {} \;

    cd "${srcdir}/${pkgname}-${pkgver}"
    cd "${pkgname}-user-${pkgver}"
    MAKEFLAGS="-j1" make INSTALL_MOD_PATH="${pkgdir}" DESTDIR="${pkgdir}" install
    install -D -m644 "${srcdir}/${pkgname}-${pkgver}/${pkgname}-user-${pkgver}/util/templates/gpib.conf" \
     "${pkgdir}/etc/gpib.conf"

    # Clear everything depmod spewed out
    for f in "modules.alias" "modules.alias.bin" "modules.builtin.bin" \
        "modules.dep" "modules.dep.bin" "modules.softdep" "modules.symbols" \
        "modules.symbols.bin" "modules.devname" "modules.builtin.alias.bin"; do
        if [[ -f "${pkgdir}/lib/modules/$(uname -r)/${f}" ]]; then
            rm "${pkgdir}/lib/modules/$(uname -r)/${f}"
        fi
    done
    rmdir "${pkgdir}/lib/modules/$(uname -r)"
    rmdir "${pkgdir}/lib/modules"
    rmdir "${pkgdir}/lib"

}

# vim:ts=4:et:sw=4