mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-28 14:22:50 +03:00
Merge master into haskell-updates
This commit is contained in:
commit
58c3652956
@ -10889,6 +10889,12 @@
|
||||
githubId = 613740;
|
||||
name = "Martin Baillie";
|
||||
};
|
||||
mbalatsko = {
|
||||
email = "mbalatsko@gmail.com";
|
||||
github = "mbalatsko";
|
||||
githubId = 15967073;
|
||||
name = "Maksym Balatsko";
|
||||
};
|
||||
mbbx6spp = {
|
||||
email = "me@susanpotter.net";
|
||||
github = "mbbx6spp";
|
||||
@ -13844,6 +13850,13 @@
|
||||
fingerprint = "DD54 130B ABEC B65C 1F6B 2A38 8312 4F97 A318 EA18";
|
||||
}];
|
||||
};
|
||||
p-rintz = {
|
||||
email = "nix@rintz.net";
|
||||
github = "p-rintz";
|
||||
githubId = 13933258;
|
||||
name = "Philipp Rintz";
|
||||
matrix = "@philipp:srv.icu";
|
||||
};
|
||||
ProducerMatt = {
|
||||
name = "Matthew Pherigo";
|
||||
email = "ProducerMatt42@gmail.com";
|
||||
|
@ -6,6 +6,8 @@
|
||||
|
||||
- Support for WiFi6 (IEEE 802.11ax) and WPA3-SAE-PK was enabled in the `hostapd` package, along with a significant rework of the hostapd module.
|
||||
|
||||
- LXD now supports virtual machine instances to complement the existing container support
|
||||
|
||||
## New Services {#sec-release-23.11-new-services}
|
||||
|
||||
- [MCHPRS](https://github.com/MCHPR/MCHPRS), a multithreaded Minecraft server built for redstone. Available as [services.mchprs](#opt-services.mchprs.enable).
|
||||
@ -34,7 +36,9 @@
|
||||
|
||||
- [sitespeed-io](https://sitespeed.io), a tool that can generate metrics (timings, diagnostics) for websites. Available as [services.sitespeed-io](#opt-services.sitespeed-io.enable).
|
||||
|
||||
- [Jool](https://nicmx.github.io/Jool/en/index.html), an Open Source implementation of IPv4/IPv6 translation on Linux. Available as [networking.jool.enable](#opt-networking.jool.enable).
|
||||
- [stalwart-mail](https://stalw.art), an all-in-one email server (SMTP, IMAP, JMAP). Available as [services.stalwart-mail](#opt-services.stalwart-mail.enable).
|
||||
|
||||
- [Jool](https://nicmx.github.io/Jool/en/index.html), a kernelspace NAT64 and SIIT implementation, providing translation between IPv4 and IPv6. Available as [networking.jool.enable](#opt-networking.jool.enable).
|
||||
|
||||
- [Apache Guacamole](https://guacamole.apache.org/), a cross-platform, clientless remote desktop gateway. Available as [services.guacamole-server](#opt-services.guacamole-server.enable) and [services.guacamole-client](#opt-services.guacamole-client.enable) services.
|
||||
|
||||
|
20
nixos/maintainers/scripts/lxd/lxd-container-image-inner.nix
Normal file
20
nixos/maintainers/scripts/lxd/lxd-container-image-inner.nix
Normal file
@ -0,0 +1,20 @@
|
||||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
# Include the default lxd configuration.
|
||||
../../../modules/virtualisation/lxc-container.nix
|
||||
# Include the container-specific autogenerated configuration.
|
||||
./lxd.nix
|
||||
];
|
||||
|
||||
networking.useDHCP = false;
|
||||
networking.interfaces.eth0.useDHCP = true;
|
||||
|
||||
system.stateVersion = "21.05"; # Did you read the comment?
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
@ -16,8 +16,8 @@
|
||||
system.activationScripts.config = ''
|
||||
if [ ! -e /etc/nixos/configuration.nix ]; then
|
||||
mkdir -p /etc/nixos
|
||||
cat ${./lxd-image-inner.nix} > /etc/nixos/configuration.nix
|
||||
sed 's|../../../modules/virtualisation/lxc-container.nix|<nixpkgs/nixos/modules/virtualisation/lxc-container.nix>|g' -i /etc/nixos/configuration.nix
|
||||
cat ${./lxd-container-image-inner.nix} > /etc/nixos/configuration.nix
|
||||
${lib.getExe pkgs.gnused} 's|../../../modules/virtualisation/lxc-container.nix|<nixpkgs/nixos/modules/virtualisation/lxc-container.nix>|g' -i /etc/nixos/configuration.nix
|
||||
fi
|
||||
'';
|
||||
|
@ -1,95 +0,0 @@
|
||||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the default lxd configuration.
|
||||
../../../modules/virtualisation/lxc-container.nix
|
||||
# Include the container-specific autogenerated configuration.
|
||||
./lxd.nix
|
||||
];
|
||||
|
||||
# networking.hostName = mkForce "nixos"; # Overwrite the hostname.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
|
||||
# Set your time zone.
|
||||
# time.timeZone = "Europe/Amsterdam";
|
||||
|
||||
# The global useDHCP flag is deprecated, therefore explicitly set to false here.
|
||||
# Per-interface useDHCP will be mandatory in the future, so this generated config
|
||||
# replicates the default behaviour.
|
||||
networking.useDHCP = false;
|
||||
networking.interfaces.eth0.useDHCP = true;
|
||||
|
||||
# Configure network proxy if necessary
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Select internationalisation properties.
|
||||
# i18n.defaultLocale = "en_US.UTF-8";
|
||||
# console = {
|
||||
# font = "Lat2-Terminus16";
|
||||
# keyMap = "us";
|
||||
# };
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
# services.xserver.enable = true;
|
||||
|
||||
# Configure keymap in X11
|
||||
# services.xserver.layout = "us";
|
||||
# services.xserver.xkbOptions = "eurosign:e";
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
# services.printing.enable = true;
|
||||
|
||||
# Enable sound.
|
||||
# sound.enable = true;
|
||||
# hardware.pulseaudio.enable = true;
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
# users.users.alice = {
|
||||
# isNormalUser = true;
|
||||
# extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
|
||||
# };
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
# environment.systemPackages = with pkgs; [
|
||||
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||
# wget
|
||||
# firefox
|
||||
# ];
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
# programs.gnupg.agent = {
|
||||
# enable = true;
|
||||
# enableSSHSupport = true;
|
||||
# };
|
||||
|
||||
# List services that you want to enable:
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
# services.openssh.enable = true;
|
||||
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It’s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "21.05"; # Did you read the comment?
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
# Include the default lxd configuration.
|
||||
../../../modules/virtualisation/lxd-virtual-machine.nix
|
||||
# Include the container-specific autogenerated configuration.
|
||||
./lxd.nix
|
||||
];
|
||||
|
||||
networking.useDHCP = false;
|
||||
networking.interfaces.eth0.useDHCP = true;
|
||||
|
||||
system.stateVersion = "23.05"; # Did you read the comment?
|
||||
}
|
27
nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix
Normal file
27
nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../../../modules/virtualisation/lxd-virtual-machine.nix
|
||||
];
|
||||
|
||||
virtualisation.lxc.templates.nix = {
|
||||
enable = true;
|
||||
target = "/etc/nixos/lxd.nix";
|
||||
template = ./nix.tpl;
|
||||
when = ["create" "copy"];
|
||||
};
|
||||
|
||||
# copy the config for nixos-rebuild
|
||||
system.activationScripts.config = ''
|
||||
if [ ! -e /etc/nixos/configuration.nix ]; then
|
||||
mkdir -p /etc/nixos
|
||||
cat ${./lxd-virtual-machine-image-inner.nix} > /etc/nixos/configuration.nix
|
||||
${lib.getExe pkgs.gnused} 's|../../../modules/virtualisation/lxd-virtual-machine.nix|<nixpkgs/nixos/modules/virtualisation/lxd-virtual-machine.nix>|g' -i /etc/nixos/configuration.nix
|
||||
fi
|
||||
'';
|
||||
|
||||
# Network
|
||||
networking.useDHCP = false;
|
||||
networking.interfaces.enp5s0.useDHCP = true;
|
||||
}
|
@ -10,7 +10,7 @@ in
|
||||
|
||||
i18n.inputMethod.uim = {
|
||||
toolbar = mkOption {
|
||||
type = types.enum [ "gtk" "gtk3" "gtk-systray" "gtk3-systray" "qt4" ];
|
||||
type = types.enum [ "gtk" "gtk3" "gtk-systray" "gtk3-systray" "qt5" ];
|
||||
default = "gtk";
|
||||
example = "gtk-systray";
|
||||
description = lib.mdDoc ''
|
||||
|
@ -594,6 +594,7 @@
|
||||
./services/mail/rss2email.nix
|
||||
./services/mail/schleuder.nix
|
||||
./services/mail/spamassassin.nix
|
||||
./services/mail/stalwart-mail.nix
|
||||
./services/mail/sympa.nix
|
||||
./services/mail/zeyple.nix
|
||||
./services/matrix/appservice-discord.nix
|
||||
|
@ -192,6 +192,10 @@ in
|
||||
###### implementation
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
assertions = [
|
||||
{ assertion = cfg.package.pname != "sudo-rs";
|
||||
message = "The NixOS `sudo` module does not work with `sudo-rs` yet."; }
|
||||
];
|
||||
|
||||
# We `mkOrder 600` so that the default rule shows up first, but there is
|
||||
# still enough room for a user to `mkBefore` it.
|
||||
|
106
nixos/modules/services/mail/stalwart-mail.nix
Normal file
106
nixos/modules/services/mail/stalwart-mail.nix
Normal file
@ -0,0 +1,106 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.stalwart-mail;
|
||||
configFormat = pkgs.formats.toml { };
|
||||
configFile = configFormat.generate "stalwart-mail.toml" cfg.settings;
|
||||
dataDir = "/var/lib/stalwart-mail";
|
||||
|
||||
in {
|
||||
options.services.stalwart-mail = {
|
||||
enable = mkEnableOption (mdDoc "the Stalwart all-in-one email server");
|
||||
package = mkPackageOptionMD pkgs "stalwart-mail" { };
|
||||
|
||||
settings = mkOption {
|
||||
inherit (configFormat) type;
|
||||
default = { };
|
||||
description = mdDoc ''
|
||||
Configuration options for the Stalwart email server.
|
||||
See <https://stalw.art/docs/> for available options.
|
||||
|
||||
By default, the module is configured to store everything locally.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# Default config: all local
|
||||
services.stalwart-mail.settings = {
|
||||
global.tracing.method = mkDefault "stdout";
|
||||
global.tracing.level = mkDefault "info";
|
||||
queue.path = mkDefault "${dataDir}/queue";
|
||||
report.path = mkDefault "${dataDir}/reports";
|
||||
store.db.path = mkDefault "${dataDir}/data/index.sqlite3";
|
||||
store.blob.type = mkDefault "local";
|
||||
store.blob.local.path = mkDefault "${dataDir}/data/blobs";
|
||||
resolver.type = mkDefault "system";
|
||||
};
|
||||
|
||||
systemd.services.stalwart-mail = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "local-fs.target" "network.target" ];
|
||||
|
||||
preStart = ''
|
||||
mkdir -p ${dataDir}/{queue,reports,data/blobs}
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart =
|
||||
"${cfg.package}/bin/stalwart-mail --config=${configFile}";
|
||||
|
||||
# Base from template resources/systemd/stalwart-mail.service
|
||||
Type = "simple";
|
||||
LimitNOFILE = 65536;
|
||||
KillMode = "process";
|
||||
KillSignal = "SIGINT";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 5;
|
||||
StandardOutput = "syslog";
|
||||
StandardError = "syslog";
|
||||
SyslogIdentifier = "stalwart-mail";
|
||||
|
||||
DynamicUser = true;
|
||||
User = "stalwart-mail";
|
||||
StateDirectory = "stalwart-mail";
|
||||
|
||||
# Bind standard privileged ports
|
||||
AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
|
||||
CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
|
||||
|
||||
# Hardening
|
||||
DeviceAllow = [ "" ];
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
PrivateDevices = true;
|
||||
PrivateUsers = false; # incompatible with CAP_NET_BIND_SERVICE
|
||||
ProcSubset = "pid";
|
||||
PrivateTmp = true;
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectHome = true;
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectProc = "invisible";
|
||||
ProtectSystem = "strict";
|
||||
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [ "@system-service" "~@privileged" ];
|
||||
UMask = "0077";
|
||||
};
|
||||
};
|
||||
|
||||
# Make admin commands available in the shell
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
};
|
||||
|
||||
meta = {
|
||||
maintainers = with maintainers; [ happysalada pacien ];
|
||||
};
|
||||
}
|
@ -159,7 +159,6 @@ in {
|
||||
if [ ! -f '${registrationFile}' ]; then
|
||||
${pkgs.mautrix-telegram}/bin/mautrix-telegram \
|
||||
--generate-registration \
|
||||
--base-config='${pkgs.mautrix-telegram}/${pkgs.mautrix-telegram.pythonModule.sitePackages}/mautrix_telegram/example-config.yaml' \
|
||||
--config='${settingsFile}' \
|
||||
--registration='${registrationFile}'
|
||||
fi
|
||||
|
@ -11,53 +11,47 @@
|
||||
settingsFileUnsubstituted = settingsFormat.generate "mautrix-whatsapp-config-unsubstituted.json" cfg.settings;
|
||||
settingsFormat = pkgs.formats.json {};
|
||||
appservicePort = 29318;
|
||||
|
||||
mkDefaults = lib.mapAttrsRecursive (n: v: lib.mkDefault v);
|
||||
defaultConfig = {
|
||||
homeserver.address = "http://localhost:8448";
|
||||
appservice = {
|
||||
hostname = "[::]";
|
||||
port = appservicePort;
|
||||
database.type = "sqlite3";
|
||||
database.uri = "${dataDir}/mautrix-whatsapp.db";
|
||||
id = "whatsapp";
|
||||
bot.username = "whatsappbot";
|
||||
bot.displayname = "WhatsApp Bridge Bot";
|
||||
as_token = "";
|
||||
hs_token = "";
|
||||
};
|
||||
bridge = {
|
||||
username_template = "whatsapp_{{.}}";
|
||||
displayname_template = "{{if .BusinessName}}{{.BusinessName}}{{else if .PushName}}{{.PushName}}{{else}}{{.JID}}{{end}} (WA)";
|
||||
double_puppet_server_map = {};
|
||||
login_shared_secret_map = {};
|
||||
command_prefix = "!wa";
|
||||
permissions."*" = "relay";
|
||||
relay.enabled = true;
|
||||
};
|
||||
logging = {
|
||||
min_level = "info";
|
||||
writers = lib.singleton {
|
||||
type = "stdout";
|
||||
format = "pretty-colored";
|
||||
time_format = " ";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
in {
|
||||
imports = [];
|
||||
options.services.mautrix-whatsapp = {
|
||||
enable = lib.mkEnableOption "mautrix-whatsapp, a puppeting/relaybot bridge between Matrix and WhatsApp.";
|
||||
enable = lib.mkEnableOption (lib.mdDoc "mautrix-whatsapp, a puppeting/relaybot bridge between Matrix and WhatsApp.");
|
||||
|
||||
settings = lib.mkOption {
|
||||
type = settingsFormat.type;
|
||||
default = {
|
||||
appservice = {
|
||||
address = "http://localhost:${toString appservicePort}";
|
||||
hostname = "[::]";
|
||||
port = appservicePort;
|
||||
database = {
|
||||
type = "sqlite3";
|
||||
uri = "${dataDir}/mautrix-whatsapp.db";
|
||||
};
|
||||
id = "whatsapp";
|
||||
bot = {
|
||||
username = "whatsappbot";
|
||||
displayname = "WhatsApp Bridge Bot";
|
||||
};
|
||||
as_token = "";
|
||||
hs_token = "";
|
||||
};
|
||||
bridge = {
|
||||
username_template = "whatsapp_{{.}}";
|
||||
displayname_template = "{{if .BusinessName}}{{.BusinessName}}{{else if .PushName}}{{.PushName}}{{else}}{{.JID}}{{end}} (WA)";
|
||||
double_puppet_server_map = {};
|
||||
login_shared_secret_map = {};
|
||||
command_prefix = "!wa";
|
||||
permissions."*" = "relay";
|
||||
relay.enabled = true;
|
||||
};
|
||||
logging = {
|
||||
min_level = "info";
|
||||
writers = [
|
||||
{
|
||||
type = "stdout";
|
||||
format = "pretty-colored";
|
||||
}
|
||||
{
|
||||
type = "file";
|
||||
format = "json";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
default = defaultConfig;
|
||||
description = lib.mdDoc ''
|
||||
{file}`config.yaml` configuration as a Nix attribute set.
|
||||
Configuration options should match those described in
|
||||
@ -117,10 +111,22 @@ in {
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.mautrix-whatsapp.settings = {
|
||||
homeserver.domain = lib.mkDefault config.services.matrix-synapse.settings.server_name;
|
||||
|
||||
users.users.mautrix-whatsapp = {
|
||||
isSystemUser = true;
|
||||
group = "mautrix-whatsapp";
|
||||
home = dataDir;
|
||||
description = "Mautrix-WhatsApp bridge user";
|
||||
};
|
||||
|
||||
users.groups.mautrix-whatsapp = {};
|
||||
|
||||
services.mautrix-whatsapp.settings = lib.mkMerge (map mkDefaults [
|
||||
defaultConfig
|
||||
# Note: this is defined here to avoid the docs depending on `config`
|
||||
{ homeserver.domain = config.services.matrix-synapse.settings.server_name; }
|
||||
]);
|
||||
|
||||
systemd.services.mautrix-whatsapp = {
|
||||
description = "Mautrix-WhatsApp Service - A WhatsApp bridge for Matrix";
|
||||
|
||||
@ -158,10 +164,11 @@ in {
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
DynamicUser = true;
|
||||
User = "mautrix-whatsapp";
|
||||
Group = "mautrix-whatsapp";
|
||||
EnvironmentFile = cfg.environmentFile;
|
||||
StateDirectory = baseNameOf dataDir;
|
||||
WorkingDirectory = "${dataDir}";
|
||||
WorkingDirectory = dataDir;
|
||||
ExecStart = ''
|
||||
${pkgs.mautrix-whatsapp}/bin/mautrix-whatsapp \
|
||||
--config='${settingsFile}' \
|
||||
|
@ -32,11 +32,21 @@ in {
|
||||
type = types.package;
|
||||
description = lib.mdDoc ''Mimir package to use.'';
|
||||
};
|
||||
|
||||
extraFlags = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = [ "--config.expand-env=true" ];
|
||||
description = lib.mdDoc ''
|
||||
Specify a list of additional command line flags,
|
||||
which get escaped and are then passed to Mimir.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# for mimirtool
|
||||
environment.systemPackages = [ pkgs.mimir ];
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
assertions = [{
|
||||
assertion = (
|
||||
@ -60,7 +70,7 @@ in {
|
||||
else cfg.configFile;
|
||||
in
|
||||
{
|
||||
ExecStart = "${cfg.package}/bin/mimir --config.file=${conf}";
|
||||
ExecStart = "${cfg.package}/bin/mimir --config.file=${conf} ${escapeShellArgs cfg.extraFlags}";
|
||||
DynamicUser = true;
|
||||
Restart = "always";
|
||||
ProtectSystem = "full";
|
||||
|
@ -16,7 +16,7 @@ let
|
||||
TemporaryFileSystem = [ "/" ];
|
||||
BindReadOnlyPaths = [
|
||||
builtins.storeDir
|
||||
"/run/current-system/kernel-modules"
|
||||
"/run/booted-system/kernel-modules"
|
||||
];
|
||||
|
||||
# Give capabilities to load the module and configure it
|
||||
@ -31,26 +31,96 @@ let
|
||||
|
||||
configFormat = pkgs.formats.json {};
|
||||
|
||||
mkDefaultAttrs = lib.mapAttrs (n: v: lib.mkDefault v);
|
||||
# Generate the config file of instance `name`
|
||||
nat64Conf = name:
|
||||
configFormat.generate "jool-nat64-${name}.conf"
|
||||
(cfg.nat64.${name} // { instance = name; });
|
||||
siitConf = name:
|
||||
configFormat.generate "jool-siit-${name}.conf"
|
||||
(cfg.siit.${name} // { instance = name; });
|
||||
|
||||
defaultNat64 = {
|
||||
instance = "default";
|
||||
framework = "netfilter";
|
||||
global.pool6 = "64:ff9b::/96";
|
||||
};
|
||||
defaultSiit = {
|
||||
instance = "default";
|
||||
framework = "netfilter";
|
||||
# NAT64 config type
|
||||
nat64Options = lib.types.submodule {
|
||||
# The format is plain JSON
|
||||
freeformType = configFormat.type;
|
||||
# Some options with a default value
|
||||
options.framework = lib.mkOption {
|
||||
type = lib.types.enum [ "netfilter" "iptables" ];
|
||||
default = "netfilter";
|
||||
description = lib.mdDoc ''
|
||||
The framework to use for attaching Jool's translation to the exist
|
||||
kernel packet processing rules. See the
|
||||
[documentation](https://nicmx.github.io/Jool/en/intro-jool.html#design)
|
||||
for the differences between the two options.
|
||||
'';
|
||||
};
|
||||
options.global.pool6 = lib.mkOption {
|
||||
type = lib.types.strMatching "[[:xdigit:]:]+/[[:digit:]]+"
|
||||
// { description = "Network prefix in CIDR notation"; };
|
||||
default = "64:ff9b::/96";
|
||||
description = lib.mdDoc ''
|
||||
The prefix used for embedding IPv4 into IPv6 addresses.
|
||||
Defaults to the well-known NAT64 prefix, defined by
|
||||
[RFC 6052](https://datatracker.ietf.org/doc/html/rfc6052).
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
nat64Conf = configFormat.generate "jool-nat64.conf" cfg.nat64.config;
|
||||
siitConf = configFormat.generate "jool-siit.conf" cfg.siit.config;
|
||||
# SIIT config type
|
||||
siitOptions = lib.types.submodule {
|
||||
# The format is, again, plain JSON
|
||||
freeformType = configFormat.type;
|
||||
# Some options with a default value
|
||||
options = { inherit (nat64Options.getSubOptions []) framework; };
|
||||
};
|
||||
|
||||
makeNat64Unit = name: opts: {
|
||||
"jool-nat64-${name}" = {
|
||||
description = "Jool, NAT64 setup of instance ${name}";
|
||||
documentation = [ "https://nicmx.github.io/Jool/en/documentation.html" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStartPre = "${pkgs.kmod}/bin/modprobe jool";
|
||||
ExecStart = "${jool-cli}/bin/jool file handle ${nat64Conf name}";
|
||||
ExecStop = "${jool-cli}/bin/jool -f ${nat64Conf name} instance remove";
|
||||
} // hardening;
|
||||
};
|
||||
};
|
||||
|
||||
makeSiitUnit = name: opts: {
|
||||
"jool-siit-${name}" = {
|
||||
description = "Jool, SIIT setup of instance ${name}";
|
||||
documentation = [ "https://nicmx.github.io/Jool/en/documentation.html" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStartPre = "${pkgs.kmod}/bin/modprobe jool_siit";
|
||||
ExecStart = "${jool-cli}/bin/jool_siit file handle ${siitConf name}";
|
||||
ExecStop = "${jool-cli}/bin/jool_siit -f ${siitConf name} instance remove";
|
||||
} // hardening;
|
||||
};
|
||||
};
|
||||
|
||||
checkNat64 = name: _: ''
|
||||
printf 'Validating Jool configuration for NAT64 instance "${name}"... '
|
||||
jool file check ${nat64Conf name}
|
||||
printf 'Ok.\n'; touch "$out"
|
||||
'';
|
||||
|
||||
checkSiit = name: _: ''
|
||||
printf 'Validating Jool configuration for SIIT instance "${name}"... '
|
||||
jool_siit file check ${siitConf name}
|
||||
printf 'Ok.\n'; touch "$out"
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
networking.jool.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
@ -64,157 +134,146 @@ in
|
||||
NAT64, analogous to the IPv4 NAPT. Refer to the upstream
|
||||
[documentation](https://nicmx.github.io/Jool/en/intro-xlat.html) for
|
||||
the supported modes of translation and how to configure them.
|
||||
|
||||
Enabling this option will install the Jool kernel module and the
|
||||
command line tools for controlling it.
|
||||
'';
|
||||
};
|
||||
|
||||
networking.jool.nat64.enable = lib.mkEnableOption (lib.mdDoc "a NAT64 instance of Jool.");
|
||||
networking.jool.nat64.config = lib.mkOption {
|
||||
type = configFormat.type;
|
||||
default = defaultNat64;
|
||||
networking.jool.nat64 = lib.mkOption {
|
||||
type = lib.types.attrsOf nat64Options;
|
||||
default = { };
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
# custom NAT64 prefix
|
||||
global.pool6 = "2001:db8:64::/96";
|
||||
default = {
|
||||
# custom NAT64 prefix
|
||||
global.pool6 = "2001:db8:64::/96";
|
||||
|
||||
# Port forwarding
|
||||
bib = [
|
||||
{ # SSH 192.0.2.16 → 2001:db8:a::1
|
||||
"protocol" = "TCP";
|
||||
"ipv4 address" = "192.0.2.16#22";
|
||||
"ipv6 address" = "2001:db8:a::1#22";
|
||||
}
|
||||
{ # DNS (TCP) 192.0.2.16 → 2001:db8:a::2
|
||||
"protocol" = "TCP";
|
||||
"ipv4 address" = "192.0.2.16#53";
|
||||
"ipv6 address" = "2001:db8:a::2#53";
|
||||
}
|
||||
{ # DNS (UDP) 192.0.2.16 → 2001:db8:a::2
|
||||
"protocol" = "UDP";
|
||||
"ipv4 address" = "192.0.2.16#53";
|
||||
"ipv6 address" = "2001:db8:a::2#53";
|
||||
}
|
||||
];
|
||||
# Port forwarding
|
||||
bib = [
|
||||
{ # SSH 192.0.2.16 → 2001:db8:a::1
|
||||
"protocol" = "TCP";
|
||||
"ipv4 address" = "192.0.2.16#22";
|
||||
"ipv6 address" = "2001:db8:a::1#22";
|
||||
}
|
||||
{ # DNS (TCP) 192.0.2.16 → 2001:db8:a::2
|
||||
"protocol" = "TCP";
|
||||
"ipv4 address" = "192.0.2.16#53";
|
||||
"ipv6 address" = "2001:db8:a::2#53";
|
||||
}
|
||||
{ # DNS (UDP) 192.0.2.16 → 2001:db8:a::2
|
||||
"protocol" = "UDP";
|
||||
"ipv4 address" = "192.0.2.16#53";
|
||||
"ipv6 address" = "2001:db8:a::2#53";
|
||||
}
|
||||
];
|
||||
|
||||
pool4 = [
|
||||
# Ports for dynamic translation
|
||||
{ protocol = "TCP"; prefix = "192.0.2.16/32"; "port range" = "40001-65535"; }
|
||||
{ protocol = "UDP"; prefix = "192.0.2.16/32"; "port range" = "40001-65535"; }
|
||||
{ protocol = "ICMP"; prefix = "192.0.2.16/32"; "port range" = "40001-65535"; }
|
||||
pool4 = [
|
||||
# Port ranges for dynamic translation
|
||||
{ protocol = "TCP"; prefix = "192.0.2.16/32"; "port range" = "40001-65535"; }
|
||||
{ protocol = "UDP"; prefix = "192.0.2.16/32"; "port range" = "40001-65535"; }
|
||||
{ protocol = "ICMP"; prefix = "192.0.2.16/32"; "port range" = "40001-65535"; }
|
||||
|
||||
# Ports for static BIB entries
|
||||
{ protocol = "TCP"; prefix = "192.0.2.16/32"; "port range" = "22"; }
|
||||
{ protocol = "UDP"; prefix = "192.0.2.16/32"; "port range" = "53"; }
|
||||
];
|
||||
# Ports for static BIB entries
|
||||
{ protocol = "TCP"; prefix = "192.0.2.16/32"; "port range" = "22"; }
|
||||
{ protocol = "UDP"; prefix = "192.0.2.16/32"; "port range" = "53"; }
|
||||
];
|
||||
};
|
||||
}
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
The configuration of a stateful NAT64 instance of Jool managed through
|
||||
NixOS. See https://nicmx.github.io/Jool/en/config-atomic.html for the
|
||||
available options.
|
||||
Definitions of NAT64 instances of Jool.
|
||||
See the
|
||||
[documentation](https://nicmx.github.io/Jool/en/config-atomic.html) for
|
||||
the available options. Also check out the
|
||||
[tutorial](https://nicmx.github.io/Jool/en/run-nat64.html) for an
|
||||
introduction to NAT64 and how to troubleshoot the setup.
|
||||
|
||||
The attribute name defines the name of the instance, with the main one
|
||||
being `default`: this can be accessed from the command line without
|
||||
specifying the name with `-i`.
|
||||
|
||||
::: {.note}
|
||||
Existing or more instances created manually will not interfere with the
|
||||
NixOS instance, provided the respective `pool4` addresses and port
|
||||
ranges are not overlapping.
|
||||
Instances created imperatively from the command line will not interfere
|
||||
with the NixOS instances, provided the respective `pool4` addresses and
|
||||
port ranges are not overlapping.
|
||||
:::
|
||||
|
||||
::: {.warning}
|
||||
Changes to the NixOS instance performed via `jool instance nixos-nat64`
|
||||
are applied correctly but will be lost after restarting
|
||||
`jool-nat64.service`.
|
||||
Changes to an instance performed via `jool -i <name>` are applied
|
||||
correctly but will be lost after restarting the respective
|
||||
`jool-nat64-<name>.service`.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
networking.jool.siit.enable = lib.mkEnableOption (lib.mdDoc "a SIIT instance of Jool.");
|
||||
networking.jool.siit.config = lib.mkOption {
|
||||
type = configFormat.type;
|
||||
default = defaultSiit;
|
||||
networking.jool.siit = lib.mkOption {
|
||||
type = lib.types.attrsOf siitOptions;
|
||||
default = { };
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
# Maps any IPv4 address x.y.z.t to 2001:db8::x.y.z.t and v.v.
|
||||
pool6 = "2001:db8::/96";
|
||||
default = {
|
||||
# Maps any IPv4 address x.y.z.t to 2001:db8::x.y.z.t and v.v.
|
||||
global.pool6 = "2001:db8::/96";
|
||||
|
||||
# Explicit address mappings
|
||||
eamt = [
|
||||
# 2001:db8:1:: ←→ 192.0.2.0
|
||||
{ "ipv6 prefix": "2001:db8:1::/128", "ipv4 prefix": "192.0.2.0" }
|
||||
# 2001:db8:1::x ←→ 198.51.100.x
|
||||
{ "ipv6 prefix": "2001:db8:2::/120", "ipv4 prefix": "198.51.100.0/24" }
|
||||
]
|
||||
# Explicit address mappings
|
||||
eamt = [
|
||||
# 2001:db8:1:: ←→ 192.0.2.0
|
||||
{ "ipv6 prefix" = "2001:db8:1::/128"; "ipv4 prefix" = "192.0.2.0"; }
|
||||
# 2001:db8:1::x ←→ 198.51.100.x
|
||||
{ "ipv6 prefix" = "2001:db8:2::/120"; "ipv4 prefix" = "198.51.100.0/24"; }
|
||||
];
|
||||
};
|
||||
}
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
The configuration of a SIIT instance of Jool managed through
|
||||
NixOS. See https://nicmx.github.io/Jool/en/config-atomic.html for the
|
||||
available options.
|
||||
Definitions of SIIT instances of Jool.
|
||||
See the
|
||||
[documentation](https://nicmx.github.io/Jool/en/config-atomic.html) for
|
||||
the available options. Also check out the
|
||||
[tutorial](https://nicmx.github.io/Jool/en/run-vanilla.html) for an
|
||||
introduction to SIIT and how to troubleshoot the setup.
|
||||
|
||||
The attribute name defines the name of the instance, with the main one
|
||||
being `default`: this can be accessed from the command line without
|
||||
specifying the name with `-i`.
|
||||
|
||||
::: {.note}
|
||||
Existing or more instances created manually will not interfere with the
|
||||
NixOS instance, provided the respective `EAMT` address mappings are not
|
||||
overlapping.
|
||||
Instances created imperatively from the command line will not interfere
|
||||
with the NixOS instances, provided the respective EAMT addresses and
|
||||
port ranges are not overlapping.
|
||||
:::
|
||||
|
||||
::: {.warning}
|
||||
Changes to the NixOS instance performed via `jool instance nixos-siit`
|
||||
are applied correctly but will be lost after restarting
|
||||
`jool-siit.service`.
|
||||
Changes to an instance performed via `jool -i <name>` are applied
|
||||
correctly but will be lost after restarting the respective
|
||||
`jool-siit-<name>.service`.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
###### implementation
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [ jool-cli ];
|
||||
# Install kernel module and cli tools
|
||||
boot.extraModulePackages = [ jool ];
|
||||
environment.systemPackages = [ jool-cli ];
|
||||
|
||||
systemd.services.jool-nat64 = lib.mkIf cfg.nat64.enable {
|
||||
description = "Jool, NAT64 setup";
|
||||
documentation = [ "https://nicmx.github.io/Jool/en/documentation.html" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
reloadIfChanged = true;
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStartPre = "${pkgs.kmod}/bin/modprobe jool";
|
||||
ExecStart = "${jool-cli}/bin/jool file handle ${nat64Conf}";
|
||||
ExecStop = "${jool-cli}/bin/jool -f ${nat64Conf} instance remove";
|
||||
} // hardening;
|
||||
};
|
||||
|
||||
systemd.services.jool-siit = lib.mkIf cfg.siit.enable {
|
||||
description = "Jool, SIIT setup";
|
||||
documentation = [ "https://nicmx.github.io/Jool/en/documentation.html" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
reloadIfChanged = true;
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStartPre = "${pkgs.kmod}/bin/modprobe jool_siit";
|
||||
ExecStart = "${jool-cli}/bin/jool_siit file handle ${siitConf}";
|
||||
ExecStop = "${jool-cli}/bin/jool_siit -f ${siitConf} instance remove";
|
||||
} // hardening;
|
||||
};
|
||||
|
||||
system.checks = lib.singleton (pkgs.runCommand "jool-validated" {
|
||||
nativeBuildInputs = [ pkgs.buildPackages.jool-cli ];
|
||||
preferLocalBuild = true;
|
||||
} ''
|
||||
printf 'Validating Jool configuration... '
|
||||
${lib.optionalString cfg.siit.enable "jool_siit file check ${siitConf}"}
|
||||
${lib.optionalString cfg.nat64.enable "jool file check ${nat64Conf}"}
|
||||
printf 'ok\n'
|
||||
touch "$out"
|
||||
'');
|
||||
|
||||
networking.jool.nat64.config = mkDefaultAttrs defaultNat64;
|
||||
networking.jool.siit.config = mkDefaultAttrs defaultSiit;
|
||||
# Install services for each instance
|
||||
systemd.services = lib.mkMerge
|
||||
(lib.mapAttrsToList makeNat64Unit cfg.nat64 ++
|
||||
lib.mapAttrsToList makeSiitUnit cfg.siit);
|
||||
|
||||
# Check the configuration of each instance
|
||||
system.checks = lib.optional (cfg.nat64 != {} || cfg.siit != {})
|
||||
(pkgs.runCommand "jool-validated"
|
||||
{
|
||||
nativeBuildInputs = with pkgs.buildPackages; [ jool-cli ];
|
||||
preferLocalBuild = true;
|
||||
}
|
||||
(lib.concatStrings
|
||||
(lib.mapAttrsToList checkNat64 cfg.nat64 ++
|
||||
lib.mapAttrsToList checkSiit cfg.siit)));
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ rnhmjoj ];
|
||||
|
@ -70,6 +70,26 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
networking.nftables.checkRulesetRedirects = mkOption {
|
||||
type = types.addCheck (types.attrsOf types.path) (attrs: all types.path.check (attrNames attrs));
|
||||
default = {
|
||||
"/etc/hosts" = config.environment.etc.hosts.source;
|
||||
"/etc/protocols" = config.environment.etc.protocols.source;
|
||||
"/etc/services" = config.environment.etc.services.source;
|
||||
};
|
||||
defaultText = literalExpression ''
|
||||
{
|
||||
"/etc/hosts" = config.environment.etc.hosts.source;
|
||||
"/etc/protocols" = config.environment.etc.protocols.source;
|
||||
"/etc/services" = config.environment.etc.services.source;
|
||||
}
|
||||
'';
|
||||
description = mdDoc ''
|
||||
Set of paths that should be intercepted and rewritten while checking the ruleset
|
||||
using `pkgs.buildPackages.libredirect`.
|
||||
'';
|
||||
};
|
||||
|
||||
networking.nftables.preCheckRuleset = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
@ -282,7 +302,7 @@ in
|
||||
cp $out ruleset.conf
|
||||
sed 's|include "${deletionsScriptVar}"||' -i ruleset.conf
|
||||
${cfg.preCheckRuleset}
|
||||
export NIX_REDIRECTS=/etc/protocols=${pkgs.buildPackages.iana-etc}/etc/protocols:/etc/services=${pkgs.buildPackages.iana-etc}/etc/services
|
||||
export NIX_REDIRECTS=${escapeShellArg (concatStringsSep ":" (mapAttrsToList (n: v: "${n}=${v}") cfg.checkRulesetRedirects))}
|
||||
LD_PRELOAD="${pkgs.buildPackages.libredirect}/lib/libredirect.so ${pkgs.buildPackages.lklWithFirewall.lib}/lib/liblkl-hijack.so" \
|
||||
${pkgs.buildPackages.nftables}/bin/nft --check --file ruleset.conf
|
||||
'';
|
||||
|
@ -134,6 +134,7 @@ in {
|
||||
# Update user directories.
|
||||
xdg-user-dirs
|
||||
]
|
||||
++ lib.optional config.networking.networkmanager.enable pkgs.networkmanagerapplet
|
||||
++ (utils.removePackagesByName [
|
||||
cinnamon.nemo
|
||||
mate.eom
|
||||
@ -192,7 +193,7 @@ in {
|
||||
# Required by Budgie Panel plugins and/or Budgie Control Center panels.
|
||||
networking.networkmanager.enable = mkDefault true; # for BCC's Network panel.
|
||||
programs.nm-applet.enable = config.networking.networkmanager.enable; # Budgie has no Network applet.
|
||||
programs.nm-applet.indicator = false; # Budgie doesn't support AppIndicators.
|
||||
programs.nm-applet.indicator = true; # Budgie uses AppIndicators.
|
||||
|
||||
hardware.bluetooth.enable = mkDefault true; # for Budgie's Status Indicator and BCC's Bluetooth panel.
|
||||
hardware.pulseaudio.enable = mkDefault true; # for Budgie's Status Indicator and BCC's Sound panel.
|
||||
|
@ -1,96 +1,16 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
templateSubmodule = { ... }: {
|
||||
options = {
|
||||
enable = mkEnableOption (lib.mdDoc "this template");
|
||||
|
||||
target = mkOption {
|
||||
description = lib.mdDoc "Path in the container";
|
||||
type = types.path;
|
||||
};
|
||||
template = mkOption {
|
||||
description = lib.mdDoc ".tpl file for rendering the target";
|
||||
type = types.path;
|
||||
};
|
||||
when = mkOption {
|
||||
description = lib.mdDoc "Events which trigger a rewrite (create, copy)";
|
||||
type = types.listOf (types.str);
|
||||
};
|
||||
properties = mkOption {
|
||||
description = lib.mdDoc "Additional properties";
|
||||
type = types.attrs;
|
||||
default = {};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
toYAML = name: data: pkgs.writeText name (generators.toYAML {} data);
|
||||
|
||||
cfg = config.virtualisation.lxc;
|
||||
templates = if cfg.templates != {} then let
|
||||
list = mapAttrsToList (name: value: { inherit name; } // value)
|
||||
(filterAttrs (name: value: value.enable) cfg.templates);
|
||||
in
|
||||
{
|
||||
files = map (tpl: {
|
||||
source = tpl.template;
|
||||
target = "/templates/${tpl.name}.tpl";
|
||||
}) list;
|
||||
properties = listToAttrs (map (tpl: nameValuePair tpl.target {
|
||||
when = tpl.when;
|
||||
template = "${tpl.name}.tpl";
|
||||
properties = tpl.properties;
|
||||
}) list);
|
||||
}
|
||||
else { files = []; properties = {}; };
|
||||
|
||||
in
|
||||
{
|
||||
in {
|
||||
imports = [
|
||||
../installer/cd-dvd/channel.nix
|
||||
../profiles/clone-config.nix
|
||||
../profiles/minimal.nix
|
||||
./lxc-instance-common.nix
|
||||
];
|
||||
|
||||
options = {
|
||||
virtualisation.lxc = {
|
||||
templates = mkOption {
|
||||
description = lib.mdDoc "Templates for LXD";
|
||||
type = types.attrsOf (types.submodule (templateSubmodule));
|
||||
default = {};
|
||||
example = literalExpression ''
|
||||
{
|
||||
# create /etc/hostname on container creation. also requires networking.hostName = "" to be set
|
||||
"hostname" = {
|
||||
enable = true;
|
||||
target = "/etc/hostname";
|
||||
template = builtins.toFile "hostname.tpl" "{{ container.name }}";
|
||||
when = [ "create" ];
|
||||
};
|
||||
# create /etc/nixos/hostname.nix with a configuration for keeping the hostname applied
|
||||
"hostname-nix" = {
|
||||
enable = true;
|
||||
target = "/etc/nixos/hostname.nix";
|
||||
template = builtins.toFile "hostname-nix.tpl" "{ ... }: { networking.hostName = \"{{ container.name }}\"; }";
|
||||
# copy keeps the file updated when the container is changed
|
||||
when = [ "create" "copy" ];
|
||||
};
|
||||
# copy allow the user to specify a custom configuration.nix
|
||||
"configuration-nix" = {
|
||||
enable = true;
|
||||
target = "/etc/nixos/configuration.nix";
|
||||
template = builtins.toFile "configuration-nix" "{{ config_get(\"user.user-data\", properties.default) }}";
|
||||
when = [ "create" ];
|
||||
};
|
||||
};
|
||||
'';
|
||||
};
|
||||
|
||||
privilegedContainer = mkOption {
|
||||
type = types.bool;
|
||||
privilegedContainer = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Whether this LXC container will be running as a privileged container or not. If set to `true` then
|
||||
@ -116,24 +36,6 @@ in
|
||||
${config.nix.package.out}/bin/nix-env -p /nix/var/nix/profiles/system --set /run/current-system
|
||||
'';
|
||||
|
||||
system.build.metadata = pkgs.callPackage ../../lib/make-system-tarball.nix {
|
||||
contents = [
|
||||
{
|
||||
source = toYAML "metadata.yaml" {
|
||||
architecture = builtins.elemAt (builtins.match "^([a-z0-9_]+).+" (toString pkgs.system)) 0;
|
||||
creation_date = 1;
|
||||
properties = {
|
||||
description = "${config.system.nixos.distroName} ${config.system.nixos.codeName} ${config.system.nixos.label} ${pkgs.system}";
|
||||
os = "${config.system.nixos.distroId}";
|
||||
release = "${config.system.nixos.codeName}";
|
||||
};
|
||||
templates = templates.properties;
|
||||
};
|
||||
target = "/metadata.yaml";
|
||||
}
|
||||
] ++ templates.files;
|
||||
};
|
||||
|
||||
# TODO: build rootfs as squashfs for faster unpack
|
||||
system.build.tarball = pkgs.callPackage ../../lib/make-system-tarball.nix {
|
||||
extraArgs = "--owner=0";
|
||||
@ -180,7 +82,7 @@ in
|
||||
ProtectKernelTunables=no
|
||||
NoNewPrivileges=no
|
||||
LoadCredential=
|
||||
'' + optionalString cfg.privilegedContainer ''
|
||||
'' + lib.optionalString cfg.privilegedContainer ''
|
||||
# Additional settings for privileged containers
|
||||
ProtectHome=no
|
||||
ProtectSystem=no
|
||||
@ -193,28 +95,8 @@ in
|
||||
})
|
||||
];
|
||||
|
||||
# Allow the user to login as root without password.
|
||||
users.users.root.initialHashedPassword = mkOverride 150 "";
|
||||
|
||||
system.activationScripts.installInitScript = mkForce ''
|
||||
system.activationScripts.installInitScript = lib.mkForce ''
|
||||
ln -fs $systemConfig/init /sbin/init
|
||||
'';
|
||||
|
||||
# Some more help text.
|
||||
services.getty.helpLine =
|
||||
''
|
||||
|
||||
Log in as "root" with an empty password.
|
||||
'';
|
||||
|
||||
# Containers should be light-weight, so start sshd on demand.
|
||||
services.openssh.enable = mkDefault true;
|
||||
services.openssh.startWhenNeeded = mkDefault true;
|
||||
|
||||
# As this is intended as a standalone image, undo some of the minimal profile stuff
|
||||
environment.noXlibs = false;
|
||||
documentation.enable = true;
|
||||
documentation.nixos.enable = true;
|
||||
services.logrotate.enable = true;
|
||||
};
|
||||
}
|
||||
|
104
nixos/modules/virtualisation/lxc-image-metadata.nix
Normal file
104
nixos/modules/virtualisation/lxc-image-metadata.nix
Normal file
@ -0,0 +1,104 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
let
|
||||
templateSubmodule = {...}: {
|
||||
options = {
|
||||
enable = lib.mkEnableOption "this template";
|
||||
|
||||
target = lib.mkOption {
|
||||
description = "Path in the container";
|
||||
type = lib.types.path;
|
||||
};
|
||||
template = lib.mkOption {
|
||||
description = ".tpl file for rendering the target";
|
||||
type = lib.types.path;
|
||||
};
|
||||
when = lib.mkOption {
|
||||
description = "Events which trigger a rewrite (create, copy)";
|
||||
type = lib.types.listOf (lib.types.str);
|
||||
};
|
||||
properties = lib.mkOption {
|
||||
description = "Additional properties";
|
||||
type = lib.types.attrs;
|
||||
default = {};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
toYAML = name: data: pkgs.writeText name (lib.generators.toYAML {} data);
|
||||
|
||||
cfg = config.virtualisation.lxc;
|
||||
templates = if cfg.templates != {} then let
|
||||
list = lib.mapAttrsToList (name: value: { inherit name; } // value)
|
||||
(lib.filterAttrs (name: value: value.enable) cfg.templates);
|
||||
in
|
||||
{
|
||||
files = map (tpl: {
|
||||
source = tpl.template;
|
||||
target = "/templates/${tpl.name}.tpl";
|
||||
}) list;
|
||||
properties = lib.listToAttrs (map (tpl: lib.nameValuePair tpl.target {
|
||||
when = tpl.when;
|
||||
template = "${tpl.name}.tpl";
|
||||
properties = tpl.properties;
|
||||
}) list);
|
||||
}
|
||||
else { files = []; properties = {}; };
|
||||
|
||||
in {
|
||||
options = {
|
||||
virtualisation.lxc = {
|
||||
templates = lib.mkOption {
|
||||
description = "Templates for LXD";
|
||||
type = lib.types.attrsOf (lib.types.submodule templateSubmodule);
|
||||
default = {};
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
# create /etc/hostname on container creation
|
||||
"hostname" = {
|
||||
enable = true;
|
||||
target = "/etc/hostname";
|
||||
template = builtins.writeFile "hostname.tpl" "{{ container.name }}";
|
||||
when = [ "create" ];
|
||||
};
|
||||
# create /etc/nixos/hostname.nix with a configuration for keeping the hostname applied
|
||||
"hostname-nix" = {
|
||||
enable = true;
|
||||
target = "/etc/nixos/hostname.nix";
|
||||
template = builtins.writeFile "hostname-nix.tpl" "{ ... }: { networking.hostName = "{{ container.name }}"; }";
|
||||
# copy keeps the file updated when the container is changed
|
||||
when = [ "create" "copy" ];
|
||||
};
|
||||
# copy allow the user to specify a custom configuration.nix
|
||||
"configuration-nix" = {
|
||||
enable = true;
|
||||
target = "/etc/nixos/configuration.nix";
|
||||
template = builtins.writeFile "configuration-nix" "{{ config_get(\"user.user-data\", properties.default) }}";
|
||||
when = [ "create" ];
|
||||
};
|
||||
};
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
system.build.metadata = pkgs.callPackage ../../lib/make-system-tarball.nix {
|
||||
contents = [
|
||||
{
|
||||
source = toYAML "metadata.yaml" {
|
||||
architecture = builtins.elemAt (builtins.match "^([a-z0-9_]+).+" (toString pkgs.system)) 0;
|
||||
creation_date = 1;
|
||||
properties = {
|
||||
description = "${config.system.nixos.distroName} ${config.system.nixos.codeName} ${config.system.nixos.label} ${pkgs.system}";
|
||||
os = "${config.system.nixos.distroId}";
|
||||
release = "${config.system.nixos.codeName}";
|
||||
};
|
||||
templates = templates.properties;
|
||||
};
|
||||
target = "/metadata.yaml";
|
||||
}
|
||||
] ++ templates.files;
|
||||
};
|
||||
};
|
||||
}
|
30
nixos/modules/virtualisation/lxc-instance-common.nix
Normal file
30
nixos/modules/virtualisation/lxc-instance-common.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{lib, ...}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./lxc-image-metadata.nix
|
||||
|
||||
../installer/cd-dvd/channel.nix
|
||||
../profiles/clone-config.nix
|
||||
../profiles/minimal.nix
|
||||
];
|
||||
|
||||
# Allow the user to login as root without password.
|
||||
users.users.root.initialHashedPassword = lib.mkOverride 150 "";
|
||||
|
||||
# Some more help text.
|
||||
services.getty.helpLine = ''
|
||||
|
||||
Log in as "root" with an empty password.
|
||||
'';
|
||||
|
||||
# Containers should be light-weight, so start sshd on demand.
|
||||
services.openssh.enable = lib.mkDefault true;
|
||||
services.openssh.startWhenNeeded = lib.mkDefault true;
|
||||
|
||||
# As this is intended as a standalone image, undo some of the minimal profile stuff
|
||||
environment.noXlibs = false;
|
||||
documentation.enable = true;
|
||||
documentation.nixos.enable = true;
|
||||
services.logrotate.enable = true;
|
||||
}
|
46
nixos/modules/virtualisation/lxd-virtual-machine.nix
Normal file
46
nixos/modules/virtualisation/lxd-virtual-machine.nix
Normal file
@ -0,0 +1,46 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
serialDevice =
|
||||
if pkgs.stdenv.hostPlatform.isx86
|
||||
then "ttyS0"
|
||||
else "ttyAMA0"; # aarch64
|
||||
in {
|
||||
imports = [
|
||||
./lxc-instance-common.nix
|
||||
|
||||
../profiles/qemu-guest.nix
|
||||
];
|
||||
|
||||
config = {
|
||||
system.build.qemuImage = import ../../lib/make-disk-image.nix {
|
||||
inherit pkgs lib config;
|
||||
|
||||
partitionTableType = "efi";
|
||||
format = "qcow2-compressed";
|
||||
copyChannel = true;
|
||||
};
|
||||
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-label/nixos";
|
||||
autoResize = true;
|
||||
fsType = "ext4";
|
||||
};
|
||||
"/boot" = {
|
||||
device = "/dev/disk/by-label/ESP";
|
||||
fsType = "vfat";
|
||||
};
|
||||
};
|
||||
|
||||
boot.growPartition = true;
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
|
||||
# image building needs to know what device to install bootloader on
|
||||
boot.loader.grub.device = "/dev/vda";
|
||||
|
||||
boot.kernelParams = ["console=tty1" "console=${serialDevice}"];
|
||||
|
||||
virtualisation.lxd.agent.enable = lib.mkDefault true;
|
||||
};
|
||||
}
|
@ -196,7 +196,7 @@ in {
|
||||
"kernel.keys.maxkeys" = 2000;
|
||||
};
|
||||
|
||||
boot.kernelModules = [ "veth" "xt_comment" "xt_CHECKSUM" "xt_MASQUERADE" ]
|
||||
boot.kernelModules = [ "veth" "xt_comment" "xt_CHECKSUM" "xt_MASQUERADE" "vhost_vsock" ]
|
||||
++ optionals (!config.networking.nftables.enable) [ "iptable_mangle" ];
|
||||
};
|
||||
}
|
||||
|
@ -313,7 +313,7 @@ in rec {
|
||||
);
|
||||
|
||||
# An image that can be imported into lxd and used for container creation
|
||||
lxdImage = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system:
|
||||
lxdContainerImage = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system:
|
||||
|
||||
with import ./.. { inherit system; };
|
||||
|
||||
@ -322,14 +322,14 @@ in rec {
|
||||
modules =
|
||||
[ configuration
|
||||
versionModule
|
||||
./maintainers/scripts/lxd/lxd-image.nix
|
||||
./maintainers/scripts/lxd/lxd-container-image.nix
|
||||
];
|
||||
}).config.system.build.tarball)
|
||||
|
||||
);
|
||||
|
||||
# Metadata for the lxd image
|
||||
lxdMeta = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system:
|
||||
lxdContainerMeta = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system:
|
||||
|
||||
with import ./.. { inherit system; };
|
||||
|
||||
@ -338,7 +338,39 @@ in rec {
|
||||
modules =
|
||||
[ configuration
|
||||
versionModule
|
||||
./maintainers/scripts/lxd/lxd-image.nix
|
||||
./maintainers/scripts/lxd/lxd-container-image.nix
|
||||
];
|
||||
}).config.system.build.metadata)
|
||||
|
||||
);
|
||||
|
||||
# An image that can be imported into lxd and used for container creation
|
||||
lxdVirtualMachineImage = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system:
|
||||
|
||||
with import ./.. { inherit system; };
|
||||
|
||||
hydraJob ((import lib/eval-config.nix {
|
||||
inherit system;
|
||||
modules =
|
||||
[ configuration
|
||||
versionModule
|
||||
./maintainers/scripts/lxd/lxd-virtual-machine-image.nix
|
||||
];
|
||||
}).config.system.build.qemuImage)
|
||||
|
||||
);
|
||||
|
||||
# Metadata for the lxd image
|
||||
lxdVirtualMachineImageMeta = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system:
|
||||
|
||||
with import ./.. { inherit system; };
|
||||
|
||||
hydraJob ((import lib/eval-config.nix {
|
||||
inherit system;
|
||||
modules =
|
||||
[ configuration
|
||||
versionModule
|
||||
./maintainers/scripts/lxd/lxd-virtual-machine-image.nix
|
||||
];
|
||||
}).config.system.build.metadata)
|
||||
|
||||
|
@ -395,7 +395,7 @@ in {
|
||||
jibri = handleTest ./jibri.nix {};
|
||||
jirafeau = handleTest ./jirafeau.nix {};
|
||||
jitsi-meet = handleTest ./jitsi-meet.nix {};
|
||||
jool = handleTest ./jool.nix {};
|
||||
jool = import ./jool.nix { inherit pkgs runTest; };
|
||||
k3s = handleTest ./k3s {};
|
||||
kafka = handleTest ./kafka.nix {};
|
||||
kanidm = handleTest ./kanidm.nix {};
|
||||
@ -728,6 +728,7 @@ in {
|
||||
sslh = handleTest ./sslh.nix {};
|
||||
sssd = handleTestOn ["x86_64-linux"] ./sssd.nix {};
|
||||
sssd-ldap = handleTestOn ["x86_64-linux"] ./sssd-ldap.nix {};
|
||||
stalwart-mail = handleTest ./stalwart-mail.nix {};
|
||||
stargazer = runTest ./web-servers/stargazer.nix;
|
||||
starship = handleTest ./starship.nix {};
|
||||
static-web-server = handleTest ./web-servers/static-web-server.nix {};
|
||||
|
@ -131,8 +131,8 @@ let
|
||||
# chromium-based browsers refuse to run as root
|
||||
test-support.displayManager.auto.user = "alice";
|
||||
|
||||
# browsers may hang with the default memory
|
||||
virtualisation.memorySize = 600;
|
||||
# machine often runs out of memory with less
|
||||
virtualisation.memorySize = 1024;
|
||||
|
||||
environment.systemPackages = [ pkgs.xdotool pkgs.${browser} ];
|
||||
};
|
||||
|
@ -1,9 +1,4 @@
|
||||
{ system ? builtins.currentSystem,
|
||||
config ? {},
|
||||
pkgs ? import ../.. { inherit system config; }
|
||||
}:
|
||||
|
||||
with import ../lib/testing-python.nix { inherit system pkgs; };
|
||||
{ pkgs, runTest }:
|
||||
|
||||
let
|
||||
inherit (pkgs) lib;
|
||||
@ -23,7 +18,6 @@ let
|
||||
description = "Mock webserver";
|
||||
wants = [ "network-online.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig.Restart = "always";
|
||||
script = ''
|
||||
while true; do
|
||||
{
|
||||
@ -40,7 +34,7 @@ let
|
||||
in
|
||||
|
||||
{
|
||||
siit = makeTest {
|
||||
siit = runTest {
|
||||
# This test simulates the setup described in [1] with two IPv6 and
|
||||
# IPv4-only devices on different subnets communicating through a border
|
||||
# relay running Jool in SIIT mode.
|
||||
@ -49,8 +43,7 @@ in
|
||||
meta.maintainers = with lib.maintainers; [ rnhmjoj ];
|
||||
|
||||
# Border relay
|
||||
nodes.relay = { ... }: {
|
||||
imports = [ ../modules/profiles/minimal.nix ];
|
||||
nodes.relay = {
|
||||
virtualisation.vlans = [ 1 2 ];
|
||||
|
||||
# Enable packet routing
|
||||
@ -65,20 +58,13 @@ in
|
||||
eth2.ipv4.addresses = [ { address = "192.0.2.1"; prefixLength = 24; } ];
|
||||
};
|
||||
|
||||
networking.jool = {
|
||||
enable = true;
|
||||
siit.enable = true;
|
||||
siit.config.global.pool6 = "fd::/96";
|
||||
};
|
||||
networking.jool.enable = true;
|
||||
networking.jool.siit.default.global.pool6 = "fd::/96";
|
||||
};
|
||||
|
||||
# IPv6 only node
|
||||
nodes.alice = { ... }: {
|
||||
imports = [
|
||||
../modules/profiles/minimal.nix
|
||||
ipv6Only
|
||||
(webserver 6 "Hello, Bob!")
|
||||
];
|
||||
nodes.alice = {
|
||||
imports = [ ipv6Only (webserver 6 "Hello, Bob!") ];
|
||||
|
||||
virtualisation.vlans = [ 1 ];
|
||||
networking.interfaces.eth1.ipv6 = {
|
||||
@ -89,12 +75,8 @@ in
|
||||
};
|
||||
|
||||
# IPv4 only node
|
||||
nodes.bob = { ... }: {
|
||||
imports = [
|
||||
../modules/profiles/minimal.nix
|
||||
ipv4Only
|
||||
(webserver 4 "Hello, Alice!")
|
||||
];
|
||||
nodes.bob = {
|
||||
imports = [ ipv4Only (webserver 4 "Hello, Alice!") ];
|
||||
|
||||
virtualisation.vlans = [ 2 ];
|
||||
networking.interfaces.eth1.ipv4 = {
|
||||
@ -107,17 +89,17 @@ in
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
relay.wait_for_unit("jool-siit.service")
|
||||
relay.wait_for_unit("jool-siit-default.service")
|
||||
alice.wait_for_unit("network-addresses-eth1.service")
|
||||
bob.wait_for_unit("network-addresses-eth1.service")
|
||||
|
||||
with subtest("Alice and Bob can't ping each other"):
|
||||
relay.systemctl("stop jool-siit.service")
|
||||
relay.systemctl("stop jool-siit-default.service")
|
||||
alice.fail("ping -c1 fd::192.0.2.16")
|
||||
bob.fail("ping -c1 198.51.100.8")
|
||||
|
||||
with subtest("Alice and Bob can ping using the relay"):
|
||||
relay.systemctl("start jool-siit.service")
|
||||
relay.systemctl("start jool-siit-default.service")
|
||||
alice.wait_until_succeeds("ping -c1 fd::192.0.2.16")
|
||||
bob.wait_until_succeeds("ping -c1 198.51.100.8")
|
||||
|
||||
@ -132,7 +114,7 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
nat64 = makeTest {
|
||||
nat64 = runTest {
|
||||
# This test simulates the setup described in [1] with two IPv6-only nodes
|
||||
# (a client and a homeserver) on the LAN subnet and an IPv4 node on the WAN.
|
||||
# The router runs Jool in stateful NAT64 mode, masquarading the LAN and
|
||||
@ -142,8 +124,7 @@ in
|
||||
meta.maintainers = with lib.maintainers; [ rnhmjoj ];
|
||||
|
||||
# Router
|
||||
nodes.router = { ... }: {
|
||||
imports = [ ../modules/profiles/minimal.nix ];
|
||||
nodes.router = {
|
||||
virtualisation.vlans = [ 1 2 ];
|
||||
|
||||
# Enable packet routing
|
||||
@ -158,32 +139,29 @@ in
|
||||
eth2.ipv4.addresses = [ { address = "203.0.113.1"; prefixLength = 24; } ];
|
||||
};
|
||||
|
||||
networking.jool = {
|
||||
enable = true;
|
||||
nat64.enable = true;
|
||||
nat64.config = {
|
||||
bib = [
|
||||
{ # forward HTTP 203.0.113.1 (router) → 2001:db8::9 (homeserver)
|
||||
"protocol" = "TCP";
|
||||
"ipv4 address" = "203.0.113.1#80";
|
||||
"ipv6 address" = "2001:db8::9#80";
|
||||
}
|
||||
];
|
||||
pool4 = [
|
||||
# Ports for dynamic translation
|
||||
{ protocol = "TCP"; prefix = "203.0.113.1/32"; "port range" = "40001-65535"; }
|
||||
{ protocol = "UDP"; prefix = "203.0.113.1/32"; "port range" = "40001-65535"; }
|
||||
{ protocol = "ICMP"; prefix = "203.0.113.1/32"; "port range" = "40001-65535"; }
|
||||
# Ports for static BIB entries
|
||||
{ protocol = "TCP"; prefix = "203.0.113.1/32"; "port range" = "80"; }
|
||||
];
|
||||
};
|
||||
networking.jool.enable = true;
|
||||
networking.jool.nat64.default = {
|
||||
bib = [
|
||||
{ # forward HTTP 203.0.113.1 (router) → 2001:db8::9 (homeserver)
|
||||
"protocol" = "TCP";
|
||||
"ipv4 address" = "203.0.113.1#80";
|
||||
"ipv6 address" = "2001:db8::9#80";
|
||||
}
|
||||
];
|
||||
pool4 = [
|
||||
# Ports for dynamic translation
|
||||
{ protocol = "TCP"; prefix = "203.0.113.1/32"; "port range" = "40001-65535"; }
|
||||
{ protocol = "UDP"; prefix = "203.0.113.1/32"; "port range" = "40001-65535"; }
|
||||
{ protocol = "ICMP"; prefix = "203.0.113.1/32"; "port range" = "40001-65535"; }
|
||||
# Ports for static BIB entries
|
||||
{ protocol = "TCP"; prefix = "203.0.113.1/32"; "port range" = "80"; }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# LAN client (IPv6 only)
|
||||
nodes.client = { ... }: {
|
||||
imports = [ ../modules/profiles/minimal.nix ipv6Only ];
|
||||
nodes.client = {
|
||||
imports = [ ipv6Only ];
|
||||
virtualisation.vlans = [ 1 ];
|
||||
|
||||
networking.interfaces.eth1.ipv6 = {
|
||||
@ -194,12 +172,8 @@ in
|
||||
};
|
||||
|
||||
# LAN server (IPv6 only)
|
||||
nodes.homeserver = { ... }: {
|
||||
imports = [
|
||||
../modules/profiles/minimal.nix
|
||||
ipv6Only
|
||||
(webserver 6 "Hello from IPv6!")
|
||||
];
|
||||
nodes.homeserver = {
|
||||
imports = [ ipv6Only (webserver 6 "Hello from IPv6!") ];
|
||||
|
||||
virtualisation.vlans = [ 1 ];
|
||||
networking.interfaces.eth1.ipv6 = {
|
||||
@ -210,12 +184,8 @@ in
|
||||
};
|
||||
|
||||
# WAN server (IPv4 only)
|
||||
nodes.server = { ... }: {
|
||||
imports = [
|
||||
../modules/profiles/minimal.nix
|
||||
ipv4Only
|
||||
(webserver 4 "Hello from IPv4!")
|
||||
];
|
||||
nodes.server = {
|
||||
imports = [ ipv4Only (webserver 4 "Hello from IPv4!") ];
|
||||
|
||||
virtualisation.vlans = [ 2 ];
|
||||
networking.interfaces.eth1.ipv4.addresses =
|
||||
@ -229,7 +199,7 @@ in
|
||||
node.wait_for_unit("network-addresses-eth1.service")
|
||||
|
||||
with subtest("Client can ping the WAN server"):
|
||||
router.wait_for_unit("jool-nat64.service")
|
||||
router.wait_for_unit("jool-nat64-default.service")
|
||||
client.succeed("ping -c1 64:ff9b::203.0.113.16")
|
||||
|
||||
with subtest("Client can connect to the WAN webserver"):
|
||||
|
@ -1,7 +1,7 @@
|
||||
import ../make-test-python.nix ({ pkgs, lib, ... } :
|
||||
|
||||
let
|
||||
lxd-image = import ../../release.nix {
|
||||
releases = import ../../release.nix {
|
||||
configuration = {
|
||||
# Building documentation makes the test unnecessarily take a longer time:
|
||||
documentation.enable = lib.mkForce false;
|
||||
@ -11,14 +11,14 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
lxd-image-metadata = lxd-image.lxdMeta.${pkgs.stdenv.hostPlatform.system};
|
||||
lxd-image-rootfs = lxd-image.lxdImage.${pkgs.stdenv.hostPlatform.system};
|
||||
lxd-image-metadata = releases.lxdContainerMeta.${pkgs.stdenv.hostPlatform.system};
|
||||
lxd-image-rootfs = releases.lxdContainerImage.${pkgs.stdenv.hostPlatform.system};
|
||||
|
||||
in {
|
||||
name = "lxd";
|
||||
name = "lxd-container";
|
||||
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ patryk27 ];
|
||||
maintainers = [ patryk27 adamcstephens ];
|
||||
};
|
||||
|
||||
nodes.machine = { lib, ... }: {
|
||||
|
@ -6,4 +6,5 @@
|
||||
container = import ./container.nix {inherit system pkgs;};
|
||||
nftables = import ./nftables.nix {inherit system pkgs;};
|
||||
ui = import ./ui.nix {inherit system pkgs;};
|
||||
virtual-machine = import ./virtual-machine.nix { inherit system pkgs; };
|
||||
}
|
||||
|
64
nixos/tests/lxd/virtual-machine.nix
Normal file
64
nixos/tests/lxd/virtual-machine.nix
Normal file
@ -0,0 +1,64 @@
|
||||
import ../make-test-python.nix ({ pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
releases = import ../../release.nix {
|
||||
configuration = {
|
||||
# Building documentation makes the test unnecessarily take a longer time:
|
||||
documentation.enable = lib.mkForce false;
|
||||
|
||||
# Our tests require `grep` & friends:
|
||||
environment.systemPackages = with pkgs; [busybox];
|
||||
};
|
||||
};
|
||||
|
||||
lxd-image-metadata = releases.lxdVirtualMachineImageMeta.${pkgs.stdenv.hostPlatform.system};
|
||||
lxd-image-disk = releases.lxdVirtualMachineImage.${pkgs.stdenv.hostPlatform.system};
|
||||
|
||||
instance-name = "instance1";
|
||||
in {
|
||||
name = "lxd-virtual-machine";
|
||||
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [adamcstephens];
|
||||
};
|
||||
|
||||
nodes.machine = {lib, ...}: {
|
||||
virtualisation = {
|
||||
diskSize = 4096;
|
||||
|
||||
cores = 2;
|
||||
|
||||
# Ensure we have enough memory for the nested virtual machine
|
||||
memorySize = 1024;
|
||||
|
||||
lxc.lxcfs.enable = true;
|
||||
lxd.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
def instance_is_up(_) -> bool:
|
||||
status, _ = machine.execute("lxc exec ${instance-name} --disable-stdin --force-interactive /run/current-system/sw/bin/true")
|
||||
return status == 0
|
||||
|
||||
machine.wait_for_unit("sockets.target")
|
||||
machine.wait_for_unit("lxd.service")
|
||||
machine.wait_for_file("/var/lib/lxd/unix.socket")
|
||||
|
||||
# Wait for lxd to settle
|
||||
machine.succeed("lxd waitready")
|
||||
|
||||
machine.succeed("lxd init --minimal")
|
||||
|
||||
with subtest("virtual-machine image can be imported"):
|
||||
machine.succeed("lxc image import ${lxd-image-metadata}/*/*.tar.xz ${lxd-image-disk}/nixos.qcow2 --alias nixos")
|
||||
|
||||
with subtest("virtual-machine can be launched and become available"):
|
||||
machine.succeed("lxc launch nixos ${instance-name} --vm --config limits.memory=512MB --config security.secureboot=false")
|
||||
with machine.nested("Waiting for instance to start and be usable"):
|
||||
retry(instance_is_up)
|
||||
|
||||
with subtest("lxd-agent is started"):
|
||||
machine.succeed("lxc exec ${instance-name} systemctl is-active lxd-agent")
|
||||
'';
|
||||
})
|
117
nixos/tests/stalwart-mail.nix
Normal file
117
nixos/tests/stalwart-mail.nix
Normal file
@ -0,0 +1,117 @@
|
||||
# Rudimentary test checking that the Stalwart email server can:
|
||||
# - receive some message through SMTP submission, then
|
||||
# - serve this message through IMAP.
|
||||
|
||||
let
|
||||
certs = import ./common/acme/server/snakeoil-certs.nix;
|
||||
domain = certs.domain;
|
||||
|
||||
in import ./make-test-python.nix ({ lib, ... }: {
|
||||
name = "stalwart-mail";
|
||||
|
||||
nodes.main = { pkgs, ... }: {
|
||||
security.pki.certificateFiles = [ certs.ca.cert ];
|
||||
|
||||
services.stalwart-mail = {
|
||||
enable = true;
|
||||
settings = {
|
||||
server.hostname = domain;
|
||||
|
||||
certificate."snakeoil" = {
|
||||
cert = "file://${certs.${domain}.cert}";
|
||||
private-key = "file://${certs.${domain}.key}";
|
||||
};
|
||||
|
||||
server.tls = {
|
||||
certificate = "snakeoil";
|
||||
enable = true;
|
||||
implicit = false;
|
||||
};
|
||||
|
||||
server.listener = {
|
||||
"smtp-submission" = {
|
||||
bind = [ "[::]:587" ];
|
||||
protocol = "smtp";
|
||||
};
|
||||
|
||||
"imap" = {
|
||||
bind = [ "[::]:143" ];
|
||||
protocol = "imap";
|
||||
};
|
||||
};
|
||||
|
||||
session.auth.mechanisms = [ "PLAIN" ];
|
||||
session.auth.directory = "in-memory";
|
||||
jmap.directory = "in-memory"; # shared with imap
|
||||
|
||||
session.rcpt.directory = "in-memory";
|
||||
queue.outbound.next-hop = [ "local" ];
|
||||
|
||||
directory."in-memory" = {
|
||||
type = "memory";
|
||||
users = [
|
||||
{
|
||||
name = "alice";
|
||||
secret = "foobar";
|
||||
email = [ "alice@${domain}" ];
|
||||
}
|
||||
{
|
||||
name = "bob";
|
||||
secret = "foobar";
|
||||
email = [ "bob@${domain}" ];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
(pkgs.writers.writePython3Bin "test-smtp-submission" { } ''
|
||||
from smtplib import SMTP
|
||||
|
||||
with SMTP('localhost', 587) as smtp:
|
||||
smtp.starttls()
|
||||
smtp.login('alice', 'foobar')
|
||||
smtp.sendmail(
|
||||
'alice@${domain}',
|
||||
'bob@${domain}',
|
||||
"""
|
||||
From: alice@${domain}
|
||||
To: bob@${domain}
|
||||
Subject: Some test message
|
||||
|
||||
This is a test message.
|
||||
""".strip()
|
||||
)
|
||||
'')
|
||||
|
||||
(pkgs.writers.writePython3Bin "test-imap-read" { } ''
|
||||
from imaplib import IMAP4
|
||||
|
||||
with IMAP4('localhost') as imap:
|
||||
imap.starttls()
|
||||
imap.login('bob', 'foobar')
|
||||
imap.select('"All Mail"')
|
||||
status, [ref] = imap.search(None, 'ALL')
|
||||
assert status == 'OK'
|
||||
[msgId] = ref.split()
|
||||
status, msg = imap.fetch(msgId, 'BODY[TEXT]')
|
||||
assert status == 'OK'
|
||||
assert msg[0][1].strip() == b'This is a test message.'
|
||||
'')
|
||||
];
|
||||
};
|
||||
|
||||
testScript = /* python */ ''
|
||||
main.wait_for_unit("stalwart-mail.service")
|
||||
main.wait_for_open_port(587)
|
||||
main.wait_for_open_port(143)
|
||||
|
||||
main.succeed("test-smtp-submission")
|
||||
main.succeed("test-imap-read")
|
||||
'';
|
||||
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ happysalada pacien ];
|
||||
};
|
||||
})
|
@ -1,48 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, cmake
|
||||
, alsa-lib
|
||||
, boost
|
||||
, glib
|
||||
, lash
|
||||
, libjack2
|
||||
, libarchive
|
||||
, libsndfile
|
||||
, lrdf
|
||||
, qt4
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.9.7";
|
||||
pname = "hydrogen";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hydrogen-music";
|
||||
repo = "hydrogen";
|
||||
rev = version;
|
||||
sha256 = "sha256-6ycNUcumtAEl/6XbIpW6JglGv4nNOdMrOJ1nvJg3z/c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config cmake ];
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
boost
|
||||
glib
|
||||
lash
|
||||
libjack2
|
||||
libarchive
|
||||
libsndfile
|
||||
lrdf
|
||||
qt4
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Advanced drum machine";
|
||||
homepage = "http://www.hydrogen-music.org";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.goibhniu ];
|
||||
};
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
{ lib, stdenv, fetchurl, pkg-config, qt4, alsa-lib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.4.0";
|
||||
pname = "qmidiroute";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/project/alsamodular/QMidiRoute/${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "0vmjwarsxr5540rafhmdcc62yarf0w2l05bjjl9s28zzr5m39z3n";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ qt4 alsa-lib ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "MIDI event processor and router";
|
||||
longDescription = ''
|
||||
qmidiroute is a versatile MIDI event processor and router for the ALSA
|
||||
sequencer. The graphical interface is based on the Qt4 toolkit.
|
||||
qmidiroute permits setting up an unlimited number of MIDI maps in which
|
||||
incoming events are selected, modified or even changed in type before
|
||||
being directed to a dedicated ALSA output port. The maps work in
|
||||
parallel, and they are organized in tabs.
|
||||
'';
|
||||
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.lebastr ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
{ stdenv, lib, fetchurl, withMtp ? true, libmtp, pkg-config, which, qt4, qmake4Hook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qtscrobbler";
|
||||
version = "0.11";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/qtscrob/qtscrob/${version}/qtscrob-${version}.tar.bz2";
|
||||
sha256 = "01c8e48f616ed09504833d27d92fd62f455bd645ea2d1cc2a5f4c287d641daba";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake4Hook ] ++ lib.optionals withMtp [ pkg-config which ];
|
||||
buildInputs = [ qt4 ] ++ lib.optional withMtp libmtp;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postPatch = ''
|
||||
cd src
|
||||
sed -i -e "s,/usr/local,$out," -e "s,/usr,," common.pri
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Qt based last.fm scrobbler";
|
||||
longDescription = ''
|
||||
QTScrobbler is a tool to upload information about the tracks you have played from your Digital Audio Player (DAP) to your last.fm account.
|
||||
It is able to gather this information from Apple iPods or DAPs running the Rockbox replacement firmware.
|
||||
'';
|
||||
|
||||
homepage = "https://qtscrob.sourceforge.net";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.vanzef ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -1,56 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, help2man
|
||||
, pkg-config
|
||||
, libsndfile
|
||||
, fftwFloat
|
||||
, libjack2
|
||||
, libxml2
|
||||
, qt4
|
||||
, boost
|
||||
, ecasound
|
||||
, glibcLocales
|
||||
, libGLU
|
||||
, libGL # Needed because help2man basically does a ./ssr-binaural --help and ssr-binaural needs libGL
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "soundscape-renderer";
|
||||
version = "unstable-2016-11-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SoundScapeRenderer";
|
||||
repo = "ssr";
|
||||
rev = "0dd0136dd24e47b63d8a4e05de467f5c7b047ec9";
|
||||
sha256 = "sha256-9s+Elaxz9kX+Nle1CqBU/9r0hdI4dhsJ6GrNqvP5HIs=";
|
||||
};
|
||||
|
||||
# Without it doesn't find all of the boost libraries.
|
||||
BOOST_LIB_DIR = "${boost}/lib";
|
||||
# uses the deprecated get_generic_category() in boost_system
|
||||
env.NIX_CFLAGS_COMPILE = "-DBOOST_SYSTEM_ENABLE_DEPRECATED=1";
|
||||
|
||||
LC_ALL = "en_US.UTF-8";
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||
buildInputs = [ boost boost.dev ecasound libGLU libGL help2man libsndfile fftwFloat libjack2 libxml2 qt4 glibcLocales ];
|
||||
|
||||
# 1) Fix detecting version. https://github.com/SoundScapeRenderer/ssr/pull/53
|
||||
# 2) Make it find ecasound headers
|
||||
# 3) Fix locale for help2man
|
||||
prePatch = ''
|
||||
substituteInPlace configure.ac --replace 'git describe ||' 'git describe 2> /dev/null ||';
|
||||
substituteInPlace configure.ac --replace '/{usr,opt}/{,local/}' '${ecasound}/'
|
||||
substituteInPlace man/Makefile.am --replace '--locale=en' '--locale=en_US.UTF-8'
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "http://spatialaudio.net/ssr/";
|
||||
description = "The SoundScape Renderer (SSR) is a tool for real-time spatial audio reproduction";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = [ lib.maintainers.fridh ];
|
||||
};
|
||||
|
||||
}
|
@ -2,11 +2,11 @@
|
||||
|
||||
let
|
||||
pname = "ledger-live-desktop";
|
||||
version = "2.64.2";
|
||||
version = "2.66.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage";
|
||||
hash = "sha256-8cb5FA/Ogd6GI0AclxHicZGV3K5bVsZuIl/3A03r5qQ=";
|
||||
hash = "sha256-Du2bvtlNjxtkJ31RCKZmGtWxOEIjohbmEC5o3VvFGlY=";
|
||||
};
|
||||
|
||||
|
||||
|
@ -1,8 +1,7 @@
|
||||
{ lib, stdenv, fetchFromGitHub, openssl, boost, libevent, autoreconfHook, db4, miniupnpc, eject, pkg-config, qt4, protobuf, qrencode, hexdump
|
||||
, withGui }:
|
||||
{ lib, stdenv, fetchFromGitHub, openssl, boost, libevent, autoreconfHook, db4, miniupnpc, eject, pkg-config, hexdump }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "namecoin" + lib.optionalString (!withGui) "d";
|
||||
pname = "namecoind";
|
||||
version = "25.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
@ -25,10 +24,6 @@ stdenv.mkDerivation rec {
|
||||
db4
|
||||
miniupnpc
|
||||
eject
|
||||
] ++ lib.optionals withGui [
|
||||
qt4
|
||||
protobuf
|
||||
qrencode
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -3,24 +3,18 @@
|
||||
, makeWrapper
|
||||
, fetchurl
|
||||
, makeDesktopItem
|
||||
, curl
|
||||
, dotnetCorePackages
|
||||
, lttng-ust_2_12
|
||||
, fontconfig
|
||||
, krb5
|
||||
, openssl
|
||||
, xorg
|
||||
, zlib
|
||||
}:
|
||||
|
||||
let
|
||||
dotnet-runtime = dotnetCorePackages.runtime_6_0;
|
||||
# These libraries are dynamically loaded by the application,
|
||||
# and need to be present in LD_LIBRARY_PATH
|
||||
runtimeLibs = [
|
||||
curl
|
||||
fontconfig.lib
|
||||
krb5
|
||||
openssl
|
||||
stdenv.cc.cc.lib
|
||||
xorg.libX11
|
||||
@ -31,11 +25,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wasabiwallet";
|
||||
version = "2.0.3";
|
||||
version = "2.0.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz";
|
||||
sha256 = "sha256-RlWaeOK6XqxyCIQQp1/X6iG9t7f3ER5K+S3ZvPg6wBg=";
|
||||
sha256 = "sha256-VYyf9rKBRPpnxuaeO6aAq7cQwDfBRLRbH4SlPS+bxFQ=";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
@ -58,8 +52,10 @@ stdenv.mkDerivation rec {
|
||||
mkdir -p $out/opt/${pname} $out/bin $out/share/applications
|
||||
cp -Rv . $out/opt/${pname}
|
||||
|
||||
makeWrapper "${dotnet-runtime}/bin/dotnet" "$out/bin/${pname}" \
|
||||
--add-flags "$out/opt/${pname}/WalletWasabi.Fluent.Desktop.dll" \
|
||||
makeWrapper "$out/opt/${pname}/wassabee" "$out/bin/${pname}" \
|
||||
--suffix "LD_LIBRARY_PATH" : "${lib.makeLibraryPath runtimeLibs}"
|
||||
|
||||
makeWrapper "$out/opt/${pname}/wassabeed" "$out/bin/${pname}d" \
|
||||
--suffix "LD_LIBRARY_PATH" : "${lib.makeLibraryPath runtimeLibs}"
|
||||
|
||||
cp -v $desktopItem/share/applications/* $out/share/applications
|
||||
|
@ -38,13 +38,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cudatext";
|
||||
version = "1.197.0";
|
||||
version = "1.198.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Alexey-T";
|
||||
repo = "CudaText";
|
||||
rev = version;
|
||||
hash = "sha256-960Ucp2iNDqK2n/sJSIyMWxgCCs0LVyafn8SRRhli4c=";
|
||||
hash = "sha256-zm5acOTcjQdgKf6cSPP3mE070TVXbV6ixVa/+7g/SFE=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
8
pkgs/applications/editors/cudatext/deps.json
generated
8
pkgs/applications/editors/cudatext/deps.json
generated
@ -11,13 +11,13 @@
|
||||
},
|
||||
"ATFlatControls": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2023.08.12",
|
||||
"hash": "sha256-YBIuwiHE83mxxtl9PNrQN3LrEBFHvYY74zhV+UtAbZ4="
|
||||
"rev": "2023.09.03",
|
||||
"hash": "sha256-8mopVCqhmDW5MkrOzjt9+iBVgOf7/SbZy0Y40CzuNG0="
|
||||
},
|
||||
"ATSynEdit": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2023.08.12",
|
||||
"hash": "sha256-hFDWb7gMQiTkItFC5KfSrpAW3FSkmAhxcc5GOdov3EE="
|
||||
"rev": "2023.09.03",
|
||||
"hash": "sha256-Sk7G4dP5703yq26MC/c1EBhphBVWIbanvHJMcFJDqfk="
|
||||
},
|
||||
"ATSynEdit_Cmp": {
|
||||
"owner": "Alexey-T",
|
||||
|
@ -3,11 +3,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ldtk";
|
||||
version = "1.3.3";
|
||||
version = "1.3.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/deepnight/ldtk/releases/download/v${finalAttrs.version}/ubuntu-distribution.zip";
|
||||
hash = "sha256-egvAe4nAzPDBeTaAzrqhlDsG60bGNnKXB5Vt16vIZrQ";
|
||||
hash = "sha256-/EFmuzj8hYhQJegZpZhZb4fuSeMF9wdG1Be4duEvW54=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip makeWrapper copyDesktopItems appimage-run ];
|
||||
|
@ -1,60 +0,0 @@
|
||||
{ lib, stdenv, callPackage, fetchurl,
|
||||
guile_1_8, qt4, zlib, freetype, CoreFoundation, Cocoa, gettext, libiconv, ghostscript,
|
||||
tex ? null,
|
||||
aspell ? null,
|
||||
netpbm ? null,
|
||||
imagemagick ? null,
|
||||
extraFonts ? false,
|
||||
chineseFonts ? false,
|
||||
japaneseFonts ? false,
|
||||
koreanFonts ? false }:
|
||||
let
|
||||
version = "1.99.4";
|
||||
common = callPackage ./common.nix {
|
||||
inherit tex extraFonts chineseFonts japaneseFonts koreanFonts;
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "TeXmacs";
|
||||
inherit version;
|
||||
|
||||
src= fetchurl {
|
||||
url = "http://www.texmacs.org/Download/ftp/tmftp/source/TeXmacs-${version}-src.tar.gz";
|
||||
sha256 = "1z8sj0xd1ncbl7ipzfsib6lmc7ahgvmiw61ln5zxm2l88jf7qc1a";
|
||||
};
|
||||
|
||||
patches = [ ./darwin.patch ];
|
||||
|
||||
buildInputs = [ guile_1_8.dev qt4 freetype CoreFoundation Cocoa gettext libiconv ghostscript ];
|
||||
|
||||
GUILE_CPPFLAGS="-D_THREAD_SAFE -I${guile_1_8.dev}/include -I${guile_1_8.dev}/include/guile ";
|
||||
|
||||
NIX_LDFLAGS="${zlib}/lib/libz.dylib";
|
||||
|
||||
buildPhase = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace 'find -d $(MACOS_PACKAGE_TEXMACS)' 'find $(MACOS_PACKAGE_TEXMACS) -depth' \
|
||||
--replace '$(MACOS_PACKAGE_SRC)/bundle-libs.sh' 'true'
|
||||
make MACOS_BUNDLE
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/Applications
|
||||
cp -R ../distr/TeXmacs-${version}.app $out/Applications
|
||||
'';
|
||||
|
||||
inherit (common) postPatch;
|
||||
|
||||
postInstall = "wrapProgram $out/Applications/TeXmacs-${version}/Contents/MacOS/TeXmacs --suffix PATH : " +
|
||||
"${ghostscript}/bin:" +
|
||||
(lib.optionalString (aspell != null) "${aspell}/bin:") +
|
||||
(lib.optionalString (tex != null) "${tex}/bin:") +
|
||||
(lib.optionalString (netpbm != null) "${lib.getBin netpbm}/bin:") +
|
||||
(lib.optionalString (imagemagick != null) "${imagemagick}/bin:");
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = common.meta // {
|
||||
platforms = lib.platforms.darwin;
|
||||
};
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -7461,7 +7461,7 @@ $as_echo "final adjustments for cygwin host" >&6; }
|
||||
CONFIG_QTPIPES="yes"
|
||||
CONFIG_CXXFLAGS="-I${prefix}/include"
|
||||
CONFIG_BSHARED=""
|
||||
- CONFIG_BFLAGS="-framework Cocoa -framework IOKit"
|
||||
+ CONFIG_BFLAGS="-framework Cocoa -framework IOKit -framework CoreFoundation"
|
||||
CONFIG_BPATH=""
|
||||
CONFIG_SO="dylib"
|
||||
CONFIG_LIB_PATH="DYLD_LIBRARY_PATH"
|
||||
@@ -8281,6 +8281,7 @@ _ASEOF
|
||||
if $QMAKE ${additional_qmake_flags} ; then :; else
|
||||
as_fn_error $? "Calling $QMAKE failed." "$LINENO" 5
|
||||
fi
|
||||
+ echo "QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.10" >> $pro_file
|
||||
# Try to compile a simple Qt app.
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can build a simple Qt app" >&5
|
||||
$as_echo_n "checking whether we can build a simple Qt app... " >&6; }
|
||||
--- a/src/Plugins/Unix/unix_sys_utils.cpp
|
||||
+++ b/src/Plugins/Unix/unix_sys_utils.cpp
|
||||
@@ -17,6 +17,7 @@
|
||||
#include <spawn.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/wait.h>
|
||||
+#include <pthread.h>
|
||||
|
||||
// for thread safe strings
|
||||
#include <string>
|
@ -1,26 +0,0 @@
|
||||
{ fetchFromGitHub, lib, stdenv, cmake, qt4 }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "resim";
|
||||
version = "unstable-2016-11-11";
|
||||
src = fetchFromGitHub {
|
||||
owner = "itszor";
|
||||
repo = "resim";
|
||||
rev = "cdc7808ceb7ba4ac00d0d08ca646b58615059150";
|
||||
sha256 = "1743lngqxd7ai4k6cd4d1cf9h60z2pnvr2iynfs1zlpcj3w1hx0c";
|
||||
};
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ qt4 ];
|
||||
installPhase = ''
|
||||
mkdir -pv $out/{lib,bin}
|
||||
cp -v libresim/libarmsim.so $out/lib/libarmsim.so
|
||||
cp -v vc4emul/vc4emul $out/bin/vc4emul
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
# RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/
|
||||
"-DCMAKE_SKIP_BUILD_RPATH=ON"
|
||||
];
|
||||
|
||||
meta.license = lib.licenses.mit;
|
||||
}
|
@ -1,39 +0,0 @@
|
||||
{ stdenv, lib, fetchurl, cmake, qt4, file }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "animbar";
|
||||
version = "1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
|
||||
sha256 = "0836nwcpyfdrapyj3hbg3wh149ihc26pc78h01adpc7c0r7d9pr9";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ qt4 file ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/share/pixmaps
|
||||
cp src/animbar $out/bin
|
||||
cp ../icon/* $out/share/pixmaps
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Create your own animation on paper and transparancy";
|
||||
longDescription = ''
|
||||
Animbar lets you easily create your own animation on paper and
|
||||
transparancy. From a set of input images two output images are
|
||||
computed, that are printed one on paper and one on
|
||||
transparency. By moving the transparency over the paper you
|
||||
create a fascinating animation effect. This kind of animation
|
||||
technique is hundreds of years old and known under several
|
||||
names: picket fence animation, barrier grid animation, Moiré
|
||||
animation, to name a few.
|
||||
'';
|
||||
homepage = "http://animbar.mnim.org";
|
||||
maintainers = with maintainers; [ leenaars ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl3;
|
||||
};
|
||||
}
|
@ -1,23 +1,34 @@
|
||||
{ lib, stdenv, fetchurl, dos2unix, which, qt, Carbon }:
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchgit
|
||||
, dos2unix
|
||||
, qtbase
|
||||
, qttools
|
||||
, qtx11extras
|
||||
, wrapQtAppsHook
|
||||
, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qscreenshot";
|
||||
version = "1.0";
|
||||
version = "unstable-2021-10-18";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/qscreenshot/qscreenshot-${version}-src.tar.gz";
|
||||
sha256 = "1spj5fg2l8p5bk81xsv6hqn1kcrdiy54w19jsfb7g5i94vcb1pcx";
|
||||
src = fetchgit {
|
||||
url = "https://git.code.sf.net/p/qscreenshot/code";
|
||||
rev = "e340f06ae2f1a92a353eaa68e103d1c840adc12d";
|
||||
sha256 = "0mdiwn74vngiyazr3lq72f3jnv5zw8wyd2dw6rik6dbrvfs69jig";
|
||||
};
|
||||
|
||||
buildInputs = [ dos2unix which qt ]
|
||||
++ lib.optional stdenv.isDarwin Carbon;
|
||||
|
||||
# Remove carriage returns that cause /bin/sh to abort
|
||||
preConfigure = ''
|
||||
dos2unix configure
|
||||
sed -i "s|lrelease-qt4|lrelease|" src/src.pro
|
||||
'';
|
||||
preConfigure = "cd qScreenshot";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
qttools
|
||||
wrapQtAppsHook
|
||||
];
|
||||
buildInputs = [
|
||||
qtbase
|
||||
qtx11extras
|
||||
];
|
||||
meta = with lib; {
|
||||
description = "Simple creation and editing of screenshots";
|
||||
homepage = "https://sourceforge.net/projects/qscreenshot/";
|
||||
|
@ -1,26 +0,0 @@
|
||||
{ lib, stdenv, fetchFromGitHub, qt4, cmake, libjpeg, libtiff, boost }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "scantailor";
|
||||
version = "0.9.12.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "scantailor";
|
||||
repo = "scantailor";
|
||||
rev = "RELEASE_${lib.replaceStrings ["."] ["_"] version}";
|
||||
sha256 = "sha256-Jn8+X737vwaE0ZPYdQv/1SocmWFA74XL90IW8yNiafA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ qt4 libjpeg libtiff boost ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://scantailor.org/";
|
||||
description = "Interactive post-processing tool for scanned pages";
|
||||
|
||||
license = lib.licenses.gpl3Plus;
|
||||
|
||||
maintainers = [ lib.maintainers.viric ];
|
||||
platforms = lib.platforms.gnu ++ lib.platforms.linux;
|
||||
};
|
||||
}
|
@ -10,10 +10,15 @@ python3.pkgs.buildPythonApplication rec {
|
||||
};
|
||||
|
||||
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
||||
nativeBuildInputs = [
|
||||
python3.pkgs.setuptools-scm
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
setuptools-scm
|
||||
sphinxHook
|
||||
sphinx-autoapi
|
||||
sphinx-autodoc-typehints
|
||||
];
|
||||
|
||||
sphinxBuilders = [ "man" ];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
atomicwrites
|
||||
configobj
|
||||
@ -40,5 +45,6 @@ python3.pkgs.buildPythonApplication rec {
|
||||
description = "Console carddav client";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = with lib.maintainers; [ matthiasbeyer ];
|
||||
mainProgram = "khard";
|
||||
};
|
||||
}
|
||||
|
@ -51,7 +51,7 @@ in buildFHSEnv {
|
||||
fluidsynth hidapi mesa libdrm
|
||||
|
||||
# MAME
|
||||
qt48 fontconfig SDL2_ttf
|
||||
fontconfig SDL2_ttf
|
||||
|
||||
# Mednafen
|
||||
freeglut mesa_glu
|
||||
@ -65,9 +65,6 @@ in buildFHSEnv {
|
||||
# Mupen64Plus
|
||||
boost dash
|
||||
|
||||
# Osmose
|
||||
qt4
|
||||
|
||||
# Overwatch 2
|
||||
libunwind
|
||||
|
||||
|
@ -1,32 +0,0 @@
|
||||
{ lib, stdenv, fetchurl, qt4, qmake4Hook }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "navipowm";
|
||||
version = "0.2.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/navipowm/NaviPOWM-${version}.tar.gz";
|
||||
sha256 = "1kdih8kwpgcgfh6l6njkr9gq2j5hv39xvzmzgvhip553kn6bss7b";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
cd Qt/KDevelop
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/share/navipowm-${version}/Icons
|
||||
cp bin/NaviPOWM $out/bin
|
||||
cp ../../common/Config/navipowm.ini $out/share/navipowm-${version}
|
||||
cp ../../common/Images/* $out/share/navipowm-${version}
|
||||
'';
|
||||
|
||||
buildInputs = [ qt4 ];
|
||||
nativeBuildInputs = [ qmake4Hook ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://navipowm.sourceforge.net/";
|
||||
description = "Car navigation system";
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
platforms = with lib.platforms; linux;
|
||||
};
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
{ lib, stdenv, fetchurl, qmake4Hook, unzip, qt4 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qmetro";
|
||||
version = "0.7.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/qmetro/qmetro-${version}.zip";
|
||||
sha256 = "1zdj87lzcr43gr2h05g17z31pd22n5kxdwbvx7rx656rmhv0sjq5";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake4Hook unzip ];
|
||||
|
||||
buildInputs = [ qt4 ];
|
||||
|
||||
postPatch = ''
|
||||
sed -e 's#Exec=/usr/bin/qmetro#Exec=qmetro#' -i rc/qmetro.desktop
|
||||
echo 'LIBS += -lz' >> qmetro.pro
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://sourceforge.net/projects/qmetro/";
|
||||
description = "Worldwide transit maps viewer";
|
||||
license = licenses.gpl3;
|
||||
|
||||
maintainers = with maintainers; [ orivej ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, qt4, qscintilla-qt4 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sqliteman";
|
||||
version = "1.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "sqliteman";
|
||||
owner = "pvanek";
|
||||
rev = version;
|
||||
sha256 = "1blzyh1646955d580f71slgdvz0nqx0qacryx0jc9w02yrag17cs";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ qt4 qscintilla-qt4 ];
|
||||
|
||||
prePatch = ''
|
||||
sed -i 's,m_file(0),m_file(QString()),' Sqliteman/sqliteman/main.cpp
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
cd Sqliteman
|
||||
sed -i 's,/usr/include/Qsci,${qscintilla-qt4}/include/Qsci,' cmake/modules/FindQScintilla.cmake
|
||||
sed -i 's,PATHS ''${QT_LIBRARY_DIR},PATHS ${qscintilla-qt4}/libs,' cmake/modules/FindQScintilla.cmake
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple but powerful Sqlite3 GUI database manager";
|
||||
homepage = "http://sqliteman.yarpen.cz/";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.eikek ];
|
||||
};
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, lib, qt4, openssl, pkg-config }:
|
||||
{ stdenv, fetchurl, lib, openssl, pkg-config }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "yate";
|
||||
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
# TODO zaptel ? postgres ?
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ qt4 openssl ];
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
# /dev/null is used when linking which is a impure path for the wrapper
|
||||
postPatch =
|
||||
|
1544
pkgs/applications/networking/cluster/habitat/Cargo.lock
generated
1544
pkgs/applications/networking/cluster/habitat/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -12,20 +12,20 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "habitat";
|
||||
version = "1.6.652";
|
||||
version = "1.6.848";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "habitat-sh";
|
||||
repo = "habitat";
|
||||
rev = version;
|
||||
hash = "sha256-aWQ4A8NxTOauwad1q58Q4IFDUImX/L/4YTCeVLaq8gw=";
|
||||
hash = "sha256-oK9ZzENwpEq6W1qnhSgkr7Rhy7Fxt/BS4U5nxecyPu8=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"clap-2.33.1" = "sha256-ixyNr91VNB2ce2cIr0CdPmvKYRlckhKLeaSbqxouIAY=";
|
||||
"configopt-0.1.0" = "sha256-DvpC4WDIzknN5A6+68H7p8bG5lwZ2f+kc9yYhTl16ZM=";
|
||||
"configopt-0.1.0" = "sha256-76MeSoRD796ZzBqX3CoDJnunekVo2XfctpxrpspxmAU=";
|
||||
"rants-0.6.0" = "sha256-B8uDoiqddCki3j7aC8kilEcmJjvB4ICjZjjTun2UEkY=";
|
||||
"retry-1.0.0" = "sha256-ZaHnzOCelV4V0+MTIbH3DXxdz8QZVgcMq2YeV0S6X6o=";
|
||||
"structopt-0.3.15" = "sha256-0vIX7J7VktKytT3ZnOm45qPRMHDkdJg20eU6pZBIH+Q=";
|
||||
@ -59,7 +59,7 @@ rustPlatform.buildRustPackage rec {
|
||||
homepage = "https://www.habitat.sh";
|
||||
changelog = "https://github.com/habitat-sh/habitat/blob/${src.rev}/CHANGELOG.md";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ rushmorem ];
|
||||
maintainers = with maintainers; [ rushmorem qjoly ];
|
||||
mainProgram = "hab";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "k8sgpt";
|
||||
version = "0.3.13";
|
||||
version = "0.3.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "k8sgpt-ai";
|
||||
repo = "k8sgpt";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-JXKM39tODHg5jRE5p0u5xETPFDZrQgFri3FrYJFVUZU=";
|
||||
hash = "sha256-n1bWAx3BQxgiuhDdTb2HU1DSEBQqOP/ek9bJBZlbWEM=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-L8/GLhjCI93R9S1fE+wgXyPObIXRMkj5MF71iWAZVQk=";
|
||||
vendorHash = "sha256-FUgIziVI99kL3dLJLqVFPEmQqLKXxAMie2q46sp0PeU=";
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
||||
|
@ -9,13 +9,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kaniko";
|
||||
version = "1.14.0";
|
||||
version = "1.15.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GoogleContainerTools";
|
||||
repo = "kaniko";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-sDZg2eKTwy3Y7Uaky4rz7EuU1EKY/S4VAEaj7GMN6Uo=";
|
||||
hash = "sha256-PNAqdeB/ya3i1hRbagpfmpwS0tNRZbWBm9YIXME1HMc=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
@ -8,13 +8,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "karmor";
|
||||
version = "0.13.13";
|
||||
version = "0.13.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubearmor";
|
||||
repo = "kubearmor-client";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-3lgbJ6bxKirb2KR9e4yI0gqkXfpgCdnX0smyMS5BBKA=";
|
||||
hash = "sha256-irpfZFswZjowKDnHmoutTo6960jl5C3Dq+NurjOk3p8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-raMR27DqgT/Hjp3yAMAKLbfOjIZs0K0XsncgmIP6vxk=";
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "yor";
|
||||
version = "0.1.183";
|
||||
version = "0.1.185";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bridgecrewio";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-OMwDqBZPzjeG47CKk/heRo0JxyN7E7qh/dnV8cAzUfo=";
|
||||
hash = "sha256-5CBOLbqsEVzYyU67c7QTGTe471XQlEC/826wYCPHzEo=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-ZeTjGmlu8LndD2DKNncPzlpECdvkOjfwaVvV6S3sL9E=";
|
||||
|
@ -1,12 +1,12 @@
|
||||
{ callPackage }: builtins.mapAttrs (pname: attrs: callPackage ./generic.nix (attrs // { inherit pname; })) {
|
||||
signal-desktop = {
|
||||
dir = "Signal";
|
||||
version = "6.27.1";
|
||||
hash = "sha256-nEOt6bep6SqhAab8yD9NlRrDGU2IvZeOxSqPj2u1bio=";
|
||||
version = "6.29.1";
|
||||
hash = "sha256-QtQVH8cs42vwzJNiq6klaSQO2pmB80OYjzAR4Bibb/s";
|
||||
};
|
||||
signal-desktop-beta = {
|
||||
dir = "Signal Beta";
|
||||
version = "6.24.0-beta.1";
|
||||
hash = "sha256-tA1xsgtAeOn0c0HcZutj+Pqrsr0JV5bQOnknH4t/QkY=";
|
||||
version = "6.30.0-beta.2";
|
||||
hash = "sha256-EMgstKlHA6ilSlbDmsPAu/jNC21XGzF7LS7QzWcK2F0";
|
||||
};
|
||||
}
|
||||
|
@ -1,52 +0,0 @@
|
||||
{ lib, stdenv, fetchurl, pkg-config, freetype, lcms, libtiff, libxml2
|
||||
, libart_lgpl, qt4, python2, cups, fontconfig, libjpeg
|
||||
, zlib, libpng, xorg, cairo, podofo, hunspell, boost, cmake, imagemagick, ghostscript }:
|
||||
|
||||
let
|
||||
icon = fetchurl {
|
||||
url = "https://gist.githubusercontent.com/ejpcmac/a74b762026c9bc4000be624c3d085517/raw/18edc497c5cb6fdeef1c8aede37a0ee68413f9d3/scribus-icon-centered.svg";
|
||||
sha256 = "0hq3i7c2l50445an9glhhg47kj26y16svfajc6naqn307ph9vzc3";
|
||||
};
|
||||
|
||||
pythonEnv = python2.withPackages(ps: [ps.tkinter ps.pillow]);
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "scribus";
|
||||
version = "1.4.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/${pname}/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0bq433myw6h1siqlsakxv6ghb002rp3mfz5k12bg68s0k6skn992";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config cmake ];
|
||||
buildInputs = with xorg;
|
||||
[ freetype lcms libtiff libxml2 libart_lgpl qt4
|
||||
pythonEnv cups fontconfig
|
||||
libjpeg zlib libpng podofo hunspell cairo
|
||||
boost # for internal 2geom library
|
||||
libXaw libXext libX11 libXtst libXi libXinerama
|
||||
libpthreadstubs libXau libXdmcp
|
||||
imagemagick # To build the icon
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace scribus/util_ghostscript.cpp \
|
||||
--replace 'QString gsName("gs");' \
|
||||
'QString gsName("${ghostscript}/bin/gs");'
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
for i in 16 24 48 64 96 128 256 512; do
|
||||
mkdir -p $out/share/icons/hicolor/''${i}x''${i}/apps
|
||||
convert -background none -resize ''${i}x''${i} ${icon} $out/share/icons/hicolor/''${i}x''${i}/apps/scribus.png
|
||||
done
|
||||
'';
|
||||
|
||||
meta = {
|
||||
maintainers = [ lib.maintainers.marcweber ];
|
||||
platforms = lib.platforms.linux;
|
||||
description = "Desktop Publishing (DTP) and Layout program for Linux";
|
||||
homepage = "https://www.scribus.net";
|
||||
license = lib.licenses.gpl2;
|
||||
};
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
{ lib, mkDerivation, fetchzip, qtbase, qttools, cmake, sqlite }:
|
||||
mkDerivation rec {
|
||||
{ stdenv, lib, fetchzip, qtbase, qttools, cmake, sqlite, wrapQtAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tagainijisho";
|
||||
version = "1.2.2";
|
||||
|
||||
@ -8,8 +9,8 @@ mkDerivation rec {
|
||||
hash = "sha256-CTDMoYGbVE4W0SDerW//aAdUVsySWFQycSy0I3a9+94=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ qtbase qttools sqlite ];
|
||||
nativeBuildInputs = [ qttools cmake wrapQtAppsHook ];
|
||||
buildInputs = [ qtbase sqlite ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DEMBED_SQLITE=OFF"
|
||||
|
@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "treesheets";
|
||||
version = "unstable-2023-08-17";
|
||||
version = "unstable-2023-08-31";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aardappel";
|
||||
repo = "treesheets";
|
||||
rev = "e88dd955bf1346b560da3c34234f9206463baf0b";
|
||||
sha256 = "DOvCJiZ76CzlJF6f0V8ABHi5uUJo4XCzJDUoikKkpMI=";
|
||||
rev = "7f68776a9e072520c735479929efecd0d58f362d";
|
||||
sha256 = "AO0+Jqt2bEr3pwv417wey9zZWNX9rg0kDoO7qT+YPDg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, libpulseaudio, libX11 }:
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, libpulseaudio, libX11, makeWrapper, sox }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "multimon-ng";
|
||||
@ -13,7 +13,11 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = lib.optionals stdenv.isLinux [ libpulseaudio libX11 ];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
nativeBuildInputs = [ cmake makeWrapper ];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/multimon-ng --prefix PATH : "${lib.makeBinPath [sox]}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Multimon is a digital baseband audio protocol decoder";
|
||||
|
@ -1,30 +0,0 @@
|
||||
{ lib, stdenv, fetchurl, cmake, qt4, zlib, eigen, openbabel, pkg-config, libGLU, libGL, libX11, doxygen }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "avogadro";
|
||||
version = "1.1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/avogadro/avogadro-${version}.tar.bz2";
|
||||
sha256 = "050ag9p4vg7jg8hj1wqfv7lsm6ar2isxjw2vw85s49vsl7g7nvzy";
|
||||
};
|
||||
|
||||
buildInputs = [ qt4 eigen zlib openbabel libGL libGLU libX11 ];
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config doxygen ];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-include ${libGLU.dev}/include/GL/glu.h";
|
||||
|
||||
patches = [
|
||||
(fetchurl {
|
||||
url = "https://data.gpo.zugaina.org/fusion809/sci-chemistry/avogadro/files/avogadro-1.1.0-xlibs.patch";
|
||||
sha256 = "1p113v19z3zwr9gxj2k599f8p97a8rwm93pa4amqvd0snn31mw0k";
|
||||
})
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Molecule editor and visualizer";
|
||||
maintainers = with maintainers; [ danielbarter ];
|
||||
platforms = platforms.mesaPlatforms;
|
||||
};
|
||||
}
|
@ -1,91 +1,98 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, python3
|
||||
, fetchPypi
|
||||
, fetchFromBitbucket
|
||||
, fetchpatch
|
||||
, substituteAll
|
||||
, geos
|
||||
, buildPythonApplication
|
||||
, pyqt5
|
||||
, matplotlib
|
||||
, numpy
|
||||
, cycler
|
||||
, python-dateutil
|
||||
, kiwisolver
|
||||
, six
|
||||
, setuptools
|
||||
, dill
|
||||
, rtree
|
||||
, pyopengl
|
||||
, vispy
|
||||
, ortools
|
||||
, svg-path
|
||||
, simplejson
|
||||
, shapely
|
||||
, freetype-py
|
||||
, fonttools
|
||||
, rasterio
|
||||
, lxml
|
||||
, ezdxf
|
||||
, qrcode
|
||||
, reportlab
|
||||
, svglib
|
||||
, gdal
|
||||
, pyserial
|
||||
, python3
|
||||
}:
|
||||
|
||||
let
|
||||
python = python3.override {
|
||||
packageOverrides = self: super: {
|
||||
shapely = super.shapely.overridePythonAttrs (old: rec {
|
||||
version = "1.8.4";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "Shapely";
|
||||
inherit version;
|
||||
hash = "sha256-oZXlHKr6IYKR8suqP+9p/TNTyT7EtlsqRyLEz0DDGYw=";
|
||||
};
|
||||
|
||||
# Environment variable used in shapely/_buildcfg.py
|
||||
GEOS_LIBRARY_PATH = "${geos}/lib/libgeos_c${stdenv.hostPlatform.extensions.sharedLibrary}";
|
||||
|
||||
patches = [
|
||||
# Patch to search form GOES .so/.dylib files in a Nix-aware way
|
||||
(substituteAll {
|
||||
src = ./shapely-library-paths.patch;
|
||||
libgeos_c = GEOS_LIBRARY_PATH;
|
||||
libc = lib.optionalString (!stdenv.isDarwin) "${stdenv.cc.libc}/lib/libc${stdenv.hostPlatform.extensions.sharedLibrary}.6";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace 'setuptools<64' 'setuptools'
|
||||
'';
|
||||
});
|
||||
};
|
||||
};
|
||||
in
|
||||
python.pkgs.buildPythonApplication rec {
|
||||
buildPythonApplication rec {
|
||||
pname = "flatcam";
|
||||
version = "8.5";
|
||||
version = "unstable-2022-02-02";
|
||||
|
||||
src = fetchFromBitbucket {
|
||||
owner = "jpcgt";
|
||||
repo = pname;
|
||||
rev = "533afd6a1772857cb633c011b5e0a15b60b1e92e"; # 8.5 with Red Hat packaging.
|
||||
sha256 = "199kiiml18k34z1zhk2hbhibphmnv0kb11kxiajq52alps0mjb3m";
|
||||
rev = "ebf5cb9e3094362c4b0774a54cf119559c02211d"; # beta branch as of 2022-02-02
|
||||
hash = "sha256-QKkBPEM+HVYmSZ83b4JRmOmCMp7C3EUqbJKPqUXMiKE=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python.pkgs; [
|
||||
format = "other";
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pyqt5
|
||||
matplotlib
|
||||
numpy
|
||||
packaging
|
||||
pyqt4
|
||||
rtree
|
||||
scipy
|
||||
setuptools
|
||||
shapely
|
||||
simplejson
|
||||
cycler
|
||||
python-dateutil
|
||||
kiwisolver
|
||||
six
|
||||
setuptools
|
||||
dill
|
||||
rtree
|
||||
pyopengl
|
||||
vispy
|
||||
ortools
|
||||
svg-path
|
||||
simplejson
|
||||
shapely
|
||||
freetype-py
|
||||
fonttools
|
||||
rasterio
|
||||
lxml
|
||||
ezdxf
|
||||
qrcode
|
||||
reportlab
|
||||
svglib
|
||||
gdal
|
||||
pyserial
|
||||
];
|
||||
|
||||
packaging_fix_pull_request_patch = fetchpatch {
|
||||
name = "packaging_fix_pull_request.patch";
|
||||
url = "https://bitbucket.org/trepetti/flatcam/commits/5591ed889d1f48a5190fe237b562cb932cb5876c/raw";
|
||||
sha256 = "19rhjdrf1n1q29cgpcry6pl2kl90zq0d613hhkwdir9bhq5bkknp";
|
||||
};
|
||||
preInstall = ''
|
||||
patchShebangs .
|
||||
|
||||
patches = [
|
||||
packaging_fix_pull_request_patch
|
||||
./release.patch
|
||||
];
|
||||
sed -i "s|/usr/local/bin|$out/bin|" Makefile
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py --replace "'shapely>=1.3'" "'shapely>=1.3',"
|
||||
mkdir -p $out/share/{flatcam,applications}
|
||||
mkdir -p $out/bin
|
||||
'';
|
||||
|
||||
# Only non-GUI tests can be run deterministically in the Nix build environment.
|
||||
checkPhase = ''
|
||||
python -m unittest tests.test_excellon
|
||||
python -m unittest tests.test_gerber_buffer
|
||||
python -m unittest tests.test_paint
|
||||
python -m unittest tests.test_pathconnect
|
||||
installFlags = [
|
||||
"USER_ID=0"
|
||||
"LOCAL_PATH=/build/source/."
|
||||
"INSTALL_PATH=${placeholder "out"}/share/flatcam"
|
||||
"APPS_PATH=${placeholder "out"}/share/applications"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
sed -i "s|python3|${python3.withPackages (_: propagatedBuildInputs)}/bin/python3|" $out/bin/flatcam-beta
|
||||
mv $out/bin/flatcam{-beta,}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff --git a/FlatCAMVersion.py b/FlatCAMVersion.py
|
||||
index ba9e04a5..2c64d5a6 100644
|
||||
--- a/FlatCAMVersion.py
|
||||
+++ b/FlatCAMVersion.py
|
||||
@@ -16,7 +16,7 @@ version = {
|
||||
"number": 8.5,
|
||||
"date": (2016, 7, 1), # Year, Month, Day
|
||||
"name": None,
|
||||
- "release": False,
|
||||
+ "release": True,
|
||||
}
|
||||
|
||||
|
@ -1,28 +0,0 @@
|
||||
{ lib, stdenv, fetchurl, qt4, cmake, graphviz, pkg-config }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qfsm";
|
||||
version = "0.54.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/qfsm/qfsm-${version}-Source.tar.bz2";
|
||||
sha256 = "0rl7bc5cr29ng67yij4akciyid9z7npal812ys4c3m229vjvflrb";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
buildInputs = [ qt4 graphviz ];
|
||||
|
||||
patches = [
|
||||
./drop-hardcoded-prefix.patch
|
||||
./gcc6-fixes.patch
|
||||
];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
meta = {
|
||||
description = "Graphical editor for finite state machines";
|
||||
homepage = "https://qfsm.sourceforge.net/";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
diff -ubrw qfsm-0.53.0-Source-orig/CMakeLists.txt qfsm-0.53.0-Source-new/CMakeLists.txt
|
||||
--- qfsm-0.53.0-Source-orig/CMakeLists.txt 2012-11-11 20:13:01.935856229 +0100
|
||||
+++ qfsm-0.53.0-Source-new/CMakeLists.txt 2012-11-11 20:13:24.962930007 +0100
|
||||
@@ -406,10 +406,6 @@
|
||||
|
||||
|
||||
IF(UNIX AND NOT WIN32)
|
||||
- SET(CMAKE_INSTALL_PREFIX "/usr")
|
||||
-ENDIF(UNIX AND NOT WIN32)
|
||||
-
|
||||
-IF(UNIX AND NOT WIN32)
|
||||
ADD_DEFINITIONS(-DQFSM_LANGUAGE_DIR="${CMAKE_INSTALL_PREFIX}/share/qfsm/")
|
||||
ADD_DEFINITIONS(-DQFSM_HELP_DIR="${CMAKE_INSTALL_PREFIX}/share/doc/qfsm/")
|
||||
ELSE(UNIX AND NOT WIN32)
|
||||
@@ -472,5 +468,3 @@
|
||||
)
|
||||
|
||||
ENDIF(UNIX AND NOT WIN32)
|
||||
-
|
||||
-
|
@ -1,20 +0,0 @@
|
||||
--- qfsm-0.54.0-Source-orig/src/FileIO.cpp 2015-01-02 19:01:46.000000000 +0100
|
||||
+++ qfsm-0.54.0-Source/src/FileIO.cpp 2017-09-11 19:53:30.579488402 +0200
|
||||
@@ -1617,7 +1617,7 @@
|
||||
QString ext;
|
||||
|
||||
if (!imp)
|
||||
- return FALSE;
|
||||
+ return NULL;
|
||||
|
||||
Project* p=NULL;
|
||||
importdlg->setAcceptMode(QFileDialog::AcceptOpen);
|
||||
@@ -1641,7 +1641,7 @@
|
||||
ifstream fin(act_importfile);
|
||||
|
||||
if (!fin)
|
||||
- return FALSE;
|
||||
+ return NULL;
|
||||
|
||||
emit setWaitCursor();
|
||||
|
@ -1,34 +0,0 @@
|
||||
diff --git i/qucs-core/CMakeLists.txt w/qucs-core/CMakeLists.txt
|
||||
index 2dbbd41..d174b50 100644
|
||||
--- i/qucs-core/CMakeLists.txt
|
||||
+++ w/qucs-core/CMakeLists.txt
|
||||
@@ -158,26 +158,9 @@ ENDIF()
|
||||
|
||||
#
|
||||
# Need Bison
|
||||
-#
|
||||
-# This is a HACK to get arround a PATH issue with Qt Creator on OSX.
|
||||
-# It seams impossible to pass a custom PATH to Qt Creator on OSX, ie, cannot prepend `/usr/local/bin/` for intance.
|
||||
-# The FIND_PACKAGE fails. For now we provide a fallback with a custom FIND_PROGRAM. The variable BISON_DIR is also available.
|
||||
-IF(WIN32)
|
||||
- FIND_PACKAGE(BISON 2.4 REQUIRED)
|
||||
- IF(BISON_FOUND)
|
||||
- #MESSAGE(STATUS "Found bison: ${BISON_EXECUTABLE} / Version: ${BISON_VERSION}" )
|
||||
- ENDIF()
|
||||
-ELSE() # Linux, OSX
|
||||
- # use -DBISON_DIR=/path/ to provide the path to bison
|
||||
- FIND_PROGRAM( BISON_EXECUTABLE bison
|
||||
- PATHS /usr/local/bin/ /opt/local/bin/ /usr/bin ${BISON_DIR}
|
||||
- DOC "bison path"
|
||||
- NO_DEFAULT_PATH )
|
||||
- IF(BISON_EXECUTABLE )
|
||||
- MESSAGE(STATUS "Found bison: " ${BISON_EXECUTABLE})
|
||||
- ELSE()
|
||||
- MESSAGE(FATAL_ERROR "Unable to find bison. Try to provide -DBISON_DIR=[path]")
|
||||
- ENDIF()
|
||||
+FIND_PACKAGE(BISON 2.4 REQUIRED)
|
||||
+IF(BISON_FOUND)
|
||||
+ #MESSAGE(STATUS "Found bison: ${BISON_EXECUTABLE} / Version: ${BISON_VERSION}" )
|
||||
ENDIF()
|
||||
|
||||
#
|
@ -1,30 +0,0 @@
|
||||
{lib, stdenv, fetchFromGitHub, flex, bison, qt4, libX11, cmake, gperf, adms }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.0.19";
|
||||
pname = "qucs";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Qucs";
|
||||
repo = "qucs";
|
||||
rev = "qucs-${version}";
|
||||
sha256 = "106h3kjyg7c0hkmzkin7h8fcl32n60835121b2qqih8ixi6r5id6";
|
||||
};
|
||||
|
||||
QTDIR=qt4;
|
||||
|
||||
patches = [
|
||||
./cmakelists.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake flex bison ];
|
||||
buildInputs = [ qt4 libX11 gperf adms ];
|
||||
|
||||
meta = {
|
||||
description = "Integrated circuit simulator";
|
||||
homepage = "https://qucs.sourceforge.net";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [viric];
|
||||
platforms = with lib.platforms; linux;
|
||||
};
|
||||
}
|
@ -55,6 +55,7 @@ let
|
||||
"8.16.1".sha256 = "sha256-n7830+zfZeyYHEOGdUo57bH6bb2/SZs8zv8xJhV+iAc=";
|
||||
"8.17.0".sha256 = "sha256-TGwm7S6+vkeZ8cidvp8pkiAd9tk008jvvPvYgfEOXhM=";
|
||||
"8.17.1".sha256 = "sha256-x+RwkbxMg9aR0L3WSCtpIz8jwA5cJA4tXAtHMZb20y4=";
|
||||
"8.18+rc1".sha256 = "sha256-TmV0lzfzhpSnBoVyfTfVFUyBrXpUWSnyN1Le7b8IPTs=";
|
||||
};
|
||||
releaseRev = v: "V${v}";
|
||||
fetched = import ../../../../build-support/coq/meta-fetch/default.nix
|
||||
@ -73,7 +74,7 @@ let
|
||||
'';
|
||||
ocamlPackages = if customOCamlPackages != null then customOCamlPackages
|
||||
else with versions; switch coq-version [
|
||||
{ case = range "8.16" "8.17"; out = ocamlPackages_4_14; }
|
||||
{ case = range "8.16" "8.18"; out = ocamlPackages_4_14; }
|
||||
{ case = range "8.14" "8.15"; out = ocamlPackages_4_12; }
|
||||
{ case = range "8.11" "8.13"; out = ocamlPackages_4_10; }
|
||||
{ case = range "8.7" "8.10"; out = ocamlPackages_4_09; }
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cvc5";
|
||||
version = "1.0.6";
|
||||
version = "1.0.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cvc5";
|
||||
repo = "cvc5";
|
||||
rev = "cvc5-${version}";
|
||||
hash = "sha256-pZiXAO92cwnYtaVMDFBEmk+NzDf4eKdc0eY0RltofPA=";
|
||||
hash = "sha256-0uT2Lzz0ZbfNWZBptjaGI1fN0mMniBz41eEwipGc5fc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config cmake flex ];
|
||||
|
@ -10,19 +10,19 @@
|
||||
, gtest
|
||||
, uhdm
|
||||
, antlr4
|
||||
, flatbuffers
|
||||
, capnproto
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "surelog";
|
||||
version = "1.57";
|
||||
version = "1.73";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chipsalliance";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Gty0OSNG5Nonyw7v2KiKP51LhiugMY7uqI6aJ6as0SQ=";
|
||||
repo = finalAttrs.pname;
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-z47Eqs3fP53pbEb3s66CqMiO4UpEwox+fKakxtRBakQ=";
|
||||
fetchSubmodules = false; # we use all dependencies from nix
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -40,14 +40,13 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
libuuid
|
||||
gperftools
|
||||
flatbuffers
|
||||
uhdm
|
||||
capnproto
|
||||
antlr4.runtime.cpp
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DSURELOG_USE_HOST_FLATBUFFERS=On"
|
||||
"-DSURELOG_USE_HOST_CAPNP=On"
|
||||
"-DSURELOG_USE_HOST_UHDM=On"
|
||||
"-DSURELOG_USE_HOST_GTEST=On"
|
||||
"-DSURELOG_USE_HOST_ANTLR=On"
|
||||
@ -66,7 +65,8 @@ stdenv.mkDerivation rec {
|
||||
description = "SystemVerilog 2017 Pre-processor, Parser, Elaborator, UHDM Compiler";
|
||||
homepage = "https://github.com/chipsalliance/Surelog";
|
||||
license = lib.licenses.asl20;
|
||||
mainProgram = "surelog";
|
||||
maintainers = with lib.maintainers; [ matthuszagh ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -7,15 +7,16 @@
|
||||
, gtest
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "UHDM";
|
||||
version = "1.57";
|
||||
version = "1.73";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chipsalliance";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-z3vURlKXCW5W2naVwJjBXcn94u80JsBxlUOIy9ylsJw=";
|
||||
repo = finalAttrs.pname;
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-VmRn51UrJTGEG4n2fi5kRv8khXakfGbqMtYPejsZCBI=";
|
||||
fetchSubmodules = false; # we use all dependencies from nix
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -43,4 +44,4 @@ stdenv.mkDerivation rec {
|
||||
maintainers = with lib.maintainers; [ matthuszagh ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -1,60 +0,0 @@
|
||||
{ lib, stdenv, fetchurl, rpmextract, makeWrapper, patchelf, qt4, zlib, libX11, libXt, libSM, libICE, libXext, libGLU, libGL }:
|
||||
|
||||
with lib;
|
||||
stdenv.mkDerivation {
|
||||
pname = "aliza";
|
||||
version = "1.98.57";
|
||||
src = fetchurl {
|
||||
# See https://www.aliza-dicom-viewer.com/download
|
||||
urls = [
|
||||
"https://drive.google.com/uc?export=download&id=1-AXa3tjy_onecW2k7ftjAQl0KGTb0B1Y"
|
||||
"https://web.archive.org/web/20210327224315/https://doc-0s-0s-docs.googleusercontent.com/docs/securesc/ha0ro937gcuc7l7deffksulhg5h7mbp1/1lgjid9ti29rdf5ebmd7o58iqhs3gfpo/1616884950000/16072287944266838401/*/1-AXa3tjy_onecW2k7ftjAQl0KGTb0B1Y?e=download"
|
||||
];
|
||||
sha256 = "01qk2gadmc24pmfdnmpiz7vgfiqkvhznyq9rsr153frscg76gc9b";
|
||||
name = "aliza.rpm";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper rpmextract ];
|
||||
|
||||
unpackCmd = "rpmextract $curSrc";
|
||||
|
||||
postPatch = ''
|
||||
sed -i 's/^Exec.*$/Exec=aliza %F/' share/applications/aliza.desktop
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out
|
||||
cp -r bin share $out
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postInstall = let
|
||||
libs = lib.makeLibraryPath [ qt4 zlib stdenv.cc.cc libSM libICE libX11 libXext libXt libGLU libGL ];
|
||||
in ''
|
||||
${patchelf}/bin/patchelf \
|
||||
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
$out/bin/aliza
|
||||
|
||||
${patchelf}/bin/patchelf \
|
||||
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
$out/bin/aliza-vtkvol
|
||||
|
||||
wrapProgram $out/bin/aliza \
|
||||
--prefix LD_LIBRARY_PATH : ${libs}
|
||||
|
||||
wrapProgram $out/bin/aliza-vtkvol \
|
||||
--prefix LD_LIBRARY_PATH : ${libs}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Medical imaging software with 2D, 3D and 4D capabilities";
|
||||
homepage = "https://www.aliza-dicom-viewer.com";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.unfreeRedistributable;
|
||||
maintainers = with maintainers; [ mounium ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -2,7 +2,6 @@
|
||||
, lib
|
||||
, callPackage
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, makeWrapper
|
||||
, cmake
|
||||
, coreutils
|
||||
@ -14,6 +13,7 @@
|
||||
, gnugrep
|
||||
, gnused
|
||||
, gsl
|
||||
, gtest
|
||||
, lapack
|
||||
, libX11
|
||||
, libXpm
|
||||
@ -23,7 +23,7 @@
|
||||
, libGL
|
||||
, libxcrypt
|
||||
, libxml2
|
||||
, llvm_9
|
||||
, llvm_13
|
||||
, lsof
|
||||
, lz4
|
||||
, xz
|
||||
@ -55,23 +55,9 @@
|
||||
, noSplash ? false
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
_llvm_9 = llvm_9.overrideAttrs (prev: {
|
||||
patches = (prev.patches or [ ]) ++ [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/root-project/root/commit/a9c961cf4613ff1f0ea50f188e4a4b0eb749b17d.diff";
|
||||
stripLen = 3;
|
||||
hash = "sha256-LH2RipJICEDWOr7JzX5s0QiUhEwXNMFEJihYKy9qWpo=";
|
||||
})
|
||||
];
|
||||
});
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "root";
|
||||
version = "6.26.10";
|
||||
version = "6.28.06";
|
||||
|
||||
passthru = {
|
||||
tests = import ./tests { inherit callPackage; };
|
||||
@ -79,7 +65,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
|
||||
hash = "sha256-jla+w5cQQBeqVPnrVU3noaE0R0/gs7sPQ6cPxPq9Yl8=";
|
||||
hash = "sha256-rztnO5rKOTpcmuG/huqyZyqvGEG2WMXG56MKuTxYZTM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper cmake pkg-config git ];
|
||||
@ -97,10 +83,11 @@ stdenv.mkDerivation rec {
|
||||
lapack
|
||||
libxcrypt
|
||||
libxml2
|
||||
_llvm_9
|
||||
llvm_13
|
||||
lz4
|
||||
xz
|
||||
gsl
|
||||
gtest
|
||||
openblas
|
||||
openssl
|
||||
xxHash
|
||||
@ -122,27 +109,16 @@ stdenv.mkDerivation rec {
|
||||
|
||||
patches = [
|
||||
./sw_vers.patch
|
||||
] ++ lib.optionals (python.pkgs.pythonAtLeast "3.11") [
|
||||
# Fix build against Python 3.11
|
||||
(fetchpatch {
|
||||
url = "https://github.com/root-project/root/commit/484deb056dacf768aba4954073b41105c431bffc.patch";
|
||||
hash = "sha256-4qur2e3SxMIPgOg4IjlvuULR2BObuP7xdvs+LmNT2/s=";
|
||||
})
|
||||
];
|
||||
|
||||
# Fix build against vanilla LLVM 9
|
||||
postPatch = ''
|
||||
sed \
|
||||
-e '/#include "llvm.*RTDyldObjectLinkingLayer.h"/i#define private protected' \
|
||||
-e '/#include "llvm.*RTDyldObjectLinkingLayer.h"/a#undef private' \
|
||||
-i interpreter/cling/lib/Interpreter/IncrementalJIT.h
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
rm -rf builtins/*
|
||||
substituteInPlace cmake/modules/SearchInstalledSoftware.cmake \
|
||||
--replace 'set(lcgpackages ' '#set(lcgpackages '
|
||||
|
||||
substituteInPlace interpreter/llvm/src/tools/clang/tools/driver/CMakeLists.txt \
|
||||
--replace 'add_clang_symlink(''${link} clang)' ""
|
||||
|
||||
# Don't require textutil on macOS
|
||||
: > cmake/modules/RootCPack.cmake
|
||||
|
||||
@ -167,6 +143,8 @@ stdenv.mkDerivation rec {
|
||||
"-DCMAKE_INSTALL_LIBDIR=lib"
|
||||
"-DCMAKE_INSTALL_INCLUDEDIR=include"
|
||||
"-Dbuiltin_llvm=OFF"
|
||||
"-Dbuiltin_freetype=OFF"
|
||||
"-Dbuiltin_gtest=OFF"
|
||||
"-Dbuiltin_nlohmannjson=OFF"
|
||||
"-Dbuiltin_openui5=OFF"
|
||||
"-Dalien=OFF"
|
||||
@ -240,23 +218,20 @@ stdenv.mkDerivation rec {
|
||||
# but it also need to support Bash-less POSIX shell like dash,
|
||||
# as they are mentioned in `thisroot.sh`.
|
||||
|
||||
# `thisroot.sh` would include commands `lsof` and `procps` since ROOT 6.28.
|
||||
# See https://github.com/root-project/root/pull/10332
|
||||
|
||||
patchRcPathPosix "$out/bin/thisroot.sh" "${lib.makeBinPath [
|
||||
coreutils # dirname tail
|
||||
gnugrep # grep
|
||||
gnused # sed
|
||||
lsof # lsof # for ROOT (>=6.28)
|
||||
lsof # lsof
|
||||
man # manpath
|
||||
procps # ps # for ROOT (>=6.28)
|
||||
procps # ps
|
||||
which # which
|
||||
]}"
|
||||
patchRcPathCsh "$out/bin/thisroot.csh" "${lib.makeBinPath [
|
||||
coreutils
|
||||
gnugrep
|
||||
gnused
|
||||
lsof # lsof # for ROOT (>=6.28)
|
||||
lsof # lsof
|
||||
man
|
||||
which
|
||||
]}"
|
||||
|
@ -1,33 +1,19 @@
|
||||
{ fetchsvn, lib, stdenv, cmake, qt4, libGLU, libGL }:
|
||||
{ stdenv, fetchFromGitLab, lib, cmake, qtbase, qttools, qtcharts, libGLU, libGL, glm, glew, wrapQtAppsHook }:
|
||||
|
||||
# ViTE 1.1 has several bugs, so use the SVN version.
|
||||
let
|
||||
rev = "1543";
|
||||
externals = fetchsvn {
|
||||
url = "svn://scm.gforge.inria.fr/svn/vite/externals";
|
||||
sha256 = "1a422n3dp72v4visq5b1i21cf8sj12903sgg5v2hah3sgk02dnyz";
|
||||
inherit rev;
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vite";
|
||||
version = "1.2pre${rev}";
|
||||
version = "unstable-2022-05-17";
|
||||
|
||||
src = fetchsvn {
|
||||
url = "svn://scm.gforge.inria.fr/svn/vite/trunk";
|
||||
sha256 = "02479dv96h29d0w0svp42mjjrxhmv8lkkqp30w7mlx5gr2g0v7lf";
|
||||
inherit rev;
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.inria.fr";
|
||||
owner = "solverstack";
|
||||
repo = pname;
|
||||
rev = "6d497cc519fac623e595bd174e392939c4de845c";
|
||||
hash = "sha256-Yf2jYALZplIXzVtd/sg6gzEYrZ+oU0zLG1ETd/hiTi0=";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
rm -rv externals
|
||||
ln -sv "${externals}" externals
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ qt4 libGLU libGL ];
|
||||
|
||||
NIX_LDFLAGS = "-lGLU";
|
||||
nativeBuildInputs = [ cmake qttools wrapQtAppsHook ];
|
||||
buildInputs = [ qtbase qtcharts libGLU libGL glm glew ];
|
||||
|
||||
meta = {
|
||||
description = "Visual Trace Explorer (ViTE), a tool to visualize execution traces";
|
||||
|
369
pkgs/applications/system/asusctl/Cargo.lock
generated
369
pkgs/applications/system/asusctl/Cargo.lock
generated
@ -89,9 +89,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "addr2line"
|
||||
version = "0.20.0"
|
||||
version = "0.21.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3"
|
||||
checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
|
||||
dependencies = [
|
||||
"gimli",
|
||||
]
|
||||
@ -115,18 +115,18 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "aho-corasick"
|
||||
version = "1.0.2"
|
||||
version = "1.0.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
|
||||
checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "android-activity"
|
||||
version = "0.4.2"
|
||||
version = "0.4.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "40bc1575e653f158cbdc6ebcd917b9564e66321c5325c232c3591269c257be69"
|
||||
checksum = "64529721f27c2314ced0890ce45e469574a73e5e6fdd6e9da1860eb29285f5e0"
|
||||
dependencies = [
|
||||
"android-properties",
|
||||
"bitflags 1.3.2",
|
||||
@ -163,9 +163,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.72"
|
||||
version = "1.0.75"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
|
||||
checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
|
||||
|
||||
[[package]]
|
||||
name = "arboard"
|
||||
@ -199,7 +199,7 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
|
||||
|
||||
[[package]]
|
||||
name = "asusctl"
|
||||
version = "4.7.0-RC3"
|
||||
version = "4.7.1"
|
||||
dependencies = [
|
||||
"asusd",
|
||||
"cargo-husky",
|
||||
@ -218,7 +218,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "asusd"
|
||||
version = "4.7.0-RC3"
|
||||
version = "4.7.1"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"cargo-husky",
|
||||
@ -242,7 +242,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "asusd-user"
|
||||
version = "4.7.0-RC3"
|
||||
version = "4.7.1"
|
||||
dependencies = [
|
||||
"cargo-husky",
|
||||
"config-traits",
|
||||
@ -323,15 +323,15 @@ dependencies = [
|
||||
"polling",
|
||||
"rustix 0.37.23",
|
||||
"slab",
|
||||
"socket2",
|
||||
"socket2 0.4.9",
|
||||
"waker-fn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "async-lock"
|
||||
version = "2.7.0"
|
||||
version = "2.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7"
|
||||
checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
|
||||
dependencies = [
|
||||
"event-listener",
|
||||
]
|
||||
@ -374,7 +374,7 @@ checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.27",
|
||||
"syn 2.0.29",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -385,13 +385,13 @@ checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae"
|
||||
|
||||
[[package]]
|
||||
name = "async-trait"
|
||||
version = "0.1.72"
|
||||
version = "0.1.73"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09"
|
||||
checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.27",
|
||||
"syn 2.0.29",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -426,9 +426,9 @@ checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3"
|
||||
|
||||
[[package]]
|
||||
name = "atomic_refcell"
|
||||
version = "0.1.10"
|
||||
version = "0.1.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "79d6dc922a2792b006573f60b2648076355daeae5ce9cb59507e5908c9625d31"
|
||||
checksum = "112ef6b3f6cb3cb6fc5b6b494ef7a848492cff1ab0ef4de10b0f7d572861c905"
|
||||
|
||||
[[package]]
|
||||
name = "atspi"
|
||||
@ -471,9 +471,9 @@ checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973"
|
||||
|
||||
[[package]]
|
||||
name = "backtrace"
|
||||
version = "0.3.68"
|
||||
version = "0.3.69"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12"
|
||||
checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
|
||||
dependencies = [
|
||||
"addr2line",
|
||||
"cc",
|
||||
@ -486,9 +486,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "base64"
|
||||
version = "0.13.1"
|
||||
version = "0.21.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
|
||||
checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d"
|
||||
|
||||
[[package]]
|
||||
name = "bindgen"
|
||||
@ -518,9 +518,12 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "2.3.3"
|
||||
version = "2.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
|
||||
checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "block"
|
||||
@ -594,7 +597,7 @@ checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.27",
|
||||
"syn 2.0.29",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -656,11 +659,12 @@ checksum = "7b02b629252fe8ef6460461409564e2c21d0c8e77e0944f3d189ff06c4e932ad"
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.0.79"
|
||||
version = "1.0.83"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
|
||||
checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
|
||||
dependencies = [
|
||||
"jobserver",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -680,9 +684,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "cfg-expr"
|
||||
version = "0.15.3"
|
||||
version = "0.15.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "215c0072ecc28f92eeb0eea38ba63ddfcb65c2828c46311d646f1a3ff5f9841c"
|
||||
checksum = "b40ccee03b5175c18cde8f37e7d2a33bcef6f8ec8f7cc0d81090d1bb380949c9"
|
||||
dependencies = [
|
||||
"smallvec",
|
||||
"target-lexicon",
|
||||
@ -767,7 +771,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f76990911f2267d837d9d0ad060aa63aaad170af40904b29461734c339030d4d"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"syn 2.0.27",
|
||||
"syn 2.0.29",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -781,7 +785,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "config-traits"
|
||||
version = "4.7.0-RC3"
|
||||
version = "4.7.1"
|
||||
dependencies = [
|
||||
"cargo-husky",
|
||||
"log",
|
||||
@ -869,6 +873,12 @@ dependencies = [
|
||||
"typenum",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "deranged"
|
||||
version = "0.3.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946"
|
||||
|
||||
[[package]]
|
||||
name = "derivative"
|
||||
version = "2.2.0"
|
||||
@ -1079,7 +1089,7 @@ checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.27",
|
||||
"syn 2.0.29",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1119,9 +1129,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
|
||||
|
||||
[[package]]
|
||||
name = "errno"
|
||||
version = "0.3.1"
|
||||
version = "0.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
|
||||
checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f"
|
||||
dependencies = [
|
||||
"errno-dragonfly",
|
||||
"libc",
|
||||
@ -1190,9 +1200,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "flate2"
|
||||
version = "1.0.26"
|
||||
version = "1.0.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
|
||||
checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010"
|
||||
dependencies = [
|
||||
"crc32fast",
|
||||
"miniz_oxide 0.7.1",
|
||||
@ -1286,7 +1296,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.27",
|
||||
"syn 2.0.29",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1420,9 +1430,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "gimli"
|
||||
version = "0.27.3"
|
||||
version = "0.28.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
|
||||
checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
|
||||
|
||||
[[package]]
|
||||
name = "gio"
|
||||
@ -1544,9 +1554,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "glutin"
|
||||
version = "0.30.9"
|
||||
version = "0.30.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "23b0385782048be65f0a9dd046c469d6a758a53fe1aa63a8111dea394d2ffa2f"
|
||||
checksum = "8fc93b03242719b8ad39fb26ed2b01737144ce7bd4bfc7adadcef806596760fe"
|
||||
dependencies = [
|
||||
"bitflags 1.3.2",
|
||||
"cfg_aliases",
|
||||
@ -1579,9 +1589,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "glutin_egl_sys"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1b3bcbddc51573b977fc6dca5d93867e4f29682cdbaf5d13e48f4fa4346d4d87"
|
||||
checksum = "af784eb26c5a68ec85391268e074f0aa618c096eadb5d6330b0911cf34fe57c5"
|
||||
dependencies = [
|
||||
"gl_generator",
|
||||
"windows-sys 0.45.0",
|
||||
@ -1776,9 +1786,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "inotify"
|
||||
version = "0.10.1"
|
||||
version = "0.10.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ff335215fb898bf09c45833b657233d8c0b699a616d7dd64d0513080da270ab6"
|
||||
checksum = "fdd168d97690d0b8c412d6b6c10360277f4d7ee495c5d0d5d5fe0854923255cc"
|
||||
dependencies = [
|
||||
"bitflags 1.3.2",
|
||||
"futures-core",
|
||||
@ -1826,7 +1836,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
|
||||
dependencies = [
|
||||
"hermit-abi",
|
||||
"rustix 0.38.4",
|
||||
"rustix 0.38.9",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
@ -1983,9 +1993,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
|
||||
|
||||
[[package]]
|
||||
name = "linux-raw-sys"
|
||||
version = "0.4.3"
|
||||
version = "0.4.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
|
||||
checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
|
||||
|
||||
[[package]]
|
||||
name = "lock_api"
|
||||
@ -1999,15 +2009,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "log"
|
||||
version = "0.4.19"
|
||||
version = "0.4.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
|
||||
checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
|
||||
|
||||
[[package]]
|
||||
name = "logind-zbus"
|
||||
version = "3.1.1"
|
||||
version = "3.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "14b36b364be05220b24411a1c1a1ee4df0ba77b09c9880e70e5f4c16ebdec157"
|
||||
checksum = "c07a2542f6e91ea92780158654852190edb2ba0b232d9d00d649d0c691cb7eb3"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"zbus",
|
||||
@ -2015,9 +2025,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mac-notification-sys"
|
||||
version = "0.5.8"
|
||||
version = "0.5.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "abc434554ad0e640d772f7f262aa28e61d485212533d3673abe5f3d1729bd42a"
|
||||
checksum = "9402858e87f85f88bf518bd2e68450640df1c99b1ddb3ea28c4d5d823bb54cdd"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"dirs-next",
|
||||
@ -2274,7 +2284,7 @@ dependencies = [
|
||||
"proc-macro-crate",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.27",
|
||||
"syn 2.0.29",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -2340,9 +2350,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "object"
|
||||
version = "0.31.1"
|
||||
version = "0.32.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1"
|
||||
checksum = "77ac5bbd07aea88c60a577a1ce218075ffd59208b2d7ca97adf9bfc5aeb21ebe"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
@ -2355,9 +2365,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
|
||||
|
||||
[[package]]
|
||||
name = "orbclient"
|
||||
version = "0.3.45"
|
||||
version = "0.3.46"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "221d488cd70617f1bd599ed8ceb659df2147d9393717954d82a0f5e8032a6ab1"
|
||||
checksum = "8378ac0dfbd4e7895f2d2c1f1345cab3836910baf3a300b000d04250f0c8428f"
|
||||
dependencies = [
|
||||
"redox_syscall 0.3.5",
|
||||
]
|
||||
@ -2433,7 +2443,7 @@ dependencies = [
|
||||
"libc",
|
||||
"redox_syscall 0.3.5",
|
||||
"smallvec",
|
||||
"windows-targets 0.48.1",
|
||||
"windows-targets 0.48.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -2456,9 +2466,9 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
|
||||
|
||||
[[package]]
|
||||
name = "pin-project-lite"
|
||||
version = "0.2.10"
|
||||
version = "0.2.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
|
||||
checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
|
||||
|
||||
[[package]]
|
||||
name = "pin-utils"
|
||||
@ -2480,9 +2490,9 @@ checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
|
||||
|
||||
[[package]]
|
||||
name = "png"
|
||||
version = "0.17.9"
|
||||
version = "0.17.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "59871cc5b6cce7eaccca5a802b4173377a1c2ba90654246789a8fa2334426d11"
|
||||
checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
|
||||
dependencies = [
|
||||
"bitflags 1.3.2",
|
||||
"crc32fast",
|
||||
@ -2577,9 +2587,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.32"
|
||||
version = "1.0.33"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
|
||||
checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
@ -2651,9 +2661,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.9.1"
|
||||
version = "1.9.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
|
||||
checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
@ -2663,9 +2673,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "regex-automata"
|
||||
version = "0.3.3"
|
||||
version = "0.3.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
|
||||
checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
@ -2680,7 +2690,7 @@ checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
|
||||
|
||||
[[package]]
|
||||
name = "rog-control-center"
|
||||
version = "4.7.0-RC3"
|
||||
version = "4.7.1"
|
||||
dependencies = [
|
||||
"asusd",
|
||||
"cargo-husky",
|
||||
@ -2713,7 +2723,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rog_anime"
|
||||
version = "4.7.0-RC3"
|
||||
version = "4.7.1"
|
||||
dependencies = [
|
||||
"cargo-husky",
|
||||
"gif",
|
||||
@ -2730,7 +2740,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rog_aura"
|
||||
version = "4.7.0-RC3"
|
||||
version = "4.7.1"
|
||||
dependencies = [
|
||||
"cargo-husky",
|
||||
"log",
|
||||
@ -2744,7 +2754,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rog_dbus"
|
||||
version = "4.7.0-RC3"
|
||||
version = "4.7.1"
|
||||
dependencies = [
|
||||
"cargo-husky",
|
||||
"rog_anime",
|
||||
@ -2756,7 +2766,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rog_platform"
|
||||
version = "4.7.0-RC3"
|
||||
version = "4.7.1"
|
||||
dependencies = [
|
||||
"cargo-husky",
|
||||
"concat-idents",
|
||||
@ -2769,26 +2779,26 @@ dependencies = [
|
||||
"serde_derive",
|
||||
"sysfs-class",
|
||||
"typeshare",
|
||||
"udev 0.7.0",
|
||||
"udev",
|
||||
"zbus",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rog_profiles"
|
||||
version = "4.7.0-RC3"
|
||||
version = "4.7.1"
|
||||
dependencies = [
|
||||
"cargo-husky",
|
||||
"log",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"typeshare",
|
||||
"udev 0.7.0",
|
||||
"udev",
|
||||
"zbus",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rog_simulators"
|
||||
version = "4.7.0-RC3"
|
||||
version = "4.7.1"
|
||||
dependencies = [
|
||||
"glam",
|
||||
"log",
|
||||
@ -2799,20 +2809,21 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ron"
|
||||
version = "0.8.0"
|
||||
version = "0.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "300a51053b1cb55c80b7a9fde4120726ddf25ca241a1cbb926626f62fb136bff"
|
||||
checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94"
|
||||
dependencies = [
|
||||
"base64",
|
||||
"bitflags 1.3.2",
|
||||
"bitflags 2.4.0",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rusb"
|
||||
version = "0.9.2"
|
||||
version = "0.9.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "44a8c36914f9b1a3be712c1dfa48c9b397131f9a75707e570a391735f785c5d1"
|
||||
checksum = "45fff149b6033f25e825cbb7b2c625a11ee8e6dac09264d49beb125e39aa97bf"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"libusb1-sys",
|
||||
@ -2855,14 +2866,14 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rustix"
|
||||
version = "0.38.4"
|
||||
version = "0.38.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
|
||||
checksum = "9bfe0f2582b4931a45d1fa608f8a8722e8b3c7ac54dd6d5f3b3212791fedef49"
|
||||
dependencies = [
|
||||
"bitflags 2.3.3",
|
||||
"bitflags 2.4.0",
|
||||
"errno",
|
||||
"libc",
|
||||
"linux-raw-sys 0.4.3",
|
||||
"linux-raw-sys 0.4.5",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
@ -2937,29 +2948,29 @@ checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.174"
|
||||
version = "1.0.188"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3b88756493a5bd5e5395d53baa70b194b05764ab85b59e43e4b8f4e1192fa9b1"
|
||||
checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.174"
|
||||
version = "1.0.188"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6e5c3a298c7f978e53536f95a63bdc4c4a64550582f31a0359a9afda6aede62e"
|
||||
checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.27",
|
||||
"syn 2.0.29",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.103"
|
||||
version = "1.0.105"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
|
||||
checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"ryu",
|
||||
@ -2968,13 +2979,13 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "serde_repr"
|
||||
version = "0.1.15"
|
||||
version = "0.1.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e168eaaf71e8f9bd6037feb05190485708e019f4fd87d161b3c0a0d37daf85e5"
|
||||
checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.27",
|
||||
"syn 2.0.29",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -3024,15 +3035,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "simd-adler32"
|
||||
version = "0.3.5"
|
||||
version = "0.3.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "238abfbb77c1915110ad968465608b68e869e0772622c9656714e73e5a1a522f"
|
||||
checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
|
||||
|
||||
[[package]]
|
||||
name = "slab"
|
||||
version = "0.4.8"
|
||||
version = "0.4.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
|
||||
checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
@ -3108,6 +3119,16 @@ dependencies = [
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "socket2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "static_assertions"
|
||||
version = "1.1.0"
|
||||
@ -3128,8 +3149,8 @@ checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731"
|
||||
|
||||
[[package]]
|
||||
name = "supergfxctl"
|
||||
version = "5.1.1"
|
||||
source = "git+https://gitlab.com/asus-linux/supergfxctl.git#fcba63b1a29284fc76da65e60751a33b81380259"
|
||||
version = "5.1.2"
|
||||
source = "git+https://gitlab.com/asus-linux/supergfxctl.git#c2a1bb3461c7abbcdabecdc463d668555120f953"
|
||||
dependencies = [
|
||||
"log",
|
||||
"logind-zbus",
|
||||
@ -3137,7 +3158,7 @@ dependencies = [
|
||||
"serde_derive",
|
||||
"serde_json",
|
||||
"tokio",
|
||||
"udev 0.6.3",
|
||||
"udev",
|
||||
"zbus",
|
||||
]
|
||||
|
||||
@ -3154,9 +3175,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.27"
|
||||
version = "2.0.29"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0"
|
||||
checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@ -3187,9 +3208,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "systemd-zbus"
|
||||
version = "0.1.0"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "abba675e441b13248eaf74f1acfacf64adc7b5c030f2f3ff66cc7e02b9a0c417"
|
||||
checksum = "ffbb1b6ea6d96b14a7e94532711efc4106337fe8b1d6bdf8ba5318012a9fa7e3"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"zbus",
|
||||
@ -3197,9 +3218,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "target-lexicon"
|
||||
version = "0.12.10"
|
||||
version = "0.12.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1d2faeef5759ab89935255b1a4cd98e0baf99d1085e37d36599c625dac49ae8e"
|
||||
checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
|
||||
|
||||
[[package]]
|
||||
name = "tauri-winrt-notification"
|
||||
@ -3213,14 +3234,14 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "tempfile"
|
||||
version = "3.7.0"
|
||||
version = "3.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998"
|
||||
checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"fastrand 2.0.0",
|
||||
"redox_syscall 0.3.5",
|
||||
"rustix 0.38.4",
|
||||
"rustix 0.38.9",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
@ -3235,30 +3256,31 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "thiserror"
|
||||
version = "1.0.44"
|
||||
version = "1.0.47"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90"
|
||||
checksum = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f"
|
||||
dependencies = [
|
||||
"thiserror-impl",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror-impl"
|
||||
version = "1.0.44"
|
||||
version = "1.0.47"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96"
|
||||
checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.27",
|
||||
"syn 2.0.29",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "time"
|
||||
version = "0.3.23"
|
||||
version = "0.3.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446"
|
||||
checksum = "0bb39ee79a6d8de55f48f2293a830e040392f1c5f16e336bdd1788cd0aadce07"
|
||||
dependencies = [
|
||||
"deranged",
|
||||
"serde",
|
||||
"time-core",
|
||||
]
|
||||
@ -3320,17 +3342,16 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
|
||||
|
||||
[[package]]
|
||||
name = "tokio"
|
||||
version = "1.29.1"
|
||||
version = "1.32.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
|
||||
checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"backtrace",
|
||||
"libc",
|
||||
"mio",
|
||||
"num_cpus",
|
||||
"pin-project-lite",
|
||||
"socket2",
|
||||
"socket2 0.5.3",
|
||||
"tokio-macros",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
@ -3343,7 +3364,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.27",
|
||||
"syn 2.0.29",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -3386,7 +3407,7 @@ dependencies = [
|
||||
"serde",
|
||||
"serde_spanned",
|
||||
"toml_datetime",
|
||||
"winnow 0.5.0",
|
||||
"winnow",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -3409,7 +3430,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.27",
|
||||
"syn 2.0.29",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -3455,17 +3476,6 @@ dependencies = [
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "udev"
|
||||
version = "0.6.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1c960764f7e816eed851a96c364745d37f9fe71a2e7dba79fbd40104530b5dd0"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"libudev-sys",
|
||||
"pkg-config",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "udev"
|
||||
version = "0.7.0"
|
||||
@ -3758,9 +3768,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "webbrowser"
|
||||
version = "0.8.10"
|
||||
version = "0.8.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fd222aa310eb7532e3fd427a5d7db7e44bc0b0cf1c1e21139c345325511a85b6"
|
||||
checksum = "b2c79b77f525a2d670cb40619d7d9c673d09e0666f72c591ebd7861f84a87e57"
|
||||
dependencies = [
|
||||
"core-foundation",
|
||||
"home",
|
||||
@ -3849,7 +3859,7 @@ version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
|
||||
dependencies = [
|
||||
"windows-targets 0.48.1",
|
||||
"windows-targets 0.48.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -3889,7 +3899,7 @@ version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
|
||||
dependencies = [
|
||||
"windows-targets 0.48.1",
|
||||
"windows-targets 0.48.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -3909,17 +3919,17 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.48.1"
|
||||
version = "0.48.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
|
||||
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm 0.48.0",
|
||||
"windows_aarch64_msvc 0.48.0",
|
||||
"windows_i686_gnu 0.48.0",
|
||||
"windows_i686_msvc 0.48.0",
|
||||
"windows_x86_64_gnu 0.48.0",
|
||||
"windows_x86_64_gnullvm 0.48.0",
|
||||
"windows_x86_64_msvc 0.48.0",
|
||||
"windows_aarch64_gnullvm 0.48.5",
|
||||
"windows_aarch64_msvc 0.48.5",
|
||||
"windows_i686_gnu 0.48.5",
|
||||
"windows_i686_msvc 0.48.5",
|
||||
"windows_x86_64_gnu 0.48.5",
|
||||
"windows_x86_64_gnullvm 0.48.5",
|
||||
"windows_x86_64_msvc 0.48.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -3930,9 +3940,9 @@ checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_gnullvm"
|
||||
version = "0.48.0"
|
||||
version = "0.48.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
|
||||
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
@ -3948,9 +3958,9 @@ checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.48.0"
|
||||
version = "0.48.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
|
||||
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
@ -3966,9 +3976,9 @@ checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.48.0"
|
||||
version = "0.48.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
|
||||
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
@ -3984,9 +3994,9 @@ checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.48.0"
|
||||
version = "0.48.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
|
||||
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
@ -4002,9 +4012,9 @@ checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.48.0"
|
||||
version = "0.48.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
|
||||
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
@ -4014,9 +4024,9 @@ checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.48.0"
|
||||
version = "0.48.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
|
||||
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
@ -4032,9 +4042,9 @@ checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.48.0"
|
||||
version = "0.48.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
|
||||
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
|
||||
|
||||
[[package]]
|
||||
name = "winit"
|
||||
@ -4073,18 +4083,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "winnow"
|
||||
version = "0.4.1"
|
||||
version = "0.5.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ae8970b36c66498d8ff1d66685dc86b91b29db0c7739899012f63a63814b4b28"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winnow"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "81fac9742fd1ad1bd9643b991319f72dd031016d44b77039a26977eb667141e7"
|
||||
checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
@ -4149,9 +4150,9 @@ checksum = "47430998a7b5d499ccee752b41567bc3afc57e1327dc855b1a2aa44ce29b5fa1"
|
||||
|
||||
[[package]]
|
||||
name = "zbus"
|
||||
version = "3.13.1"
|
||||
version = "3.14.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6c3d77c9966c28321f1907f0b6c5a5561189d1f7311eea6d94180c6be9daab29"
|
||||
checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948"
|
||||
dependencies = [
|
||||
"async-broadcast",
|
||||
"async-executor",
|
||||
@ -4162,6 +4163,7 @@ dependencies = [
|
||||
"async-recursion",
|
||||
"async-task",
|
||||
"async-trait",
|
||||
"blocking",
|
||||
"byteorder",
|
||||
"derivative",
|
||||
"enumflags2",
|
||||
@ -4189,16 +4191,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "zbus_macros"
|
||||
version = "3.13.1"
|
||||
version = "3.14.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f6e341d12edaff644e539ccbbf7f161601294c9a84ed3d7e015da33155b435af"
|
||||
checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d"
|
||||
dependencies = [
|
||||
"proc-macro-crate",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"regex",
|
||||
"syn 1.0.109",
|
||||
"winnow 0.4.1",
|
||||
"zvariant_utils",
|
||||
]
|
||||
|
||||
|
@ -13,13 +13,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "asusctl";
|
||||
version = "4.7.0";
|
||||
version = "4.7.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "asus-linux";
|
||||
repo = "asusctl";
|
||||
rev = version;
|
||||
hash = "sha256-SZijR9PotN0O72laj+FBSCVMXLXadmLRhCSD4XqobD0=";
|
||||
hash = "sha256-T/KAhKoxZRdbJspL+Fkos6YqVhiUxCtxbCSm+8CX1to=";
|
||||
};
|
||||
|
||||
cargoHash = "";
|
||||
@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
|
||||
outputHashes = {
|
||||
"ecolor-0.21.0" = "sha256-m7eHX6flwO21umtx3dnIuVUnNsEs3ZCyOk5Vvp/lVfI=";
|
||||
"notify-rust-4.6.0" = "sha256-jhCgisA9f6AI9e9JQUYRtEt47gQnDv5WsdRKFoKvHJs=";
|
||||
"supergfxctl-5.1.1" = "sha256-H00QHNILEjOtavXdj4Jd+rdLprJpVSlSVV3qkTeknzQ=";
|
||||
"supergfxctl-5.1.2" = "sha256-1XCIltd7o+Bc+UXmeuPAXdPKU86UP0p+Qh0gTZyrbH8=";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -7,13 +7,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "gex";
|
||||
version = "0.6.2";
|
||||
version = "0.6.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Piturnah";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-iCK3fiVchbfQh5JPHzBN/b24dkoXKW5dJdCsyoG0Kvw=";
|
||||
hash = "sha256-ADVF+Kb0DDiR3dS43uzhefFFEg1O8IC22i5fmziEp6I=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec {
|
||||
libgit2_1_6
|
||||
];
|
||||
|
||||
cargoHash = "sha256-5w8VzYoevWesMGQJe4rDbugCFQrE1LDNb69CaJ2bQ0w=";
|
||||
cargoHash = "sha256-XBBZ56jvBtYI5J/sSc4ckk/KXzCHNgM9A4jGolGKh2E=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Git Explorer: cross-platform git workflow improvement tool inspired by Magit";
|
||||
|
@ -4,13 +4,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "git-repo";
|
||||
version = "2.36";
|
||||
version = "2.36.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "android";
|
||||
repo = "tools_repo";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-TCCVdPhrR4NWwqNjEAySSsiW2D7gCdLAiD+UeuvBJvI=";
|
||||
hash = "sha256-jq9Frh3rufI9Q3auh2Qfoo89x+jKsbxBB8ojreVgmjc=";
|
||||
};
|
||||
|
||||
# Fix 'NameError: name 'ssl' is not defined'
|
||||
|
@ -6,26 +6,33 @@
|
||||
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
pname = "git-up";
|
||||
version = "1.6.1";
|
||||
version = "2.2.0";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0gs791yb0cndg9879vayvcj329jwhzpk6wrf9ri12l5hg8g490za";
|
||||
pname = "git_up";
|
||||
inherit version;
|
||||
hash = "sha256-GTX2IWLQ48yWfPnmtEa9HJ5umQLttqgTlgZQlaWgeE4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with pythonPackages; [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
# git should be on path for tool to work correctly
|
||||
propagatedBuildInputs = [
|
||||
git
|
||||
] ++ (with pythonPackages; [
|
||||
click
|
||||
colorama
|
||||
docopt
|
||||
gitpython
|
||||
six
|
||||
termcolor
|
||||
]);
|
||||
|
||||
nativeCheckInputs = [ git pythonPackages.nose ]; # git needs to be on path
|
||||
nativeCheckInputs = [
|
||||
git
|
||||
pythonPackages.pytestCheckHook
|
||||
];
|
||||
|
||||
# 1. git fails to run as it cannot detect the email address, so we set it
|
||||
# 2. $HOME is by default not a valid dir, so we have to set that too
|
||||
# https://github.com/NixOS/nixpkgs/issues/12591
|
||||
|
@ -2,20 +2,21 @@
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, stdenv
|
||||
, nix-update-script
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kraftkit";
|
||||
version = "0.6.4";
|
||||
version = "0.6.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "unikraft";
|
||||
repo = "kraftkit";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-+aZrJqxgPGIoWEW4PZj6Nib7Z49HitxqMbeoyIe14iM=";
|
||||
hash = "sha256-3dI3F1cCeLEOd+zusWUDZWLrVaaKHXzwOL/mF/yPZC8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-4V7GTqCDSHybuwIrnmO1MJ+DwMpkKOdA7UC72YJqStM=";
|
||||
vendorHash = "sha256-4zciooCUNVLTQ/0tctqV3hExR5vRY5VumHzGtL8xdws=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
@ -25,6 +26,12 @@ buildGoModule rec {
|
||||
|
||||
subPackages = [ "cmd/kraft" ];
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script {
|
||||
extraArgs = [ "--version-regex" "^v([0-9.]+)" ];
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Build and use highly customized and ultra-lightweight unikernel VMs";
|
||||
homepage = "https://github.com/unikraft/kraftkit";
|
||||
|
@ -47,11 +47,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
+ lib.optionalString xenSupport "-xen"
|
||||
+ lib.optionalString hostCpuOnly "-host-cpu-only"
|
||||
+ lib.optionalString nixosTestRunner "-for-vm-tests";
|
||||
version = "8.0.4";
|
||||
version = "8.1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.qemu.org/qemu-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-gcgX3aOK+Vi+W+8abPVbZYuy0/uHwealcd5reyxEUWw=";
|
||||
hash = "sha256-cQwQEZjjNNR2Lu9l9km8Q/qKXddTA1VLis/sPrJfDlU=";
|
||||
};
|
||||
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ]
|
||||
@ -153,9 +153,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"--enable-tools"
|
||||
"--localstatedir=/var"
|
||||
"--sysconfdir=/etc"
|
||||
# Always use our Meson, not the bundled version, which doesn't
|
||||
# have our patches and will be subtly broken because of that.
|
||||
"--meson=meson"
|
||||
"--cross-prefix=${stdenv.cc.targetPrefix}"
|
||||
(lib.enableFeature guestAgentSupport "guest-agent")
|
||||
] ++ lib.optional numaSupport "--enable-numa"
|
||||
@ -219,6 +216,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
# point tests towards correct binaries
|
||||
substituteInPlace ../tests/unit/test-qga.c \
|
||||
--replace '/bin/bash' "$(type -P bash)" \
|
||||
--replace '/bin/echo' "$(type -P echo)"
|
||||
substituteInPlace ../tests/unit/test-io-channel-command.c \
|
||||
--replace '/bin/socat' "$(type -P socat)"
|
||||
|
@ -7,20 +7,20 @@ let
|
||||
apptainer = callPackage
|
||||
(import ./generic.nix rec {
|
||||
pname = "apptainer";
|
||||
version = "1.1.7";
|
||||
version = "1.2.2";
|
||||
projectName = "apptainer";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "apptainer";
|
||||
repo = "apptainer";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-3F8qwP27IXcnnEYMnLzkCOxQDx7yej6QIZ40Wb5pk34=";
|
||||
hash = "sha256-CpNuoG+QykP+HDCyFuIbZKYez5XnYrE75SWFoWu34rg=";
|
||||
};
|
||||
|
||||
# Update by running
|
||||
# nix-prefetch -E "{ sha256 }: ((import ./. { }).apptainer.override { vendorHash = sha256; }).goModules"
|
||||
# at the root directory of the Nixpkgs repository
|
||||
vendorHash = "sha256-PfFubgR/W1WBXIsRO+Kg7hA6ebeAcRiJlTlAZbnl19A=";
|
||||
vendorHash = "sha256-Y0gOqg+WGgssXGEYHc9IFwiIpkb3hetlQI89vseAQPc=";
|
||||
|
||||
extraDescription = " (previously known as Singularity)";
|
||||
extraMeta.homepage = "https://apptainer.org";
|
||||
@ -38,20 +38,20 @@ let
|
||||
singularity = callPackage
|
||||
(import ./generic.nix rec {
|
||||
pname = "singularity-ce";
|
||||
version = "3.11.1";
|
||||
version = "3.11.4";
|
||||
projectName = "singularity";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sylabs";
|
||||
repo = "singularity";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-gdgg6VN3Ily+2Remz6dZBhhfWIxyaBa4bIlFcgrA/uY=";
|
||||
hash = "sha256-v8iHbn2OzK/egP2Go76BI74iX8izfy2PM4Uo8LsE8FY=";
|
||||
};
|
||||
|
||||
# Update by running
|
||||
# nix-prefetch -E "{ sha256 }: ((import ./. { }).singularity.override { vendorHash = sha256; }).goModules"
|
||||
# at the root directory of the Nixpkgs repository
|
||||
vendorHash = "sha256-mBhlH6LSmcJuc6HbU/3Q9ii7vJkW9jcikBWCl8oeMOk=";
|
||||
vendorHash = "sha256-24Hnpq6LRh3JgaiJWCmHfJKoWLxsbceCdJutjPqZsX8=";
|
||||
|
||||
# Do not build conmon from the Git submodule source,
|
||||
# Use Nixpkgs provided version
|
||||
|
@ -1,4 +1,4 @@
|
||||
# given a pakcage with a $name.desktop file, makes a copy
|
||||
# given a package with a $name.desktop file, makes a copy
|
||||
# as autostart item.
|
||||
|
||||
{stdenv, lib}:
|
||||
|
@ -3,12 +3,12 @@
|
||||
let
|
||||
generator = pkgsBuildBuild.buildGoModule rec {
|
||||
pname = "v2ray-domain-list-community";
|
||||
version = "20230825070717";
|
||||
version = "20230902035830";
|
||||
src = fetchFromGitHub {
|
||||
owner = "v2fly";
|
||||
repo = "domain-list-community";
|
||||
rev = version;
|
||||
hash = "sha256-xB+8WhFnaQ8YD99FcihqI58R8fxiBAzQK5b4VVdWbMo=";
|
||||
hash = "sha256-xrx0+Zf9c5TYMWVKsAOJvI8x/ZoElnpjzLCPbkZjrzw=";
|
||||
};
|
||||
vendorHash = "sha256-dYaGR5ZBORANKAYuPAi9i+KQn2OAGDGTZxdyVjkcVi8=";
|
||||
meta = with lib; {
|
||||
|
@ -4,6 +4,7 @@
|
||||
, budgie-desktop-view
|
||||
, glib
|
||||
, gsettings-desktop-schemas
|
||||
, magpie
|
||||
, mate
|
||||
, nixos-artwork
|
||||
, nixos-background-light ? nixos-artwork.wallpapers.nineish
|
||||
@ -31,9 +32,15 @@ let
|
||||
document-font-name="Noto Sans 10"
|
||||
monospace-font-name="Hack 10"
|
||||
|
||||
[org.gnome.desktop.peripherals.touchpad:Budgie]
|
||||
tap-to-click=true
|
||||
|
||||
[org.gnome.desktop.wm.preferences:Budgie]
|
||||
titlebar-font="Noto Sans Bold 10"
|
||||
|
||||
[org.gnome.mutter:Budgie]
|
||||
edge-tiling=true
|
||||
|
||||
[com.solus-project.budgie-menu:Budgie]
|
||||
use-default-menu-icon=true
|
||||
|
||||
@ -56,6 +63,7 @@ let
|
||||
budgie-desktop
|
||||
budgie-desktop-view
|
||||
gsettings-desktop-schemas
|
||||
magpie
|
||||
] ++ extraGSettingsOverridePackages;
|
||||
|
||||
in
|
||||
|
@ -7,16 +7,16 @@ let
|
||||
arch = if stdenv.isAarch64 then "arm64" else "x86_64";
|
||||
hashes =
|
||||
{
|
||||
"x86_64-linux" = "443a763487366fa960120bfe193441e6bbe86fdb31baeed7dbb17d410dee0522";
|
||||
"aarch64-linux" = "f11bec3b094df0c0958a8f1e07af5570199e671a882ad5fe979f1e7e482e986d";
|
||||
"x86_64-darwin" = "d05a88d13e240fdbc1bf64bd1a4a9ec4d3d53c95961bb9e338449b856df91853";
|
||||
"aarch64-darwin" = "bb105e7aebae3c637b761017c6fb49d9696eba1022f27ec594aac9c2dbffd907";
|
||||
"x86_64-linux" = "b13110bacc3f71c2a3e12c52172a821a85cc13243a95249ca18c8beb296c0ce8";
|
||||
"aarch64-linux" = "afbc71f0570b86215942d1b4207fe3de0299e6fdfd2e6caac78bf688c81b9bd1";
|
||||
"x86_64-darwin" = "50a3df09b02b34e1653beb1507c6de0f332674e088ded7c66af4e5987753304e";
|
||||
"aarch64-darwin" = "174a5bfec355361c4f030861405513818be25fd7e4325f7221aa71ebd27475d3";
|
||||
};
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lamdera";
|
||||
version = "1.1.0";
|
||||
version = "1.2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://static.lamdera.com/bin/lamdera-${version}-${os}-${arch}";
|
||||
|
@ -1,63 +0,0 @@
|
||||
{ lib, stdenv, fetchgit, qt4, ecl, xorgserver, xkbcomp, xkeyboard_config }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "unstable-2012-12-10";
|
||||
pname = "eql";
|
||||
src = fetchgit {
|
||||
rev = "9097bf98446ee33c07bb155d800395775ce0d9b2";
|
||||
url = "https://gitlab.com/eql/eql.git";
|
||||
sha256 = "17h23qr7fyr9hvjgiq0yhacmjs43x06vh8978aq42ymcgipxdcww";
|
||||
};
|
||||
|
||||
buildInputs = [ ecl qt4 xorgserver xkbcomp xkeyboard_config ];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-fPIC";
|
||||
|
||||
postPatch = ''
|
||||
sed -re 's@[(]in-home "gui/.command-history"[)]@(concatenate '"'"'string (ext:getenv "HOME") "/.eql-gui-command-history")@' -i gui/gui.lisp
|
||||
|
||||
# cl_def_c_function was renamed to ecl_def_c_function in ECL 20.4.24.
|
||||
find . -type f -exec sed -e 's/\scl_def_c_function(/ ecl_def_c_function(/' -i {} \;
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
cd src
|
||||
ecl -shell make-eql-lib.lisp
|
||||
qmake eql_lib.pro
|
||||
make
|
||||
cd ..
|
||||
|
||||
cd src
|
||||
qmake eql_exe.pro
|
||||
make
|
||||
cd ..
|
||||
cd src
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
cd ..
|
||||
mkdir -p $out/bin $out/lib/eql/ $out/include $out/include/gen $out/lib
|
||||
cp -r . $out/lib/eql/build-dir
|
||||
ln -s $out/lib/eql/build-dir/eql $out/bin
|
||||
ln -s $out/lib/eql/build-dir/src/*.h $out/include
|
||||
ln -s $out/lib/eql/build-dir/src/gen/*.h $out/include/gen
|
||||
ln -s $out/lib/eql/build-dir/libeql*.so* $out/lib
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Embedded Qt Lisp (ECL+Qt)";
|
||||
maintainers = with maintainers; [ raskin ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.mit;
|
||||
};
|
||||
|
||||
passthru = {
|
||||
updateInfo = {
|
||||
downloadPage = "http://password-taxi.at/EQL";
|
||||
method = "fetchgit";
|
||||
rev = src.rev;
|
||||
url = src.url;
|
||||
hash = src.sha256;
|
||||
};
|
||||
};
|
||||
}
|
@ -1,47 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, libpng
|
||||
, zlib
|
||||
, qt4
|
||||
, bison
|
||||
, flex
|
||||
, libGLU
|
||||
, python3Packages
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "seexpr";
|
||||
version = "3.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wdas";
|
||||
repo = "SeExpr";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-r6mgyb/FGz4KYZOgLDgmIqjO+PSmneD3KUWjymZXtEk=";
|
||||
};
|
||||
|
||||
cmakeFlags = [
|
||||
"-DENABLE_SSE4=OFF"
|
||||
# file RPATH_CHANGE could not write new RPATH
|
||||
"-DCMAKE_SKIP_BUILD_RPATH=ON"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ libGLU libpng zlib qt4 python3Packages.pyqt4 python3Packages.boost bison flex ];
|
||||
|
||||
# https://github.com/wdas/SeExpr/issues/106
|
||||
postPatch = ''
|
||||
substituteInPlace src/build/seexpr2.pc.in \
|
||||
--replace '$'{prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Embeddable expression evaluation engine from Disney Animation";
|
||||
homepage = "https://wdas.github.io/SeExpr/";
|
||||
maintainers = with maintainers; [ hodapp ];
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -11,17 +11,16 @@
|
||||
, capnproto
|
||||
, surelog
|
||||
, antlr4
|
||||
, flatbuffers
|
||||
, pkg-config
|
||||
}: let
|
||||
|
||||
version = "1.20230425";
|
||||
version = "1.20230808";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chipsalliance";
|
||||
repo = "yosys-f4pga-plugins";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-KNkmhvpKTby85P88+DqCOOGxIKpzbw5KF9ymqy40pfw=";
|
||||
hash = "sha256-wksAHLgLjVZE4Vk2QVcJN1mnQ9mxWCZHk55oO99cVJ0=";
|
||||
};
|
||||
|
||||
# Supported symbiflow plugins.
|
||||
|
@ -5,7 +5,7 @@ mkCoqDerivation {
|
||||
owner = "uwplse";
|
||||
inherit version;
|
||||
defaultVersion = with lib.versions; lib.switch coq.version [
|
||||
{ case = range "8.14" "8.17"; out = "20230107"; }
|
||||
{ case = range "8.14" "8.18"; out = "20230107"; }
|
||||
{ case = range "8.6" "8.16"; out = "20200201"; }
|
||||
] null;
|
||||
release."20230107".rev = "bad8ad2476e14df6b5a819b7aaddc27a7c53fb69";
|
||||
|
@ -5,7 +5,7 @@ mkCoqDerivation {
|
||||
owner = "fblanqui";
|
||||
inherit version;
|
||||
defaultVersion = with lib.versions; lib.switch coq.version [
|
||||
{case = range "8.14" "8.17"; out = "1.8.4"; }
|
||||
{case = range "8.14" "8.18"; out = "1.8.4"; }
|
||||
{case = range "8.12" "8.16"; out = "1.8.2"; }
|
||||
{case = range "8.10" "8.11"; out = "1.7.0"; }
|
||||
{case = range "8.8" "8.9"; out = "1.6.0"; }
|
||||
|
@ -6,19 +6,20 @@ mkCoqDerivation {
|
||||
owner = "HoTT";
|
||||
inherit version;
|
||||
defaultVersion = with lib.versions; lib.switch coq.coq-version [
|
||||
{ case = range "8.14" "8.17"; out = coq.coq-version; }
|
||||
{ case = range "8.14" "8.18"; out = coq.coq-version; }
|
||||
] null;
|
||||
releaseRev = v: "V${v}";
|
||||
release."8.14".sha256 = "sha256-7kXk2pmYsTNodHA+Qts3BoMsewvzmCbYvxw9Sgwyvq0=";
|
||||
release."8.15".sha256 = "sha256-JfeiRZVnrjn3SQ87y6dj9DWNwCzrkK3HBogeZARUn9g=";
|
||||
release."8.16".sha256 = "sha256-xcEbz4ZQ+U7mb0SEJopaczfoRc2GSgF2BGzUSWI0/HY=";
|
||||
release."8.17".sha256 = "sha256-GjTUpzL9UzJm4C2ilCaYEufLG3hcj7rJPc5Op+OMal8=";
|
||||
release."8.18".sha256 = "sha256-URoUoQOsG0432wg9i6pTRomWQZ+ewutq2+V29TBrVzc=";
|
||||
|
||||
# versions of HoTT for Coq 8.17 and onwards will use dune
|
||||
# opam-name = if lib.versions.isLe "8.17" coq.coq-version then "coq-hott" else null;
|
||||
opam-name = "coq-hott";
|
||||
useDune = lib.versions.isGe "8.17" coq.coq-version;
|
||||
|
||||
|
||||
patchPhase = ''
|
||||
patchShebangs etc
|
||||
'';
|
||||
|
@ -5,7 +5,7 @@ mkCoqDerivation {
|
||||
owner = "DistributedComponents";
|
||||
inherit version;
|
||||
defaultVersion = with lib.versions; lib.switch coq.version [
|
||||
{ case = range "8.9" "8.17"; out = "20230107"; }
|
||||
{ case = range "8.9" "8.18"; out = "20230107"; }
|
||||
{ case = range "8.5" "8.16"; out = "20200131"; }
|
||||
] null;
|
||||
release."20230107".rev = "601e89ec019501c48c27fcfc14b9a3c70456e408";
|
||||
|
@ -4,7 +4,7 @@ mkCoqDerivation {
|
||||
pname = "LibHyps";
|
||||
owner = "Matafou";
|
||||
inherit version;
|
||||
defaultVersion = if (lib.versions.range "8.11" "8.17") coq.version then "2.0.4.1" else null;
|
||||
defaultVersion = if (lib.versions.range "8.11" "8.18") coq.version then "2.0.4.1" else null;
|
||||
release = {
|
||||
"2.0.4.1".sha256 = "09p89701zhrfdmqlpxw3mziw8yylj1w1skb4b0xpbdwd1vsn4k3h";
|
||||
};
|
||||
|
@ -5,7 +5,7 @@ mkCoqDerivation {
|
||||
owner = "uwplse";
|
||||
inherit version;
|
||||
defaultVersion = with lib.versions; lib.switch coq.coq-version [
|
||||
{ case = range "8.9" "8.17"; out = "20230107"; }
|
||||
{ case = range "8.9" "8.18"; out = "20230107"; }
|
||||
{ case = range "8.6" "8.16"; out = "20210328"; }
|
||||
{ case = range "8.5" "8.13"; out = "20181102"; }
|
||||
] null;
|
||||
|
@ -6,7 +6,7 @@ mkCoqDerivation {
|
||||
owner = "uwplse";
|
||||
inherit version;
|
||||
defaultVersion = with lib.versions; lib.switch coq.coq-version [
|
||||
{ case = range "8.9" "8.17"; out = "20230503"; }
|
||||
{ case = range "8.9" "8.18"; out = "20230503"; }
|
||||
{ case = range "8.7" "8.16"; out = "20211026"; }
|
||||
{ case = range "8.7" "8.14"; out = "20210524"; }
|
||||
{ case = range "8.7" "8.13"; out = "20200131"; }
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user