Merge branch 'master' into staging-next

This commit is contained in:
Jan Tojnar 2020-03-31 21:32:15 +02:00
commit 3e0f4e202f
No known key found for this signature in database
GPG key ID: 7FAB2A15F7A607A4
359 changed files with 9618 additions and 2647 deletions

1
.gitignore vendored
View file

@ -11,6 +11,7 @@ result-*
.version-suffix
.DS_Store
.mypy_cache
/pkgs/development/libraries/qt-5/*/tmp/
/pkgs/desktops/kde-5/*/tmp/

View file

@ -302,6 +302,12 @@
githubId = 786394;
name = "Alexander Krupenkin ";
};
albakham = {
email = "dev@geber.ga";
github = "albakham";
githubId = 43479487;
name = "Titouan Biteau";
};
alexarice = {
email = "alexrice999@hotmail.co.uk";
github = "alexarice";
@ -412,10 +418,15 @@
githubId = 20530052;
name = "Andrew Miloradovsky";
};
aminb = {
email = "amin@aminb.org";
github = "aminb";
notbandali = {
name = "Amin Bandali";
email = "bandali@gnu.org";
github = "notbandali";
githubId = 1254858;
keys = [{
longkeyid = "rsa4096/0xA21A020248816103";
fingerprint = "BE62 7373 8E61 6D6D 1B3A 08E8 A21A 0202 4881 6103";
}];
};
aminechikhaoui = {
email = "amine.chikhaoui91@gmail.com";
@ -645,6 +656,12 @@
githubId = 10285250;
name = "Artur E. Ruuge";
};
asbachb = {
email = "asbachb-nixpkgs-5c2a@impl.it";
github = "asbachb";
githubId = 1482768;
name = "Benjamin Asbach";
};
ashalkhakov = {
email = "artyom.shalkhakov@gmail.com";
github = "ashalkhakov";
@ -4387,6 +4404,12 @@
github = "ltavard";
name = "Laure Tavard";
};
luc65r = {
email = "lucas@ransan.tk";
github = "luc65r";
githubId = 59375051;
name = "Lucas Ransan";
};
lucus16 = {
email = "lars.jellema@gmail.com";
github = "Lucus16";
@ -8327,6 +8350,10 @@
githubId = 474343;
name = "Xavier Zwirtz";
};
ymeister = {
name = "Yuri Meister";
email = "47071325+ymeister@users.noreply.github.com";
github = "ymeister";
githubId = 47071325;
};
}

View file

