commit: 58db7816b12f8045b936fa68dce00ad6a50b5d40 Author: Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr> AuthorDate: Fri Jun 27 07:56:42 2025 +0000 Commit: David Roman <davidroman96 <AT> gmail <DOT> com> CommitDate: Sat Jun 28 20:53:34 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=58db7816
dev-cpp/wt: rework deps, unrestrict boost dep : unrestrict boost version. It builds now with >=1.87. media-libs/libharu is only required with pdf feature add media-libs/glew required for opengl add connector-c for mariadb/mysql add pkgconfig use libglvnd[X] instead of virtual/opengl doc : generate qch requires qttools[assistant] not qttools[qdoc] add dev-ruby/asciidoctor for tutorial building add graphviz for dot add useflags : make graphicsmagick (raster image) optional make Wt::Test optional with wttest make sqlite optional (but enabled by default) and force system-lib REQUIRED_USE : pango is only used with graphicsmagick or libharu opengl requires graphicsmagick Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr> Part-of: https://github.com/gentoo/guru/pull/339 Signed-off-by: David Roman <davidroman96 <AT> gmail.com> dev-cpp/wt/metadata.xml | 4 +- dev-cpp/wt/wt-4.11.4-r3.ebuild | 131 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 134 insertions(+), 1 deletion(-) diff --git a/dev-cpp/wt/metadata.xml b/dev-cpp/wt/metadata.xml index f8c1c1ffbc..7a8a8a0802 100644 --- a/dev-cpp/wt/metadata.xml +++ b/dev-cpp/wt/metadata.xml @@ -6,7 +6,9 @@ <name>David Roman</name> </maintainer> <use> - <flag name="pango">Enable <pkg>x11-libs/pango</pkg>, wich is used for improved font support (WPdfImage and WRasterImage)</flag> + <flag name="graphicsmagick">Enable <pkg>media-gfx/graphicsmagick</pkg>, which is used for creating raster images (WRasterImage)</flag> + <flag name="pango">Enable <pkg>x11-libs/pango</pkg>, which is used for improved font support (WPdfImage and WRasterImage)</flag> + <flag name="wttest">Build Wt::Test for automated (integration/unit) tests</flag> </use> <upstream> <remote-id type="github">emweb/wt</remote-id> diff --git a/dev-cpp/wt/wt-4.11.4-r3.ebuild b/dev-cpp/wt/wt-4.11.4-r3.ebuild new file mode 100644 index 0000000000..d33c8f3d91 --- /dev/null +++ b/dev-cpp/wt/wt-4.11.4-r3.ebuild @@ -0,0 +1,131 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake flag-o-matic + +DESCRIPTION="Wt, C++ Web Toolkit" +HOMEPAGE="https://www.webtoolkit.eu/wt https://github.com/emweb/wt" +SRC_URI="https://github.com/emweb/wt/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0/${PV}" +KEYWORDS="~amd64" +IUSE="doc +graphicsmagick mysql opengl +pango pdf postgres +sqlite ssl wttest" +REQUIRED_USE=" + pango? ( || ( graphicsmagick pdf ) ) + opengl? ( graphicsmagick ) +" +# TODO: auto-test with wttest +RESTRICT="test" + +DEPEND=" + dev-libs/boost:= + sys-libs/zlib + graphicsmagick? ( media-gfx/graphicsmagick:=[jpeg,png] ) + mysql? ( + virtual/mysql + || ( + dev-db/mariadb-connector-c + dev-db/mysql-connector-c + ) + ) + opengl? ( + media-libs/glew:= + media-libs/libglvnd[X] + ) + pango? ( + dev-libs/glib:2 + media-libs/fontconfig + x11-libs/pango + ) + pdf? ( media-libs/libharu:= ) + postgres? ( dev-db/postgresql ) + sqlite? ( dev-db/sqlite:3 ) + ssl? ( dev-libs/openssl:= ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + doc? ( + app-text/doxygen + dev-qt/qttools:6[assistant] + dev-ruby/asciidoctor + media-gfx/graphviz[cairo] + ) + virtual/pkgconfig +" + +PATCHES=( "${FILESDIR}/wt-no-rundir.patch" ) + +src_prepare() { + cmake_src_prepare + + # remove bundled sqlite + rm -r src/Wt/Dbo/backend/amalgamation || die + + if use doc; then + doxygen -u Doxyfile 2>/dev/null || die + doxygen -u examples/Doxyfile 2>/dev/null || die + sed -e "/^QHG_LOCATION/s|qhelpgenerator|/usr/$(get_libdir)/qt6/libexec/&|" \ + -i Doxyfile || die + fi +} + +src_configure() { + local mycmakeargs=( + -DLIB_INSTALL_DIR=$(get_libdir) + -DBUILD_EXAMPLES=OFF + -DBUILD_TESTS=OFF + -DDOCUMENTATION_DESTINATION="share/doc/${PF}" + -DINSTALL_DOCUMENTATION=$(usex doc) + # will be deprecated + -DCONNECTOR_FCGI=OFF + -DCONNECTOR_HTTP=ON + -DENABLE_SSL=$(usex ssl) + -DENABLE_HARU=$(usex pdf) + -DENABLE_PANGO=$(usex pango) + -DENABLE_SQLITE=$(usex sqlite) + -DENABLE_POSTGRES=$(usex postgres) + -DENABLE_MYSQL=$(usex mysql) + -DENABLE_FIREBIRD=OFF + -DENABLE_LIBWTTEST=$(usex wttest) + # QT is only required for examples + -DENABLE_QT4=OFF + -DENABLE_QT5=OFF + -DENABLE_QT6=OFF + # requires shibboleth and opensaml, not in tree + -DENABLE_SAML=OFF + -DENABLE_OPENGL=$(usex opengl) + -DWT_WRASTERIMAGE_IMPLEMENTATION=$(usex graphicsmagick GraphicsMagick none) + ) + + if use mysql || use postgres || use sqlite; then + mycmakeargs+=( -DENABLE_LIBWTDBO=ON ) + if use sqlite; then + mycmakeargs+=( -DUSE_SYSTEM_SQLITE3=ON ) + # DboTest.C: In member function ‘void Sqlite3_Test_Suite::dbo_precision_test2::test_method()’ + if use wttest; then + append-flags -fno-strict-aliasing + filter-lto + fi + fi + else + mycmakeargs+=( -DENABLE_LIBWTDBO=OFF ) + fi + + cmake_src_configure +} + +src_install() { + cmake_src_install + + if use doc; then + find "${ED}" \( \ + -iname '*.map' -o \ + -iname '*.md5' \ + \) -delete || die + + docompress -x /usr/share/doc/${PF}/{examples,reference,tutorial} + fi +}
