This thread contains a patchset. You're looking at the original emails,
but you may wish to use the patch review UI.
Review patch
3
3
[PATCH] testing/9base: new aport
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
--
2.17.1
On Sun, Oct 06, 2019 at 01:39:56AM -0500, Joshua Haase wrote:
> 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
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
[PATCH v2] testing/9base: new aport
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
Re: [PATCH v2] testing/9base: new aport
On Mon, Oct 07, 2019 at 05:33:41PM -0500, Joshua Haase wrote:
> 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