summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/linux-gpib/Manifest1
-rw-r--r--sci-libs/linux-gpib/files/linux-gpib-4.3.0-perl.patch9
-rw-r--r--sci-libs/linux-gpib/linux-gpib-4.3.0.ebuild179
3 files changed, 189 insertions, 0 deletions
diff --git a/sci-libs/linux-gpib/Manifest b/sci-libs/linux-gpib/Manifest
index 9b8960994239..fa366720b807 100644
--- a/sci-libs/linux-gpib/Manifest
+++ b/sci-libs/linux-gpib/Manifest
@@ -1,3 +1,4 @@
DIST gpib_firmware-2006-11-12.tar.gz 169357 BLAKE2B 05f1be78545e025d76e2b9819a5dcac5a6715dfbb6df5c6fbe8b78900adf8ca7b1c28db350674ff1dd9c77e24507e98b536ca1af8b558c9a46ef8c25034c9769 SHA512 164d6fcfb3af43933f0a16645276f7d527a7aa24ef311f6ae3dcd7f45c41f92c855cf221bc946772f43fc2f9524057abc34bbd7d805c89b33ed7e111bc6870af
DIST linux-gpib-4.1.0.tar.gz 1529480 BLAKE2B b49df07f15d0f91b9d475052993421979d6776ef15aaa9b7e49632db9018f0cbd9ff38d12e2afa9e8027202e450dfc487ac9e2e6ab719086646d983cc41b3482 SHA512 037ed9e484a83caccb15d2d142eef6f1eec356ae972480ca7a676a318d3e9f844fc1911c1b30869b4bb14ef0b4cd10587a803426df9145966bafe22ca7316bd8
DIST linux-gpib-4.2.0.tar.gz 1431440 BLAKE2B 7b6adf562963e0785f960c072f3f3d67cb91df9090205d8fecb0dc3170d3a1ac3719732919bae112e06b47387499ffe49a0144e72caa27ba39c85c8b98e56786 SHA512 1505c2c04f16bf7e92b9dd474f09edd242520a96f9e4d8eea88ebd44d0a82d653055155c1bfcde69da5355d609d400e3cb682da8aae83f59f1e565307a3fc4a7
+DIST linux-gpib-4.3.0.tar.gz 1375852 BLAKE2B e2daa444ddf4c0c34084f264247051d4ce1c8103d8ae5d91b02d4742131c1f92ded02775eb0f8b0ea29820e2ae7b61c3132c74084a876e86fbb4efaf11688773 SHA512 8db4eb6d606c68ffacc67988479684fec815fc552756a6c93466ef0dfc93368771bb551944e3afc31db83e72e464ec1fb289fdcf80b4a6be1617e734fe3b9d65
diff --git a/sci-libs/linux-gpib/files/linux-gpib-4.3.0-perl.patch b/sci-libs/linux-gpib/files/linux-gpib-4.3.0-perl.patch
new file mode 100644
index 000000000000..b969435cd9c1
--- /dev/null
+++ b/sci-libs/linux-gpib/files/linux-gpib-4.3.0-perl.patch
@@ -0,0 +1,9 @@
+diff -ruN linux-gpib-user-4.3.0.orig/language/Makefile.am linux-gpib-user-4.3.0/language/Makefile.am
+--- linux-gpib-user-4.3.0.orig/language/Makefile.am 2019-08-23 11:30:12.000000000 +0300
++++ linux-gpib-user-4.3.0/language/Makefile.am 2020-04-18 16:15:15.558426112 +0300
+@@ -73,4 +73,4 @@
+ $(do_subst) < $(srcdir)/perl/Makefile.PL.in >perl/Makefile.PL
+
+ perl/Makefile: perl/Makefile.PL
+- -(cd perl && $(PERL) Makefile.PL)
++ -(cd perl && $(PERL) Makefile.PL PREFIX=$(EPREFIX)/usr INSTALLDIRS=vendor INSTALLMAN3DIR='none' DESTDIR="$(DESTDIR)" )
diff --git a/sci-libs/linux-gpib/linux-gpib-4.3.0.ebuild b/sci-libs/linux-gpib/linux-gpib-4.3.0.ebuild
new file mode 100644
index 000000000000..dadf8cae4b8b
--- /dev/null
+++ b/sci-libs/linux-gpib/linux-gpib-4.3.0.ebuild
@@ -0,0 +1,179 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_6 python3_7 )
+
+inherit readme.gentoo-r1 autotools perl-functions python-single-r1 toolchain-funcs udev
+
+DESCRIPTION="Driver library for GPIB (IEEE 488.2) hardware"
+HOMEPAGE="https://linux-gpib.sourceforge.io/"
+SRC_URI="mirror://sourceforge/linux-gpib/${P}.tar.gz
+ firmware? ( https://linux-gpib.sourceforge.io/firmware/gpib_firmware-2006-11-12.tar.gz )
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="pcmcia static guile perl php python tcl doc firmware"
+
+S="${WORKDIR}/${PN}-user-${PV}"
+
+COMMONDEPEND="
+ sys-libs/readline:=
+ tcl? ( dev-lang/tcl:0= )
+ guile? ( dev-scheme/guile:12 )
+ perl? ( dev-lang/perl:= )
+ php? ( dev-lang/php:= )
+ python? ( ${PYTHON_DEPS} )
+ firmware? ( sys-apps/fxload )"
+RDEPEND="${COMMONDEPEND}
+ acct-group/gpib
+ ~sci-libs/linux-gpib-modules-${PV}
+"
+DEPEND="${COMMONDEPEND}
+ virtual/pkgconfig
+ doc? ( app-text/docbook-sgml-utils )
+ perl? ( virtual/perl-ExtUtils-MakeMaker )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.3.0-perl.patch
+)
+
+pkg_setup() {
+ use perl && perl_set_version
+ use python && python_setup
+}
+
+src_unpack() {
+ default
+ unpack "${WORKDIR}/${P}/${PN}-user-${PV}.tar.gz"
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static) \
+ $(use_enable guile guile-binding) \
+ $(use_enable perl perl-binding) \
+ $(use_enable php php-binding) \
+ $(use_enable python python-binding) \
+ $(use_enable tcl tcl-binding) \
+ $(use_enable doc documentation)
+}
+
+src_compile() {
+ FIRM_DIR=/usr/share/usb
+ emake \
+ DESTDIR="${D}" \
+ INSTALL_MOD_PATH="${D}" \
+ HOTPLUG_USB_CONF_DIR=/etc/hotplug/usb \
+ UDEV_RULES_DIR="$(get_udevdir)"/rules.d \
+ USB_FIRMWARE_DIR=${FIRM_DIR} \
+ docdir=/usr/share/doc/${PF}/html
+}
+
+src_install() {
+ FIRM_DIR=/usr/share/usb
+ emake \
+ DESTDIR="${D}" \
+ INSTALL_MOD_PATH="${D}" \
+ HOTPLUG_USB_CONF_DIR=/etc/hotplug/usb \
+ UDEV_RULES_DIR="$(get_udevdir)"/rules.d \
+ USB_FIRMWARE_DIR=${FIRM_DIR} \
+ docdir=/usr/share/doc/${PF}/html install
+
+ if use perl; then
+ einfo "Installing perl module"
+ cd "${S}"/language/perl || die
+ DESTDIR=${D} emake install
+ perl_fix_packlist
+ perl_delete_emptybsdir
+ cd "${S}" || die
+ fi
+
+ echo "KERNEL==\"gpib[0-9]*\", MODE=\"0660\", GROUP=\"gpib\"" >> 99-gpib.rules
+ udev_dorules 99-gpib.rules
+
+ dodoc doc/linux-gpib.pdf ChangeLog AUTHORS README* NEWS
+
+ insinto /etc
+ newins util/templates/gpib.conf gpib.conf
+ newins util/templates/gpib.conf gpib.conf.example
+
+ if use pcmcia; then
+ dodir /etc/pcmcia
+ insinto /etc/pcmcia
+ doins "${S}"/etc/pcmcia/*
+ fi
+
+ # fix rules files
+ local f
+ find "${D}$(get_udevdir)"/rules.d -type f -print0 | while read -rd '' f ; do
+ grep -q "${D}" "${f}" && einfo "File ${f} contains a temporary path, fixing."
+ sed -i -e "s:${D}:/:g" "${f}"
+ done
+
+ DOC_CONTENTS="
+As the udev rules were changed and refactored in this release it is
+necessary to remove any manually installed pre-4.3.0 gpib udev rules files
+in /etc/udev/rules.d/. The files to remove are:
+\n
+ 99-agilent_82357a.rules\n
+ 99-gpib-generic.rules\n
+ 99-ni_usb_gpib.rules\n
+\n
+You need to run the 'gpib_config' utility to setup the driver before
+you can use it. In order to do it automatically you can add to your
+start script something like this (supposing the appropriate driver
+is loaded on the startup):
+\n
+ gpib_config --minor 0
+\n
+To give a user access to the computer's gpib board you will have to add
+them to the group 'gpib' or, you could change the permissions on the device
+files /dev/gpib[0-15] to something you like better, using 'chmod'
+\n
+Edit /etc/gpib.conf to match your interface board, and any devices you wish
+to open via ibfind(). See the documentation in /usr/share/linux-gpib/html for
+more information.
+\n
+"
+
+ if use pcmcia; then
+ DOC_CONTENTS+='
+For PCMCIA cards:\n
+All files needed for a PCMCIA board were copied to /etc/pcmcia.
+You may wish to edit the options passed to the gpib_config call in the
+/etc/pcmcia/linux-gpib-pcmcia script.
+You may need to send a SIGHUP signal to the cardmgr daemon to force it
+to reload the files in /etc/pcmcia \(alternatively you could use your
+pcmcia init.d script to restart the cardmgr, or you could just reboot\).
+The driver module will be loaded as needed by the cardmgr.
+
+'
+ fi
+
+ if use firmware; then
+ DOC_CONTENTS+='
+For Agilent \(HP\) 82341C and 82341D cards:
+The firmware for these boards is uploaded by passing the appropriate
+firmware file from /usr/share/linux-gpib/hp_82341 directory to
+gpib_config using the -I or --init-data command line option. Example:\n
+gpib_config --minor 0 --init-data /usr/share/linux-gpib/hp_82341/hp_82341c_fw.bin
+'
+ fi
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}