# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI="7" inherit eutils toolchain-funcs linux-mod udev if [[ ${PV} = 9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/OpenCBM/OpenCBM.git" else #SRC_URI="http://debian.trikaliotis.net/opencbm/opencbm_${PV}-1.tar.gz" #SRC_URI="http://www.trikaliotis.net/Download/opencbm-${PV}/opencbm-${PV}-source.tar.bz2" SRC_URI="https://github.com/OpenCBM/OpenCBM/archive/v${PV//./_}.tar.gz -> opencbm-${PV}-source.tar.gz https://github.com/OpenCBM/nibtools/tarball/master -> nibtools-${PV}-source.tar.gz" fi SDIR="include libmisc arch/linux lib cbmctrl cbmformat d64copy cbmcopy libtrans cbmforng d82copy demo/flash demo/morse demo/rpm1541 sample/libtrans cbmrpm41" DESCRIPTION="OpenCBM is a package to control and use serial devices as used by most Commodore (CBM) 8-bit mach" HOMEPAGE="http://opencbm.trikaliotis.net/" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~ppc ~sparc ~x86" #KEYWORDS="" IUSE="doc" DEPEND="virtual/linux-sources dev-embedded/cc65 app-text/linuxdoc-tools app-text/docbook-xml-dtd:4.1.2 dev-libs/libusb-compat" S="${WORKDIR}"/OpenCBM-${PV//./_} BUILD_PARAMS="KDIR=$KERNEL_DIR" MODULE_NAMES="cbm(misc:${S}/opencbm/sys/linux:${S}/opencbm/sys/linux)" BUILD_TARGETS="all" src_prepare() { rm -rf "${WORKDIR}"/${PN}-${PV}/{cbm4wingui,gui4cbm4win.vb6.old,windrv} # convert linefeed #edos2unix `find . -name '*' -type f` # 6502 sources ar always up to date touch `find . -name '*.?65' -type f` # add debian patches no demo & doc & no kernel eapply "${FILESDIR}/001_opencbm-0.4.99.98-ncurses6-1.patch" # sed correct path sed -e 's,^PREFIX.*,PREFIX = /usr,' \ -e 's,/man/man1,/share/man/man1,g' \ -e 's,etc/udev/rules.d,lib/udev/rules.d,g' \ -e 's,/info,/share/info,g' -i ${S}/opencbm/LINUX/config.make # sed correct path sed -e 's,xa1541 opencbm/sys/linux/,xa1541,g' \ -e 's,etc/udev/rules.d,lib/udev/rules.d,g' -i ${S}/LINUX/Makefile # copy module makefile that don't intefer with gentoo kernel build system cp ${FILESDIR}/Makefile ${S}/opencbm/sys/linux/Makefile cp -r "${WORKDIR}"/OpenCBM-nibtools-*/* ${S}/opencbm/nibtools/ eapply_user } src_compile() { emake -j1 -f LINUX/Makefile CC="$(tc-getCC)" AR="$(tc-getAR)" LIBDIR="/usr/$(get_libdir)" all || die "make fail" emake -j1 -f LINUX/Makefile CC="$(tc-getCC)" AR="$(tc-getAR)" LIBDIR="/usr/$(get_libdir)" opencbm || die "make fail" linux-mod_src_compile } src_install() { dodir lib/udev/rules.d dodir etc/opencbm.conf.d dodir usr/lib/opencbm emake -f LINUX/Makefile DESTDIR="${D}" LIBDIR="/usr/$(get_libdir)" install-all exeinto usr/lib/opencbm doexe opencbm/LINUX/plugin_helper_tools newexe debian/install_plugin.sh install_plugin insinto lib/udev/rules.d newins opencbm/sys/linux/45-opencbm-xa1541.rules 45-opencbm-xa1541.rules rm -rf ${D}/var linux-mod_src_install generate_modulesd # exit 1 } pkg_postinst() { linux-mod_pkg_postinst ${EROOT}/usr/lib/opencbm/install_plugin install xa1541 ${EROOT}/usr/lib/opencbm/install_plugin install xu1541 ${EROOT}/usr/lib/opencbm/install_plugin install xum1541 } pkg_prerm() { ${EROOT}/usr/lib/opencbm/install_plugin uninstall xa1541 ${EROOT}/usr/lib/opencbm/install_plugin uninstall xu1541 ${EROOT}/usr/lib/opencbm/install_plugin uninstall xum1541 } pkg_postrm() { linux-mod_pkg_postrm }