summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO12
-rw-r--r--.gitignore7
-rw-r--r--PKGBUILD48
-rw-r--r--nbc.patch42
4 files changed, 84 insertions, 25 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 103bacd9a6ad..c65224c8bebc 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,15 +1,19 @@
pkgbase = nbc
- pkgdesc = Next Byte Codes (NBC) compiler
+ pkgdesc = Next Byte Codes (NBC) compiler for the LEGO Mindstorms NXT programmable brick
pkgver = 1.2.1.r4
- pkgrel = 3
+ pkgrel = 6
url = http://bricxcc.sourceforge.net/nbc/
arch = i686
arch = x86_64
license = MPL
makedepends = fpc
depends = libusb-compat
+ noextract = nbc-1.2.1.r4.tgz
source = https://sourceforge.net/projects/bricxcc/files/NBC_NXC/NBC%20release%201.2.1%20r4/nbc-1.2.1.r4.src.tgz
- sha1sums = d6b2f45cbe2153ecf28de038683bd108c36ce7eb
+ source = https://sourceforge.net/projects/bricxcc/files/NBC_NXC/NBC%20release%201.2.1%20r4/nbc-1.2.1.r4.tgz
+ source = nbc.patch
+ sha512sums = 32e6d19bd6a22abca0cb299c7032eae7fff5ba509037d942441ac657570a05d48342bab0b986631e508fdd9fdbff0531f60ac25c2de0d6cc77b755fe288bb7b6
+ sha512sums = b68ae5d73e6303c1778b1360f52717445952e5f6d5f8ef2901cb4b78341baffdc47b11f2a04f7f3c84a293b36250e8f21d1c362b6551ad34703b0ccaaf39e930
+ sha512sums = e2e038464550898f033ad766f56798f93c61b0d3571cc129834e21bc41effe5a92a99fc13fcfe4f88cbed5858651c32b111848c6b2fe07e1fd358a357124d7b4
pkgname = nbc
-
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..203775265441
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+*
+!.gitignore
+
+!PKGBUILD
+!.SRCINFO
+
+!nbc.patch
diff --git a/PKGBUILD b/PKGBUILD
index ac2f370cdb4d..080cf66f6aec 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,32 +1,38 @@
# Maintainer: Clemens Brunner <clemens dot brunner at gmail dot com>
+# Contributor: relrel <relrelbachar@gmail.com>
pkgname=nbc
-pkgver=1.2.1.r4
-pkgrel=3
-pkgdesc="Next Byte Codes (NBC) compiler"
+_ver=1.2.1
+_rev=r4
+pkgver=$_ver.$_rev
+pkgrel=6
+pkgdesc="Next Byte Codes (NBC) compiler for the LEGO Mindstorms NXT programmable brick"
arch=('i686' 'x86_64')
url="http://bricxcc.sourceforge.net/nbc/"
license=('MPL')
-groups=()
-depends=('libusb-compat')
-makedepends=('fpc')
-optdepends=()
-provides=()
-conflicts=()
-replaces=()
-backup=()
-options=()
-install=
-changelog=
-source=(https://sourceforge.net/projects/bricxcc/files/NBC_NXC/NBC%20release%201.2.1%20r4/nbc-1.2.1.r4.src.tgz)
-noextract=()
-sha1sums=('d6b2f45cbe2153ecf28de038683bd108c36ce7eb')
+depends=(libusb-compat)
+makedepends=(fpc)
+source=("https://sourceforge.net/projects/bricxcc/files/NBC_NXC/NBC%20release%20$_ver%20$_rev/$pkgname-$pkgver.src.tgz"
+ "https://sourceforge.net/projects/bricxcc/files/NBC_NXC/NBC%20release%20$_ver%20$_rev/$pkgname-$pkgver.tgz"
+ "$pkgname.patch")
+noextract=("$pkgname-$pkgver.tgz")
+sha512sums=('32e6d19bd6a22abca0cb299c7032eae7fff5ba509037d942441ac657570a05d48342bab0b986631e508fdd9fdbff0531f60ac25c2de0d6cc77b755fe288bb7b6'
+ 'b68ae5d73e6303c1778b1360f52717445952e5f6d5f8ef2901cb4b78341baffdc47b11f2a04f7f3c84a293b36250e8f21d1c362b6551ad34703b0ccaaf39e930'
+ 'e2e038464550898f033ad766f56798f93c61b0d3571cc129834e21bc41effe5a92a99fc13fcfe4f88cbed5858651c32b111848c6b2fe07e1fd358a357124d7b4')
+
+prepare() {
+ # For some reason doc/nbc.1 is missing from r4, but it exists in the binary release
+ tar -C "$srcdir/" -xzf "$srcdir/$pkgname-$pkgver.tgz" "doc/$pkgname.1"
+
+ # Fix dependencies in nbcunix.mak to allow parallel compilation
+ patch -Np1 < "$pkgname.patch"
+}
build() {
- cd "$srcdir/NXT"
- make -f nbcunix.mak
+ make -C "$srcdir/NXT/" -f nbcunix.mak
}
package() {
- mkdir -p "$pkgdir/usr/bin"
- cp "$srcdir/NXT/nbc" "$pkgdir/usr/bin"
+ install -Dm755 -t "$pkgdir/usr/bin/" "$srcdir/NXT/$pkgname"
+ install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname/" "$srcdir/doc/"{Readme,Changelog}
+ install -Dm644 -t "$pkgdir/usr/share/man/man1/" "$srcdir/doc/$pkgname.1"
}
diff --git a/nbc.patch b/nbc.patch
new file mode 100644
index 000000000000..bd2879423257
--- /dev/null
+++ b/nbc.patch
@@ -0,0 +1,42 @@
+--- a/NXT/nbcunix.mak
++++ b/NXT/nbcunix.mak
+@@ -3,7 +3,7 @@ VER = 1.2.1.r4
+ DOBJECTS=uNXTClasses.o uPreprocess.o Parser10.o P10Build.o uNXCComp.o uRPGComp.o uRIC.o uRICComp.o uNBCCommon.o uNXTConstants.o uNBCInterface.o nbc.dpr
+ DEFAULT_INCLUDE_DIR=/usr/local/include/nbc
+
+-all:: $(DOBJECTS) $(PROGRAMS)
++all:: $(PROGRAMS)
+
+ clean::
+ rm -f *.o *.ppu *.rst *.compiled *.dcu nbc_preproc.inc
+@@ -21,11 +21,11 @@ PTOOLPREFIX=/usr/bin/
+ PPC=$(PTOOLPREFIX)fpc
+
+ # how to link executable
+-nbc: nbc.dpr nbc_preproc.inc
++nbc: nbc.dpr nbc_preproc.inc $(DOBJECTS)
+ $(PPC) $(PFLAGS) $< -o$@
+
+ # how to compile pas source
+-%.o: %.pas mkdata NBCCommonData.pas NXTDefsData.pas NXCDefsData.pas
++%.o: %.pas NBCCommonData.pas NXTDefsData.pas NXCDefsData.pas
+ $(PPC) $(PFLAGS) $< -o$@
+
+ # how to create the include file
+@@ -40,13 +40,13 @@ mkdata: mkdata.dpr
+ $(PPC) $(PFLAGS) $< -o$@
+
+ # how to create NBCCommonData.pas
+-NBCCommonData.pas: NBCCommon.h
++NBCCommonData.pas: NBCCommon.h mkdata
+ ./mkdata $< $@ nbc_common_data
+
+ # how to create NXTDefsData.pas
+-NXTDefsData.pas: NXTDefs.h
++NXTDefsData.pas: NXTDefs.h mkdata
+ ./mkdata $< $@ nxt_defs_data
+
+ # how to create NXCDefsData.pas
+-NXCDefsData.pas: NXCDefs.h
++NXCDefsData.pas: NXCDefs.h mkdata
+ ./mkdata $< $@ nxc_defs_data