From 64dc558ed7d8a872d9e16d4cb28883bab2ad0497 Mon Sep 17 00:00:00 2001 From: Lars Christensen Date: Sun, 22 Mar 2015 20:30:50 +0100 Subject: [PATCH 1/3] libbcm2835 1.42, RPi2 support --- alarm/libbcm2835/PKGBUILD | 14 ++++++++---- alarm/libbcm2835/bcm2835.patch | 39 ++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 alarm/libbcm2835/bcm2835.patch diff --git a/alarm/libbcm2835/PKGBUILD b/alarm/libbcm2835/PKGBUILD index 70660bf98..6d49fee68 100644 --- a/alarm/libbcm2835/PKGBUILD +++ b/alarm/libbcm2835/PKGBUILD @@ -4,15 +4,21 @@ buildarch=16 _pkgbasename=bcm2835 pkgname=libbcm2835 -pkgver=1.37 +pkgver=1.42 pkgrel=1 pkgdesc="C library for Broadcom BCM 2835 as used in Raspberry Pi" url="http://www.airspayce.com/mikem/bcm2835/" -arch=('armv6h') +arch=('armv6h' 'armv7h') license=('GPL') options=('staticlibs') -source=(http://www.airspayce.com/mikem/${_pkgbasename}/${_pkgbasename}-${pkgver}.tar.gz) -md5sums=('2314bcbd2e1c6a164dbeda58abfb9c04') +source=(http://www.airspayce.com/mikem/${_pkgbasename}/${_pkgbasename}-${pkgver}.tar.gz bcm2835.patch) +md5sums=('3f60ac30ada6b8f7036243f13da441ba' + '62085703dbef25ed501002dec077c3d5') + +prepare() { + cd ${srcdir}/${_pkgbasename}-${pkgver} + patch -p1 -i "$srcdir/bcm2835.patch" +} build() { cd ${srcdir}/${_pkgbasename}-${pkgver} diff --git a/alarm/libbcm2835/bcm2835.patch b/alarm/libbcm2835/bcm2835.patch new file mode 100644 index 000000000..7a07200dd --- /dev/null +++ b/alarm/libbcm2835/bcm2835.patch @@ -0,0 +1,39 @@ +Only in bcm2835-1.42: Makefile +Only in bcm2835-1.42: config.h +Only in bcm2835-1.42: config.log +Only in bcm2835-1.42: config.status +Only in bcm2835-1.42/doc: Makefile +Only in bcm2835-1.42/src: .deps +Only in bcm2835-1.42/src: Makefile +diff -u -r bcm2835-1.42-orig/src/bcm2835.c bcm2835-1.42/src/bcm2835.c +--- bcm2835-1.42-orig/src/bcm2835.c 2015-03-09 06:00:44.000000000 +0100 ++++ bcm2835-1.42/src/bcm2835.c 2015-03-22 19:29:37.531488655 +0100 +@@ -122,9 +122,9 @@ + uint32_t ret; + #ifdef BCM2835_HAVE_DMB + __asm__( "\ +- dmb \ +- ldr %[ret], [%[paddr]] \ +- dmb \ ++ dmb \n\ ++ ldr %[ret], [%[paddr]]\n\ ++ dmb \n\ + " : [ret] "=r" (ret) : [paddr] "r" (paddr) : "memory" ); + #else + __asm__( "\ +@@ -176,9 +176,9 @@ + /* Following code provides memory barriers before and after the write */ + #ifdef BCM2835_HAVE_DMB + __asm__( "\ +- dmb \ +- str %[value], [%[paddr]] \ +- dmb \ ++ dmb \n\ ++ str %[value], [%[paddr]]\n\ ++ dmb \n\ + " : : [paddr] "r" (paddr), [value] "r" (value) : "memory" ); + #else + __asm__( "\ +Only in bcm2835-1.42/src: bcm2835.o +Only in bcm2835-1.42/src: libbcm2835.a +Only in bcm2835-1.42: stamp-h1 From 78a1a01c3bada53f9f811a3e2a676e0888854556 Mon Sep 17 00:00:00 2001 From: Lars Christensen Date: Sun, 22 Mar 2015 21:15:10 +0100 Subject: [PATCH 2/3] Build also for armv7h --- alarm/libbcm2835/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/alarm/libbcm2835/PKGBUILD b/alarm/libbcm2835/PKGBUILD index 6d49fee68..b60d6ac2a 100644 --- a/alarm/libbcm2835/PKGBUILD +++ b/alarm/libbcm2835/PKGBUILD @@ -1,6 +1,6 @@ # Maintainer: -buildarch=16 +buildarch=20 _pkgbasename=bcm2835 pkgname=libbcm2835 From 31c0d3bb34cd1faa60b1f3acee7f00a7117f44cf Mon Sep 17 00:00:00 2001 From: Lars Christensen Date: Sun, 22 Mar 2015 21:28:22 +0100 Subject: [PATCH 3/3] Clean up patch --- alarm/libbcm2835/PKGBUILD | 2 +- alarm/libbcm2835/bcm2835.patch | 10 ---------- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/alarm/libbcm2835/PKGBUILD b/alarm/libbcm2835/PKGBUILD index b60d6ac2a..d0e25a80b 100644 --- a/alarm/libbcm2835/PKGBUILD +++ b/alarm/libbcm2835/PKGBUILD @@ -13,7 +13,7 @@ license=('GPL') options=('staticlibs') source=(http://www.airspayce.com/mikem/${_pkgbasename}/${_pkgbasename}-${pkgver}.tar.gz bcm2835.patch) md5sums=('3f60ac30ada6b8f7036243f13da441ba' - '62085703dbef25ed501002dec077c3d5') + 'f38a6a1b15598d03c6e882b08c082afa') prepare() { cd ${srcdir}/${_pkgbasename}-${pkgver} diff --git a/alarm/libbcm2835/bcm2835.patch b/alarm/libbcm2835/bcm2835.patch index 7a07200dd..a4c6eeda3 100644 --- a/alarm/libbcm2835/bcm2835.patch +++ b/alarm/libbcm2835/bcm2835.patch @@ -1,10 +1,3 @@ -Only in bcm2835-1.42: Makefile -Only in bcm2835-1.42: config.h -Only in bcm2835-1.42: config.log -Only in bcm2835-1.42: config.status -Only in bcm2835-1.42/doc: Makefile -Only in bcm2835-1.42/src: .deps -Only in bcm2835-1.42/src: Makefile diff -u -r bcm2835-1.42-orig/src/bcm2835.c bcm2835-1.42/src/bcm2835.c --- bcm2835-1.42-orig/src/bcm2835.c 2015-03-09 06:00:44.000000000 +0100 +++ bcm2835-1.42/src/bcm2835.c 2015-03-22 19:29:37.531488655 +0100 @@ -34,6 +27,3 @@ diff -u -r bcm2835-1.42-orig/src/bcm2835.c bcm2835-1.42/src/bcm2835.c " : : [paddr] "r" (paddr), [value] "r" (value) : "memory" ); #else __asm__( "\ -Only in bcm2835-1.42/src: bcm2835.o -Only in bcm2835-1.42/src: libbcm2835.a -Only in bcm2835-1.42: stamp-h1