diff options
author | t-onoz | 2018-03-24 19:28:59 +0900 |
---|---|---|
committer | t-onoz | 2018-03-24 19:28:59 +0900 |
commit | 00aefaa57141843f5086d9c30a8c36a08c9c800c (patch) | |
tree | 4b560fa3fca9555e6e6d2e545a8b432c320f661f | |
parent | 78475badc00d236f76c87e4a11739a69cf14194a (diff) | |
download | aur-00aefaa57141843f5086d9c30a8c36a08c9c800c.tar.gz |
upgpkg: ni-visa 17.0.0-2
install usb-related scripts and 32-bit libraries
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | PKGBUILD | 55 | ||||
-rw-r--r-- | ni-visa.install | 44 | ||||
-rw-r--r-- | ni-visa.patch | 46 |
4 files changed, 127 insertions, 30 deletions
@@ -1,17 +1,27 @@ pkgbase = ni-visa pkgdesc = National Instruments NI-VISA(TM) Library for Linux. pkgver = 17.0.0 - pkgrel = 1 + pkgrel = 2 url = https://www.ni.com/visa/ install = ni-visa.install arch = x86_64 license = custom depends = gcc-libs + depends = bash optdepends = python2-pyvisa: python 2 frontend optdepends = python-pyvisa: python 3 frontend + optdepends = lib32-gcc-libs: for 32-bit libraries + provides = ni-visa + provides = lib32-ni-visa + backup = opt/ni-visa/usr/local/vxipnp/linux/NIvisa/Passport64/nivisa.ini + backup = opt/ni-visa/usr/local/vxipnp/linux/NIvisa/Passport/nivisa.ini + backup = opt/ni-visa/usr/local/vxipnp/linux/NIvisa/visaconf.ini + backup = etc/udev/rules.d/99-nivisa_usbraw.rules source = http://ftp.ni.com/support/softlib/visa/NI-VISA/17.0/Linux/NI-VISA-17.0.0.iso + source = ni-visa.patch source = 99-usbtmc.rules md5sums = d114b70ce0802fa6bd7173a6f23f7257 + md5sums = d46807a8283d8497d316778ac266d514 md5sums = cdfd2e18de4370001bfbe0226cf04b18 pkgname = ni-visa @@ -1,48 +1,67 @@ -# Maintainer: Tomoya Onozuka <t [dot] (family name in lower case) [dot] 1990 [at] gmail [dot] com> +# Maintainer: t-onoz <t [dot] onozuka [dot] 1990 [at] (g-mail)>> # Contributor: Grey Christoforo <first name [at] last name [dot] net> pkgname=('ni-visa') _pkgbase=('ni-visa') +provides=('ni-visa' 'lib32-ni-visa') pkgver=17.0.0 _short_ver=${pkgver%.0} -pkgrel=1 +pkgrel=2 pkgdesc="National Instruments NI-VISA(TM) Library for Linux." url="https://www.ni.com/visa/" arch=('x86_64') license=('custom') -depends=('gcc-libs') +depends=('gcc-libs' 'bash') optdepends=('python2-pyvisa: python 2 frontend' -'python-pyvisa: python 3 frontend') +'python-pyvisa: python 3 frontend' +'lib32-gcc-libs: for 32-bit libraries') source=("http://ftp.ni.com/support/softlib/visa/NI-VISA/${_short_ver}/Linux/NI-VISA-${pkgver}.iso" +"ni-visa.patch" "99-usbtmc.rules") md5sums=('d114b70ce0802fa6bd7173a6f23f7257' + 'd46807a8283d8497d316778ac266d514' 'cdfd2e18de4370001bfbe0226cf04b18') install='ni-visa.install' -prepare() { - bsdtar -xvf ${srcdir}/nivisa-${pkgver}f*.tar.gz +_vxipnppath="opt/${_pkgbase}/usr/local/vxipnp" - cd "${srcdir}" - for f in ${srcdir}/rpms/*.rpm; do - bsdtar -xf $f +backup=("${_vxipnppath}/linux/NIvisa/Passport64/nivisa.ini" + "${_vxipnppath}/linux/NIvisa/Passport/nivisa.ini" + "${_vxipnppath}/linux/NIvisa/visaconf.ini" + "etc/udev/rules.d/99-nivisa_usbraw.rules") + +prepare() { + bsdtar -xf "${srcdir}"/nivisa-${pkgver}f*.tar.gz + mkdir -p "${srcdir}"/extract + for f in "${srcdir}"/rpms/nivisa{-32bit,}-${pkgver}-f*.x86_64.rpm; do + bsdtar -xf $f -C "${srcdir}"/extract done - 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" + cd "${srcdir}" + patch -p1 -i "${srcdir}"/ni-visa.patch } package() { - _vxipnppath="opt/${_pkgbase}/usr/local/vxipnp" - mkdir -p "${pkgdir}/usr/"{include,lib} "${pkgdir}/${_vxipnppath}/linux/" "${pkgdir}/etc/profile.d" + mkdir -p "${pkgdir}"/usr/{include,lib,lib32,bin} + mkdir -p "${pkgdir}"/opt/${_pkgbase}/usr/local/ + mkdir -p "${pkgdir}"/etc/{profile.d,natinst} + mkdir -p "${pkgdir}"/etc/udev/rules.d - 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" + echo > "${pkgdir}"/etc/udev/rules.d/99-nivisa_usbraw.rules - for f in "${pkgdir}/${_vxipnppath}/linux/lib64/"*.so; do - ln -s "${f#${pkgdir}}" "${pkgdir}/usr/lib/" - done + cp -a "${srcdir}"/extract/usr/local/vxipnp "${pkgdir}"/${_vxipnppath} + + ln -s /${_vxipnppath}/linux/lib64/libvisa.so "${pkgdir}"/usr/lib/libvisa.so + ln -s /${_vxipnppath}/linux/bin/libvisa.so "${pkgdir}"/usr/lib32/libvisa.so for f in "${pkgdir}/${_vxipnppath}/linux/include/"*.h; do ln -s "${f#${pkgdir}}" "${pkgdir}/usr/include/" done + echo "/${_vxipnppath}" > "${pkgdir}"/${_vxipnppath}/etc/nivisa.dir + echo "/${_vxipnppath}" > "${pkgdir}"/${_vxipnppath}/etc/vxipnp.dir + ln -s /${_vxipnppath}/etc "${pkgdir}"/etc/natinst/nivisa + ln -s /${_vxipnppath}/etc "${pkgdir}"/etc/natinst/vxipnp + + ln -s /${_vxipnppath}/linux/NIvisa/USB/AddUsbRawPermissions.sh "${pkgdir}"/usr/bin/AddUsbRawPermissions.sh + 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" diff --git a/ni-visa.install b/ni-visa.install index 10d2079d5a2b..0086ea8cc8fc 100644 --- a/ni-visa.install +++ b/ni-visa.install @@ -1,20 +1,42 @@ post_install() { - - getent group usbtmc || groupadd -r usbtmc - udevadm control --reload-rules 2>/dev/null + echo 'Adding usbtmc and usbraw groups' + getent group usbtmc >/dev/null || groupadd -r usbtmc + getent group usbraw >/dev/null || groupadd -r usbraw + udevadm control --reload-rules 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 + + +---------------------------------------------------------------------------------- +===> NOTES FOR USAGE +===> +===> 1) Please logout & login to renew environment variable before first use. +===> +===> 2) If Usb-raw devices do not work, try following (as root) and restart your PC: +===> # AddUsbRawPermissions.sh +===> # gpasswd -a <user> usbraw +===> +===> 3) If USB-TMC devices do not work, try following (as root) and restart your PC: +===> # gpasswd -a <user> usbtmc +===> # rmmod usbtmc +===> # echo 'blacklist usbtmc' > /etc/modprobe.d/nousbtmc.conf ===> refs: http://digital.ni.com/public.nsf/allkb/A10090850FF0887A86257926007A7E96 ===> https://github.com/python-ivi/python-usbtmc#configuring-udev -===> +===> +---------------------------------------------------------------------------------- + + EOF } +post_upgrade() { + post_install $1 +} + post_remove() { - groupdel usbtmc >/dev/null 2>&1 || true -}
\ No newline at end of file + rm -f /etc/udev/rules.d/99-nivisa_usbraw.rules && echo 'Removed udev rules created by AddUsbRawPermissions.sh' + udevadm control --reload-rules + getent group usbtmc >/dev/null && groupdel usbtmc + getent group usbraw >/dev/null && groupdel usbraw + echo 'Removed usbtmc & usbraw groups' +} diff --git a/ni-visa.patch b/ni-visa.patch new file mode 100644 index 000000000000..494065d0adf7 --- /dev/null +++ b/ni-visa.patch @@ -0,0 +1,46 @@ +diff -ura src.old/extract/usr/local/vxipnp/linux/NIvisa/Passport/nivisa.ini src.new/extract/usr/local/vxipnp/linux/NIvisa/Passport/nivisa.ini +--- src.old/extract/usr/local/vxipnp/linux/NIvisa/Passport/nivisa.ini 2017-03-25 08:52:05.000000000 +0900 ++++ src.new/extract/usr/local/vxipnp/linux/NIvisa/Passport/nivisa.ini 2018-03-24 18:32:27.144522431 +0900 +@@ -9,7 +9,7 @@ + passportEnabled2 = 1 + LibName2 = libnivivxi.so + LibDescription2 = "NI-VISA Passport for VXI" +-passportEnabled3 = 1 ++passportEnabled3 = 0 + LibName3 = libnivipxi.so + LibDescription3 = "NI-VISA Passport for PXI/PCI" + passportEnabled4 = 1 +diff -ura src.old/extract/usr/local/vxipnp/linux/NIvisa/Passport64/nivisa.ini src.new/extract/usr/local/vxipnp/linux/NIvisa/Passport64/nivisa.ini +--- src.old/extract/usr/local/vxipnp/linux/NIvisa/Passport64/nivisa.ini 2017-03-25 08:52:02.000000000 +0900 ++++ src.new/extract/usr/local/vxipnp/linux/NIvisa/Passport64/nivisa.ini 2018-03-24 18:31:09.164521694 +0900 +@@ -6,7 +6,7 @@ + passportEnabled1 = 1 + LibName1 = libnivi488.so + LibDescription1 = "NI-VISA Passport for GPIB" +-passportEnabled2 = 1 ++passportEnabled2 = 0 + LibName2 = libnivipxi.so + LibDescription2 = "NI-VISA Passport for PXI/PCI" + passportEnabled3 = 1 +diff -ura src.old/extract/usr/local/vxipnp/linux/NIvisa/USB/AddUsbRawPermissions.sh src.new/extract/usr/local/vxipnp/linux/NIvisa/USB/AddUsbRawPermissions.sh +--- src.old/extract/usr/local/vxipnp/linux/NIvisa/USB/AddUsbRawPermissions.sh 2017-03-25 08:52:05.000000000 +0900 ++++ src.new/extract/usr/local/vxipnp/linux/NIvisa/USB/AddUsbRawPermissions.sh 2018-03-24 18:46:31.000000000 +0900 +@@ -189,12 +189,15 @@ + NIVISA_USBRAW_VENDORID_BASE=`expr substr ${NIVISA_USBRAW_VENDORID} 3 4 | tr '[A-Z]' '[a-z]'` + NIVISA_USBRAW_PRODUCTID_BASE=`expr substr ${NIVISA_USBRAW_PRODUCTID} 3 4 | tr '[A-Z]' '[a-z]'` + # Adding this line to the file "/etc/udev/rules.d/nivisa_raw.rules" +- echo "SUBSYSTEM==\"usb\", ATTR{idProduct}==\"${NIVISA_USBRAW_PRODUCTID_BASE}\", ATTR{idVendor}==\"${NIVISA_USBRAW_VENDORID_BASE}\", RUN+=\"/etc/udev/agents.d/usb/nivisa_usbraw\"" >> "/etc/udev/rules.d/nivisa_usbraw.rules" +- echo "SUBSYSTEM==\"usb_device\", ATTR{idProduct}==\"${NIVISA_USBRAW_PRODUCTID_BASE}\", ATTR{idVendor}==\"${NIVISA_USBRAW_VENDORID_BASE}\", RUN+=\"/etc/udev/agents.d/usb/nivisa_usbraw\"" >> "/etc/udev/rules.d/nivisa_usbraw.rules" ++ echo "SUBSYSTEM==\"usb\", ATTR{idProduct}==\"${NIVISA_USBRAW_PRODUCTID_BASE}\", ATTR{idVendor}==\"${NIVISA_USBRAW_VENDORID_BASE}\", ACTION==\"add\", GROUP=\"usbraw\", MODE=\"0666\"" >> "/etc/udev/rules.d/99-nivisa_usbraw.rules" ++ echo "SUBSYSTEM==\"usb_device\", ATTR{idProduct}==\"${NIVISA_USBRAW_PRODUCTID_BASE}\", ATTR{idVendor}==\"${NIVISA_USBRAW_VENDORID_BASE}\", ACTION==\"add\", GROUP=\"usbraw\", MODE=\"0666\"" >> "/etc/udev/rules.d/99-nivisa_usbraw.rules" + if [ $? != 0 ] ; then +- echo "An error occurred while trying to write to \"/etc/udev/rules.d/nivisa_usbraw.rules\"." ++ echo "An error occurred while trying to write to \"/etc/udev/rules.d/99-nivisa_usbraw.rules\"." + echo "Aborted." + exit 1 ++ else ++ echo "Added udev rules in \"/etc/udev/rules.d/99-nivisa_usbraw.rules\"." ++ echo "" + fi + + # Ensure that udev will update the rules it uses |