Merge remote-tracking branch 'origin/staging-next' into staging

This commit is contained in:
K900
2024-09-20 07:27:56 +03:00
305 changed files with 8216 additions and 4711 deletions
+13 -3
View File
@@ -2,10 +2,20 @@
This directory houses the sources files for the Nixpkgs reference manual.
Going forward, it should only contain [reference](https://nix.dev/contributing/documentation/diataxis#reference) documentation.
For tutorials, guides and explanations, contribute to <https://nix.dev/> instead.
> [!IMPORTANT]
> We are actively restructuring our documentation to follow the [Diátaxis framework](https://diataxis.fr/)
>
> Going forward, this directory should **only** contain [reference documentation](https://nix.dev/contributing/documentation/diataxis#reference).
> For tutorials, guides and explanations, contribute to <https://nix.dev/> instead.
>
> We are actively working to generate **all** reference documentation from the [doc-comments](https://github.com/NixOS/rfcs/blob/master/rfcs/0145-doc-strings.md) present in code.
> This also provides the benefit of using `:doc` in the `nix repl` to view reference documentation locally on the fly.
For documentation only relevant for contributors, use Markdown files and code comments in the source code.
For documentation only relevant for contributors, use Markdown files next to the source and regular code comments.
> [!TIP]
> Feedback for improving support for parsing and rendering doc-comments is highly appreciated.
> [Open an issue](https://github.com/NixOS/nixpkgs/issues/new?labels=6.topic%3A+documentation&title=Doc%3A+) to request bugfixes or new features.
Rendered documentation:
- [Unstable (from master)](https://nixos.org/manual/nixpkgs/unstable/)
+14 -8
View File
@@ -4050,6 +4050,12 @@
email = "jupiter@m.rdis.dev";
name = "Scott Little";
};
codgician = {
email = "codgician@outlook.com";
github = "codgician";
githubId = 15964984;
name = "codgician";
};
codifryed = {
email = "gb@guyboldon.com";
name = "Guy Boldon";
@@ -12222,7 +12228,7 @@
name = "Luis Wirth";
};
luc65r = {
email = "lucas@ransan.tk";
email = "lucas@ransan.fr";
github = "luc65r";
githubId = 59375051;
name = "Lucas Ransan";
@@ -15310,6 +15316,13 @@
githubId = 5047052;
name = "Niclas Hirschfeld";
};
nyabinary = {
name = "Niko Cantero";
email = "nyanbinary@keemail.me";
matrix = "@niko:conduit.rs";
github = "nyabinary";
githubId = 97130632;
};
nyadiia = {
email = "nyadiia@pm.me";
github = "nyadiia";
@@ -15317,13 +15330,6 @@
name = "Nadia";
keys = [ { fingerprint = "6B51 E324 238A F455 2381 313A 9254 1B0C D2A9 3AD8"; } ];
};
nyanbinary = {
email = "nyanbinary@keemail.me";
matrix = "@niko:conduit.rs";
github = "nyabinary";
githubId = 97130632;
name = "Niko";
};
nyanloutre = {
email = "paul@nyanlout.re";
github = "nyanloutre";
@@ -479,6 +479,8 @@
- `openssl` now defaults to the latest version line `3.3.x`, instead of `3.0.x` before. While there should be no major code incompatibilities, newer OpenSSL versions typically strengthen the default security level. This means that you may have to explicitly allow weak ciphers, hashes and key lengths if necessary. See: [OpenSSL security level documentation](https://docs.openssl.org/3.3/man3/SSL_CTX_set_security_level/).
- The `isync` package has been updated to version `1.5.0`, which introduces some breaking changes. See the [compatibility concerns](https://sourceforge.net/projects/isync/files/isync/1.5.0/) for more details.
## Other Notable Changes {#sec-release-24.11-notable-changes}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
@@ -1,8 +1,7 @@
{
x86_64-linux = "/nix/store/fmfy9zigxns8f1wfb4v2arf1jmfdjpjc-nix-2.24.6";
i686-linux = "/nix/store/bl95c09pcihf2fdqpzjyjk4bdq0bsizm-nix-2.24.6";
aarch64-linux = "/nix/store/2sbzgmvas19iq3nhg8xbnd8k0khahk34-nix-2.24.6";
riscv64-linux = "/nix/store/7yy1x9sx83wm77mjawd953d6a6wb669q-nix-riscv64-unknown-linux-gnu-2.24.6";
x86_64-darwin = "/nix/store/vs6bbxkwxqr828q8rj1xlbmsbnx1ry6z-nix-2.24.6";
aarch64-darwin = "/nix/store/d88r5b1qv1fvz2j9qndz8sr31mqgz45x-nix-2.24.6";
x86_64-linux = "/nix/store/f409bhlpp0xkzvdz95qr2yvfjfi8r9jc-nix-2.18.5";
i686-linux = "/nix/store/ra39jzrxq3bcpf55aahwv5037akvylf5-nix-2.18.5";
aarch64-linux = "/nix/store/xiw8a4jbnw18svgdb04hyqzg5bsjspqf-nix-2.18.5";
x86_64-darwin = "/nix/store/k2gzx7i90x3h2c8g6xdi1jkwbl6ic895-nix-2.18.5";
aarch64-darwin = "/nix/store/rqwymbndaqxma6p8s5brcl9k32n5xx54-nix-2.18.5";
}
+1
View File
@@ -858,6 +858,7 @@
./services/misc/tautulli.nix
./services/misc/tiddlywiki.nix
./services/misc/tp-auto-kbbl.nix
./services/misc/turn-rs.nix
./services/misc/tuxclocker.nix
./services/misc/transfer-sh.nix
./services/misc/tzupdate.nix
+1 -1
View File
@@ -434,7 +434,7 @@ in
'';
systemd.services.systemd-udevd =
{ restartTriggers = cfg.packages;
{ restartTriggers = [ config.environment.etc."udev/rules.d".source ];
};
};
+86
View File
@@ -0,0 +1,86 @@
{
config,
pkgs,
lib,
...
}:
let
cfg = config.services.turn-rs;
format = pkgs.formats.toml { };
in
{
options.services.turn-rs = {
enable = lib.mkEnableOption "turn-rs server";
package = lib.mkPackageOption pkgs "turn-rs" { };
secretFile = lib.mkOption {
type = lib.types.nullOr lib.types.path;
default = null;
example = "/run/keys/turn-rs.env";
description = ''
Environment variables from this file will be interpolated into the
final config file using envsubst with this syntax: `$ENVIRONMENT` or
`''${VARIABLE}`.
The file should contain lines formatted as `SECRET_VAR=SECRET_VALUE`.
This is useful to avoid putting secrets into the nix store.
'';
};
settings = lib.mkOption {
type = lib.types.submodule {
freeformType = format.type;
};
description = "Turn-rs server config file";
default = { };
example = {
turn = {
realm = "localhost";
interfaces = [
{
transport = "udp";
bind = "127.0.0.1:3478";
external = "127.0.0.1:3478";
}
{
transport = "tcp";
bind = "127.0.0.1:3478";
external = "127.0.0.1:3478";
}
];
};
auth.static_credentials = {
user1 = "test";
user2 = "test";
};
};
};
};
config = lib.mkIf cfg.enable {
services.turn-rs.settings = {
api.bind = lib.mkDefault "127.0.0.1:3000";
log.level = lib.mkDefault "info";
};
systemd.services.turn-rs = {
enable = true;
wantedBy = [ "multi-user.target" ];
description = "Turn-rs Server Daemon";
preStart =
let
configFile = format.generate "turn-rs-config.toml" cfg.settings;
in
''
${lib.getExe pkgs.envsubst} -i "${configFile}" -o /run/turn-rs/config.toml
'';
serviceConfig = {
RuntimeDirectory = "turn-rs";
EnvironmentFile = lib.optional (cfg.secretFile != null) cfg.secretFile;
ExecStart = "${lib.getExe cfg.package} --config=/run/turn-rs/config.toml";
DynamicUser = true;
};
};
};
}
@@ -236,9 +236,17 @@ let
isSystemUser = true;
inherit (conf) group;
});
users.groups = (mkIf (conf.group == "${name}-exporter" && !enableDynamicUser) {
"${name}-exporter" = {};
});
users.groups = mkMerge [
(mkIf (conf.group == "${name}-exporter" && !enableDynamicUser) {
"${name}-exporter" = {};
})
(mkIf (name == "smartctl") {
"smartctl-exporter-access" = {};
})
];
services.udev.extraRules = mkIf (name == "smartctl") ''
ACTION=="add", SUBSYSTEM=="nvme", KERNEL=="nvme[0-9]*", RUN+="${pkgs.acl}/bin/setfacl -m g:smartctl-exporter-access:rw /dev/$kernel"
'';
networking.firewall.extraCommands = mkIf (conf.openFirewall && !nftables) (concatStrings [
"ip46tables -A nixos-fw ${conf.firewallFilter} "
"-m comment --comment ${name}-exporter -j nixos-fw-accept"
@@ -58,7 +58,7 @@ in
PrivateDevices = lib.mkForce false;
ProtectProc = "invisible";
ProcSubset = "pid";
SupplementaryGroups = [ "disk" ];
SupplementaryGroups = [ "disk" "smartctl-exporter-access" ];
SystemCallFilter = [ "@system-service" "~@privileged" ];
};
};
+4 -1
View File
@@ -269,7 +269,10 @@ in
systemd.services.smartd = {
description = "S.M.A.R.T. Daemon";
wantedBy = [ "multi-user.target" ];
serviceConfig.ExecStart = "${pkgs.smartmontools}/sbin/smartd ${lib.concatStringsSep " " cfg.extraOptions} --no-fork --configfile=${smartdConf}";
serviceConfig = {
Type = "notify";
ExecStart = "${pkgs.smartmontools}/sbin/smartd ${lib.concatStringsSep " " cfg.extraOptions} --no-fork --configfile=${smartdConf}";
};
};
services.systembus-notify.enable = mkDefault ns.enable;
@@ -50,6 +50,15 @@ let
++ optional cfg.scanOnLowSignal ''bgscan="simple:30:-70:3600"''
++ optional (cfg.extraConfig != "") cfg.extraConfig);
configIsGenerated = with cfg;
networks != {} || extraConfig != "" || userControlled.enable;
# the original configuration file
configFile =
if configIsGenerated
then pkgs.writeText "wpa_supplicant.conf" generatedConfig
else "/etc/wpa_supplicant.conf";
# Creates a network block for wpa_supplicant.conf
mkNetwork = opts:
let
@@ -81,8 +90,8 @@ let
let
deviceUnit = optional (iface != null) "sys-subsystem-net-devices-${utils.escapeSystemdPath iface}.device";
configStr = if cfg.allowAuxiliaryImperativeNetworks
then "-c /etc/wpa_supplicant.conf -I ${pkgs.writeText "wpa_supplicant.conf" generatedConfig}"
else "-c /etc/wpa_supplicant.conf";
then "-c /etc/wpa_supplicant.conf -I ${configFile}"
else "-c ${configFile}";
in {
description = "WPA Supplicant instance" + optionalString (iface != null) " for interface ${iface}";
@@ -103,6 +112,12 @@ let
script =
''
${optionalString (configIsGenerated && !cfg.allowAuxiliaryImperativeNetworks) ''
if [ -f /etc/wpa_supplicant.conf ]; then
echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead."
fi
''}
# ensure wpa_supplicant.conf exists, or the daemon will fail to start
${optionalString cfg.allowAuxiliaryImperativeNetworks ''
touch /etc/wpa_supplicant.conf
@@ -516,9 +531,6 @@ in {
hardware.wirelessRegulatoryDatabase = true;
environment.etc."wpa_supplicant.conf" =
lib.mkIf (!cfg.allowAuxiliaryImperativeNetworks) { text = generatedConfig; };
environment.systemPackages = [ pkgs.wpa_supplicant ];
services.dbus.packages = optional cfg.dbusControlled pkgs.wpa_supplicant;
+1 -1
View File
@@ -26,7 +26,7 @@ in
(lib.mkRemovedOptionModule [ "services" "hedgedoc" "workDir" ] ''
This option has been removed in favor of systemd managing the state directory.
If you have set this option without specifying `services.settings.uploadsDir`,
If you have set this option without specifying `services.hedgedoc.settings.uploadsPath`,
please move these files to `/var/lib/hedgedoc/uploads`, or set the option to point
at the correct location.
'')
+7 -8
View File
@@ -7,8 +7,6 @@ let
inherit (lib)
optionals
types
concatLists
mapAttrsToList
mkOption
;
@@ -17,16 +15,17 @@ let
++ optionals (cfg.socket != null) [ "--interface" cfg.socket ]
++ optionals (cfg.interface != null) [ "--interface" cfg.interface ]
++ [ "--signal" (toString cfg.signal) ]
++ (concatLists (mapAttrsToList (_k: _v: [ "--client-option" "${_k}=${_v}" ]) cfg.clientOptions))
++ (lib.concatLists (lib.mapAttrsToList (_k: _v: [ "--client-option" "${_k}=${_v}" ]) cfg.clientOptions))
++ [ "--terminal-type" cfg.terminalType ]
++ optionals cfg.checkOrigin [ "--check-origin" ]
++ optionals cfg.writeable [ "--writable" ] # the typo is correct
++ [ "--max-clients" (toString cfg.maxClients) ]
++ optionals (cfg.indexFile != null) [ "--index" cfg.indexFile ]
++ optionals cfg.enableIPv6 [ "--ipv6" ]
++ optionals cfg.enableSSL [ "--ssl-cert" cfg.certFile
"--ssl-key" cfg.keyFile
"--ssl-ca" cfg.caFile ]
++ optionals cfg.enableSSL [ "--ssl"
"--ssl-cert" cfg.certFile
"--ssl-key" cfg.keyFile ]
++ optionals ( cfg.enableSSL && cfg.caFile != null ) [ "--ssl-ca" cfg.caFile ]
++ [ "--debug" (toString cfg.logLevel) ];
in
@@ -197,8 +196,8 @@ in
assertions =
[ { assertion = cfg.enableSSL
-> cfg.certFile != null && cfg.keyFile != null && cfg.caFile != null;
message = "SSL is enabled for ttyd, but no certFile, keyFile or caFile has been specified."; }
-> cfg.certFile != null && cfg.keyFile != null;
message = "SSL is enabled for ttyd, but no certFile or keyFile has been specified."; }
{ assertion = cfg.writeable != null;
message = "services.ttyd.writeable must be set"; }
{ assertion = ! (cfg.interface != null && cfg.socket != null);
+1
View File
@@ -1045,6 +1045,7 @@ in {
txredisapi = handleTest ./txredisapi.nix {};
tuptime = handleTest ./tuptime.nix {};
turbovnc-headless-server = handleTest ./turbovnc-headless-server.nix {};
turn-rs = handleTest ./turn-rs.nix {};
tuxguitar = handleTest ./tuxguitar.nix {};
twingate = runTest ./twingate.nix;
typesense = handleTest ./typesense.nix {};
+65
View File
@@ -0,0 +1,65 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
name = "turn-rs";
nodes = {
server = {
virtualisation.vlans = [ 1 ];
networking = {
useNetworkd = true;
useDHCP = false;
firewall.enable = false;
};
systemd.network.networks."01-eth1" = {
name = "eth1";
networkConfig.Address = "10.0.0.1/24";
};
services.turn-rs = {
enable = true;
secretFile = pkgs.writeText "secret" ''
USER_1_CREDS="foobar"
'';
settings = {
turn = {
realm = "localhost";
interfaces = [
{
transport = "udp";
bind = "127.0.0.1:3478";
external = "127.0.0.1:3478";
}
{
transport = "tcp";
bind = "127.0.0.1:3478";
external = "127.0.0.1:3478";
}
];
};
auth.static_credentials.user1 = "$USER_1_CREDS";
};
};
};
};
testScript = # python
''
import json
start_all()
server.wait_for_unit('turn-rs.service')
server.wait_for_open_port(3000, "127.0.0.1")
info = server.succeed('curl http://localhost:3000/info')
jsonInfo = json.loads(info)
assert len(jsonInfo['interfaces']) == 2, f'Interfaces doesn\'t contain two entries:\n{json.dumps(jsonInfo, indent=2)}'
config = server.succeed('cat /run/turn-rs/config.toml')
assert 'foobar' in config, f'Secrets are not properly injected:\n{config}'
'';
}
)
+5 -2
View File
@@ -21,6 +21,7 @@ let
enable = true;
radios.wlan0 = {
band = "2g";
channel = 6;
countryCode = "US";
networks = {
wlan0 = {
@@ -123,14 +124,16 @@ in
};
testScript = ''
config_file = "/etc/static/wpa_supplicant.conf"
with subtest("Daemon is running and accepting connections"):
machine.wait_for_unit("wpa_supplicant.service")
status = machine.wait_until_succeeds("wpa_cli status")
assert "Failed to connect" not in status, \
"Failed to connect to the daemon"
# get the configuration file
cmdline = machine.succeed("cat /proc/$(pgrep wpa)/cmdline").split('\x00')
config_file = cmdline[cmdline.index("-c") + 1]
with subtest("WPA2 fallbacks have been generated"):
assert int(machine.succeed(f"grep -c sae-only {config_file}")) == 1
assert int(machine.succeed(f"grep -c mixed-wpa {config_file}")) == 2
+2 -2
View File
@@ -62,13 +62,13 @@
stdenv.mkDerivation rec {
pname = "audacity";
version = "3.6.3";
version = "3.6.4";
src = fetchFromGitHub {
owner = "audacity";
repo = "audacity";
rev = "Audacity-${version}";
hash = "sha256-fjEUo0NY/ZOujtgpWTXHLaMjzAlel3xHY+erzxLi5kQ=";
hash = "sha256-72k79UFxhk8JUCnMzbU9lZ0Ua3Ui41EkhPGSnGkf9mE=";
};
postPatch = ''
@@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitHub,
unstableGitUpdater,
mbrola,
languages ? [ ],
}:
@@ -3,7 +3,6 @@
stdenv,
fetchFromGitHub,
cmake,
ninja,
pkg-config,
boost,
libsodium,
@@ -30,7 +30,6 @@
, jansson
, libXaw
, libXcursor
, libXft
, libXi
, libXpm
, libgccjit
@@ -1,13 +1,16 @@
diff --git a/gedit/meson.build b/gedit/meson.build
index a8683e61a..fc48669f7 100644
index bc689e5..e3b90d8 100644
--- a/gedit/meson.build
+++ b/gedit/meson.build
@@ -191,7 +191,7 @@ libgedit_shared_lib = shared_library(
c_args: libgedit_c_args,
link_args: libgedit_link_args,
install: true,
- install_dir: get_option('libdir') / 'gedit',
+ install_dir: get_option('prefix') / get_option('libdir') / 'gedit',
)
@@ -165,9 +165,9 @@ libgedit_private_headers += 'gedit-enum-types-private.h'
subdir('resources')
# GObject Introspection
if host_machine.system() == 'windows'
- libgedit_shared_lib_install_dir = get_option('libdir')
+ libgedit_shared_lib_install_dir = get_option('prefix') / get_option('libdir')
else
- libgedit_shared_lib_install_dir = get_option('libdir') / 'gedit'
+ libgedit_shared_lib_install_dir = get_option('prefix') / get_option('libdir') / 'gedit'
endif
libgedit_shared_lib = shared_library(
+3 -15
View File
@@ -4,7 +4,6 @@
, mesonEmulatorHook
, fetchurl
, python3
, python3Packages
, pkg-config
, gtk3
, gtk-mac-integration
@@ -30,13 +29,13 @@
stdenv.mkDerivation rec {
pname = "gedit";
version = "47.0";
version = "48.0";
outputs = [ "out" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/gedit/${lib.versions.major version}/gedit-${version}.tar.xz";
sha256 = "+kpZfjTHbUrJFDG1rm4ZHJbGsK8XAuCJmrNRme36G/o=";
sha256 = "/g/vm3sHmRINuGrok6BgA2oTRFNS3tkWm6so04rPDoA=";
};
patches = [
@@ -54,7 +53,6 @@ stdenv.mkDerivation rec {
perl
pkg-config
python3
python3Packages.wrapPython
vala
wrapGAppsHook3
gtk-doc
@@ -87,16 +85,6 @@ stdenv.mkDerivation rec {
# Reliably fails to generate gedit-file-browser-enum-types.h in time
enableParallelBuilding = false;
pythonPath = with python3Packages; [
# https://github.com/NixOS/nixpkgs/issues/298716
pycairo
];
postFixup = ''
buildPythonPath "$pythonPath"
patchPythonScript $out/lib/gedit/plugins/snippets/document.py
'';
passthru = {
updateScript = gnome.updateScript {
packageName = "gedit";
@@ -104,7 +92,7 @@ stdenv.mkDerivation rec {
};
meta = with lib; {
homepage = "https://gedit-technology.github.io/apps/gedit/";
homepage = "https://gitlab.gnome.org/World/gedit/gedit";
description = "Former GNOME text editor";
maintainers = with maintainers; [ bobby285271 ];
license = licenses.gpl2Plus;
@@ -1,84 +0,0 @@
{ stdenv
, lib
, fetchurl
, fetchpatch
, autoreconfHook
, gtk-doc
, vala
, gobject-introspection
, wrapGAppsHook3
, gsettings-desktop-schemas
, gspell
, libgedit-gtksourceview
, libgedit-tepl
, libgee
, adwaita-icon-theme
, gnome
, glib
, pkg-config
, gettext
, itstool
, libxml2
}:
stdenv.mkDerivation rec {
version = "3.46.0";
pname = "gnome-latex";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1nVVY5sqFaiuvVTzNTVORP40MxQ648s8ynqOJvgRKto=";
};
patches = [
# Adapt for Tepl -> libgedit-tepl rename
(fetchpatch {
url = "https://gitlab.gnome.org/swilmet/gnome-latex/-/commit/41e532c427f43a5eed9081766963d6e29a9975a1.patch";
hash = "sha256-gu8o/er4mP92dE5gWg9lGx5JwTHB8ytk3EMNlwlIpq4=";
})
];
nativeBuildInputs = [
pkg-config
autoreconfHook
gtk-doc
vala
gobject-introspection
wrapGAppsHook3
itstool
gettext
];
buildInputs = [
adwaita-icon-theme
glib
gsettings-desktop-schemas
gspell
libgedit-gtksourceview
libgedit-tepl
libgee
libxml2
];
configureFlags = [
"--disable-dconf-migration"
];
doCheck = true;
env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
passthru.updateScript = gnome.updateScript {
packageName = pname;
versionPolicy = "odd-unstable";
};
meta = with lib; {
homepage = "https://gitlab.gnome.org/swilmet/gnome-latex";
description = "LaTeX editor for the GNOME desktop";
maintainers = with maintainers; [ manveru bobby285271 ];
license = licenses.gpl3Plus;
platforms = platforms.linux;
mainProgram = "gnome-latex";
};
}
@@ -1,11 +1,6 @@
{ callPackage
, clangStdenv
, cling
, fetchurl
, lib
, llvmPackages_13
, makeWrapper
, runCommand
, stdenv
}:
@@ -68,9 +68,7 @@ clangStdenv.mkDerivation rec {
zlib
];
cmakeFlags = lib.optionals debug [
"-DCMAKE_BUILD_TYPE=Debug"
];
cmakeBuildType = if debug then "Debug" else "Release";
postPatch = ''
substituteInPlace src/xmagics/executable.cpp \
@@ -2,10 +2,8 @@
, writeText
, nodePackages
, python3
, python3Packages
, callPackage
, neovimUtils
, vimUtils
, perl
, lndir
}:
@@ -1,21 +0,0 @@
diff -ur a/db/drivers/mysql/db.c b/db/drivers/mysql/db.c
--- a/db/drivers/mysql/db.c 1969-12-31 19:00:01.000000000 -0500
+++ b/db/drivers/mysql/db.c 2023-11-09 23:26:25.329700495 -0500
@@ -52,9 +52,16 @@
db_get_login2("mysql", name, &user, &password, &host, &port);
+ const char* errstr;
+ unsigned int port_number = (unsigned int)strtonum(port, 0, 65536, &errstr);
+ if (errstr != NULL) {
+ db_d_append_error("%s", errstr);
+ return DB_FAILED;
+ }
+
connection = mysql_init(NULL);
res = mysql_real_connect(connection, host, user, password,
- connpar.dbname, port, NULL, 0);
+ connpar.dbname, port_number, NULL, 0);
if (res == NULL) {
db_d_append_error("%s\n%s", _("Connection failed."),
+4 -7
View File
@@ -5,7 +5,7 @@
, makeWrapper
, wrapGAppsHook3
, withOpenGL ? true
, withOpenGL ? !stdenv.isDarwin
, bison
, blas
@@ -23,6 +23,7 @@
, libsvm
, libtiff
, libxml2
, llvmPackages
, netcdf
, pdal
, pkg-config
@@ -86,15 +87,11 @@ stdenv.mkDerivation (finalAttrs: {
zlib
zstd
] ++ lib.optionals withOpenGL [ libGLU ]
++ lib.optionals stdenv.isDarwin [ libiconv ];
++ lib.optionals stdenv.isDarwin [ libiconv ]
++ lib.optionals stdenv.cc.isClang [ llvmPackages.openmp ];
strictDeps = true;
patches = lib.optionals stdenv.isDarwin [
# Fix conversion of const char* to unsigned int.
./clang-integer-conversion.patch
];
configureFlags = [
"--with-blas"
"--with-cairo-ldflags=-lfontconfig"
@@ -11,13 +11,13 @@
buildDotnetModule rec {
pname = "ArchiSteamFarm";
# nixpkgs-update: no auto update
version = "6.0.4.4";
version = "6.0.6.4";
src = fetchFromGitHub {
owner = "JustArchiNET";
repo = "ArchiSteamFarm";
rev = version;
hash = "sha256-5jV+EJDZ90qtYF8w7RW8jGiy36nPYsLfoOVM35ilVvw=";
hash = "sha256-U4RApOUtrZ9su4O1jamjDbVrjozujW+vYRI1R7rSzpc=";
};
dotnet-runtime = dotnetCorePackages.aspnetcore_8_0;
+25 -30
View File
@@ -4,7 +4,6 @@
{ fetchNuGet }: [
(fetchNuGet { pname = "AngleSharp"; version = "1.1.2"; hash = "sha256-LvJDD+C/NiPLVjEnIWkR+39UkzoeWgPd7BBXakij0WU="; })
(fetchNuGet { pname = "AngleSharp.XPath"; version = "2.0.4"; hash = "sha256-w3H3HtsEgG/qH5Zre5i2OAh5r+mDyNIjhfweJu9SDzM="; })
(fetchNuGet { pname = "ConfigureAwaitChecker.Analyzer"; version = "5.0.0.1"; hash = "sha256-1DP9M4+Jzj1MEkz+qXLMLQC4YJCZqIuDlKMWlSF3lAY="; })
(fetchNuGet { pname = "CryptSharpStandard"; version = "1.0.0"; hash = "sha256-58ukrKgmk9w5ZyuQU67KS3du4zvkfJ1MskKRL9L6M1o="; })
(fetchNuGet { pname = "Humanizer"; version = "3.0.0-beta.54"; hash = "sha256-QIQFZYsW58l1xi9iw5VyAzo9bCCAojHQKXi0+dMH86Y="; })
(fetchNuGet { pname = "Humanizer.Core"; version = "3.0.0-beta.54"; hash = "sha256-KQdtkJ1uqstncqPmvWNW/PwMenyw1bW54P9unDVtO0Y="; })
@@ -58,10 +57,11 @@
(fetchNuGet { pname = "Humanizer.Core.zh-CN"; version = "3.0.0-beta.54"; hash = "sha256-fh4CRrhOAkuY89dtwHCkbclG8AxjizRQSJCLJvpRGyo="; })
(fetchNuGet { pname = "Humanizer.Core.zh-Hans"; version = "3.0.0-beta.54"; hash = "sha256-0BXsdNBRWTqaloHdCCpVjAyU9IHz5FtweHjqvzpwW4Q="; })
(fetchNuGet { pname = "Humanizer.Core.zh-Hant"; version = "3.0.0-beta.54"; hash = "sha256-lemSDWy2Jz6gg8+ObqC3uyw846yghzmVUeakNZj7prg="; })
(fetchNuGet { pname = "JetBrains.Annotations"; version = "2023.3.0"; hash = "sha256-/Eykez68qYMO5mlmUelzAke8aJehyp8fspO5Z+yt5G4="; })
(fetchNuGet { pname = "JetBrains.Annotations"; version = "2024.2.0"; hash = "sha256-OgtW4wIqo5d3q6NSiYrUm4KkUdUHEWFyvlbtoQJjDwU="; })
(fetchNuGet { pname = "Markdig.Signed"; version = "0.37.0"; hash = "sha256-hYyyZz0iETAE2HydbyudPdoOUi6wHQRG0BjuS87Tnl0="; })
(fetchNuGet { pname = "Microsoft.ApplicationInsights"; version = "2.22.0"; hash = "sha256-mUQ63atpT00r49ca50uZu2YCiLg3yd6r3HzTryqcuEA="; })
(fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; hash = "sha256-49+H/iFwp+AfCICvWcqo9us4CzxApPKC37Q5Eqrw+JU="; })
(fetchNuGet { pname = "Microsoft.CodeAnalysis.ResxSourceGenerator"; version = "3.11.0-beta1.24324.1"; hash = "sha256-+YEdFt4em1e8SMC3PnRAwOfyMZLwWPJo7/loTt7l9kQ="; })
(fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.10.0"; hash = "sha256-yQFwqVChRtIRpbtkJr92JH2i+O7xn91NGbYgnKs8G2g="; })
(fetchNuGet { pname = "Microsoft.Extensions.ApiDescription.Server"; version = "6.0.5"; hash = "sha256-RJjBWz+UHxkQE2s7CeGYdTZ218mCufrxl0eBykZdIt4="; })
(fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "8.0.0"; hash = "sha256-9BPsASlxrV8ilmMCjdb3TiUcm5vFZxkBnAI/fNBSEyA="; })
@@ -78,54 +78,49 @@
(fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.0"; hash = "sha256-n2m4JSegQKUTlOsKLZUUHHKMq926eJ0w9N9G+I3FoFw="; })
(fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "8.0.0"; hash = "sha256-A5Bbzw1kiNkgirk5x8kyxwg9lLTcSngojeD+ocpG1RI="; })
(fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "8.0.0"; hash = "sha256-FU8qj3DR8bDdc1c+WeGZx/PCZeqqndweZM9epcpXjSo="; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Abstractions"; version = "7.6.2"; hash = "sha256-Ipd8+JFpj44vqouRGO8YvxzVyjKOeFXczTeKguxdcgs="; })
(fetchNuGet { pname = "Microsoft.IdentityModel.JsonWebTokens"; version = "7.6.2"; hash = "sha256-lHzkMQIlbSwmetyGLbtuptHZP+HgG8n2aLtBDqDr1S4="; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "7.6.2"; hash = "sha256-hNIbOZ6leANvh+i1I2ZXS35+yXUmhTlyomkA8PbF++w="; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "7.6.2"; hash = "sha256-P0lN2+Die2ftnJh43A3X3CR207vvzfCCJjlow6yweVs="; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Abstractions"; version = "8.0.2"; hash = "sha256-j37WWYrYgINKVn5eWhytGad7k2GwQPCemumJXU7cHsw="; })
(fetchNuGet { pname = "Microsoft.IdentityModel.JsonWebTokens"; version = "8.0.2"; hash = "sha256-siKloYOZKBRV//apM/O+A+KwhAWTZ0ZnnCI7Pq+pxMs="; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "8.0.2"; hash = "sha256-Ref5E5JXHXDAdog/Yix25fsYO7R4eCHP8L/GIJz70p8="; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "8.0.2"; hash = "sha256-VM5Tw4lS1XxVajmA8PB4yn8J+Abi388U//5//0aNOHo="; })
(fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.10.0"; hash = "sha256-rkHIqB2mquNXF89XBTFpUL2z5msjTBsOcyjSBCh36I0="; })
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; hash = "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="; })
(fetchNuGet { pname = "Microsoft.OpenApi"; version = "1.6.14"; hash = "sha256-dSJUic2orPGfYVgto9DieRckbtLpPyxHtf+RJ2tmKPM="; })
(fetchNuGet { pname = "Microsoft.Testing.Extensions.Telemetry"; version = "1.2.1"; hash = "sha256-/KshvKuql1A7zI1kTseWEYsOVMyOWZDXlFfKr0fz0Kg="; })
(fetchNuGet { pname = "Microsoft.Testing.Extensions.TrxReport.Abstractions"; version = "1.2.1"; hash = "sha256-YciAKvo1VBDoqGohABY2uD+Tt7wxpSqICV6ytEBNYKQ="; })
(fetchNuGet { pname = "Microsoft.Testing.Extensions.VSTestBridge"; version = "1.2.1"; hash = "sha256-vcf+MYu9Rp/Xpy1cA/azVz1KAkMgNrekD+LZX85Anq4="; })
(fetchNuGet { pname = "Microsoft.Testing.Platform"; version = "1.2.1"; hash = "sha256-ExXw+kScOwZsRDos3Myvh53yazGTGtjrtn2H1XbFi34="; })
(fetchNuGet { pname = "Microsoft.Testing.Platform.MSBuild"; version = "1.2.1"; hash = "sha256-B0AGaqwtuoT9DxXDvkR0bwEvVzSd67+vGZAgBm0nxxw="; })
(fetchNuGet { pname = "Microsoft.Testing.Extensions.Telemetry"; version = "1.3.2"; hash = "sha256-q6ZGafMpM3HunHtjVATcIa+gPUM1ef4y3Do8Syf2pa4="; })
(fetchNuGet { pname = "Microsoft.Testing.Extensions.TrxReport.Abstractions"; version = "1.3.2"; hash = "sha256-0+O40vygEoX0K2NDMSv1zFB4H10su0FAA1QTqzi1KcA="; })
(fetchNuGet { pname = "Microsoft.Testing.Extensions.VSTestBridge"; version = "1.3.2"; hash = "sha256-H8dK/+S39mXZWnM9dB0CQhu23vQD9JRAaHivnutUDEY="; })
(fetchNuGet { pname = "Microsoft.Testing.Platform"; version = "1.3.2"; hash = "sha256-1H34nSpdSL+P91F5Ynjr8590eNFcm+1Rp27vYclx2Xc="; })
(fetchNuGet { pname = "Microsoft.Testing.Platform.MSBuild"; version = "1.3.2"; hash = "sha256-1SVTVvrFqStKoxuQSqaKBuKp+qDHZkCTpIECPuEEdQI="; })
(fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.10.0"; hash = "sha256-3YjVGK2zEObksBGYg8b/CqoJgLQ1jUv4GCWNjDhLRh4="; })
(fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.5.0"; hash = "sha256-mj5UH+aqVk7f3Uu0+L47aqZUudJNCx3Lk7cbP4fzcmI="; })
(fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.10.0"; hash = "sha256-+yzP3FY6WoOosSpYnB7duZLhOPUZMQYy8zJ1d3Q4hK4="; })
(fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; hash = "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA="; })
(fetchNuGet { pname = "MSTest"; version = "3.4.3"; hash = "sha256-FkjZdIm9j/nfEy+sZRHs9M1g03+QJTWEva23L1TdChw="; })
(fetchNuGet { pname = "MSTest.Analyzers"; version = "3.4.3"; hash = "sha256-sd+DFcORXa5ToA+n7p8isy4niOCd4mH4Sk5tRuDPRpE="; })
(fetchNuGet { pname = "MSTest.TestAdapter"; version = "3.4.3"; hash = "sha256-uOhEZp71KV0DFfkD4fMhy9zEggPBvzof1GZ5Z5ulWkM="; })
(fetchNuGet { pname = "MSTest.TestFramework"; version = "3.4.3"; hash = "sha256-d3fTMQese3ld1WTw0v6MGczgdSnE28/UaM2E7T59cUM="; })
(fetchNuGet { pname = "MSTest"; version = "3.5.2"; hash = "sha256-BZLyxq2WtJL338s9cIVlpodvVInsrjZ6L7vYalIFk5Y="; })
(fetchNuGet { pname = "MSTest.Analyzers"; version = "3.5.2"; hash = "sha256-Jwmtm/+yk8DoPnjOqauDXknVtmVzsrmqJwZuP6QfHvw="; })
(fetchNuGet { pname = "MSTest.TestAdapter"; version = "3.5.2"; hash = "sha256-tbKREqe9w5Tkhib4AfWR9vB7DYLmvAjEov8UM2D2gA0="; })
(fetchNuGet { pname = "MSTest.TestFramework"; version = "3.5.2"; hash = "sha256-ZudwTMNhxbxehLz9hCOgrhTzegVs4P6avUpFiez+u10="; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; hash = "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="; })
(fetchNuGet { pname = "Nito.AsyncEx.Coordination"; version = "5.1.2"; hash = "sha256-NHMnIBkGzzuoZL0qHKAwFC35doB08IDvmCQptC2uu2s="; })
(fetchNuGet { pname = "Nito.AsyncEx.Tasks"; version = "5.1.2"; hash = "sha256-W5jxZZ0pbPHte6TkWTq4FDtHOejvlrdyb1Inw+Yhl4c="; })
(fetchNuGet { pname = "Nito.Collections.Deque"; version = "1.1.1"; hash = "sha256-6Pmz6XQ+rY32O21Z3cUDVQsLH+i53LId18UCPTAxRZQ="; })
(fetchNuGet { pname = "Nito.Disposables"; version = "2.2.1"; hash = "sha256-FKDLUWysqroSHLU2kLjK1m0g417AAPh6n2TIkwiapcM="; })
(fetchNuGet { pname = "NLog"; version = "5.3.2"; hash = "sha256-b/y/IFUSe7qsSeJ8JVB0VFmJlkviFb8h934ktnn9Fgc="; })
(fetchNuGet { pname = "NLog.Extensions.Logging"; version = "5.3.11"; hash = "sha256-DP3R51h+9kk06N63U+1C4/JCZTFiADeYTROToAA2R0g="; })
(fetchNuGet { pname = "NLog.Web.AspNetCore"; version = "5.3.11"; hash = "sha256-6bMYbKyNWtb0tn8k3418mWBuogofIAfwT9NHSopUu58="; })
(fetchNuGet { pname = "NuGet.Frameworks"; version = "5.11.0"; hash = "sha256-n+hxcrf+sXM80Tv9YH9x4+hwTslVidFq4tjBNPAzYnM="; })
(fetchNuGet { pname = "OpenTelemetry"; version = "1.7.0-rc.1"; hash = "sha256-N7EgFENnCZdJVhV1TOjl6R7CImPb3SMcIvP63MfFJng="; })
(fetchNuGet { pname = "NLog"; version = "5.3.3"; hash = "sha256-M6IbNKj4cUplxS7vi54m2SZe4bQdmMusDTMmsjqmZKg="; })
(fetchNuGet { pname = "NLog.Extensions.Logging"; version = "5.3.12"; hash = "sha256-KAqPPDIXrqM85yb1TfhqHUhBYrHug/bOlrEepV+0BEc="; })
(fetchNuGet { pname = "NLog.Web.AspNetCore"; version = "5.3.12"; hash = "sha256-ZnPQeBLrGkP4EqfoJtDjJuuPqCZW5AMv/3XJaB0o0L0="; })
(fetchNuGet { pname = "OpenTelemetry"; version = "1.9.0"; hash = "sha256-QVV6ecnVk73bvi4Lw1RnTsaEUH/6CT0/zIJkYdg6CGg="; })
(fetchNuGet { pname = "OpenTelemetry.Api"; version = "1.7.0-rc.1"; hash = "sha256-gl4I7GGJbe2HblOLIznTVxmEOm5SV6UyX+DVmKXcCcQ="; })
(fetchNuGet { pname = "OpenTelemetry.Api"; version = "1.9.0"; hash = "sha256-raXpHi2DZ3mSLn9dnJYF64XaP23epdfu8zgagSpm8+4="; })
(fetchNuGet { pname = "OpenTelemetry.Api.ProviderBuilderExtensions"; version = "1.7.0-rc.1"; hash = "sha256-/JlVHQeer2Vxmv7kWXK1Wc7Ihjqdjb+hEoiYxxIW3qs="; })
(fetchNuGet { pname = "OpenTelemetry.Api.ProviderBuilderExtensions"; version = "1.9.0"; hash = "sha256-Yy3EcKBW7XH7nhLcvwQB0NIfxiGChuy6UPc7MJpxEbE="; })
(fetchNuGet { pname = "OpenTelemetry.Exporter.Prometheus.AspNetCore"; version = "1.7.0-rc.1"; hash = "sha256-yIUPHCmDcuPsrE1fV5ij6G5ACdUL7M0rrvd6dOSy55w="; })
(fetchNuGet { pname = "OpenTelemetry.Exporter.Prometheus.AspNetCore"; version = "1.9.0-beta.2"; hash = "sha256-zV4sKZ3v2uSPPy0HLbAE6XwGt6r8R5UVdFJ/tVDiKWg="; })
(fetchNuGet { pname = "OpenTelemetry.Extensions.Hosting"; version = "1.9.0"; hash = "sha256-vvIrTeDGzgz8dI7/SkLL0ZrV+9u3e9uhvW6VVdsd6Ps="; })
(fetchNuGet { pname = "OpenTelemetry.Instrumentation.AspNetCore"; version = "1.9.0"; hash = "sha256-XYqa7kV4rhHPCgHsjQtMvyKCemW1OvQd/23QhjquYR4="; })
(fetchNuGet { pname = "OpenTelemetry.Instrumentation.Http"; version = "1.9.0"; hash = "sha256-y/UbDt6n6heD+ayzv0xPurXLFNL+eSldwqoyGpvCg7o="; })
(fetchNuGet { pname = "OpenTelemetry.Instrumentation.Runtime"; version = "1.9.0"; hash = "sha256-Xov89h4Py7MCz6SAOjV0tjtZvvjHbx7NyPXZsY1PZhk="; })
(fetchNuGet { pname = "protobuf-net"; version = "3.2.30"; hash = "sha256-keRy5OWT+/tlZt3D7x+9PEdjTvEJcZdYsf/i1ZBtciE="; })
(fetchNuGet { pname = "protobuf-net.Core"; version = "3.2.30"; hash = "sha256-GMpJNecoBfrV2VgpYOhcZnKZaLFDObNLcX2LBTThrwY="; })
(fetchNuGet { pname = "SteamKit2"; version = "3.0.0-alpha.1"; hash = "sha256-iCJc3MjuD7QoF5mUy0ROSgfosUvPaZjUgrNhd9dcmQY="; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "6.6.2"; hash = "sha256-kKz+NiXNfmrvrtbzsqnW1ItflNib3rymr3rf9yI5B1M="; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.Annotations"; version = "6.6.2"; hash = "sha256-iL7TcRFy7g6EB8usWALwdOEaiqLsD0b+RXkepHk43+o="; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "6.6.2"; hash = "sha256-HqMmHMZXYHlRMoT3vIZF8iwhYmfknQmi3N8VmyfwI0k="; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "6.6.2"; hash = "sha256-km+bNoRDakEBa2dIjtxK0V6YVvm9hEpdi8xWQ8TJigI="; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "6.6.2"; hash = "sha256-ED24tUcwiOkAIMQVQeQFths296yf3lL/Z1sVizQTEHA="; })
(fetchNuGet { pname = "SteamKit2"; version = "3.0.0-beta.2"; hash = "sha256-aQ1zMyWPOvGFcDYYscn/qTpnWS4HfK/k1NLk37zeVAE="; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "6.7.2"; hash = "sha256-clFYZAy7v6mbWr1a+yy0BVbqoQGlqDvzXGlVMXzqg9s="; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.Annotations"; version = "6.7.2"; hash = "sha256-tBsLIRSWAknFWvNu524sSFmOB4aIKuYX9I3Wp9AHxwE="; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "6.7.2"; hash = "sha256-cH+/13iri7PMxlymzLUT+YEoJKxlXNNK56x8oQAkuAs="; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "6.7.2"; hash = "sha256-EzHxMjlwAsyNOFdHZTiQ7Wk6ZEWpRJqwoQGSe/eFoJE="; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "6.7.2"; hash = "sha256-4+aBYecxcA/Et8sAxoJ2+e86WO7s3rYT6xd9MOaQIxQ="; })
(fetchNuGet { pname = "System.Collections.Immutable"; version = "1.7.1"; hash = "sha256-WMMAUqoxT3J1gW9DI8v31VAuhwqTc4Posose5jq1BNo="; })
(fetchNuGet { pname = "System.Collections.Immutable"; version = "7.0.0"; hash = "sha256-9an2wbxue2qrtugYES9awshQg+KfJqajhnhs45kQIdk="; })
(fetchNuGet { pname = "System.Composition"; version = "8.0.0"; hash = "sha256-rA118MFj6soKN++BvD3y9gXAJf0lZJAtGARuznG5+Xg="; })
@@ -2,7 +2,7 @@
buildNpmPackage rec {
pname = "asf-ui";
version = "3ae4df4206a3f5fbbe582403403df848fd29847f";
version = "1641151b9f430908bc63bbe9927fa8414538e7f1";
src = fetchFromGitHub {
owner = "JustArchiNET";
@@ -10,10 +10,10 @@ buildNpmPackage rec {
# updated by the update script
# this is always the commit that should be used with asf-ui from the latest asf version
rev = version;
hash = "sha256-81PESllqRmtfdYFda1fBRZMczlWQq2xSPWELIOIpi3s=";
hash = "sha256-0qfX0vHaDY4Mv9N6nXcn2/9DgRAAl07c8eNHBC3rX6I=";
};
npmDepsHash = "sha256-OIkT5XMWcVRbCemaC+hkHkZACCzNedJKHLvGmNXEye4=";
npmDepsHash = "sha256-/DRkzwU32RgXR+58MrD2KbxF55nJJxnMAnU3kafqtXg=";
installPhase = ''
runHook preInstall
@@ -1,6 +1,6 @@
{ lib
, stdenv
, fetchzip
, fetchFromGitLab
, cmake
, extra-cmake-modules
, qttools
@@ -12,21 +12,24 @@
, wrapQtAppsHook
, gst_all_1
, testers
, crow-translate
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "crow-translate";
version = "2.11.1";
version = "3.0.0";
src = fetchzip {
url = "https://github.com/${pname}/${pname}/releases/download/${version}/${pname}-${version}-source.tar.gz";
hash = "sha256-1rq1pF4tOaZNEaHflxlBuHta80EzD9m3O99geR1EPxE=";
src = fetchFromGitLab {
domain = "invent.kde.org";
owner = "office";
repo = "crow-translate";
rev = "v${finalAttrs.version}";
hash = "sha256-hdrhxbv44DlxoF1JU1d2auP/vR8a3IJI+hN7PhdPMaY=";
fetchSubmodules = true;
};
postPatch = ''
substituteInPlace data/io.crow_translate.CrowTranslate.desktop \
--replace "Exec=qdbus" "Exec=${lib.getBin qttools}/bin/qdbus"
substituteInPlace data/org.kde.CrowTranslate.desktop.in \
--subst-var-by QT_BIN_DIR ${lib.getBin qttools}/bin
'';
nativeBuildInputs = [
@@ -54,15 +57,15 @@ stdenv.mkDerivation rec {
'';
passthru.tests.version = testers.testVersion {
package = crow-translate;
package = finalAttrs.finalPackage;
};
meta = with lib; {
meta = {
description = "Simple and lightweight translator that allows to translate and speak text using Google, Yandex and Bing";
homepage = "https://crow-translate.github.io/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ sikmir ];
platforms = platforms.linux;
homepage = "https://invent.kde.org/office/crow-translate";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ sikmir ];
platforms = lib.platforms.linux;
mainProgram = "crow";
};
}
})
@@ -12,7 +12,6 @@
, p7zip
, autoPatchelfHook
, libXxf86vm
, unzip
, libGL
}:
@@ -2,10 +2,8 @@
stdenv,
lib,
fetchFromGitHub,
fetchpatch,
buildMozillaMach,
nixosTests,
python311,
}:
(
@@ -12,7 +12,6 @@
, pkg-config
, libavif
, libjxl
, libtiff
, libwebp
, libxcrypt
, python3
@@ -15,7 +15,6 @@
, zlib
, zstd
, openssl
, glibc
, nixosTests
, sparkSupport ? true
, spark
@@ -1,36 +1,37 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (7.1.3.4)
activesupport (7.2.1)
base64
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2)
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1)
mutex_m
tzinfo (~> 2.0)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
base64 (0.2.0)
bigdecimal (3.1.8)
colorize (0.8.1)
concurrent-ruby (1.3.3)
concurrent-ruby (1.3.4)
connection_pool (2.4.1)
domain_name (0.6.20240107)
drb (2.2.1)
ejson (1.4.1)
faraday (2.10.1)
faraday-net_http (>= 2.0, < 3.2)
faraday (2.11.0)
faraday-net_http (>= 2.0, < 3.4)
logger
faraday-net_http (3.1.1)
faraday-net_http (3.3.0)
net-http
ffi (1.17.0)
ffi-compiler (1.3.2)
ffi (>= 1.15.5)
rake
google-cloud-env (2.1.1)
google-cloud-env (2.2.0)
faraday (>= 1.0, < 3.a)
googleauth (1.11.0)
faraday (>= 1.0, < 3.a)
@@ -46,7 +47,7 @@ GEM
http-form_data (~> 2.2)
llhttp-ffi (~> 0.5.0)
http-accept (1.7.0)
http-cookie (1.0.6)
http-cookie (1.0.7)
domain_name (~> 0.5)
http-form_data (2.3.0)
i18n (1.14.5)
@@ -55,7 +56,7 @@ GEM
multi_json
jwt (2.8.2)
base64
krane (3.6.1)
krane (3.6.2)
activesupport (>= 5.0)
colorize (~> 0.8)
concurrent-ruby (~> 1.1)
@@ -64,7 +65,7 @@ GEM
jsonpath (~> 1.0)
kubeclient (~> 4.9)
multi_json
statsd-instrument (>= 2.8, < 4)
statsd-instrument (>= 2.8, < 3.9)
thor (>= 1.0, < 2.0)
kubeclient (4.12.0)
http (>= 3.0, < 6.0)
@@ -74,13 +75,12 @@ GEM
llhttp-ffi (0.5.0)
ffi-compiler (~> 1.0)
rake (~> 13.0)
logger (1.6.0)
logger (1.6.1)
mime-types (3.5.2)
mime-types-data (~> 3.2015)
mime-types-data (3.2024.0806)
minitest (5.24.1)
mime-types-data (3.2024.0903)
minitest (5.25.1)
multi_json (1.15.0)
mutex_m (0.2.0)
net-http (0.4.1)
uri
netrc (0.11.0)
@@ -93,16 +93,17 @@ GEM
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
securerandom (0.3.1)
signet (0.19.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
statsd-instrument (3.8.0)
thor (1.3.1)
thor (1.3.2)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
uri (0.13.0)
uri (0.13.1)
PLATFORMS
ruby
@@ -1,14 +1,14 @@
{
activesupport = {
dependencies = ["base64" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "minitest" "mutex_m" "tzinfo"];
dependencies = ["base64" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "logger" "minitest" "securerandom" "tzinfo"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0283wk1zxb76lg79dk501kcf5xy9h25qiw15m86s4nrfv11vqns5";
sha256 = "094cv9kxa8hwlsw3c0njkvvayd0wszcz9b6xywv4yajrg83zlmvm";
type = "gem";
};
version = "7.1.3.4";
version = "7.2.1";
};
addressable = {
dependencies = ["public_suffix"];
@@ -56,10 +56,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0skwdasxq7mnlcccn6aqabl7n9r3jd7k19ryzlzzip64cn4x572g";
sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl";
type = "gem";
};
version = "1.3.3";
version = "1.3.4";
};
connection_pool = {
groups = ["default"];
@@ -107,10 +107,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "104s7n9505488p923cs0pl3jlgn4naam28clkm2885hrysizpjbb";
sha256 = "00pd34pnfmij5iw1xv73f6d68zng63wyjhmk7dyi010kmb4x5sp6";
type = "gem";
};
version = "2.10.1";
version = "2.11.0";
};
faraday-net_http = {
dependencies = ["net-http"];
@@ -118,10 +118,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0f49frpfdr8czwm2mjkfny4pini6fy49b6hamw4jrppl4vsg14ys";
sha256 = "0rg54k4skaz8z7j358p6pdzc9pr84fjq7sdlpicf7s5ig7vb1rlk";
type = "gem";
};
version = "3.1.1";
version = "3.3.0";
};
ffi = {
groups = ["default"];
@@ -150,10 +150,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "16b9yjbrzal1cjkdbn29fl06ikjn1dpg1vdsjak1xvhpsp3vhjyg";
sha256 = "0vlwifnhih8nq5441pfbnzc7w4z8rmy7j54pfixpm9yvlq11428j";
type = "gem";
};
version = "2.1.1";
version = "2.2.0";
};
googleauth = {
dependencies = ["faraday" "google-cloud-env" "jwt" "multi_json" "os" "signet"];
@@ -193,10 +193,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0i20j9wgxk4k47g54jiphb02xdhrwvadf4a0jjq5mzr1dwcx64vp";
sha256 = "0lr2yk5g5vvf9nzlmkn3p7mhh9mn55gpdc7kl2w21xs46fgkjynb";
type = "gem";
};
version = "1.0.6";
version = "1.0.7";
};
http-form_data = {
groups = ["default"];
@@ -247,10 +247,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "002nf72l4b9h0lmpxzd5zm7dwakjs9f9cxrmkrx77qdyj4vy4g48";
sha256 = "07f87rzlr0yamji5ns2isf5f554jal5b9v62lijhsafmq9545f42";
type = "gem";
};
version = "3.6.1";
version = "3.6.2";
};
kubeclient = {
dependencies = ["http" "jsonpath" "recursive-open-struct" "rest-client"];
@@ -279,10 +279,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0gpg8gzi0xwymw4aaq2iafcbx31i3xzkg3fb30mdxn1d4qhc3dqa";
sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s";
type = "gem";
};
version = "1.6.0";
version = "1.6.1";
};
mime-types = {
dependencies = ["mime-types-data"];
@@ -300,20 +300,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0vzvh906sk9zqfd4bvpjjgw856i769d2abjp3cibh5w73r9g70zj";
sha256 = "0d5bmxcq87nj6h5rx6b1fkdzq8256yba97s2vlkszpwhc47m9rfs";
type = "gem";
};
version = "3.2024.0806";
version = "3.2024.0903";
};
minitest = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0jj629q3vw5yn90q4di4dyb87pil4a8qfm2srhgy5nc8j2n33v1i";
sha256 = "1n1akmc6bibkbxkzm1p1wmfb4n9vv397knkgz0ffykb3h1d7kdix";
type = "gem";
};
version = "5.24.1";
version = "5.25.1";
};
multi_json = {
groups = ["default"];
@@ -325,16 +325,6 @@
};
version = "1.15.0";
};
mutex_m = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ma093ayps1m92q845hmpk0dmadicvifkbf05rpq9pifhin0rvxn";
type = "gem";
};
version = "0.2.0";
};
net-http = {
dependencies = ["uri"];
groups = ["default"];
@@ -407,6 +397,16 @@
};
version = "2.1.0";
};
securerandom = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1phv6kh417vkanhssbjr960c0gfqvf8z7d3d9fd2yvd41q64bw4q";
type = "gem";
};
version = "0.3.1";
};
signet = {
dependencies = ["addressable" "faraday" "jwt" "multi_json"];
groups = ["default"];
@@ -433,10 +433,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1vq1fjp45az9hfp6fxljhdrkv75cvbab1jfrwcw738pnsiqk8zps";
sha256 = "1nmymd86a0vb39pzj2cwv57avdrl6pl3lf5bsz58q594kqxjkw7f";
type = "gem";
};
version = "1.3.1";
version = "1.3.2";
};
tzinfo = {
dependencies = ["concurrent-ruby"];
@@ -454,9 +454,9 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "094gk72ckazf495qc76gk09b5i318d5l9m7bicg2wxlrjcm3qm96";
sha256 = "07ndgxyhzd02cg94s6rnfhkb9rwx9z72lzk368sa9j78wc9qnbfz";
type = "gem";
};
version = "0.13.0";
version = "0.13.1";
};
}
@@ -27,6 +27,7 @@ kubernetes.overrideAttrs (_: rec {
meta = kubernetes.meta // {
description = "Kubernetes CLI";
homepage = "https://github.com/kubernetes/kubectl";
mainProgram = "kubectl";
platforms = lib.platforms.unix;
};
})
@@ -2,9 +2,7 @@
, stdenv
, fetchzip
, makeWrapper
, jdk8
, python3
, coreutils
, hadoop
, RSupport ? true
, R
@@ -12,13 +12,13 @@
let
thunderbird-unwrapped = thunderbirdPackages.thunderbird-115;
version = "115.9.0";
version = "115.14.0";
majVer = lib.versions.major version;
betterbird-patches = fetchFromGitHub {
owner = "Betterbird";
repo = "thunderbird-patches";
rev = "${version}-bb26-build2";
rev = "${version}-bb31";
postFetch = ''
echo "Retrieving external patches"
@@ -36,7 +36,7 @@ let
. ./external.sh
rm external.sh
'';
hash = "sha256-0RlI30zxiueeXdLEXPZevc8QyKr667juHk0bTcqBB1w=";
hash = "sha256-dXfpu+ufBfAWl1OlpQ1i8CC7N8f0NbxfaMH6BdKr28c=";
};
in ((buildMozillaMach {
pname = "betterbird";
@@ -50,7 +50,7 @@ in ((buildMozillaMach {
src = fetchurl {
# https://download.cdn.mozilla.net/pub/thunderbird/releases/
url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
hash = "sha256-Kut3ynA43289MG+cPSpOphWvDtzw9ykCFcpfMMEpDlc=";
hash = "sha256-A3/D8D9e5PI9SUetKFUE0oDpJsThprIk1zUfZoxu1/A=";
};
extraPostPatch = thunderbird-unwrapped.extraPostPatch or "" + /* bash */ ''
@@ -79,7 +79,8 @@ in ((buildMozillaMach {
fi
# requires vendored icu, fails to link with our icu
if [[ $patch == 14-feature-regexp-searchterm.patch || $patch == 14-feature-regexp-searchterm-m-c.patch ]]; then
# feature-506064 depends on those icu patches
if [[ $patch == 14-feature-regexp-searchterm.patch || $patch == 14-feature-regexp-searchterm-m-c.patch || $patch == feature-506064-match-diacritics.patch || $patch == feature-506064-match-diacritics-m-c.patch ]]; then
continue
fi
@@ -1,6 +1,5 @@
{ lib, stdenv
, cmake
, gettext
, libSrc
, stepreduce
, parallel
@@ -1,8 +1,6 @@
{ lib
, fetchPypi
, fetchpatch
, python3
, runtimeShell
, stress
}:
@@ -1,5 +1,4 @@
{ lib
, buildNpmPackage
, rustPlatform
, dbus
, freetype
@@ -1,5 +1,4 @@
{ rustPlatform
, buildNpmPackage
, testers
, libdrm
, coolercontrol
@@ -2,7 +2,6 @@
lib,
buildLua,
fetchFromGitHub,
fetchpatch,
unstableGitUpdater,
libnotify,
}:
@@ -98,11 +98,13 @@ let
];
# Inherit attributes from a versionDefinition.
inherit (versionDefinition) pname;
inherit (versionDefinition) branch;
inherit (versionDefinition) version;
inherit (versionDefinition) latest;
inherit (versionDefinition) pkg;
inherit (versionDefinition)
pname
branch
version
latest
pkg
;
# Mark versions older than minSupportedVersion as EOL.
minSupportedVersion = "4.17";
@@ -118,10 +120,9 @@ let
lib.attrsets.optionalAttrs withInternalQEMU {
qemu = {
src = fetchgit {
url = "https://xenbits.xen.org/git-http/qemu-xen.git";
url = "https://xenbits.xenproject.org/git-http/qemu-xen.git";
fetchSubmodules = true;
inherit (pkg.qemu) rev;
inherit (pkg.qemu) hash;
inherit (pkg.qemu) rev hash;
};
patches = lib.lists.optionals (lib.attrsets.hasAttrByPath [ "patches" ] pkg.qemu) pkg.qemu.patches;
path = "tools/qemu-xen";
@@ -130,9 +131,8 @@ let
// lib.attrsets.optionalAttrs withInternalSeaBIOS {
seaBIOS = {
src = fetchgit {
url = "https://xenbits.xen.org/git-http/seabios.git";
inherit (pkg.seaBIOS) rev;
inherit (pkg.seaBIOS) hash;
url = "https://xenbits.xenproject.org/git-http/seabios.git";
inherit (pkg.seaBIOS) rev hash;
};
patches = lib.lists.optionals (lib.attrsets.hasAttrByPath [
"patches"
@@ -143,10 +143,9 @@ let
// lib.attrsets.optionalAttrs withInternalOVMF {
ovmf = {
src = fetchgit {
url = "https://xenbits.xen.org/git-http/ovmf.git";
url = "https://xenbits.xenproject.org/git-http/ovmf.git";
fetchSubmodules = true;
inherit (pkg.ovmf) rev;
inherit (pkg.ovmf) hash;
inherit (pkg.ovmf) rev hash;
};
patches = lib.lists.optionals (lib.attrsets.hasAttrByPath [ "patches" ] pkg.ovmf) pkg.ovmf.patches;
path = "tools/firmware/ovmf-dir-remote";
@@ -157,8 +156,7 @@ let
src = fetchFromGitHub {
owner = "ipxe";
repo = "ipxe";
inherit (pkg.ipxe) rev;
inherit (pkg.ipxe) hash;
inherit (pkg.ipxe) rev hash;
};
patches = lib.lists.optionals (lib.attrsets.hasAttrByPath [ "patches" ] pkg.ipxe) pkg.ipxe.patches;
path = "tools/firmware/etherboot/ipxe.git";
@@ -317,8 +315,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
inherit pname;
inherit version;
inherit pname version;
outputs = [
"out" # TODO: Split $out in $bin for binaries and $lib for libraries.
@@ -330,9 +327,8 @@ stdenv.mkDerivation (finalAttrs: {
# Main Xen source.
src = fetchgit {
url = "https://xenbits.xen.org/git-http/xen.git";
inherit (pkg.xen) rev;
inherit (pkg.xen) hash;
url = "https://xenbits.xenproject.org/git-http/xen.git";
inherit (pkg.xen) rev hash;
};
patches =
@@ -536,8 +532,10 @@ stdenv.mkDerivation (finalAttrs: {
${deployPrefetchedSourcesPatches}
''
# Patch shebangs for QEMU and OVMF build scripts.
+ ''
+ lib.strings.optionalString withInternalQEMU ''
patchShebangs --build tools/qemu-xen/scripts/tracetool.py
''
+ lib.strings.optionalString withInternalOVMF ''
patchShebangs --build tools/firmware/ovmf-dir-remote/OvmfPkg/build.sh tools/firmware/ovmf-dir-remote/BaseTools/BinWrappers/PosixLike/{AmlToC,BrotliCompress,build,GenFfs,GenFv,GenFw,GenSec,LzmaCompress,TianoCompress,Trim,VfrCompile}
'';
@@ -640,77 +638,93 @@ stdenv.mkDerivation (finalAttrs: {
};
};
meta = {
inherit branch;
# Short description for Xen.
description =
"Xen Hypervisor"
# The "and related components" addition is automatically hidden if said components aren't being built.
+ lib.strings.optionalString (prefetchedSources != { }) " and related components"
# To alter the description inside the paranthesis, edit ./packages.nix.
+ lib.strings.optionalString (lib.attrsets.hasAttrByPath [
meta =
if
!(lib.attrsets.hasAttrByPath [
"meta"
"description"
] packageDefinition) " (${packageDefinition.meta.description})";
# Long description for Xen.
longDescription =
# Starts with the longDescription from ./packages.nix.
(packageDefinition.meta.longDescription or "")
+ lib.strings.optionalString (!withInternalQEMU) (
"\nUse with `qemu_xen_${lib.strings.stringAsChars (x: if x == "." then "_" else x) branch}`"
+ lib.strings.optionalString latest " or `qemu_xen`"
+ ".\n"
)
# Then, if any of the optional with* components are being built, add the "Includes:" string.
+
lib.strings.optionalString
(
withInternalQEMU
|| withInternalSeaBIOS
|| withInternalOVMF
|| withInternalIPXE
|| withEFI
|| withFlask
] versionDefinition)
then
{
inherit branch;
# Short description for Xen.
description =
"Xen Hypervisor"
# The "and related components" addition is automatically hidden if said components aren't being built.
+ lib.strings.optionalString (prefetchedSources != { }) " and related components"
# To alter the description inside the paranthesis, edit ./packages.nix.
+ lib.strings.optionalString (lib.attrsets.hasAttrByPath [
"meta"
"description"
] packageDefinition) " (${packageDefinition.meta.description})";
# Long description for Xen.
longDescription =
# Starts with the longDescription from ./packages.nix.
(packageDefinition.meta.longDescription or "")
+ lib.strings.optionalString (!withInternalQEMU) (
"\nUse with `qemu_xen_${lib.strings.stringAsChars (x: if x == "." then "_" else x) branch}`"
+ lib.strings.optionalString latest " or `qemu_xen`"
+ ".\n"
)
(
"\nIncludes:"
# Originally, this was a call for the complicated withPrefetchedSources. Since there aren't
# that many optional components, we just use lib.strings.optionalString, because it's simpler.
# Optional components that aren't being built are automatically hidden.
+ lib.strings.optionalString withEFI "\n* `xen.efi`: Xen's [EFI binary](https://xenbits.xenproject.org/docs/${branch}-testing/misc/efi.html), available on the `boot` output of this package."
+ lib.strings.optionalString withFlask "\n* `xsm-flask`: The [FLASK Xen Security Module](https://wiki.xenproject.org/wiki/Xen_Security_Modules_:_XSM-FLASK). The `xenpolicy-${version}` file is available on the `boot` output of this package."
+ lib.strings.optionalString withInternalQEMU "\n* `qemu-xen`: Xen's mirror of [QEMU](https://www.qemu.org/)."
+ lib.strings.optionalString withInternalSeaBIOS "\n* `seabios-xen`: Xen's mirror of [SeaBIOS](https://www.seabios.org/SeaBIOS)."
+ lib.strings.optionalString withInternalOVMF "\n* `ovmf-xen`: Xen's mirror of [OVMF](https://github.com/tianocore/tianocore.github.io/wiki/OVMF)."
+ lib.strings.optionalString withInternalIPXE "\n* `ipxe-xen`: Xen's pinned version of [iPXE](https://ipxe.org/)."
)
# Finally, we write a notice explaining which vulnerabilities this Xen is NOT vulnerable to.
# This will hopefully give users the peace of mind that their Xen is secure, without needing
# to search the source code for the XSA patches.
+ lib.strings.optionalString (writeAdvisoryDescription != [ ]) (
"\n\nThis Xen (${version}) has been patched against the following known security vulnerabilities:\n"
+ lib.strings.removeSuffix "\n" (lib.strings.concatLines writeAdvisoryDescription)
);
homepage = "https://xenproject.org/";
downloadPage = "https://downloads.xenproject.org/release/xen/${version}/";
changelog = "https://wiki.xenproject.org/wiki/Xen_Project_${branch}_Release_Notes";
license = with lib.licenses; [
# Documentation.
cc-by-40
# Most of Xen is licensed under the GPL v2.0.
gpl2Only
# Xen Libraries and the `xl` command-line utility.
lgpl21Only
# Development headers in $dev/include.
mit
];
# This automatically removes maintainers from EOL versions of Xen, so we aren't bothered about versions we don't explictly support.
maintainers = lib.lists.optionals (lib.strings.versionAtLeast version minSupportedVersion) (
with lib.maintainers; [ sigmasquadron ]
);
mainProgram = "xl";
# Evaluates to x86_64-linux.
platforms = lib.lists.intersectLists lib.platforms.linux lib.platforms.x86_64;
knownVulnerabilities = lib.lists.optional (lib.strings.versionOlder version minSupportedVersion) "Xen ${version} is no longer supported by the Xen Security Team. See https://xenbits.xenproject.org/docs/unstable/support-matrix.html";
};
# Then, if any of the optional with* components are being built, add the "Includes:" string.
+
lib.strings.optionalString
(
withInternalQEMU
|| withInternalSeaBIOS
|| withInternalOVMF
|| withInternalIPXE
|| withEFI
|| withFlask
)
(
"\nIncludes:"
# Originally, this was a call for the complicated withPrefetchedSources. Since there aren't
# that many optional components, we just use lib.strings.optionalString, because it's simpler.
# Optional components that aren't being built are automatically hidden.
+ lib.strings.optionalString withEFI "\n* `xen.efi`: Xen's [EFI binary](https://xenbits.xenproject.org/docs/${branch}-testing/misc/efi.html), available on the `boot` output of this package."
+ lib.strings.optionalString withFlask "\n* `xsm-flask`: The [FLASK Xen Security Module](https://wiki.xenproject.org/wiki/Xen_Security_Modules_:_XSM-FLASK). The `xenpolicy-${version}` file is available on the `boot` output of this package."
+ lib.strings.optionalString withInternalQEMU "\n* `qemu-xen`: Xen's mirror of [QEMU](https://www.qemu.org/)."
+ lib.strings.optionalString withInternalSeaBIOS "\n* `seabios-xen`: Xen's mirror of [SeaBIOS](https://www.seabios.org/SeaBIOS)."
+ lib.strings.optionalString withInternalOVMF "\n* `ovmf-xen`: Xen's mirror of [OVMF](https://github.com/tianocore/tianocore.github.io/wiki/OVMF)."
+ lib.strings.optionalString withInternalIPXE "\n* `ipxe-xen`: Xen's pinned version of [iPXE](https://ipxe.org/)."
)
# Finally, we write a notice explaining which vulnerabilities this Xen is NOT vulnerable to.
# This will hopefully give users the peace of mind that their Xen is secure, without needing
# to search the source code for the XSA patches.
+ lib.strings.optionalString (writeAdvisoryDescription != [ ]) (
"\n\nThis Xen (${version}) has been patched against the following known security vulnerabilities:\n"
+ lib.strings.removeSuffix "\n" (lib.strings.concatLines writeAdvisoryDescription)
);
homepage = "https://xenproject.org/";
downloadPage = "https://downloads.xenproject.org/release/xen/${version}/";
changelog = "https://wiki.xenproject.org/wiki/Xen_Project_${branch}_Release_Notes";
license = with lib.licenses; [
# Documentation.
cc-by-40
# Most of Xen is licensed under the GPL v2.0.
gpl2Only
# Xen Libraries and the `xl` command-line utility.
lgpl21Only
# Development headers in $dev/include.
mit
];
# This automatically removes maintainers from EOL versions of Xen, so we aren't bothered about versions we don't explictly support.
maintainers = lib.lists.optionals (lib.strings.versionAtLeast version minSupportedVersion) (
with lib.maintainers; [ sigmasquadron ]
);
knownVulnerabilities = lib.lists.optional (lib.strings.versionOlder version minSupportedVersion) "Xen ${version} is no longer supported by the Xen Security Team. See https://xenbits.xenproject.org/docs/unstable/support-matrix.html";
mainProgram = "xl";
# Evaluates to x86_64-linux.
platforms = lib.lists.intersectLists lib.platforms.linux lib.platforms.x86_64;
}
else
versionDefinition.meta;
})
@@ -99,21 +99,6 @@ in
})
];
# Xen Security Advisory #458: (4.16.6 - 4.19-rc3)
"XSA_458" = xsaPatch {
id = "458";
title = "Double unlock in x86 guest IRQ handling";
description = ''
An optional feature of PCI MSI called "Multiple Message" allows a device
to use multiple consecutive interrupt vectors. Unlike for MSI-X, the
setting up of these consecutive vectors needs to happen all in one go.
In this handling an error path could be taken in different situations,
with or without a particular lock held. This error path wrongly releases
the lock even when it is not currently held.
'';
cve = [ "CVE-2024-31143" ];
hash = "sha256-yHI9Sp/7Ed40iIYQ/HOOIULlfzAzL0c0MGqdF+GR+AQ=";
};
# Xen Security Advisory #460: (4.16.6 - 4.19.0)
"XSA_460" = xsaPatch {
id = "460";
+22 -13
View File
@@ -5,6 +5,9 @@ set -o errexit
set -o pipefail
set -o nounset
#TODO: Use `jq` instead of `sed`.
#TODO: Accept the small security drawback and make this script runnable by r-ryantm.
# This script expects to be called in an interactive terminal somewhere inside Nixpkgs.
echo "Preparing..."
nixpkgs=$(git rev-parse --show-toplevel)
@@ -22,7 +25,7 @@ userInputFingerprint=${userInputFingerprint:-"23E3222C145F4475FA8060A783FE14C957
# Clone xen.git.
echo -e "Cloning \e[1;34mxen.git\e[0m..."
git clone --quiet https://xenbits.xen.org/git-http/xen.git /tmp/xenUpdateScript/xen
git clone --quiet https://xenbits.xenproject.org/git-http/xen.git /tmp/xenUpdateScript/xen
cd /tmp/xenUpdateScript/xen
# Get list of versions and branches.
@@ -35,6 +38,8 @@ minSupportedBranch="$(grep " minSupportedVersion = " "$xenPath"/generic/default
supportedBranches=($(for version in "${branchList[@]}"; do if [ "$(printf '%s\n' "$minSupportedBranch" "$version" | sort -V | head -n1)" = "$minSupportedBranch" ]; then echo "$version"; fi; done))
supportedVersions=($(for version in "${supportedBranches[@]}"; do echo "$versionList" | tr ' ' '\n' | grep "$version" | tail --lines=1; done))
echo -e "\e[1mNOTE\e[0m: As we're also pre-fetching the submodules, QEMU and OVMF may take a very long time to fetch."
# Main loop that installs every supportedVersion.
for version in "${supportedVersions[@]}"; do
echo -e "\n------------------------------------------------"
@@ -59,31 +64,33 @@ for version in "${supportedVersions[@]}"; do
git switch --quiet --detach RELEASE-"$version"
# Originally we told people to go check the Makefile themselves.
echo -e "\nDetermining source versions from Xen Makefiles..."
qemuVersion="$(grep -ie "QEMU_UPSTREAM_REVISION ?=" /tmp/xenUpdateScript/xen/Config.mk | sed s/"QEMU_UPSTREAM_REVISION ?= "//g)"
seaBIOSVersion="$(grep -ie "SEABIOS_UPSTREAM_REVISION ?= rel-" /tmp/xenUpdateScript/xen/Config.mk | sed s/"SEABIOS_UPSTREAM_REVISION ?= "//g)"
ovmfVersion="$(grep -ie "OVMF_UPSTREAM_REVISION ?=" /tmp/xenUpdateScript/xen/Config.mk | sed s/"OVMF_UPSTREAM_REVISION ?= "//g)"
ipxeVersion="$(grep -ie "IPXE_GIT_TAG :=" /tmp/xenUpdateScript/xen/tools/firmware/etherboot/Makefile | sed s/"IPXE_GIT_TAG := "//g)"
echo -e -n "\nDetermining source versions from Xen Makefiles..."
qemuVersion="$(grep "QEMU_UPSTREAM_REVISION ?=" /tmp/xenUpdateScript/xen/Config.mk | sed s/"QEMU_UPSTREAM_REVISION ?= "//g)"
seaBIOSVersion="$(grep "SEABIOS_UPSTREAM_REVISION ?= rel-" /tmp/xenUpdateScript/xen/Config.mk | sed s/"SEABIOS_UPSTREAM_REVISION ?= "//g)"
ovmfVersion="$(grep "OVMF_UPSTREAM_REVISION ?=" /tmp/xenUpdateScript/xen/Config.mk | sed s/"OVMF_UPSTREAM_REVISION ?= "//g)"
miniOSVersion="$(grep "MINIOS_UPSTREAM_REVISION ?=" /tmp/xenUpdateScript/xen/Config.mk | sed s/"MINIOS_UPSTREAM_REVISION ?= "//g)"
ipxeVersion="$(grep "IPXE_GIT_TAG :=" /tmp/xenUpdateScript/xen/tools/firmware/etherboot/Makefile | sed s/"IPXE_GIT_TAG := "//g)"
echo "done!"
# Use `nix-prefetch-git` to fetch `rev`s and `hash`es.
echo "Pre-fetching sources and determining hashes..."
echo -e -n " \e[1;32mXen\e[0m..."
fetchXen=$(nix-prefetch-git --url https://xenbits.xen.org/git-http/xen.git --rev RELEASE-"$version" --quiet)
fetchXen=$(nix-prefetch-git --url https://xenbits.xenproject.org/git-http/xen.git --rev RELEASE-"$version" --quiet)
finalVersion="$(echo "$fetchXen" | tr ', ' '\n ' | grep -ie rev | sed s/' "rev": "'//g | sed s/'"'//g)"
hash="$(echo "$fetchXen" | tr ', ' '\n ' | grep -ie hash | sed s/' "hash": "'//g | sed s/'"'//g)"
echo "done!"
echo -e -n " \e[1;36mQEMU\e[0m..."
fetchQEMU=$(nix-prefetch-git --url https://xenbits.xen.org/git-http/qemu-xen.git --rev "$qemuVersion" --quiet --fetch-submodules)
fetchQEMU=$(nix-prefetch-git --url https://xenbits.xenproject.org/git-http/qemu-xen.git --rev "$qemuVersion" --quiet --fetch-submodules)
finalQEMUVersion="$(echo "$fetchQEMU" | tr ', ' '\n ' | grep -ie rev | sed s/' "rev": "'//g | sed s/'"'//g)"
qemuHash="$(echo "$fetchQEMU" | tr ', ' '\n ' | grep -ie hash | sed s/' "hash": "'//g | sed s/'"'//g)"
echo "done!"
echo -e -n " \e[1;36mSeaBIOS\e[0m..."
fetchSeaBIOS=$(nix-prefetch-git --url https://xenbits.xen.org/git-http/seabios.git --rev "$seaBIOSVersion" --quiet)
fetchSeaBIOS=$(nix-prefetch-git --url https://xenbits.xenproject.org/git-http/seabios.git --rev "$seaBIOSVersion" --quiet)
finalSeaBIOSVersion="$(echo "$fetchSeaBIOS" | tr ', ' '\n ' | grep -ie rev | sed s/' "rev": "'//g | sed s/'"'//g)"
seaBIOSHash="$(echo "$fetchSeaBIOS" | tr ', ' '\n ' | grep -ie hash | sed s/' "hash": "'//g | sed s/'"'//g)"
echo "done!"
echo -e -n " \e[1;36mOVMF\e[0m..."
ovmfHash="$(nix-prefetch-git --url https://xenbits.xen.org/git-http/ovmf.git --rev "$ovmfVersion" --quiet --fetch-submodules | grep -ie hash | sed s/' "hash": "'//g | sed s/'",'//g)"
ovmfHash="$(nix-prefetch-git --url https://xenbits.xenproject.org/git-http/ovmf.git --rev "$ovmfVersion" --quiet --fetch-submodules | grep -ie hash | sed s/' "hash": "'//g | sed s/'",'//g)"
echo "done!"
echo -e -n " \e[1;36miPXE\e[0m..."
ipxeHash="$(nix-prefetch-git --url https://github.com/ipxe/ipxe.git --rev "$ipxeVersion" --quiet | grep -ie hash | sed s/' "hash": "'//g | sed s/'",'//g)"
@@ -120,13 +127,13 @@ for version in "${supportedVersions[@]}"; do
echo -e "Found the following patches:\n \e[1;32mXen\e[0m: \e[1;33m$discoveredXenPatchesEcho\e[0m\n \e[1;36mQEMU\e[0m: \e[1;33m$discoveredQEMUPatchesEcho\e[0m\n \e[1;36mSeaBIOS\e[0m: \e[1;33m$discoveredSeaBIOSPatchesEcho\e[0m\n \e[1;36mOVMF\e[0m: \e[1;33m$discoveredOVMFPatchesEcho\e[0m\n \e[1;36miPXE\e[0m: \e[1;33m$discoveredIPXEPatchesEcho\e[0m"
# Prepare patches that are called in ./patches.nix.
defaultPatchListInit=("QUBES_REPRODUCIBLE_BUILDS" "XSA_458" "XSA_460" "XSA_461" )
defaultPatchListInit=("QUBES_REPRODUCIBLE_BUILDS" "XSA_460" "XSA_461" )
read -r -a defaultPatchList -p $'\nWould you like to override the \e[1;34mupstreamPatches\e[0m list for \e[1;32mXen '"$version"$'\e[0m? If no, press \e[1;34menter\e[0m to use the default patch list: [ \e[1;34m'"${defaultPatchListInit[*]}"$' \e[0m]: '
defaultPatchList=(${defaultPatchList[@]:-${defaultPatchListInit[@]}})
upstreamPatches=${defaultPatchList[*]}
# Write and format default.nix file.
echo -e "\nWriting updated \e[1;34mversionDefinition\e[0m..."
echo -e -n "\nWriting updated \e[1;34mversionDefinition\e[0m..."
cat >"$branch"/default.nix <<EOF
{
lib,
@@ -181,9 +188,11 @@ callPackage (import ../generic/default.nix {
};
}) ({ ocamlPackages = ocaml-ng.ocamlPackages_$ocamlVersion; } // genericDefinition)
EOF
echo done!
echo "Formatting..."
echo -n "Formatting..."
nixfmt "$branch"/default.nix
echo done!
echo -e "\n\e[1;32mSuccessfully produced $branch/default.nix.\e[0m"
done
@@ -138,7 +138,6 @@ stdenv.mkDerivation (finalAttrs: {
cmakeFlags = [
(lib.cmakeBool "NON_PORTABLE" true)
(lib.cmakeFeature "CMAKE_BUILD_TYPE" "Release")
(lib.cmakeFeature "CMAKE_INSTALL_PREFIX" "${placeholder "out"}/2s2h")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_IMGUI" "${imgui'.src}")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_LIBGFXD" "${libgfxd}")
+2 -2
View File
@@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "${lib.optionalString enablePython "py"}abpoa";
version = "1.5.2";
version = "1.5.3";
src = fetchFromGitHub {
owner = "yangao07";
repo = "abPOA";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-gS0PO7K4hN+3k2NF8enri1FzM80H2I+a3MNaKsm74xM=";
hash = "sha256-90mkXp4cC0Omnx0C7ab7NNs/M2oedIcICTUJl3qhcyo=";
};
patches = [ ./simd-arch.patch ];
+97
View File
@@ -0,0 +1,97 @@
{
cmake,
crocoddyl,
doxygen,
fetchFromGitHub,
fmt,
fontconfig,
gbenchmark,
graphviz,
lib,
llvmPackages, # llvm/Support/Host.h required by casadi 3.6.5 and not available in llvm 18
pinocchio,
pkg-config,
proxsuite-nlp,
python3Packages,
pythonSupport ? false,
stdenv,
suitesparse,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "aligator";
version = "0.8.0";
src = fetchFromGitHub {
owner = "Simple-Robotics";
repo = "aligator";
rev = "v${finalAttrs.version}";
hash = "sha256-o4QjxTaZUa17hZsCv4hCI2cedaHoojBtLe8SVUkl0bo=";
};
outputs = [
"doc"
"out"
];
strictDeps = true;
nativeBuildInputs = [
doxygen
cmake
graphviz
pkg-config
] ++ lib.optional pythonSupport python3Packages.pythonImportsCheckHook;
buildInputs = [ fmt ] ++ lib.optional stdenv.isDarwin llvmPackages.openmp;
propagatedBuildInputs =
[ suitesparse ]
++ lib.optionals pythonSupport [
python3Packages.crocoddyl
python3Packages.matplotlib
python3Packages.pinocchio
python3Packages.proxsuite-nlp
]
++ lib.optionals (!pythonSupport) [
crocoddyl
pinocchio
proxsuite-nlp
];
checkInputs =
[ gbenchmark ]
++ lib.optionals pythonSupport [
python3Packages.matplotlib
python3Packages.pytest
];
cmakeFlags =
[
(lib.cmakeBool "BUILD_PYTHON_INTERFACE" pythonSupport)
(lib.cmakeBool "BUILD_WITH_PINOCCHIO_SUPPORT" true)
(lib.cmakeBool "BUILD_CROCODDYL_COMPAT" true)
(lib.cmakeBool "BUILD_WITH_OPENMP_SUPPORT" true)
(lib.cmakeBool "BUILD_WITH_CHOLMOD_SUPPORT" true)
(lib.cmakeBool "GENERATE_PYTHON_STUBS" false) # this need git at configure time
]
++ lib.optionals (stdenv.hostPlatform.isDarwin && pythonSupport) [
# ignore one failing test for now
(lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" "--exclude-regex;aligator-test-py-integrators")
];
# Fontconfig error: Cannot load default config file: No such file: (null)
env.FONTCONFIG_FILE = "${fontconfig.out}/etc/fonts/fonts.conf";
# Fontconfig error: No writable cache directories
preBuild = "export XDG_CACHE_HOME=$(mktemp -d)";
doCheck = true;
pythonImportsCheck = [ "aligator" ];
meta = {
description = "Versatile and efficient framework for constrained trajectory optimization";
homepage = "https://github.com/Simple-Robotics/aligator";
changelog = "https://github.com/Simple-Robotics/aligator/blob/v${finalAttrs.version}/CHANGELOG.md";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ nim65s ];
platforms = lib.platforms.unix;
};
})
-1
View File
@@ -4,7 +4,6 @@
buildNpmPackage,
electron,
nodejs,
fetchpatch,
}:
buildNpmPackage rec {
-1
View File
@@ -4,7 +4,6 @@
, cmake
, pkg-config
, wrapGAppsHook3
, makeWrapper
, pixman
, libpthreadstubs
, gtkmm3
+3 -3
View File
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "ast-grep";
version = "0.27.0";
version = "0.27.1";
src = fetchFromGitHub {
owner = "ast-grep";
repo = "ast-grep";
rev = version;
hash = "sha256-aoROD6c+VghvoBixSYLXC1DrYDkOhJA5rjDycc9NyR8=";
hash = "sha256-7jTkQIBeC8Vl8wrrdulZZq/aQNwksUsAdA7hlPEd4cQ=";
};
cargoHash = "sha256-skOE/J+Msvm8tUizijONy+vx4MrsMbd4uUs5bO8FId4=";
cargoHash = "sha256-sDKF8KbTQGQizyjV3w4+LGgz1i18wmKzvHfCb3XGb0g=";
nativeBuildInputs = [ installShellFiles ];
-1
View File
@@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
bluez,
cmake,
dbus,
@@ -18,7 +18,6 @@
, gtk3
, intltool
, json-glib
, callPackage
, libstartup_notification
, libXtst
, libXdamage
@@ -18,7 +18,6 @@
, networkmanager
, libgudev
, libwacom
, gnome
, wrapGAppsHook3
, tzdata
, glibc
@@ -1,6 +1,5 @@
{ lib
, runCommand
, nixos-artwork
, glib
, gnome-terminal
, gtk3
@@ -8,7 +8,6 @@
, gtk3
, libcanberra
, libxslt
, makeWrapper
, meson
, ninja
, pkg-config
+1 -1
View File
@@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
yaml-cpp
];
cmakeFlags = if debug then [ "-DCMAKE_BUILD_TYPE=Debug" ] else [ ];
cmakeBuildType = if debug then "Debug" else "Release";
clang = if enableLibcxx then llvmPackages.libcxxClang else llvmPackages.clang;
-2
View File
@@ -1,8 +1,6 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, meson
, ninja
, go-md2man
+1 -1
View File
@@ -70,7 +70,7 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/pop-os/cosmic-applets";
description = "Applets for the COSMIC Desktop Environment";
license = licenses.gpl3Only;
maintainers = with maintainers; [ qyliss nyanbinary ];
maintainers = with maintainers; [ qyliss nyabinary ];
platforms = platforms.linux;
};
}
@@ -71,7 +71,7 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/pop-os/cosmic-applibrary";
description = "Application Template for the COSMIC Desktop Environment";
license = licenses.gpl3Only;
maintainers = with maintainers; [ nyanbinary ];
maintainers = with maintainers; [ nyabinary ];
platforms = platforms.linux;
mainProgram = "cosmic-app-library";
};
+1 -1
View File
@@ -56,7 +56,7 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/pop-os/cosmic-bg";
description = "Applies Background for the COSMIC Desktop Environment";
license = licenses.mpl20;
maintainers = with maintainers; [ nyanbinary ];
maintainers = with maintainers; [ nyabinary ];
platforms = platforms.linux;
mainProgram = "cosmic-bg";
};
+1 -1
View File
@@ -94,7 +94,7 @@ rustPlatform.buildRustPackage rec {
description = "Compositor for the COSMIC Desktop Environment";
mainProgram = "cosmic-comp";
license = licenses.gpl3Only;
maintainers = with maintainers; [ qyliss nyanbinary ];
maintainers = with maintainers; [ qyliss nyabinary ];
platforms = platforms.linux;
};
}
@@ -69,7 +69,7 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/pop-os/cosmic-design-demo";
description = "Design Demo for the COSMIC Desktop Environment";
license = licenses.mpl20;
maintainers = with maintainers; [ nyanbinary ];
maintainers = with maintainers; [ nyabinary ];
platforms = platforms.linux;
mainProgram = "cosmic-design-demo";
};
+1 -1
View File
@@ -105,7 +105,7 @@ rustPlatform.buildRustPackage rec {
description = "Text Editor for the COSMIC Desktop Environment";
mainProgram = "cosmic-edit";
license = licenses.gpl3Only;
maintainers = with maintainers; [ ahoneybun nyanbinary ];
maintainers = with maintainers; [ ahoneybun nyabinary ];
platforms = platforms.linux;
};
}
+1 -1
View File
@@ -77,7 +77,7 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/pop-os/cosmic-files";
description = "File Manager for the COSMIC Desktop Environment";
license = licenses.gpl3Only;
maintainers = with maintainers; [ ahoneybun nyanbinary ];
maintainers = with maintainers; [ ahoneybun nyabinary ];
platforms = platforms.linux;
};
}
+1 -1
View File
@@ -75,7 +75,7 @@ rustPlatform.buildRustPackage rec {
description = "Greeter for the COSMIC Desktop Environment";
mainProgram = "cosmic-greeter";
license = licenses.gpl3Only;
maintainers = with maintainers; [ nyanbinary ];
maintainers = with maintainers; [ nyabinary ];
platforms = platforms.linux;
};
}
+1 -1
View File
@@ -72,7 +72,7 @@ rustPlatform.buildRustPackage rec {
description = "Launcher for the COSMIC Desktop Environment";
mainProgram = "cosmic-launcher";
license = licenses.gpl3Only;
maintainers = with maintainers; [ nyanbinary ];
maintainers = with maintainers; [ nyabinary ];
platforms = platforms.linux;
};
}
@@ -72,7 +72,7 @@ rustPlatform.buildRustPackage rec {
description = "Notifications for the COSMIC Desktop Environment";
mainProgram = "cosmic-notifications";
license = licenses.gpl3Only;
maintainers = with maintainers; [ nyanbinary ];
maintainers = with maintainers; [ nyabinary ];
platforms = platforms.linux;
};
}
+1 -1
View File
@@ -49,7 +49,7 @@ rustPlatform.buildRustPackage rec {
description = "OSD for the COSMIC Desktop Environment";
mainProgram = "cosmic-osd";
license = licenses.gpl3Only;
maintainers = with maintainers; [ nyanbinary ];
maintainers = with maintainers; [ nyabinary ];
platforms = platforms.linux;
};
}
+1 -1
View File
@@ -57,7 +57,7 @@ rustPlatform.buildRustPackage {
description = "Panel for the COSMIC Desktop Environment";
mainProgram = "cosmic-panel";
license = licenses.gpl3Only;
maintainers = with maintainers; [ qyliss nyanbinary ];
maintainers = with maintainers; [ qyliss nyabinary ];
platforms = platforms.linux;
};
}
+1 -1
View File
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/pop-os/cosmic-protocols";
description = "Additional wayland-protocols used by the COSMIC desktop environment";
license = [ licenses.mit licenses.gpl3Only ];
maintainers = with maintainers; [ nyanbinary ];
maintainers = with maintainers; [ nyabinary ];
platforms = platforms.linux;
};
}
+1 -1
View File
@@ -43,7 +43,7 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/pop-os/cosmic-randr";
description = "Library and utility for displaying and configuring Wayland outputs";
license = licenses.mpl20;
maintainers = with maintainers; [ nyanbinary ];
maintainers = with maintainers; [ nyabinary ];
platforms = platforms.linux;
mainProgram = "cosmic-randr";
};
@@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/pop-os/cosmic-screenshot";
description = "Screenshot tool for the COSMIC Desktop Environment";
license = licenses.gpl3Only;
maintainers = with maintainers; [ nyanbinary ];
maintainers = with maintainers; [ nyabinary ];
platforms = platforms.linux;
mainProgram = "cosmic-screenshot";
};
+1 -1
View File
@@ -60,7 +60,7 @@ rustPlatform.buildRustPackage rec {
mainProgram = "cosmic-session";
maintainers = with maintainers; [
a-kenji
nyanbinary
nyabinary
];
platforms = platforms.linux;
};
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
description = "Settings Daemon for the COSMIC Desktop Environment";
mainProgram = "cosmic-settings-daemon";
license = licenses.gpl3Only;
maintainers = with maintainers; [ nyanbinary ];
maintainers = with maintainers; [ nyabinary ];
platforms = platforms.linux;
};
}
+1 -1
View File
@@ -82,7 +82,7 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/pop-os/cosmic-settings";
description = "Settings for the COSMIC Desktop Environment";
license = licenses.gpl3Only;
maintainers = with maintainers; [ nyanbinary ];
maintainers = with maintainers; [ nyabinary ];
platforms = platforms.linux;
mainProgram = "cosmic-settings";
};
+1 -1
View File
@@ -95,7 +95,7 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/pop-os/cosmic-store";
description = "App Store for the COSMIC Desktop Environment";
license = licenses.gpl3Only;
maintainers = with maintainers; [ ahoneybun nyanbinary ];
maintainers = with maintainers; [ ahoneybun nyabinary ];
platforms = platforms.linux;
};
}
+1 -1
View File
@@ -111,7 +111,7 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/pop-os/cosmic-term";
description = "Terminal for the COSMIC Desktop Environment";
license = licenses.gpl3Only;
maintainers = with maintainers; [ ahoneybun nyanbinary ];
maintainers = with maintainers; [ ahoneybun nyabinary ];
platforms = platforms.linux;
mainProgram = "cosmic-term";
};
@@ -66,7 +66,7 @@ rustPlatform.buildRustPackage rec {
description = "Workspaces Epoch for the COSMIC Desktop Environment";
mainProgram = "cosmic-workspaces";
license = licenses.gpl3Only;
maintainers = with maintainers; [ nyanbinary ];
maintainers = with maintainers; [ nyabinary ];
platforms = platforms.linux;
};
}
@@ -26,8 +26,6 @@ stdenv.mkDerivation {
SDL2
];
cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ];
installPhase = ''
runHook preInstall
mkdir -p "$out/share/CroMagRally"
+89
View File
@@ -0,0 +1,89 @@
{
blas,
cmake,
doxygen,
example-robot-data,
fetchFromGitHub,
ipopt,
lapack,
lib,
pinocchio,
pkg-config,
pythonSupport ? false,
python3Packages,
stdenv,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "crocoddyl";
version = "2.1.0";
src = fetchFromGitHub {
owner = "loco-3d";
repo = "crocoddyl";
rev = "v${finalAttrs.version}";
hash = "sha256-SVV9sleDXLm2QJmNgL25XLHC3y5bfKab4GSlE8jbT8w=";
};
outputs = [
"out"
"doc"
];
strictDeps = true;
nativeBuildInputs =
[
cmake
doxygen
pkg-config
]
++ lib.optionals pythonSupport [
python3Packages.python
python3Packages.pythonImportsCheckHook
];
propagatedBuildInputs =
[
blas
ipopt
lapack
]
++ lib.optionals (!pythonSupport) [
example-robot-data
pinocchio
]
++ lib.optionals pythonSupport [
python3Packages.example-robot-data
python3Packages.pinocchio
python3Packages.scipy
];
cmakeFlags = [
(lib.cmakeBool "INSTALL_DOCUMENTATION" true)
(lib.cmakeBool "BUILD_EXAMPLES" pythonSupport)
(lib.cmakeBool "BUILD_PYTHON_INTERFACE" pythonSupport)
];
prePatch = ''
substituteInPlace \
examples/CMakeLists.txt \
examples/log/check_logfiles.sh \
--replace-fail /bin/bash ${stdenv.shell}
'';
doCheck = true;
pythonImportsCheck = [ "crocoddyl" ];
checkInputs = lib.optionals pythonSupport [ python3Packages.scipy ];
meta = with lib; {
description = "Crocoddyl optimal control library";
homepage = "https://github.com/loco-3d/crocoddyl";
license = licenses.bsd3;
maintainers = with maintainers; [
nim65s
wegank
];
platforms = platforms.unix;
};
})
-1
View File
@@ -2,7 +2,6 @@
fetchFromGitHub,
lib,
python3Packages,
python3,
gtk3,
gobject-introspection,
wrapGAppsHook3,
+3 -3
View File
@@ -14,18 +14,18 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "devcontainer";
version = "0.65.0";
version = "0.71.0";
src = fetchFromGitHub {
owner = "devcontainers";
repo = "cli";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-Q1qQjIRyOeFr8qrZJZ1IkO12RM2hp4IxI1NI7WqpmZA=";
hash = "sha256-plIDK5nOvLKFlRVlPHgpjHPhIh0NAWHmbaKsnYCU/7k=";
};
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${finalAttrs.src}/yarn.lock";
hash = "sha256-tN7qAvfYmDz5ZtgZL5+ZZtkuxZxvlS9FM3+dGl+daUQ=";
hash = "sha256-KSVr6RlBEeDAo8D+7laTN+pSH8Ukl6WTpeAULuG2fq8=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -51,14 +51,14 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "dyalog";
version = "19.0.49960";
version = "19.0.50027";
shortVersion = lib.versions.majorMinor finalAttrs.version;
src =
assert !acceptLicense -> throw licenseDisclaimer;
fetchurl {
url = "https://download.dyalog.com/download.php?file=${finalAttrs.shortVersion}/linux_64_${finalAttrs.version}_unicode.x86_64.deb";
hash = "sha256-WeIrwF6msiQGS6ltYWn6TN+v+aXK1cbJ1e11B6f0+2A=";
hash = "sha256-3uB102Hr0dmqAZj2ezLhsAdBotY24PWJfE7g5wSmKMA=";
};
outputs = [ "out" ] ++ lib.optional enableDocs "doc";
+10
View File
@@ -1,10 +1,12 @@
{
boost,
cmake,
doxygen,
eigen,
fetchFromGitHub,
jrl-cmakemodules,
lib,
pkg-config,
stdenv,
}:
@@ -19,8 +21,15 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-VqRx06sCCZrnB+NWm6Z9OMKzjKQIydGgKQU6fMY7phk=";
};
outputs = [
"out"
"doc"
];
nativeBuildInputs = [
cmake
doxygen
pkg-config
jrl-cmakemodules
];
propagatedBuildInputs = [ eigen ];
@@ -34,5 +43,6 @@ stdenv.mkDerivation (finalAttrs: {
changelog = "https://github.com/stack-of-tasks/eiquadprog/blob/v${finalAttrs.version}/CHANGELOG.md";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ nim65s ];
platforms = lib.platforms.unix;
};
})
+84
View File
@@ -0,0 +1,84 @@
{
stdenv,
lib,
fetchurl,
desktop-file-utils,
docbook-xsl-nons,
gettext,
gobject-introspection,
gtk-doc,
itstool,
meson,
ninja,
pkg-config,
vala,
wrapGAppsHook3,
dconf,
glib,
gsettings-desktop-schemas,
gspell,
libgedit-amtk,
libgedit-gtksourceview,
libgedit-tepl,
libgee,
gnome,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "enter-tex";
version = "3.47.0";
src = fetchurl {
url = "mirror://gnome/sources/enter-tex/${lib.versions.majorMinor finalAttrs.version}/enter-tex-${finalAttrs.version}.tar.xz";
hash = "sha256-oIyuySdcCruVNWdN9bnBa5KxSWjNIZFtb/wvoMud12o=";
};
nativeBuildInputs = [
desktop-file-utils
docbook-xsl-nons
gettext
gobject-introspection
gtk-doc
itstool
meson
ninja
pkg-config
vala
wrapGAppsHook3
];
buildInputs = [
dconf
glib
gsettings-desktop-schemas
gspell
libgedit-amtk
libgedit-gtksourceview
libgedit-tepl
libgee
];
preBuild = ''
# Workaround the use case of C code mixed with Vala code.
# https://gitlab.gnome.org/swilmet/enter-tex/-/blob/3.47.0/docs/more-information.md#install-procedure
ninja src/gtex/Gtex-1.gir
'';
doCheck = true;
passthru.updateScript = gnome.updateScript {
packageName = "enter-tex";
};
meta = with lib; {
homepage = "https://gitlab.gnome.org/swilmet/enter-tex";
description = "LaTeX editor for the GNOME desktop";
maintainers = with maintainers; [
manveru
bobby285271
];
license = licenses.gpl3Plus;
platforms = platforms.linux;
mainProgram = "enter-tex";
};
})
@@ -1,10 +1,13 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, cmake
, pythonSupport ? false
, python3Packages
{
cmake,
doxygen,
fetchFromGitHub,
fetchpatch,
lib,
pkg-config,
pythonSupport ? false,
python3Packages,
stdenv,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -19,6 +22,11 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-Heq+c8SSYNO8ksTv5FphRBRStlTakm9T66jlPXon5tI=";
};
outputs = [
"out"
"doc"
];
strictDeps = true;
patches = [
@@ -31,34 +39,36 @@ stdenv.mkDerivation (finalAttrs: {
})
];
nativeBuildInputs = [
cmake
] ++ lib.optionals pythonSupport [
python3Packages.python
];
nativeBuildInputs =
[
cmake
doxygen
pkg-config
]
++ lib.optionals pythonSupport [
python3Packages.python
python3Packages.pythonImportsCheckHook
];
buildInputs = lib.optionals pythonSupport [
python3Packages.pinocchio
];
propagatedBuildInputs = lib.optionals pythonSupport [ python3Packages.pinocchio ];
cmakeFlags = lib.optionals (!pythonSupport) [
"-DBUILD_PYTHON_INTERFACE=OFF"
];
cmakeFlags = [ (lib.cmakeBool "BUILD_PYTHON_INTERFACE" pythonSupport) ];
doCheck = true;
# The package expect to find an `example-robot-data/robots` folder somewhere
# either in install prefix or in the sources
# where it can find the meshes for unit tests
preCheck = "ln -s source ../../${finalAttrs.pname}";
pythonImportsCheck = [
"example_robot_data"
];
pythonImportsCheck = [ "example_robot_data" ];
meta = with lib; {
description = "Set of robot URDFs for benchmarking and developed examples";
homepage = "https://github.com/Gepetto/example-robot-data";
license = licenses.bsd3;
maintainers = with maintainers; [ nim65s wegank ];
maintainers = with maintainers; [
nim65s
wegank
];
platforms = platforms.unix;
};
})
+3 -3
View File
@@ -17,16 +17,16 @@
rustPlatform.buildRustPackage rec {
pname = "eza";
version = "0.19.3";
version = "0.19.4";
src = fetchFromGitHub {
owner = "eza-community";
repo = "eza";
rev = "v${version}";
hash = "sha256-zooNSKQQM0Xsjpb7zMnZ1w/E9W9Z9qcT5rqa+KOki8I=";
hash = "sha256-5+ZZcoOS5R674cAxQ7vo1yU4D0hLIMF0OSOYYBT60hE=";
};
cargoHash = "sha256-nXV89YK9FHOuJoDqV7gxkiSG4Nw75onghLE+PV1OdcE=";
cargoHash = "sha256-NSNhufF4IzA1syWcQryh+u1SVgvbkmvaXWlJ7P1i/cs=";
nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
buildInputs = [ zlib ]
-1
View File
@@ -2,7 +2,6 @@
stdenv,
lib,
buildEnv,
gnome,
gnome-panel,
gnome-flashback,
xorg,
@@ -7,7 +7,6 @@
meson,
ninja,
pkg-config,
gnome,
perl,
gettext,
gtk3,
+1 -1
View File
@@ -115,7 +115,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/Milkshiift/GoofCord";
downloadPage = "https://github.com/Milkshiift/GoofCord";
license = lib.licenses.osl3;
maintainers = with lib.maintainers; [ nyanbinary ];
maintainers = with lib.maintainers; [ nyabinary ];
platforms = [
"x86_64-linux"
"aarch64-linux"
+1
View File
@@ -88,6 +88,7 @@ buildGoModule rec {
meta = {
description = "Converts numerous document formats into PDF files";
mainProgram = "gotenberg";
homepage = "https://gotenberg.dev";
changelog = "https://github.com/gotenberg/gotenberg/releases/tag/v${version}";
license = lib.licenses.mit;
-1
View File
@@ -11,7 +11,6 @@
stdenv,
lib,
fetchFromGitHub,
fetchpatch,
# For tests
testers,
runCommand,
+3 -3
View File
@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec {
pname = "harper";
version = "0.10.0";
version = "0.11.0";
src = fetchFromGitHub {
owner = "elijah-potter";
repo = "harper";
rev = "v${version}";
hash = "sha256-DpBCTljIigpyZdiFm8x/bqDn+kzK8ILHpzGqX0d1mI8=";
hash = "sha256-83Fg1oywYuvyc5aFeujH/g8Czi8r0wBUr1Bj6vwxNec=";
};
cargoHash = "sha256-ZMZq/HRvr+JO/fHBJcyRtKXSzCabxkJRBe6OQjij77g=";
cargoHash = "sha256-Bt2KZ+m7VJXw4FYWt+ioo1XjZHNzbg/8fo8xrfEd6lI=";
meta = {
description = "Grammar Checker for Developers";
@@ -38,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = with lib; {
description = "UI for configuring Ploopy Headphones";
homepage = "https://github.com/ploopyco/headphones-toolbox/";
maintainers = with maintainers; [ knarkzel nyanbinary ];
maintainers = with maintainers; [ knarkzel nyabinary ];
license = licenses.gpl3Only;
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
platforms = [ "x86_64-linux" ];
+70 -50
View File
@@ -1,30 +1,35 @@
{ lib
, stdenv
, fetchurl
, appimageTools
, undmg
{
lib,
stdenv,
fetchurl,
appimageTools,
undmg,
copyDesktopItems,
}:
let
pname = "hoppscotch";
version = "24.3.3-1";
version = "24.8.1-0";
src = fetchurl {
aarch64-darwin = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_aarch64.dmg";
hash = "sha256-litOYRsUOx6VpkA1LPx7aGGagqIVL9fgNsYoP5n/2mo=";
};
x86_64-darwin = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_x64.dmg";
hash = "sha256-UG89Fv9J8SnzPVoIO16LOprxPmZuu/zyox1b+jn+eNw=";
};
x86_64-linux = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_linux_x64.AppImage";
hash = "sha256-110l1DTyvH2M0ex1r35Q+55NiJ8nYum1KdWQXDvAdxo=";
};
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
src =
fetchurl
{
aarch64-darwin = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_aarch64.dmg";
hash = "sha256-Tc6lQbMZHX4Wl0R3fGClRr27fFTrYTxMtAkSPCw8mrw=";
};
x86_64-darwin = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_x64.dmg";
hash = "sha256-c3UHntrLRoXfmz8LL3Xu8mjBtyf952/tYMFqbTyECR0=";
};
x86_64-linux = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_linux_x64.AppImage";
hash = "sha256-Aegc4kiLPtY+hlQtfYR3uztqs8Gj9fbUcAZ1XB8i1Pw=";
};
}
.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
meta = with lib; {
meta = {
description = "Open source API development ecosystem";
longDescription = ''
Hoppscotch is a lightweight, web-based API development suite. It was built
@@ -34,41 +39,56 @@ let
'';
homepage = "https://hoppscotch.com";
downloadPage = "https://hoppscotch.com/downloads";
changelog = "https://hoppscotch.com/changelog";
license = licenses.mit;
maintainers = with maintainers; [ DataHearth ];
changelog = "https://github.com/hoppscotch/hoppscotch/releases/tag/2024.8.1";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ DataHearth ];
mainProgram = "hoppscotch";
platforms = [ "aarch64-darwin" "x86_64-darwin" "x86_64-linux" ];
sourceProvenance = [ sourceTypes.binaryNativeCode ];
platforms = [
"aarch64-darwin"
"x86_64-darwin"
"x86_64-linux"
];
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
};
in
if stdenv.isDarwin then stdenv.mkDerivation
{
inherit pname version src meta;
if stdenv.isDarwin then
stdenv.mkDerivation {
inherit
pname
version
src
meta
;
sourceRoot = ".";
sourceRoot = ".";
nativeBuildInputs = [ undmg ];
nativeBuildInputs = [ undmg ];
installPhase = ''
runHook preInstall
installPhase = ''
runHook preInstall
mkdir -p "$out/Applications"
mv Hoppscotch.app $out/Applications/
mkdir -p "$out/Applications"
mv Hoppscotch.app $out/Applications/
runHook postInstall
'';
}
else appimageTools.wrapType2 {
inherit pname version src meta;
extraInstallCommands =
let
appimageContents = appimageTools.extractType2 { inherit pname version src; };
in
''
# Install .desktop files
install -Dm444 ${appimageContents}/hoppscotch.desktop -t $out/share/applications
install -Dm444 ${appimageContents}/hoppscotch.png -t $out/share/pixmaps
runHook postInstall
'';
}
}
else
appimageTools.wrapType2 {
inherit
pname
version
src
meta
;
extraInstallCommands =
let
appimageContents = appimageTools.extractType2 { inherit pname version src; };
in
''
# Install .desktop files
install -Dm444 ${appimageContents}/hoppscotch.desktop -t $out/share/applications
install -Dm444 ${appimageContents}/hoppscotch.png -t $out/share/pixmaps
'';
}

Some files were not shown because too many files have changed in this diff Show More