Add support for env variable FRITZCAPI_CARDS
authorAlin Năstac <mrness@gentoo.org>
Sun, 28 Nov 2004 10:16:48 +0000 (10:16 +0000)
committerAlin Năstac <mrness@gentoo.org>
Sun, 28 Nov 2004 10:16:48 +0000 (10:16 +0000)
net-dialup/fritzcapi/ChangeLog
net-dialup/fritzcapi/Manifest
net-dialup/fritzcapi/files/digest-fritzcapi-2.6.26.7-r1 [new file with mode: 0644]
net-dialup/fritzcapi/fritzcapi-2.6.26.7-r1.ebuild [new file with mode: 0644]

index 46224f6dd3936794b8ffdf896242bec61c4bed99..a0b18b12a801e4cb5573bfc7a8444efd0e271fbd 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for net-dialup/fritzcapi
 # Copyright 1999-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dialup/fritzcapi/ChangeLog,v 1.2 2004/11/22 06:12:00 mrness Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/fritzcapi/ChangeLog,v 1.3 2004/11/28 10:16:48 mrness Exp $
+
+*fritzcapi-2.6.26.7-r1 (28 Nov 2004)
+
+  28 Nov 2004; Alin Nastac <mrness@gentoo.org> +fritzcapi-2.6.26.7-r1.ebuild:
+  Add support for env variable FRITZCAPI_CARDS. If it is non-empty, only these
+  modules will be installed.
 
   22 Nov 2004; Alin Nastac <mrness@gentoo.org> fritzcapi-2.6.26.7.ebuild:
   Add pcmcia and usb flags to IUSE.
index 253148f6fd6f16012a6b3c8a5b928936f969f6e4..6b4acbdff27c92ff65663fb631d36e6c0915a72f 100644 (file)
@@ -1,14 +1,16 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-MD5 1f97975f589a67c14d90d9070cee4350 fritzcapi-2.6.26.7.ebuild 1559
 MD5 1263c46695d96ea0f5d40540b938c13c metadata.xml 301
-MD5 ae8e42da50b8f33c0fc3581e49d2c54d ChangeLog 534
+MD5 dee9f2b4892009394a34c596d3088a55 ChangeLog 759
+MD5 1f97975f589a67c14d90d9070cee4350 fritzcapi-2.6.26.7.ebuild 1559
+MD5 56afc8aaf5cb53aae9422881becf9cf8 fritzcapi-2.6.26.7-r1.ebuild 2605
 MD5 accf9b4a9f56c30c485802543f4e44d5 files/digest-fritzcapi-2.6.26.7 76
+MD5 accf9b4a9f56c30c485802543f4e44d5 files/digest-fritzcapi-2.6.26.7-r1 76
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.2.6 (GNU/Linux)
 
-iD8DBQFBoYM8jtv59x0+BrURAmYNAKC+SRrbR/qRVYcRY1ntZlZ1vqzxfwCbBnEW
-hWd0wL0AT59oDtUYeU2hqwo=
-=ii8W
+iD8DBQFBqaWZjtv59x0+BrURAoPDAJ9KXAGy8ZkxwYW5IsFQlNsuyDo4fgCgnTAd
+xtXK3AbzTFLfqjMZH1Zn61c=
+=g9jd
 -----END PGP SIGNATURE-----
