diff options
author | Michael Weber <xmw@gentoo.org> | 2012-08-03 07:31:12 +0000 |
---|---|---|
committer | Michael Weber <xmw@gentoo.org> | 2012-08-03 07:31:12 +0000 |
commit | 6ed45e545f483d60f22e50572d4109ac3013cec1 (patch) | |
tree | 2c25605a14296a59aab8f153b66ce9bdbee39d95 /sci-libs/linux-gpib | |
parent | marked x86 per bug 419327 (diff) | |
download | gentoo-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/ChangeLog | 15 | ||||
-rw-r--r-- | sci-libs/linux-gpib/files/linux-gpib-3.2.16-kernel-3.4-asm-includes.patch | 59 | ||||
-rw-r--r-- | sci-libs/linux-gpib/linux-gpib-3.2.16-r2.ebuild | 185 |
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 + +} |