summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Weber <xmw@gentoo.org>2012-08-03 07:31:12 +0000
committerMichael Weber <xmw@gentoo.org>2012-08-03 07:31:12 +0000
commit6ed45e545f483d60f22e50572d4109ac3013cec1 (patch)
tree2c25605a14296a59aab8f153b66ce9bdbee39d95 /sci-libs/linux-gpib
parentmarked x86 per bug 419327 (diff)
downloadgentoo-2-6ed45e545f483d60f22e50572d4109ac3013cec1.tar.gz
gentoo-2-6ed45e545f483d60f22e50572d4109ac3013cec1.tar.bz2
gentoo-2-6ed45e545f483d60f22e50572d4109ac3013cec1.zip
Fix python support, restrict USE pcmcia (broken on kernels newer 2.6.38), fix firmware installation (bug 379393, thanks Nicolas Boichat) and remove unwanted precompiled binary generate_firmware, fix asm/system.h inclusion on kernel 3.4.0.
(Portage version: 2.1.11.9/cvs/Linux x86_64)
Diffstat (limited to 'sci-libs/linux-gpib')
-rw-r--r--sci-libs/linux-gpib/ChangeLog15
-rw-r--r--sci-libs/linux-gpib/files/linux-gpib-3.2.16-kernel-3.4-asm-includes.patch59
-rw-r--r--sci-libs/linux-gpib/linux-gpib-3.2.16-r2.ebuild185
3 files changed, 256 insertions, 3 deletions
diff --git a/sci-libs/linux-gpib/ChangeLog b/sci-libs/linux-gpib/ChangeLog
index 7a2baa929e06..5382bc41a6c5 100644
--- a/sci-libs/linux-gpib/ChangeLog
+++ b/sci-libs/linux-gpib/ChangeLog
@@ -1,6 +1,16 @@
# 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.4 2011/11/30 01:18:46 dilfridge Exp $
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/linux-gpib/ChangeLog,v 1.5 2012/08/03 07:31:12 xmw Exp $
+
+*linux-gpib-3.2.16-r2 (03 Aug 2012)
+
+ 03 Aug 2012; Michael Weber <xmw@gentoo.org>
+ +files/linux-gpib-3.2.16-kernel-3.4-asm-includes.patch,
+ +linux-gpib-3.2.16-r2.ebuild:
+ Fix python support, restrict USE pcmcia (broken on kernels newer 2.6.38), fix
+ firmware installation (bug 379393, thanks Nicolas Boichat) and remove unwanted
+ precompiled binary generate_firmware, fix asm/system.h inclusion on kernel
+ 3.4.0.
30 Nov 2011; Andreas K. Huettel <dilfridge@gentoo.org>
-linux-gpib-3.2.16.ebuild, linux-gpib-3.2.16-r1.ebuild:
@@ -29,4 +39,3 @@
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.16-kernel-3.4-asm-includes.patch b/sci-libs/linux-gpib/files/linux-gpib-3.2.16-kernel-3.4-asm-includes.patch
new file mode 100644
index 000000000000..40024c2b338d
--- /dev/null
+++ b/sci-libs/linux-gpib/files/linux-gpib-3.2.16-kernel-3.4-asm-includes.patch
@@ -0,0 +1,59 @@
+diff -Pdpru a/drivers/gpib/cb7210/cb7210_cs.c b/drivers/gpib/cb7210/cb7210_cs.c
+--- a/drivers/gpib/cb7210/cb7210_cs.c 2011-04-08 23:01:38.000000000 +0200
++++ b/drivers/gpib/cb7210/cb7210_cs.c 2012-05-28 10:45:35.120662078 +0200
+@@ -34,7 +34,9 @@
+ #include <linux/version.h>
+ #include <linux/module.h>
+ #include <asm/io.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)
+ #include <asm/system.h>
++#endif
+
+ #include <pcmcia/cs_types.h>
+ #include <pcmcia/cs.h>
+diff -Pdpru a/drivers/gpib/ines/ines_cs.c b/drivers/gpib/ines/ines_cs.c
+--- a/drivers/gpib/ines/ines_cs.c 2010-08-25 19:45:09.000000000 +0200
++++ b/drivers/gpib/ines/ines_cs.c 2012-05-28 10:45:56.823537008 +0200
+@@ -31,7 +31,9 @@
+ #include <linux/version.h>
+ #include <linux/module.h>
+ #include <asm/io.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)
+ #include <asm/system.h>
++#endif
+
+ #include <pcmcia/cs_types.h>
+ #include <pcmcia/cs.h>
+diff -Pdpru a/drivers/gpib/sys/ibsys.h b/drivers/gpib/sys/ibsys.h
+--- a/drivers/gpib/sys/ibsys.h 2006-12-21 21:43:40.000000000 +0100
++++ b/drivers/gpib/sys/ibsys.h 2012-05-28 11:38:56.261736416 +0200
+@@ -10,13 +10,15 @@
+ #include <linux/slab.h>
+ #include <linux/mm.h>
+ #include <linux/timer.h>
++#include <linux/version.h>
+
+ #include <asm/io.h>
+-#include <asm/segment.h>
+ #include <asm/irq.h>
+ #include <asm/dma.h>
+ #include <asm/uaccess.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)
+ #include <asm/system.h>
++#endif
+
+ extern int gpib_allocate_board( gpib_board_t *board );
+ extern void gpib_deallocate_board( gpib_board_t *board );
+diff -Pdpru a/drivers/gpib/tnt4882/tnt4882_cs.c b/drivers/gpib/tnt4882/tnt4882_cs.c
+--- a/drivers/gpib/tnt4882/tnt4882_cs.c 2010-08-25 19:47:55.000000000 +0200
++++ b/drivers/gpib/tnt4882/tnt4882_cs.c 2012-05-28 10:44:59.929243930 +0200
+@@ -34,7 +34,9 @@
+ #include <linux/version.h>
+ #include <linux/ioport.h>
+ #include <asm/io.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)
+ #include <asm/system.h>
++#endif
+
+ #include <pcmcia/cs_types.h>
+ #include <pcmcia/cs.h>
diff --git a/sci-libs/linux-gpib/linux-gpib-3.2.16-r2.ebuild b/sci-libs/linux-gpib/linux-gpib-3.2.16-r2.ebuild
new file mode 100644
index 000000000000..522c1717605a
--- /dev/null
+++ b/sci-libs/linux-gpib/linux-gpib-3.2.16-r2.ebuild
@@ -0,0 +1,185 @@
+# Copyright 1999-2012 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.16-r2.ebuild,v 1.1 2012/08/03 07:31:12 xmw Exp $
+
+EAPI=4
+PERL_EXPORT_PHASE_FUNCTIONS=no
+PYTHON_DEPEND="python? 2"
+
+inherit base linux-mod autotools perl-module python
+
+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"
+
+COMMONDEPEND="
+ tcl? ( dev-lang/tcl )
+ guile? ( dev-scheme/guile )
+ perl? ( dev-lang/perl )
+ php? ( dev-lang/php )
+ firmware? ( sys-apps/fxload )"
+RDEPEND="${COMMONDEPEND}"
+DEPEND="${COMMONDEPEND}
+ sys-kernel/module-rebuild
+ doc? ( app-text/docbook-sgml-utils )
+ perl? ( virtual/perl-ExtUtils-MakeMaker )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.2.15-build.patch"
+ "${FILESDIR}/${PN}-3.2.16-perl.patch"
+)
+
+pkg_setup () {
+ perl-module_pkg_setup
+ python_pkg_setup
+ python_set_active_version 2
+ linux-mod_pkg_setup
+
+ if kernel_is -lt 2 6 8 ; then
+ die "Kernel versions older than 2.6.8 are not supported."
+ fi
+
+ # https://sourceforge.net/tracker/?func=detail&aid=3285657&group_id=42378&atid=432940
+ if use pcmcia && kernel_is -ge 2 6 38 ; then
+ die "pcmcia support is broken on kernels newer 2.6.38"
+ fi
+}
+
+src_prepare () {
+ base_src_prepare
+ eautoreconf
+
+ # https://sourceforge.net/tracker/?func=detail&aid=3530207&group_id=42378&atid=432940
+ if kernel_is -ge 3 4 0 ; then
+ epatch "${FILESDIR}"/${P}-kernel-3.4-asm-includes.patch
+ fi
+}
+
+src_configure() {
+ set_arch_to_kernel
+ export PYTHON=$(PYTHON -2 -a)
+ 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} \
+
+}
+
+src_compile() {
+ set_arch_to_kernel
+ FIRM_DIR=/usr/share/usb
+ emake \
+ 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
+}
+
+src_install () {
+ set_arch_to_kernel
+ FIRM_DIR=/usr/share/usb
+ emake \
+ 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
+
+ if use perl; then
+ einfo "Installing perl module"
+ cd "${S}/language/perl" || die
+ DESTDIR=${D} perl-module_src_install
+ cd "${S}" || die
+ fi
+
+ 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
+ insinto "${FIRM_DIR}/agilent_82357a"
+ doins "${WORKDIR}"/gpib_firmware-2006-11-12/agilent_82357a/*
+
+ insinto "${FIRM_DIR}/ni_gpib_usb_b"
+ doins "${WORKDIR}"/gpib_firmware-2006-11-12/ni_gpib_usb_b/*
+
+ insinto "/usr/share/linux-gpib/hp_82341"
+ # do not install precompiled generate_firmware
+ doins "${WORKDIR}"/gpib_firmware-2006-11-12/hp_82341/{*.bin,README}
+ fi
+}
+
+pkg_preinst () {
+ linux-mod_pkg_preinst
+ perl-module_pkg_preinst
+ enewgroup gpib
+}
+
+pkg_postinst () {
+ linux-mod_pkg_postinst
+ perl-module_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
+
+}