mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2025-12-21 21:17:37 -08:00
sci-libs/linux-gpib: add 4.3.7
Closes: https://bugs.gentoo.org/944714 Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
This commit is contained in:
parent
32f7342219
commit
3fed013aab
@ -1,2 +1,3 @@
|
||||
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
|
||||
DIST linux-gpib-4.3.7.tar.gz 1309937 BLAKE2B 22808daa8bc3bbb9c93dc94b0186327ec1f40d72842b00a4d8907d03e769ce378544de5a02b4b597f94a7928c265bcc21055134a14ff8855a0380a83eaa14258 SHA512 a0783cf54f37132b6f608f555d453be3c1da693e4bddff9e87b40c0ba034a44ac640c87f96d187cf6f98501177f09fec04e7380512bcbb7fc8d0d4652b3be7ad
|
||||
|
||||
258
sci-libs/linux-gpib/linux-gpib-4.3.7.ebuild
Normal file
258
sci-libs/linux-gpib/linux-gpib-4.3.7.ebuild
Normal file
@ -0,0 +1,258 @@
|
||||
# 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 linux-info readme.gentoo-r1 autotools guile-single perl-functions python-single-r1 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 )
|
||||
"
|
||||
S="${WORKDIR}/${PN}-user-${PV}"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
|
||||
IUSE="pcmcia static guile perl php python tcl doc firmware +modules"
|
||||
|
||||
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:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
firmware? ( sys-apps/fxload )
|
||||
"
|
||||
RDEPEND="${COMMONDEPEND}
|
||||
acct-group/gpib
|
||||
modules? ( ~sci-libs/linux-gpib-modules-${PV} )
|
||||
"
|
||||
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() {
|
||||
if use modules; then
|
||||
linux-info_pkg_setup
|
||||
if kernel_is -ge 6 13 0; then
|
||||
eerror "The GPIB drivers have been merged upstream into kernel"
|
||||
eerror "version 6.13.0 and up. Please enable CONFIG_GPIB for"
|
||||
eerror "your kernel and disable the \"modules\" USE flag."
|
||||
die "\"modules\" USE flag not supported for this kernel."
|
||||
fi
|
||||
else
|
||||
CONFIG_CHECK="~GPIB"
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
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
|
||||
}
|
||||
@ -8,10 +8,8 @@ PYTHON_COMPAT=( python3_{10..13} )
|
||||
DISTUTILS_EXT=1
|
||||
DISTUTILS_OPTIONAL=1
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
MODULES_OPTIONAL_IUSE=+modules
|
||||
|
||||
inherit autotools distutils-r1 guile-single linux-mod-r1
|
||||
inherit perl-functions readme.gentoo-r1 udev
|
||||
inherit linux-info readme.gentoo-r1 autotools guile-single perl-functions python-single-r1 udev
|
||||
|
||||
# Check for latest firmware version on bump
|
||||
FW_PV="2008-08-10"
|
||||
@ -31,10 +29,13 @@ HOMEPAGE="https://linux-gpib.sourceforge.io/"
|
||||
SRC_URI+="
|
||||
firmware? ( https://linux-gpib.sourceforge.io/firmware/gpib_firmware-${FW_PV}.tar.gz )
|
||||
"
|
||||
S="${WORKDIR}/${PN}-user-${PV}"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="guile pcmcia perl php python static tcl doc firmware"
|
||||
|
||||
IUSE="pcmcia static guile perl php python tcl doc firmware +modules"
|
||||
|
||||
REQUIRED_USE="
|
||||
guile? ( ${GUILE_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
@ -46,12 +47,12 @@ COMMONDEPEND="
|
||||
guile? ( ${GUILE_DEPS} )
|
||||
perl? ( dev-lang/perl:= )
|
||||
php? ( dev-lang/php:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
firmware? ( sys-apps/fxload )
|
||||
"
|
||||
RDEPEND="${COMMONDEPEND}
|
||||
acct-group/gpib
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
!sci-libs/linux-gpib-modules
|
||||
modules? ( ~sci-libs/linux-gpib-modules-${PV} )
|
||||
"
|
||||
DEPEND="${COMMONDEPEND}"
|
||||
BDEPEND="
|
||||
@ -66,7 +67,7 @@ PATCHES=(
|
||||
|
||||
pkg_setup() {
|
||||
if use modules; then
|
||||
linux-mod-r1_pkg_setup
|
||||
linux-info_pkg_setup
|
||||
if kernel_is -ge 6 13 0; then
|
||||
eerror "The GPIB drivers have been merged upstream into kernel"
|
||||
eerror "version 6.13.0 and up. Please enable CONFIG_GPIB for"
|
||||
@ -89,10 +90,6 @@ src_unpack() {
|
||||
else
|
||||
default
|
||||
unpack "${WORKDIR}/${P}/${PN}-user-${PV}.tar.gz"
|
||||
if use modules; then
|
||||
unpack "${WORKDIR}/${P}/${PN}-kernel-${PV}.tar.gz"
|
||||
mv "${WORKDIR}/${PN}-kernel-${PV}" "${WORKDIR}/${PN}-kernel" || die
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
@ -135,11 +132,6 @@ src_configure() {
|
||||
distutils-r1_src_configure
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
|
||||
if use modules; then
|
||||
MODULES_MAKEARGS+=( LINUX_SRCDIR="${KV_OUT_DIR}" )
|
||||
use debug && MODULES_MAKEARGS+=( 'GPIB-DEBUG=1' )
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
@ -149,27 +141,6 @@ src_compile() {
|
||||
distutils-r1_src_compile
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
|
||||
if use modules; then
|
||||
local modlist=(
|
||||
"agilent_82350b=gpib:${S}/../${PN}-kernel:${S}/../${PN}-kernel/drivers/gpib/agilent_82350b"
|
||||
"agilent_82357a=gpib:${S}/../${PN}-kernel:${S}/../${PN}-kernel/drivers/gpib/agilent_82357a"
|
||||
"cb7210=gpib:${S}/../${PN}-kernel:${S}/../${PN}-kernel/drivers/gpib/cb7210"
|
||||
"cec_gpib=gpib:${S}/../${PN}-kernel:${S}/../${PN}-kernel/drivers/gpib/cec"
|
||||
"fmh_gpib=gpib:${S}/../${PN}-kernel:${S}/../${PN}-kernel/drivers/gpib/fmh_gpib"
|
||||
"gpib_bitbang=gpib:${S}/../${PN}-kernel:${S}/../${PN}-kernel/drivers/gpib/gpio"
|
||||
"hp82335=gpib:${S}/../${PN}-kernel:${S}/../${PN}-kernel/drivers/gpib/hp_82335"
|
||||
"hp_82341=gpib:${S}/../${PN}-kernel:${S}/../${PN}-kernel/drivers/gpib/hp_82341"
|
||||
"ines_gpib=gpib:${S}/../${PN}-kernel:${S}/../${PN}-kernel/drivers/gpib/ines"
|
||||
"lpvo_usb_gpib=gpib:${S}/../${PN}-kernel:${S}/../${PN}-kernel/drivers/gpib/lpvo_usb_gpib"
|
||||
"nec7210=gpib:${S}/../${PN}-kernel:${S}/../${PN}-kernel/drivers/gpib/nec7210"
|
||||
"ni_usb_gpib=gpib:${S}/../${PN}-kernel:${S}/../${PN}-kernel/drivers/gpib/ni_usb"
|
||||
"gpib_common=gpib:${S}/../${PN}-kernel:${S}/../${PN}-kernel/drivers/gpib/sys"
|
||||
"tms9914=gpib:${S}/../${PN}-kernel:${S}/../${PN}-kernel/drivers/gpib/tms9914"
|
||||
"tnt4882=gpib:${S}/../${PN}-kernel:${S}/../${PN}-kernel/drivers/gpib/tnt4882"
|
||||
)
|
||||
linux-mod-r1_src_compile
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
@ -185,8 +156,6 @@ src_install() {
|
||||
PYTHONDONTWRITEBYTECODE=0 \
|
||||
docdir="/usr/share/doc/${PF}/html" install
|
||||
|
||||
use modules && linux-mod-r1_src_install
|
||||
|
||||
use guile && guile_unstrip_ccache
|
||||
|
||||
if use perl; then
|
||||
@ -280,7 +249,6 @@ gpib_config --minor 0 --init-data /usr/share/linux-gpib/hp_82341/hp_82341c_fw.bi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use modules && linux-mod-r1_pkg_postinst
|
||||
readme.gentoo_print_elog
|
||||
udev_reload
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user