From 4c92aee93dc8e74d760e0a0d2c649e80d3cceae7 Mon Sep 17 00:00:00 2001 From: Yuan Liao Date: Sat, 19 Feb 2022 15:39:45 -0800 Subject: [PATCH] dev-util/blueprint-compiler: Initial import Signed-off-by: Yuan Liao --- dev-util/blueprint-compiler/Manifest | 1 + ...lueprint-compiler-0.1.0_pre20220219.ebuild | 91 +++++++++++++++++++ .../blueprint-compiler-9999.ebuild | 91 +++++++++++++++++++ dev-util/blueprint-compiler/metadata.xml | 11 +++ 4 files changed, 194 insertions(+) create mode 100644 dev-util/blueprint-compiler/Manifest create mode 100644 dev-util/blueprint-compiler/blueprint-compiler-0.1.0_pre20220219.ebuild create mode 100644 dev-util/blueprint-compiler/blueprint-compiler-9999.ebuild create mode 100644 dev-util/blueprint-compiler/metadata.xml diff --git a/dev-util/blueprint-compiler/Manifest b/dev-util/blueprint-compiler/Manifest new file mode 100644 index 0000000000..c0379ca60c --- /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 0000000000..6dfccd58c0 --- /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 0000000000..7ffa8d6331 --- /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 0000000000..bb8f2c8f4e --- /dev/null +++ b/dev-util/blueprint-compiler/metadata.xml @@ -0,0 +1,11 @@ + + + + + liaoyuan@gmail.com + Yuan Liao + + + https://jwestman.pages.gitlab.gnome.org/blueprint-compiler/ + +