Merge master into staging-next
This commit is contained in:
commit
769b11176d
@ -2279,6 +2279,11 @@
|
|||||||
github = "barinov274";
|
github = "barinov274";
|
||||||
githubId = 54442153;
|
githubId = 54442153;
|
||||||
};
|
};
|
||||||
|
BarrOff = {
|
||||||
|
name = "BarrOff";
|
||||||
|
github = "BarrOff";
|
||||||
|
githubId = 58253563;
|
||||||
|
};
|
||||||
barrucadu = {
|
barrucadu = {
|
||||||
email = "mike@barrucadu.co.uk";
|
email = "mike@barrucadu.co.uk";
|
||||||
github = "barrucadu";
|
github = "barrucadu";
|
||||||
@ -20990,6 +20995,14 @@
|
|||||||
github = "tirimia";
|
github = "tirimia";
|
||||||
githubId = 11174371;
|
githubId = 11174371;
|
||||||
};
|
};
|
||||||
|
titaniumtown = {
|
||||||
|
email = "titaniumtown@proton.me";
|
||||||
|
name = "Simon Gardling";
|
||||||
|
github = "titaniumtown";
|
||||||
|
githubId = 11786225;
|
||||||
|
matrix = "@titaniumtown:envs.net";
|
||||||
|
keys = [ { fingerprint = "D15E 4754 FE1A EDA1 5A6D 4702 9AB2 8AC1 0ECE 533D"; } ];
|
||||||
|
};
|
||||||
tjni = {
|
tjni = {
|
||||||
email = "43ngvg@masqt.com";
|
email = "43ngvg@masqt.com";
|
||||||
matrix = "@tni:matrix.org";
|
matrix = "@tni:matrix.org";
|
||||||
|
@ -4,11 +4,10 @@
|
|||||||
|
|
||||||
## Highlights {#sec-release-24.11-highlights}
|
## Highlights {#sec-release-24.11-highlights}
|
||||||
|
|
||||||
- **This will be the latest version of Nixpkgs to support macOS 10.12 (Sierra).**
|
- **This will be the last release of Nixpkgs to support macOS Sierra 10.12 to macOS Catalina 10.15.**
|
||||||
Starting with release 25.05, the minimum supported version will be macOS 11 (Big Sur).
|
Starting with release 25.05, the minimum supported version will be macOS Big Sur 11, and we cannot guarantee that packages will continue to work on older versions of macOS.
|
||||||
From that point on, packages may or may not work on older releases of macOS.
|
Users on old macOS versions should consider upgrading to a supported version (potentially using [OpenCore Legacy Patcher](https://dortania.github.io/OpenCore-Legacy-Patcher/) for old hardware) or installing NixOS.
|
||||||
Users on old macOS versions should consider upgrading to a supported OS release (potentially using [OpenCore Legacy Patcher](https://dortania.github.io/OpenCore-Legacy-Patcher/) for old hardware) or installing NixOS.
|
If neither of those options are viable and you require new versions of software, [MacPorts](https://www.macports.org/) supports back to Mac OS X Snow Leopard 10.6.
|
||||||
If neither of those options are viable and you require new versions of software, [MacPorts](https://www.macports.org/) supports back to OS X 10.6 (Snow Leopard).
|
|
||||||
|
|
||||||
- Convenience options for `amdgpu`, open source driver for Radeon cards, is now available under `hardware.amdgpu`.
|
- Convenience options for `amdgpu`, open source driver for Radeon cards, is now available under `hardware.amdgpu`.
|
||||||
|
|
||||||
@ -406,6 +405,8 @@
|
|||||||
- The `antennas` package and the `services.antennas` module have been
|
- The `antennas` package and the `services.antennas` module have been
|
||||||
removed as they only work with `tvheadend` (see above).
|
removed as they only work with `tvheadend` (see above).
|
||||||
|
|
||||||
|
- The `system.build.brightboxImage` image has been removed as It did not build anymore and has not seen any maintenance in over 7 years (excluding tree-wide changes).
|
||||||
|
|
||||||
- The `services.syncplay` module now exposes all currently available command-line arguments for `syncplay-server` as options, as well as a `useACMEHost` option for easy TLS setup.
|
- The `services.syncplay` module now exposes all currently available command-line arguments for `syncplay-server` as options, as well as a `useACMEHost` option for easy TLS setup.
|
||||||
The systemd service now uses `DynamicUser`/`StateDirectory` and the `user` and `group` options have been deprecated.
|
The systemd service now uses `DynamicUser`/`StateDirectory` and the `user` and `group` options have been deprecated.
|
||||||
|
|
||||||
|
@ -1,16 +1,13 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.services.ceph;
|
cfg = config.services.ceph;
|
||||||
|
|
||||||
# function that translates "camelCaseOptions" to "camel case options", credits to tilpner in #nixos@freenode
|
# function that translates "camelCaseOptions" to "camel case options", credits to tilpner in #nixos@freenode
|
||||||
expandCamelCase = replaceStrings upperChars (map (s: " ${s}") lowerChars);
|
expandCamelCase = lib.replaceStrings lib.upperChars (map (s: " ${s}") lib.lowerChars);
|
||||||
expandCamelCaseAttrs = mapAttrs' (name: value: nameValuePair (expandCamelCase name) value);
|
expandCamelCaseAttrs = lib.mapAttrs' (name: value: lib.nameValuePair (expandCamelCase name) value);
|
||||||
|
|
||||||
makeServices = daemonType: daemonIds:
|
makeServices = daemonType: daemonIds:
|
||||||
mkMerge (map (daemonId:
|
lib.mkMerge (map (daemonId:
|
||||||
{ "ceph-${daemonType}-${daemonId}" = makeService daemonType daemonId cfg.global.clusterName cfg.${daemonType}.package; })
|
{ "ceph-${daemonType}-${daemonId}" = makeService daemonType daemonId cfg.global.clusterName cfg.${daemonType}.package; })
|
||||||
daemonIds);
|
daemonIds);
|
||||||
|
|
||||||
@ -18,8 +15,8 @@ let
|
|||||||
let
|
let
|
||||||
stateDirectory = "ceph/${if daemonType == "rgw" then "radosgw" else daemonType}/${clusterName}-${daemonId}"; in {
|
stateDirectory = "ceph/${if daemonType == "rgw" then "radosgw" else daemonType}/${clusterName}-${daemonId}"; in {
|
||||||
enable = true;
|
enable = true;
|
||||||
description = "Ceph ${builtins.replaceStrings lowerChars upperChars daemonType} daemon ${daemonId}";
|
description = "Ceph ${builtins.replaceStrings lib.lowerChars lib.upperChars daemonType} daemon ${daemonId}";
|
||||||
after = [ "network-online.target" "time-sync.target" ] ++ optional (daemonType == "osd") "ceph-mon.target";
|
after = [ "network-online.target" "time-sync.target" ] ++ lib.optional (daemonType == "osd") "ceph-mon.target";
|
||||||
wants = [ "network-online.target" "time-sync.target" ];
|
wants = [ "network-online.target" "time-sync.target" ];
|
||||||
partOf = [ "ceph-${daemonType}.target" ];
|
partOf = [ "ceph-${daemonType}.target" ];
|
||||||
wantedBy = [ "ceph-${daemonType}.target" ];
|
wantedBy = [ "ceph-${daemonType}.target" ];
|
||||||
@ -47,11 +44,11 @@ let
|
|||||||
Group = if daemonType == "osd" then "disk" else "ceph";
|
Group = if daemonType == "osd" then "disk" else "ceph";
|
||||||
ExecStart = ''${ceph.out}/bin/${if daemonType == "rgw" then "radosgw" else "ceph-${daemonType}"} \
|
ExecStart = ''${ceph.out}/bin/${if daemonType == "rgw" then "radosgw" else "ceph-${daemonType}"} \
|
||||||
-f --cluster ${clusterName} --id ${daemonId}'';
|
-f --cluster ${clusterName} --id ${daemonId}'';
|
||||||
} // optionalAttrs (daemonType == "osd") {
|
} // lib.optionalAttrs (daemonType == "osd") {
|
||||||
ExecStartPre = "${ceph.lib}/libexec/ceph/ceph-osd-prestart.sh --id ${daemonId} --cluster ${clusterName}";
|
ExecStartPre = "${ceph.lib}/libexec/ceph/ceph-osd-prestart.sh --id ${daemonId} --cluster ${clusterName}";
|
||||||
RestartSec = "20s";
|
RestartSec = "20s";
|
||||||
PrivateDevices = "no"; # osd needs disk access
|
PrivateDevices = "no"; # osd needs disk access
|
||||||
} // optionalAttrs ( daemonType == "mon") {
|
} // lib.optionalAttrs ( daemonType == "mon") {
|
||||||
RestartSec = "10";
|
RestartSec = "10";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -71,11 +68,11 @@ in
|
|||||||
options.services.ceph = {
|
options.services.ceph = {
|
||||||
# Ceph has a monolithic configuration file but different sections for
|
# Ceph has a monolithic configuration file but different sections for
|
||||||
# each daemon, a separate client section and a global section
|
# each daemon, a separate client section and a global section
|
||||||
enable = mkEnableOption "Ceph global configuration";
|
enable = lib.mkEnableOption "Ceph global configuration";
|
||||||
|
|
||||||
global = {
|
global = {
|
||||||
fsid = mkOption {
|
fsid = lib.mkOption {
|
||||||
type = types.str;
|
type = lib.types.str;
|
||||||
example = ''
|
example = ''
|
||||||
433a2193-4f8a-47a0-95d2-209d7ca2cca5
|
433a2193-4f8a-47a0-95d2-209d7ca2cca5
|
||||||
'';
|
'';
|
||||||
@ -85,25 +82,25 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
clusterName = mkOption {
|
clusterName = lib.mkOption {
|
||||||
type = types.str;
|
type = lib.types.str;
|
||||||
default = "ceph";
|
default = "ceph";
|
||||||
description = ''
|
description = ''
|
||||||
Name of cluster
|
Name of cluster
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
mgrModulePath = mkOption {
|
mgrModulePath = lib.mkOption {
|
||||||
type = types.path;
|
type = lib.types.path;
|
||||||
default = "${pkgs.ceph.lib}/lib/ceph/mgr";
|
default = "${pkgs.ceph.lib}/lib/ceph/mgr";
|
||||||
defaultText = literalExpression ''"''${pkgs.ceph.lib}/lib/ceph/mgr"'';
|
defaultText = lib.literalExpression ''"''${pkgs.ceph.lib}/lib/ceph/mgr"'';
|
||||||
description = ''
|
description = ''
|
||||||
Path at which to find ceph-mgr modules.
|
Path at which to find ceph-mgr modules.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
monInitialMembers = mkOption {
|
monInitialMembers = lib.mkOption {
|
||||||
type = with types; nullOr commas;
|
type = with lib.types; nullOr commas;
|
||||||
default = null;
|
default = null;
|
||||||
example = ''
|
example = ''
|
||||||
node0, node1, node2
|
node0, node1, node2
|
||||||
@ -113,8 +110,8 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
monHost = mkOption {
|
monHost = lib.mkOption {
|
||||||
type = with types; nullOr commas;
|
type = with lib.types; nullOr commas;
|
||||||
default = null;
|
default = null;
|
||||||
example = ''
|
example = ''
|
||||||
10.10.0.1, 10.10.0.2, 10.10.0.3
|
10.10.0.1, 10.10.0.2, 10.10.0.3
|
||||||
@ -124,40 +121,40 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
maxOpenFiles = mkOption {
|
maxOpenFiles = lib.mkOption {
|
||||||
type = types.int;
|
type = lib.types.int;
|
||||||
default = 131072;
|
default = 131072;
|
||||||
description = ''
|
description = ''
|
||||||
Max open files for each OSD daemon.
|
Max open files for each OSD daemon.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
authClusterRequired = mkOption {
|
authClusterRequired = lib.mkOption {
|
||||||
type = types.enum [ "cephx" "none" ];
|
type = lib.types.enum [ "cephx" "none" ];
|
||||||
default = "cephx";
|
default = "cephx";
|
||||||
description = ''
|
description = ''
|
||||||
Enables requiring daemons to authenticate with eachother in the cluster.
|
Enables requiring daemons to authenticate with eachother in the cluster.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
authServiceRequired = mkOption {
|
authServiceRequired = lib.mkOption {
|
||||||
type = types.enum [ "cephx" "none" ];
|
type = lib.types.enum [ "cephx" "none" ];
|
||||||
default = "cephx";
|
default = "cephx";
|
||||||
description = ''
|
description = ''
|
||||||
Enables requiring clients to authenticate with the cluster to access services in the cluster (e.g. radosgw, mds or osd).
|
Enables requiring clients to authenticate with the cluster to access services in the cluster (e.g. radosgw, mds or osd).
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
authClientRequired = mkOption {
|
authClientRequired = lib.mkOption {
|
||||||
type = types.enum [ "cephx" "none" ];
|
type = lib.types.enum [ "cephx" "none" ];
|
||||||
default = "cephx";
|
default = "cephx";
|
||||||
description = ''
|
description = ''
|
||||||
Enables requiring the cluster to authenticate itself to the client.
|
Enables requiring the cluster to authenticate itself to the client.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
publicNetwork = mkOption {
|
publicNetwork = lib.mkOption {
|
||||||
type = with types; nullOr commas;
|
type = with lib.types; nullOr commas;
|
||||||
default = null;
|
default = null;
|
||||||
example = ''
|
example = ''
|
||||||
10.20.0.0/24, 192.168.1.0/24
|
10.20.0.0/24, 192.168.1.0/24
|
||||||
@ -167,8 +164,8 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
clusterNetwork = mkOption {
|
clusterNetwork = lib.mkOption {
|
||||||
type = with types; nullOr commas;
|
type = with lib.types; nullOr commas;
|
||||||
default = null;
|
default = null;
|
||||||
example = ''
|
example = ''
|
||||||
10.10.0.0/24, 192.168.0.0/24
|
10.10.0.0/24, 192.168.0.0/24
|
||||||
@ -178,18 +175,18 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
rgwMimeTypesFile = mkOption {
|
rgwMimeTypesFile = lib.mkOption {
|
||||||
type = with types; nullOr path;
|
type = with lib.types; nullOr path;
|
||||||
default = "${pkgs.mailcap}/etc/mime.types";
|
default = "${pkgs.mailcap}/etc/mime.types";
|
||||||
defaultText = literalExpression ''"''${pkgs.mailcap}/etc/mime.types"'';
|
defaultText = lib.literalExpression ''"''${pkgs.mailcap}/etc/mime.types"'';
|
||||||
description = ''
|
description = ''
|
||||||
Path to mime types used by radosgw.
|
Path to mime types used by radosgw.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = mkOption {
|
extraConfig = lib.mkOption {
|
||||||
type = with types; attrsOf str;
|
type = with lib.types; attrsOf str;
|
||||||
default = {};
|
default = {};
|
||||||
example = {
|
example = {
|
||||||
"ms bind ipv6" = "true";
|
"ms bind ipv6" = "true";
|
||||||
@ -200,9 +197,9 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
mgr = {
|
mgr = {
|
||||||
enable = mkEnableOption "Ceph MGR daemon";
|
enable = lib.mkEnableOption "Ceph MGR daemon";
|
||||||
daemons = mkOption {
|
daemons = lib.mkOption {
|
||||||
type = with types; listOf str;
|
type = with lib.types; listOf str;
|
||||||
default = [];
|
default = [];
|
||||||
example = [ "name1" "name2" ];
|
example = [ "name1" "name2" ];
|
||||||
description = ''
|
description = ''
|
||||||
@ -210,9 +207,9 @@ in
|
|||||||
to the id part in ceph i.e. [ "name1" ] would result in mgr.name1
|
to the id part in ceph i.e. [ "name1" ] would result in mgr.name1
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
package = mkPackageOption pkgs "ceph" { };
|
package = lib.mkPackageOption pkgs "ceph" { };
|
||||||
extraConfig = mkOption {
|
extraConfig = lib.mkOption {
|
||||||
type = with types; attrsOf str;
|
type = with lib.types; attrsOf str;
|
||||||
default = {};
|
default = {};
|
||||||
description = ''
|
description = ''
|
||||||
Extra configuration to add to the global section for manager daemons.
|
Extra configuration to add to the global section for manager daemons.
|
||||||
@ -221,9 +218,9 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
mon = {
|
mon = {
|
||||||
enable = mkEnableOption "Ceph MON daemon";
|
enable = lib.mkEnableOption "Ceph MON daemon";
|
||||||
daemons = mkOption {
|
daemons = lib.mkOption {
|
||||||
type = with types; listOf str;
|
type = with lib.types; listOf str;
|
||||||
default = [];
|
default = [];
|
||||||
example = [ "name1" "name2" ];
|
example = [ "name1" "name2" ];
|
||||||
description = ''
|
description = ''
|
||||||
@ -231,9 +228,9 @@ in
|
|||||||
to the id part in ceph i.e. [ "name1" ] would result in mon.name1
|
to the id part in ceph i.e. [ "name1" ] would result in mon.name1
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
package = mkPackageOption pkgs "ceph" { };
|
package = lib.mkPackageOption pkgs "ceph" { };
|
||||||
extraConfig = mkOption {
|
extraConfig = lib.mkOption {
|
||||||
type = with types; attrsOf str;
|
type = with lib.types; attrsOf str;
|
||||||
default = {};
|
default = {};
|
||||||
description = ''
|
description = ''
|
||||||
Extra configuration to add to the monitor section.
|
Extra configuration to add to the monitor section.
|
||||||
@ -242,9 +239,9 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
osd = {
|
osd = {
|
||||||
enable = mkEnableOption "Ceph OSD daemon";
|
enable = lib.mkEnableOption "Ceph OSD daemon";
|
||||||
daemons = mkOption {
|
daemons = lib.mkOption {
|
||||||
type = with types; listOf str;
|
type = with lib.types; listOf str;
|
||||||
default = [];
|
default = [];
|
||||||
example = [ "name1" "name2" ];
|
example = [ "name1" "name2" ];
|
||||||
description = ''
|
description = ''
|
||||||
@ -252,9 +249,9 @@ in
|
|||||||
to the id part in ceph i.e. [ "name1" ] would result in osd.name1
|
to the id part in ceph i.e. [ "name1" ] would result in osd.name1
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
package = mkPackageOption pkgs "ceph" { };
|
package = lib.mkPackageOption pkgs "ceph" { };
|
||||||
extraConfig = mkOption {
|
extraConfig = lib.mkOption {
|
||||||
type = with types; attrsOf str;
|
type = with lib.types; attrsOf str;
|
||||||
default = {
|
default = {
|
||||||
"osd journal size" = "10000";
|
"osd journal size" = "10000";
|
||||||
"osd pool default size" = "3";
|
"osd pool default size" = "3";
|
||||||
@ -270,9 +267,9 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
mds = {
|
mds = {
|
||||||
enable = mkEnableOption "Ceph MDS daemon";
|
enable = lib.mkEnableOption "Ceph MDS daemon";
|
||||||
daemons = mkOption {
|
daemons = lib.mkOption {
|
||||||
type = with types; listOf str;
|
type = with lib.types; listOf str;
|
||||||
default = [];
|
default = [];
|
||||||
example = [ "name1" "name2" ];
|
example = [ "name1" "name2" ];
|
||||||
description = ''
|
description = ''
|
||||||
@ -280,9 +277,9 @@ in
|
|||||||
to the id part in ceph i.e. [ "name1" ] would result in mds.name1
|
to the id part in ceph i.e. [ "name1" ] would result in mds.name1
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
package = mkPackageOption pkgs "ceph" { };
|
package = lib.mkPackageOption pkgs "ceph" { };
|
||||||
extraConfig = mkOption {
|
extraConfig = lib.mkOption {
|
||||||
type = with types; attrsOf str;
|
type = with lib.types; attrsOf str;
|
||||||
default = {};
|
default = {};
|
||||||
description = ''
|
description = ''
|
||||||
Extra configuration to add to the MDS section.
|
Extra configuration to add to the MDS section.
|
||||||
@ -291,10 +288,10 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
rgw = {
|
rgw = {
|
||||||
enable = mkEnableOption "Ceph RadosGW daemon";
|
enable = lib.mkEnableOption "Ceph RadosGW daemon";
|
||||||
package = mkPackageOption pkgs "ceph" { };
|
package = lib.mkPackageOption pkgs "ceph" { };
|
||||||
daemons = mkOption {
|
daemons = lib.mkOption {
|
||||||
type = with types; listOf str;
|
type = with lib.types; listOf str;
|
||||||
default = [];
|
default = [];
|
||||||
example = [ "name1" "name2" ];
|
example = [ "name1" "name2" ];
|
||||||
description = ''
|
description = ''
|
||||||
@ -307,11 +304,11 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
client = {
|
client = {
|
||||||
enable = mkEnableOption "Ceph client configuration";
|
enable = lib.mkEnableOption "Ceph client configuration";
|
||||||
extraConfig = mkOption {
|
extraConfig = lib.mkOption {
|
||||||
type = with types; attrsOf (attrsOf str);
|
type = with lib.types; attrsOf (attrsOf str);
|
||||||
default = {};
|
default = {};
|
||||||
example = literalExpression ''
|
example = lib.literalExpression ''
|
||||||
{
|
{
|
||||||
# This would create a section for a radosgw daemon named node0 and related
|
# This would create a section for a radosgw daemon named node0 and related
|
||||||
# configuration for it
|
# configuration for it
|
||||||
@ -326,7 +323,7 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf config.services.ceph.enable {
|
config = lib.mkIf config.services.ceph.enable {
|
||||||
assertions = [
|
assertions = [
|
||||||
{ assertion = cfg.global.fsid != "";
|
{ assertion = cfg.global.fsid != "";
|
||||||
message = "fsid has to be set to a valid uuid for the cluster to function";
|
message = "fsid has to be set to a valid uuid for the cluster to function";
|
||||||
@ -345,22 +342,22 @@ in
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
warnings = optional (cfg.global.monInitialMembers == null)
|
warnings = lib.optional (cfg.global.monInitialMembers == null)
|
||||||
"Not setting up a list of members in monInitialMembers requires that you set the host variable for each mon daemon or else the cluster won't function";
|
"Not setting up a list of members in monInitialMembers requires that you set the host variable for each mon daemon or else the cluster won't function";
|
||||||
|
|
||||||
environment.etc."ceph/ceph.conf".text = let
|
environment.etc."ceph/ceph.conf".text = let
|
||||||
# Merge the extraConfig set for mgr daemons, as mgr don't have their own section
|
# Merge the extraConfig set for mgr daemons, as mgr don't have their own section
|
||||||
globalSection = expandCamelCaseAttrs (cfg.global // cfg.extraConfig // optionalAttrs cfg.mgr.enable cfg.mgr.extraConfig);
|
globalSection = expandCamelCaseAttrs (cfg.global // cfg.extraConfig // lib.optionalAttrs cfg.mgr.enable cfg.mgr.extraConfig);
|
||||||
# Remove all name-value pairs with null values from the attribute set to avoid making empty sections in the ceph.conf
|
# Remove all name-value pairs with null values from the attribute set to avoid making empty sections in the ceph.conf
|
||||||
globalSection' = filterAttrs (name: value: value != null) globalSection;
|
globalSection' = lib.filterAttrs (name: value: value != null) globalSection;
|
||||||
totalConfig = {
|
totalConfig = {
|
||||||
global = globalSection';
|
global = globalSection';
|
||||||
} // optionalAttrs (cfg.mon.enable && cfg.mon.extraConfig != {}) { mon = cfg.mon.extraConfig; }
|
} // lib.optionalAttrs (cfg.mon.enable && cfg.mon.extraConfig != {}) { mon = cfg.mon.extraConfig; }
|
||||||
// optionalAttrs (cfg.mds.enable && cfg.mds.extraConfig != {}) { mds = cfg.mds.extraConfig; }
|
// lib.optionalAttrs (cfg.mds.enable && cfg.mds.extraConfig != {}) { mds = cfg.mds.extraConfig; }
|
||||||
// optionalAttrs (cfg.osd.enable && cfg.osd.extraConfig != {}) { osd = cfg.osd.extraConfig; }
|
// lib.optionalAttrs (cfg.osd.enable && cfg.osd.extraConfig != {}) { osd = cfg.osd.extraConfig; }
|
||||||
// optionalAttrs (cfg.client.enable && cfg.client.extraConfig != {}) cfg.client.extraConfig;
|
// lib.optionalAttrs (cfg.client.enable && cfg.client.extraConfig != {}) cfg.client.extraConfig;
|
||||||
in
|
in
|
||||||
generators.toINI {} totalConfig;
|
lib.generators.toINI {} totalConfig;
|
||||||
|
|
||||||
users.users.ceph = {
|
users.users.ceph = {
|
||||||
uid = config.ids.uids.ceph;
|
uid = config.ids.uids.ceph;
|
||||||
@ -375,13 +372,13 @@ in
|
|||||||
|
|
||||||
systemd.services = let
|
systemd.services = let
|
||||||
services = []
|
services = []
|
||||||
++ optional cfg.mon.enable (makeServices "mon" cfg.mon.daemons)
|
++ lib.optional cfg.mon.enable (makeServices "mon" cfg.mon.daemons)
|
||||||
++ optional cfg.mds.enable (makeServices "mds" cfg.mds.daemons)
|
++ lib.optional cfg.mds.enable (makeServices "mds" cfg.mds.daemons)
|
||||||
++ optional cfg.osd.enable (makeServices "osd" cfg.osd.daemons)
|
++ lib.optional cfg.osd.enable (makeServices "osd" cfg.osd.daemons)
|
||||||
++ optional cfg.rgw.enable (makeServices "rgw" cfg.rgw.daemons)
|
++ lib.optional cfg.rgw.enable (makeServices "rgw" cfg.rgw.daemons)
|
||||||
++ optional cfg.mgr.enable (makeServices "mgr" cfg.mgr.daemons);
|
++ lib.optional cfg.mgr.enable (makeServices "mgr" cfg.mgr.daemons);
|
||||||
in
|
in
|
||||||
mkMerge services;
|
lib.mkMerge services;
|
||||||
|
|
||||||
systemd.targets = let
|
systemd.targets = let
|
||||||
targets = [
|
targets = [
|
||||||
@ -390,13 +387,13 @@ in
|
|||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
unitConfig.StopWhenUnneeded = true;
|
unitConfig.StopWhenUnneeded = true;
|
||||||
}; } ]
|
}; } ]
|
||||||
++ optional cfg.mon.enable (makeTarget "mon")
|
++ lib.optional cfg.mon.enable (makeTarget "mon")
|
||||||
++ optional cfg.mds.enable (makeTarget "mds")
|
++ lib.optional cfg.mds.enable (makeTarget "mds")
|
||||||
++ optional cfg.osd.enable (makeTarget "osd")
|
++ lib.optional cfg.osd.enable (makeTarget "osd")
|
||||||
++ optional cfg.rgw.enable (makeTarget "rgw")
|
++ lib.optional cfg.rgw.enable (makeTarget "rgw")
|
||||||
++ optional cfg.mgr.enable (makeTarget "mgr");
|
++ lib.optional cfg.mgr.enable (makeTarget "mgr");
|
||||||
in
|
in
|
||||||
mkMerge targets;
|
lib.mkMerge targets;
|
||||||
|
|
||||||
systemd.tmpfiles.settings."10-ceph" = let
|
systemd.tmpfiles.settings."10-ceph" = let
|
||||||
defaultConfig = {
|
defaultConfig = {
|
||||||
@ -407,9 +404,9 @@ in
|
|||||||
"/etc/ceph".d = defaultConfig;
|
"/etc/ceph".d = defaultConfig;
|
||||||
"/run/ceph".d = defaultConfig // { mode = "0770"; };
|
"/run/ceph".d = defaultConfig // { mode = "0770"; };
|
||||||
"/var/lib/ceph".d = defaultConfig;
|
"/var/lib/ceph".d = defaultConfig;
|
||||||
"/var/lib/ceph/mgr".d = mkIf (cfg.mgr.enable) defaultConfig;
|
"/var/lib/ceph/mgr".d = lib.mkIf (cfg.mgr.enable) defaultConfig;
|
||||||
"/var/lib/ceph/mon".d = mkIf (cfg.mon.enable) defaultConfig;
|
"/var/lib/ceph/mon".d = lib.mkIf (cfg.mon.enable) defaultConfig;
|
||||||
"/var/lib/ceph/osd".d = mkIf (cfg.osd.enable) defaultConfig;
|
"/var/lib/ceph/osd".d = lib.mkIf (cfg.osd.enable) defaultConfig;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
{ modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [ "${modulesPath}/virtualisation/brightbox-image.nix" ];
|
|
||||||
}
|
|
@ -1,166 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
diskSize = "20G";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = [ ../profiles/headless.nix ../profiles/qemu-guest.nix ];
|
|
||||||
|
|
||||||
system.build.brightboxImage =
|
|
||||||
pkgs.vmTools.runInLinuxVM (
|
|
||||||
pkgs.runCommand "brightbox-image"
|
|
||||||
{ preVM =
|
|
||||||
''
|
|
||||||
mkdir $out
|
|
||||||
diskImage=$out/$diskImageBase
|
|
||||||
truncate $diskImage --size ${diskSize}
|
|
||||||
mv closure xchg/
|
|
||||||
'';
|
|
||||||
|
|
||||||
postVM =
|
|
||||||
''
|
|
||||||
PATH=$PATH:${lib.makeBinPath [ pkgs.gnutar pkgs.gzip ]}
|
|
||||||
pushd $out
|
|
||||||
${pkgs.qemu_kvm}/bin/qemu-img convert -c -O qcow2 $diskImageBase nixos.qcow2
|
|
||||||
rm $diskImageBase
|
|
||||||
popd
|
|
||||||
'';
|
|
||||||
diskImageBase = "nixos-image-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.raw";
|
|
||||||
buildInputs = [ pkgs.util-linux pkgs.perl ];
|
|
||||||
exportReferencesGraph =
|
|
||||||
[ "closure" config.system.build.toplevel ];
|
|
||||||
}
|
|
||||||
''
|
|
||||||
# Create partition table
|
|
||||||
${pkgs.parted}/sbin/parted --script /dev/vda mklabel msdos
|
|
||||||
${pkgs.parted}/sbin/parted --script /dev/vda mkpart primary ext4 1 ${diskSize}
|
|
||||||
${pkgs.parted}/sbin/parted --script /dev/vda print
|
|
||||||
. /sys/class/block/vda1/uevent
|
|
||||||
mknod /dev/vda1 b $MAJOR $MINOR
|
|
||||||
|
|
||||||
# Create an empty filesystem and mount it.
|
|
||||||
${pkgs.e2fsprogs}/sbin/mkfs.ext4 -L nixos /dev/vda1
|
|
||||||
${pkgs.e2fsprogs}/sbin/tune2fs -c 0 -i 0 /dev/vda1
|
|
||||||
|
|
||||||
mkdir /mnt
|
|
||||||
mount /dev/vda1 /mnt
|
|
||||||
|
|
||||||
# The initrd expects these directories to exist.
|
|
||||||
mkdir /mnt/dev /mnt/proc /mnt/sys
|
|
||||||
|
|
||||||
mount --bind /proc /mnt/proc
|
|
||||||
mount --bind /dev /mnt/dev
|
|
||||||
mount --bind /sys /mnt/sys
|
|
||||||
|
|
||||||
# Copy all paths in the closure to the filesystem.
|
|
||||||
storePaths=$(perl ${pkgs.pathsFromGraph} /tmp/xchg/closure)
|
|
||||||
|
|
||||||
mkdir -p /mnt/nix/store
|
|
||||||
echo "copying everything (will take a while)..."
|
|
||||||
cp -prd $storePaths /mnt/nix/store/
|
|
||||||
|
|
||||||
# Register the paths in the Nix database.
|
|
||||||
printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \
|
|
||||||
chroot /mnt ${config.nix.package.out}/bin/nix-store --load-db --option build-users-group ""
|
|
||||||
|
|
||||||
# Create the system profile to allow nixos-rebuild to work.
|
|
||||||
chroot /mnt ${config.nix.package.out}/bin/nix-env \
|
|
||||||
-p /nix/var/nix/profiles/system --set ${config.system.build.toplevel} \
|
|
||||||
--option build-users-group ""
|
|
||||||
|
|
||||||
# `nixos-rebuild' requires an /etc/NIXOS.
|
|
||||||
mkdir -p /mnt/etc
|
|
||||||
touch /mnt/etc/NIXOS
|
|
||||||
|
|
||||||
# `switch-to-configuration' requires a /bin/sh
|
|
||||||
mkdir -p /mnt/bin
|
|
||||||
ln -s ${config.system.build.binsh}/bin/sh /mnt/bin/sh
|
|
||||||
|
|
||||||
# Install a configuration.nix.
|
|
||||||
mkdir -p /mnt/etc/nixos /mnt/boot/grub
|
|
||||||
cp ${./brightbox-config.nix} /mnt/etc/nixos/configuration.nix
|
|
||||||
|
|
||||||
# Generate the GRUB menu.
|
|
||||||
ln -s vda /dev/sda
|
|
||||||
chroot /mnt ${config.system.build.toplevel}/bin/switch-to-configuration boot
|
|
||||||
|
|
||||||
umount /mnt/proc /mnt/dev /mnt/sys
|
|
||||||
umount /mnt
|
|
||||||
''
|
|
||||||
);
|
|
||||||
|
|
||||||
fileSystems."/".label = "nixos";
|
|
||||||
|
|
||||||
# Generate a GRUB menu. Amazon's pv-grub uses this to boot our kernel/initrd.
|
|
||||||
boot.loader.grub.device = "/dev/vda";
|
|
||||||
boot.loader.timeout = 0;
|
|
||||||
|
|
||||||
# Don't put old configurations in the GRUB menu. The user has no
|
|
||||||
# way to select them anyway.
|
|
||||||
boot.loader.grub.configurationLimit = 0;
|
|
||||||
|
|
||||||
# Allow root logins only using the SSH key that the user specified
|
|
||||||
# at instance creation time.
|
|
||||||
services.openssh.enable = true;
|
|
||||||
services.openssh.settings.PermitRootLogin = "prohibit-password";
|
|
||||||
|
|
||||||
# Force getting the hostname from Google Compute.
|
|
||||||
networking.hostName = mkDefault "";
|
|
||||||
|
|
||||||
# Always include cryptsetup so that NixOps can use it.
|
|
||||||
environment.systemPackages = [ pkgs.cryptsetup ];
|
|
||||||
|
|
||||||
systemd.services.fetch-ec2-data =
|
|
||||||
{ description = "Fetch EC2 Data";
|
|
||||||
|
|
||||||
wantedBy = [ "multi-user.target" "sshd.service" ];
|
|
||||||
before = [ "sshd.service" ];
|
|
||||||
wants = [ "network-online.target" ];
|
|
||||||
after = [ "network-online.target" ];
|
|
||||||
|
|
||||||
path = [ pkgs.wget pkgs.iproute2 ];
|
|
||||||
|
|
||||||
script =
|
|
||||||
''
|
|
||||||
wget="wget -q --retry-connrefused -O -"
|
|
||||||
|
|
||||||
${optionalString (config.networking.hostName == "") ''
|
|
||||||
echo "setting host name..."
|
|
||||||
${pkgs.nettools}/bin/hostname $($wget http://169.254.169.254/latest/meta-data/hostname)
|
|
||||||
''}
|
|
||||||
|
|
||||||
# Don't download the SSH key if it has already been injected
|
|
||||||
# into the image (a Nova feature).
|
|
||||||
if ! [ -e /root/.ssh/authorized_keys ]; then
|
|
||||||
echo "obtaining SSH key..."
|
|
||||||
mkdir -m 0700 -p /root/.ssh
|
|
||||||
$wget http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /root/key.pub
|
|
||||||
if [ $? -eq 0 -a -e /root/key.pub ]; then
|
|
||||||
if ! grep -q -f /root/key.pub /root/.ssh/authorized_keys; then
|
|
||||||
cat /root/key.pub >> /root/.ssh/authorized_keys
|
|
||||||
echo "new key added to authorized_keys"
|
|
||||||
fi
|
|
||||||
chmod 600 /root/.ssh/authorized_keys
|
|
||||||
rm -f /root/key.pub
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Extract the intended SSH host key for this machine from
|
|
||||||
# the supplied user data, if available. Otherwise sshd will
|
|
||||||
# generate one normally.
|
|
||||||
$wget http://169.254.169.254/2011-01-01/user-data > /root/user-data || true
|
|
||||||
key="$(sed 's/|/\n/g; s/SSH_HOST_DSA_KEY://; t; d' /root/user-data)"
|
|
||||||
key_pub="$(sed 's/SSH_HOST_DSA_KEY_PUB://; t; d' /root/user-data)"
|
|
||||||
if [ -n "$key" -a -n "$key_pub" -a ! -e /etc/ssh/ssh_host_dsa_key ]; then
|
|
||||||
mkdir -m 0755 -p /etc/ssh
|
|
||||||
(umask 077; echo "$key" > /etc/ssh/ssh_host_dsa_key)
|
|
||||||
echo "$key_pub" > /etc/ssh/ssh_host_dsa_key.pub
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
|
|
||||||
serviceConfig.Type = "oneshot";
|
|
||||||
serviceConfig.RemainAfterExit = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
@ -42,7 +42,7 @@ let
|
|||||||
(f (tree-sitter.builtGrammars // builtGrammars));
|
(f (tree-sitter.builtGrammars // builtGrammars));
|
||||||
copyGrammar = grammar:
|
copyGrammar = grammar:
|
||||||
let name = lib.last (lib.splitString "-" grammar.name); in
|
let name = lib.last (lib.splitString "-" grammar.name); in
|
||||||
"ln -s ${grammar}/parser/${name}.so $out/parser/${name}.so";
|
"ln -sf ${grammar}/parser/${name}.so $out/parser/${name}.so";
|
||||||
in
|
in
|
||||||
[
|
[
|
||||||
(runCommand "vimplugin-treesitter-grammars"
|
(runCommand "vimplugin-treesitter-grammars"
|
||||||
|
@ -10,43 +10,43 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
pname = "1password";
|
pname = "1password";
|
||||||
version = if channel == "stable" then "8.10.36" else "8.10.38-13.BETA";
|
version = if channel == "stable" then "8.10.40" else "8.10.44-21.BETA";
|
||||||
|
|
||||||
sources = {
|
sources = {
|
||||||
stable = {
|
stable = {
|
||||||
x86_64-linux = {
|
x86_64-linux = {
|
||||||
url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz";
|
url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz";
|
||||||
hash = "sha256-yUSU0np6li5zLfFOnebpv0+s1UQ6BdgI+28OvcxS3H8=";
|
hash = "sha256-viY0SOUhrOvmue6Nolau356rIqwDo2nLzMilFFmNb9g=";
|
||||||
};
|
};
|
||||||
aarch64-linux = {
|
aarch64-linux = {
|
||||||
url = "https://downloads.1password.com/linux/tar/stable/aarch64/1password-${version}.arm64.tar.gz";
|
url = "https://downloads.1password.com/linux/tar/stable/aarch64/1password-${version}.arm64.tar.gz";
|
||||||
hash = "sha256-KG0PJ/gwBd9+qYyraRqS/D58Y58VwLd8yCnYzPVWQAY=";
|
hash = "sha256-7lUZiS3TSsIVqPoN5A6YqyVaaaRI9BliT51FHkwOPyw=";
|
||||||
};
|
};
|
||||||
x86_64-darwin = {
|
x86_64-darwin = {
|
||||||
url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
|
url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
|
||||||
hash = "sha256-vYhmA9N1izPRo3HPDouOpjJzMwK7LkCHuyYxBGkIPKM=";
|
hash = "sha256-xK/B8J3VP8y1xw3KorzZzPf/LjYmYdOIjDECMJnVv6I=";
|
||||||
};
|
};
|
||||||
aarch64-darwin = {
|
aarch64-darwin = {
|
||||||
url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
|
url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
|
||||||
hash = "sha256-v1eCh/cOpA5XcmamAqreKHRQ+waoBQtvvmNO4wvFq6A=";
|
hash = "sha256-iqdK6K7dcypZFGseYal2KjOaqJtUjXeCzbDdx7pDv8A=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
beta = {
|
beta = {
|
||||||
x86_64-linux = {
|
x86_64-linux = {
|
||||||
url = "https://downloads.1password.com/linux/tar/beta/x86_64/1password-${version}.x64.tar.gz";
|
url = "https://downloads.1password.com/linux/tar/beta/x86_64/1password-${version}.x64.tar.gz";
|
||||||
hash = "sha256-SeB1Em2WuYvslBv//TROYTAB1asYFhC22IwhcwGi+Qs=";
|
hash = "sha256-enorJfbn+xJVy1fG3wjhO3LkSsMncHA9/yA13kG+h4Y=";
|
||||||
};
|
};
|
||||||
aarch64-linux = {
|
aarch64-linux = {
|
||||||
url = "https://downloads.1password.com/linux/tar/beta/aarch64/1password-${version}.arm64.tar.gz";
|
url = "https://downloads.1password.com/linux/tar/beta/aarch64/1password-${version}.arm64.tar.gz";
|
||||||
hash = "sha256-Ik5gL5FCxNANOKx/MSH7dCz3XEdLr7jxykaWhMQKUVw=";
|
hash = "sha256-EUnIIi6DB5kBVid9ExBpNApKItHnRKQziBy/GFt0xag=";
|
||||||
};
|
};
|
||||||
x86_64-darwin = {
|
x86_64-darwin = {
|
||||||
url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
|
url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
|
||||||
hash = "sha256-8cNxhRAOrn/A++APOMUxwrD3+a++ksRMzlmmnQ8J8/c=";
|
hash = "sha256-U14CjoUJUpd4wWidZz6xGErhHI/VPChqG8cwBTBYoYc=";
|
||||||
};
|
};
|
||||||
aarch64-darwin = {
|
aarch64-darwin = {
|
||||||
url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
|
url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
|
||||||
hash = "sha256-YkZbuCFvWHksLQYKJ3LQD2YDXj9qwHF4Gg8JbxBZsuc=";
|
hash = "sha256-DD1M2EFSHqG9OHX5Q/CmZLZIKYrBMS4cnX/6tLVi7H0=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -18,13 +18,13 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "clipqr";
|
pname = "clipqr";
|
||||||
version = "1.2.0";
|
version = "1.3.0";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "imatt-foss";
|
owner = "imatt-foss";
|
||||||
repo = "clipqr";
|
repo = "clipqr";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-gfKCuTZY9VsiXMlw6XX6YylMO4xGoLQU/5QvnDV7GbE=";
|
hash = "sha256-iuA6RqclMm1CWaiM1kpOpgfYvKaYGOIwFQkLr/nCL5M=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = null;
|
vendorHash = null;
|
||||||
|
@ -9,15 +9,17 @@
|
|||||||
girara,
|
girara,
|
||||||
gettext,
|
gettext,
|
||||||
libarchive,
|
libarchive,
|
||||||
|
desktop-file-utils,
|
||||||
|
appstream-glib,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "zathura-cb";
|
pname = "zathura-cb";
|
||||||
version = "0.1.10";
|
version = "0.1.11";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
|
url = "https://pwmt.org/projects/zathura-cb/download/zathura-cb-${finalAttrs.version}.tar.xz";
|
||||||
hash = "sha256-ibDKF6gMuh6p/Rs7cvOnFz8KrToGqMNk2GXEmZwYu8g=";
|
hash = "sha256-TiAepUzcIKkyWMQ1VvY4lEGvmXQN59ymyh/1JBcvvUc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -25,23 +27,26 @@ stdenv.mkDerivation rec {
|
|||||||
ninja
|
ninja
|
||||||
pkg-config
|
pkg-config
|
||||||
gettext
|
gettext
|
||||||
|
desktop-file-utils
|
||||||
|
appstream-glib
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
libarchive
|
libarchive
|
||||||
zathura_core
|
zathura_core
|
||||||
girara
|
girara
|
||||||
];
|
];
|
||||||
|
|
||||||
PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
|
env.PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
homepage = "https://pwmt.org/projects/zathura-cb/";
|
homepage = "https://pwmt.org/projects/zathura-cb/";
|
||||||
description = "Zathura CB plugin";
|
description = "Zathura CB plugin";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
The zathura-cb plugin adds comic book support to zathura.
|
The zathura-cb plugin adds comic book support to zathura.
|
||||||
'';
|
'';
|
||||||
license = licenses.zlib;
|
license = lib.licenses.zlib;
|
||||||
platforms = platforms.unix;
|
platforms = lib.platforms.unix;
|
||||||
maintainers = with maintainers; [ jlesquembre ];
|
maintainers = with lib.maintainers; [ jlesquembre ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
lib,
|
lib,
|
||||||
stdenv,
|
stdenv,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
|
fetchpatch,
|
||||||
meson,
|
meson,
|
||||||
ninja,
|
ninja,
|
||||||
wrapGAppsHook3,
|
wrapGAppsHook3,
|
||||||
@ -28,15 +29,24 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "zathura";
|
pname = "zathura";
|
||||||
version = "0.5.6";
|
version = "0.5.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pwmt";
|
owner = "pwmt";
|
||||||
repo = "zathura";
|
repo = "zathura";
|
||||||
rev = finalAttrs.version;
|
rev = finalAttrs.version;
|
||||||
hash = "sha256-lTEBIZ3lkzjJ+L1qecrcL8iseo8AvSIo3Wh65/ikwac=";
|
hash = "sha256-k6DEJpUA3s0mGxE38aYnX7uea98LrzevJhWW1abHo/c=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# https://github.com/pwmt/zathura/issues/664
|
||||||
|
(fetchpatch {
|
||||||
|
name = "fix-build-on-macos.patch";
|
||||||
|
url = "https://github.com/pwmt/zathura/commit/53f151f775091abec55ccc4b63893a8f9a668588.patch";
|
||||||
|
hash = "sha256-d8lRdlBN1Kfw/aTjz8x0gvTKy+SqSYWHLQCjV7hF5MI=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
outputs = [
|
outputs = [
|
||||||
"bin"
|
"bin"
|
||||||
"man"
|
"man"
|
||||||
@ -54,6 +64,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
# Make sure tests are enabled for doCheck
|
# Make sure tests are enabled for doCheck
|
||||||
# (lib.mesonEnable "tests" finalAttrs.finalPackage.doCheck)
|
# (lib.mesonEnable "tests" finalAttrs.finalPackage.doCheck)
|
||||||
(lib.mesonEnable "seccomp" stdenv.hostPlatform.isLinux)
|
(lib.mesonEnable "seccomp" stdenv.hostPlatform.isLinux)
|
||||||
|
(lib.mesonEnable "landlock" stdenv.hostPlatform.isLinux)
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -85,11 +96,11 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
|
|
||||||
passthru.updateScript = gitUpdater { };
|
passthru.updateScript = gitUpdater { };
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
homepage = "https://pwmt.org/projects/zathura";
|
homepage = "https://pwmt.org/projects/zathura";
|
||||||
description = "Core component for zathura PDF viewer";
|
description = "Core component for zathura PDF viewer";
|
||||||
license = licenses.zlib;
|
license = lib.licenses.zlib;
|
||||||
platforms = platforms.unix;
|
platforms = lib.platforms.unix;
|
||||||
maintainers = with maintainers; [ globin ];
|
maintainers = with lib.maintainers; [ globin ];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
@ -10,22 +10,27 @@
|
|||||||
girara,
|
girara,
|
||||||
djvulibre,
|
djvulibre,
|
||||||
gettext,
|
gettext,
|
||||||
|
desktop-file-utils,
|
||||||
|
appstream-glib,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "zathura-djvu";
|
pname = "zathura-djvu";
|
||||||
version = "0.2.9";
|
version = "0.2.10";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
|
url = "https://pwmt.org/projects/zathura-djvu/download/zathura-djvu-${finalAttrs.version}.tar.xz";
|
||||||
hash = "sha256-lub4pu5TIxBzsvcAMmSHL4RQHmPD2nvwWY0EYoawwgA=";
|
hash = "sha256-MunYmSmnbNfT/Lr3n0QYaL2r7fFzF9HRhD+qHxkzjZU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
meson
|
meson
|
||||||
ninja
|
ninja
|
||||||
pkg-config
|
pkg-config
|
||||||
|
desktop-file-utils
|
||||||
|
appstream-glib
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
djvulibre
|
djvulibre
|
||||||
gettext
|
gettext
|
||||||
@ -34,17 +39,17 @@ stdenv.mkDerivation rec {
|
|||||||
girara
|
girara
|
||||||
];
|
];
|
||||||
|
|
||||||
PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
|
env.PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
homepage = "https://pwmt.org/projects/zathura-djvu/";
|
homepage = "https://pwmt.org/projects/zathura-djvu/";
|
||||||
description = "Zathura DJVU plugin";
|
description = "Zathura DJVU plugin";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
The zathura-djvu plugin adds DjVu support to zathura by using the
|
The zathura-djvu plugin adds DjVu support to zathura by using the
|
||||||
djvulibre library.
|
djvulibre library.
|
||||||
'';
|
'';
|
||||||
license = licenses.zlib;
|
license = lib.licenses.zlib;
|
||||||
platforms = platforms.unix;
|
platforms = lib.platforms.unix;
|
||||||
maintainers = [ ];
|
maintainers = [ ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
@ -17,22 +17,26 @@
|
|||||||
tesseract,
|
tesseract,
|
||||||
leptonica,
|
leptonica,
|
||||||
mujs,
|
mujs,
|
||||||
|
desktop-file-utils,
|
||||||
|
appstream-glib,
|
||||||
gitUpdater,
|
gitUpdater,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
version = "0.4.2";
|
version = "0.4.4";
|
||||||
pname = "zathura-pdf-mupdf";
|
pname = "zathura-pdf-mupdf";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
|
url = "https://pwmt.org/projects/zathura-pdf-mupdf/download/zathura-pdf-mupdf-${finalAttrs.version}.tar.xz";
|
||||||
hash = "sha256-fFC+z9mJX9ccExsV336Ut+zJJa8UdfUz/qVp9YgcnhM=";
|
hash = "sha256-ASViSQHKvjov5jMVpG59lmoyPAKP9TiQ3694Vq2x9Pw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
meson
|
meson
|
||||||
ninja
|
ninja
|
||||||
pkg-config
|
pkg-config
|
||||||
|
desktop-file-utils
|
||||||
|
appstream-glib
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
@ -49,7 +53,7 @@ stdenv.mkDerivation rec {
|
|||||||
mujs
|
mujs
|
||||||
] ++ lib.optional stdenv.isDarwin gtk-mac-integration;
|
] ++ lib.optional stdenv.isDarwin gtk-mac-integration;
|
||||||
|
|
||||||
PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
|
env.PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
sed -i -e '/^mupdfthird =/d' -e 's/, mupdfthird//g' meson.build
|
sed -i -e '/^mupdfthird =/d' -e 's/, mupdfthird//g' meson.build
|
||||||
@ -57,15 +61,15 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
passthru.updateScript = gitUpdater { url = "https://git.pwmt.org/pwmt/zathura-pdf-mupdf.git"; };
|
passthru.updateScript = gitUpdater { url = "https://git.pwmt.org/pwmt/zathura-pdf-mupdf.git"; };
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
homepage = "https://pwmt.org/projects/zathura-pdf-mupdf/";
|
homepage = "https://pwmt.org/projects/zathura-pdf-mupdf/";
|
||||||
description = "Zathura PDF plugin (mupdf)";
|
description = "Zathura PDF plugin (mupdf)";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
The zathura-pdf-mupdf plugin adds PDF support to zathura by
|
The zathura-pdf-mupdf plugin adds PDF support to zathura by
|
||||||
using the mupdf rendering library.
|
using the mupdf rendering library.
|
||||||
'';
|
'';
|
||||||
license = licenses.zlib;
|
license = lib.licenses.zlib;
|
||||||
platforms = platforms.unix;
|
platforms = lib.platforms.unix;
|
||||||
maintainers = [ ];
|
maintainers = [ ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
@ -8,39 +8,44 @@
|
|||||||
zathura_core,
|
zathura_core,
|
||||||
girara,
|
girara,
|
||||||
poppler,
|
poppler,
|
||||||
|
desktop-file-utils,
|
||||||
|
appstream-glib,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "zathura-pdf-poppler";
|
pname = "zathura-pdf-poppler";
|
||||||
version = "0.3.2";
|
version = "0.3.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
|
url = "https://pwmt.org/projects/zathura-pdf-poppler/download/zathura-pdf-poppler-${finalAttrs.version}.tar.xz";
|
||||||
hash = "sha256-cavu1RzR0YjO89vUwWR1jjw3FgR1aWeyOtF2rlNFMBE=";
|
hash = "sha256-yBLy9ERv1d4Wc04TwC6pqiW6Tjup9ytzLA/5D5ujSTU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
meson
|
meson
|
||||||
ninja
|
ninja
|
||||||
pkg-config
|
pkg-config
|
||||||
|
desktop-file-utils
|
||||||
|
appstream-glib
|
||||||
zathura_core
|
zathura_core
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
poppler
|
poppler
|
||||||
girara
|
girara
|
||||||
];
|
];
|
||||||
|
|
||||||
PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
|
env.PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
homepage = "https://pwmt.org/projects/zathura-pdf-poppler/";
|
homepage = "https://pwmt.org/projects/zathura-pdf-poppler/";
|
||||||
description = "Zathura PDF plugin (poppler)";
|
description = "Zathura PDF plugin (poppler)";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
The zathura-pdf-poppler plugin adds PDF support to zathura by
|
The zathura-pdf-poppler plugin adds PDF support to zathura by
|
||||||
using the poppler rendering library.
|
using the poppler rendering library.
|
||||||
'';
|
'';
|
||||||
license = licenses.zlib;
|
license = lib.licenses.zlib;
|
||||||
platforms = platforms.unix;
|
platforms = lib.platforms.unix;
|
||||||
maintainers = [ ];
|
maintainers = [ ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
@ -9,15 +9,17 @@
|
|||||||
girara,
|
girara,
|
||||||
libspectre,
|
libspectre,
|
||||||
gettext,
|
gettext,
|
||||||
|
desktop-file-utils,
|
||||||
|
appstream-glib,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "zathura-ps";
|
pname = "zathura-ps";
|
||||||
version = "0.2.7";
|
version = "0.2.8";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
|
url = "https://pwmt.org/projects/zathura-ps/download/zathura-ps-${finalAttrs.version}.tar.xz";
|
||||||
hash = "sha256-WJf5IEz1+Xi5QTvnzn/r3oQxV69I41GTjt8H2/kwjkY=";
|
hash = "sha256-B8pZT3J3+YdtADgEhBg0PqKWQCjpPJD5Vp7/NqiTLko=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -25,24 +27,27 @@ stdenv.mkDerivation rec {
|
|||||||
ninja
|
ninja
|
||||||
pkg-config
|
pkg-config
|
||||||
gettext
|
gettext
|
||||||
|
desktop-file-utils
|
||||||
|
appstream-glib
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
libspectre
|
libspectre
|
||||||
zathura_core
|
zathura_core
|
||||||
girara
|
girara
|
||||||
];
|
];
|
||||||
|
|
||||||
PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
|
env.PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
homepage = "https://pwmt.org/projects/zathura-ps/";
|
homepage = "https://pwmt.org/projects/zathura-ps/";
|
||||||
description = "Zathura PS plugin";
|
description = "Zathura PS plugin";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
The zathura-ps plugin adds PS support to zathura by using the
|
The zathura-ps plugin adds PS support to zathura by using the
|
||||||
libspectre library.
|
libspectre library.
|
||||||
'';
|
'';
|
||||||
license = licenses.zlib;
|
license = lib.licenses.zlib;
|
||||||
platforms = platforms.unix;
|
platforms = lib.platforms.unix;
|
||||||
maintainers = [ ];
|
maintainers = [ ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
@ -17,16 +17,16 @@ let
|
|||||||
|
|
||||||
tctl-next = buildGoModule rec {
|
tctl-next = buildGoModule rec {
|
||||||
pname = "tctl-next";
|
pname = "tctl-next";
|
||||||
version = "0.13.1";
|
version = "1.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "temporalio";
|
owner = "temporalio";
|
||||||
repo = "cli";
|
repo = "cli";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-bh0UsXA5yHtvP9femOwEzVzmu1VLz2uZwoIHL/kI7kM=";
|
hash = "sha256-y0C2z2iMMQSG5+xGngZ98+ixIgbvaQxPdAWuPbEbBAY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-ziCJG722c32QAh9QmoC2E7TcLiC2InKwfdC9mkanTsU=";
|
vendorHash = "sha256-zhGqDHdVGg7eGnw5L3eSyXKBTjp85ir5zrtf7HbXmC0=";
|
||||||
|
|
||||||
inherit overrideModAttrs;
|
inherit overrideModAttrs;
|
||||||
|
|
||||||
@ -37,7 +37,7 @@ let
|
|||||||
ldflags = [
|
ldflags = [
|
||||||
"-s"
|
"-s"
|
||||||
"-w"
|
"-w"
|
||||||
"-X github.com/temporalio/cli/headers.Version=${version}"
|
"-X github.com/temporalio/cli/temporalcli.Version=${version}"
|
||||||
];
|
];
|
||||||
|
|
||||||
# Tests fail with x86 on macOS Rosetta 2
|
# Tests fail with x86 on macOS Rosetta 2
|
||||||
|
@ -48,23 +48,23 @@ let
|
|||||||
# and often with different versions. We write them on three lines
|
# and often with different versions. We write them on three lines
|
||||||
# like this (rather than using {}) so that the updater script can
|
# like this (rather than using {}) so that the updater script can
|
||||||
# find where to edit them.
|
# find where to edit them.
|
||||||
versions.aarch64-darwin = "6.1.10.38818";
|
versions.aarch64-darwin = "6.1.11.39163";
|
||||||
versions.x86_64-darwin = "6.1.10.38818";
|
versions.x86_64-darwin = "6.1.11.39163";
|
||||||
versions.x86_64-linux = "6.1.10.1400";
|
versions.x86_64-linux = "6.1.11.1545";
|
||||||
|
|
||||||
srcs = {
|
srcs = {
|
||||||
aarch64-darwin = fetchurl {
|
aarch64-darwin = fetchurl {
|
||||||
url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
|
url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
|
||||||
name = "zoomusInstallerFull.pkg";
|
name = "zoomusInstallerFull.pkg";
|
||||||
hash = "sha256-E8r0bctM5whwEMppzO9hR3W+k+BmrV0gVx+J02KYmuk=";
|
hash = "sha256-xWeCiDhYPfTAJttXG5bCwhLu+bmHlcFF/s3+EACeph4=";
|
||||||
};
|
};
|
||||||
x86_64-darwin = fetchurl {
|
x86_64-darwin = fetchurl {
|
||||||
url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
|
url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
|
||||||
hash = "sha256-HMSBV/B/nTkcU8src6Wdz8uZnz455guSAMGm5ha7mIA=";
|
hash = "sha256-AB+QXx6r3raymVU7rEJ9dO4CqJI9tnRF3l61vuGnqpI=";
|
||||||
};
|
};
|
||||||
x86_64-linux = fetchurl {
|
x86_64-linux = fetchurl {
|
||||||
url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
|
url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
|
||||||
hash = "sha256-c3WywWmblz9Wg3RMtovCBcR/mYyaWkmuoCqqGvHBxwo=";
|
hash = "sha256-wkG/fYbn3EdbVJwZQI8EcRPmHFX+4zggmfM4sHUjD8I=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -7,13 +7,13 @@ let
|
|||||||
apps = lib.makeBinPath [ openssh python' cron rsync sshfs-fuse encfs ];
|
apps = lib.makeBinPath [ openssh python' cron rsync sshfs-fuse encfs ];
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "backintime-common";
|
pname = "backintime-common";
|
||||||
version = "1.4.3";
|
version = "1.5.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bit-team";
|
owner = "bit-team";
|
||||||
repo = "backintime";
|
repo = "backintime";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-2q2Q4rnxXwVnfH1YEBwY35B2ctG9+qpOIAHqPOjjArg=";
|
sha256 = "sha256-yfCSTzCmhXDBC1vYqwgVjsYUtc5VO1VW74BmIB0hHfE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper gettext ];
|
nativeBuildInputs = [ makeWrapper gettext ];
|
||||||
@ -24,12 +24,13 @@ in stdenv.mkDerivation rec {
|
|||||||
configureFlags = [ "--python=${lib.getExe python'}" ];
|
configureFlags = [ "--python=${lib.getExe python'}" ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
patchShebangs --build updateversion.sh
|
||||||
cd common
|
cd common
|
||||||
substituteInPlace configure \
|
substituteInPlace configure \
|
||||||
--replace "/.." "" \
|
--replace-fail "/.." "" \
|
||||||
--replace "share/backintime" "${python'.sitePackages}/backintime"
|
--replace-fail "share/backintime" "${python'.sitePackages}/backintime"
|
||||||
substituteInPlace "backintime" \
|
substituteInPlace "backintime" "backintime-askpass" \
|
||||||
--replace "share" "${python'.sitePackages}"
|
--replace-fail "share" "${python'.sitePackages}"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
dontAddPrefix = true;
|
dontAddPrefix = true;
|
||||||
@ -44,10 +45,11 @@ in stdenv.mkDerivation rec {
|
|||||||
description = "Simple backup tool for Linux";
|
description = "Simple backup tool for Linux";
|
||||||
license = lib.licenses.gpl2;
|
license = lib.licenses.gpl2;
|
||||||
maintainers = with lib.maintainers; [ stephen-huan ];
|
maintainers = with lib.maintainers; [ stephen-huan ];
|
||||||
platforms = lib.platforms.all;
|
platforms = lib.platforms.linux;
|
||||||
|
mainProgram = "backintime";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
Back In Time is a simple backup tool (on top of rsync) for Linux
|
Back In Time is a simple backup tool (on top of rsync) for Linux
|
||||||
inspired from “flyback project” and “TimeVault”. The backup is
|
inspired from "flyback project" and "TimeVault". The backup is
|
||||||
done by taking snapshots of a specified set of directories.
|
done by taking snapshots of a specified set of directories.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -1,19 +1,25 @@
|
|||||||
{ lib, mkDerivation, backintime-common, python3, polkit, which, su, coreutils, util-linux }:
|
{ lib, stdenv, backintime-common, python3, polkit, which, su, coreutils, util-linux,
|
||||||
|
wrapQtAppsHook, qtbase, qtwayland }:
|
||||||
|
|
||||||
let
|
let
|
||||||
python' = python3.withPackages (ps: with ps; [ pyqt5 backintime-common packaging ]);
|
python' = python3.withPackages (ps: with ps; [ pyqt6 backintime-common packaging ]);
|
||||||
in
|
in
|
||||||
mkDerivation {
|
stdenv.mkDerivation {
|
||||||
inherit (backintime-common)
|
inherit (backintime-common)
|
||||||
version src installFlags meta dontAddPrefix nativeBuildInputs;
|
version src installFlags meta dontAddPrefix;
|
||||||
|
|
||||||
pname = "backintime-qt";
|
pname = "backintime-qt";
|
||||||
|
|
||||||
buildInputs = [ python' backintime-common ];
|
buildInputs = [ python' backintime-common qtbase qtwayland ];
|
||||||
|
|
||||||
|
nativeBuildInputs = backintime-common.nativeBuildInputs or [ ] ++ [
|
||||||
|
wrapQtAppsHook
|
||||||
|
];
|
||||||
|
|
||||||
configureFlags = [ "--python=${lib.getExe python'}" ];
|
configureFlags = [ "--python=${lib.getExe python'}" ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
patchShebangs --build updateversion.sh
|
||||||
cd qt
|
cd qt
|
||||||
substituteInPlace qttools_path.py \
|
substituteInPlace qttools_path.py \
|
||||||
--replace "__file__, os.pardir, os.pardir" '"${backintime-common}/${python'.sitePackages}/backintime"'
|
--replace "__file__, os.pardir, os.pardir" '"${backintime-common}/${python'.sitePackages}/backintime"'
|
||||||
@ -24,23 +30,23 @@ mkDerivation {
|
|||||||
--prefix PATH : "${lib.getBin backintime-common}/bin:$PATH"
|
--prefix PATH : "${lib.getBin backintime-common}/bin:$PATH"
|
||||||
|
|
||||||
substituteInPlace "$out/share/polkit-1/actions/net.launchpad.backintime.policy" \
|
substituteInPlace "$out/share/polkit-1/actions/net.launchpad.backintime.policy" \
|
||||||
--replace "/usr/bin/backintime-qt" "$out/bin/backintime-qt"
|
--replace-fail "/usr/bin/backintime-qt" "$out/bin/backintime-qt"
|
||||||
|
|
||||||
substituteInPlace "$out/share/applications/backintime-qt-root.desktop" \
|
substituteInPlace "$out/share/applications/backintime-qt-root.desktop" \
|
||||||
--replace "/usr/bin/backintime-qt" "backintime-qt"
|
--replace-fail "/usr/bin/backintime-qt" "backintime-qt"
|
||||||
|
|
||||||
substituteInPlace "$out/share/backintime/qt/serviceHelper.py" \
|
substituteInPlace "$out/share/backintime/qt/serviceHelper.py" \
|
||||||
--replace "'which'" "'${lib.getBin which}/bin/which'" \
|
--replace-fail "'which'" "'${lib.getExe which}'" \
|
||||||
--replace "/bin/su" "${lib.getBin su}/bin/su" \
|
--replace-fail "/bin/su" "${lib.getBin su}/bin/su" \
|
||||||
--replace "/usr/bin/backintime" "${lib.getBin backintime-common}/bin/backintime" \
|
--replace-fail "/usr/bin/backintime" "${lib.getExe backintime-common}" \
|
||||||
--replace "/usr/bin/nice" "${lib.getBin coreutils}/bin/nice" \
|
--replace-fail "/usr/bin/nice" "${lib.getBin coreutils}/bin/nice" \
|
||||||
--replace "/usr/bin/ionice" "${lib.getBin util-linux}/bin/ionice"
|
--replace-fail "/usr/bin/ionice" "${lib.getBin util-linux}/bin/ionice"
|
||||||
|
|
||||||
substituteInPlace "$out/share/dbus-1/system-services/net.launchpad.backintime.serviceHelper.service" \
|
substituteInPlace "$out/share/dbus-1/system-services/net.launchpad.backintime.serviceHelper.service" \
|
||||||
--replace "/usr/share/backintime" "$out/share/backintime"
|
--replace-fail "/usr/share/backintime" "$out/share/backintime"
|
||||||
|
|
||||||
substituteInPlace "$out/bin/backintime-qt_polkit" \
|
substituteInPlace "$out/bin/backintime-qt_polkit" \
|
||||||
--replace "/usr/bin/backintime-qt" "$out/bin/backintime-qt"
|
--replace-fail "/usr/bin/backintime-qt" "$out/bin/backintime-qt"
|
||||||
|
|
||||||
wrapProgram "$out/bin/backintime-qt_polkit" \
|
wrapProgram "$out/bin/backintime-qt_polkit" \
|
||||||
--prefix PATH : "${lib.getBin polkit}/bin:$PATH"
|
--prefix PATH : "${lib.getBin polkit}/bin:$PATH"
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
{ lib
|
{ lib
|
||||||
|
, cmake
|
||||||
, cppzmq
|
, cppzmq
|
||||||
, curl
|
, curl
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
@ -9,6 +10,8 @@
|
|||||||
, libgit2
|
, libgit2
|
||||||
, librsvg
|
, librsvg
|
||||||
, libuuid
|
, libuuid
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
, opencascade-occt_7_6
|
, opencascade-occt_7_6
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, podofo
|
, podofo
|
||||||
@ -20,16 +23,19 @@ in
|
|||||||
# This base is used in horizon-eda and python3Packages.horizon-eda
|
# This base is used in horizon-eda and python3Packages.horizon-eda
|
||||||
rec {
|
rec {
|
||||||
pname = "horizon-eda";
|
pname = "horizon-eda";
|
||||||
version = "2.5.0";
|
version = "2.6.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "horizon-eda";
|
owner = "horizon-eda";
|
||||||
repo = "horizon";
|
repo = "horizon";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-UcjbDJR6shyETpanNkRoH8LF8r6gFjsyNHVSCMHKqS8=";
|
hash = "sha256-0ikCR10r/WPb+H+Ut2GO6y4A/9bctJLanL/RR4r9GWs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
cmake
|
||||||
pkg-config
|
pkg-config
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -1,90 +0,0 @@
|
|||||||
{ stdenv
|
|
||||||
, lib
|
|
||||||
, fetchFromGitHub
|
|
||||||
, fetchpatch2
|
|
||||||
, rustPlatform
|
|
||||||
, Security
|
|
||||||
, SystemConfiguration
|
|
||||||
, pkg-config
|
|
||||||
, libiconv
|
|
||||||
, openssl
|
|
||||||
, gzip
|
|
||||||
, libssh2
|
|
||||||
, libgit2
|
|
||||||
, zstd
|
|
||||||
, installShellFiles
|
|
||||||
, nix-update-script
|
|
||||||
, testers
|
|
||||||
, jujutsu
|
|
||||||
}:
|
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
|
||||||
pname = "jujutsu";
|
|
||||||
version = "0.21.0";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "martinvonz";
|
|
||||||
repo = "jj";
|
|
||||||
rev = "v${version}";
|
|
||||||
hash = "sha256-uZsfHhcYpobatWaDQczuc9Z3BWHN5VO0qr/8mu5kEio=";
|
|
||||||
};
|
|
||||||
|
|
||||||
cargoHash = "sha256-BOO1jP1Y5CNbE97zj+tpariiBdcuxKb1wyvI7i/VpYI=";
|
|
||||||
|
|
||||||
cargoBuildFlags = [ "--bin" "jj" ]; # don't install the fake editors
|
|
||||||
useNextest = false; # nextest is the upstream integration framework, but is problematic for test skipping
|
|
||||||
ZSTD_SYS_USE_PKG_CONFIG = "1"; # disable vendored zlib
|
|
||||||
LIBGIT2_NO_VENDOR = "1"; # disable vendored libgit2
|
|
||||||
LIBSSH2_SYS_USE_PKG_CONFIG = "1"; # disable vendored libssh2
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
gzip
|
|
||||||
installShellFiles
|
|
||||||
pkg-config
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
openssl
|
|
||||||
zstd
|
|
||||||
libgit2
|
|
||||||
libssh2
|
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
|
||||||
Security
|
|
||||||
SystemConfiguration
|
|
||||||
libiconv
|
|
||||||
];
|
|
||||||
|
|
||||||
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
|
||||||
$out/bin/jj util mangen > ./jj.1
|
|
||||||
installManPage ./jj.1
|
|
||||||
|
|
||||||
installShellCompletion --cmd jj \
|
|
||||||
--bash <($out/bin/jj util completion bash) \
|
|
||||||
--fish <($out/bin/jj util completion fish) \
|
|
||||||
--zsh <($out/bin/jj util completion zsh)
|
|
||||||
'';
|
|
||||||
|
|
||||||
checkFlags = [
|
|
||||||
# signing tests spin up an ssh-agent and do git checkouts
|
|
||||||
"--skip=test_ssh_signing"
|
|
||||||
];
|
|
||||||
|
|
||||||
passthru = {
|
|
||||||
updateScript = nix-update-script { };
|
|
||||||
tests = {
|
|
||||||
version = testers.testVersion {
|
|
||||||
package = jujutsu;
|
|
||||||
command = "jj --version";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Git-compatible DVCS that is both simple and powerful";
|
|
||||||
homepage = "https://github.com/martinvonz/jj";
|
|
||||||
changelog = "https://github.com/martinvonz/jj/blob/v${version}/CHANGELOG.md";
|
|
||||||
license = licenses.asl20;
|
|
||||||
maintainers = with maintainers; [ _0x4A6F thoughtpolice ];
|
|
||||||
mainProgram = "jj";
|
|
||||||
};
|
|
||||||
}
|
|
@ -7,12 +7,12 @@
|
|||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "streamlink";
|
pname = "streamlink";
|
||||||
version = "6.8.3";
|
version = "6.9.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-4/UaVnwIcDCS+R0El6P8Ku/jJ+/Ncl0D5m89zRHtm2g=";
|
hash = "sha256-LKmwsXuAvJ0JqEIsOQyzjYGa9VZkk5YL8hDY/uIhwX8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
{ lib, stdenv, fetchurl, fetchpatch, python3Packages, zlib, pkg-config, glib, buildPackages
|
{ lib, stdenv, fetchurl, fetchpatch, python3Packages, zlib, pkg-config, glib, overrideSDK, buildPackages
|
||||||
, pixman, vde2, alsa-lib, flex, pcre2
|
, pixman, vde2, alsa-lib, flex, pcre2
|
||||||
, bison, lzo, snappy, libaio, libtasn1, gnutls, nettle, curl, dtc, ninja, meson
|
, bison, lzo, snappy, libaio, libtasn1, gnutls, nettle, curl, dtc, ninja, meson
|
||||||
, sigtool
|
, sigtool
|
||||||
, makeWrapper, removeReferencesTo
|
, makeWrapper, removeReferencesTo
|
||||||
, attr, libcap, libcap_ng, socat, libslirp
|
, attr, libcap, libcap_ng, socat, libslirp
|
||||||
, CoreServices, Cocoa, Hypervisor, rez, setfile, vmnet
|
, CoreServices, Cocoa, Hypervisor, Kernel, rez, setfile, vmnet
|
||||||
, guestAgentSupport ? (with stdenv.hostPlatform; isLinux || isNetBSD || isOpenBSD || isSunOS || isWindows) && !minimal
|
, guestAgentSupport ? (with stdenv.hostPlatform; isLinux || isNetBSD || isOpenBSD || isSunOS || isWindows) && !minimal
|
||||||
, numaSupport ? stdenv.isLinux && !stdenv.isAarch32 && !minimal, numactl
|
, numaSupport ? stdenv.isLinux && !stdenv.isAarch32 && !minimal, numactl
|
||||||
, seccompSupport ? stdenv.isLinux && !minimal, libseccomp
|
, seccompSupport ? stdenv.isLinux && !minimal, libseccomp
|
||||||
@ -52,6 +52,16 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
hexagonSupport = hostCpuTargets == null || lib.elem "hexagon" hostCpuTargets;
|
hexagonSupport = hostCpuTargets == null || lib.elem "hexagon" hostCpuTargets;
|
||||||
|
|
||||||
|
buildPlatformStdenv =
|
||||||
|
if stdenv.buildPlatform.isDarwin then
|
||||||
|
overrideSDK buildPackages.stdenv {
|
||||||
|
# Keep these values in sync with `all-packages.nix`.
|
||||||
|
darwinSdkVersion = "12.3";
|
||||||
|
darwinMinVersion = "12.0";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
buildPackages.stdenv;
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
@ -61,14 +71,14 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
+ lib.optionalString nixosTestRunner "-for-vm-tests"
|
+ lib.optionalString nixosTestRunner "-for-vm-tests"
|
||||||
+ lib.optionalString toolsOnly "-utils"
|
+ lib.optionalString toolsOnly "-utils"
|
||||||
+ lib.optionalString userOnly "-user";
|
+ lib.optionalString userOnly "-user";
|
||||||
version = "9.0.2";
|
version = "9.1.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.qemu.org/qemu-${finalAttrs.version}.tar.xz";
|
url = "https://download.qemu.org/qemu-${finalAttrs.version}.tar.xz";
|
||||||
hash = "sha256-qMP1lq7Olto7AMr7dLqvoNFFFer7jtHuP39cLQ6/ArY=";
|
hash = "sha256-gWtwIqi6fCrDDi4M+XPoJva8yFBTOWAyEsXt6OlNeDQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
depsBuildBuild = [ buildPackages.stdenv.cc ]
|
depsBuildBuild = [ buildPlatformStdenv.cc ]
|
||||||
++ lib.optionals hexagonSupport [ pkg-config ];
|
++ lib.optionals hexagonSupport [ pkg-config ];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -82,16 +92,14 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
++ lib.optionals enableDocs [ python3Packages.sphinx python3Packages.sphinx-rtd-theme ]
|
++ lib.optionals enableDocs [ python3Packages.sphinx python3Packages.sphinx-rtd-theme ]
|
||||||
++ lib.optionals hexagonSupport [ glib ]
|
++ lib.optionals hexagonSupport [ glib ]
|
||||||
++ lib.optionals stdenv.isDarwin [ sigtool ]
|
++ lib.optionals stdenv.isDarwin [ sigtool ]
|
||||||
++ lib.optionals (!userOnly) [ dtc ]
|
++ lib.optionals (!userOnly) [ dtc ];
|
||||||
# workaround, remove once this patch lands: https://lore.kernel.org/qemu-devel/20240805104921.4035256-1-hi@alyssa.is/
|
|
||||||
++ lib.optionals (hexagonSupport && stdenv.hostPlatform.isStatic) [ pcre2 ];
|
|
||||||
|
|
||||||
buildInputs = [ zlib glib pixman
|
buildInputs = [ zlib glib pixman
|
||||||
vde2 lzo snappy libtasn1
|
vde2 lzo snappy libtasn1
|
||||||
gnutls nettle curl libslirp
|
gnutls nettle curl libslirp
|
||||||
]
|
]
|
||||||
++ lib.optionals ncursesSupport [ ncurses ]
|
++ lib.optionals ncursesSupport [ ncurses ]
|
||||||
++ lib.optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor rez setfile vmnet ]
|
++ lib.optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor Kernel rez setfile vmnet ]
|
||||||
++ lib.optionals seccompSupport [ libseccomp ]
|
++ lib.optionals seccompSupport [ libseccomp ]
|
||||||
++ lib.optionals numaSupport [ numactl ]
|
++ lib.optionals numaSupport [ numactl ]
|
||||||
++ lib.optionals alsaSupport [ alsa-lib ]
|
++ lib.optionals alsaSupport [ alsa-lib ]
|
||||||
@ -129,17 +137,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
patches = [
|
patches = [
|
||||||
./fix-qemu-ga.patch
|
./fix-qemu-ga.patch
|
||||||
|
|
||||||
# QEMU upstream does not demand compatibility to pre-10.13, so 9p-darwin
|
|
||||||
# support on nix requires utimensat fallback. The patch adding this fallback
|
|
||||||
# set was removed during the process of upstreaming this functionality, and
|
|
||||||
# will still be needed in nix until the macOS SDK reaches 10.13+.
|
|
||||||
./provide-fallback-for-utimensat.patch
|
|
||||||
# Cocoa clipboard support only works on macOS 10.14+
|
|
||||||
./revert-ui-cocoa-add-clipboard-support.patch
|
|
||||||
# Standard about panel requires AppKit and macOS 10.13+
|
|
||||||
./revert-ui-cocoa-use-the-standard-about-panel.patch
|
|
||||||
# Safe area insets require macOS 11+
|
|
||||||
./remove-ui-cocoa-use-safe-area-insets.patch
|
|
||||||
# Workaround for upstream issue with nested virtualisation: https://gitlab.com/qemu-project/qemu/-/issues/1008
|
# Workaround for upstream issue with nested virtualisation: https://gitlab.com/qemu-project/qemu/-/issues/1008
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
url = "https://gitlab.com/qemu-project/qemu/-/commit/3e4546d5bd38a1e98d4bd2de48631abf0398a3a2.diff";
|
url = "https://gitlab.com/qemu-project/qemu/-/commit/3e4546d5bd38a1e98d4bd2de48631abf0398a3a2.diff";
|
||||||
|
@ -1,36 +1,45 @@
|
|||||||
diff --git i/qga/commands-posix.c w/qga/commands-posix.c
|
diff --git a/qga/commands-posix.c b/qga/commands-posix.c
|
||||||
index 954efed01b..39c4b916ce 100644
|
index c2bd0b4316..47cee1c351 100644
|
||||||
--- i/qga/commands-posix.c
|
--- a/qga/commands-posix.c
|
||||||
+++ w/qga/commands-posix.c
|
+++ b/qga/commands-posix.c
|
||||||
@@ -123,6 +123,8 @@ void qmp_guest_shutdown(bool has_mode, const char *mode, Error **errp)
|
@@ -246,7 +246,7 @@ void qmp_guest_shutdown(const char *mode, Error **errp)
|
||||||
execl("/sbin/shutdown", "shutdown", shutdown_flag, "-g0", "-y",
|
return;
|
||||||
"hypervisor initiated shutdown", (char *)NULL);
|
|
||||||
#else
|
|
||||||
+ execl("/run/current-system/sw/bin/shutdown", "shutdown", "-h", shutdown_flag, "+0",
|
|
||||||
+ "hypervisor initiated shutdown", (char *)NULL);
|
|
||||||
execl("/sbin/shutdown", "shutdown", "-h", shutdown_flag, "+0",
|
|
||||||
"hypervisor initiated shutdown", (char *)NULL);
|
|
||||||
#endif
|
|
||||||
@@ -158,11 +160,13 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp)
|
|
||||||
pid_t pid;
|
|
||||||
Error *local_err = NULL;
|
|
||||||
struct timeval tv;
|
|
||||||
+ static const char hwclock_path_nix[] = "/run/current-system/sw/bin/hwclock";
|
|
||||||
static const char hwclock_path[] = "/sbin/hwclock";
|
|
||||||
static int hwclock_available = -1;
|
|
||||||
|
|
||||||
if (hwclock_available < 0) {
|
|
||||||
- hwclock_available = (access(hwclock_path, X_OK) == 0);
|
|
||||||
+ hwclock_available = (access(hwclock_path_nix, X_OK) == 0) ||
|
|
||||||
+ (access(hwclock_path, X_OK) == 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!hwclock_available) {
|
- const char *argv[] = {"/sbin/shutdown",
|
||||||
@@ -208,6 +212,7 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp)
|
+ const char *argv[] = {"/run/current-system/sw/bin/shutdown",
|
||||||
|
#ifdef CONFIG_SOLARIS
|
||||||
|
shutdown_flag, "-g0", "-y",
|
||||||
|
#elif defined(CONFIG_BSD)
|
||||||
|
@@ -257,6 +257,10 @@ void qmp_guest_shutdown(const char *mode, Error **errp)
|
||||||
|
"hypervisor initiated shutdown", (char *) NULL};
|
||||||
|
|
||||||
/* Use '/sbin/hwclock -w' to set RTC from the system time,
|
ga_run_command(argv, NULL, "shutdown", &local_err);
|
||||||
* or '/sbin/hwclock -s' to set the system time from RTC. */
|
+ if (local_err) {
|
||||||
+ execl(hwclock_path_nix, "hwclock", has_time ? "-w" : "-s", NULL);
|
+ argv[0] = "/sbin/shutdown";
|
||||||
execl(hwclock_path, "hwclock", has_time ? "-w" : "-s", NULL);
|
+ ga_run_command(argv, NULL, "shutdown", &local_err);
|
||||||
_exit(EXIT_FAILURE);
|
+ }
|
||||||
} else if (pid < 0) {
|
if (local_err) {
|
||||||
|
error_propagate(errp, local_err);
|
||||||
|
return;
|
||||||
|
@@ -270,7 +274,7 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp)
|
||||||
|
int ret;
|
||||||
|
Error *local_err = NULL;
|
||||||
|
struct timeval tv;
|
||||||
|
- const char *argv[] = {"/sbin/hwclock", has_time ? "-w" : "-s", NULL};
|
||||||
|
+ const char *argv[] = {"/run/current-system/sw/bin/hwclock", has_time ? "-w" : "-s", NULL};
|
||||||
|
|
||||||
|
/* If user has passed a time, validate and set it. */
|
||||||
|
if (has_time) {
|
||||||
|
@@ -303,6 +307,11 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp)
|
||||||
|
* hardware clock (RTC). */
|
||||||
|
ga_run_command(argv, NULL, "set hardware clock to system time",
|
||||||
|
&local_err);
|
||||||
|
+ if (local_err) {
|
||||||
|
+ argv[0] = "/sbin/hwclock";
|
||||||
|
+ ga_run_command(argv, NULL, "set hardware clock to system time",
|
||||||
|
+ &local_err);
|
||||||
|
+ }
|
||||||
|
if (local_err) {
|
||||||
|
error_propagate(errp, local_err);
|
||||||
|
return;
|
||||||
|
@ -1,189 +0,0 @@
|
|||||||
From 2ec149ea3f0046fa83e3be74aca192649a60be47 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Keno Fischer <keno@juliacomputing.com>
|
|
||||||
Date: Sat, 16 Jun 2018 20:56:54 -0400
|
|
||||||
Subject: [PATCH] 9p: darwin: Provide fallback impl for utimensat
|
|
||||||
|
|
||||||
This function is new in Mac OS 10.13. Provide a fallback implementation
|
|
||||||
when building against older SDKs. The complication in the definition comes
|
|
||||||
having to separately handle the used SDK version and the target OS version.
|
|
||||||
|
|
||||||
- If the SDK version is too low (__MAC_10_13 not defined), utimensat is not
|
|
||||||
defined in the header, so we must not try to use it (doing so would error).
|
|
||||||
- Otherwise, if the targetted OS version is at least 10.13, we know this
|
|
||||||
function is available, so we can unconditionally call it.
|
|
||||||
- Lastly, we check for the availability of the __builtin_available macro to
|
|
||||||
potentially insert a dynamic check for this OS version. However, __builtin_available
|
|
||||||
is only available with sufficiently recent versions of clang and while all
|
|
||||||
Apple clang versions that ship with Xcode versions that support the 10.13
|
|
||||||
SDK support with builtin, we want to allow building with compilers other
|
|
||||||
than Apple clang that may not support this builtin.
|
|
||||||
|
|
||||||
Signed-off-by: Keno Fischer <keno@juliacomputing.com>
|
|
||||||
Signed-off-by: Michael Roitzsch <reactorcontrol@icloud.com>
|
|
||||||
Signed-off-by: Will Cohen <wwcohen@gmail.com>
|
|
||||||
---
|
|
||||||
hw/9pfs/9p-local.c | 2 +-
|
|
||||||
hw/9pfs/9p-util-darwin.c | 96 ++++++++++++++++++++++++++++++++++++++++
|
|
||||||
hw/9pfs/9p-util-linux.c | 6 +++
|
|
||||||
hw/9pfs/9p-util.h | 8 ++++
|
|
||||||
4 files changed, 111 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c
|
|
||||||
index 9d07620235..9c77a431d5 100644
|
|
||||||
--- a/hw/9pfs/9p-local.c
|
|
||||||
+++ b/hw/9pfs/9p-local.c
|
|
||||||
@@ -1081,7 +1081,7 @@ static int local_utimensat(FsContext *s, V9fsPath *fs_path,
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
|
|
||||||
- ret = qemu_utimensat(dirfd, name, buf, AT_SYMLINK_NOFOLLOW);
|
|
||||||
+ ret = utimensat_nofollow(dirfd, name, buf);
|
|
||||||
close_preserve_errno(dirfd);
|
|
||||||
out:
|
|
||||||
g_free(dirpath);
|
|
||||||
diff --git a/hw/9pfs/9p-util-darwin.c b/hw/9pfs/9p-util-darwin.c
|
|
||||||
index 95146e7354..74ab2a7f99 100644
|
|
||||||
--- a/hw/9pfs/9p-util-darwin.c
|
|
||||||
+++ b/hw/9pfs/9p-util-darwin.c
|
|
||||||
@@ -145,3 +145,99 @@ int qemu_mknodat(int dirfd, const char *filename, mode_t mode, dev_t dev)
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
+
|
|
||||||
+#ifndef __has_builtin
|
|
||||||
+#define __has_builtin(x) 0
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+static int update_times_from_stat(int fd, struct timespec times[2],
|
|
||||||
+ int update0, int update1)
|
|
||||||
+{
|
|
||||||
+ struct stat buf;
|
|
||||||
+ int ret = fstat(fd, &buf);
|
|
||||||
+ if (ret == -1) {
|
|
||||||
+ return ret;
|
|
||||||
+ }
|
|
||||||
+ if (update0) {
|
|
||||||
+ times[0] = buf.st_atimespec;
|
|
||||||
+ }
|
|
||||||
+ if (update1) {
|
|
||||||
+ times[1] = buf.st_mtimespec;
|
|
||||||
+ }
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+int utimensat_nofollow(int dirfd, const char *filename,
|
|
||||||
+ const struct timespec times_in[2])
|
|
||||||
+{
|
|
||||||
+ int ret, fd;
|
|
||||||
+ int special0, special1;
|
|
||||||
+ struct timeval futimes_buf[2];
|
|
||||||
+ struct timespec times[2];
|
|
||||||
+ memcpy(times, times_in, 2 * sizeof(struct timespec));
|
|
||||||
+
|
|
||||||
+/* Check whether we have an SDK version that defines utimensat */
|
|
||||||
+#if defined(__MAC_10_13)
|
|
||||||
+# if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_13
|
|
||||||
+# define UTIMENSAT_AVAILABLE 1
|
|
||||||
+# elif __has_builtin(__builtin_available)
|
|
||||||
+# define UTIMENSAT_AVAILABLE __builtin_available(macos 10.13, *)
|
|
||||||
+# else
|
|
||||||
+# define UTIMENSAT_AVAILABLE 0
|
|
||||||
+# endif
|
|
||||||
+ if (UTIMENSAT_AVAILABLE) {
|
|
||||||
+ return utimensat(dirfd, filename, times, AT_SYMLINK_NOFOLLOW);
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+ /* utimensat not available. Use futimes. */
|
|
||||||
+ fd = openat_file(dirfd, filename, O_PATH_9P_UTIL | O_NOFOLLOW, 0);
|
|
||||||
+ if (fd == -1) {
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ special0 = times[0].tv_nsec == UTIME_OMIT;
|
|
||||||
+ special1 = times[1].tv_nsec == UTIME_OMIT;
|
|
||||||
+ if (special0 || special1) {
|
|
||||||
+ /* If both are set, nothing to do */
|
|
||||||
+ if (special0 && special1) {
|
|
||||||
+ ret = 0;
|
|
||||||
+ goto done;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ ret = update_times_from_stat(fd, times, special0, special1);
|
|
||||||
+ if (ret < 0) {
|
|
||||||
+ goto done;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ special0 = times[0].tv_nsec == UTIME_NOW;
|
|
||||||
+ special1 = times[1].tv_nsec == UTIME_NOW;
|
|
||||||
+ if (special0 || special1) {
|
|
||||||
+ ret = futimes(fd, NULL);
|
|
||||||
+ if (ret < 0) {
|
|
||||||
+ goto done;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /* If both are set, we are done */
|
|
||||||
+ if (special0 && special1) {
|
|
||||||
+ ret = 0;
|
|
||||||
+ goto done;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ ret = update_times_from_stat(fd, times, special0, special1);
|
|
||||||
+ if (ret < 0) {
|
|
||||||
+ goto done;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ futimes_buf[0].tv_sec = times[0].tv_sec;
|
|
||||||
+ futimes_buf[0].tv_usec = times[0].tv_nsec / 1000;
|
|
||||||
+ futimes_buf[1].tv_sec = times[1].tv_sec;
|
|
||||||
+ futimes_buf[1].tv_usec = times[1].tv_nsec / 1000;
|
|
||||||
+ ret = futimes(fd, futimes_buf);
|
|
||||||
+
|
|
||||||
+done:
|
|
||||||
+ close_preserve_errno(fd);
|
|
||||||
+ return ret;
|
|
||||||
+}
|
|
||||||
diff --git a/hw/9pfs/9p-util-linux.c b/hw/9pfs/9p-util-linux.c
|
|
||||||
index db451b0784..320697f347 100644
|
|
||||||
--- a/hw/9pfs/9p-util-linux.c
|
|
||||||
+++ b/hw/9pfs/9p-util-linux.c
|
|
||||||
@@ -68,3 +68,9 @@ int qemu_mknodat(int dirfd, const char *filename, mode_t mode, dev_t dev)
|
|
||||||
{
|
|
||||||
return mknodat(dirfd, filename, mode, dev);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+int utimensat_nofollow(int dirfd, const char *filename,
|
|
||||||
+ const struct timespec times[2])
|
|
||||||
+{
|
|
||||||
+ return utimensat(dirfd, filename, times, AT_SYMLINK_NOFOLLOW);
|
|
||||||
+}
|
|
||||||
diff --git a/hw/9pfs/9p-util.h b/hw/9pfs/9p-util.h
|
|
||||||
index c314cf381d..12d57f3398 100644
|
|
||||||
--- a/hw/9pfs/9p-util.h
|
|
||||||
+++ b/hw/9pfs/9p-util.h
|
|
||||||
@@ -101,6 +101,12 @@ static inline int errno_to_dotl(int err) {
|
|
||||||
#define qemu_utimensat utimensat
|
|
||||||
#define qemu_unlinkat unlinkat
|
|
||||||
|
|
||||||
+/* Compatibility with old SDK Versions for Darwin */
|
|
||||||
+#if defined(CONFIG_DARWIN) && !defined(UTIME_NOW)
|
|
||||||
+#define UTIME_NOW -1
|
|
||||||
+#define UTIME_OMIT -2
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
static inline void close_preserve_errno(int fd)
|
|
||||||
{
|
|
||||||
int serrno = errno;
|
|
||||||
@@ -163,6 +169,8 @@ ssize_t flistxattrat_nofollow(int dirfd, const char *filename,
|
|
||||||
char *list, size_t size);
|
|
||||||
ssize_t fremovexattrat_nofollow(int dirfd, const char *filename,
|
|
||||||
const char *name);
|
|
||||||
+int utimensat_nofollow(int dirfd, const char *filename,
|
|
||||||
+ const struct timespec times[2]);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Darwin has d_seekoff, which appears to function similarly to d_off.
|
|
||||||
--
|
|
||||||
2.39.2
|
|
@ -1,14 +0,0 @@
|
|||||||
diff --git a/ui/cocoa.m b/ui/cocoa.m
|
|
||||||
index 25e0db9dd0..7ce889d798 100644
|
|
||||||
--- a/ui/cocoa.m
|
|
||||||
+++ b/ui/cocoa.m
|
|
||||||
@@ -539,9 +539,6 @@ - (NSSize)fixAspectRatio:(NSSize)max
|
|
||||||
- (NSSize) screenSafeAreaSize
|
|
||||||
{
|
|
||||||
NSSize size = [[[self window] screen] frame].size;
|
|
||||||
- NSEdgeInsets insets = [[[self window] screen] safeAreaInsets];
|
|
||||||
- size.width -= insets.left + insets.right;
|
|
||||||
- size.height -= insets.top + insets.bottom;
|
|
||||||
return size;
|
|
||||||
}
|
|
||||||
|
|
@ -1,200 +0,0 @@
|
|||||||
Based on a reversion of upstream 7e3e20d89129614f4a7b2451fe321cc6ccca3b76,
|
|
||||||
adapted for 7.2.0
|
|
||||||
|
|
||||||
diff --git a/include/ui/clipboard.h b/include/ui/clipboard.h
|
|
||||||
index ce76aa451f..c4e1dc4ff4 100644
|
|
||||||
--- a/include/ui/clipboard.h
|
|
||||||
+++ b/include/ui/clipboard.h
|
|
||||||
@@ -269,7 +269,7 @@ void qemu_clipboard_set_data(QemuClipboardPeer *peer,
|
|
||||||
QemuClipboardInfo *info,
|
|
||||||
QemuClipboardType type,
|
|
||||||
uint32_t size,
|
|
||||||
- const void *data,
|
|
||||||
+ void *data,
|
|
||||||
bool update);
|
|
||||||
|
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(QemuClipboardInfo, qemu_clipboard_info_unref)
|
|
||||||
diff --git a/ui/clipboard.c b/ui/clipboard.c
|
|
||||||
index 3d14bffaf8..2c3f4c3ba0 100644
|
|
||||||
--- a/ui/clipboard.c
|
|
||||||
+++ b/ui/clipboard.c
|
|
||||||
@@ -154,7 +154,7 @@ void qemu_clipboard_set_data(QemuClipboardPeer *peer,
|
|
||||||
QemuClipboardInfo *info,
|
|
||||||
QemuClipboardType type,
|
|
||||||
uint32_t size,
|
|
||||||
- const void *data,
|
|
||||||
+ void *data,
|
|
||||||
bool update)
|
|
||||||
{
|
|
||||||
if (!info ||
|
|
||||||
diff --git a/ui/cocoa.m b/ui/cocoa.m
|
|
||||||
index 660d3e0935..0e6760c360 100644
|
|
||||||
--- a/ui/cocoa.m
|
|
||||||
+++ b/ui/cocoa.m
|
|
||||||
@@ -29,7 +29,6 @@
|
|
||||||
|
|
||||||
#include "qemu/help-texts.h"
|
|
||||||
#include "qemu-main.h"
|
|
||||||
-#include "ui/clipboard.h"
|
|
||||||
#include "ui/console.h"
|
|
||||||
#include "ui/input.h"
|
|
||||||
#include "ui/kbd-state.h"
|
|
||||||
@@ -105,10 +104,6 @@ static void cocoa_switch(DisplayChangeListener *dcl,
|
|
||||||
|
|
||||||
static bool allow_events;
|
|
||||||
|
|
||||||
-static NSInteger cbchangecount = -1;
|
|
||||||
-static QemuClipboardInfo *cbinfo;
|
|
||||||
-static QemuEvent cbevent;
|
|
||||||
-
|
|
||||||
// Utility functions to run specified code block with the BQL held
|
|
||||||
typedef void (^CodeBlock)(void);
|
|
||||||
typedef bool (^BoolCodeBlock)(void);
|
|
||||||
@@ -1799,107 +1794,6 @@ static void addRemovableDevicesMenuItems(void)
|
|
||||||
qapi_free_BlockInfoList(pointerToFree);
|
|
||||||
}
|
|
||||||
|
|
||||||
-@interface QemuCocoaPasteboardTypeOwner : NSObject<NSPasteboardTypeOwner>
|
|
||||||
-@end
|
|
||||||
-
|
|
||||||
-@implementation QemuCocoaPasteboardTypeOwner
|
|
||||||
-
|
|
||||||
-- (void)pasteboard:(NSPasteboard *)sender provideDataForType:(NSPasteboardType)type
|
|
||||||
-{
|
|
||||||
- if (type != NSPasteboardTypeString) {
|
|
||||||
- return;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- with_bql(^{
|
|
||||||
- QemuClipboardInfo *info = qemu_clipboard_info_ref(cbinfo);
|
|
||||||
- qemu_event_reset(&cbevent);
|
|
||||||
- qemu_clipboard_request(info, QEMU_CLIPBOARD_TYPE_TEXT);
|
|
||||||
-
|
|
||||||
- while (info == cbinfo &&
|
|
||||||
- info->types[QEMU_CLIPBOARD_TYPE_TEXT].available &&
|
|
||||||
- info->types[QEMU_CLIPBOARD_TYPE_TEXT].data == NULL) {
|
|
||||||
- bql_unlock();
|
|
||||||
- qemu_event_wait(&cbevent);
|
|
||||||
- bql_lock();
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- if (info == cbinfo) {
|
|
||||||
- NSData *data = [[NSData alloc] initWithBytes:info->types[QEMU_CLIPBOARD_TYPE_TEXT].data
|
|
||||||
- length:info->types[QEMU_CLIPBOARD_TYPE_TEXT].size];
|
|
||||||
- [sender setData:data forType:NSPasteboardTypeString];
|
|
||||||
- [data release];
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- qemu_clipboard_info_unref(info);
|
|
||||||
- });
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-@end
|
|
||||||
-
|
|
||||||
-static QemuCocoaPasteboardTypeOwner *cbowner;
|
|
||||||
-
|
|
||||||
-static void cocoa_clipboard_notify(Notifier *notifier, void *data);
|
|
||||||
-static void cocoa_clipboard_request(QemuClipboardInfo *info,
|
|
||||||
- QemuClipboardType type);
|
|
||||||
-
|
|
||||||
-static QemuClipboardPeer cbpeer = {
|
|
||||||
- .name = "cocoa",
|
|
||||||
- .notifier = { .notify = cocoa_clipboard_notify },
|
|
||||||
- .request = cocoa_clipboard_request
|
|
||||||
-};
|
|
||||||
-
|
|
||||||
-static void cocoa_clipboard_update_info(QemuClipboardInfo *info)
|
|
||||||
-{
|
|
||||||
- if (info->owner == &cbpeer || info->selection != QEMU_CLIPBOARD_SELECTION_CLIPBOARD) {
|
|
||||||
- return;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- if (info != cbinfo) {
|
|
||||||
- NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
|
|
||||||
- qemu_clipboard_info_unref(cbinfo);
|
|
||||||
- cbinfo = qemu_clipboard_info_ref(info);
|
|
||||||
- cbchangecount = [[NSPasteboard generalPasteboard] declareTypes:@[NSPasteboardTypeString] owner:cbowner];
|
|
||||||
- [pool release];
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- qemu_event_set(&cbevent);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-static void cocoa_clipboard_notify(Notifier *notifier, void *data)
|
|
||||||
-{
|
|
||||||
- QemuClipboardNotify *notify = data;
|
|
||||||
-
|
|
||||||
- switch (notify->type) {
|
|
||||||
- case QEMU_CLIPBOARD_UPDATE_INFO:
|
|
||||||
- cocoa_clipboard_update_info(notify->info);
|
|
||||||
- return;
|
|
||||||
- case QEMU_CLIPBOARD_RESET_SERIAL:
|
|
||||||
- /* ignore */
|
|
||||||
- return;
|
|
||||||
- }
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-static void cocoa_clipboard_request(QemuClipboardInfo *info,
|
|
||||||
- QemuClipboardType type)
|
|
||||||
-{
|
|
||||||
- NSAutoreleasePool *pool;
|
|
||||||
- NSData *text;
|
|
||||||
-
|
|
||||||
- switch (type) {
|
|
||||||
- case QEMU_CLIPBOARD_TYPE_TEXT:
|
|
||||||
- pool = [[NSAutoreleasePool alloc] init];
|
|
||||||
- text = [[NSPasteboard generalPasteboard] dataForType:NSPasteboardTypeString];
|
|
||||||
- if (text) {
|
|
||||||
- qemu_clipboard_set_data(&cbpeer, info, type,
|
|
||||||
- [text length], [text bytes], true);
|
|
||||||
- }
|
|
||||||
- [pool release];
|
|
||||||
- break;
|
|
||||||
- default:
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
/*
|
|
||||||
* The startup process for the OSX/Cocoa UI is complicated, because
|
|
||||||
* OSX insists that the UI runs on the initial main thread, and so we
|
|
||||||
@@ -1922,7 +1816,6 @@ static void cocoa_clipboard_request(QemuClipboardInfo *info,
|
|
||||||
status = qemu_default_main();
|
|
||||||
qemu_mutex_unlock_iothread();
|
|
||||||
COCOA_DEBUG("Second thread: qemu_default_main() returned, exiting\n");
|
|
||||||
- [cbowner release];
|
|
||||||
exit(status);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -2003,18 +1896,6 @@ static void cocoa_refresh(DisplayChangeListener *dcl)
|
|
||||||
[cocoaView setAbsoluteEnabled:YES];
|
|
||||||
});
|
|
||||||
}
|
|
||||||
-
|
|
||||||
- if (cbchangecount != [[NSPasteboard generalPasteboard] changeCount]) {
|
|
||||||
- qemu_clipboard_info_unref(cbinfo);
|
|
||||||
- cbinfo = qemu_clipboard_info_new(&cbpeer, QEMU_CLIPBOARD_SELECTION_CLIPBOARD);
|
|
||||||
- if ([[NSPasteboard generalPasteboard] availableTypeFromArray:@[NSPasteboardTypeString]]) {
|
|
||||||
- cbinfo->types[QEMU_CLIPBOARD_TYPE_TEXT].available = true;
|
|
||||||
- }
|
|
||||||
- qemu_clipboard_update(cbinfo);
|
|
||||||
- cbchangecount = [[NSPasteboard generalPasteboard] changeCount];
|
|
||||||
- qemu_event_set(&cbevent);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
[pool release];
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -2071,12 +1952,6 @@ static void cocoa_display_init(DisplayState *ds, DisplayOptions *opts)
|
|
||||||
// register vga output callbacks
|
|
||||||
register_displaychangelistener(&dcl);
|
|
||||||
[cocoaView updateUIInfo];
|
|
||||||
-
|
|
||||||
- qemu_event_init(&cbevent, false);
|
|
||||||
- cbowner = [[QemuCocoaPasteboardTypeOwner alloc] init];
|
|
||||||
- qemu_clipboard_peer_register(&cbpeer);
|
|
||||||
-
|
|
||||||
- [pool release];
|
|
||||||
}
|
|
||||||
|
|
||||||
static QemuDisplay qemu_display_cocoa = {
|
|
@ -1,145 +0,0 @@
|
|||||||
diff --git a/ui/cocoa.m b/ui/cocoa.m
|
|
||||||
index 25e0db9dd0..4af0712036 100644
|
|
||||||
--- a/ui/cocoa.m
|
|
||||||
+++ b/ui/cocoa.m
|
|
||||||
@@ -93,6 +93,7 @@ static void cocoa_switch(DisplayChangeListener *dcl,
|
|
||||||
|
|
||||||
static void cocoa_refresh(DisplayChangeListener *dcl);
|
|
||||||
|
|
||||||
+static NSWindow *about_window;
|
|
||||||
static const DisplayChangeListenerOps dcl_ops = {
|
|
||||||
.dpy_name = "cocoa",
|
|
||||||
.dpy_gfx_update = cocoa_update,
|
|
||||||
@@ -1180,6 +1181,7 @@ - (void)changeDeviceMedia:(id)sender;
|
|
||||||
- (BOOL)verifyQuit;
|
|
||||||
- (void)openDocumentation:(NSString *)filename;
|
|
||||||
- (IBAction) do_about_menu_item: (id) sender;
|
|
||||||
+- (void)make_about_window;
|
|
||||||
- (void)adjustSpeed:(id)sender;
|
|
||||||
@end
|
|
||||||
|
|
||||||
@@ -1227,6 +1229,8 @@ - (id) init
|
|
||||||
[pauseLabel setFont: [NSFont fontWithName: @"Helvetica" size: 90]];
|
|
||||||
[pauseLabel setTextColor: [NSColor blackColor]];
|
|
||||||
[pauseLabel sizeToFit];
|
|
||||||
+
|
|
||||||
+ [self make_about_window];
|
|
||||||
}
|
|
||||||
return self;
|
|
||||||
}
|
|
||||||
@@ -1549,29 +1553,92 @@ - (BOOL)verifyQuit
|
|
||||||
/* The action method for the About menu item */
|
|
||||||
- (IBAction) do_about_menu_item: (id) sender
|
|
||||||
{
|
|
||||||
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
|
||||||
- char *icon_path_c = get_relocated_path(CONFIG_QEMU_ICONDIR "/hicolor/512x512/apps/qemu.png");
|
|
||||||
- NSString *icon_path = [NSString stringWithUTF8String:icon_path_c];
|
|
||||||
- g_free(icon_path_c);
|
|
||||||
- NSImage *icon = [[NSImage alloc] initWithContentsOfFile:icon_path];
|
|
||||||
- NSString *version = @"QEMU emulator version " QEMU_FULL_VERSION;
|
|
||||||
- NSString *copyright = @QEMU_COPYRIGHT;
|
|
||||||
- NSDictionary *options;
|
|
||||||
- if (icon) {
|
|
||||||
- options = @{
|
|
||||||
- NSAboutPanelOptionApplicationIcon : icon,
|
|
||||||
- NSAboutPanelOptionApplicationVersion : version,
|
|
||||||
- @"Copyright" : copyright,
|
|
||||||
- };
|
|
||||||
- [icon release];
|
|
||||||
- } else {
|
|
||||||
- options = @{
|
|
||||||
- NSAboutPanelOptionApplicationVersion : version,
|
|
||||||
- @"Copyright" : copyright,
|
|
||||||
- };
|
|
||||||
- }
|
|
||||||
- [NSApp orderFrontStandardAboutPanelWithOptions:options];
|
|
||||||
- [pool release];
|
|
||||||
+ [about_window makeKeyAndOrderFront: nil];
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/* Create and display the about dialog */
|
|
||||||
+- (void)make_about_window
|
|
||||||
+{
|
|
||||||
+ /* Make the window */
|
|
||||||
+ int x = 0, y = 0, about_width = 400, about_height = 200;
|
|
||||||
+ NSRect window_rect = NSMakeRect(x, y, about_width, about_height);
|
|
||||||
+ about_window = [[NSWindow alloc] initWithContentRect:window_rect
|
|
||||||
+ styleMask:NSWindowStyleMaskTitled | NSWindowStyleMaskClosable |
|
|
||||||
+ NSWindowStyleMaskMiniaturizable
|
|
||||||
+ backing:NSBackingStoreBuffered
|
|
||||||
+ defer:NO];
|
|
||||||
+ [about_window setTitle: @"About"];
|
|
||||||
+ [about_window setReleasedWhenClosed: NO];
|
|
||||||
+ [about_window center];
|
|
||||||
+ NSView *superView = [about_window contentView];
|
|
||||||
+
|
|
||||||
+ /* Create the dimensions of the picture */
|
|
||||||
+ int picture_width = 80, picture_height = 80;
|
|
||||||
+ x = (about_width - picture_width)/2;
|
|
||||||
+ y = about_height - picture_height - 10;
|
|
||||||
+ NSRect picture_rect = NSMakeRect(x, y, picture_width, picture_height);
|
|
||||||
+
|
|
||||||
+ /* Make the picture of QEMU */
|
|
||||||
+ NSImageView *picture_view = [[NSImageView alloc] initWithFrame:
|
|
||||||
+ picture_rect];
|
|
||||||
+ char *qemu_image_path_c = get_relocated_path(CONFIG_QEMU_ICONDIR "/hicolor/512x512/apps/qemu.png");
|
|
||||||
+ NSString *qemu_image_path = [NSString stringWithUTF8String:qemu_image_path_c];
|
|
||||||
+ g_free(qemu_image_path_c);
|
|
||||||
+ NSImage *qemu_image = [[NSImage alloc] initWithContentsOfFile:qemu_image_path];
|
|
||||||
+ [picture_view setImage: qemu_image];
|
|
||||||
+ [picture_view setImageScaling: NSImageScaleProportionallyUpOrDown];
|
|
||||||
+ [superView addSubview: picture_view];
|
|
||||||
+
|
|
||||||
+ /* Make the name label */
|
|
||||||
+ NSBundle *bundle = [NSBundle mainBundle];
|
|
||||||
+ if (bundle) {
|
|
||||||
+ x = 0;
|
|
||||||
+ y = y - 25;
|
|
||||||
+ int name_width = about_width, name_height = 20;
|
|
||||||
+ NSRect name_rect = NSMakeRect(x, y, name_width, name_height);
|
|
||||||
+ NSTextField *name_label = [[NSTextField alloc] initWithFrame: name_rect];
|
|
||||||
+ [name_label setEditable: NO];
|
|
||||||
+ [name_label setBezeled: NO];
|
|
||||||
+ [name_label setDrawsBackground: NO];
|
|
||||||
+ [name_label setAlignment: NSTextAlignmentCenter];
|
|
||||||
+ NSString *qemu_name = [[bundle executablePath] lastPathComponent];
|
|
||||||
+ [name_label setStringValue: qemu_name];
|
|
||||||
+ [superView addSubview: name_label];
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /* Set the version label's attributes */
|
|
||||||
+ x = 0;
|
|
||||||
+ y = 50;
|
|
||||||
+ int version_width = about_width, version_height = 20;
|
|
||||||
+ NSRect version_rect = NSMakeRect(x, y, version_width, version_height);
|
|
||||||
+ NSTextField *version_label = [[NSTextField alloc] initWithFrame:
|
|
||||||
+ version_rect];
|
|
||||||
+ [version_label setEditable: NO];
|
|
||||||
+ [version_label setBezeled: NO];
|
|
||||||
+ [version_label setAlignment: NSTextAlignmentCenter];
|
|
||||||
+ [version_label setDrawsBackground: NO];
|
|
||||||
+
|
|
||||||
+ /* Create the version string*/
|
|
||||||
+ NSString *version_string;
|
|
||||||
+ version_string = [[NSString alloc] initWithFormat:
|
|
||||||
+ @"QEMU emulator version %s", QEMU_FULL_VERSION];
|
|
||||||
+ [version_label setStringValue: version_string];
|
|
||||||
+ [superView addSubview: version_label];
|
|
||||||
+
|
|
||||||
+ /* Make copyright label */
|
|
||||||
+ x = 0;
|
|
||||||
+ y = 35;
|
|
||||||
+ int copyright_width = about_width, copyright_height = 20;
|
|
||||||
+ NSRect copyright_rect = NSMakeRect(x, y, copyright_width, copyright_height);
|
|
||||||
+ NSTextField *copyright_label = [[NSTextField alloc] initWithFrame:
|
|
||||||
+ copyright_rect];
|
|
||||||
+ [copyright_label setEditable: NO];
|
|
||||||
+ [copyright_label setBezeled: NO];
|
|
||||||
+ [copyright_label setDrawsBackground: NO];
|
|
||||||
+ [copyright_label setAlignment: NSTextAlignmentCenter];
|
|
||||||
+ [copyright_label setStringValue: [NSString stringWithFormat: @"%s",
|
|
||||||
+ QEMU_COPYRIGHT]];
|
|
||||||
+ [superView addSubview: copyright_label];
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Used by the Speed menu items */
|
|
@ -23,10 +23,10 @@ python3Packages.buildPythonApplication {
|
|||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace org.debian.apt.aptoffline.policy \
|
substituteInPlace org.debian.apt.aptoffline.policy \
|
||||||
--replace /usr/bin/ "$out/bin"
|
--replace-fail /usr/bin/ "$out/bin"
|
||||||
|
|
||||||
substituteInPlace apt_offline_core/AptOfflineCoreLib.py \
|
substituteInPlace apt_offline_core/AptOfflineCoreLib.py \
|
||||||
--replace /usr/bin/gpgv "${lib.getBin gnupg}/bin/gpgv"
|
--replace-fail /usr/bin/gpgv "${lib.getBin gnupg}/bin/gpgv"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
@ -29,7 +29,7 @@ let
|
|||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace backgroundremover/bg.py backgroundremover/u2net/detect.py \
|
substituteInPlace backgroundremover/bg.py backgroundremover/u2net/detect.py \
|
||||||
--replace 'os.path.expanduser(os.path.join("~", ".u2net", model_name + ".pth"))' "os.path.join(\"$models\", model_name + \".pth\")"
|
--replace-fail 'os.path.expanduser(os.path.join("~", ".u2net", model_name + ".pth"))' "os.path.join(\"$models\", model_name + \".pth\")"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ p.setuptools p.wheel ];
|
nativeBuildInputs = [ p.setuptools p.wheel ];
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
}:
|
}:
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "clang-tidy-sarif";
|
pname = "clang-tidy-sarif";
|
||||||
version = "0.6.5";
|
version = "0.6.6";
|
||||||
|
|
||||||
src = fetchCrate {
|
src = fetchCrate {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-pQbhLbDRcZJhXXY6bWGO/8mmQRwgM3tDEWKoqmsNr68=";
|
hash = "sha256-rZnGueaqK7h8tWwwWacvFBvJwE1li2wN9iB4DJRHJ8U=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-K+Cle2eCH4jCLbYfOrlEXeBvFUr7dGmpKFQM1IJi7p4=";
|
cargoHash = "sha256-mELx6UGHV+qtL1G3+xvYUaUzZbfMy0dKgai6IqdbT+A=";
|
||||||
|
|
||||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||||
doInstallCheck = true;
|
doInstallCheck = true;
|
||||||
|
@ -11,6 +11,8 @@
|
|||||||
gtk3,
|
gtk3,
|
||||||
swt,
|
swt,
|
||||||
glib,
|
glib,
|
||||||
|
webkitgtk,
|
||||||
|
glib-networking,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
@ -64,11 +66,14 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
|||||||
--prefix PATH : "${openjdk17}/bin" \
|
--prefix PATH : "${openjdk17}/bin" \
|
||||||
--set JAVA_HOME "${openjdk17.home}" \
|
--set JAVA_HOME "${openjdk17.home}" \
|
||||||
--prefix CLASSPATH : "$out/dbeaver/plugins/*:${swt}/jars/swt.jar" \
|
--prefix CLASSPATH : "$out/dbeaver/plugins/*:${swt}/jars/swt.jar" \
|
||||||
|
--prefix GIO_EXTRA_MODULES : "${glib-networking}/lib/gio/modules" \
|
||||||
--prefix LD_LIBRARY_PATH : "$out/lib:${
|
--prefix LD_LIBRARY_PATH : "$out/lib:${
|
||||||
lib.makeLibraryPath [
|
lib.makeLibraryPath [
|
||||||
swt
|
swt
|
||||||
gtk3
|
gtk3
|
||||||
glib
|
glib
|
||||||
|
webkitgtk
|
||||||
|
glib-networking
|
||||||
]
|
]
|
||||||
}"
|
}"
|
||||||
|
|
||||||
|
@ -11,14 +11,14 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "deltatouch";
|
pname = "deltatouch";
|
||||||
version = "1.5.1";
|
version = "1.6.0";
|
||||||
|
|
||||||
src = fetchFromGitea {
|
src = fetchFromGitea {
|
||||||
domain = "codeberg.org";
|
domain = "codeberg.org";
|
||||||
owner = "lk108";
|
owner = "lk108";
|
||||||
repo = "deltatouch";
|
repo = "deltatouch";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-OQrTxxmiBiAc9il1O5aEl9iN3fCfoxSAwJDfrASCPxs=";
|
hash = "sha256-mOs5WlWOkH9A+BZK6hvKq/JKS4k8tzvvov4CYFHyMfA=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -48,12 +48,13 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
--replace-fail 'assets/logo.svg DESTINATION assets' 'assets/logo.svg DESTINATION ''${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps RENAME deltatouch.svg' \
|
--replace-fail 'assets/logo.svg DESTINATION assets' 'assets/logo.svg DESTINATION ''${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps RENAME deltatouch.svg' \
|
||||||
--replace-fail "\''${DESKTOP_FILE_NAME} DESTINATION \''${DATA_DIR}" "\''${DESKTOP_FILE_NAME} DESTINATION \''${CMAKE_INSTALL_DATAROOTDIR}/applications"
|
--replace-fail "\''${DESKTOP_FILE_NAME} DESTINATION \''${DATA_DIR}" "\''${DESKTOP_FILE_NAME} DESTINATION \''${CMAKE_INSTALL_DATAROOTDIR}/applications"
|
||||||
|
|
||||||
substituteInPlace plugins/DeltaHandler/CMakeLists.txt plugins/DTWebEngineProfile/CMakeLists.txt \
|
substituteInPlace plugins/{DeltaHandler,HtmlMsgEngineProfile,WebxdcEngineProfile}/CMakeLists.txt \
|
||||||
--replace-fail 'set(QT_IMPORTS_DIR "/lib/''${ARCH_TRIPLET}")' 'set(QT_IMPORTS_DIR "${placeholder "out"}/${qt5.qtbase.qtQmlPrefix}")'
|
--replace-fail 'set(QT_IMPORTS_DIR "/lib/''${ARCH_TRIPLET}")' 'set(QT_IMPORTS_DIR "${placeholder "out"}/${qt5.qtbase.qtQmlPrefix}")'
|
||||||
|
|
||||||
# Fix import of library dependencies
|
# Fix import of library dependencies
|
||||||
|
substituteInPlace plugins/{DeltaHandler,WebxdcEngineProfile}/CMakeLists.txt \
|
||||||
|
--replace-fail 'IMPORTED_LOCATION "''${CMAKE_CURRENT_BINARY_DIR}/libdeltachat.so"' 'IMPORTED_LOCATION "${lib.getLib libdeltachat}/lib/libdeltachat.so"'
|
||||||
substituteInPlace plugins/DeltaHandler/CMakeLists.txt \
|
substituteInPlace plugins/DeltaHandler/CMakeLists.txt \
|
||||||
--replace-fail 'IMPORTED_LOCATION "''${CMAKE_CURRENT_BINARY_DIR}/libdeltachat.so"' 'IMPORTED_LOCATION "${lib.getLib libdeltachat}/lib/libdeltachat.so"' \
|
|
||||||
--replace-fail 'IMPORTED_LOCATION "''${CMAKE_CURRENT_BINARY_DIR}/libquirc.so.1.2"' 'IMPORTED_LOCATION "${lib.getLib quirc}/lib/libquirc.so"'
|
--replace-fail 'IMPORTED_LOCATION "''${CMAKE_CURRENT_BINARY_DIR}/libquirc.so.1.2"' 'IMPORTED_LOCATION "${lib.getLib quirc}/lib/libquirc.so"'
|
||||||
|
|
||||||
# Fix icon reference in desktop file
|
# Fix icon reference in desktop file
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
facter (4.6.1)
|
facter (4.8.0)
|
||||||
hocon (~> 1.3)
|
hocon (~> 1.3)
|
||||||
thor (>= 1.0.1, < 2.0)
|
thor (>= 1.0.1, < 1.3)
|
||||||
hocon (1.4.0)
|
hocon (1.4.0)
|
||||||
thor (1.3.1)
|
thor (1.2.2)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
ruby
|
ruby
|
||||||
@ -14,4 +14,4 @@ DEPENDENCIES
|
|||||||
facter
|
facter
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
2.5.6
|
2.5.16
|
||||||
|
@ -5,10 +5,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0pxpldfcf40dr9khra3sa131ij7gzd97bba2vpw89c785pl736a7";
|
sha256 = "1130mzk90pi0y9fnraqqak7gcfg61dhx92axwnhchbpw09akfl09";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "4.6.1";
|
version = "4.8.0";
|
||||||
};
|
};
|
||||||
hocon = {
|
hocon = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -25,9 +25,9 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1vq1fjp45az9hfp6fxljhdrkv75cvbab1jfrwcw738pnsiqk8zps";
|
sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.3.1";
|
version = "1.2.2";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
{ lib
|
{
|
||||||
, python3
|
fetchFromGitHub,
|
||||||
, fetchFromGitHub
|
fetchPypi,
|
||||||
, fetchPypi
|
lib,
|
||||||
, postgresql
|
postgresql,
|
||||||
, postgresqlTestHook
|
postgresqlTestHook,
|
||||||
|
python3,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
python = python3.override {
|
python = python3.override {
|
||||||
@ -25,22 +26,17 @@ let
|
|||||||
|
|
||||||
in
|
in
|
||||||
python.pkgs.buildPythonApplication rec {
|
python.pkgs.buildPythonApplication rec {
|
||||||
pname = "fit-trackee";
|
pname = "fittrackee";
|
||||||
version = "0.8.6";
|
version = "0.8.8";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "SamR1";
|
owner = "SamR1";
|
||||||
repo = "FitTrackee";
|
repo = "FitTrackee";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-lTDS+HfYG6ayXDotu7M2LUrw+1ZhQ0ftw0rTn4Mr3rQ=";
|
hash = "sha256-IO6M+HXAR3Gn0/71KwkaQr6sB0eCQzmnqHYgO+mzIZM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
substituteInPlace pyproject.toml \
|
|
||||||
--replace-fail psycopg2-binary psycopg2
|
|
||||||
'';
|
|
||||||
|
|
||||||
build-system = [
|
build-system = [
|
||||||
python.pkgs.poetry-core
|
python.pkgs.poetry-core
|
||||||
];
|
];
|
||||||
@ -53,29 +49,32 @@ python.pkgs.buildPythonApplication rec {
|
|||||||
"pyopenssl"
|
"pyopenssl"
|
||||||
];
|
];
|
||||||
|
|
||||||
dependencies = with python.pkgs; [
|
dependencies =
|
||||||
authlib
|
with python.pkgs;
|
||||||
babel
|
[
|
||||||
click
|
authlib
|
||||||
dramatiq
|
babel
|
||||||
flask
|
click
|
||||||
flask-bcrypt
|
dramatiq
|
||||||
flask-dramatiq
|
flask
|
||||||
flask-limiter
|
flask-bcrypt
|
||||||
flask-migrate
|
flask-dramatiq
|
||||||
flask-sqlalchemy
|
flask-limiter
|
||||||
gpxpy
|
flask-migrate
|
||||||
gunicorn
|
flask-sqlalchemy
|
||||||
humanize
|
gpxpy
|
||||||
psycopg2
|
gunicorn
|
||||||
pyjwt
|
humanize
|
||||||
pyopenssl
|
psycopg2-binary
|
||||||
pytz
|
pyjwt
|
||||||
shortuuid
|
pyopenssl
|
||||||
sqlalchemy
|
pytz
|
||||||
staticmap
|
shortuuid
|
||||||
ua-parser
|
sqlalchemy
|
||||||
] ++ dramatiq.optional-dependencies.redis
|
staticmap
|
||||||
|
ua-parser
|
||||||
|
]
|
||||||
|
++ dramatiq.optional-dependencies.redis
|
||||||
++ flask-limiter.optional-dependencies.redis;
|
++ flask-limiter.optional-dependencies.redis;
|
||||||
|
|
||||||
pythonImportsCheck = [ "fittrackee" ];
|
pythonImportsCheck = [ "fittrackee" ];
|
50
pkgs/by-name/gp/gpt4all/embedding-local.patch
Normal file
50
pkgs/by-name/gp/gpt4all/embedding-local.patch
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
commit 1e8fdf3f90fd142c5ddd63e44ca1e5c172dbfb7f
|
||||||
|
Author: Simon Gardling <titaniumtown@proton.me>
|
||||||
|
Date: Tue Aug 27 12:45:14 2024 -0400
|
||||||
|
|
||||||
|
use locally downloaded embeddings
|
||||||
|
|
||||||
|
index 27f3f5d9..9e25528a 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -90,6 +90,7 @@ elseif (APPLE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Embedding model
|
||||||
|
+#[[
|
||||||
|
set(LOCAL_EMBEDDING_MODEL "nomic-embed-text-v1.5.f16.gguf")
|
||||||
|
set(LOCAL_EMBEDDING_MODEL_MD5 "a5401e7f7e46ed9fcaed5b60a281d547")
|
||||||
|
set(LOCAL_EMBEDDING_MODEL_PATH "${CMAKE_BINARY_DIR}/resources/${LOCAL_EMBEDDING_MODEL}")
|
||||||
|
@@ -104,6 +105,7 @@
|
||||||
|
if (APPLE)
|
||||||
|
list(APPEND CHAT_EXE_RESOURCES "${LOCAL_EMBEDDING_MODEL_PATH}")
|
||||||
|
endif()
|
||||||
|
+]]
|
||||||
|
|
||||||
|
qt_add_executable(chat
|
||||||
|
main.cpp
|
||||||
|
@@ -383,11 +385,13 @@
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
+#[[
|
||||||
|
if (NOT APPLE)
|
||||||
|
install(FILES "${CMAKE_BINARY_DIR}/resources/${LOCAL_EMBEDDING_MODEL}"
|
||||||
|
DESTINATION resources
|
||||||
|
COMPONENT ${COMPONENT_NAME_MAIN})
|
||||||
|
endif()
|
||||||
|
+]]
|
||||||
|
|
||||||
|
set(CPACK_GENERATOR "IFW")
|
||||||
|
set(CPACK_VERBATIM_VARIABLES YES)
|
||||||
|
--- a/embllm.cpp
|
||||||
|
+++ b/embllm.cpp
|
||||||
|
@@ -84,7 +84,7 @@ bool EmbeddingLLMWorker::loadModel()
|
||||||
|
|
||||||
|
QString filePath = embPathFmt.arg(QCoreApplication::applicationDirPath(), LOCAL_EMBEDDING_MODEL);
|
||||||
|
if (!QFileInfo::exists(filePath)) {
|
||||||
|
- qWarning() << "embllm WARNING: Local embedding model not found";
|
||||||
|
+ qWarning() << "embllm WARNING: Local embedding model not found: " << filePath;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
@ -2,6 +2,7 @@
|
|||||||
, config
|
, config
|
||||||
, stdenv
|
, stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, fetchurl
|
||||||
, cmake
|
, cmake
|
||||||
, qt6
|
, qt6
|
||||||
, fmt
|
, fmt
|
||||||
@ -14,16 +15,25 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "gpt4all";
|
pname = "gpt4all";
|
||||||
version = "2.8.0";
|
version = "3.2.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
hash = "sha256-aSz37+1K26Xizf4cpV45a2DnSsl959VQok/ppFRk/hs=";
|
hash = "sha256-h6hcqafTjQsqVlpnqVeohh38A67VSGrW3WrCErjaKIQ=";
|
||||||
owner = "nomic-ai";
|
owner = "nomic-ai";
|
||||||
repo = "gpt4all";
|
repo = "gpt4all";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${finalAttrs.version}";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
embed_model = fetchurl {
|
||||||
|
url = "https://gpt4all.io/models/gguf/nomic-embed-text-v1.5.f16.gguf";
|
||||||
|
sha256 = "f7af6f66802f4df86eda10fe9bbcfc75c39562bed48ef6ace719a251cf1c2fdb";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./embedding-local.patch
|
||||||
|
];
|
||||||
|
|
||||||
sourceRoot = "${finalAttrs.src.name}/gpt4all-chat";
|
sourceRoot = "${finalAttrs.src.name}/gpt4all-chat";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -41,6 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
qt6.qthttpserver
|
qt6.qthttpserver
|
||||||
qt6.qtwebengine
|
qt6.qtwebengine
|
||||||
qt6.qt5compat
|
qt6.qt5compat
|
||||||
|
qt6.qttools
|
||||||
shaderc
|
shaderc
|
||||||
vulkan-headers
|
vulkan-headers
|
||||||
wayland
|
wayland
|
||||||
@ -64,8 +75,9 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
rm -rf $out/include
|
rm -rf $out/include
|
||||||
rm -rf $out/lib/*.a
|
rm -rf $out/lib/*.a
|
||||||
mv $out/bin/chat $out/bin/${finalAttrs.meta.mainProgram}
|
mv $out/bin/chat $out/bin/${finalAttrs.meta.mainProgram}
|
||||||
|
install -D ${finalAttrs.embed_model} $out/resources/nomic-embed-text-v1.5.f16.gguf
|
||||||
install -m 444 -D $src/gpt4all-chat/flatpak-manifest/io.gpt4all.gpt4all.desktop $out/share/applications/io.gpt4all.gpt4all.desktop
|
install -m 444 -D $src/gpt4all-chat/flatpak-manifest/io.gpt4all.gpt4all.desktop $out/share/applications/io.gpt4all.gpt4all.desktop
|
||||||
install -m 444 -D $src/gpt4all-chat/icons/logo.svg $out/share/icons/hicolor/scalable/apps/io.gpt4all.gpt4all.svg
|
install -m 444 -D $src/gpt4all-chat/icons/nomic_logo.svg $out/share/icons/hicolor/scalable/apps/io.gpt4all.gpt4all.svg
|
||||||
substituteInPlace $out/share/applications/io.gpt4all.gpt4all.desktop \
|
substituteInPlace $out/share/applications/io.gpt4all.gpt4all.desktop \
|
||||||
--replace-fail 'Exec=chat' 'Exec=${finalAttrs.meta.mainProgram}'
|
--replace-fail 'Exec=chat' 'Exec=${finalAttrs.meta.mainProgram}'
|
||||||
'';
|
'';
|
||||||
@ -76,6 +88,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
homepage = "https://github.com/nomic-ai/gpt4all";
|
homepage = "https://github.com/nomic-ai/gpt4all";
|
||||||
license = lib.licenses.mit;
|
license = lib.licenses.mit;
|
||||||
mainProgram = "gpt4all";
|
mainProgram = "gpt4all";
|
||||||
maintainers = with lib.maintainers; [ polygon ];
|
maintainers = with lib.maintainers; [ polygon titaniumtown ];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
124
pkgs/by-name/ju/jujutsu/package.nix
Normal file
124
pkgs/by-name/ju/jujutsu/package.nix
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
rustPlatform,
|
||||||
|
fetchFromGitHub,
|
||||||
|
installShellFiles,
|
||||||
|
pkg-config,
|
||||||
|
zstd,
|
||||||
|
libgit2,
|
||||||
|
libssh2,
|
||||||
|
openssl,
|
||||||
|
darwin,
|
||||||
|
libiconv,
|
||||||
|
git,
|
||||||
|
gnupg,
|
||||||
|
openssh,
|
||||||
|
buildPackages,
|
||||||
|
nix-update-script,
|
||||||
|
testers,
|
||||||
|
jujutsu,
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
version = "0.21.0";
|
||||||
|
in
|
||||||
|
|
||||||
|
rustPlatform.buildRustPackage {
|
||||||
|
pname = "jujutsu";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "martinvonz";
|
||||||
|
repo = "jj";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-uZsfHhcYpobatWaDQczuc9Z3BWHN5VO0qr/8mu5kEio=";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoHash = "sha256-BOO1jP1Y5CNbE97zj+tpariiBdcuxKb1wyvI7i/VpYI=";
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
installShellFiles
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs =
|
||||||
|
[
|
||||||
|
zstd
|
||||||
|
libgit2
|
||||||
|
libssh2
|
||||||
|
]
|
||||||
|
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ openssl ]
|
||||||
|
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||||
|
darwin.apple_sdk.frameworks.Security
|
||||||
|
darwin.apple_sdk.frameworks.SystemConfiguration
|
||||||
|
libiconv
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeCheckInputs = [
|
||||||
|
git
|
||||||
|
gnupg
|
||||||
|
openssh
|
||||||
|
];
|
||||||
|
|
||||||
|
cargoBuildFlags = [
|
||||||
|
# Don’t install the `gen-protos` build tool.
|
||||||
|
"--bin"
|
||||||
|
"jj"
|
||||||
|
];
|
||||||
|
|
||||||
|
useNextest = true;
|
||||||
|
|
||||||
|
cargoTestFlags = [
|
||||||
|
# Don’t build the `gen-protos` build tool when running tests.
|
||||||
|
"-p"
|
||||||
|
"jj-lib"
|
||||||
|
"-p"
|
||||||
|
"jj-cli"
|
||||||
|
];
|
||||||
|
|
||||||
|
env = {
|
||||||
|
# Disable vendored libraries.
|
||||||
|
ZSTD_SYS_USE_PKG_CONFIG = "1";
|
||||||
|
LIBGIT2_NO_VENDOR = "1";
|
||||||
|
LIBSSH2_SYS_USE_PKG_CONFIG = "1";
|
||||||
|
};
|
||||||
|
|
||||||
|
postInstall =
|
||||||
|
let
|
||||||
|
jj = "${stdenv.hostPlatform.emulator buildPackages} $out/bin/jj";
|
||||||
|
in
|
||||||
|
lib.optionalString (stdenv.hostPlatform.emulatorAvailable buildPackages) ''
|
||||||
|
${jj} util mangen > ./jj.1
|
||||||
|
installManPage ./jj.1
|
||||||
|
|
||||||
|
installShellCompletion --cmd jj \
|
||||||
|
--bash <(${jj} util completion bash) \
|
||||||
|
--fish <(${jj} util completion fish) \
|
||||||
|
--zsh <(${jj} util completion zsh)
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
updateScript = nix-update-script { };
|
||||||
|
tests = {
|
||||||
|
version = testers.testVersion {
|
||||||
|
package = jujutsu;
|
||||||
|
command = "jj --version";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Git-compatible DVCS that is both simple and powerful";
|
||||||
|
homepage = "https://github.com/martinvonz/jj";
|
||||||
|
changelog = "https://github.com/martinvonz/jj/blob/v${version}/CHANGELOG.md";
|
||||||
|
license = lib.licenses.asl20;
|
||||||
|
maintainers = with lib.maintainers; [
|
||||||
|
_0x4A6F
|
||||||
|
thoughtpolice
|
||||||
|
emily
|
||||||
|
bbigras
|
||||||
|
];
|
||||||
|
mainProgram = "jj";
|
||||||
|
};
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
diff --git a/tools/install.pl b/tools/install.pl
|
diff --git a/tools/install.pl b/tools/install.pl
|
||||||
index b7c7adb..a63de58 100644
|
index f09218f..a63de58 100644
|
||||||
--- a/tools/install.pl
|
--- a/tools/install.pl
|
||||||
+++ b/tools/install.pl
|
+++ b/tools/install.pl
|
||||||
@@ -9,6 +9,7 @@ use Config;
|
@@ -9,6 +9,7 @@ use Config;
|
||||||
@ -10,7 +10,7 @@ index b7c7adb..a63de58 100644
|
|||||||
|
|
||||||
#Vendor dependencies
|
#Vendor dependencies
|
||||||
my @vendor_css = (
|
my @vendor_css = (
|
||||||
@@ -90,34 +91,6 @@ if ( $ENV{HOMEBREW_FORMULA_PREFIX} ) {
|
@@ -90,32 +91,6 @@ if ( $ENV{HOMEBREW_FORMULA_PREFIX} ) {
|
||||||
$cpanopt = " -l " . $ENV{HOMEBREW_FORMULA_PREFIX} . "/libexec";
|
$cpanopt = " -l " . $ENV{HOMEBREW_FORMULA_PREFIX} . "/libexec";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -30,11 +30,9 @@ index b7c7adb..a63de58 100644
|
|||||||
-
|
-
|
||||||
-#Check for GhostScript
|
-#Check for GhostScript
|
||||||
-say("Checking for GhostScript...");
|
-say("Checking for GhostScript...");
|
||||||
-if ( can_run('gs') ) {
|
-can_run('gs')
|
||||||
- say("OK!");
|
- or warn 'NOT FOUND! PDF support will not work properly. Please install the "gs" tool.';
|
||||||
-} else {
|
-say("OK!");
|
||||||
- warn 'NOT FOUND! PDF support will not work properly. Please install the "gs" tool.';
|
|
||||||
-}
|
|
||||||
-
|
-
|
||||||
-#Check for libarchive
|
-#Check for libarchive
|
||||||
-say("Checking for libarchive...");
|
-say("Checking for libarchive...");
|
||||||
@ -45,7 +43,7 @@ index b7c7adb..a63de58 100644
|
|||||||
#Check for PerlMagick
|
#Check for PerlMagick
|
||||||
say("Checking for ImageMagick/PerlMagick...");
|
say("Checking for ImageMagick/PerlMagick...");
|
||||||
my $imgk;
|
my $imgk;
|
||||||
@@ -137,37 +110,11 @@ if ($@) {
|
@@ -135,37 +110,11 @@ if ($@) {
|
||||||
say("OK!");
|
say("OK!");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -83,7 +81,7 @@ index b7c7adb..a63de58 100644
|
|||||||
make_path getcwd . "/public/css/vendor";
|
make_path getcwd . "/public/css/vendor";
|
||||||
make_path getcwd . "/public/css/webfonts";
|
make_path getcwd . "/public/css/webfonts";
|
||||||
make_path getcwd . "/public/js/vendor";
|
make_path getcwd . "/public/js/vendor";
|
||||||
@@ -214,19 +161,3 @@ sub cp_node_module {
|
@@ -212,19 +161,3 @@ sub cp_node_module {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,13 +10,13 @@
|
|||||||
|
|
||||||
buildNpmPackage rec {
|
buildNpmPackage rec {
|
||||||
pname = "lanraragi";
|
pname = "lanraragi";
|
||||||
version = "0.9.10";
|
version = "0.9.21";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Difegue";
|
owner = "Difegue";
|
||||||
repo = "LANraragi";
|
repo = "LANraragi";
|
||||||
rev = "v.${version}";
|
rev = "v.${version}";
|
||||||
hash = "sha256-mW2cVd+SPbjc/+b0KY3je1eqw5ZT/GKFruE4Y/eFdD4=";
|
hash = "sha256-2YdQeBW1MQiUs5nliloISaxG0yhFJ6ulkU/Urx8PN3Y=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -16,16 +16,17 @@
|
|||||||
zlib,
|
zlib,
|
||||||
libSM,
|
libSM,
|
||||||
libICE,
|
libICE,
|
||||||
|
stb,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "lms";
|
pname = "lms";
|
||||||
version = "3.51.1";
|
version = "3.56.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "epoupon";
|
owner = "epoupon";
|
||||||
repo = "lms";
|
repo = "lms";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-5lEbrB218EVVHIzo1efvQYybut2OpfDKpLlRs0brhXg=";
|
hash = "sha256-o/wgh/PtFcTOmfl5H1cc1cTsWFvEnVQYhh4hPTnLNMU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
@ -46,6 +47,7 @@ stdenv.mkDerivation rec {
|
|||||||
zlib
|
zlib
|
||||||
libSM
|
libSM
|
||||||
libICE
|
libICE
|
||||||
|
stb
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -90,7 +90,7 @@ let
|
|||||||
++ lib.optionals mediaSupport [ ffmpeg ]
|
++ lib.optionals mediaSupport [ ffmpeg ]
|
||||||
);
|
);
|
||||||
|
|
||||||
version = "13.5.2";
|
version = "13.5.3";
|
||||||
|
|
||||||
sources = {
|
sources = {
|
||||||
x86_64-linux = fetchurl {
|
x86_64-linux = fetchurl {
|
||||||
@ -102,7 +102,7 @@ let
|
|||||||
"https://tor.eff.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz"
|
"https://tor.eff.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz"
|
||||||
"https://tor.calyxinstitute.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz"
|
"https://tor.calyxinstitute.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz"
|
||||||
];
|
];
|
||||||
hash = "sha256-CXcaJLgG448tjTlOcxGwT/w1qWaokpVXbBZ6cLxWcNc=";
|
hash = "sha256-rJKOkVfWs5q3eF+ffeBLIQaAMtoR7KzoNQlv64iNWJ8=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3,29 +3,31 @@
|
|||||||
buildNimPackage,
|
buildNimPackage,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
}:
|
}:
|
||||||
buildNimPackage (final: prev: {
|
buildNimPackage (
|
||||||
pname = "nimlangserver";
|
final: prev: rec {
|
||||||
version = "1.2.0";
|
pname = "nimlangserver";
|
||||||
|
version = "1.4.0";
|
||||||
|
|
||||||
# lock.json generated with github.com/daylinmorgan/nnl
|
# lock.json generated with github.com/daylinmorgan/nnl
|
||||||
lockFile = ./lock.json;
|
lockFile = ./lock.json;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "nim-lang";
|
owner = "nim-lang";
|
||||||
repo = "langserver";
|
repo = "langserver";
|
||||||
rev = "71b59bfa77dabf6b8b381f6e18a1d963a1a658fc";
|
rev = "v${version}";
|
||||||
hash = "sha256-dznegEhRHvztrNhBcUhW83RYgJpduwdGLWj/tJ//K8c=";
|
hash = "sha256-mh+p8t8/mbZvgsJ930lXkcBdUjjioZoNyNZzwywAiUI=";
|
||||||
};
|
|
||||||
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
meta = with lib;
|
|
||||||
final.src.meta
|
|
||||||
// {
|
|
||||||
description = "Nim language server implementation (based on nimsuggest)";
|
|
||||||
homepage = "https://github.com/nim-lang/langserver";
|
|
||||||
license = licenses.mit;
|
|
||||||
mainProgram = "nimlangserver";
|
|
||||||
maintainers = with maintainers; [daylinmorgan];
|
|
||||||
};
|
};
|
||||||
})
|
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta =
|
||||||
|
final.src.meta
|
||||||
|
// (with lib; {
|
||||||
|
description = "Nim language server implementation (based on nimsuggest)";
|
||||||
|
homepage = "https://github.com/nim-lang/langserver";
|
||||||
|
license = licenses.mit;
|
||||||
|
mainProgram = "nimlangserver";
|
||||||
|
maintainers = with maintainers; [ daylinmorgan ];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
)
|
||||||
|
@ -7,19 +7,19 @@
|
|||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
pname = "open-webui";
|
pname = "open-webui";
|
||||||
version = "0.3.16";
|
version = "0.3.18-unstable-2024-09-05";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "open-webui";
|
owner = "open-webui";
|
||||||
repo = "open-webui";
|
repo = "open-webui";
|
||||||
rev = "v${version}";
|
rev = "c3271e84efc281dfed8c1e2d265cd24e1e5865e6";
|
||||||
hash = "sha256-AxD7WHL5fGM0CBKi7zc/gmoSJQBohDh0HgIDU1/BQ7w=";
|
hash = "sha256-yOLxpRgwTVPlQASzFqul+ap/s7Wx3uxf4xr+Xb2Nb7A=";
|
||||||
};
|
};
|
||||||
|
|
||||||
frontend = buildNpmPackage {
|
frontend = buildNpmPackage {
|
||||||
inherit pname version src;
|
inherit pname version src;
|
||||||
|
|
||||||
npmDepsHash = "sha256-Ik+wXymso3jdKXQgLydnhhWvpHl0d82pwYSmUR0yfPE=";
|
npmDepsHash = "sha256-BkjvMD1XxELzxiPZagYd0aEUsaAl338h5W9nvxxrJJg=";
|
||||||
|
|
||||||
# Disabling `pyodide:fetch` as it downloads packages during `buildPhase`
|
# Disabling `pyodide:fetch` as it downloads packages during `buildPhase`
|
||||||
# Until this is solved, running python packages from the browser will not work.
|
# Until this is solved, running python packages from the browser will not work.
|
||||||
|
@ -19,25 +19,26 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
presets = {
|
||||||
|
"i686-linux" = "Linux 32-bit";
|
||||||
|
"x86_64-linux" = "Linux 64-bit";
|
||||||
|
"aarch64-linux" = "Linux ARM64";
|
||||||
|
};
|
||||||
preset =
|
preset =
|
||||||
if stdenv.isLinux then
|
presets.${stdenv.hostPlatform.system}
|
||||||
if stdenv.is64bit then "Linux/X11 64-bit" else "Linux/X11 32-bit"
|
or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||||
else if stdenv.isDarwin then
|
|
||||||
"Mac OSX"
|
|
||||||
else
|
|
||||||
throw "unsupported platform";
|
|
||||||
|
|
||||||
godot_version_folder = lib.replaceStrings [ "-" ] [ "." ] godot_4.version;
|
godot_version_folder = lib.replaceStrings [ "-" ] [ "." ] godot_4.version;
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "pixelorama";
|
pname = "pixelorama";
|
||||||
version = "1.0.1";
|
version = "1.0.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Orama-Interactive";
|
owner = "Orama-Interactive";
|
||||||
repo = "Pixelorama";
|
repo = "Pixelorama";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-lfim5ZiykOhI1kgsu0ni2frUVHPRIPJdrGx6TuUQcSY=";
|
hash = "sha256-rFXUy6fvGKmB+aaNgiI+NNRG0xlj1migdetnU4iVDDQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
@ -95,6 +96,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
platforms = [
|
platforms = [
|
||||||
"i686-linux"
|
"i686-linux"
|
||||||
"x86_64-linux"
|
"x86_64-linux"
|
||||||
|
"aarch64-linux"
|
||||||
];
|
];
|
||||||
maintainers = with maintainers; [ felschr ];
|
maintainers = with maintainers; [ felschr ];
|
||||||
mainProgram = "pixelorama";
|
mainProgram = "pixelorama";
|
||||||
|
@ -5,24 +5,24 @@ GEM
|
|||||||
base64
|
base64
|
||||||
nkf
|
nkf
|
||||||
rexml
|
rexml
|
||||||
addressable (2.8.6)
|
addressable (2.8.7)
|
||||||
public_suffix (>= 2.0.2, < 6.0)
|
public_suffix (>= 2.0.2, < 7.0)
|
||||||
aws-eventstream (1.3.0)
|
aws-eventstream (1.3.0)
|
||||||
aws-partitions (1.899.0)
|
aws-partitions (1.968.0)
|
||||||
aws-sdk-core (3.191.4)
|
aws-sdk-core (3.201.5)
|
||||||
aws-eventstream (~> 1, >= 1.3.0)
|
aws-eventstream (~> 1, >= 1.3.0)
|
||||||
aws-partitions (~> 1, >= 1.651.0)
|
aws-partitions (~> 1, >= 1.651.0)
|
||||||
aws-sigv4 (~> 1.8)
|
aws-sigv4 (~> 1.9)
|
||||||
jmespath (~> 1, >= 1.6.1)
|
jmespath (~> 1, >= 1.6.1)
|
||||||
aws-sdk-ec2 (1.444.0)
|
aws-sdk-ec2 (1.470.0)
|
||||||
aws-sdk-core (~> 3, >= 3.191.0)
|
aws-sdk-core (~> 3, >= 3.201.0)
|
||||||
aws-sigv4 (~> 1.1)
|
aws-sigv4 (~> 1.5)
|
||||||
aws-sigv4 (1.8.0)
|
aws-sigv4 (1.9.1)
|
||||||
aws-eventstream (~> 1, >= 1.0.2)
|
aws-eventstream (~> 1, >= 1.0.2)
|
||||||
base64 (0.2.0)
|
base64 (0.2.0)
|
||||||
bigdecimal (3.1.7)
|
bigdecimal (3.1.8)
|
||||||
bindata (2.5.0)
|
bindata (2.5.0)
|
||||||
bolt (3.28.0)
|
bolt (3.30.0)
|
||||||
CFPropertyList (>= 2.2)
|
CFPropertyList (>= 2.2)
|
||||||
addressable (~> 2.5)
|
addressable (~> 2.5)
|
||||||
aws-sdk-ec2 (~> 1)
|
aws-sdk-ec2 (~> 1)
|
||||||
@ -45,13 +45,13 @@ GEM
|
|||||||
terminal-table (~> 3.0)
|
terminal-table (~> 3.0)
|
||||||
winrm (~> 2.0)
|
winrm (~> 2.0)
|
||||||
winrm-fs (~> 1.3)
|
winrm-fs (~> 1.3)
|
||||||
builder (3.2.4)
|
builder (3.3.0)
|
||||||
colored2 (3.1.2)
|
colored2 (3.1.2)
|
||||||
concurrent-ruby (1.2.3)
|
concurrent-ruby (1.3.4)
|
||||||
connection_pool (2.4.1)
|
connection_pool (2.4.1)
|
||||||
cri (2.15.11)
|
cri (2.15.12)
|
||||||
deep_merge (1.2.2)
|
deep_merge (1.2.2)
|
||||||
erubi (1.12.0)
|
erubi (1.13.0)
|
||||||
facter (4.6.1)
|
facter (4.6.1)
|
||||||
hocon (~> 1.3)
|
hocon (~> 1.3)
|
||||||
thor (>= 1.0.1, < 2.0)
|
thor (>= 1.0.1, < 2.0)
|
||||||
@ -73,16 +73,18 @@ GEM
|
|||||||
faraday-httpclient (1.0.1)
|
faraday-httpclient (1.0.1)
|
||||||
faraday-multipart (1.0.4)
|
faraday-multipart (1.0.4)
|
||||||
multipart-post (~> 2)
|
multipart-post (~> 2)
|
||||||
faraday-net_http (1.0.1)
|
faraday-net_http (1.0.2)
|
||||||
faraday-net_http_persistent (1.2.0)
|
faraday-net_http_persistent (1.2.0)
|
||||||
faraday-patron (1.0.0)
|
faraday-patron (1.0.0)
|
||||||
faraday-rack (1.0.0)
|
faraday-rack (1.0.0)
|
||||||
faraday-retry (1.0.3)
|
faraday-retry (1.0.3)
|
||||||
faraday_middleware (1.2.0)
|
faraday_middleware (1.2.0)
|
||||||
faraday (~> 1.0)
|
faraday (~> 1.0)
|
||||||
fast_gettext (2.3.0)
|
fast_gettext (2.4.0)
|
||||||
ffi (1.16.3)
|
prime
|
||||||
|
ffi (1.17.0)
|
||||||
forwardable (1.3.3)
|
forwardable (1.3.3)
|
||||||
|
getoptlong (0.2.1)
|
||||||
gettext (3.4.9)
|
gettext (3.4.9)
|
||||||
erubi
|
erubi
|
||||||
locale (>= 2.0.5)
|
locale (>= 2.0.5)
|
||||||
@ -101,31 +103,33 @@ GEM
|
|||||||
hiera-eyaml (3.4.0)
|
hiera-eyaml (3.4.0)
|
||||||
highline
|
highline
|
||||||
optimist
|
optimist
|
||||||
highline (3.0.1)
|
highline (3.1.0)
|
||||||
|
reline
|
||||||
hocon (1.4.0)
|
hocon (1.4.0)
|
||||||
httpclient (2.8.3)
|
httpclient (2.8.3)
|
||||||
|
io-console (0.7.2)
|
||||||
jmespath (1.6.2)
|
jmespath (1.6.2)
|
||||||
jwt (2.7.1)
|
jwt (2.7.1)
|
||||||
little-plugger (1.1.4)
|
little-plugger (1.1.4)
|
||||||
locale (2.1.4)
|
locale (2.1.4)
|
||||||
log4r (1.1.10)
|
log4r (1.1.10)
|
||||||
logging (2.3.1)
|
logging (2.4.0)
|
||||||
little-plugger (~> 1.1)
|
little-plugger (~> 1.1)
|
||||||
multi_json (~> 1.14)
|
multi_json (~> 1.14)
|
||||||
minitar (0.9)
|
minitar (0.12.1)
|
||||||
molinillo (0.8.0)
|
molinillo (0.8.0)
|
||||||
multi_json (1.15.0)
|
multi_json (1.15.0)
|
||||||
multipart-post (2.4.0)
|
multipart-post (2.4.1)
|
||||||
net-http-persistent (4.0.2)
|
net-http-persistent (4.0.2)
|
||||||
connection_pool (~> 2.2)
|
connection_pool (~> 2.2)
|
||||||
net-scp (4.0.0)
|
net-scp (4.0.0)
|
||||||
net-ssh (>= 2.6.5, < 8.0.0)
|
net-ssh (>= 2.6.5, < 8.0.0)
|
||||||
net-ssh (7.2.1)
|
net-ssh (7.2.3)
|
||||||
net-ssh-krb (0.5.1)
|
net-ssh-krb (0.5.1)
|
||||||
gssapi (~> 1.3.0)
|
gssapi (~> 1.3.0)
|
||||||
net-ssh (>= 2.0)
|
net-ssh (>= 2.0)
|
||||||
nkf (0.2.0)
|
nkf (0.2.0)
|
||||||
nori (2.7.0)
|
nori (2.7.1)
|
||||||
bigdecimal
|
bigdecimal
|
||||||
optimist (3.1.0)
|
optimist (3.1.0)
|
||||||
orchestrator_client (0.7.0)
|
orchestrator_client (0.7.0)
|
||||||
@ -134,12 +138,13 @@ GEM
|
|||||||
prime (0.1.2)
|
prime (0.1.2)
|
||||||
forwardable
|
forwardable
|
||||||
singleton
|
singleton
|
||||||
public_suffix (5.0.4)
|
public_suffix (6.0.1)
|
||||||
puppet (8.5.1)
|
puppet (8.8.1)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
deep_merge (~> 1.0)
|
deep_merge (~> 1.0)
|
||||||
facter (>= 4.3.0, < 5)
|
facter (>= 4.3.0, < 5)
|
||||||
fast_gettext (>= 2.1, < 3)
|
fast_gettext (>= 2.1, < 4)
|
||||||
|
getoptlong (~> 0.2.0)
|
||||||
locale (~> 2.1)
|
locale (~> 2.1)
|
||||||
multi_json (~> 1.13)
|
multi_json (~> 1.13)
|
||||||
puppet-resource_api (~> 1.5)
|
puppet-resource_api (~> 1.5)
|
||||||
@ -158,7 +163,7 @@ GEM
|
|||||||
puppetfile-resolver (0.6.3)
|
puppetfile-resolver (0.6.3)
|
||||||
molinillo (~> 0.6)
|
molinillo (~> 0.6)
|
||||||
semantic_puppet (~> 1.0)
|
semantic_puppet (~> 1.0)
|
||||||
r10k (3.16.0)
|
r10k (3.16.2)
|
||||||
colored2 (= 3.1.2)
|
colored2 (= 3.1.2)
|
||||||
cri (>= 2.15.10)
|
cri (>= 2.15.10)
|
||||||
fast_gettext (>= 1.1.0, < 3.0.0)
|
fast_gettext (>= 1.1.0, < 3.0.0)
|
||||||
@ -169,33 +174,39 @@ GEM
|
|||||||
minitar (~> 0.9)
|
minitar (~> 0.9)
|
||||||
multi_json (~> 1.10)
|
multi_json (~> 1.10)
|
||||||
puppet_forge (>= 2.3.0, < 4.0.0)
|
puppet_forge (>= 2.3.0, < 4.0.0)
|
||||||
racc (1.7.3)
|
racc (1.8.1)
|
||||||
rexml (3.2.6)
|
reline (0.5.9)
|
||||||
|
io-console (~> 0.5)
|
||||||
|
rexml (3.3.6)
|
||||||
|
strscan
|
||||||
rgen (0.9.1)
|
rgen (0.9.1)
|
||||||
ruby2_keywords (0.0.5)
|
ruby2_keywords (0.0.5)
|
||||||
ruby_smb (1.1.0)
|
ruby_smb (1.1.0)
|
||||||
bindata
|
bindata
|
||||||
rubyntlm
|
rubyntlm
|
||||||
windows_error
|
windows_error
|
||||||
rubyntlm (0.6.3)
|
rubyntlm (0.6.5)
|
||||||
|
base64
|
||||||
rubyzip (2.3.2)
|
rubyzip (2.3.2)
|
||||||
scanf (1.0.0)
|
scanf (1.0.0)
|
||||||
semantic_puppet (1.1.0)
|
semantic_puppet (1.1.0)
|
||||||
singleton (0.2.0)
|
singleton (0.2.0)
|
||||||
|
strscan (3.1.0)
|
||||||
terminal-table (3.0.2)
|
terminal-table (3.0.2)
|
||||||
unicode-display_width (>= 1.1.1, < 3)
|
unicode-display_width (>= 1.1.1, < 3)
|
||||||
text (1.3.1)
|
text (1.3.1)
|
||||||
thor (1.3.1)
|
thor (1.3.1)
|
||||||
unicode-display_width (2.5.0)
|
unicode-display_width (2.5.0)
|
||||||
windows_error (0.1.5)
|
windows_error (0.1.5)
|
||||||
winrm (2.3.6)
|
winrm (2.3.9)
|
||||||
builder (>= 2.1.2)
|
builder (>= 2.1.2)
|
||||||
erubi (~> 1.8)
|
erubi (~> 1.8)
|
||||||
gssapi (~> 1.2)
|
gssapi (~> 1.2)
|
||||||
gyoku (~> 1.0)
|
gyoku (~> 1.0)
|
||||||
httpclient (~> 2.2, >= 2.2.0.2)
|
httpclient (~> 2.2, >= 2.2.0.2)
|
||||||
logging (>= 1.6.1, < 3.0)
|
logging (>= 1.6.1, < 3.0)
|
||||||
nori (~> 2.0)
|
nori (~> 2.0, >= 2.7.1)
|
||||||
|
rexml (~> 3.0)
|
||||||
rubyntlm (~> 0.6.0, >= 0.6.3)
|
rubyntlm (~> 0.6.0, >= 0.6.3)
|
||||||
winrm-fs (1.3.5)
|
winrm-fs (1.3.5)
|
||||||
erubi (~> 1.8)
|
erubi (~> 1.8)
|
||||||
@ -211,4 +222,4 @@ DEPENDENCIES
|
|||||||
bolt
|
bolt
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
2.5.6
|
2.5.16
|
||||||
|
@ -5,10 +5,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0irbdwkkjwzajq1ip6ba46q49sxnrl2cw7ddkdhsfhb6aprnm3vr";
|
sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.8.6";
|
version = "2.8.7";
|
||||||
};
|
};
|
||||||
aws-eventstream = {
|
aws-eventstream = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -25,10 +25,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0mydgvc5wn4adsic86907hzyfhgvzaq6nr394pnvk83ryv4zx77p";
|
sha256 = "0m74rrlwv741wlp2imw5y93ybrzczx0r2jvcgp1v4zq299z3zy29";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.899.0";
|
version = "1.968.0";
|
||||||
};
|
};
|
||||||
aws-sdk-core = {
|
aws-sdk-core = {
|
||||||
dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"];
|
dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"];
|
||||||
@ -36,10 +36,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0dlalj0pw6nfmmfqddjj8b5rv6lq1hqdq19im3s8fjq5ln5ij8lr";
|
sha256 = "0l5c37gvarb3p3zsip1p9mpmir0zdccp0aibgx9cy61im4pwaj0q";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.191.4";
|
version = "3.201.5";
|
||||||
};
|
};
|
||||||
aws-sdk-ec2 = {
|
aws-sdk-ec2 = {
|
||||||
dependencies = ["aws-sdk-core" "aws-sigv4"];
|
dependencies = ["aws-sdk-core" "aws-sigv4"];
|
||||||
@ -47,10 +47,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "19gfcb07kvywx9ymdf80k4i3yc61h41cdxnygp7197h92ff4qxhv";
|
sha256 = "0z7zk5z9zyqqljh8fxhq8ngp8pixbm85pa9ygpr0nmgdl2b1i7ff";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.444.0";
|
version = "1.470.0";
|
||||||
};
|
};
|
||||||
aws-sigv4 = {
|
aws-sigv4 = {
|
||||||
dependencies = ["aws-eventstream"];
|
dependencies = ["aws-eventstream"];
|
||||||
@ -58,10 +58,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1g3w27wzjy4si6kp49w10as6ml6g6zl3xrfqs5ikpfciidv9kpc4";
|
sha256 = "0yf396fxashbqn0drbnvd9srxfg7w06v70q8kqpzi04zqchf6lvp";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.8.0";
|
version = "1.9.1";
|
||||||
};
|
};
|
||||||
base64 = {
|
base64 = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -78,10 +78,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0cq1c29zbkcxgdihqisirhcw76xc768z2zpd5vbccpq0l1lv76g7";
|
sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.1.7";
|
version = "3.1.8";
|
||||||
};
|
};
|
||||||
bindata = {
|
bindata = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -99,20 +99,20 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1abj694v2asrlzpr68shy3whf73ajk6626zqy6mhmyy8qmg8i19h";
|
sha256 = "0krs4mmy1db531gyibhzaxmghb606yjmqqyfghvriy7b9sgi6bq8";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.28.0";
|
version = "3.30.0";
|
||||||
};
|
};
|
||||||
builder = {
|
builder = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr";
|
sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.2.4";
|
version = "3.3.0";
|
||||||
};
|
};
|
||||||
CFPropertyList = {
|
CFPropertyList = {
|
||||||
dependencies = ["base64" "nkf" "rexml"];
|
dependencies = ["base64" "nkf" "rexml"];
|
||||||
@ -140,10 +140,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1qh1b14jwbbj242klkyz5fc7npd4j0mvndz62gajhvl1l3wd7zc2";
|
sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.2.3";
|
version = "1.3.4";
|
||||||
};
|
};
|
||||||
connection_pool = {
|
connection_pool = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -160,10 +160,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1bhsgnjav94mz5vf3305gxz1g34gm9kxvnrn1dkz530r8bpj0hr5";
|
sha256 = "1rank6i9p2drwdcmhan6ifkzrz1v3mwpx47fwjl75rskxwjfkgwa";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.15.11";
|
version = "2.15.12";
|
||||||
};
|
};
|
||||||
deep_merge = {
|
deep_merge = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -180,10 +180,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "08s75vs9cxlc4r1q2bjg4br8g9wc5lc5x5vl0vv4zq5ivxsdpgi7";
|
sha256 = "0qnd6ff4az22ysnmni3730c41b979xinilahzg86bn7gv93ip9pw";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.12.0";
|
version = "1.13.0";
|
||||||
};
|
};
|
||||||
facter = {
|
facter = {
|
||||||
dependencies = ["hocon" "thor"];
|
dependencies = ["hocon" "thor"];
|
||||||
@ -263,10 +263,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j";
|
sha256 = "10n6wikd442mfm15hd6gzm0qb527161w1wwch4h5m4iclkz2x6b3";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.0.1";
|
version = "1.0.2";
|
||||||
};
|
};
|
||||||
faraday-net_http_persistent = {
|
faraday-net_http_persistent = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -320,24 +320,25 @@
|
|||||||
version = "1.2.0";
|
version = "1.2.0";
|
||||||
};
|
};
|
||||||
fast_gettext = {
|
fast_gettext = {
|
||||||
|
dependencies = ["prime"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "112gsrqah2w03kgi9mjsn6hl74mrwckphf223h36iayc4djf4lq2";
|
sha256 = "1gsz2ywvnms7b4w7bs4dg7cykhgx7z74fa7xy0sbw45a0v2c89px";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.3.0";
|
version = "2.4.0";
|
||||||
};
|
};
|
||||||
ffi = {
|
ffi = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd";
|
sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.16.3";
|
version = "1.17.0";
|
||||||
};
|
};
|
||||||
forwardable = {
|
forwardable = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -349,6 +350,16 @@
|
|||||||
};
|
};
|
||||||
version = "1.3.3";
|
version = "1.3.3";
|
||||||
};
|
};
|
||||||
|
getoptlong = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "198vy9dxyzibqdbw9jg8p2ljj9iknkyiqlyl229vz55rjxrz08zx";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.2.1";
|
||||||
|
};
|
||||||
gettext = {
|
gettext = {
|
||||||
dependencies = ["erubi" "locale" "prime" "racc" "text"];
|
dependencies = ["erubi" "locale" "prime" "racc" "text"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -405,14 +416,15 @@
|
|||||||
version = "3.4.0";
|
version = "3.4.0";
|
||||||
};
|
};
|
||||||
highline = {
|
highline = {
|
||||||
|
dependencies = ["reline"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "02ghhvigqbq4252gsi4w8a9klkdkybmbz29ghfp1y6sqzlcb466a";
|
sha256 = "1sxqnaz6wvkwbwzsipwsqcg1zw2kn67x7l362whv87zl5133w60l";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.0.1";
|
version = "3.1.0";
|
||||||
};
|
};
|
||||||
hocon = {
|
hocon = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -434,6 +446,16 @@
|
|||||||
};
|
};
|
||||||
version = "2.8.3";
|
version = "2.8.3";
|
||||||
};
|
};
|
||||||
|
io-console = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "08d2lx42pa8jjav0lcjbzfzmw61b8imxr9041pva8xzqabrczp7h";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.7.2";
|
||||||
|
};
|
||||||
jmespath = {
|
jmespath = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
@ -490,20 +512,20 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1zflchpx4g8c110gjdcs540bk5a336nq6nmx379rdg56xw0pjd02";
|
sha256 = "1jqcq2yxh973f3aw63nd3wxhqyhkncz3pf8v2gs3df0iqair725s";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.3.1";
|
version = "2.4.0";
|
||||||
};
|
};
|
||||||
minitar = {
|
minitar = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "126mq86x67d1p63acrfka4zx0cx2r0vc93884jggxnrmmnzbxh13";
|
sha256 = "0f307mpj4j0gp7iq77xj4p149f4krcvbll9rismng3jcijpbn79s";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.9";
|
version = "0.12.1";
|
||||||
};
|
};
|
||||||
molinillo = {
|
molinillo = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -530,10 +552,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1033p35166d9p97y4vajbbvr13pmkk9zwn7sylxpmk9jrpk8ri67";
|
sha256 = "1a5lrlvmg2kb2dhw3lxcsv6x276bwgsxpnka1752082miqxd0wlq";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.4.0";
|
version = "2.4.1";
|
||||||
};
|
};
|
||||||
net-http-persistent = {
|
net-http-persistent = {
|
||||||
dependencies = ["connection_pool"];
|
dependencies = ["connection_pool"];
|
||||||
@ -562,10 +584,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1i01340c4i144vvn3x54lc2rb77ch829qipl1rh6rqwm3yxzml9w";
|
sha256 = "0sqbq5aks9xxnldbd2hy20ypnd59zcra98ql0r7jjc26s5rgc18n";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "7.2.1";
|
version = "7.2.3";
|
||||||
};
|
};
|
||||||
net-ssh-krb = {
|
net-ssh-krb = {
|
||||||
dependencies = ["gssapi" "net-ssh"];
|
dependencies = ["gssapi" "net-ssh"];
|
||||||
@ -594,10 +616,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "12wfv36jzc0978ij5c56nnfh5k8ax574njawigs98ysmp1x5s2ql";
|
sha256 = "0qb84bbi74q0zgs09sdkq750jf2ri3lblbry0xi4g1ard4rwsrk1";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.7.0";
|
version = "2.7.1";
|
||||||
};
|
};
|
||||||
optimist = {
|
optimist = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -636,21 +658,21 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1bni4qjrsh2q49pnmmd6if4iv3ak36bd2cckrs6npl111n769k9m";
|
sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "5.0.4";
|
version = "6.0.1";
|
||||||
};
|
};
|
||||||
puppet = {
|
puppet = {
|
||||||
dependencies = ["concurrent-ruby" "deep_merge" "facter" "fast_gettext" "locale" "multi_json" "puppet-resource_api" "scanf" "semantic_puppet"];
|
dependencies = ["concurrent-ruby" "deep_merge" "facter" "fast_gettext" "getoptlong" "locale" "multi_json" "puppet-resource_api" "scanf" "semantic_puppet"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1dhax5d40c03n0lffy10mvs0c3mgfqq1dsc3gb5ihgb2l1sbs0a7";
|
sha256 = "0v2jqkan3nidifxdlpm7lk0ih5s8khl9ps0nz62wj3zlywck0wsi";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "8.5.1";
|
version = "8.8.1";
|
||||||
};
|
};
|
||||||
puppet-resource_api = {
|
puppet-resource_api = {
|
||||||
dependencies = ["hocon"];
|
dependencies = ["hocon"];
|
||||||
@ -702,30 +724,42 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "198bar06xqap19j9y831j98ahd3w4ky2k0klwaa39sa1p6fpcjdi";
|
sha256 = "1f9fwfmr44lbnx31fdiabm7sb41nsbf10awm96zl79clp8kafxcp";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.16.0";
|
version = "3.16.2";
|
||||||
};
|
};
|
||||||
racc = {
|
racc = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp";
|
sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.7.3";
|
version = "1.8.1";
|
||||||
};
|
};
|
||||||
rexml = {
|
reline = {
|
||||||
|
dependencies = ["io-console"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0";
|
sha256 = "0y6kyz7kcilwdpfy3saqfgnar38vr5ys9sp40ndffy6h1znxfbax";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.2.6";
|
version = "0.5.9";
|
||||||
|
};
|
||||||
|
rexml = {
|
||||||
|
dependencies = ["strscan"];
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1ik3in0957l9s6iwdm3nsk4za072cj27riiqgpx6zzcd22flbw3s";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "3.3.6";
|
||||||
};
|
};
|
||||||
rgen = {
|
rgen = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -759,14 +793,15 @@
|
|||||||
version = "1.1.0";
|
version = "1.1.0";
|
||||||
};
|
};
|
||||||
rubyntlm = {
|
rubyntlm = {
|
||||||
|
dependencies = ["base64"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0b8hczk8hysv53ncsqzx4q6kma5gy5lqc7s5yx8h64x3vdb18cjv";
|
sha256 = "1x8l0d1v88m40mby4jvgal46137cv8gga2lk7zlrxqlsp41380a7";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.6.3";
|
version = "0.6.5";
|
||||||
};
|
};
|
||||||
rubyzip = {
|
rubyzip = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -808,6 +843,16 @@
|
|||||||
};
|
};
|
||||||
version = "0.2.0";
|
version = "0.2.0";
|
||||||
};
|
};
|
||||||
|
strscan = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0mamrl7pxacbc79ny5hzmakc9grbjysm3yy6119ppgsg44fsif01";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "3.1.0";
|
||||||
|
};
|
||||||
terminal-table = {
|
terminal-table = {
|
||||||
dependencies = ["unicode-display_width"];
|
dependencies = ["unicode-display_width"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -860,15 +905,15 @@
|
|||||||
version = "0.1.5";
|
version = "0.1.5";
|
||||||
};
|
};
|
||||||
winrm = {
|
winrm = {
|
||||||
dependencies = ["builder" "erubi" "gssapi" "gyoku" "httpclient" "logging" "nori" "rubyntlm"];
|
dependencies = ["builder" "erubi" "gssapi" "gyoku" "httpclient" "logging" "nori" "rexml" "rubyntlm"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0nxf6a47d1xf1nvi7rbfbzjyyjhz0iakrnrsr2hj6y24a381sd8i";
|
sha256 = "01jxpshw5kx5ha21ymaaj14vibv5bvm0dd80ccc6xl3jaxy7cszg";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.3.6";
|
version = "2.3.9";
|
||||||
};
|
};
|
||||||
winrm-fs = {
|
winrm-fs = {
|
||||||
dependencies = ["erubi" "logging" "rubyzip" "winrm"];
|
dependencies = ["erubi" "logging" "rubyzip" "winrm"];
|
||||||
|
@ -1,16 +1,19 @@
|
|||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
|
base64 (0.2.0)
|
||||||
colored2 (3.1.2)
|
colored2 (3.1.2)
|
||||||
cri (2.15.11)
|
cri (2.15.12)
|
||||||
erubi (1.12.0)
|
erubi (1.13.0)
|
||||||
faraday (2.9.0)
|
faraday (2.10.1)
|
||||||
faraday-net_http (>= 2.0, < 3.2)
|
faraday-net_http (>= 2.0, < 3.2)
|
||||||
|
logger
|
||||||
faraday-follow_redirects (0.3.0)
|
faraday-follow_redirects (0.3.0)
|
||||||
faraday (>= 1, < 3)
|
faraday (>= 1, < 3)
|
||||||
faraday-net_http (3.1.0)
|
faraday-net_http (3.1.1)
|
||||||
net-http
|
net-http
|
||||||
fast_gettext (2.3.0)
|
fast_gettext (2.4.0)
|
||||||
|
prime
|
||||||
forwardable (1.3.3)
|
forwardable (1.3.3)
|
||||||
gettext (3.4.9)
|
gettext (3.4.9)
|
||||||
erubi
|
erubi
|
||||||
@ -22,31 +25,33 @@ GEM
|
|||||||
fast_gettext (~> 2.1)
|
fast_gettext (~> 2.1)
|
||||||
gettext (~> 3.4)
|
gettext (~> 3.4)
|
||||||
locale
|
locale
|
||||||
jwt (2.7.1)
|
jwt (2.8.2)
|
||||||
|
base64
|
||||||
locale (2.1.4)
|
locale (2.1.4)
|
||||||
log4r (1.1.10)
|
log4r (1.1.10)
|
||||||
minitar (0.9)
|
logger (1.6.0)
|
||||||
|
minitar (0.12.1)
|
||||||
multi_json (1.15.0)
|
multi_json (1.15.0)
|
||||||
net-http (0.4.1)
|
net-http (0.4.1)
|
||||||
uri
|
uri
|
||||||
prime (0.1.2)
|
prime (0.1.2)
|
||||||
forwardable
|
forwardable
|
||||||
singleton
|
singleton
|
||||||
puppet_forge (5.0.3)
|
puppet_forge (5.0.4)
|
||||||
faraday (~> 2.0)
|
faraday (~> 2.0)
|
||||||
faraday-follow_redirects (~> 0.3.0)
|
faraday-follow_redirects (~> 0.3.0)
|
||||||
minitar
|
minitar (< 1.0.0)
|
||||||
semantic_puppet (~> 1.0)
|
semantic_puppet (~> 1.0)
|
||||||
r10k (4.0.1)
|
r10k (4.1.0)
|
||||||
colored2 (= 3.1.2)
|
colored2 (= 3.1.2)
|
||||||
cri (>= 2.15.10)
|
cri (>= 2.15.10)
|
||||||
gettext-setup (>= 0.24, < 2.0)
|
gettext-setup (>= 0.24, < 2.0)
|
||||||
jwt (>= 2.2.3, < 2.8.0)
|
jwt (>= 2.2.3, < 3)
|
||||||
log4r (= 1.1.10)
|
log4r (= 1.1.10)
|
||||||
minitar (~> 0.9)
|
minitar (~> 0.9)
|
||||||
multi_json (~> 1.10)
|
multi_json (~> 1.10)
|
||||||
puppet_forge (>= 4.1, < 6)
|
puppet_forge (>= 4.1, < 6)
|
||||||
racc (1.7.3)
|
racc (1.8.1)
|
||||||
semantic_puppet (1.1.0)
|
semantic_puppet (1.1.0)
|
||||||
singleton (0.2.0)
|
singleton (0.2.0)
|
||||||
text (1.3.1)
|
text (1.3.1)
|
||||||
@ -59,4 +64,4 @@ DEPENDENCIES
|
|||||||
r10k
|
r10k
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
2.5.6
|
2.5.16
|
||||||
|
@ -1,4 +1,14 @@
|
|||||||
{
|
{
|
||||||
|
base64 = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.2.0";
|
||||||
|
};
|
||||||
colored2 = {
|
colored2 = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
@ -14,31 +24,31 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1bhsgnjav94mz5vf3305gxz1g34gm9kxvnrn1dkz530r8bpj0hr5";
|
sha256 = "1rank6i9p2drwdcmhan6ifkzrz1v3mwpx47fwjl75rskxwjfkgwa";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.15.11";
|
version = "2.15.12";
|
||||||
};
|
};
|
||||||
erubi = {
|
erubi = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "08s75vs9cxlc4r1q2bjg4br8g9wc5lc5x5vl0vv4zq5ivxsdpgi7";
|
sha256 = "0qnd6ff4az22ysnmni3730c41b979xinilahzg86bn7gv93ip9pw";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.12.0";
|
version = "1.13.0";
|
||||||
};
|
};
|
||||||
faraday = {
|
faraday = {
|
||||||
dependencies = ["faraday-net_http"];
|
dependencies = ["faraday-net_http" "logger"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1qqb1rmk0f9m82iijjlqadh5yby1bhnr6svjk9vxdvh6f181988s";
|
sha256 = "104s7n9505488p923cs0pl3jlgn4naam28clkm2885hrysizpjbb";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.9.0";
|
version = "2.10.1";
|
||||||
};
|
};
|
||||||
faraday-follow_redirects = {
|
faraday-follow_redirects = {
|
||||||
dependencies = ["faraday"];
|
dependencies = ["faraday"];
|
||||||
@ -57,20 +67,21 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "17w51yk4rrm9rpnbc3x509s619kba0jga3qrj4b17l30950vw9qn";
|
sha256 = "0f49frpfdr8czwm2mjkfny4pini6fy49b6hamw4jrppl4vsg14ys";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.1.0";
|
version = "3.1.1";
|
||||||
};
|
};
|
||||||
fast_gettext = {
|
fast_gettext = {
|
||||||
|
dependencies = ["prime"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "112gsrqah2w03kgi9mjsn6hl74mrwckphf223h36iayc4djf4lq2";
|
sha256 = "1gsz2ywvnms7b4w7bs4dg7cykhgx7z74fa7xy0sbw45a0v2c89px";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.3.0";
|
version = "2.4.0";
|
||||||
};
|
};
|
||||||
forwardable = {
|
forwardable = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -105,14 +116,15 @@
|
|||||||
version = "1.1.0";
|
version = "1.1.0";
|
||||||
};
|
};
|
||||||
jwt = {
|
jwt = {
|
||||||
|
dependencies = ["base64"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "16z11alz13vfc4zs5l3fk6n51n2jw9lskvc4h4prnww0y797qd87";
|
sha256 = "04mw326i9vsdcqwm4bf0zvnqw237f8l7022nhlbmak92bqqpg62s";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.7.1";
|
version = "2.8.2";
|
||||||
};
|
};
|
||||||
locale = {
|
locale = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -134,15 +146,25 @@
|
|||||||
};
|
};
|
||||||
version = "1.1.10";
|
version = "1.1.10";
|
||||||
};
|
};
|
||||||
|
logger = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0gpg8gzi0xwymw4aaq2iafcbx31i3xzkg3fb30mdxn1d4qhc3dqa";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.6.0";
|
||||||
|
};
|
||||||
minitar = {
|
minitar = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "126mq86x67d1p63acrfka4zx0cx2r0vc93884jggxnrmmnzbxh13";
|
sha256 = "0f307mpj4j0gp7iq77xj4p149f4krcvbll9rismng3jcijpbn79s";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.9";
|
version = "0.12.1";
|
||||||
};
|
};
|
||||||
multi_json = {
|
multi_json = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@ -182,10 +204,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "168w15y5rnsm6wspqxn0wg543r89cbajc8wky0sg9vzpgpr27176";
|
sha256 = "0d65zri1nmpph8iki5iigdzfqd6rfyc1mlgdfhg69q3566rcff06";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "5.0.3";
|
version = "5.0.4";
|
||||||
};
|
};
|
||||||
r10k = {
|
r10k = {
|
||||||
dependencies = ["colored2" "cri" "gettext-setup" "jwt" "log4r" "minitar" "multi_json" "puppet_forge"];
|
dependencies = ["colored2" "cri" "gettext-setup" "jwt" "log4r" "minitar" "multi_json" "puppet_forge"];
|
||||||
@ -193,20 +215,20 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1g7bx9k112mnxpnasj59zaz2c7x51ia856b5q41kfr3i9y2q3k78";
|
sha256 = "0k3fr2f0pwyrabs12wqig31f37sqrqs8qza7jrn01d6blvhvkrb4";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "4.0.1";
|
version = "4.1.0";
|
||||||
};
|
};
|
||||||
racc = {
|
racc = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp";
|
sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.7.3";
|
version = "1.8.1";
|
||||||
};
|
};
|
||||||
semantic_puppet = {
|
semantic_puppet = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
@ -20,13 +20,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "rakshasa-rtorrent";
|
pname = "rakshasa-rtorrent";
|
||||||
version = "0.9.8-unstable-2024-08-20";
|
version = "0.9.8-unstable-2024-08-31";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "rakshasa";
|
owner = "rakshasa";
|
||||||
repo = "rtorrent";
|
repo = "rtorrent";
|
||||||
rev = "eacf9798e2787df7dd4d5c800a46bac7931ac41c";
|
rev = "4e246a401f2572d6c8a3295cbe0335baa316cd24";
|
||||||
hash = "sha256-VJ2QJfBRUgk0KcCZTHtlyBIMVhs0UfYWAPlTeA98VZU=";
|
hash = "sha256-tq/0Vq+rIyCn1UQlyo7lcTSVf6WW1I8MTfxiAwQYD/o=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "man" ];
|
outputs = [ "out" "man" ];
|
||||||
|
4866
pkgs/by-name/ru/rustdesk/Cargo.lock
generated
4866
pkgs/by-name/ru/rustdesk/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -37,45 +37,53 @@
|
|||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "rustdesk";
|
pname = "rustdesk";
|
||||||
version = "1.2.3";
|
version = "1.3.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "rustdesk";
|
owner = "rustdesk";
|
||||||
repo = "rustdesk";
|
repo = "rustdesk";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-6TdirqEnWvuPgKOLzNIAm66EgKNdGVjD7vf2maqlxI8=";
|
hash = "sha256-pDGURsF0eft2BkuXOzaMtNCHp9VFgZZh4bbNRa5NDII=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoLock = {
|
cargoLock = {
|
||||||
lockFile = ./Cargo.lock;
|
lockFile = ./Cargo.lock;
|
||||||
outputHashes = {
|
outputHashes = {
|
||||||
"confy-0.4.0-2" = "sha256-r5VeggXrIq5Cwxc2WSrxQDI5Gvbw979qIUQfMKHgBUI=";
|
"android-wakelock-0.1.0" = "sha256-09EH/U1BBs3l4galQOrTKmPUYBgryUjfc/rqPZhdYc4=";
|
||||||
|
"arboard-3.4.0" = "sha256-lZIG5z115ExR6DcUut1rk9MrYFzSyCYH9kNGIikOPJM=";
|
||||||
|
"cacao-0.4.0-beta2" = "sha256-U5tCLeVxjmZCm7ti1u71+i116xmozPaR69pCsA4pxrM=";
|
||||||
|
"clipboard-master-4.0.0-beta.6" = "sha256-GZyzGMQOZ0iwGNZa/ZzFp8gU2tQVWZBpAbim8yb6yZA=";
|
||||||
|
"confy-0.4.0-2" = "sha256-V7BCKISrkJIxWC3WT5+B5Vav86YTQvdO9TO6A++47FU=";
|
||||||
|
"core-foundation-0.9.3" = "sha256-iB4OVmWZhuWbs9RFWvNc+RNut6rip2/50o5ZM6c0c3g=";
|
||||||
"evdev-0.11.5" = "sha256-aoPmjGi/PftnH6ClEWXHvIj0X3oh15ZC1q7wPC1XPr0=";
|
"evdev-0.11.5" = "sha256-aoPmjGi/PftnH6ClEWXHvIj0X3oh15ZC1q7wPC1XPr0=";
|
||||||
"hwcodec-0.1.1" = "sha256-EQGJr5kH8O48y1oSrzFF3QGGpGFKP3v4gn2JquAkdlY=";
|
"hwcodec-0.7.0" = "sha256-pfzcaD7h/U5ou+P7qRLR56iXOkm043rF74y+Q0FsVLo=";
|
||||||
"impersonate_system-0.1.0" = "sha256-qbaTw9gxMKDjX5pKdUrKlmIxCxWwb99YuWPDvD2A3kY=";
|
"impersonate_system-0.1.0" = "sha256-pIV7s2qGoCIUrhaRovBDCJaGQ/pMdJacDXJmeBpkcyI=";
|
||||||
"keepawake-0.4.3" = "sha256-sLQf9q88dB2bkTN01UlxRWSpoF1kFsqqpYC4Sw6cbEY=";
|
"keepawake-0.4.3" = "sha256-cqSpkq/PCz+5+ZUyPy5hF6rP3fBzuZDywyxMUQ50Rk4=";
|
||||||
"machine-uid-0.3.0" = "sha256-rEOyNThg6p5oqE9URnxSkPtzyW8D4zKzLi9pAnzTElE=";
|
"machine-uid-0.3.0" = "sha256-rEOyNThg6p5oqE9URnxSkPtzyW8D4zKzLi9pAnzTElE=";
|
||||||
"magnum-opus-0.4.0" = "sha256-T4qaYOl8lCK1h9jWa9KqGvnVfDViT9Ob5R+YgnSw2tg=";
|
"magnum-opus-0.4.0" = "sha256-T4qaYOl8lCK1h9jWa9KqGvnVfDViT9Ob5R+YgnSw2tg=";
|
||||||
"mouce-0.2.1" = "sha256-3PtNEmVMXgqKV4r3KiKTkk4oyCt4BKynniJREE+RyFk=";
|
"pam-0.7.0" = "sha256-o47tVoFlW9RiL7O8Lvuwz7rMYQHO+5TG27XxkAdHEOE=";
|
||||||
"pam-0.7.0" = "sha256-qe2GH6sfGEUnqLiQucYLB5rD/GyAaVtm9pAxWRb1H3Q=";
|
"pam-sys-1.0.0-alpha4" = "sha256-5HIErVWnanLo5054NgU+DEKC2wwyiJ8AHvbx0BGbyWo=";
|
||||||
"parity-tokio-ipc-0.7.3-2" = "sha256-WXDKcDBaJuq4K9gjzOKMozePOFiVX0EqYAFamAz/Yvw=";
|
"parity-tokio-ipc-0.7.3-4" = "sha256-PKw2Twd2ap+tRrQxqg8T1FvpoeKn0hvBqn1Z44F1LcY=";
|
||||||
"rdev-0.5.0-2" = "sha256-MJ4Uqp0yz1CcFvoZYyUYwNojUcfW1AyVowKShihhhbY=";
|
"rdev-0.5.0-2" = "sha256-KrzNa4sKyuVw3EV/Ec9VBNRyJy7QFR2Gu4c2WkltwUw=";
|
||||||
"reqwest-0.11.18" = "sha256-3k2wcVD+DzJEdP/+8BqP9qz3tgEWcbWZj5/CjrZz5LY=";
|
"reqwest-0.11.23" = "sha256-kEUT+gs4ziknDiGdPMLnj5pmxC5SBpLopZ8jZ34GDWc=";
|
||||||
"rust-pulsectl-0.2.12" = "sha256-8jXTspWvjONFcvw9/Z8C43g4BuGZ3rsG32tvLMQbtbM=";
|
"rust-pulsectl-0.2.12" = "sha256-8jXTspWvjONFcvw9/Z8C43g4BuGZ3rsG32tvLMQbtbM=";
|
||||||
"sciter-rs-0.5.57" = "sha256-NQPDlMQ0sGY8c9lBMlplT82sNjbgJy2m/+REnF3fz8M=";
|
"sciter-rs-0.5.57" = "sha256-5Nd9npdx8yQJEczHv7WmSmrE1lBfvp5z7BubTbYBg3E=";
|
||||||
"tao-0.22.2" = "sha256-vZx7WM6vK9UarbFQ/FMnTNEEDS+tglhWcPXt/h7YMFA=";
|
"sysinfo-0.29.10" = "sha256-/UsFAvlWs/F7X1xT+97Fx+pnpCguoPHU3hTynqYMEs4=";
|
||||||
"tfc-0.6.1" = "sha256-ukxJl7Z+pUXCjvTsG5Q0RiXocPERWGsnAyh3SIWm0HU=";
|
"tao-0.25.0" = "sha256-kLmx1z9Ybn/hDt2OcszEjtZytQIE+NKTIn9zNr9oEQk=";
|
||||||
"tokio-socks-0.5.1-2" = "sha256-x3aFJKo0XLaCGkZLtG9GYA+A/cGGedVZ8gOztWiYVUY=";
|
"tfc-0.7.0" = "sha256-VAoOadgGajWjW7q1RCwmQ5gMmaA1oeZBSiL1tYSuIEI=";
|
||||||
"tray-icon-0.5.1" = "sha256-1VyUg8V4omgdRIYyXhfn8kUvhV5ef6D2cr2Djz2uQyc=";
|
"tokio-socks-0.5.2-1" = "sha256-i1dfNatqN4dinMcyAdLhj9hJWVsT10OWpCXsxl7pifI=";
|
||||||
|
"tray-icon-0.15.1" = "sha256-DvTVAsE3dB+o89SFk3RPRt5JzaWjPl4nlvC77zsVN/s=";
|
||||||
|
"wallpaper-3.2.0" = "sha256-p9NRmusdA0wvF6onp1UTL0/4t7XnEAc19sqyGDnfg/Q=";
|
||||||
|
"webm-1.1.0" = "sha256-p4BMej7yvb8c/dJynRWZmwo2hxAAY96Qx6Qx2DbT8hE=";
|
||||||
"x11-2.19.0" = "sha256-GDCeKzUtvaLeBDmPQdyr499EjEfT6y4diBMzZVEptzc=";
|
"x11-2.19.0" = "sha256-GDCeKzUtvaLeBDmPQdyr499EjEfT6y4diBMzZVEptzc=";
|
||||||
|
"x11-clipboard-0.8.1" = "sha256-PtqmSD2MwkbLVWbfTSXZW3WEvEnUlo04qieUTjN2whE=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
prePatch = ''
|
postPatch = ''
|
||||||
# Patch 404 repos
|
# Overwrite cargo.lock because the one in the upstream repo has duplicates entries.
|
||||||
substituteInPlace Cargo.lock --replace-fail "fufesou" "rustdesk-org";
|
# It should probably be removed in the next rustdesk update (if they fix their cargoLock)
|
||||||
substituteInPlace Cargo.toml --replace-fail "fufesou" "rustdesk-org";
|
ln -fs ${./Cargo.lock} Cargo.lock
|
||||||
substituteInPlace libs/enigo/Cargo.toml --replace-fail "fufesou" "rustdesk-org";
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
desktopItems = [
|
desktopItems = [
|
||||||
|
53
pkgs/by-name/sc/schemaspy/package.nix
Normal file
53
pkgs/by-name/sc/schemaspy/package.nix
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
fetchFromGitHub,
|
||||||
|
graphviz,
|
||||||
|
jre,
|
||||||
|
makeWrapper,
|
||||||
|
maven,
|
||||||
|
nix-update-script,
|
||||||
|
}:
|
||||||
|
|
||||||
|
maven.buildMavenPackage rec {
|
||||||
|
pname = "schemaspy";
|
||||||
|
version = "6.2.4";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "schemaspy";
|
||||||
|
repo = "schemaspy";
|
||||||
|
rev = "refs/tags/v${version}";
|
||||||
|
hash = "sha256-yEqhLpGrJ4hki8o+u+bigVXv+3YvEb8TvHDTYsEl8z4=";
|
||||||
|
};
|
||||||
|
|
||||||
|
mvnParameters = "-Dmaven.test.skip=true -Dmaven.buildNumber.skip=true";
|
||||||
|
mvnHash = "sha256-LCPRiY/DDSUnLGnaFUS9PPKnh3TmSyAOqKfEKRLRjpg=";
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
makeWrapper
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
install -D target/${pname}-${version}-app.jar $out/share/java/${pname}-${version}.jar
|
||||||
|
|
||||||
|
makeWrapper ${jre}/bin/java $out/bin/schemaspy \
|
||||||
|
--add-flags "-jar $out/share/java/${pname}-${version}.jar" \
|
||||||
|
--prefix PATH : ${lib.makeBinPath [ graphviz ]}
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru.updateScript = nix-update-script { };
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://schemaspy.org";
|
||||||
|
description = "Document your database simply and easily";
|
||||||
|
mainProgram = "schemaspy";
|
||||||
|
license = lib.licenses.lgpl3Plus;
|
||||||
|
maintainers = with lib.maintainers; [
|
||||||
|
jraygauthier
|
||||||
|
anthonyroussel
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
@ -5,7 +5,6 @@
|
|||||||
, mpich
|
, mpich
|
||||||
, tmux
|
, tmux
|
||||||
, reptyr
|
, reptyr
|
||||||
, autoconf
|
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -22,7 +21,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
propagatedBuildInputs = [ mpi mpich reptyr tmux ];
|
propagatedBuildInputs = [ mpi mpich reptyr tmux ];
|
||||||
|
|
||||||
buildInputs = [ autoconf makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
@ -101,7 +101,7 @@ lib.warnIf (useHardenedMalloc != null)
|
|||||||
++ lib.optionals mediaSupport [ ffmpeg ]
|
++ lib.optionals mediaSupport [ ffmpeg ]
|
||||||
);
|
);
|
||||||
|
|
||||||
version = "13.5.2";
|
version = "13.5.3";
|
||||||
|
|
||||||
sources = {
|
sources = {
|
||||||
x86_64-linux = fetchurl {
|
x86_64-linux = fetchurl {
|
||||||
@ -111,7 +111,7 @@ lib.warnIf (useHardenedMalloc != null)
|
|||||||
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
|
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
|
||||||
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
|
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
|
||||||
];
|
];
|
||||||
hash = "sha256-f6bKRWirHuOe2BnCYegZi1j58Ou3p6Syw++NVLGUGdU=";
|
hash = "sha256-g4wSjFS3VFZcflN2lexAoSledOBCK9taixGEUbM3X1E=";
|
||||||
};
|
};
|
||||||
|
|
||||||
i686-linux = fetchurl {
|
i686-linux = fetchurl {
|
||||||
@ -121,7 +121,7 @@ lib.warnIf (useHardenedMalloc != null)
|
|||||||
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
|
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
|
||||||
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
|
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
|
||||||
];
|
];
|
||||||
hash = "sha256-ye+l3aq3nV97SUyARZMcPhdtGLoAWoscbr81F5LdbS4=";
|
hash = "sha256-sw8PFbCTUvmD1+fE3VXX/3A07CnzXjBydQ+b4rshpak=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -10,6 +10,8 @@
|
|||||||
, libXxf86vm
|
, libXxf86vm
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
|
version = "4.13.2-redo";
|
||||||
|
|
||||||
desktopItem = makeDesktopItem {
|
desktopItem = makeDesktopItem {
|
||||||
name = "unciv";
|
name = "unciv";
|
||||||
exec = "unciv";
|
exec = "unciv";
|
||||||
@ -20,7 +22,7 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
desktopIcon = fetchurl {
|
desktopIcon = fetchurl {
|
||||||
url = "https://github.com/yairm210/Unciv/blob/4.13.0-patch1/extraImages/Icons/Unciv%20icon%20v6.png?raw=true";
|
url = "https://github.com/yairm210/Unciv/blob/${version}/extraImages/Icons/Unciv%20icon%20v6.png?raw=true";
|
||||||
hash = "sha256-Zuz+HGfxjGviGBKTiHdIFXF8UMRLEIfM8f+LIB/xonk=";
|
hash = "sha256-Zuz+HGfxjGviGBKTiHdIFXF8UMRLEIfM8f+LIB/xonk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -33,7 +35,7 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "unciv";
|
pname = "unciv";
|
||||||
version = "4.13.0-patch1";
|
inherit version;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
|
url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
|
||||||
|
45
pkgs/by-name/yp/ypbind-mt/package.nix
Normal file
45
pkgs/by-name/yp/ypbind-mt/package.nix
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
lib,
|
||||||
|
fetchurl,
|
||||||
|
autoreconfHook,
|
||||||
|
libnsl,
|
||||||
|
libtirpc,
|
||||||
|
libxcrypt,
|
||||||
|
pkg-config,
|
||||||
|
rpcbind,
|
||||||
|
systemdLibs,
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "ypbind-mt";
|
||||||
|
version = "2.7.2";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/thkukuk/ypbind-mt/releases/download/v${version}/ypbind-mt-${version}.tar.xz";
|
||||||
|
hash = "sha256-Bk8vGFZzxUk9+D9kALeZ86NZ3lYRi2ujfEMnER8vzYs=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
autoreconfHook
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
libnsl
|
||||||
|
libtirpc
|
||||||
|
libxcrypt
|
||||||
|
rpcbind
|
||||||
|
systemdLibs
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Multithreaded daemon maintaining the NIS binding informations.";
|
||||||
|
homepage = "https://github.com/thkukuk/ypbind-mt";
|
||||||
|
changelog = "https://github.com/thkukuk/ypbind-mt/blob/master/NEWS";
|
||||||
|
license = lib.licenses.gpl2Plus;
|
||||||
|
mainProgram = "ypbind";
|
||||||
|
maintainers = with lib.maintainers; [ BarrOff ];
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
17
pkgs/by-name/ze/zed-editor/0001-generate-licenses.patch
Normal file
17
pkgs/by-name/ze/zed-editor/0001-generate-licenses.patch
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
diff --git a/script/generate-licenses b/script/generate-licenses
|
||||||
|
index 43b2f5c458..c740a3afa2 100755
|
||||||
|
--- a/script/generate-licenses
|
||||||
|
+++ b/script/generate-licenses
|
||||||
|
@@ -15,12 +15,6 @@ cat assets/icons/LICENSES >> $OUTPUT_FILE
|
||||||
|
|
||||||
|
echo -e "# ###### CODE LICENSES ######\n" >> $OUTPUT_FILE
|
||||||
|
|
||||||
|
-if ! cargo install --list | grep "cargo-about v$CARGO_ABOUT_VERSION" > /dev/null; then
|
||||||
|
- echo "Installing cargo-about@$CARGO_ABOUT_VERSION..."
|
||||||
|
- cargo install "cargo-about@$CARGO_ABOUT_VERSION"
|
||||||
|
-else
|
||||||
|
- echo "cargo-about@$CARGO_ABOUT_VERSION is already installed."
|
||||||
|
-fi
|
||||||
|
|
||||||
|
echo "Generating cargo licenses"
|
||||||
|
cargo about generate --fail -c script/licenses/zed-licenses.toml script/licenses/template.hbs.md >> $OUTPUT_FILE
|
@ -27,6 +27,9 @@
|
|||||||
vulkan-loader,
|
vulkan-loader,
|
||||||
envsubst,
|
envsubst,
|
||||||
nix-update-script,
|
nix-update-script,
|
||||||
|
cargo-about,
|
||||||
|
testers,
|
||||||
|
zed-editor,
|
||||||
|
|
||||||
withGLES ? false,
|
withGLES ? false,
|
||||||
}:
|
}:
|
||||||
@ -45,6 +48,12 @@ rustPlatform.buildRustPackage rec {
|
|||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Zed uses cargo-install to install cargo-about during the script execution.
|
||||||
|
# We provide cargo-about ourselves and can skip this step.
|
||||||
|
./0001-generate-licenses.patch
|
||||||
|
];
|
||||||
|
|
||||||
cargoLock = {
|
cargoLock = {
|
||||||
lockFile = ./Cargo.lock;
|
lockFile = ./Cargo.lock;
|
||||||
outputHashes = {
|
outputHashes = {
|
||||||
@ -73,6 +82,7 @@ rustPlatform.buildRustPackage rec {
|
|||||||
pkg-config
|
pkg-config
|
||||||
protobuf
|
protobuf
|
||||||
rustPlatform.bindgenHook
|
rustPlatform.bindgenHook
|
||||||
|
cargo-about
|
||||||
] ++ lib.optionals stdenv.isDarwin [ xcbuild.xcrun ];
|
] ++ lib.optionals stdenv.isDarwin [ xcbuild.xcrun ];
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
@ -128,11 +138,17 @@ rustPlatform.buildRustPackage rec {
|
|||||||
# Setting this environment variable allows to disable auto-updates
|
# Setting this environment variable allows to disable auto-updates
|
||||||
# https://zed.dev/docs/development/linux#notes-for-packaging-zed
|
# https://zed.dev/docs/development/linux#notes-for-packaging-zed
|
||||||
ZED_UPDATE_EXPLANATION = "zed has been installed using nix. Auto-updates have thus been disabled.";
|
ZED_UPDATE_EXPLANATION = "zed has been installed using nix. Auto-updates have thus been disabled.";
|
||||||
|
# Used by `zed --version`
|
||||||
|
RELEASE_VERSION = version;
|
||||||
};
|
};
|
||||||
|
|
||||||
RUSTFLAGS = if withGLES then "--cfg gles" else "";
|
RUSTFLAGS = if withGLES then "--cfg gles" else "";
|
||||||
gpu-lib = if withGLES then libglvnd else vulkan-loader;
|
gpu-lib = if withGLES then libglvnd else vulkan-loader;
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
bash script/generate-licenses
|
||||||
|
'';
|
||||||
|
|
||||||
postFixup = lib.optionalString stdenv.isLinux ''
|
postFixup = lib.optionalString stdenv.isLinux ''
|
||||||
patchelf --add-rpath ${gpu-lib}/lib $out/libexec/*
|
patchelf --add-rpath ${gpu-lib}/lib $out/libexec/*
|
||||||
patchelf --add-rpath ${wayland}/lib $out/libexec/*
|
patchelf --add-rpath ${wayland}/lib $out/libexec/*
|
||||||
@ -175,11 +191,17 @@ rustPlatform.buildRustPackage rec {
|
|||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru.updateScript = nix-update-script {
|
passthru = {
|
||||||
extraArgs = [
|
updateScript = nix-update-script {
|
||||||
"--version-regex"
|
extraArgs = [
|
||||||
"v(.*)"
|
"--version-regex"
|
||||||
];
|
"v(.*)"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
tests.version = testers.testVersion {
|
||||||
|
inherit version;
|
||||||
|
package = zed-editor;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -14,7 +14,6 @@
|
|||||||
config,
|
config,
|
||||||
cudaSupport ? config.cudaSupport,
|
cudaSupport ? config.cudaSupport,
|
||||||
cupy,
|
cupy,
|
||||||
nix-update-script,
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
@ -45,13 +44,10 @@ buildPythonPackage rec {
|
|||||||
pythonImportsCheck = [ "array_api_compat" ];
|
pythonImportsCheck = [ "array_api_compat" ];
|
||||||
|
|
||||||
# CUDA (used via cupy) is not available in the testing sandbox
|
# CUDA (used via cupy) is not available in the testing sandbox
|
||||||
checkPhase = ''
|
pytestFlagsArray = [
|
||||||
runHook preCheck
|
"-k"
|
||||||
python -m pytest -k 'not cupy'
|
"'not cupy'"
|
||||||
runHook postCheck
|
];
|
||||||
'';
|
|
||||||
|
|
||||||
passthru.updateScript = nix-update-script { };
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://data-apis.org/array-api-compat";
|
homepage = "https://data-apis.org/array-api-compat";
|
||||||
|
@ -55,6 +55,10 @@ let self = buildPythonPackage rec {
|
|||||||
mainProgram = "fastapi";
|
mainProgram = "fastapi";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = [ ];
|
maintainers = [ ];
|
||||||
|
# This package provides a `fastapi`-executable that is in conflict with the one from
|
||||||
|
# python3Packages.fastapi. Because this package is primarily used for the purpose of
|
||||||
|
# implementing the CLI for python3Packages.fastapi, we reduce the executable's priority
|
||||||
|
priority = 10;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in self
|
in self
|
||||||
|
@ -2,21 +2,28 @@
|
|||||||
lib,
|
lib,
|
||||||
buildPythonPackage,
|
buildPythonPackage,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
|
setuptools,
|
||||||
|
py-cpuinfo,
|
||||||
h5py,
|
h5py,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "hdf5plugin";
|
pname = "hdf5plugin";
|
||||||
version = "4.4.0";
|
version = "5.0.0";
|
||||||
format = "setuptools";
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "silx-kit";
|
owner = "silx-kit";
|
||||||
repo = "hdf5plugin";
|
repo = "hdf5plugin";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-MnqY1PyGzo31H696J9CekiA2rJrUYzUMDC3UJMZaFLA=";
|
hash = "sha256-6lEU8ZGJKazDqloel5QcaXAbNGzV1fAbAjYC/hFUOdI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
build-system = [
|
||||||
|
setuptools
|
||||||
|
py-cpuinfo
|
||||||
|
];
|
||||||
|
|
||||||
dependencies = [ h5py ];
|
dependencies = [ h5py ];
|
||||||
|
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
|
@ -33,13 +33,13 @@ buildPythonPackage {
|
|||||||
|
|
||||||
nativeBuildInputs = base.nativeBuildInputs;
|
nativeBuildInputs = base.nativeBuildInputs;
|
||||||
|
|
||||||
buildFlags = [ "pymodule" ];
|
ninjaFlags = [ "horizon.so" ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -p $out/${python.sitePackages}
|
mkdir -p $out/${python.sitePackages}
|
||||||
cp build/horizon.so $out/${python.sitePackages}
|
cp horizon.so $out/${python.sitePackages}
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
117
pkgs/development/python-modules/kaleido/default.nix
Normal file
117
pkgs/development/python-modules/kaleido/default.nix
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
python,
|
||||||
|
buildPythonPackage,
|
||||||
|
callPackage,
|
||||||
|
fetchurl,
|
||||||
|
autoPatchelfHook,
|
||||||
|
bash,
|
||||||
|
dejavu_fonts,
|
||||||
|
expat,
|
||||||
|
fontconfig,
|
||||||
|
lato,
|
||||||
|
libGL,
|
||||||
|
makeWrapper,
|
||||||
|
nspr,
|
||||||
|
nss,
|
||||||
|
sbclPackages,
|
||||||
|
sqlite,
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "kaleido";
|
||||||
|
version = "0.2.1";
|
||||||
|
format = "wheel";
|
||||||
|
|
||||||
|
src =
|
||||||
|
{
|
||||||
|
# This library is so cursed that I have to use fetchurl instead of fetchPypi. I am not happy.
|
||||||
|
x86_64-linux = fetchurl {
|
||||||
|
url = "https://files.pythonhosted.org/packages/py2.py3/k/kaleido/kaleido-${version}-py2.py3-none-manylinux1_x86_64.whl";
|
||||||
|
hash = "sha256-qiHPG/HHj4+lCp99ReEAPDh709b+CnZ8+780S5W9w6g=";
|
||||||
|
};
|
||||||
|
aarch64-linux = fetchurl {
|
||||||
|
url = "https://files.pythonhosted.org/packages/py2.py3/k/kaleido/kaleido-${version}-py2.py3-none-manylinux2014_aarch64.whl";
|
||||||
|
hash = "sha256-hFgZhEyAgslGnZwX5CYh+/hcKyN++KhuyKhSf5i2USo=";
|
||||||
|
};
|
||||||
|
x86_64-darwin = fetchurl {
|
||||||
|
url = "https://files.pythonhosted.org/packages/py2.py3/k/kaleido/kaleido-${version}-py2.py3-none-macosx_10_11_x86_64.whl";
|
||||||
|
hash = "sha256-ym9z5/8AquvyhD9z8dO6zeGTDvUEEJP+drg6FXhQSac=";
|
||||||
|
};
|
||||||
|
aarch64-darwin = fetchurl {
|
||||||
|
url = "https://files.pythonhosted.org/packages/py2.py3/k/kaleido/kaleido-${version}-py2.py3-none-macosx_11_0_arm64.whl";
|
||||||
|
hash = "sha256-u5pdH3EDV9XUMu4kDvZlim0STD5hCTWBe0tC2px4fAU=";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
."${stdenv.hostPlatform.system}"
|
||||||
|
or (throw "Unsupported system for ${pname}: ${stdenv.hostPlatform.system}");
|
||||||
|
|
||||||
|
nativeBuildInputs = (lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]) ++ [
|
||||||
|
makeWrapper
|
||||||
|
];
|
||||||
|
buildInputs = [
|
||||||
|
bash
|
||||||
|
dejavu_fonts
|
||||||
|
expat
|
||||||
|
fontconfig
|
||||||
|
lato
|
||||||
|
libGL
|
||||||
|
nspr
|
||||||
|
nss
|
||||||
|
sbclPackages.cl-dejavu
|
||||||
|
sqlite
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "kaleido" ];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
# Expose kaleido binary
|
||||||
|
mkdir -p $out/bin
|
||||||
|
ln -s $out/${python.sitePackages}/kaleido/executable/bin/kaleido $out/bin/kaleido
|
||||||
|
|
||||||
|
# Replace bundled swiftshader with libGL
|
||||||
|
rm -rf $out/${python.sitePackages}/kaleido/executable/bin/swiftshader
|
||||||
|
ln -s ${libGL}/lib $out/${python.sitePackages}/kaleido/executable/bin/swiftshader
|
||||||
|
|
||||||
|
# Relace bundled libraries with nixpkgs-packaged libraries
|
||||||
|
rm -rf $out/${python.sitePackages}/kaleido/executable/lib
|
||||||
|
mkdir -p $out/${python.sitePackages}/kaleido/executable/lib
|
||||||
|
ln -s ${expat}/lib/* $out/${python.sitePackages}/kaleido/executable/lib/
|
||||||
|
ln -s ${nspr}/lib/* $out/${python.sitePackages}/kaleido/executable/lib/
|
||||||
|
ln -s ${nss}/lib/* $out/${python.sitePackages}/kaleido/executable/lib/
|
||||||
|
ln -s ${sqlite}/lib/* $out/${python.sitePackages}/kaleido/executable/lib/
|
||||||
|
|
||||||
|
# Replace bundled font configuration with nixpkgs-packaged font configuration
|
||||||
|
rm -rf $out/${python.sitePackages}/kaleido/executable/etc/fonts
|
||||||
|
mkdir -p $out/${python.sitePackages}/kaleido/executable/etc/fonts/conf.d
|
||||||
|
ln -s ${fontconfig}/etc/fonts/fonts.conf $out/${python.sitePackages}/kaleido/executable/etc/fonts/
|
||||||
|
ls -s ${fontconfig}/etc/fonts/conf.d/* $out/${python.sitePackages}/kaleido/executable/etc/fonts/conf.d/
|
||||||
|
ln -s ${sbclPackages.cl-dejavu}/dejavu-fonts-ttf-2.37/fontconfig/* $out/${python.sitePackages}/kaleido/executable/etc/fonts/conf.d/
|
||||||
|
|
||||||
|
# Replace bundled fonts with nixpkgs-packaged fonts
|
||||||
|
# Currently this causes an issue where the fonts aren't found. I'm not sure why, so I'm leaving this commented out for now.
|
||||||
|
#rm -rf $out/${python.sitePackages}/kaleido/executable/xdg/fonts
|
||||||
|
#mkdir -p $out/${python.sitePackages}/kaleido/executable/xdg/fonts/truetype/dejavu $out/${python.sitePackages}/kaleido/executable/xdg/fonts/truetype/lato
|
||||||
|
#ln -s ${dejavu_fonts}/share/fonts/truetype/* $out/${python.sitePackages}/kaleido/executable/xdg/fonts/truetype/dejavu/
|
||||||
|
#ln -s ${lato}/share/fonts/lato/* $out/${python.sitePackages}/kaleido/executable/xdg/fonts/truetype/lato/
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru.tests.kaleido = callPackage ./tests.nix { };
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Fast static image export for web-based visualization libraries with zero dependencies";
|
||||||
|
homepage = "https://github.com/plotly/Kaleido";
|
||||||
|
changelog = "https://github.com/plotly/Kaleido/releases";
|
||||||
|
platforms = [
|
||||||
|
"x86_64-linux"
|
||||||
|
"x86_64-darwin"
|
||||||
|
"aarch64-linux"
|
||||||
|
"aarch64-darwin"
|
||||||
|
];
|
||||||
|
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; # Trust me, I'm not happy. But after literal hours of trying to reverse-engineer their build system and getting nowhere, I'll use the stupid binaries >:(
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
maintainers = with lib.maintainers; [ pandapip1 ];
|
||||||
|
broken = stdenv.isDarwin; # Tests fail on darwin for some reason
|
||||||
|
};
|
||||||
|
}
|
15
pkgs/development/python-modules/kaleido/tests.nix
Normal file
15
pkgs/development/python-modules/kaleido/tests.nix
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
runCommand,
|
||||||
|
python,
|
||||||
|
plotly,
|
||||||
|
pandas,
|
||||||
|
kaleido,
|
||||||
|
}:
|
||||||
|
|
||||||
|
runCommand "${kaleido.pname}-tests" {
|
||||||
|
nativeBuildInputs = [
|
||||||
|
python
|
||||||
|
plotly
|
||||||
|
pandas
|
||||||
|
];
|
||||||
|
} "python3 ${./tests.py}"
|
11
pkgs/development/python-modules/kaleido/tests.py
Normal file
11
pkgs/development/python-modules/kaleido/tests.py
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import plotly.express as px
|
||||||
|
import os
|
||||||
|
import os.path
|
||||||
|
|
||||||
|
out = os.environ["out"]
|
||||||
|
if not os.path.exists(out):
|
||||||
|
os.makedirs(out)
|
||||||
|
|
||||||
|
outfile = os.path.join(out, "figure.png")
|
||||||
|
fig = px.scatter(px.data.iris(), x="sepal_length", y="sepal_width", color="species")
|
||||||
|
fig.write_image(outfile, engine="kaleido")
|
@ -5,6 +5,7 @@
|
|||||||
setuptools,
|
setuptools,
|
||||||
packaging,
|
packaging,
|
||||||
tenacity,
|
tenacity,
|
||||||
|
kaleido,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
@ -29,6 +30,7 @@ buildPythonPackage rec {
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
packaging
|
packaging
|
||||||
tenacity
|
tenacity
|
||||||
|
kaleido
|
||||||
];
|
];
|
||||||
|
|
||||||
pythonImportsCheck = [ "plotly" ];
|
pythonImportsCheck = [ "plotly" ];
|
||||||
@ -41,6 +43,6 @@ buildPythonPackage rec {
|
|||||||
downloadPage = "https://github.com/plotly/plotly.py";
|
downloadPage = "https://github.com/plotly/plotly.py";
|
||||||
homepage = "https://plot.ly/python/";
|
homepage = "https://plot.ly/python/";
|
||||||
license = with licenses; [ mit ];
|
license = with licenses; [ mit ];
|
||||||
maintainers = [ ];
|
maintainers = with maintainers; [ pandapip1 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -4,24 +4,28 @@
|
|||||||
fetchPypi,
|
fetchPypi,
|
||||||
pythonOlder,
|
pythonOlder,
|
||||||
setuptools-scm,
|
setuptools-scm,
|
||||||
|
hypothesis,
|
||||||
pytestCheckHook,
|
pytestCheckHook,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "sqids";
|
pname = "sqids";
|
||||||
version = "0.4.1";
|
version = "0.5.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-/8P7/vY0kb7ouUCpgGU4g0Xb77BtSeQVt6nkdcogD50=";
|
hash = "sha256-ZHeY59W/6yNuesRwnP1M2AhjCmxQ+AIF3xe0yT5WAUA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ setuptools-scm ];
|
build-system = [ setuptools-scm ];
|
||||||
|
|
||||||
nativeCheckInputs = [ pytestCheckHook ];
|
nativeCheckInputs = [
|
||||||
|
hypothesis
|
||||||
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
pythonImportsCheck = [ "sqids" ];
|
pythonImportsCheck = [ "sqids" ];
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
lib,
|
lib,
|
||||||
buildPythonPackage,
|
buildPythonPackage,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
pythonOlder,
|
|
||||||
setuptools,
|
setuptools,
|
||||||
wheel,
|
wheel,
|
||||||
pytestCheckHook,
|
pytestCheckHook,
|
||||||
@ -10,16 +9,14 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "xdoctest";
|
pname = "xdoctest";
|
||||||
version = "1.1.6";
|
version = "1.2.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.6";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Erotemic";
|
owner = "Erotemic";
|
||||||
repo = "xdoctest";
|
repo = "xdoctest";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-L/RtD/e0ubW3j4623HQGfowXQYZjl7dDfwwbfxm3ll8=";
|
hash = "sha256-1c3wnQ30J2OfnBffzGfPPt9St8VpLGmFGbifzbw+cOc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -1,67 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, maven
|
|
||||||
, jre
|
|
||||||
, makeWrapper
|
|
||||||
, git
|
|
||||||
, fetchFromGitHub
|
|
||||||
, graphviz
|
|
||||||
, ensureNewerSourcesHook
|
|
||||||
}:
|
|
||||||
|
|
||||||
maven.buildMavenPackage rec {
|
|
||||||
pname = "schemaspy";
|
|
||||||
version = "6.1.1-SNAPSHOT";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "schemaspy";
|
|
||||||
repo = "schemaspy";
|
|
||||||
rev = "110b1614f9ae4aec0e4dc4e8f0e7c647274d3af6";
|
|
||||||
hash = "sha256-X5B34zGhD/NxcK8TQvwdk1NljGJ1HwfBp47ocbE4HiU=";
|
|
||||||
};
|
|
||||||
|
|
||||||
mvnParameters = "-Dmaven.test.skip=true";
|
|
||||||
mvnFetchExtraArgs = {
|
|
||||||
nativeBuildInputs = [
|
|
||||||
# the build system gets angry if it doesn't see git (even though it's not
|
|
||||||
# actually in a git repository)
|
|
||||||
git
|
|
||||||
maven
|
|
||||||
];
|
|
||||||
};
|
|
||||||
mvnHash = "sha256-1x6cNt6t3FnjRNg8iNYflkyDnuPFXGKoxhVJWoz2jIU=";
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
makeWrapper
|
|
||||||
git
|
|
||||||
|
|
||||||
# springframework boot gets angry about 1970 sources
|
|
||||||
# fix from https://github.com/nix-community/mavenix/issues/25
|
|
||||||
(ensureNewerSourcesHook { year = "1980"; })
|
|
||||||
];
|
|
||||||
|
|
||||||
wrappedPath = lib.makeBinPath [
|
|
||||||
graphviz
|
|
||||||
];
|
|
||||||
|
|
||||||
preBuild = ''
|
|
||||||
VERSION=${version}
|
|
||||||
SEMVER_STR=${version}
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
install -D target/${pname}-${version}.jar $out/share/java/${pname}-${version}.jar
|
|
||||||
|
|
||||||
makeWrapper ${jre}/bin/java $out/bin/schemaspy \
|
|
||||||
--add-flags "-jar $out/share/java/${pname}-${version}.jar" \
|
|
||||||
--prefix PATH : "$wrappedPath"
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
homepage = "https://schemaspy.org";
|
|
||||||
description = "Document your database simply and easily";
|
|
||||||
mainProgram = "schemaspy";
|
|
||||||
license = licenses.lgpl3Plus;
|
|
||||||
maintainers = with maintainers; [ jraygauthier ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -18,19 +18,20 @@
|
|||||||
, libXi
|
, libXi
|
||||||
, libxkbcommon
|
, libxkbcommon
|
||||||
, ncurses
|
, ncurses
|
||||||
|
, wayland
|
||||||
, zlib
|
, zlib
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
buildNum = "2024-04-18-1396";
|
buildNum = "2024-06-26-1341";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "rgp";
|
pname = "rgp";
|
||||||
version = "2.1";
|
version = "2.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://gpuopen.com/download/radeon-developer-tool-suite/RadeonDeveloperToolSuite-${buildNum}.tgz";
|
url = "https://gpuopen.com/download/radeon-developer-tool-suite/RadeonDeveloperToolSuite-${buildNum}.tgz";
|
||||||
hash = "sha256-mP5tmq252IsWYVRGNKVib8ZbM5M4srUKXJ3x2ff4YhM=";
|
hash = "sha256-mpm4hxWyunq6Z6kdSuk4jqnYOTuLFVe+XzXZvHJPf/Q=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
|
nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
|
||||||
@ -51,6 +52,7 @@ stdenv.mkDerivation {
|
|||||||
libXi
|
libXi
|
||||||
libxkbcommon
|
libxkbcommon
|
||||||
ncurses
|
ncurses
|
||||||
|
wayland
|
||||||
zlib
|
zlib
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -65,13 +67,11 @@ stdenv.mkDerivation {
|
|||||||
# makeWrapper is needed so that executables are started from the opt
|
# makeWrapper is needed so that executables are started from the opt
|
||||||
# directory, where qt.conf and other tools are.
|
# directory, where qt.conf and other tools are.
|
||||||
# Unset Qt theme, it does not work if the nixos Qt version is different from the packaged one.
|
# Unset Qt theme, it does not work if the nixos Qt version is different from the packaged one.
|
||||||
# The packaged Qt version only supports X11, so enforce that.
|
|
||||||
makeWrapper \
|
makeWrapper \
|
||||||
$out/opt/rgp/$prog \
|
$out/opt/rgp/$prog \
|
||||||
$out/bin/$prog \
|
$out/bin/$prog \
|
||||||
--unset QT_QPA_PLATFORMTHEME \
|
--unset QT_QPA_PLATFORMTHEME \
|
||||||
--unset QT_STYLE_OVERRIDE \
|
--unset QT_STYLE_OVERRIDE \
|
||||||
--set QT_QPA_PLATFORM xcb \
|
|
||||||
--prefix LD_LIBRARY_PATH : $out/opt/rgp/lib
|
--prefix LD_LIBRARY_PATH : $out/opt/rgp/lib
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import ./common.nix {
|
import ./common.nix {
|
||||||
version = "11.0.22";
|
version = "11.0.23";
|
||||||
hash = "sha256-afFuUZ1csDuE60m+WKMriU/wObBZleTORLOCFU8qcJk=";
|
hash = "sha256-ISsDetefL9ow5aZ7vcSG1BgGwBO0FtDrd741mi8ORiY=";
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import ./common.nix {
|
import ./common.nix {
|
||||||
version = "12.0.11";
|
version = "12.0.12";
|
||||||
hash = "sha256-5fZMHb2ZpkoAFY/v124F+99Kq9vZypSYrG8QmQ/RK6k=";
|
hash = "sha256-CFdVT+AYK2KvXRzqMtTLz89BsXSuPolv+2u8EbTsil4=";
|
||||||
}
|
}
|
||||||
|
@ -31,13 +31,7 @@ stdenv.mkDerivation rec {
|
|||||||
expat
|
expat
|
||||||
];
|
];
|
||||||
|
|
||||||
CXXFLAGS = lib.concatStringsSep " " (lib.optionals stdenv.isDarwin [
|
CXXFLAGS = "-std=c++98";
|
||||||
# see upstream bug: http://sphinxsearch.com/bugs/view.php?id=2578
|
|
||||||
# workaround for "error: invalid suffix on literal
|
|
||||||
"-Wno-reserved-user-defined-literal"
|
|
||||||
# workaround for "error: non-constant-expression cannot be narrowed from type 'long' to 'int'"
|
|
||||||
"-Wno-c++11-narrowing"
|
|
||||||
]);
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Open source full text search server";
|
description = "Open source full text search server";
|
||||||
|
@ -6,13 +6,13 @@
|
|||||||
|
|
||||||
pythonPackages.buildPythonApplication rec {
|
pythonPackages.buildPythonApplication rec {
|
||||||
pname = "patroni";
|
pname = "patroni";
|
||||||
version = "4.0.0";
|
version = "4.0.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "zalando";
|
owner = "zalando";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
sha256 = "sha256-C0YjLak/m8ZMCzR5x22zjCATvzs72l56GRccN0Gur+4=";
|
sha256 = "sha256-0Eqk9X/qO9MkETaVIOCS6vyvywAK175/CDCNHH+YatQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with pythonPackages; [
|
propagatedBuildInputs = with pythonPackages; [
|
||||||
|
@ -1,22 +1,26 @@
|
|||||||
{ lib
|
{
|
||||||
, stdenv
|
lib,
|
||||||
, fetchFromGitHub
|
stdenv,
|
||||||
, rustPlatform
|
fetchFromGitHub,
|
||||||
, darwin
|
rustPlatform,
|
||||||
|
darwin,
|
||||||
|
nix-update-script,
|
||||||
|
testers,
|
||||||
|
pgcat,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "pgcat";
|
pname = "pgcat";
|
||||||
version = "1.1.1";
|
version = "1.2.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "postgresml";
|
owner = "postgresml";
|
||||||
repo = "pgcat";
|
repo = "pgcat";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-BERxdGgPk8POnhLsyy4lKV4LCoHsJTmv2OhAOz6CKKc=";
|
hash = "sha256-DHXUhAAOmPSt4aVp93I1y69of+MEboXJBZH50mzQTm8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-GwcqR8pEvz42NEmcuXpcoPdChzRBYsDEnllX62T8ulQ=";
|
cargoHash = "sha256-QqwUEbWKSUuxzYjWpVpQuKZDiNib1gM2eZJ4y7XIzXY=";
|
||||||
|
|
||||||
buildInputs = lib.optionals stdenv.isDarwin [
|
buildInputs = lib.optionals stdenv.isDarwin [
|
||||||
darwin.apple_sdk.frameworks.Security
|
darwin.apple_sdk.frameworks.Security
|
||||||
@ -24,28 +28,21 @@ rustPlatform.buildRustPackage rec {
|
|||||||
|
|
||||||
checkFlags = [
|
checkFlags = [
|
||||||
# requires network access
|
# requires network access
|
||||||
"--skip=dns_cache::CachedResolver::lookup_ip"
|
"--skip=dns_cache"
|
||||||
"--skip=dns_cache::CachedResolver::new"
|
|
||||||
"--skip=dns_cache::CachedResolver"
|
|
||||||
"--skip=dns_cache::tests::has_changed"
|
|
||||||
"--skip=dns_cache::tests::incorrect_address"
|
|
||||||
"--skip=dns_cache::tests::lookup_ip"
|
|
||||||
"--skip=dns_cache::tests::new"
|
|
||||||
"--skip=dns_cache::tests::thread"
|
|
||||||
"--skip=dns_cache::tests::unknown_host"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
doInstallCheck = true;
|
passthru = {
|
||||||
installCheckPhase = ''
|
updateScript = nix-update-script { };
|
||||||
$out/bin/pgcat --version | grep "pgcat ${version}"
|
tests.version = testers.testVersion { package = pgcat; };
|
||||||
'';
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/postgresml/pgcat";
|
homepage = "https://github.com/postgresml/pgcat";
|
||||||
description = "PostgreSQL pooler with sharding, load balancing and failover support";
|
description = "PostgreSQL pooler with sharding, load balancing and failover support";
|
||||||
license = with licenses; [mit];
|
changelog = "https://github.com/postgresml/pgcat/releases";
|
||||||
|
license = with licenses; [ mit ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [cathalmullan];
|
maintainers = with maintainers; [ cathalmullan ];
|
||||||
mainProgram = "pgcat";
|
mainProgram = "pgcat";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -4,17 +4,20 @@
|
|||||||
, pkg-config
|
, pkg-config
|
||||||
, cctools
|
, cctools
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
|
, mesa
|
||||||
, python3
|
, python3
|
||||||
|
, runCommand
|
||||||
, vulkan-headers
|
, vulkan-headers
|
||||||
, vulkan-loader
|
, vulkan-loader
|
||||||
, vulkan-validation-layers
|
, vulkan-validation-layers
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
|
# From https://github.com/google/amber/blob/main/DEPS
|
||||||
glslang = fetchFromGitHub {
|
glslang = fetchFromGitHub {
|
||||||
owner = "KhronosGroup";
|
owner = "KhronosGroup";
|
||||||
repo = "glslang";
|
repo = "glslang";
|
||||||
rev = "81cc10a498b25a90147cccd6e8939493c1e9e20e";
|
rev = "e8dd0b6903b34f1879520b444634c75ea2deedf5";
|
||||||
hash = "sha256-jTOxZ1nU7kvtdWjPzyIp/5ZeKw3JtYyqhlFeIE7CyX8=";
|
hash = "sha256-B6jVCeoFjd2H6+7tIses+Kj8DgHS6E2dkVzQAIzDHEc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
lodepng = fetchFromGitHub {
|
lodepng = fetchFromGitHub {
|
||||||
@ -27,34 +30,34 @@ let
|
|||||||
shaderc = fetchFromGitHub {
|
shaderc = fetchFromGitHub {
|
||||||
owner = "google";
|
owner = "google";
|
||||||
repo = "shaderc";
|
repo = "shaderc";
|
||||||
rev = "e72186b66bb90ed06aaf15cbdc9a053581a0616b";
|
rev = "f59f0d11b80fd622383199c867137ededf89d43b";
|
||||||
hash = "sha256-hd1IGsWksgAfB8Mq5yZOzSyNGxXsCJxb350pD/Gcskk=";
|
hash = "sha256-kHz8Io5GZDWv1FjPyBWRpnKhGygKhSU4L9zl/AKXZlU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
spirv-headers = fetchFromGitHub {
|
spirv-headers = fetchFromGitHub {
|
||||||
owner = "KhronosGroup";
|
owner = "KhronosGroup";
|
||||||
repo = "SPIRV-Headers";
|
repo = "SPIRV-Headers";
|
||||||
rev = "d13b52222c39a7e9a401b44646f0ca3a640fbd47";
|
rev = "5e3ad389ee56fca27c9705d093ae5387ce404df4";
|
||||||
hash = "sha256-bjiWGSmpEbydXtCLP8fRZfPBvdCzBoJxKXTx3BroQbg=";
|
hash = "sha256-gjF5mVTXqU/GZzr2S6oKGChgvqqHcQSrEq/ePP2yJys=";
|
||||||
};
|
};
|
||||||
|
|
||||||
spirv-tools = fetchFromGitHub {
|
spirv-tools = fetchFromGitHub {
|
||||||
owner = "KhronosGroup";
|
owner = "KhronosGroup";
|
||||||
repo = "SPIRV-Tools";
|
repo = "SPIRV-Tools";
|
||||||
rev = "d87f61605b3647fbceae9aaa922fce0031afdc63";
|
rev = "9241a58a8028c49510bc174b6c970e3c2b4b8e51";
|
||||||
hash = "sha256-lB2i6wjehIFDOQdIPUvCy3zzcnJSsR5vNawPhGmb0es=";
|
hash = "sha256-0qHUpwNDJI2jV4h68QaTNPIwTPxwTt0iAUnMXqFCiJE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "amber";
|
pname = "amber";
|
||||||
version = "unstable-2023-09-02";
|
version = "unstable-2024-08-21";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "google";
|
owner = "google";
|
||||||
repo = pname;
|
repo = "amber";
|
||||||
rev = "8e90b2d2f532bcd4a80069e3f37a9698209a21bc";
|
rev = "66399a35927606a435bf7a59756e87e6cb5a0013";
|
||||||
hash = "sha256-LuNCND/NXoNbbTWv7RYQUkq2QXL1qXR27uHwFIz0DXg=";
|
hash = "sha256-PCO64zI/vzp4HyGz5WpeYpCBeaWjTvz1punWsTz1yiM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
@ -92,10 +95,53 @@ stdenv.mkDerivation rec {
|
|||||||
--suffix VK_LAYER_PATH : ${vulkan-validation-layers}/share/vulkan/explicit_layer.d
|
--suffix VK_LAYER_PATH : ${vulkan-validation-layers}/share/vulkan/explicit_layer.d
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru.tests.lavapipe = runCommand "vulkan-cts-tests-lavapipe" {
|
||||||
|
nativeBuildInputs = [ finalAttrs.finalPackage mesa.llvmpipeHook ];
|
||||||
|
} ''
|
||||||
|
cat > test.amber <<EOF
|
||||||
|
#!amber
|
||||||
|
# Simple amber compute shader.
|
||||||
|
|
||||||
|
SHADER compute kComputeShader GLSL
|
||||||
|
#version 450
|
||||||
|
|
||||||
|
layout(binding = 3) buffer block {
|
||||||
|
uvec2 values[];
|
||||||
|
};
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
values[gl_WorkGroupID.x + gl_WorkGroupID.y * gl_NumWorkGroups.x] =
|
||||||
|
gl_WorkGroupID.xy;
|
||||||
|
}
|
||||||
|
END # shader
|
||||||
|
|
||||||
|
BUFFER kComputeBuffer DATA_TYPE vec2<int32> SIZE 524288 FILL 0
|
||||||
|
|
||||||
|
PIPELINE compute kComputePipeline
|
||||||
|
ATTACH kComputeShader
|
||||||
|
BIND BUFFER kComputeBuffer AS storage DESCRIPTOR_SET 0 BINDING 3
|
||||||
|
END # pipeline
|
||||||
|
|
||||||
|
RUN kComputePipeline 256 256 1
|
||||||
|
|
||||||
|
# Four corners
|
||||||
|
EXPECT kComputeBuffer IDX 0 EQ 0 0
|
||||||
|
EXPECT kComputeBuffer IDX 2040 EQ 255 0
|
||||||
|
EXPECT kComputeBuffer IDX 522240 EQ 0 255
|
||||||
|
EXPECT kComputeBuffer IDX 524280 EQ 255 255
|
||||||
|
|
||||||
|
# Center
|
||||||
|
EXPECT kComputeBuffer IDX 263168 EQ 128 128
|
||||||
|
EOF
|
||||||
|
|
||||||
|
amber test.amber
|
||||||
|
touch $out
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Multi-API shader test framework";
|
description = "Multi-API shader test framework";
|
||||||
homepage = "https://github.com/google/amber";
|
homepage = "https://github.com/google/amber";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ Flakebi ];
|
maintainers = with maintainers; [ Flakebi ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
@ -28,11 +28,11 @@ let
|
|||||||
sslPkg = sslPkgs.${sslLibrary};
|
sslPkg = sslPkgs.${sslLibrary};
|
||||||
in stdenv.mkDerivation (finalAttrs: {
|
in stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "haproxy";
|
pname = "haproxy";
|
||||||
version = "3.0.3";
|
version = "3.0.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.haproxy.org/download/${lib.versions.majorMinor finalAttrs.version}/src/haproxy-${finalAttrs.version}.tar.gz";
|
url = "https://www.haproxy.org/download/${lib.versions.majorMinor finalAttrs.version}/src/haproxy-${finalAttrs.version}.tar.gz";
|
||||||
hash = "sha256-Oac8GHoLANJgLLP/ylLRtZ2Q8JAyc0/owD6y4pp9Gd8=";
|
hash = "sha256-qr/ZitpyG7+2j3gFWGztA3P7TI1z4Y+qlAVaFsIJaTY";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ sslPkg zlib libxcrypt ]
|
buildInputs = [ sslPkg zlib libxcrypt ]
|
||||||
|
@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://downloadmirror.intel.com/736634/mlc_v${version}.tgz";
|
url = "https://downloadmirror.intel.com/736634/mlc_v${version}.tgz";
|
||||||
sha256 = "3vNI/CQwyY4KMFest1wkVYecsxigjXyGIUIKai979W4=";
|
sha256 = "EDa5V56qCPQxgCu4eddYiWDrk7vkYS0jisnG004L+jQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = "Linux";
|
sourceRoot = "Linux";
|
||||||
|
@ -464,6 +464,7 @@ mapAliases ({
|
|||||||
firmwareLinuxNonfree = linux-firmware; # Added 2022-01-09
|
firmwareLinuxNonfree = linux-firmware; # Added 2022-01-09
|
||||||
fishfight = jumpy; # Added 2022-08-03
|
fishfight = jumpy; # Added 2022-08-03
|
||||||
fitnesstrax = throw "fitnesstrax was removed from nixpkgs because it disappeared upstream and no longer compiles"; # added 2023-07-04
|
fitnesstrax = throw "fitnesstrax was removed from nixpkgs because it disappeared upstream and no longer compiles"; # added 2023-07-04
|
||||||
|
fit-trackee = fittrackee; # added 2024-09-03
|
||||||
flashrom-stable = flashprog; # Added 2024-03-01
|
flashrom-stable = flashprog; # Added 2024-03-01
|
||||||
flatbuffers_2_0 = flatbuffers; # Added 2022-05-12
|
flatbuffers_2_0 = flatbuffers; # Added 2022-05-12
|
||||||
flintqs = throw "FlintQS has been removed due to lack of maintenance and security issues; use SageMath or FLINT instead"; # Added 2024-03-21
|
flintqs = throw "FlintQS has been removed due to lack of maintenance and security issues; use SageMath or FLINT instead"; # Added 2024-03-21
|
||||||
|
@ -18850,8 +18850,6 @@ with pkgs;
|
|||||||
|
|
||||||
shellharden = callPackage ../development/tools/shellharden { };
|
shellharden = callPackage ../development/tools/shellharden { };
|
||||||
|
|
||||||
schemaspy = callPackage ../development/tools/database/schemaspy { };
|
|
||||||
|
|
||||||
scenebuilder = callPackage ../development/tools/scenebuilder { };
|
scenebuilder = callPackage ../development/tools/scenebuilder { };
|
||||||
|
|
||||||
scenic-view = callPackage ../development/tools/scenic-view { };
|
scenic-view = callPackage ../development/tools/scenic-view { };
|
||||||
@ -25949,8 +25947,6 @@ with pkgs;
|
|||||||
|
|
||||||
### SERVERS / GEOSPATIAL
|
### SERVERS / GEOSPATIAL
|
||||||
|
|
||||||
fit-trackee = callPackage ../servers/geospatial/fit-trackee { };
|
|
||||||
|
|
||||||
martin = callPackage ../servers/geospatial/martin {
|
martin = callPackage ../servers/geospatial/martin {
|
||||||
inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
|
inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
|
||||||
};
|
};
|
||||||
@ -28903,7 +28899,7 @@ with pkgs;
|
|||||||
|
|
||||||
backintime-common = callPackage ../applications/networking/sync/backintime/common.nix { };
|
backintime-common = callPackage ../applications/networking/sync/backintime/common.nix { };
|
||||||
|
|
||||||
backintime-qt = libsForQt5.callPackage ../applications/networking/sync/backintime/qt.nix { };
|
backintime-qt = qt6.callPackage ../applications/networking/sync/backintime/qt.nix { };
|
||||||
|
|
||||||
backintime = backintime-qt;
|
backintime = backintime-qt;
|
||||||
|
|
||||||
@ -31877,10 +31873,6 @@ with pkgs;
|
|||||||
|
|
||||||
clerk = callPackage ../applications/audio/clerk { };
|
clerk = callPackage ../applications/audio/clerk { };
|
||||||
|
|
||||||
jujutsu = callPackage ../applications/version-management/jujutsu {
|
|
||||||
inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
|
|
||||||
};
|
|
||||||
|
|
||||||
nbstripout = callPackage ../applications/version-management/nbstripout { };
|
nbstripout = callPackage ../applications/version-management/nbstripout { };
|
||||||
|
|
||||||
ncmpc = callPackage ../applications/audio/ncmpc { };
|
ncmpc = callPackage ../applications/audio/ncmpc { };
|
||||||
@ -32819,9 +32811,17 @@ with pkgs;
|
|||||||
eiskaltdcpp = libsForQt5.callPackage ../applications/networking/p2p/eiskaltdcpp { };
|
eiskaltdcpp = libsForQt5.callPackage ../applications/networking/p2p/eiskaltdcpp { };
|
||||||
|
|
||||||
qemu = callPackage ../applications/virtualization/qemu {
|
qemu = callPackage ../applications/virtualization/qemu {
|
||||||
inherit (darwin.apple_sdk.frameworks) CoreServices Cocoa Hypervisor vmnet;
|
inherit (darwin.apple_sdk_12_3.frameworks) CoreServices Cocoa Hypervisor Kernel vmnet;
|
||||||
inherit (darwin.stubs) rez setfile;
|
inherit (darwin.stubs) rez setfile;
|
||||||
inherit (darwin) sigtool;
|
inherit (darwin) sigtool;
|
||||||
|
stdenv =
|
||||||
|
if stdenv.hostPlatform.isDarwin then
|
||||||
|
overrideSDK stdenv {
|
||||||
|
darwinSdkVersion = "12.3";
|
||||||
|
darwinMinVersion = "12.0";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
stdenv;
|
||||||
};
|
};
|
||||||
|
|
||||||
qemu-python-utils = python3Packages.toPythonApplication (
|
qemu-python-utils = python3Packages.toPythonApplication (
|
||||||
|
@ -6616,6 +6616,8 @@ self: super: with self; {
|
|||||||
|
|
||||||
kaldi-active-grammar = callPackage ../development/python-modules/kaldi-active-grammar { };
|
kaldi-active-grammar = callPackage ../development/python-modules/kaldi-active-grammar { };
|
||||||
|
|
||||||
|
kaleido = callPackage ../development/python-modules/kaleido { };
|
||||||
|
|
||||||
kanidm = callPackage ../development/python-modules/kanidm { };
|
kanidm = callPackage ../development/python-modules/kanidm { };
|
||||||
|
|
||||||
kaptan = callPackage ../development/python-modules/kaptan { };
|
kaptan = callPackage ../development/python-modules/kaptan { };
|
||||||
|
Loading…
Reference in New Issue
Block a user