From 45672c4676d9e146412885b8f570adedc8135405 Mon Sep 17 00:00:00 2001 From: "Andreas K. Hüttel" Date: Wed, 4 Oct 2017 15:21:29 +0200 Subject: sci-libs/linux-gpib: Version bump Package-Manager: Portage-2.3.11, Repoman-2.3.3 --- sci-libs/linux-gpib/Manifest | 1 + sci-libs/linux-gpib/linux-gpib-4.1.0.ebuild | 215 ++++++++++++++++++++++++++++ 2 files changed, 216 insertions(+) create mode 100644 sci-libs/linux-gpib/linux-gpib-4.1.0.ebuild (limited to 'sci-libs') diff --git a/sci-libs/linux-gpib/Manifest b/sci-libs/linux-gpib/Manifest index 5e9cb4cd77a4..ec215197d918 100644 --- a/sci-libs/linux-gpib/Manifest +++ b/sci-libs/linux-gpib/Manifest @@ -2,3 +2,4 @@ DIST gpib_firmware-2006-11-12.tar.gz 169357 SHA256 98380a8d12e6e34dccc0c1d82b48e DIST linux-gpib-4.0.3.tar.gz 1311963 SHA256 6af5113978d179d2f281f5d779f235935371bdfbb15c6c7ca848bca5c3f17c4a SHA512 6eb65cae5220d3c7ca607eed5a641e8a68b422d0e76a787e767d3bffd0695672d5137d44a097483176e933ded5eb376ff57e3a61cddd62aceaa43192218c9cfe WHIRLPOOL f0df699fbdaa7d77abd114c8fef1b6ff3aacd67cc233a68f78b0db67b30baeab615beff89861ed47a70216e1fe0d73c518050f80c9d70d0c8199b2b159e068a1 DIST linux-gpib-4.0.4rc2.tar.gz 1231800 SHA256 17b302aca2e2e3cbc988ccf1b0849f590bb7b207c6a63e602fb5017a87a6e2ab SHA512 41014a1888d264f9d6252bbbd1844f7fc6dd3dd23cbc0f680df486a5dc2afd05824d587527e0c95ea709f71291940fe270d61e240164023f9e8f0508f613e7b7 WHIRLPOOL 446f35050147349aa05be0aa429f1515f273d9e67fbf5fe9a2c7b6374faf652be0d932d463a9db0998c00b99015d9c897ffa9af9894344f51a809a7328946f0d DIST linux-gpib-4.0.4rc3.tar.gz 1276866 SHA256 437c58fe9f1dc37a7dae7378821dcb7709b30de3701a92d3c67d63867f2ced3f SHA512 915db5c41b613706053b431aec5d0c3d1f309e8a949842f18ee011614fa126ee464c6d5d46744d10a4ae85a73bb7489280d25dddbf7724b0d5e32f65eae67829 WHIRLPOOL f492694b709aba1e06fc3d45c4c266e73230a4e494fb9ff64dec91ab25142b3a2c96546a4cc226718c236e57d4961cbdfa7ebb14d7867986de4ca05f91c6c9b3 +DIST linux-gpib-4.1.0.tar.gz 1529480 SHA256 4cdd7f38e5b02aa6efe27745dae0e21084dbe3ff90b576fc0867be87a1791e26 SHA512 037ed9e484a83caccb15d2d142eef6f1eec356ae972480ca7a676a318d3e9f844fc1911c1b30869b4bb14ef0b4cd10587a803426df9145966bafe22ca7316bd8 WHIRLPOOL 598f66281577034c842d137015e03364a988f8e752901a0de87d26b3a9d50dc54cf73a4543880c846781e9613336794aeb0c28a7018b0046a45d358395fb94e9 diff --git a/sci-libs/linux-gpib/linux-gpib-4.1.0.ebuild b/sci-libs/linux-gpib/linux-gpib-4.1.0.ebuild new file mode 100644 index 000000000000..16db1db66082 --- /dev/null +++ b/sci-libs/linux-gpib/linux-gpib-4.1.0.ebuild @@ -0,0 +1,215 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit linux-info readme.gentoo-r1 versionator eutils linux-mod autotools perl-functions python-single-r1 toolchain-funcs udev user + +MY_PV=${PV/_/} + +DESCRIPTION="Kernel module and driver library for GPIB (IEEE 488.2) hardware" +HOMEPAGE="http://linux-gpib.sourceforge.net/" +SRC_URI="mirror://sourceforge/linux-gpib/${PN}-${MY_PV}.tar.gz + firmware? ( http://linux-gpib.sourceforge.net/firmware/gpib_firmware-2006-11-12.tar.gz ) +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="isa pcmcia static debug guile perl php python tcl doc firmware" + +COMMONDEPEND=" + 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}" +DEPEND="${COMMONDEPEND} + virtual/pkgconfig + doc? ( app-text/docbook-sgml-utils ) + perl? ( virtual/perl-ExtUtils-MakeMaker )" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +PATCHES=( + "${FILESDIR}"/${PN}-3.2.21-build.patch + "${FILESDIR}"/${PN}-3.2.16-perl.patch + "${FILESDIR}"/${PN}-4.0.3-reallydie.patch +) + +S=${WORKDIR}/${PN}-${MY_PV} + +pkg_setup () { + use perl && perl_set_version + use python && python_setup + + 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 () { + default + kernel_is ge 4 11 0 && eapply "${FILESDIR}"/${PN}-4.0.4_rc2-kernel-4.11.0.patch + eautoreconf +} + +src_configure() { + set_arch_to_kernel + econf \ + $(use_enable isa) \ + $(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 \ + UDEV_RULES_DIR="${D}$(get_udevdir)"/rules.d \ + 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 \ + UDEV_RULES_DIR="${D}/$(get_udevdir)"/rules.d \ + 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} 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 + + 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 + + # 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=" +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_preinst () { + linux-mod_pkg_preinst + use perl && perl_set_version + enewgroup gpib +} + +pkg_postinst () { + linux-mod_pkg_postinst + readme.gentoo_print_elog + + local v + for v in ${REPLACING_VERSIONS}; do + if ! version_is_at_least 3.2.21-r1 ${v}; then + ewarn "sci-libs/linux-gpib-3.2.21-r1 introduces incompatible changes to the kernel" + ewarn "interface. You may need to reboot to make sure the newly built driver modules" + ewarn "are used (some of the driver modules cannot be unloaded)." + ewarn "If you do not do this, every gpib call will just result in an error message." + break + fi + done +} -- cgit v1.2.3-65-gdbad