aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authort-onoz2018-03-05 03:04:54 +0900
committert-onoz2018-03-05 03:04:54 +0900
commit78475badc00d236f76c87e4a11739a69cf14194a (patch)
tree42b0dcc0b2b9b4a44ecd87c66943406889427a67
parent866bc65af426108a19de52d5f42e9014ee11ef3a (diff)
downloadaur-78475badc00d236f76c87e4a11739a69cf14194a.tar.gz
NI-VISA 17.0 (without kernel modules)
-rw-r--r--.SRCINFO18
-rw-r--r--99-usbtmc.rules8
-rw-r--r--PKGBUILD76
-rw-r--r--ni-visa.install20
4 files changed, 72 insertions, 50 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 07a934bb9e4c..e2430d85e8b1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,18 +1,18 @@
-# Generated by mksrcinfo v8
-# Tue Jan 24 18:21:33 UTC 2017
pkgbase = ni-visa
- pkgdesc = National Instruments NI-VISA(TM) Software for Linux
- pkgver = 16.0.0
+ pkgdesc = National Instruments NI-VISA(TM) Library for Linux.
+ pkgver = 17.0.0
pkgrel = 1
- url = http://www.ni.com/download/ni-visa-5.4.1/4629/en/
- arch = i686
+ url = https://www.ni.com/visa/
+ install = ni-visa.install
arch = x86_64
license = custom
- makedepends = rpmextract
+ depends = gcc-libs
optdepends = python2-pyvisa: python 2 frontend
optdepends = python-pyvisa: python 3 frontend
- source = http://download.ni.com/support/softlib/visa/NI-VISA/16.0/Linux/NI-VISA-16.0.0.iso
- md5sums = 7bd345779ce11ff79d5cb970d3bf99b3
+ source = http://ftp.ni.com/support/softlib/visa/NI-VISA/17.0/Linux/NI-VISA-17.0.0.iso
+ source = 99-usbtmc.rules
+ md5sums = d114b70ce0802fa6bd7173a6f23f7257
+ md5sums = cdfd2e18de4370001bfbe0226cf04b18
pkgname = ni-visa
diff --git a/99-usbtmc.rules b/99-usbtmc.rules
new file mode 100644
index 000000000000..976851950c9f
--- /dev/null
+++ b/99-usbtmc.rules
@@ -0,0 +1,8 @@
+SUBSYSTEMS=="usb", ATTRS{bDeviceClass}=="fe", ATTRS{bDeviceSubClass}=="03", ACTION=="add", GROUP="usbtmc", MODE="0666"
+SUBSYSTEMS=="usb", ATTRS{bDeviceClass}=="fe", ATTRS{bDeviceSubClass}=="3", ACTION=="add", GROUP="usbtmc", MODE="0666"
+SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="fe", ATTRS{bInterfaceSubClass}=="03", ACTION=="add", GROUP="usbtmc", MODE="0666"
+SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="fe", ATTRS{bInterfaceSubClass}=="3", ACTION=="add", GROUP="usbtmc", MODE="0666"
+
+# Devices
+KERNEL=="usbtmc/*", MODE="0666", GROUP="usbtmc"
+KERNEL=="usbtmc[0-9]*", MODE="0666", GROUP="usbtmc"
diff --git a/PKGBUILD b/PKGBUILD
index 0390afa15658..69005a62a043 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,57 +1,51 @@
-# Maintainer: Grey Christoforo <first name [at] last name [dot] net>
-
-pkgname=ni-visa
-pkgver=16.0.0
-_f_number=0
+# Maintainer: Tomoya Onozuka <t [dot] (family name in lower case) [dot] 1990 [at] gmail [dot] com>
+# Contributor: Grey Christoforo <first name [at] last name [dot] net>
+pkgname=('ni-visa')
+_pkgbase=('ni-visa')
+pkgver=17.0.0
_short_ver=${pkgver%.0}
pkgrel=1
-pkgdesc="National Instruments NI-VISA(TM) Software for Linux"
-url="http://www.ni.com/download/ni-visa-5.4.1/4629/en/"
-arch=('i686' 'x86_64')
-[ "$CARCH" = 'i686' ] && _suffix=i386
-[ "$CARCH" = 'x86_64' ] && _suffix=x86_64
+pkgdesc="National Instruments NI-VISA(TM) Library for Linux."
+url="https://www.ni.com/visa/"
+arch=('x86_64')
license=('custom')
-makedepends=('rpmextract')
+depends=('gcc-libs')
optdepends=('python2-pyvisa: python 2 frontend'
'python-pyvisa: python 3 frontend')
+source=("http://ftp.ni.com/support/softlib/visa/NI-VISA/${_short_ver}/Linux/NI-VISA-${pkgver}.iso"
+"99-usbtmc.rules")
+md5sums=('d114b70ce0802fa6bd7173a6f23f7257'
+ 'cdfd2e18de4370001bfbe0226cf04b18')
+install='ni-visa.install'
-source=("http://download.ni.com/support/softlib/visa/NI-VISA/${_short_ver}/Linux/NI-VISA-${pkgver}.iso")
-md5sums=('7bd345779ce11ff79d5cb970d3bf99b3')
+prepare() {
+ bsdtar -xvf ${srcdir}/nivisa-${pkgver}f*.tar.gz
-build () {
- mkdir -p extracted
- bsdtar -xvf nivisa-${pkgver}f${_f_number}.tar.gz -C extracted
- cd extracted/rpms
- echo "do a thing"
- for f in *.noarch.rpm *.${_suffix}.rpm
- do
- echo "Processing $f"
- bsdtar -xvf $f
+ cd "${srcdir}"
+ for f in ${srcdir}/rpms/*.rpm; do
+ bsdtar -xf $f
done
- rm -rf *.rpm
+ sed -i -e 's/passportEnabled2 = 1/passportEnabled2 = 0/' "${srcdir}/usr/local/vxipnp/linux/NIvisa/Passport64/nivisa.ini"
+ sed -i -e 's/passportEnabled2 = 1/passportEnabled3 = 0/' "${srcdir}/usr/local/vxipnp/linux/NIvisa/Passport/nivisa.ini"
}
-
package() {
- mv "${srcdir}/extracted/rpms" "${pkgdir}/"
- cd "${pkgdir}/rpms"
- mv * ..
- cd "${srcdir}"
- rm -rf "${srcdir}/extracted"
- rm -rf "${pkgdir}/rpms"
- mkdir -p "${pkgdir}/opt/${pkgname}"
- cp -a * "${pkgdir}/opt/${pkgname}/."
+ _vxipnppath="opt/${_pkgbase}/usr/local/vxipnp"
+ mkdir -p "${pkgdir}/usr/"{include,lib} "${pkgdir}/${_vxipnppath}/linux/" "${pkgdir}/etc/profile.d"
- cd "${pkgdir}/opt/${pkgname}"
- rm *.iso
- rm *.tar.gz
+ cp -R "${srcdir}/usr/local/vxipnp/linux/"{include,lib64} "${pkgdir}/${_vxipnppath}/linux/"
+ install -Dm644 "${srcdir}/usr/local/vxipnp/linux/NIvisa/Passport64/nivisa.ini" "${pkgdir}/${_vxipnppath}/linux/NIvisa/Passport64/nivisa.ini"
+
+ for f in "${pkgdir}/${_vxipnppath}/linux/lib64/"*.so; do
+ ln -s "${f#${pkgdir}}" "${pkgdir}/usr/lib/"
+ done
+ for f in "${pkgdir}/${_vxipnppath}/linux/include/"*.h; do
+ ln -s "${f#${pkgdir}}" "${pkgdir}/usr/include/"
+ done
- cd "${pkgdir}/usr/local"
- mv * ..
- rm -rf "${pkgdir}/usr/local"
- mv "${pkgdir}/usr/lib64" "${pkgdir}/usr/lib"
-
- install -Dm644 "${srcdir}/LICENSE.txt" "$pkgdir/usr/share/licenses/$pkgname/LICENSE.txt"
+ install -Dm644 99-usbtmc.rules "${pkgdir}/usr/lib/udev/rules.d/99-usbtmc.rules"
+ echo "export VXIPNPPATH=/${_vxipnppath}" > "${pkgdir}/etc/profile.d/vxipnppath.sh"
+ install -D -m644 "${srcdir}/LICENSE.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
# vim:set ts=2 sw=2 et:
diff --git a/ni-visa.install b/ni-visa.install
new file mode 100644
index 000000000000..10d2079d5a2b
--- /dev/null
+++ b/ni-visa.install
@@ -0,0 +1,20 @@
+post_install() {
+
+ getent group usbtmc || groupadd -r usbtmc
+ udevadm control --reload-rules 2>/dev/null
+
+ cat << EOF
+===>
+===> Please re-login to renew environment variable.
+===> If USB-based devices do not run properly, check the following:
+===> # gpasswd -a <user> usbtmc
+===> # rmmod usbtmc
+===> refs: http://digital.ni.com/public.nsf/allkb/A10090850FF0887A86257926007A7E96
+===> https://github.com/python-ivi/python-usbtmc#configuring-udev
+===>
+EOF
+}
+
+post_remove() {
+ groupdel usbtmc >/dev/null 2>&1 || true
+} \ No newline at end of file