mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-16 16:50:06 +02:00
x86_64 is used as a baseline: the "x86_64" entry, whatever status it has, is transformed into "all", and then the other entries in ARCHITECTURES either dropped or rearranged appropriately.
165 lines
4.2 KiB
Bash
165 lines
4.2 KiB
Bash
SUMMARY="Utilities for inspecting and manipulating PCI devices"
|
|
DESCRIPTION="The PCI Utilities are a collection of programs for inspecting \
|
|
and manipulating configuration of PCI devices, all based on a common \
|
|
portable library libpci which offers access to the PCI configuration space \
|
|
on a variety of operating systems.
|
|
|
|
The utilities include:
|
|
|
|
- lspci - displays detailed information about all PCI buses and devices in \
|
|
the system
|
|
- setpci - allows reading from and writing to PCI device configuration \
|
|
registers. For example, you can adjust the latency timers with it."
|
|
HOMEPAGE="https://mj.ucw.cz/sw/pciutils/"
|
|
COPYRIGHT="1997-2018 Martin Mares"
|
|
LICENSE="GNU GPL v2"
|
|
REVISION="1"
|
|
SOURCE_URI="ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci/pciutils-$portVersion.tar.gz"
|
|
CHECKSUM_SHA256="30005e341bb0ffa734174e592dc8f0dd928e1c9368b859715812149ed91d8f93"
|
|
PATCHES="pciutils-$portVersion.patchset"
|
|
|
|
ARCHITECTURES="all"
|
|
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
|
|
|
|
libVersion="$portVersion"
|
|
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
|
|
|
|
# libpci.so can only be built (for this package) if gcc >= 4.
|
|
if [ "$effectiveTargetArchitecture" != x86_gcc2 ]; then
|
|
LIBPCI_SHARED=yes
|
|
else
|
|
LIBPCI_SHARED=no
|
|
fi
|
|
|
|
PROVIDES="
|
|
pciutils$secondaryArchSuffix = $portVersion
|
|
cmd:lspci$secondaryArchSuffix = $portVersion
|
|
cmd:setpci$secondaryArchSuffix = $portVersion
|
|
"
|
|
if [ "$LIBPCI_SHARED" = yes ]; then
|
|
PROVIDES="$PROVIDES
|
|
lib:libpci$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
fi
|
|
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
pciutils_data == $portVersion
|
|
"
|
|
|
|
if [ -z "$secondaryArchSuffix" ]; then
|
|
SUMMARY_data="Utilities for inspecting and manipulating PCI devices \
|
|
(data)"
|
|
ARCHITECTURES_data="any"
|
|
PROVIDES_data="
|
|
pciutils_data = $portVersion
|
|
"
|
|
REQUIRES_data=""
|
|
fi
|
|
|
|
PROVIDES_devel="
|
|
pciutils${secondaryArchSuffix}_devel = $portVersion
|
|
devel:libpci$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES_devel="
|
|
pciutils$secondaryArchSuffix == $portVersion base
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
"
|
|
if [ -n "$secondaryArchSuffix" ]; then
|
|
BUILD_REQUIRES="$BUILD_REQUIRES
|
|
pciutils_data == $portVersion
|
|
"
|
|
fi
|
|
|
|
BUILD_PREREQUIRES="
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:make
|
|
cmd:sed
|
|
"
|
|
|
|
BUILD()
|
|
{
|
|
make \
|
|
ZLIB=no \
|
|
SHARED=$LIBPCI_SHARED \
|
|
PREFIX="$prefix" \
|
|
SHAREDIR="$dataDir" \
|
|
IDSDIR="$dataDir"/pciutils \
|
|
SBINDIR="$binDir" \
|
|
MANDIR="$manDir" \
|
|
INCDIR="$includeDir" \
|
|
LIBDIR="$libDir" \
|
|
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
make \
|
|
ZLIB=no \
|
|
SHARED=$LIBPCI_SHARED \
|
|
PREFIX="$prefix" \
|
|
SHAREDIR="$dataDir" \
|
|
IDSDIR="$dataDir"/pciutils \
|
|
SBINDIR="$binDir" \
|
|
MANDIR="$manDir" \
|
|
INCDIR="$includeDir" \
|
|
LIBDIR="$libDir" \
|
|
install install-lib
|
|
|
|
# update-pciids is useless because pci.ids is read-only.
|
|
rm -f "$binDir"/update-pciids
|
|
rm -f "$manDir"/man*/update-pciids.*
|
|
|
|
prepareInstalledDevelLib libpci
|
|
fixPkgconfig
|
|
|
|
if [ -z "$secondaryArchSuffix" ]; then
|
|
maybe_manDir_man7="$manDir"/man7
|
|
packageEntries data \
|
|
"$dataDir"
|
|
sed -i -e "s,$dataDir/,/system/data/,g" \
|
|
"$manDir"/man8/lspci.8 \
|
|
"$manDir"/man8/setpci.8
|
|
local include_pci=/system/$relativeOldIncludeDir/pci
|
|
sed -i -e "s,/usr/include/linux/,$include_pci/,g" \
|
|
"$manDir"/man8/lspci.8
|
|
sed -i -e "s,/usr/include/pci/,$include_pci/,g" \
|
|
"$manDir"/man8/setpci.8
|
|
else
|
|
maybe_manDir_man7=
|
|
rm -rf "$dataDir" "$documentationDir"
|
|
fi
|
|
|
|
# $dataDir/pciutils/pci.ids is not in pciutils but in pciutils_data.
|
|
local data_dir="${dataDir/pciutils$secondaryArchSuffix/pciutils_data}"
|
|
# So we need to fix the idsdir custom parameter in libpci.pc to make
|
|
# pkg-config --variable=idsdir libpci
|
|
# yeld the correct path to the directory where pci.ids will be.
|
|
sed -i \
|
|
-e "/^idsdir=/ s,=$dataDir/,=$data_dir/," \
|
|
"$developLibDir"/pkgconfig/libpci.pc
|
|
|
|
# devel package
|
|
packageEntries devel \
|
|
"$developDir" \
|
|
${maybe_manDir_man7:+"$maybe_manDir_man7"}
|
|
}
|
|
|
|
TEST()
|
|
{
|
|
if [ "$LIBPCI_SHARED" = yes ]; then
|
|
# Do we already have a symlink for the library with its soname?
|
|
if [ ! -e lib/libpci.so.${libVersionCompat##* } ]; then
|
|
# Not yet. So let's create it.
|
|
ln -s libpci.so.$libVersion lib/libpci.so.${libVersionCompat##* }
|
|
fi
|
|
LIBRARY_PATH="$sourceDir/lib${LIBRARY_PATH:+:$LIBRARY_PATH}" \
|
|
"$sourceDir"/lspci
|
|
else
|
|
"$sourceDir"/lspci
|
|
fi
|
|
}
|