# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
pkgname=plan9port
pkgver=0_git20241022
pkgrel=1
_commit=61e362add9e1485bec1ab8261d729016850ec270
pkgdesc="Port of many Plan 9 libraries and programs to Unix"
url="https://9fans.github.io/plan9port/"
arch="all"
license="LPL-1.02"
makedepends="linux-headers libucontext-dev libxt-dev libx11-dev
	fontconfig-dev libxext-dev perl"
options="!check" # upstream doesn't have a test suite
subpackages="$pkgname-doc $pkgname-src::noarch"
source="$pkgname-$pkgver-$_commit.tar.gz::https://github.com/9fans/plan9port/archive/$_commit.tar.gz
	no-html-man-pages.patch
	libucontext.patch
	o_largefile.patch
	plan9.sh"
# Prevent creation of backup files as plan9port just install all files from $builddir.
patch_args="-p1 --no-backup-if-mismatch"
builddir="$srcdir/$pkgname-$_commit"

export CC9="${CC:-gcc}"
# LDFLAGS are ignored otherwise
export CC9FLAGS="$CFLAGS $LDFLAGS"

build() {
	# Can only pass a single flag to ./INSTALL.
	# For this reason, we set PLAN9_TARGET (-r flag) directly.
	PLAN9_TARGET=/usr/lib/plan9 ./INSTALL -b
}

package() {
	PLAN9_TARGET=/usr/lib/plan9 ./INSTALL -c

	mkdir -p "$pkgdir"/usr/lib/plan9
	cp -a ./* "$pkgdir"/usr/lib/plan9

	mkdir -p "$pkgdir"/usr/share/doc/$pkgname/
	install -m644 CHANGES CONTRIBUTORS README.md \
		"$pkgdir"/usr/share/doc/$pkgname/

	# Remove unneeded / duplicated files
	cd "$pkgdir"/usr/lib/plan9
	rm -f CHANGES CONTRIBUTING.md CONTRIBUTORS INSTALL \
		LICENSE Makefile README.md install.sum install.log

	install -Dm755 "$srcdir"/plan9.sh \
		"$pkgdir"/etc/profile.d/plan9.sh
}

doc() {
	default_doc
	amove usr/lib/plan9/man/man? usr/lib/plan9/man/index.html \
		usr/lib/plan9/man/lookman.index
}

src() {
	pkgdesc="$pkgdesc (source files)"
	amove usr/lib/plan9/src
}

sha512sums="
921052f9634c9e1bb7134b4537154b36503e8ded2626faf8709f89250ff7e74a770e044358f5cd1e4034c71cb42b4eb3fff0c1e8b18b8a48bdf3f032fcd3261a  plan9port-0_git20241022-61e362add9e1485bec1ab8261d729016850ec270.tar.gz
db2af47d2cb3f867bc2d0b146dd816a5f37ae422f270679ba47bcbc4a71f8e82020b3765cf286b8214b68183d05b1dfa21945d917768336260956d8963d770e7  no-html-man-pages.patch
15c3427d36cf9dfaa58c301756d3a8c94ea3acc7edbe3d1b484032acad5c401691e159949844ce277d4bf90b3fc8a38ff8e7c92567b2084c697895f609f11008  libucontext.patch
456da6462d8ee0efd4052cefffa18a642c49fea390a99bcc2da74bcf22895844dade3bdc991bb85d4ed558cd0894a44b51bdb1447a352189e9ca9028da2887e7  o_largefile.patch
1862807e8c45280fbd3e7827c253de093deb773d846713e3c46256e77c409b2d69cce44a2fe086d2776ebf5204707f84a3577324800173daa2f3d4fb3eae09f0  plan9.sh
"
