diff options
author | Andreas K. Hüttel <dilfridge@gentoo.org> | 2011-01-31 22:29:39 +0000 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2011-01-31 22:29:39 +0000 |
commit | 6fea2450cf3c5de4137864ddf91dde9c9cd9c501 (patch) | |
tree | 8550ba7c4990a77955fb67382fe6aeb1aaaf6f85 /sci-libs/linux-gpib | |
parent | Added pmask for sci-libs/linux-gpib (about to be committed) (diff) | |
download | gentoo-2-6fea2450cf3c5de4137864ddf91dde9c9cd9c501.tar.gz gentoo-2-6fea2450cf3c5de4137864ddf91dde9c9cd9c501.tar.bz2 gentoo-2-6fea2450cf3c5de4137864ddf91dde9c9cd9c501.zip |
New package, fixes bug 165399. Thanks to antonmx and Ben Schwartz for their work. Initially
pmasked since the ebuild still needs a lot of QA cleanup (especially concerning the language
bindings) and requires exotic hardware for testing.
(Portage version: 2.1.9.35/cvs/Linux x86_64)
Diffstat (limited to 'sci-libs/linux-gpib')
-rw-r--r-- | sci-libs/linux-gpib/ChangeLog | 14 | ||||
-rw-r--r-- | sci-libs/linux-gpib/files/linux-gpib-3.2.15-build.patch | 44 | ||||
-rw-r--r-- | sci-libs/linux-gpib/linux-gpib-3.2.15.ebuild | 169 | ||||
-rw-r--r-- | sci-libs/linux-gpib/metadata.xml | 12 |
4 files changed, 239 insertions, 0 deletions
diff --git a/sci-libs/linux-gpib/ChangeLog b/sci-libs/linux-gpib/ChangeLog new file mode 100644 index 000000000000..90fab1c40369 --- /dev/null +++ b/sci-libs/linux-gpib/ChangeLog @@ -0,0 +1,14 @@ +# ChangeLog for sci-libs/linux-gpib +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sci-libs/linux-gpib/ChangeLog,v 1.1 2011/01/31 22:29:39 dilfridge Exp $ + +*linux-gpib-3.2.15 (31 Jan 2011) + + 31 Jan 2011; Andreas K. Huettel <dilfridge@gentoo.org> + +linux-gpib-3.2.15.ebuild, +files/linux-gpib-3.2.15-build.patch, + +metadata.xml: + New package, fixes bug 165399. Thanks to antonmx and Ben Schwartz for + their work. Initially pmasked since the ebuild still needs a lot of QA + cleanup (especially concerning the language bindings) and requires exotic + hardware for testing. + diff --git a/sci-libs/linux-gpib/files/linux-gpib-3.2.15-build.patch b/sci-libs/linux-gpib/files/linux-gpib-3.2.15-build.patch new file mode 100644 index 000000000000..14a186875748 --- /dev/null +++ b/sci-libs/linux-gpib/files/linux-gpib-3.2.15-build.patch @@ -0,0 +1,44 @@ +diff -ruN linux-gpib-3.2.15-0-orig/drivers/Makefile.am linux-gpib-3.2.15/drivers/Makefile.am +--- linux-gpib-3.2.15-0-orig/drivers/Makefile.am 2007-04-19 17:21:04.000000000 +0200 ++++ linux-gpib-3.2.15/drivers/Makefile.am 2011-01-24 23:20:59.000000000 +0100 +@@ -27,39 +27,13 @@ + CC="$(LINUX_CC) -I@abs_top_srcdir@ -I@abs_top_srcdir@/drivers/gpib/include -I@abs_top_srcdir@/include" \ + SUBDIRS="$(GPIB_ABS_MODULE_SUBDIR)" + +-install-data-hook: device-file-check /etc/gpib.conf ++install-data-hook: /etc/gpib.conf + $(MAKE) -C $(LINUX_SRCDIR) V=1 modules_install\ + CC="$(LINUX_CC) -I@abs_top_srcdir@ -I@abs_top_srcdir@/driver/include -I@abs_top_srcdir@/include" \ + SUBDIRS="$(GPIB_ABS_MODULE_SUBDIR)" INSTALL_MOD_DIR="gpib" +- $(DEPMOD) -ae +- +-/dev/gpib0: +- groupadd gpib || echo "group gpib exists" +- for i in `seq 0 15`; \ +- do \ +- mknod -m u=rw,g=rw,o= /dev/gpib$${i} c $(IBMAJOR) $${i} || exit 1; \ +- chown root:gpib /dev/gpib$${i}; \ +- done +- +-.PHONY : device-file-check +-device-file-check: /dev/gpib0 +- @if [ ! -c /dev/gpib0 ]; then \ +- if [ -a /dev/gpib0 ]; then \ +- echo "A file or directory called /dev/gpib0 exists but it is not" \ +- "a character device. Delete or move it and try again."; \ +- exit 1; \ +- fi; \ +- fi +- @ls -l /dev/gpib0 | grep -q "$(IBMAJOR)"; \ +- if [ $$? != 0 ]; then \ +- echo "/dev/gpib0 has the wrong major number. " \ +- "Delete your /dev/gpibX files and try again."; \ +- exit 1; \ +- fi + + #should move this to util/templates Makefile.am when it exists + /etc/gpib.conf: +- $(INSTALL_DATA) -D $(top_srcdir)/util/templates/gpib.conf /etc/gpib.conf + + #make sure compiled files, etc don't make it into distribution tarballs + dist-hook: diff --git a/sci-libs/linux-gpib/linux-gpib-3.2.15.ebuild b/sci-libs/linux-gpib/linux-gpib-3.2.15.ebuild new file mode 100644 index 000000000000..e301d23e5e43 --- /dev/null +++ b/sci-libs/linux-gpib/linux-gpib-3.2.15.ebuild @@ -0,0 +1,169 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-libs/linux-gpib/linux-gpib-3.2.15.ebuild,v 1.1 2011/01/31 22:29:39 dilfridge Exp $ + +EAPI=3 + +inherit base linux-mod autotools + +DESCRIPTION="Kernel module and driver library for GPIB (IEEE 488.2) hardware" +HOMEPAGE="http://linux-gpib.sourceforge.net/" +SRC_URI="mirror://sourceforge/linux-gpib/${P}.tar.gz + firmware? ( http://linux-gpib.sourceforge.net/firmware/gpib_firmware-2006-11-12.tar.gz )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="pcmcia static debug guile perl php python tcl doc firmware" + +RDEPEND=" + tcl? ( dev-lang/tcl ) + guile? ( dev-scheme/guile ) + perl? ( dev-lang/perl ) + php? ( dev-lang/php ) + python? ( dev-lang/python ) + firmware? ( sys-apps/fxload ) +" + +DEPEND="${RDEPEND} + sys-kernel/module-rebuild + doc? ( app-text/docbook-sgml-utils ) +" + +PATCHES=( "${FILESDIR}/${P}-build.patch" ) + +pkg_setup () { + linux-mod_pkg_setup + + case ${KV_MINOR} in + 4) die "This version of Linux-GPIB requires a version 2.6.x of the Linux kernel. 2.4.x kernels are supported by Linux-GPIB versions 3.1.x." ;; + 6) ;; + *) die "Unsupported kernel version '${KV}'." ;; + esac + + if [ ${KV_PATCH} -lt 8 ] ; then + die "Kernel versions older than 2.6.8 are not supported." + fi +} + +src_prepare () { + base_src_prepare + eautoreconf +} + +src_configure() { + set_arch_to_kernel + econf \ + $(use_enable pcmcia) \ + $(use_enable static) \ + $(use_enable debug driver-debug) \ + $(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) \ + --with-linux-srcdir=${KV_DIR} \ + || die +} + +src_compile() { + emake || die +} + +src_install () { + + FIRM_DIR=/usr/share/usb + + # Here I changed the sbindir in order to install the gpib_config to /sbin, + # not /usr/sbin. This is done to enable running gpib_config from + # the modprobe.conf file: if /usr is not in the root file system, + # but a mounted partition then gpib_congig cannot be found in the moment when + # modprobe is run. + make \ + DESTDIR=${D} \ + INSTALL_MOD_PATH=${D} \ + HOTPLUG_USB_CONF_DIR=${D}/etc/hotplug/usb \ + USB_FIRMWARE_DIR=${D}${FIRM_DIR} \ + docdir=/usr/share/doc/${PF}/html \ + install || die "install problem" + + echo "KERNEL==\"gpib[0-9]*\", MODE=\"0660\", GROUP=\"gpib\"" >> 99-gpib.rules + insinto /etc/udev/rules.d/ + doins 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 + + if use firmware ; then + + dodir "${FIRM_DIR}/agilent_8237a" + insinto "${FIRM_DIR}/agilent_8237a" + doins "${WORKDIR}"/gpib_firmware-2006-11-12/agilent_8237a/* + + dodir "${FIRM_DIR}/ni_gpib_usb_b" + insinto "${FIRM_DIR}/ni_gpib_usb_b" + doins "${WORKDIR}"/gpib_firmware-2006-11-12/ni_gpib_usb_b/* + + dodir "/usr/share/linux-gpib/hp_82341" + insinto "/usr/share/linux-gpib/hp_82341" + doins "${WORKDIR}"/gpib_firmware-2006-11-12/hp_82341/* + + fi +} + +pkg_preinst () { + linux-mod_pkg_preinst + enewgroup gpib +} + +pkg_postinst () { + linux-mod_pkg_postinst + + einfo "You need to run the 'gpib_config' utility to setup the driver before" + einfo "you can use it. In order to do it automatically you can add to your" + einfo "start script something like this (supposing the appropriate driver" + einfo "is loaded on the startup):" + einfo " gpib_config --minor 0" + einfo "" + einfo "To give a user access to the computer's gpib board you will have to add" + einfo "them to the group 'gpib' or, you could change the permissions on the device" + einfo "files /dev/gpib[0-15] to something you like better, using 'chmod'." + einfo "" + einfo "Edit /etc/gpib.conf to match your interface board, and any devices you wish" + einfo "to open via ibfind(). See the documentation in /usr/share/linux-gpib/html for" + einfo "more information." + einfo "" + + if use pcmcia ; then + einfo "For PCMCIA cards:" + einfo "All files needed for a PCMCIA board were copied to /etc/pcmcia." + einfo "You may wish to edit the options passed to the gpib_config call in the" + einfo "/etc/pcmcia/linux-gpib-pcmcia script." + einfo "You may need to send a SIGHUP signal to the cardmgr daemon to force it" + einfo "to reload the files in /etc/pcmcia (alternatively you could use your" + einfo "pcmcia init.d script to restart the cardmgr, or you could just reboot)." + einfo "The driver module will be loaded as needed by the cardmgr." + einfo "" + fi + + if use firmware ; then + einfo "For Agilent (HP) 82341C and 82341D cards:" + einfo "The firmware for these boards is uploaded by passing the appropriate" + einfo "firmware file from /usr/share/linux-gpib/hp_82341 directory to" + einfo "gpib_config using the -I or --init-data command line option. Example:" + einfo "gpib_config --minor 0 --init-data \\" + einfo "/usr/share/linux-gpib/hp_82341/hp_82341c_fw.bin" + einfo "" + fi + +} diff --git a/sci-libs/linux-gpib/metadata.xml b/sci-libs/linux-gpib/metadata.xml new file mode 100644 index 000000000000..7de22857a15d --- /dev/null +++ b/sci-libs/linux-gpib/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>sci-electronics</herd> + <maintainer> + <email>dilfridge@gentoo.org</email> + <name>Andreas K. Huettel</name> + </maintainer> + <use> + <flag name='firmware'>Install firmware</flag> + </use> +</pkgmetadata> |