mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-10-14 08:31:40 +03:00
Merge master into haskell-updates
This commit is contained in:
commit
263ca92849
@ -434,6 +434,7 @@ ${expr "" v}
|
||||
Configuration:
|
||||
* multiline - by default is true which results in indented block-like view.
|
||||
* indent - initial indent.
|
||||
* asBindings - by default generate single value, but with this use attrset to set global vars.
|
||||
|
||||
Attention:
|
||||
Regardless of multiline parameter there is no trailing newline.
|
||||
@ -464,18 +465,35 @@ ${expr "" v}
|
||||
/* If this option is true, the output is indented with newlines for attribute sets and lists */
|
||||
multiline ? true,
|
||||
/* Initial indentation level */
|
||||
indent ? ""
|
||||
indent ? "",
|
||||
/* Interpret as variable bindings */
|
||||
asBindings ? false,
|
||||
}@args: v:
|
||||
with builtins;
|
||||
let
|
||||
innerIndent = "${indent} ";
|
||||
introSpace = if multiline then "\n${innerIndent}" else " ";
|
||||
outroSpace = if multiline then "\n${indent}" else " ";
|
||||
innerArgs = args // { indent = innerIndent; };
|
||||
innerArgs = args // {
|
||||
indent = if asBindings then indent else innerIndent;
|
||||
asBindings = false;
|
||||
};
|
||||
concatItems = concatStringsSep ",${introSpace}";
|
||||
isLuaInline = { _type ? null, ... }: _type == "lua-inline";
|
||||
|
||||
generatedBindings =
|
||||
assert lib.assertMsg (badVarNames == []) "Bad Lua var names: ${toPretty {} badVarNames}";
|
||||
libStr.concatStrings (
|
||||
lib.attrsets.mapAttrsToList (key: value: "${indent}${key} = ${toLua innerArgs value}\n") v
|
||||
);
|
||||
|
||||
# https://en.wikibooks.org/wiki/Lua_Programming/variable#Variable_names
|
||||
matchVarName = match "[[:alpha:]_][[:alnum:]_]*(\\.[[:alpha:]_][[:alnum:]_]*)*";
|
||||
badVarNames = filter (name: matchVarName name == null) (attrNames v);
|
||||
in
|
||||
if v == null then
|
||||
if asBindings then
|
||||
generatedBindings
|
||||
else if v == null then
|
||||
"nil"
|
||||
else if isInt v || isFloat v || isString v || isBool v then
|
||||
builtins.toJSON v
|
||||
|
@ -8,9 +8,10 @@ with lib;
|
||||
option = x:
|
||||
x // { optional = true; };
|
||||
|
||||
yes = { tristate = "y"; optional = false; };
|
||||
no = { tristate = "n"; optional = false; };
|
||||
module = { tristate = "m"; optional = false; };
|
||||
yes = { tristate = "y"; optional = false; };
|
||||
no = { tristate = "n"; optional = false; };
|
||||
module = { tristate = "m"; optional = false; };
|
||||
unset = { tristate = null; optional = false; };
|
||||
freeform = x: { freeform = x; optional = false; };
|
||||
|
||||
/*
|
||||
|
@ -4,6 +4,11 @@
|
||||
with import ../default.nix;
|
||||
|
||||
let
|
||||
testingThrow = expr: {
|
||||
expr = (builtins.tryEval (builtins.seq expr "didn't throw"));
|
||||
expected = { success = false; value = false; };
|
||||
};
|
||||
testingDeepThrow = expr: testingThrow (builtins.deepSeq expr expr);
|
||||
|
||||
testSanitizeDerivationName = { name, expected }:
|
||||
let
|
||||
@ -962,6 +967,41 @@ runTests {
|
||||
expected = ''{ 41, 43 }'';
|
||||
};
|
||||
|
||||
testToLuaEmptyBindings = {
|
||||
expr = generators.toLua { asBindings = true; } {};
|
||||
expected = "";
|
||||
};
|
||||
|
||||
testToLuaBindings = {
|
||||
expr = generators.toLua { asBindings = true; } { x1 = 41; _y = { a = 43; }; };
|
||||
expected = ''
|
||||
_y = {
|
||||
["a"] = 43
|
||||
}
|
||||
x1 = 41
|
||||
'';
|
||||
};
|
||||
|
||||
testToLuaPartialTableBindings = {
|
||||
expr = generators.toLua { asBindings = true; } { "x.y" = 42; };
|
||||
expected = ''
|
||||
x.y = 42
|
||||
'';
|
||||
};
|
||||
|
||||
testToLuaIndentedBindings = {
|
||||
expr = generators.toLua { asBindings = true; indent = " "; } { x = { y = 42; }; };
|
||||
expected = " x = {\n [\"y\"] = 42\n }\n";
|
||||
};
|
||||
|
||||
testToLuaBindingsWithSpace = testingThrow (
|
||||
generators.toLua { asBindings = true; } { "with space" = 42; }
|
||||
);
|
||||
|
||||
testToLuaBindingsWithLeadingDigit = testingThrow (
|
||||
generators.toLua { asBindings = true; } { "11eleven" = 42; }
|
||||
);
|
||||
|
||||
testToLuaBasicExample = {
|
||||
expr = generators.toLua {} {
|
||||
cmd = [ "typescript-language-server" "--stdio" ];
|
||||
|
@ -46,7 +46,10 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
|
||||
- [Cloudlog](https://www.magicbug.co.uk/cloudlog/), a web-based Amateur Radio logging application. Available as [services.cloudlog](#opt-services.cloudlog.enable).
|
||||
|
||||
- [Deepin Desktop Environment](https://github.com/linuxdeepin/dde), an elegant, easy to use and reliable desktop environment. Available as [services.xserver.desktopManager.deepin](options.html#opt-services.xserver.desktopManager.deepin).
|
||||
|
||||
- [fzf](https://github.com/junegunn/fzf), a command line fuzzyfinder. Available as [programs.fzf](#opt-programs.fzf.fuzzyCompletion).
|
||||
|
||||
- [readarr](https://github.com/Readarr/Readarr), Book Manager and Automation (Sonarr for Ebooks). Available as [services.readarr](options.html#opt-services.readarr.enable).
|
||||
|
||||
- [gemstash](https://github.com/rubygems/gemstash), a RubyGems.org cache and private gem server. Available as [services.gemstash](#opt-services.gemstash.enable).
|
||||
@ -137,6 +140,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
|
||||
- `carnix` and `cratesIO` has been removed due to being unmaintained, use alternatives such as [naersk](https://github.com/nix-community/naersk) and [crate2nix](https://github.com/kolloch/crate2nix) instead.
|
||||
|
||||
- `services.asusd` configuration now uses strings instead of structured configuration, as upstream switched to the [RON](https://github.com/ron-rs/ron) configuration format. Support for structured configuration may return when [RON](https://github.com/ron-rs/ron) generation is implemented in nixpkgs.
|
||||
|
||||
- `checkInputs` have been renamed to `nativeCheckInputs`, because they behave the same as `nativeBuildInputs` when `doCheck` is set. `checkInputs` now denote a new type of dependencies, added to `buildInputs` when `doCheck` is set. As a rule of thumb, `nativeCheckInputs` are tools on `$PATH` used during the tests, and `checkInputs` are libraries which are linked to executables built as part of the tests. Similarly, `installCheckInputs` are renamed to `nativeInstallCheckInputs`, corresponding to `nativeBuildInputs`, and `installCheckInputs` are a new type of dependencies added to `buildInputs` when `doInstallCheck` is set. (Note that this change will not cause breakage to derivations with `strictDeps` unset, which are most packages except python, rust, ocaml and go packages).
|
||||
|
||||
- `buildDunePackage` now defaults to `strictDeps = true` which means that any library should go into `buildInputs` or `checkInputs`. Any executable that is run on the building machine should go into `nativeBuildInputs` or `nativeCheckInputs` respectively. Example of executables are `ocaml`, `findlib` and `menhir`. PPXs are libraries which are built by dune and should therefore not go into `nativeBuildInputs`.
|
||||
@ -212,6 +217,11 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
|
||||
- The [services.wordpress.sites.<name>.plugins](#opt-services.wordpress.sites._name_.plugins) and [services.wordpress.sites.<name>.themes](#opt-services.wordpress.sites._name_.themes) options have been converted from sets to attribute sets to allow for consumers to specify explicit install paths via attribute name.
|
||||
|
||||
- [`services.nextcloud.database.createLocally`](#opt-services.nextcloud.database.createLocally) now uses socket authentication and is no longer compatible with password authentication.
|
||||
- If you want the module to manage the database for you, unset [`services.nextcloud.config.dbpassFile`](#opt-services.nextcloud.config.dbpassFile) (and [`services.nextcloud.config.dbhost`](#opt-services.nextcloud.config.dbhost), if it's set).
|
||||
- If your database is external, simply set [`services.nextcloud.database.createLocally`](#opt-services.nextcloud.database.createLocally) to `false`.
|
||||
- If you want to use password authentication **and** create the database locally, you will have to use [`services.mysql`](#opt-services.mysql.enable) to set it up.
|
||||
|
||||
- `protonmail-bridge` package has been updated to major version 3.
|
||||
|
||||
- Nebula now runs as a system user and group created for each nebula network, using the `CAP_NET_ADMIN` ambient capability on launch rather than starting as root. Ensure that any files each Nebula instance needs to access are owned by the correct user and group, by default `nebula-${networkName}`.
|
||||
@ -239,6 +249,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
[upstream's release notes](https://github.com/iputils/iputils/releases/tag/20221126)
|
||||
for more details and available replacements.
|
||||
|
||||
- The ppp plugin `rp-pppoe.so` has been renamed to `pppoe.so` in ppp 2.4.9. Starting from ppp 2.5.0, there is no longer a alias for backwards compatiblity. Configurations that use this plugin must be updated accordingly from `plugin rp-pppoe.so` to `plugin pppoe.so`. See [upstream change](https://github.com/ppp-project/ppp/commit/610a7bd76eb1f99f22317541b35001b1e24877ed).
|
||||
|
||||
- [services.xserver.videoDrivers](options.html#opt-services.xserver.videoDrivers) now defaults to the `modesetting` driver over device-specific ones. The `radeon`, `amdgpu` and `nouveau` drivers are still available, but effectively unmaintained and not recommended for use.
|
||||
|
||||
- To enable the HTTP3 (QUIC) protocol for a nginx virtual host, set the `quic` attribute on it to true, e.g. `services.nginx.virtualHosts.<name>.quic = true;`.
|
||||
|
@ -413,6 +413,9 @@
|
||||
./services/desktops/bamf.nix
|
||||
./services/desktops/blueman.nix
|
||||
./services/desktops/cpupower-gui.nix
|
||||
./services/desktops/deepin/dde-api.nix
|
||||
./services/desktops/deepin/app-services.nix
|
||||
./services/desktops/deepin/dde-daemon.nix
|
||||
./services/desktops/dleyna-renderer.nix
|
||||
./services/desktops/dleyna-server.nix
|
||||
./services/desktops/espanso.nix
|
||||
|
@ -11,6 +11,8 @@ in {
|
||||
|
||||
enable = mkEnableOption (lib.mdDoc "Navidrome music server");
|
||||
|
||||
package = mkPackageOptionMD pkgs "navidrome" { };
|
||||
|
||||
settings = mkOption rec {
|
||||
type = settingsFormat.type;
|
||||
apply = recursiveUpdate default;
|
||||
@ -36,7 +38,7 @@ in {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = ''
|
||||
${pkgs.navidrome}/bin/navidrome --configfile ${settingsFormat.generate "navidrome.json" cfg.settings}
|
||||
${cfg.package}/bin/navidrome --configfile ${settingsFormat.generate "navidrome.json" cfg.settings}
|
||||
'';
|
||||
DynamicUser = true;
|
||||
StateDirectory = "navidrome";
|
||||
|
36
nixos/modules/services/desktops/deepin/app-services.nix
Normal file
36
nixos/modules/services/desktops/deepin/app-services.nix
Normal file
@ -0,0 +1,36 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
|
||||
meta = {
|
||||
maintainers = teams.deepin.members;
|
||||
};
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
|
||||
services.deepin.app-services = {
|
||||
|
||||
enable = mkEnableOption (lib.mdDoc "Service collection of DDE applications, including dconfig-center");
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkIf config.services.deepin.app-services.enable {
|
||||
|
||||
environment.systemPackages = [ pkgs.deepin.dde-app-services ];
|
||||
|
||||
services.dbus.packages = [ pkgs.deepin.dde-app-services ];
|
||||
|
||||
environment.pathsToLink = [ "/share/dsg" ];
|
||||
|
||||
};
|
||||
|
||||
}
|
50
nixos/modules/services/desktops/deepin/dde-api.nix
Normal file
50
nixos/modules/services/desktops/deepin/dde-api.nix
Normal file
@ -0,0 +1,50 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
|
||||
meta = {
|
||||
maintainers = teams.deepin.members;
|
||||
};
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
|
||||
services.deepin.dde-api = {
|
||||
|
||||
enable = mkEnableOption (lib.mdDoc ''
|
||||
Provides some dbus interfaces that is used for screen zone detecting,
|
||||
thumbnail generating, and sound playing in Deepin Desktop Enviroment.
|
||||
'');
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkIf config.services.deepin.dde-api.enable {
|
||||
|
||||
environment.systemPackages = [ pkgs.deepin.dde-api ];
|
||||
|
||||
services.dbus.packages = [ pkgs.deepin.dde-api ];
|
||||
|
||||
systemd.packages = [ pkgs.deepin.dde-api ];
|
||||
|
||||
environment.pathsToLink = [ "/lib/deepin-api" ];
|
||||
|
||||
users.groups.deepin-sound-player = { };
|
||||
users.users.deepin-sound-player = {
|
||||
description = "Deepin sound player";
|
||||
home = "/var/lib/deepin-sound-player";
|
||||
createHome = true;
|
||||
group = "deepin-sound-player";
|
||||
isSystemUser = true;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
40
nixos/modules/services/desktops/deepin/dde-daemon.nix
Normal file
40
nixos/modules/services/desktops/deepin/dde-daemon.nix
Normal file
@ -0,0 +1,40 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
|
||||
meta = {
|
||||
maintainers = teams.deepin.members;
|
||||
};
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
|
||||
services.deepin.dde-daemon = {
|
||||
|
||||
enable = mkEnableOption (lib.mdDoc "Daemon for handling the deepin session settings");
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkIf config.services.deepin.dde-daemon.enable {
|
||||
|
||||
environment.systemPackages = [ pkgs.deepin.dde-daemon ];
|
||||
|
||||
services.dbus.packages = [ pkgs.deepin.dde-daemon ];
|
||||
|
||||
services.udev.packages = [ pkgs.deepin.dde-daemon ];
|
||||
|
||||
systemd.packages = [ pkgs.deepin.dde-daemon ];
|
||||
|
||||
environment.pathsToLink = [ "/lib/deepin-daemon" ];
|
||||
|
||||
};
|
||||
|
||||
}
|
@ -2,8 +2,6 @@
|
||||
|
||||
let
|
||||
cfg = config.services.asusd;
|
||||
json = pkgs.formats.json { };
|
||||
toml = pkgs.formats.toml { };
|
||||
in
|
||||
{
|
||||
options = {
|
||||
@ -19,55 +17,55 @@ in
|
||||
};
|
||||
|
||||
animeConfig = lib.mkOption {
|
||||
type = json.type;
|
||||
default = { };
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
The content of /etc/asusd/anime.conf.
|
||||
The content of /etc/asusd/anime.ron.
|
||||
See https://asus-linux.org/asusctl/#anime-control.
|
||||
'';
|
||||
};
|
||||
|
||||
asusdConfig = lib.mkOption {
|
||||
type = json.type;
|
||||
default = { };
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
The content of /etc/asusd/asusd.conf.
|
||||
The content of /etc/asusd/asusd.ron.
|
||||
See https://asus-linux.org/asusctl/.
|
||||
'';
|
||||
};
|
||||
|
||||
auraConfig = lib.mkOption {
|
||||
type = json.type;
|
||||
default = { };
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
The content of /etc/asusd/aura.conf.
|
||||
The content of /etc/asusd/aura.ron.
|
||||
See https://asus-linux.org/asusctl/#led-keyboard-control.
|
||||
'';
|
||||
};
|
||||
|
||||
profileConfig = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = "";
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
The content of /etc/asusd/profile.conf.
|
||||
The content of /etc/asusd/profile.ron.
|
||||
See https://asus-linux.org/asusctl/#profiles.
|
||||
'';
|
||||
};
|
||||
|
||||
ledModesConfig = lib.mkOption {
|
||||
type = lib.types.nullOr toml.type;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
The content of /etc/asusd/asusd-ledmodes.toml. Leave `null` to use default settings.
|
||||
See https://asus-linux.org/asusctl/#led-keyboard-control.
|
||||
fanCurvesConfig = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
The content of /etc/asusd/fan_curves.ron.
|
||||
See https://asus-linux.org/asusctl/#fan-curves.
|
||||
'';
|
||||
};
|
||||
|
||||
userLedModesConfig = lib.mkOption {
|
||||
type = lib.types.nullOr toml.type;
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
The content of /etc/asusd/asusd-user-ledmodes.toml.
|
||||
The content of /etc/asusd/asusd-user-ledmodes.ron.
|
||||
See https://asus-linux.org/asusctl/#led-keyboard-control.
|
||||
'';
|
||||
};
|
||||
@ -79,26 +77,18 @@ in
|
||||
|
||||
environment.etc =
|
||||
let
|
||||
maybeConfig = name: cfg: lib.mkIf (cfg != { }) {
|
||||
source = json.generate name cfg;
|
||||
maybeConfig = name: cfg: lib.mkIf (cfg != null) {
|
||||
source = pkgs.writeText name cfg;
|
||||
mode = "0644";
|
||||
};
|
||||
in
|
||||
{
|
||||
"asusd/anime.conf" = maybeConfig "anime.conf" cfg.animeConfig;
|
||||
"asusd/asusd.conf" = maybeConfig "asusd.conf" cfg.asusdConfig;
|
||||
"asusd/aura.conf" = maybeConfig "aura.conf" cfg.auraConfig;
|
||||
"asusd/profile.conf" = lib.mkIf (cfg.profileConfig != null) {
|
||||
source = pkgs.writeText "profile.conf" cfg.profileConfig;
|
||||
mode = "0644";
|
||||
};
|
||||
"asusd/asusd-ledmodes.toml" = {
|
||||
source =
|
||||
if cfg.ledModesConfig == null
|
||||
then "${pkgs.asusctl}/share/asusd/data/asusd-ledmodes.toml"
|
||||
else toml.generate "asusd-ledmodes.toml" cfg.ledModesConfig;
|
||||
mode = "0644";
|
||||
};
|
||||
"asusd/anime.ron" = maybeConfig "anime.ron" cfg.animeConfig;
|
||||
"asusd/asusd.ron" = maybeConfig "asusd.ron" cfg.asusdConfig;
|
||||
"asusd/aura.ron" = maybeConfig "aura.ron" cfg.auraConfig;
|
||||
"asusd/profile.conf" = maybeConfig "profile.ron" cfg.profileConfig;
|
||||
"asusd/fan_curves.ron" = maybeConfig "fan_curves.ron" cfg.fanCurvesConfig;
|
||||
"asusd/asusd_user_ledmodes.ron" = maybeConfig "asusd_user_ledmodes.ron" cfg.userLedModesConfig;
|
||||
};
|
||||
|
||||
services.dbus.enable = true;
|
||||
|
@ -34,7 +34,7 @@ in {
|
||||
|
||||
systemd.timers.fstrim = {
|
||||
timerConfig = {
|
||||
OnCalendar = cfg.interval;
|
||||
OnCalendar = [ "" cfg.interval ];
|
||||
};
|
||||
wantedBy = [ "timers.target" ];
|
||||
};
|
||||
|
@ -235,7 +235,7 @@ in {
|
||||
|
||||
systemd.services = let
|
||||
makeService = attrs: recursiveUpdate {
|
||||
path = [ datadogPkg pkgs.python pkgs.sysstat pkgs.procps pkgs.iproute2 ];
|
||||
path = [ datadogPkg pkgs.sysstat pkgs.procps pkgs.iproute2 ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
User = "datadog";
|
||||
|
@ -76,7 +76,7 @@ in
|
||||
export DATABASE_PASSWORD="$(<"${cfg.dbpassFile}")"
|
||||
'' + ''
|
||||
export DATABASE_URL="${dbUrl}"
|
||||
${cfg.package}/bin/notify_push --glob-config '${config.services.nextcloud.datadir}/config/config.php'
|
||||
${cfg.package}/bin/notify_push '${config.services.nextcloud.datadir}/config/config.php'
|
||||
'';
|
||||
serviceConfig = {
|
||||
User = "nextcloud";
|
||||
|
@ -12,10 +12,16 @@ major version available.
|
||||
|
||||
Nextcloud is a PHP-based application which requires an HTTP server
|
||||
([`services.nextcloud`](#opt-services.nextcloud.enable)
|
||||
optionally supports
|
||||
[`services.nginx`](#opt-services.nginx.enable))
|
||||
and a database (it's recommended to use
|
||||
[`services.postgresql`](#opt-services.postgresql.enable)).
|
||||
and optionally supports
|
||||
[`services.nginx`](#opt-services.nginx.enable)).
|
||||
|
||||
For the database, you can set
|
||||
[`services.nextcloud.config.dbtype`](#opt-services.nextcloud.config.dbtype) to
|
||||
either `sqlite` (the default), `mysql`, or `pgsql`. For the last two, by
|
||||
default, a local database will be created and nextcloud will connect to it via
|
||||
socket; this can be disabled by setting
|
||||
[`services.nextcloud.database.createLocally`](#opt-services.nextcloud.database.createLocally)
|
||||
to `false`.
|
||||
|
||||
A very basic configuration may look like this:
|
||||
```
|
||||
@ -26,30 +32,10 @@ A very basic configuration may look like this:
|
||||
hostName = "nextcloud.tld";
|
||||
config = {
|
||||
dbtype = "pgsql";
|
||||
dbuser = "nextcloud";
|
||||
dbhost = "/run/postgresql"; # nextcloud will add /.s.PGSQL.5432 by itself
|
||||
dbname = "nextcloud";
|
||||
adminpassFile = "/path/to/admin-pass-file";
|
||||
adminuser = "root";
|
||||
};
|
||||
};
|
||||
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
ensureDatabases = [ "nextcloud" ];
|
||||
ensureUsers = [
|
||||
{ name = "nextcloud";
|
||||
ensurePermissions."DATABASE nextcloud" = "ALL PRIVILEGES";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
# ensure that postgres is running *before* running the setup
|
||||
systemd.services."nextcloud-setup" = {
|
||||
requires = ["postgresql.service"];
|
||||
after = ["postgresql.service"];
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
||||
}
|
||||
```
|
||||
|
@ -57,6 +57,9 @@ let
|
||||
|
||||
inherit (config.system) stateVersion;
|
||||
|
||||
mysqlLocal = cfg.database.createLocally && cfg.config.dbtype == "mysql";
|
||||
pgsqlLocal = cfg.database.createLocally && cfg.config.dbtype == "pgsql";
|
||||
|
||||
in {
|
||||
|
||||
imports = [
|
||||
@ -314,13 +317,9 @@ in {
|
||||
|
||||
createLocally = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
Create the database and database user locally. Only available for
|
||||
mysql database.
|
||||
Note that this option will use the latest version of MariaDB which
|
||||
is not officially supported by Nextcloud. As for now a workaround
|
||||
is used to also support MariaDB version >= 10.6.
|
||||
Create the database and database user locally.
|
||||
'';
|
||||
};
|
||||
|
||||
@ -352,12 +351,15 @@ in {
|
||||
};
|
||||
dbhost = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = "localhost";
|
||||
default =
|
||||
if pgsqlLocal then "/run/postgresql"
|
||||
else if mysqlLocal then "localhost:/run/mysqld/mysqld.sock"
|
||||
else "localhost";
|
||||
defaultText = "localhost";
|
||||
description = lib.mdDoc ''
|
||||
Database host.
|
||||
|
||||
Note: for using Unix authentication with PostgreSQL, this should be
|
||||
set to `/run/postgresql`.
|
||||
Database host or socket path. Defaults to the correct unix socket
|
||||
instead if `services.nextcloud.database.createLocally` is true and
|
||||
`services.nextcloud.config.dbtype` is either `pgsql` or `mysql`.
|
||||
'';
|
||||
};
|
||||
dbport = mkOption {
|
||||
@ -737,8 +739,22 @@ in {
|
||||
}
|
||||
|
||||
{ assertions = [
|
||||
{ assertion = cfg.database.createLocally -> cfg.config.dbtype == "mysql";
|
||||
message = ''services.nextcloud.config.dbtype must be set to mysql if services.nextcloud.database.createLocally is set to true.'';
|
||||
{ assertion = cfg.database.createLocally -> cfg.config.dbpassFile == null;
|
||||
message = ''
|
||||
Using `services.nextcloud.database.createLocally` (that now defaults
|
||||
to true) with database password authentication is no longer
|
||||
supported.
|
||||
|
||||
If you use an external database (or want to use password auth for any
|
||||
other reason), set `services.nextcloud.database.createLocally` to
|
||||
`false`. The database won't be managed for you (use `services.mysql`
|
||||
if you want to set it up).
|
||||
|
||||
If you want this module to manage your nextcloud database for you,
|
||||
unset `services.nextcloud.config.dbpassFile` and
|
||||
`services.nextcloud.config.dbhost` to use socket authentication
|
||||
instead of password.
|
||||
'';
|
||||
}
|
||||
]; }
|
||||
|
||||
@ -902,6 +918,8 @@ in {
|
||||
in {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
before = [ "phpfpm-nextcloud.service" ];
|
||||
after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service";
|
||||
requires = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service";
|
||||
path = [ occ ];
|
||||
script = ''
|
||||
${optionalString (c.dbpassFile != null) ''
|
||||
@ -1007,7 +1025,7 @@ in {
|
||||
|
||||
environment.systemPackages = [ occ ];
|
||||
|
||||
services.mysql = lib.mkIf cfg.database.createLocally {
|
||||
services.mysql = lib.mkIf mysqlLocal {
|
||||
enable = true;
|
||||
package = lib.mkDefault pkgs.mariadb;
|
||||
ensureDatabases = [ cfg.config.dbname ];
|
||||
@ -1015,14 +1033,15 @@ in {
|
||||
name = cfg.config.dbuser;
|
||||
ensurePermissions = { "${cfg.config.dbname}.*" = "ALL PRIVILEGES"; };
|
||||
}];
|
||||
initialScript = pkgs.writeText "mysql-init" ''
|
||||
CREATE USER '${cfg.config.dbname}'@'localhost' IDENTIFIED BY '${builtins.readFile( cfg.config.dbpassFile )}';
|
||||
CREATE DATABASE IF NOT EXISTS ${cfg.config.dbname};
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER,
|
||||
CREATE TEMPORARY TABLES ON ${cfg.config.dbname}.* TO '${cfg.config.dbuser}'@'localhost'
|
||||
IDENTIFIED BY '${builtins.readFile( cfg.config.dbpassFile )}';
|
||||
FLUSH privileges;
|
||||
'';
|
||||
};
|
||||
|
||||
services.postgresql = mkIf pgsqlLocal {
|
||||
enable = true;
|
||||
ensureDatabases = [ cfg.config.dbname ];
|
||||
ensureUsers = [{
|
||||
name = cfg.config.dbuser;
|
||||
ensurePermissions = { "DATABASE ${cfg.config.dbname}" = "ALL PRIVILEGES"; };
|
||||
}];
|
||||
};
|
||||
|
||||
services.nginx.enable = mkDefault true;
|
||||
|
208
nixos/modules/services/x11/desktop-managers/deepin.nix
Normal file
208
nixos/modules/services/x11/desktop-managers/deepin.nix
Normal file
@ -0,0 +1,208 @@
|
||||
{ config, lib, pkgs, utils, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
xcfg = config.services.xserver;
|
||||
cfg = xcfg.desktopManager.deepin;
|
||||
|
||||
nixos-gsettings-overrides = pkgs.deepin.dde-gsettings-schemas.override {
|
||||
extraGSettingsOverridePackages = cfg.extraGSettingsOverridePackages;
|
||||
extraGSettingsOverrides = cfg.extraGSettingsOverrides;
|
||||
};
|
||||
in
|
||||
{
|
||||
options = {
|
||||
|
||||
services.xserver.desktopManager.deepin = {
|
||||
enable = mkEnableOption (lib.mdDoc "Enable Deepin desktop manager");
|
||||
extraGSettingsOverrides = mkOption {
|
||||
default = "";
|
||||
type = types.lines;
|
||||
description = lib.mdDoc "Additional gsettings overrides.";
|
||||
};
|
||||
extraGSettingsOverridePackages = mkOption {
|
||||
default = [ ];
|
||||
type = types.listOf types.path;
|
||||
description = lib.mdDoc "List of packages for which gsettings are overridden.";
|
||||
};
|
||||
};
|
||||
|
||||
environment.deepin.excludePackages = mkOption {
|
||||
default = [ ];
|
||||
type = types.listOf types.package;
|
||||
description = lib.mdDoc "List of default packages to exclude from the configuration";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable
|
||||
{
|
||||
services.xserver.displayManager.sessionPackages = [ pkgs.deepin.startdde ];
|
||||
services.xserver.displayManager.defaultSession = mkDefault "deepin";
|
||||
|
||||
# Update the DBus activation environment after launching the desktop manager.
|
||||
services.xserver.displayManager.sessionCommands = ''
|
||||
${lib.getBin pkgs.dbus}/bin/dbus-update-activation-environment --systemd --all
|
||||
'';
|
||||
|
||||
hardware.bluetooth.enable = mkDefault true;
|
||||
hardware.pulseaudio.enable = mkDefault true;
|
||||
security.polkit.enable = true;
|
||||
|
||||
services.deepin.dde-daemon.enable = mkForce true;
|
||||
services.deepin.dde-api.enable = mkForce true;
|
||||
services.deepin.app-services.enable = mkForce true;
|
||||
|
||||
services.colord.enable = mkDefault true;
|
||||
services.accounts-daemon.enable = mkDefault true;
|
||||
services.gvfs.enable = mkDefault true;
|
||||
services.gnome.glib-networking.enable = mkDefault true;
|
||||
services.gnome.gnome-keyring.enable = mkDefault true;
|
||||
services.bamf.enable = mkDefault true;
|
||||
|
||||
services.xserver.libinput.enable = mkDefault true;
|
||||
services.udisks2.enable = true;
|
||||
services.upower.enable = mkDefault config.powerManagement.enable;
|
||||
networking.networkmanager.enable = mkDefault true;
|
||||
programs.dconf.enable = mkDefault true;
|
||||
|
||||
fonts.fonts = with pkgs; [ noto-fonts ];
|
||||
xdg.mime.enable = true;
|
||||
xdg.menus.enable = true;
|
||||
xdg.icons.enable = true;
|
||||
xdg.portal.enable = mkDefault true;
|
||||
xdg.portal.extraPortals = mkDefault [
|
||||
(pkgs.xdg-desktop-portal-gtk.override {
|
||||
buildPortalsInGnome = false;
|
||||
})
|
||||
];
|
||||
|
||||
environment.sessionVariables = {
|
||||
NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
|
||||
DDE_POLKIT_AGENT_PLUGINS_DIRS = [ "${pkgs.deepin.dpa-ext-gnomekeyring}/lib/polkit-1-dde/plugins" ];
|
||||
};
|
||||
|
||||
environment.pathsToLink = [
|
||||
"/lib/dde-dock/plugins"
|
||||
"/lib/dde-control-center"
|
||||
"/lib/dde-session-shell"
|
||||
"/lib/dde-file-manager"
|
||||
"/share/backgrounds"
|
||||
"/share/wallpapers"
|
||||
];
|
||||
|
||||
environment.etc = {
|
||||
"distribution.info".text = ''
|
||||
[Distribution]
|
||||
Name=NixOS
|
||||
WebsiteName=www.nixos.org
|
||||
Website=https://www.nixos.org
|
||||
Logo=${pkgs.nixos-icons}/share/icons/hicolor/96x96/apps/nix-snowflake.png
|
||||
LogoLight=${pkgs.nixos-icons}/share/icons/hicolor/32x32/apps/nix-snowflake.png
|
||||
LogoTransparent=${pkgs.deepin.deepin-desktop-base}/share/pixmaps/distribution_logo_transparent.svg
|
||||
'';
|
||||
"deepin-installer.conf".text = ''
|
||||
system_info_vendor_name="Copyright (c) 2003-2023 NixOS contributors"
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"d /var/lib/AccountsService 0775 root root - -"
|
||||
"C /var/lib/AccountsService/icons 0775 root root - ${pkgs.deepin.dde-account-faces}/var/lib/AccountsService/icons"
|
||||
];
|
||||
|
||||
security.pam.services.dde-lock.text = ''
|
||||
# original at {dde-session-shell}/etc/pam.d/dde-lock
|
||||
auth substack login
|
||||
account include login
|
||||
password substack login
|
||||
session include login
|
||||
'';
|
||||
|
||||
environment.systemPackages = with pkgs; with deepin;
|
||||
let
|
||||
requiredPackages = [
|
||||
pciutils # for dtkcore/startdde
|
||||
xdotool # for dde-daemon
|
||||
glib # for gsettings program / gdbus
|
||||
gtk3 # for gtk-launch program
|
||||
xdg-user-dirs # Update user dirs
|
||||
util-linux # runuser
|
||||
polkit_gnome
|
||||
librsvg # dde-api use rsvg-convert
|
||||
lshw # for dtkcore
|
||||
libsForQt5.kde-gtk-config # deepin-api/gtk-thumbnailer need
|
||||
libsForQt5.kglobalaccel
|
||||
xsettingsd # lightdm-deepin-greeter
|
||||
qt5platform-plugins
|
||||
deepin-pw-check
|
||||
deepin-turbo
|
||||
|
||||
dde-account-faces
|
||||
deepin-icon-theme
|
||||
deepin-sound-theme
|
||||
deepin-gtk-theme
|
||||
deepin-wallpapers
|
||||
|
||||
startdde
|
||||
dde-dock
|
||||
dde-launcher
|
||||
dde-session-ui
|
||||
dde-session-shell
|
||||
dde-file-manager
|
||||
dde-control-center
|
||||
dde-network-core
|
||||
dde-clipboard
|
||||
dde-calendar
|
||||
dde-polkit-agent
|
||||
dpa-ext-gnomekeyring
|
||||
deepin-desktop-schemas
|
||||
deepin-terminal
|
||||
dde-kwin
|
||||
deepin-kwin
|
||||
];
|
||||
optionalPackages = [
|
||||
onboard # dde-dock plugin
|
||||
deepin-camera
|
||||
deepin-calculator
|
||||
deepin-compressor
|
||||
deepin-editor
|
||||
deepin-picker
|
||||
deepin-draw
|
||||
deepin-album
|
||||
deepin-image-viewer
|
||||
deepin-music
|
||||
deepin-movie-reborn
|
||||
deepin-system-monitor
|
||||
deepin-screen-recorder
|
||||
deepin-shortcut-viewer
|
||||
];
|
||||
in
|
||||
requiredPackages
|
||||
++ utils.removePackagesByName optionalPackages config.environment.deepin.excludePackages;
|
||||
|
||||
services.dbus.packages = with pkgs.deepin; [
|
||||
dde-dock
|
||||
dde-launcher
|
||||
dde-session-ui
|
||||
dde-session-shell
|
||||
dde-file-manager
|
||||
dde-control-center
|
||||
dde-calendar
|
||||
dde-clipboard
|
||||
dde-kwin
|
||||
deepin-kwin
|
||||
deepin-pw-check
|
||||
];
|
||||
|
||||
systemd.packages = with pkgs.deepin; [
|
||||
dde-launcher
|
||||
dde-file-manager
|
||||
dde-calendar
|
||||
dde-clipboard
|
||||
deepin-kwin
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ in
|
||||
./none.nix ./xterm.nix ./phosh.nix ./xfce.nix ./plasma5.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
|
||||
./cinnamon.nix ./budgie.nix ./deepin.nix
|
||||
];
|
||||
|
||||
options = {
|
||||
|
@ -171,6 +171,7 @@ in {
|
||||
cups-pdf = handleTest ./cups-pdf.nix {};
|
||||
custom-ca = handleTest ./custom-ca.nix {};
|
||||
croc = handleTest ./croc.nix {};
|
||||
deepin = handleTest ./deepin.nix {};
|
||||
deluge = handleTest ./deluge.nix {};
|
||||
dendrite = handleTest ./matrix/dendrite.nix {};
|
||||
dex-oidc = handleTest ./dex-oidc.nix {};
|
||||
|
57
nixos/tests/deepin.nix
Normal file
57
nixos/tests/deepin.nix
Normal file
@ -0,0 +1,57 @@
|
||||
import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
name = "deepin";
|
||||
|
||||
meta = with lib; {
|
||||
maintainers = teams.deepin.members;
|
||||
};
|
||||
|
||||
nodes.machine = { ... }: {
|
||||
imports = [
|
||||
./common/user-account.nix
|
||||
];
|
||||
|
||||
services.xserver.enable = true;
|
||||
|
||||
services.xserver.displayManager = {
|
||||
lightdm.enable = true;
|
||||
autoLogin = {
|
||||
enable = true;
|
||||
user = "alice";
|
||||
};
|
||||
};
|
||||
|
||||
services.xserver.desktopManager.deepin.enable = true;
|
||||
};
|
||||
|
||||
testScript = { nodes, ... }:
|
||||
let
|
||||
user = nodes.machine.users.users.alice;
|
||||
in
|
||||
''
|
||||
with subtest("Wait for login"):
|
||||
machine.wait_for_x()
|
||||
machine.wait_for_file("${user.home}/.Xauthority")
|
||||
machine.succeed("xauth merge ${user.home}/.Xauthority")
|
||||
|
||||
with subtest("Check that logging in has given the user ownership of devices"):
|
||||
machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}")
|
||||
|
||||
with subtest("Check if DDE wm chooser actually start"):
|
||||
machine.wait_until_succeeds("pgrep -f dde-wm-chooser")
|
||||
machine.wait_for_window("dde-wm-chooser")
|
||||
machine.execute("pkill dde-wm-chooser")
|
||||
|
||||
|
||||
with subtest("Check if Deepin session components actually start"):
|
||||
machine.wait_until_succeeds("pgrep -f dde-session-daemon")
|
||||
machine.wait_for_window("dde-session-daemon")
|
||||
machine.wait_until_succeeds("pgrep -f dde-desktop")
|
||||
machine.wait_for_window("dde-desktop")
|
||||
|
||||
with subtest("Open deepin-terminal"):
|
||||
machine.succeed("su - ${user.name} -c 'DISPLAY=:0 deepin-terminal >&2 &'")
|
||||
machine.wait_for_window("deepin-terminal")
|
||||
machine.sleep(20)
|
||||
machine.screenshot("screen")
|
||||
'';
|
||||
})
|
@ -1,6 +1,11 @@
|
||||
import ../make-test-python.nix ({ pkgs, ...}: let
|
||||
adminpass = "hunter2";
|
||||
adminuser = "custom-admin-username";
|
||||
username = "custom_admin_username";
|
||||
# This will be used both for redis and postgresql
|
||||
pass = "hunter2";
|
||||
# Don't do this at home, use a file outside of the nix store instead
|
||||
passFile = toString (pkgs.writeText "pass-file" ''
|
||||
${pass}
|
||||
'');
|
||||
in {
|
||||
name = "nextcloud-with-declarative-redis";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
@ -22,15 +27,15 @@ in {
|
||||
redis = true;
|
||||
memcached = false;
|
||||
};
|
||||
# This test also validates that we can use an "external" database
|
||||
database.createLocally = false;
|
||||
config = {
|
||||
dbtype = "pgsql";
|
||||
dbname = "nextcloud";
|
||||
dbuser = "nextcloud";
|
||||
dbhost = "/run/postgresql";
|
||||
inherit adminuser;
|
||||
adminpassFile = toString (pkgs.writeText "admin-pass-file" ''
|
||||
${adminpass}
|
||||
'');
|
||||
dbuser = username;
|
||||
dbpassFile = passFile;
|
||||
adminuser = username;
|
||||
adminpassFile = passFile;
|
||||
};
|
||||
secretFile = "/etc/nextcloud-secrets.json";
|
||||
|
||||
@ -52,20 +57,20 @@ in {
|
||||
|
||||
systemd.services.nextcloud-setup= {
|
||||
requires = ["postgresql.service"];
|
||||
after = [
|
||||
"postgresql.service"
|
||||
];
|
||||
after = [ "postgresql.service" ];
|
||||
};
|
||||
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
ensureDatabases = [ "nextcloud" ];
|
||||
ensureUsers = [
|
||||
{ name = "nextcloud";
|
||||
ensurePermissions."DATABASE nextcloud" = "ALL PRIVILEGES";
|
||||
}
|
||||
];
|
||||
};
|
||||
systemd.services.postgresql.postStart = pkgs.lib.mkAfter ''
|
||||
password=$(cat ${passFile})
|
||||
${config.services.postgresql.package}/bin/psql <<EOF
|
||||
CREATE ROLE ${username} WITH LOGIN PASSWORD '$password' CREATEDB;
|
||||
CREATE DATABASE nextcloud;
|
||||
GRANT ALL PRIVILEGES ON DATABASE nextcloud TO ${username};
|
||||
EOF
|
||||
'';
|
||||
|
||||
# This file is meant to contain secret options which should
|
||||
# not go into the nix store. Here it is just used to set the
|
||||
@ -86,8 +91,8 @@ in {
|
||||
export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav
|
||||
export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/webdav/"
|
||||
export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud"
|
||||
export RCLONE_CONFIG_NEXTCLOUD_USER="${adminuser}"
|
||||
export RCLONE_CONFIG_NEXTCLOUD_PASS="$(${pkgs.rclone}/bin/rclone obscure ${adminpass})"
|
||||
export RCLONE_CONFIG_NEXTCLOUD_USER="${username}"
|
||||
export RCLONE_CONFIG_NEXTCLOUD_PASS="$(${pkgs.rclone}/bin/rclone obscure ${pass})"
|
||||
"''${@}"
|
||||
'';
|
||||
copySharedFile = pkgs.writeScript "copy-shared-file" ''
|
||||
|
@ -26,24 +26,13 @@ in {
|
||||
redis = false;
|
||||
memcached = true;
|
||||
};
|
||||
database.createLocally = true;
|
||||
config = {
|
||||
dbtype = "mysql";
|
||||
dbname = "nextcloud";
|
||||
dbuser = "nextcloud";
|
||||
dbhost = "127.0.0.1";
|
||||
dbport = 3306;
|
||||
dbpassFile = "${pkgs.writeText "dbpass" "hunter2" }";
|
||||
# Don't inherit adminuser since "root" is supposed to be the default
|
||||
adminpassFile = "${pkgs.writeText "adminpass" adminpass}"; # Don't try this at home!
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.nextcloud-setup= {
|
||||
requires = ["mysql.service"];
|
||||
after = ["mysql.service"];
|
||||
};
|
||||
|
||||
services.memcached.enable = true;
|
||||
};
|
||||
};
|
||||
|
@ -27,9 +27,6 @@ in {
|
||||
};
|
||||
config = {
|
||||
dbtype = "pgsql";
|
||||
dbname = "nextcloud";
|
||||
dbuser = "nextcloud";
|
||||
dbhost = "/run/postgresql";
|
||||
inherit adminuser;
|
||||
adminpassFile = toString (pkgs.writeText "admin-pass-file" ''
|
||||
${adminpass}
|
||||
@ -48,23 +45,6 @@ in {
|
||||
|
||||
services.redis.servers."nextcloud".enable = true;
|
||||
services.redis.servers."nextcloud".port = 6379;
|
||||
|
||||
systemd.services.nextcloud-setup= {
|
||||
requires = ["postgresql.service"];
|
||||
after = [
|
||||
"postgresql.service"
|
||||
];
|
||||
};
|
||||
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
ensureDatabases = [ "nextcloud" ];
|
||||
ensureUsers = [
|
||||
{ name = "nextcloud";
|
||||
ensurePermissions."DATABASE nextcloud" = "ALL PRIVILEGES";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -28,7 +28,7 @@ import ./make-test-python.nix (
|
||||
"ppp/pppoe-server-options".text = ''
|
||||
lcp-echo-interval 10
|
||||
lcp-echo-failure 2
|
||||
plugin rp-pppoe.so
|
||||
plugin pppoe.so
|
||||
require-chap
|
||||
nobsdcomp
|
||||
noccp
|
||||
@ -43,7 +43,7 @@ import ./make-test-python.nix (
|
||||
enable = true;
|
||||
peers.test = {
|
||||
config = ''
|
||||
plugin rp-pppoe.so eth1
|
||||
plugin pppoe.so eth1
|
||||
name "flynn"
|
||||
noipdefault
|
||||
persist
|
||||
|
@ -8,6 +8,7 @@
|
||||
, pkg-config
|
||||
, ronn
|
||||
, substituteAll
|
||||
, buildPackages
|
||||
, mbrolaSupport ? true
|
||||
, mbrola
|
||||
, pcaudiolibSupport ? true
|
||||
@ -49,6 +50,14 @@ stdenv.mkDerivation rec {
|
||||
"--with-mbrola=${if mbrolaSupport then "yes" else "no"}"
|
||||
];
|
||||
|
||||
# ref https://github.com/void-linux/void-packages/blob/3cf863f894b67b3c93e23ac7830ca46b697d308a/srcpkgs/espeak-ng/template#L29-L31
|
||||
postConfigure = lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
substituteInPlace Makefile \
|
||||
--replace 'ESPEAK_DATA_PATH=$(CURDIR) src/espeak-ng' 'ESPEAK_DATA_PATH=$(CURDIR) ${lib.getExe buildPackages.espeak-ng}' \
|
||||
--replace 'espeak-ng-data/%_dict: src/espeak-ng' 'espeak-ng-data/%_dict: ${lib.getExe buildPackages.espeak-ng}' \
|
||||
--replace '../src/espeak-ng --compile' "${lib.getExe buildPackages.espeak-ng} --compile"
|
||||
'';
|
||||
|
||||
postInstall = lib.optionalString stdenv.isLinux ''
|
||||
patchelf --set-rpath "$(patchelf --print-rpath $out/bin/espeak-ng)" $out/bin/speak-ng
|
||||
wrapProgram $out/bin/espeak-ng \
|
||||
|
@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-BSJu3jB7b5G2ThXBUHUNnBGl55EXe3nIzdBdgfOWDSM=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "man" ];
|
||||
|
||||
nativeBuildInputs = [ buildPackages.stdenv.cc pkg-config cmake ];
|
||||
|
||||
buildInputs = [ glib libsndfile libjack2 ]
|
||||
|
@ -13,13 +13,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ft2-clone";
|
||||
version = "1.66";
|
||||
version = "1.67";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "8bitbubsy";
|
||||
repo = "ft2-clone";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-glLgjZFWvz/bJe9R8KTDu4+778dueC9tw3nVKF3xcps=";
|
||||
sha256 = "sha256-v/yGHWd/hhE2jDdAQhyQbZOuHSS0FSG4WlVe8Oc6tMc=";
|
||||
};
|
||||
|
||||
# Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh)
|
||||
|
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
|
||||
hash = "sha256-HKd9Omml/4RbegU294P+5VThBBE5prl49q/hT1gUrRo=";
|
||||
};
|
||||
|
||||
outputs = [ "out" ] ++ lib.optional withConplay "conplay";
|
||||
outputs = [ "out" "dev" "man" ] ++ lib.optional withConplay "conplay";
|
||||
|
||||
nativeBuildInputs = lib.optionals (!libOnly) (
|
||||
lib.optionals withConplay [ makeWrapper ]
|
||||
|
@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mympd";
|
||||
version = "10.3.0";
|
||||
version = "10.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jcorporation";
|
||||
repo = "myMPD";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-iO/Ogh3G67GYoputrxAiA1i0fAon2NDrgPCMYxxn/o4=";
|
||||
sha256 = "sha256-KQf+Szr/AunL/roCtRPiC771P2A3POXPFlXUhbNej6g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pipecontrol";
|
||||
version = "0.2.8";
|
||||
version = "0.2.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "portaloffreedom";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-x33L/oLgJFiHp19FzinVuGT9k73wOhdSaTTemq52ZVg=";
|
||||
sha256 = "sha256-MSm9rW41x8qvPuDermOPIYpxgblk5hlKIQsUEAvCzMo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -5,16 +5,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "lightning-loop";
|
||||
version = "0.20.0-beta";
|
||||
version = "0.23.0-beta";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lightninglabs";
|
||||
repo = "loop";
|
||||
rev = "v${version}";
|
||||
sha256 = "1nx7i4i96982z756r79655hjf0yyz5l9lqjkvyvb62pbzqgm6my8";
|
||||
sha256 = "sha256-nYDu451BS5gV4pbV9Pp+S7oKsLGzgVu1a9Df7651e4c=";
|
||||
};
|
||||
|
||||
vendorSha256 = "0gp89fw6g8mz2ifn9wcbj84dgm736cspfxj2x34b524l2d8wz3lb";
|
||||
vendorSha256 = "sha256-6bRg6is1g/eRCr82tHMXTWVFv2S0d2h/J3w1gpentjo=";
|
||||
|
||||
subPackages = [ "cmd/loop" "cmd/loopd" ];
|
||||
|
||||
|
@ -81,6 +81,8 @@ in
|
||||
|
||||
voicemacs = callPackage ./manual-packages/voicemacs { };
|
||||
|
||||
wat-mode = callPackage ./manual-packages/wat-mode { };
|
||||
|
||||
yes-no = callPackage ./manual-packages/yes-no { };
|
||||
|
||||
youtube-dl = callPackage ./manual-packages/youtube-dl { };
|
||||
|
@ -0,0 +1,23 @@
|
||||
# Manually packaged until it is upstreamed to melpa
|
||||
# See https://github.com/devonsparks/wat-mode/issues/1
|
||||
{ lib, trivialBuild, fetchFromGitHub, fetchpatch, emacs }:
|
||||
|
||||
trivialBuild rec {
|
||||
pname = "wat-mode";
|
||||
version = "unstable-2022-07-13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "devonsparks";
|
||||
repo = pname;
|
||||
rev = "46b4df83e92c585295d659d049560dbf190fe501";
|
||||
hash = "sha256-jV5V3TRY+D3cPSz3yFwVWn9yInhGOYIaUTPEhsOBxto=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/devonsparks/wat-mode";
|
||||
description = "An Emacs major mode for WebAssembly's text format";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ nagy ];
|
||||
inherit (emacs.meta) platforms;
|
||||
};
|
||||
}
|
@ -41,13 +41,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-builder";
|
||||
version = "44.1";
|
||||
version = "44.2";
|
||||
|
||||
outputs = [ "out" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "+Tmn+VtLbh0EvY20vpygtnsqp2W4bGP03yP9s6ftzz4=";
|
||||
sha256 = "z6aJx40/AiMcp0cVV99MZIKASio08nHDXRqWLX8XKbA=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -125,6 +125,8 @@ in
|
||||
export VIMRUNTIME=$PWD/runtime
|
||||
'';
|
||||
|
||||
separateDebugInfo = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Vim text editor fork focused on extensibility and agility";
|
||||
longDescription = ''
|
||||
|
@ -1807,11 +1807,16 @@ let
|
||||
mktplcRef = {
|
||||
name = "vscode-clangd";
|
||||
publisher = "llvm-vs-code-extensions";
|
||||
version = "0.1.23";
|
||||
sha256 = "125incws4n688irqii3s2a1cznj0kvkbhv3sa8585chj5g4zvmfy";
|
||||
version = "0.1.24";
|
||||
sha256 = "sha256-yOpsYjjwHRXxbiHDPgrtswUtgbQAo+3RgN2s6UYe9mg=";
|
||||
};
|
||||
meta = {
|
||||
description = "C/C++ completion, navigation, and insights";
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.vscode-clangd";
|
||||
homepage = "https://github.com/clangd/vscode-clangd";
|
||||
changelog = "https://marketplace.visualstudio.com/items/llvm-vs-code-extensions.vscode-clangd/changelog";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.wackbyte ];
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "lf";
|
||||
version = "28";
|
||||
version = "29";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gokcehan";
|
||||
repo = "lf";
|
||||
rev = "r${version}";
|
||||
hash = "sha256-VEXWjpdUP5Kabimp9kKoLR7/FlE39MAroRBl9au2TI8=";
|
||||
hash = "sha256-kch+FQAO/Xn3GFXOzBTV1VUeJ+0CnDj/GmzxPUO5dlo=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-oIIyQbw42+B6T6Qn6nIV62Xr+8ms3tatfFI8ocYNr0A=";
|
||||
vendorHash = "sha256-z34WN4z9reBbwITLm7igQscmIVuoRpdAvZ4QMNGAPaE=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
@ -6,14 +6,18 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "veusz";
|
||||
version = "3.3.1";
|
||||
version = "3.6.2";
|
||||
|
||||
src = python3Packages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "4ClgYwiU21wHDve2q9cItSAVb9hbR2F+fJc8znGI8OA=";
|
||||
sha256 = "whcaxF5LMEJNj8NSYeLpnb5uJboRl+vCQ1WxBrJjldE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wrapQtAppsHook python3Packages.sip_4 ];
|
||||
nativeBuildInputs = [
|
||||
wrapQtAppsHook
|
||||
python3Packages.sip
|
||||
python3Packages.tomli
|
||||
];
|
||||
|
||||
buildInputs = [ qtbase ];
|
||||
|
||||
@ -24,22 +28,17 @@ python3Packages.buildPythonApplication rec {
|
||||
wrapQtApp "$out/bin/veusz"
|
||||
'';
|
||||
|
||||
# Since sip 6 (we use sip 4 here, but pyqt5 is built with sip 6), sip files are
|
||||
# placed in a different directory layout and --sip-dir won't work anymore.
|
||||
# --sip-dir expects a directory with a PyQt5 subdirectory (where sip files are located),
|
||||
# but the new directory layout places sip files in a subdirectory named 'bindings'.
|
||||
# To workaround this, we patch the full path into pyqtdistutils.py.
|
||||
# pyqt_setuptools.py uses the platlib path from sysconfig, but NixOS doesn't
|
||||
# really have a corresponding path, so patching the location of PyQt5 inplace
|
||||
postPatch = ''
|
||||
substituteInPlace pyqtdistutils.py \
|
||||
--replace "'-I', pyqt5_include_dir," "'-I', '${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings',"
|
||||
substituteInPlace pyqt_setuptools.py \
|
||||
--replace "get_path('platlib')" "'${python3Packages.pyqt5}/${python3Packages.python.sitePackages}'"
|
||||
patchShebangs tests/runselftest.py
|
||||
'';
|
||||
|
||||
# you can find these options at
|
||||
# https://github.com/veusz/veusz/blob/53b99dffa999f2bc41fdc5335d7797ae857c761f/pyqtdistutils.py#L71
|
||||
# --sip-dir cannot be used here for the reasons explained above
|
||||
setupPyBuildFlags = [
|
||||
"--qt-include-dir=${qtbase.dev}/include"
|
||||
# veusz tries to find a libinfix and fails without one
|
||||
# but we simply don't need a libinfix, so set it to empty here
|
||||
"--qt-libinfix="
|
||||
|
59
pkgs/applications/misc/arianna/default.nix
Normal file
59
pkgs/applications/misc/arianna/default.nix
Normal file
@ -0,0 +1,59 @@
|
||||
{ lib
|
||||
, mkDerivation
|
||||
, fetchFromGitLab
|
||||
, cmake
|
||||
, extra-cmake-modules
|
||||
, pkg-config
|
||||
, baloo
|
||||
, kfilemetadata
|
||||
, kirigami2
|
||||
, kirigami-addons
|
||||
, kquickcharts
|
||||
, plasma-framework
|
||||
, qqc2-desktop-style
|
||||
, qtbase
|
||||
, qtquickcontrols2
|
||||
, qtwebsockets
|
||||
, qtwebengine
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "arianna";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "invent.kde.org";
|
||||
owner = "graphics";
|
||||
repo = "arianna";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-X3PDGWsQ8Alj5fisZC1tTHQDLPmjtiLw0X9gMvh5KFI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
extra-cmake-modules
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
baloo
|
||||
kfilemetadata
|
||||
kirigami2
|
||||
kirigami-addons
|
||||
kquickcharts
|
||||
plasma-framework
|
||||
qqc2-desktop-style
|
||||
qtbase
|
||||
qtquickcontrols2
|
||||
qtwebsockets
|
||||
qtwebengine
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "An Epub Reader for Plasma and Plasma Mobile";
|
||||
homepage = "https://invent.kde.org/graphics/arianna";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ Thra11 ];
|
||||
};
|
||||
}
|
@ -3,13 +3,13 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "AusweisApp2";
|
||||
version = "1.26.3";
|
||||
version = "1.26.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Governikus";
|
||||
repo = "AusweisApp2";
|
||||
rev = version;
|
||||
hash = "sha256-YI9/rMoe5Waw2e/tObvu+wi9dkmhEoG9v3ZQzkn4QH4=";
|
||||
hash = "sha256-l/sPqXkr4rSMEbPi/ahl/74RYqNrjcb28v6/scDrh1w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
@ -23,13 +23,13 @@
|
||||
|
||||
stdenv.mkDerivation rec{
|
||||
pname = "corectrl";
|
||||
version = "1.3.3";
|
||||
version = "1.3.5";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "corectrl";
|
||||
repo = "corectrl";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-WgtLDAjywHd9++7DvPfpfEXGbBQWx8kQxseIadho1YE=";
|
||||
sha256 = "sha256-HETD2+acxJf30iC6UwRXD/onFYo3ki4RwAAVs4NbSAw=";
|
||||
};
|
||||
patches = [
|
||||
./polkit-dir.patch
|
||||
|
26
pkgs/applications/misc/serial-studio/default.nix
Normal file
26
pkgs/applications/misc/serial-studio/default.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{ lib, stdenv, fetchFromGitHub, qmake, qtquickcontrols2, qtserialport, qtsvg, wrapQtAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "serial-studio";
|
||||
version = "1.1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Serial-Studio";
|
||||
repo = "Serial-Studio";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Tsd1PGB7cO8h3HDifOtB8jsnj+fS4a/o5nfLoohVLM4=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake wrapQtAppsHook ];
|
||||
|
||||
buildInputs = [ qtquickcontrols2 qtserialport qtsvg ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Multi-purpose serial data visualization & processing program";
|
||||
homepage = "https://serial-studio.github.io/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ sikmir ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
source 'https://rubygems.org'
|
||||
gem 'taskjuggler'
|
||||
gem 'webrick'
|
||||
|
@ -26,12 +26,14 @@ GEM
|
||||
timeout (0.3.2)
|
||||
tins (1.32.1)
|
||||
sync
|
||||
webrick (1.8.1)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
x86_64-linux
|
||||
|
||||
DEPENDENCIES
|
||||
taskjuggler
|
||||
webrick
|
||||
|
||||
BUNDLED WITH
|
||||
2.4.12
|
||||
|
@ -127,4 +127,14 @@
|
||||
};
|
||||
version = "1.32.1";
|
||||
};
|
||||
webrick = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "13qm7s0gr2pmfcl7dxrmq38asaza4w0i2n9my4yzs499j731wh8r";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.8.1";
|
||||
};
|
||||
}
|
||||
|
@ -55,7 +55,7 @@
|
||||
buildFun:
|
||||
|
||||
let
|
||||
python3WithPackages = python3.withPackages(ps: with ps; [
|
||||
python3WithPackages = python3.pythonForBuild.withPackages(ps: with ps; [
|
||||
ply jinja2 setuptools
|
||||
]);
|
||||
clangFormatPython3 = fetchurl {
|
||||
@ -129,6 +129,7 @@ let
|
||||
python3WithPackages perl
|
||||
which
|
||||
llvmPackages.bintools
|
||||
bison gperf
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@ -142,7 +143,7 @@ let
|
||||
nasm
|
||||
nspr nss
|
||||
util-linux alsa-lib
|
||||
bison gperf libkrb5
|
||||
libkrb5
|
||||
glib gtk3 dbus-glib
|
||||
libXScrnSaver libXcursor libXtst libxshmfence libGLU libGL
|
||||
mesa # required for libgbm
|
||||
@ -314,7 +315,7 @@ let
|
||||
|
||||
# This is to ensure expansion of $out.
|
||||
libExecPath="${libExecPath}"
|
||||
${python3}/bin/python3 build/linux/unbundle/replace_gn_files.py --system-libraries ${toString gnSystemLibraries}
|
||||
${python3.pythonForBuild}/bin/python3 build/linux/unbundle/replace_gn_files.py --system-libraries ${toString gnSystemLibraries}
|
||||
${gnChromium}/bin/gn gen --args=${lib.escapeShellArg gnFlags} out/Release | tee gn-gen-outputs.txt
|
||||
|
||||
# Fail if `gn gen` contains a WARNING.
|
||||
|
@ -7,13 +7,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "cloudflared";
|
||||
version = "2023.4.1";
|
||||
version = "2023.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cloudflare";
|
||||
repo = "cloudflared";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-PG2+rEn3X1EdMUDbfrtfEjYclErMGAGTcP2g7Jz+s1A=";
|
||||
hash = "sha256-oHiaRdTEiTcGQkYoGw8TT0KZMFR8Rkce/4+cxSXAHMM=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "civo";
|
||||
version = "1.0.49";
|
||||
version = "1.0.50";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "civo";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-j9fnOM7OLnu42LM/LaO/Sw9TJtPFHjAC+QzqywbxKKo=";
|
||||
sha256 = "sha256-w1Ozj9zmeGzuokX0LgHab5TI0WcdtY29n7w4LfOWthI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-7I4V4DVdHSvr/1ic/YT+Vttreg0tFasRNT/aFe4/0OY=";
|
||||
|
@ -182,11 +182,11 @@
|
||||
"vendorHash": "sha256-jOscYbwZ8m4smGiAy2vNhPMTAUnINkpuVRQ8E6LpWVw="
|
||||
},
|
||||
"buildkite": {
|
||||
"hash": "sha256-/LTUDnE5XB8Gwbs+CroJW+3pM7opNSVQFWvRQWQjFqc=",
|
||||
"hash": "sha256-nwGnt/+pSR1rGiXZ1RJIpekT+i0k4ZmMN27VpYCDVU0=",
|
||||
"homepage": "https://registry.terraform.io/providers/buildkite/buildkite",
|
||||
"owner": "buildkite",
|
||||
"repo": "terraform-provider-buildkite",
|
||||
"rev": "v0.16.0",
|
||||
"rev": "v0.17.0",
|
||||
"spdx": "MIT",
|
||||
"vendorHash": "sha256-ZXjmR1maiiLeWipXGOAGfLEuot9TsrzAX4EPRNQ5Gbo="
|
||||
},
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
let
|
||||
pname = "rambox";
|
||||
version = "2.1.2";
|
||||
version = "2.1.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ramboxapp/download/releases/download/v${version}/Rambox-${version}-linux-x64.AppImage";
|
||||
sha256 = "sha256-FeW11prM9wTYA6cELF/qcITbTqJ+B+VVvzcw2W6i/CY=";
|
||||
sha256 = "sha256-wvjCr1U+/1/GtebMNWJjizzegqZ+wWXUrmOshYtMq6o=";
|
||||
};
|
||||
|
||||
desktopItem = (makeDesktopItem {
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
(if stdenv.isDarwin then darwin.apple_sdk_11_0.clang14Stdenv else stdenv).mkDerivation rec {
|
||||
pname = "signalbackup-tools";
|
||||
version = "20230426";
|
||||
version = "20230429";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bepaald";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-RpPn3QWsCOW1RIucBp5oqR/zwnfIwG+McqAPwo0f5lM=";
|
||||
hash = "sha256-uOZfEZ5Wf+4lz5FxPqsockAIA/um61OZ6mvjj51BGkg=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -25,13 +25,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tangram";
|
||||
version = "2.0";
|
||||
version = "3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sonnyp";
|
||||
repo = "Tangram";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ocHE8IztiNm9A1hbzzHXstWpPaOau/IrQ44ccxbsGb0=";
|
||||
hash = "sha256-6QOkvsYFgFFyxnDlA5Xpl3FnsSZOj9ooehCPOmpKe8M=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/meson.build --replace "/app/bin/blueprint-compiler" "blueprint-compiler"
|
||||
substituteInPlace {src/,}re.sonny.Tangram troll/gjspack/bin/gjspack \
|
||||
substituteInPlace src/bin.js troll/gjspack/bin/gjspack \
|
||||
--replace "#!/usr/bin/env -S gjs -m" "#!${gjs}/bin/gjs -m"
|
||||
'';
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
, configText ? ""
|
||||
}:
|
||||
let
|
||||
version = "2206";
|
||||
version = "2303";
|
||||
|
||||
sysArch =
|
||||
if stdenv.hostPlatform.system == "x86_64-linux" then "x64"
|
||||
@ -19,9 +19,12 @@ let
|
||||
|
||||
# For USB support, ensure that /var/run/vmware/<YOUR-UID>
|
||||
# exists and is owned by you. Then run vmware-usbarbitrator as root.
|
||||
bins = [ "vmware-view" "vmware-view-legacy" "vmware-usbarbitrator" ];
|
||||
bins = [
|
||||
"vmware-view"
|
||||
"vmware-usbarbitrator"
|
||||
];
|
||||
|
||||
mainProgram = "vmware-view-legacy";
|
||||
mainProgram = "vmware-view";
|
||||
|
||||
# This forces the default GTK theme (Adwaita) because Horizon is prone to
|
||||
# UI usability issues when using non-default themes, such as Adwaita-dark.
|
||||
@ -36,8 +39,8 @@ let
|
||||
pname = "vmware-horizon-files";
|
||||
inherit version;
|
||||
src = fetchurl {
|
||||
url = "https://download3.vmware.com/software/CART23FQ2_LIN_2206_TARBALL/VMware-Horizon-Client-Linux-2206-8.6.0-20094634.tar.gz";
|
||||
sha256 = "9819eae5708bf0d71156b81283e3a70100e2e22de9db827a8956ca8e83b2414a";
|
||||
url = "https://download3.vmware.com/software/CART24FQ1_LIN_2303_TARBALL/VMware-Horizon-Client-Linux-2303-8.9.0-21435420.tar.gz";
|
||||
sha256 = "a4dcc6afc0be7641e10e922ccbbab0a10adbf8f2a83e4b5372dfba095091fb78";
|
||||
};
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
installPhase = ''
|
||||
@ -93,6 +96,7 @@ let
|
||||
pixman
|
||||
vmwareHorizonClientFiles
|
||||
xorg.libX11
|
||||
xorg.libXau
|
||||
xorg.libXcursor
|
||||
xorg.libXext
|
||||
xorg.libXi
|
||||
|
@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "seaweedfs";
|
||||
version = "3.47";
|
||||
version = "3.48";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "seaweedfs";
|
||||
repo = "seaweedfs";
|
||||
rev = version;
|
||||
hash = "sha256-0RDzTS/bjcXeYBWqRq/oWwI0kEmxYkT6oqCBYRi3dnQ=";
|
||||
hash = "sha256-yD9GZnx4OvzI4Jo5BJPRsZEDeUg9pUxg1cxfCCiS6AU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-oXf+aZxf0jBiOqYzD9mTjYND0LjjQeHIZXIrqcEuyYk=";
|
||||
vendorHash = "sha256-xmo82HgPRnrR53zKfKPadmut/vuNEM9jqbnqj0cTAuM=";
|
||||
|
||||
subPackages = [ "weed" ];
|
||||
|
||||
@ -38,8 +38,13 @@ buildGoModule rec {
|
||||
export GODEBUG=http2client=0
|
||||
'';
|
||||
|
||||
# There are no tests.
|
||||
doCheck = false;
|
||||
preCheck = ''
|
||||
# Test all targets.
|
||||
unset subPackages
|
||||
|
||||
# Remove unmaintained tests ahd those that require additional services.
|
||||
rm -rf unmaintained test/s3
|
||||
'';
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = seaweedfs;
|
||||
|
54
pkgs/applications/networking/trayscale/default.nix
Normal file
54
pkgs/applications/networking/trayscale/default.nix
Normal file
@ -0,0 +1,54 @@
|
||||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, wrapGAppsHook4
|
||||
, tailscale
|
||||
, gtk4
|
||||
, gobject-introspection
|
||||
, libadwaita
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "trayscale";
|
||||
version = "0.9.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "DeedleFake";
|
||||
repo = "trayscale";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-qMQ0WykBHXyXZ6GkDM5l5ki27X1h8rl3sUBooqF3234=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-K1Za2j4kUtsktFi9DjZYXrtfsWF1r6vIbyocLUrj5IU=";
|
||||
|
||||
subPackages = [ "cmd/trayscale" ];
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X=deedles.dev/trayscale/internal/version.version=${version}"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config gobject-introspection wrapGAppsHook4 ];
|
||||
buildInputs = [ gtk4 libadwaita ];
|
||||
|
||||
# there are no actual tests, and it takes 20 minutes to rebuild
|
||||
doCheck = false;
|
||||
|
||||
postInstall = ''
|
||||
sh ./dist.sh install $out
|
||||
glib-compile-schemas $out/share/glib-2.0/schemas
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(--prefix PATH : "${tailscale}/bin")
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "An unofficial GUI wrapper around the Tailscale CLI client";
|
||||
homepage = "https://github.com/DeedleFake/trayscale";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ k900 ];
|
||||
};
|
||||
}
|
@ -8,6 +8,7 @@
|
||||
, qtxmlpatterns
|
||||
, qtwebengine
|
||||
, qca-qt5
|
||||
, qtnetworkauth
|
||||
# KDE
|
||||
, ki18n
|
||||
, kxmlgui
|
||||
@ -28,13 +29,13 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "kbibtex";
|
||||
version = "0.9.3.2";
|
||||
version = "0.10.0";
|
||||
|
||||
src = let
|
||||
majorMinorPatch = lib.concatStringsSep "." (lib.take 3 (lib.splitVersion version));
|
||||
in fetchurl {
|
||||
url = "mirror://kde/stable/KBibTeX/${majorMinorPatch}/kbibtex-${version}.tar.xz";
|
||||
hash = "sha256-BzPCTKMiMnzz2S+jbk4ZbEudyJX5EaTDVY59te/AxFc=";
|
||||
hash = "sha256-sSeyQKfNd8U4YZ3IgqOZs8bM13oEQopJevkG8U0JuMQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -46,6 +47,7 @@ mkDerivation rec {
|
||||
qtxmlpatterns
|
||||
qtwebengine
|
||||
qca-qt5
|
||||
qtnetworkauth
|
||||
# TODO qtoauth
|
||||
ki18n
|
||||
kxmlgui
|
||||
@ -72,5 +74,6 @@ mkDerivation rec {
|
||||
changelog = "https://invent.kde.org/office/kbibtex/-/raw/v${version}/ChangeLog";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ dotlambda ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "kitsas";
|
||||
version = "4.0.3";
|
||||
version = "4.0.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "artoh";
|
||||
repo = "kitupiikki";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-7s21++sA4enZFuDVUEAbn7InpyLx6BOwrFdsUzHWK0M=";
|
||||
hash = "sha256-ODl1yrtrCVhuBWbA1AvHl22d+JSdySG/Gi2hlpVW3jg=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -97,7 +97,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "zotero-${version}";
|
||||
name = "zotero";
|
||||
exec = "zotero -url %U";
|
||||
icon = "zotero";
|
||||
comment = meta.description;
|
||||
|
@ -8,12 +8,12 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.4.7";
|
||||
version = "1.4.8";
|
||||
pname = "flrig";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/fldigi/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-RzyeJf3T1vKTlyU/EMXFY+ObkqKq7wJyBB8ZeKMOO1M=";
|
||||
sha256 = "sha256-7aqjNbcAE1ATb5Zl+ziVb7O86nqlFwdpsYm9RoX51rg=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "minimap2";
|
||||
version = "2.24";
|
||||
version = "2.25";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = pname;
|
||||
owner = "lh3";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-sEp7/Y5ifV9LTqrkhlkfykTJYMMuc+VtF7PvmIpBxUw=";
|
||||
sha256 = "sha256-9X2wYoUH11Ys4uPArwyGsXuQLQaAwtNV/pnO9yd7Oiw=";
|
||||
};
|
||||
|
||||
buildInputs = [ zlib ];
|
||||
|
1922
pkgs/applications/system/asusctl/Cargo.lock
generated
1922
pkgs/applications/system/asusctl/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -13,32 +13,31 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "asusctl";
|
||||
version = "4.5.8";
|
||||
version = "4.6.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "asus-linux";
|
||||
repo = "asusctl";
|
||||
rev = version;
|
||||
hash = "sha256-6AitRpyLIq5by9/rXdIC8AChMVKZmR1Eo5GTo+DtGhc=";
|
||||
hash = "sha256-qfl8MUSHjqlSnsaudoRD9fY5TM9zgy7L7DA+pctn/nc=";
|
||||
};
|
||||
|
||||
cargoHash = "";
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"ecolor-0.20.0" = "sha256-tnjFkaCWmCPGw3huQN9VOAeiH+zk3Zk9xYoRKmg2WQg=";
|
||||
"ecolor-0.21.0" = "sha256-m7eHX6flwO21umtx3dnIuVUnNsEs3ZCyOk5Vvp/lVfI=";
|
||||
"notify-rust-4.6.0" = "sha256-jhCgisA9f6AI9e9JQUYRtEt47gQnDv5WsdRKFoKvHJs=";
|
||||
"supergfxctl-5.0.2" = "sha256-zp92mWyWUEWUP4kEyHbiUyYTtp2kLv+gxkPzOu77fi8=";
|
||||
"supergfxctl-5.1.1" = "sha256-AThaZ9dp5T/DtLPE6gZ9qgkw0xksiq+VCL9Y4G41voE=";
|
||||
};
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
files="
|
||||
daemon/src/config.rs
|
||||
daemon/src/ctrl_anime/config.rs
|
||||
daemon-user/src/daemon.rs
|
||||
daemon-user/src/ctrl_anime.rs
|
||||
daemon-user/src/user_config.rs
|
||||
daemon-user/src/config.rs
|
||||
rog-control-center/src/main.rs
|
||||
rog-aura/src/aura_detection.rs
|
||||
"
|
||||
for file in $files; do
|
||||
substituteInPlace $file --replace /usr/share $out/share
|
||||
@ -63,23 +62,7 @@ rustPlatform.buildRustPackage rec {
|
||||
doCheck = false;
|
||||
|
||||
postInstall = ''
|
||||
install -Dm444 -t $out/share/dbus-1/system.d/ data/asusd.conf
|
||||
install -Dm444 -t $out/share/rog-gui/layouts/ rog-aura/data/layouts/*
|
||||
|
||||
install -Dm444 -t $out/share/applications/ rog-control-center/data/rog-control-center.desktop
|
||||
install -Dm444 -t $out/share/icons/hicolor/512x512/apps/ rog-control-center/data/rog-control-center.png data/icons/asus_notif_*
|
||||
install -Dm444 -t $out/share/icons/hicolor/scalable/status/ data/icons/scalable/*
|
||||
|
||||
install -Dm444 -t $out/share/asusd/anime/asus/rog/ rog-anime/data/anime/asus/rog/Sunset.gif
|
||||
install -Dm444 -t $out/share/asusd/anime/asus/gaming/ rog-anime/data/anime/asus/gaming/Controller.gif
|
||||
install -Dm444 -t $out/share/asusd/anime/custom/ rog-anime/data/anime/custom/*
|
||||
|
||||
install -Dm444 -t $out/share/asusd/data/ data/asusd-ledmodes.toml
|
||||
|
||||
install -Dm444 data/asusd.rules $out/lib/udev/rules.d/99-asusd.rules
|
||||
install -Dm444 -t $out/share/dbus-1/system.d/ data/asusd.conf
|
||||
install -Dm444 -t $out/lib/systemd/system/ data/asusd.service
|
||||
install -Dm444 -t $out/lib/systemd/user/ data/asusd-user.service
|
||||
make prefix=$out install-data
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
|
@ -1,22 +1,33 @@
|
||||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitLab
|
||||
, fetchpatch
|
||||
, pkg-config
|
||||
, systemd
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "supergfxctl";
|
||||
version = "5.0.1";
|
||||
version = "5.1.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "asus-linux";
|
||||
repo = "supergfxctl";
|
||||
rev = version;
|
||||
hash = "sha256-4q+7F8s6y+oDkBUKIBBsXZ2EtADcChdnjmABjBUnH9k=";
|
||||
hash = "sha256-AThaZ9dp5T/DtLPE6gZ9qgkw0xksiq+VCL9Y4G41voE=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-nfs9sUq9569qXsC7JYMzrRPdQQm/l4HZANlG7827K8o=";
|
||||
# fix reported version in Cargo.lock
|
||||
# submitted upstream: https://gitlab.com/asus-linux/supergfxctl/-/merge_requests/31
|
||||
# FIXME: remove for next update
|
||||
cargoPatches = [
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.com/asus-linux/supergfxctl/-/commit/8812dd208791d162881d72f785650a3344ec5151.diff";
|
||||
hash = "sha256-eFFj2nIwGXHV1vMIpZvdvFPtfNLDfgqyGRt+VvB03LE=";
|
||||
})
|
||||
];
|
||||
|
||||
cargoSha256 = "sha256-gbRGUWfpCQjCxuTdQ+qwOeCDU17G3nNFkIPAgzmeL+E=";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace data/supergfxd.service --replace /usr/bin/supergfxd $out/bin/supergfxd
|
||||
|
@ -2,22 +2,16 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "git-cola";
|
||||
version = "4.1.0";
|
||||
version = "4.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "git-cola";
|
||||
repo = "git-cola";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-s+acQo9b+ZQ31qXBf0m8ajXYuYEQzNybmX9nw+c0DQY=";
|
||||
hash = "sha256-VAn4zXypOugPIVyXQ/8Yt0rCDM7hVdIY+jpmoTHqssU=";
|
||||
};
|
||||
|
||||
# TODO: remove in the next release since upstream removed pytest-flake8
|
||||
# https://github.com/git-cola/git-cola/commit/6c5c5c6c888ee1a095fc1ca5521af9a03b833205
|
||||
postPatch = ''
|
||||
substituteInPlace pytest.ini \
|
||||
--replace "--flake8" ""
|
||||
'';
|
||||
|
||||
buildInputs = [ qt5.qtwayland ];
|
||||
propagatedBuildInputs = with python3Packages; [ git pyqt5 qtpy send2trash ];
|
||||
nativeBuildInputs = [ gettext qt5.wrapQtAppsHook ];
|
||||
nativeCheckInputs = with python3Packages; [ git pytestCheckHook ];
|
||||
|
@ -28,7 +28,7 @@ assert sendEmailSupport -> perlSupport;
|
||||
assert svnSupport -> perlSupport;
|
||||
|
||||
let
|
||||
version = "2.40.0";
|
||||
version = "2.40.1";
|
||||
svn = subversionClient.override { perlBindings = perlSupport; };
|
||||
gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
|
||||
in
|
||||
@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
|
||||
hash = "sha256-sXpZj79Ycp7xO1d0ZeuTstSE3xIBUYtwi1BE/2I79G0=";
|
||||
hash = "sha256-SJO4uY7vyf3EsOfKJJ40AAT6p4BKQz0XQp4xHh/vIdI=";
|
||||
};
|
||||
|
||||
outputs = [ "out" ] ++ lib.optional withManual "doc";
|
||||
|
@ -5,12 +5,12 @@
|
||||
}: stdenv.mkDerivation rec {
|
||||
|
||||
pname = "vdr";
|
||||
version = "2.6.3";
|
||||
version = "2.6.4";
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://git.tvdr.de/vdr.git";
|
||||
rev = version;
|
||||
sha256 = "sha256-SDaNk8tDaO70+V7sozMGTCzpnOqa52xdEQPURkyuTt8=";
|
||||
sha256 = "sha256-QCq+IxulrxDX+fzI+IHywboemJQnUfZrHRzP6B9qfvk=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -15,16 +15,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "youtube-tui";
|
||||
version = "0.7.0";
|
||||
version = "0.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Siriusmart";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-YQj+hmNh8rqP7bKeFDQhZIf79WG7vqg31oReb0jrmg4=";
|
||||
hash = "sha256-Dhdtdc8LmTeg9cxKPfdxRowTsAaJXKtvJXqJHK1t3P4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-qcWuh8qaOQBBebdX3D01k5yXZfifbFC+ZP0d6bJeOr0=";
|
||||
cargoHash = "sha256-hT3Ygn0zcQdU1iU22e5SP5ZF6S6GiZzWieBsCqViN8Y=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "amazon-ecs-agent";
|
||||
version = "1.70.2";
|
||||
version = "1.71.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = "v${version}";
|
||||
owner = "aws";
|
||||
repo = pname;
|
||||
hash = "sha256-52Ty7g8SnhYAgYsE9mpmRmg4T6QifjWDIwNnJZBSPMk=";
|
||||
hash = "sha256-+/aeLI1+VE80NdeAqc7ctZsS6i0Ymj/GXssduP8X//c=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
26
pkgs/applications/window-managers/i3/cycle-focus.nix
Normal file
26
pkgs/applications/window-managers/i3/cycle-focus.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, rustPlatform
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "i3-cycle-focus";
|
||||
version = "unstable-2021-09-27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TheDoctor314";
|
||||
repo = "i3-cycle-focus";
|
||||
rev = "d94f22e4b8502de4ed846a211fa0c8418b3e3e89";
|
||||
hash = "sha256-caZKvxOqoYgPs+Zjltj8K0/ospjkLnA4kh0rsTjeU3Y=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-9glaxThm/ovgvUWCyrycS/Oe5t8iN5P38fF5vO5awQE=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple tool to cyclically switch between the windows on the active workspace";
|
||||
homepage = "https://github.com/TheDoctor314/i3-cycle-focus";
|
||||
license = licenses.unlicense;
|
||||
maintainers = with maintainers; [ GaetanLepage ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -15,16 +15,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "i3status-rust";
|
||||
version = "0.31.0";
|
||||
version = "0.31.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "greshake";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-xOwzNQGoa5rOEZnIt8738aGTHSWvgzN17TSc3hi+fcE=";
|
||||
hash = "sha256-nAwAQUjoKeGaTixTdk9yIgdy4+j6t6cbvH4NpBdSyns=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-rZmqyIe/FUIard35NFr5W/18t1auSYdAV54dlEprnm8=";
|
||||
cargoHash = "sha256-/Z6HKOMIhQm52MlPty8ED9QPPJcM7juDpQQKgJVozyU=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config makeWrapper ];
|
||||
|
||||
|
@ -36,10 +36,14 @@ _separateDebugInfo() {
|
||||
# architecture than we're building for. (This happens with
|
||||
# firmware blobs in QEMU.)
|
||||
(
|
||||
if [ -f "$dst/${id:0:2}/${id:2}.debug" ]
|
||||
then
|
||||
echo "separate-debug-info: warning: multiple files with build id $id found, overwriting"
|
||||
fi
|
||||
$OBJCOPY --only-keep-debug "$i" "$dst/${id:0:2}/${id:2}.debug"
|
||||
|
||||
# Also a create a symlink <original-name>.debug.
|
||||
ln -sfn ".build-id/${id:0:2}/${id:2}.debug" "$dst/../$(basename "$i")"
|
||||
) || rmdir -p "$dst/${id:0:2}"
|
||||
done < <(find "$prefix" -type f -print0)
|
||||
done < <(find "$prefix" -type f -print0 | sort -z)
|
||||
}
|
||||
|
@ -55,16 +55,16 @@ assert (extraParameters != null) -> set != null;
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = if set != null then "iosevka-${set}" else "iosevka";
|
||||
version = "22.0.2";
|
||||
version = "22.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "be5invis";
|
||||
repo = "iosevka";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-cBIcf6GEJnkOvKPMWTb9dWqN9uPs4ynr6tLc7+B6f3k=";
|
||||
hash = "sha256-aq8IKWGOOYf83ed5Z10/B+42SsI7JY5ED3AwAlk/24k=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-tLdJuDFVPdnEtHdGdU7G6N+LIiINVVB5/NNFaeveK/U=";
|
||||
npmDepsHash = "sha256-6zt7q5aGb6jaa6YBr4HqawZjf2jqNnR9xQM/abKpT04=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
remarshal
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mobile-broadband-provider-info";
|
||||
version = "20221107";
|
||||
version = "20230416";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-2TOSVmw0epbu2V2oxmpdoN2U9BFc+zowX/JoLGTP2BA=";
|
||||
sha256 = "sha256-4+FAqi23abKZ0d+GqJDpSKuZ1NOIMTAsRS0ft/hWiuw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -26,13 +26,13 @@ lib.checkListOfEnum "${pname}: theme tweaks" validTweaks tweaks
|
||||
stdenvNoCC.mkDerivation
|
||||
rec {
|
||||
inherit pname;
|
||||
version = "2024-04-08";
|
||||
version = "2023-04-08";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "Orchis-theme";
|
||||
owner = "vinceliuice";
|
||||
rev = version;
|
||||
hash = "sha256-1Yatb5BeRLu4kWm+EAiRYPvGxRNeIo63SAN3/Dp7Na8=";
|
||||
hash = "sha256-/X4Hr2M/7pf6JxTUvPoG5VkQd+rweEPeTNe9glSLh78=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gtk3 sassc ];
|
||||
|
57
pkgs/desktops/deepin/core/dde-gsettings-schemas/default.nix
Normal file
57
pkgs/desktops/deepin/core/dde-gsettings-schemas/default.nix
Normal file
@ -0,0 +1,57 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, runCommand
|
||||
, glib
|
||||
, gtk3
|
||||
, dtkcommon
|
||||
, dde-dock
|
||||
, startdde
|
||||
, dde-launcher
|
||||
, dde-session-shell
|
||||
, dde-session-ui
|
||||
, dde-control-center
|
||||
, dde-file-manager
|
||||
, deepin-desktop-schemas
|
||||
, deepin-movie-reborn
|
||||
, deepin-screen-recorder
|
||||
, deepin-system-monitor
|
||||
, extraGSettingsOverrides ? ""
|
||||
, extraGSettingsOverridePackages ? [ ]
|
||||
}:
|
||||
|
||||
let
|
||||
gsettingsOverridePackages = [
|
||||
dtkcommon
|
||||
dde-dock
|
||||
startdde
|
||||
dde-launcher
|
||||
dde-session-shell
|
||||
dde-session-ui
|
||||
dde-control-center
|
||||
dde-file-manager
|
||||
deepin-desktop-schemas
|
||||
deepin-movie-reborn
|
||||
deepin-screen-recorder
|
||||
deepin-system-monitor
|
||||
] ++ extraGSettingsOverridePackages;
|
||||
|
||||
in
|
||||
with lib;
|
||||
|
||||
# TODO: Having https://github.com/NixOS/nixpkgs/issues/54150 would supersede this
|
||||
runCommand "nixos-gsettings-desktop-schemas" { }
|
||||
''
|
||||
schema_dir=$out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
|
||||
|
||||
mkdir -p $schema_dir
|
||||
|
||||
${concatMapStrings (pkg: "cp -rvf ${glib.getSchemaPath pkg}/* $schema_dir\n") gsettingsOverridePackages}
|
||||
|
||||
chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides
|
||||
|
||||
cat - > $schema_dir/nixos-defaults.gschema.override <<- EOF
|
||||
${extraGSettingsOverrides}
|
||||
EOF
|
||||
|
||||
${glib.dev}/bin/glib-compile-schemas $schema_dir
|
||||
''
|
@ -37,6 +37,7 @@ let
|
||||
dde-session-ui = callPackage ./core/dde-session-ui { };
|
||||
dde-polkit-agent = callPackage ./core/dde-polkit-agent { };
|
||||
dpa-ext-gnomekeyring = callPackage ./core/dpa-ext-gnomekeyring { };
|
||||
dde-gsettings-schemas = callPackage ./core/dde-gsettings-schemas { };
|
||||
|
||||
#### Dtk Application
|
||||
deepin-album = callPackage ./apps/deepin-album { };
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, fetchpatch2
|
||||
, pkg-config
|
||||
, gtk3
|
||||
, vala
|
||||
@ -54,6 +55,19 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "SJFm+H3Z0pAR9eW3lpTyWItHP34ZHFnOkBPIyODjY+c=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix build with Vala 0.56.7 & 0.57+
|
||||
# https://hydra.nixos.org/build/217892787
|
||||
(fetchpatch2 {
|
||||
url = "https://gitlab.gnome.org/GNOME/geary/-/commit/4a7ca820b1d3d6130fedf254dc5b4cd7efb58f2c.patch";
|
||||
sha256 = "L63TMOkxTYu8jxX+IIc9owoa1TBmaeGXgW+8gfMtFw4=";
|
||||
})
|
||||
(fetchpatch2 {
|
||||
url = "https://gitlab.gnome.org/GNOME/geary/-/commit/10f9c133a2ad515127d65f3bba13a0d91b75f4af.patch";
|
||||
sha256 = "0yohy+FZyHW4MkImLQYNlcZyMekH7mXvO2yEuAm3fXw=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
appstream-glib
|
||||
desktop-file-utils
|
||||
|
@ -21,9 +21,9 @@
|
||||
let unwrapped = mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "thunar";
|
||||
version = "4.18.4";
|
||||
version = "4.18.6";
|
||||
|
||||
sha256 = "sha256-tdk0sWUzTmYXk+dOPVOpjmODpqmhzQc9jAOCk2+yNKM=";
|
||||
sha256 = "sha256-7SWpIBGm/YhnQSWYi5BgYjx8WCiEqxZRTagz/cY0p3E=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
docbook_xsl
|
||||
|
@ -1,17 +1,27 @@
|
||||
{ lib, stdenv, fetchurl, pkg-config, intltool, libxfce4util, xfce4-panel,
|
||||
libxfce4ui, gtk3, exo, gitUpdater }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, pkg-config
|
||||
, intltool
|
||||
, libxfce4util
|
||||
, xfce4-panel
|
||||
, libxfce4ui
|
||||
, glib
|
||||
, gtk3
|
||||
, gitUpdater
|
||||
}:
|
||||
|
||||
let
|
||||
category = "panel-plugins";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xfce4-mpc-plugin";
|
||||
version = "0.5.2";
|
||||
pname = "xfce4-mpc-plugin";
|
||||
version = "0.5.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
|
||||
sha256 = "sha256-7v54t7a5UxKzpSgUt/Yy3JKXDBs+lTXeYWMVdJv2d2A=";
|
||||
sha256 = "sha256-BGf7TRrNmC08PguJy0EBmUaFBST/Ge0PZYqNVse3Zk0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -23,8 +33,8 @@ stdenv.mkDerivation rec {
|
||||
libxfce4util
|
||||
libxfce4ui
|
||||
xfce4-panel
|
||||
glib
|
||||
gtk3
|
||||
exo
|
||||
];
|
||||
|
||||
passthru.updateScript = gitUpdater {
|
||||
|
@ -1,14 +1,27 @@
|
||||
{ lib, mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }:
|
||||
{ lib
|
||||
, mkXfceDerivation
|
||||
, glib
|
||||
, gtk3
|
||||
, libxfce4ui
|
||||
, libxfce4util
|
||||
, xfce4-panel
|
||||
}:
|
||||
|
||||
mkXfceDerivation {
|
||||
category = "panel-plugins";
|
||||
pname = "xfce4-netload-plugin";
|
||||
version = "1.4.0";
|
||||
version = "1.4.1";
|
||||
rev-prefix = "xfce4-netload-plugin-";
|
||||
odd-unstable = false;
|
||||
sha256 = "sha256-HasaMymMCPidYkaAUK4gvD+Ka7NJdFOTeq43gJ1G3jo=";
|
||||
sha256 = "sha256-PwbyYi9EeSTKilVXlbseY2zkabcL7o2CGnk2DFFVI94=";
|
||||
|
||||
buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
libxfce4ui
|
||||
libxfce4util
|
||||
xfce4-panel
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Internet load speed plugin for Xfce4 panel";
|
||||
|
@ -56,7 +56,7 @@ with builtins;
|
||||
|
||||
let majorVersion = "12";
|
||||
version = "${majorVersion}.2.0";
|
||||
disableBootstrap = !stdenv.hostPlatform.isDarwin;
|
||||
disableBootstrap = !stdenv.hostPlatform.isDarwin && !profiledCompiler;
|
||||
|
||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||
|
||||
@ -288,6 +288,8 @@ lib.pipe (stdenv.mkDerivation ({
|
||||
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
||||
|
||||
buildFlags =
|
||||
# we do not yet have Nix-driven profiling
|
||||
assert profiledCompiler -> !disableBootstrap;
|
||||
let target =
|
||||
lib.optionalString (profiledCompiler) "profiled" +
|
||||
lib.optionalString (targetPlatform == hostPlatform && hostPlatform == buildPlatform && !disableBootstrap) "bootstrap";
|
||||
|
@ -36,9 +36,14 @@ let
|
||||
"-DSPHINX_OUTPUT_MAN=ON"
|
||||
"-DSPHINX_OUTPUT_HTML=OFF"
|
||||
"-DSPHINX_WARNINGS_AS_ERRORS=OFF"
|
||||
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
|
||||
"-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
|
||||
"-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen"
|
||||
# Added in LLVM15:
|
||||
# `clang-tidy-confusable-chars-gen`: https://github.com/llvm/llvm-project/commit/c3574ef739fbfcc59d405985a3a4fa6f4619ecdb
|
||||
# `clang-pseudo-gen`: https://github.com/llvm/llvm-project/commit/cd2292ef824591cc34cc299910a3098545c840c7
|
||||
"-DCLANG_TIDY_CONFUSABLE_CHARS_GEN=${buildLlvmTools.libclang.dev}/bin/clang-tidy-confusable-chars-gen"
|
||||
"-DCLANG_PSEUDO_GEN=${buildLlvmTools.libclang.dev}/bin/clang-pseudo-gen"
|
||||
];
|
||||
|
||||
patches = [
|
||||
@ -60,6 +65,12 @@ let
|
||||
|
||||
outputs = [ "out" "lib" "dev" "python" ];
|
||||
|
||||
env = lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) {
|
||||
# The following warning is triggered with (at least) gcc >=
|
||||
# 12, but appears to occur only for cross compiles.
|
||||
NIX_CFLAGS_COMPILE = "-Wno-maybe-uninitialized";
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
ln -sv $out/bin/clang $out/bin/cpp
|
||||
|
||||
@ -80,7 +91,7 @@ let
|
||||
patchShebangs $python/bin
|
||||
|
||||
mkdir -p $dev/bin
|
||||
cp bin/clang-tblgen $dev/bin
|
||||
cp bin/{clang-tblgen,clang-tidy-confusable-chars-gen,clang-pseudo-gen} $dev/bin
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
@ -36,9 +36,14 @@ let
|
||||
"-DSPHINX_OUTPUT_MAN=ON"
|
||||
"-DSPHINX_OUTPUT_HTML=OFF"
|
||||
"-DSPHINX_WARNINGS_AS_ERRORS=OFF"
|
||||
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
|
||||
"-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
|
||||
"-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen"
|
||||
# Added in LLVM15:
|
||||
# `clang-tidy-confusable-chars-gen`: https://github.com/llvm/llvm-project/commit/c3574ef739fbfcc59d405985a3a4fa6f4619ecdb
|
||||
# `clang-pseudo-gen`: https://github.com/llvm/llvm-project/commit/cd2292ef824591cc34cc299910a3098545c840c7
|
||||
"-DCLANG_TIDY_CONFUSABLE_CHARS_GEN=${buildLlvmTools.libclang.dev}/bin/clang-tidy-confusable-chars-gen"
|
||||
"-DCLANG_PSEUDO_GEN=${buildLlvmTools.libclang.dev}/bin/clang-pseudo-gen"
|
||||
];
|
||||
|
||||
patches = [
|
||||
@ -60,6 +65,12 @@ let
|
||||
|
||||
outputs = [ "out" "lib" "dev" "python" ];
|
||||
|
||||
env = lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) {
|
||||
# The following warning is triggered with (at least) gcc >=
|
||||
# 12, but appears to occur only for cross compiles.
|
||||
NIX_CFLAGS_COMPILE = "-Wno-maybe-uninitialized";
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
ln -sv $out/bin/clang $out/bin/cpp
|
||||
|
||||
@ -80,7 +91,7 @@ let
|
||||
patchShebangs $python/bin
|
||||
|
||||
mkdir -p $dev/bin
|
||||
cp bin/clang-tblgen $dev/bin
|
||||
cp bin/{clang-tblgen,clang-tidy-confusable-chars-gen,clang-pseudo-gen} $dev/bin
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
@ -1,73 +0,0 @@
|
||||
# New rust versions should first go to staging.
|
||||
# Things to check after updating:
|
||||
# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin:
|
||||
# i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github
|
||||
# This testing can be also done by other volunteers as part of the pull
|
||||
# request review, in case platforms cannot be covered.
|
||||
# 2. The LLVM version used for building should match with rust upstream.
|
||||
# Check the version number in the src/llvm-project git submodule in:
|
||||
# https://github.com/rust-lang/rust/blob/<version-tag>/.gitmodules
|
||||
# 3. Firefox and Thunderbird should still build on x86_64-linux.
|
||||
|
||||
{ stdenv, lib
|
||||
, buildPackages
|
||||
, newScope, callPackage
|
||||
, CoreFoundation, Security, SystemConfiguration
|
||||
, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost
|
||||
, makeRustPlatform
|
||||
, llvmPackages_11
|
||||
, llvmPackages_15, llvm_15
|
||||
, fetchpatch
|
||||
} @ args:
|
||||
|
||||
import ./default.nix {
|
||||
rustcVersion = "1.68.2";
|
||||
rustcSha256 = "sha256-kzOcI/fNTQxF21jhi0xuFtYHD0J3qtnSSS0jKUvzLpY=";
|
||||
|
||||
llvmSharedForBuild = pkgsBuildBuild.llvmPackages_15.libllvm.override { enableSharedLibraries = true; };
|
||||
llvmSharedForHost = pkgsBuildHost.llvmPackages_15.libllvm.override { enableSharedLibraries = true; };
|
||||
llvmSharedForTarget = pkgsBuildTarget.llvmPackages_15.libllvm.override { enableSharedLibraries = true; };
|
||||
|
||||
llvmBootstrapForDarwin = llvmPackages_11;
|
||||
|
||||
# For use at runtime
|
||||
llvmShared = llvm_15.override { enableSharedLibraries = true; };
|
||||
|
||||
# Expose llvmPackages used for rustc from rustc via passthru for LTO in Firefox
|
||||
llvmPackages = llvmPackages_15;
|
||||
|
||||
# Note: the version MUST be one version prior to the version we're
|
||||
# building
|
||||
bootstrapVersion = "1.67.1";
|
||||
|
||||
# fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
|
||||
bootstrapHashes = {
|
||||
i686-unknown-linux-gnu = "4fe2128cfc32687e4717da4c6cb21aa563c36802c8e695cd3537a45efc5b8729";
|
||||
x86_64-unknown-linux-gnu = "652a8966436c4e97b127721d9130810e1cdc8dfdf526fad68c9c1f6281bd02a3";
|
||||
x86_64-unknown-linux-musl = "6fdc9379f662f8e9edd2d23e0a3ebcda502cc9f9a381b7c7d5fa38c326a82ad1";
|
||||
arm-unknown-linux-gnueabihf = "eb919ef62a084797c148574abe39f2fb1e52d20b004041090811a6d479eb6503";
|
||||
armv7-unknown-linux-gnueabihf = "09614988feb6310f64eaadf609c92dba5da5ebdbb5531b43a2b18d5336296b67";
|
||||
aarch64-unknown-linux-gnu = "8edee248eed4b17c09b3d7b0096944b7e5992dd1119a28429c0b6b4d39a9613c";
|
||||
aarch64-unknown-linux-musl = "05d03936493c19483eec4dc63d03f9e7a13f356d1147d1b8d7fc5dbfe508b4ed";
|
||||
x86_64-apple-darwin = "020702c9564f53e18ac880db77c2f6b660a24ea372e4fda3f0c1ef2f8b9c74b9";
|
||||
aarch64-apple-darwin = "8b07560267ec85703a5a9397a1746170fd7013e29fcfb9ffb8daa9bbf1e3211a";
|
||||
powerpc64le-unknown-linux-gnu = "1d4d8b75c72362bb6e02bf56b53af9287806c4ef08187b8d166af0557a7c0096";
|
||||
riscv64gc-unknown-linux-gnu = "a1a33154aeb5498c0c24a2ba77ec63e31a40df5e0861c0afda8d5867289c5984";
|
||||
mips64el-unknown-linux-gnuabi64 = "6d70fe81e4f52ce5d87bcf95b60587f43f68e6730d2def7872646a9c561017ca";
|
||||
};
|
||||
|
||||
selectRustPackage = pkgs: pkgs.rust_1_68;
|
||||
|
||||
rustcPatches = [
|
||||
# Fixes ICE.
|
||||
# https://github.com/rust-lang/rust/pull/107688
|
||||
(fetchpatch {
|
||||
name = "re-erased-regions-are-local.patch";
|
||||
url = "https://github.com/rust-lang/rust/commit/9d110847ab7f6aef56a8cd20cb6cea4fbcc51cd9.patch";
|
||||
excludes = [ "*tests/*" ];
|
||||
hash = "sha256-EZH5K1BEOOfi97xZr1xEHFP4jjvJ1+xqtRMvxBoL8pU=";
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
(builtins.removeAttrs args [ "fetchpatch" "pkgsBuildHost" "llvmPackages_11" "llvmPackages_15" "llvm_15"])
|
63
pkgs/development/compilers/rust/1_69.nix
Normal file
63
pkgs/development/compilers/rust/1_69.nix
Normal file
@ -0,0 +1,63 @@
|
||||
# New rust versions should first go to staging.
|
||||
# Things to check after updating:
|
||||
# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin:
|
||||
# i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github
|
||||
# This testing can be also done by other volunteers as part of the pull
|
||||
# request review, in case platforms cannot be covered.
|
||||
# 2. The LLVM version used for building should match with rust upstream.
|
||||
# Check the version number in the src/llvm-project git submodule in:
|
||||
# https://github.com/rust-lang/rust/blob/<version-tag>/.gitmodules
|
||||
# 3. Firefox and Thunderbird should still build on x86_64-linux.
|
||||
|
||||
{ stdenv, lib
|
||||
, buildPackages
|
||||
, newScope, callPackage
|
||||
, CoreFoundation, Security, SystemConfiguration
|
||||
, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost
|
||||
, makeRustPlatform
|
||||
, llvmPackages_11
|
||||
, llvmPackages_15, llvm_15
|
||||
} @ args:
|
||||
|
||||
import ./default.nix {
|
||||
rustcVersion = "1.69.0";
|
||||
rustcSha256 = "sha256-+wWXGGetbMq703ICefWpS5n2ECSSMYe1a7XEVfo89g8=";
|
||||
|
||||
llvmSharedForBuild = pkgsBuildBuild.llvmPackages_15.libllvm.override { enableSharedLibraries = true; };
|
||||
llvmSharedForHost = pkgsBuildHost.llvmPackages_15.libllvm.override { enableSharedLibraries = true; };
|
||||
llvmSharedForTarget = pkgsBuildTarget.llvmPackages_15.libllvm.override { enableSharedLibraries = true; };
|
||||
|
||||
llvmBootstrapForDarwin = llvmPackages_11;
|
||||
|
||||
# For use at runtime
|
||||
llvmShared = llvm_15.override { enableSharedLibraries = true; };
|
||||
|
||||
# Expose llvmPackages used for rustc from rustc via passthru for LTO in Firefox
|
||||
llvmPackages = llvmPackages_15;
|
||||
|
||||
# Note: the version MUST be one version prior to the version we're
|
||||
# building
|
||||
bootstrapVersion = "1.68.2";
|
||||
|
||||
# fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
|
||||
bootstrapHashes = {
|
||||
i686-unknown-linux-gnu = "a85e1aa0831e8bd31dc8ba3e042b6dea69b4d45fd5d1111bf6fd2cc9d58dd619";
|
||||
x86_64-unknown-linux-gnu = "df7c7466ef35556e855c0d35af7ff08e133040400452eb3427c53202b6731926";
|
||||
x86_64-unknown-linux-musl = "bd02cbdedb4b7f2169a68dc8410e8436fab3734a3a30cab81ab21661d70c6ddd";
|
||||
arm-unknown-linux-gnueabihf = "a5847f9bcbb1fb4183656b1b01e191d8e48c7bc8346ec6831318b697a2f305c6";
|
||||
armv7-unknown-linux-gnueabihf = "f87e4b063b5f916b4a5057e5f544f819cee9ab5da3fe1a977cddb2170e7ba0d7";
|
||||
aarch64-unknown-linux-gnu = "b24d0df852490d80791a228f18c2b75f24b1e6437e6e745f85364edab245f7fa";
|
||||
aarch64-unknown-linux-musl = "e6615e72aaa3e3c9c42c35139ab253a9b738a4eab719e3e306e25026c1aa93e5";
|
||||
x86_64-apple-darwin = "632540d3d83758cb048dc45fcfbc0b29f6f170161a3051be22b0a2962a566fb9";
|
||||
aarch64-apple-darwin = "ab4c6add94686a0392953c588c2b61d4c03f51e855232d161dc492f286e34202";
|
||||
powerpc64le-unknown-linux-gnu = "cf95658277d71bb8ae3a0fbc53099cc1397ed40e0953c026f41cde4a9619efca";
|
||||
riscv64gc-unknown-linux-gnu = "befcf2d53e35ae3fe0d609d1e056bdc814bd36ce54028b8d6b8b9e38c0afcaa5";
|
||||
mips64el-unknown-linux-gnuabi64 = "ee85bbfdc2fb831f067fda19881e6427c8c86571ebff16c1bd219d850969ef0a";
|
||||
};
|
||||
|
||||
selectRustPackage = pkgs: pkgs.rust_1_69;
|
||||
|
||||
rustcPatches = [ ];
|
||||
}
|
||||
|
||||
(builtins.removeAttrs args [ "pkgsBuildHost" "llvmPackages_11" "llvmPackages_15" "llvm_15"])
|
@ -1,10 +1,13 @@
|
||||
{ lib, writeShellScriptBin, cargo, cargo-auditable }:
|
||||
{ lib, runCommand, makeBinaryWrapper, cargo, cargo-auditable }:
|
||||
|
||||
(writeShellScriptBin "cargo" ''
|
||||
export PATH="${lib.makeBinPath [ cargo cargo-auditable ]}:$PATH"
|
||||
CARGO_AUDITABLE_IGNORE_UNSUPPORTED=1 exec cargo auditable "$@"
|
||||
'') // {
|
||||
runCommand "auditable-${cargo.name}" {
|
||||
nativeBuildInputs = [ makeBinaryWrapper ];
|
||||
meta = cargo-auditable.meta // {
|
||||
mainProgram = "cargo";
|
||||
};
|
||||
}
|
||||
} ''
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${cargo}/bin/cargo $out/bin/cargo \
|
||||
--set CARGO_AUDITABLE_IGNORE_UNSUPPORTED 1 \
|
||||
--prefix PATH : ${lib.makeBinPath [ cargo cargo-auditable ]}
|
||||
''
|
||||
|
@ -19,17 +19,16 @@ let
|
||||
sha256 = "189gjqzdz10xh3ybiy4ch1r98bsmkcb4hpnrmggd4y2g5kqnyx4y";
|
||||
};
|
||||
|
||||
"2.2.11" = {
|
||||
sha256 = "sha256-NgfWgBZzGICEXO1dXVXGBUzEnxkSGhUCfmxWB66Elt8=";
|
||||
};
|
||||
|
||||
"2.3.0" = {
|
||||
sha256 = "sha256-v3Q5SXEq4Cy3ST87i1fOJBlIv2ETHjaGDdszTaFDnJc=";
|
||||
};
|
||||
|
||||
# The loosely held nixpkgs convention for SBCL is to keep the last two
|
||||
# versions.
|
||||
# https://github.com/NixOS/nixpkgs/pull/200994#issuecomment-1315042841
|
||||
"2.3.2" = {
|
||||
sha256 = "sha256-RMwWLPpjMqmojHoSHRkDiCikuk9r/7d+8cexdAfLHqo=";
|
||||
};
|
||||
|
||||
"2.3.4" = {
|
||||
sha256 = "sha256-8RtHZMbqvbJ+WpxGshcgTRG82lNOc7+XBz1Xgx0gnE4=";
|
||||
};
|
||||
};
|
||||
|
||||
in with versionMap.${version};
|
||||
|
@ -103,8 +103,8 @@ in rec {
|
||||
};
|
||||
|
||||
vala_0_56 = generic {
|
||||
version = "0.56.6";
|
||||
sha256 = "BQ6EHL/iuOfQ+zUMlQa9dVe+HNhqkMiWdl8aCaGHABM=";
|
||||
version = "0.56.7";
|
||||
sha256 = "PTnHWW1fqa6L/q5HZmn4EfcFe397kwhHiie2hEPYsAM=";
|
||||
};
|
||||
|
||||
vala = vala_0_56;
|
||||
|
@ -3,14 +3,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
version = "3.3.1";
|
||||
|
||||
fullMaude = fetchurl {
|
||||
url = "https://maude.cs.illinois.edu/w/images/b/bc/Full-Maude-3.2.1.zip";
|
||||
sha256 = "0751b3c4619283b3f0adf1c3aac113f1d4334a3ca859ed00d66de5f5857563ec";
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
@ -51,8 +44,6 @@ stdenv.mkDerivation {
|
||||
|
||||
postInstall = ''
|
||||
for n in "$out/bin/"*; do wrapProgram "$n" --suffix MAUDE_LIB ':' "$out/share/maude"; done
|
||||
unzip ${fullMaude}
|
||||
install -D -m 444 full-maude.maude $out/share/maude/full-maude.maude
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -288,6 +288,9 @@ in with passthru; stdenv.mkDerivation {
|
||||
./3.8/0001-On-all-posix-systems-not-just-Darwin-set-LDSHARED-if.patch
|
||||
# Use sysconfigdata to find headers. Fixes cross-compilation of extension modules.
|
||||
./3.7/fix-finding-headers-when-cross-compiling.patch
|
||||
] ++ optionals stdenv.hostPlatform.isLoongArch64 [
|
||||
# https://github.com/python/cpython/issues/90656
|
||||
./loongarch-support.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
@ -0,0 +1,50 @@
|
||||
diff --git a/configure b/configure
|
||||
index 8133d47f61..334c98e208 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -6215,6 +6215,20 @@ cat > conftest.c <<EOF
|
||||
# else
|
||||
# error unknown platform triplet
|
||||
# endif
|
||||
+# elif defined(__loongarch__)
|
||||
+# if defined(__loongarch_lp64)
|
||||
+# if defined(__loongarch_soft_float)
|
||||
+ loongarch64-linux-gnusf
|
||||
+# elif defined(__loongarch_single_float)
|
||||
+ loongarch64-linux-gnuf32
|
||||
+# elif defined(__loongarch_double_float)
|
||||
+ loongarch64-linux-gnu
|
||||
+# else
|
||||
+# error unknown platform triplet
|
||||
+# endif
|
||||
+# else
|
||||
+# error unknown platform triplet
|
||||
+# endif
|
||||
# else
|
||||
# error unknown platform triplet
|
||||
# endif
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 3f20d8980d..acde94a181 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -959,6 +959,20 @@ cat > conftest.c <<EOF
|
||||
hppa-linux-gnu
|
||||
# elif defined(__ia64__)
|
||||
ia64-linux-gnu
|
||||
+# elif defined(__loongarch__)
|
||||
+# if defined(__loongarch_lp64)
|
||||
+# if defined(__loongarch_soft_float)
|
||||
+ loongarch64-linux-gnusf
|
||||
+# elif defined(__loongarch_single_float)
|
||||
+ loongarch64-linux-gnuf32
|
||||
+# elif defined(__loongarch_double_float)
|
||||
+ loongarch64-linux-gnu
|
||||
+# else
|
||||
+# error unknown platform triplet
|
||||
+# endif
|
||||
+# else
|
||||
+# error unknown platform triplet
|
||||
+# endif
|
||||
# elif defined(__m68k__) && !defined(__mcoldfire__)
|
||||
m68k-linux-gnu
|
||||
# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6) && defined(_MIPSEL)
|
@ -2,12 +2,12 @@
|
||||
|
||||
callPackage ./generic.nix (args // rec {
|
||||
release = "8.6";
|
||||
version = "${release}.11";
|
||||
version = "${release}.13";
|
||||
|
||||
# Note: when updating, the hash in pkgs/development/libraries/tk/8.6.nix must also be updated!
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/tcl/tcl${version}-src.tar.gz";
|
||||
sha256 = "0n4211j80mxr6ql0xx52rig8r885rcbminfpjdb2qrw6hmk8c14c";
|
||||
sha256 = "sha256-Q6H650EvYf8R3iz9BdKM/Dpzdi81SkF8YjcKVOLK8GY=";
|
||||
};
|
||||
})
|
||||
|
@ -55,11 +55,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "SDL2";
|
||||
version = "2.26.4";
|
||||
version = "2.26.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.libsdl.org/release/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-Gg9oZJj7dorZ8/gLOQN6fQBurAk6rTnLTrzIMqiIcjE=";
|
||||
sha256 = "sha256-rY/qPaG+ZMg8RbHTY6a0uo/WD1veOyPsc4VXCexeq/c=";
|
||||
};
|
||||
dontDisableStatic = if withStatic then 1 else 0;
|
||||
outputs = [ "out" "dev" ];
|
||||
@ -170,6 +170,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with lib; {
|
||||
description = "A cross-platform multimedia library";
|
||||
homepage = "http://www.libsdl.org/";
|
||||
changelog = "https://github.com/libsdl-org/SDL/releases/tag/release-${version}";
|
||||
license = licenses.zlib;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ cpages ];
|
||||
|
@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-TkqJGYgxYnGXT/TpWF7R73KaEj0iwIvUcxKRedyFf+s=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = lib.optional stdenv.isDarwin darwin.libobjc;
|
||||
|
@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-QEfkeofsVxB9gyISL/P7bvnbcBuG7Q3A4UoAyQAXxgE=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ zlib ];
|
||||
|
||||
|
@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libopenmpt";
|
||||
version = "0.6.9";
|
||||
version = "0.6.10";
|
||||
|
||||
outputs = [ "out" "dev" "bin" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz";
|
||||
sha256 = "R56XWrt9wPqcrUG90x8lXXjUPgcmVGIIBY08P897blo=";
|
||||
sha256 = "wlvo3A2sI87AJUh+WPGV5NFPfZSu3dX+RrIcBPHOJ3Q=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -31,6 +31,8 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1npdixwxxn3s9q1f365x9n9rc5xgfz39hxf23faqvlrklgbhj0q6";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "man" ];
|
||||
|
||||
patches = [
|
||||
# CVE-2021-36217 / CVE-2021-3502
|
||||
(fetchpatch {
|
||||
@ -115,7 +117,7 @@ stdenv.mkDerivation rec {
|
||||
postInstall =
|
||||
# Maintain compat for mdnsresponder
|
||||
lib.optionalString withLibdnssdCompat ''
|
||||
ln -s avahi-compat-libdns_sd/dns_sd.h "$out/include/dns_sd.h"
|
||||
ln -s avahi-compat-libdns_sd/dns_sd.h "$dev/include/dns_sd.h"
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
|
@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aws-c-sdkutils";
|
||||
version = "0.1.8";
|
||||
version = "0.1.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "awslabs";
|
||||
repo = "aws-c-sdkutils";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-7aLupTbKC2I7+ylySe1xq3q6YDP9ogLlsWSKBk+jI+Q=";
|
||||
sha256 = "sha256-iKHO8awWWB8tvYCr+/R6hhK8a/PnanYYEAJ7zNOJC3w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -1,6 +1,8 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, eglexternalplatform
|
||||
, pkg-config
|
||||
, meson
|
||||
, ninja
|
||||
@ -12,35 +14,7 @@
|
||||
, wayland-protocols
|
||||
}:
|
||||
|
||||
let
|
||||
eglexternalplatform = stdenv.mkDerivation {
|
||||
pname = "eglexternalplatform";
|
||||
version = "1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Nvidia";
|
||||
repo = "eglexternalplatform";
|
||||
rev = "7c8f8e2218e46b1a4aa9538520919747f1184d86";
|
||||
sha256 = "0lr5s2xa1zn220ghmbsiwgmx77l156wk54c7hybia0xpr9yr2nhb";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p "$out/include/"
|
||||
cp interface/eglexternalplatform.h "$out/include/"
|
||||
cp interface/eglexternalplatformversion.h "$out/include/"
|
||||
|
||||
substituteInPlace eglexternalplatform.pc \
|
||||
--replace "/usr/include/EGL" "$out/include"
|
||||
mkdir -p "$out/share/pkgconfig"
|
||||
cp eglexternalplatform.pc "$out/share/pkgconfig/"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
license = licenses.mit;
|
||||
};
|
||||
};
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "egl-wayland";
|
||||
version = "1.1.11";
|
||||
|
||||
@ -53,6 +27,21 @@ in stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-xb0d8spr4GoGZl/8C8BoPMPN7PAlzuQV11tEJbOQQ4U=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# remove after next update
|
||||
# https://github.com/NVIDIA/egl-wayland/pull/79
|
||||
(fetchpatch {
|
||||
url = "https://github.com/NVIDIA/egl-wayland/commit/13737c6af4c0a7cfef5ec9013a4382bbeb7b495c.patch";
|
||||
hash = "sha256-EEqI6iJb+uv0HkhnauYNxSzny4YapTm73PLgK8A9Km8=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Declares an includedir but doesn't install any headers
|
||||
# CMake's `pkg_check_modules(NAME wayland-eglstream IMPORTED_TARGET)` considers this an error
|
||||
sed -i -e '/includedir/d' wayland-eglstream.pc.in
|
||||
'';
|
||||
|
||||
depsBuildBuild = [
|
||||
pkg-config
|
||||
];
|
||||
@ -65,7 +54,6 @@ in stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
eglexternalplatform
|
||||
libGL
|
||||
libX11
|
||||
libdrm
|
||||
@ -73,12 +61,9 @@ in stdenv.mkDerivation rec {
|
||||
wayland-protocols
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
# Doubled prefix in pc file after postbuild hook replaces includedir prefix variable with dev output path
|
||||
substituteInPlace $dev/lib/pkgconfig/wayland-eglstream.pc \
|
||||
--replace "=$dev/$dev" "=$dev" \
|
||||
--replace "Requires:" "Requires.private:"
|
||||
'';
|
||||
propagatedBuildInputs = [
|
||||
eglexternalplatform
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "The EGLStream-based Wayland external platform";
|
||||
|
40
pkgs/development/libraries/eglexternalplatform/default.nix
Normal file
40
pkgs/development/libraries/eglexternalplatform/default.nix
Normal file
@ -0,0 +1,40 @@
|
||||
{ stdenvNoCC
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "eglexternalplatform";
|
||||
version = "1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Nvidia";
|
||||
repo = "eglexternalplatform";
|
||||
rev = "7c8f8e2218e46b1a4aa9538520919747f1184d86";
|
||||
sha256 = "0lr5s2xa1zn220ghmbsiwgmx77l156wk54c7hybia0xpr9yr2nhb";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/include/
|
||||
cp interface/* $out/include/
|
||||
|
||||
substituteInPlace eglexternalplatform.pc \
|
||||
--replace "/usr/include/EGL" "$out/include"
|
||||
install -Dm644 {.,$out/share/pkgconfig}/eglexternalplatform.pc
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "The EGL External Platform interface";
|
||||
homepage = "https://github.com/NVIDIA/eglexternalplatform";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ hedning ];
|
||||
};
|
||||
}
|
@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-yehjDPnUM/POrXSQahUg0iI/ibzT+pJUhhAXRAuOsi8=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
configureFlags = lib.optional exampleSupport "--enable-example";
|
||||
|
||||
meta = with lib; {
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user