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
+ 

Reply via email to