commit: 4c92aee93dc8e74d760e0a0d2c649e80d3cceae7 Author: Yuan Liao <liaoyuan <AT> gmail <DOT> com> AuthorDate: Sat Feb 19 23:39:45 2022 +0000 Commit: Yuan Liao <liaoyuan <AT> gmail <DOT> com> CommitDate: Sat Feb 19 23:39:45 2022 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=4c92aee9
dev-util/blueprint-compiler: Initial import Signed-off-by: Yuan Liao <liaoyuan <AT> gmail.com> dev-util/blueprint-compiler/Manifest | 1 + .../blueprint-compiler-0.1.0_pre20220219.ebuild | 91 ++++++++++++++++++++++ .../blueprint-compiler-9999.ebuild | 91 ++++++++++++++++++++++ dev-util/blueprint-compiler/metadata.xml | 11 +++ 4 files changed, 194 insertions(+) diff --git a/dev-util/blueprint-compiler/Manifest b/dev-util/blueprint-compiler/Manifest new file mode 100644 index 000000000..c0379ca60 --- /dev/null +++ b/dev-util/blueprint-compiler/Manifest @@ -0,0 +1 @@ +DIST blueprint-compiler-0.1.0_pre20220219.tar.gz 51398 BLAKE2B 282fa95486d0fd18d8fc41682f29a4ecd9b94b4f4b617697809630d66d7fdcaebd8f1830bc0675f1f5917787c80d0d15f10a72230378390fd32642fc9473ccc2 SHA512 ca4b0f654bb212750f5381fa6d95dc66e0fbc494962bb60d370ec919bae239f657bcc3873522b3c903eb2441e684d83d794835df249b8107e40ac5429a53f067 diff --git a/dev-util/blueprint-compiler/blueprint-compiler-0.1.0_pre20220219.ebuild b/dev-util/blueprint-compiler/blueprint-compiler-0.1.0_pre20220219.ebuild new file mode 100644 index 000000000..6dfccd58c --- /dev/null +++ b/dev-util/blueprint-compiler/blueprint-compiler-0.1.0_pre20220219.ebuild @@ -0,0 +1,91 @@ +# 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="8ce748e62b6f7d10cf16a075a37c8f4b1f0267e4" + 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" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +BDEPEND=" + ${PYTHON_DEPS} + doc? ( + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/furo[${PYTHON_USEDEP}] + ) +" + +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 +} diff --git a/dev-util/blueprint-compiler/blueprint-compiler-9999.ebuild b/dev-util/blueprint-compiler/blueprint-compiler-9999.ebuild new file mode 100644 index 000000000..7ffa8d633 --- /dev/null +++ b/dev-util/blueprint-compiler/blueprint-compiler-9999.ebuild @@ -0,0 +1,91 @@ +# 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="" + 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" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +BDEPEND=" + ${PYTHON_DEPS} + doc? ( + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/furo[${PYTHON_USEDEP}] + ) +" + +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 +} diff --git a/dev-util/blueprint-compiler/metadata.xml b/dev-util/blueprint-compiler/metadata.xml new file mode 100644 index 000000000..bb8f2c8f4 --- /dev/null +++ b/dev-util/blueprint-compiler/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>liaoy...@gmail.com</email> + <name>Yuan Liao</name> + </maintainer> + <upstream> + <doc>https://jwestman.pages.gitlab.gnome.org/blueprint-compiler/</doc> + </upstream> +</pkgmetadata>