mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-14 05:29:20 +03:00
Merge master into staging-next
This commit is contained in:
commit
7b793f256a
63 changed files with 1612 additions and 1123 deletions
|
@ -46,7 +46,7 @@ def to_sri(hash):
|
||||||
|
|
||||||
@click.command
|
@click.command
|
||||||
@click.argument(
|
@click.argument(
|
||||||
"set",
|
"pkgset",
|
||||||
type=click.Choice(["frameworks", "gear", "plasma"]),
|
type=click.Choice(["frameworks", "gear", "plasma"]),
|
||||||
required=True
|
required=True
|
||||||
)
|
)
|
||||||
|
@ -71,9 +71,9 @@ def to_sri(hash):
|
||||||
type=str,
|
type=str,
|
||||||
default=None,
|
default=None,
|
||||||
)
|
)
|
||||||
def main(set: str, version: str, nixpkgs: pathlib.Path, sources_url: str | None):
|
def main(pkgset: str, version: str, nixpkgs: pathlib.Path, sources_url: str | None):
|
||||||
root_dir = nixpkgs / "pkgs/kde"
|
root_dir = nixpkgs / "pkgs/kde"
|
||||||
set_dir = root_dir / set
|
set_dir = root_dir / pkgset
|
||||||
generated_dir = root_dir / "generated"
|
generated_dir = root_dir / "generated"
|
||||||
metadata = utils.KDERepoMetadata.from_json(generated_dir)
|
metadata = utils.KDERepoMetadata.from_json(generated_dir)
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ def main(set: str, version: str, nixpkgs: pathlib.Path, sources_url: str | None)
|
||||||
"frameworks": f"frameworks/{version}/",
|
"frameworks": f"frameworks/{version}/",
|
||||||
"gear": f"release-service/{version}/src/",
|
"gear": f"release-service/{version}/src/",
|
||||||
"plasma": f"plasma/{version}/",
|
"plasma": f"plasma/{version}/",
|
||||||
}[set]
|
}[pkgset]
|
||||||
sources_url = f"https://download.kde.org/stable/{set_url}"
|
sources_url = f"https://download.kde.org/stable/{set_url}"
|
||||||
|
|
||||||
client = httpx.Client()
|
client = httpx.Client()
|
||||||
|
@ -91,6 +91,7 @@ def main(set: str, version: str, nixpkgs: pathlib.Path, sources_url: str | None)
|
||||||
bs = bs4.BeautifulSoup(sources.text, features="html.parser")
|
bs = bs4.BeautifulSoup(sources.text, features="html.parser")
|
||||||
|
|
||||||
results = {}
|
results = {}
|
||||||
|
projects_to_update_rust = set()
|
||||||
for item in bs.select("tr")[3:]:
|
for item in bs.select("tr")[3:]:
|
||||||
link = item.select_one("td:nth-child(2) a")
|
link = item.select_one("td:nth-child(2) a")
|
||||||
if not link:
|
if not link:
|
||||||
|
@ -101,6 +102,9 @@ def main(set: str, version: str, nixpkgs: pathlib.Path, sources_url: str | None)
|
||||||
if project_name not in metadata.projects_by_name:
|
if project_name not in metadata.projects_by_name:
|
||||||
print(f"Warning: unknown tarball: {project_name}")
|
print(f"Warning: unknown tarball: {project_name}")
|
||||||
|
|
||||||
|
if project_name in PROJECTS_WITH_RUST:
|
||||||
|
projects_to_update_rust.add(project_name)
|
||||||
|
|
||||||
if version_and_ext.endswith(".sig"):
|
if version_and_ext.endswith(".sig"):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
@ -126,19 +130,8 @@ def main(set: str, version: str, nixpkgs: pathlib.Path, sources_url: str | None)
|
||||||
pkg_dir = set_dir / project_name
|
pkg_dir = set_dir / project_name
|
||||||
pkg_file = pkg_dir / "default.nix"
|
pkg_file = pkg_dir / "default.nix"
|
||||||
|
|
||||||
if project_name in PROJECTS_WITH_RUST:
|
|
||||||
print(f"Updating cargoDeps hash for {set}/{project_name}...")
|
|
||||||
subprocess.run([
|
|
||||||
"nix-update",
|
|
||||||
f"kdePackages.{project_name}",
|
|
||||||
"--version",
|
|
||||||
"skip",
|
|
||||||
"--override-filename",
|
|
||||||
pkg_file
|
|
||||||
])
|
|
||||||
|
|
||||||
if not pkg_file.exists():
|
if not pkg_file.exists():
|
||||||
print(f"Generated new package: {set}/{project_name}")
|
print(f"Generated new package: {pkgset}/{project_name}")
|
||||||
pkg_dir.mkdir(parents=True, exist_ok=True)
|
pkg_dir.mkdir(parents=True, exist_ok=True)
|
||||||
with pkg_file.open("w") as fd:
|
with pkg_file.open("w") as fd:
|
||||||
fd.write(LEAF_TEMPLATE.render(pname=project_name) + "\n")
|
fd.write(LEAF_TEMPLATE.render(pname=project_name) + "\n")
|
||||||
|
@ -149,9 +142,20 @@ def main(set: str, version: str, nixpkgs: pathlib.Path, sources_url: str | None)
|
||||||
|
|
||||||
sources_dir = generated_dir / "sources"
|
sources_dir = generated_dir / "sources"
|
||||||
sources_dir.mkdir(parents=True, exist_ok=True)
|
sources_dir.mkdir(parents=True, exist_ok=True)
|
||||||
with (sources_dir / f"{set}.json").open("w") as fd:
|
with (sources_dir / f"{pkgset}.json").open("w") as fd:
|
||||||
json.dump(results, fd, indent=2)
|
json.dump(results, fd, indent=2)
|
||||||
|
|
||||||
|
for project_name in projects_to_update_rust:
|
||||||
|
print(f"Updating cargoDeps hash for {pkgset}/{project_name}...")
|
||||||
|
subprocess.run([
|
||||||
|
"nix-update",
|
||||||
|
f"kdePackages.{project_name}",
|
||||||
|
"--version",
|
||||||
|
"skip",
|
||||||
|
"--override-filename",
|
||||||
|
pkg_file
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main() # type: ignore
|
main() # type: ignore
|
||||||
|
|
|
@ -131,9 +131,9 @@ in
|
||||||
description = "evremap - keyboard input remapper";
|
description = "evremap - keyboard input remapper";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
script = "${lib.getExe pkgs.evremap} remap ${configFile}";
|
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
|
ExecStart = "${lib.getExe pkgs.evremap} remap ${configFile}";
|
||||||
|
|
||||||
DynamicUser = true;
|
DynamicUser = true;
|
||||||
User = "evremap";
|
User = "evremap";
|
||||||
SupplementaryGroups = [
|
SupplementaryGroups = [
|
||||||
|
|
|
@ -63,7 +63,7 @@ in
|
||||||
};
|
};
|
||||||
source = lib.mkIf cfg.useNetworkingTimeServers (
|
source = lib.mkIf cfg.useNetworkingTimeServers (
|
||||||
map (ts: {
|
map (ts: {
|
||||||
mode = "server";
|
mode = if lib.strings.hasInfix "pool" ts then "pool" else "server";
|
||||||
address = ts;
|
address = ts;
|
||||||
}) config.networking.timeServers
|
}) config.networking.timeServers
|
||||||
);
|
);
|
||||||
|
|
|
@ -8,15 +8,27 @@ let
|
||||||
cfg = config.services.glance;
|
cfg = config.services.glance;
|
||||||
|
|
||||||
inherit (lib)
|
inherit (lib)
|
||||||
mkEnableOption
|
catAttrs
|
||||||
mkPackageOption
|
concatMapStrings
|
||||||
mkOption
|
|
||||||
mkIf
|
|
||||||
getExe
|
getExe
|
||||||
|
mkEnableOption
|
||||||
|
mkIf
|
||||||
|
mkOption
|
||||||
|
mkPackageOption
|
||||||
types
|
types
|
||||||
;
|
;
|
||||||
|
|
||||||
|
inherit (builtins)
|
||||||
|
concatLists
|
||||||
|
isAttrs
|
||||||
|
isList
|
||||||
|
attrNames
|
||||||
|
getAttr
|
||||||
|
;
|
||||||
|
|
||||||
settingsFormat = pkgs.formats.yaml { };
|
settingsFormat = pkgs.formats.yaml { };
|
||||||
|
settingsFile = settingsFormat.generate "glance.yaml" cfg.settings;
|
||||||
|
mergedSettingsFile = "/run/glance/glance.yaml";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.services.glance = {
|
options.services.glance = {
|
||||||
|
@ -69,7 +81,9 @@ in
|
||||||
{ type = "calendar"; }
|
{ type = "calendar"; }
|
||||||
{
|
{
|
||||||
type = "weather";
|
type = "weather";
|
||||||
location = "Nivelles, Belgium";
|
location = {
|
||||||
|
_secret = "/var/lib/secrets/glance/location";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -84,6 +98,13 @@ in
|
||||||
Configuration written to a yaml file that is read by glance. See
|
Configuration written to a yaml file that is read by glance. See
|
||||||
<https://github.com/glanceapp/glance/blob/main/docs/configuration.md>
|
<https://github.com/glanceapp/glance/blob/main/docs/configuration.md>
|
||||||
for more.
|
for more.
|
||||||
|
|
||||||
|
Settings containing secret data should be set to an
|
||||||
|
attribute set containing the attribute
|
||||||
|
<literal>_secret</literal> - a string pointing to a file
|
||||||
|
containing the value the option should be set to. See the
|
||||||
|
example in `services.glance.settings.pages` at the weather widget
|
||||||
|
with a location secret to get a better picture of this.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -102,13 +123,41 @@ in
|
||||||
description = "Glance feed dashboard server";
|
description = "Glance feed dashboard server";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
|
path = [ pkgs.replace-secret ];
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart =
|
ExecStartPre =
|
||||||
let
|
let
|
||||||
glance-yaml = settingsFormat.generate "glance.yaml" cfg.settings;
|
findSecrets =
|
||||||
|
data:
|
||||||
|
if isAttrs data then
|
||||||
|
if data ? _secret then
|
||||||
|
[ data ]
|
||||||
|
else
|
||||||
|
concatLists (map (attr: findSecrets (getAttr attr data)) (attrNames data))
|
||||||
|
else if isList data then
|
||||||
|
concatLists (map findSecrets data)
|
||||||
|
else
|
||||||
|
[ ];
|
||||||
|
secretPaths = catAttrs "_secret" (findSecrets cfg.settings);
|
||||||
|
mkSecretReplacement = secretPath: ''
|
||||||
|
replace-secret ${
|
||||||
|
lib.escapeShellArgs [
|
||||||
|
"_secret: ${secretPath}"
|
||||||
|
secretPath
|
||||||
|
mergedSettingsFile
|
||||||
|
]
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
secretReplacements = concatMapStrings mkSecretReplacement secretPaths;
|
||||||
in
|
in
|
||||||
"${getExe cfg.package} --config ${glance-yaml}";
|
# Use "+" to run as root because the secrets may not be accessible to glance
|
||||||
|
"+"
|
||||||
|
+ pkgs.writeShellScript "glance-start-pre" ''
|
||||||
|
install -m 600 -o $USER ${settingsFile} ${mergedSettingsFile}
|
||||||
|
${secretReplacements}
|
||||||
|
'';
|
||||||
|
ExecStart = "${getExe cfg.package} --config ${mergedSettingsFile}";
|
||||||
WorkingDirectory = "/var/lib/glance";
|
WorkingDirectory = "/var/lib/glance";
|
||||||
StateDirectory = "glance";
|
StateDirectory = "glance";
|
||||||
RuntimeDirectory = "glance";
|
RuntimeDirectory = "glance";
|
||||||
|
|
|
@ -55,6 +55,9 @@ let
|
||||||
// lib.optionalAttrs cfg.smtp.authenticate { SMTP_LOGIN = cfg.smtp.user; }
|
// lib.optionalAttrs cfg.smtp.authenticate { SMTP_LOGIN = cfg.smtp.user; }
|
||||||
// lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_HOST = cfg.elasticsearch.host; }
|
// lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_HOST = cfg.elasticsearch.host; }
|
||||||
// lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_PORT = toString cfg.elasticsearch.port; }
|
// lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_PORT = toString cfg.elasticsearch.port; }
|
||||||
|
// lib.optionalAttrs (cfg.elasticsearch.host != null && cfg.elasticsearch.prefix != null) {
|
||||||
|
ES_PREFIX = cfg.elasticsearch.prefix;
|
||||||
|
}
|
||||||
// lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_PRESET = cfg.elasticsearch.preset; }
|
// lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_PRESET = cfg.elasticsearch.preset; }
|
||||||
// lib.optionalAttrs (cfg.elasticsearch.user != null) { ES_USER = cfg.elasticsearch.user; }
|
// lib.optionalAttrs (cfg.elasticsearch.user != null) { ES_USER = cfg.elasticsearch.user; }
|
||||||
// cfg.extraConfig;
|
// cfg.extraConfig;
|
||||||
|
@ -670,6 +673,16 @@ in
|
||||||
default = 9200;
|
default = 9200;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
prefix = lib.mkOption {
|
||||||
|
description = ''
|
||||||
|
If provided, adds a prefix to indexes in Elasticsearch. This allows to use the same
|
||||||
|
Elasticsearch cluster between different projects or Mastodon servers.
|
||||||
|
'';
|
||||||
|
type = lib.types.nullOr lib.types.str;
|
||||||
|
default = null;
|
||||||
|
example = "mastodon";
|
||||||
|
};
|
||||||
|
|
||||||
preset = lib.mkOption {
|
preset = lib.mkOption {
|
||||||
description = ''
|
description = ''
|
||||||
It controls the ElasticSearch indices configuration (number of shards and replica).
|
It controls the ElasticSearch indices configuration (number of shards and replica).
|
||||||
|
|
|
@ -288,6 +288,7 @@ in
|
||||||
hardware.bluetooth.enable = mkDefault true;
|
hardware.bluetooth.enable = mkDefault true;
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
security.polkit.enable = true;
|
security.polkit.enable = true;
|
||||||
|
security.rtkit.enable = mkDefault true;
|
||||||
services.accounts-daemon.enable = true;
|
services.accounts-daemon.enable = true;
|
||||||
services.dleyna.enable = mkDefault true;
|
services.dleyna.enable = mkDefault true;
|
||||||
services.power-profiles-daemon.enable = mkDefault true;
|
services.power-profiles-daemon.enable = mkDefault true;
|
||||||
|
|
|
@ -206,7 +206,7 @@ in
|
||||||
];
|
];
|
||||||
|
|
||||||
# Otherwise GDM will not be able to start correctly and display Wayland sessions
|
# Otherwise GDM will not be able to start correctly and display Wayland sessions
|
||||||
systemd.packages = with pkgs.gnome; [
|
systemd.packages = [
|
||||||
gdm
|
gdm
|
||||||
pkgs.gnome-session
|
pkgs.gnome-session
|
||||||
pkgs.gnome-shell
|
pkgs.gnome-shell
|
||||||
|
|
|
@ -1296,7 +1296,7 @@ in
|
||||||
systemd-initrd-luks-unl0kr = handleTest ./systemd-initrd-luks-unl0kr.nix { };
|
systemd-initrd-luks-unl0kr = handleTest ./systemd-initrd-luks-unl0kr.nix { };
|
||||||
systemd-initrd-modprobe = handleTest ./systemd-initrd-modprobe.nix { };
|
systemd-initrd-modprobe = handleTest ./systemd-initrd-modprobe.nix { };
|
||||||
systemd-initrd-shutdown = handleTest ./systemd-shutdown.nix { systemdStage1 = true; };
|
systemd-initrd-shutdown = handleTest ./systemd-shutdown.nix { systemdStage1 = true; };
|
||||||
systemd-initrd-simple = handleTest ./systemd-initrd-simple.nix { };
|
systemd-initrd-simple = runTest ./systemd-initrd-simple.nix;
|
||||||
systemd-initrd-swraid = handleTest ./systemd-initrd-swraid.nix { };
|
systemd-initrd-swraid = handleTest ./systemd-initrd-swraid.nix { };
|
||||||
systemd-initrd-vconsole = handleTest ./systemd-initrd-vconsole.nix { };
|
systemd-initrd-vconsole = handleTest ./systemd-initrd-vconsole.nix { };
|
||||||
systemd-initrd-networkd = handleTest ./systemd-initrd-networkd.nix { };
|
systemd-initrd-networkd = handleTest ./systemd-initrd-networkd.nix { };
|
||||||
|
|
|
@ -5,19 +5,47 @@
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
machine_default =
|
machine_default =
|
||||||
{ pkgs, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
services.glance = {
|
services.glance = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
machine_custom_port =
|
machine_configured =
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
# Do not use this in production. This will make the secret world-readable
|
||||||
|
# in the Nix store
|
||||||
|
secrets.glance-location.path = builtins.toString (
|
||||||
|
pkgs.writeText "location-secret" "Nivelles, Belgium"
|
||||||
|
);
|
||||||
|
in
|
||||||
{
|
{
|
||||||
services.glance = {
|
services.glance = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.server.port = 5678;
|
settings = {
|
||||||
|
server.port = 5678;
|
||||||
|
pages = [
|
||||||
|
{
|
||||||
|
name = "Home";
|
||||||
|
columns = [
|
||||||
|
{
|
||||||
|
size = "full";
|
||||||
|
widgets = [
|
||||||
|
{ type = "calendar"; }
|
||||||
|
{
|
||||||
|
type = "weather";
|
||||||
|
location = {
|
||||||
|
_secret = secrets.glance-location.path;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -25,23 +53,31 @@
|
||||||
extraPythonPackages =
|
extraPythonPackages =
|
||||||
p: with p; [
|
p: with p; [
|
||||||
beautifulsoup4
|
beautifulsoup4
|
||||||
|
pyyaml
|
||||||
|
types-pyyaml
|
||||||
types-beautifulsoup4
|
types-beautifulsoup4
|
||||||
];
|
];
|
||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
from bs4 import BeautifulSoup
|
from bs4 import BeautifulSoup
|
||||||
|
import yaml
|
||||||
|
|
||||||
machine_default.start()
|
machine_default.start()
|
||||||
machine_default.wait_for_unit("glance.service")
|
machine_default.wait_for_unit("glance.service")
|
||||||
machine_default.wait_for_open_port(8080)
|
machine_default.wait_for_open_port(8080)
|
||||||
|
|
||||||
machine_custom_port.start()
|
machine_configured.start()
|
||||||
machine_custom_port.wait_for_unit("glance.service")
|
machine_configured.wait_for_unit("glance.service")
|
||||||
machine_custom_port.wait_for_open_port(5678)
|
machine_configured.wait_for_open_port(5678)
|
||||||
|
|
||||||
soup = BeautifulSoup(machine_default.succeed("curl http://localhost:8080"))
|
soup = BeautifulSoup(machine_default.succeed("curl http://localhost:8080"))
|
||||||
expected_version = "v${config.nodes.machine_default.services.glance.package.version}"
|
expected_version = "v${config.nodes.machine_default.services.glance.package.version}"
|
||||||
assert any(a.text == expected_version for a in soup.select(".footer a"))
|
assert any(a.text == expected_version for a in soup.select(".footer a"))
|
||||||
|
|
||||||
|
yaml_contents = machine_configured.succeed("cat /run/glance/glance.yaml")
|
||||||
|
yaml_parsed = yaml.load(yaml_contents, Loader=yaml.FullLoader)
|
||||||
|
location = yaml_parsed["pages"][0]["columns"][0]["widgets"][1]["location"]
|
||||||
|
assert location == "Nivelles, Belgium"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta.maintainers = [ lib.maintainers.drupol ];
|
meta.maintainers = [ lib.maintainers.drupol ];
|
||||||
|
|
|
@ -11,7 +11,7 @@ import ./make-test-python.nix (
|
||||||
client = {
|
client = {
|
||||||
services.ntpd-rs = {
|
services.ntpd-rs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
metrics.enable = true;
|
metrics.enable = false;
|
||||||
useNetworkingTimeServers = false;
|
useNetworkingTimeServers = false;
|
||||||
settings = {
|
settings = {
|
||||||
source = [
|
source = [
|
||||||
|
@ -27,11 +27,22 @@ import ./make-test-python.nix (
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
server = {
|
server = {
|
||||||
networking.firewall.allowedUDPPorts = [ 123 ];
|
networking.firewall = {
|
||||||
|
allowedTCPPorts = [
|
||||||
|
9975
|
||||||
|
];
|
||||||
|
allowedUDPPorts = [
|
||||||
|
123
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
services.ntpd-rs = {
|
services.ntpd-rs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
metrics.enable = true;
|
metrics.enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
observability = {
|
||||||
|
metrics-exporter-listen = "[::]:9975";
|
||||||
|
};
|
||||||
server = [
|
server = [
|
||||||
{ listen = "[::]:123"; }
|
{ listen = "[::]:123"; }
|
||||||
];
|
];
|
||||||
|
@ -48,8 +59,19 @@ import ./make-test-python.nix (
|
||||||
for machine in (server, client):
|
for machine in (server, client):
|
||||||
machine.wait_for_unit('multi-user.target')
|
machine.wait_for_unit('multi-user.target')
|
||||||
machine.succeed('systemctl is-active ntpd-rs.service')
|
machine.succeed('systemctl is-active ntpd-rs.service')
|
||||||
machine.succeed('systemctl is-active ntpd-rs-metrics.service')
|
|
||||||
machine.succeed('curl http://localhost:9975/metrics | grep ntp_uptime_seconds')
|
client.fail('systemctl is-active ntpd-rs-metrics.service')
|
||||||
|
server.succeed('systemctl is-active ntpd-rs-metrics.service')
|
||||||
|
|
||||||
|
server.wait_for_open_port(9975)
|
||||||
|
client.succeed('curl http://server:9975/metrics | grep ntp_uptime_seconds')
|
||||||
|
server.fail('curl --fail --connect-timeout 2 http://client:9975/metrics | grep ntp_uptime_seconds')
|
||||||
|
|
||||||
|
client.succeed("ntp-ctl status | grep server:123")
|
||||||
|
server.succeed("ntp-ctl status | grep '\[::\]:123'")
|
||||||
|
|
||||||
|
client.succeed("grep '^mode = \"server\"' $(systemctl status ntpd-rs | grep -oE '/nix/store[^ ]*ntpd-rs.toml')")
|
||||||
|
server.succeed("grep '^mode = \"pool\"' $(systemctl status ntpd-rs | grep -oE '/nix/store[^ ]*ntpd-rs.toml')")
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
import ./make-test-python.nix (
|
|
||||||
{ lib, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
name = "systemd-initrd-simple";
|
name = "systemd-initrd-simple";
|
||||||
|
|
||||||
|
@ -11,7 +9,9 @@ import ./make-test-python.nix (
|
||||||
virtualisation.fileSystems."/".autoResize = true;
|
virtualisation.fileSystems."/".autoResize = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript = ''
|
testScript =
|
||||||
|
# python
|
||||||
|
''
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
with subtest("testing initrd backdoor"):
|
with subtest("testing initrd backdoor"):
|
||||||
|
@ -50,6 +50,8 @@ import ./make-test-python.nix (
|
||||||
newAvail = machine.succeed("df --output=avail / | sed 1d")
|
newAvail = machine.succeed("df --output=avail / | sed 1d")
|
||||||
|
|
||||||
assert int(oldAvail) < int(newAvail), "File system did not grow"
|
assert int(oldAvail) < int(newAvail), "File system did not grow"
|
||||||
|
|
||||||
|
with subtest("no warnings from systemd about write permissions"):
|
||||||
|
machine.fail("journalctl -b 0 | grep 'is marked world-writable, which is a security risk as it is executed with privileges'")
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
)
|
|
||||||
|
|
|
@ -26,8 +26,6 @@ let
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
# Requires to be installed in "/Application" which is not possible for now (https://github.com/NixOS/nixpkgs/issues/254944)
|
|
||||||
broken = stdenv.hostPlatform.isDarwin;
|
|
||||||
description = "Multi-platform password manager";
|
description = "Multi-platform password manager";
|
||||||
homepage = "https://1password.com/";
|
homepage = "https://1password.com/";
|
||||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||||
|
|
|
@ -19,20 +19,20 @@
|
||||||
},
|
},
|
||||||
"beta": {
|
"beta": {
|
||||||
"x86_64-linux": {
|
"x86_64-linux": {
|
||||||
"url": "https://downloads.1password.com/linux/tar/beta/x86_64/1password-8.10.70-24.BETA.x64.tar.gz",
|
"url": "https://downloads.1password.com/linux/tar/beta/x86_64/1password-8.10.76-32.BETA.x64.tar.gz",
|
||||||
"hash": "sha256-XNub6kGh2QH2WQKh0Hj6IBVQENfe5YIaOtRV+pkuioc="
|
"hash": "sha256-149kU1CKQ0iLlD6O7jOjrcwwlxMdd5iAm53ILK2mv2o="
|
||||||
},
|
},
|
||||||
"aarch64-linux": {
|
"aarch64-linux": {
|
||||||
"url": "https://downloads.1password.com/linux/tar/beta/aarch64/1password-8.10.70-24.BETA.arm64.tar.gz",
|
"url": "https://downloads.1password.com/linux/tar/beta/aarch64/1password-8.10.76-32.BETA.arm64.tar.gz",
|
||||||
"hash": "sha256-wqpSPCGFiDioIzhUyVCEBfRval13mu0dMSs4oIt+RIU="
|
"hash": "sha256-xHurzI8OcooSOCkQlSgtOH1Bgdur2oO1sNwKUOvSckA="
|
||||||
},
|
},
|
||||||
"x86_64-darwin": {
|
"x86_64-darwin": {
|
||||||
"url": "https://downloads.1password.com/mac/1Password-8.10.70-24.BETA-x86_64.zip",
|
"url": "https://downloads.1password.com/mac/1Password-8.10.76-32.BETA-x86_64.zip",
|
||||||
"hash": "sha256-jzjXVh9iTua0/0N3lP4xIPVd1hDlsWssbTtDvvzoTZk="
|
"hash": "sha256-LgDl5DLUdn4bSRXrx11QOv0J6VXyns+KQgbU/Y0JxDU="
|
||||||
},
|
},
|
||||||
"aarch64-darwin": {
|
"aarch64-darwin": {
|
||||||
"url": "https://downloads.1password.com/mac/1Password-8.10.70-24.BETA-aarch64.zip",
|
"url": "https://downloads.1password.com/mac/1Password-8.10.76-32.BETA-aarch64.zip",
|
||||||
"hash": "sha256-qb1j9VMhI+tf643HCOz+5dhTuFAgd1ICv8lvRC+um+I="
|
"hash": "sha256-mJFuejGiUKV0PEJF8ajiL3cMRQTRghoaCRyP8afatgY="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"stable-linux": "8.10.75",
|
"stable-linux": "8.10.75",
|
||||||
"stable-darwin": "8.10.75",
|
"stable-darwin": "8.10.75",
|
||||||
"beta-linux":"8.10.70-24.BETA",
|
"beta-linux":"8.10.76-32.BETA",
|
||||||
"beta-darwin": "8.10.70-24.BETA"
|
"beta-darwin": "8.10.76-32.BETA"
|
||||||
}
|
}
|
||||||
|
|
|
@ -212,7 +212,7 @@ fn copy_file<
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove writable permissions
|
// Remove writable permissions
|
||||||
permissions.set_mode(permissions.mode() ^ 0o222);
|
permissions.set_mode(permissions.mode() & 0o555);
|
||||||
fs::set_permissions(&target, permissions)
|
fs::set_permissions(&target, permissions)
|
||||||
.wrap_err_with(|| format!("failed to remove writable permissions for {:?}", target))?;
|
.wrap_err_with(|| format!("failed to remove writable permissions for {:?}", target))?;
|
||||||
};
|
};
|
||||||
|
|
|
@ -27,6 +27,10 @@
|
||||||
For example, `{ "org.gnome.evolution" = "EVOLUTION_SCHEMA_PATH"; }`
|
For example, `{ "org.gnome.evolution" = "EVOLUTION_SCHEMA_PATH"; }`
|
||||||
hardcodes looking for `org.gnome.evolution` into `@EVOLUTION_SCHEMA_PATH@`.
|
hardcodes looking for `org.gnome.evolution` into `@EVOLUTION_SCHEMA_PATH@`.
|
||||||
|
|
||||||
|
- `schemaExistsFunction`: name of the function that is used for checking
|
||||||
|
if optional schema exists. Its invocation will be replaced with TRUE
|
||||||
|
for known schemas.
|
||||||
|
|
||||||
- `patches`: A list of patches to apply before generating the patch.
|
- `patches`: A list of patches to apply before generating the patch.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
@ -54,6 +58,7 @@
|
||||||
src,
|
src,
|
||||||
patches ? [ ],
|
patches ? [ ],
|
||||||
schemaIdToVariableMapping,
|
schemaIdToVariableMapping,
|
||||||
|
schemaExistsFunction ? null,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
runCommand "hardcode-gsettings.patch"
|
runCommand "hardcode-gsettings.patch"
|
||||||
|
@ -71,6 +76,7 @@ runCommand "hardcode-gsettings.patch"
|
||||||
patchPhase
|
patchPhase
|
||||||
set -x
|
set -x
|
||||||
cp ${builtins.toFile "glib-schema-to-var.json" (builtins.toJSON schemaIdToVariableMapping)} ./glib-schema-to-var.json
|
cp ${builtins.toFile "glib-schema-to-var.json" (builtins.toJSON schemaIdToVariableMapping)} ./glib-schema-to-var.json
|
||||||
|
cp ${builtins.toFile "glib-schema-exists-function.json" (builtins.toJSON schemaExistsFunction)} ./glib-schema-exists-function.json
|
||||||
git init
|
git init
|
||||||
git add -A
|
git add -A
|
||||||
spatch --sp-file "${./hardcode-gsettings.cocci}" --dir . --in-place
|
spatch --sp-file "${./hardcode-gsettings.cocci}" --dir . --in-place
|
||||||
|
|
|
@ -34,6 +34,17 @@ def get_schema_directory(schema_id):
|
||||||
return f'"@{schema_to_var[schema_id]}@"'
|
return f'"@{schema_to_var[schema_id]}@"'
|
||||||
raise Exception(f"Unknown schema path {schema_id!r}, please add it to ./glib-schema-to-var.json")
|
raise Exception(f"Unknown schema path {schema_id!r}, please add it to ./glib-schema-to-var.json")
|
||||||
|
|
||||||
|
|
||||||
|
@script:python schema_exists_fn@
|
||||||
|
fn;
|
||||||
|
@@
|
||||||
|
import json
|
||||||
|
|
||||||
|
with open("./glib-schema-exists-function.json") as fn_file:
|
||||||
|
if (fn := json.load(fn_file)):
|
||||||
|
coccinelle.fn = fn
|
||||||
|
|
||||||
|
|
||||||
@find_cpp_constants@
|
@find_cpp_constants@
|
||||||
identifier const_name;
|
identifier const_name;
|
||||||
expression val;
|
expression val;
|
||||||
|
@ -143,3 +154,12 @@ fresh identifier SCHEMA_DIRECTORY = script:python(SCHEMA_ID) { get_schema_direct
|
||||||
+ schema = g_settings_schema_source_lookup(schema_source, SCHEMA_ID, FALSE);
|
+ schema = g_settings_schema_source_lookup(schema_source, SCHEMA_ID, FALSE);
|
||||||
+ settings = g_settings_new_full(schema, NULL, PATH);
|
+ settings = g_settings_new_full(schema, NULL, PATH);
|
||||||
+}
|
+}
|
||||||
|
|
||||||
|
|
||||||
|
@replace_schema_exists_fns depends on ever record_cpp_constants || never record_cpp_constants@
|
||||||
|
// We want to run after #define constants have been collected but even if there are no #defines.
|
||||||
|
expression SCHEMA_ID;
|
||||||
|
identifier schema_exists_fn.fn;
|
||||||
|
@@
|
||||||
|
-fn(SCHEMA_ID)
|
||||||
|
+true
|
||||||
|
|
|
@ -22,11 +22,11 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "chez-scheme";
|
pname = "chez-scheme";
|
||||||
version = "10.1.0";
|
version = "10.2.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/cisco/ChezScheme/releases/download/v${finalAttrs.version}/csv${finalAttrs.version}.tar.gz";
|
url = "https://github.com/cisco/ChezScheme/releases/download/v${finalAttrs.version}/csv${finalAttrs.version}.tar.gz";
|
||||||
hash = "sha256-kYGmyMSrXl0y2Hn/FZ0zWlDU+LOIYRriKiY+kyw1OYs=";
|
hash = "sha256-t5WRbUz+1ZJAxfRLG1B6hlfv0o5i5y4TTQNIbp8+N0o=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs =
|
nativeBuildInputs =
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
versionCheckHook,
|
versionCheckHook,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
version = "1.34.0";
|
version = "1.34.1";
|
||||||
inherit (stdenv.hostPlatform) system;
|
inherit (stdenv.hostPlatform) system;
|
||||||
throwSystem = throw "envoy-bin is not available for ${system}.";
|
throwSystem = throw "envoy-bin is not available for ${system}.";
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@ let
|
||||||
|
|
||||||
hash =
|
hash =
|
||||||
{
|
{
|
||||||
aarch64-linux = "sha256-VVEYQ25ZNmWftuhLOOZnxKaosQFeMHsQdkAzIq+zEM0=";
|
aarch64-linux = "sha256-7v9KwHdQIF4dElsvTPxsJNnpxfLJk3TQ4tCgzwqsebs=";
|
||||||
x86_64-linux = "sha256-FavpvY1hYNOnlFQE2NV3O8z9gyKGpD01oU/wute9iRA=";
|
x86_64-linux = "sha256-iCZNZRh2qa0oqn4Jjj34Q1cEBM9gts6WjESWykorbp0=";
|
||||||
}
|
}
|
||||||
.${system} or throwSystem;
|
.${system} or throwSystem;
|
||||||
in
|
in
|
||||||
|
|
|
@ -38,6 +38,7 @@
|
||||||
xorg,
|
xorg,
|
||||||
yyjson,
|
yyjson,
|
||||||
zlib,
|
zlib,
|
||||||
|
zfs,
|
||||||
# Feature flags
|
# Feature flags
|
||||||
audioSupport ? true,
|
audioSupport ? true,
|
||||||
brightnessSupport ? true,
|
brightnessSupport ? true,
|
||||||
|
@ -54,6 +55,7 @@
|
||||||
waylandSupport ? true,
|
waylandSupport ? true,
|
||||||
x11Support ? true,
|
x11Support ? true,
|
||||||
xfceSupport ? true,
|
xfceSupport ? true,
|
||||||
|
zfsSupport ? false,
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "fastfetch";
|
pname = "fastfetch";
|
||||||
|
@ -175,6 +177,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
# Needed for XFWM theme and XFCE Terminal font.
|
# Needed for XFWM theme and XFCE Terminal font.
|
||||||
xfce.xfconf
|
xfce.xfconf
|
||||||
]
|
]
|
||||||
|
++ lib.optionals zfsSupport [
|
||||||
|
# Needed for zpool module
|
||||||
|
zfs
|
||||||
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
macosDeps = lib.optionals stdenv.hostPlatform.isDarwin [
|
macosDeps = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||||
|
@ -198,6 +204,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
(lib.cmakeBool "ENABLE_CHAFA" imageSupport)
|
(lib.cmakeBool "ENABLE_CHAFA" imageSupport)
|
||||||
|
|
||||||
(lib.cmakeBool "ENABLE_SQLITE3" sqliteSupport)
|
(lib.cmakeBool "ENABLE_SQLITE3" sqliteSupport)
|
||||||
|
|
||||||
|
(lib.cmakeBool "ENABLE_LIBZFS" zfsSupport)
|
||||||
]
|
]
|
||||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||||
(lib.cmakeBool "ENABLE_PULSE" audioSupport)
|
(lib.cmakeBool "ENABLE_PULSE" audioSupport)
|
||||||
|
@ -270,7 +278,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
Fast and highly customizable system info script.
|
Fast and highly customizable system info script.
|
||||||
|
|
||||||
Feature flags (all default to 'true' except rpmSupport and flashfetchSupport):
|
Feature flags (all default to 'true' except rpmSupport, flashfetchSupport and zfsSupport):
|
||||||
* audioSupport: PulseAudio functionality
|
* audioSupport: PulseAudio functionality
|
||||||
* brightnessSupport: External display brightness detection via DDCUtil
|
* brightnessSupport: External display brightness detection via DDCUtil
|
||||||
* dbusSupport: DBus functionality for Bluetooth, WiFi, player & media detection
|
* dbusSupport: DBus functionality for Bluetooth, WiFi, player & media detection
|
||||||
|
@ -286,6 +294,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
* waylandSupport: Wayland display detection
|
* waylandSupport: Wayland display detection
|
||||||
* x11Support: X11 display information
|
* x11Support: X11 display information
|
||||||
* xfceSupport: XFCE integration for theme and terminal font detection
|
* xfceSupport: XFCE integration for theme and terminal font detection
|
||||||
|
* zfsSupport: zpool information
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
|
@ -35,13 +35,13 @@ in
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "gitbutler";
|
pname = "gitbutler";
|
||||||
version = "0.14.18";
|
version = "0.14.19";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "gitbutlerapp";
|
owner = "gitbutlerapp";
|
||||||
repo = "gitbutler";
|
repo = "gitbutler";
|
||||||
tag = "release/${version}";
|
tag = "release/${version}";
|
||||||
hash = "sha256-lYC7thGiCAW6snGyE+qQteS1WfY9k3aez84U8PEjmjg=";
|
hash = "sha256-NopuZbgF2jdwuf/p/JzubS0IM5xBnlkh9Tj234auBnE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Let Tauri know what version we're building
|
# Let Tauri know what version we're building
|
||||||
|
@ -60,11 +60,11 @@ rustPlatform.buildRustPackage rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-VVGdZxfBLj1kKEJjck5jhOsoW4KRUWiup6w6wpRto7Q=";
|
cargoHash = "sha256-wzSRUZeB5f9Z/D+Sa5Nl77jh7GDnnUehcmwanPcaSKM=";
|
||||||
|
|
||||||
pnpmDeps = pnpm_9.fetchDeps {
|
pnpmDeps = pnpm_9.fetchDeps {
|
||||||
inherit pname version src;
|
inherit pname version src;
|
||||||
hash = "sha256-v+nW5C4an5Yx6Kfd1iErNiXRofPubgLSNFZu/Ae1DFc=";
|
hash = "sha256-5NtfstUuIYyntt09Mu9GAFAOImfO6VMmJ7g15kvGaLE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -31,7 +31,6 @@
|
||||||
tzdata,
|
tzdata,
|
||||||
desktop-file-utils,
|
desktop-file-utils,
|
||||||
shared-mime-info,
|
shared-mime-info,
|
||||||
makeHardcodeGsettingsPatch,
|
|
||||||
testers,
|
testers,
|
||||||
gobject-introspection,
|
gobject-introspection,
|
||||||
libsystemtap,
|
libsystemtap,
|
||||||
|
@ -365,18 +364,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
packageName = "glib";
|
packageName = "glib";
|
||||||
versionPolicy = "odd-unstable";
|
versionPolicy = "odd-unstable";
|
||||||
};
|
};
|
||||||
|
|
||||||
mkHardcodeGsettingsPatch =
|
|
||||||
{
|
|
||||||
src,
|
|
||||||
glib-schema-to-var,
|
|
||||||
}:
|
|
||||||
builtins.trace
|
|
||||||
"glib.mkHardcodeGsettingsPatch is deprecated, please use makeHardcodeGsettingsPatch instead"
|
|
||||||
(makeHardcodeGsettingsPatch {
|
|
||||||
inherit src;
|
|
||||||
schemaIdToVariableMapping = glib-schema-to-var;
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -19,12 +19,12 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
version = "45.2";
|
|
||||||
pname = "gpaste";
|
pname = "gpaste";
|
||||||
|
version = "45.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.imagination-land.org/files/gpaste/GPaste-${finalAttrs.version}.tar.xz";
|
url = "https://www.imagination-land.org/files/gpaste/GPaste-${finalAttrs.version}.tar.xz";
|
||||||
hash = "sha256-2WC0FGPQisY3YH4EgJcR/Re69fJznUD1KlCGljivyEE=";
|
hash = "sha256-UU8pw7bqEwg2Vh7S6GTx8swI/2IhlwjQgkGNZCzoMwc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{
|
{
|
||||||
|
stdenv,
|
||||||
lib,
|
lib,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
gtk3,
|
gtk3,
|
||||||
|
@ -10,6 +11,7 @@
|
||||||
gobject-introspection,
|
gobject-introspection,
|
||||||
wrapGAppsHook3,
|
wrapGAppsHook3,
|
||||||
gettext,
|
gettext,
|
||||||
|
desktopToDarwinBundle,
|
||||||
# Optional packages:
|
# Optional packages:
|
||||||
enableOSM ? true,
|
enableOSM ? true,
|
||||||
osm-gps-map,
|
osm-gps-map,
|
||||||
|
@ -52,12 +54,17 @@ buildPythonApplication rec {
|
||||||
python3Packages.setuptools
|
python3Packages.setuptools
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs =
|
||||||
|
[
|
||||||
glibcLocales
|
glibcLocales
|
||||||
python3Packages.unittestCheckHook
|
python3Packages.unittestCheckHook
|
||||||
python3Packages.jsonschema
|
python3Packages.jsonschema
|
||||||
python3Packages.mock
|
python3Packages.mock
|
||||||
python3Packages.lxml
|
python3Packages.lxml
|
||||||
|
]
|
||||||
|
# TODO: use JHBuild to build the Gramps' bundle
|
||||||
|
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||||
|
desktopToDarwinBundle
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
|
|
|
@ -48,7 +48,7 @@ in
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "ipxe";
|
pname = "ipxe";
|
||||||
version = "1.21.1-unstable-2025-04-25";
|
version = "1.21.1-unstable-2025-05-07";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
mtools
|
mtools
|
||||||
|
@ -65,8 +65,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ipxe";
|
owner = "ipxe";
|
||||||
repo = "ipxe";
|
repo = "ipxe";
|
||||||
rev = "4c8bf666f4afb578645269a5a81431d784fad771";
|
rev = "12dee2dab2ea6bc619603c2036e6512889813c4c";
|
||||||
hash = "sha256-9yxUArp1kKA8deCnaHJkOnrL4Ox08u/7/VxCQjOUkvY=";
|
hash = "sha256-um0CAxIY7FFGAzM1vCL8uurFY3DieK46Y9JA12s5fVw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Calling syslinux on a FAT image isn't going to work on Aarch64.
|
# Calling syslinux on a FAT image isn't going to work on Aarch64.
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
|
|
||||||
index 3a52458..872e6c6 100644
|
|
||||||
--- a/cpp/CMakeLists.txt
|
|
||||||
+++ b/cpp/CMakeLists.txt
|
|
||||||
@@ -10,6 +10,7 @@ set(LIBJSONNETPP_SOURCE
|
|
||||||
|
|
||||||
add_library(libjsonnet++ SHARED ${LIBJSONNETPP_HEADERS} ${LIBJSONNETPP_SOURCE})
|
|
||||||
add_dependencies(libjsonnet++ jsonnet)
|
|
||||||
+target_link_libraries(libjsonnet++ libjsonnet)
|
|
||||||
# target_link_libraries(libjsonnet libjsonnet)
|
|
||||||
|
|
||||||
# CMake prepends CMAKE_SHARED_LIBRARY_PREFIX to shared libraries, so without
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "jsonnet";
|
pname = "jsonnet";
|
||||||
version = "0.20.0";
|
version = "0.21.0";
|
||||||
outputs = [
|
outputs = [
|
||||||
"out"
|
"out"
|
||||||
"doc"
|
"doc"
|
||||||
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
owner = "google";
|
owner = "google";
|
||||||
repo = "jsonnet";
|
repo = "jsonnet";
|
||||||
sha256 = "sha256-FtVJE9alEl56Uik+nCpJMV5DMVVmRCnE1xMAiWdK39Y=";
|
sha256 = "sha256-QHp0DOu/pqcgN7di219cHzfFb7fWtdGGE6J1ZXgbOGQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -37,11 +37,6 @@ stdenv.mkDerivation rec {
|
||||||
"-DBUILD_SHARED_BINARIES=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}"
|
"-DBUILD_SHARED_BINARIES=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}"
|
||||||
];
|
];
|
||||||
|
|
||||||
# https://github.com/google/jsonnet/issues/778
|
|
||||||
patches = [
|
|
||||||
./fix-cpp-unresolved-symbols.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
# Upstream writes documentation in html, not in markdown/rst, so no
|
# Upstream writes documentation in html, not in markdown/rst, so no
|
||||||
|
|
|
@ -12,13 +12,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "k9s";
|
pname = "k9s";
|
||||||
version = "0.50.4";
|
version = "0.50.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "derailed";
|
owner = "derailed";
|
||||||
repo = "k9s";
|
repo = "k9s";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-JosFo7/JgM7tVMXY+OjASXnbwVYoJ5WGtgR5LTxaAYY=";
|
hash = "sha256-hh00R0PCqhAUlwFps40CQ+hc6p2634WEGqNjX1mi/J8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
ldflags = [
|
ldflags = [
|
||||||
|
@ -33,7 +33,7 @@ buildGoModule rec {
|
||||||
|
|
||||||
proxyVendor = true;
|
proxyVendor = true;
|
||||||
|
|
||||||
vendorHash = "sha256-uWdSeHYbDvRWwKAd/wwUsI7uEtX6aunsB1+cRmfBNUc=";
|
vendorHash = "sha256-g2tS1EpmG+Wba3kF9cH83JAG6EhKK4LrASGUSFtYYY8=";
|
||||||
|
|
||||||
# TODO investigate why some config tests are failing
|
# TODO investigate why some config tests are failing
|
||||||
doCheck = !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64);
|
doCheck = !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64);
|
||||||
|
|
|
@ -42,13 +42,13 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "ladybird";
|
pname = "ladybird";
|
||||||
version = "0-unstable-2025-03-27";
|
version = "0-unstable-2025-05-07";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "LadybirdWebBrowser";
|
owner = "LadybirdWebBrowser";
|
||||||
repo = "ladybird";
|
repo = "ladybird";
|
||||||
rev = "5ea45da15f5ac956db1cfe0aad74b570f7e88339";
|
rev = "5610f5a8652fb5273acd3739634bb8f69df1d786";
|
||||||
hash = "sha256-wODm5O15jwnyxvkHVCQBptwoC97tTD0KzwYqGPdY520=";
|
hash = "sha256-XG7FmadzZN9ew3oPOFjv0CzB/UzLWGq3AANRp2MQAq8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -131,6 +131,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
|
|
||||||
cmakeFlags =
|
cmakeFlags =
|
||||||
[
|
[
|
||||||
|
# Takes an enormous amount of resources, even with mold
|
||||||
|
(lib.cmakeBool "ENABLE_LTO_FOR_RELEASE" false)
|
||||||
# Disable network operations
|
# Disable network operations
|
||||||
"-DSERENITY_CACHE_DIR=Caches"
|
"-DSERENITY_CACHE_DIR=Caches"
|
||||||
"-DENABLE_NETWORK_DOWNLOADS=OFF"
|
"-DENABLE_NETWORK_DOWNLOADS=OFF"
|
||||||
|
|
16
pkgs/by-name/le/lean4/mimalloc.patch
Normal file
16
pkgs/by-name/le/lean4/mimalloc.patch
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -77,12 +77,8 @@
|
||||||
|
if (USE_MIMALLOC)
|
||||||
|
ExternalProject_add(mimalloc
|
||||||
|
PREFIX mimalloc
|
||||||
|
- GIT_REPOSITORY https://github.com/microsoft/mimalloc
|
||||||
|
- GIT_TAG v2.2.3
|
||||||
|
- # just download, we compile it as part of each stage as it is small
|
||||||
|
- CONFIGURE_COMMAND ""
|
||||||
|
- BUILD_COMMAND ""
|
||||||
|
+ SOURCE_DIR "MIMALLOC-SRC"
|
||||||
|
INSTALL_COMMAND "")
|
||||||
|
list(APPEND EXTRA_DEPENDS mimalloc)
|
||||||
|
endif()
|
||||||
|
|
|
@ -8,29 +8,51 @@
|
||||||
cadical,
|
cadical,
|
||||||
pkg-config,
|
pkg-config,
|
||||||
libuv,
|
libuv,
|
||||||
|
enableMimalloc ? true,
|
||||||
perl,
|
perl,
|
||||||
testers,
|
testers,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "lean4";
|
pname = "lean4";
|
||||||
version = "4.18.0";
|
version = "4.19.0";
|
||||||
|
|
||||||
|
# Using a vendored version rather than nixpkgs' version to match the exact version required by
|
||||||
|
# Lean. Apparently, even a slight version change can impact greatly the final performance.
|
||||||
|
mimalloc-src = fetchFromGitHub {
|
||||||
|
owner = "microsoft";
|
||||||
|
repo = "mimalloc";
|
||||||
|
tag = "v2.2.3";
|
||||||
|
hash = "sha256-B0gngv16WFLBtrtG5NqA2m5e95bYVcQraeITcOX9A74=";
|
||||||
|
};
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "leanprover";
|
owner = "leanprover";
|
||||||
repo = "lean4";
|
repo = "lean4";
|
||||||
tag = "v${finalAttrs.version}";
|
tag = "v${finalAttrs.version}";
|
||||||
hash = "sha256-1hVcRO9RbVUgoKTUTFXBqJZwt50/aw/P9dxUdI7RpCc=";
|
hash = "sha256-Iw5JSamrty9l6aJ2WwslAolSHfi2q0UO8P8HI1gp+j8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch =
|
||||||
|
let
|
||||||
|
pattern = "\${LEAN_BINARY_DIR}/../mimalloc/src/mimalloc";
|
||||||
|
in
|
||||||
|
''
|
||||||
substituteInPlace src/CMakeLists.txt \
|
substituteInPlace src/CMakeLists.txt \
|
||||||
--replace-fail 'set(GIT_SHA1 "")' 'set(GIT_SHA1 "${finalAttrs.src.tag}")'
|
--replace-fail 'set(GIT_SHA1 "")' 'set(GIT_SHA1 "${finalAttrs.src.tag}")'
|
||||||
|
|
||||||
# Remove tests that fails in sandbox.
|
# Remove tests that fails in sandbox.
|
||||||
# It expects `sourceRoot` to be a git repository.
|
# It expects `sourceRoot` to be a git repository.
|
||||||
rm -rf src/lake/examples/git/
|
rm -rf src/lake/examples/git/
|
||||||
'';
|
''
|
||||||
|
+ (lib.optionalString enableMimalloc ''
|
||||||
|
substituteInPlace CMakeLists.txt \
|
||||||
|
--replace-fail 'MIMALLOC-SRC' '${finalAttrs.mimalloc-src}'
|
||||||
|
for file in src/CMakeLists.txt src/runtime/CMakeLists.txt; do
|
||||||
|
substituteInPlace "$file" \
|
||||||
|
--replace-fail '${pattern}' '${finalAttrs.mimalloc-src}'
|
||||||
|
done
|
||||||
|
'');
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
patchShebangs stage0/src/bin/ src/bin/
|
patchShebangs stage0/src/bin/ src/bin/
|
||||||
|
@ -52,9 +74,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
perl
|
perl
|
||||||
];
|
];
|
||||||
|
|
||||||
|
patches = [ ./mimalloc.patch ];
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DUSE_GITHASH=OFF"
|
"-DUSE_GITHASH=OFF"
|
||||||
"-DINSTALL_LICENSE=OFF"
|
"-DINSTALL_LICENSE=OFF"
|
||||||
|
"-DUSE_MIMALLOC=${if enableMimalloc then "ON" else "OFF"}"
|
||||||
];
|
];
|
||||||
|
|
||||||
passthru.tests = {
|
passthru.tests = {
|
||||||
|
|
|
@ -19,14 +19,14 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "libsidplayfp";
|
pname = "libsidplayfp";
|
||||||
version = "2.13.0";
|
version = "2.13.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "libsidplayfp";
|
owner = "libsidplayfp";
|
||||||
repo = "libsidplayfp";
|
repo = "libsidplayfp";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${finalAttrs.version}";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
hash = "sha256-uKChHjC5kzctFEEYP6YUp0sr7s9YULn9nfu87wsjxUQ=";
|
hash = "sha256-gUi7g+TZmF6XgacImVSNc69zpMckjCaqwfidIrrh38U=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" ] ++ lib.optionals docSupport [ "doc" ];
|
outputs = [ "out" ] ++ lib.optionals docSupport [ "doc" ];
|
||||||
|
|
|
@ -8,13 +8,13 @@
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
pname = "open-webui";
|
pname = "open-webui";
|
||||||
version = "0.6.6";
|
version = "0.6.7";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "open-webui";
|
owner = "open-webui";
|
||||||
repo = "open-webui";
|
repo = "open-webui";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-6gM4Ke63lFzxji7+hfuzMYN3MK4wkI6+iMH/qYM92oE=";
|
hash = "sha256-4V0WhiVhjxYtbwDt+83AfkjJtQFew2P6i1sLtRL13lg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
frontend = buildNpmPackage rec {
|
frontend = buildNpmPackage rec {
|
||||||
|
@ -30,7 +30,7 @@ let
|
||||||
url = "https://github.com/pyodide/pyodide/releases/download/${pyodideVersion}/pyodide-${pyodideVersion}.tar.bz2";
|
url = "https://github.com/pyodide/pyodide/releases/download/${pyodideVersion}/pyodide-${pyodideVersion}.tar.bz2";
|
||||||
};
|
};
|
||||||
|
|
||||||
npmDepsHash = "sha256-T1cVyq2xnpF8yTcLdVPj4pyASVRFpEdIoWRh3hQaPv4=";
|
npmDepsHash = "sha256-kOqfYAMkpiT2d79fpH1ON5FQAuV1i3/PL9waQq/YR58=";
|
||||||
|
|
||||||
# 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.
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
cmake,
|
||||||
|
qt6,
|
||||||
|
kdePackages,
|
||||||
|
opencloud-desktop-shell-integration-resources,
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "opencloud-desktop-shell-integration-dolphin";
|
||||||
|
version = "1.0.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "opencloud-eu";
|
||||||
|
repo = "desktop-shell-integration-dolphin";
|
||||||
|
tag = "v${version}";
|
||||||
|
hash = "sha256-+Bu/kN4RvR/inWQHYcfWOF6BWHTFm5jlea/QeT4NhFQ=";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
qt6.qtbase
|
||||||
|
kdePackages.extra-cmake-modules
|
||||||
|
kdePackages.kbookmarks
|
||||||
|
kdePackages.kcoreaddons
|
||||||
|
kdePackages.kio
|
||||||
|
opencloud-desktop-shell-integration-resources
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
];
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "This is the OpenCloud Desktop shell integration for the great KDE Dolphin in KDE Frameworks 6";
|
||||||
|
homepage = "https://github.com/opencloud-eu/desktop-shell-integration-dolphin";
|
||||||
|
license = lib.licenses.gpl2Only;
|
||||||
|
maintainers = with lib.maintainers; [ k900 ];
|
||||||
|
mainProgram = "opencloud-desktop-shell-integration-dolphin";
|
||||||
|
platforms = lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,35 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
cmake,
|
||||||
|
kdePackages,
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "opencloud-desktop-shell-integration-resources";
|
||||||
|
version = "1.0.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "opencloud-eu";
|
||||||
|
repo = "desktop-shell-integration-resources";
|
||||||
|
tag = "v${version}";
|
||||||
|
hash = "sha256-TqJanrAKD3aNQu5jL1Dt0bn84dYBNGImAKBGsAY2xeU=";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
kdePackages.extra-cmake-modules
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Shared assets for OpenCloud desktop shell integrations";
|
||||||
|
homepage = "https://github.com/opencloud-eu/desktop-shell-integration-resources";
|
||||||
|
license = lib.licenses.gpl2Only;
|
||||||
|
maintainers = with lib.maintainers; [ k900 ];
|
||||||
|
platforms = lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
|
@ -11,11 +11,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "passt";
|
pname = "passt";
|
||||||
version = "2025_04_15.2340bbf";
|
version = "2025_05_03.587980c";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://passt.top/passt/snapshot/passt-${finalAttrs.version}.tar.gz";
|
url = "https://passt.top/passt/snapshot/passt-${finalAttrs.version}.tar.gz";
|
||||||
hash = "sha256-eYIgAj8BtCZ9OxG8/IDaUvFCtB+1ROU0UHf6sbaVUEY=";
|
hash = "sha256-ussvShWxhR6ScBYiCJG0edrqS+W+74DSlsDRS1GCByA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
|
|
@ -17,12 +17,12 @@ let
|
||||||
# We keep the override around even when the versions match, as
|
# We keep the override around even when the versions match, as
|
||||||
# it's likely to become relevant again after the next Poetry update.
|
# it's likely to become relevant again after the next Poetry update.
|
||||||
poetry-core = super.poetry-core.overridePythonAttrs (old: rec {
|
poetry-core = super.poetry-core.overridePythonAttrs (old: rec {
|
||||||
version = "2.1.2";
|
version = "2.1.3";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "python-poetry";
|
owner = "python-poetry";
|
||||||
repo = "poetry-core";
|
repo = "poetry-core";
|
||||||
tag = version;
|
tag = version;
|
||||||
hash = "sha256-fNj/LI4A4RjjPzYT+0ekwqmm3qzzZL3aACOe8BHviuk=";
|
hash = "sha256-CgaWlqjvBTN7GuerzmO5IiEdXxYH6pmTDj9IsNJlCBE=";
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "poetry";
|
pname = "poetry";
|
||||||
version = "2.1.2";
|
version = "2.1.3";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
@ -46,7 +46,7 @@ buildPythonPackage rec {
|
||||||
owner = "python-poetry";
|
owner = "python-poetry";
|
||||||
repo = "poetry";
|
repo = "poetry";
|
||||||
tag = version;
|
tag = version;
|
||||||
hash = "sha256-51pO/PP5OwTmi+1uy26CK/1oQ/P21wPBoRVE9Jv0TjA=";
|
hash = "sha256-aMmYgFdQhgMd99atAtr5MD0yniaIi+QTPJ0rMI2jMxk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [
|
build-system = [
|
||||||
|
@ -132,6 +132,7 @@ buildPythonPackage rec {
|
||||||
"test_builder_should_execute_build_scripts"
|
"test_builder_should_execute_build_scripts"
|
||||||
"test_env_system_packages_are_relative_to_lib"
|
"test_env_system_packages_are_relative_to_lib"
|
||||||
"test_install_warning_corrupt_root"
|
"test_install_warning_corrupt_root"
|
||||||
|
"test_no_additional_output_in_verbose_mode"
|
||||||
"test_project_plugins_are_installed_in_project_folder"
|
"test_project_plugins_are_installed_in_project_folder"
|
||||||
"test_application_command_not_found_messages"
|
"test_application_command_not_found_messages"
|
||||||
# PermissionError: [Errno 13] Permission denied: '/build/pytest-of-nixbld/pytest-0/popen-gw3/test_find_poetry_managed_pytho1/.local/share/pypoetry/python/pypy@3.10.8/bin/python'
|
# PermissionError: [Errno 13] Permission denied: '/build/pytest-of-nixbld/pytest-0/popen-gw3/test_find_poetry_managed_pytho1/.local/share/pypoetry/python/pypy@3.10.8/bin/python'
|
||||||
|
@ -160,12 +161,12 @@ buildPythonPackage rec {
|
||||||
# in the Python script, which runs after the wrapper.
|
# in the Python script, which runs after the wrapper.
|
||||||
makeWrapperArgs = [ "--unset PYTHONPATH" ];
|
makeWrapperArgs = [ "--unset PYTHONPATH" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
changelog = "https://github.com/python-poetry/poetry/blob/${src.rev}/CHANGELOG.md";
|
changelog = "https://github.com/python-poetry/poetry/blob/${src.tag}/CHANGELOG.md";
|
||||||
homepage = "https://python-poetry.org/";
|
homepage = "https://python-poetry.org/";
|
||||||
description = "Python dependency management and packaging made easy";
|
description = "Python dependency management and packaging made easy";
|
||||||
license = licenses.mit;
|
license = lib.licenses.mit;
|
||||||
maintainers = with maintainers; [
|
maintainers = with lib.maintainers; [
|
||||||
jakewaksbaum
|
jakewaksbaum
|
||||||
dotlambda
|
dotlambda
|
||||||
];
|
];
|
||||||
|
|
|
@ -19,12 +19,12 @@ let
|
||||||
in
|
in
|
||||||
buildGo123Module rec {
|
buildGo123Module rec {
|
||||||
pname = "pomerium";
|
pname = "pomerium";
|
||||||
version = "0.29.2";
|
version = "0.29.3";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pomerium";
|
owner = "pomerium";
|
||||||
repo = "pomerium";
|
repo = "pomerium";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-FortINGa0JNUxVeGiJ6i+cbmapMZeCXPY9hWox+Y49o=";
|
hash = "sha256-jlNU6pygq6X0DL3f25aVGHB8VoKw+VEdNFB5QY8MR9E=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-K9LcGvANajoVKEDIswahD0mT5845qGZzafmWMKkVn8Q=";
|
vendorHash = "sha256-K9LcGvANajoVKEDIswahD0mT5845qGZzafmWMKkVn8Q=";
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
cmake,
|
cmake,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
version = "9.2.1";
|
version = "9.2.4";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "source-meta-json-schema";
|
pname = "source-meta-json-schema";
|
||||||
|
@ -15,7 +15,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
owner = "sourcemeta";
|
owner = "sourcemeta";
|
||||||
repo = "jsonschema";
|
repo = "jsonschema";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-VWq0BPVQRUmMXf6YZ4lid7EPPERA818UqE18EtayUus=";
|
hash = "sha256-IQuXybTpdVdPiYVpb9BffZdUs0TxKqA1HkzxS/gi+pw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -15,13 +15,13 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "tracexec";
|
pname = "tracexec";
|
||||||
version = "0.11.0";
|
version = "0.12.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kxxt";
|
owner = "kxxt";
|
||||||
repo = "tracexec";
|
repo = "tracexec";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-d/GtP6PyIs5mqpMBl086XoQ0AqZmvI4+jidH7GHgyzk=";
|
hash = "sha256-j1zgHDO5bmJAXi9KvkHqenm/QfM9DmD9yNqF6TxJ9sY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# remove if updating to rust 1.85
|
# remove if updating to rust 1.85
|
||||||
|
@ -35,7 +35,7 @@ rustPlatform.buildRustPackage rec {
|
||||||
env.RUSTC_BOOTSTRAP = 1;
|
env.RUSTC_BOOTSTRAP = 1;
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-OX3I2TjpRtDutbrnysFVFyWeFkISvWn5SLxMaUgBhes=";
|
cargoHash = "sha256-XuuLuIeD/S60by/hg1fR+ML3PtIyX9JNrEvgGzI3UiM=";
|
||||||
|
|
||||||
hardeningDisable = [ "zerocallusedregs" ];
|
hardeningDisable = [ "zerocallusedregs" ];
|
||||||
|
|
||||||
|
|
|
@ -71,6 +71,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
url = "https://gitlab.freedesktop.org/upower/upower/-/commit/9ee76826bd41a5d3a377dfd6f5835f42ec50be9a.patch";
|
url = "https://gitlab.freedesktop.org/upower/upower/-/commit/9ee76826bd41a5d3a377dfd6f5835f42ec50be9a.patch";
|
||||||
hash = "sha256-E56iz/iHn+VM7Opo0a13A5nhnB9nf6C7Y1kyWzk4ZnU=";
|
hash = "sha256-E56iz/iHn+VM7Opo0a13A5nhnB9nf6C7Y1kyWzk4ZnU=";
|
||||||
})
|
})
|
||||||
|
# Fix style issues in the udev rules file
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://gitlab.freedesktop.org/upower/upower/-/commit/6f9d84694da56b317989b8c34250b60d833a4b29.patch";
|
||||||
|
hash = "sha256-xBUbf4qz9Llmw7CuKKMp/uPk7JqwjB4+p7z9kMOVRuE=";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
@ -163,7 +168,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
patchShebangs src/linux/unittest_inspector.py
|
patchShebangs src/linux/unittest_inspector.py
|
||||||
|
|
||||||
substituteInPlace src/linux/integration-test.py \
|
substituteInPlace src/linux/integration-test.py \
|
||||||
--replace "/usr/share/dbus-1" "$out/share/dbus-1"
|
--replace-fail "/usr/share/dbus-1" "$out/share/dbus-1"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
|
|
|
@ -20,8 +20,14 @@ stdenv.mkDerivation rec {
|
||||||
"DESTDIR=$(out)"
|
"DESTDIR=$(out)"
|
||||||
];
|
];
|
||||||
|
|
||||||
prePatch = ''
|
postPatch =
|
||||||
sed -i 's@usb_modeswitch@${usb-modeswitch}/lib/udev/usb_modeswitch@g' 40-usb_modeswitch.rules
|
# bash
|
||||||
|
''
|
||||||
|
substituteInPlace 40-usb_modeswitch.rules \
|
||||||
|
--replace-fail "usb_modeswitch" "${usb-modeswitch}/lib/udev/usb_modeswitch"
|
||||||
|
|
||||||
|
# Fix issue reported by udevadm verify
|
||||||
|
sed -i 's/,,/,/g' 40-usb_modeswitch.rules
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# we add tcl here so we can patch in support for new devices by dropping config into
|
# we add tcl here so we can patch in support for new devices by dropping config into
|
||||||
|
|
|
@ -11,20 +11,20 @@
|
||||||
|
|
||||||
buildNpmPackage rec {
|
buildNpmPackage rec {
|
||||||
pname = "vieb";
|
pname = "vieb";
|
||||||
version = "12.2.0";
|
version = "12.3.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Jelmerro";
|
owner = "Jelmerro";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-5LbVSwU+G3mu5MWxmnscoqfQw3ZA9xFXNJGYx3L+aUQ=";
|
hash = "sha256-g3L+bzsDP3vfTaroqCWzRDymFTZE+6nLytRWzPMBoX8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
sed -i '/"electron"/d' package.json
|
sed -i '/"electron"/d' package.json
|
||||||
'';
|
'';
|
||||||
|
|
||||||
npmDepsHash = "sha256-RgMPFxjXEvEb8Jz9f6kWiBFqgVYIsyOsUDWkkyaw4IM=";
|
npmDepsHash = "sha256-0V2fKdfqO64DLqLGz1OK9BZEbwGDqPFUdxu9F6v6Ms4=";
|
||||||
makeCacheWritable = true;
|
makeCacheWritable = true;
|
||||||
dontNpmBuild = true;
|
dontNpmBuild = true;
|
||||||
env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
|
env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
|
||||||
|
|
37
pkgs/by-name/wi/winbox4/build-from-dmg.nix
Normal file
37
pkgs/by-name/wi/winbox4/build-from-dmg.nix
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
{
|
||||||
|
pname,
|
||||||
|
version,
|
||||||
|
hash,
|
||||||
|
fetchurl,
|
||||||
|
stdenvNoCC,
|
||||||
|
undmg,
|
||||||
|
metaCommon ? { },
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
|
inherit pname version;
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
name = "WinBox-${finalAttrs.version}.dmg";
|
||||||
|
url = "https://download.mikrotik.com/routeros/winbox/${finalAttrs.version}/WinBox.dmg";
|
||||||
|
inherit hash;
|
||||||
|
};
|
||||||
|
|
||||||
|
sourceRoot = ".";
|
||||||
|
|
||||||
|
nativeBuildInputs = [ undmg ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/{bin,Applications}
|
||||||
|
cp -R "WinBox.app" "$out/Applications/WinBox.app"
|
||||||
|
ln -s "$out/Applications/WinBox.app/Contents/MacOS/WinBox" "$out/bin/WinBox"
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = metaCommon // {
|
||||||
|
platforms = [ "aarch64-darwin" ];
|
||||||
|
};
|
||||||
|
})
|
119
pkgs/by-name/wi/winbox4/build-from-zip.nix
Normal file
119
pkgs/by-name/wi/winbox4/build-from-zip.nix
Normal file
|
@ -0,0 +1,119 @@
|
||||||
|
{
|
||||||
|
pname,
|
||||||
|
version,
|
||||||
|
hash,
|
||||||
|
autoPatchelfHook,
|
||||||
|
copyDesktopItems,
|
||||||
|
fetchurl,
|
||||||
|
fontconfig,
|
||||||
|
freetype,
|
||||||
|
lib,
|
||||||
|
libGL,
|
||||||
|
libxkbcommon,
|
||||||
|
makeDesktopItem,
|
||||||
|
makeWrapper,
|
||||||
|
stdenvNoCC,
|
||||||
|
unzip,
|
||||||
|
writeShellApplication,
|
||||||
|
xorg,
|
||||||
|
zlib,
|
||||||
|
metaCommon ? { },
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
|
inherit pname version;
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
name = "WinBox_Linux-${finalAttrs.version}.zip";
|
||||||
|
url = "https://download.mikrotik.com/routeros/winbox/${finalAttrs.version}/WinBox_Linux.zip";
|
||||||
|
inherit hash;
|
||||||
|
};
|
||||||
|
|
||||||
|
sourceRoot = ".";
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
autoPatchelfHook
|
||||||
|
copyDesktopItems
|
||||||
|
# makeBinaryWrapper does not support --run
|
||||||
|
makeWrapper
|
||||||
|
unzip
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
fontconfig
|
||||||
|
freetype
|
||||||
|
libGL
|
||||||
|
libxkbcommon
|
||||||
|
xorg.libxcb
|
||||||
|
xorg.xcbutilimage
|
||||||
|
xorg.xcbutilkeysyms
|
||||||
|
xorg.xcbutilrenderutil
|
||||||
|
xorg.xcbutilwm
|
||||||
|
zlib
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
install -Dm644 "assets/img/winbox.png" "$out/share/pixmaps/winbox.png"
|
||||||
|
install -Dm755 "WinBox" "$out/bin/WinBox"
|
||||||
|
|
||||||
|
wrapProgram "$out/bin/WinBox" --run "${lib.getExe finalAttrs.migrationScript}"
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
desktopItems = [
|
||||||
|
(makeDesktopItem {
|
||||||
|
name = "winbox";
|
||||||
|
desktopName = "WinBox";
|
||||||
|
comment = "GUI administration for Mikrotik RouterOS";
|
||||||
|
exec = "WinBox";
|
||||||
|
icon = "winbox";
|
||||||
|
categories = [ "Utility" ];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
migrationScript = writeShellApplication {
|
||||||
|
name = "winbox-migrate";
|
||||||
|
text = ''
|
||||||
|
XDG_DATA_HOME=''${XDG_DATA_HOME:-$HOME/.local/share}
|
||||||
|
targetFile="$XDG_DATA_HOME/MikroTik/WinBox/Addresses.cdb"
|
||||||
|
|
||||||
|
if [ -f "$targetFile" ]; then
|
||||||
|
echo "NixOS: WinBox 4 data already present at $(dirname "$targetFile"). Skipping automatic migration."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# cover both wine prefix variants
|
||||||
|
# latter was used until https://github.com/NixOS/nixpkgs/pull/329626 was merged on 2024/07/24
|
||||||
|
winePrefixes=(
|
||||||
|
"''${WINEPREFIX:-$HOME/.wine}"
|
||||||
|
"''${WINBOX_HOME:-$XDG_DATA_HOME/winbox}/wine"
|
||||||
|
)
|
||||||
|
sourceFilePathSuffix="drive_c/users/$USER/AppData/Roaming/Mikrotik/Winbox/Addresses.cdb"
|
||||||
|
selectedSourceFile=""
|
||||||
|
|
||||||
|
for prefix in "''${winePrefixes[@]}"
|
||||||
|
do
|
||||||
|
echo "NixOS: Probing WinBox 3 data path at $prefix..."
|
||||||
|
if [ -f "$prefix/$sourceFilePathSuffix" ]; then
|
||||||
|
selectedSourceFile="$prefix/$sourceFilePathSuffix"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "$selectedSourceFile" ]; then
|
||||||
|
echo "NixOS: WinBox 3 data not found. Skipping automatic migration."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "NixOS: Automatically migrating WinBox 3 data..."
|
||||||
|
install -Dvm644 "$selectedSourceFile" "$targetFile"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = metaCommon // {
|
||||||
|
platforms = [ "x86_64-linux" ];
|
||||||
|
};
|
||||||
|
})
|
|
@ -1,123 +1,18 @@
|
||||||
{
|
{
|
||||||
autoPatchelfHook,
|
|
||||||
copyDesktopItems,
|
|
||||||
fetchurl,
|
|
||||||
fontconfig,
|
|
||||||
freetype,
|
|
||||||
lib,
|
lib,
|
||||||
libGL,
|
callPackage,
|
||||||
libxkbcommon,
|
|
||||||
makeDesktopItem,
|
|
||||||
makeWrapper,
|
|
||||||
stdenvNoCC,
|
stdenvNoCC,
|
||||||
unzip,
|
|
||||||
writeShellApplication,
|
|
||||||
xorg,
|
|
||||||
zlib,
|
|
||||||
}:
|
}:
|
||||||
|
let
|
||||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
|
||||||
pname = "winbox";
|
pname = "winbox";
|
||||||
version = "4.0beta20";
|
version = "4.0beta20";
|
||||||
|
|
||||||
src = fetchurl {
|
metaCommon = {
|
||||||
name = "WinBox_Linux-${finalAttrs.version}.zip";
|
|
||||||
url = "https://download.mikrotik.com/routeros/winbox/${finalAttrs.version}/WinBox_Linux.zip";
|
|
||||||
hash = "sha256-mU+z7yRYKXnGAXHB5LS5SVUgIzRlR9nV2FzXispntF0=";
|
|
||||||
};
|
|
||||||
|
|
||||||
sourceRoot = ".";
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
autoPatchelfHook
|
|
||||||
copyDesktopItems
|
|
||||||
# makeBinaryWrapper does not support --run
|
|
||||||
makeWrapper
|
|
||||||
unzip
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
fontconfig
|
|
||||||
freetype
|
|
||||||
libGL
|
|
||||||
libxkbcommon
|
|
||||||
xorg.libxcb
|
|
||||||
xorg.xcbutilimage
|
|
||||||
xorg.xcbutilkeysyms
|
|
||||||
xorg.xcbutilrenderutil
|
|
||||||
xorg.xcbutilwm
|
|
||||||
zlib
|
|
||||||
];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
install -Dm644 "assets/img/winbox.png" "$out/share/pixmaps/winbox.png"
|
|
||||||
install -Dm755 "WinBox" "$out/bin/WinBox"
|
|
||||||
|
|
||||||
wrapProgram "$out/bin/WinBox" --run "${lib.getExe finalAttrs.migrationScript}"
|
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
|
|
||||||
desktopItems = [
|
|
||||||
(makeDesktopItem {
|
|
||||||
name = "winbox";
|
|
||||||
desktopName = "Winbox";
|
|
||||||
comment = "GUI administration for Mikrotik RouterOS";
|
|
||||||
exec = "WinBox";
|
|
||||||
icon = "winbox";
|
|
||||||
categories = [ "Utility" ];
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
migrationScript = writeShellApplication {
|
|
||||||
name = "winbox-migrate";
|
|
||||||
text = ''
|
|
||||||
XDG_DATA_HOME=''${XDG_DATA_HOME:-$HOME/.local/share}
|
|
||||||
targetFile="$XDG_DATA_HOME/MikroTik/WinBox/Addresses.cdb"
|
|
||||||
|
|
||||||
if [ -f "$targetFile" ]; then
|
|
||||||
echo "NixOS: WinBox 4 data already present at $(dirname "$targetFile"). Skipping automatic migration."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# cover both wine prefix variants
|
|
||||||
# latter was used until https://github.com/NixOS/nixpkgs/pull/329626 was merged on 2024/07/24
|
|
||||||
winePrefixes=(
|
|
||||||
"''${WINEPREFIX:-$HOME/.wine}"
|
|
||||||
"''${WINBOX_HOME:-$XDG_DATA_HOME/winbox}/wine"
|
|
||||||
)
|
|
||||||
sourceFilePathSuffix="drive_c/users/$USER/AppData/Roaming/Mikrotik/Winbox/Addresses.cdb"
|
|
||||||
selectedSourceFile=""
|
|
||||||
|
|
||||||
for prefix in "''${winePrefixes[@]}"
|
|
||||||
do
|
|
||||||
echo "NixOS: Probing WinBox 3 data path at $prefix..."
|
|
||||||
if [ -f "$prefix/$sourceFilePathSuffix" ]; then
|
|
||||||
selectedSourceFile="$prefix/$sourceFilePathSuffix"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -z "$selectedSourceFile" ]; then
|
|
||||||
echo "NixOS: WinBox 3 data not found. Skipping automatic migration."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "NixOS: Automatically migrating WinBox 3 data..."
|
|
||||||
install -Dvm644 "$selectedSourceFile" "$targetFile"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Graphical configuration utility for RouterOS-based devices";
|
description = "Graphical configuration utility for RouterOS-based devices";
|
||||||
homepage = "https://mikrotik.com";
|
homepage = "https://mikrotik.com";
|
||||||
downloadPage = "https://mikrotik.com/download";
|
downloadPage = "https://mikrotik.com/download";
|
||||||
changelog = "https://download.mikrotik.com/routeros/winbox/${finalAttrs.version}/CHANGELOG";
|
|
||||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
platforms = [ "x86_64-linux" ];
|
|
||||||
mainProgram = "WinBox";
|
mainProgram = "WinBox";
|
||||||
maintainers = with lib.maintainers; [
|
maintainers = with lib.maintainers; [
|
||||||
Scrumplex
|
Scrumplex
|
||||||
|
@ -125,4 +20,22 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
savalet
|
savalet
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
x86_64-zip = callPackage ./build-from-zip.nix {
|
||||||
|
inherit pname version metaCommon;
|
||||||
|
|
||||||
|
hash = "sha256-mU+z7yRYKXnGAXHB5LS5SVUgIzRlR9nV2FzXispntF0=";
|
||||||
|
};
|
||||||
|
|
||||||
|
x86_64-dmg = callPackage ./build-from-dmg.nix {
|
||||||
|
inherit pname version metaCommon;
|
||||||
|
|
||||||
|
hash = "sha256-tLsreK6YsqsbMaY4dil34eiHxAG7GrZYyll6BX9dsx8=";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
(if stdenvNoCC.hostPlatform.isDarwin then x86_64-dmg else x86_64-zip).overrideAttrs (oldAttrs: {
|
||||||
|
meta = oldAttrs.meta // {
|
||||||
|
platforms = x86_64-zip.meta.platforms ++ x86_64-dmg.meta.platforms;
|
||||||
|
mainProgram = "WinBox";
|
||||||
|
changelog = "https://download.mikrotik.com/routeros/winbox/${oldAttrs.version}/CHANGELOG";
|
||||||
|
};
|
||||||
})
|
})
|
||||||
|
|
|
@ -81,7 +81,7 @@ let
|
||||||
redistArch = flags.getRedistArch hostPlatform.system;
|
redistArch = flags.getRedistArch hostPlatform.system;
|
||||||
|
|
||||||
preferable =
|
preferable =
|
||||||
p1: p2: (isSupported p2 -> isSupported p1) && (strings.versionAtLeast p1.version p2.version);
|
p1: p2: (isSupported p2 -> isSupported p1) && (strings.versionOlder p2.version p1.version);
|
||||||
|
|
||||||
# All the supported packages we can build for our platform.
|
# All the supported packages we can build for our platform.
|
||||||
# perSystemReleases :: List Package
|
# perSystemReleases :: List Package
|
||||||
|
|
|
@ -93,9 +93,9 @@
|
||||||
major = "3";
|
major = "3";
|
||||||
minor = "14";
|
minor = "14";
|
||||||
patch = "0";
|
patch = "0";
|
||||||
suffix = "a7";
|
suffix = "b1";
|
||||||
};
|
};
|
||||||
hash = "sha256-ca287DrJ7fkzCOVc+0GE8utLFv2iuwpaOCkp7SnIOG0=";
|
hash = "sha256-Ld0wp3yfYuBlzmSGZKJUubDAEbzaqMHCeHCH5kTL6zk=";
|
||||||
inherit passthruFun;
|
inherit passthruFun;
|
||||||
};
|
};
|
||||||
# Minimal versions of Python (built without optional dependencies)
|
# Minimal versions of Python (built without optional dependencies)
|
||||||
|
|
|
@ -11,12 +11,12 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "oslotest";
|
pname = "oslotest";
|
||||||
version = "5.0.0";
|
version = "5.0.1";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-97skDGy+8voLq7lRP/PafQ8ozDja+Y70Oy6ISDZ/vSA=";
|
hash = "sha256-WpRA0o2MywC89f56BWkEF+pilDsMjpOkMX2LG9Au6O4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pbr ];
|
nativeBuildInputs = [ pbr ];
|
||||||
|
|
|
@ -11,14 +11,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "python-picnic-api2";
|
pname = "python-picnic-api2";
|
||||||
version = "1.2.4";
|
version = "1.3.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "codesalatdev";
|
owner = "codesalatdev";
|
||||||
repo = "python-picnic-api";
|
repo = "python-picnic-api";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-vlb53f+k+oX9ycyTe/63u0qoqIn8kHKtCehl82Ks9wY=";
|
hash = "sha256-lr8xlSu5kvkNNEM22Pc+PFGs4re+Ytw2ct97h6ydY04=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ hatchling ];
|
build-system = [ hatchling ];
|
||||||
|
|
|
@ -364,7 +364,7 @@ buildPythonPackage rec {
|
||||||
''
|
''
|
||||||
+ lib.optionalString (cudaSupport && cudaPackages ? cudnn) ''
|
+ lib.optionalString (cudaSupport && cudaPackages ? cudnn) ''
|
||||||
export CUDNN_INCLUDE_DIR=${lib.getLib cudnn}/include
|
export CUDNN_INCLUDE_DIR=${lib.getLib cudnn}/include
|
||||||
export CUDNN_LIB_DIR=${cudnn.lib}/lib
|
export CUDNN_LIB_DIR=${lib.getLib cudnn}/lib
|
||||||
''
|
''
|
||||||
+ lib.optionalString rocmSupport ''
|
+ lib.optionalString rocmSupport ''
|
||||||
export ROCM_PATH=${rocmtoolkit_joined}
|
export ROCM_PATH=${rocmtoolkit_joined}
|
||||||
|
|
|
@ -70,8 +70,8 @@ let
|
||||||
# https://gitlab.com/armagetronad/armagetronad/-/commits/trunk/?ref_type=heads
|
# https://gitlab.com/armagetronad/armagetronad/-/commits/trunk/?ref_type=heads
|
||||||
${unstableVersionMajor} =
|
${unstableVersionMajor} =
|
||||||
let
|
let
|
||||||
rev = "1830e09888597b372fad192b0d246aefe555540c";
|
rev = "813b684ab0de8ee9737c9fc1f9b90ba0543dd418";
|
||||||
hash = "sha256-svVcg2AMk2GHmg1Szny10KCLZQ6Cly1RrSVNGmf7Fdg=";
|
hash = "sha256-01jWE9rSBJn+JS8p8LTFqIGquOY1avXsAZnfYfo5pPk=";
|
||||||
in
|
in
|
||||||
dedicatedServer: {
|
dedicatedServer: {
|
||||||
version = "${unstableVersionMajor}-${builtins.substring 0 8 rev}";
|
version = "${unstableVersionMajor}-${builtins.substring 0 8 rev}";
|
||||||
|
|
|
@ -5,20 +5,10 @@
|
||||||
qtwebengine,
|
qtwebengine,
|
||||||
qttools,
|
qttools,
|
||||||
python3Packages,
|
python3Packages,
|
||||||
fetchpatch,
|
|
||||||
}:
|
}:
|
||||||
mkKdeDerivation {
|
mkKdeDerivation {
|
||||||
pname = "falkon";
|
pname = "falkon";
|
||||||
|
|
||||||
# Fix crash on startup
|
|
||||||
# FIXME: remove in 25.04.1
|
|
||||||
patches = [
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://invent.kde.org/network/falkon/-/commit/31ba9472369256804400a2db36b3dca3b4be2d73.patch";
|
|
||||||
hash = "sha256-jLJjL4Bp03aZfM/OPXZzgL56T0C/2hHSzNERpbTitzw=";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
extraNativeBuildInputs = [
|
extraNativeBuildInputs = [
|
||||||
qttools
|
qttools
|
||||||
qtwebchannel
|
qtwebchannel
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -8,13 +8,13 @@
|
||||||
buildHomeAssistantComponent rec {
|
buildHomeAssistantComponent rec {
|
||||||
owner = "marcolivierarsenault";
|
owner = "marcolivierarsenault";
|
||||||
domain = "moonraker";
|
domain = "moonraker";
|
||||||
version = "1.7.1";
|
version = "1.8.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "marcolivierarsenault";
|
owner = "marcolivierarsenault";
|
||||||
repo = "moonraker-home-assistant";
|
repo = "moonraker-home-assistant";
|
||||||
tag = version;
|
tag = version;
|
||||||
hash = "sha256-BPlHMTGb1xSxFydeLsHKBlXSqgh1qmTrenPo+XPx2IM=";
|
hash = "sha256-FamZ4MvfWzynTpAKCMnABsX6h1+nB4jAOkO386J02OM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
|
|
@ -13,23 +13,23 @@ rustPlatform.buildRustPackage rec {
|
||||||
# in nixpkgs!
|
# in nixpkgs!
|
||||||
# For that, check the `<dependencies>` section of `appinfo/info.xml`
|
# For that, check the `<dependencies>` section of `appinfo/info.xml`
|
||||||
# in the app (https://github.com/nextcloud/notify_push/blob/main/appinfo/info.xml)
|
# in the app (https://github.com/nextcloud/notify_push/blob/main/appinfo/info.xml)
|
||||||
version = "1.0.0";
|
version = "1.1.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "nextcloud";
|
owner = "nextcloud";
|
||||||
repo = "notify_push";
|
repo = "notify_push";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-Y71o+ARi/YB2BRDfEyORbrA9HPvsUlWdh5UjM8hzmcA=";
|
hash = "sha256-mHoVNKvE4Hszi1wg9fIHjRMJp5+CIBCgUPzreJ6Jnew=";
|
||||||
};
|
};
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-bO3KN+ynxNdbnFv1ZHJSSPWd4SxWQGIis3O3Gfba8jw=";
|
cargoHash = "sha256-PkRWyz4Gd2gGg9n4yChtR96QNOjEK5HNVhBwkkVjVPE=";
|
||||||
|
|
||||||
passthru = rec {
|
passthru = rec {
|
||||||
app = fetchNextcloudApp {
|
app = fetchNextcloudApp {
|
||||||
appName = "notify_push";
|
appName = "notify_push";
|
||||||
appVersion = version;
|
appVersion = version;
|
||||||
hash = "sha256-4yCs4Q25PhYVICAIFlNiRTOFvL0JdmUwR5bNxp54GiA=";
|
hash = "sha256-nxbmzRaW4FYmwTF27P9K7SebKYiL5KOMdyU5unif+NQ=";
|
||||||
license = "agpl3Plus";
|
license = "agpl3Plus";
|
||||||
homepage = "https://github.com/nextcloud/notify_push";
|
homepage = "https://github.com/nextcloud/notify_push";
|
||||||
url = "https://github.com/nextcloud-releases/notify_push/releases/download/v${version}/notify_push-v${version}.tar.gz";
|
url = "https://github.com/nextcloud-releases/notify_push/releases/download/v${version}/notify_push-v${version}.tar.gz";
|
||||||
|
@ -43,7 +43,7 @@ rustPlatform.buildRustPackage rec {
|
||||||
buildAndTestSubdir = "test_client";
|
buildAndTestSubdir = "test_client";
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-bO3KN+ynxNdbnFv1ZHJSSPWd4SxWQGIis3O3Gfba8jw=";
|
cargoHash = "sha256-PkRWyz4Gd2gGg9n4yChtR96QNOjEK5HNVhBwkkVjVPE=";
|
||||||
|
|
||||||
meta = meta // {
|
meta = meta // {
|
||||||
mainProgram = "test_client";
|
mainProgram = "test_client";
|
||||||
|
|
|
@ -13,14 +13,16 @@ let
|
||||||
expected,
|
expected,
|
||||||
src,
|
src,
|
||||||
patches ? [ ],
|
patches ? [ ],
|
||||||
schemaIdToVariableMapping,
|
args,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
patch = makeHardcodeGsettingsPatch ({
|
patch = makeHardcodeGsettingsPatch (
|
||||||
inherit src schemaIdToVariableMapping;
|
args
|
||||||
inherit patches;
|
// {
|
||||||
});
|
inherit src patches;
|
||||||
|
}
|
||||||
|
);
|
||||||
in
|
in
|
||||||
runCommandLocal "makeHardcodeGsettingsPatch-tests-${name}"
|
runCommandLocal "makeHardcodeGsettingsPatch-tests-${name}"
|
||||||
|
|
||||||
|
@ -54,11 +56,13 @@ in
|
||||||
basic = mkTest {
|
basic = mkTest {
|
||||||
name = "basic";
|
name = "basic";
|
||||||
src = ./fixtures/example-project;
|
src = ./fixtures/example-project;
|
||||||
|
args = {
|
||||||
schemaIdToVariableMapping = {
|
schemaIdToVariableMapping = {
|
||||||
"org.gnome.evolution-data-server.addressbook" = "EDS";
|
"org.gnome.evolution-data-server.addressbook" = "EDS";
|
||||||
"org.gnome.evolution.calendar" = "EVO";
|
"org.gnome.evolution.calendar" = "EVO";
|
||||||
"org.gnome.seahorse.nautilus.window" = "SEANAUT";
|
"org.gnome.seahorse.nautilus.window" = "SEANAUT";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
expected = ./fixtures/example-project-patched;
|
expected = ./fixtures/example-project-patched;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -69,9 +73,26 @@ in
|
||||||
# Avoid using wrapper function, which the generator cannot handle.
|
# Avoid using wrapper function, which the generator cannot handle.
|
||||||
./fixtures/example-project-wrapped-settings-constructor-resolve.patch
|
./fixtures/example-project-wrapped-settings-constructor-resolve.patch
|
||||||
];
|
];
|
||||||
|
args = {
|
||||||
schemaIdToVariableMapping = {
|
schemaIdToVariableMapping = {
|
||||||
"org.gnome.evolution-data-server.addressbook" = "EDS";
|
"org.gnome.evolution-data-server.addressbook" = "EDS";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
expected = ./fixtures/example-project-wrapped-settings-constructor-patched;
|
expected = ./fixtures/example-project-wrapped-settings-constructor-patched;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
existsFn = mkTest {
|
||||||
|
name = "exists-fn";
|
||||||
|
src = ./fixtures/example-project;
|
||||||
|
args = {
|
||||||
|
schemaIdToVariableMapping = {
|
||||||
|
"org.gnome.evolution-data-server.addressbook" = "EDS";
|
||||||
|
"org.gnome.evolution.calendar" = "EVO";
|
||||||
|
"org.gnome.seahorse.nautilus.window" = "SEANAUT";
|
||||||
|
};
|
||||||
|
schemaExistsFunction = "e_ews_common_utils_gsettings_schema_exists";
|
||||||
|
};
|
||||||
|
expected = ./fixtures/example-project-patched-with-exists-fn;
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,129 @@
|
||||||
|
#include <gio/gio.h>
|
||||||
|
#include <glib-object.h>
|
||||||
|
|
||||||
|
void schema_id_literal() {
|
||||||
|
GSettings *settings;
|
||||||
|
{
|
||||||
|
g_autoptr(GSettingsSchemaSource) schema_source;
|
||||||
|
g_autoptr(GSettingsSchema) schema;
|
||||||
|
schema_source = g_settings_schema_source_new_from_directory("@EDS@", g_settings_schema_source_get_default(), TRUE, NULL);
|
||||||
|
schema = g_settings_schema_source_lookup(schema_source, "org.gnome.evolution-data-server.addressbook", FALSE);
|
||||||
|
settings = g_settings_new_full(schema, NULL, NULL);
|
||||||
|
}
|
||||||
|
g_object_unref(settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define SELF_UID_PATH_ID "org.gnome.evolution-data-server.addressbook"
|
||||||
|
int schema_id_from_constant() {
|
||||||
|
GSettings *settings;
|
||||||
|
{
|
||||||
|
g_autoptr(GSettingsSchemaSource) schema_source;
|
||||||
|
g_autoptr(GSettingsSchema) schema;
|
||||||
|
schema_source = g_settings_schema_source_new_from_directory("@EDS@", g_settings_schema_source_get_default(), TRUE, NULL);
|
||||||
|
schema = g_settings_schema_source_lookup(schema_source, SELF_UID_PATH_ID, FALSE);
|
||||||
|
settings = g_settings_new_full(schema, NULL, NULL);
|
||||||
|
}
|
||||||
|
g_object_unref(settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
void schema_id_autoptr() {
|
||||||
|
g_autoptr(GSettings) settings = NULL;
|
||||||
|
{
|
||||||
|
g_autoptr(GSettingsSchemaSource) schema_source;
|
||||||
|
g_autoptr(GSettingsSchema) schema;
|
||||||
|
schema_source = g_settings_schema_source_new_from_directory("@EVO@", g_settings_schema_source_get_default(), TRUE, NULL);
|
||||||
|
schema = g_settings_schema_source_lookup(schema_source, "org.gnome.evolution.calendar", FALSE);
|
||||||
|
settings = g_settings_new_full(schema, NULL, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void schema_id_with_backend() {
|
||||||
|
GSettings *settings;
|
||||||
|
{
|
||||||
|
g_autoptr(GSettingsSchemaSource) schema_source;
|
||||||
|
g_autoptr(GSettingsSchema) schema;
|
||||||
|
schema_source = g_settings_schema_source_new_from_directory("@EDS@", g_settings_schema_source_get_default(), TRUE, NULL);
|
||||||
|
schema = g_settings_schema_source_lookup(schema_source, "org.gnome.evolution-data-server.addressbook", FALSE);
|
||||||
|
settings = g_settings_new_full(schema, g_settings_backend_get_default(), NULL);
|
||||||
|
}
|
||||||
|
g_object_unref(settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
void schema_id_with_backend_and_path() {
|
||||||
|
GSettings *settings;
|
||||||
|
{
|
||||||
|
g_autoptr(GSettingsSchemaSource) schema_source;
|
||||||
|
g_autoptr(GSettingsSchema) schema;
|
||||||
|
schema_source = g_settings_schema_source_new_from_directory("@SEANAUT@", g_settings_schema_source_get_default(), TRUE, NULL);
|
||||||
|
schema = g_settings_schema_source_lookup(schema_source, "org.gnome.seahorse.nautilus.window", FALSE);
|
||||||
|
settings = g_settings_new_full(schema, g_settings_backend_get_default(), "/org/gnome/seahorse/nautilus/windows/123/");
|
||||||
|
}
|
||||||
|
g_object_unref(settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
void schema_id_with_path() {
|
||||||
|
GSettings *settings;
|
||||||
|
{
|
||||||
|
g_autoptr(GSettingsSchemaSource) schema_source;
|
||||||
|
g_autoptr(GSettingsSchema) schema;
|
||||||
|
schema_source = g_settings_schema_source_new_from_directory("@SEANAUT@", g_settings_schema_source_get_default(), TRUE, NULL);
|
||||||
|
schema = g_settings_schema_source_lookup(schema_source, "org.gnome.seahorse.nautilus.window", FALSE);
|
||||||
|
settings = g_settings_new_full(schema, NULL, "/org/gnome/seahorse/nautilus/windows/123/");
|
||||||
|
}
|
||||||
|
g_object_unref(settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
void exists_fn_guard() {
|
||||||
|
if (!true) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_autoptr(GSettings) settings = NULL;
|
||||||
|
{
|
||||||
|
g_autoptr(GSettingsSchemaSource) schema_source;
|
||||||
|
g_autoptr(GSettingsSchema) schema;
|
||||||
|
schema_source = g_settings_schema_source_new_from_directory("@EVO@", g_settings_schema_source_get_default(), TRUE, NULL);
|
||||||
|
schema = g_settings_schema_source_lookup(schema_source, "org.gnome.evolution.calendar", FALSE);
|
||||||
|
settings = g_settings_new_full(schema, NULL, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void exists_fn_nested() {
|
||||||
|
if (true) {
|
||||||
|
g_autoptr(GSettings) settings = NULL;
|
||||||
|
{
|
||||||
|
g_autoptr(GSettingsSchemaSource) schema_source;
|
||||||
|
g_autoptr(GSettingsSchema) schema;
|
||||||
|
schema_source = g_settings_schema_source_new_from_directory("@EVO@", g_settings_schema_source_get_default(), TRUE, NULL);
|
||||||
|
schema = g_settings_schema_source_lookup(schema_source, "org.gnome.evolution.calendar", FALSE);
|
||||||
|
settings = g_settings_new_full(schema, NULL, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void exists_fn_unknown() {
|
||||||
|
if (true) {
|
||||||
|
g_autoptr(GSettings) settings = NULL;
|
||||||
|
{
|
||||||
|
g_autoptr(GSettingsSchemaSource) schema_source;
|
||||||
|
g_autoptr(GSettingsSchema) schema;
|
||||||
|
schema_source = g_settings_schema_source_new_from_directory("@EVO@", g_settings_schema_source_get_default(), TRUE, NULL);
|
||||||
|
schema = g_settings_schema_source_lookup(schema_source, "org.gnome.evolution.calendar", FALSE);
|
||||||
|
settings = g_settings_new_full(schema, NULL, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
schema_id_literal();
|
||||||
|
schema_id_from_constant();
|
||||||
|
schema_id_autoptr();
|
||||||
|
schema_id_with_backend();
|
||||||
|
schema_id_with_backend_and_path();
|
||||||
|
schema_id_with_path();
|
||||||
|
exists_fn_guard();
|
||||||
|
exists_fn_nested();
|
||||||
|
exists_fn_unknown();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -73,6 +73,47 @@ void schema_id_with_path() {
|
||||||
g_object_unref(settings);
|
g_object_unref(settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void exists_fn_guard() {
|
||||||
|
if (!e_ews_common_utils_gsettings_schema_exists("org.gnome.evolution.calendar")) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_autoptr(GSettings) settings = NULL;
|
||||||
|
{
|
||||||
|
g_autoptr(GSettingsSchemaSource) schema_source;
|
||||||
|
g_autoptr(GSettingsSchema) schema;
|
||||||
|
schema_source = g_settings_schema_source_new_from_directory("@EVO@", g_settings_schema_source_get_default(), TRUE, NULL);
|
||||||
|
schema = g_settings_schema_source_lookup(schema_source, "org.gnome.evolution.calendar", FALSE);
|
||||||
|
settings = g_settings_new_full(schema, NULL, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void exists_fn_nested() {
|
||||||
|
if (e_ews_common_utils_gsettings_schema_exists("org.gnome.evolution.calendar")) {
|
||||||
|
g_autoptr(GSettings) settings = NULL;
|
||||||
|
{
|
||||||
|
g_autoptr(GSettingsSchemaSource) schema_source;
|
||||||
|
g_autoptr(GSettingsSchema) schema;
|
||||||
|
schema_source = g_settings_schema_source_new_from_directory("@EVO@", g_settings_schema_source_get_default(), TRUE, NULL);
|
||||||
|
schema = g_settings_schema_source_lookup(schema_source, "org.gnome.evolution.calendar", FALSE);
|
||||||
|
settings = g_settings_new_full(schema, NULL, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void exists_fn_unknown() {
|
||||||
|
if (e_ews_common_utils_gsettings_schema_exists("org.gnome.foo")) {
|
||||||
|
g_autoptr(GSettings) settings = NULL;
|
||||||
|
{
|
||||||
|
g_autoptr(GSettingsSchemaSource) schema_source;
|
||||||
|
g_autoptr(GSettingsSchema) schema;
|
||||||
|
schema_source = g_settings_schema_source_new_from_directory("@EVO@", g_settings_schema_source_get_default(), TRUE, NULL);
|
||||||
|
schema = g_settings_schema_source_lookup(schema_source, "org.gnome.evolution.calendar", FALSE);
|
||||||
|
settings = g_settings_new_full(schema, NULL, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
schema_id_literal();
|
schema_id_literal();
|
||||||
schema_id_from_constant();
|
schema_id_from_constant();
|
||||||
|
@ -80,6 +121,9 @@ int main() {
|
||||||
schema_id_with_backend();
|
schema_id_with_backend();
|
||||||
schema_id_with_backend_and_path();
|
schema_id_with_backend_and_path();
|
||||||
schema_id_with_path();
|
schema_id_with_path();
|
||||||
|
exists_fn_guard();
|
||||||
|
exists_fn_nested();
|
||||||
|
exists_fn_unknown();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,29 @@ void schema_id_with_path() {
|
||||||
g_object_unref(settings);
|
g_object_unref(settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void exists_fn_guard() {
|
||||||
|
if (!e_ews_common_utils_gsettings_schema_exists("org.gnome.evolution.calendar")) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_autoptr(GSettings) settings = NULL;
|
||||||
|
settings = g_settings_new("org.gnome.evolution.calendar");
|
||||||
|
}
|
||||||
|
|
||||||
|
void exists_fn_nested() {
|
||||||
|
if (e_ews_common_utils_gsettings_schema_exists("org.gnome.evolution.calendar")) {
|
||||||
|
g_autoptr(GSettings) settings = NULL;
|
||||||
|
settings = g_settings_new("org.gnome.evolution.calendar");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void exists_fn_unknown() {
|
||||||
|
if (e_ews_common_utils_gsettings_schema_exists("org.gnome.foo")) {
|
||||||
|
g_autoptr(GSettings) settings = NULL;
|
||||||
|
settings = g_settings_new("org.gnome.evolution.calendar");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
schema_id_literal();
|
schema_id_literal();
|
||||||
schema_id_from_constant();
|
schema_id_from_constant();
|
||||||
|
@ -44,6 +67,9 @@ int main() {
|
||||||
schema_id_with_backend();
|
schema_id_with_backend();
|
||||||
schema_id_with_backend_and_path();
|
schema_id_with_backend_and_path();
|
||||||
schema_id_with_path();
|
schema_id_with_path();
|
||||||
|
exists_fn_guard();
|
||||||
|
exists_fn_nested();
|
||||||
|
exists_fn_unknown();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -134,8 +134,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
gnused
|
gnused
|
||||||
;
|
;
|
||||||
inherit runtimeShell;
|
inherit runtimeShell;
|
||||||
# patch context
|
|
||||||
OUTPUT = null;
|
|
||||||
})
|
})
|
||||||
|
|
||||||
# Meson does not support using different directories during build and
|
# Meson does not support using different directories during build and
|
||||||
|
|
|
@ -31,26 +31,6 @@ index f3441508ab..7cde8d7d39 100644
|
||||||
log_domain = LOGD_IP6;
|
log_domain = LOGD_IP6;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/src/libnm-client-impl/meson.build b/src/libnm-client-impl/meson.build
|
|
||||||
index 3dd2338a82..de75cc040b 100644
|
|
||||||
--- a/src/libnm-client-impl/meson.build
|
|
||||||
+++ b/src/libnm-client-impl/meson.build
|
|
||||||
@@ -190,7 +190,6 @@ if enable_introspection
|
|
||||||
input: [gen_infos_cmd, libnm_gir[0]] + libnm_core_settings_sources,
|
|
||||||
output: 'nm-property-infos-' + name + '.xml',
|
|
||||||
command: [
|
|
||||||
- python_path,
|
|
||||||
gen_infos_cmd,
|
|
||||||
name,
|
|
||||||
'@OUTPUT@',
|
|
||||||
@@ -206,7 +205,6 @@ if enable_introspection
|
|
||||||
'env',
|
|
||||||
'GI_TYPELIB_PATH=' + gi_typelib_path,
|
|
||||||
'LD_LIBRARY_PATH=' + ld_library_path,
|
|
||||||
- python_path,
|
|
||||||
gen_gir_cmd,
|
|
||||||
'--lib-path', meson.current_build_dir(),
|
|
||||||
'--gir', libnm_gir[0],
|
|
||||||
diff --git a/src/libnmc-base/nm-vpn-helpers.c b/src/libnmc-base/nm-vpn-helpers.c
|
diff --git a/src/libnmc-base/nm-vpn-helpers.c b/src/libnmc-base/nm-vpn-helpers.c
|
||||||
index cbe76f5f1c..8515f94994 100644
|
index cbe76f5f1c..8515f94994 100644
|
||||||
--- a/src/libnmc-base/nm-vpn-helpers.c
|
--- a/src/libnmc-base/nm-vpn-helpers.c
|
||||||
|
@ -88,43 +68,3 @@ index cbe76f5f1c..8515f94994 100644
|
||||||
|
|
||||||
oc_argv[oc_argc++] = path;
|
oc_argv[oc_argc++] = path;
|
||||||
oc_argv[oc_argc++] = "--authenticate";
|
oc_argv[oc_argc++] = "--authenticate";
|
||||||
diff --git a/src/libnmc-setting/meson.build b/src/libnmc-setting/meson.build
|
|
||||||
index 4d5079dfb3..5a15447fde 100644
|
|
||||||
--- a/src/libnmc-setting/meson.build
|
|
||||||
+++ b/src/libnmc-setting/meson.build
|
|
||||||
@@ -9,7 +9,6 @@ if enable_docs
|
|
||||||
input: [merge_cmd, nm_settings_docs_xml_gir['nmcli'], nm_property_infos_xml['nmcli']],
|
|
||||||
output: 'settings-docs-input.xml',
|
|
||||||
command: [
|
|
||||||
- python_path,
|
|
||||||
merge_cmd,
|
|
||||||
'@OUTPUT@',
|
|
||||||
nm_property_infos_xml['nmcli'],
|
|
||||||
@@ -23,7 +22,6 @@ if enable_docs
|
|
||||||
input: [gen_cmd, settings_docs_input_xml],
|
|
||||||
output: 'settings-docs.h',
|
|
||||||
command: [
|
|
||||||
- python_path,
|
|
||||||
gen_cmd,
|
|
||||||
'--output', '@OUTPUT@',
|
|
||||||
'--xml', settings_docs_input_xml
|
|
||||||
diff --git a/src/tests/client/meson.build b/src/tests/client/meson.build
|
|
||||||
index 5686a1c174..cfb6649a21 100644
|
|
||||||
--- a/src/tests/client/meson.build
|
|
||||||
+++ b/src/tests/client/meson.build
|
|
||||||
@@ -6,7 +6,6 @@ test(
|
|
||||||
args: [
|
|
||||||
build_root,
|
|
||||||
source_root,
|
|
||||||
- python_path,
|
|
||||||
'--',
|
|
||||||
'TestNmcli',
|
|
||||||
],
|
|
||||||
@@ -23,7 +22,6 @@ if enable_nm_cloud_setup
|
|
||||||
args: [
|
|
||||||
build_root,
|
|
||||||
source_root,
|
|
||||||
- python_path,
|
|
||||||
'--',
|
|
||||||
'TestNmCloudSetup',
|
|
||||||
],
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue