From 819b1968e752b694014aedde45dfd93eb9f8b569 Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Sun, 17 Mar 2024 11:35:18 -0400 Subject: [PATCH] iksemel --- .gitignore | 3 ++ Dockerfile | 6 ++++ Makefile | 17 ++++++++++ README.md | 27 ++++++++++++++++ build.env | 2 ++ freya/iksemel/0001-fix-texi.patch | 24 ++++++++++++++ freya/iksemel/APKBUILD | 52 +++++++++++++++++++++++++++++++ 7 files changed, 131 insertions(+) create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 Makefile create mode 100644 README.md create mode 100644 build.env create mode 100644 freya/iksemel/0001-fix-texi.patch create mode 100644 freya/iksemel/APKBUILD diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ab65508 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +out +key.rsa +key.rsa.pub diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4893fd6 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,6 @@ +FROM alpine +RUN apk -U add alpine-sdk doas +RUN echo "permit nopass :wheel" >> /etc/doas.d/doas.conf +RUN adduser -D user && adduser user abuild && adduser user wheel +USER user +CMD ["/bin/sh", "-c", "for port in /aports/*; do cd \"$port\" && abuild -r; done"] diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9e9fba3 --- /dev/null +++ b/Makefile @@ -0,0 +1,17 @@ +include ./build.env +OUT=./out + +.PHONY: build + +build: + mkdir -p $(OUT) + chown 1000:1000 $(OUT) + docker build -t g.freya.cat/freya/aports . + docker run --rm -it \ + -v $(shell pwd)/freya:/aports \ + -v $(OUT):/home/user/packages \ + -v $(KEY):/key \ + -v $(KEY_PUB):/key.pub \ + -e PACKAGER_PRIVKEY=/key \ + --ulimit "nofile=1024:1048576" \ + g.freya.cat/freya/aports diff --git a/README.md b/README.md new file mode 100644 index 0000000..f4f30ea --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +## aports + +my own alpine aport packages + +### requirements + +only docker is needed, since the build environment is run inside docker + +### signing keys + +to build aports, you first need a signing key pair (if you dont have one). +``` +openssl genrsa -out key.rsa 2048 +openssl rsa -in key.rsa -pubout > key.rsa.pub +``` + +if you already have keys, or you generated them somewhere else, make sure to update their locations in `build.env` + +### building + +to compile the APKs run + +``` +make build +``` + +the packages should not be outputed in the ./out folder diff --git a/build.env b/build.env new file mode 100644 index 0000000..ff3a6e0 --- /dev/null +++ b/build.env @@ -0,0 +1,2 @@ +KEY=./key.rsa +KEY_PUB=./key.rsa.pub diff --git a/freya/iksemel/0001-fix-texi.patch b/freya/iksemel/0001-fix-texi.patch new file mode 100644 index 0000000..be00398 --- /dev/null +++ b/freya/iksemel/0001-fix-texi.patch @@ -0,0 +1,24 @@ +From de24c7b0d310b582183288bdf8e98c617c7cd42e Mon Sep 17 00:00:00 2001 +From: Freya +Date: Sun, 17 Mar 2024 04:18:59 +0000 +Subject: [PATCH] fix texi + +--- + doc/iksemel.texi | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/doc/iksemel.texi b/doc/iksemel.texi +index fd683e2..bfad102 100644 +--- a/doc/iksemel.texi ++++ b/doc/iksemel.texi +@@ -1,7 +1,6 @@ + \input texinfo @c -*-texinfo-*- + @c %**start of header + @setfilename iksemel +-@setcontentsaftertitlepage + @settitle Iksemel Programmers Manual + @set VERSION 1.2 + @c %**end of header +-- +2.43.0 + diff --git a/freya/iksemel/APKBUILD b/freya/iksemel/APKBUILD new file mode 100644 index 0000000..7e7cf39 --- /dev/null +++ b/freya/iksemel/APKBUILD @@ -0,0 +1,52 @@ +pkgname=iksemel +pkgver=1.6.1 +commit=978b733462e41efd5db72bc9974cb3b0d1d5f6fa +pkgrel=0 +pkgdesc="XML parser library designed for Jabber applications." +url="https://pypi.org/project/iksemel/" +arch="all" +license="GPL-2.0-only" +depends="" +makedepends=" + autoconf + automake + libtool + texinfo + make + fakeroot + " +checkdepends="" +install="" +subpackages="" +source="$pkgname-$commit.tar.gz::https://f.freya.cat/source/$pkgname/$pkgname-978b733.tar.gz + 0001-fix-texi.patch + " +builddir="$srcdir/iksemel" + +build() { + ./autogen.sh + ./configure \ + --with-gnutls=yes \ + --without-openssl \ + --disable-python \ + --prefix "/usr" + make +} + + +check() { + : +} + +package() { + make DESTDIR="$pkgdir" install + + install -d "$pkgdir/usr/bin" + install -d "$pkgdir/usr/lib" + install -d "$pkgdir/usr/share" +} + +sha512sums=" +4ab636d3cea7d70dc949ea2a3968ad5d9d9b75f77860b43b756ace2753d173b10563fb1c0794abf26ce8c43036a04a96d8210000383d35fff4c203188cade3f2 $pkgname-$commit.tar.gz +60578cbbf836db5af044a9becd390a790c3026224493968de71c88f1cdf5c0cf858b0fed617d22fa175f96f7e6522bc9b590cc5f4675e14c03fa518fea784ce9 0001-fix-texi.patch +"