summaryrefslogtreecommitdiff
path: root/sci-libs/linux-gpib
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/linux-gpib')
-rw-r--r--sci-libs/linux-gpib/Manifest1
-rw-r--r--sci-libs/linux-gpib/linux-gpib-9999.ebuild242
2 files changed, 243 insertions, 0 deletions
diff --git a/sci-libs/linux-gpib/Manifest b/sci-libs/linux-gpib/Manifest
index 24df964eb3dd..6cc8e7c3758e 100644
--- a/sci-libs/linux-gpib/Manifest
+++ b/sci-libs/linux-gpib/Manifest
@@ -2,4 +2,5 @@ AUX linux-gpib-4.3.0-perl.patch 546 BLAKE2B 9695c1a9f48a2a8bcb5f5998c40eb909e6b1
DIST gpib_firmware-2008-08-10.tar.gz 173004 BLAKE2B 05fcde09de5246b86004c263c733d64316511bdb0b84dfbd9b94cb78e2909c0d191ff21ee0d77e7f0947e9231bd4cd62d6348e8f9beefd6d201b473732ff23d2 SHA512 f2a0ee3316b75ac36ed88568e45ca4c69935a6d10783c65582003ab39686f2a69d3002901866065f4f5efa9fdd4c779e038d1d7ce24bba266a619c164d5ac10d
DIST linux-gpib-4.3.6.tar.gz 1433121 BLAKE2B 64e2b19106d0531df990b1338f82a71707e54f448d652f6379eb9cd71feb84637090ed8fdfb0264248aa6879d5b9a1dc50e75c21a2c22a31397120eea5903e98 SHA512 a8005c71bfddb854ecbe4df0a81530e44378150242508b10df58c61d039c6d329020407608e31f1ef360de0c83169e76b793c032256e732d229bfd2da4cbaa35
EBUILD linux-gpib-4.3.6-r100.ebuild 5029 BLAKE2B 23cc0f14adb5db702da20076172422640b9e6f99115a27a0a17d8528fac14c69588e31202ca765ec8b237bbd27fa6110349f3bb3f2284459040f37c12988bf4e SHA512 e0eefdaeec929db676c26982bb884cd85e58b8a121f4f80c1ea202f65afeb9c173d71dbeadb86b4c5c4abd38ff680df4d4c79c3bca4088d501f6c538eab99769
+EBUILD linux-gpib-9999.ebuild 6001 BLAKE2B c0f6d7729d2b186941e61d9053ba4c8453702a6e1166cc12ffb42cc4411e716155bc40b18683f6964a06f3bf24106ab045da8005a67c8217b2e406cd7e640246 SHA512 7ed4b4355256432e40211bba430bc7e78aa65ff2e42fb05337dd8d96b020843f408c1bf431fdfa3e88e56d2eea4f9c11d74af0de2e3ca6d214ba96cc7a1f41ff
MISC metadata.xml 548 BLAKE2B c976143b910efb6a8920f064f35fdac9cb325ff272aca8a7644511300f4dfe9232c280577a90eae225ca4f88bc2b4cd09d175d4190bc13513d89457f57c9bb52 SHA512 c611a420ab28d623b5b9167bd59c04c2fe27404a7fd85de72a555f99ef8bad4383702482ae808d4eb66014a9e63ca057aa7195748f9c230f0778fcbde07fb71f
diff --git a/sci-libs/linux-gpib/linux-gpib-9999.ebuild b/sci-libs/linux-gpib/linux-gpib-9999.ebuild
new file mode 100644
index 000000000000..25af503e2da7
--- /dev/null
+++ b/sci-libs/linux-gpib/linux-gpib-9999.ebuild
@@ -0,0 +1,242 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+PYTHON_COMPAT=( python3_{10..13} )
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+
+inherit readme.gentoo-r1 autotools distutils-r1 guile-single perl-functions udev
+
+# Check for latest firmware version on bump
+FW_PV="2008-08-10"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.code.sf.net/p/linux-gpib/git"
+ S="${WORKDIR}/${P}/${PN}-user"
+else
+ SRC_URI="https://downloads.sourceforge.net/linux-gpib/${P}.tar.gz"
+ S="${WORKDIR}/${PN}-user-${PV}"
+ KEYWORDS="~amd64 ~arm ~x86"
+fi
+
+DESCRIPTION="Driver library for GPIB (IEEE 488.2) hardware"
+HOMEPAGE="https://linux-gpib.sourceforge.io/"
+SRC_URI+="
+ firmware? ( https://linux-gpib.sourceforge.io/firmware/gpib_firmware-${FW_PV}.tar.gz )
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="pcmcia static guile perl php python tcl doc firmware"
+REQUIRED_USE="
+ guile? ( ${GUILE_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+COMMONDEPEND="
+ sys-libs/readline:=
+ tcl? ( dev-lang/tcl:0= )
+ guile? ( ${GUILE_DEPS} )
+ perl? ( dev-lang/perl:= )
+ php? ( dev-lang/php:= )
+ firmware? ( sys-apps/fxload )
+"
+RDEPEND="${COMMONDEPEND}
+ acct-group/gpib
+ ~sci-libs/linux-gpib-modules-${PV}
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${COMMONDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/docbook-sgml-utils[jadetex] )
+ python? ( ${DISTUTILS_DEPS} ${PYTHON_DEPS} )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.3.0-perl.patch
+)
+
+pkg_setup() {
+ use guile && guile-single_pkg_setup
+ use perl && perl_set_version
+ use python && python_setup
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ default
+ unpack "${WORKDIR}/${P}/${PN}-user-${PV}.tar.gz"
+ fi
+}
+
+src_prepare() {
+ default
+
+ use guile && guile_bump_sources
+
+ # We have to use --root instead of --prefix for setup.py.
+ # Otherwise the python files are not installed properly into site-packages.
+ sed -i -e \
+ 's/--prefix=$(DESTDIR)$(prefix)/--root=$(DESTDIR)/g' \
+ language/python/Makefile.am || die
+
+ eautoreconf
+
+ if use python; then
+ pushd language/python >/dev/null || die
+ distutils-r1_src_prepare
+ popd >/dev/null || die
+ fi
+}
+
+src_configure() {
+ myeconfargs=(
+ $(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)
+ --disable-python-binding
+ )
+
+ econf "${myeconfargs[@]}"
+
+ if use python; then
+ pushd language/python >/dev/null || die
+ distutils-r1_src_configure
+ popd >/dev/null || die
+ fi
+}
+
+src_compile() {
+ default
+ if use python; then
+ pushd language/python >/dev/null || die
+ distutils-r1_src_compile
+ popd >/dev/null || die
+ fi
+}
+
+src_install() {
+ # PYTHONDONTWRITEBYTECODE=0 is required, otherwise
+ # installation of the python files is skipped
+ FIRM_DIR="${EPREFIX}"/usr/share/usb
+ emake \
+ DESTDIR="${ED}" \
+ INSTALL_MOD_PATH="${ED}" \
+ HOTPLUG_USB_CONF_DIR=/etc/hotplug/usb \
+ UDEV_RULES_DIR="$(get_udevdir)"/rules.d \
+ USB_FIRMWARE_DIR=${FIRM_DIR} \
+ PYTHONDONTWRITEBYTECODE=0 \
+ docdir="/usr/share/doc/${PF}/html" install
+
+ use guile && guile_unstrip_ccache
+
+ if use perl; then
+ einfo "Installing perl module"
+ cd "${S}"/language/perl || die
+ emake DESTDIR="${ED}" install
+ perl_fix_packlist
+ perl_delete_emptybsdir
+ cd "${S}" || die
+ fi
+
+ if use python; then
+ pushd language/python >/dev/null || die
+ distutils-r1_src_install
+ popd >/dev/null || die
+ fi
+
+ echo "KERNEL==\"gpib[0-9]*\", MODE=\"0660\", GROUP=\"gpib\"" >> 99-gpib.rules || die
+ udev_dorules 99-gpib.rules
+
+ dodoc AUTHORS README* NEWS
+ if [[ ${PV} == 9999 ]]; then
+ dodoc ../ChangeLog
+ else
+ dodoc doc/linux-gpib.pdf ChangeLog
+ fi
+
+ insinto /etc
+ newins util/templates/gpib.conf gpib.conf
+ newins util/templates/gpib.conf gpib.conf.example
+
+ if use pcmcia; then
+ insinto /etc/pcmcia
+ doins "${S}"/etc/pcmcia/*
+ fi
+
+ # remove .la files
+ find "${ED}" -name '*.la' -delete || die
+
+ 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
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}