@ -102,10 +102,12 @@ def make_command(args: list) -> str:
def create_vlan(vlan_nr: str) -> Tuple[str, str, "subprocess.Popen[bytes]", Any]:
global log
log.log("starting VDE switch for network {}".format(vlan_nr))
vde_socket = os.path.abspath("./vde{}.ctl".format(vlan_nr))
vde_socket = tempfile.mkdtemp(
prefix="nixos-test-vde-", suffix="-vde{}.ctl".format(vlan_nr)
)
pty_master, pty_slave = pty.openpty()
vde_process = subprocess.Popen(
["vde_switch", "-s", vde_socket, "--dirmode", "0777"],
["vde_switch", "-s", vde_socket, "--dirmode", "0700"],
bufsize=1,
stdin=pty_slave,
stdout=subprocess.PIPE,
@ -939,7 +941,7 @@ if __name__ == "__main__":
machine.process.kill()
for _, _, process, _ in vde_sockets:
process.kill()
process.terminate()
log.close()
tic = time.time()

View file

@ -0,0 +1 @@
azure

View file

@ -0,0 +1,42 @@
# azure
## Demo
Here's a demo of this being used: https://asciinema.org/a/euXb9dIeUybE3VkstLWLbvhmp
## Usage
This is meant to be an example image that you can copy into your own
project and modify to your own needs. Notice that the example image
includes a built-in test user account, which by default uses your
`~/.ssh/id_ed25519.pub` as an `authorized_key`.
Build and upload the image
```shell
$ ./upload-image.sh ./examples/basic/image.nix
...
+ attr=azbasic
+ nix-build ./examples/basic/image.nix --out-link azure
/nix/store/qdpzknpskzw30vba92mb24xzll1dqsmd-azure-image
...
95.5 %, 0 Done, 0 Failed, 1 Pending, 0 Skipped, 1 Total, 2-sec Throughput (Mb/s): 932.9565
...
/subscriptions/aff271ee-e9be-4441-b9bb-42f5af4cbaeb/resourceGroups/nixos-images/providers/Microsoft.Compute/images/azure-image-todo-makethisbetter
```
Take the output, boot an Azure VM:
```
img="/subscriptions/.../..." # use output from last command
./boot-vm.sh "${img}"
...
=> booted
```
## Future Work
1. If the user specifies a hard-coded user, then the agent could be removed.
Probably has security benefits; definitely has closure-size benefits.
(It's likely the VM will need to be booted with a special flag. See:
https://github.com/Azure/azure-cli/issues/12775 for details.)

View file

@ -0,0 +1,36 @@
#!/usr/bin/env bash
set -euo pipefail
set -x
image="${1}"
location="westus2"
group="nixos-test-vm"
vm_size="Standard_D2s_v3"; os_size=42;
# ensure group
az group create --location "westus2" --name "${group}"
group_id="$(az group show --name "${group}" -o tsv --query "[id]")"
# (optional) identity
if ! az identity show -n "${group}-identity" -g "${group}" &>/dev/stderr; then
az identity create --name "${group}-identity" --resource-group "${group}"
fi
# (optional) role assignment, to the resource group, bad but not really great alternatives
identity_id="$(az identity show --name "${group}-identity" --resource-group "${group}" -o tsv --query "[id]")"
principal_id="$(az identity show --name "${group}-identity" --resource-group "${group}" -o tsv --query "[principalId]")"
until az role assignment create --assignee "${principal_id}" --role "Owner" --scope "${group_id}"; do sleep 1; done
# boot vm
az vm create \
--name "${group}-vm" \
--resource-group "${group}" \
--assign-identity "${identity_id}" \
--size "${vm_size}" \
--os-disk-size-gb "${os_size}" \
--image "${image}" \
--admin-username "${USER}" \
--location "westus2" \
--storage-sku "Premium_LRS" \
--ssh-key-values "$(ssh-add -L)"

View file

@ -0,0 +1,7 @@
export group="${AZURE_RESOURCE_GROUP:-"azure"}"
export location="${AZURE_LOCATION:-"westus2"}"
img_file=$(echo azure/*.vhd)
img_name="$(basename "${img_file}")"
img_name="${img_name%".vhd"}"
export img_name="${img_name//[._]/-}"

View file

@ -0,0 +1,10 @@
let
pkgs = (import <nixpkgs> {});
machine = import "${pkgs.path}/nixos/lib/eval-config.nix" {
system = "x86_64-linux";
modules = [
({config, ...}: { imports = [ ./system.nix ]; })
];
};
in
machine.config.system.build.azureImage

View file

@ -0,0 +1,34 @@
{ pkgs, modulesPath, ... }:
let username = "azurenixosuser";
in
{
imports = [
"${modulesPath}/virtualisation/azure-common.nix"
"${modulesPath}/virtualisation/azure-image.nix"
];
## NOTE: This is just an example of how to hard-code a user.
## The normal Azure agent IS included and DOES provision a user based
## on the information passed at VM creation time.
users.users."${username}" = {
isNormalUser = true;
home = "/home/${username}";
description = "Azure NixOS Test User";
openssh.authorizedKeys.keys = [ (builtins.readFile ~/.ssh/id_ed25519.pub) ];
};
nix.trustedUsers = [ username ];
virtualisation.azureImage.diskSize = 2500;
system.stateVersion = "20.03";
boot.kernelPackages = pkgs.linuxPackages_latest;
# test user doesn't have a password
services.openssh.passwordAuthentication = false;
security.sudo.wheelNeedsPassword = false;
environment.systemPackages = with pkgs; [
git file htop wget curl
];
}

View file

@ -0,0 +1,13 @@
with (import ../../../../default.nix {});
stdenv.mkDerivation {
name = "nixcfg-azure-devenv";
nativeBuildInputs = [
azure-cli
bash
cacert
azure-storage-azcopy
];
AZURE_CONFIG_DIR="/tmp/azure-cli/.azure";
}

View file

@ -0,0 +1,58 @@
#!/usr/bin/env bash
set -euo pipefail
set -x
image_nix="${1:-"./examples/basic/image.nix"}"
nix-build "${image_nix}" --out-link "azure"
group="nixos-images"
location="westus2"
img_name="nixos-image"
img_file="$(readlink -f ./azure/disk.vhd)"
if ! az group show -n "${group}" &>/dev/null; then
az group create --name "${group}" --location "${location}"
fi
# note: the disk access token song/dance is tedious
# but allows us to upload direct to a disk image
# thereby avoid storage accounts (and naming them) entirely!
if ! az disk show -g "${group}" -n "${img_name}" &>/dev/null; then
bytes="$(stat -c %s ${img_file})"
size="30"
az disk create \
--resource-group "${group}" \
--name "${img_name}" \
--for-upload true --upload-size-bytes "${bytes}"
timeout=$(( 60 * 60 )) # disk access token timeout
sasurl="$(\
az disk grant-access \
--access-level Write \
--resource-group "${group}" \
--name "${img_name}" \
--duration-in-seconds ${timeout} \
| jq -r '.accessSas'
)"
azcopy copy "${img_file}" "${sasurl}" \
--blob-type PageBlob
az disk revoke-access \
--resource-group "${group}" \
--name "${img_name}"
fi
if ! az image show -g "${group}" -n "${img_name}" &>/dev/null; then
diskid="$(az disk show -g "${group}" -n "${img_name}" -o json | jq -r .id)"
az image create \
--resource-group "${group}" \
--name "${img_name}" \
--source "${diskid}" \
--os-type "linux" >/dev/null
fi
imageid="$(az image show -g "${group}" -n "${img_name}" -o json | jq -r .id)"
echo "${imageid}"

View file

@ -0,0 +1,19 @@
{ config, pkgs, lib, ... }:
let
cfg = config.hardware.uinput;
in {
options.hardware.uinput = {
enable = lib.mkEnableOption "uinput support";
};
config = lib.mkIf cfg.enable {
boot.kernelModules = [ "uinput" ];
users.groups.uinput = {};
services.udev.extraRules = ''
SUBSYSTEM=="misc", KERNEL=="uinput", MODE="0660", GROUP="uinput", OPTIONS+="static_node=uinput"
'';
};
}

View file

@ -65,6 +65,7 @@
./hardware/usb-wwan.nix
./hardware/onlykey.nix
./hardware/wooting.nix
./hardware/uinput.nix
./hardware/video/amdgpu.nix
./hardware/video/amdgpu-pro.nix
./hardware/video/ati.nix
@ -368,6 +369,7 @@
./services/hardware/thermald.nix
./services/hardware/undervolt.nix
./services/hardware/vdr.nix
./services/hardware/xow.nix
./services/logging/SystemdJournal2Gelf.nix
./services/logging/awstats.nix
./services/logging/fluentd.nix
@ -394,6 +396,7 @@
./services/mail/mailcatcher.nix
./services/mail/mailhog.nix
./services/mail/mailman.nix
./services/mail/magic-wormhole-mailbox-server.nix
./services/mail/mlmmj.nix
./services/mail/offlineimap.nix
./services/mail/opendkim.nix

View file

@ -318,7 +318,7 @@ in
description = "Renew ACME Certificate for ${cert}";
after = [ "network.target" "network-online.target" ];
wants = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
wantedBy = mkIf (!config.boot.isContainer) [ "multi-user.target" ];
serviceConfig = {
Type = "oneshot";
# With RemainAfterExit the service is considered active even

View file

@ -120,10 +120,16 @@ in
++ optional hasDocker "docker.service";
requires = optional hasDocker "docker.service";
wantedBy = [ "multi-user.target" ];
reloadIfChanged = true;
restartTriggers = [
config.environment.etc."gitlab-runner/config.toml".source
];
serviceConfig = {
StateDirectory = "gitlab-runner";
ExecReload= "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
ExecStart = ''${cfg.package.bin}/bin/gitlab-runner run \
--working-directory ${cfg.workDir} \
--config ${configFile} \
--config /etc/gitlab-runner/config.toml \
--service gitlab-runner \
--user gitlab-runner \
'';
@ -138,6 +144,9 @@ in
# Make the gitlab-runner command availabe so users can query the runner
environment.systemPackages = [ cfg.package ];
# Make sure the config can be reloaded on change
environment.etc."gitlab-runner/config.toml".source = configFile;
users.users.gitlab-runner = {
group = "gitlab-runner";
extraGroups = optional hasDocker "docker";

View file

@ -4,14 +4,13 @@ with lib;
let
cfg = config.services.factorio;
factorio = pkgs.factorio-headless;
name = "Factorio";
stateDir = "/var/lib/${cfg.stateDirName}";
mkSavePath = name: "${stateDir}/saves/${name}.zip";
configFile = pkgs.writeText "factorio.conf" ''
use-system-read-write-data-directories=true
[path]
read-data=${factorio}/share/factorio/data
read-data=${cfg.package}/share/factorio/data
write-data=${stateDir}
'';
serverSettings = {
@ -37,7 +36,7 @@ let
only_admins_can_pause_the_game = true;
autosave_only_on_server = true;
admins = [];
};
} // cfg.extraSettings;
serverSettingsFile = pkgs.writeText "server-settings.json" (builtins.toJSON (filterAttrsRecursive (n: v: v != null) serverSettings));
modDir = pkgs.factorio-utils.mkModDirDrv cfg.mods;
in
@ -115,6 +114,14 @@ in
Description of the game that will appear in the listing.
'';
};
extraSettings = mkOption {
type = types.attrs;
default = {};
example = { admins = [ "username" ];};
description = ''
Extra game configuration that will go into server-settings.json
'';
};
public = mkOption {
type = types.bool;
default = false;
@ -136,6 +143,15 @@ in
Your factorio.com login credentials. Required for games with visibility public.
'';
};
package = mkOption {
type = types.package;
default = pkgs.factorio-headless;
defaultText = "pkgs.factorio-headless";
example = "pkgs.factorio-headless-experimental";
description = ''
Factorio version to use. This defaults to the stable channel.
'';
};
password = mkOption {
type = types.nullOr types.str;
default = null;
@ -184,7 +200,7 @@ in
preStart = toString [
"test -e ${stateDir}/saves/${cfg.saveName}.zip"
"||"
"${factorio}/bin/factorio"
"${cfg.package}/bin/factorio"
"--config=${cfg.configFile}"
"--create=${mkSavePath cfg.saveName}"
(optionalString (cfg.mods != []) "--mod-directory=${modDir}")
@ -197,7 +213,7 @@ in
StateDirectory = cfg.stateDirName;
UMask = "0007";
ExecStart = toString [
"${factorio}/bin/factorio"
"${cfg.package}/bin/factorio"
"--config=${cfg.configFile}"
"--port=${toString cfg.port}"
"--start-server=${mkSavePath cfg.saveName}"

View file

@ -0,0 +1,17 @@
{ config, pkgs, lib, ... }:
let
cfg = config.services.hardware.xow;
in {
options.services.hardware.xow = {
enable = lib.mkEnableOption "xow as a systemd service";
};
config = lib.mkIf cfg.enable {
hardware.uinput.enable = true;
systemd.packages = [ pkgs.xow ];
services.udev.packages = [ pkgs.xow ];
};
}

View file

@ -0,0 +1,28 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.magic-wormhole-mailbox-server;
dataDir = "/var/lib/magic-wormhole-mailbox-server;";
python = pkgs.python3.withPackages (py: [ py.magic-wormhole-mailbox-server py.twisted ]);
in
{
options.services.magic-wormhole-mailbox-server = {
enable = mkEnableOption "Enable Magic Wormhole Mailbox Server";
};
config = mkIf cfg.enable {
systemd.services.magic-wormhole-mailbox-server = {
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
DynamicUser = true;
ExecStart = "${python}/bin/twistd --nodaemon wormhole-mailbox";
WorkingDirectory = dataDir;
StateDirectory = baseNameOf dataDir;
};
};
};
}

View file

@ -565,7 +565,7 @@ in {
add_header Referrer-Policy no-referrer;
access_log off;
'';
"~ \\.(?:png|html|ttf|ico|jpg|jpeg)$".extraConfig = ''
"~ \\.(?:png|html|ttf|ico|jpg|jpeg|bcmap|mp4|webm)$".extraConfig = ''
try_files $uri /index.php$request_uri;
access_log off;
'';

View file

@ -47,6 +47,7 @@ let
Path to the unix socket file on which to accept FastCGI requests.
<note><para>This option is read-only and managed by NixOS.</para></note>
'';
example = "${runtimeDir}/<name>.sock";
};
listen = mkOption {

View file

@ -129,6 +129,7 @@ in
services.xserver.desktopManager.session = [{
name = "xfce";
desktopNames = [ "XFCE" ];
bgSupport = true;
start = ''
${pkgs.runtimeShell} ${pkgs.xfce.xfce4-session.xinitrc} &

View file

@ -412,6 +412,9 @@ in
(dm: wm: let
sessionName = "${dm.name}${optionalString (wm.name != "none") ("+" + wm.name)}";
script = xsession dm wm;
desktopNames = if dm ? desktopNames
then concatStringsSep ";" dm.desktopNames
else sessionName;
in
optional (dm.name != "none" || wm.name != "none")
(pkgs.writeTextFile {
@ -427,7 +430,7 @@ in
TryExec=${script}
Exec=${script}
Name=${sessionName}
DesktopNames=${sessionName}
DesktopNames=${desktopNames}
'';
} // {
providedSessions = [ sessionName ];

View file

@ -842,7 +842,6 @@ in
[Manager]
${optionalString config.systemd.enableCgroupAccounting ''
DefaultCPUAccounting=yes
DefaultBlockIOAccounting=yes
DefaultIOAccounting=yes
DefaultBlockIOAccounting=yes
DefaultIPAccounting=yes

View file

@ -291,13 +291,19 @@ let
${optionalString config.virtualisation.libvirtd.enable ''
# Enslave dynamically added interfaces which may be lost on nixos-rebuild
for uri in qemu:///system lxc:///; do
for dom in $(${pkgs.libvirt}/bin/virsh -c $uri list --name); do
${pkgs.libvirt}/bin/virsh -c $uri dumpxml "$dom" | \
${pkgs.xmlstarlet}/bin/xmlstarlet sel -t -m "//domain/devices/interface[@type='bridge'][source/@bridge='${n}'][target/@dev]" -v "concat('ip link set ',target/@dev,' master ',source/@bridge,';')" | \
${pkgs.bash}/bin/bash
#
# if `libvirtd.service` is not running, do not use `virsh` which would try activate it via 'libvirtd.socket' and thus start it out-of-order.
# `libvirtd.service` will set up bridge interfaces when it will start normally.
#
if ${pkgs.systemd}/bin/systemctl --quiet is-active 'libvirtd.service'; then
for uri in qemu:///system lxc:///; do
for dom in $(${pkgs.libvirt}/bin/virsh -c $uri list --name); do
${pkgs.libvirt}/bin/virsh -c $uri dumpxml "$dom" | \
${pkgs.xmlstarlet}/bin/xmlstarlet sel -t -m "//domain/devices/interface[@type='bridge'][source/@bridge='${n}'][target/@dev]" -v "concat('ip link set ',target/@dev,' master ',source/@bridge,';')" | \
${pkgs.bash}/bin/bash
done
done
done
fi
''}
# Enable stp on the interface

View file

@ -634,19 +634,23 @@ in
networking.bonds =
let
driverOptionsExample = {
miimon = "100";
mode = "active-backup";
};
driverOptionsExample = ''
{
miimon = "100";
mode = "active-backup";
}
'';
in mkOption {
default = { };
example = literalExample {
bond0 = {
interfaces = [ "eth0" "wlan0" ];
driverOptions = driverOptionsExample;
};
anotherBond.interfaces = [ "enp4s0f0" "enp4s0f1" "enp5s0f0" "enp5s0f1" ];
};
example = literalExample ''
{
bond0 = {
interfaces = [ "eth0" "wlan0" ];
driverOptions = ${driverOptionsExample};
};
anotherBond.interfaces = [ "enp4s0f0" "enp4s0f1" "enp5s0f0" "enp5s0f1" ];
}
'';
description = ''
This option allows you to define bond devices that aggregate multiple,
underlying networking interfaces together. The value of this option is
@ -731,12 +735,14 @@ in
networking.macvlans = mkOption {
default = { };
example = literalExample {
wan = {
interface = "enp2s0";
mode = "vepa";
};
};
example = literalExample ''
{
wan = {
interface = "enp2s0";
mode = "vepa";
};
}
'';
description = ''
This option allows you to define macvlan interfaces which should
be automatically created.
@ -764,18 +770,20 @@ in
networking.sits = mkOption {
default = { };
example = literalExample {
hurricane = {
remote = "10.0.0.1";
local = "10.0.0.22";
ttl = 255;
};
msipv6 = {
remote = "192.168.0.1";
dev = "enp3s0";
ttl = 127;
};
};
example = literalExample ''
{
hurricane = {
remote = "10.0.0.1";
local = "10.0.0.22";
ttl = 255;
};
msipv6 = {
remote = "192.168.0.1";
dev = "enp3s0";
ttl = 127;
};
}
'';
description = ''
This option allows you to define 6-to-4 interfaces which should be automatically created.
'';
@ -826,16 +834,18 @@ in
networking.vlans = mkOption {
default = { };
example = literalExample {
vlan0 = {
id = 3;
interface = "enp3s0";
};
vlan1 = {
id = 1;
interface = "wlan0";
};
};
example = literalExample ''
{
vlan0 = {
id = 3;
interface = "enp3s0";
};
vlan1 = {
id = 1;
interface = "wlan0";
};
}
'';
description =
''
This option allows you to define vlan devices that tag packets
@ -868,24 +878,26 @@ in
networking.wlanInterfaces = mkOption {
default = { };
example = literalExample {
wlan-station0 = {
device = "wlp6s0";
};
wlan-adhoc0 = {
type = "ibss";
device = "wlp6s0";
mac = "02:00:00:00:00:01";
};
wlan-p2p0 = {
device = "wlp6s0";
mac = "02:00:00:00:00:02";
};
wlan-ap0 = {
device = "wlp6s0";
mac = "02:00:00:00:00:03";
};
};
example = literalExample ''
{
wlan-station0 = {
device = "wlp6s0";
};
wlan-adhoc0 = {
type = "ibss";
device = "wlp6s0";
mac = "02:00:00:00:00:01";
};
wlan-p2p0 = {
device = "wlp6s0";
mac = "02:00:00:00:00:02";
};
wlan-ap0 = {
device = "wlp6s0";
mac = "02:00:00:00:00:03";
};
}
'';
description =
''
Creating multiple WLAN interfaces on top of one physical WLAN device (NIC).

View file

@ -15,6 +15,8 @@ with lib;
boot.loader.grub.version = 2;
boot.loader.timeout = 0;
boot.growPartition = true;
# Don't put old configurations in the GRUB menu. The user has no
# way to select them anyway.
boot.loader.grub.configurationLimit = 0;

View file

@ -2,27 +2,38 @@
with lib;
let
diskSize = 2048;
cfg = config.virtualisation.azureImage;
in
{
system.build.azureImage = import ../../lib/make-disk-image.nix {
name = "azure-image";
postVM = ''
${pkgs.vmTools.qemu}/bin/qemu-img convert -f raw -o subformat=fixed,force_size -O vpc $diskImage $out/disk.vhd
'';
configFile = ./azure-config-user.nix;
format = "raw";
inherit diskSize;
inherit config lib pkgs;
};
imports = [ ./azure-common.nix ];
options = {
virtualisation.azureImage.diskSize = mkOption {
type = with types; int;
default = 2048;
description = ''
Size of disk image. Unit is MB.
'';
};
};
config = {
system.build.azureImage = import ../../lib/make-disk-image.nix {
name = "azure-image";
postVM = ''
${pkgs.vmTools.qemu}/bin/qemu-img convert -f raw -o subformat=fixed,force_size -O vpc $diskImage $out/disk.vhd
rm $diskImage
'';
configFile = ./azure-config-user.nix;
format = "raw";
inherit (cfg) diskSize;
inherit config lib pkgs;
};
# Azure metadata is available as a CD-ROM drive.
fileSystems."/metadata".device = "/dev/sr0";
# Azure metadata is available as a CD-ROM drive.
fileSystems."/metadata".device = "/dev/sr0";
systemd.services.fetch-ssh-keys =
{ description = "Fetch host keys and authorized_keys for root user";
systemd.services.fetch-ssh-keys = {
description = "Fetch host keys and authorized_keys for root user";
wantedBy = [ "sshd.service" "waagent.service" ];
before = [ "sshd.service" "waagent.service" ];
@ -54,6 +65,6 @@ in
serviceConfig.RemainAfterExit = true;
serviceConfig.StandardError = "journal+console";
serviceConfig.StandardOutput = "journal+console";
};
};
};
}

View file

@ -214,14 +214,14 @@ in {
};
systemd.services.libvirtd = {
description = "Libvirt Virtual Machine Management Daemon";
wantedBy = [ "multi-user.target" ];
requires = [ "libvirtd-config.service" ];
after = [ "systemd-udev-settle.service" "libvirtd-config.service" ]
++ optional vswitch.enable "ovs-vswitchd.service";
environment.LIBVIRTD_ARGS = ''--config "${configFile}" ${concatStringsSep " " cfg.extraOptions}'';
environment.LIBVIRTD_ARGS = escapeShellArgs (
[ "--config" configFile
"--timeout" "120" # from ${libvirt}/var/lib/sysconfig/libvirtd
] ++ cfg.extraOptions);
path = [ cfg.qemuPackage ] # libvirtd requires qemu-img to manage disk images
++ optional vswitch.enable vswitch.package;
@ -266,5 +266,8 @@ in {
serviceConfig.ExecStart = "@${pkgs.libvirt}/sbin/virtlockd virtlockd";
restartIfChanged = false;
};
systemd.sockets.libvirtd .wantedBy = [ "sockets.target" ];
systemd.sockets.libvirtd-tcp.wantedBy = [ "sockets.target" ];
};
}

View file

@ -170,6 +170,7 @@ in
#logstash = handleTest ./logstash.nix {};
lorri = handleTest ./lorri/default.nix {};
magnetico = handleTest ./magnetico.nix {};
magic-wormhole-mailbox-server = handleTest ./magic-wormhole-mailbox-server.nix {};
mailcatcher = handleTest ./mailcatcher.nix {};
mathics = handleTest ./mathics.nix {};
matomo = handleTest ./matomo.nix {};

View file

@ -24,7 +24,6 @@ in {
enable = true;
serverId = "aa76c84b-50b0-4711-a0a0-1ee30e45bbd0";
listenAddress = "[::]:80";
jvmPackage = pkgs.jdk12_headless;
jvmHeapLimit = "1g";
plugins = [ lfs ];

View file

@ -0,0 +1,38 @@
import ./make-test-python.nix ({ pkgs, ... }: {
name = "magic-wormhole-mailbox-server";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ mmahut ];
};
nodes = {
server = { ... }: {
networking.firewall.allowedTCPPorts = [ 4000 ];
services.magic-wormhole-mailbox-server.enable = true;
};
client_alice = { ... }: {
networking.firewall.enable = false;
environment.systemPackages = [ pkgs.magic-wormhole ];
};
client_bob = { ... }: {
environment.systemPackages = [ pkgs.magic-wormhole ];
};
};
testScript = ''
start_all()
# Start the wormhole relay server
server.wait_for_unit("magic-wormhole-mailbox-server.service")
server.wait_for_open_port(4000)
# Create a secret file and send it to Bob
client_alice.succeed("echo mysecret > secretfile")
client_alice.succeed("wormhole --relay-url=ws://server:4000/v1 send -0 secretfile &")
# Retrieve a secret file from Alice and check its content
client_bob.succeed("wormhole --relay-url=ws://server:4000/v1 receive -0 --accept-file")
client_bob.succeed("grep mysecret secretfile")
'';
})

View file

@ -33,7 +33,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
nodes = {
node = {...}: {
environment.systemPackages = with pkgs; [
# mongodb-3_4
mongodb-3_4
mongodb-3_6
mongodb-4_0
];
@ -43,7 +43,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
testScript = ''
node.start()
''
# + runMongoDBTest pkgs.mongodb-3_4
+ runMongoDBTest pkgs.mongodb-3_4
+ runMongoDBTest pkgs.mongodb-3_6
+ runMongoDBTest pkgs.mongodb-4_0
+ ''

View file

@ -68,6 +68,11 @@ import ./make-test-python.nix ({ pkgs, ...} : {
"testdb2.*" = "ALL PRIVILEGES";
};
}];
services.mysql.settings = {
mysqld = {
plugin-load-add = [ "ha_tokudb.so" "ha_rocksdb.so" ];
};
};
services.mysql.package = pkgs.mariadb;
};
@ -106,5 +111,33 @@ import ./make-test-python.nix ({ pkgs, ...} : {
mariadb.succeed(
"echo 'use testdb; select test_id from tests;' | sudo -u testuser mysql -u testuser -N | grep 42"
)
# Check if TokuDB plugin works
mariadb.succeed(
"echo 'use testdb; create table tokudb (test_id INT, PRIMARY KEY (test_id)) ENGINE = TokuDB;' | sudo -u testuser mysql -u testuser"
)
mariadb.succeed(
"echo 'use testdb; insert into tokudb values (25);' | sudo -u testuser mysql -u testuser"
)
mariadb.succeed(
"echo 'use testdb; select test_id from tokudb;' | sudo -u testuser mysql -u testuser -N | grep 25"
)
mariadb.succeed(
"echo 'use testdb; drop table tokudb;' | sudo -u testuser mysql -u testuser"
)
# Check if RocksDB plugin works
mariadb.succeed(
"echo 'use testdb; create table rocksdb (test_id INT, PRIMARY KEY (test_id)) ENGINE = RocksDB;' | sudo -u testuser mysql -u testuser"
)
mariadb.succeed(
"echo 'use testdb; insert into rocksdb values (28);' | sudo -u testuser mysql -u testuser"
)
mariadb.succeed(
"echo 'use testdb; select test_id from rocksdb;' | sudo -u testuser mysql -u testuser -N | grep 28"
)
mariadb.succeed(
"echo 'use testdb; drop table rocksdb;' | sudo -u testuser mysql -u testuser"
)
'';
})

View file

@ -61,7 +61,7 @@
meta = {
description = "Creates MIDI tracks for a soloist to perform over from a user supplied file containing chords";
homepage = http://www.mellowood.ca/mma/index.html;
homepage = "https://www.mellowood.ca/mma/index.html";
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.magnetophon ];
platforms = stdenv.lib.platforms.linux;

View file

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
pname = "aeolus";
version = "0.9.7";
version = "0.9.8";
src = fetchurl {
url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
sha256 = "0lhbr95hmbfj8ynbcpawn7jzjbpvrkm6k2yda39yhqk1bzg38v2k";
sha256 = "1zfr3567mwbqsfybkhg03n5dvmhllk88c9ayb10qzz2nh6d7g2qn";
};
buildInputs = [
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Synthetized (not sampled) pipe organ emulator";
homepage = http://kokkinizita.linuxaudio.org/linuxaudio/aeolus/index.html;
homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/aeolus/index.html";
license = stdenv.lib.licenses.lgpl3;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.nico202 ];

View file

@ -1,29 +0,0 @@
{ stdenv, fetchFromGitHub, pkgconfig, pango, cairo, libGLU, lv2 }:
stdenv.mkDerivation rec {
pname = "avldrums.lv2";
version = "0.4.0";
src = fetchFromGitHub {
owner = "x42";
repo = pname;
rev = "v${version}";
sha256 = "1z70rcq6z3gkb4fm8dm9hs31bslwr97zdh2n012fzki9b9rdj5qv";
fetchSubmodules = true;
};
installFlags = [ "PREFIX=$(out)" ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
pango cairo libGLU lv2
];
meta = with stdenv.lib; {
description = "Dedicated AVLDrumkits LV2 Plugin";
homepage = http://x42-plugins.com/x42/x42-avldrums;
license = licenses.gpl2;
maintainers = [ maintainers.magnetophon ];
platforms = [ "i686-linux" "x86_64-linux" ];
};
}

View file

@ -59,13 +59,13 @@ assert remoteSupport -> curl != null;
stdenv.mkDerivation rec {
pname = "deadbeef";
version = "1.8.2";
version = "1.8.3";
src = fetchFromGitHub {
owner = "DeaDBeeF-Player";
repo = "deadbeef";
rev = version;
sha256 = "016wwnh5jqdcfxn1ff6in5dz73c3gdhh3fva8inq7sc3vzdz5khj";
sha256 = "0n0q7zfl56gnadcqqp5rg7sbh1xvfcmp7cvmh2ax07037b346qig";
};
buildInputs = with stdenv.lib; [ jansson ]
@ -108,7 +108,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "Ultimate Music Player for GNU/Linux";
homepage = http://deadbeef.sourceforge.net/;
homepage = "http://deadbeef.sourceforge.net/";
license = licenses.gpl2;
platforms = [ "x86_64-linux" "i686-linux" ];
maintainers = [ maintainers.abbradar ];

View file

@ -1,19 +0,0 @@
--- a/plugins/wildmidi/src/wildmidi_lib.c
+++ b/plugins/wildmidi/src/wildmidi_lib.c
@@ -394,11 +394,11 @@ free_gauss (void) {
}
}
-unsigned long int delay_size[4][2];
-signed long int a[5][2];
-signed long int b[5][2];
-signed long int gain_in[4];
-signed long int gain_out[4];
+static unsigned long int delay_size[4][2];
+static signed long int a[5][2];
+static signed long int b[5][2];
+static signed long int gain_in[4];
+static signed long int gain_out[4];
void init_lowpass (void) {
float c = 0;

View file

@ -43,6 +43,7 @@ rustPlatform.buildRustPackage rec {
rustc
python3
wrapGAppsHook
glib
];
buildInputs = [

View file

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "lsp-plugins";
version = "1.1.13";
version = "1.1.15";
src = fetchFromGitHub {
owner = "sadko4u";
repo = pname;
rev = "${pname}-${version}";
sha256 = "00mhrr873kgcnqy3q0yi1r5zacfcvz7fqpzsmfhw5d095jm970al";
sha256 = "0lynyjs5zp27gnzcv8a23pvb7c1ghzc2dspypca3ciq40bfpfzik";
};
nativeBuildInputs = [ pkgconfig php makeWrapper ];
@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
makeFlags = [
"PREFIX=${placeholder ''out''}"
"ETC_PATH=$(out)/etc"
];
NIX_CFLAGS_COMPILE = "-DLSP_NO_EXPERIMENTAL";

View file

@ -1,4 +1,4 @@
{ stdenv, mkDerivation, fetchFromGitHub, chromaprint
{ stdenv, mkDerivation, fetchurl, fetchFromGitHub, chromaprint
, fftw, flac, faad2, glibcLocales, mp4v2
, libid3tag, libmad, libopus, libshout, libsndfile, libusb1, libvorbis
, libGLU, libxcb, lilv, lv2, opusfile
@ -6,6 +6,17 @@
, qtx11extras, rubberband, scons, sqlite, taglib, upower, vamp-plugin-sdk
}:
let
# Because libshout 2.4.2 and newer seem to break streaming in mixxx, build it
# with 2.4.1 instead.
libshout241 = libshout.overrideAttrs (o: rec {
name = "libshout-2.4.1";
src = fetchurl {
url = "http://downloads.xiph.org/releases/libshout/${name}.tar.gz";
sha256 = "0kgjpf8jkgyclw11nilxi8vyjk4s8878x23qyxnvybbgqbgbib7k";
};
});
in
mkDerivation rec {
pname = "mixxx";
version = "2.2.3";
@ -19,7 +30,7 @@ mkDerivation rec {
nativeBuildInputs = [ scons.py2 ];
buildInputs = [
chromaprint fftw flac faad2 glibcLocales mp4v2 libid3tag libmad libopus libshout libsndfile
chromaprint fftw flac faad2 glibcLocales mp4v2 libid3tag libmad libopus libshout241 libsndfile
libusb1 libvorbis libxcb libGLU lilv lv2 opusfile pkgconfig portaudio portmidi protobuf qtbase qtscript qtsvg
qtx11extras rubberband sqlite taglib upower vamp-plugin-sdk
];

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "samplv1";
version = "0.9.12";
version = "0.9.13";
src = fetchurl {
url = "mirror://sourceforge/samplv1/${pname}-${version}.tar.gz";
sha256 = "0xzjxiqzcf1ygabrjsy0iachhnpy85rp9519fmj2f568r6ml6hzg";
sha256 = "0clsp6s5qfnh0xaxbd35vq2ppi72q9dfayrzlgl73800a8p7gh9m";
};
buildInputs = [ libjack2 alsaLib liblo libsndfile lv2 qt5.qtbase qt5.qttools];
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "An old-school all-digital polyphonic sampler synthesizer with stereo fx";
homepage = http://samplv1.sourceforge.net/;
homepage = "http://samplv1.sourceforge.net/";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "spotify-tui";
version = "0.17.0";
version = "0.17.1";
src = fetchFromGitHub {
owner = "Rigellute";
repo = "spotify-tui";
rev = "v${version}";
sha256 = "1jx2qyshqg84l3fm682h8262da0hy68qjjg3dm2i53dxqxrm5ji9";
sha256 = "1gsddjinxmglm05hhphclax08d9pig1f0wjjs3bbcq096fydxgfs";
};
cargoSha256 = "12qwp59gshc9d6nz0s3w03zc8sxqri12vrav94vi54fqagiikinm";
cargoSha256 = "1y398ypckk3gw1sfzf97xzwf5d5z3kxlcpn3bccmsfr59kvkf661";
nativeBuildInputs = [ pkgconfig ] ++ stdenv.lib.optionals stdenv.isLinux [ python3 ];
buildInputs = [ openssl ]

View file

@ -2,11 +2,11 @@
mkDerivation rec {
pname = "synthv1";
version = "0.9.12";
version = "0.9.13";
src = fetchurl {
url = "mirror://sourceforge/synthv1/${pname}-${version}.tar.gz";
sha256 = "1amxrl1cqwgncw5437r572frgf6xhss3cfpbgh178i8phlq1q731";
sha256 = "0bb48myvgvqcibwm68qhd4852pjr2g19rasf059a799d1hzgfq3l";
};
buildInputs = [ qtbase qttools libjack2 alsaLib liblo lv2 ];
@ -15,7 +15,7 @@ mkDerivation rec {
meta = with stdenv.lib; {
description = "An old-school 4-oscillator subtractive polyphonic synthesizer with stereo fx";
homepage = https://synthv1.sourceforge.io/;
homepage = "https://synthv1.sourceforge.io/";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];

View file

@ -7,7 +7,7 @@ stdenv.mkDerivation {
version = "0.49.6";
src = fetchurl {
url = "http://traverso-daw.org/traverso-0.49.6.tar.gz";
url = "https://traverso-daw.org/traverso-0.49.6.tar.gz";
sha256 = "12f7x8kw4fw1j0xkwjrp54cy4cv1ql0zwz2ba5arclk4pf6bhl7q";
};
@ -23,7 +23,7 @@ stdenv.mkDerivation {
meta = with stdenv.lib; {
description = "Cross-platform multitrack audio recording and audio editing suite";
homepage = http://traverso-daw.org/;
homepage = "https://traverso-daw.org/";
license = with licenses; [ gpl2Plus lgpl21Plus ];
platforms = platforms.all;
maintainers = with maintainers; [ coconnor ];

View file

@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "Drum sample player LV2 plugin dedicated to Glen MacArthur's AVLdrums";
homepage = https://x42-plugins.com/x42/x42-avldrums;
maintainers = with maintainers; [ orivej ];
maintainers = with maintainers; [ magnetophon orivej ];
license = licenses.gpl2Plus;
platforms = platforms.linux;
};

View file

@ -2,12 +2,12 @@
let
pname = "ledger-live-desktop";
version = "1.20.0";
version = "2.1.0";
name = "${pname}-${version}";
src = fetchurl {
url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
sha256 = "09mgd5nsd65w4irgzgmfz1k0r1k4fgkq490pkil8nqy6akjrsw1z";
sha256 = "1ywvdqmq8asczhmvc6ai2v6di1f5q19x3ygqlinwz8d1hrj3496r";
};
appimageContents = appimageTools.extractType2 {

View file

@ -14,8 +14,8 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "09v991rl2w4c4jh7ga7q1lk6wyl2vr71j5cpniij8mcvszrz78qf";
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ openssl python3 xorg.libxcb libgit2 ] ++ stdenv.lib.optionals stdenv.isDarwin
nativeBuildInputs = [ cmake pkgconfig python3 ];
buildInputs = [ openssl xorg.libxcb libgit2 ] ++ stdenv.lib.optionals stdenv.isDarwin
(with darwin.apple_sdk.frameworks; [ curl Security AppKit ]);
# Tests need to write to the theme directory in HOME.

View file

@ -1070,10 +1070,10 @@
elpaBuild {
pname = "elisp-benchmarks";
ename = "elisp-benchmarks";
version = "1.3";
version = "1.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/elisp-benchmarks-1.3.tar";
sha256 = "05a891mwbz50q3a44irbf2w4wlp5dm2yxwcvxqrckvpjm1amndmf";
url = "https://elpa.gnu.org/packages/elisp-benchmarks-1.4.tar";
sha256 = "18ia04aq4pqa8374x60g3g66jqmm17c6n904naa0jhqphlgam8pb";
};
packageRequires = [];
meta = {
@ -1572,7 +1572,7 @@
license = lib.licenses.free;
};
}) {};
ioccur = callPackage ({ elpaBuild, fetchurl, lib }:
ioccur = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "ioccur";
ename = "ioccur";
@ -1581,7 +1581,7 @@
url = "https://elpa.gnu.org/packages/ioccur-2.4.el";
sha256 = "1isid3kgsi5qkz27ipvmp9v5knx0qigmv7lz12mqdkwv8alns1p9";
};
packageRequires = [];
packageRequires = [ cl-lib emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/ioccur.html";
license = lib.licenses.free;
@ -2215,10 +2215,10 @@
elpaBuild {
pname = "oauth2";
ename = "oauth2";
version = "0.11";
version = "0.12";
src = fetchurl {
url = "https://elpa.gnu.org/packages/oauth2-0.11.el";
sha256 = "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp";
url = "https://elpa.gnu.org/packages/oauth2-0.12.el";
sha256 = "1rfyfy0h7shr3fmd8lh6s2i3ahfh28wb5fqiqlsjwspn5h77ll29";
};
packageRequires = [];
meta = {
@ -3056,10 +3056,10 @@
elpaBuild {
pname = "sql-indent";
ename = "sql-indent";
version = "1.4";
version = "1.5";
src = fetchurl {
url = "https://elpa.gnu.org/packages/sql-indent-1.4.tar";
sha256 = "1nilxfm30nb2la1463729rgbgbma7igkf0z325k8cbapqanb1wgl";
url = "https://elpa.gnu.org/packages/sql-indent-1.5.tar";
sha256 = "07k5rn9hbxppnka7nq0a3a6zyqqa1hp8j6qrb344js6zyak0cb63";
};
packageRequires = [ cl-lib ];
meta = {
@ -3225,10 +3225,10 @@
elpaBuild {
pname = "tramp";
ename = "tramp";
version = "2.4.3.2";
version = "2.4.3.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/tramp-2.4.3.2.tar";
sha256 = "17kay6rpkgz79jggzj53awkbqfsp5sq93wpssw5vlwnigd4mrkzx";
url = "https://elpa.gnu.org/packages/tramp-2.4.3.3.tar";
sha256 = "1di9ia59k6x7j9r8flwf05r160j30nrg0jvq5fjc9iazag9lniyw";
};
packageRequires = [ emacs ];
meta = {

View file

@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "WYSIWYG PostScript annotator";
homepage = http://flpsed.org/flpsed.html;
homepage = "https://flpsed.org/flpsed.html";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ ];

View file

@ -20,11 +20,11 @@ let
in stdenv.mkDerivation rec {
pname = "nano";
version = "4.9";
version = "4.9.1";
src = fetchurl {
url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
sha256 = "19ik88b3g0d9xwav4hkai2h1acmjy5fdnh21gdc1mjq5s4lrff8f";
sha256 = "0v5s58j3lbg5s6gapl9kjmzph7zgwaam53qspycy2sxaxw65mkaj";
};
nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;

View file

@ -3,7 +3,7 @@
}:
let
version = "11.2";
version = "11.3";
desktopItem = makeDesktopItem {
name = "netbeans";
exec = "netbeans";
@ -19,7 +19,7 @@ stdenv.mkDerivation {
inherit version;
src = fetchurl {
url = "mirror://apache/netbeans/netbeans/${version}/netbeans-${version}-bin.zip";
sha512 = "d589481808832c4f0391ee1ecb8e18202cebeee8bd844cb4bdbf6125113b41f9138a34c4c2ef1fdf228294ef8c24b242ffec9ba5fdc4f1d288db4a3f19ba1509";
sha512 = "ae828836138b5a4156d58df24dd4053be58018cb6b5beb179cb0f4cd8b5db72d2a7356a434d01157aacb78d228732950cf4e3a0b6c725da8e053b6ccd91075d6";
};
buildCommand = ''
@ -60,7 +60,7 @@ stdenv.mkDerivation {
description = "An integrated development environment for Java, C, C++ and PHP";
homepage = "https://netbeans.apache.org/";
license = stdenv.lib.licenses.asl20;
maintainers = with stdenv.lib.maintainers; [ sander rszibele ];
maintainers = with stdenv.lib.maintainers; [ sander rszibele asbachb ];
platforms = stdenv.lib.platforms.unix;
};
}

View file

@ -17,7 +17,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "drawing";
version = "0.4.11";
version = "0.4.13";
format = "other";
@ -25,7 +25,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "maoschanz";
repo = pname;
rev = version;
sha256 = "00c1h6jns11rmsg35gy40fb6ahvik80wpbm2133bjcqxfwwnlal6";
sha256 = "0mj2nmfrckv89srgkn16fnbrb35f5a655ak8bb3rd9na3hd5bq53";
};
nativeBuildInputs = [

View file

@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "drawio";
version = "12.6.5";
version = "12.9.3";
src = fetchurl {
url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/draw.io-x86_64-${version}.rpm";
sha256 = "14x4h680q3w9wsdmivy2k1bggb09vdm3a3wrpfwd79dbaagjk4lc";
sha256 = "1jhw3p5r9dgn7320ca9n6hzyv2x557a8m9mh80vgrccd6i2mgm5i";
};
nativeBuildInputs = [
@ -86,7 +86,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "A desktop application for creating diagrams";
homepage = https://about.draw.io/;
homepage = "https://about.draw.io/";
license = licenses.asl20;
maintainers = with maintainers; [ danieldk ];
platforms = [ "x86_64-linux" ];

View file

@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
owner = "nebogeo";
repo = "fluxus";
rev = "ba9aee218dd4a9cfab914ad78bdb6d59e9a37400";
hash = "sha256:0mwghpgq4n1khwlmgscirhmcdhi6x00c08q4idi2zcqz961bbs28";
sha256 = "0mwghpgq4n1khwlmgscirhmcdhi6x00c08q4idi2zcqz961bbs28";
};
buildInputs = [

View file

@ -1,40 +1,38 @@
{ stdenv,
lib,
fetchFromGitHub,
rustPlatform,
{ stdenv
, lib
, fetchFromGitHub
, rustPlatform
cmake,
gzip,
installShellFiles,
makeWrapper,
ncurses,
pkgconfig,
python3,
, cmake
, gzip
, installShellFiles
, makeWrapper
, ncurses
, pkgconfig
, python3
expat,
fontconfig,
freetype,
libGL,
libX11,
libXcursor,
libXi,
libXrandr,
libXxf86vm,
libxcb,
libxkbcommon,
wayland,
xdg_utils,
, expat
, fontconfig
, freetype
, libGL
, libX11
, libXcursor
, libXi
, libXrandr
, libXxf86vm
, libxcb
, libxkbcommon
, wayland
, xdg_utils
# Darwin Frameworks
AppKit,
CoreGraphics,
CoreServices,
CoreText,
Foundation,
OpenGL }:
with rustPlatform;
, AppKit
, CoreGraphics
, CoreServices
, CoreText
, Foundation
, OpenGL
}:
let
rpathLibs = [
expat
@ -51,18 +49,19 @@ let
libxkbcommon
wayland
];
in buildRustPackage rec {
in
rustPlatform.buildRustPackage rec {
pname = "alacritty";
version = "0.4.1";
version = "0.4.2";
src = fetchFromGitHub {
owner = "jwilm";
owner = "alacritty";
repo = pname;
rev = "v${version}";
sha256 = "05jcg33ifngpzw2hdhgb614j87ihhhlqgar0kky183rywg0dxikg";
sha256 = "133d8vm7ihlvgw8n1jghhh35h664h0f52h6gci54f11vl6c1spws";
};
cargoSha256 = "182j8ah67b2gw409vjfml3p41i00zh0klx9m8bwfkm64y2ki2bip";
cargoSha256 = "07gq63qd11zz229b8jp9wqggz39qfpzd223z1zk1xch7rhqq0pn4";
nativeBuildInputs = [
cmake
@ -75,9 +74,17 @@ in buildRustPackage rec {
];
buildInputs = rpathLibs
++ lib.optionals stdenv.isDarwin [ AppKit CoreGraphics CoreServices CoreText Foundation OpenGL ];
++ lib.optionals stdenv.isDarwin [
AppKit
CoreGraphics
CoreServices
CoreText
Foundation
OpenGL
];
outputs = [ "out" "terminfo" ];
postPatch = ''
substituteInPlace alacritty/src/config/mouse.rs \
--replace xdg-open ${xdg_utils}/bin/xdg-open
@ -90,14 +97,16 @@ in buildRustPackage rec {
install -D target/release/alacritty $out/bin/alacritty
'' + (if stdenv.isDarwin then ''
mkdir $out/Applications
cp -r target/release/osx/Alacritty.app $out/Applications/Alacritty.app
'' else ''
install -D extra/linux/alacritty.desktop -t $out/share/applications/
install -D extra/logo/alacritty-term.svg $out/share/icons/hicolor/scalable/apps/Alacritty.svg
patchelf --set-rpath "${stdenv.lib.makeLibraryPath rpathLibs}" $out/bin/alacritty
'') + ''
'' + (
if stdenv.isDarwin then ''
mkdir $out/Applications
cp -r target/release/osx/Alacritty.app $out/Applications/Alacritty.app
'' else ''
install -D extra/linux/Alacritty.desktop -t $out/share/applications/
install -D extra/logo/alacritty-term.svg $out/share/icons/hicolor/scalable/apps/Alacritty.svg
patchelf --set-rpath "${lib.makeLibraryPath rpathLibs}" $out/bin/alacritty
''
) + ''
installShellCompletion --zsh extra/completions/_alacritty
installShellCompletion --bash extra/completions/alacritty.bash
@ -116,11 +125,11 @@ in buildRustPackage rec {
dontPatchELF = true;
meta = with stdenv.lib; {
description = "GPU-accelerated terminal emulator";
homepage = "https://github.com/jwilm/alacritty";
meta = with lib; {
description = "A cross-platform, GPU-accelerated terminal emulator";
homepage = "https://github.com/alacritty/alacritty";
license = licenses.asl20;
maintainers = with maintainers; [ filalex77 mic92 ];
maintainers = with maintainers; [ filalex77 mic92 cole-h ];
platforms = platforms.unix;
};
}

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "calcurse";
version = "4.5.1";
version = "4.6.0";
src = fetchurl {
url = "https://calcurse.org/files/${pname}-${version}.tar.gz";
sha256 = "0cgkd285x5pk62lmdx9fjxl46c5lj8wj2cqbxq7d99yb4il5fdjk";
sha256 = "0hzhdpkkn75jlymanwzl69hrrf1pw29hrchr11wlxqjpl43h62gs";
};
buildInputs = [ ncurses gettext python3 python3Packages.wrapPython ];
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
customized to suit user needs and a very powerful set of command line options can
be used to filter and format appointments, making it suitable for use in scripts.
'';
homepage = http://calcurse.org/;
homepage = "http://calcurse.org/";
license = licenses.bsd2;
platforms = platforms.linux;
};

View file

@ -2,11 +2,11 @@
pythonPackages.buildPythonApplication rec {
pname = "cherrytree";
version = "0.39.0";
version = "0.39.1";
src = fetchurl {
url = "https://www.giuspen.com/software/${pname}-${version}.tar.xz";
sha256 = "07ibr891qix7xa2sk6fdxdsji8q56c1wf786mxaz77500m0xfx4m";
sha256 = "0qhycblnixvbybzr8psgmgcpfs6jc9m0p2h9lmd5zmiaggqlcsv7";
};
nativeBuildInputs = [ gettext ];

View file

@ -0,0 +1,47 @@
# Notes by Charles Duffy <charles@dyfis.net> --
#
# - The new version of OpenMP does not allow outside variables to be referenced
# *at all* without an explicit declaration of how they're supposed to be
# handled. Thus, this was an outright build failure beforehand. The new
# pragmas copy the initial value from the outer scope into each parallel
# thread. Since these variables are all constant within the loops, this is
# clearly correct. (Not sure it's *optimal*, but quite sure it isn't
# *wrong*).
# - Upstream has been contacted -- I'm a Lulzbot customer with an active
# support contract and sent them the patch. That said, they're in the middle
# of some major corporate churn (sold themselves out of near-bankruptcy to an
# out-of-state business entity formed as a holding company; moved to that
# state; have been slowly restaffing after), so a response may take a while.
# - The patch is purely my own work.
--- curaengine/src/support.cpp.orig 2020-03-28 10:38:01.953912363 -0500
+++ curaengine/src/support.cpp 2020-03-28 10:45:28.999791908 -0500
@@ -854,7 +854,7 @@
const double tan_angle = tan(angle) - 0.01; // the XY-component of the supportAngle
xy_disallowed_per_layer[0] = storage.getLayerOutlines(0, false).offset(xy_distance);
// for all other layers (of non support meshes) compute the overhang area and possibly use that when calculating the support disallowed area
- #pragma omp parallel for default(none) shared(xy_disallowed_per_layer, storage, mesh) schedule(dynamic)
+ #pragma omp parallel for default(none) firstprivate(layer_count, is_support_mesh_place_holder, use_xy_distance_overhang, z_distance_top, tan_angle, xy_distance, xy_distance_overhang) shared(xy_disallowed_per_layer, storage, mesh) schedule(dynamic)
for (unsigned int layer_idx = 1; layer_idx < layer_count; layer_idx++)
{
Polygons outlines = storage.getLayerOutlines(layer_idx, false);
@@ -1054,7 +1054,7 @@
const int max_checking_layer_idx = std::min(static_cast<int>(storage.support.supportLayers.size())
, static_cast<int>(layer_count - (layer_z_distance_top - 1)));
const size_t max_checking_idx_size_t = std::max(0, max_checking_layer_idx);
-#pragma omp parallel for default(none) shared(support_areas, storage) schedule(dynamic)
+#pragma omp parallel for default(none) firstprivate(max_checking_idx_size_t, layer_z_distance_top) shared(support_areas, storage) schedule(dynamic)
for (size_t layer_idx = 0; layer_idx < max_checking_idx_size_t; layer_idx++)
{
support_areas[layer_idx] = support_areas[layer_idx].difference(storage.getLayerOutlines(layer_idx + layer_z_distance_top - 1, false));
--- curaengine/src/layerPart.cpp.orig 2020-03-28 10:36:40.381023651 -0500
+++ curaengine/src/layerPart.cpp 2020-03-28 10:39:54.584140465 -0500
@@ -49,7 +49,7 @@
{
const auto total_layers = slicer->layers.size();
assert(mesh.layers.size() == total_layers);
-#pragma omp parallel for default(none) shared(mesh, slicer) schedule(dynamic)
+#pragma omp parallel for default(none) firstprivate(total_layers) shared(mesh, slicer) schedule(dynamic)
for (unsigned int layer_nr = 0; layer_nr < total_layers; layer_nr++)
{
SliceLayer& layer_storage = mesh.layers[layer_nr];

View file

@ -10,6 +10,8 @@ gcc8Stdenv.mkDerivation rec {
sha256 = "0wdkvg1hmqp1gaym804lw09x4ngf5ffasd861jhflpy7djbmkfn8";
};
patches = [ ./curaengine-openmp-compat.patch ];
nativeBuildInputs = [ cmake ];
buildInputs = [ libarcusLulzbot stb protobuf ];

View file

@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
positioned at a specific screen position, or position a window
on a specific workspace.
'';
homepage = http://www.gusnan.se/devilspie2/;
homepage = "https://www.gusnan.se/devilspie2/";
license = licenses.gpl3;
maintainers = [ maintainers.ebzzry ];
platforms = platforms.linux;

View file

@ -2,11 +2,11 @@
python3Packages.buildPythonApplication rec {
pname = "gallery_dl";
version = "1.13.1";
version = "1.13.3";
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "0a5k7gcs3vn6x1f2qg3ajpqsl39pmw2hsj2srd5y2l1xw7mkkqj6";
sha256 = "0nhbhli45i2xhkmyj9mpg8fn1l58y2zmr6nnnnms557wpdpg112x";
};
doCheck = false;

View file

@ -20,14 +20,14 @@
with python3Packages;
buildPythonApplication rec {
pname = "kitty";
version = "0.17.1";
version = "0.17.2";
format = "other";
src = fetchFromGitHub {
owner = "kovidgoyal";
repo = "kitty";
rev = "v${version}";
sha256 = "1ydli1phgcy17iz6jxgixn8yc86dp8q2yfxk08c8lwh7gxjnjz7f";
sha256 = "0xiwz89ynhh8aj0c9jbqfsxf129hnzs0gz4bzcparnjisq2sh3cq";
};
buildInputs = [

View file

@ -0,0 +1,63 @@
{ lib, mkDerivation, fetchFromGitHub, fetchpatch
, python, ruby, qtbase, qtmultimedia, qttools, qtxmlpatterns
, which, perl, makeWrapper, fixDarwinDylibNames
}:
mkDerivation rec {
pname = "klayout";
version = "0.26.2";
src = fetchFromGitHub {
owner = "KLayout";
repo = "klayout";
rev = "v${version}";
sha256 = "0svyqayvr45snqw0dhx6jpnjhg4qb097pz28s8k1crx5i31nnd94";
};
postPatch = ''
substituteInPlace src/klayout.pri --replace "-Wno-reserved-user-defined-literal" ""
patchShebangs .
'';
nativeBuildInputs = [
which
];
buildInputs = [
python
ruby
qtbase
qtmultimedia
qttools
qtxmlpatterns
];
buildPhase = ''
runHook preBuild
mkdir -p $out/lib
./build.sh -qt5 -prefix $out/lib -j$NIX_BUILD_CORES
runHook postBuild
'';
postBuild = ''
mkdir $out/bin
mv $out/lib/klayout $out/bin/
'';
NIX_CFLAGS_COMPILE = [ "-Wno-parentheses" ];
dontInstall = true; # Installation already happens as part of "build.sh"
# Fix: "gsiDeclQMessageLogger.cc:126:42: error: format not a string literal
# and no format arguments [-Werror=format-security]"
hardeningDisable = [ "format" ];
meta = with lib; {
description = "High performance layout viewer and editor with support for GDS and OASIS";
license = with licenses; [ gpl3 ];
homepage = "https://www.klayout.de/";
platforms = platforms.linux;
maintainers = with maintainers; [ knedlsepp ];
};
}

View file

@ -3,11 +3,11 @@
mkDerivation rec {
pname = "latte-dock";
version = "0.9.9";
version = "0.9.10";
src = fetchurl {
url = "https://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz";
sha256 = "01b2zr2x5hnadkvj687lwi3l6dwq3kdn5y9k4qf1bv0sa4vw6hn9";
sha256 = "11s9fslr33h3ic14ifr43jphf68jpny8jmhvmrrwcz6w0p3falzw";
name = "${pname}-${version}.tar.xz";
};

View file

@ -103,7 +103,7 @@ in buildFHSUserEnv {
# WINE
cups lcms2 mpg123 cairo unixODBC samba4 sane-backends openldap
ocl-icd utillinux
ocl-icd utillinux libkrb5
# Winetricks
fribidi

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "pdfsam-basic";
version = "4.1.1";
version = "4.1.2";
src = fetchurl {
url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb";
sha256 = "17qb3l7xibhb3fbskddvparrj2cxj4kz9qbril094kxrgbvyc9gs";
sha256 = "1k1azxz92vkb4hylk4ki0szfn47ids0lwg01zfs54yc89j0c6142";
};
unpackPhase = ''

View file

@ -1,32 +1,34 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper, cmake, pkgconfig
{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig
, boost, cereal, curl, eigen, expat, glew, libpng, tbb, wxGTK31
, gtest, nlopt, xorg, makeDesktopItem
, cgal_5, gmp, ilmbase, mpfr, qhull, openvdb, systemd
}:
let
nloptVersion = if lib.hasAttr "version" nlopt
then lib.getAttr "version" nlopt
else "2.4";
in
stdenv.mkDerivation rec {
pname = "prusa-slicer";
version = "2.1.1";
version = "2.2.0";
enableParallelBuilding = true;
nativeBuildInputs = [
cmake
makeWrapper
pkgconfig
];
buildInputs = [
boost
cereal
cgal_5
curl
eigen
expat
glew
gmp
ilmbase
libpng
mpfr
nlopt
openvdb
systemd
tbb
wxGTK31
xorg.libX11
@ -35,31 +37,34 @@ stdenv.mkDerivation rec {
checkInputs = [ gtest ];
# The build system uses custom logic - defined in
# xs/src/libnest2d/cmake_modules/FindNLopt.cmake in the package source -
# for finding the nlopt library, which doesn't pick up the package in the nix store.
# We need to set the path via the NLOPT environment variable instead.
# cmake/modules/FindNLopt.cmake in the package source - for finding the nlopt
# library, which doesn't pick up the package in the nix store. We
# additionally need to set the path via the NLOPT environment variable.
NLOPT = nlopt;
# Disable compiler warnings that clutter the build log
# Disable compiler warnings that clutter the build log.
# It seems to be a known issue for Eigen:
# http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221
NIX_CFLAGS_COMPILE = "-Wno-ignored-attributes";
# prusa-slicer uses dlopen on `libudev.so` at runtime
NIX_LDFLAGS = "-ludev";
prePatch = ''
# In nix ioctls.h isn't available from the standard kernel-headers package
# like in other distributions. The copy in glibc seems to be identical to the
# one in the kernel though, so we use that one instead.
sed -i 's|"/usr/include/asm-generic/ioctls.h"|<asm-generic/ioctls.h>|g' src/libslic3r/GCodeSender.cpp
'' + lib.optionalString (lib.versionOlder "2.5" nloptVersion) ''
# Since version 2.5.0 of nlopt we need to link to libnlopt, as libnlopt_cxx
# now seems to be integrated into the main lib.
sed -i 's|nlopt_cxx|nlopt|g' src/libnest2d/cmake_modules/FindNLopt.cmake
sed -i 's|nlopt_cxx|nlopt|g' cmake/modules/FindNLopt.cmake
'';
src = fetchFromGitHub {
owner = "prusa3d";
repo = "PrusaSlicer";
sha256 = "0i393nbc2salb4j5l2hvy03ng7hmf90d2xj653pw9bsikhj0r3jd";
sha256 = "0954k9sm09y8qnz1jyswyysg10k54ywz8mswnwa4n2hnpq9qx73m";
rev = "version_${version}";
};
@ -88,6 +93,6 @@ stdenv.mkDerivation rec {
description = "G-code generator for 3D printer";
homepage = https://github.com/prusa3d/PrusaSlicer;
license = licenses.agpl3;
maintainers = with maintainers; [ tweber ];
maintainers = with maintainers; [ moredread tweber ];
};
}

View file

@ -3,13 +3,13 @@
mkDerivation rec {
pname = "qmapshack";
version = "1.14.0";
version = "1.14.1";
src = fetchFromGitHub {
owner = "Maproom";
repo = pname;
rev = "V_${version}";
sha256 = "07c2hrq9sn456w7l3gdr599rmjfv2k6mh159zza7p1py8r7ywksa";
sha256 = "0hghynb4ac98fg1pwc645zriqkghxwp8mr3jhr87pa6fh0y848py";
};
nativeBuildInputs = [ cmake ];
@ -30,7 +30,7 @@ mkDerivation rec {
];
meta = with lib; {
homepage = https://github.com/Maproom/qmapshack;
homepage = "https://github.com/Maproom/qmapshack";
description = "Consumer grade GIS software";
license = licenses.gpl3;
maintainers = with maintainers; [ dotlambda sikmir ];

View file

@ -1,23 +1,25 @@
{ stdenv, rofi-unwrapped, makeWrapper, hicolor-icon-theme, theme ? null }:
{ symlinkJoin, lib, rofi-unwrapped, makeWrapper, hicolor-icon-theme, theme ? null, plugins ? [] }:
stdenv.mkDerivation {
pname = "rofi";
version = rofi-unwrapped.version;
symlinkJoin {
name = "rofi-${rofi-unwrapped.version}";
paths = [
rofi-unwrapped.out
] ++ (lib.forEach plugins (p: p.out));
buildInputs = [ makeWrapper ];
preferLocalBuild = true;
passthru.unwrapped = rofi-unwrapped;
buildCommand = ''
mkdir $out
ln -s ${rofi-unwrapped}/* $out
rm $out/bin
postBuild = ''
rm -rf $out/bin
mkdir $out/bin
ln -s ${rofi-unwrapped}/bin/* $out/bin
rm $out/bin/rofi
makeWrapper ${rofi-unwrapped}/bin/rofi $out/bin/rofi \
--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share \
${if theme != null then ''--add-flags "-theme ${theme}"'' else ""}
${lib.optionalString (theme != null) ''--add-flags "-theme ${theme}"''} \
${lib.optionalString (plugins != []) ''--add-flags "-plugin-path $out/lib/rofi"''}
rm $out/bin/rofi-theme-selector
makeWrapper ${rofi-unwrapped}/bin/rofi-theme-selector $out/bin/rofi-theme-selector \

View file

@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
patches = [
(fetchpatch {
url = "https://paste.sr.ht/blob/1cbddafac3806afb203940c029e78ce8390d8f49";
sha256 = "18960y9ajilrwwl6mjnrh6wj0sm4ivczmacck36p2dj9xd0n8vkh";
sha256 = "1n4jpmh66p7asjhj0z2s94ny91lmaq4hhh2356nj406vlqr15vbb";
})
];
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
description = "A launcher/menu program for wlroots based wayland compositors such as sway";
homepage = "https://hg.sr.ht/~scoopta/wofi";
license = licenses.gpl3;
maintainers = with maintainers; [ erictapen ];
maintainers = with maintainers; [ elyhaka ];
platforms = with platforms; linux;
};
}

View file

@ -19,13 +19,13 @@
stdenv.mkDerivation rec {
pname = "ephemeral";
version = "6.3.0";
version = "6.3.1";
src = fetchFromGitHub {
owner = "cassidyjames";
repo = "ephemeral";
rev = version;
sha256 = "0h159szljvphs2hvagxwv6nncx46q0mvr4ylhl2nimap9jvss91n";
sha256 = "13rl26lv5xgagiv21yp5pz69bkwh4nnz1lx9wryhsplki45xm1sq";
};
nativeBuildInputs = [
@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "The always-incognito web browser";
homepage = https://github.com/cassidyjames/ephemeral;
homepage = "https://github.com/cassidyjames/ephemeral";
maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers;
platforms = platforms.linux;
license = licenses.gpl3;

View file

@ -28,7 +28,7 @@
, apulse
# Media support (implies audio support)
, mediaSupport ? false
, mediaSupport ? true
, ffmpeg
, gmp
@ -90,19 +90,19 @@ let
fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
# Upstream source
version = "9.0.6";
version = "9.0.7";
lang = "en-US";
srcs = {
x86_64-linux = fetchurl {
url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz";
sha256 = "1vk1pww8zmpjd5snyfz0if9v17g140ymlp6navxp28snzlffahss";
sha256 = "11pgafa2lgj35s6kacy1b7pnzjg3ckqjxg0pf0aywxvc2qr3syv1";
};
i686-linux = fetchurl {
url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz";
sha256 = "0bhikdilfz31iilgb48mayy9f4lilycq24pqsrq7w3dqdjg4v55v";
sha256 = "1mjz41n53gxpaxx7jdxk226f085v23kwr31m20vv4ar4vxfa42d8";
};
};
in

View file

@ -258,5 +258,6 @@ in stdenv.mkDerivation rec {
description = "A cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks";
maintainers = with maintainers; [ cstrahan offline ];
platforms = platforms.unix;
broken = true; # Broken since 2019-10-22 (https://hydra.nixos.org/build/115475123)
};
}

View file

@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub, buildGoPackage}:
buildGoPackage rec {
pname = "dnscontrol";
version = "3.0.0";
goPackagePath = "github.com/StackExchange/dnscontrol";
goDeps = ./deps.nix;
src = fetchFromGitHub {
owner = "StackExchange";
repo = pname;
rev = "v${version}";
sha256 = "1j8i4k7bqkqmi6dmc9fxfab49a7qigig72rlbga902lw336p6cc7";
};
postInstall = ''
rm $bin/bin/{build,convertzone,generate,validate}
'';
meta = with stdenv.lib; {
description = "Synchronize your DNS to multiple providers from a simple DSL";
homepage = "https://stackexchange.github.io/dnscontrol/";
license = licenses.mit;
maintainers = with maintainers; [ mmahut ];
};
}

File diff suppressed because it is too large Load diff

View file

@ -24,10 +24,10 @@ rustPlatform.buildRustPackage rec {
nativeBuildInputs = [
pkgconfig
asciidoctor
]
++ stdenv.lib.optionals stdenv.isDarwin [ makeWrapper libiconv ];
gettext
] ++ stdenv.lib.optionals stdenv.isDarwin [ makeWrapper libiconv ];
buildInputs = [ stfl sqlite curl gettext libxml2 json_c ncurses ]
buildInputs = [ stfl sqlite curl libxml2 json_c ncurses ]
++ stdenv.lib.optional stdenv.isDarwin Security;
postBuild = ''

View file

@ -46,6 +46,7 @@ rustPlatform.buildRustPackage rec {
python3
rustc
wrapGAppsHook
glib
];
buildInputs = [
@ -84,4 +85,3 @@ rustPlatform.buildRustPackage rec {
maintainers = with maintainers; [ dtzWill worldofpeace ];
};
}

View file

@ -18,7 +18,7 @@ python3Packages.buildPythonApplication rec {
meta = with lib; {
description = "Download backlogs from Matrix as raw text";
homepage = src.meta.homepage;
license = licenses.unfree;
license = licenses.gpl1Plus;
maintainers = with maintainers; [ aw ];
platforms = platforms.unix;
};

View file

@ -2,7 +2,7 @@
"name": "riot-web",
"productName": "Riot",
"main": "src/electron-main.js",
"version": "1.5.12",
"version": "1.5.14",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"dependencies": {

View file

@ -610,11 +610,11 @@
};
}
{
name = "minimist___minimist_1.2.0.tgz";
name = "minimist___minimist_1.2.2.tgz";
path = fetchurl {
name = "minimist___minimist_1.2.0.tgz";
url = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz";
sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
name = "minimist___minimist_1.2.2.tgz";
url = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.2.tgz";
sha1 = "b00a00230a1108c48c169e69a291aafda3aacd63";
};
}
{

View file

@ -6,12 +6,12 @@
let
executableName = "riot-desktop";
version = "1.5.13";
version = "1.5.14";
riot-web-src = fetchFromGitHub {
owner = "vector-im";
repo = "riot-web";
rev = "v${version}";
sha256 = "1p2bdqq8yziv3l7kjkwqvi27a8djav7rk3lsipl7dvdjk1926941";
sha256 = "0dkji5rgiakdzcba2v104hhvbw9j98ik95vzwcckksja79zfjmww";
};
electron = electron_7;

View file

@ -12,11 +12,11 @@ let
in stdenv.mkDerivation rec {
pname = "riot-web";
version = "1.5.13";
version = "1.5.14";
src = fetchurl {
url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
sha256 = "0xghpf9rv7ns5aipc6n517qd9dp50rr93arvx6r36kqhkdyzbfad";
sha256 = "1dqqrlr9gby4y8dhw6c50w261bz4f5drkcal98g1396ikcfff3mh";
};
installPhase = ''

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, dpkg
, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, glibc, gnome2, gnome3
, gtk3, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, wrapGAppsHook, xorg
, gtk3, libappindicator-gtk3, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, wrapGAppsHook, xorg
, at-spi2-atk, libuuid, at-spi2-core }:
let
@ -29,6 +29,7 @@ let
gnome2.GConf
gdk-pixbuf
gtk3
libappindicator-gtk3
gnome3.gnome-keyring

View file

@ -27,12 +27,12 @@ let
in
assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
stdenv.mkDerivation rec {
version = "2.7.1";
version = "2.8";
pname = "weechat";
src = fetchurl {
url = "https://weechat.org/files/src/weechat-${version}.tar.bz2";
sha256 = "0acz41jg7lmipni9z2agfqw4dhmx5hf6k9w4pvr4zih1fhkldva2";
sha256 = "0xpzl7985j47rpmly4r833jxd448xpy7chqphaxmhlql2c0gc08z";
};
outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins;

View file

@ -10,13 +10,13 @@ with lib;
mkDerivation rec {
pname = "qbittorrent";
version = "4.2.1";
version = "4.2.2";
src = fetchFromGitHub {
owner = "qbittorrent";
repo = "qbittorrent";
rev = "release-${version}";
sha256 = "0bz4l7awkx4qf3gh9c8gj8fab989439zj8qy4x9r36wxdjg5cxil";
sha256 = "1iqgwhgwa2kx85zj1rwfnnclr1433a7m2gbs3j7w6rx39vxnzhcc";
};
# NOTE: 2018-05-31: CMake is working but it is not officially supported

View file

@ -1,12 +1,14 @@
{ stdenv, fetchurl, openssl, libsamplerate, alsaLib }:
{ stdenv, fetchFromGitHub, openssl, libsamplerate, alsaLib }:
stdenv.mkDerivation rec {
pname = "pjsip";
version = "2.9";
version = "2.10";
src = fetchurl {
url = "https://www.pjsip.org/release/${version}/pjproject-${version}.tar.bz2";
sha256 = "0dm6l8fypkimmzvld35zyykbg957cm5zb4ny3lchgv68amwfz1fi";
src = fetchFromGitHub {
owner = pname;
repo = "pjproject";
rev = version;
sha256 = "1aklicpgwc88578k03i5d5cm5h8mfm7hmx8vfprchbmaa2p8f4z0";
};
patches = [ ./fix-aarch64.patch ];

View file

@ -42,10 +42,11 @@ stdenv.mkDerivation rec {
sha256 = "1abkwxdi154hnry8nsvxbklvbsnvd7cs2as0041h2kbiz824pv31";
};
buildInputs= [ wrapGAppsHook gsettings-desktop-schemas gtk3 gnome3.adwaita-icon-theme dconf ];
phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ];
nativeBuildInputs = [ wrapGAppsHook ];
buildInputs= [ gsettings-desktop-schemas glib gtk3 gnome3.adwaita-icon-theme dconf ];
dontConfigure = true;
dontBuild = true;
dontStrip = true;
dontPatchELF = true;

View file

@ -38,7 +38,7 @@ mkDerivation rec {
including Funcube Dongle Pro/Pro+, rtl-sdr, HackRF, and Universal
Software Radio Peripheral (USRP) devices.
'';
homepage = http://gqrx.dk/;
homepage = "https://gqrx.dk/";
# Some of the code comes from the Cutesdr project, with a BSD license, but
# it's currently unknown which version of the BSD license that is.
license = licenses.gpl3Plus;

View file

@ -5,13 +5,13 @@
python3Packages.buildPythonApplication rec {
pname = "urh";
version = "2.8.3";
version = "2.8.5";
src = fetchFromGitHub {
owner = "jopohl";
repo = pname;
rev = "v${version}";
sha256 = "17104livp6fv2zg56sqv90lqb7ywqhq2qfnal1hriwwh1b92glv8";
sha256 = "060npn0q7yrby2zj9hi8x7raivs91v9hvryvf45k1ipyqh8dgri6";
};
nativeBuildInputs = [ qt5.wrapQtAppsHook ];

View file

@ -6,13 +6,13 @@
mkDerivation rec {
pname = "stellarium";
version = "0.19.3";
version = "0.20.0";
src = fetchFromGitHub {
owner = "Stellarium";
repo = "stellarium";
rev = "v${version}";
sha256 = "175aj4bgi9b6bif6fvjdlpd68brcwij4x3ml0lxk6i51binv233y";
sha256 = "1732dxkgyqd4xf0ry7v930vcbv60l8iry596869z1d47j2piibs4";
};
nativeBuildInputs = [ cmake perl wrapQtAppsHook ];

View file

@ -4,11 +4,11 @@
with python.pkgs;
buildPythonApplication rec {
pname = "deepTools";
version = "3.3.1";
version = "3.4.1";
src = fetchPypi {
inherit pname version;
sha256 = "08p36p9ncj5s8qf1r7h83x4rnmi63l3yk6mnr3wgpg2qgvwl0hji";
sha256 = "05zw9gk17hz08hns5lnhn7l13idg9jdz4gdba6m6gbr84yz149gs";
};
propagatedBuildInputs = [

View file

@ -2,17 +2,17 @@
stdenv.mkDerivation rec {
pname = "stacks";
version = "2.41";
version = "2.52";
src = fetchurl {
url = "http://catchenlab.life.illinois.edu/stacks/source/${pname}-${version}.tar.gz";
sha256 = "0q420rzjb05jfchcls3pysm4hxfgs6xj2jw246isx0il10g93gkq";
sha256 = "0gq3kbj910jsq591wylzjmd23srjlsssmrckmf46m4ysjqdqd8vm";
};
buildInputs = [ zlib ];
meta = {
description = "Software pipeline for building loci from short-read sequences";
homepage = http://catchenlab.life.illinois.edu/stacks/;
homepage = "http://catchenlab.life.illinois.edu/stacks/";
maintainers = [ stdenv.lib.maintainers.bzizou ];
license = stdenv.lib.licenses.gpl3;
};

View file

@ -4,12 +4,12 @@ with stdenv.lib;
stdenv.mkDerivation rec {
pname = "marvin";
version = "20.6.0";
version = "20.9.0";
src = fetchurl {
name = "marvin-${version}.deb";
url = "http://dl.chemaxon.com/marvin/${version}/marvin_linux_${versions.majorMinor version}.deb";
sha256 = "1vd1hsj36wzghpn6xnppjmva35kdcin7h0xdj3xmi4w5l3qw7fl6";
sha256 = "1c6q1vb96jsb37g5qbhzcnasd5pdqjyc190yg3caw3gwrd97889q";
};
nativeBuildInputs = [ dpkg makeWrapper ];
@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
meta = {
description = "A chemical modelling, analysis and structure drawing program";
homepage = https://chemaxon.com/products/marvin;
homepage = "https://chemaxon.com/products/marvin";
maintainers = with maintainers; [ fusion809 ];
license = licenses.unfree;
platforms = platforms.linux;

View file

@ -0,0 +1,53 @@
{ fetchFromGitHub
, stdenv
, mkDerivation
, SDL2
, libGL
, libarchive
, libusb
, qtbase
, qmake
, git
, libpng_apng
, pkgconfig
}:
mkDerivation rec {
pname = "CEmu";
version = "1.3";
src = fetchFromGitHub {
owner = "CE-Programming";
repo = "CEmu";
rev = "v${version}";
sha256 = "1wcdnzcqscawj6jfdj5wwmw9g9vsd6a1rx0rrramakxzf8b7g47r";
fetchSubmodules = true;
};
nativeBuildInputs = [
qmake
git
pkgconfig
];
buildInputs = [
SDL2
libGL
libarchive
libusb
qtbase
libpng_apng
];
qmakeFlags = [
"gui/qt"
];
meta = with stdenv.lib; {
changelog = "https://github.com/CE-Programming/CEmu/releases/tag/v${version}";
description = "Third-party TI-84 Plus CE / TI-83 Premium CE emulator, focused on developer features";
homepage = "https://ce-programming.github.io/CEmu";
license = licenses.gpl3;
maintainers = with maintainers; [ luc65r ];
platforms = [ "x86_64-linux" "x86_64-darwin" ];
};
}

View file

@ -9,6 +9,7 @@
, freetype
, gcc
, glib
, libssh2
, ncurses
, opencv
, openssl
@ -44,9 +45,11 @@ stdenv.mkDerivation rec {
gcc.cc
gcc.libc
glib
libssh2
ncurses
opencv
openssl
stdenv.cc.cc.lib
unixODBC
xkeyboard_config
libxml2
@ -93,7 +96,7 @@ stdenv.mkDerivation rec {
# Fix library paths
cd $out/libexec/Mathematica/Executables
for path in mathematica MathKernel Mathematica WolframKernel wolfram math; do
sed -i -e "2iexport LD_LIBRARY_PATH=${zlib}/lib:\''${LD_LIBRARY_PATH}\n" $path
sed -i -e "2iexport LD_LIBRARY_PATH=${zlib}/lib:${stdenv.cc.cc.lib}/lib:${libssh2}/lib:\''${LD_LIBRARY_PATH}\n" $path
done
# Fix xkeyboard config path for Qt
@ -102,7 +105,7 @@ stdenv.mkDerivation rec {
done
# Remove some broken libraries
rm $out/libexec/Mathematica/SystemFiles/Libraries/Linux-x86-64/libz.so*
rm -f $out/libexec/Mathematica/SystemFiles/Libraries/Linux-x86-64/libz.so*
'';
preFixup = ''

View file

@ -7,6 +7,12 @@
let allVersions = with lib; flip map
# N.B. Versions in this list should be ordered from newest to oldest.
[
{
version = "12.1.0";
lang = "en";
language = "English";
sha256 = "15m9l20jvkxh5w6mbp81ys7mx2lx5j8acw5gz0il89lklclgb8z7";
}
{
version = "12.0.0";
lang = "en";

View file

@ -0,0 +1,25 @@
From 0eaef67b683683fb423fcb2d5096b3cdf9a4a9cd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com>
Date: Sun, 22 Mar 2020 12:26:10 +0100
Subject: [PATCH] Patch plugindir to output
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 50edb74..639ee86 100644
--- a/configure.ac
+++ b/configure.ac
@@ -50,7 +50,7 @@ PKG_CHECK_MODULES([glib], [glib-2.0 >= 2.40 gio-unix-2.0 gmodule-2.0 ])
PKG_CHECK_MODULES([cairo], [cairo])
PKG_CHECK_MODULES([rofi], [rofi >= 1.5.4])
-[rofi_PLUGIN_INSTALL_DIR]="`$PKG_CONFIG --variable=pluginsdir rofi`"
+[rofi_PLUGIN_INSTALL_DIR]="`echo $out/lib/rofi`"
AC_SUBST([rofi_PLUGIN_INSTALL_DIR])
LT_INIT([disable-static])
--
2.25.1

View file

@ -0,0 +1,54 @@
{ stdenv
, fetchFromGitHub
, autoreconfHook
, pkgconfig
, rofi-unwrapped
, libqalculate
, glib
, cairo
, gobject-introspection
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "rofi-calc";
version = "1.6";
src = fetchFromGitHub {
owner = "svenstaro";
repo = pname;
rev = "v${version}";
sha256 = "00pz0s99pihjdjy8pl4ckg2qciyp32k439lmjb5iazwck512ar92";
};
nativeBuildInputs = [
autoreconfHook
pkgconfig
gobject-introspection
wrapGAppsHook
];
buildInputs = [
rofi-unwrapped
libqalculate
glib
cairo
];
patches = [
./0001-Patch-plugindir-to-output.patch
];
postPatch = ''
sed "s|qalc_binary = \"qalc\"|qalc_binary = \"${libqalculate}/bin/qalc\"|" -i src/calc.c
'';
meta = with stdenv.lib; {
description = "Do live calculations in rofi!";
homepage = "https://github.com/svenstaro/rofi-calc";
license = licenses.mit;
maintainers = with maintainers; [ luc65r albakham ];
platforms = [ "x86_64-linux" "x86_64-darwin" ];
};
}

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