summaryrefslogtreecommitdiff
path: root/app-misc/brewtarget
diff options
context:
space:
mode:
Diffstat (limited to 'app-misc/brewtarget')
-rw-r--r--app-misc/brewtarget/Manifest12
-rw-r--r--app-misc/brewtarget/brewtarget-2.3.1-r1.ebuild62
-rw-r--r--app-misc/brewtarget/brewtarget-4.0.17.ebuild58
-rw-r--r--app-misc/brewtarget/files/brewtarget-2.3.1-no-compress-docs.patch22
-rw-r--r--app-misc/brewtarget/files/brewtarget-2.3.1-no-qtwebkit.patch164
-rw-r--r--app-misc/brewtarget/files/brewtarget-4.0.17-dont-touch-CFLAGS.patch13
-rw-r--r--app-misc/brewtarget/files/brewtarget-4.0.17-find-lupdate.patch15
-rw-r--r--app-misc/brewtarget/files/brewtarget-4.0.17-fix-docdir.patch13
-rw-r--r--app-misc/brewtarget/files/brewtarget-4.0.17-no-boost-libbacktrace.patch49
-rw-r--r--app-misc/brewtarget/files/brewtarget-4.0.17-silence-compiler-noise.patch49
-rw-r--r--app-misc/brewtarget/files/brewtarget-4.0.17-unbundle-valijson.patch29
11 files changed, 234 insertions, 252 deletions
diff --git a/app-misc/brewtarget/Manifest b/app-misc/brewtarget/Manifest
index 180b715992fd..d09c14ca8ebb 100644
--- a/app-misc/brewtarget/Manifest
+++ b/app-misc/brewtarget/Manifest
@@ -1,5 +1,9 @@
-AUX brewtarget-2.3.1-no-compress-docs.patch 907 BLAKE2B a499cb28522e16199e42fa72421f17bb676116d6ae96b26a456f2b3a0f1baa343d782e4a51f88b6b37b50ac8be26909dbdd64ad8243a284d1be65cd8da995be7 SHA512 4c746583fa5e5e37e1a03b657115dd992aa44f8cffcf181e79c1321abd782d557906dbb5f5d2c9fbdee13c823597cf3403ea42e3fb5317922f97c925a0909ccf
-AUX brewtarget-2.3.1-no-qtwebkit.patch 4904 BLAKE2B f3040fa2a08467154a7e664107eb957775b75e3ecfb5c62476c068f95c5f773226ebad9e9afcb9b793066aeb1f98c2511c0c627ac92573896840718bf70cc063 SHA512 eb476d7558f35448e77019dd66e966b652b04f5acca370e45638ed78ba9ff374fd69e498e294cc843d2e8d264469dc891d8f8bac7aeb20792bd0e513542540d4
-DIST brewtarget_2.3.1.orig.tar.xz 9449200 BLAKE2B 00eda709c6665b2353380d013d55a59068d79f70368e843296f43d2f947c741ed526d4f6820f18c4d5e96866274bce76b2235cc50595882f58f397f651858bf3 SHA512 2ff29496df6df1b4507594905f5b3cdedd472a3e767c5f5dda00d306d092a7bec6f9d67350a830416f0ab457553339ba2f9dd2ea8476ed1dfa7dd4c49adda086
-EBUILD brewtarget-2.3.1-r1.ebuild 1344 BLAKE2B 21b9301f66b3dfa5e34b1f4bebe3ce77091fe6d3facb990ad347049f45222db903eb7c16af3b018059d4fb51c74574479fcfa1a407ce029ba97049bacce1855c SHA512 cf3dfaa1cf7f6fdbd073181d98b1f0afeadb0389058da62e606ea1359014083f4906557ad5d743edf0378c5a09fc4e0c4167dbf0c60e663206bd60430a94d56e
+AUX brewtarget-4.0.17-dont-touch-CFLAGS.patch 647 BLAKE2B 114745d39e9050d2b768f63e25811490b9275095905876184f7774505d1561b9a9c4d438cd1d13066d912c82197c142759dffaf5cb9dc7ac2221d0ac818b7d88 SHA512 afc798d820339edb19e9b012276955897d2cbb6c68fae9a44924b9eba236715b5f76cf31eadd045867b790cac4dd5e6e2cf5bb5363c80dfd2e972d6832060e91
+AUX brewtarget-4.0.17-find-lupdate.patch 594 BLAKE2B 780aaed93250d317d99663ca3841598965da36f10cc9b16cdd184f392012dc4869f46f84e171682709ed36ab7cdded1f566a70c53b0880a37104d77b675b507a SHA512 19f73db7a3236779caf5804717d8e5d53b58cb93282816e2ba412a532ff5ada8b1a59898e6035fd1da54acc2824763f9e5ee0c8ffa6299d342129c4e9fc9b571
+AUX brewtarget-4.0.17-fix-docdir.patch 779 BLAKE2B 27c594d678a9d42188a6abbf89b8f0730ad10e1e96e7050966669bc207cb3501b0c3c97026aaf61e0188a4210bd85c33da51a780c10bdd0d7b12a7cf0cb9f20c SHA512 433cd83bcb0713f69f849a032a5f2b287479c0ab8a8321bfdf00aa2a685d2dfd27d1e14f2f8394b8746a739a1352b7d86411fbfab4893265acbcb36a80fa2cec
+AUX brewtarget-4.0.17-no-boost-libbacktrace.patch 2809 BLAKE2B 2830fff380ff0ca9d7e163cc111f26f448480aac81b0701c333a64350cc4fe5ca07ed88c98f85c228af473518d1033c40f8a3b9e2c4d92c438feecce913dba26 SHA512 745964b91790300ae08f6b173bbb3d9cf25fee7b5ba62520ed07f2386fd349f6b1693e2c391dcb515ab70d4d987ae1253af051faaa77455ac661c3fe820fbb44
+AUX brewtarget-4.0.17-silence-compiler-noise.patch 2702 BLAKE2B b40750d7c2a93fb49a80b4b12f20f6a0a559043044eeda0fad19da21030b97537b7fbf59dec7c197bd7e7ec3b580c8b388e804ad54fd3a6e41b8975795750190 SHA512 873693431895a597ded1462974d3e08db4ae4f2980e31e710207d6700c0357cedf26c23e532c1837d28e0a3596cb3b517651e84f90010fd778ce7229c65edd5c
+AUX brewtarget-4.0.17-unbundle-valijson.patch 1814 BLAKE2B 9ca6bc9f5589205f0a57529fcfa58ddd5e32fb635b264e137f0b3ec8cdee9cb7eab89d91bbe06d16bfd4345e7b73a8e2666a823cfce599dbebbd6e4efb0f8438 SHA512 c6fe2672be01fc89e0565193e21299adb70e0cd878ed3c0b602de9fb78500997cd9aa9e0dffafb272fbce4604ef47389d81ad1d02c3dcd5d1ddb5324c95058a6
+DIST brewtarget-4.0.17.tar.gz 14504859 BLAKE2B 8362f75509faa80a426cb1475333d818e43ca159ee7048361672fd70fe4ebe16ab37d088fecc70953c6e59b51a8c7c83639c210dabd419b55316bde2b02fb808 SHA512 cc8d8fb0b02ec3dbc581d4055b9b46c013795479832340309da5ca19b4a28bad96d4614fe57647281c0e59f1e0d1d6ac5822f5f2b759b1023efd83e8b6c1618b
+EBUILD brewtarget-4.0.17.ebuild 1592 BLAKE2B 91de7cc7e0c20712baf055302ac870d244ffe7576e78eb9dd7505d61b8339e6496ad4d6a051ac948c585564653f76b4995bde2399156b8a67024040a797da2ad SHA512 c9cdcfb3ec06dadb2670f9a1e698ac48e592e3bcfb8a83ebaed09cc20a65b87820075be61e2a17a52322a2b3d2c109eca3aeb141e9969ecf70daf8aedce6ee02
MISC metadata.xml 254 BLAKE2B bfe69ea33684b8fd3f26aeef8f707cc18f096f649aa474045cb4afbba92545ffc6fc1086a8715bac649d10d9d8546ee790c6f3e2627380f462a8416e9369f20f SHA512 66aa37771640f400a45df4e845dace8847ff833fa52f8dd3d585bd1e421bb8426b7927ebf64db639fa29cfe5a10706ec10c8caaa5896ffeefda213eb515149df
diff --git a/app-misc/brewtarget/brewtarget-2.3.1-r1.ebuild b/app-misc/brewtarget/brewtarget-2.3.1-r1.ebuild
deleted file mode 100644
index bbae6d873d61..000000000000
--- a/app-misc/brewtarget/brewtarget-2.3.1-r1.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PLOCALES="ca cs da de el en es et eu fr gl hu it lv nb nl pl pt ru sr sv tr zh"
-inherit cmake plocale
-
-DESCRIPTION="Application to create and manage beer recipes"
-HOMEPAGE="http://www.brewtarget.org/"
-SRC_URI="https://github.com/Brewtarget/${PN}/releases/download/v${PV}/${PN}_${PV}.orig.tar.xz"
-
-LICENSE="GPL-3 WTFPL-2"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-BDEPEND="
- dev-qt/linguist-tools:5
-"
-DEPEND="
- dev-qt/qtcore:5
- dev-qt/qtdeclarative:5
- dev-qt/qtgui:5
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5
- dev-qt/qtprintsupport:5
- dev-qt/qtsql:5[sqlite]
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtxml:5
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${P}-no-qtwebkit.patch"
- "${FILESDIR}/${P}-no-compress-docs.patch"
-)
-
-remove_locale() {
- sed -i -e "/bt_${1}\.ts/d" CMakeLists.txt || die
-}
-
-src_prepare() {
- cmake_src_prepare
-
- plocale_find_changes translations bt_ .ts
- plocale_for_each_disabled_locale remove_locale
-
- # Tests are bogus, don't build them
- sed -i -e '/Qt5Test/d' CMakeLists.txt || die
- sed -i -e '/=Tests=/,/=Installs=/d' src/CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DDOCDIR="${EPREFIX}"/usr/share/doc/${PF}
- -DDO_RELEASE_BUILD=ON
- -DNO_MESSING_WITH_FLAGS=ON
- )
- cmake_src_configure
-}
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..884296e42793
--- /dev/null
+++ b/app-misc/brewtarget/brewtarget-4.0.17.ebuild
@@ -0,0 +1,58 @@
+# 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
+}
+
+src_install() {
+ meson_src_install
+ # Upstream issue: https://github.com/Brewtarget/brewtarget/issues/933
+ mv "${ED}"/usr/share/applications/{${PN},com.brewken.${PN}}.desktop || die
+}
diff --git a/app-misc/brewtarget/files/brewtarget-2.3.1-no-compress-docs.patch b/app-misc/brewtarget/files/brewtarget-2.3.1-no-compress-docs.patch
deleted file mode 100644
index f437a72e5917..000000000000
--- a/app-misc/brewtarget/files/brewtarget-2.3.1-no-compress-docs.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/CMakeLists.txt 2020-02-17 02:07:48.201051509 +0100
-+++ b/CMakeLists.txt 2020-02-17 02:10:26.790061722 +0100
-@@ -176,18 +176,7 @@
- ENDIF()
-
- #=========================Changelog custom target==============================
--FIND_PROGRAM( GZIP_CMD gzip )
--IF( GZIP_CMD )
-- SET( CHANGELOG_UNCOMPRESSED "${CMAKE_CURRENT_SOURCE_DIR}/CHANGES.markdown" )
-- SET( CHANGELOG "${CMAKE_CURRENT_BINARY_DIR}/changelog.gz" )
-- ADD_CUSTOM_COMMAND(
-- OUTPUT ${CHANGELOG}
-- COMMAND ${GZIP_CMD} -9 -n -c ${CHANGELOG_UNCOMPRESSED} > ${CHANGELOG}
-- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-- MAIN_DEPENDENCY ${CHANGELOG_UNCOMPRESSED}
-- )
-- ADD_CUSTOM_TARGET(changelog ALL DEPENDS ${CHANGELOG})
--ENDIF()
-+SET( CHANGELOG "${CMAKE_CURRENT_SOURCE_DIR}/CHANGES.markdown" )
-
- #=========================Detect Debian========================================
- IF( EXISTS "/etc/debian_version" )
diff --git a/app-misc/brewtarget/files/brewtarget-2.3.1-no-qtwebkit.patch b/app-misc/brewtarget/files/brewtarget-2.3.1-no-qtwebkit.patch
deleted file mode 100644
index ec149c8f4108..000000000000
--- a/app-misc/brewtarget/files/brewtarget-2.3.1-no-qtwebkit.patch
+++ /dev/null
@@ -1,164 +0,0 @@
-From 761bb3882c4c243a49279b67e53c87e5e5d2928f Mon Sep 17 00:00:00 2001
-From: Mik Firestone <mikfire@gmail.com>
-Date: Sat, 19 Mar 2016 23:01:54 -0400
-Subject: [PATCH 1/2] Closes #127 - TravisCI can't find webkit
-
-Qt 5.6 did away with the web kit, but none of our build environment have the
-replacement yet. This patch replaces all the WebDocs with TextBrowser, which
-seems to work and should compile.
-
-I removed the webkit requirement from the CMakeLists file, but I wasn't sure
-if the webkitwidgets needed axed as well. Although writing it out makes the
-answer somewhat obvious.
----
- src/BrewDayScrollWidget.cpp | 2 +-
- src/BrewDayScrollWidget.h | 4 ++--
- src/BrewDayWidget.cpp | 4 ++--
- src/BrewDayWidget.h | 4 ++--
- src/CMakeLists.txt | 2 --
- src/RecipeFormatter.cpp | 2 +-
- src/RecipeFormatter.h | 4 ++--
- 7 files changed, 10 insertions(+), 12 deletions(-)
-
-diff --git a/src/BrewDayScrollWidget.cpp b/src/BrewDayScrollWidget.cpp
-index 760d2dc5..0846d791 100644
---- a/src/BrewDayScrollWidget.cpp
-+++ b/src/BrewDayScrollWidget.cpp
-@@ -35,7 +35,7 @@
- #include "mash.h"
-
- BrewDayScrollWidget::BrewDayScrollWidget(QWidget* parent)
-- : QWidget(parent), doc(new QWebView())
-+ : QWidget(parent), doc(new QTextBrowser())
- {
- setupUi(this);
- setObjectName("BrewDayScrollWidget");
---- a/src/BrewDayScrollWidget.h
-+++ b/src/BrewDayScrollWidget.h
-@@ -27,7 +27,7 @@ class BrewDayScrollWidget;
- #include "ui_brewDayScrollWidget.h"
- #include <QWidget>
- #include <QSize>
--#include <QWebView>
-+#include <QTextBrowser>
- #include <QPrinter>
- #include <QPrintDialog>
- #include <QFile>
-@@ -90,7 +90,7 @@ private slots:
-
- Recipe* recObs;
- QPrinter* printer;
-- QWebView* doc;
-+ QTextBrowser* doc;
- //! Internal list of recipe instructions, always sorted by instruction number.
- QList<Instruction*> recIns;
-
---- a/src/BrewDayWidget.cpp
-+++ b/src/BrewDayWidget.cpp
-@@ -37,7 +37,7 @@
-
- // NOTE: QPrinter has no parent? Will it get destroyed properly?
- BrewDayWidget::BrewDayWidget(QWidget* parent) :
-- QWidget(parent), recObs(0), printer(new QPrinter()), doc(new QWebView(this))
-+ QWidget(parent), recObs(0), printer(new QPrinter()), doc(new QTextBrowser(this))
- {
- setupUi(this);
-
-@@ -291,7 +291,7 @@ void BrewDayWidget::pushInstructionPrint()
- QString pDoc;
- QPrintDialog *dialog = new QPrintDialog(printer, this);
-
-- /* Instantiate the Webview and then connect its signal */
-+ /* Instantiate the TextBrowser and then connect its signal */
- connect( doc, SIGNAL(loadFinished(bool)), this, SLOT(loadComplete(bool)) );
-
- dialog->setWindowTitle(tr("Print Document"));
---- a/src/BrewDayWidget.h
-+++ b/src/BrewDayWidget.h
-@@ -27,7 +27,7 @@ class BrewDayWidget;
- #include "ui_brewDayWidget.h"
- #include <QWidget>
- #include <QSize>
--#include <QWebView>
-+#include <QTextBrowser>
- #include <QMetaProperty>
- #include <QVariant>
-
-@@ -70,7 +70,7 @@ public slots:
-
- Recipe* recObs;
- QPrinter* printer;
-- QWebView* doc;
-+ QTextBrowser* doc;
-
- QString cssName;
-
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -424,7 +424,5 @@ SET( QT5_USE_MODULES_LIST
- Sql
- Svg
- Xml
-- WebKit
-- WebKitWidgets
- )
-
-diff --git a/src/RecipeFormatter.cpp b/src/RecipeFormatter.cpp
-index bb6a9295..f8a1ab4c 100644
---- a/src/RecipeFormatter.cpp
-+++ b/src/RecipeFormatter.cpp
-@@ -52,7 +52,7 @@ RecipeFormatter::RecipeFormatter(QObject* parent)
- docDialog->setWindowTitle("Print Preview");
- if( docDialog->layout() == 0 )
- docDialog->setLayout(new QVBoxLayout(docDialog));
-- doc = new QWebView(docDialog);
-+ doc = new QTextBrowser(docDialog);
- docDialog->layout()->addWidget(doc);
- /*
- // Add a print button at the bottom.
---- a/src/RecipeFormatter.h
-+++ b/src/RecipeFormatter.h
-@@ -28,7 +28,7 @@ class RecipeFormatter;
- #include <QObject>
- #include <QPrinter>
- #include <QPrintDialog>
--#include <QWebView>
-+#include <QTextBrowser>
- #include <QDialog>
- #include <QFile>
- #include "recipe.h"
-@@ -114,7 +114,7 @@ public slots:
- Recipe* rec;
-
- QPrinter* printer;
-- QWebView* doc;
-+ QTextBrowser* doc;
- QDialog* docDialog;
- QString cssName;
-
-
-From 3e0223a3b95c0e1169115cd14d0ede7f17c4f30f Mon Sep 17 00:00:00 2001
-From: Mik Firestone <mikfire@gmail.com>
-Date: Sat, 19 Mar 2016 23:09:41 -0400
-Subject: [PATCH 2/2] Missed a few edits.
-
-Missed some entries in the CMakeList files.
----
- CMakeLists.txt | 6 ------
- 1 file changed, 6 deletions(-)
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -153,12 +153,6 @@ INCLUDE_DIRECTORIES(${Qt5Sql_INCLUDE_DIRS})
- FIND_PACKAGE(Qt5Svg REQUIRED)
- INCLUDE_DIRECTORIES(${Qt5Svg_INCLUDE_DIRS})
-
--FIND_PACKAGE(Qt5WebKit REQUIRED)
--INCLUDE_DIRECTORIES(${Qt5WebKit_INCLUDE_DIRS})
--
--FIND_PACKAGE(Qt5WebKitWidgets REQUIRED)
--INCLUDE_DIRECTORIES(${Qt5WebKitWidgets_INCLUDE_DIRS})
--
- FIND_PACKAGE(Qt5Xml REQUIRED)
- INCLUDE_DIRECTORIES(${Qt5Xml_INCLUDE_DIRS})
-
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
+