diff --git a/app-emulation/opencbm/ChangeLog b/app-emulation/opencbm/ChangeLog index 30fdde01..b2b09232 100644 --- a/app-emulation/opencbm/ChangeLog +++ b/app-emulation/opencbm/ChangeLog @@ -1,7 +1,15 @@ # ChangeLog for app-emulation/opencbm -# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 07 Nov 2010; Mario Fetka +files/0.4.3_rc2, + +files/0.4.3_rc2/01_skip-targets.diff, + +files/0.4.3_rc2/02_module_makefile.diff, + +files/0.4.3_rc2/03_module_flatten.diff, +opencbm-0.4.3_rc2.ebuild, + +files/0.4.3_rc2/00_autoconf-2.6.33.diff, + +files/0.4.3_rc2/04_irq_count.diff: + bump to debian version + 31 Dec 2007; Mario Fetka +metadata.xml, opencbm-0.4.2a.ebuild: Initial opencbm ebuild diff --git a/app-emulation/opencbm/Manifest b/app-emulation/opencbm/Manifest index 03fee11f..fbbdb3a6 100644 --- a/app-emulation/opencbm/Manifest +++ b/app-emulation/opencbm/Manifest @@ -1,5 +1,12 @@ +AUX 0.4.3_rc2/00_autoconf-2.6.33.diff 1020 RMD160 05f78e089bf84dae0f734c45ac7c98c28f885feb SHA1 c8ec90aa4fec7182f3ad1e3591b96447e80c6bd2 SHA256 d5d4194fa0ee2a68e5b86530960521533ecafd642734d488b7edcdf54dbb60d0 +AUX 0.4.3_rc2/01_skip-targets.diff 1031 RMD160 8d393f4cb5deba8c6cbf8bfc9fb3536ebf71dc18 SHA1 4f4b3ca8ed48f0918f797abf9ba4fc831509906c SHA256 0e65476b88f2296571cc70d75aa86ad1cec5e3e7ddb8a749899e0c9fe818ef1c +AUX 0.4.3_rc2/02_module_makefile.diff 1405 RMD160 08f6ddf5c8b4c32575060d48d416317060dba4fe SHA1 617de01c3c5126f2233a6ddb808eb4dda7bf43cd SHA256 99d66ab4c20b9cdcab57e6c69544acd48c3a7e14c15b8be8944fccf00659b707 +AUX 0.4.3_rc2/03_module_flatten.diff 1108 RMD160 9b8f87d5ca8dc076d80713cb6106f27c35de9f8a SHA1 421db9529d80db2b5a49c5c9542f2dc0002d984e SHA256 99aa88e1027d9958a172f123a11588858014744731067f0e9283a16de8cc2d77 +AUX 0.4.3_rc2/04_irq_count.diff 2665 RMD160 7d25f39deb6212a64ffbe15638743458877c103e SHA1 626f5c3b30d8e789097ce839b4132507c8475444 SHA256 1a6408762f49a6092bfaafeea2d0b8a100c9aa34dbca35bdd3032b3e390e8537 AUX Makefile 1003 RMD160 7f70ec429c51206864e72d82aee80aa5ef655d70 SHA1 c072491f3b775b00463805a6b70744d8ccf56501 SHA256 7b2d7f35f20d72a1e0a5f6bde2d9da8168891c2994b4b9828b7892f8cbb8a93c DIST opencbm-0.4.2a-src.zip 745788 RMD160 825bded87a51e6fd2f76d8ba4bbcf31fada54277 SHA1 4eb3653609e4bc0725c0f2a8f4447e6928616e9f SHA256 c246f2484efe4835470f82b6b91f85569550f47e433fb8b042498dae9b061485 +DIST opencbm_0.4.3~rc2.orig.tar.gz 678232 RMD160 140f33641e685c78638a44747e2b3f156b88cc8a SHA1 a25ab221cb06b08ab4e0a7e2633be6b6c15d2d31 SHA256 27ea6c0499d6e99dc9f10a9fed9ee85e588164a11c7bd66c307aeec62fd51922 EBUILD opencbm-0.4.2a.ebuild 1635 RMD160 e848e169aa537915367713a244af0894f8564417 SHA1 48cd3e7e93ddfcdcfb9c2467ab71ad7d8a851784 SHA256 6e9d98d212a9665bd5b39efdcd5aba02e224233968d32148210badd9692e5bfa -MISC ChangeLog 236 RMD160 59f952e739b91395e5d4087039a69f8157a591f5 SHA1 b45fb4da8dde0021b4962fa195b9d27ad884f48e SHA256 f060b1faa042693fe48dfc15e57ec3039c08f69116db629fd795c6631f1c6628 +EBUILD opencbm-0.4.3_rc2.ebuild 1816 RMD160 3d94e3e6767f0a97a24f64e9117391a07c55aa33 SHA1 770046bd69bb5ad3ead7b245fa0c3d10a25be3c6 SHA256 b1646c4a7f688cc8ea5588ed85fcf02c47bfcf865401e556e6cdf50e34a4db60 +MISC ChangeLog 568 RMD160 de5d3f0a99e6876c270251401f606aac6dc419c0 SHA1 ffb77706b207d0f2e4f185c236a26eac36c07053 SHA256 98450effe5fcebb3b85211ff7dc9abd3371c9ebe968145604f9f77fc2de6dce2 MISC metadata.xml 170 RMD160 645927a396fdc21cdeb089fe42c5397332420ea6 SHA1 ac7f48a14fec325926f9ce1be8fbf1f311b4f2e4 SHA256 d797a2ec6f9dc516c9f9c1a758ee87ad3e8c43101b5dc76c2f872d5bd4639b42 diff --git a/app-emulation/opencbm/files/0.4.3_rc2/00_autoconf-2.6.33.diff b/app-emulation/opencbm/files/0.4.3_rc2/00_autoconf-2.6.33.diff new file mode 100644 index 00000000..75c80d8b --- /dev/null +++ b/app-emulation/opencbm/files/0.4.3_rc2/00_autoconf-2.6.33.diff @@ -0,0 +1,36 @@ +From: Frédéric Brière +Subject: [PATCH] Adjusted autoconf.h location for Linux 2.6.33 + +Linux 2.6.33 has moved linux/autoconf.h to generated/autoconf.h. + +Signed-off-by: Frédéric Brière +Forwarded: yes + +--- + sys/linux/cbm_module.c | 7 +++++-- + 1 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/sys/linux/cbm_module.c b/sys/linux/cbm_module.c +index d8c5a23..91ea8f3 100644 +--- a/sys/linux/cbm_module.c ++++ b/sys/linux/cbm_module.c +@@ -22,12 +22,15 @@ static char *rcsid = + "@(#) $Id: cbm_module.c,v 1.13.2.21 2009/12/13 20:40:32 strik Exp $"; + #endif + ++#include ++ + #ifdef KERNEL_INCLUDE_OLD_CONFIG_H + #include +-#else ++#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) + #include ++#else ++ #include + #endif +-#include + + #ifdef CONFIG_MODVERSIONS + # if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,4) +-- +tg: (95e2d72..) fixes/autoconf-2.6.33 (depends on: upstream) diff --git a/app-emulation/opencbm/files/0.4.3_rc2/01_skip-targets.diff b/app-emulation/opencbm/files/0.4.3_rc2/01_skip-targets.diff new file mode 100644 index 00000000..9ecbcf23 --- /dev/null +++ b/app-emulation/opencbm/files/0.4.3_rc2/01_skip-targets.diff @@ -0,0 +1,34 @@ +From: Frédéric Brière +Subject: [PATCH] Skip various targets that do not apply to this Debian package + +This patch removes the following Makefile targets: + + * sys/linux: Linux kernel module, packaged separately + * compat: Old cbm4linux kernel module, obsolete + * demo/*: Demo applications, included as examples in libopencbm-dev + +Signed-off-by: Frédéric Brière +Forwarded: not-needed + +--- + LINUX/Makefile | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/LINUX/Makefile b/LINUX/Makefile +index eb4b9f2..6a82370 100644 +--- a/LINUX/Makefile ++++ b/LINUX/Makefile +@@ -6,9 +6,9 @@ CBMDEV = /dev/cbm + CBMPERM = 666 + DEVMAJOR = 10 + DEVMINOR = 177 +-SUBDIRS = sys/linux include arch/$(ARCH) lib compat \ ++SUBDIRS = include arch/$(ARCH) lib \ + cbmctrl cbmformat cbmforng d64copy cbmcopy \ +- demo/flash demo/morse demo/rpm1541 docs ++ docs + + SUBDIRS_OPTIONAL = mnib36 + +-- +tg: (e590d2a..) debian/skip-targets (depends on: master) diff --git a/app-emulation/opencbm/files/0.4.3_rc2/02_module_makefile.diff b/app-emulation/opencbm/files/0.4.3_rc2/02_module_makefile.diff new file mode 100644 index 00000000..addedf2b --- /dev/null +++ b/app-emulation/opencbm/files/0.4.3_rc2/02_module_makefile.diff @@ -0,0 +1,44 @@ +From: Frédéric Brière +Subject: [PATCH] Allow invoking the module Makefile from the kernel tree + +This makes it possible to invoke the (renamed) module Makefile directly from +the Linux kernel source tree, without the need to set $(here) or create a +symlink. In particular, it should make DKMS support a little bit easier. + +Signed-off-by: Frédéric Brière + +--- + sys/linux/LINUX/Makefile | 4 +--- + 1 files changed, 1 insertions(+), 3 deletions(-) + +diff --git a/sys/linux/LINUX/Makefile b/sys/linux/LINUX/Makefile +index cb14aab..19a49a2 100644 +--- a/sys/linux/LINUX/Makefile ++++ b/sys/linux/LINUX/Makefile +@@ -2,6 +2,7 @@ + + ifneq ($(KERNELRELEASE),) + EXTRA_CFLAGS := $(CBM4LINUX_KERNEL_FLAGS) -I$(here)/../../include -I$(here)/../../include/LINUX ++ccflags-y += -I$(src)/../../include -I$(src)/../../include/LINUX + obj-m := cbm.o + cbm-objs := cbm_module.o + +@@ -18,7 +19,6 @@ all: cbm.o + .PHONY: all clean mrproper install uninstall install-files + clean: + rm -f cbm.mod.c *.o *.ko .cbm* Modules.symvers +- rm -f Makefile + + mrproper: clean + +@@ -38,8 +38,6 @@ ifneq ($(UDEV_RULES),) + endif + + cbm.o: cbm_module.c +- -ln -s LINUX/Makefile Makefile + $(MAKE) -C $(KERNEL_SOURCE) here=`pwd` CBM4LINUX_KERNEL_FLAGS=$(KERNEL_FLAGS) SUBDIRS=`pwd` modules +- -rm -f Makefile + + endif +-- +tg: (e970caa..) features/module_makefile (depends on: upstream) diff --git a/app-emulation/opencbm/files/0.4.3_rc2/03_module_flatten.diff b/app-emulation/opencbm/files/0.4.3_rc2/03_module_flatten.diff new file mode 100644 index 00000000..65062558 --- /dev/null +++ b/app-emulation/opencbm/files/0.4.3_rc2/03_module_flatten.diff @@ -0,0 +1,38 @@ +From: Frédéric Brière +Subject: [PATCH] Flatten the module source tree + +This allows flattening the module source tree in a simple src/ and +include/ directory pair, getting rid of all the LINUX/ stuff. + +Signed-off-by: Frédéric Brière +Forwarded: not-needed + +--- + sys/linux/LINUX/Makefile | 5 ++--- + 1 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/sys/linux/LINUX/Makefile b/sys/linux/LINUX/Makefile +index 19a49a2..a4ef189 100644 +--- a/sys/linux/LINUX/Makefile ++++ b/sys/linux/LINUX/Makefile +@@ -1,8 +1,7 @@ + # $Id: Makefile,v 1.3.4.3 2007/11/11 16:57:25 strik Exp $ + + ifneq ($(KERNELRELEASE),) +-EXTRA_CFLAGS := $(CBM4LINUX_KERNEL_FLAGS) -I$(here)/../../include -I$(here)/../../include/LINUX +-ccflags-y += -I$(src)/../../include -I$(src)/../../include/LINUX ++ccflags-y += -I$(src)/../include + obj-m := cbm.o + cbm-objs := cbm_module.o + +@@ -12,7 +11,7 @@ modules: + + else + +-include ../../LINUX/config.make ++include ../config.make + + all: cbm.o + +-- +tg: (ec9570d..) debian/module_flatten (depends on: features/module_makefile) diff --git a/app-emulation/opencbm/files/0.4.3_rc2/04_irq_count.diff b/app-emulation/opencbm/files/0.4.3_rc2/04_irq_count.diff new file mode 100644 index 00000000..a893accd --- /dev/null +++ b/app-emulation/opencbm/files/0.4.3_rc2/04_irq_count.diff @@ -0,0 +1,77 @@ +From: Frédéric Brière +Subject: [PATCH] Rename irq_count to cbm_irq_count in Linux kernel module + +arch/x86/include/asm/processor.h already defines a variable called +irq_count for CONFIG_X86_64. + +Signed-off-by: Frédéric Brière +Forwarded: yes + +--- + sys/linux/cbm_module.c | 14 +++++++------- + 1 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/sys/linux/cbm_module.c b/sys/linux/cbm_module.c +index d8c5a23..451657c 100644 +--- a/sys/linux/cbm_module.c ++++ b/sys/linux/cbm_module.c +@@ -254,7 +254,7 @@ static struct wait_queue *cbm_wait_q; + static wait_queue_head_t cbm_wait_q; + #endif + volatile static int eoi; +-volatile static int irq_count; ++volatile static int cbm_irq_count; + + #ifndef KERNEL_VERSION + # define signal_pending(p) (p->signal & ~p->blocked) +@@ -422,7 +422,7 @@ static void wait_for_listener(void) + add_wait_queue(&cbm_wait_q, &wait); + current->state = TASK_INTERRUPTIBLE; + RELEASE(CLK_OUT); +- while(irq_count && !signal_pending(current)) { ++ while(cbm_irq_count && !signal_pending(current)) { + schedule(); + } + remove_wait_queue(&cbm_wait_q, &wait); +@@ -534,7 +534,7 @@ static int cbm_raw_write(const char *buf, size_t cnt, int atn, int talk) + size_t sent = 0; + unsigned long flags; + +- eoi = irq_count = 0; ++ eoi = cbm_irq_count = 0; + + DPRINTK("cbm_write: %d bytes, atn=%d\n", cnt, atn); + +@@ -571,7 +571,7 @@ static int cbm_raw_write(const char *buf, size_t cnt, int atn, int talk) + } + udelay(50); + if(GET(DATA_IN)) { +- irq_count = ((sent == (cnt-1)) && (atn == 0)) ? 2 : 1; ++ cbm_irq_count = ((sent == (cnt-1)) && (atn == 0)) ? 2 : 1; + wait_for_listener(); + + if(signal_pending(current)) { +@@ -883,10 +883,10 @@ static irqreturn_t cbm_interrupt(int irq, void *dev_id) + { + POLL(); /* acknowledge interrupt */ + +- if(irq_count == 0) { ++ if(cbm_irq_count == 0) { + return IRQ_NONE; + } +- if(--irq_count == 0) { ++ if(--cbm_irq_count == 0) { + DPRINTK("continue to send (no EOI)\n"); + SET(CLK_OUT); + wake_up_interruptible(&cbm_wait_q); +@@ -1028,7 +1028,7 @@ int cbm_init(void) + #endif + ); + +- irq_count = 0; ++ cbm_irq_count = 0; + + out_bits = (CTRL_READ() ^ out_eor) & + (DATA_OUT|CLK_OUT|ATN_OUT|RESET); +-- +tg: (a9f3f01..) fixes/irq_count (depends on: upstream) diff --git a/app-emulation/opencbm/opencbm-0.4.3_rc2.ebuild b/app-emulation/opencbm/opencbm-0.4.3_rc2.ebuild new file mode 100644 index 00000000..a29606a5 --- /dev/null +++ b/app-emulation/opencbm/opencbm-0.4.3_rc2.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +inherit eutils toolchain-funcs multilib linux-mod + +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/" +SRC_URI="http://www.fbriere.net/debian/dists/unstable/opencbm/src/opencbm_${PV/_/~}.orig.tar.gz + https://launchpad.net/~mdeslaur/+archive/ppa/+files/opencbm_${PV/_/~}.orig.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="doc" + +DEPEND="virtual/linux-sources + dev-embedded/cc65 + app-text/linuxdoc-tools" + +S="${WORKDIR}"/${PN}-${PV/_/} + +BUILD_PARAMS="KDIR=$KERNEL_DIR" +MODULE_NAMES="cbm(misc:${S}/sys/linux:${S}/sys/linux)" +BUILD_TARGETS="all" + +src_prepare() { + # 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 + EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="diff" \ + EPATCH_FORCE="yes" epatch + # sed correct path + sed -e 's,^PREFIX.*,PREFIX = /usr,' \ + -e 's,/man/man1,/share/man/man1,g' \ + -e 's,/info,/share/info,g' -i ${S}/LINUX/config.make + # copy module makefile that don't intefer with gentoo kernel build system + cp ${FILESDIR}/Makefile ${S}/sys/linux/Makefile +} + +src_compile() { + emake -f LINUX/Makefile CC="$(tc-getCC)" AR="$(tc-getAR)" showvars || die "showvars fail" + emake -f LINUX/Makefile CC="$(tc-getCC)" AR="$(tc-getAR)" || die "make fail" + linux-mod_src_compile +} + +src_install() { + emake -f LINUX/Makefile PREFIX="${D}/usr" install + linux-mod_src_install + generate_modulesd + +} + +pkg_postinst() { + linux-mod_pkg_postinst +} + +pkg_postrm() { + linux-mod_pkg_postrm +}