diff --git a/dev-util/blueprint-compiler/Manifest b/dev-util/blueprint-compiler/Manifest index 0333a4e1ae..e3784f1edd 100644 --- a/dev-util/blueprint-compiler/Manifest +++ b/dev-util/blueprint-compiler/Manifest @@ -1,2 +1,3 @@ DIST blueprint-compiler-0.1.0_pre20220219.tar.gz 51398 BLAKE2B 282fa95486d0fd18d8fc41682f29a4ecd9b94b4f4b617697809630d66d7fdcaebd8f1830bc0675f1f5917787c80d0d15f10a72230378390fd32642fc9473ccc2 SHA512 ca4b0f654bb212750f5381fa6d95dc66e0fbc494962bb60d370ec919bae239f657bcc3873522b3c903eb2441e684d83d794835df249b8107e40ac5429a53f067 DIST blueprint-compiler-0.1.0_pre20220319.tar.gz 52091 BLAKE2B 84184cada20257dd2717bd5ecd4f2493deca67c63a6005417310f1d7dd9e049398d341a037e71ca08d87417af7627d2bdc5dfd56f2e8ca73f0076eec7bcd671d SHA512 6acfc1b9000e99ca270ee940c47824e8683a3433d7846548b488563b1ce924b8a893cba475bc3b28b971bb3d7a6634c8539dfb34fa12e0bc7ce81c1aed959452 +DIST blueprint-compiler-0.1.0_pre20220419.tar.gz 53439 BLAKE2B 1683356aa10ffdc6b1f6b5d072a301bbc2cdde2eb986f22aa83c269af1fa8cc100910ca790b2b94056db926221b42d2f8309019ee10442374d7e915ab5ec2ed3 SHA512 9017667728723d0e9358ffe9e868f743093cadc7434275c5805f406da72d5cd7afcb5af394c5610446ab6cebdddafc52f65723e16950b3aae47c8739b77e3ef1 diff --git a/dev-util/blueprint-compiler/blueprint-compiler-0.1.0_pre20220419.ebuild b/dev-util/blueprint-compiler/blueprint-compiler-0.1.0_pre20220419.ebuild new file mode 100644 index 0000000000..a4993541d2 --- /dev/null +++ b/dev-util/blueprint-compiler/blueprint-compiler-0.1.0_pre20220419.ebuild @@ -0,0 +1,98 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..10} ) + +inherit meson python-r1 + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.gnome.org/jwestman/blueprint-compiler.git" +else + # Upstream has not started to tag releases yet, so each keyworded (normal) + # ebuild is to be based on a Git commit snapshot at this moment. + # Live ebuild: Might be intentionally left blank + # Normal ebuild: Fill in commit SHA-1 object name to this variable's value + GIT_COMMIT="f77550413c2cc987368b3aac3643c7bfb8b522ef" + KEYWORDS="~amd64" + + SRC_URI="https://gitlab.gnome.org/jwestman/blueprint-compiler/-/archive/${GIT_COMMIT}/blueprint-compiler-${GIT_COMMIT}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-${GIT_COMMIT}" +fi + +DESCRIPTION="Compiler for Blueprint, a markup language for GTK user interfaces" +HOMEPAGE="https://jwestman.pages.gitlab.gnome.org/blueprint-compiler/" + +LICENSE="LGPL-3+" +SLOT="0" + +IUSE="doc test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +BDEPEND=" + ${PYTHON_DEPS} + doc? ( + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/furo[${PYTHON_USEDEP}] + ) +" + +DEPEND=" + test? ( + gui-libs/gtk:4[introspection] + ) +" + +RDEPEND=" + ${PYTHON_DEPS} +" + +src_configure() { + local emesonargs=( + $(meson_use doc docs) + ) + python_foreach_impl meson_src_configure +} + +src_compile() { + python_foreach_impl meson_src_compile +} + +src_test() { + python_foreach_impl meson_src_test +} + +src_install() { + my_src_install() { + local exe="${ED}/usr/bin/${PN}" + + # Meson installs a Python script at ${ED}/usr/bin/${PN}; on + # Gentoo, the script should go into ${ED}/usr/lib/python-exec, + # and ${ED}/usr/bin/${PN} should be a symbolic link to + # ${ED}/usr/lib/python-exec/python-exec2. + # + # When multiple PYTHON_TARGETS are enabled, then after the + # package has been installed for one Python implementation, + # Meson will follow the ${ED}/usr/bin/${PN} symbolic link and + # install the script at ${ED}/usr/lib/python-exec/python-exec2 + # for the remaining implementations, leading to file collision. + if [[ -L "${exe}" ]]; then + rm -v "${exe}" || die "Failed to remove symbolic link ${exe}" + fi + + meson_src_install + python_doscript "${exe}" + python_optimize + + # Install Sphinx-generated documentation only once + # since the documentation is supposed to be identical + # between different Python implementations + use doc && HTML_DOCS=( "${BUILD_DIR}/docs"/* ) + } + + python_foreach_impl my_src_install + einstalldocs +}