Merge master into haskell-updates
This commit is contained in:
commit
5fe48efa37
|
@ -142,6 +142,7 @@ Many attributes [controlling the build phase](#variables-controlling-the-build-p
|
|||
- [`patchFlags`](#var-stdenv-patchFlags)
|
||||
- [`postPatch`](#var-stdenv-postPatch)
|
||||
- [`preBuild`](#var-stdenv-preBuild)
|
||||
- `env`: useful for passing down variables such as `GOWORK`.
|
||||
|
||||
To control test execution of the build derivation, the following attributes are of interest:
|
||||
|
||||
|
|
|
@ -2752,6 +2752,12 @@
|
|||
githubId = 150560585;
|
||||
name = "Dmitry Ivankov";
|
||||
};
|
||||
bonsairobo = {
|
||||
email = "duncanfairbanks6@gmail.com";
|
||||
github = "bonsairobo";
|
||||
githubId = 3229981;
|
||||
name = "Duncan Fairbanks";
|
||||
};
|
||||
booklearner = {
|
||||
name = "booklearner";
|
||||
email = "booklearner@proton.me";
|
||||
|
@ -5013,6 +5019,12 @@
|
|||
github = "DimitarNestorov";
|
||||
githubId = 8790386;
|
||||
};
|
||||
diniamo = {
|
||||
name = "diniamo";
|
||||
email = "diniamo53@gmail.com";
|
||||
github = "diniamo";
|
||||
githubId = 55629891;
|
||||
};
|
||||
diogotcorreia = {
|
||||
name = "Diogo Correia";
|
||||
email = "me@diogotc.com";
|
||||
|
@ -8683,6 +8695,12 @@
|
|||
githubId = 137306;
|
||||
name = "Michele Catalano";
|
||||
};
|
||||
isabelroses = {
|
||||
email = "isabel@isabelroses.com";
|
||||
github = "isabelroses";
|
||||
githubId = 71222764;
|
||||
name = "Isabel Roses";
|
||||
};
|
||||
isaozler = {
|
||||
email = "isaozler@gmail.com";
|
||||
github = "isaozler";
|
||||
|
@ -13318,6 +13336,12 @@
|
|||
fingerprint = "E90C BA34 55B3 6236 740C 038F 0D94 8CE1 9CF4 9C5F";
|
||||
}];
|
||||
};
|
||||
mksafavi = {
|
||||
name = "MK Safavi";
|
||||
email = "mksafavi@gmail.com";
|
||||
github = "mksafavi";
|
||||
githubId = 50653293;
|
||||
};
|
||||
mktip = {
|
||||
email = "mo.issa.ok+nix@gmail.com";
|
||||
github = "mktip";
|
||||
|
@ -17671,7 +17695,7 @@
|
|||
name = "Sanskar Gurdasani";
|
||||
};
|
||||
sarahec = {
|
||||
email = "sarahec@nextquestion.net";
|
||||
email = "seclark@nextquestion.net";
|
||||
github = "sarahec";
|
||||
githubId = 11277967;
|
||||
name = "Sarah Clark";
|
||||
|
|
|
@ -74,6 +74,8 @@ Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` for Pi
|
|||
|
||||
- Plasma 6 is now available and can be installed with `services.xserver.desktopManager.plasma6.enable = true;`. Plasma 5 will likely be deprecated in the next release (24.11). Note that Plasma 6 runs as Wayland by default, and the X11 session needs to be explicitly selected if necessary.
|
||||
|
||||
- The desktop mode of Lomiri (formerly known as Unity8), using Mir 2.x to function as a Wayland compositor, is now available and can be installed with `services.desktopManager.lomiri.enable = true`. Note that some core applications, services and indicators have yet to be packaged, and some functions may remain incomplete, but the base experience should be there.
|
||||
|
||||
## New Services {#sec-release-24.05-new-services}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
@ -315,6 +317,12 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
|||
|
||||
- The `cudaPackages` package scope has been updated to `cudaPackages_12`.
|
||||
|
||||
- The deprecated `cudaPackages.cudatoolkit` has been replaced with a
|
||||
symlink-based wrapper for the splayed redistributable CUDA packages. The
|
||||
wrapper only includes tools and libraries necessary to build common packages
|
||||
like e.g. tensorflow. The original runfile-based `cudatoolkit` is still
|
||||
available as `cudatoolkit-legacy-runfile`.
|
||||
|
||||
- The `halloy` package was updated past 2024.5 which introduced a breaking change by switching the config format from YAML to TOML. See https://github.com/squidowl/halloy/releases/tag/2024.5 for details.
|
||||
|
||||
- Ada packages (libraries and tools) have been moved into the `gnatPackages` scope. `gnatPackages` uses the default GNAT compiler, `gnat12Packages` and `gnat13Packages` use the respective matching compiler version.
|
||||
|
|
|
@ -0,0 +1,165 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
cfg = config.services.desktopManager.lomiri;
|
||||
in {
|
||||
options.services.desktopManager.lomiri = {
|
||||
enable = lib.mkEnableOption ''
|
||||
the Lomiri graphical shell (formerly known as Unity8)
|
||||
'';
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment = {
|
||||
systemPackages = (with pkgs; [
|
||||
glib # XDG MIME-related tools identify it as GNOME, add gio for MIME identification to work
|
||||
libayatana-common
|
||||
ubports-click
|
||||
]) ++ (with pkgs.lomiri; [
|
||||
content-hub
|
||||
hfd-service
|
||||
history-service
|
||||
libusermetrics
|
||||
lomiri
|
||||
lomiri-download-manager
|
||||
lomiri-schemas # exposes some required dbus interfaces
|
||||
lomiri-session # wrappers to properly launch the session
|
||||
lomiri-sounds
|
||||
lomiri-system-settings
|
||||
lomiri-terminal-app
|
||||
lomiri-thumbnailer
|
||||
lomiri-url-dispatcher
|
||||
lomiri-wallpapers
|
||||
mediascanner2 # TODO possibly needs to be kicked off by graphical-session.target
|
||||
morph-browser
|
||||
qtmir # not having its desktop file for Xwayland available causes any X11 application to crash the session
|
||||
suru-icon-theme
|
||||
telephony-service
|
||||
]);
|
||||
};
|
||||
|
||||
systemd.packages = with pkgs.lomiri; [
|
||||
hfd-service
|
||||
lomiri-download-manager
|
||||
];
|
||||
|
||||
services.dbus.packages = with pkgs.lomiri; [
|
||||
hfd-service
|
||||
libusermetrics
|
||||
lomiri-download-manager
|
||||
];
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
# Applications tend to default to Ubuntu font
|
||||
ubuntu_font_family
|
||||
];
|
||||
|
||||
# Copy-pasted basic stuff
|
||||
hardware.opengl.enable = lib.mkDefault true;
|
||||
fonts.enableDefaultPackages = lib.mkDefault true;
|
||||
programs.dconf.enable = lib.mkDefault true;
|
||||
|
||||
# Xwayland is partly hardcoded in Mir so it can't really be fully turned off, and it must be on PATH for X11 apps *and Lomiri's web browser* to work.
|
||||
# Until Mir/Lomiri can be properly used without it, force it on so everything behaves as expected.
|
||||
programs.xwayland.enable = lib.mkForce true;
|
||||
|
||||
services.accounts-daemon.enable = true;
|
||||
|
||||
services.ayatana-indicators = {
|
||||
enable = true;
|
||||
packages = (with pkgs; [
|
||||
ayatana-indicator-datetime
|
||||
ayatana-indicator-messages
|
||||
ayatana-indicator-session
|
||||
]) ++ (with pkgs.lomiri; [
|
||||
telephony-service
|
||||
]);
|
||||
};
|
||||
|
||||
services.udisks2.enable = true;
|
||||
services.upower.enable = true;
|
||||
services.geoclue2.enable = true;
|
||||
|
||||
services.gnome.evolution-data-server = {
|
||||
enable = true;
|
||||
plugins = with pkgs; [
|
||||
# TODO: lomiri.address-book-service
|
||||
];
|
||||
};
|
||||
|
||||
services.telepathy.enable = true;
|
||||
|
||||
services.displayManager = {
|
||||
defaultSession = lib.mkDefault "lomiri";
|
||||
sessionPackages = with pkgs.lomiri; [ lomiri-session ];
|
||||
};
|
||||
|
||||
services.xserver = {
|
||||
enable = lib.mkDefault true;
|
||||
displayManager.lightdm = {
|
||||
enable = lib.mkDefault true;
|
||||
greeters.lomiri.enable = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
environment.pathsToLink = [
|
||||
# Configs for inter-app data exchange system
|
||||
"/share/content-hub/peers"
|
||||
# Configs for inter-app URL requests
|
||||
"/share/lomiri-url-dispatcher/urls"
|
||||
# Splash screens & other images for desktop apps launched via lomiri-app-launch
|
||||
"/share/lomiri-app-launch"
|
||||
# TODO Try to get maliit stuff working
|
||||
"/share/maliit/plugins"
|
||||
# Data
|
||||
"/share/locale" # TODO LUITK hardcoded default locale path, fix individual apps to not rely on it
|
||||
"/share/sounds"
|
||||
"/share/wallpapers"
|
||||
];
|
||||
|
||||
systemd.user.services = {
|
||||
# Unconditionally run service that collects system-installed URL handlers before LUD
|
||||
# TODO also run user-installed one?
|
||||
"lomiri-url-dispatcher-update-system-dir" = {
|
||||
description = "Lomiri URL dispatcher system directory updater";
|
||||
wantedBy = [ "lomiri-url-dispatcher.service" ];
|
||||
before = [ "lomiri-url-dispatcher.service" ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${pkgs.lomiri.lomiri-url-dispatcher}/libexec/lomiri-url-dispatcher/lomiri-update-directory /run/current-system/sw/share/lomiri-url-dispatcher/urls/";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services = {
|
||||
"dbus-com.lomiri.UserMetrics" = {
|
||||
serviceConfig = {
|
||||
Type = "dbus";
|
||||
BusName = "com.lomiri.UserMetrics";
|
||||
User = "usermetrics";
|
||||
StandardOutput = "syslog";
|
||||
SyslogIdentifier = "com.lomiri.UserMetrics";
|
||||
ExecStart = "${pkgs.lomiri.libusermetrics}/libexec/libusermetrics/usermetricsservice";
|
||||
} // lib.optionalAttrs (!config.security.apparmor.enable) {
|
||||
# Due to https://gitlab.com/ubports/development/core/libusermetrics/-/issues/8, auth must be disabled when not using AppArmor, lest the next database usage breaks
|
||||
Environment = "USERMETRICS_NO_AUTH=1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
users.users.usermetrics = {
|
||||
group = "usermetrics";
|
||||
home = "/var/lib/usermetrics";
|
||||
createHome = true;
|
||||
isSystemUser = true;
|
||||
};
|
||||
|
||||
users.groups.usermetrics = { };
|
||||
|
||||
# TODO content-hub cannot pass files between applications without asking AA for permissions. And alot of the Lomiri stack is designed with AA availability in mind. This might be a requirement to be closer to upstream?
|
||||
# But content-hub currently fails to pass files between applications even with AA enabled, and we can get away without AA in many places. Let's see how this develops before requiring this for good.
|
||||
# security.apparmor.enable = true;
|
||||
};
|
||||
|
||||
meta.maintainers = lib.teams.lomiri.members;
|
||||
}
|
|
@ -40,14 +40,19 @@ in
|
|||
'';
|
||||
};
|
||||
acceleration = lib.mkOption {
|
||||
type = types.nullOr (types.enum [ "rocm" "cuda" ]);
|
||||
type = types.nullOr (types.enum [ false "rocm" "cuda" ]);
|
||||
default = null;
|
||||
example = "rocm";
|
||||
description = ''
|
||||
What interface to use for hardware acceleration.
|
||||
|
||||
- `rocm`: supported by modern AMD GPUs
|
||||
- `cuda`: supported by modern NVIDIA GPUs
|
||||
- `null`: default behavior
|
||||
if `nixpkgs.config.rocmSupport` is enabled, uses `"rocm"`
|
||||
if `nixpkgs.config.cudaSupport` is enabled, uses `"cuda"`
|
||||
otherwise defaults to `false`
|
||||
- `false`: disable GPU, only use CPU
|
||||
- `"rocm"`: supported by most modern AMD GPUs
|
||||
- `"cuda"`: supported by most modern NVIDIA GPUs
|
||||
'';
|
||||
};
|
||||
environmentVariables = lib.mkOption {
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
with lib;
|
||||
let
|
||||
cfg = config.services.paperless;
|
||||
pkg = cfg.package;
|
||||
|
||||
defaultUser = "paperless";
|
||||
defaultFont = "${pkgs.liberation_ttf}/share/fonts/truetype/LiberationSerif-Regular.ttf";
|
||||
|
@ -25,7 +24,7 @@ let
|
|||
} // optionalAttrs (cfg.settings.PAPERLESS_ENABLE_NLTK or true) {
|
||||
PAPERLESS_NLTK_DIR = pkgs.symlinkJoin {
|
||||
name = "paperless_ngx_nltk_data";
|
||||
paths = pkg.nltkData;
|
||||
paths = cfg.package.nltkData;
|
||||
};
|
||||
} // optionalAttrs (cfg.openMPThreadingWorkaround) {
|
||||
OMP_NUM_THREADS = "1";
|
||||
|
@ -38,7 +37,7 @@ let
|
|||
manage = pkgs.writeShellScript "manage" ''
|
||||
set -o allexport # Export the following env vars
|
||||
${lib.toShellVars env}
|
||||
exec ${pkg}/bin/paperless-ngx "$@"
|
||||
exec ${cfg.package}/bin/paperless-ngx "$@"
|
||||
'';
|
||||
|
||||
# Secure the services
|
||||
|
@ -200,7 +199,17 @@ in
|
|||
description = "User under which Paperless runs.";
|
||||
};
|
||||
|
||||
package = mkPackageOption pkgs "paperless-ngx" { };
|
||||
package = mkPackageOption pkgs "paperless-ngx" { } // {
|
||||
apply = pkg: pkg.override {
|
||||
tesseract5 = pkg.tesseract5.override {
|
||||
# always enable detection modules
|
||||
enableLanguages = if cfg.settings ? PAPERLESS_OCR_LANGUAGE then
|
||||
[ "equ" "osd" ]
|
||||
++ lib.splitString "+" cfg.settings.PAPERLESS_OCR_LANGUAGE
|
||||
else null;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
openMPThreadingWorkaround = mkEnableOption ''
|
||||
a workaround for document classifier timeouts.
|
||||
|
@ -237,7 +246,7 @@ in
|
|||
wants = [ "paperless-consumer.service" "paperless-web.service" "paperless-task-queue.service" ];
|
||||
serviceConfig = defaultServiceConfig // {
|
||||
User = cfg.user;
|
||||
ExecStart = "${pkg}/bin/celery --app paperless beat --loglevel INFO";
|
||||
ExecStart = "${cfg.package}/bin/celery --app paperless beat --loglevel INFO";
|
||||
Restart = "on-failure";
|
||||
LoadCredential = lib.optionalString (cfg.passwordFile != null) "PAPERLESS_ADMIN_PASSWORD:${cfg.passwordFile}";
|
||||
};
|
||||
|
@ -250,8 +259,8 @@ in
|
|||
versionFile="${cfg.dataDir}/src-version"
|
||||
version=$(cat "$versionFile" 2>/dev/null || echo 0)
|
||||
|
||||
if [[ $version != ${pkg.version} ]]; then
|
||||
${pkg}/bin/paperless-ngx migrate
|
||||
if [[ $version != ${cfg.package.version} ]]; then
|
||||
${cfg.package}/bin/paperless-ngx migrate
|
||||
|
||||
# Parse old version string format for backwards compatibility
|
||||
version=$(echo "$version" | grep -ohP '[^-]+$')
|
||||
|
@ -264,10 +273,10 @@ in
|
|||
if versionLessThan 1.12.0; then
|
||||
# Reindex documents as mentioned in https://github.com/paperless-ngx/paperless-ngx/releases/tag/v1.12.1
|
||||
echo "Reindexing documents, to allow searching old comments. Required after the 1.12.x upgrade."
|
||||
${pkg}/bin/paperless-ngx document_index reindex
|
||||
${cfg.package}/bin/paperless-ngx document_index reindex
|
||||
fi
|
||||
|
||||
echo ${pkg.version} > "$versionFile"
|
||||
echo ${cfg.package.version} > "$versionFile"
|
||||
fi
|
||||
''
|
||||
+ optionalString (cfg.passwordFile != null) ''
|
||||
|
@ -277,7 +286,7 @@ in
|
|||
superuserStateFile="${cfg.dataDir}/superuser-state"
|
||||
|
||||
if [[ $(cat "$superuserStateFile" 2>/dev/null) != $superuserState ]]; then
|
||||
${pkg}/bin/paperless-ngx manage_superuser
|
||||
${cfg.package}/bin/paperless-ngx manage_superuser
|
||||
echo "$superuserState" > "$superuserStateFile"
|
||||
fi
|
||||
'';
|
||||
|
@ -290,7 +299,7 @@ in
|
|||
after = [ "paperless-scheduler.service" ];
|
||||
serviceConfig = defaultServiceConfig // {
|
||||
User = cfg.user;
|
||||
ExecStart = "${pkg}/bin/celery --app paperless worker --loglevel INFO";
|
||||
ExecStart = "${cfg.package}/bin/celery --app paperless worker --loglevel INFO";
|
||||
Restart = "on-failure";
|
||||
# The `mbind` syscall is needed for running the classifier.
|
||||
SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "mbind" ];
|
||||
|
@ -308,7 +317,7 @@ in
|
|||
after = [ "paperless-scheduler.service" ];
|
||||
serviceConfig = defaultServiceConfig // {
|
||||
User = cfg.user;
|
||||
ExecStart = "${pkg}/bin/paperless-ngx document_consumer";
|
||||
ExecStart = "${cfg.package}/bin/paperless-ngx document_consumer";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
environment = env;
|
||||
|
@ -340,8 +349,8 @@ in
|
|||
echo "PAPERLESS_SECRET_KEY is empty, refusing to start."
|
||||
exit 1
|
||||
fi
|
||||
exec ${pkg.python.pkgs.gunicorn}/bin/gunicorn \
|
||||
-c ${pkg}/lib/paperless-ngx/gunicorn.conf.py paperless.asgi:application
|
||||
exec ${cfg.package.python.pkgs.gunicorn}/bin/gunicorn \
|
||||
-c ${cfg.package}/lib/paperless-ngx/gunicorn.conf.py paperless.asgi:application
|
||||
'';
|
||||
serviceConfig = defaultServiceConfig // {
|
||||
User = cfg.user;
|
||||
|
@ -357,7 +366,7 @@ in
|
|||
CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
|
||||
};
|
||||
environment = env // {
|
||||
PYTHONPATH = "${pkg.python.pkgs.makePythonPath pkg.propagatedBuildInputs}:${pkg}/lib/paperless-ngx/src";
|
||||
PYTHONPATH = "${cfg.package.python.pkgs.makePythonPath cfg.package.propagatedBuildInputs}:${cfg.package}/lib/paperless-ngx/src";
|
||||
};
|
||||
# Allow the web interface to access the private /tmp directory of the server.
|
||||
# This is required to support uploading files via the web interface.
|
||||
|
|
|
@ -537,7 +537,7 @@ let
|
|||
Refresh interval to re-read the instance list.
|
||||
'';
|
||||
|
||||
port = mkDefOpt types.int "80" ''
|
||||
port = mkDefOpt types.port "80" ''
|
||||
The port to scrape metrics from. If using the public IP
|
||||
address, this must instead be specified in the relabeling
|
||||
rule.
|
||||
|
@ -609,7 +609,7 @@ let
|
|||
};
|
||||
|
||||
promTypes.digitalocean_sd_config = mkSdConfigModule {
|
||||
port = mkDefOpt types.int "80" ''
|
||||
port = mkDefOpt types.port "80" ''
|
||||
The port to scrape metrics from.
|
||||
'';
|
||||
|
||||
|
@ -626,7 +626,7 @@ let
|
|||
'';
|
||||
};
|
||||
|
||||
port = mkDefOpt types.int "80" ''
|
||||
port = mkDefOpt types.port "80" ''
|
||||
The port to scrape metrics from, when `role` is nodes, and for discovered
|
||||
tasks and services that don't have published ports.
|
||||
'';
|
||||
|
@ -687,7 +687,7 @@ let
|
|||
The type of DNS query to perform. One of SRV, A, or AAAA.
|
||||
'';
|
||||
|
||||
port = mkOpt types.int ''
|
||||
port = mkOpt types.port ''
|
||||
The port number used if the query type is not SRV.
|
||||
'';
|
||||
|
||||
|
@ -731,7 +731,7 @@ let
|
|||
Refresh interval to re-read the instance list.
|
||||
'';
|
||||
|
||||
port = mkDefOpt types.int "80" ''
|
||||
port = mkDefOpt types.port "80" ''
|
||||
The port to scrape metrics from. If using the public IP
|
||||
address, this must instead be specified in the relabeling
|
||||
rule.
|
||||
|
@ -840,7 +840,7 @@ let
|
|||
'';
|
||||
};
|
||||
|
||||
port = mkDefOpt types.int "80" ''
|
||||
port = mkDefOpt types.port "80" ''
|
||||
The port to scrape metrics from.
|
||||
'';
|
||||
|
||||
|
@ -999,7 +999,7 @@ let
|
|||
Refresh interval to re-read the instance list.
|
||||
'';
|
||||
|
||||
port = mkDefOpt types.int "80" ''
|
||||
port = mkDefOpt types.port "80" ''
|
||||
The port to scrape metrics from. If using the public IP address, this must
|
||||
instead be specified in the relabeling rule.
|
||||
'';
|
||||
|
@ -1007,7 +1007,7 @@ let
|
|||
};
|
||||
|
||||
promTypes.linode_sd_config = mkSdConfigModule {
|
||||
port = mkDefOpt types.int "80" ''
|
||||
port = mkDefOpt types.port "80" ''
|
||||
The port to scrape metrics from.
|
||||
'';
|
||||
|
||||
|
@ -1148,7 +1148,7 @@ let
|
|||
Refresh interval to re-read the instance list.
|
||||
'';
|
||||
|
||||
port = mkDefOpt types.int "80" ''
|
||||
port = mkDefOpt types.port "80" ''
|
||||
The port to scrape metrics from. If using the public IP address, this must
|
||||
instead be specified in the relabeling rule.
|
||||
'';
|
||||
|
@ -1193,7 +1193,7 @@ let
|
|||
Refresh interval to re-read the resources list.
|
||||
'';
|
||||
|
||||
port = mkDefOpt types.int "80" ''
|
||||
port = mkDefOpt types.port "80" ''
|
||||
The port to scrape metrics from.
|
||||
'';
|
||||
};
|
||||
|
@ -1231,7 +1231,7 @@ let
|
|||
'';
|
||||
};
|
||||
|
||||
port = mkDefOpt types.int "80" ''
|
||||
port = mkDefOpt types.port "80" ''
|
||||
The port to scrape metrics from.
|
||||
'';
|
||||
|
||||
|
@ -1307,7 +1307,7 @@ let
|
|||
If omitted all containers owned by the requesting account are scraped.
|
||||
'';
|
||||
|
||||
port = mkDefOpt types.int "9163" ''
|
||||
port = mkDefOpt types.port "9163" ''
|
||||
The port to use for discovery and metric scraping.
|
||||
'';
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ in
|
|||
./none.nix ./xterm.nix ./phosh.nix ./xfce.nix ./plasma5.nix ../../desktop-managers/plasma6.nix ./lumina.nix
|
||||
./lxqt.nix ./enlightenment.nix ./gnome.nix ./retroarch.nix ./kodi.nix
|
||||
./mate.nix ./pantheon.nix ./surf-display.nix ./cde.nix
|
||||
./cinnamon.nix ./budgie.nix ./deepin.nix
|
||||
./cinnamon.nix ./budgie.nix ./deepin.nix ../../desktop-managers/lomiri.nix
|
||||
];
|
||||
|
||||
options = {
|
||||
|
|
|
@ -145,7 +145,7 @@ in
|
|||
services.xserver.desktopManager.session = [{
|
||||
name = "xfce";
|
||||
desktopNames = [ "XFCE" ];
|
||||
bgSupport = true;
|
||||
bgSupport = !cfg.noDesktop;
|
||||
start = ''
|
||||
${pkgs.runtimeShell} ${pkgs.xfce.xfce4-session.xinitrc} &
|
||||
waitPID=$!
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
|
||||
dmcfg = config.services.displayManager;
|
||||
ldmcfg = config.services.xserver.displayManager.lightdm;
|
||||
cfg = ldmcfg.greeters.lomiri;
|
||||
|
||||
in
|
||||
{
|
||||
meta.maintainers = lib.teams.lomiri.members;
|
||||
|
||||
options = {
|
||||
services.xserver.displayManager.lightdm.greeters.lomiri = {
|
||||
enable = lib.mkEnableOption "lomiri's greeter as the lightdm greeter";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf (ldmcfg.enable && cfg.enable) {
|
||||
services.xserver.displayManager.lightdm.greeters.gtk.enable = false;
|
||||
|
||||
services.xserver.displayManager.lightdm.greeter = lib.mkDefault {
|
||||
package = pkgs.lomiri.lomiri.greeter;
|
||||
name = "lomiri-greeter";
|
||||
};
|
||||
|
||||
# Greeter needs to be run through its wrapper
|
||||
# Greeter doesn't work with our set-session.py script, need to set default user-session
|
||||
services.xserver.displayManager.lightdm.extraSeatDefaults = ''
|
||||
greeter-wrapper = ${lib.getExe' pkgs.lomiri.lomiri "lomiri-greeter-wrapper"}
|
||||
user-session = ${dmcfg.defaultSession}
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -81,6 +81,7 @@ in
|
|||
./lightdm-greeters/mini.nix
|
||||
./lightdm-greeters/enso-os.nix
|
||||
./lightdm-greeters/pantheon.nix
|
||||
./lightdm-greeters/lomiri.nix
|
||||
./lightdm-greeters/tiny.nix
|
||||
./lightdm-greeters/slick.nix
|
||||
./lightdm-greeters/mobile.nix
|
||||
|
|
|
@ -503,6 +503,7 @@ in {
|
|||
lxd = pkgs.recurseIntoAttrs (handleTest ./lxd { inherit handleTestOn; });
|
||||
lxd-image-server = handleTest ./lxd-image-server.nix {};
|
||||
#logstash = handleTest ./logstash.nix {};
|
||||
lomiri = handleTest ./lomiri.nix {};
|
||||
lomiri-system-settings = handleTest ./lomiri-system-settings.nix {};
|
||||
lorri = handleTest ./lorri/default.nix {};
|
||||
maddy = discoverTests (import ./maddy { inherit handleTest; });
|
||||
|
|
|
@ -0,0 +1,281 @@
|
|||
import ./make-test-python.nix ({ pkgs, lib, ... }: let
|
||||
# Just to make sure everything is the same, need it for OCR & navigating greeter
|
||||
user = "alice";
|
||||
description = "Alice Foobar";
|
||||
password = "foobar";
|
||||
in {
|
||||
name = "lomiri";
|
||||
|
||||
meta = {
|
||||
maintainers = lib.teams.lomiri.members;
|
||||
};
|
||||
|
||||
nodes.machine = { config, ... }: {
|
||||
imports = [
|
||||
./common/user-account.nix
|
||||
];
|
||||
|
||||
users.users.${user} = {
|
||||
inherit description password;
|
||||
};
|
||||
|
||||
services.desktopManager.lomiri.enable = lib.mkForce true;
|
||||
services.displayManager.defaultSession = lib.mkForce "lomiri";
|
||||
|
||||
fonts.packages = [ pkgs.inconsolata ];
|
||||
|
||||
environment = {
|
||||
# Help with OCR
|
||||
etc."xdg/alacritty/alacritty.yml".text = lib.generators.toYAML { } {
|
||||
font = rec {
|
||||
normal.family = "Inconsolata";
|
||||
bold.family = normal.family;
|
||||
italic.family = normal.family;
|
||||
bold_italic.family = normal.family;
|
||||
size = 16;
|
||||
};
|
||||
colors = rec {
|
||||
primary = {
|
||||
foreground = "0x000000";
|
||||
background = "0xffffff";
|
||||
};
|
||||
normal = {
|
||||
green = primary.foreground;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
variables = {
|
||||
# So we can test what content-hub is working behind the scenes
|
||||
CONTENT_HUB_LOGGING_LEVEL = "2";
|
||||
};
|
||||
|
||||
systemPackages = with pkgs; [
|
||||
# For a convenient way of kicking off content-hub peer collection
|
||||
lomiri.content-hub.examples
|
||||
|
||||
# Forcing alacritty to run as an X11 app when opened from the starter menu
|
||||
(symlinkJoin {
|
||||
name = "x11-${alacritty.name}";
|
||||
|
||||
paths = [ alacritty ];
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/alacritty \
|
||||
--set WINIT_UNIX_BACKEND x11 \
|
||||
--set WAYLAND_DISPLAY ""
|
||||
'';
|
||||
|
||||
inherit (alacritty) meta;
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
# Help with OCR
|
||||
systemd.tmpfiles.settings = let
|
||||
white = "255, 255, 255";
|
||||
black = "0, 0, 0";
|
||||
colorSection = color: {
|
||||
Color = color;
|
||||
Bold = true;
|
||||
Transparency = false;
|
||||
};
|
||||
terminalColors = pkgs.writeText "customized.colorscheme" (lib.generators.toINI {} {
|
||||
Background = colorSection white;
|
||||
Foreground = colorSection black;
|
||||
Color2 = colorSection black;
|
||||
Color2Intense = colorSection black;
|
||||
});
|
||||
terminalConfig = pkgs.writeText "terminal.ubports.conf" (lib.generators.toINI {} {
|
||||
General = {
|
||||
colorScheme = "customized";
|
||||
fontSize = "16";
|
||||
fontStyle = "Inconsolata";
|
||||
};
|
||||
});
|
||||
confBase = "${config.users.users.${user}.home}/.config";
|
||||
userDirArgs = {
|
||||
mode = "0700";
|
||||
user = user;
|
||||
group = "users";
|
||||
};
|
||||
in {
|
||||
"10-lomiri-test-setup" = {
|
||||
"${confBase}".d = userDirArgs;
|
||||
"${confBase}/terminal.ubports".d = userDirArgs;
|
||||
"${confBase}/terminal.ubports/customized.colorscheme".L.argument = "${terminalColors}";
|
||||
"${confBase}/terminal.ubports/terminal.ubports.conf".L.argument = "${terminalConfig}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
|
||||
testScript = { nodes, ... }: ''
|
||||
def open_starter():
|
||||
"""
|
||||
Open the starter, and ensure it's opened.
|
||||
"""
|
||||
machine.send_key("meta_l-a")
|
||||
# Look for any of the default apps
|
||||
machine.wait_for_text(r"(Search|System|Settings|Morph|Browser|Terminal|Alacritty)")
|
||||
|
||||
def toggle_maximise():
|
||||
"""
|
||||
Send the keybind to maximise the current window.
|
||||
"""
|
||||
machine.send_key("ctrl-meta_l-up")
|
||||
|
||||
# For some reason, Lomiri in these VM tests very frequently opens the starter menu a few seconds after sending the above.
|
||||
# Because this isn't 100% reproducible all the time, and there is no command to await when OCR doesn't pick up some text,
|
||||
# the best we can do is send some Escape input after waiting some arbitrary time and hope that it works out fine.
|
||||
machine.sleep(5)
|
||||
machine.send_key("esc")
|
||||
machine.sleep(5)
|
||||
|
||||
start_all()
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
|
||||
# Lomiri in greeter mode should work & be able to start a session
|
||||
with subtest("lomiri greeter works"):
|
||||
machine.wait_for_unit("display-manager.service")
|
||||
# Start page shows current tie
|
||||
machine.wait_for_text(r"(AM|PM)")
|
||||
machine.screenshot("lomiri_greeter_launched")
|
||||
|
||||
# Advance to login part
|
||||
machine.send_key("ret")
|
||||
machine.wait_for_text("${description}")
|
||||
machine.screenshot("lomiri_greeter_login")
|
||||
|
||||
# Login
|
||||
machine.send_chars("${password}\n")
|
||||
# Best way I can think of to differenciate "Lomiri in LightDM greeter mode" from "Lomiri in user shell mode"
|
||||
machine.wait_until_succeeds("pgrep -u ${user} -f 'lomiri --mode=full-shell'")
|
||||
|
||||
# The session should start, and not be stuck in i.e. a crash loop
|
||||
with subtest("lomiri starts"):
|
||||
# Output rendering from Lomiri has started when it starts printing performance diagnostics
|
||||
machine.wait_for_console_text("Last frame took")
|
||||
# Look for datetime's clock, one of the last elements to load
|
||||
machine.wait_for_text(r"(AM|PM)")
|
||||
machine.screenshot("lomiri_launched")
|
||||
|
||||
# Working terminal keybind is good
|
||||
with subtest("terminal keybind works"):
|
||||
machine.send_key("ctrl-alt-t")
|
||||
machine.wait_for_text(r"(${user}|machine)")
|
||||
machine.screenshot("terminal_opens")
|
||||
|
||||
# lomiri-terminal-app has a separate VM test to test its basic functionality
|
||||
|
||||
# for the LSS content-hub test to work reliably, we need to kick off peer collecting
|
||||
machine.send_chars("content-hub-test-importer\n")
|
||||
machine.wait_for_text(r"(/build/source|hub.cpp|handler.cpp|void|virtual|const)") # awaiting log messages from content-hub
|
||||
machine.send_key("ctrl-c")
|
||||
|
||||
machine.send_key("alt-f4")
|
||||
|
||||
# We want the ability to launch applications
|
||||
with subtest("starter menu works"):
|
||||
open_starter()
|
||||
machine.screenshot("starter_opens")
|
||||
|
||||
# Just try the terminal again, we know that it should work
|
||||
machine.send_chars("Terminal\n")
|
||||
machine.wait_for_text(r"(${user}|machine)")
|
||||
machine.send_key("alt-f4")
|
||||
|
||||
# We want support for X11 apps
|
||||
with subtest("xwayland support works"):
|
||||
open_starter()
|
||||
machine.send_chars("Alacritty\n")
|
||||
machine.wait_for_text(r"(${user}|machine)")
|
||||
machine.screenshot("alacritty_opens")
|
||||
machine.send_key("alt-f4")
|
||||
|
||||
# LSS provides DE settings
|
||||
with subtest("system settings open"):
|
||||
open_starter()
|
||||
machine.send_chars("System Settings\n")
|
||||
machine.wait_for_text("Rotation Lock")
|
||||
machine.screenshot("settings_open")
|
||||
|
||||
# lomiri-system-settings has a separate VM test, only test Lomiri-specific content-hub functionalities here
|
||||
|
||||
# Make fullscreen, can't navigate to Background plugin via keyboard unless window has non-phone-like aspect ratio
|
||||
toggle_maximise()
|
||||
|
||||
# Load Background plugin
|
||||
machine.send_key("tab")
|
||||
machine.send_key("tab")
|
||||
machine.send_key("tab")
|
||||
machine.send_key("tab")
|
||||
machine.send_key("tab")
|
||||
machine.send_key("tab")
|
||||
machine.send_key("ret")
|
||||
machine.wait_for_text("Background image")
|
||||
|
||||
# Try to load custom background
|
||||
machine.send_key("shift-tab")
|
||||
machine.send_key("shift-tab")
|
||||
machine.send_key("shift-tab")
|
||||
machine.send_key("shift-tab")
|
||||
machine.send_key("shift-tab")
|
||||
machine.send_key("shift-tab")
|
||||
machine.send_key("ret")
|
||||
|
||||
# Peers should be loaded
|
||||
machine.wait_for_text("Morph") # or Gallery, but Morph is already packaged
|
||||
machine.screenshot("settings_content-hub_peers")
|
||||
|
||||
# Sadly, it doesn't seem possible to actually select a peer and attempt a content-hub data exchange with just the keyboard
|
||||
|
||||
machine.send_key("alt-f4")
|
||||
|
||||
# Morph is how we go online
|
||||
with subtest("morph browser works"):
|
||||
open_starter()
|
||||
machine.send_chars("Morph\n")
|
||||
machine.wait_for_text(r"(Bookmarks|address|site|visited any)")
|
||||
machine.screenshot("morph_open")
|
||||
|
||||
# morph-browser has a separate VM test, there isn't anything new we could test here
|
||||
|
||||
machine.send_key("alt-f4")
|
||||
|
||||
# The ayatana indicators are an important part of the experience, and they hold the only graphical way of exiting the session.
|
||||
# Reaching them via the intended way requires wayland mouse control, but ydotool lacks a module for its daemon:
|
||||
# https://github.com/NixOS/nixpkgs/issues/183659
|
||||
# Luckily, there's a test app that also displays their contents, but it's abit inconsistent. Hopefully this is *good-enough*.
|
||||
with subtest("ayatana indicators work"):
|
||||
open_starter()
|
||||
machine.send_chars("Indicators\n")
|
||||
machine.wait_for_text(r"(Indicators|Client|List|datetime|session)")
|
||||
machine.screenshot("indicators_open")
|
||||
|
||||
# Element tab order within the indicator menus is not fully deterministic
|
||||
# Only check that the indicators are listed & their items load
|
||||
|
||||
with subtest("ayatana indicator datetime works"):
|
||||
# Select ayatana-indicator-datetime
|
||||
machine.send_key("tab")
|
||||
machine.send_key("ret")
|
||||
machine.wait_for_text("Time and Date Settings")
|
||||
machine.screenshot("indicators_timedate")
|
||||
|
||||
machine.send_key("shift-tab")
|
||||
machine.send_key("ret")
|
||||
machine.wait_for_text(r"(Indicators|Client|List|datetime|session)")
|
||||
|
||||
with subtest("ayatana indicator session works"):
|
||||
# Select ayatana-indicator-session
|
||||
machine.send_key("tab")
|
||||
machine.send_key("down")
|
||||
machine.send_key("ret")
|
||||
machine.wait_for_text("Log Out")
|
||||
machine.screenshot("indicators_session")
|
||||
'';
|
||||
})
|
|
@ -14,17 +14,17 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "listenbrainz-mpd";
|
||||
version = "2.3.3";
|
||||
version = "2.3.4";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "elomatreb";
|
||||
repo = "listenbrainz-mpd";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-4FNFaVi+fxoXo2tl+bynHqh8yRt0Q4z/El/4m0GXZUY=";
|
||||
hash = "sha256-QHhSrmBNvUTffPzjns670Tn3Z3UDcDvarq605Qx9k4w=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-FS7OYzKx/lQh86QQ8Dk9v1JrWUxPHNz3kITiEJ3sNng=";
|
||||
cargoHash = "sha256-vtU439Pd3zWx+qakh1xTENQhun7S+WsJMndXqPWrPWU=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config installShellFiles asciidoctor ];
|
||||
|
||||
|
|
|
@ -28,13 +28,13 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "reaper";
|
||||
version = "7.13";
|
||||
version = "7.14";
|
||||
|
||||
src = fetchurl {
|
||||
url = url_for_platform version stdenv.hostPlatform.qemuArch;
|
||||
hash = if stdenv.isDarwin then "sha256-g9t1vCPKTw68w6/b401OAdMNth4UlT9Obht6oPArqKY=" else {
|
||||
x86_64-linux = "sha256-Zj+3LXNoHD6+v0dDn8mKqN14Y9Tk2+fZ4W343VjZoLw=";
|
||||
aarch64-linux = "sha256-kbonwYlEd13AIzy1DNbsFwy+rRrQpOTrup3NZpJOmUA=";
|
||||
hash = if stdenv.isDarwin then "sha256-cPxHriUNIG1EUmvOoW00V2Y0j+7BuxSIEbPy+qy5ZEM=" else {
|
||||
x86_64-linux = "sha256-RgKteq157r4r088mr9wvPPa/rhmX88/lmVJ7mS17px4=";
|
||||
aarch64-linux = "sha256-Qnb6ZoDIkfRct6dvqXKeYHgXyyEFLSj9R0hwa2bUiXo=";
|
||||
}.${stdenv.hostPlatform.system};
|
||||
};
|
||||
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "spotify-qt";
|
||||
version = "3.9";
|
||||
version = "3.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kraxarn";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-8rLpasgXiaL2KpGnYMQdNN2ayjcSkmz5hDkNBnKNWHk=";
|
||||
sha256 = "sha256-Dm+ELHtYZGSzJSrERtvpuuV5cVZ9ah9WQ0iTTJqGqVg=";
|
||||
};
|
||||
|
||||
buildInputs = [ libxcb qtbase qtsvg ];
|
||||
|
|
|
@ -18,8 +18,8 @@ let
|
|||
sha256Hash = "sha256-zROBKzQiP4V2P67HgOIkHgn8q/M0zy5MkZozVSiQsWU=";
|
||||
};
|
||||
latestVersion = {
|
||||
version = "2024.1.1.2"; # "Android Studio Koala | 2024.1.1 Canary 4"
|
||||
sha256Hash = "sha256-d/bzgKimps0Tw7GQD9sc2LLDNaVpWlqNTKkuyxKrCWo=";
|
||||
version = "2024.1.1.3"; # "Android Studio Koala | 2024.1.1 Canary 5"
|
||||
sha256Hash = "sha256-JL2cloR0RhSnr8e62fHhxIzF286fT9sahTuv2OoQVRY=";
|
||||
};
|
||||
in {
|
||||
# Attributes are named by their corresponding release channels
|
||||
|
|
|
@ -14,14 +14,14 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aseprite";
|
||||
version = "1.3.2";
|
||||
version = "1.3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aseprite";
|
||||
repo = "aseprite";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-8PXqMDf2ATxmtFqyZlGip+DhGrdK8M6Ztte7fGH6Fmo=";
|
||||
hash = "sha256-17f6pIGsOIswnyY63pjHKEEYuCo43kf25mPLBv4vQAs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,21 +1,23 @@
|
|||
{ trivialBuild
|
||||
, haskellPackages
|
||||
}:
|
||||
|
||||
trivialBuild rec {
|
||||
let
|
||||
Agda = haskellPackages.Agda.bin;
|
||||
in
|
||||
trivialBuild {
|
||||
pname = "agda-mode";
|
||||
version = haskellPackages.Agda.version;
|
||||
version = Agda.version;
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
# already byte-compiled by Agda builder
|
||||
buildPhase = ''
|
||||
agda=`${haskellPackages.Agda}/bin/agda-mode locate`
|
||||
agda=`${Agda}/bin/agda-mode locate`
|
||||
cp `dirname $agda`/*.el* .
|
||||
'';
|
||||
|
||||
meta = {
|
||||
inherit (haskellPackages.Agda.meta) homepage license;
|
||||
inherit (Agda.meta) homepage license;
|
||||
description = "Agda2-mode for Emacs extracted from Agda package";
|
||||
longDescription = ''
|
||||
Wrapper packages that liberates init.el from `agda-mode locate` magic.
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sameboy";
|
||||
version = "0.16.2";
|
||||
version = "0.16.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LIJI32";
|
||||
repo = "SameBoy";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-KEbwug/cwGLS/uhY1rKasLJWaKtiYYzdZvbAU2orfbI=";
|
||||
sha256 = "sha256-sQWmuF1dQgvW9WyOxgxaupTUcde3KzzYiGv+v1N5ssk=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
|
|
@ -37,16 +37,16 @@ let
|
|||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "emulsion";
|
||||
version = "10.4";
|
||||
version = "10.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ArturKovacs";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-9M9FyDehony5+1UwtEk7bRjBAlV4GvhtABi0MpjYcIA=";
|
||||
sha256 = "sha256-Wrb5jHr2rXDpXF/uHpNLKSc//Xdj0/VsXQcytit0hKY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-fcZCFD4XBHFIhwZtpYLkv8oDe+TmhvUEKFY3iJAMdFI=";
|
||||
cargoHash = "sha256-zfR4sp/AmK3+UcFdqMMZE9O9+oGathqmuqFw11SmUWI=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "structorizer";
|
||||
version = "3.32-19";
|
||||
version = "3.32-20";
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
|
@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
|
|||
owner = "fesch";
|
||||
repo = "Structorizer.Desktop";
|
||||
rev = version;
|
||||
hash = "sha256-bHD/E6FWzig73+v4ROZ00TyB79bnlx16/+bBsmboKco=";
|
||||
hash = "sha256-kFgypwSmXRkIyb0ZMcoTSgQdODfn9F81ABlFWATvh3M=";
|
||||
};
|
||||
|
||||
patches = [ ./makeStructorizer.patch ./makeBigJar.patch ];
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
, qtdeclarative
|
||||
, qtwayland
|
||||
, qt5compat
|
||||
, qttools
|
||||
, wrapQtAppsHook
|
||||
, nix-update-script
|
||||
, pkg-config
|
||||
|
@ -19,13 +20,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "albert";
|
||||
version = "0.22.17";
|
||||
version = "0.23.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "albertlauncher";
|
||||
repo = "albert";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-2wu4bOQDKoZ4DDzTttXXRNDluvuJth7M1pCvJmYQ+f4=";
|
||||
sha256 = "sha256-L6qHaksArgwySk6J7N5zamUDWh5qa6zTtPFdpxU2NTM=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -45,6 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
qtdeclarative
|
||||
qtwayland
|
||||
qt5compat
|
||||
qttools
|
||||
] ++ (with python3Packages; [ python pybind11 ]);
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -32,11 +32,11 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "calibre";
|
||||
version = "7.7.0";
|
||||
version = "7.8.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.calibre-ebook.com/${finalAttrs.version}/calibre-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-+kz3Fz1RDQ+ROgv7y0WNAWvIESKvHKID8UnSeCh8yA4=";
|
||||
hash = "sha256-FxYuQzzuaWZihSsmeJc6ssG3VBr2YNEi3TkXyyymLUQ=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -17,7 +17,7 @@ buildGoModule rec {
|
|||
hash = "sha256-1hZ7yAKTvkk20ho+QOqFEtspBvFztAtfmITs2uxhdmQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-d38s5sSvENIou+rlphXIrrOcGOdsvkNaMJlhiXVWN6c=";
|
||||
vendorHash = "sha256-DFssAic2YtXNH1Jm6zCDv1yPNz3YUXaFLs7j7rNHhlE=";
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
|
|
|
@ -14,13 +14,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "far2l";
|
||||
version = "2.6.0";
|
||||
version = "2.6.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elfmz";
|
||||
repo = "far2l";
|
||||
rev = "v_${version}";
|
||||
sha256 = "sha256-fLBWHhvfqEiaZkFyNs8CKr5vFMQ5mrbo/X3oGwJmFoo=";
|
||||
sha256 = "sha256-fFwO06edv2f/remnKc5snAjgmqveVNqxHiUcTlfe+4Y=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ninja pkg-config m4 perl makeWrapper ];
|
||||
|
|
|
@ -22,16 +22,16 @@
|
|||
|
||||
assert svgSupport -> enableCairo;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fuzzel";
|
||||
version = "1.9.2";
|
||||
version = "1.10.0";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "dnkl";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-X1P/ghX97KCQcrNk44Cy2IAGuZ8DDwHBWzh1AHLDvd4=";
|
||||
repo = "fuzzel";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-4wTwsjnmPsg+kc05izeyXilzDO0LpD3g3PRBqgLPK2I=";
|
||||
};
|
||||
|
||||
depsBuildBuild = [
|
||||
|
@ -73,4 +73,4 @@ stdenv.mkDerivation rec {
|
|||
maintainers = with maintainers; [ fionera polykernel rodrgz ];
|
||||
platforms = with platforms; linux;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -11,16 +11,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "klipper-estimator";
|
||||
version = "3.7.1";
|
||||
version = "3.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Annex-Engineering";
|
||||
repo = "klipper_estimator";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-zRHV8Bc4+diSfb/hhBxBTaSiZHlKZ9wgd8DZ4Kt6nf0=";
|
||||
hash = "sha256-OvDdANowsz3qU2KV4WbUWyDrh3sG02+lBKNtcq6ecZ8=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-zozZuVzn/xYjmP9+B5uzIBuu/rx/tymgvOuiKz617eo=";
|
||||
cargoHash = "sha256-1O3kXeGPALSa/kNWRArk6ULG0+3UgTxVBzrsqDHHpDU=";
|
||||
|
||||
buildInputs =
|
||||
[ openssl ]
|
||||
|
|
|
@ -13,7 +13,7 @@ buildGoModule rec {
|
|||
|
||||
vendorHash = "sha256-8YcJXvR0cdL9PlP74Qh6uN2XZoN16sz/yeeZlBsk5N8=";
|
||||
|
||||
GOWORK = "off";
|
||||
env.GOWORK = "off";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
|
|
@ -11,7 +11,7 @@ buildGoModule rec {
|
|||
};
|
||||
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-6cpHDwnxdc/9YPj77JVuT5ZDFjKkF6nBX4RgZr/9fFY=";
|
||||
vendorHash = "sha256-L8mDs9teQJW6P3dhKSLfzbpA7kzhJk61oR2q0ME+u0M=";
|
||||
|
||||
# tests try to access the internet to scrape websites
|
||||
doCheck = false;
|
||||
|
|
|
@ -12,7 +12,7 @@ buildGoModule rec {
|
|||
};
|
||||
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-xNM4qmpv+wcoiGrQ585N3VoKW6tio0cdHmUHRl2Pvio=";
|
||||
vendorHash = "sha256-/qZB/GGEkoqRoNhEmZw9Q2lsUPZRg5/xVxWgdBZTMLk=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ buildGoModule rec {
|
|||
sha256 = "sha256-DFrA4bx+wSOxmt1CVA1oNiYVmcWeW6wpfR5F1tnhyDY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-9uuLidieBMoKz/FLcBnp9wenyveOIzB0IvRBRasulZk=";
|
||||
vendorHash = "sha256-mQdKw3DeBEkCOtV2/B5lUIHv5EBp+8QSxpA13nFxESw=";
|
||||
proxyVendor = true;
|
||||
|
||||
doCheck = false;
|
||||
|
|
|
@ -151,7 +151,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
homepage = "https://ladybird.dev";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ fgaz ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
||||
mainProgram = "Ladybird";
|
||||
};
|
||||
})
|
||||
|
|
|
@ -11,7 +11,7 @@ buildGoModule rec {
|
|||
sha256 = "sha256-txbs1SzAaV1nCl104m0Ht5DwzCmK+sBDn4rZ1newdLc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-1nolJLWkArzSKf11fzlvvgiCnvMYSu5MHRNAn1lryms=";
|
||||
vendorHash = "sha256-QbjiQVclT8paEKYQmMwj5MLq40mAVh5Ji5VJJTOmEZI=";
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "atmos";
|
||||
version = "1.68.0";
|
||||
version = "1.69.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cloudposse";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-tyK45RWLZFC2yLqEvEE/U0QjNaQ0Kwx37BL/5d9Bmdc=";
|
||||
sha256 = "sha256-H2RyxUeOgIiGpR50sDP6bjZ6BKRB47oLUpdtawSRnmo=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-dJJPq2HcGZ+MqtJ848gsrvzD1rMVrwJQKwq+UpZsFB0=";
|
||||
|
|
|
@ -15,7 +15,7 @@ buildGoModule rec {
|
|||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
GOWORK = "off";
|
||||
env.GOWORK = "off";
|
||||
|
||||
subPackages = [ "cmd/talosctl" ];
|
||||
|
||||
|
|
|
@ -242,7 +242,7 @@
|
|||
"repo": "terraform-provider-cloudfoundry",
|
||||
"rev": "v0.52.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-g1T6kH8Rv9bpvb6Q3YHCseEi1ayydJIxlplH3k12s8c="
|
||||
"vendorHash": "sha256-6MKWpiDq4yI3mfIJyzEsWLa7gi0+DScI5jKcOcM6Qs0="
|
||||
},
|
||||
"cloudinit": {
|
||||
"hash": "sha256-etZeCGtYhO0szRGxnj1c3/WOelxScWiHEA9w1Jb7bEE=",
|
||||
|
@ -316,7 +316,7 @@
|
|||
"repo": "terraform-provider-dhall",
|
||||
"rev": "v0.0.7",
|
||||
"spdx": "BSD-3-Clause",
|
||||
"vendorHash": "sha256-e/+czUeOACwRC7xY90pZp2EWDzDpLU6Ud9RPzuNKaOY="
|
||||
"vendorHash": "sha256-quoFrJbB1vjz+MdV+jnr7FPACHuUe5Gx9POLubD2IaM="
|
||||
},
|
||||
"digitalocean": {
|
||||
"hash": "sha256-wwb62tZZxpr7NXbiqcS40aF9E2msagj2Mqy4kogDsEA=",
|
||||
|
@ -434,7 +434,7 @@
|
|||
"repo": "terraform-provider-fortios",
|
||||
"rev": "1.19.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-DwRfbD4AqB+4KLuYtqY5fUdzRrEpTIvL4VAM7nieJJA="
|
||||
"vendorHash": "sha256-mE25KfP2+7K7nHpkQOn1pfilm+fz5kGDDW8U+P2zglY="
|
||||
},
|
||||
"gandi": {
|
||||
"hash": "sha256-fsCtmwyxkXfOtiZG27VEb010jglK35yr4EynnUWlFog=",
|
||||
|
@ -552,7 +552,7 @@
|
|||
"repo": "terraform-provider-htpasswd",
|
||||
"rev": "v1.0.4",
|
||||
"spdx": "MIT",
|
||||
"vendorHash": "sha256-+D8HxLRUSh7bCN6j+NSkPZTabvqknY7uJ9F5JxefomA="
|
||||
"vendorHash": "sha256-6jaAgyHS5H63YKnm4xcYmjKVhPbWm6KK6qHzxg/78yU="
|
||||
},
|
||||
"http": {
|
||||
"hash": "sha256-druSExXZeZMNWFIJQoQ/Xh0gCQQx0AnKbIAJQlRi8Po=",
|
||||
|
|
|
@ -11,11 +11,11 @@
|
|||
}:
|
||||
let
|
||||
pname = "beeper";
|
||||
version = "3.102.14";
|
||||
version = "3.103.36";
|
||||
name = "${pname}-${version}";
|
||||
src = fetchurl {
|
||||
url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.102.14-build-24040616ytycz8q-x86_64.AppImage";
|
||||
hash = "sha256-A+0dXAddZq7GWMyi9v1g0B9f7b6COMkFlm8bX4XXvzU=";
|
||||
url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.103.36-build-240411hw9xbpc7s-x86_64.AppImage";
|
||||
hash = "sha256-qxu/a8eeWeOKCsno51J2IHUXTXH82KXBNajfoEkkid8=";
|
||||
};
|
||||
appimage = appimageTools.wrapType2 {
|
||||
inherit version pname src;
|
||||
|
|
|
@ -45,14 +45,14 @@ let
|
|||
|
||||
pname = "slack";
|
||||
|
||||
x86_64-darwin-version = "4.37.94";
|
||||
x86_64-darwin-sha256 = "01v7v977fq8mfsl0lipdc7ig55p2sknxzr1jmh8qxiq4f4y0rj5g";
|
||||
x86_64-darwin-version = "4.37.101";
|
||||
x86_64-darwin-sha256 = "03k4iv6y7y1z9ac7if35r3lk7kp7ic4aa4rdyzbrzihvpfb3nvdh";
|
||||
|
||||
x86_64-linux-version = "4.37.94";
|
||||
x86_64-linux-sha256 = "1f1spl767ldrarvpxrayry2d0nyr22b8xacxl4g1r8raryvnyz0x";
|
||||
x86_64-linux-version = "4.37.101";
|
||||
x86_64-linux-sha256 = "0vmaam0aiqcqmm8n3zrjmf012d6pdi0g1d08v1zhgx2rhl614ff9";
|
||||
|
||||
aarch64-darwin-version = "4.37.94";
|
||||
aarch64-darwin-sha256 = "0gh45gvlbjzxh0fn24z15glxqih5lggam8w6kpawsxgivkw6rjcc";
|
||||
aarch64-darwin-version = "4.37.101";
|
||||
aarch64-darwin-sha256 = "07qfqrq32sh5cw7vmq2x0s5zvkvcl7j1kkvdncg36fay9276f2pp";
|
||||
|
||||
version = {
|
||||
x86_64-darwin = x86_64-darwin-version;
|
||||
|
|
|
@ -22,7 +22,7 @@ buildGoModule rec {
|
|||
};
|
||||
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-rycAGqZhO48bPTFO2y2J1d16oon24sEEUns4EayWDvg=";
|
||||
vendorHash = "sha256-AHEhIWa6PP8f+hhIdY+0brLF2HYhvTal7qXfCwG9iyo=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
scdoc
|
||||
|
|
|
@ -37,8 +37,11 @@ let
|
|||
# https://github.com/NixOS/nixpkgs/issues/298719
|
||||
# https://github.com/paperless-ngx/paperless-ngx/issues/5494
|
||||
python = python3.override {
|
||||
packageOverrides = self: super: {
|
||||
uvicorn = super.uvicorn.overridePythonAttrs (oldAttrs: {
|
||||
packageOverrides = final: prev: {
|
||||
# tesseract5 may be overwritten in the paperless module and we need to propagate that to make the closure reduction effective
|
||||
ocrmypdf = prev.ocrmypdf.override { tesseract = tesseract5; };
|
||||
|
||||
uvicorn = prev.uvicorn.overridePythonAttrs (_: {
|
||||
version = "0.25.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "encode";
|
||||
|
@ -245,7 +248,7 @@ python.pkgs.buildPythonApplication rec {
|
|||
doCheck = !stdenv.isDarwin;
|
||||
|
||||
passthru = {
|
||||
inherit python path frontend;
|
||||
inherit python path frontend tesseract5;
|
||||
nltkData = with nltk-data; [ punkt snowball_data stopwords ];
|
||||
tests = { inherit (nixosTests) paperless; };
|
||||
};
|
||||
|
|
|
@ -121,9 +121,9 @@ in
|
|||
|
||||
simulide_1_1_0 = generic {
|
||||
version = "1.1.0";
|
||||
release = "RC1";
|
||||
release = "SR0";
|
||||
branch = "1.1.0";
|
||||
rev = "1912";
|
||||
sha256 = "sha256-bgRAqt7h2LtU2Ze6Jiz8APhyPcV15v4ofxIilIeZV9E=";
|
||||
rev = "1917";
|
||||
sha256 = "sha256-qNBaGWl89Le9uC1VFK+xYhrLzIvOIWjkQbutnrAmZ2M=";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
}:
|
||||
|
||||
let
|
||||
inherit (cudaPackages) cudatoolkit nccl;
|
||||
inherit (cudaPackages) backendStdenv cudatoolkit nccl;
|
||||
# The default for cudatoolkit 10.1 is CUDNN 8.0.5, the last version to support CUDA 10.1.
|
||||
# However, this caffe does not build with CUDNN 8.x, so we use CUDNN 7.6.5 instead.
|
||||
# Earlier versions of cudatoolkit use pre-8.x CUDNN, so we use the default.
|
||||
|
@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
|
|||
"-DBLAS=open"
|
||||
] ++ (if cudaSupport then [
|
||||
"-DCUDA_ARCH_NAME=All"
|
||||
"-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/cc"
|
||||
"-DCUDA_HOST_COMPILER=${backendStdenv.cc}/bin/cc"
|
||||
] else [ "-DCPU_ONLY=ON" ])
|
||||
++ ["-DUSE_NCCL=${toggle ncclSupport}"]
|
||||
++ ["-DUSE_LEVELDB=${toggle leveldbSupport}"]
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
}:
|
||||
|
||||
let
|
||||
inherit (cudaPackages) cudatoolkit cudaFlags cudnn;
|
||||
inherit (cudaPackages) backendStdenv cudatoolkit cudaFlags cudnn;
|
||||
in
|
||||
|
||||
assert cudnnSupport -> cudaSupport;
|
||||
|
@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
|
|||
++ (if cudaSupport then [
|
||||
"-DUSE_OLDCMAKECUDA=ON" # see https://github.com/apache/incubator-mxnet/issues/10743
|
||||
"-DCUDA_ARCH_NAME=All"
|
||||
"-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/cc"
|
||||
"-DCUDA_HOST_COMPILER=${backendStdenv.cc}/bin/cc"
|
||||
"-DMXNET_CUDA_ARCH=${builtins.concatStringsSep ";" cudaFlags.realArches}"
|
||||
] else [ "-DUSE_CUDA=OFF" ])
|
||||
++ lib.optional (!cudnnSupport) "-DUSE_CUDNN=OFF";
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "git-town";
|
||||
version = "13.0.2";
|
||||
version = "14.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "git-town";
|
||||
repo = "git-town";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-NT/d6JRecM2g7e+mREYEi1LbUcRkwxmMEuy+IrpCjFA=";
|
||||
hash = "sha256-GF1nNb/poFDXKwpqYZvQrTZ7CkNgO39KrrDuc94o/tw=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
{
|
||||
"version": "16.10.1",
|
||||
"repo_hash": "sha256-Bd2BvdWUJJm+hJZHFaW2PyMdaNTZWArpaQ3nY06BBBY=",
|
||||
"version": "16.10.2",
|
||||
"repo_hash": "sha256-hKd++fjBaCidBB9DbitWTJjvmiXU0iN1HY4S2gtscW8=",
|
||||
"yarn_hash": "0yzywfg4lqxjwm5cqsm4bn97zcrfvpnrs8rjrv9wv3xqvi9h9skd",
|
||||
"owner": "gitlab-org",
|
||||
"repo": "gitlab",
|
||||
"rev": "v16.10.1-ee",
|
||||
"rev": "v16.10.2-ee",
|
||||
"passthru": {
|
||||
"GITALY_SERVER_VERSION": "16.10.1",
|
||||
"GITLAB_PAGES_VERSION": "16.10.1",
|
||||
"GITALY_SERVER_VERSION": "16.10.2",
|
||||
"GITLAB_PAGES_VERSION": "16.10.2",
|
||||
"GITLAB_SHELL_VERSION": "14.34.0",
|
||||
"GITLAB_ELASTICSEARCH_INDEXER_VERSION": "4.8.0",
|
||||
"GITLAB_WORKHORSE_VERSION": "16.10.1"
|
||||
"GITLAB_WORKHORSE_VERSION": "16.10.2"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
}:
|
||||
|
||||
let
|
||||
version = "16.10.1";
|
||||
version = "16.10.2";
|
||||
package_version = "v${lib.versions.major version}";
|
||||
gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
|
||||
|
||||
|
@ -18,7 +18,7 @@ let
|
|||
owner = "gitlab-org";
|
||||
repo = "gitaly";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-YMvxSQcvFj/ugTGjTThmwi1V9M+rc3fldrmChWzXKR8=";
|
||||
hash = "sha256-oV6MV9W5kC43orMn78A3UpuR71crN7tcN3xy56S/Ar0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-zaldiRg7fk/HncpfR7k+dDprsOp1ziQHgX8B4l7bwe0=";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "gitlab-container-registry";
|
||||
version = "3.91.0";
|
||||
version = "3.92.0";
|
||||
rev = "v${version}-gitlab";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
|
@ -10,7 +10,7 @@ buildGoModule rec {
|
|||
owner = "gitlab-org";
|
||||
repo = "container-registry";
|
||||
inherit rev;
|
||||
hash = "sha256-C6tCwVfVZ9CMP0X5NiOdPAuSz5yeu9LAnvOPrq2QLJo=";
|
||||
hash = "sha256-NHpqfqv3RCbWZilhXLGnQTN+ytzifAix6mcLk5Bw124=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-KZWdM8Q8ipsgm7OoLyOuHo+4Vg2Nve+yZtTSUDgjOW4=";
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "gitlab-pages";
|
||||
version = "16.10.1";
|
||||
version = "16.10.2";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitLab {
|
||||
owner = "gitlab-org";
|
||||
repo = "gitlab-pages";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-jUTUYbkUad2WrI8lkktd2pr3+GPraEUXT+efOb7JcKw=";
|
||||
hash = "sha256-lJYQBNJFAVq9SKS1gc2rhdE3qFO7x7xcCXT4hlDwtB8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-WrR4eZRAuYkhr7ZqP7OXqJ6uwvxzn+t+3OdBNcNaq0M=";
|
||||
|
|
|
@ -5,7 +5,7 @@ in
|
|||
buildGoModule rec {
|
||||
pname = "gitlab-workhorse";
|
||||
|
||||
version = "16.10.1";
|
||||
version = "16.10.2";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitLab {
|
||||
|
|
|
@ -18,16 +18,16 @@ let
|
|||
gix = "${stdenv.hostPlatform.emulator buildPackages} $out/bin/gix";
|
||||
in rustPlatform.buildRustPackage rec {
|
||||
pname = "gitoxide";
|
||||
version = "0.34.0";
|
||||
version = "0.35.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Byron";
|
||||
repo = "gitoxide";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-CHlLValZnO5Jd7boMWnK9bYCSjjM4Dj6xvn6tBlvP8c=";
|
||||
hash = "sha256-Sl7nNYoiCdTZ50tIfJcq5x9KOBkgJsb5bq09chWbyQc=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-7nc6eIuY08nTeHMVwKukOdd0zP6xbUPo7NcZ8EEGUNI=";
|
||||
cargoHash = "sha256-G1NWRkhcmFrcHaIxQ7nzvRejPZUuZQDiNonZykkt4qM=";
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config installShellFiles ];
|
||||
|
||||
|
|
|
@ -65,6 +65,12 @@ python.pkgs.buildPythonApplication rec {
|
|||
url = "https://github.com/blakeblackshear/frigate/commit/56bdacc1c661eff8a323e033520e75e2ba0a3842.patch";
|
||||
hash = "sha256-s/goUJxIbjq/woCEOEZECdcZoJDoWc1eM63sd60cxeY=";
|
||||
})
|
||||
(fetchpatch2 {
|
||||
# https://github.com/blakeblackshear/frigate/pull/10967
|
||||
name = "frigate-wsdl-path.patch";
|
||||
url = "https://github.com/blakeblackshear/frigate/commit/b65656fa8733c1c2f3d944f716d2e9493ae7c99f.patch";
|
||||
hash = "sha256-taPWFV4PldBGUKAwFMKag4W/3TLMSGdKLYG8bj1Y5mU=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "mlv-app";
|
||||
version = "1.11";
|
||||
version = "1.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ilia3101";
|
||||
repo = "MLV-App";
|
||||
rev = "QTv${version}";
|
||||
sha256 = "0s5sjdxi8a17ddvih4ara7mlb2xrc9xqx52jmhfaca6ng341gi4x";
|
||||
sha256 = "sha256-RfZXHmWSjZBxNFwQ/bzHppsLS0LauURIdnkAzxAIBcU=";
|
||||
};
|
||||
|
||||
patches = if stdenv.isAarch64 then ./aarch64-flags.patch else null;
|
||||
|
|
|
@ -40,13 +40,14 @@ let
|
|||
allPackages = withPackages (filter self.lib.isUnbrokenAgdaPackage (attrValues self));
|
||||
};
|
||||
};
|
||||
inherit (Agda) meta;
|
||||
# Agda is a split package with multiple outputs; do not inherit them here.
|
||||
meta = removeAttrs Agda.meta [ "outputsToInstall" ];
|
||||
} ''
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${Agda}/bin/agda $out/bin/agda \
|
||||
makeWrapper ${Agda.bin}/bin/agda $out/bin/agda \
|
||||
--add-flags "--with-compiler=${ghc}/bin/ghc" \
|
||||
--add-flags "--library-file=${library-file}"
|
||||
ln -s ${Agda}/bin/agda-mode $out/bin/agda-mode
|
||||
ln -s ${Agda.bin}/bin/agda-mode $out/bin/agda-mode
|
||||
'';
|
||||
|
||||
withPackages = arg: if isAttrs arg then withPackages' arg else withPackages' { pkgs = arg; };
|
||||
|
|
|
@ -84,6 +84,7 @@ let
|
|||
preBuild = args.preBuild or "";
|
||||
postBuild = args.modPostBuild or "";
|
||||
sourceRoot = args.sourceRoot or "";
|
||||
env = args.env or { };
|
||||
|
||||
impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [
|
||||
"GIT_PROXY_COMMAND"
|
||||
|
|
|
@ -0,0 +1,89 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, stdenv
|
||||
, unzip
|
||||
, alsa-lib
|
||||
, gcc-unwrapped
|
||||
, git
|
||||
, godot3-export-templates
|
||||
, godot3-headless
|
||||
, libGLU
|
||||
, libX11
|
||||
, libXcursor
|
||||
, libXext
|
||||
, libXfixes
|
||||
, libXi
|
||||
, libXinerama
|
||||
, libXrandr
|
||||
, libXrender
|
||||
, libglvnd
|
||||
, libpulseaudio
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "4d-minesweeper";
|
||||
version = "2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gapophustu";
|
||||
repo = "4D-Minesweeper";
|
||||
rev = "db176d8aa5981a597bbae6a1a74aeebf0f376df4";
|
||||
sha256 = "sha256-A5QKqCo9TTdzmK13WRSAfkrkeUqHc4yQCzy4ZZ9uX2M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
godot3-headless
|
||||
unzip
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
gcc-unwrapped.lib
|
||||
git
|
||||
libGLU
|
||||
libX11
|
||||
libXcursor
|
||||
libXext
|
||||
libXfixes
|
||||
libXi
|
||||
libXinerama
|
||||
libXrandr
|
||||
libXrender
|
||||
libglvnd
|
||||
libpulseaudio
|
||||
zlib
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
# Cannot create file '/homeless-shelter/.config/godot/projects/...'
|
||||
export HOME=$TMPDIR
|
||||
|
||||
# Link the export-templates to the expected location. The --export commands
|
||||
# expects the template-file at .../templates/3.2.3.stable/linux_x11_64_release
|
||||
# with 3.2.3 being the version of godot.
|
||||
mkdir -p $HOME/.local/share/godot
|
||||
ln -s ${godot3-export-templates}/share/godot/templates $HOME/.local/share/godot
|
||||
|
||||
mkdir -p $out/bin/
|
||||
cd source/
|
||||
godot3-headless --export "Linux/X11" $out/bin/4d-minesweeper
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
dontInstall = true;
|
||||
dontFixup = true;
|
||||
dontStrip = true;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/gapophustu/4D-Minesweeper";
|
||||
description = "A 4D Minesweeper game written in Godot";
|
||||
license = licenses.mpl20;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ nayala ];
|
||||
mainProgram = "4d-minesweeper";
|
||||
};
|
||||
}
|
|
@ -119,6 +119,15 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
chmod +w doc/reference/html/*
|
||||
'';
|
||||
|
||||
# Indicators that talk to it may issue requests to parse desktop files, which needs binaries in Exec on PATH
|
||||
# messaging_menu_app_set_desktop_id -> g_desktop_app_info_new -...-> g_desktop_app_info_load_from_keyfile -> g_find_program_for_path
|
||||
# When launched via systemd, PATH is very narrow
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
--suffix PATH : '/run/current-system/sw/bin'
|
||||
)
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
ayatana-indicators = [
|
||||
"ayatana-indicator-messages"
|
||||
|
|
|
@ -23,7 +23,7 @@ buildGoModule rec{
|
|||
hash = "sha256-ruOhPWNs1WWM3r6X+6ch0HoDCu/a+IkBQiCr0Wh6yS8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-SiggDy6vc19yIw15g45yjl8gscE91zUoR6woECbAtR0=";
|
||||
vendorHash = "sha256-Juie/Hq3i6rvAK19x6ah3SCQJL0uCrmV9gvzHih3crY=";
|
||||
|
||||
subPackages = [
|
||||
"cmd/cli"
|
||||
|
|
|
@ -31,7 +31,7 @@ buildGoModule rec {
|
|||
|
||||
proxyVendor = true;
|
||||
|
||||
vendorHash = "sha256-CtBwc5mcgLvl2Bvg5gI+ULJMQEEibx1aN3IpmRNUtwE=";
|
||||
vendorHash = "sha256-GvUUCQ2BPW0HlXZljBWJ2Wyys9OEIM55dEWAa6J19Zg=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
|
|
@ -7,16 +7,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "clipcat";
|
||||
version = "0.16.5";
|
||||
version = "0.16.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xrelkd";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-/YoEUZ6/aFqlIPAWi95yZHVwLXHf/vsx8L3NdmZfiVk=";
|
||||
hash = "sha256-FSgBTQGl8LSLdv+SOAgQWLWiqFY+PRQBFYYdbmCttcY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-O1jL2ett8aI8lEwnhAELAP5zphjqf9CFrdCn00V5ImQ=";
|
||||
cargoHash = "sha256-TrzHmWUDAe4gbwm+VoTOuC50CWWnFsF99zscM85ammo=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
protobuf
|
||||
|
|
|
@ -24,9 +24,11 @@
|
|||
, stb
|
||||
, wlroots
|
||||
, libliftoff
|
||||
, libdecor
|
||||
, libdisplay-info
|
||||
, lib
|
||||
, makeBinaryWrapper
|
||||
, patchelfUnstable
|
||||
, nix-update-script
|
||||
, enableExecutable ? true
|
||||
, enableWsi ? true
|
||||
|
@ -41,14 +43,14 @@ let
|
|||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gamescope";
|
||||
version = "3.14.2";
|
||||
version = "3.14.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ValveSoftware";
|
||||
repo = "gamescope";
|
||||
rev = "refs/tags/${finalAttrs.version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-Ym1kl9naAm1MGlxCk32ssvfiOlstHiZPy7Ga8EZegus=";
|
||||
hash = "sha256-+6RyrdHRDk9aeM52wcgLo966jP70EAiXSMR3sffNeZM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -99,7 +101,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
glm
|
||||
] ++ lib.optionals enableWsi [
|
||||
vulkan-headers
|
||||
] ++ lib.optionals enableExecutable [
|
||||
] ++ lib.optionals enableExecutable (wlroots.buildInputs ++ [ # gamescope uses a custom wlroots branch
|
||||
xorg.libXcomposite
|
||||
xorg.libXcursor
|
||||
xorg.libXdamage
|
||||
|
@ -114,7 +116,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
libdrm
|
||||
libliftoff
|
||||
SDL2
|
||||
wlroots
|
||||
libdecor
|
||||
libinput
|
||||
libxkbcommon
|
||||
gbenchmark
|
||||
|
@ -122,9 +124,13 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
libcap
|
||||
stb
|
||||
libdisplay-info
|
||||
];
|
||||
]);
|
||||
|
||||
postInstall = lib.optionalString enableExecutable ''
|
||||
# using patchelf unstable because the stable version corrupts the binary
|
||||
${lib.getExe patchelfUnstable} $out/bin/gamescope \
|
||||
--add-rpath ${vulkan-loader}/lib --add-needed libvulkan.so.1
|
||||
|
||||
# --debug-layers flag expects these in the path
|
||||
wrapProgram "$out/bin/gamescope" \
|
||||
--prefix PATH : ${with xorg; lib.makeBinPath [xprop xwininfo]}
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "gatus";
|
||||
version = "5.8.0";
|
||||
version = "5.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TwiN";
|
||||
repo = "gatus";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-FFnrtdJiN7B27sJXzoGsbPKX3NeuHOtA34WQrw6pvEI=";
|
||||
hash = "sha256-obrdEnNxLdWtbGL57D/nTClaOdzJlLDU3+K9VdR8XI4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-VICVo7XYeHs/43knHA4CMSgHloyYSjOFe1TUb4u+egE=";
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "jrl-cmakemodules";
|
||||
version = "0-unstable-2024-04-12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jrl-umi3218";
|
||||
repo = "jrl-cmakemodules";
|
||||
rev = "a914fa836ab4d2f01c191c93a763cfa322820dc7";
|
||||
hash = "sha256-/VedtcRqy4SUTZfrtg01Z1lSPFRg/858hgve+nKTqPo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
meta = {
|
||||
description = "CMake utility toolbox";
|
||||
homepage = "https://github.com/jrl-umi3218/jrl-cmakemodules";
|
||||
license = lib.licenses.lgpl3Plus;
|
||||
maintainers = [ lib.maintainers.nim65s ];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
}: let
|
||||
version = "0.5.0";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "kittysay";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "uncenter";
|
||||
repo = "kittysay";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-eOcHrEvU3nBKFokwE8CyDOUYoBA1+gBlnl7VRUuoFfE=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-dVgPp5jY3ii8mO/HLTDESQzQyZXzqut8Bjm2KfWD0+U=";
|
||||
|
||||
meta = {
|
||||
description = "Cowsay, but with a cute kitty :3";
|
||||
homepage = "https://github.com/uncenter/kittysay";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [isabelroses uncenter];
|
||||
mainProgram = "kittysay";
|
||||
};
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
{
|
||||
cmake,
|
||||
doxygen,
|
||||
fetchFromGitHub,
|
||||
getopt,
|
||||
ninja,
|
||||
lib,
|
||||
pkg-config,
|
||||
stdenv,
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ktx-tools";
|
||||
version = "4.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "KhronosGroup";
|
||||
repo = "KTX-Software";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-zjiJ8B8FEZUJ3iFTYXRmuIEtcaCWtBIbYwz0DwjTDFo";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
doxygen
|
||||
getopt
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
cmakeBuildType = "RelWithDebInfo";
|
||||
|
||||
cmakeFlags = [ "-DKTX_FEATURE_DOC=ON" ];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs .
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "KTX (Khronos Texture) Library and Tools";
|
||||
longDescription = ''
|
||||
KTX (Khronos Texture) is a lightweight container for textures for OpenGL®,
|
||||
Vulkan® and other GPU APIs. KTX files contain all the parameters needed
|
||||
for texture loading. A single file can contain anything from a simple
|
||||
base-level 2D texture through to a cubemap array texture with mipmaps.
|
||||
|
||||
This software package contains:
|
||||
- libktx: a small library of functions for writing and reading KTX
|
||||
files, and instantiating OpenGL®, OpenGL ES™️ and Vulkan® textures
|
||||
from them.
|
||||
- ktx2check: a tool for validating KTX Version 2 format files.
|
||||
- ktx2ktx2: a tool for converting a KTX Version 1 file to a KTX Version
|
||||
2 file.
|
||||
- ktxinfo: a tool to display information about a KTX file in human
|
||||
readable form.
|
||||
- ktxsc: a tool to supercompress a KTX Version 2 file that contains
|
||||
uncompressed images.
|
||||
- toktx: a tool to create KTX files from PNG, Netpbm or JPEG format
|
||||
images. It supports mipmap generation, encoding to Basis Universal
|
||||
formats and Zstd supercompression.
|
||||
'';
|
||||
homepage = "https://github.com/KhronosGroup/KTX-Software";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ bonsairobo ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitLab
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, gst_all_1
|
||||
, wrapGAppsHook4
|
||||
, appstream-glib
|
||||
, gtk4
|
||||
, libadwaita
|
||||
, desktop-file-utils
|
||||
, libGL
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "livi";
|
||||
version = "0.0.6";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "guidog";
|
||||
repo = "livi";
|
||||
domain = "gitlab.gnome.org";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-DaIbBCJT4Da5noW6Q5z1yzTZ256HNqrvdXgwSY7p/D8=";
|
||||
};
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
wrapGAppsHook4
|
||||
appstream-glib
|
||||
desktop-file-utils
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gst-plugins-bad
|
||||
gtk4
|
||||
libadwaita
|
||||
libGL
|
||||
];
|
||||
strictDeps = true;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://gitlab.gnome.org/guidog/livi";
|
||||
description = "A small video player targeting mobile devices (also named μPlayer)";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "livi";
|
||||
maintainers = with maintainers; [ mksafavi ];
|
||||
};
|
||||
}
|
|
@ -371,12 +371,12 @@ let
|
|||
stdenv;
|
||||
|
||||
pname = "local-ai";
|
||||
version = "2.12.3";
|
||||
version = "2.12.4";
|
||||
src = fetchFromGitHub {
|
||||
owner = "go-skynet";
|
||||
repo = "LocalAI";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-/Q0t5OozpgqmjUOYHvVAj1k7VnIixfOS8gNAguuu6p0=";
|
||||
hash = "sha256-piu2B6u4ZfxiOd9SXrE7jiiiwL2SM8EqXo2s5qeKRl0=";
|
||||
};
|
||||
|
||||
self = buildGoModule.override { stdenv = effectiveStdenv; } {
|
||||
|
|
|
@ -20,7 +20,7 @@ buildGoModule {
|
|||
|
||||
modRoot = "go/cli/mcap";
|
||||
|
||||
GOWORK="off";
|
||||
env.GOWORK="off";
|
||||
|
||||
# copy the local versions of the workspace modules
|
||||
postConfigure = ''
|
||||
|
|
|
@ -8,18 +8,18 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "mercure";
|
||||
version = "0.15.10";
|
||||
version = "0.15.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dunglas";
|
||||
repo = "mercure";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ot4Gb2Zg4VaF/ip9cLJYP69WGmKw/+WQSf20o1aQtpM=";
|
||||
hash = "sha256-qPKfF0awRsMfXu7N/xNwFVmmuqTMGsDDqrVgt6LwviI=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/caddy";
|
||||
|
||||
vendorHash = "sha256-K+9LQ9wI0ltZI7N2mshiDsjEMc2FzenqSGP00fEWuMQ=";
|
||||
vendorHash = "sha256-evUGa1kFWbj0ynDQruBRDx2opzh7Tc7eHnWn3H4xwxY=";
|
||||
|
||||
subPackages = [ "mercure" ];
|
||||
excludedPackages = [ "../cmd/mercure" ];
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "minijinja";
|
||||
version = "1.0.17";
|
||||
version = "1.0.20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mitsuhiko";
|
||||
repo = "minijinja";
|
||||
rev = version;
|
||||
hash = "sha256-NMDPOvSTBEw0469BKEAjL5T/OfVw807KESOpflNe3GI=";
|
||||
hash = "sha256-NVG9Zpt/CRumlJYsILzjJLo5nY6IZxVdjf6asrglIW0=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-50fJ7Pb4MLICv3JkeeqiXEcu5cYYU0653YYWEd8HlJU=";
|
||||
cargoHash = "sha256-fMlk48H9qz8r3gwDD5tXHc+CEgOnQo0pWzhsD9dvl0I=";
|
||||
|
||||
# The tests relies on the presence of network connection
|
||||
doCheck = false;
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildNpmPackage rec {
|
||||
pname = "mystmd";
|
||||
version = "1.1.52";
|
||||
version = "1.1.53";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "executablebooks";
|
||||
repo = "mystmd";
|
||||
rev = "mystmd@${version}";
|
||||
hash = "sha256-m3SjY5mmq+hzxVwpHgXNvE4PyLwMqPtZY5cOYlOPa6M=";
|
||||
hash = "sha256-neJKlUk0NHdAh7y92Iyv2kouASPzv1PIl79+D0mgckI=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-pFAf3ZIvJPM6AftwTtzAUBzlbwzT+jiEZm9w3xhQlMI=";
|
||||
npmDepsHash = "sha256-bXvOzx89MR7KL9wsqzB1uorjGGjh++mw17Ni65LLz28=";
|
||||
|
||||
dontNpmInstall = true;
|
||||
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
}: let
|
||||
version = "0.15.2";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "pace";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pace-rs";
|
||||
repo = "pace";
|
||||
rev = "refs/tags/pace-rs-v${version}";
|
||||
hash = "sha256-gyyf4GGHIEdiAWvzKbaOApFikoh3RLWBCZUfJ0MjbIE=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-D7jxju2R0S5wAsK7Gd8W32t/KKFaDjLHNZ2X/OEuPtk=";
|
||||
|
||||
nativeBuildInputs = [installShellFiles];
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion --cmd pace \
|
||||
--bash <($out/bin/pace setup completions bash) \
|
||||
--fish <($out/bin/pace setup completions fish) \
|
||||
--zsh <($out/bin/pace setup completions zsh)
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Command-line program for mindful time tracking";
|
||||
homepage = "https://github.com/pace-rs/pace";
|
||||
license = lib.licenses.agpl3Only;
|
||||
maintainers = with lib.maintainers; [isabelroses];
|
||||
mainProgram = "pace";
|
||||
};
|
||||
}
|
|
@ -7,11 +7,11 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "quarkus-cli";
|
||||
version = "3.9.2";
|
||||
version = "3.9.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/quarkusio/quarkus/releases/download/${finalAttrs.version}/quarkus-cli-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-olMkkvyEfMSktypmLBjJo/wL2zKOLvqms7TRucuAt78=";
|
||||
hash = "sha256-VTgBwpE5b/OgM7kkzZijmj9H4d8jy0HNMGl5tfmBe4E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
autoreconfHook,
|
||||
doxygen,
|
||||
fetchFromGitHub,
|
||||
gettext,
|
||||
gnutls,
|
||||
libabigail,
|
||||
nettle,
|
||||
pkg-config,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "radcli";
|
||||
version = "1.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "radcli";
|
||||
repo = "radcli";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-KBgimvhuHvaVh9hxPr+CtibGWyscSi0KXk8S1/STk+Q=";
|
||||
};
|
||||
|
||||
postUnpack = ''
|
||||
touch ${src.name}/config.rpath
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
doxygen
|
||||
gettext
|
||||
gnutls
|
||||
libabigail
|
||||
nettle
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple RADIUS client library";
|
||||
homepage = "https://github.com/radcli/radcli";
|
||||
changelog = "https://github.com/radcli/radcli/blob/${version}/NEWS";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
mainProgram = "radcli";
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
|
@ -32,10 +32,10 @@
|
|||
|
||||
let
|
||||
# Keep these separate so the update script can regex them
|
||||
rpcs3GitVersion = "16271-4ecf8ecd0";
|
||||
rpcs3Version = "0.0.31-16271-4ecf8ecd0";
|
||||
rpcs3Revision = "4ecf8ecd06c15f0557e1d9243f31e4c2d7baebe2";
|
||||
rpcs3Hash = "sha256-y7XLYo1qYYiNE4TXVxfUTCmyGkthpj3IU1gdKTgb8KY=";
|
||||
rpcs3GitVersion = "16334-fba1db29b";
|
||||
rpcs3Version = "0.0.31-16334-fba1db29b";
|
||||
rpcs3Revision = "fba1db29b32b5cfeb66cb6bd3c2745e190557b10";
|
||||
rpcs3Hash = "sha256-vCdZVecvFeWXYG9Hb0oT/gGdlLnTFOORTUdKGBD9onM=";
|
||||
|
||||
inherit (qt6Packages) qtbase qtmultimedia wrapQtAppsHook qtwayland;
|
||||
in
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "sarasa-gothic";
|
||||
version = "1.0.9";
|
||||
version = "1.0.10";
|
||||
|
||||
src = fetchurl {
|
||||
# Use the 'ttc' files here for a smaller closure size.
|
||||
# (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.)
|
||||
url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${finalAttrs.version}/Sarasa-TTC-${finalAttrs.version}.zip";
|
||||
hash = "sha256-g9XtMIgQtqOei38OHMynyjqkWkFzaIq+/s7cKXPe1vA=";
|
||||
hash = "sha256-P7A788hlyfb3bQsltMvGlbMn67643h6/ijEQP0yjIaU=";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
|
|
@ -1,19 +1,20 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
|
||||
, autoPatchelfHook
|
||||
, dpkg
|
||||
, makeBinaryWrapper
|
||||
, makeWrapper
|
||||
, undmg
|
||||
, wrapGAppsHook
|
||||
autoPatchelfHook,
|
||||
dpkg,
|
||||
makeBinaryWrapper,
|
||||
makeWrapper,
|
||||
undmg,
|
||||
wrapGAppsHook,
|
||||
|
||||
, libappindicator
|
||||
, libnotify
|
||||
, libsecret
|
||||
, mpv-unwrapped
|
||||
, xdg-user-dirs
|
||||
libappindicator,
|
||||
libnotify,
|
||||
libsecret,
|
||||
mpv-unwrapped,
|
||||
xdg-user-dirs,
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -28,15 +29,20 @@ let
|
|||
as an audio source, eliminating the need for Spotify Premium
|
||||
'';
|
||||
downloadPage = "https://github.com/KRTirtho/spotube/releases";
|
||||
homepage = "https://spotube.netlify.app/";
|
||||
homepage = "https://spotube.krtirtho.dev/";
|
||||
license = lib.licenses.bsdOriginal;
|
||||
mainProgram = "spotube";
|
||||
maintainers = with lib.maintainers; [ tomasajt ];
|
||||
platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
||||
platforms = [
|
||||
"x86_64-linux"
|
||||
"x86_64-darwin"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
|
||||
fetchArtifact = { filename, hash }:
|
||||
fetchArtifact =
|
||||
{ filename, hash }:
|
||||
fetchurl {
|
||||
url = "https://github.com/KRTirtho/spotube/releases/download/v${version}/${filename}";
|
||||
inherit hash;
|
||||
|
@ -52,7 +58,10 @@ let
|
|||
|
||||
sourceRoot = ".";
|
||||
|
||||
nativeBuildInputs = [ undmg makeBinaryWrapper ];
|
||||
nativeBuildInputs = [
|
||||
undmg
|
||||
makeBinaryWrapper
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, stdenv, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
let
|
||||
version = "1.62.1";
|
||||
version = "1.64.0";
|
||||
in
|
||||
buildGoModule {
|
||||
pname = "tailscale-nginx-auth";
|
||||
|
@ -11,9 +11,9 @@ buildGoModule {
|
|||
owner = "tailscale";
|
||||
repo = "tailscale";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-gV1k+8n6vuL9q4hNaMdQLf6083Em+CC7/uTdUpehbUU=";
|
||||
hash = "sha256-qBZoiqhBMBNbeytDBH+sOxxsVjOcH6vnSgIufx+Op04=";
|
||||
};
|
||||
vendorHash = "sha256-jyRjT/CQBlmjHzilxJvMuzZQlGyJB4X/yISgWjBVDxc=";
|
||||
vendorHash = "sha256-pYeHqYd2cCOVQlD1r2lh//KC+732H0lj1fPDBr+W8qA=";
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
||||
|
|
|
@ -7,6 +7,15 @@ buildGoModule rec {
|
|||
pname = "templ";
|
||||
version = "0.2.663";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "a-h";
|
||||
repo = "templ";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-TU8QG6OmUzSNDAX9W0Ntmz5cucLqVQeTskfnJbm/YM0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Upd5Wq4ajsyOMDiAWS2g2iNO1sm1XJc43AFQLIo5eDM=";
|
||||
|
||||
subPackages = [ "cmd/templ" ];
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
@ -17,20 +26,11 @@ buildGoModule rec {
|
|||
"-extldflags -static"
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "a-h";
|
||||
repo = "templ";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-TU8QG6OmUzSNDAX9W0Ntmz5cucLqVQeTskfnJbm/YM0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Upd5Wq4ajsyOMDiAWS2g2iNO1sm1XJc43AFQLIo5eDM=";
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "A language for writing HTML user interfaces in Go";
|
||||
homepage = "https://templ.guide/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ luleyleo ];
|
||||
homepage = "https://github.com/a-h/templ";
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "templ";
|
||||
maintainers = with lib.maintainers; [ luleyleo ];
|
||||
};
|
||||
}
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "tenv";
|
||||
version = "1.7.0";
|
||||
version = "1.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tofuutils";
|
||||
repo = "tenv";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-yAwjNh4Qc09VNpVZ6/e6nnPrz61K/tkSa1df+sMXBj8=";
|
||||
hash = "sha256-Iq1yv80qiQxISS0r1ShjJOXVtp/ryodgih1m3ykI8+0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-NMkR90+kJ3VsuhF45l5K68uOqenPfINZDEE0GfjULro=";
|
||||
|
|
|
@ -27,11 +27,11 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "unciv";
|
||||
version = "4.11.2";
|
||||
version = "4.11.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
|
||||
hash = "sha256-ZUDfJf+FgIX8gRoZYlYAJhpLwNWp3MCKEQOSQGQ88T8=";
|
||||
hash = "sha256-QqnM1kTXHHpf8l99J8ydIjTkl/LetijzIJgLYt6OaRA=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "VictoriaMetrics";
|
||||
version = "1.100.0";
|
||||
version = "1.100.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-jrKTic80y8r/1wOR8Prqe9PG57yo8qQIGsobu0I4kTY=";
|
||||
hash = "sha256-OheW6sCn/yXgSrtUe1zqDGaH6G8HG4QRQhFznaZGvX0=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
|
|
@ -23,7 +23,7 @@ let
|
|||
workDir = "console";
|
||||
bufArgs = "../proto --include-imports --include-wkt";
|
||||
outputPath = "src/app/proto";
|
||||
hash = "sha256-h/5K6PvEFyjzS5p7SfuDIk91TkN1iPc+iXor8T/QSeE=";
|
||||
hash = "sha256-BBXFt4f2SQphr106sQ0eEL4Z2ooAI8fxXhu2rKqhjb4=";
|
||||
};
|
||||
in
|
||||
mkYarnPackage rec {
|
||||
|
|
|
@ -22,7 +22,7 @@ let
|
|||
rev = "v${version}";
|
||||
hash = "sha256-Uv0iEIFkTdBAi0WDBQHf0ATs4L2FOU4NmiE9p1MHSa0=";
|
||||
};
|
||||
goModulesHash = "sha256-PQch046YjYhAmVlNNdgDLWIqFvEpXRgXAYFMwSZmk4w=";
|
||||
goModulesHash = "sha256-thd1bhbPVedYd+Yq1IYYUJFr66AWRTzA3DceCXFTEQo=";
|
||||
|
||||
buildZitadelProtocGen = name:
|
||||
buildGoModule {
|
||||
|
@ -92,7 +92,7 @@ let
|
|||
protoc-gen-zitadel
|
||||
];
|
||||
outputPath = ".artifacts";
|
||||
hash = "sha256-3qDVY2CvtY8lZDr+p5i0vV6zZ5KyTtxBLyV7Os9KuIw=";
|
||||
hash = "sha256-ntIKudNFBs7kHjK7cfzbOfDCA6J8uvJRUbCTa6afK/I=";
|
||||
};
|
||||
in
|
||||
buildGoModule rec {
|
||||
|
|
|
@ -18,7 +18,7 @@ lib.checkListOfEnum "sketchybar-app-font: artifacts" artifacts artifactList
|
|||
in
|
||||
{
|
||||
pname = "sketchybar-app-font";
|
||||
version = "2.0.16";
|
||||
version = "2.0.17";
|
||||
|
||||
srcs = selectedSources;
|
||||
|
||||
|
@ -52,15 +52,15 @@ lib.checkListOfEnum "sketchybar-app-font: artifacts" artifacts artifactList
|
|||
sources = {
|
||||
font = fetchurl {
|
||||
url = "https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v${finalAttrs.version}/sketchybar-app-font.ttf";
|
||||
hash = "sha256-mZ3LmkL54NNQzXuCyWVNlAIod3T5/aGKvnLZjZ/GYdw=";
|
||||
hash = "sha256-iVSWFqhzf0ZxfQODAf+uvGIiWMjWbir6ZWurlx3n6/w=";
|
||||
};
|
||||
lua = fetchurl {
|
||||
url = "https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v${finalAttrs.version}/icon_map.lua";
|
||||
hash = "sha256-8daDECZ8hsoyh4Rp3xbkYgPSamCylrzf8zzyu/iwZEc=";
|
||||
hash = "sha256-/N16zLflQ2sONBFOZiIdC8KR1rd5pZvXftiXjXJvTVA=";
|
||||
};
|
||||
shell = fetchurl {
|
||||
url = "https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v${finalAttrs.version}/icon_map.sh";
|
||||
hash = "sha256-h0rGkzy1smDL2guvvgeUVUD0q4n9LDKDLQJahbWHgWA=";
|
||||
hash = "sha256-nPBiNz+3oHwiertjMJ6YW6g6WZglGjassUGrsQVvnRM=";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -22,13 +22,13 @@ lib.checkListOfEnum "${pname}: tweaks" [ "nord" "dracula" "gruvbox" "all" "black
|
|||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
inherit pname;
|
||||
version = "2023-10-28";
|
||||
version = "2024-04-14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vinceliuice";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-NxIWH3qLW8sEguovAv9wfgnlnmPlTipRJTmMo3rSHNY=";
|
||||
hash = "sha256-DQYnR2V86KbIJfAA4ObRtKQq1IuECie1qdOBYVu8NtA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -125,6 +125,11 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
substituteInPlace plugins/language/{PageComponent,SpellChecking,ThemeValues}.qml plugins/language/onscreenkeyboard-plugin.cpp plugins/sound/PageComponent.qml \
|
||||
--replace-fail 'com.lomiri.keyboard.maliit' 'org.maliit.keyboard.maliit'
|
||||
|
||||
# Gets list of available localisations from current system, but later drops any language that doesn't cover LSS
|
||||
# So just give it its own prefix
|
||||
substituteInPlace plugins/language/language-plugin.cpp \
|
||||
--replace-fail '/usr/share/locale' '${placeholder "out"}/share/locale'
|
||||
|
||||
# Decide which entries should be visible based on the current system
|
||||
substituteInPlace plugins/*/*.settings \
|
||||
--replace-warn '/etc' '/run/current-system/sw/etc'
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
From b7757a71bbce18b4718474cab6a7ff7b613f8c86 Mon Sep 17 00:00:00 2001
|
||||
From: OPNA2608 <opna2608@protonmail.com>
|
||||
Date: Sun, 19 Nov 2023 13:25:55 +0100
|
||||
Subject: [PATCH] lomiri: Disable Wizard
|
||||
|
||||
NixOS does all of this configuration statically at generation build & setup time. For us this just ends up being series of screens
|
||||
re-confirming abunch of things set in your configuration, so pointless.
|
||||
---
|
||||
plugins/Wizard/System.cpp | 5 +----
|
||||
1 file changed, 1 insertion(+), 4 deletions(-)
|
||||
|
||||
diff --git a/plugins/Wizard/System.cpp b/plugins/Wizard/System.cpp
|
||||
index aee8184a8..06c867023 100644
|
||||
--- a/plugins/Wizard/System.cpp
|
||||
+++ b/plugins/Wizard/System.cpp
|
||||
@@ -69,10 +69,7 @@ bool System::wizardPathExists() {
|
||||
|
||||
bool System::wizardEnabled() const
|
||||
{
|
||||
- if (!wizardPathExists()) {
|
||||
- return true;
|
||||
- }
|
||||
- return isUpdate();
|
||||
+ return false;
|
||||
}
|
||||
|
||||
QString System::readCurrentFramework()
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -0,0 +1,289 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
, fetchpatch
|
||||
, fetchpatch2
|
||||
, gitUpdater
|
||||
, linkFarm
|
||||
, nixosTests
|
||||
, ayatana-indicator-datetime
|
||||
, bash
|
||||
, biometryd
|
||||
, boost
|
||||
, cmake
|
||||
, cmake-extras
|
||||
, coreutils
|
||||
, dbus
|
||||
, dbus-test-runner
|
||||
, deviceinfo
|
||||
, geonames
|
||||
, glib
|
||||
, glm
|
||||
, gnome-desktop
|
||||
, gsettings-qt
|
||||
, gtk3
|
||||
, hfd-service
|
||||
, libevdev
|
||||
, libqtdbustest
|
||||
, libqtdbusmock
|
||||
, libusermetrics
|
||||
, libuuid
|
||||
, lightdm_qt
|
||||
, lomiri-api
|
||||
, lomiri-app-launch
|
||||
, lomiri-download-manager
|
||||
, lomiri-indicator-network
|
||||
, lomiri-ui-toolkit
|
||||
, lomiri-settings-components
|
||||
, lomiri-system-settings-unwrapped
|
||||
, lomiri-schemas
|
||||
, lomiri-notifications
|
||||
, lomiri-thumbnailer
|
||||
, maliit-keyboard
|
||||
, mir
|
||||
, nixos-icons
|
||||
, pam
|
||||
, pkg-config
|
||||
, properties-cpp
|
||||
, protobuf
|
||||
, python3
|
||||
, qmenumodel
|
||||
, qtbase
|
||||
, qtdeclarative
|
||||
, qtmir
|
||||
, qtmultimedia
|
||||
, qtsvg
|
||||
, telephony-service
|
||||
, wrapGAppsHook
|
||||
, wrapQtAppsHook
|
||||
, xwayland
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lomiri";
|
||||
version = "0.2.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/core/lomiri";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-V5Lt870eHgmJ63OF8bTiNFLAFrxdgNihkd7aodSO3v8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove when version > 0.2.1
|
||||
(fetchpatch {
|
||||
name = "0001-lomiri-Fix-overwriting-INCLUDE_DIRECTORIES-variable.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri/-/commit/53190bf2f03c8a35491efb26222b8d67ff6caa34.patch";
|
||||
hash = "sha256-sbwqOqpTf5OlEB4NZZZTFNXyKq4rTQAxJ6U8YP/DT5s=";
|
||||
})
|
||||
|
||||
# fetchpatch2 for renames
|
||||
# Use GNUInstallDirs variables better, replace more /usr references
|
||||
# Remove when https://gitlab.com/ubports/development/core/lomiri/-/merge_requests/137 merged & in release
|
||||
(fetchpatch2 {
|
||||
name = "0002-lomiri-Make-less-FHS-assumptions.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri/-/commit/817ae1d8ed927e661fbc006851163ba99c46ae13.patch";
|
||||
hash = "sha256-NLvpzI2MtjKcGrgTn6PbLXSy3/Jg8KxdSvVYO9KYu9g=";
|
||||
})
|
||||
|
||||
# Fix greeter & related settings
|
||||
# These patches are seemingly not submitted upstream yet
|
||||
(fetchpatch {
|
||||
name = "1000-lomiri-QT_IM_MODULE-maliit.patch";
|
||||
url = "https://salsa.debian.org/ubports-team/lomiri/-/raw/ebbe0f3f568bd145bb58a2e47f7112442328a0a5/debian/patches/2003_maliit-not-maliitphablet-as-im-module-namespace.patch";
|
||||
hash = "sha256-5HEMl0x1S9Hb7spxPRgu8OBebmpaLa6zko2uVEYtBmY=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "1001-lomiri-QT_QPA_PLATFORM-wayland.patch";
|
||||
url = "https://salsa.debian.org/ubports-team/lomiri/-/raw/ebbe0f3f568bd145bb58a2e47f7112442328a0a5/debian/patches/2004_qt-qpa-platform-is-wayland.patch";
|
||||
hash = "sha256-4C6X2TW+yjZhqYPIcQ3GJeTKbz785i7p/DpT+vX1DSQ=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "1002-lomiri-Fix-Lomiri-greeter.patch";
|
||||
url = "https://salsa.debian.org/ubports-team/lomiri/-/raw/ebbe0f3f568bd145bb58a2e47f7112442328a0a5/debian/patches/1008_lomiri-greeter-wayland.patch";
|
||||
excludes = [ "data/lomiri-greeter.desktop.in.in" ]; # conflict with GNUInstallDirs patch
|
||||
hash = "sha256-XSSxf06Su8PMoqYwqevN034b/li8G/cNXjrqOXyhTRg=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "1003-lomiri-Hide-launcher-in-greeter-mode.patch";
|
||||
url = "https://salsa.debian.org/ubports-team/lomiri/-/raw/ebbe0f3f568bd145bb58a2e47f7112442328a0a5/debian/patches/0002_qml-shell-hide-and-disallow-launcher-in-greeter-only-mode.patch";
|
||||
hash = "sha256-R0aMlb7N7XACCthML4SQSd0LvbadADfdQJqrYFhmujk=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "1004-lomiri-Dont-reset-OSK-setting.patch";
|
||||
url = "https://salsa.debian.org/ubports-team/lomiri/-/raw/ebbe0f3f568bd145bb58a2e47f7112442328a0a5/debian/patches/2005_dont-reset-alwaysShowOsk-to-system-defaults-on-login.patch";
|
||||
hash = "sha256-guq/Ykcq4WcuXxNKO1eA4sJFyGSpZo0gtyFTdeK/GeE=";
|
||||
})
|
||||
|
||||
./9901-lomiri-Disable-Wizard.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Part of greeter fix, applies separately due to merge conflicts
|
||||
substituteInPlace data/lomiri-greeter.desktop.in.in \
|
||||
--replace-fail '@CMAKE_INSTALL_FULL_BINDIR@/lomiri-greeter-wrapper @CMAKE_INSTALL_FULL_BINDIR@/lomiri --mode=greeter' '@CMAKE_INSTALL_FULL_BINDIR@/lomiri --mode=greeter' \
|
||||
--replace-fail 'X-LightDM-Session-Type=mir' 'X-LightDM-Session-Type=wayland'
|
||||
|
||||
# Need to replace prefix
|
||||
substituteInPlace data/systemd-user/CMakeLists.txt \
|
||||
--replace-fail 'pkg_get_variable(SYSTEMD_USERUNITDIR systemd systemduserunitdir)' 'pkg_get_variable(SYSTEMD_USERUNITDIR systemd systemduserunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})'
|
||||
|
||||
# Don't embed full paths into regular desktop files (but do embed them into lightdm greeter one)
|
||||
substituteInPlace data/{indicators-client,lomiri}.desktop.in.in \
|
||||
--replace-fail '@CMAKE_INSTALL_FULL_BINDIR@/' ""
|
||||
|
||||
# Exclude tests that don't compile (Mir headers these relied on were removed in mir 2.9)
|
||||
# fatal error: mirtest/mir/test/doubles/stub_surface.h: No such file or directory
|
||||
substituteInPlace tests/mocks/CMakeLists.txt \
|
||||
--replace-fail 'add_subdirectory(QtMir/Application)' ""
|
||||
|
||||
#substituteInPlace plugins/AccountsService/CMakeLists.txt \
|
||||
# --replace-fail 'CMAKE_INSTALL_DATADIR' 'CMAKE_INSTALL_FULL_DATADIR'
|
||||
|
||||
# NixOS-ify
|
||||
|
||||
# Use Nix flake instead of Canonical's Ubuntu logo
|
||||
rm qml/Launcher/graphics/home.svg
|
||||
ln -s ${nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg qml/Launcher/graphics/home.svg
|
||||
|
||||
# Look up default wallpaper in current system
|
||||
substituteInPlace plugins/Utils/constants.cpp \
|
||||
--replace-fail '/usr/share/backgrounds' '/run/current-system/sw/share/wallpapers'
|
||||
'' + lib.optionalString finalAttrs.finalPackage.doCheck ''
|
||||
patchShebangs tests/whitespace/check_whitespace.py
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
glib # populates GSETTINGS_SCHEMAS_PATH
|
||||
pkg-config
|
||||
wrapGAppsHook # XDG_DATA_DIRS wrapper flags for schemas
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
ayatana-indicator-datetime
|
||||
bash
|
||||
boost
|
||||
cmake-extras
|
||||
dbus
|
||||
dbus-test-runner
|
||||
deviceinfo
|
||||
geonames
|
||||
glib
|
||||
glm
|
||||
gnome-desktop
|
||||
gsettings-qt
|
||||
gtk3
|
||||
libevdev
|
||||
libusermetrics
|
||||
libuuid
|
||||
lightdm_qt
|
||||
lomiri-api
|
||||
lomiri-app-launch
|
||||
lomiri-download-manager
|
||||
lomiri-indicator-network
|
||||
lomiri-schemas
|
||||
lomiri-system-settings-unwrapped
|
||||
lomiri-ui-toolkit
|
||||
maliit-keyboard
|
||||
mir
|
||||
pam
|
||||
properties-cpp
|
||||
protobuf
|
||||
qmenumodel
|
||||
qtbase
|
||||
qtdeclarative
|
||||
qtmir
|
||||
qtsvg
|
||||
|
||||
# QML import path
|
||||
biometryd
|
||||
hfd-service
|
||||
lomiri-notifications
|
||||
lomiri-settings-components
|
||||
lomiri-thumbnailer
|
||||
qtmultimedia
|
||||
telephony-service
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
(python3.withPackages (ps: with ps; [
|
||||
python-dbusmock
|
||||
]))
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
libqtdbustest
|
||||
libqtdbusmock
|
||||
];
|
||||
|
||||
# Need its flags
|
||||
dontWrapGApps = true;
|
||||
|
||||
# Manually calling, to avoid double & unnecessary wrapping
|
||||
dontWrapQtApps = true;
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "NO_TESTS" (!finalAttrs.finalPackage.doCheck))
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
install -Dm755 ../data/lomiri-greeter-wrapper $out/bin/lomiri-greeter-wrapper
|
||||
'';
|
||||
|
||||
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
|
||||
|
||||
preCheck = ''
|
||||
export QT_PLUGIN_PATH=${lib.getBin qtbase}/${qtbase.qtPluginPrefix}
|
||||
export XDG_DATA_DIRS=${libqtdbusmock}/share
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
wrapQtApp $out/bin/lomiri
|
||||
wrapQtApp $out/bin/indicators-client
|
||||
wrapQtApp $out/bin/lomiri-mock-indicator-service
|
||||
|
||||
wrapProgram $out/bin/lomiri-greeter-wrapper \
|
||||
--prefix PATH : ${lib.makeBinPath [ coreutils dbus deviceinfo glib ]} \
|
||||
--set LOMIRI_BINARY "$out/bin/lomiri"
|
||||
|
||||
wrapProgram $out/libexec/Xwayland.lomiri \
|
||||
--prefix PATH : ${lib.makeBinPath [ deviceinfo ]}
|
||||
|
||||
wrapProgram $out/libexec/lomiri-systemd-wrapper \
|
||||
--prefix PATH : ${lib.makeBinPath [ dbus ]}
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests.lomiri = nixosTests.lomiri;
|
||||
updateScript = gitUpdater { };
|
||||
greeter = linkFarm "lomiri-greeter" [{
|
||||
path = "${finalAttrs.finalPackage}/share/lightdm/greeters/lomiri-greeter.desktop";
|
||||
name = "lomiri-greeter.desktop";
|
||||
}];
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Shell of the Lomiri Operating environment";
|
||||
longDescription = ''
|
||||
Shell of the Lomiri Operating environment optimized for touch based human-machine interaction, but also supporting
|
||||
convergence (i.e. switching between tablet/phone and desktop mode).
|
||||
|
||||
Lomiri is the user shell driving Ubuntu Touch based mobile devices.
|
||||
'';
|
||||
homepage = "https://lomiri.com/";
|
||||
changelog = "https://gitlab.com/ubports/development/core/lomiri/-/blob/${finalAttrs.version}/ChangeLog";
|
||||
license = licenses.gpl3Only;
|
||||
mainProgram = "lomiri";
|
||||
maintainers = teams.lomiri.members;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
})
|
|
@ -56,9 +56,12 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
substituteInPlace src/{Morph,Ubuntu}/CMakeLists.txt \
|
||||
--replace '/usr/lib/''${CMAKE_LIBRARY_ARCHITECTURE}/qt5/qml' "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"
|
||||
|
||||
# Don't use absolute paths in desktop file
|
||||
# We normally don't want to use absolute paths in desktop file, but this one is special
|
||||
# There appears to be some issue in lomiri-app-launch's lookup of relative Icon entries (while lomiri is starting up?)
|
||||
# that makes the session segfault.
|
||||
# As a compromise, hardcode /run/current-system
|
||||
substituteInPlace src/app/webbrowser/morph-browser.desktop.in.in \
|
||||
--replace 'Icon=@CMAKE_INSTALL_FULL_DATADIR@/morph-browser/morph-browser.svg' 'Icon=morph-browser' \
|
||||
--replace 'Icon=@CMAKE_INSTALL_FULL_DATADIR@/morph-browser/morph-browser.svg' 'Icon=/run/current-system/sw/share/icons/hicolor/scalable/apps/morph-browser.svg' \
|
||||
--replace 'X-Lomiri-Splash-Image=@CMAKE_INSTALL_FULL_DATADIR@/morph-browser/morph-browser-splash.svg' 'X-Lomiri-Splash-Image=lomiri-app-launch/splash/morph-browser.svg'
|
||||
'' + lib.optionalString (!finalAttrs.doCheck) ''
|
||||
substituteInPlace CMakeLists.txt \
|
||||
|
@ -124,7 +127,13 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
|
||||
passthru = {
|
||||
updateScript = gitUpdater { };
|
||||
tests.standalone = nixosTests.morph-browser;
|
||||
tests = {
|
||||
# Test of morph-browser itself
|
||||
standalone = nixosTests.morph-browser;
|
||||
|
||||
# Lomiri-specific issues with the desktop file may break the entire session, make sure it still works
|
||||
lomiri = nixosTests.lomiri;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -0,0 +1,198 @@
|
|||
{ stdenvNoCC
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
, fetchpatch
|
||||
, fetchpatch2
|
||||
, gitUpdater
|
||||
, nixosTests
|
||||
, bash
|
||||
, cmake
|
||||
, dbus
|
||||
, deviceinfo
|
||||
, inotify-tools
|
||||
, lomiri
|
||||
, makeWrapper
|
||||
, pkg-config
|
||||
, runtimeShell
|
||||
, systemd
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "lomiri-session";
|
||||
version = "0.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/core/lomiri-session";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-1ZpAn1tFtlXIfeejG0TnrJBRjf3tyz7CD+riWo+sd0s=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Properly gate of UBtouch-specific code
|
||||
# Otherwise session won't launch, errors out on a removed Mir setting
|
||||
# Remove when version > 0.2
|
||||
(fetchpatch {
|
||||
name = "0001-lomiri-session-Properly-differentiate-between-Ubuntu-Touch-and-Lomiri-Desktop-session.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/780c19d8b4f18ce24ceb64b8abfae70018579dce.patch";
|
||||
hash = "sha256-eFiagFEpH43WpVGA6xkI1IiQ99HHizonhXYg1wYAhwU=";
|
||||
})
|
||||
|
||||
# Export Lomiri-prefixed stop envvar
|
||||
# Remove when version > 0.2
|
||||
(fetchpatch {
|
||||
name = "0002-lomiri-session-Use-LOMIRI_MIR_EMITS_SIGSTOP.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/452e38b489b5893aac3481410d708f4397b1fa1c.patch";
|
||||
hash = "sha256-w/kifBLfDm8+CBliVjm4o8JtjaOByHf97XyPhVk6Gho=";
|
||||
})
|
||||
|
||||
# Removes broken first-time wizard check
|
||||
# Remove when version > 0.2
|
||||
(fetchpatch {
|
||||
name = "0003-lomiri-session-Drop-old-wizard-has-run-check.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/c16ae87d8848f9909850072f7728c03c894b1a47.patch";
|
||||
hash = "sha256-AIwgztFOGwG2zUsaUen/Z3Mes9m7VgbvNKWp/qYp4g4=";
|
||||
})
|
||||
|
||||
# Fix quoting on ps check
|
||||
# Remove when version > 0.2
|
||||
(fetchpatch {
|
||||
name = "0004-lomiri-session-Put-evaluation-of-ps-call-in-quotes.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/2d7368eae99f07200c814c840636206b9eaa485d.patch";
|
||||
hash = "sha256-6LqurJqi/I+Qw64hWTrvA8uA/EIRZbcS6TRRXK+9s1s=";
|
||||
})
|
||||
|
||||
# Check for Xwayland presense to determine X11 support
|
||||
# Remove when version > 0.2
|
||||
(fetchpatch {
|
||||
name = "0005-lomiri-session-Check-for-Xwayland-presence.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/707e43d3b1a6200535b7682e63817265a8e4ee7e.patch";
|
||||
hash = "sha256-sI00P31QVF7ZKdwNep2r+0MetNGg/bbrd2YfEzZPLFI=";
|
||||
})
|
||||
|
||||
# Fix systemd service startup things, drop upstart hacks
|
||||
# Remove when https://gitlab.com/ubports/development/core/lomiri-session/-/merge_requests/13 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0100-lomiri-session-Drop-Before-Wants-for-App-Indicator-targets.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/ccebdc1c47d7411a9cf4ad2e529471fb0403433a.patch";
|
||||
hash = "sha256-vGFvcCjbwcuLrAUIsL5y/QmoOR5i0560LNv01ZT9OOg=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0101-lomiri-session-Start-lal-application-end.target-on-stop-restart.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/9a945b09feff0c1d2b3203caaf3cec5230481e80.patch";
|
||||
hash = "sha256-1vD+I5YDEh2wF7UDn6ZxPTBRrdUvwWVXt5x5QdkIAkY=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0102-lomiri-session-Drop-manual-Xwayland-start-logic.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/6aee0d6cfd76ab1904876f4166621f9f6d833056.patch";
|
||||
hash = "sha256-iW/Ko+Xm2ZuJuNE7ATeuMTSHby0fXD+D5nWjX6LLLwU=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0103-lomiri-session-Set-SyslogIdentifier.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/09d378728685411a04333040279cdaef487dedc8.patch";
|
||||
hash = "sha256-minJSxrn2d0+FBlf7bdN3ddSvsn6YWdeH6ZuCW7qbII=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0104-lomiri-session-Use-LOMIRI_AS_SYSTEMD_UNIT-to-launch-session.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/9bd2552c2638c139a0abff527fda99f2ef94cc42.patch";
|
||||
hash = "sha256-7ipsGrQRJ98uVSRp2e0U4q3iTuyeUalqZIohbxXpT9k=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0105-lomiri-session-Allow-sd_notify-calls-for-NOTIFY_SOCKET.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/2157bfc472f2d35e7c81002a924a1f6aa85f7395.patch";
|
||||
hash = "sha256-qtArOG4gysFWGnXbz3KpXEppaZ1PGDQKEGqnJvU6/RE=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0106-lomiri-session-Change-envvar-for-1-time-binary.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/0cd1dbd30f3d5c6e50bce79146e8511e0ee56153.patch";
|
||||
hash = "sha256-b8/Mrs36JPJE6l6/Dc/PN+zNV8Oq37HOFx+zMQvWPBY=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0107-lomiri-session-Drag-lomiri-process-under-umbrella-of-wrapper-script.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/d8212b1862924eb283fd1ee7ea390a144d5ee97e.patch";
|
||||
hash = "sha256-UJzV0pYEBBrXSpYxdFoBoMRzPeIQtvtPzDW2/Ljz+uI=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0108-lomiri-session-Dont-hide-exit-code-from-systemd.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/9ac78d736caa891a4923be8d040fe8224e335215.patch";
|
||||
hash = "sha256-yPg1K0IfaGYKqg9536i9AFCLTcAENlsJNdHjrElSeZ4=";
|
||||
})
|
||||
|
||||
# Don't require a C & C++ compiler, nothing to compile
|
||||
# Remove when https://gitlab.com/ubports/development/core/lomiri-session/-/merge_requests/14 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0200-lomiri-session-Dont-require-a-compiler.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/6915a5678e09e5dbcb26d29a8e5585d032a19186.patch";
|
||||
hash = "sha256-2SWiOLDLsdTjRHaJcnZe/WKcFMFmHtpZsuj7bQCtB4A=";
|
||||
})
|
||||
|
||||
# Use GNUInstallDirs for install locations, find_program() for locations of used binaries
|
||||
# fetchpatch2 due to renames, need to resolve merge conflict manually in postPatch
|
||||
# Remove when https://gitlab.com/ubports/development/core/lomiri-session/-/merge_requests/15 merged & in release
|
||||
(fetchpatch2 {
|
||||
name = "0201-lomiri-session-Hardcode-less-locations.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/d5b93ecaf08ba776a79c69e8a9dd05d0b6181947.patch";
|
||||
excludes = [ "systemd/lomiri.service" ];
|
||||
hash = "sha256-BICb6ZwU/sUBzmM4udsOndIgw1A03I/UEG000YvMZ9Y=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Resolving merge conflict
|
||||
mv systemd/lomiri.service{,.in}
|
||||
substituteInPlace systemd/lomiri.service.in \
|
||||
--replace-fail '/usr/bin/lomiri-session' '@CMAKE_INSTALL_FULL_BINDIR@/lomiri-session' \
|
||||
--replace-fail '/usr/bin/dbus-update-activation-environment' '@DUAE_BIN@'
|
||||
|
||||
substituteInPlace lomiri-session \
|
||||
--replace-fail '/usr/libexec/Xwayland.lomiri' '${lib.getBin lomiri}/libexec/Xwayland.lomiri'
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
makeWrapper
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
bash
|
||||
deviceinfo
|
||||
dbus
|
||||
inotify-tools
|
||||
lomiri
|
||||
systemd
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
# Requires lomiri-system-compositor -> not ported to Mir 2.x yet
|
||||
(lib.cmakeBool "ENABLE_TOUCH_SESSION" false)
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
patchShebangs $out/bin/lomiri-session
|
||||
wrapProgram $out/bin/lomiri-session \
|
||||
--prefix PATH : ${lib.makeBinPath [ deviceinfo inotify-tools lomiri ]}
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
providedSessions = [
|
||||
"lomiri"
|
||||
# not packaged/working yet
|
||||
# "lomiri-touch"
|
||||
];
|
||||
tests.lomiri = nixosTests.lomiri;
|
||||
updateScript = gitUpdater { };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Integrates Lomiri desktop/touch sessions into display / session managers";
|
||||
homepage = "https://gitlab.com/ubports/development/core/lomiri-session";
|
||||
changelog = "https://gitlab.com/ubports/development/core/lomiri-session/-/blob/${finalAttrs.version}/ChangeLog";
|
||||
license = licenses.gpl3Only;
|
||||
mainProgram = "lomiri-session";
|
||||
maintainers = teams.lomiri.members;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
})
|
|
@ -8,6 +8,7 @@ let
|
|||
inherit (self) callPackage;
|
||||
in {
|
||||
#### Core Apps
|
||||
lomiri = callPackage ./applications/lomiri { };
|
||||
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 { };
|
||||
|
@ -16,6 +17,7 @@ let
|
|||
|
||||
#### Data
|
||||
lomiri-schemas = callPackage ./data/lomiri-schemas { };
|
||||
lomiri-session = callPackage ./data/lomiri-session { };
|
||||
lomiri-sounds = callPackage ./data/lomiri-sounds { };
|
||||
lomiri-wallpapers = callPackage ./data/lomiri-wallpapers { };
|
||||
suru-icon-theme = callPackage ./data/suru-icon-theme { };
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
From cf8ba54d22f5ac839004c0d984fb402bde82b527 Mon Sep 17 00:00:00 2001
|
||||
From: OPNA2608 <opna2608@protonmail.com>
|
||||
Date: Mon, 8 Apr 2024 15:22:55 +0200
|
||||
Subject: [PATCH] Launch module-created systemd service
|
||||
|
||||
---
|
||||
data/com.lomiri.UserMetrics.service.in | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/data/com.lomiri.UserMetrics.service.in b/data/com.lomiri.UserMetrics.service.in
|
||||
index c2e6ae1..212e24f 100644
|
||||
--- a/data/com.lomiri.UserMetrics.service.in
|
||||
+++ b/data/com.lomiri.UserMetrics.service.in
|
||||
@@ -3,3 +3,4 @@ Name=com.lomiri.UserMetrics
|
||||
Exec=@CMAKE_INSTALL_FULL_LIBEXECDIR@/libusermetrics/usermetricsservice
|
||||
User=usermetrics
|
||||
StandardOutput=syslog
|
||||
+SystemdService=dbus-com.lomiri.UserMetrics.service
|
||||
--
|
||||
2.42.0
|
||||
|
|
@ -43,6 +43,10 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
patches = [
|
||||
# Not submitted yet, waiting for decision on how CMake testing should be handled
|
||||
./2001-Remove-custom-check-target.patch
|
||||
|
||||
# Due to https://gitlab.com/ubports/development/core/libusermetrics/-/issues/8, we require knowledge about AppArmor availability at launch time
|
||||
# Custom patch to launch a module-defined service that can handle this
|
||||
./2002-Launch-module-created-systemd-service.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
@ -91,6 +95,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
cmakeFlags = [
|
||||
(lib.cmakeBool "GSETTINGS_LOCALINSTALL" true)
|
||||
(lib.cmakeBool "GSETTINGS_COMPILE" true)
|
||||
(lib.cmakeBool "ENABLE_CLICK" true)
|
||||
(lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck)
|
||||
(lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" (lib.concatStringsSep ";" [
|
||||
# Exclude tests
|
||||
|
|
|
@ -161,6 +161,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
moveToOutput share/applications/$exampleExe.desktop $examples
|
||||
done
|
||||
moveToOutput share/icons $examples
|
||||
moveToOutput share/content-hub/peers $examples
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
|
|
|
@ -176,6 +176,10 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
sed -i $out/lib/systemd/user/"$service".service \
|
||||
-e '/ofono-setup.service/d'
|
||||
done
|
||||
|
||||
# Parses the call & SMS indicator desktop files & tries to find its own executable in PATH
|
||||
wrapProgram $out/bin/telephony-service-indicator \
|
||||
--prefix PATH : "$out/bin"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -1 +1 @@
|
|||
WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.10/ -A '*.tar.xz' )
|
||||
WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.11/ -A '*.tar.xz' )
|
||||
|
|
|
@ -1,486 +1,486 @@
|
|||
# DO NOT EDIT! This file is generated automatically.
|
||||
# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/desktops/plasma-5
|
||||
# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/desktops/plasma-5/
|
||||
{ fetchurl, mirror }:
|
||||
|
||||
{
|
||||
aura-browser = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/aura-browser-5.27.10.tar.xz";
|
||||
sha256 = "0rc5vsk3hy4i3fqzrj7kkshijkkrfin3km7n9agv9xs6bjrrca2k";
|
||||
name = "aura-browser-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/aura-browser-5.27.11.tar.xz";
|
||||
sha256 = "098s0r3lr5svdysc93nvv8xqj3dlslly733hf8pz1nlp621dhx7k";
|
||||
name = "aura-browser-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
bluedevil = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/bluedevil-5.27.10.tar.xz";
|
||||
sha256 = "1051gx6xv514qa7g102mv51927b7408mv2jrfpryji8r5s6da7vp";
|
||||
name = "bluedevil-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/bluedevil-5.27.11.tar.xz";
|
||||
sha256 = "1134pm16db70h79q55c9ir1d1amqscdd8bvkf92nmmk6s2zsimdl";
|
||||
name = "bluedevil-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
breeze = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/breeze-5.27.10.tar.xz";
|
||||
sha256 = "18h08w3ylgvhgcs63ai8airh59yb4kc0bz2zi6lm77fsa83rdg5y";
|
||||
name = "breeze-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/breeze-5.27.11.tar.xz";
|
||||
sha256 = "1ascvlkycbn4h0bi2cdjljnpi3cfp7whvzslm4fb2gdwwlpnlx8l";
|
||||
name = "breeze-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
breeze-grub = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/breeze-grub-5.27.10.tar.xz";
|
||||
sha256 = "072zqs723phm27cn359lpaw29zqbx23w4gi4shk00x1n0j5s0spz";
|
||||
name = "breeze-grub-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/breeze-grub-5.27.11.tar.xz";
|
||||
sha256 = "03l6lpqj1fp2645qy23fcngfzwzhdgyj3xw563gx3gcgqwrc84h6";
|
||||
name = "breeze-grub-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
breeze-gtk = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/breeze-gtk-5.27.10.tar.xz";
|
||||
sha256 = "1dk9f2l4jqdhzr5xd7ym107zayygjdmibl3jkhnbnq97rs6gk8qx";
|
||||
name = "breeze-gtk-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/breeze-gtk-5.27.11.tar.xz";
|
||||
sha256 = "1vkzyv65m37jg436brscgn61dd6mil50s8jyn2szwka0hyzx7gfw";
|
||||
name = "breeze-gtk-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
breeze-plymouth = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/breeze-plymouth-5.27.10.tar.xz";
|
||||
sha256 = "1xabkvnpxh2qw1x5w1fkrcg31h8j0baq4ls6ckw6647gikvnf7h8";
|
||||
name = "breeze-plymouth-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/breeze-plymouth-5.27.11.tar.xz";
|
||||
sha256 = "16vp6a2bp6s57wb9cb4dhac650m93829xp7q44n172564lz0pn8d";
|
||||
name = "breeze-plymouth-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
discover = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/discover-5.27.10.tar.xz";
|
||||
sha256 = "1a4z21qrc6wjwcv0hnw8wnkk8w0bli12hfm8bdd07b2rlzi8k48z";
|
||||
name = "discover-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/discover-5.27.11.tar.xz";
|
||||
sha256 = "0b79x5xfggymxmh0fr45ndc3k3xd2gjryhmy8xd370bd5d964arl";
|
||||
name = "discover-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
drkonqi = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/drkonqi-5.27.10.tar.xz";
|
||||
sha256 = "1l3zcmjjndqq6y25v74kmzddkkqr8j4030z7rz5333hxraa4gsm3";
|
||||
name = "drkonqi-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/drkonqi-5.27.11.tar.xz";
|
||||
sha256 = "0g2q959wswjwpn2vj4mmfy3xr6yj4mch55lr8b2xyd0bxw4vb810";
|
||||
name = "drkonqi-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
flatpak-kcm = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/flatpak-kcm-5.27.10.tar.xz";
|
||||
sha256 = "0masi1nciqzrymcq5i4b2jmhxliqf88z9g11607aqfgsli070lms";
|
||||
name = "flatpak-kcm-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/flatpak-kcm-5.27.11.tar.xz";
|
||||
sha256 = "0jnzxk9fhpck19k48fw2mcvr5512xnw3jss9c7xp5h27jhml8b4p";
|
||||
name = "flatpak-kcm-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
kactivitymanagerd = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/kactivitymanagerd-5.27.10.tar.xz";
|
||||
sha256 = "1nax1vbl5cxqf8rxmmqfnjnrh36ic16yrbdmcqzgp1s9dkxn5qlf";
|
||||
name = "kactivitymanagerd-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/kactivitymanagerd-5.27.11.tar.xz";
|
||||
sha256 = "1mawqh3vkbibyjijh5797fzj5ldadzvbmkck23v6s34516rpgfxj";
|
||||
name = "kactivitymanagerd-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
kde-cli-tools = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/kde-cli-tools-5.27.10.tar.xz";
|
||||
sha256 = "0gsdl33bnxfg2zf8dgbg3wk40g0j4qjjzk9mz6a43qghkj4nvakv";
|
||||
name = "kde-cli-tools-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/kde-cli-tools-5.27.11.tar.xz";
|
||||
sha256 = "0mc2n91124cxgfhdz6l0x87665q2jamiq14qlzapynjflvzgh9ca";
|
||||
name = "kde-cli-tools-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
kde-gtk-config = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/kde-gtk-config-5.27.10.tar.xz";
|
||||
sha256 = "0swfyvq687ankny7qj7imj691c0mmgifwircxw4w7d9qn5832fvg";
|
||||
name = "kde-gtk-config-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/kde-gtk-config-5.27.11.tar.xz";
|
||||
sha256 = "02hdy55vp6yvx8p877jdr5l5hs46k1rxrwj90m93m2vv0ysib2d4";
|
||||
name = "kde-gtk-config-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
kdecoration = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/kdecoration-5.27.10.tar.xz";
|
||||
sha256 = "1plxczgqj8g99jh1c8jiy5ji086xs4gv12halmfval4b4nw6r5k4";
|
||||
name = "kdecoration-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/kdecoration-5.27.11.tar.xz";
|
||||
sha256 = "0f7qy5y0352ib6lqq8fv22y3f5zvfbzm9ydn8li3m4lk3531gi3i";
|
||||
name = "kdecoration-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
kdeplasma-addons = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/kdeplasma-addons-5.27.10.tar.xz";
|
||||
sha256 = "139y1zsw720j19bzx9m6xlf46n7i7sz12bcdkzs5b8wav0yyyr4y";
|
||||
name = "kdeplasma-addons-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/kdeplasma-addons-5.27.11.tar.xz";
|
||||
sha256 = "016dsfg54gyjk4l0qr8s7rdmyhrvf7b2n9nfkx65cb5ja2x6h875";
|
||||
name = "kdeplasma-addons-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
kgamma = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/kgamma-5.27.10.tar.xz";
|
||||
sha256 = "0w7m9via36qk8s92mflh27ngjl1a0zj9im1f93jgrr2wldibp0fx";
|
||||
name = "kgamma-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/kgamma-5.27.11.tar.xz";
|
||||
sha256 = "0y6n2dp0d7snj72vhm63612a5649qscfv7zcgvdmz3mb8h1xhm5n";
|
||||
name = "kgamma-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
kgamma5 = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/kgamma5-5.27.10.tar.xz";
|
||||
sha256 = "0w7m9via36qk8s92mflh27ngjl1a0zj9im1f93jgrr2wldibp0fx";
|
||||
name = "kgamma5-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/kgamma5-5.27.11.tar.xz";
|
||||
sha256 = "0y6n2dp0d7snj72vhm63612a5649qscfv7zcgvdmz3mb8h1xhm5n";
|
||||
name = "kgamma5-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
khotkeys = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/khotkeys-5.27.10.tar.xz";
|
||||
sha256 = "1rznv44ixb8l5flcc4rqnj1cfldna0ikbmg50lqznsvsnbkm2p34";
|
||||
name = "khotkeys-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/khotkeys-5.27.11.tar.xz";
|
||||
sha256 = "0na4h225yrjfivyw3d1c3p2db1djymyz3wahjgmlz1s6wml7qjcb";
|
||||
name = "khotkeys-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
kinfocenter = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/kinfocenter-5.27.10.tar.xz";
|
||||
sha256 = "04fa5bdw84k9ikv7chl1nrh857sb1gzq43f7rc7vb1q7hhs2lp6f";
|
||||
name = "kinfocenter-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/kinfocenter-5.27.11.tar.xz";
|
||||
sha256 = "01qdyklvr1ff83zlpgysa7qlkzv9m6ff1hjjnxcp007k5cal79r9";
|
||||
name = "kinfocenter-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
kmenuedit = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/kmenuedit-5.27.10.tar.xz";
|
||||
sha256 = "1mr09zx37wky8cnf3r2mcvnl8nmhdi9rwdawsz946l66jrz0n28w";
|
||||
name = "kmenuedit-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/kmenuedit-5.27.11.tar.xz";
|
||||
sha256 = "0mrvqif3k7lsvwn7slmm7b4k27v2km04r7v5jr9dsl865h3dwkch";
|
||||
name = "kmenuedit-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
kpipewire = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/kpipewire-5.27.10.tar.xz";
|
||||
sha256 = "1vn3g3rmgwyhrzg9hv7y9249v1gzwid7q43r3ndhdvz2k8baag62";
|
||||
name = "kpipewire-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/kpipewire-5.27.11.tar.xz";
|
||||
sha256 = "1h2czy5qz026gqid2klfnqim4j1p5r526vrp44jxrf1fjhj0z6mc";
|
||||
name = "kpipewire-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
kscreen = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/kscreen-5.27.10.tar.xz";
|
||||
sha256 = "0g0wk17fs0rg7myfv6wf4asw0ahlwk245zwhj0i7lqg8nk6vz1w9";
|
||||
name = "kscreen-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/kscreen-5.27.11.tar.xz";
|
||||
sha256 = "0ly7rd519glhv25a4dsxnnxjizqj6j62gf2kfrbcimg7yj77lzvy";
|
||||
name = "kscreen-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
kscreenlocker = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/kscreenlocker-5.27.10.tar.xz";
|
||||
sha256 = "129xrdlg86qlcp2ssk46xq1h2v00z4cqha2wc5fr3d65gyw80kfp";
|
||||
name = "kscreenlocker-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/kscreenlocker-5.27.11.tar.xz";
|
||||
sha256 = "1pynfzms3iihfpzhlma7769zaaslk9jnfpgmhx6kah227gmcxf1k";
|
||||
name = "kscreenlocker-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
ksshaskpass = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/ksshaskpass-5.27.10.tar.xz";
|
||||
sha256 = "0sp275r8jqlh1as47r0df3lli17lnw6m2h5j9k85hglwrgfyg3fk";
|
||||
name = "ksshaskpass-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/ksshaskpass-5.27.11.tar.xz";
|
||||
sha256 = "1fqrw6n9fggdz6rhg0985s6dg6x2h1a8i9zic5zsv24wnbqvsy4y";
|
||||
name = "ksshaskpass-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
ksystemstats = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/ksystemstats-5.27.10.tar.xz";
|
||||
sha256 = "0f723yq5wyfxfj9cx13cpvxhq28blglzpsgdh843has3xlnxlpjs";
|
||||
name = "ksystemstats-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/ksystemstats-5.27.11.tar.xz";
|
||||
sha256 = "1mawh8icgrx18z7dyqzxxikl0z9fq87z5a1hx6ykimcri345z3ip";
|
||||
name = "ksystemstats-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
kwallet-pam = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/kwallet-pam-5.27.10.tar.xz";
|
||||
sha256 = "1yx18j9823xfqwrhzy3wnzqzw7zhdya9r3xh84qg9j9psqa1f6dc";
|
||||
name = "kwallet-pam-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/kwallet-pam-5.27.11.tar.xz";
|
||||
sha256 = "0h6qmrl4qa5m4csqvn3rvkvlqi6aa606bnfaxx77kqc65a7vhlvz";
|
||||
name = "kwallet-pam-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
kwayland-integration = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/kwayland-integration-5.27.10.tar.xz";
|
||||
sha256 = "17xxlfs63sxcziv8nl50qlpcy8w0h259mblxxvx99cmnc930azgk";
|
||||
name = "kwayland-integration-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/kwayland-integration-5.27.11.tar.xz";
|
||||
sha256 = "1dmwd3mw5s67pngb0gd6ki0vfzj0aamkyxiqagn06jkvwsxlfjcb";
|
||||
name = "kwayland-integration-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
kwin = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/kwin-5.27.10.tar.xz";
|
||||
sha256 = "1inswsd078lbbr7pwc84a3smhnn4i089c2f6lfsjrdh0b492anmq";
|
||||
name = "kwin-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/kwin-5.27.11.tar.xz";
|
||||
sha256 = "0vxmj50wran5glgzs3cwpyjk9qwgwnzlmq0gb4kcsm5x54xv40l9";
|
||||
name = "kwin-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
kwrited = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/kwrited-5.27.10.tar.xz";
|
||||
sha256 = "0haddznfis4fhz7nkjpqakxwk4zh50q7g578ksng17gbd2x9x8as";
|
||||
name = "kwrited-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/kwrited-5.27.11.tar.xz";
|
||||
sha256 = "18f054ya2kkxsivh5pdfl7ja5g26m337bkp65famwd94gsnca487";
|
||||
name = "kwrited-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
layer-shell-qt = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/layer-shell-qt-5.27.10.tar.xz";
|
||||
sha256 = "1hn3sjimplsbl5afid0rwj08qqydb8hl6lyzhv0k6c0l5b7q1v8a";
|
||||
name = "layer-shell-qt-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/layer-shell-qt-5.27.11.tar.xz";
|
||||
sha256 = "0l6kfqg0v5gm4dp9xs5kvhw4ahx45gr8ymp3x7zsxj8r2q4j3hzl";
|
||||
name = "layer-shell-qt-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
libkscreen = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/libkscreen-5.27.10.tar.xz";
|
||||
sha256 = "167z7bgqzjclqvcqiplgnpjxscl8m6fznly3c2spzg19i449zx97";
|
||||
name = "libkscreen-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/libkscreen-5.27.11.tar.xz";
|
||||
sha256 = "1m8xl9z000pjbgk18mpaz8cfpx7prvlfx8p5i0wk0clz90fz848d";
|
||||
name = "libkscreen-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
libksysguard = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/libksysguard-5.27.10.tar.xz";
|
||||
sha256 = "1r9wzx0r1m3m2gb9k4xgwra84vc05lxyjilcns8j69yb52q37z0p";
|
||||
name = "libksysguard-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/libksysguard-5.27.11.tar.xz";
|
||||
sha256 = "0ncnrg5g1h7c1w66mks73md3fz5n4axmxw5jb85a3kg8vm6gbx11";
|
||||
name = "libksysguard-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
milou = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/milou-5.27.10.tar.xz";
|
||||
sha256 = "1hqa25grsdmwr1y3fra6k09czrd6iagf9fqq85cxz6yc2s5xs6bw";
|
||||
name = "milou-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/milou-5.27.11.tar.xz";
|
||||
sha256 = "06iyb2zn19xz837wfz86xz5i3rkfkyvyy6xgywhjknvsvi06k08b";
|
||||
name = "milou-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
oxygen = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/oxygen-5.27.10.tar.xz";
|
||||
sha256 = "02q95nx0706p9zhzbvx89ssk20mv7cizvqf0kyavn4gfwpizc5jv";
|
||||
name = "oxygen-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/oxygen-5.27.11.tar.xz";
|
||||
sha256 = "0w7mnh4ds7avv3xdgd4rb6b5612krbpzm8dx3fgpr2yp7c1lfbxs";
|
||||
name = "oxygen-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
oxygen-sounds = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/oxygen-sounds-5.27.10.tar.xz";
|
||||
sha256 = "0py37frx59f3c4dxv3llsxky1cb03ynyqfphdx3ndsgfma8g1893";
|
||||
name = "oxygen-sounds-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/oxygen-sounds-5.27.11.tar.xz";
|
||||
sha256 = "1ppikl4b9rldj9d0cgn52vi7jhjrkqkj0blq7c11x52ibb2lk8kg";
|
||||
name = "oxygen-sounds-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
plank-player = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plank-player-5.27.10.tar.xz";
|
||||
sha256 = "04idirgwrgys6p4b6l86z46lxjw9m1chi3fhp9yk4s52grdwx3ib";
|
||||
name = "plank-player-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plank-player-5.27.11.tar.xz";
|
||||
sha256 = "1sg6zk97qawpmizdykl6q27h5aha6cfj0qcqx4l606mcixf4gskc";
|
||||
name = "plank-player-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-bigscreen = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plasma-bigscreen-5.27.10.tar.xz";
|
||||
sha256 = "06420vpfjjg5zy21r6l6vdj2vs37aqy02hw351n5q3l2kc3snc9p";
|
||||
name = "plasma-bigscreen-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plasma-bigscreen-5.27.11.tar.xz";
|
||||
sha256 = "0rv0hcff6z6xnxpx10by5mxmi6pm16wsa9akd9nf8m5jbm1b7r43";
|
||||
name = "plasma-bigscreen-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-browser-integration = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plasma-browser-integration-5.27.10.tar.xz";
|
||||
sha256 = "1kncrxz08w9fvvl2ag3gk3iw1gwbwm5kpc23iq6fypfjk6pbwzd1";
|
||||
name = "plasma-browser-integration-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plasma-browser-integration-5.27.11.tar.xz";
|
||||
sha256 = "0k0jbhhvmgv1xqw8bz4kn7j1r8d69n1r1mbb1px8ibl6d4famrn4";
|
||||
name = "plasma-browser-integration-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-desktop = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plasma-desktop-5.27.10.tar.xz";
|
||||
sha256 = "17yhrz4i7d52ywgjcmcwbmgr67f8lyph72lrhlys4kfk474my0fy";
|
||||
name = "plasma-desktop-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plasma-desktop-5.27.11.tar.xz";
|
||||
sha256 = "18s4zh8z1x0519xlh156xfay865hpyyhf172znvb9rsic9bix7yh";
|
||||
name = "plasma-desktop-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-disks = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plasma-disks-5.27.10.tar.xz";
|
||||
sha256 = "0ysqaky2bv7yk76swkrvyqcv2y41xr4m9b61bn5cj5lzb8a4v3qy";
|
||||
name = "plasma-disks-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plasma-disks-5.27.11.tar.xz";
|
||||
sha256 = "1js1m46bh7hshcqx90b97rc5k9gk9rg4kyqc8h3bs767fbvp9l4q";
|
||||
name = "plasma-disks-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-firewall = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plasma-firewall-5.27.10.tar.xz";
|
||||
sha256 = "1k443ikbnny7xpi52xmbfnl5iy8alx7jnrx9grb6wlwghh06lnkm";
|
||||
name = "plasma-firewall-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plasma-firewall-5.27.11.tar.xz";
|
||||
sha256 = "01f1429ks9rkh8wsmjw91ryrmifnsxq3q8mxawcwaswiykyykkil";
|
||||
name = "plasma-firewall-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-integration = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plasma-integration-5.27.10.tar.xz";
|
||||
sha256 = "1fzz581pfdzli62riw7mnfhqdp5pp929rkdw9g6il1c6hlgciwim";
|
||||
name = "plasma-integration-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plasma-integration-5.27.11.tar.xz";
|
||||
sha256 = "0ydzy1fy6j6ais1y5zgfai6kxhinf8478jcsa7blg43061zsj55j";
|
||||
name = "plasma-integration-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-mobile = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plasma-mobile-5.27.10.tar.xz";
|
||||
sha256 = "0bjv890m9pf5f8zynhjnhhc3dbd5iz5fvhrsa7jjgds8v26gza1c";
|
||||
name = "plasma-mobile-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plasma-mobile-5.27.11.tar.xz";
|
||||
sha256 = "167hm5p3bhpnf8c5xn4f4r6grldv31wcfbrpyfvkf4kv94pspsq4";
|
||||
name = "plasma-mobile-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-nano = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plasma-nano-5.27.10.tar.xz";
|
||||
sha256 = "170w5vf91dr8l3m6jljwrm1xlzha8nxixwnh9ic0j4kyy8dirxjb";
|
||||
name = "plasma-nano-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plasma-nano-5.27.11.tar.xz";
|
||||
sha256 = "1yrgfhhj6vdc6ppnc8iys1b8wj3mfsf1p9w81d05fy5ka8ykjh0c";
|
||||
name = "plasma-nano-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-nm = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plasma-nm-5.27.10.tar.xz";
|
||||
sha256 = "1c6wngqmvdqkypifi5p0s0ax092wagiw6f7la3ipq4sfcakx6pdp";
|
||||
name = "plasma-nm-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plasma-nm-5.27.11.tar.xz";
|
||||
sha256 = "0mlybqjnx9xgdmdbhzh65is62x8mwy6h8aw21n31g3nlwafq2spz";
|
||||
name = "plasma-nm-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-pa = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plasma-pa-5.27.10.tar.xz";
|
||||
sha256 = "021zdcqrhwmdkklzlv8hlnykycv2zfcwxn3qwviqf9a7y513fw8d";
|
||||
name = "plasma-pa-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plasma-pa-5.27.11.tar.xz";
|
||||
sha256 = "1cr0lywxpidhmn0n62xsf4gs94g723rxv5lwdf26jfqnlwg6gaix";
|
||||
name = "plasma-pa-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-remotecontrollers = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plasma-remotecontrollers-5.27.10.tar.xz";
|
||||
sha256 = "0wzly5r4bhl1m661hww98008fpbgmz9ymsndj426xf3wnkgjc12i";
|
||||
name = "plasma-remotecontrollers-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plasma-remotecontrollers-5.27.11.tar.xz";
|
||||
sha256 = "0w77bh27d948sznbs22j5jzlp06711x0g0v3sbm7cy3r6dw7rwsr";
|
||||
name = "plasma-remotecontrollers-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-sdk = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11.1";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plasma-sdk-5.27.10.tar.xz";
|
||||
sha256 = "08q1d74iqkg7aa1pvvk7p0gl4a8y6c0hf15kxlk032na1qfymagf";
|
||||
name = "plasma-sdk-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plasma-sdk-5.27.11.1.tar.xz";
|
||||
sha256 = "0i073qv2drnjixv7p8kzzq05wggdsj2jdckhz1i46dwsd65s38lh";
|
||||
name = "plasma-sdk-5.27.11.1.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-systemmonitor = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plasma-systemmonitor-5.27.10.tar.xz";
|
||||
sha256 = "03laxgby4ms7rzxv96z0anqzh44vh88qn9g81gny2axljxbp18b4";
|
||||
name = "plasma-systemmonitor-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plasma-systemmonitor-5.27.11.tar.xz";
|
||||
sha256 = "1zaxddrjhypf7pc40gyanymf0l5bbdijc3lf5bkl6p8vjaywpjha";
|
||||
name = "plasma-systemmonitor-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-thunderbolt = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plasma-thunderbolt-5.27.10.tar.xz";
|
||||
sha256 = "15k161q4qvx7zg9303074grc10z95q0137lk76mqqg9prgjmw92d";
|
||||
name = "plasma-thunderbolt-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plasma-thunderbolt-5.27.11.tar.xz";
|
||||
sha256 = "1yw9bampcbjxqrxiri3ac933gk29rmn2jcfbxqsb5kcb6gbc5rsz";
|
||||
name = "plasma-thunderbolt-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-vault = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plasma-vault-5.27.10.tar.xz";
|
||||
sha256 = "0nqss7ijlamjzxycs5m8vsq61fxzhfk4wky1zv43ymdcc5bd1wbm";
|
||||
name = "plasma-vault-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plasma-vault-5.27.11.tar.xz";
|
||||
sha256 = "1hkn4a61kwnhscl1cq3nza323p4l513d0c3va70vqa7psxwrsn8b";
|
||||
name = "plasma-vault-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-welcome = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plasma-welcome-5.27.10.tar.xz";
|
||||
sha256 = "008wga32j5f7cmwabxvlc3dzfj17fa0wkfj8dbvfd2gv34sf08w4";
|
||||
name = "plasma-welcome-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plasma-welcome-5.27.11.tar.xz";
|
||||
sha256 = "02rjm23qqfwnasiqj4ksl4yayg0xijmdxzqqc4f5by17vplcmgng";
|
||||
name = "plasma-welcome-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-workspace = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plasma-workspace-5.27.10.tar.xz";
|
||||
sha256 = "0y4p6lk481byracfhvvqf7bbk13isl9m1zsl7prk0rqsqrjc2paj";
|
||||
name = "plasma-workspace-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plasma-workspace-5.27.11.tar.xz";
|
||||
sha256 = "1pbsxssa8jgpy2kkhf43ck6gdkjr216b7ashy8sm7v306v29pmh7";
|
||||
name = "plasma-workspace-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-workspace-wallpapers = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plasma-workspace-wallpapers-5.27.10.tar.xz";
|
||||
sha256 = "1l345rzg626krmriz54j480lh9zza7liq6bfz7vmifck558jv1l2";
|
||||
name = "plasma-workspace-wallpapers-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plasma-workspace-wallpapers-5.27.11.tar.xz";
|
||||
sha256 = "02p59m54g453pl3cjx932xpfhz73lc8yq1hxq9pzsyhjd3y2fg12";
|
||||
name = "plasma-workspace-wallpapers-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
plymouth-kcm = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/plymouth-kcm-5.27.10.tar.xz";
|
||||
sha256 = "10p6ikppr1vzafx2qvb4pmzkgpja2bnqp60np46q1nnajgng4w3z";
|
||||
name = "plymouth-kcm-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/plymouth-kcm-5.27.11.tar.xz";
|
||||
sha256 = "1m645zw0vi1zj6sqplc7x23ycwkh9x41nxq413njz5sgmb76k8ig";
|
||||
name = "plymouth-kcm-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
polkit-kde-agent = {
|
||||
version = "1-5.27.10";
|
||||
version = "1-5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/polkit-kde-agent-1-5.27.10.tar.xz";
|
||||
sha256 = "1nwbiwwz5x1h4xhx021izrm685pq5bh9mi5v85x32s74hlkjm5d3";
|
||||
name = "polkit-kde-agent-1-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/polkit-kde-agent-1-5.27.11.tar.xz";
|
||||
sha256 = "06swprc498fjbk0aw2ac6x4g7sx5whzbaci12nwl068h9y4hisf9";
|
||||
name = "polkit-kde-agent-1-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
powerdevil = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/powerdevil-5.27.10.tar.xz";
|
||||
sha256 = "1wf89sh8b7v6hhjkr8vf2q7qm3anv24n20n8wdh21pc0k30a7h86";
|
||||
name = "powerdevil-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/powerdevil-5.27.11.tar.xz";
|
||||
sha256 = "0wvmdjrmlphxx2jcabsnqzayz50chvrgxsp5ynw3kgdw0lpapli8";
|
||||
name = "powerdevil-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
qqc2-breeze-style = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/qqc2-breeze-style-5.27.10.tar.xz";
|
||||
sha256 = "0fwbgfm8n79zslmm4ww177zlk7gjklhyj1h71kzmdb7p32z6z2ix";
|
||||
name = "qqc2-breeze-style-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/qqc2-breeze-style-5.27.11.tar.xz";
|
||||
sha256 = "03v1wdl3wq5xn185b28ljj62qggjllw6s8xzi91s0g3sxfvp3fgx";
|
||||
name = "qqc2-breeze-style-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
sddm-kcm = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/sddm-kcm-5.27.10.tar.xz";
|
||||
sha256 = "1bgljl6ybm7bgz2brv2a6nq81nyv2fwrnd0psv2v5mw3pxvk3r43";
|
||||
name = "sddm-kcm-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/sddm-kcm-5.27.11.tar.xz";
|
||||
sha256 = "1h3lg25hrggwd8f3ivgndwd9vwkvhxh22jgfmsvjxqcv6n0zx6rv";
|
||||
name = "sddm-kcm-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
systemsettings = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/systemsettings-5.27.10.tar.xz";
|
||||
sha256 = "0f8dhqnbix813fkwa03mzsfr0wsfmgb6kbgai63wv9g3rgr4fk5g";
|
||||
name = "systemsettings-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/systemsettings-5.27.11.tar.xz";
|
||||
sha256 = "0jlj3wcf3npwi83yhgczkz116p0fiwvgkwnk39zmdba4kqkj8pqg";
|
||||
name = "systemsettings-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
xdg-desktop-portal-kde = {
|
||||
version = "5.27.10";
|
||||
version = "5.27.11";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.27.10/xdg-desktop-portal-kde-5.27.10.tar.xz";
|
||||
sha256 = "0azggffvjxzxs3qibfdv9y5aslxgfrrb1qcjh9r96wp2qgq1ywxx";
|
||||
name = "xdg-desktop-portal-kde-5.27.10.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.27.11/xdg-desktop-portal-kde-5.27.11.tar.xz";
|
||||
sha256 = "1cyr2scjrdvx0x2qcpky7qr5rxxjlsavwvyjwajlfm0l3s5qjxin";
|
||||
name = "xdg-desktop-portal-kde-5.27.11.tar.xz";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,132 +0,0 @@
|
|||
{ lib, stdenv, llvm_meta, fetch, substituteAll, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3
|
||||
, buildLlvmTools
|
||||
, fixDarwinDylibNames
|
||||
, enableManpages ? false
|
||||
}:
|
||||
|
||||
let
|
||||
self = stdenv.mkDerivation ({
|
||||
pname = "clang";
|
||||
inherit version;
|
||||
|
||||
src = fetch "clang" "0px4gl27az6cdz6adds89qzdwb1cqpjsfvrldbz9qvpmphrj34bf";
|
||||
inherit clang-tools-extra_src;
|
||||
|
||||
unpackPhase = ''
|
||||
unpackFile $src
|
||||
mv clang-* clang
|
||||
sourceRoot=$PWD/clang
|
||||
unpackFile ${clang-tools-extra_src}
|
||||
mv clang-tools-extra-* $sourceRoot/tools/extra
|
||||
substituteInPlace $sourceRoot/tools/extra/clangd/quality/CompletionModel.cmake \
|
||||
--replace ' ''${CMAKE_SOURCE_DIR}/../clang-tools-extra' ' ''${CMAKE_SOURCE_DIR}/tools/extra'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake python3 ]
|
||||
++ lib.optional enableManpages python3.pkgs.sphinx
|
||||
++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
|
||||
|
||||
buildInputs = [ libxml2 libllvm ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCLANGD_BUILD_XPC=OFF"
|
||||
"-DLLVM_ENABLE_RTTI=ON"
|
||||
] ++ lib.optionals enableManpages [
|
||||
"-DCLANG_INCLUDE_DOCS=ON"
|
||||
"-DLLVM_ENABLE_SPHINX=ON"
|
||||
"-DSPHINX_OUTPUT_MAN=ON"
|
||||
"-DSPHINX_OUTPUT_HTML=OFF"
|
||||
"-DSPHINX_WARNINGS_AS_ERRORS=OFF"
|
||||
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
"-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
|
||||
"-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen"
|
||||
];
|
||||
|
||||
patches = [
|
||||
./purity.patch
|
||||
# https://reviews.llvm.org/D51899
|
||||
./gnu-install-dirs.patch
|
||||
(substituteAll {
|
||||
src = ../../common/clang/clang-11-15-LLVMgold-path.patch;
|
||||
libllvmLibdir = "${libllvm.lib}/lib";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \
|
||||
-e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \
|
||||
lib/Driver/ToolChains/*.cpp
|
||||
'' + lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||
sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp
|
||||
'';
|
||||
|
||||
outputs = [ "out" "lib" "dev" "python" ];
|
||||
|
||||
postInstall = ''
|
||||
ln -sv $out/bin/clang $out/bin/cpp
|
||||
|
||||
# Move libclang to 'lib' output
|
||||
moveToOutput "lib/libclang.*" "$lib"
|
||||
moveToOutput "lib/libclang-cpp.*" "$lib"
|
||||
substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \
|
||||
--replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." \
|
||||
--replace "\''${_IMPORT_PREFIX}/lib/libclang-cpp." "$lib/lib/libclang-cpp."
|
||||
|
||||
mkdir -p $python/bin $python/share/{clang,scan-view}
|
||||
mv $out/bin/{git-clang-format,scan-view} $python/bin
|
||||
if [ -e $out/bin/set-xcode-analyzer ]; then
|
||||
mv $out/bin/set-xcode-analyzer $python/bin
|
||||
fi
|
||||
mv $out/share/clang/*.py $python/share/clang
|
||||
mv $out/share/scan-view/*.py $python/share/scan-view
|
||||
rm $out/bin/c-index-test
|
||||
patchShebangs $python/bin
|
||||
|
||||
mkdir -p $dev/bin
|
||||
cp bin/clang-tblgen $dev/bin
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit libllvm;
|
||||
isClang = true;
|
||||
hardeningUnsupportedFlags = [ "fortify3" "zerocallusedregs" ];
|
||||
};
|
||||
|
||||
meta = llvm_meta // {
|
||||
homepage = "https://clang.llvm.org/";
|
||||
description = "A C language family frontend for LLVM";
|
||||
longDescription = ''
|
||||
The Clang project provides a language front-end and tooling
|
||||
infrastructure for languages in the C language family (C, C++, Objective
|
||||
C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project.
|
||||
It aims to deliver amazingly fast compiles, extremely useful error and
|
||||
warning messages and to provide a platform for building great source
|
||||
level tools. The Clang Static Analyzer and clang-tidy are tools that
|
||||
automatically find bugs in your code, and are great examples of the sort
|
||||
of tools that can be built using the Clang frontend as a library to
|
||||
parse C/C++ code.
|
||||
'';
|
||||
mainProgram = "clang";
|
||||
};
|
||||
} // lib.optionalAttrs enableManpages {
|
||||
pname = "clang-manpages";
|
||||
|
||||
buildPhase = ''
|
||||
make docs-clang-man
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/man/man1
|
||||
# Manually install clang manpage
|
||||
cp docs/man/*.1 $out/share/man/man1/
|
||||
'';
|
||||
|
||||
outputs = [ "out" ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = llvm_meta // {
|
||||
description = "man page for Clang ${version}";
|
||||
};
|
||||
});
|
||||
in self
|
|
@ -1,6 +1,6 @@
|
|||
{ lowPrio, newScope, pkgs, lib, stdenv, cmake
|
||||
, preLibcCrossHeaders
|
||||
, substitute, fetchFromGitHub, fetchpatch
|
||||
, substitute, substituteAll, fetchFromGitHub, fetchpatch
|
||||
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
|
||||
, buildLlvmTools # tools, but from the previous stage, for cross
|
||||
, targetLlvmLibraries # libraries, but from the next stage, for cross
|
||||
|
@ -56,7 +56,7 @@ let
|
|||
then tools.bintools
|
||||
else bootBintools;
|
||||
|
||||
in {
|
||||
in rec {
|
||||
|
||||
libllvm = callPackage ./llvm {
|
||||
inherit llvm_meta;
|
||||
|
@ -66,7 +66,17 @@ let
|
|||
# we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
|
||||
llvm = tools.libllvm;
|
||||
|
||||
libclang = callPackage ./clang {
|
||||
libclang = callPackage ../common/clang {
|
||||
src = fetch "clang" "0px4gl27az6cdz6adds89qzdwb1cqpjsfvrldbz9qvpmphrj34bf";
|
||||
patches = [
|
||||
./clang/purity.patch
|
||||
# https://reviews.llvm.org/D51899
|
||||
./clang/gnu-install-dirs.patch
|
||||
(substituteAll {
|
||||
src = ../common/clang/clang-11-15-LLVMgold-path.patch;
|
||||
libllvmLibdir = "${libllvm.lib}/lib";
|
||||
})
|
||||
];
|
||||
inherit clang-tools-extra_src llvm_meta;
|
||||
};
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue