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 .version-suffix
.DS_Store .DS_Store
.mypy_cache
/pkgs/development/libraries/qt-5/*/tmp/ /pkgs/development/libraries/qt-5/*/tmp/
/pkgs/desktops/kde-5/*/tmp/ /pkgs/desktops/kde-5/*/tmp/

View File

@ -302,6 +302,12 @@
githubId = 786394; githubId = 786394;
name = "Alexander Krupenkin "; name = "Alexander Krupenkin ";
}; };
albakham = {
email = "dev@geber.ga";
github = "albakham";
githubId = 43479487;
name = "Titouan Biteau";
};
alexarice = { alexarice = {
email = "alexrice999@hotmail.co.uk"; email = "alexrice999@hotmail.co.uk";
github = "alexarice"; github = "alexarice";
@ -412,10 +418,15 @@
githubId = 20530052; githubId = 20530052;
name = "Andrew Miloradovsky"; name = "Andrew Miloradovsky";
}; };
aminb = { notbandali = {
email = "amin@aminb.org";
github = "aminb";
name = "Amin Bandali"; 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 = { aminechikhaoui = {
email = "amine.chikhaoui91@gmail.com"; email = "amine.chikhaoui91@gmail.com";
@ -645,6 +656,12 @@
githubId = 10285250; githubId = 10285250;
name = "Artur E. Ruuge"; name = "Artur E. Ruuge";
}; };
asbachb = {
email = "asbachb-nixpkgs-5c2a@impl.it";
github = "asbachb";
githubId = 1482768;
name = "Benjamin Asbach";
};
ashalkhakov = { ashalkhakov = {
email = "artyom.shalkhakov@gmail.com"; email = "artyom.shalkhakov@gmail.com";
github = "ashalkhakov"; github = "ashalkhakov";
@ -4387,6 +4404,12 @@
github = "ltavard"; github = "ltavard";
name = "Laure Tavard"; name = "Laure Tavard";
}; };
luc65r = {
email = "lucas@ransan.tk";
github = "luc65r";
githubId = 59375051;
name = "Lucas Ransan";
};
lucus16 = { lucus16 = {
email = "lars.jellema@gmail.com"; email = "lars.jellema@gmail.com";
github = "Lucus16"; github = "Lucus16";
@ -8327,6 +8350,10 @@
githubId = 474343; githubId = 474343;
name = "Xavier Zwirtz"; 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]: def create_vlan(vlan_nr: str) -> Tuple[str, str, "subprocess.Popen[bytes]", Any]:
global log global log
log.log("starting VDE switch for network {}".format(vlan_nr)) 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() pty_master, pty_slave = pty.openpty()
vde_process = subprocess.Popen( vde_process = subprocess.Popen(
["vde_switch", "-s", vde_socket, "--dirmode", "0777"], ["vde_switch", "-s", vde_socket, "--dirmode", "0700"],
bufsize=1, bufsize=1,
stdin=pty_slave, stdin=pty_slave,
stdout=subprocess.PIPE, stdout=subprocess.PIPE,
@ -939,7 +941,7 @@ if __name__ == "__main__":
machine.process.kill() machine.process.kill()
for _, _, process, _ in vde_sockets: for _, _, process, _ in vde_sockets:
process.kill() process.terminate()
log.close() log.close()
tic = time.time() 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/usb-wwan.nix
./hardware/onlykey.nix ./hardware/onlykey.nix
./hardware/wooting.nix ./hardware/wooting.nix
./hardware/uinput.nix
./hardware/video/amdgpu.nix ./hardware/video/amdgpu.nix
./hardware/video/amdgpu-pro.nix ./hardware/video/amdgpu-pro.nix
./hardware/video/ati.nix ./hardware/video/ati.nix
@ -368,6 +369,7 @@
./services/hardware/thermald.nix ./services/hardware/thermald.nix
./services/hardware/undervolt.nix ./services/hardware/undervolt.nix
./services/hardware/vdr.nix ./services/hardware/vdr.nix
./services/hardware/xow.nix
./services/logging/SystemdJournal2Gelf.nix ./services/logging/SystemdJournal2Gelf.nix
./services/logging/awstats.nix ./services/logging/awstats.nix
./services/logging/fluentd.nix ./services/logging/fluentd.nix
@ -394,6 +396,7 @@
./services/mail/mailcatcher.nix ./services/mail/mailcatcher.nix
./services/mail/mailhog.nix ./services/mail/mailhog.nix
./services/mail/mailman.nix ./services/mail/mailman.nix
./services/mail/magic-wormhole-mailbox-server.nix
./services/mail/mlmmj.nix ./services/mail/mlmmj.nix
./services/mail/offlineimap.nix ./services/mail/offlineimap.nix
./services/mail/opendkim.nix ./services/mail/opendkim.nix

View File

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

View File

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

View File

@ -4,14 +4,13 @@ with lib;
let let
cfg = config.services.factorio; cfg = config.services.factorio;
factorio = pkgs.factorio-headless;
name = "Factorio"; name = "Factorio";
stateDir = "/var/lib/${cfg.stateDirName}"; stateDir = "/var/lib/${cfg.stateDirName}";
mkSavePath = name: "${stateDir}/saves/${name}.zip"; mkSavePath = name: "${stateDir}/saves/${name}.zip";
configFile = pkgs.writeText "factorio.conf" '' configFile = pkgs.writeText "factorio.conf" ''
use-system-read-write-data-directories=true use-system-read-write-data-directories=true
[path] [path]
read-data=${factorio}/share/factorio/data read-data=${cfg.package}/share/factorio/data
write-data=${stateDir} write-data=${stateDir}
''; '';
serverSettings = { serverSettings = {
@ -37,7 +36,7 @@ let
only_admins_can_pause_the_game = true; only_admins_can_pause_the_game = true;
autosave_only_on_server = true; autosave_only_on_server = true;
admins = []; admins = [];
}; } // cfg.extraSettings;
serverSettingsFile = pkgs.writeText "server-settings.json" (builtins.toJSON (filterAttrsRecursive (n: v: v != null) serverSettings)); serverSettingsFile = pkgs.writeText "server-settings.json" (builtins.toJSON (filterAttrsRecursive (n: v: v != null) serverSettings));
modDir = pkgs.factorio-utils.mkModDirDrv cfg.mods; modDir = pkgs.factorio-utils.mkModDirDrv cfg.mods;
in in
@ -115,6 +114,14 @@ in
Description of the game that will appear in the listing. 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 { public = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
@ -136,6 +143,15 @@ in
Your factorio.com login credentials. Required for games with visibility public. 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 { password = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
@ -184,7 +200,7 @@ in
preStart = toString [ preStart = toString [
"test -e ${stateDir}/saves/${cfg.saveName}.zip" "test -e ${stateDir}/saves/${cfg.saveName}.zip"
"||" "||"
"${factorio}/bin/factorio" "${cfg.package}/bin/factorio"
"--config=${cfg.configFile}" "--config=${cfg.configFile}"
"--create=${mkSavePath cfg.saveName}" "--create=${mkSavePath cfg.saveName}"
(optionalString (cfg.mods != []) "--mod-directory=${modDir}") (optionalString (cfg.mods != []) "--mod-directory=${modDir}")
@ -197,7 +213,7 @@ in
StateDirectory = cfg.stateDirName; StateDirectory = cfg.stateDirName;
UMask = "0007"; UMask = "0007";
ExecStart = toString [ ExecStart = toString [
"${factorio}/bin/factorio" "${cfg.package}/bin/factorio"
"--config=${cfg.configFile}" "--config=${cfg.configFile}"
"--port=${toString cfg.port}" "--port=${toString cfg.port}"
"--start-server=${mkSavePath cfg.saveName}" "--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; add_header Referrer-Policy no-referrer;
access_log off; 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; try_files $uri /index.php$request_uri;
access_log off; access_log off;
''; '';

View File

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

View File

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

View File

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

View File

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

View File

@ -291,13 +291,19 @@ let
${optionalString config.virtualisation.libvirtd.enable '' ${optionalString config.virtualisation.libvirtd.enable ''
# Enslave dynamically added interfaces which may be lost on nixos-rebuild # 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 # 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.
${pkgs.libvirt}/bin/virsh -c $uri dumpxml "$dom" | \ # `libvirtd.service` will set up bridge interfaces when it will start normally.
${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 ${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
done fi
''} ''}
# Enable stp on the interface # Enable stp on the interface

View File

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

View File

@ -2,27 +2,38 @@
with lib; with lib;
let let
diskSize = 2048; cfg = config.virtualisation.azureImage;
in 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 ]; imports = [ ./azure-common.nix ];
# Azure metadata is available as a CD-ROM drive. options = {
fileSystems."/metadata".device = "/dev/sr0"; 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;
};
systemd.services.fetch-ssh-keys = # Azure metadata is available as a CD-ROM drive.
{ description = "Fetch host keys and authorized_keys for root user"; fileSystems."/metadata".device = "/dev/sr0";
systemd.services.fetch-ssh-keys = {
description = "Fetch host keys and authorized_keys for root user";
wantedBy = [ "sshd.service" "waagent.service" ]; wantedBy = [ "sshd.service" "waagent.service" ];
before = [ "sshd.service" "waagent.service" ]; before = [ "sshd.service" "waagent.service" ];
@ -54,6 +65,6 @@ in
serviceConfig.RemainAfterExit = true; serviceConfig.RemainAfterExit = true;
serviceConfig.StandardError = "journal+console"; serviceConfig.StandardError = "journal+console";
serviceConfig.StandardOutput = "journal+console"; serviceConfig.StandardOutput = "journal+console";
}; };
};
} }

View File

@ -214,14 +214,14 @@ in {
}; };
systemd.services.libvirtd = { systemd.services.libvirtd = {
description = "Libvirt Virtual Machine Management Daemon";
wantedBy = [ "multi-user.target" ];
requires = [ "libvirtd-config.service" ]; requires = [ "libvirtd-config.service" ];
after = [ "systemd-udev-settle.service" "libvirtd-config.service" ] after = [ "systemd-udev-settle.service" "libvirtd-config.service" ]
++ optional vswitch.enable "ovs-vswitchd.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 path = [ cfg.qemuPackage ] # libvirtd requires qemu-img to manage disk images
++ optional vswitch.enable vswitch.package; ++ optional vswitch.enable vswitch.package;
@ -266,5 +266,8 @@ in {
serviceConfig.ExecStart = "@${pkgs.libvirt}/sbin/virtlockd virtlockd"; serviceConfig.ExecStart = "@${pkgs.libvirt}/sbin/virtlockd virtlockd";
restartIfChanged = false; 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 {}; #logstash = handleTest ./logstash.nix {};
lorri = handleTest ./lorri/default.nix {}; lorri = handleTest ./lorri/default.nix {};
magnetico = handleTest ./magnetico.nix {}; magnetico = handleTest ./magnetico.nix {};
magic-wormhole-mailbox-server = handleTest ./magic-wormhole-mailbox-server.nix {};
mailcatcher = handleTest ./mailcatcher.nix {}; mailcatcher = handleTest ./mailcatcher.nix {};
mathics = handleTest ./mathics.nix {}; mathics = handleTest ./mathics.nix {};
matomo = handleTest ./matomo.nix {}; matomo = handleTest ./matomo.nix {};

View File

@ -24,7 +24,6 @@ in {
enable = true; enable = true;
serverId = "aa76c84b-50b0-4711-a0a0-1ee30e45bbd0"; serverId = "aa76c84b-50b0-4711-a0a0-1ee30e45bbd0";
listenAddress = "[::]:80"; listenAddress = "[::]:80";
jvmPackage = pkgs.jdk12_headless;
jvmHeapLimit = "1g"; jvmHeapLimit = "1g";
plugins = [ lfs ]; 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 = { nodes = {
node = {...}: { node = {...}: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# mongodb-3_4 mongodb-3_4
mongodb-3_6 mongodb-3_6
mongodb-4_0 mongodb-4_0
]; ];
@ -43,7 +43,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
testScript = '' testScript = ''
node.start() node.start()
'' ''
# + runMongoDBTest pkgs.mongodb-3_4 + runMongoDBTest pkgs.mongodb-3_4
+ runMongoDBTest pkgs.mongodb-3_6 + runMongoDBTest pkgs.mongodb-3_6
+ runMongoDBTest pkgs.mongodb-4_0 + runMongoDBTest pkgs.mongodb-4_0
+ '' + ''

View File

@ -68,6 +68,11 @@ import ./make-test-python.nix ({ pkgs, ...} : {
"testdb2.*" = "ALL PRIVILEGES"; "testdb2.*" = "ALL PRIVILEGES";
}; };
}]; }];
services.mysql.settings = {
mysqld = {
plugin-load-add = [ "ha_tokudb.so" "ha_rocksdb.so" ];
};
};
services.mysql.package = pkgs.mariadb; services.mysql.package = pkgs.mariadb;
}; };
@ -106,5 +111,33 @@ import ./make-test-python.nix ({ pkgs, ...} : {
mariadb.succeed( mariadb.succeed(
"echo 'use testdb; select test_id from tests;' | sudo -u testuser mysql -u testuser -N | grep 42" "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 = { meta = {
description = "Creates MIDI tracks for a soloist to perform over from a user supplied file containing chords"; 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; license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.magnetophon ]; maintainers = [ stdenv.lib.maintainers.magnetophon ];
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "aeolus"; pname = "aeolus";
version = "0.9.7"; version = "0.9.8";
src = fetchurl { src = fetchurl {
url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2"; url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
sha256 = "0lhbr95hmbfj8ynbcpawn7jzjbpvrkm6k2yda39yhqk1bzg38v2k"; sha256 = "1zfr3567mwbqsfybkhg03n5dvmhllk88c9ayb10qzz2nh6d7g2qn";
}; };
buildInputs = [ buildInputs = [
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "Synthetized (not sampled) pipe organ emulator"; 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; license = stdenv.lib.licenses.lgpl3;
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.nico202 ]; 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 { stdenv.mkDerivation rec {
pname = "deadbeef"; pname = "deadbeef";
version = "1.8.2"; version = "1.8.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "DeaDBeeF-Player"; owner = "DeaDBeeF-Player";
repo = "deadbeef"; repo = "deadbeef";
rev = version; rev = version;
sha256 = "016wwnh5jqdcfxn1ff6in5dz73c3gdhh3fva8inq7sc3vzdz5khj"; sha256 = "0n0q7zfl56gnadcqqp5rg7sbh1xvfcmp7cvmh2ax07037b346qig";
}; };
buildInputs = with stdenv.lib; [ jansson ] buildInputs = with stdenv.lib; [ jansson ]
@ -108,7 +108,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Ultimate Music Player for GNU/Linux"; description = "Ultimate Music Player for GNU/Linux";
homepage = http://deadbeef.sourceforge.net/; homepage = "http://deadbeef.sourceforge.net/";
license = licenses.gpl2; license = licenses.gpl2;
platforms = [ "x86_64-linux" "i686-linux" ]; platforms = [ "x86_64-linux" "i686-linux" ];
maintainers = [ maintainers.abbradar ]; 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 rustc
python3 python3
wrapGAppsHook wrapGAppsHook
glib
]; ];
buildInputs = [ buildInputs = [

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "lsp-plugins"; pname = "lsp-plugins";
version = "1.1.13"; version = "1.1.15";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "sadko4u"; owner = "sadko4u";
repo = pname; repo = pname;
rev = "${pname}-${version}"; rev = "${pname}-${version}";
sha256 = "00mhrr873kgcnqy3q0yi1r5zacfcvz7fqpzsmfhw5d095jm970al"; sha256 = "0lynyjs5zp27gnzcv8a23pvb7c1ghzc2dspypca3ciq40bfpfzik";
}; };
nativeBuildInputs = [ pkgconfig php makeWrapper ]; nativeBuildInputs = [ pkgconfig php makeWrapper ];
@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
makeFlags = [ makeFlags = [
"PREFIX=${placeholder ''out''}" "PREFIX=${placeholder ''out''}"
"ETC_PATH=$(out)/etc"
]; ];
NIX_CFLAGS_COMPILE = "-DLSP_NO_EXPERIMENTAL"; 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 , fftw, flac, faad2, glibcLocales, mp4v2
, libid3tag, libmad, libopus, libshout, libsndfile, libusb1, libvorbis , libid3tag, libmad, libopus, libshout, libsndfile, libusb1, libvorbis
, libGLU, libxcb, lilv, lv2, opusfile , libGLU, libxcb, lilv, lv2, opusfile
@ -6,6 +6,17 @@
, qtx11extras, rubberband, scons, sqlite, taglib, upower, vamp-plugin-sdk , 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 { mkDerivation rec {
pname = "mixxx"; pname = "mixxx";
version = "2.2.3"; version = "2.2.3";
@ -19,7 +30,7 @@ mkDerivation rec {
nativeBuildInputs = [ scons.py2 ]; nativeBuildInputs = [ scons.py2 ];
buildInputs = [ 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 libusb1 libvorbis libxcb libGLU lilv lv2 opusfile pkgconfig portaudio portmidi protobuf qtbase qtscript qtsvg
qtx11extras rubberband sqlite taglib upower vamp-plugin-sdk qtx11extras rubberband sqlite taglib upower vamp-plugin-sdk
]; ];

View File

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

View File

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

View File

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

View File

@ -7,7 +7,7 @@ stdenv.mkDerivation {
version = "0.49.6"; version = "0.49.6";
src = fetchurl { 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"; sha256 = "12f7x8kw4fw1j0xkwjrp54cy4cv1ql0zwz2ba5arclk4pf6bhl7q";
}; };
@ -23,7 +23,7 @@ stdenv.mkDerivation {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Cross-platform multitrack audio recording and audio editing suite"; 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 ]; license = with licenses; [ gpl2Plus lgpl21Plus ];
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ coconnor ]; maintainers = with maintainers; [ coconnor ];

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "calcurse"; pname = "calcurse";
version = "4.5.1"; version = "4.6.0";
src = fetchurl { src = fetchurl {
url = "https://calcurse.org/files/${pname}-${version}.tar.gz"; url = "https://calcurse.org/files/${pname}-${version}.tar.gz";
sha256 = "0cgkd285x5pk62lmdx9fjxl46c5lj8wj2cqbxq7d99yb4il5fdjk"; sha256 = "0hzhdpkkn75jlymanwzl69hrrf1pw29hrchr11wlxqjpl43h62gs";
}; };
buildInputs = [ ncurses gettext python3 python3Packages.wrapPython ]; 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 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. 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; license = licenses.bsd2;
platforms = platforms.linux; platforms = platforms.linux;
}; };

View File

@ -2,11 +2,11 @@
pythonPackages.buildPythonApplication rec { pythonPackages.buildPythonApplication rec {
pname = "cherrytree"; pname = "cherrytree";
version = "0.39.0"; version = "0.39.1";
src = fetchurl { src = fetchurl {
url = "https://www.giuspen.com/software/${pname}-${version}.tar.xz"; url = "https://www.giuspen.com/software/${pname}-${version}.tar.xz";
sha256 = "07ibr891qix7xa2sk6fdxdsji8q56c1wf786mxaz77500m0xfx4m"; sha256 = "0qhycblnixvbybzr8psgmgcpfs6jc9m0p2h9lmd5zmiaggqlcsv7";
}; };
nativeBuildInputs = [ gettext ]; 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"; sha256 = "0wdkvg1hmqp1gaym804lw09x4ngf5ffasd861jhflpy7djbmkfn8";
}; };
patches = [ ./curaengine-openmp-compat.patch ];
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = [ libarcusLulzbot stb protobuf ]; buildInputs = [ libarcusLulzbot stb protobuf ];

View File

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

View File

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

View File

@ -20,14 +20,14 @@
with python3Packages; with python3Packages;
buildPythonApplication rec { buildPythonApplication rec {
pname = "kitty"; pname = "kitty";
version = "0.17.1"; version = "0.17.2";
format = "other"; format = "other";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kovidgoyal"; owner = "kovidgoyal";
repo = "kitty"; repo = "kitty";
rev = "v${version}"; rev = "v${version}";
sha256 = "1ydli1phgcy17iz6jxgixn8yc86dp8q2yfxk08c8lwh7gxjnjz7f"; sha256 = "0xiwz89ynhh8aj0c9jbqfsxf129hnzs0gz4bzcparnjisq2sh3cq";
}; };
buildInputs = [ 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 { mkDerivation rec {
pname = "latte-dock"; pname = "latte-dock";
version = "0.9.9"; version = "0.9.10";
src = fetchurl { src = fetchurl {
url = "https://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz"; url = "https://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz";
sha256 = "01b2zr2x5hnadkvj687lwi3l6dwq3kdn5y9k4qf1bv0sa4vw6hn9"; sha256 = "11s9fslr33h3ic14ifr43jphf68jpny8jmhvmrrwcz6w0p3falzw";
name = "${pname}-${version}.tar.xz"; name = "${pname}-${version}.tar.xz";
}; };

View File

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

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pdfsam-basic"; pname = "pdfsam-basic";
version = "4.1.1"; version = "4.1.2";
src = fetchurl { src = fetchurl {
url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb"; url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb";
sha256 = "17qb3l7xibhb3fbskddvparrj2cxj4kz9qbril094kxrgbvyc9gs"; sha256 = "1k1azxz92vkb4hylk4ki0szfn47ids0lwg01zfs54yc89j0c6142";
}; };
unpackPhase = '' 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 , boost, cereal, curl, eigen, expat, glew, libpng, tbb, wxGTK31
, gtest, nlopt, xorg, makeDesktopItem , 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 { stdenv.mkDerivation rec {
pname = "prusa-slicer"; pname = "prusa-slicer";
version = "2.1.1"; version = "2.2.0";
enableParallelBuilding = true; enableParallelBuilding = true;
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
makeWrapper
pkgconfig pkgconfig
]; ];
buildInputs = [ buildInputs = [
boost boost
cereal cereal
cgal_5
curl curl
eigen eigen
expat expat
glew glew
gmp
ilmbase
libpng libpng
mpfr
nlopt
openvdb
systemd
tbb tbb
wxGTK31 wxGTK31
xorg.libX11 xorg.libX11
@ -35,31 +37,34 @@ stdenv.mkDerivation rec {
checkInputs = [ gtest ]; checkInputs = [ gtest ];
# The build system uses custom logic - defined in # The build system uses custom logic - defined in
# xs/src/libnest2d/cmake_modules/FindNLopt.cmake in the package source - # cmake/modules/FindNLopt.cmake in the package source - for finding the nlopt
# for finding the nlopt library, which doesn't pick up the package in the nix store. # library, which doesn't pick up the package in the nix store. We
# We need to set the path via the NLOPT environment variable instead. # additionally need to set the path via the NLOPT environment variable.
NLOPT = nlopt; 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: # It seems to be a known issue for Eigen:
# http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221 # http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221
NIX_CFLAGS_COMPILE = "-Wno-ignored-attributes"; NIX_CFLAGS_COMPILE = "-Wno-ignored-attributes";
# prusa-slicer uses dlopen on `libudev.so` at runtime
NIX_LDFLAGS = "-ludev";
prePatch = '' prePatch = ''
# In nix ioctls.h isn't available from the standard kernel-headers package # 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 # 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. # 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 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 # 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. # 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 { src = fetchFromGitHub {
owner = "prusa3d"; owner = "prusa3d";
repo = "PrusaSlicer"; repo = "PrusaSlicer";
sha256 = "0i393nbc2salb4j5l2hvy03ng7hmf90d2xj653pw9bsikhj0r3jd"; sha256 = "0954k9sm09y8qnz1jyswyysg10k54ywz8mswnwa4n2hnpq9qx73m";
rev = "version_${version}"; rev = "version_${version}";
}; };
@ -88,6 +93,6 @@ stdenv.mkDerivation rec {
description = "G-code generator for 3D printer"; description = "G-code generator for 3D printer";
homepage = https://github.com/prusa3d/PrusaSlicer; homepage = https://github.com/prusa3d/PrusaSlicer;
license = licenses.agpl3; license = licenses.agpl3;
maintainers = with maintainers; [ tweber ]; maintainers = with maintainers; [ moredread tweber ];
}; };
} }

View File

@ -3,13 +3,13 @@
mkDerivation rec { mkDerivation rec {
pname = "qmapshack"; pname = "qmapshack";
version = "1.14.0"; version = "1.14.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Maproom"; owner = "Maproom";
repo = pname; repo = pname;
rev = "V_${version}"; rev = "V_${version}";
sha256 = "07c2hrq9sn456w7l3gdr599rmjfv2k6mh159zza7p1py8r7ywksa"; sha256 = "0hghynb4ac98fg1pwc645zriqkghxwp8mr3jhr87pa6fh0y848py";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
@ -30,7 +30,7 @@ mkDerivation rec {
]; ];
meta = with lib; { meta = with lib; {
homepage = https://github.com/Maproom/qmapshack; homepage = "https://github.com/Maproom/qmapshack";
description = "Consumer grade GIS software"; description = "Consumer grade GIS software";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ dotlambda sikmir ]; 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 { symlinkJoin {
pname = "rofi"; name = "rofi-${rofi-unwrapped.version}";
version = rofi-unwrapped.version;
paths = [
rofi-unwrapped.out
] ++ (lib.forEach plugins (p: p.out));
buildInputs = [ makeWrapper ]; buildInputs = [ makeWrapper ];
preferLocalBuild = true; preferLocalBuild = true;
passthru.unwrapped = rofi-unwrapped; passthru.unwrapped = rofi-unwrapped;
buildCommand = '' postBuild = ''
mkdir $out rm -rf $out/bin
ln -s ${rofi-unwrapped}/* $out
rm $out/bin
mkdir $out/bin mkdir $out/bin
ln -s ${rofi-unwrapped}/bin/* $out/bin ln -s ${rofi-unwrapped}/bin/* $out/bin
rm $out/bin/rofi rm $out/bin/rofi
makeWrapper ${rofi-unwrapped}/bin/rofi $out/bin/rofi \ makeWrapper ${rofi-unwrapped}/bin/rofi $out/bin/rofi \
--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share \ --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 rm $out/bin/rofi-theme-selector
makeWrapper ${rofi-unwrapped}/bin/rofi-theme-selector $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 = [ patches = [
(fetchpatch { (fetchpatch {
url = "https://paste.sr.ht/blob/1cbddafac3806afb203940c029e78ce8390d8f49"; 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"; description = "A launcher/menu program for wlroots based wayland compositors such as sway";
homepage = "https://hg.sr.ht/~scoopta/wofi"; homepage = "https://hg.sr.ht/~scoopta/wofi";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ erictapen ]; maintainers = with maintainers; [ elyhaka ];
platforms = with platforms; linux; platforms = with platforms; linux;
}; };
} }

View File

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

View File

@ -28,7 +28,7 @@
, apulse , apulse
# Media support (implies audio support) # Media support (implies audio support)
, mediaSupport ? false , mediaSupport ? true
, ffmpeg , ffmpeg
, gmp , gmp
@ -90,19 +90,19 @@ let
fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ]; fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
# Upstream source # Upstream source
version = "9.0.6"; version = "9.0.7";
lang = "en-US"; lang = "en-US";
srcs = { srcs = {
x86_64-linux = fetchurl { x86_64-linux = fetchurl {
url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"; url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz";
sha256 = "1vk1pww8zmpjd5snyfz0if9v17g140ymlp6navxp28snzlffahss"; sha256 = "11pgafa2lgj35s6kacy1b7pnzjg3ckqjxg0pf0aywxvc2qr3syv1";
}; };
i686-linux = fetchurl { i686-linux = fetchurl {
url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"; url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz";
sha256 = "0bhikdilfz31iilgb48mayy9f4lilycq24pqsrq7w3dqdjg4v55v"; sha256 = "1mjz41n53gxpaxx7jdxk226f085v23kwr31m20vv4ar4vxfa42d8";
}; };
}; };
in 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"; description = "A cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks";
maintainers = with maintainers; [ cstrahan offline ]; maintainers = with maintainers; [ cstrahan offline ];
platforms = platforms.unix; 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 = [ nativeBuildInputs = [
pkgconfig pkgconfig
asciidoctor asciidoctor
] gettext
++ stdenv.lib.optionals stdenv.isDarwin [ makeWrapper libiconv ]; ] ++ 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; ++ stdenv.lib.optional stdenv.isDarwin Security;
postBuild = '' postBuild = ''

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, dpkg { stdenv, fetchurl, dpkg
, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, glibc, gnome2, gnome3 , 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 }: , at-spi2-atk, libuuid, at-spi2-core }:
let let
@ -29,6 +29,7 @@ let
gnome2.GConf gnome2.GConf
gdk-pixbuf gdk-pixbuf
gtk3 gtk3
libappindicator-gtk3
gnome3.gnome-keyring gnome3.gnome-keyring

View File

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

View File

@ -10,13 +10,13 @@ with lib;
mkDerivation rec { mkDerivation rec {
pname = "qbittorrent"; pname = "qbittorrent";
version = "4.2.1"; version = "4.2.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "qbittorrent"; owner = "qbittorrent";
repo = "qbittorrent"; repo = "qbittorrent";
rev = "release-${version}"; rev = "release-${version}";
sha256 = "0bz4l7awkx4qf3gh9c8gj8fab989439zj8qy4x9r36wxdjg5cxil"; sha256 = "1iqgwhgwa2kx85zj1rwfnnclr1433a7m2gbs3j7w6rx39vxnzhcc";
}; };
# NOTE: 2018-05-31: CMake is working but it is not officially supported # 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 { stdenv.mkDerivation rec {
pname = "pjsip"; pname = "pjsip";
version = "2.9"; version = "2.10";
src = fetchurl { src = fetchFromGitHub {
url = "https://www.pjsip.org/release/${version}/pjproject-${version}.tar.bz2"; owner = pname;
sha256 = "0dm6l8fypkimmzvld35zyykbg957cm5zb4ny3lchgv68amwfz1fi"; repo = "pjproject";
rev = version;
sha256 = "1aklicpgwc88578k03i5d5cm5h8mfm7hmx8vfprchbmaa2p8f4z0";
}; };
patches = [ ./fix-aarch64.patch ]; patches = [ ./fix-aarch64.patch ];

View File

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

View File

@ -38,7 +38,7 @@ mkDerivation rec {
including Funcube Dongle Pro/Pro+, rtl-sdr, HackRF, and Universal including Funcube Dongle Pro/Pro+, rtl-sdr, HackRF, and Universal
Software Radio Peripheral (USRP) devices. 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 # 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. # it's currently unknown which version of the BSD license that is.
license = licenses.gpl3Plus; license = licenses.gpl3Plus;

View File

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

View File

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

View File

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

View File

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

View File

@ -4,12 +4,12 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "marvin"; pname = "marvin";
version = "20.6.0"; version = "20.9.0";
src = fetchurl { src = fetchurl {
name = "marvin-${version}.deb"; name = "marvin-${version}.deb";
url = "http://dl.chemaxon.com/marvin/${version}/marvin_linux_${versions.majorMinor version}.deb"; url = "http://dl.chemaxon.com/marvin/${version}/marvin_linux_${versions.majorMinor version}.deb";
sha256 = "1vd1hsj36wzghpn6xnppjmva35kdcin7h0xdj3xmi4w5l3qw7fl6"; sha256 = "1c6q1vb96jsb37g5qbhzcnasd5pdqjyc190yg3caw3gwrd97889q";
}; };
nativeBuildInputs = [ dpkg makeWrapper ]; nativeBuildInputs = [ dpkg makeWrapper ];
@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "A chemical modelling, analysis and structure drawing program"; 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 ]; maintainers = with maintainers; [ fusion809 ];
license = licenses.unfree; license = licenses.unfree;
platforms = platforms.linux; 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 , freetype
, gcc , gcc
, glib , glib
, libssh2
, ncurses , ncurses
, opencv , opencv
, openssl , openssl
@ -44,9 +45,11 @@ stdenv.mkDerivation rec {
gcc.cc gcc.cc
gcc.libc gcc.libc
glib glib
libssh2
ncurses ncurses
opencv opencv
openssl openssl
stdenv.cc.cc.lib
unixODBC unixODBC
xkeyboard_config xkeyboard_config
libxml2 libxml2
@ -93,7 +96,7 @@ stdenv.mkDerivation rec {
# Fix library paths # Fix library paths
cd $out/libexec/Mathematica/Executables cd $out/libexec/Mathematica/Executables
for path in mathematica MathKernel Mathematica WolframKernel wolfram math; do 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 done
# Fix xkeyboard config path for Qt # Fix xkeyboard config path for Qt
@ -102,7 +105,7 @@ stdenv.mkDerivation rec {
done done
# Remove some broken libraries # 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 = '' preFixup = ''

View File

@ -7,6 +7,12 @@
let allVersions = with lib; flip map let allVersions = with lib; flip map
# N.B. Versions in this list should be ordered from newest to oldest. # 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"; version = "12.0.0";
lang = "en"; 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