dev-util/blueprint-compiler: Initial import

Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
This commit is contained in:
Yuan Liao
2022-02-19 15:39:45 -08:00
parent fe019800ae
commit 4c92aee93d
4 changed files with 194 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST blueprint-compiler-0.1.0_pre20220219.tar.gz 51398 BLAKE2B 282fa95486d0fd18d8fc41682f29a4ecd9b94b4f4b617697809630d66d7fdcaebd8f1830bc0675f1f5917787c80d0d15f10a72230378390fd32642fc9473ccc2 SHA512 ca4b0f654bb212750f5381fa6d95dc66e0fbc494962bb60d370ec919bae239f657bcc3873522b3c903eb2441e684d83d794835df249b8107e40ac5429a53f067

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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>liaoyuan@gmail.com</email>
<name>Yuan Liao</name>
</maintainer>
<upstream>
<doc>https://jwestman.pages.gitlab.gnome.org/blueprint-compiler/</doc>
</upstream>
</pkgmetadata>