diff --git a/net-dialup/fritzcapi/files/digest-fritzcapi-2.6.26.7-r1 b/net-dialup/fritzcapi/files/digest-fritzcapi-2.6.26.7-r1
new file mode 100644 (file)
index 0000000..364f6b2
--- /dev/null
@@ -0,0 +1 @@
+MD5 da1774a7774e22afc7bff26d2978118e km_fritzcapi-2.6-26.7.i586.rpm 1904272
diff --git a/net-dialup/fritzcapi/fritzcapi-2.6.26.7-r1.ebuild b/net-dialup/fritzcapi/fritzcapi-2.6.26.7-r1.ebuild
new file mode 100644 (file)
index 0000000..092513f
--- /dev/null
@@ -0,0 +1,82 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/fritzcapi/fritzcapi-2.6.26.7-r1.ebuild,v 1.1 2004/11/28 10:16:48 mrness Exp $
+
+inherit kernel-mod rpm
+
+S="${WORKDIR}/usr/src/kernel-modules/fritzcapi"
+
+DESCRIPTION="SuSE's 2.6 AVM kernel modules for fcclassic, fcpci, fcpcmcia, fcpnp, fcusb, fcusb2, fxusb_CZ and fxusb"
+HOMEPAGE="http://www.avm.de/"
+SRC_URI="ftp://ftp.suse.com/pub/suse/i386/update/9.1/rpm/i586/km_${P/2.6./2.6-}.i586.rpm"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE="pcmcia usb"
+
+RDEPEND=">=net-dialup/capi4k-utils-20040810"
+DEPEND="${RDEPEND}
+       virtual/linux-sources"
+
+FRITZCAPI_MODULES=("fcclassic" "fcpci" "fcpcmcia" "fcpnp" "fcusb" "fcusb2" "fxusb_CZ" "fxusb")
+FRITZCAPI_TARGETS=("fritz.classic" "fritz.pci" "fritz.pcmcia" "fritz.pnp" "fritz.usb" "fritz.usb2" "fritz.xusb_CZ" "fritz.xusb")
+
+pkg_setup() {
+       if ! kernel-mod_is_2_6_kernel; then
+               die "This package works only with 2.6 kernel!"
+       fi
+       if ! kernel-mod_configoption_present ISDN_CAPI_CAPI20; then
+               die "For using the driver you need a kernel with enabled CAPI support."
+       fi
+       kernel-mod_check_modules_supported
+
+       local USERCARD CARD
+       FRITZCAPI_BUILD_TARGETS=""
+       if [ -n "${FRITZCAPI_CARDS}" ]; then
+               #Check existence of user selected cards
+               for USERCARD in ${FRITZCAPI_CARDS} ; do
+                       for ((CARD=0; CARD < ${#FRITZCAPI_MODULES[*]}; CARD++)); do
+                               if [ "$USERCARD" = "${FRITZCAPI_MODULES[CARD]}" ]; then
+                                       FRITZCAPI_BUILD_TARGETS="${FRITZCAPI_BUILD_TARGETS} ${FRITZCAPI_TARGETS[CARD]}"
+                                       continue 2
+                               fi
+                       done
+                       die "Module ${USERCARD} not present in ${P}"
+               done
+       else
+               #Filter build targets by USE
+               for ((CARD=0; CARD < ${#FRITZCAPI_MODULES[*]}; CARD++)); do
+                       if [ ${FRITZCAPI_MODULES[CARD]/pcmcia/} != ${FRITZCAPI_MODULES[CARD]} ] && ! useq pcmcia; then
+                               continue
+                       fi
+                       if [ ${FRITZCAPI_MODULES[CARD]/usb/} != ${FRITZCAPI_MODULES[CARD]} ] && ! useq usb; then
+                               continue
+                       fi
+                       FRITZCAPI_BUILD_TARGETS="${FRITZCAPI_BUILD_TARGETS} ${FRITZCAPI_TARGETS[CARD]}"
+               done
+       fi
+}
+
+src_unpack() {
+       rpm_src_unpack ${A} || die "Could not unpack RPM package."
+}
+
+src_compile() {
+       (
+               unset ARCH
+               emake KERNEL_SOURCE="${ROOT}/usr/src/linux" TARGETS="${FRITZCAPI_BUILD_TARGETS}" modules || \
+                       die "emake modules failed"
+       )
+}
+
+src_install() {
+       insinto /lib/modules/${KV_VERSION_FULL}/extra
+       doins fritz.*/src/*.ko
+}
+
+pkg_postinst() {
+       einfo "Checking kernel module dependencies"
+       test -r "${ROOT}/usr/src/linux/System.map" && \
+               depmod -ae -F "${ROOT}/usr/src/linux/System.map" -b "${ROOT}" -r ${KV}
+}