git.iko.soy/typeable/nixpkgs
on master help sign in
libsForQt5.appstream-qt: fix darwin build
2bfd5ceBobby Rong
pkgs/development/libraries/appstream/default.nix+3
@@ -28,6 +28,9 @@
28stdenv.mkDerivation rec {
28stdenv.mkDerivation rec {
29 pname = "appstream";
29 pname = "appstream";
30 version = "0.15.2";
30 version = "0.15.2";
31+ # When bumping this package, please also check whether
32+ # fix-build-for-qt-olderthan-514.patch still applies by
33+ # building libsForQt512.appstream-qt.
31
34
32 outputs = [ "out" "dev" "installedTests" ];
35 outputs = [ "out" "dev" "installedTests" ];
33
36
pkgs/development/libraries/appstream/fix-build-for-qt-olderthan-514.patchnew file+43
@@ -0,0 +1,43 @@
1+diff --git a/qt/component.h b/qt/component.h
2+index 47abd1f3..74de943c 100644
3+--- a/qt/component.h
4++++ b/qt/component.h
5+@@ -90,7 +90,7 @@ class APPSTREAMQT_EXPORT Component {
6+ UrlKindContact,
7+
8+ // deprecated
9+- UrlTranslate [[deprecated]] = UrlKindTranslate,
10++ UrlTranslate = UrlKindTranslate,
11+ };
12+ Q_ENUM(UrlKind)
13+
14+diff --git a/qt/pool.h b/qt/pool.h
15+index b59829b7..5237f613 100644
16+--- a/qt/pool.h
17++++ b/qt/pool.h
18+@@ -70,9 +70,9 @@ public:
19+ FlagMonitor = 1 << 7,
20+
21+ // deprecated
22+- FlagReadCollection [[deprecated]] = FlagLoadOsCollection,
23+- FlagReadMetainfo [[deprecated]] = FlagLoadOsMetainfo,
24+- FlagReadDesktopFiles [[deprecated]] = FlagLoadOsDesktopFiles,
25++ FlagReadCollection = FlagLoadOsCollection,
26++ FlagReadMetainfo = FlagLoadOsMetainfo,
27++ FlagReadDesktopFiles = FlagLoadOsDesktopFiles,
28+ };
29+
30+ /**
31+@@ -84,9 +84,9 @@ public:
32+ * Flags on how caching should be used.
33+ **/
34+ enum CacheFlags {
35+- CacheFlagNone [[deprecated]] = 0,
36+- CacheFlagUseUser [[deprecated]] = 1 << 0,
37+- CacheFlagUseSystem [[deprecated]] = 1 << 1,
38++ CacheFlagNone = 0,
39++ CacheFlagUseUser = 1 << 0,
40++ CacheFlagUseSystem = 1 << 1,
41+ };
42+
43+ /**
pkgs/development/libraries/appstream/qt.nix+11−2
@@ -1,10 +1,10 @@
1−{ mkDerivation, appstream, qtbase, qttools, nixosTests }:
1+{ lib, mkDerivation, appstream, qtbase, qttools, nixosTests }:
2
2
3# TODO: look into using the libraries from the regular appstream derivation as we keep duplicates here
3# TODO: look into using the libraries from the regular appstream derivation as we keep duplicates here
4
4
5mkDerivation {
5mkDerivation {
6 pname = "appstream-qt";
6 pname = "appstream-qt";
7− inherit (appstream) version src patches;
7+ inherit (appstream) version src;
8
8
9 outputs = [ "out" "dev" "installedTests" ];
9 outputs = [ "out" "dev" "installedTests" ];
10
10
@@ -14,6 +14,15 @@ mkDerivation {
14
14
15 mesonFlags = appstream.mesonFlags ++ [ "-Dqt=true" ];
15 mesonFlags = appstream.mesonFlags ++ [ "-Dqt=true" ];
16
16
17+ patches = (appstream.patches or []) ++ lib.optionals (lib.versionOlder qtbase.version "5.14") [
18+ # Fix darwin build for libsForQt5.appstream-qt
19+ # Old Qt moc doesn't know about fancy C++14 features
20+ # ../qt/component.h:93: Parse error at "UrlTranslate"
21+ # Remove both this patch and related comment in default.nix
22+ # once Qt 5.14 or later becomes default on darwin
23+ ./fix-build-for-qt-olderthan-514.patch
24+ ];
25+
17 postFixup = ''
26 postFixup = ''
18 sed -i "$dev/lib/cmake/AppStreamQt/AppStreamQtConfig.cmake" \
27 sed -i "$dev/lib/cmake/AppStreamQt/AppStreamQtConfig.cmake" \
19 -e "/INTERFACE_INCLUDE_DIRECTORIES/ s@\''${PACKAGE_PREFIX_DIR}@$dev@"
28 -e "/INTERFACE_INCLUDE_DIRECTORIES/ s@\''${PACKAGE_PREFIX_DIR}@$dev@"