# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils rpm linux-mod DESCRIPTION="AVM kernel 2.6 modules for Fritz!Card DSL v2.0 PCI" HOMEPAGE="http://opensuse.foehr-it.de/" SRC_URI="http://opensuse.foehr-it.de/rpms/11_1/src/${P}-0.src.rpm" LICENSE="AVM-FC" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="doc" DEPEND="" RDEPEND="net-dialup/capi4k-utils" S="${WORKDIR}/fritz" pkg_setup() { linux-mod_pkg_setup if ! kernel_is 2 6; then die "This package works only with 2.6 kernel!" fi BUILD_TARGETS="all" BUILD_PARAMS="KDIR=${KV_DIR} LIBDIR=${S}/src" MODULE_NAMES="${PN}(net:${S}/src)" } src_unpack() { local BIT="" PAT="01234" if use amd64; then BIT="64bit-" PAT="1234" fi rpm_unpack "${A}" || die "failed to unpack ${A} file" DISTDIR="${WORKDIR}" unpack ${PN}-suse[0-9][0-9]-${BIT}[0-9].[0-9]*-[0-9]*.tar.gz cd "${S}" epatch $(sed -n "s|^Patch[${PAT}]:\s*\(.*\)|../\1|p" ../${PN}.spec) || die epatch "${FILESDIR}/${PN}_kernel-2.6.24.diff" || die convert_to_m src/Makefile || die for i in lib/*-lib.o; do einfo "Localize symbols in ${i##*/} ..." objcopy -L memcmp -L memcpy -L memmove -L memset -L strcat \ -L strcmp -L strcpy -L strlen -L strncmp -L strncpy "${i}" || die done einfo "Adjust 'find_task_by_pid' method calls in src/driver.c ..." sed -i "s/find_task_by_pid\s*(\([^)]*\))/find_pid_ns(\1, 0)/" src/driver.c || die einfo "Adjust MODULE_LICENSE to GPL in src/main.c ..." sed -i "s/MODULE_LICENSE\s*(\"[^\"]*\")\s*\;/MODULE_LICENSE(\"GPL\")\;/" src/main.c || die # http://lkml.indiana.edu/hypermail/linux/kernel/0906.0/03336.html einfo "Adjust 'capi_ctr_reseted' method calls in src/driver.c ..." sed -i "s/capi_ctr_reseted/capi_ctr_down/" src/driver.c || die } src_install() { linux-mod_src_install || die insinto /lib/firmware/isdn doins *.bin || die dodoc CAPI*.txt license.txt || die if use doc ; then dohtml *.html || die fi dosbin drdsl || die insinto /etc/drdsl doins drdsl.ini || die }