summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Roovers <jer@gentoo.org>2020-06-03 10:15:01 +0200
committerJeroen Roovers <jer@gentoo.org>2020-06-03 11:10:28 +0200
commit41a1bf2ca3c32fdc4f164b35327ff72aca9992a5 (patch)
tree845f376472c13032fbaeeb315c7d376c3c15a8e3 /app-text/yodl/yodl-4.02.02-r1.ebuild
parentsys-kernel/vanilla-sources: Automated version bump to {4.4.226,4.9.226,4.14.1... (diff)
downloadgentoo-41a1bf2ca3c32fdc4f164b35327ff72aca9992a5.tar.gz
gentoo-41a1bf2ca3c32fdc4f164b35327ff72aca9992a5.tar.bz2
gentoo-41a1bf2ca3c32fdc4f164b35327ff72aca9992a5.zip
app-text/yodl: DEPEND => BDEPEND
- Do not strip yodlverbinsert - Add build dependencies for USE=doc - Reorganise src_compile() Package-Manager: Portage-2.3.100, Repoman-2.3.22 Signed-off-by: Jeroen Roovers <jer@gentoo.org>
Diffstat (limited to 'app-text/yodl/yodl-4.02.02-r1.ebuild')
-rw-r--r--app-text/yodl/yodl-4.02.02-r1.ebuild73
1 files changed, 73 insertions, 0 deletions
diff --git a/app-text/yodl/yodl-4.02.02-r1.ebuild b/app-text/yodl/yodl-4.02.02-r1.ebuild
new file mode 100644
index 000000000000..b54d4d14d58f
--- /dev/null
+++ b/app-text/yodl/yodl-4.02.02-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs flag-o-matic
+
+DESCRIPTION="Your Own Document Language: a pre-document language and tools to process it"
+HOMEPAGE="https://fbb-git.gitlab.io/yodl/ https://gitlab.com/fbb-git/yodl"
+SRC_URI="https://gitlab.com/fbb-git/${PN}/-/archive/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+BDEPEND="
+ >=dev-util/icmake-8.00.00
+ doc? (
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-plaingeneric
+ )
+"
+
+S=${WORKDIR}/${P}/${PN}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != "binary" ]]; then
+ if tc-is-gcc && [[ $(gcc-major-version) -lt 8 ]]; then
+ die "Your compiler doesn't fully support C++17. Use GCC 8 or newer."
+ elif tc-is-clang && [[ $(clang-major-version) -lt 6 ]]; then
+ die "Your compiler doesn't fully support C++17. Use Clang 6 or newer."
+ fi
+ fi
+}
+
+src_prepare() {
+ sed -e "/DOC.* =/s/yodl\(-doc\)\?/${PF}/" \
+ -e "/COMPILER =/s/gcc/$(tc-getCC)/" \
+ -e "/CXX =/s/g++/$(tc-getCXX)/" \
+ -i INSTALL.im || die
+
+ sed -e "s/g++/$(tc-getCXX)/" \
+ -e "s:#define CLS://\0:" \
+ -i verbinsert/icmconf || die
+
+ sed -e "s/ar r /$(tc-getAR) r /" \
+ -e "s/ranlib/$(tc-getRANLIB)/" \
+ -i icmake/stdcompile || die
+
+ sed -e '/strip/s|"-s"|""|g' \
+ -i icmake/program || die
+
+ # required for std::filesystem usage
+ append-cxxflags -std=c++17
+
+ default
+}
+
+src_compile() {
+ local target
+ for target in programs macros man $(usex doc manual ''); do
+ ./build ${target} || die "${target} failed"
+ done
+}
+
+src_install() {
+ ./build install programs "${ED}" || die
+ ./build install macros "${ED}" || die
+ ./build install man "${ED}" || die
+ ./build install docs "${ED}" || die
+ use doc && { ./build install manual "${ED}" || die ; }
+}