mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 23:13:19 +00:00
Merge staging-next-24.05 into staging-24.05
This commit is contained in:
commit
074ea4eeac
@ -22,6 +22,7 @@ in {
|
||||
libusermetrics
|
||||
lomiri
|
||||
lomiri-download-manager
|
||||
lomiri-filemanager-app
|
||||
lomiri-schemas # exposes some required dbus interfaces
|
||||
lomiri-session # wrappers to properly launch the session
|
||||
lomiri-sounds
|
||||
@ -36,6 +37,10 @@ in {
|
||||
suru-icon-theme
|
||||
# telephony-service # currently broken: https://github.com/NixOS/nixpkgs/pull/314043
|
||||
]);
|
||||
variables = {
|
||||
# To override the keyboard layouts in Lomiri
|
||||
NIXOS_XKB_LAYOUTS = config.services.xserver.xkb.layout;
|
||||
};
|
||||
};
|
||||
|
||||
hardware.pulseaudio.enable = lib.mkDefault true;
|
||||
|
@ -202,7 +202,7 @@ in
|
||||
startAt = cfg.interval;
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = ''${lib.getExe pkgs.inadyn} -f ${configFile} --cache-dir ''${CACHE_DIRECTORY}/inadyn -1 --foreground -l ${cfg.logLevel}'';
|
||||
ExecStart = ''${lib.getExe pkgs.inadyn} -f ${configFile} --cache-dir ''${CACHE_DIRECTORY} -1 --foreground -l ${cfg.logLevel}'';
|
||||
LoadCredential = "config:${configFile}";
|
||||
CacheDirectory = "inadyn";
|
||||
|
||||
|
@ -516,6 +516,7 @@ in {
|
||||
lxd-image-server = handleTest ./lxd-image-server.nix {};
|
||||
#logstash = handleTest ./logstash.nix {};
|
||||
lomiri = handleTest ./lomiri.nix {};
|
||||
lomiri-filemanager-app = runTest ./lomiri-filemanager-app.nix;
|
||||
lomiri-system-settings = handleTest ./lomiri-system-settings.nix {};
|
||||
lorri = handleTest ./lorri/default.nix {};
|
||||
maddy = discoverTests (import ./maddy { inherit handleTest; });
|
||||
|
48
nixos/tests/lomiri-filemanager-app.nix
Normal file
48
nixos/tests/lomiri-filemanager-app.nix
Normal file
@ -0,0 +1,48 @@
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
name = "lomiri-filemanager-app-standalone";
|
||||
meta.maintainers = lib.teams.lomiri.members;
|
||||
|
||||
nodes.machine =
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
imports = [ ./common/x11.nix ];
|
||||
|
||||
services.xserver.enable = true;
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs.lomiri; [
|
||||
suru-icon-theme
|
||||
lomiri-filemanager-app
|
||||
];
|
||||
variables = {
|
||||
UITK_ICON_THEME = "suru";
|
||||
};
|
||||
};
|
||||
|
||||
i18n.supportedLocales = [ "all" ];
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
# Intended font & helps with OCR
|
||||
ubuntu_font_family
|
||||
];
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_x()
|
||||
|
||||
with subtest("lomiri filemanager launches"):
|
||||
machine.execute("lomiri-filemanager-app >&2 &")
|
||||
machine.wait_for_text(r"(filemanager.ubports|alice|items|directories|files|folder)")
|
||||
machine.screenshot("lomiri-filemanager_open")
|
||||
|
||||
machine.succeed("pkill -f lomiri-filemanager-app")
|
||||
|
||||
with subtest("lomiri filemanager localisation works"):
|
||||
machine.execute("env LANG=de_DE.UTF-8 lomiri-filemanager-app >&2 &")
|
||||
machine.wait_for_text(r"(Elemente|Verzeichnisse|Dateien|Ordner)")
|
||||
machine.screenshot("lomiri-filemanager_localised")
|
||||
'';
|
||||
}
|
@ -268,7 +268,7 @@ in {
|
||||
machine.screenshot("settings_content-hub_peers")
|
||||
|
||||
# Select Morph as content source
|
||||
mouse_click(300, 100)
|
||||
mouse_click(370, 100)
|
||||
|
||||
# Expect Morph to be brought into the foreground, with its Downloads page open
|
||||
machine.wait_for_text("No downloads")
|
||||
|
@ -63,14 +63,14 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "telegram-desktop";
|
||||
version = "5.1.2";
|
||||
version = "5.1.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "telegramdesktop";
|
||||
repo = "tdesktop";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-KTgID7pd0QSFi5t9cdIVEi4/oQirDgsf7tTcEEtRdY0=";
|
||||
hash = "sha256-dlPt87SKP17v9QFiRZSSUtSLVGTGbeo05G/p05l2zVc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ mkDerivation, lib, fetchFromGitHub, fetchpatch, cmake, pkg-config
|
||||
{ mkDerivation, lib, fetchFromGitHub, cmake, pkg-config
|
||||
, qtbase, qtmultimedia, qtsvg, qttools, krdc
|
||||
, libvncserver, libvirt, pcre, pixman, qtermwidget, spice-gtk, spice-protocol
|
||||
, libselinux, libsepol, util-linux
|
||||
@ -6,13 +6,13 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "virt-manager-qt";
|
||||
version = "0.72.97";
|
||||
version = "0.72.99";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "F1ash";
|
||||
repo = "qt-virt-manager";
|
||||
rev = version;
|
||||
sha256 = "0b2bx7ah35glcsiv186sc9cqdrkhg1vs9jz036k9byk61np0cb1i";
|
||||
hash = "sha256-1aXlGlK+YPOe2X51xycWvSu8YC9uCywyL6ItiScFA04=";
|
||||
};
|
||||
|
||||
cmakeFlags = [
|
||||
@ -20,14 +20,6 @@ mkDerivation rec {
|
||||
"-DQTERMWIDGET_INCLUDE_DIRS=${qtermwidget}/include/qtermwidget5"
|
||||
];
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
# drop with next update
|
||||
url = "https://github.com/F1ash/qt-virt-manager/commit/0d338b037ef58c376d468c1cd4521a34ea181edd.patch";
|
||||
sha256 = "1wjqyc5wsnxfwwjzgqjr9hcqhd867amwhjd712qyvpvz8x7p2s24";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qtbase qtmultimedia qtsvg krdc
|
||||
libvirt libvncserver pcre pixman qtermwidget spice-gtk spice-protocol
|
||||
|
@ -5,6 +5,7 @@
|
||||
, coreutils
|
||||
, getopt
|
||||
, modDirVersion ? ""
|
||||
, forPlatform ? stdenv.buildPlatform
|
||||
}:
|
||||
|
||||
substituteAll {
|
||||
@ -17,8 +18,8 @@ substituteAll {
|
||||
|
||||
inherit coreutils getopt;
|
||||
|
||||
uSystem = if stdenv.buildPlatform.uname.system != null then stdenv.buildPlatform.uname.system else "unknown";
|
||||
inherit (stdenv.buildPlatform.uname) processor;
|
||||
uSystem = if forPlatform.uname.system != null then forPlatform.uname.system else "unknown";
|
||||
inherit (forPlatform.uname) processor;
|
||||
|
||||
# uname -o
|
||||
# maybe add to lib/systems/default.nix uname attrset
|
||||
@ -26,9 +27,9 @@ substituteAll {
|
||||
# https://stackoverflow.com/questions/61711186/where-does-host-operating-system-in-uname-c-comes-from
|
||||
# https://github.com/coreutils/gnulib/blob/master/m4/host-os.m4
|
||||
operatingSystem =
|
||||
if stdenv.buildPlatform.isLinux
|
||||
if forPlatform.isLinux
|
||||
then "GNU/Linux"
|
||||
else if stdenv.buildPlatform.isDarwin
|
||||
else if forPlatform.isDarwin
|
||||
then "Darwin" # darwin isn't in host-os.m4 so where does this come from?
|
||||
else "unknown";
|
||||
|
||||
@ -42,11 +43,12 @@ substituteAll {
|
||||
mainProgram = "uname";
|
||||
longDescription = ''
|
||||
This package provides a replacement for `uname` whose output depends only
|
||||
on `stdenv.buildPlatform`. It is meant to be used from within derivations.
|
||||
Many packages' build processes run `uname` at compile time and embed its
|
||||
output into the result of the build. Since `uname` calls into the kernel,
|
||||
and the Nix sandbox currently does not intercept these calls, builds made
|
||||
on different kernels will produce different results.
|
||||
on `stdenv.buildPlatform`, or a configurable `forPlatform`. It is meant
|
||||
to be used from within derivations. Many packages' build processes run
|
||||
`uname` at compile time and embed its output into the result of the build.
|
||||
Since `uname` calls into the kernel, and the Nix sandbox currently does
|
||||
not intercept these calls, builds made on different kernels will produce
|
||||
different results.
|
||||
'';
|
||||
license = [ licenses.mit ];
|
||||
maintainers = with maintainers; [ artturin ];
|
||||
|
82
pkgs/by-name/re/rewind-ai/package.nix
Normal file
82
pkgs/by-name/re/rewind-ai/package.nix
Normal file
@ -0,0 +1,82 @@
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchzip,
|
||||
writeShellApplication,
|
||||
curl,
|
||||
gawk,
|
||||
xmlstarlet,
|
||||
common-updater-scripts,
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "rewind-ai";
|
||||
# Example version with explanation
|
||||
# 1.5284 (Base version)
|
||||
# 15284.1 (build number)
|
||||
# dcd0176 (commit hash)
|
||||
# 20240504 (pub date)
|
||||
version = "1.5284-15284.1-dcd0176-20240504";
|
||||
|
||||
src = fetchzip {
|
||||
url =
|
||||
let
|
||||
buildNumber = lib.elemAt (lib.splitString "-" finalAttrs.version) 1;
|
||||
commitHash = lib.elemAt (lib.splitString "-" finalAttrs.version) 2;
|
||||
in
|
||||
"https://updates.rewind.ai/builds/main/b${buildNumber}-main-${commitHash}.zip";
|
||||
hash = "sha256-Y7iAYHH/msZoXFzAZHJb6YoDz5fwMPHJx1kg7TqP5Gw=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p "$out/Applications/Rewind.app"
|
||||
cp -R . "$out/Applications/Rewind.app"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
# Example response to use when modifing the script: https://pastebin.com/raw/90qU3n6H
|
||||
# There is a real harsh limit on update checks, so DO NOT send any unnecessary update checks
|
||||
# Wait at least 3 days since the last pub_date (you will find the date at the end of the version number)
|
||||
# Example: 20240504 would be 2024/05/04, and that would mean that we want to check no earlier than on 2024/05/07 for any updates
|
||||
passthru.updateScript = lib.getExe (writeShellApplication {
|
||||
name = "${finalAttrs.pname}-update-script";
|
||||
runtimeInputs = [
|
||||
curl
|
||||
gawk
|
||||
xmlstarlet
|
||||
common-updater-scripts
|
||||
];
|
||||
text = ''
|
||||
xml_get () {
|
||||
echo "$update_xml" | xmlstarlet sel -t -v "$1"
|
||||
}
|
||||
|
||||
update_url="https://updates.rewind.ai/appcasts/main.xml"
|
||||
|
||||
update_xml=$(curl -s "$update_url")
|
||||
|
||||
version_base=$(xml_get "/rss/channel/item/sparkle:shortVersionString")
|
||||
url=$(xml_get "/rss/channel/item/enclosure/@url")
|
||||
pub_date=$(xml_get "/rss/channel/item/pubDate")
|
||||
commit_id=$(echo "$url" | awk -F '-|\\.' '{ print $(NF - 1) }')
|
||||
build_number=$(xml_get "/rss/channel/item/sparkle:version")
|
||||
formatted_pub_date=$(date -d "$pub_date" +"%Y%m%d")
|
||||
|
||||
full_version="''${version_base}-''${build_number}-''${commit_id}-''${formatted_pub_date}"
|
||||
update-source-version "rewind-ai" "$full_version" --version-key=version --file=./pkgs/by-name/re/rewind-ai/package.nix --print-changes
|
||||
'';
|
||||
});
|
||||
|
||||
meta = {
|
||||
changelog = "https://www.rewind.ai/changelog";
|
||||
description = "Rewind is a personalized AI powered by everything you've seen, said, or heard";
|
||||
homepage = "https://www.rewind.ai/";
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = with lib.maintainers; [ donteatoreo ];
|
||||
platforms = [ "aarch64-darwin" ];
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
})
|
@ -0,0 +1,142 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitLab,
|
||||
fetchpatch,
|
||||
gitUpdater,
|
||||
nixosTests,
|
||||
biometryd,
|
||||
cmake,
|
||||
content-hub,
|
||||
gettext,
|
||||
lomiri-thumbnailer,
|
||||
lomiri-ui-extras,
|
||||
lomiri-ui-toolkit,
|
||||
pkg-config,
|
||||
python3,
|
||||
qtbase,
|
||||
qtdeclarative,
|
||||
samba,
|
||||
wrapQtAppsHook,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lomiri-filemanager-app";
|
||||
version = "1.0.4";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/apps/lomiri-filemanager-app";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-vjGCTfXoqul1S7KUJXG6JwgZOc2etXWsdKbyQ/V3abA=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# This sets the *wrong* domain, but at least it sets *some* domain.
|
||||
# Remove when version > 1.0.4
|
||||
(fetchpatch {
|
||||
name = "0001-lomiri-filemanager-app-Set-a-gettext-domain.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/b310434d2c25a3b446d3d975f3755eb473a833e8.patch";
|
||||
hash = "sha256-gzFFzZCIxedMGW4fp6sonnHj/HmwqdqU5fvGhXUsSOI=";
|
||||
})
|
||||
|
||||
# Set the *correct* domain.
|
||||
# Remove when version > 1.0.4
|
||||
(fetchpatch {
|
||||
name = "0002-lomiri-filemanager-app-Fix-gettext-domain.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/2bb19aeef2baba8d12df1e4976becc08d7cf341d.patch";
|
||||
hash = "sha256-wreOMMvBjf316N/XJv3VfI5f5N/VFiEraeadtgRStjA=";
|
||||
})
|
||||
|
||||
# Bind domain to locale dir
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/merge_requests/112 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0003-lomiri-filemanager-app-Call-i18n.bindtextdomain.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/ac0ab681c52c691d464cf94707b013b39675ad2d.patch";
|
||||
hash = "sha256-mwpcHwMT2FcNC6KIZNuSWU/bA8XP8rEQKHn7t5m6npM=";
|
||||
})
|
||||
|
||||
# Stop using deprecated qt5_use_modules
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/merge_requests/113 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0004-lomiri-filemanager-app-Stop-using-qt5_use_modules.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/c2bfe927b16e660bf4730371b1e61e442e034780.patch";
|
||||
hash = "sha256-wPOZP2FOaacEGj4SMS5Q/TO+/L11Qz7NTux4kA86Bcs=";
|
||||
})
|
||||
|
||||
# Use pkg-config for smbclient flags
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/merge_requests/115 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0005-lomiri-filemanager-app-Get-smbclient-flags-via-pkg-config.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/aa791da5999719724e0b0592765e8fa2962305c6.patch";
|
||||
hash = "sha256-fFAYKBR28ym/n7fhP9O6VE2owarLxK8cN9QeExHFbtU=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Use correct QML install path, don't pull in autopilot test code (we can't run that system)
|
||||
# Remove absolute paths from desktop file, https://github.com/NixOS/nixpkgs/issues/308324
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace-fail 'qmake -query QT_INSTALL_QML' 'echo ${placeholder "out"}/${qtbase.qtQmlPrefix}' \
|
||||
--replace-fail 'add_subdirectory(tests)' '#add_subdirectory(tests)' \
|
||||
--replace-fail 'ICON ''${CMAKE_INSTALL_PREFIX}/''${DATA_DIR}/''${ICON_FILE}' 'ICON lomiri-filemanager-app' \
|
||||
--replace-fail 'SPLASH ''${CMAKE_INSTALL_PREFIX}/''${DATA_DIR}/''${SPLASH_FILE}' 'SPLASH lomiri-app-launch/splash/lomiri-filemanager-app.svg'
|
||||
|
||||
# In case this ever gets run, at least point it to a correct-ish path
|
||||
substituteInPlace tests/autopilot/CMakeLists.txt \
|
||||
--replace-fail 'python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"' 'echo "${placeholder "out"}/${python3.sitePackages}/lomiri_filemanager_app"'
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
gettext
|
||||
pkg-config
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qtbase
|
||||
qtdeclarative
|
||||
samba
|
||||
|
||||
# QML
|
||||
biometryd
|
||||
content-hub
|
||||
lomiri-thumbnailer
|
||||
lomiri-ui-extras
|
||||
lomiri-ui-toolkit
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "INSTALL_TESTS" false)
|
||||
(lib.cmakeBool "CLICK_MODE" false)
|
||||
];
|
||||
|
||||
# No tests we can actually run (just autopilot)
|
||||
doCheck = false;
|
||||
|
||||
postInstall = ''
|
||||
# Some misc files don't get installed to the correct paths for us
|
||||
mkdir -p $out/share/{content-hub/peers,icons/hicolor/scalable/apps,lomiri-app-launch/splash}
|
||||
ln -s $out/share/lomiri-filemanager-app/content-hub.json $out/share/content-hub/peers/lomiri-filemanager-app
|
||||
ln -s $out/share/lomiri-filemanager-app/filemanager.svg $out/share/icons/hicolor/scalable/apps/lomiri-filemanager-app.svg
|
||||
ln -s $out/share/lomiri-filemanager-app/splash.svg $out/share/lomiri-app-launch/splash/lomiri-filemanager-app.svg
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests.vm = nixosTests.lomiri-filemanager-app;
|
||||
updateScript = gitUpdater { rev-prefix = "v"; };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "File Manager application for Ubuntu Touch devices";
|
||||
homepage = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app";
|
||||
changelog = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/blob/v${finalAttrs.version}/ChangeLog";
|
||||
license = lib.licenses.gpl3Only;
|
||||
mainProgram = "lomiri-filemanager-app";
|
||||
maintainers = lib.teams.lomiri.members;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
@ -0,0 +1,29 @@
|
||||
From 640cab41986fac83742af39dd19877041a2ab8dc Mon Sep 17 00:00:00 2001
|
||||
From: OPNA2608 <opna2608@protonmail.com>
|
||||
Date: Sat, 1 Jun 2024 00:22:27 +0200
|
||||
Subject: [PATCH] Check NIXOS_XKB_LAYOUTS for layouts before falling back to
|
||||
"us"
|
||||
|
||||
---
|
||||
plugins/AccountsService/AccountsService.cpp | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/plugins/AccountsService/AccountsService.cpp b/plugins/AccountsService/AccountsService.cpp
|
||||
index bcf18246c..f4a7dfaa1 100644
|
||||
--- a/plugins/AccountsService/AccountsService.cpp
|
||||
+++ b/plugins/AccountsService/AccountsService.cpp
|
||||
@@ -295,6 +295,11 @@ QStringList AccountsService::keymaps() const
|
||||
return simplifiedMaps;
|
||||
}
|
||||
|
||||
+ char* fallbackNixosLayouts = getenv("NIXOS_XKB_LAYOUTS");
|
||||
+ if (fallbackNixosLayouts != NULL && fallbackNixosLayouts[0] != '\0') {
|
||||
+ return QString(fallbackNixosLayouts).split(QLatin1Char(','), Qt::SkipEmptyParts);
|
||||
+ }
|
||||
+
|
||||
return {QStringLiteral("us")};
|
||||
}
|
||||
|
||||
--
|
||||
2.42.0
|
||||
|
@ -117,6 +117,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
})
|
||||
|
||||
./9901-lomiri-Disable-Wizard.patch
|
||||
./9902-lomiri-Check-NIXOS_XKB_LAYOUTS.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
@ -9,6 +9,7 @@ let
|
||||
in {
|
||||
#### Core Apps
|
||||
lomiri = callPackage ./applications/lomiri { };
|
||||
lomiri-filemanager-app = callPackage ./applications/lomiri-filemanager-app { };
|
||||
lomiri-system-settings-unwrapped = callPackage ./applications/lomiri-system-settings { };
|
||||
lomiri-system-settings-security-privacy = callPackage ./applications/lomiri-system-settings/plugins/lomiri-system-settings-security-privacy.nix { };
|
||||
lomiri-system-settings = callPackage ./applications/lomiri-system-settings/wrapper.nix { };
|
||||
|
@ -0,0 +1,59 @@
|
||||
From e4fe87427f24aa9b506c15c0f73f298e8909aabe Mon Sep 17 00:00:00 2001
|
||||
From: OPNA2608 <opna2608@protonmail.com>
|
||||
Date: Fri, 31 May 2024 21:31:46 +0200
|
||||
Subject: [PATCH] Inject current-system PATH
|
||||
|
||||
---
|
||||
liblomiri-app-launch/jobs-systemd.cpp | 16 ++++++++++++++++
|
||||
liblomiri-app-launch/jobs-systemd.h | 1 +
|
||||
2 files changed, 17 insertions(+)
|
||||
|
||||
diff --git a/liblomiri-app-launch/jobs-systemd.cpp b/liblomiri-app-launch/jobs-systemd.cpp
|
||||
index e9be801..246bea8 100644
|
||||
--- a/liblomiri-app-launch/jobs-systemd.cpp
|
||||
+++ b/liblomiri-app-launch/jobs-systemd.cpp
|
||||
@@ -574,6 +574,20 @@ void SystemD::copyEnvByPrefix(const std::string& prefix, std::list<std::pair<std
|
||||
}
|
||||
}
|
||||
|
||||
+/* We don't have a normal PATH, so we need to inject our special one as a fallback & propagate it */
|
||||
+void SystemD::setupNixosPath(std::list<std::pair<std::string, std::string>>& env)
|
||||
+{
|
||||
+ std::string newPath { "/run/current-system/sw/bin" };
|
||||
+ char* oldPath = getenv("PATH");
|
||||
+ if (oldPath != NULL && oldPath[0] != '\0')
|
||||
+ {
|
||||
+ newPath.insert(0, 1, ':');
|
||||
+ newPath.insert(0, oldPath);
|
||||
+ }
|
||||
+ setenv("PATH", newPath.c_str(), true);
|
||||
+ copyEnv("PATH", env);
|
||||
+}
|
||||
+
|
||||
std::shared_ptr<Application::Instance> SystemD::launch(
|
||||
const AppID& appId,
|
||||
const std::string& job,
|
||||
@@ -625,6 +639,8 @@ std::shared_ptr<Application::Instance> SystemD::launch(
|
||||
|
||||
copyEnv("DISPLAY", env);
|
||||
|
||||
+ setupNixosPath(env);
|
||||
+
|
||||
for (const auto& prefix : {"DBUS_", "MIR_", "LOMIRI_APP_LAUNCH_"})
|
||||
{
|
||||
copyEnvByPrefix(prefix, env);
|
||||
diff --git a/liblomiri-app-launch/jobs-systemd.h b/liblomiri-app-launch/jobs-systemd.h
|
||||
index fe35932..19bf44e 100644
|
||||
--- a/liblomiri-app-launch/jobs-systemd.h
|
||||
+++ b/liblomiri-app-launch/jobs-systemd.h
|
||||
@@ -136,6 +136,7 @@ private:
|
||||
static void copyEnv(const std::string& envname, std::list<std::pair<std::string, std::string>>& env);
|
||||
static void copyEnvByPrefix(const std::string& prefix, std::list<std::pair<std::string, std::string>>& env);
|
||||
static int envSize(std::list<std::pair<std::string, std::string>>& env);
|
||||
+ static void setupNixosPath(std::list<std::pair<std::string, std::string>>& env);
|
||||
|
||||
static std::vector<std::string> parseExec(std::list<std::pair<std::string, std::string>>& env);
|
||||
static void application_start_cb(GObject* obj, GAsyncResult* res, gpointer user_data);
|
||||
--
|
||||
2.42.0
|
||||
|
@ -48,12 +48,15 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove when https://gitlab.com/ubports/development/core/lomiri-app-launch/-/merge_requests/57 merged & in release
|
||||
# Remove when version > 0.1.9
|
||||
(fetchpatch {
|
||||
name = "0001-lomiri-app-launch-Fix-typelib-gir-dependency.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-app-launch/-/commit/0419b2592284f43ee5e76060948ea3d5f1c991fd.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-app-launch/-/commit/8466e77914e73801499df224fcd4a53c4a0eab25.patch";
|
||||
hash = "sha256-11pEhFi39Cvqb9Hg47kT8+5hq+bz6WmySqaIdwt1MVk=";
|
||||
})
|
||||
|
||||
# Use /run/current-system/sw/bin fallback for desktop file Exec= lookups, propagate to launched applications
|
||||
./2001-Inject-current-system-PATH.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
@ -61,10 +64,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
# used pkg_get_variable, cannot replace prefix
|
||||
substituteInPlace data/CMakeLists.txt \
|
||||
--replace 'pkg_get_variable(SYSTEMD_USER_UNIT_DIR systemd systemduserunitdir)' 'set(SYSTEMD_USER_UNIT_DIR "''${CMAKE_INSTALL_PREFIX}/lib/systemd/user")'
|
||||
--replace-fail 'pkg_get_variable(SYSTEMD_USER_UNIT_DIR systemd systemduserunitdir)' 'pkg_get_variable(SYSTEMD_USER_UNIT_DIR systemd systemduserunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})'
|
||||
|
||||
substituteInPlace tests/jobs-systemd.cpp \
|
||||
--replace '^(/usr)?' '^(/nix/store/\\w+-bash-.+)?'
|
||||
--replace-fail '^(/usr)?' '^(/nix/store/\\w+-bash-.+)?'
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
@ -136,13 +139,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
updateScript = gitUpdater { };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
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;
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = lib.teams.lomiri.members;
|
||||
platforms = lib.platforms.linux;
|
||||
pkgConfigModules = [
|
||||
"lomiri-app-launch-0"
|
||||
];
|
||||
|
@ -47,11 +47,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Remove when https://gitlab.com/ubports/development/core/content-hub/-/merge_requests/33 merged & in release
|
||||
# Remove when version > 1.1.1
|
||||
(fetchpatch {
|
||||
name = "0001-content-hub-Migrate-to-GetConnectionCredentials.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/9c0eae42d856b4b6e24fa609ade0e674c7a84cfe.patch";
|
||||
hash = "sha256-IWoCQKSCCk26n7133oG0Ht+iEjavn/IiOVUM+tCLX2U=";
|
||||
url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/9ec9df32f77383eec7994d8e3e6961531bc8464d.patch";
|
||||
hash = "sha256-14dZosMTMa1FDGEMuil0r1Hz6vn+L9XC83NMAqC7Ol8=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/core/content-hub/-/merge_requests/34 merged & in release
|
||||
@ -61,7 +61,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-T+6T9lXne6AhDFv9d7L8JNwdl8f0wjDmvSoNVPkHza4=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/core/content-hub/-/merge_requests/35 merged & in release
|
||||
# Remove when version > 1.1.1
|
||||
# fetchpatch2 due to renames, https://github.com/NixOS/nixpkgs/issues/32084
|
||||
(fetchpatch2 {
|
||||
name = "0003-content-hub-Add-more-better-GNUInstallDirs-variables-usage.patch";
|
||||
@ -69,16 +69,18 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-kYN0eLwMyM/9yK+zboyEsoPKZMZ4SCXodVYsvkQr2F8=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/core/content-hub/-/merge_requests/37 merged & in release
|
||||
# Remove when version > 1.1.1
|
||||
(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=";
|
||||
name = "0004-content-hub-Fix-generation-of-transfer_files-and-moc_test_harness.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/68899c75e77e1f34176b8a550d52794413e5070f.patch";
|
||||
hash = "sha256-HAxePnzY/cL2c+o+Aw2N1pdr8rsbHGmRsH2EQkrBcHg=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/core/lomiri-content-hub/-/merge_requests/40 merged & in release
|
||||
(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=";
|
||||
name = "0006-content-hub-Fix-AppArmor-less-transfer.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/b58e5c8babf00ad7c402555c96254ce0165adb9e.patch";
|
||||
hash = "sha256-a7x/0NiUBmmFlq96jkHyLCL0f5NIFh5JR/H+FQ/2GqI=";
|
||||
})
|
||||
];
|
||||
|
||||
@ -175,7 +177,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
updateScript = gitUpdater { };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Content sharing/picking service";
|
||||
longDescription = ''
|
||||
content-hub is a mediation service to let applications share content between them,
|
||||
@ -183,10 +185,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
homepage = "https://gitlab.com/ubports/development/core/content-hub";
|
||||
changelog = "https://gitlab.com/ubports/development/core/content-hub/-/blob/${finalAttrs.version}/ChangeLog";
|
||||
license = with licenses; [ gpl3Only lgpl3Only ];
|
||||
license = with lib.licenses; [ gpl3Only lgpl3Only ];
|
||||
mainProgram = "content-hub-service";
|
||||
maintainers = teams.lomiri.members;
|
||||
platforms = platforms.linux;
|
||||
maintainers = lib.teams.lomiri.members;
|
||||
platforms = lib.platforms.linux;
|
||||
pkgConfigModules = [
|
||||
"libcontent-hub"
|
||||
"libcontent-hub-glib"
|
||||
|
@ -75,6 +75,11 @@ let
|
||||
libfm-qt = libfm-qt_1_4;
|
||||
inherit (pkgs.libsForQt5) qtbase qtsvg qttools libdbusmenu;
|
||||
};
|
||||
qtermwidget_1_4 = callPackage ./qtermwidget {
|
||||
version = "1.4.0";
|
||||
lxqt-build-tools = lxqt-build-tools_0_13;
|
||||
inherit (pkgs.libsForQt5) qtbase qttools;
|
||||
};
|
||||
|
||||
preRequisitePackages = [
|
||||
kdePackages.kwindowsystem # provides some QT plugins needed by lxqt-panel
|
||||
|
@ -7,17 +7,21 @@
|
||||
, lxqt-build-tools
|
||||
, wrapQtAppsHook
|
||||
, gitUpdater
|
||||
, version ? "2.0.0"
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qtermwidget";
|
||||
version = "2.0.0";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lxqt";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-kZS6D/wSJFRt/+Afq0zCCmNnJPpFT+1hd4zVPc+rJsE=";
|
||||
hash = {
|
||||
"1.4.0" = "sha256-wYUOqAiBjnupX1ITbFMw7sAk42V37yDz9SrjVhE4FgU=";
|
||||
"2.0.0" = "sha256-kZS6D/wSJFRt/+Afq0zCCmNnJPpFT+1hd4zVPc+rJsE=";
|
||||
}."${version}";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -47,11 +47,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "go";
|
||||
version = "1.21.10";
|
||||
version = "1.21.11";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz";
|
||||
hash = "sha256-kA4K/okAwe5lqKjE8MWjygLc+FwdHLE6ZSviLCE5k5Q=";
|
||||
hash = "sha256-Qq7pvytpVsdaetaqPwpRtYIf/qxX9aLnM6LW6uHm2dI=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
@ -1,17 +1,9 @@
|
||||
{ callPackage, fetchpatch, ... }@_args:
|
||||
{ callPackage, ... }@_args:
|
||||
|
||||
let
|
||||
base = callPackage ./generic.nix ((removeAttrs _args [ "fetchpatch" ]) // {
|
||||
version = "8.1.28";
|
||||
hash = "sha256-i+RQCW4BU8R9dThOfdWVzIl/HVPOAGBwjOlYm8wxQe4=";
|
||||
extraPatches = [
|
||||
# Fix build with libxml 2.12+.
|
||||
# Patch from https://github.com/php/php-src/commit/0a39890c967aa57225bb6bdf4821aff7a3a3c082
|
||||
(fetchpatch {
|
||||
url = "https://github.com/php/php-src/commit/0a39890c967aa57225bb6bdf4821aff7a3a3c082.patch";
|
||||
hash = "sha256-HvpTL7aXO9gr4glFdhqUWQPrG8TYTlvbNINq33M3zS0=";
|
||||
})
|
||||
];
|
||||
base = callPackage ./generic.nix (_args // {
|
||||
version = "8.1.29";
|
||||
hash = "sha256-h6YDEyY/L1M/GA5xknLKXkfNmITU7DyTcgGY6v+uCCc=";
|
||||
});
|
||||
in
|
||||
base.withExtensions ({ all, ... }: with all; ([
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
let
|
||||
base = callPackage ./generic.nix (_args // {
|
||||
version = "8.2.19";
|
||||
hash = "sha256-PBj3zlG3x7JreX4flwedOGswNH6wToF/XmyOmydeKmo=";
|
||||
version = "8.2.20";
|
||||
hash = "sha256-Xexvphx7nEeqHXZma+ZR8mQu0rz2zYY4xX41cc4qrGE=";
|
||||
});
|
||||
in
|
||||
base.withExtensions ({ all, ... }: with all; ([
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
let
|
||||
base = callPackage ./generic.nix (_args // {
|
||||
version = "8.3.7";
|
||||
hash = "sha256-AcIM3hxaVpZlGHXtIvUHhJZ5+6dA+MQhYWt9Q9f3l9o=";
|
||||
version = "8.3.8";
|
||||
hash = "sha256-9KbLAFrhF6uobCBEkyz1Y4maLpd6wJeBqnSyFh3cVjs=";
|
||||
});
|
||||
in
|
||||
base.withExtensions ({ all, ... }: with all; ([
|
||||
|
@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "03d4ikh29l38rl1wavb0icw7m5pp7yilnv7bb2k8qij1dinsymlx";
|
||||
};
|
||||
|
||||
CFLAGS = "-std=gnu89";
|
||||
|
||||
# For the x86_64 GNU/Linux arch to be recognized by 'configure'
|
||||
preConfigure = "cp ${libtool}/share/libtool/build-aux/config.sub .";
|
||||
|
||||
|
@ -1,33 +1,34 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
ncurses,
|
||||
poetry-core,
|
||||
procps,
|
||||
pytest-rerunfailures,
|
||||
pytestCheckHook,
|
||||
procps,
|
||||
tmux,
|
||||
ncurses,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "libtmux";
|
||||
version = "0.36.0";
|
||||
version = "0.37.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tmux-python";
|
||||
repo = pname;
|
||||
repo = "libtmux";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-oJ2IGaPFMKA/amUEPZi1UO9vZtjPNQg3SIFjQWzUeSE=";
|
||||
hash = "sha256-I0E6zkfQ6mx2svCaXEgKPhrrog3iLgXZ4E3CMMxPkIA=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -i '/addopts/d' pyproject.toml
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail '"--doctest-docutils-modules",' ""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
procps
|
||||
@ -53,7 +54,6 @@ buildPythonPackage rec {
|
||||
|
||||
disabledTestPaths = lib.optionals stdenv.isDarwin [
|
||||
"tests/test_test.py"
|
||||
"tests/legacy_api/test_test.py"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "libtmux" ];
|
||||
|
@ -4,6 +4,7 @@
|
||||
pythonOlder,
|
||||
hatchling,
|
||||
opentelemetry-api,
|
||||
opentelemetry-instrumentation,
|
||||
opentelemetry-sdk,
|
||||
opentelemetry-test-utils,
|
||||
prometheus-client,
|
||||
@ -13,7 +14,9 @@
|
||||
buildPythonPackage {
|
||||
inherit (opentelemetry-api) src;
|
||||
pname = "opentelemetry-exporter-prometheus";
|
||||
version = "0.44b0";
|
||||
# This package is in the same repository as `opentelemetry-api`,
|
||||
# but its version is synchronized with `opentelemetry-instrumentation` in another repository.
|
||||
version = opentelemetry-instrumentation.version;
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
@ -4,13 +4,16 @@
|
||||
pythonOlder,
|
||||
hatchling,
|
||||
opentelemetry-api,
|
||||
opentelemetry-instrumentation,
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage {
|
||||
inherit (opentelemetry-api) src;
|
||||
pname = "opentelemetry-semantic-conventions";
|
||||
version = "0.44b0";
|
||||
# This package is in the same repository as `opentelemetry-api`,
|
||||
# but its version is synchronized with `opentelemetry-instrumentation` in another repository.
|
||||
version = opentelemetry-instrumentation.version;
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
@ -5,13 +5,16 @@
|
||||
asgiref,
|
||||
hatchling,
|
||||
opentelemetry-api,
|
||||
opentelemetry-instrumentation,
|
||||
opentelemetry-sdk,
|
||||
}:
|
||||
|
||||
buildPythonPackage {
|
||||
inherit (opentelemetry-api) src;
|
||||
pname = "opentelemetry-test-utils";
|
||||
version = "0.44b0";
|
||||
# This package is in the same repository as `opentelemetry-api`,
|
||||
# but its version is synchronized with `opentelemetry-instrumentation` in another repository.
|
||||
version = opentelemetry-instrumentation.version;
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
@ -30,5 +30,6 @@ buildPythonPackage rec {
|
||||
mainProgram = "targetctl";
|
||||
homepage = "https://github.com/open-iscsi/rtslib-fb";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ncurses readline ronn ];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-std=gnu89";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace '-ltermcap' '-lncurses' \
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
let
|
||||
pname = "tmuxp";
|
||||
version = "1.46.0";
|
||||
hash = "sha256-+aXpsB4mjw9sZLalv3knW8okP+mh2P/nbZCiCwa3UBU=";
|
||||
version = "1.47.0";
|
||||
hash = "sha256-HYY6CEUPpZVvVK9kV4Ehw4wGk5YfIVSkZ0+qqf6Nz4c=";
|
||||
in
|
||||
python3Packages.buildPythonApplication {
|
||||
inherit pname version;
|
||||
|
@ -3656,6 +3656,8 @@ with pkgs;
|
||||
|
||||
deterministic-uname = callPackage ../build-support/deterministic-uname { };
|
||||
|
||||
deterministic-host-uname = deterministic-uname.override { forPlatform = stdenv.hostPlatform; };
|
||||
|
||||
dfmt = callPackage ../tools/text/dfmt { };
|
||||
|
||||
diopser = callPackage ../applications/audio/diopser { };
|
||||
@ -35209,7 +35211,7 @@ with pkgs;
|
||||
};
|
||||
|
||||
virt-manager-qt = libsForQt5.callPackage ../applications/virtualization/virt-manager/qt.nix {
|
||||
qtermwidget = lxqt.qtermwidget;
|
||||
qtermwidget = lxqt.qtermwidget_1_4;
|
||||
};
|
||||
|
||||
virtscreen = callPackage ../tools/admin/virtscreen { };
|
||||
|
Loading…
Reference in New Issue
Block a user