Merge remote-tracking branch 'origin/staging-next' into staging
This commit is contained in:
+13
-3
@@ -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/)
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -434,7 +434,7 @@ in
|
||||
'';
|
||||
|
||||
systemd.services.systemd-udevd =
|
||||
{ restartTriggers = cfg.packages;
|
||||
{ restartTriggers = [ config.environment.etc."udev/rules.d".source ];
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
@@ -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" ];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 +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);
|
||||
|
||||
@@ -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 {};
|
||||
|
||||
@@ -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}'
|
||||
'';
|
||||
}
|
||||
)
|
||||
@@ -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
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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."),
|
||||
@@ -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
@@ -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";
|
||||
|
||||
@@ -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}")
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
@@ -4,7 +4,6 @@
|
||||
buildNpmPackage,
|
||||
electron,
|
||||
nodejs,
|
||||
fetchpatch,
|
||||
}:
|
||||
|
||||
buildNpmPackage rec {
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
, cmake
|
||||
, pkg-config
|
||||
, wrapGAppsHook3
|
||||
, makeWrapper
|
||||
, pixman
|
||||
, libpthreadstubs
|
||||
, gtkmm3
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
|
||||
, meson
|
||||
, ninja
|
||||
, go-md2man
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
@@ -2,7 +2,6 @@
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
python3Packages,
|
||||
python3,
|
||||
gtk3,
|
||||
gobject-introspection,
|
||||
wrapGAppsHook3,
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
+32
-22
@@ -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;
|
||||
};
|
||||
})
|
||||
@@ -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 ]
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
# For tests
|
||||
testers,
|
||||
runCommand,
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user