commit:     e2228fd077016d6219fa1b79830a518376563742
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Dec  6 05:44:25 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Dec  6 07:54:26 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e2228fd0

dev-qt/qt-creator: make Go optional w/ USE=cmdbridge-server

Off by default given most people won't need this, arguably could've
skipped it entirely to make maintenance easier.

Does require to fool it into thinking Go was not found given there
isn't a proper option to disable it that I can see.

Closes: https://bugs.gentoo.org/945925
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-qt/qt-creator/metadata.xml                     |  1 +
 ...r-15.0.0.ebuild => qt-creator-15.0.0-r1.ebuild} | 23 ++++++++++++----------
 dev-qt/qt-creator/qt-creator-9999.ebuild           | 23 ++++++++++++----------
 3 files changed, 27 insertions(+), 20 deletions(-)

diff --git a/dev-qt/qt-creator/metadata.xml b/dev-qt/qt-creator/metadata.xml
index 5e0d4e8578c0..44e472f45a98 100644
--- a/dev-qt/qt-creator/metadata.xml
+++ b/dev-qt/qt-creator/metadata.xml
@@ -7,6 +7,7 @@
        </maintainer>
        <use>
                <flag name="clang">Build clang-based plugins for C/C++ 
development (code model, formatting, static analysis)</flag>
+               <flag name="cmdbridge-server">Build the cmdbridge server using 
<pkg>dev-lang/go</pkg></flag>
                <flag name="designer">Enable designer for QtWidgets-based 
UIs</flag>
                <flag name="help">Enable the integrated 
<pkg>dev-qt/qt-docs</pkg> viewer (also needed for examples)</flag>
                <flag name="plugin-dev">Install the 'Devel' component needed to 
build external Qt Creator plugins</flag>

diff --git a/dev-qt/qt-creator/qt-creator-15.0.0.ebuild 
b/dev-qt/qt-creator/qt-creator-15.0.0-r1.ebuild
similarity index 93%
rename from dev-qt/qt-creator/qt-creator-15.0.0.ebuild
rename to dev-qt/qt-creator/qt-creator-15.0.0-r1.ebuild
index 496c50707950..af16e6ac46b3 100644
--- a/dev-qt/qt-creator/qt-creator-15.0.0.ebuild
+++ b/dev-qt/qt-creator/qt-creator-15.0.0-r1.ebuild
@@ -26,7 +26,7 @@ else
        [[ ${QTC_PV} == ${PV} ]] && QTC_REL=official || QTC_REL=development
        SRC_URI="
                https://download.qt.io/${QTC_REL}_releases/qtcreator/$(ver_cut 
