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>

Reply via email to