Merge pull request #284515 from OPNA2608/update/lomiri/OTA-4

lomiri: OTA-4 update
This commit is contained in:
Lily Foster
2024-02-02 09:17:57 -05:00
committed by GitHub
20 changed files with 216 additions and 350 deletions
+6 -19
View File
@@ -16,6 +16,7 @@
, process-cpp
, properties-cpp
, python3
, validatePkgConfig
}:
let
@@ -25,13 +26,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "net-cpp";
version = "3.1.0";
version = "3.1.1";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/lib-cpp/net-cpp";
rev = finalAttrs.version;
hash = "sha256-qXKuFLmtPjdqTcBIM07xbRe3DnP7AzieCy7Tbjtl0uc=";
hash = "sha256-MSqdP3kGI9hDdxFv2a0yd5ZkFkf1lMurB+KDIZLR9jg=";
};
outputs = [
@@ -41,22 +42,6 @@ stdenv.mkDerivation (finalAttrs: {
];
patches = [
# Enable disabling of Werror
# Remove when version > 3.1.0
(fetchpatch {
name = "0001-net-cpp-Add-ENABLE_WERROR-option.patch";
url = "https://gitlab.com/ubports/development/core/lib-cpp/net-cpp/-/commit/0945180aa6dd38245688d5ebc11951b272e93dc4.patch";
hash = "sha256-91YuEgV+Q9INN4BJXYwWgKUNHHtUYz3CG+ROTy24GIE=";
})
# Enable opting out of tests
# https://gitlab.com/ubports/development/core/lib-cpp/net-cpp/-/merge_requests/14
(fetchpatch {
name = "0002-net-cpp-Make-tests-optional.patch";
url = "https://gitlab.com/OPNA2608/net-cpp/-/commit/cfbcd55446a4224a4c913ead3a370cd56d07a71b.patch";
hash = "sha256-kt48txzmWNXyxvx3DWAJl7I90c+o3KlgveNQjPkhfxA=";
})
# Be more lenient with how quickly HTTP test server must be up, for slower hardware / archs
(fetchpatch {
url = "https://salsa.debian.org/ubports-team/net-cpp/-/raw/941d9eceaa66a06eabb1eb79554548b47d4a60ab/debian/patches/1007_wait-for-flask.patch";
@@ -76,6 +61,7 @@ stdenv.mkDerivation (finalAttrs: {
cmake
doxygen
graphviz
validatePkgConfig
];
buildInputs = [
@@ -98,7 +84,7 @@ stdenv.mkDerivation (finalAttrs: {
cmakeFlags = [
# https://gitlab.com/ubports/development/core/lib-cpp/net-cpp/-/issues/4
"-DENABLE_WERROR=OFF"
(lib.cmakeBool "ENABLE_WERROR" false)
];
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
@@ -114,6 +100,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = with lib; {
description = "Simple yet beautiful networking API for C++11";
homepage = "https://gitlab.com/ubports/development/core/lib-cpp/net-cpp";
changelog = "https://gitlab.com/ubports/development/core/lib-cpp/net-cpp/-/blob/${finalAttrs.version}/ChangeLog";
license = licenses.lgpl3Only;
maintainers = teams.lomiri.members;
platforms = platforms.linux;
@@ -12,17 +12,18 @@
, lomiri
, pkg-config
, python3
, validatePkgConfig
}:
stdenv.mkDerivation (finalAttrs: {
pname = "persistent-cache-cpp";
version = "1.0.6";
version = "1.0.7";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/lib-cpp/persistent-cache-cpp";
rev = finalAttrs.version;
hash = "sha256-RLZiYY0Y9LT+ajM4Va4MpVVDBlu2yvCpn8bNGMB8ydo=";
hash = "sha256-bOABrRSy5Mzeaqoc5ujcGXyBAaCJLv/488M7fkr0npE=";
};
outputs = [
@@ -32,43 +33,22 @@ stdenv.mkDerivation (finalAttrs: {
];
patches = [
# Version in CMakeLists.txt didn't get bumped, emits wrong version in pkg-config
# Remove when https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/merge_requests/13 merged & in release
(fetchpatch {
name = "0001-persistent-cache-cpp-CMakeLists-txt-Update-version.patch";
url = "https://gitlab.com/OPNA2608/persistent-cache-cpp/-/commit/20d5d3f61563c62bcbe85e71ddc4fe16d7c995d5.patch";
hash = "sha256-BKovtT9OvV+xEwBO8AZTxAzL9kqyDB9ip32t2Xx4eIk=";
})
# PersistentStringCacheImpl.exceptions test fails on LLVM's libcxx, it depends on std::system_error producing a very specific exception text
# Expects "Unknown error 666", gets "unspecified generic_category error"
# Remove when https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/merge_requests/14 merged & in release
(fetchpatch {
name = "0002-persistent-cache-cpp-persistent_string_cache_impl_test-libcxx-fix.patch";
url = "https://gitlab.com/OPNA2608/persistent-cache-cpp/-/commit/a696dbd3093b8333f9ee1f0cad846b2256c729c5.patch";
name = "0001-persistent-cache-cpp-persistent_string_cache_impl_test-libcxx-fix.patch";
url = "https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/commit/a696dbd3093b8333f9ee1f0cad846b2256c729c5.patch";
hash = "sha256-SJxdXeM7W+WKEmiLTwnQYAM7YmPayEk6vPb46y4thv4=";
})
# Enable usage of BUILD_TESTING to opting out of tests
# Remove when https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/merge_requests/15 merged & in release
(fetchpatch {
name = "0003-persistent-cache-cpp-Enable-opting-out-of-tests.patch";
url = "https://gitlab.com/OPNA2608/persistent-cache-cpp/-/commit/1fb06d28c16325e90046e93662c0f5fd16c29b4a.patch";
name = "0002-persistent-cache-cpp-Enable-opting-out-of-tests.patch";
url = "https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/commit/1fb06d28c16325e90046e93662c0f5fd16c29b4a.patch";
hash = "sha256-2/6EYBh71S4dzqWEde+3dLOGp015fN6IifAj1bI1XAI=";
})
# Enable linking based on stdenv (static or dynamic), only propagate leveldb link requirement when linked statically
# Remove when https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/merge_requests/16 merged & in release
(fetchpatch {
name = "0004-persistent-cache-cpp-Un-hardcode-static-linking.patch";
url = "https://gitlab.com/OPNA2608/persistent-cache-cpp/-/commit/45cd84fe76e3a0e1da41a662df695009a6f4f07e.patch";
hash = "sha256-1UjdhzrjnIUO1ySaZTm0vkdNgok0RNlGtNOWUoAUlzU=";
})
(fetchpatch {
name = "0005-persistent-cache-cpp-Propagate-leveldb-dependency-only-when-needed.patch";
url = "https://gitlab.com/OPNA2608/persistent-cache-cpp/-/commit/6204b65df32360a7e358558041219a867652c429.patch";
hash = "sha256-cIewdtF0OdQuLz94KNY2HL8XZp1IaKlZz2hNlMvKLw4=";
})
];
postPatch = ''
@@ -87,6 +67,7 @@ stdenv.mkDerivation (finalAttrs: {
cmake
doxygen
pkg-config
validatePkgConfig
];
buildInputs = [
@@ -106,6 +87,7 @@ stdenv.mkDerivation (finalAttrs: {
cmakeFlags = [
# error: 'old_version' may be used uninitialized
(lib.cmakeBool "Werror" false)
# Defaults to static if not set
(lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
];
@@ -123,6 +105,7 @@ stdenv.mkDerivation (finalAttrs: {
image files) that is fast, scalable, and crash-proof.
'';
homepage = "https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp";
changelog = "https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/blob/${finalAttrs.version}/ChangeLog";
license = licenses.lgpl3Only;
maintainers = teams.lomiri.members;
platforms = platforms.unix;
@@ -8,17 +8,18 @@
, glib
, intltool
, pkg-config
, validatePkgConfig
}:
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-schemas";
version = "0.1.3";
version = "0.1.4";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/lomiri-schemas";
rev = finalAttrs.version;
hash = "sha256-FrDUFqdD0KW2VG2pTA6LMb6/9PdNtQUlYTEo1vnW6QQ=";
hash = "sha256-Pnn/Qh5EYEqmP8QFsZcSCpDL36++aeUUok3t9a1/1n0=";
};
strictDeps = true;
@@ -28,6 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
glib # glib-compile-schemas
pkg-config
intltool
validatePkgConfig
];
buildInputs = [
@@ -36,8 +38,8 @@ stdenv.mkDerivation (finalAttrs: {
];
cmakeFlags = [
"-DGSETTINGS_LOCALINSTALL=ON"
"-DGSETTINGS_COMPILE=ON"
(lib.cmakeBool "GSETTINGS_LOCALINSTALL" true)
(lib.cmakeBool "GSETTINGS_COMPILE" true)
];
passthru = {
@@ -48,6 +50,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = with lib; {
description = "GSettings / AccountsService schema files for Lomiri";
homepage = "https://gitlab.com/ubports/development/core/lomiri-schemas";
changelog = "https://gitlab.com/ubports/development/core/lomiri-schemas/-/blob/${finalAttrs.version}/ChangeLog";
license = licenses.lgpl21Plus;
maintainers = teams.lomiri.members;
platforms = platforms.linux;
@@ -1,7 +1,6 @@
{ stdenv
, lib
, fetchFromGitLab
, fetchpatch
, gitUpdater
, testers
, buildPackages
@@ -17,17 +16,18 @@
, withDocumentation ? stdenv.buildPlatform.canExecute stdenv.hostPlatform
, gtk-doc
, pkg-config
, validatePkgConfig
}:
stdenv.mkDerivation (finalAttrs: {
pname = "geonames";
version = "0.3.0";
version = "0.3.1";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/geonames";
rev = finalAttrs.version;
hash = "sha256-Mo7Khj2pgdJ9kT3npFXnh1WTSsY/B1egWTccbAXFNY8=";
hash = "sha256-AhRnUoku17kVY0UciHQXFDa6eCH6HQ4ZGIOobCaGTKQ=";
};
outputs = [
@@ -39,16 +39,6 @@ stdenv.mkDerivation (finalAttrs: {
"devdoc"
];
patches = [
# Improves install locations of demo & docs
# Remove when https://gitlab.com/ubports/development/core/geonames/-/merge_requests/3 merged & in release
(fetchpatch {
name = "0001-geonames-Use-CMAKE_INSTALL_BINDIR-for-install.patch";
url = "https://gitlab.com/OPNA2608/geonames/-/commit/3bca6d4d02843aed851a0a7480d5cd5ac02b4cda.patch";
hash = "sha256-vwffuMKpIqymYaiGEvnNeVXLmnz5e4aBpg55fnNbjKs=";
})
];
postPatch = ''
patchShebangs src/generate-locales.sh tests/setup-test-env.sh
'';
@@ -60,6 +50,7 @@ stdenv.mkDerivation (finalAttrs: {
gettext
glib # glib-compile-resources
pkg-config
validatePkgConfig
] ++ lib.optionals withDocumentation [
docbook-xsl-nons
docbook_xml_dtd_45
@@ -84,14 +75,14 @@ stdenv.mkDerivation (finalAttrs: {
];
cmakeFlags = [
"-DWANT_DOC=${lib.boolToString withDocumentation}"
"-DWANT_DEMO=${lib.boolToString withExamples}"
"-DWANT_TESTS=${lib.boolToString finalAttrs.finalPackage.doCheck}"
(lib.cmakeBool "WANT_DOC" withDocumentation)
(lib.cmakeBool "WANT_DEMO" withExamples)
(lib.cmakeBool "WANT_TESTS" finalAttrs.finalPackage.doCheck)
# Keeps finding & using glib-compile-resources from buildInputs otherwise
"-DCMAKE_PROGRAM_PATH=${lib.makeBinPath [ buildPackages.glib.dev ]}"
(lib.cmakeFeature "CMAKE_PROGRAM_PATH" (lib.makeBinPath [ buildPackages.glib.dev ]))
] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
# only for cross without native execute support because the canExecute "emulator" call has a format that I can't get CMake to accept
"-DCMAKE_CROSSCOMPILING_EMULATOR=${stdenv.hostPlatform.emulator buildPackages}"
(lib.cmakeFeature "CMAKE_CROSSCOMPILING_EMULATOR" (stdenv.hostPlatform.emulator buildPackages))
];
preInstall = lib.optionalString withDocumentation ''
@@ -109,6 +100,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = with lib; {
description = "Parse and query the geonames database dump";
homepage = "https://gitlab.com/ubports/development/core/geonames";
changelog = "https://gitlab.com/ubports/development/core/geonames/-/blob/${finalAttrs.version}/ChangeLog";
license = licenses.gpl3Only;
maintainers = teams.lomiri.members;
platforms = platforms.all;
@@ -0,0 +1,37 @@
From 52ac1d6548b4a92d569c5d2f53b84c604c7fce8a Mon Sep 17 00:00:00 2001
From: OPNA2608 <opna2608@protonmail.com>
Date: Thu, 1 Feb 2024 22:42:39 +0100
Subject: [PATCH] Remove custom check target
The automatic one provides better controls for us
---
CMakeLists.txt | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index af643a7..75b3cc1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -105,18 +105,13 @@ add_subdirectory("data")
if(ENABLE_TESTS)
-enable_testing()
+include(CTest)
pkg_check_modules(QTDBUSTEST REQUIRED libqtdbustest-1 REQUIRED)
include_directories(${QTDBUSTEST_INCLUDE_DIRS})
add_subdirectory(tests)
-ADD_CUSTOM_TARGET(
- check
- ${CMAKE_CTEST_COMMAND} --force-new-ctest-process --output-on-failure
-)
-
find_package(CoverageReport)
enable_coverage_report(
TARGETS
--
2.42.0
@@ -19,18 +19,19 @@
, qtdeclarative
, qtxmlpatterns
, ubports-click
, validatePkgConfig
, wrapQtAppsHook
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libusermetrics";
version = "1.3.0";
version = "1.3.2";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/libusermetrics";
rev = finalAttrs.version;
hash = "sha256-yO9wZcXJBKt1HZ1GKoQ1flqYuwW9PlXiWLE3bl21PSQ=";
hash = "sha256-jmJH5vByBnBqgQfyb7HNVe+eS/jHcU64R2dnvuLbqss=";
};
outputs = [
@@ -39,22 +40,18 @@ stdenv.mkDerivation (finalAttrs: {
"doc"
];
postPatch = ''
substituteInPlace data/CMakeLists.txt \
--replace '/etc' "$out/etc"
patches = [
# Not submitted yet, waiting for decision on how CMake testing should be handled
./2001-Remove-custom-check-target.patch
];
postPatch = ''
# Tries to query QMake for QT_INSTALL_QML variable, would return broken paths into /build/qtbase-<commit> even if qmake was available
substituteInPlace src/modules/UserMetrics/CMakeLists.txt \
--replace "\''${QT_IMPORTS_DIR}/UserMetrics" '${placeholder "out"}/${qtbase.qtQmlPrefix}/UserMetrics'
substituteInPlace src/libusermetricsinput/CMakeLists.txt \
--replace 'RUNTIME DESTINATION bin' 'RUNTIME DESTINATION ''${CMAKE_INSTALL_BINDIR}'
--replace 'query_qmake(QT_INSTALL_QML QT_IMPORTS_DIR)' 'set(QT_IMPORTS_DIR "''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}")'
substituteInPlace doc/CMakeLists.txt \
--replace "\''${CMAKE_INSTALL_DATAROOTDIR}/doc/libusermetrics-doc" "\''${CMAKE_INSTALL_DOCDIR}"
'' + lib.optionalString (!finalAttrs.finalPackage.doCheck) ''
# Only needed by tests
sed -i -e '/QTDBUSTEST/d' CMakeLists.txt
'';
strictDeps = true;
@@ -64,6 +61,7 @@ stdenv.mkDerivation (finalAttrs: {
doxygen
intltool
pkg-config
validatePkgConfig
wrapQtAppsHook
];
@@ -91,22 +89,23 @@ stdenv.mkDerivation (finalAttrs: {
];
cmakeFlags = [
"-DGSETTINGS_LOCALINSTALL=ON"
"-DGSETTINGS_COMPILE=ON"
"-DENABLE_TESTS=${lib.boolToString finalAttrs.finalPackage.doCheck}"
(lib.cmakeBool "GSETTINGS_LOCALINSTALL" true)
(lib.cmakeBool "GSETTINGS_COMPILE" true)
(lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck)
(lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" (lib.concatStringsSep ";" [
# Exclude tests
"-E" (lib.strings.escapeShellArg "(${lib.concatStringsSep "|" [
# Flaky, randomly failing in UserMetricsImplTest.AddTranslatedData (data not ready when signal is emitted?)
"^usermetricsoutput-unit-tests"
]})")
]))
];
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
checkPhase = ''
runHook preCheck
preCheck = ''
export QT_PLUGIN_PATH=${lib.getBin qtbase}/lib/qt-${qtbase.version}/plugins/
export QML2_IMPORT_PATH=${lib.getBin qtdeclarative}/lib/qt-${qtbase.version}/qml/
dbus-run-session --config-file=${dbus}/share/dbus-1/session.conf -- \
make test "''${enableParallelChecking:+-j $NIX_BUILD_CORES}"
runHook postCheck
'';
passthru = {
@@ -117,6 +116,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = with lib; {
description = "Enables apps to locally store interesting numerical data for later presentation";
homepage = "https://gitlab.com/ubports/development/core/libusermetrics";
changelog = "https://gitlab.com/ubports/development/core/libusermetrics/-/blob/${finalAttrs.version}/ChangeLog";
license = licenses.lgpl3Only;
maintainers = teams.lomiri.members;
platforms = platforms.linux;
@@ -20,6 +20,7 @@
, python3
, systemd
, ubports-click
, validatePkgConfig
, zeitgeist
, withDocumentation ? true
, doxygen
@@ -29,7 +30,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-app-launch";
version = "0.1.8";
version = "0.1.9";
outputs = [
"out"
@@ -42,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "ubports";
repo = "development/core/lomiri-app-launch";
rev = finalAttrs.version;
hash = "sha256-NIBZk5H0bPwAwkI0Qiq2S9dZvchAFPBCHKi2inUVZmI=";
hash = "sha256-vuu6tZ5eDJN2rraOpmrDddSl1cIFFBSrILKMJqcUDVc=";
};
postPatch = ''
@@ -50,7 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
# used pkg_get_variable, cannot replace prefix
substituteInPlace data/CMakeLists.txt \
--replace 'DESTINATION "''${SYSTEMD_USER_UNIT_DIR}"' 'DESTINATION "${placeholder "out"}/lib/systemd/user"'
--replace 'pkg_get_variable(SYSTEMD_USER_UNIT_DIR systemd systemduserunitdir)' 'set(SYSTEMD_USER_UNIT_DIR "''${CMAKE_INSTALL_PREFIX}/lib/systemd/user")'
substituteInPlace tests/jobs-systemd.cpp \
--replace '^(/usr)?' '^(/nix/store/\\w+-bash-.+)?'
@@ -63,6 +64,7 @@ stdenv.mkDerivation (finalAttrs: {
dpkg # for setting LOMIRI_APP_LAUNCH_ARCH
gobject-introspection
pkg-config
validatePkgConfig
] ++ lib.optionals withDocumentation [
doxygen
python3Packages.breathe
@@ -96,8 +98,8 @@ stdenv.mkDerivation (finalAttrs: {
];
cmakeFlags = [
"-DENABLE_MIRCLIENT=OFF"
"-DENABLE_TESTS=${lib.boolToString finalAttrs.doCheck}"
(lib.cmakeBool "ENABLE_MIRCLIENT" false)
(lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck)
];
postBuild = lib.optionalString withDocumentation ''
@@ -119,6 +121,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = with lib; {
description = "System and associated utilities to launch applications in a standard and confined way";
homepage = "https://gitlab.com/ubports/development/core/lomiri-app-launch";
changelog = "https://gitlab.com/ubports/development/core/lomiri-app-launch/-/blob/${finalAttrs.version}/ChangeLog";
license = licenses.gpl3Only;
maintainers = teams.lomiri.members;
platforms = platforms.linux;
@@ -1,6 +1,7 @@
{ stdenv
, lib
, fetchFromGitLab
, gitUpdater
, testers
, boost
, cmake
@@ -19,17 +20,18 @@
, properties-cpp
, qtbase
, qtdeclarative
, validatePkgConfig
}:
stdenv.mkDerivation (finalAttrs: {
pname = "trust-store";
version = "0-unstable-2023-12-27";
version = "2.0.2";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/trust-store";
rev = "c91e5ac54c4032525f930f0651d673ad3a1095a2";
hash = "sha256-zqs40tKo2AOd9yL2Xfbk52Uh8hy4uT1XDT6YtKufAaY=";
rev = finalAttrs.version;
hash = "sha256-tVwqBu4py8kdydyKECZfLvcLijpZSQszeo8ytTDagy0=";
};
outputs = [
@@ -58,6 +60,7 @@ stdenv.mkDerivation (finalAttrs: {
gettext
graphviz
pkg-config
validatePkgConfig
];
buildInputs = [
@@ -106,7 +109,10 @@ stdenv.mkDerivation (finalAttrs: {
# Starts & talks to DBus
enableParallelChecking = false;
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
passthru = {
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
updateScript = gitUpdater { };
};
meta = with lib; {
description = "Common implementation of a trust store to be used by trusted helpers";
@@ -1,7 +1,6 @@
{ stdenv
, lib
, fetchFromGitLab
, fetchpatch
, gitUpdater
, testers
, cmake
@@ -10,17 +9,18 @@
, pkg-config
, qtbase
, qtdeclarative
, validatePkgConfig
}:
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-action-api";
version = "1.1.2";
version = "1.1.3";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/lomiri-action-api";
rev = finalAttrs.version;
hash = "sha256-FOHjZ5F4IkjSn/SpZEz25CbTR/gaK4D7BRxDVSDuAl8=";
hash = "sha256-JDcUq7qEp6Z8TjdNspIz4FE/euH+ytGWa4rSxy4voiU=";
};
outputs = [
@@ -28,19 +28,10 @@ stdenv.mkDerivation (finalAttrs: {
"dev"
];
patches = [
# Drop deprecated qt5_use_modules usage
# Remove when https://gitlab.com/ubports/development/core/lomiri-action-api/-/merge_requests/4 merged & in release
(fetchpatch {
url = "https://gitlab.com/OPNA2608/lomiri-action-api/-/commit/ff1d7f7eb127f6a00a99e8b278c963899d0303f0.patch";
hash = "sha256-nLUoRl260hMbtEPjOQJI/3w54xgFxjcxerAqNN5FU/0=";
})
];
postPatch = ''
# Queries QMake for broken Qt variable: '/build/qtbase-<commit>/$(out)/$(qtQmlPrefix)'
substituteInPlace qml/Lomiri/Action/CMakeLists.txt \
--replace "\''${QT_IMPORTS_DIR}/Lomiri" '${qtbase.qtQmlPrefix}/Lomiri'
--replace 'exec_program(''${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_QML" OUTPUT_VARIABLE QT_IMPORTS_DIR)' 'set(QT_IMPORTS_DIR "''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}")'
'';
strictDeps = true;
@@ -48,6 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
cmake
pkg-config
validatePkgConfig
];
buildInputs = [
@@ -61,9 +53,11 @@ stdenv.mkDerivation (finalAttrs: {
];
cmakeFlags = [
"-DENABLE_TESTING=${lib.boolToString finalAttrs.finalPackage.doCheck}"
"-Duse_libhud2=OFF" # Use vendored libhud2, TODO package libhud2 separately?
"-DGENERATE_DOCUMENTATION=OFF" # QML docs need qdoc, https://github.com/NixOS/nixpkgs/pull/245379
(lib.cmakeBool "ENABLE_TESTING" finalAttrs.finalPackage.doCheck)
# Use vendored libhud2, TODO package libhud2 separately?
(lib.cmakeBool "use_libhud2" false)
# QML docs need qdoc, https://github.com/NixOS/nixpkgs/pull/245379
(lib.cmakeBool "GENERATE_DOCUMENTATION" false)
];
dontWrapQtApps = true;
@@ -83,6 +77,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = with lib; {
description = "Allow applications to export actions in various forms to the Lomiri Shell";
homepage = "https://gitlab.com/ubports/development/core/lomiri-action-api";
changelog = "https://gitlab.com/ubports/development/core/lomiri-action-api/-/blob/${finalAttrs.version}/ChangeLog";
license = licenses.lgpl3Only;
maintainers = teams.lomiri.members;
platforms = platforms.linux;
@@ -12,13 +12,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-settings-components";
version = "1.1.0";
version = "1.1.1";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/lomiri-settings-components";
rev = finalAttrs.version;
hash = "sha256-13uxUBM+uOmt8X0uLGWNP8YbwCdb2QCChB8IP3td5a4=";
hash = "sha256-2Wyh+2AW6EeKRv26D4l+GIoH5sWC9SmOODNHOveFZPg=";
};
postPatch = ''
@@ -58,6 +58,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = with lib; {
description = "QML settings components for the Lomiri Desktop Environment";
homepage = "https://gitlab.com/ubports/development/core/lomiri-settings-components";
changelog = "https://gitlab.com/ubports/development/core/lomiri-settings-components/-/blob/${finalAttrs.version}/ChangeLog";
license = licenses.lgpl3Only;
maintainers = teams.lomiri.members;
platforms = platforms.linux;
@@ -1,7 +1,6 @@
{ stdenv
, lib
, fetchFromGitLab
, fetchpatch
, gitUpdater
, cmake
, cmake-extras
@@ -17,48 +16,18 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-ui-extras";
version = "0.6.2";
version = "0.6.3";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/lomiri-ui-extras";
rev = finalAttrs.version;
hash = "sha256-RZTGTe18ebqKz8kWOpRgFJO2sR97sVbdPQMW/XLHs68=";
hash = "sha256-SF/UF84K9kNtLHO9FDuIFdQId0NfbmRiRZiPrOKvE9o=";
};
patches = [
# Fix compatibility with Exiv2 0.28.0
# Remove when version > 0.6.2
(fetchpatch {
name = "0001-lomiri-ui-extras-Fix-for-exiv2-0.28.0.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-ui-extras/-/commit/f337ceefa7c4f8f39dc7c75d51df8b86f148891a.patch";
hash = "sha256-dm50un46eTeBZsyHJF1npGBqOAF1BopJZ1Uln1PqSOE=";
})
# Remove deprecated qt5_use_modules usage
# Remove when version > 0.6.2
(fetchpatch {
name = "0002-lomiri-ui-extras-Stop-using-qt5_use_modules.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-ui-extras/-/commit/df506e7ebe7107dd0465d7d65727753f07abd122.patch";
hash = "sha256-VmOhJaUgjp9BHoYAO780uxI5tE7F0Gtp9gRNe0QCrhs=";
})
# Find qmltestrunner via PATH instead of hardcoded path
# https://gitlab.com/ubports/development/core/lomiri-ui-extras/-/merge_requests/84
(fetchpatch {
name = "0003-lomiri-ui-extras-Dont-insist-on-finding-qmltestrunner-only-at-hardcoded-guess.patch";
url = "https://gitlab.com/OPNA2608/lomiri-ui-extras/-/commit/b0c4901818761b516a45b7f0524ac713ddf33cfe.patch";
hash = "sha256-oFeaGiYEDr9XHRlCpXX+0ALlVdfb0FmGBFF1RzIXSBE=";
})
];
postPatch = ''
substituteInPlace modules/Lomiri/Components/Extras{,/{plugin,PamAuthentication}}/CMakeLists.txt \
--replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"
# tst_busy_indicator runs into a codepath in lomiri-ui-toolkit that expects a working GL context
sed -i tests/qml/CMakeLists.txt \
-e '/declare_qml_test("tst_busy_indicator"/d'
'';
strictDeps = true;
@@ -89,11 +58,19 @@ stdenv.mkDerivation (finalAttrs: {
dontWrapQtApps = true;
cmakeFlags = [
"-DENABLE_TESTS=${lib.boolToString finalAttrs.finalPackage.doCheck}"
(lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck)
(lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" (lib.concatStringsSep ";" [
# Exclude tests
"-E" (lib.strings.escapeShellArg "(${lib.concatStringsSep "|" [
# tst_busy_indicator runs into a codepath in lomiri-ui-toolkit that expects a working GL context
"^tst_busy_indicator"
# Photo & PhotoImageProvider Randomly fail, unsure why
"^tst_PhotoEditorPhoto"
]})")
]))
];
# tst_PhotoEditorPhoto and tst_PhotoEditorPhotoImageProvider randomly fail, haven't had time to debug
doCheck = false;
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
# Parallelism breaks xvfb-run-launched script for QML tests
enableParallelChecking = false;
@@ -118,6 +95,7 @@ stdenv.mkDerivation (finalAttrs: {
documentation and/or lack of automated tests.
'';
homepage = "https://gitlab.com/ubports/development/core/lomiri-ui-extras";
changelog = "https://gitlab.com/ubports/development/core/lomiri-ui-extras/-/blob/${finalAttrs.version}/ChangeLog";
license = licenses.gpl3Only;
maintainers = teams.lomiri.members;
platforms = platforms.linux;
@@ -23,6 +23,7 @@
, qtsvg
, qtsystems
, suru-icon-theme
, validatePkgConfig
, wrapQtAppsHook
, xvfb-run
}:
@@ -34,13 +35,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-ui-toolkit";
version = "1.3.5011";
version = "1.3.5012";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/lomiri-ui-toolkit";
rev = finalAttrs.version;
hash = "sha256-z/EEmC9LjQtBx5MRDLeImxpRrzH4w6v6o+NmqX+L4dw=";
hash = "sha256-Azz2IOm/7XRvDbyIKaYxrkR47evSB17ejtssuEJayPc=";
};
outputs = [ "out" "dev" ];
@@ -58,22 +59,6 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-x8Zk7+VBSlM16a3V1yxJqIB63796H0lsS+F4dvR/z80=";
})
# Small fixes to statesaver & tst_imageprovider.11.qml tests
# Remove when version > 1.3.5011
(fetchpatch {
name = "0003-lomiri-ui-toolkit-tests-Minor-fixes.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/commit/a8324d670b813a48ac7d48aa0bc013773047a01d.patch";
hash = "sha256-W6q3LuQqWmUVSBzORcJsTPoLfbWwytABMDR6JITHrDI=";
})
# Fix Qt 5.15.11 compatibility
# Remove when version > 1.3.5011
(fetchpatch {
name = "0004-lomiri-ui-toolkit-Fix-compilation-with-Qt-5.15.11.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/commit/4f999077dc6bc5591bdfede64fd21cb3acdcaac1.patch";
hash = "sha256-5VCQFOykxgspNBxH94XYuBpdHsH9a3+8FwV6xQE55Xc=";
})
./2001-Mark-problematic-tests.patch
(substituteAll {
src = ./2002-Nixpkgs-versioned-QML-path.patch.in;
@@ -136,6 +121,7 @@ stdenv.mkDerivation (finalAttrs: {
pkg-config
python3
qmake
validatePkgConfig
wrapQtAppsHook
];
@@ -248,6 +234,7 @@ stdenv.mkDerivation (finalAttrs: {
- localisation through gettext
'';
homepage = "https://gitlab.com/ubports/development/core/lomiri-ui-toolkit";
changelog = "https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/blob/${finalAttrs.version}/ChangeLog";
license = with licenses; [ gpl3Only cc-by-sa-30 ];
maintainers = teams.lomiri.members;
platforms = platforms.linux;
@@ -18,17 +18,18 @@
, qtbase
, qtdeclarative
, sqlite
, validatePkgConfig
}:
stdenv.mkDerivation (finalAttrs: {
pname = "biometryd";
version = "0.3.0";
version = "0.3.1";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/biometryd";
rev = finalAttrs.version;
hash = "sha256-b095rsQnd63Ziqe+rn3ROo4LGXZxZ3Sa6h3apzCuyCs=";
hash = "sha256-derU7pKdNf6pwhskaW7gCLcU9ixBG3U0EI/qtANmmTs=";
};
outputs = [
@@ -36,48 +37,10 @@ stdenv.mkDerivation (finalAttrs: {
"dev"
];
patches = [
# https://gitlab.com/ubports/development/core/biometryd/-/merge_requests/31
(fetchpatch {
url = "https://gitlab.com/OPNA2608/biometryd/-/commit/d01d979e4f98c6473761d1ace308aa182017804e.patch";
hash = "sha256-JxL3BLuh33ptfneU1y2qNGFKpeMlZlTMwCK97Rk3aTA=";
})
(fetchpatch {
url = "https://gitlab.com/OPNA2608/biometryd/-/commit/3cec6a3d42ea6aba8892da2c771b317f44daf9e2.patch";
hash = "sha256-Ij/aio38WmZ+NsUSbM195Gwb83goWIcCnJvGwAOJi50=";
})
(fetchpatch {
url = "https://gitlab.com/OPNA2608/biometryd/-/commit/e89bd9444bc1cfe84a9aa93faa23057c80f39564.patch";
hash = "sha256-1vEG349X9+SvY/f3no/l5cMVGpdzC8h/8XOZwL/70Dc=";
})
# https://gitlab.com/ubports/development/core/biometryd/-/merge_requests/32
(fetchpatch {
url = "https://gitlab.com/OPNA2608/biometryd/-/commit/9e52fad0139c5a45f69e6a6256b2b5ff54f77740.patch";
hash = "sha256-DZSdzKq6EYgAllKSDgkGk2g57zHN+gI5fOoj7U5AcKY=";
})
# Fix GCC13 & musl compat
# Remove when version > 0.3.0
(fetchpatch {
url = "https://gitlab.com/ubports/development/core/biometryd/-/commit/bc6f1a743dbb0eda6310bd13229f650be62aa3b3.patch";
hash = "sha256-Pr3zHrMNxTKYHsqHEcVv4fYVknjUwBFRTSuBxZhqUi8=";
})
];
postPatch = ''
# Remove with !31 patches, fetchpatch can't apply renames
pushd data
for type in conf service; do
mv biometryd.$type biometryd.$type.in
substituteInPlace biometryd.$type.in \
--replace '/usr/bin' "\''${CMAKE_INSTALL_FULL_BINDIR}"
done
popd
# Uses pkg_get_variable, cannot substitute prefix with that
substituteInPlace CMakeLists.txt \
--replace 'pkg_get_variable(SYSTEMD_SYSTEM_UNIT_DIR systemd systemdsystemunitdir)' 'set(SYSTEMD_SYSTEM_UNIT_DIR "${placeholder "out"}/lib/systemd/system")'
substituteInPlace data/CMakeLists.txt \
--replace 'pkg_get_variable(SYSTEMD_SYSTEM_UNIT_DIR systemd systemdsystemunitdir)' 'set(SYSTEMD_SYSTEM_UNIT_DIR "''${CMAKE_INSTALL_PREFIX}/lib/systemd/system")'
substituteInPlace src/biometry/qml/Biometryd/CMakeLists.txt \
--replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"
@@ -91,6 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
cmake
pkg-config
qtdeclarative # qmlplugindump
validatePkgConfig
];
buildInputs = [
@@ -114,8 +78,9 @@ stdenv.mkDerivation (finalAttrs: {
dontWrapQtApps = true;
cmakeFlags = [
"-DENABLE_WERROR=OFF"
"-DWITH_HYBRIS=OFF"
# maybe-uninitialized warnings
(lib.cmakeBool "ENABLE_WERROR" false)
(lib.cmakeBool "WITH_HYBRIS" false)
];
preBuild = ''
@@ -125,6 +90,11 @@ stdenv.mkDerivation (finalAttrs: {
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
passthru = {
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
updateScript = gitUpdater { };
};
meta = with lib; {
description = "Mediates/multiplexes access to biometric devices";
longDescription = ''
@@ -133,6 +103,7 @@ stdenv.mkDerivation (finalAttrs: {
them for identification and verification of users.
'';
homepage = "https://gitlab.com/ubports/development/core/biometryd";
changelog = "https://gitlab.com/ubports/development/core/biometryd/-/${finalAttrs.version}/ChangeLog";
license = licenses.lgpl3Only;
maintainers = teams.lomiri.members;
mainProgram = "biometryd";
@@ -67,6 +67,18 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/3c5ca4a8ec125e003aca78c14521b70140856c25.patch";
hash = "sha256-kYN0eLwMyM/9yK+zboyEsoPKZMZ4SCXodVYsvkQr2F8=";
})
# Remove when https://gitlab.com/ubports/development/core/content-hub/-/merge_requests/37 merged & in release
(fetchpatch {
name = "0004-content-hub-Fix-generation-of-transfer_files.patch";
url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/7ab3a4421356f83515f0deffb5f97a5b38601c13.patch";
hash = "sha256-MJZm3ny5t0/GX0bd5hGQbPM2k7M4KUvKqce/0cYYgvM=";
})
(fetchpatch {
name = "0005-content-hub-Fix-generation-of-moc_test_harness.patch";
url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/6e30f4f10ef90e817ca01d32959b6c782de48955.patch";
hash = "sha256-TAbYn265RpHpulaRVaHy9XqNF+qoDE7YQIfFMPfqEhw=";
})
];
postPatch = ''
@@ -16,13 +16,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "hfd-service";
version = "0.2.1";
version = "0.2.2";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/hfd-service";
rev = finalAttrs.version;
hash = "sha256-KcHwLTSdo86YCteUsPndoxmLf23SOEhROc5cJQ8GS1Q=";
hash = "sha256-OpT1vNjnyq66v54EoGOZOUb4HECD4WRJRh9hYMB0GI0=";
};
postPatch = ''
@@ -59,7 +59,7 @@ stdenv.mkDerivation (finalAttrs: {
];
cmakeFlags = [
"-DENABLE_LIBHYBRIS=OFF"
(lib.cmakeBool "ENABLE_LIBHYBRIS" false)
];
dontWrapQtApps = true;
@@ -69,6 +69,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = with lib; {
description = "DBus-activated service that manages human feedback devices such as LEDs and vibrators on mobile devices";
homepage = "https://gitlab.com/ubports/development/core/hfd-service";
changelog = "https://gitlab.com/ubports/development/core/hfd-service/-/blob/${finalAttrs.version}/ChangeLog";
license = licenses.lgpl3Only;
maintainers = teams.lomiri.members;
platforms = platforms.linux;
@@ -19,6 +19,7 @@
, sqlite
, telepathy
, telepathy-mission-control
, validatePkgConfig
, wrapQtAppsHook
, xvfb-run
}:
@@ -28,13 +29,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "history-service";
version = "0.4";
version = "0.5";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/history-service";
rev = finalAttrs.version;
hash = "sha256-oCX+moGQewzstbpddEYYp1kQdO2mVXpWJITfvzDzQDI=";
hash = "sha256-m/ytJoHxW0q1vlVKK6Z9ovHzjoiS1AodCSGHTeKygfQ=";
};
outputs = [
@@ -43,38 +44,31 @@ stdenv.mkDerivation (finalAttrs: {
];
patches = [
# Deprecation warnings with Qt5.15, allow disabling -Werror
# Remove when version > 0.4
(fetchpatch {
url = "https://gitlab.com/ubports/development/core/history-service/-/commit/1370777952c6a2efb85f582ff8ba085c2c0e290a.patch";
hash = "sha256-Z/dFrFo7WoPZlKto6wNGeWdopsi8iBjmd5ycbqMKgxo=";
})
# Drop deprecated qt5_use_modules usage
# Remove when https://gitlab.com/ubports/development/core/history-service/-/merge_requests/36 merged & in release
(fetchpatch {
url = "https://gitlab.com/OPNA2608/history-service/-/commit/b36ab377aca93555b29d1471d6eaa706b5c843ca.patch";
url = "https://gitlab.com/ubports/development/core/history-service/-/commit/b36ab377aca93555b29d1471d6eaa706b5c843ca.patch";
hash = "sha256-mOpXqqd4JI7lHtcWDm9LGCrtB8ERge04jMpHIagDM2k=";
})
# Add more / correct existing GNUInstallDirs usage
# Remove when https://gitlab.com/ubports/development/core/history-service/-/merge_requests/37 merged & in release
(fetchpatch {
url = "https://gitlab.com/OPNA2608/history-service/-/commit/bb4dbdd16e80dcd286d8edfb86b08f0b61bc7fec.patch";
url = "https://gitlab.com/ubports/development/core/history-service/-/commit/bb4dbdd16e80dcd286d8edfb86b08f0b61bc7fec.patch";
hash = "sha256-C/XaygI663yaU06klQD9g0NnbqYxHSmzdbrRxcfiJkk=";
})
# Correct version information
# Remove when https://gitlab.com/ubports/development/core/history-service/-/merge_requests/38 merged & in release
(fetchpatch {
url = "https://gitlab.com/OPNA2608/history-service/-/commit/30d9fbee203205ec1ea8fd19c9b6eb54c080a9e2.patch";
hash = "sha256-vSZ1ii5Yhw7pB+Pd1pjWnW7JsQxKnn+LeuBKo6qZjQs=";
url = "https://gitlab.com/ubports/development/core/history-service/-/commit/98458126f9f494b124134fb35c198af0545f6a98.patch";
hash = "sha256-4EfLsaueKTCovl8EilN30cmfNfg19wvyCsbKqOrXtuw=";
})
# Make tests optional
# Remove when https://gitlab.com/ubports/development/core/history-service/-/merge_requests/39 merged & in release
(fetchpatch {
url = "https://gitlab.com/OPNA2608/history-service/-/commit/cb5c80cffc35611657244e15a7eb10edcd598ccd.patch";
url = "https://gitlab.com/ubports/development/core/history-service/-/commit/cb5c80cffc35611657244e15a7eb10edcd598ccd.patch";
hash = "sha256-MFHGu4OMScdThq9htUgFMpezP7Ym6YTIZUHWol20wqw=";
})
];
@@ -131,6 +125,7 @@ stdenv.mkDerivation (finalAttrs: {
cmake
pkg-config
sqlite
validatePkgConfig
wrapQtAppsHook
];
@@ -193,6 +188,7 @@ stdenv.mkDerivation (finalAttrs: {
Database location: ~/.local/share/history-service/history.sqlite
'';
homepage = "https://gitlab.com/ubports/development/core/history-service";
changelog = "https://gitlab.com/ubports/development/core/history-service/-/blob/${finalAttrs.version}/ChangeLog";
license = licenses.gpl3Only;
maintainers = teams.lomiri.members;
platforms = platforms.linux;
@@ -9,7 +9,8 @@
, cmake-extras
, dbus
, dbus-test-runner
, withDocumentation ? true
# Needs qdoc, https://github.com/NixOS/nixpkgs/pull/245379
, withDocumentation ? false
, doxygen
, glog
, graphviz
@@ -19,19 +20,20 @@
, python3
, qtbase
, qtdeclarative
, validatePkgConfig
, wrapQtAppsHook
, xvfb-run
}:
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-download-manager";
version = "0.1.2";
version = "0.1.3";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/lomiri-download-manager";
rev = finalAttrs.version;
hash = "sha256-a9C+hactBMHMr31E+ImKDPgpzxajy1klkjDcSEkPHqI=";
hash = "sha256-LhhO/zZ4wNiRd235NB2b08SQcCZt1awN/flcsLs2m8U=";
};
outputs = [
@@ -42,42 +44,17 @@ stdenv.mkDerivation (finalAttrs: {
];
patches = [
# Remove when version > 0.1.2
# This change seems incomplete, potentially breaks things on systems that don't use AppArmor mediation
# https://gitlab.com/ubports/development/core/lomiri-download-manager/-/merge_requests/24#note_1746801673
(fetchpatch {
name = "0001-lomiri-download-manager-Make-documentation-build-optional.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-download-manager/-/commit/32d7369714c01bd425af9c6de5bdc04399a12e0a.patch";
hash = "sha256-UztcBAAFXDX2j0X5D3kMp9q0vFm3/PblUAKPJ5nZyiY=";
})
# Remove when version > 0.1.2
(fetchpatch {
name = "0002-lomiri-download-manager-Upgrade-C++-standard-to-C++17.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-download-manager/-/commit/a6bc7ae80f2ff4c4743978c6c694149707d9d2e2.patch";
hash = "sha256-iA1sZhHI8Osgo1ofL5RTqgVzUG32zx0dU/28qcEqmQc=";
})
# Remove when version > 0.1.2
(fetchpatch {
name = "0003-lomiri-download-manager-Bump-version-make-Werror-and-tests-optional.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-download-manager/-/commit/73ec04c429e5285f05dd72d5bb9720ba6ff31be2.patch";
hash = "sha256-0BrJSKCvUhITwfln05OrHgHEpldbgBoh4rivAvw+qrc=";
})
# Remove when version > 0.1.2
(fetchpatch {
name = "0004-lomiri-download-manager-Use-GNUInstallDirs-variables-for-more-install-destinations.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-download-manager/-/commit/5d40daf053de62150aa5ee618285e415d7d3f1c8.patch";
hash = "sha256-r5fpiJkZkDsYX9fcX5JuPsE/qli9z5/DatmGJ9/QauU=";
name = "0001-lomiri-download-manager-Revert-Drop-GetConnectionAppArmorSecurityContext.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-download-manager/-/commit/2367f3dff852b69457b1a65a487cb032c210569f.patch";
revert = true;
hash = "sha256-xS0Wz6d+bZWj/kDGK2WhOduzyP4Rgz3n9n2XY1Zu5hE=";
})
];
postPatch = ''
# fetchpatch strips renames
# Remove when version > 0.1.2
for service in src/{uploads,downloads}/daemon/{lomiri-*-manager,lomiri-*-manager-systemd,com.lomiri.*}.service; do
mv "$service" "$service".in
done
# pkg_get_variable doesn't let us substitute prefix pkg-config variable from systemd
substituteInPlace CMakeLists.txt \
--replace 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)' 'set(SYSTEMD_USER_DIR "${placeholder "out"}/lib/systemd/user")' \
@@ -89,6 +66,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
cmake
pkg-config
validatePkgConfig
wrapQtAppsHook
] ++ lib.optionals withDocumentation [
doxygen
@@ -116,10 +94,10 @@ stdenv.mkDerivation (finalAttrs: {
];
cmakeFlags = [
"-DENABLE_DOC=${lib.boolToString withDocumentation}"
(lib.cmakeBool "ENABLE_DOC" withDocumentation)
# Deprecation warnings on Qt 5.15
# https://gitlab.com/ubports/development/core/lomiri-download-manager/-/issues/1
"-DENABLE_WERROR=OFF"
(lib.cmakeBool "ENABLE_WERROR" false)
];
makeTargets = [
@@ -146,6 +124,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = with lib; {
description = "Performs uploads and downloads from a centralized location";
homepage = "https://gitlab.com/ubports/development/core/lomiri-download-manager";
changelog = "https://gitlab.com/ubports/development/core/lomiri-download-manager/-/blob/${finalAttrs.version}/ChangeLog";
license = licenses.lgpl3Only;
maintainers = teams.lomiri.members;
platforms = platforms.linux;
@@ -1,7 +1,6 @@
{ stdenv
, lib
, fetchFromGitLab
, fetchpatch
, gitUpdater
, nixosTests
, testers
@@ -27,17 +26,18 @@
, python3
, qtdeclarative
, qtbase
, validatePkgConfig
}:
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-indicator-network";
version = "1.0.1";
version = "1.0.2";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/lomiri-indicator-network";
rev = finalAttrs.version;
hash = "sha256-rJKWhW082ndVPEQHjuSriKtl0zQw86adxiINkZQq1hY=";
hash = "sha256-9AQCWCZFbt4XcmKsjoTXJlWOm02/kBhpPxbHRtftNFM=";
};
outputs = [
@@ -46,22 +46,6 @@ stdenv.mkDerivation (finalAttrs: {
"doc"
];
patches = [
# Remove when version > 1.0.1
(fetchpatch {
name = "0001-lomiri-indicator-network-Make-less-assumptions-about-where-files-will-end-up.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-indicator-network/-/commit/065212b22ab9aa8d25a61b5482ad6511e4c8510b.patch";
hash = "sha256-WrDTBKusK1808W8LZRGWaTOExu7gKpYBvkQ8hzoHoHk=";
})
# Remove when version > 1.0.1
(fetchpatch {
name = "0002-lomiri-indicator-network-Honour-CMAKE_INSTALL_DOCDIR_fordocumentation-installation.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-indicator-network/-/commit/79b9e12313f765ab6e95b4d4dfefbdbca50ef3c6.patch";
hash = "sha256-vRfdegEi892UlrC9c1+5Td7CHLh7u0foPggLNBfc8lw=";
})
];
postPatch = ''
# Queried via pkg-config, would need to override a prefix variable
# Needs CMake 3.28 or higher to do as part of the call, https://github.com/NixOS/nixpkgs/pull/275284
@@ -79,6 +63,7 @@ stdenv.mkDerivation (finalAttrs: {
intltool
pkg-config
qtdeclarative
validatePkgConfig
];
buildInputs = [
@@ -138,6 +123,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = with lib; {
description = "Ayatana indiator exporting the network settings menu through D-Bus";
homepage = "https://gitlab.com/ubports/development/core/lomiri-indicator-network";
changelog = "https://gitlab.com/ubports/development/core/lomiri-indicator-network/-/blob/${finalAttrs.version}/ChangeLog";
license = licenses.gpl3Only;
maintainers = teams.lomiri.members;
platforms = platforms.linux;
@@ -31,13 +31,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-thumbnailer";
version = "3.0.2";
version = "3.0.3";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/lomiri-thumbnailer";
rev = finalAttrs.version;
hash = "sha256-AZoXTE4ix/NDBSwPJcod+cMNnfrCxFj5IzxCWxh6uq0=";
hash = "sha256-BE/U4CT4z4WzEJXrVhX8ME/x9q7w8wNnJKTbfVku2VQ=";
};
outputs = [
@@ -47,64 +47,43 @@ stdenv.mkDerivation (finalAttrs: {
];
patches = [
# Remove when version > 3.0.2
(fetchpatch {
name = "0001-lomiri-thumbnailer-Stop-using-qt5_use_modules.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/commit/a0d81863f3f48717507cfa181030a8ffb0c4e881.patch";
hash = "sha256-B0935Hve5zYA3aUqr0RUtJsOAsfDAF/L7/20F4I+5s0=";
})
# Remove when https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/merge_requests/19 merged & in release
(fetchpatch {
name = "0002-lomiri-thumbnailer-Add-more-better-GNUInstallDirs-variables-usage.patch";
name = "0001-lomiri-thumbnailer-Add-more-better-GNUInstallDirs-variables-usage.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/commit/0b9795a6313fd025d5646f2628a2cbb3104b0ebc.patch";
hash = "sha256-br99n2nDLjUfnjbjhOsWlvP62VmVjYeZ6yPs1dhPN/s=";
})
# Remove when version > 3.0.2
(fetchpatch {
name = "0003-lomiri-thumbnailer-Fix-check-for-No-such-file-or-directory-error.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/commit/de8f9175830581e9180ed789b92dffbb08dfe436.patch";
hash = "sha256-JHoYTATbR8NTsVU2+8+R2sCSU6ZDLyKgmdbt4VZPv3Q=";
})
# Remove when version > 3.0.2
(fetchpatch {
name = "0004-lomiri-thumbnailer-tests-headers-CMakelists.txt-Remove-extra-slash-in-include-paths.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/commit/3598fdc84ded8241f273c89c95371d4675690e38.patch";
hash = "sha256-Sonjc/a6hfuXhaus2scfmPfgIYWxsRD/1/IIACLqsBA=";
})
# Remove when https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/merge_requests/22 merged & in release
(fetchpatch {
name = "0005-lomiri-thumbnailer-Make-tests-optional.patch";
name = "0002-lomiri-thumbnailer-Make-tests-optional.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/commit/df7a3d1689f875d207a90067b957e888160491b9.patch";
hash = "sha256-gVxigpSL/3fXNdJBjh8Ex3/TYmQUiwRji/NmLW/uhE4=";
})
# Remove when https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/merge_requests/23 merged & in release
(fetchpatch {
name = "0006-lomiri-thumbnailer-doc-liblomiri-thumbnailer-qt-Honour-CMAKE_INSTALL_DOCDIR.patch";
name = "0003-lomiri-thumbnailer-doc-liblomiri-thumbnailer-qt-Honour-CMAKE_INSTALL_DOCDIR.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/commit/930a3b57e899f6eb65a96d096edaea6a6f6b242a.patch";
hash = "sha256-klYycUoQqA+Dfk/4fRQgdS4/G4o0sC1k98mbtl0iHkE=";
})
(fetchpatch {
name = "0007-lomiri-thumbnailer-Re-enable-documentation.patch";
name = "0004-lomiri-thumbnailer-Re-enable-documentation.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/commit/2f9186f71fdd25e8a0852073f1da59ba6169cf3f.patch";
hash = "sha256-youaJfCeYVpLmruHMupuUdl0c/bSDPWqKPLgu5plBrw=";
})
(fetchpatch {
name = "0008-lomiri-thumbnailer-doc-liblomiri-thumbnailer-qt-examples-Drop-qt5_use_modules-usage.patch";
name = "0005-lomiri-thumbnailer-doc-liblomiri-thumbnailer-qt-examples-Drop-qt5_use_modules-usage.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/commit/9e5cf09de626e73e6b8f180cbc1160ebd2f169e7.patch";
hash = "sha256-vfNCN7tqq6ngzNmb3qqHDHaDx/kI8/UXyyv7LqUWya0=";
})
(fetchpatch {
name = "0009-lomiri-thumbnailer-Re-enable-coverge-reporting.patch";
name = "0006-lomiri-thumbnailer-Re-enable-coverge-reporting.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/commit/6a48831f042cd3ad34200f32800393d4eec2f84b.patch";
hash = "sha256-HZd4K0R1W6adOjKy7tODfQAD+9IKPcK0DnH1uKNd/Ak=";
})
(fetchpatch {
name = "0010-lomiri-thumbnailer-Make-GTest-available-to-example-test.patch";
name = "0007-lomiri-thumbnailer-Make-GTest-available-to-example-test.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/commit/657be3bd1aeb227edc04e26b597b2fe97b2dc51a.patch";
hash = "sha256-XEvdWV3JJujG16+87iewYor0jFK7NTeE5459iT96SkU=";
})
@@ -42,52 +42,22 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "telephony-service";
version = "0.5.2";
version = "0.5.3";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/telephony-service";
rev = finalAttrs.version;
hash = "sha256-9KxM8UWTIBpMMPosar2ZV9W35WmCLIWXD1ulWtqCKxM=";
hash = "sha256-eLGwAJmBDDvSODQUNr/zcPA/0DdXtVBiS7vg+iIYPDo=";
};
patches = [
# Remove when version > 0.5.2
(fetchpatch {
name = "0001-telephony-service-CMakeLists-Fix-Cross-conditional-for-QT_INSTALL_QML-determining.patch";
url = "https://gitlab.com/ubports/development/core/telephony-service/-/commit/c19463444af257c263f35127284d9787f3522f1f.patch";
hash = "sha256-Dr/uev/z4pEiV4/QRmQ15+6wrD8rh+8vRcfWIi8FBCU=";
})
# Remove when version > 0.5.2
(fetchpatch {
name = "0002-telephony-service-tests-libtelephonyservice-CMakeLists-Fix-ProtocolTest-build.patch";
url = "https://gitlab.com/ubports/development/core/telephony-service/-/commit/d8f0f38f8b723569c03d601ac803b079ed51d09e.patch";
hash = "sha256-asDEzh8Yg6LXl6fdwan6IhwLEuzmDfmHI+pjpxJRbeE=";
})
# Remove when https://gitlab.com/ubports/development/core/telephony-service/-/merge_requests/89 merged & in release
(fetchpatch2 {
name = "0003-telephony-service-Add-more-better-GNUInstallDirs-variables-usage.patch";
url = "https://gitlab.com/ubports/development/core/telephony-service/-/commit/9a35a50c587ebfdfb1e08b54ffec0d2e6fef1950.patch";
hash = "sha256-jGeJlwbyVr0WkyGKY7Lw5dY/V9yN43DpZmuli6oRho0=";
})
# Remove when https://gitlab.com/ubports/development/core/telephony-service/-/merge_requests/90 merged & in release
(fetchpatch {
name = "0004-telephony-service-CMakeLists-Make-tests-optional.patch";
name = "0001-telephony-service-CMakeLists-Make-tests-optional.patch";
url = "https://gitlab.com/ubports/development/core/telephony-service/-/commit/9a8297bcf9b34d77ffdae3dfe4ad2636022976fb.patch";
hash = "sha256-Za4ZGKnw9iz2RP1LzLhKrEJ1vLUufWk8J07LmWDW40E=";
})
# libphonenumber -> protobuf -> abseil-cpp demands C++14
# But uses std::string_view which is C++17?
# Remove when version > 0.5.2
(fetchpatch {
name = "0005-telephony-service-Upgrade-C++-standard-to-C++17.patch";
url = "https://gitlab.com/ubports/development/core/telephony-service/-/commit/b77349acb4ab3f857a55481eeaf2af1dcecfb775.patch";
hash = "sha256-vNtelYu/I9lv8EkNn8gB6zNgLJ24Znp9HYmLG9olFe8=";
})
];
postPatch = ''