Joshua Haase: 2 testing/9base: new aport testing/9base: new aport 11 files changed, 282 insertions(+), 0 deletions(-)
Copy & paste the following snippet into your terminal to import this patchset into git:
curl -s https://lists.alpinelinux.org/~alpine/aports/patches/3089/mbox | git am -3Learn more about email & git
Closes #10855 --- testing/9base/APKBUILD | 50 ++++++++++++++++++++++++++++++++++ testing/9base/config.mk.x86 | 24 ++++++++++++++++ testing/9base/config.mk.x86_64 | 24 ++++++++++++++++ testing/9base/dirread.patch | 17 ++++++++++++ 4 files changed, 115 insertions(+) create mode 100644 testing/9base/APKBUILD create mode 100644 testing/9base/config.mk.x86 create mode 100644 testing/9base/config.mk.x86_64 create mode 100644 testing/9base/dirread.patch diff --git a/testing/9base/APKBUILD b/testing/9base/APKBUILD new file mode 100644 index 0000000000..525dae7bc6 --- /dev/null +++ b/testing/9base/APKBUILD @@ -0,0 +1,50 @@ +# Contributor: Joshua Haase <hahj87@gmail.com> +# Maintainer: Joshua Haase <hahj87@gmail.com> +pkgname="9base" +pkgver="6" +pkgrel=0 +pkgdesc="A port of various Plan 9 tools for Unix." +url="https://tools.suckless.org/9base/" +arch="all" +license="MIT" +depends="" +makedepends="libucontext-dev linux-headers" +install="" +subpackages="$pkgname-doc $pkgname-troff" +source="https://dl.suckless.org/tools/$pkgname-$pkgver.tar.gz config.mk.x86_64 config.mk.x86 dirread.patch" +builddir="$srcdir/$pkgname-$pkgver" + +prepare() { + default_prepare + cp "$srcdir/config.mk.$(uname -m)" "$builddir/config.mk" +} + +build() { + cd "$builddir" + make DESTDIR="$pkgdir" all +} + +package() { + cd "$builddir" + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE + make DESTDIR="$pkgdir" install +} + +doc() { + default_doc + mkdir -p "$subpkgdir/usr/lib/9base/share" + mv "$pkgdir/usr/lib/9base/share/man" "$subpkgdir/usr/lib/9base/share" +} + +troff() { + cd "$pkgdir" + mkdir -p "$subpkgdir/usr/lib/9base/bin" + mv "$pkgdir/usr/lib/9base/bin/troff" "$subpkgdir/usr/lib/9base/bin/troff" + mkdir -p "$subpkgdir/usr/lib/9base/lib/troff" + mv "$pkgdir/usr/lib/9base/lib/troff" "$subpkgdir/usr/lib/9base/lib/troff" +} + +sha512sums="38108a94118b56c6f3982e692beb1068c52f9aecd74447d6b552b77fae5e365eab72b4781bdf07d9696ac89d54371c1cae8cc0363de510b53988302acef50dba 9base-6.tar.gz +3a30955d59ad78c1bc4e2fbd0f511eb85624ed48b0aeceef436e3456f685690e064eb1f171a2080a34a0fcb40d874277a282864c720c9e612eca3ad848dec35e config.mk.x86_64 +7a58d4762c5ec9a0191f2cce15b23b2e60ec9445c357dc2e3925a5b4d5dec1c5eed6fb3565be07a25616c0c2b0768c21737b2d35082deb17bfc7a7f5f0c0d2a6 config.mk.x86 +5b47647245366e786059a28747fe9a36fd87d9df2e1a7f68e9a41f4adb7ec96f230a9abe94acbe5f82d62f4f85b061ff7ab7356d32072dd9ef7f677379f456f5 dirread.patch" diff --git a/testing/9base/config.mk.x86 b/testing/9base/config.mk.x86 new file mode 100644 index 0000000000..9279f21262 --- /dev/null +++ b/testing/9base/config.mk.x86 @@ -0,0 +1,24 @@ +# Customize to fit your system + +# paths +PREFIX = /usr/lib/9base +MANPREFIX = ${PREFIX}/share/man + +VERSION = 6 +OBJTYPE = 386 +#OBJTYPE = arm +#OBJTYPE = x86_64 + +# Linux/BSD +#CFLAGS += -Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -c -I. -DPREFIX="\"${PREFIX}\"" +CFLAGS += -c -I. -DPREFIX="\"${PREFIX}\"" +LDFLAGS += -static + +# Solaris +#CFLAGS = -fast -xtarget=ultra -D__sun__ -c -I. -DPREFIX="\"${PREFIX}\"" +#LDFLAGS = -dn + +# compiler +AR = ar rc +CC = cc +YACC = ../yacc/9yacc diff --git a/testing/9base/config.mk.x86_64 b/testing/9base/config.mk.x86_64 new file mode 100644 index 0000000000..51ce200eb0 --- /dev/null +++ b/testing/9base/config.mk.x86_64 @@ -0,0 +1,24 @@ +# Customize to fit your system + +# paths +PREFIX = /usr/lib/9base +MANPREFIX = ${PREFIX}/share/man + +VERSION = 6 +#OBJTYPE = 386 +#OBJTYPE = arm +OBJTYPE = x86_64 + +# Linux/BSD +#CFLAGS += -Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -c -I. -DPREFIX="\"${PREFIX}\"" +CFLAGS += -c -I. -DPREFIX="\"${PREFIX}\"" +LDFLAGS += -static + +# Solaris +#CFLAGS = -fast -xtarget=ultra -D__sun__ -c -I. -DPREFIX="\"${PREFIX}\"" +#LDFLAGS = -dn + +# compiler +AR = ar rc +CC = cc +YACC = ../yacc/9yacc diff --git a/testing/9base/dirread.patch b/testing/9base/dirread.patch new file mode 100644 index 0000000000..daf60c6311 --- /dev/null +++ b/testing/9base/dirread.patch @@ -0,0 +1,17 @@ +--- 9base-6/lib9/dirread.c ++++ 9base-6/lib9/dirread.c +@@ -10,13 +10,7 @@ + static int + mygetdents(int fd, struct dirent *buf, int n) + { +- off_t off; +- int nn; +- +- /* This doesn't match the man page, but it works in Debian with a 2.2 kernel */ +- off = p9seek(fd, 0, 1); +- nn = getdirentries(fd, (void*)buf, n, &off); +- return nn; ++ return getdents(fd, buf, n); + } + #elif defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) + static int
Kevin Daudt <me@ikke.info>Hello Joshua, Thanks for your contribution. I ran this APKBUILD in our CI pipeline[0] and there are some issues. Firstly, the build fails on everything except x86_64 due to trying to patch an arch related file which does not exist: > patching file lib9/dirread.c > cp: can't stat '/builds/kdaudt/aports/testing/9base/src/config.mk.i686': > No such file or directory Secondly, there are some styling issues, which you can find listed here: https://gitlab.alpinelinux.org/kdaudt/aports/-/jobs/2243 Thanks, Kevin. [0]:https://gitlab.alpinelinux.org/kdaudt/aports/pipelines/579
-- 2.17.1
Closes #10855, see !299 The port for s390x is as recommended on https://plan9port-review.googlesource.com/1030 --- - Fixed lint problems. - Added config.mk for all architectures, and a patch for s390x. - Passed tests on https://gitlab.alpinelinux.org/alpine/aports/merge_requests/299 testing/9base/APKBUILD | 48 +++++++++++++++++++++++++++++++++ testing/9base/config.mk.i686 | 24 +++++++++++++++++ testing/9base/config.mk.ppc64le | 22 +++++++++++++++ testing/9base/config.mk.s390x | 22 +++++++++++++++ testing/9base/config.mk.x86_64 | 24 +++++++++++++++++ testing/9base/dirread.patch | 17 ++++++++++++ testing/9base/s390x.patch | 10 +++++++ 7 files changed, 167 insertions(+) create mode 100644 testing/9base/APKBUILD create mode 100644 testing/9base/config.mk.i686 create mode 100644 testing/9base/config.mk.ppc64le create mode 100644 testing/9base/config.mk.s390x create mode 100644 testing/9base/config.mk.x86_64 create mode 100644 testing/9base/dirread.patch create mode 100644 testing/9base/s390x.patch diff --git a/testing/9base/APKBUILD b/testing/9base/APKBUILD new file mode 100644 index 0000000000..ddecc8c6b1 --- /dev/null +++ b/testing/9base/APKBUILD @@ -0,0 +1,48 @@ +# Contributor: Joshua Haase <hahj87@gmail.com> +# Maintainer: Joshua Haase <hahj87@gmail.com> +pkgname="9base" +pkgver=6 +pkgrel=0 +pkgdesc="A port of various Plan 9 tools for Unix." +url="https://tools.suckless.org/9base/" +arch="all" +license="MIT" +makedepends="libucontext-dev linux-headers" +subpackages="$pkgname-doc $pkgname-troff" +source="https://dl.suckless.org/tools/9base-$pkgver.tar.gz config.mk.x86_64 config.mk.i686 config.mk.s390x config.mk.ppc64le dirread.patch s390x.patch" + +prepare() { + default_prepare + cp "$srcdir/config.mk.$(uname -m)" "$builddir/config.mk" +} + +build() { + make DESTDIR="$pkgdir" all +} + +package() { + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE + make DESTDIR="$pkgdir" install +} + +doc() { + default_doc + mkdir -p "$subpkgdir/usr/lib/9base/share" + mv "$pkgdir/usr/lib/9base/share/man" "$subpkgdir/usr/lib/9base/share" +} + +troff() { + cd "$pkgdir" + mkdir -p "$subpkgdir/usr/lib/9base/bin" + mv "$pkgdir/usr/lib/9base/bin/troff" "$subpkgdir/usr/lib/9base/bin/troff" + mkdir -p "$subpkgdir/usr/lib/9base/lib/troff" + mv "$pkgdir/usr/lib/9base/lib/troff" "$subpkgdir/usr/lib/9base/lib/troff" +} + +sha512sums="38108a94118b56c6f3982e692beb1068c52f9aecd74447d6b552b77fae5e365eab72b4781bdf07d9696ac89d54371c1cae8cc0363de510b53988302acef50dba 9base-6.tar.gz +3a30955d59ad78c1bc4e2fbd0f511eb85624ed48b0aeceef436e3456f685690e064eb1f171a2080a34a0fcb40d874277a282864c720c9e612eca3ad848dec35e config.mk.x86_64 +7a58d4762c5ec9a0191f2cce15b23b2e60ec9445c357dc2e3925a5b4d5dec1c5eed6fb3565be07a25616c0c2b0768c21737b2d35082deb17bfc7a7f5f0c0d2a6 config.mk.i686 +61e67a22abf8f7d3dbfadda92cf0836e8726ae8225939318d0bf34dc05b47a12dd41de895f7b5df515ba5cd783dae368cce98706366cc28360a1987b4e7c652c config.mk.s390x +dd0f9ff55e103fd16f689f01e41769cf6bc6370201e790bf64236570cda2d0e6ef2954f1b5798feb4ebd65fc1a0563ce71c8a9b7fb05166a8ff28ac8be472dfe config.mk.ppc64le +5b47647245366e786059a28747fe9a36fd87d9df2e1a7f68e9a41f4adb7ec96f230a9abe94acbe5f82d62f4f85b061ff7ab7356d32072dd9ef7f677379f456f5 dirread.patch +f1f05e2a6081f2a451256de9af669e1ff1e82b6603b376677825421c11bd6ef22a8ab0eb89c15b0589252bada71b58214b6306127bdd379952203105f14e49e9 s390x.patch" diff --git a/testing/9base/config.mk.i686 b/testing/9base/config.mk.i686 new file mode 100644 index 0000000000..9279f21262 --- /dev/null +++ b/testing/9base/config.mk.i686 @@ -0,0 +1,24 @@ +# Customize to fit your system + +# paths +PREFIX = /usr/lib/9base +MANPREFIX = ${PREFIX}/share/man + +VERSION = 6 +OBJTYPE = 386 +#OBJTYPE = arm +#OBJTYPE = x86_64 + +# Linux/BSD +#CFLAGS += -Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -c -I. -DPREFIX="\"${PREFIX}\"" +CFLAGS += -c -I. -DPREFIX="\"${PREFIX}\"" +LDFLAGS += -static + +# Solaris +#CFLAGS = -fast -xtarget=ultra -D__sun__ -c -I. -DPREFIX="\"${PREFIX}\"" +#LDFLAGS = -dn + +# compiler +AR = ar rc +CC = cc +YACC = ../yacc/9yacc diff --git a/testing/9base/config.mk.ppc64le b/testing/9base/config.mk.ppc64le new file mode 100644 index 0000000000..4b4a4d9629 --- /dev/null +++ b/testing/9base/config.mk.ppc64le @@ -0,0 +1,22 @@ +# Customize to fit your system + +# paths +PREFIX = /usr/lib/9base +MANPREFIX = ${PREFIX}/share/man + +VERSION = 6 +OBJTYPE = power + +# Linux/BSD +#CFLAGS += -Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -c -I. -DPREFIX="\"${PREFIX}\"" +CFLAGS += -c -I. -DPREFIX="\"${PREFIX}\"" +LDFLAGS += -static + +# Solaris +#CFLAGS = -fast -xtarget=ultra -D__sun__ -c -I. -DPREFIX="\"${PREFIX}\"" +#LDFLAGS = -dn + +# compiler +AR = ar rc +CC = cc +YACC = ../yacc/9yacc diff --git a/testing/9base/config.mk.s390x b/testing/9base/config.mk.s390x new file mode 100644 index 0000000000..3efca66629 --- /dev/null +++ b/testing/9base/config.mk.s390x @@ -0,0 +1,22 @@ +# Customize to fit your system + +# paths +PREFIX = /usr/lib/9base +MANPREFIX = ${PREFIX}/share/man + +VERSION = 6 +OBJTYPE = s390x + +# Linux/BSD +#CFLAGS += -Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -c -I. -DPREFIX="\"${PREFIX}\"" +CFLAGS += -c -I. -DPREFIX="\"${PREFIX}\"" +LDFLAGS += -static + +# Solaris +#CFLAGS = -fast -xtarget=ultra -D__sun__ -c -I. -DPREFIX="\"${PREFIX}\"" +#LDFLAGS = -dn + +# compiler +AR = ar rc +CC = cc +YACC = ../yacc/9yacc diff --git a/testing/9base/config.mk.x86_64 b/testing/9base/config.mk.x86_64 new file mode 100644 index 0000000000..51ce200eb0 --- /dev/null +++ b/testing/9base/config.mk.x86_64 @@ -0,0 +1,24 @@ +# Customize to fit your system + +# paths +PREFIX = /usr/lib/9base +MANPREFIX = ${PREFIX}/share/man + +VERSION = 6 +#OBJTYPE = 386 +#OBJTYPE = arm +OBJTYPE = x86_64 + +# Linux/BSD +#CFLAGS += -Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -c -I. -DPREFIX="\"${PREFIX}\"" +CFLAGS += -c -I. -DPREFIX="\"${PREFIX}\"" +LDFLAGS += -static + +# Solaris +#CFLAGS = -fast -xtarget=ultra -D__sun__ -c -I. -DPREFIX="\"${PREFIX}\"" +#LDFLAGS = -dn + +# compiler +AR = ar rc +CC = cc +YACC = ../yacc/9yacc diff --git a/testing/9base/dirread.patch b/testing/9base/dirread.patch new file mode 100644 index 0000000000..daf60c6311 --- /dev/null +++ b/testing/9base/dirread.patch @@ -0,0 +1,17 @@ +--- 9base-6/lib9/dirread.c ++++ 9base-6/lib9/dirread.c +@@ -10,13 +10,7 @@ + static int + mygetdents(int fd, struct dirent *buf, int n) + { +- off_t off; +- int nn; +- +- /* This doesn't match the man page, but it works in Debian with a 2.2 kernel */ +- off = p9seek(fd, 0, 1); +- nn = getdirentries(fd, (void*)buf, n, &off); +- return nn; ++ return getdents(fd, buf, n); + } + #elif defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) + static int diff --git a/testing/9base/s390x.patch b/testing/9base/s390x.patch new file mode 100644 index 0000000000..49a24eed7d --- /dev/null +++ b/testing/9base/s390x.patch @@ -0,0 +1,10 @@ +--- /dev/null ++++ 9base-6/lib9/getcallerpc-s390x.c +@@ -0,0 +1,7 @@ ++#include <lib9.h> ++ ++ulong ++getcallerpc(void *x) ++{ ++ __builtin_return_address(0); ++} -- 2.17.1
Hey Joshua, I never replied, but fyi, this has been applied. Kind regards, Kevin