1-2)/${PV/_/-}/${QTC_P}.tar.xz
-               https://dev.gentoo.org/~ionen/distfiles/${QTC_P}-vendor.tar.xz
+               cmdbridge-server? ( 
https://dev.gentoo.org/~ionen/distfiles/${QTC_P}-vendor.tar.xz )
        "
        S=${WORKDIR}/${QTC_P}
        KEYWORDS="~amd64"
@@ -39,8 +39,8 @@ LICENSE="GPL-3"
 LICENSE+=" BSD MIT" # go
 SLOT="0"
 IUSE="
-       +clang designer doc +help keyring plugin-dev qmldesigner
-       serialterminal +svg test +tracing webengine
+       +clang cmdbridge-server designer doc +help keyring plugin-dev
+       qmldesigner serialterminal +svg test +tracing webengine
 "
 REQUIRED_USE="clang? ( ${LLVM_REQUIRED_USE} )"
 RESTRICT="!test? ( test )"
@@ -92,8 +92,8 @@ DEPEND="${COMMON_DEPEND}"
 # worth a massive rebuild every time for the minor go usage
 BDEPEND="
        ${PYTHON_DEPS}
-       >=dev-lang/go-1.21.7
        >=dev-qt/qttools-${QT_PV}[linguist]
+       cmdbridge-server? ( >=dev-lang/go-1.21.7 )
        doc? ( >=dev-qt/qttools-${QT_PV}[qdoc,qtattributionsscanner] )
 "
 
@@ -113,8 +113,10 @@ pkg_setup() {
 src_unpack() {
        if [[ ${PV} == 9999 ]]; then
                git-r3_src_unpack
-               cd -- "${S}"/src/libs/gocmdbridge/server || die
-               edo go mod vendor
+               if use cmdbridge-server; then
+                       cd -- "${S}"/src/libs/gocmdbridge/server || die
+                       edo go mod vendor
+               fi
        else
                default
        fi
@@ -140,8 +142,10 @@ src_prepare() {
 }
 
 src_configure() {
-       go-env_set_compile_environment
-       local -x GOFLAGS="-p=$(makeopts_jobs) -v -x -buildvcs=false 
-buildmode=pie"
+       if use cmdbridge-server; then
+               go-env_set_compile_environment
+               local -x GOFLAGS="-p=$(makeopts_jobs) -v -x -buildvcs=false 
-buildmode=pie"
+       fi
 
        # -Werror=lto-type-mismatch issues, needs looking into
        filter-lto
@@ -185,9 +189,8 @@ src_configure() {
                $(use help && usev !webengine 
-DCMAKE_DISABLE_FIND_PACKAGE_litehtml=yes)
 
                -DBUILD_PLUGIN_SERIALTERMINAL=$(usex serialterminal)
-
                -DENABLE_SVG_SUPPORT=$(usex svg)
-
+               $(usev !cmdbridge-server -DGO_BIN=GO_BIN-NOTFOUND) #945925
                -DWITH_QMLDESIGNER=$(usex qmldesigner)
 
                # meant to be in sync with qtbase[journald], but think(?) not 
worth

diff --git a/dev-qt/qt-creator/qt-creator-9999.ebuild 
b/dev-qt/qt-creator/qt-creator-9999.ebuild
index 496c50707950..af16e6ac46b3 100644
--- a/dev-qt/qt-creator/qt-creator-9999.ebuild
+++ b/dev-qt/qt-creator/qt-creator-9999.ebuild
@@ -26,7 +26,7 @@ else
        [[ ${QTC_PV} == ${PV} ]] && QTC_REL=official || QTC_REL=development
        SRC_URI="
                https://download.qt.io/${QTC_REL}_releases/qtcreator/$(ver_cut 
1-2)/${PV/_/-}/${QTC_P}.tar.xz
-               https://dev.gentoo.org/~ionen/distfiles/${QTC_P}-vendor.tar.xz
+               cmdbridge-server? ( 
https://dev.gentoo.org/~ionen/distfiles/${QTC_P}-vendor.tar.xz )
        "
        S=${WORKDIR}/${QTC_P}
        KEYWORDS="~amd64"
@@ -39,8 +39,8 @@ LICENSE="GPL-3"
 LICENSE+=" BSD MIT" # go
 SLOT="0"
 IUSE="
-       +clang designer doc +help keyring plugin-dev qmldesigner
-       serialterminal +svg test +tracing webengine
+       +clang cmdbridge-server designer doc +help keyring plugin-dev
+       qmldesigner serialterminal +svg test +tracing webengine
 "
 REQUIRED_USE="clang? ( ${LLVM_REQUIRED_USE} )"
 RESTRICT="!test? ( test )"
@@ -92,8 +92,8 @@ DEPEND="${COMMON_DEPEND}"
 # worth a massive rebuild every time for the minor go usage
 BDEPEND="
        ${PYTHON_DEPS}
-       >=dev-lang/go-1.21.7
        >=dev-qt/qttools-${QT_PV}[linguist]
+       cmdbridge-server? ( >=dev-lang/go-1.21.7 )
        doc? ( >=dev-qt/qttools-${QT_PV}[qdoc,qtattributionsscanner] )
 "
 
@@ -113,8 +113,10 @@ pkg_setup() {
 src_unpack() {
        if [[ ${PV} == 9999 ]]; then
                git-r3_src_unpack
-               cd -- "${S}"/src/libs/gocmdbridge/server || die
-               edo go mod vendor
+               if use cmdbridge-server; then
+                       cd -- "${S}"/src/libs/gocmdbridge/server || die
+                       edo go mod vendor
+               fi
        else
                default
        fi
@@ -140,8 +142,10 @@ src_prepare() {
 }
 
 src_configure() {
-       go-env_set_compile_environment
-       local -x GOFLAGS="-p=$(makeopts_jobs) -v -x -buildvcs=false 
-buildmode=pie"
+       if use cmdbridge-server; then
+               go-env_set_compile_environment
+               local -x GOFLAGS="-p=$(makeopts_jobs) -v -x -buildvcs=false 
-buildmode=pie"
+       fi
 
        # -Werror=lto-type-mismatch issues, needs looking into
        filter-lto
@@ -185,9 +189,8 @@ src_configure() {
                $(use help && usev !webengine 
-DCMAKE_DISABLE_FIND_PACKAGE_litehtml=yes)
 
                -DBUILD_PLUGIN_SERIALTERMINAL=$(usex serialterminal)
-
                -DENABLE_SVG_SUPPORT=$(usex svg)
-
+               $(usev !cmdbridge-server -DGO_BIN=GO_BIN-NOTFOUND) #945925
                -DWITH_QMLDESIGNER=$(usex qmldesigner)
 
                # meant to be in sync with qtbase[journald], but think(?) not 
worth

Reply via email to