From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-misc/brewtarget/, app-misc/brewtarget/files/
Date: Wed, 19 Feb 2025 21:17:05 +0000 (UTC) [thread overview]
Message-ID: <1739999814.f408fff21e7bbab0c4c7ca2925fb9ba7e47c74d9.asturm@gentoo> (raw)
commit: f408fff21e7bbab0c4c7ca2925fb9ba7e47c74d9
Author: Christopher Byrne <salah.coronya <AT> gmail <DOT> com>
AuthorDate: Fri Feb 16 05:45:16 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Feb 19 21:16:54 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f408fff2
app-misc/brewtarget: Add 4.0.17
Closes: https://bugs.gentoo.org/609056
Closes: https://bugs.gentoo.org/943181
Signed-off-by: Christopher Byrne <salah.coronya <AT> gmail.com>
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
app-misc/brewtarget/Manifest | 1 +
app-misc/brewtarget/brewtarget-4.0.17.ebuild | 52 ++++++++++++++++++++++
.../brewtarget-4.0.17-dont-touch-CFLAGS.patch | 13 ++++++
.../files/brewtarget-4.0.17-find-lupdate.patch | 15 +++++++
.../files/brewtarget-4.0.17-fix-docdir.patch | 13 ++++++
.../brewtarget-4.0.17-no-boost-libbacktrace.patch | 49 ++++++++++++++++++++
.../brewtarget-4.0.17-silence-compiler-noise.patch | 49 ++++++++++++++++++++
.../brewtarget-4.0.17-unbundle-valijson.patch | 29 ++++++++++++
8 files changed, 221 insertions(+)
diff --git a/app-misc/brewtarget/Manifest b/app-misc/brewtarget/Manifest
index f73d703c8b43..fe2144aced59 100644
--- a/app-misc/brewtarget/Manifest
+++ b/app-misc/brewtarget/Manifest
@@ -1 +1,2 @@
+DIST brewtarget-4.0.17.tar.gz 14504859 BLAKE2B 8362f75509faa80a426cb1475333d818e43ca159ee7048361672fd70fe4ebe16ab37d088fecc70953c6e59b51a8c7c83639c210dabd419b55316bde2b02fb808 SHA512 cc8d8fb0b02ec3dbc581d4055b9b46c013795479832340309da5ca19b4a28bad96d4614fe57647281c0e59f1e0d1d6ac5822f5f2b759b1023efd83e8b6c1618b
DIST brewtarget_2.3.1.orig.tar.xz 9449200 BLAKE2B 00eda709c6665b2353380d013d55a59068d79f70368e843296f43d2f947c741ed526d4f6820f18c4d5e96866274bce76b2235cc50595882f58f397f651858bf3 SHA512 2ff29496df6df1b4507594905f5b3cdedd472a3e767c5f5dda00d306d092a7bec6f9d67350a830416f0ab457553339ba2f9dd2ea8476ed1dfa7dd4c49adda086
diff --git a/app-misc/brewtarget/brewtarget-4.0.17.ebuild b/app-misc/brewtarget/brewtarget-4.0.17.ebuild
new file mode 100644
index 000000000000..b98b22546f71
--- /dev/null
+++ b/app-misc/brewtarget/brewtarget-4.0.17.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# All tests currently timeout even with a large timeout multiliplier
+# so they are commented out and disabled for now
+
+EAPI=8
+
+inherit meson xdg
+
+DESCRIPTION="Application to create and manage beer recipes"
+HOMEPAGE="https://www.brewtarget.beer/"
+SRC_URI="https://github.com/Brewtarget/brewtarget/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3 WTFPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ dev-cpp/valijson
+ dev-qt/qttools:6[linguist]
+ virtual/pandoc
+"
+DEPEND="
+ dev-libs/boost:=[stacktrace]
+ dev-libs/openssl:=
+ dev-libs/xalan-c
+ dev-libs/xerces-c
+ dev-qt/qtbase:6[gui,network,sql,sqlite,widgets,xml]
+ dev-qt/qtmultimedia:6
+ dev-qt/qtsvg:6
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ # This patch must come first. The next patch requires it.
+ "${FILESDIR}/${PN}-4.0.17-no-boost-libbacktrace.patch"
+ "${FILESDIR}/${PN}-4.0.17-unbundle-valijson.patch"
+ "${FILESDIR}/${PN}-4.0.17-find-lupdate.patch"
+ "${FILESDIR}/${PN}-4.0.17-fix-docdir.patch"
+ # These 2 patches must come last
+ # sed -i -e "/^[^#]/ s/static : true/static : false/g" meson.build
+ "${FILESDIR}/${PN}-4.0.17-silence-compiler-noise.patch"
+ # sed -i -e "s/if compiler.get_id() == 'gcc'/if false/" meson.build
+ "${FILESDIR}/${PN}-4.0.17-dont-touch-CFLAGS.patch"
+)
+
+src_test() {
+ local -x QT_QPA_PLATFORM=offscreen
+
+ meson_src_test
+}
diff --git a/app-misc/brewtarget/files/brewtarget-4.0.17-dont-touch-CFLAGS.patch b/app-misc/brewtarget/files/brewtarget-4.0.17-dont-touch-CFLAGS.patch
new file mode 100644
index 000000000000..36d62865329e
--- /dev/null
+++ b/app-misc/brewtarget/files/brewtarget-4.0.17-dont-touch-CFLAGS.patch
@@ -0,0 +1,13 @@
+diff --git a/meson.build b/meson.build
+index 4952a515..d22a6cac 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1568,7 +1568,7 @@ endif
+ #=======================================================================================================================
+ #========================================= Compiler-specific settings & flags ==========================================
+ #=======================================================================================================================
+-if compiler.get_id() == 'gcc'
++if false
+ #
+ # -g3 should give even more debugging information than -g (which is equivalent to -g2)
+ #
diff --git a/app-misc/brewtarget/files/brewtarget-4.0.17-find-lupdate.patch b/app-misc/brewtarget/files/brewtarget-4.0.17-find-lupdate.patch
new file mode 100644
index 000000000000..393e16b08cd6
--- /dev/null
+++ b/app-misc/brewtarget/files/brewtarget-4.0.17-find-lupdate.patch
@@ -0,0 +1,15 @@
+diff --git a/meson.build b/meson.build
+index 506e5aa0..0ea58970 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1272,7 +1272,9 @@ if host_machine.system() == 'windows'
+ elif host_machine.system() == 'linux'
+ lupdate_name = 'lupdate'
+ endif
+-lupdate_executable = find_program(lupdate_name, required : true)
++lupdate_executable = find_program(lupdate_name,
++ dirs: qtCommonDependencies.get_variable(pkgconfig: 'bindir'),
++ required : true)
+
+ #
+ # Call lupdate to ensure the .ts files are synced with the source code. We need:
diff --git a/app-misc/brewtarget/files/brewtarget-4.0.17-fix-docdir.patch b/app-misc/brewtarget/files/brewtarget-4.0.17-fix-docdir.patch
new file mode 100644
index 000000000000..2548810910e9
--- /dev/null
+++ b/app-misc/brewtarget/files/brewtarget-4.0.17-fix-docdir.patch
@@ -0,0 +1,13 @@
+diff --git a/meson.build b/meson.build
+index 506e5aa0..04b2c81f 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1205,7 +1205,7 @@ filesToInstall_license = 'LICENSE'
+ if host_machine.system() == 'linux'
+ #============================================= Linux Install Directories ============================================
+ installSubDir_data = 'share/' + projectName
+- installSubDir_doc = 'share/doc/' + projectName
++ installSubDir_doc = 'share/doc/' + projectName + '-' + meson.project_version()
+ installSubDir_bin = 'bin'
+ # According to https://specifications.freedesktop.org/menu-spec/menu-spec-1.0.html#paths, .desktop files need to live
+ # in one of the $XDG_DATA_DIRS/applications/. (Note that $XDG_DATA_DIRS is a colon-separated list of directories,
diff --git a/app-misc/brewtarget/files/brewtarget-4.0.17-no-boost-libbacktrace.patch b/app-misc/brewtarget/files/brewtarget-4.0.17-no-boost-libbacktrace.patch
new file mode 100644
index 000000000000..77dee642e4da
--- /dev/null
+++ b/app-misc/brewtarget/files/brewtarget-4.0.17-no-boost-libbacktrace.patch
@@ -0,0 +1,49 @@
+diff --git a/meson.build b/meson.build
+index 506e5aa0..a044596d 100644
+--- a/meson.build
++++ b/meson.build
+@@ -419,11 +419,6 @@ qtTestRunnerDependencies = dependency('qt6', version : minVersionOfQt, modules:
+ # For Boost, per https://mesonbuild.com/Dependencies.html#boost, we only need to supply module names for libraries we
+ # need to link against. For the header-only Boost libraries, the 'boost' dependency suffices.
+ boostModules = []
+-if host_machine.system() == 'linux'
+- boostModules += 'stacktrace_backtrace'
+- add_global_arguments('-DBOOST_STACKTRACE_LINK', language : 'cpp')
+- add_global_arguments('-DBOOST_STACKTRACE_USE_BACKTRACE', language : 'cpp')
+-endif
+ boostDependency = dependency('boost',
+ version : '>=1.79.0',
+ modules : boostModules,
+@@ -479,14 +474,6 @@ if host_machine.system() != 'windows'
+ endif
+ endif
+
+-# Note that, unlike, say, the parameters to include_directories(), the dirs argument to find_library() must be absolute
+-# paths
+-libbacktraceDir = join_paths(meson.project_source_root(), 'third-party/libbacktrace/.libs')
+-backtraceDependency = compiler.find_library('backtrace',
+- required : true,
+- static : true,
+- dirs : [libbacktraceDir])
+-
+ #======================================== Find the other libraries we depend on ========================================
+ #
+ # See https://mesonbuild.com/Reference-manual_returned_dep.html for what info we can pull from a dependency object
+@@ -537,7 +524,6 @@ message('OpenSSL Library:', openSslDependency.name(), 'found =', openSslDependen
+
+ #==================================================== Other headers ====================================================
+ # Other directories to search in for headers. Meson will barf an error if any of these directories does not exist.
+-includeDirs = include_directories('src', 'third-party/valijson/include', 'third-party/libbacktrace')
+
+
+ #=======================================================================================================================
+@@ -1311,8 +1297,7 @@ commonDependencies = [qtCommonDependencies,
+ xalanDependency,
+ boostDependency,
+ dlDependency,
+- openSslDependency, # This isn't strictly needed for the testRunner, but no harm comes from including it
+- backtraceDependency]
++ openSslDependency] # This isn't strictly needed for the testRunner, but no harm comes from including it
+ mainExeDependencies = commonDependencies + qtMainExeDependencies
+ testRunnerDependencies = commonDependencies + qtTestRunnerDependencies
+
diff --git a/app-misc/brewtarget/files/brewtarget-4.0.17-silence-compiler-noise.patch b/app-misc/brewtarget/files/brewtarget-4.0.17-silence-compiler-noise.patch
new file mode 100644
index 000000000000..bd96184d24fc
--- /dev/null
+++ b/app-misc/brewtarget/files/brewtarget-4.0.17-silence-compiler-noise.patch
@@ -0,0 +1,49 @@
+diff --git a/meson.build b/meson.build
+index 4952a515..17b99d26 100644
+--- a/meson.build
++++ b/meson.build
+@@ -343,7 +343,7 @@ qtCommonDependencies = dependency('qt6',
+ 'Widgets',
+ 'Xml'], # TBD: Not sure we need this any more
+ include_type : 'system',
+- static : true)
++ static : false)
+ # The Qt Gui module is only needed for the main program. (We don't want the tests to try to load it or it could barf
+ # in a GitHub action that does not have a display running.)
+ qtMainExeDependencies = dependency('qt6', version : minVersionOfQt, modules: ['Gui'])
+@@ -422,7 +422,7 @@ boostModules = []
+ boostDependency = dependency('boost',
+ version : '>=1.79.0',
+ modules : boostModules,
+- static : true)
++ static : false)
+ message('Boost:', boostDependency.name(), 'found =', boostDependency.found(), 'version =', boostDependency.version())
+
+ #
+@@ -489,7 +489,7 @@ endif
+ xercesDependency = dependency('XercesC',
+ version : '>=3.2.2',
+ required : true,
+- static : true)
++ static : false)
+ xercesLibPaths = xercesDependency.get_variable(cmake : 'PACKAGE_LIBRARIES')
+ message('Xerces Library:', xercesDependency.name(), 'found =', xercesDependency.found(),
+ 'version =', xercesDependency.version(), 'path(s)=', xercesLibPaths)
+@@ -497,7 +497,7 @@ sharedLibraryPaths += xercesLibPaths
+ xalanDependency = dependency('XalanC',
+ version : '>=1.11.0',
+ required : true,
+- static : true)
++ static : false)
+ xalanLibPaths = xalanDependency.get_variable(cmake : 'PACKAGE_LIBRARIES')
+ message('Xalan Library:', xalanDependency.name(), 'found =', xalanDependency.found(),
+ 'version =', xalanDependency.version(), 'path(s)=', xalanLibPaths)
+@@ -512,7 +512,7 @@ sharedLibraryPaths += xalanLibPaths
+ openSslDependency = dependency('OpenSSL',
+ version : '>=3.0.2',
+ required : true,
+- static : true)
++ static : false)
+ #openSslLibPaths = openSslDependency.get_variable(cmake : 'PACKAGE_LIBRARIES')
+ message('OpenSSL Library:', openSslDependency.name(), 'found =', openSslDependency.found(),
+ 'version =', openSslDependency.version())
diff --git a/app-misc/brewtarget/files/brewtarget-4.0.17-unbundle-valijson.patch b/app-misc/brewtarget/files/brewtarget-4.0.17-unbundle-valijson.patch
new file mode 100644
index 000000000000..f6e5475441ee
--- /dev/null
+++ b/app-misc/brewtarget/files/brewtarget-4.0.17-unbundle-valijson.patch
@@ -0,0 +1,29 @@
+diff --git a/meson.build b/meson.build
+index a044596d..381a7d79 100644
+--- a/meson.build
++++ b/meson.build
+@@ -519,12 +519,10 @@ message('OpenSSL Library:', openSslDependency.name(), 'found =', openSslDependen
+ #sharedLibraryPaths += openSslLibPaths
+
+ #====================================================== Valijson =======================================================
+-# Don't need to do anything special, other than set include directories below, as it's header-only and we pull it in as
+-# a Git submodule.
+-
++valijsonDependency = declare_dependency(include_directories: get_option('prefix')/get_option('includedir')/'valijson')
+ #==================================================== Other headers ====================================================
+ # Other directories to search in for headers. Meson will barf an error if any of these directories does not exist.
+-
++includeDirs = include_directories('src', 'third-party/libbacktrace')
+
+ #=======================================================================================================================
+ #============================================= Extra Windows dependencies ==============================================
+@@ -1297,7 +1295,8 @@ commonDependencies = [qtCommonDependencies,
+ xalanDependency,
+ boostDependency,
+ dlDependency,
+- openSslDependency] # This isn't strictly needed for the testRunner, but no harm comes from including it
++ openSslDependency, # This isn't strictly needed for the testRunner, but no harm comes from including it
++ valijsonDependency]
+ mainExeDependencies = commonDependencies + qtMainExeDependencies
+ testRunnerDependencies = commonDependencies + qtTestRunnerDependencies
+
next reply other threads:[~2025-02-19 21:17 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-19 21:17 Andreas Sturmlechner [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-02-19 21:17 [gentoo-commits] repo/gentoo:master commit in: app-misc/brewtarget/, app-misc/brewtarget/files/ Andreas Sturmlechner
2020-02-23 0:32 Andreas Sturmlechner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1739999814.f408fff21e7bbab0c4c7ca2925fb9ba7e47c74d9.asturm@gentoo \
--to=asturm@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox