From 818760052925a6879ee2f444586b06ef37696e1f Mon Sep 17 00:00:00 2001 From: Alfred Wingate Date: Tue, 26 Sep 2023 20:49:47 +0300 Subject: [PATCH] dev-util/plan9port: add 2023.09.13 Signed-off-by: Alfred Wingate --- dev-util/plan9port/Manifest | 1 + .../plan9port/plan9port-2023.09.13.ebuild | 157 ++++++++++++++++++ 2 files changed, 158 insertions(+) create mode 100644 dev-util/plan9port/plan9port-2023.09.13.ebuild diff --git a/dev-util/plan9port/Manifest b/dev-util/plan9port/Manifest index f62a6b4..476e85f 100644 --- a/dev-util/plan9port/Manifest +++ b/dev-util/plan9port/Manifest @@ -1,2 +1,3 @@ DIST plan9port-2021.03.21.tar.gz 23413373 BLAKE2B 6145dd77c9e4b33ebc6d68f42ed69e320e8bfcaae474a16afb3a62e30c13a39117d7013f3cc075eb48c95a5600c4fdb457e45f65f7b25ad2acc7b19dc9cf8e64 SHA512 f008969274e790238b58ebd0d0dcfaa730557daf974797f8c4014c36ac39995b330db9c6d658655358fdb2be64905b83c35e2287b7cd66b2d3249e1da1a3e119 DIST plan9port-2021.10.05.tar.gz 23410060 BLAKE2B dc1923064254a337551657222648e7ac0f84b0a65b33b74333efbe8a2eb1521fa468306ef24207f27ebe4260ab4ab0dd56e7f3b6e291c6c0c0781780c1df8a7a SHA512 5e61c953e9acb3fcce51a77417d8b9123352fa7eddddf09ca20803be2938a7173303bceb0cbd8625eba3afd952953b407a3315bd96f3751ecb3298d78dcc97b4 +DIST plan9port-2023.09.13.tar.gz 23411044 BLAKE2B 4a4508f68fe1b21dc2b10740d324c99f3397ab388c7b4dead7f96f044c0a9c7341aa06d10e402be6ad555dd77ed126898745fbdfa5f50ad8c47129ab1281773c SHA512 1671940cb39787436108b36272186828810b6467d08f4f4b6e1c897139a0534fc8bfcb6ae819bda12adaa323b532cdec0d545049cb69b9cf2b7a316b50e96fac diff --git a/dev-util/plan9port/plan9port-2023.09.13.ebuild b/dev-util/plan9port/plan9port-2023.09.13.ebuild new file mode 100644 index 0000000..801a514 --- /dev/null +++ b/dev-util/plan9port/plan9port-2023.09.13.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo flag-o-matic multiprocessing readme.gentoo-r1 toolchain-funcs + +DESCRIPTION="Port of many Plan 9 programs and libraries" +HOMEPAGE="https://9fans.github.io/plan9port/" + +if [[ "${PV}" == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/9fans/plan9port.git" +else + COMMIT="984c2824e3569479bace65bdaf9e78a2eb36dd58" + SRC_URI="https://github.com/9fans/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-${COMMIT}" +fi + +LICENSE=" + MIT RSA Apache-2.0 public-domain BitstreamVera BZIP2 + !freefonts? ( BigelowHolmes ) +" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE="X aqua freefonts truetype" +REQUIRED_USE="?? ( X aqua )" + +DEPEND=" + X? ( x11-apps/xauth ) + truetype? ( + media-libs/freetype + media-libs/fontconfig + ) +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}/${PN}-noexecstack.patch" + "${FILESDIR}/${PN}-cflags.patch" + "${FILESDIR}/${PN}-builderr.patch" +) + +# 9port calls the installation directory "PLAN9" +PLAN9="/opt/plan9" +EPLAN9="${EPREFIX}/${PLAN9}" + +DOC_CONTENTS=" +Plan 9 from User Space has been successfully installed into +${PLAN9}. Your PLAN9 and PATH environment variables have +also been appropriately set, please use env-update and +source /etc/profile to bring that into immediate effect. + +Please note that ${PLAN9}/bin has been appended to the +*end* or your PATH to prevent conflicts. To use the Plan9 +versions of common UNIX tools, use the absolute path: +${PLAN9}/bin or the 9 command (eg: 9 troff). +" +DISABLE_AUTOFORMATTING=1 + +QA_MULTILIB_PATHS="${PLAN9}/.*/.*" + +src_prepare() { + default + + if use freefonts; then + pushd font >/dev/null || die + rm -r big5 fixed jis luc{,m,sans} misc naga10 pelm shinonome || die + popd >/dev/null || die + rm -r postscript/font/luxi || die + fi + + case "${CHOST}" in + *apple* ) + sed -i 's=--noexecstack=-noexecstack=' src/mkhdr || die "Failed to sed AFLAGS" + ;; + * ) + rm -rf mac || die + ;; + esac + + # Don't hardcode /bin and /usr/bin in PATH + sed -i '/PATH/ s=/bin:/usr/bin:==' INSTALL || die "sed on \"INSTALL\" failed" + + # Don't hardcode /usr/{,local/}include and prefix /usr/include/* + sed -Ei \ + -e 's=-I/usr(|/local)/include ==g' \ + -e "s=-I/usr(|/local)/include=-I${EPREFIX}/usr\1/include=g" \ + src/cmd/fontsrv/freetyperules.sh INSTALL $(find . -name "makefile") \ + || die "sed failed" +} + +src_configure() { + tc-export CC + filter-flags -fno-common + append-cflags -fcommon + + local -a myconf=( + CC9="$(tc-getCC)" + CC9FLAGS="'${CFLAGS} ${LDFLAGS}'" + ) + + if use X; then + myconf+=( WSYSTYPE="x11" ) + elif use aqua; then + local wsystype + wsystype="$( + awk '{if ($1 > 10.5) print "osx-cocoa"; else print "osx"}' \ + <<< "${MACOSX_DEPLOYMENT_TARGET}" + )" + myconf+=( WSYSTYPE="${wsystype}" ) + else + myconf+=( WSYSTYPE="nowsys" ) + fi + + if use truetype; then + myconf+=( FONTSRV="fontsrv" ) + else + myconf+=( FONTSRV= ) + fi + + printf '%s\n' "${myconf[@]}" >> LOCAL.config || + die "cannot create configuration" +} + +src_compile() { + local -x NPROC="$(makeopts_jobs)" + + # The INSTALL script builds mk then [re]builds everything using that + edo ./INSTALL -r "${EPLAN9}" + + # Clean up compiled code and source + rm -rf src || die +} + +src_install() { + insinto "${PLAN9}" + doins -r * + + fperms -R +x "${PLAN9}"/bin/ + + # Build the environment variables and install them in env.d + newenvd - 60plan9 <<-EOF + PLAN9="${EPLAN9}" + PATH="${EPLAN9}/bin" + ROOTPATH="${EPLAN9}/bin" + MANPATH="${EPLAN9}/man" + EOF + + einstalldocs + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog +}