Merge branch 'master' into staging-next
This commit is contained in:
commit
3e0f4e202f
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -11,6 +11,7 @@ result-*
|
|||
.version-suffix
|
||||
|
||||
.DS_Store
|
||||
.mypy_cache
|
||||
|
||||
/pkgs/development/libraries/qt-5/*/tmp/
|
||||
/pkgs/desktops/kde-5/*/tmp/
|
||||
|
|
|
@ -302,6 +302,12 @@
|
|||
githubId = 786394;
|
||||
name = "Alexander Krupenkin ";
|
||||
};
|
||||
albakham = {
|
||||
email = "dev@geber.ga";
|
||||
github = "albakham";
|
||||
githubId = 43479487;
|
||||
name = "Titouan Biteau";
|
||||
};
|
||||
alexarice = {
|
||||
email = "alexrice999@hotmail.co.uk";
|
||||
github = "alexarice";
|
||||
|
@ -412,10 +418,15 @@
|
|||
githubId = 20530052;
|
||||
name = "Andrew Miloradovsky";
|
||||
};
|
||||
aminb = {
|
||||
email = "amin@aminb.org";
|
||||
github = "aminb";
|
||||
notbandali = {
|
||||
name = "Amin Bandali";
|
||||
email = "bandali@gnu.org";
|
||||
github = "notbandali";
|
||||
githubId = 1254858;
|
||||
keys = [{
|
||||
longkeyid = "rsa4096/0xA21A020248816103";
|
||||
fingerprint = "BE62 7373 8E61 6D6D 1B3A 08E8 A21A 0202 4881 6103";
|
||||
}];
|
||||
};
|
||||
aminechikhaoui = {
|
||||
email = "amine.chikhaoui91@gmail.com";
|
||||
|
@ -645,6 +656,12 @@
|
|||
githubId = 10285250;
|
||||
name = "Artur E. Ruuge";
|
||||
};
|
||||
asbachb = {
|
||||
email = "asbachb-nixpkgs-5c2a@impl.it";
|
||||
github = "asbachb";
|
||||
githubId = 1482768;
|
||||
name = "Benjamin Asbach";
|
||||
};
|
||||
ashalkhakov = {
|
||||
email = "artyom.shalkhakov@gmail.com";
|
||||
github = "ashalkhakov";
|
||||
|
@ -4387,6 +4404,12 @@
|
|||
github = "ltavard";
|
||||
name = "Laure Tavard";
|
||||
};
|
||||
luc65r = {
|
||||
email = "lucas@ransan.tk";
|
||||
github = "luc65r";
|
||||
githubId = 59375051;
|
||||
name = "Lucas Ransan";
|
||||
};
|
||||
lucus16 = {
|
||||
email = "lars.jellema@gmail.com";
|
||||
github = "Lucus16";
|
||||
|
@ -8327,6 +8350,10 @@
|
|||
githubId = 474343;
|
||||
name = "Xavier Zwirtz";
|
||||
};
|
||||
ymeister = {
|
||||
name = "Yuri Meister";
|
||||
email = "47071325+ymeister@users.noreply.github.com";
|
||||
github = "ymeister";
|
||||
githubId = 47071325;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -102,10 +102,12 @@ def make_command(args: list) -> str:
|
|||
def create_vlan(vlan_nr: str) -> Tuple[str, str, "subprocess.Popen[bytes]", Any]:
|
||||
global log
|
||||
log.log("starting VDE switch for network {}".format(vlan_nr))
|
||||
vde_socket = os.path.abspath("./vde{}.ctl".format(vlan_nr))
|
||||
vde_socket = tempfile.mkdtemp(
|
||||
prefix="nixos-test-vde-", suffix="-vde{}.ctl".format(vlan_nr)
|
||||
)
|
||||
pty_master, pty_slave = pty.openpty()
|
||||
vde_process = subprocess.Popen(
|
||||
["vde_switch", "-s", vde_socket, "--dirmode", "0777"],
|
||||
["vde_switch", "-s", vde_socket, "--dirmode", "0700"],
|
||||
bufsize=1,
|
||||
stdin=pty_slave,
|
||||
stdout=subprocess.PIPE,
|
||||
|
@ -939,7 +941,7 @@ if __name__ == "__main__":
|
|||
machine.process.kill()
|
||||
|
||||
for _, _, process, _ in vde_sockets:
|
||||
process.kill()
|
||||
process.terminate()
|
||||
log.close()
|
||||
|
||||
tic = time.time()
|
||||
|
|
1
nixos/maintainers/scripts/azure-new/.gitignore
vendored
Normal file
1
nixos/maintainers/scripts/azure-new/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
azure
|
42
nixos/maintainers/scripts/azure-new/README.md
Normal file
42
nixos/maintainers/scripts/azure-new/README.md
Normal 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.)
|
36
nixos/maintainers/scripts/azure-new/boot-vm.sh
Executable file
36
nixos/maintainers/scripts/azure-new/boot-vm.sh
Executable 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)"
|
||||
|
7
nixos/maintainers/scripts/azure-new/common.sh
Normal file
7
nixos/maintainers/scripts/azure-new/common.sh
Normal 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//[._]/-}"
|
10
nixos/maintainers/scripts/azure-new/examples/basic/image.nix
Normal file
10
nixos/maintainers/scripts/azure-new/examples/basic/image.nix
Normal 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
|
|
@ -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
|
||||
];
|
||||
}
|
13
nixos/maintainers/scripts/azure-new/shell.nix
Normal file
13
nixos/maintainers/scripts/azure-new/shell.nix
Normal 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";
|
||||
}
|
58
nixos/maintainers/scripts/azure-new/upload-image.sh
Executable file
58
nixos/maintainers/scripts/azure-new/upload-image.sh
Executable 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}"
|
19
nixos/modules/hardware/uinput.nix
Normal file
19
nixos/modules/hardware/uinput.nix
Normal 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"
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -65,6 +65,7 @@
|
|||
./hardware/usb-wwan.nix
|
||||
./hardware/onlykey.nix
|
||||
./hardware/wooting.nix
|
||||
./hardware/uinput.nix
|
||||
./hardware/video/amdgpu.nix
|
||||
./hardware/video/amdgpu-pro.nix
|
||||
./hardware/video/ati.nix
|
||||
|
@ -368,6 +369,7 @@
|
|||
./services/hardware/thermald.nix
|
||||
./services/hardware/undervolt.nix
|
||||
./services/hardware/vdr.nix
|
||||
./services/hardware/xow.nix
|
||||
./services/logging/SystemdJournal2Gelf.nix
|
||||
./services/logging/awstats.nix
|
||||
./services/logging/fluentd.nix
|
||||
|
@ -394,6 +396,7 @@
|
|||
./services/mail/mailcatcher.nix
|
||||
./services/mail/mailhog.nix
|
||||
./services/mail/mailman.nix
|
||||
./services/mail/magic-wormhole-mailbox-server.nix
|
||||
./services/mail/mlmmj.nix
|
||||
./services/mail/offlineimap.nix
|
||||
./services/mail/opendkim.nix
|
||||
|
|
|
@ -318,7 +318,7 @@ in
|
|||
description = "Renew ACME Certificate for ${cert}";
|
||||
after = [ "network.target" "network-online.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
wantedBy = mkIf (!config.boot.isContainer) [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
# With RemainAfterExit the service is considered active even
|
||||
|
|
|
@ -120,10 +120,16 @@ in
|
|||
++ optional hasDocker "docker.service";
|
||||
requires = optional hasDocker "docker.service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
reloadIfChanged = true;
|
||||
restartTriggers = [
|
||||
config.environment.etc."gitlab-runner/config.toml".source
|
||||
];
|
||||
serviceConfig = {
|
||||
StateDirectory = "gitlab-runner";
|
||||
ExecReload= "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||
ExecStart = ''${cfg.package.bin}/bin/gitlab-runner run \
|
||||
--working-directory ${cfg.workDir} \
|
||||
--config ${configFile} \
|
||||
--config /etc/gitlab-runner/config.toml \
|
||||
--service gitlab-runner \
|
||||
--user gitlab-runner \
|
||||
'';
|
||||
|
@ -138,6 +144,9 @@ in
|
|||
# Make the gitlab-runner command availabe so users can query the runner
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
# Make sure the config can be reloaded on change
|
||||
environment.etc."gitlab-runner/config.toml".source = configFile;
|
||||
|
||||
users.users.gitlab-runner = {
|
||||
group = "gitlab-runner";
|
||||
extraGroups = optional hasDocker "docker";
|
||||
|
|
|
@ -4,14 +4,13 @@ with lib;
|
|||
|
||||
let
|
||||
cfg = config.services.factorio;
|
||||
factorio = pkgs.factorio-headless;
|
||||
name = "Factorio";
|
||||
stateDir = "/var/lib/${cfg.stateDirName}";
|
||||
mkSavePath = name: "${stateDir}/saves/${name}.zip";
|
||||
configFile = pkgs.writeText "factorio.conf" ''
|
||||
use-system-read-write-data-directories=true
|
||||
[path]
|
||||
read-data=${factorio}/share/factorio/data
|
||||
read-data=${cfg.package}/share/factorio/data
|
||||
write-data=${stateDir}
|
||||
'';
|
||||
serverSettings = {
|
||||
|
@ -37,7 +36,7 @@ let
|
|||
only_admins_can_pause_the_game = true;
|
||||
autosave_only_on_server = true;
|
||||
admins = [];
|
||||
};
|
||||
} // cfg.extraSettings;
|
||||
serverSettingsFile = pkgs.writeText "server-settings.json" (builtins.toJSON (filterAttrsRecursive (n: v: v != null) serverSettings));
|
||||
modDir = pkgs.factorio-utils.mkModDirDrv cfg.mods;
|
||||
in
|
||||
|
@ -115,6 +114,14 @@ in
|
|||
Description of the game that will appear in the listing.
|
||||
'';
|
||||
};
|
||||
extraSettings = mkOption {
|
||||
type = types.attrs;
|
||||
default = {};
|
||||
example = { admins = [ "username" ];};
|
||||
description = ''
|
||||
Extra game configuration that will go into server-settings.json
|
||||
'';
|
||||
};
|
||||
public = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
|
@ -136,6 +143,15 @@ in
|
|||
Your factorio.com login credentials. Required for games with visibility public.
|
||||
'';
|
||||
};
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.factorio-headless;
|
||||
defaultText = "pkgs.factorio-headless";
|
||||
example = "pkgs.factorio-headless-experimental";
|
||||
description = ''
|
||||
Factorio version to use. This defaults to the stable channel.
|
||||
'';
|
||||
};
|
||||
password = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
|
@ -184,7 +200,7 @@ in
|
|||
preStart = toString [
|
||||
"test -e ${stateDir}/saves/${cfg.saveName}.zip"
|
||||
"||"
|
||||
"${factorio}/bin/factorio"
|
||||
"${cfg.package}/bin/factorio"
|
||||
"--config=${cfg.configFile}"
|
||||
"--create=${mkSavePath cfg.saveName}"
|
||||
(optionalString (cfg.mods != []) "--mod-directory=${modDir}")
|
||||
|
@ -197,7 +213,7 @@ in
|
|||
StateDirectory = cfg.stateDirName;
|
||||
UMask = "0007";
|
||||
ExecStart = toString [
|
||||
"${factorio}/bin/factorio"
|
||||
"${cfg.package}/bin/factorio"
|
||||
"--config=${cfg.configFile}"
|
||||
"--port=${toString cfg.port}"
|
||||
"--start-server=${mkSavePath cfg.saveName}"
|
||||
|
|
17
nixos/modules/services/hardware/xow.nix
Normal file
17
nixos/modules/services/hardware/xow.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
}
|
|
@ -565,7 +565,7 @@ in {
|
|||
add_header Referrer-Policy no-referrer;
|
||||
access_log off;
|
||||
'';
|
||||
"~ \\.(?:png|html|ttf|ico|jpg|jpeg)$".extraConfig = ''
|
||||
"~ \\.(?:png|html|ttf|ico|jpg|jpeg|bcmap|mp4|webm)$".extraConfig = ''
|
||||
try_files $uri /index.php$request_uri;
|
||||
access_log off;
|
||||
'';
|
||||
|
|
|
@ -47,6 +47,7 @@ let
|
|||
Path to the unix socket file on which to accept FastCGI requests.
|
||||
<note><para>This option is read-only and managed by NixOS.</para></note>
|
||||
'';
|
||||
example = "${runtimeDir}/<name>.sock";
|
||||
};
|
||||
|
||||
listen = mkOption {
|
||||
|
|
|
@ -129,6 +129,7 @@ in
|
|||
|
||||
services.xserver.desktopManager.session = [{
|
||||
name = "xfce";
|
||||
desktopNames = [ "XFCE" ];
|
||||
bgSupport = true;
|
||||
start = ''
|
||||
${pkgs.runtimeShell} ${pkgs.xfce.xfce4-session.xinitrc} &
|
||||
|
|
|
@ -412,6 +412,9 @@ in
|
|||
(dm: wm: let
|
||||
sessionName = "${dm.name}${optionalString (wm.name != "none") ("+" + wm.name)}";
|
||||
script = xsession dm wm;
|
||||
desktopNames = if dm ? desktopNames
|
||||
then concatStringsSep ";" dm.desktopNames
|
||||
else sessionName;
|
||||
in
|
||||
optional (dm.name != "none" || wm.name != "none")
|
||||
(pkgs.writeTextFile {
|
||||
|
@ -427,7 +430,7 @@ in
|
|||
TryExec=${script}
|
||||
Exec=${script}
|
||||
Name=${sessionName}
|
||||
DesktopNames=${sessionName}
|
||||
DesktopNames=${desktopNames}
|
||||
'';
|
||||
} // {
|
||||
providedSessions = [ sessionName ];
|
||||
|
|
|
@ -842,7 +842,6 @@ in
|
|||
[Manager]
|
||||
${optionalString config.systemd.enableCgroupAccounting ''
|
||||
DefaultCPUAccounting=yes
|
||||
DefaultBlockIOAccounting=yes
|
||||
DefaultIOAccounting=yes
|
||||
DefaultBlockIOAccounting=yes
|
||||
DefaultIPAccounting=yes
|
||||
|
|
|
@ -291,13 +291,19 @@ let
|
|||
|
||||
${optionalString config.virtualisation.libvirtd.enable ''
|
||||
# Enslave dynamically added interfaces which may be lost on nixos-rebuild
|
||||
for uri in qemu:///system lxc:///; do
|
||||
for dom in $(${pkgs.libvirt}/bin/virsh -c $uri list --name); do
|
||||
${pkgs.libvirt}/bin/virsh -c $uri dumpxml "$dom" | \
|
||||
${pkgs.xmlstarlet}/bin/xmlstarlet sel -t -m "//domain/devices/interface[@type='bridge'][source/@bridge='${n}'][target/@dev]" -v "concat('ip link set ',target/@dev,' master ',source/@bridge,';')" | \
|
||||
${pkgs.bash}/bin/bash
|
||||
#
|
||||
# if `libvirtd.service` is not running, do not use `virsh` which would try activate it via 'libvirtd.socket' and thus start it out-of-order.
|
||||
# `libvirtd.service` will set up bridge interfaces when it will start normally.
|
||||
#
|
||||
if ${pkgs.systemd}/bin/systemctl --quiet is-active 'libvirtd.service'; then
|
||||
for uri in qemu:///system lxc:///; do
|
||||
for dom in $(${pkgs.libvirt}/bin/virsh -c $uri list --name); do
|
||||
${pkgs.libvirt}/bin/virsh -c $uri dumpxml "$dom" | \
|
||||
${pkgs.xmlstarlet}/bin/xmlstarlet sel -t -m "//domain/devices/interface[@type='bridge'][source/@bridge='${n}'][target/@dev]" -v "concat('ip link set ',target/@dev,' master ',source/@bridge,';')" | \
|
||||
${pkgs.bash}/bin/bash
|
||||
done
|
||||
done
|
||||
done
|
||||
fi
|
||||
''}
|
||||
|
||||
# Enable stp on the interface
|
||||
|
|
|
@ -634,19 +634,23 @@ in
|
|||
|
||||
networking.bonds =
|
||||
let
|
||||
driverOptionsExample = {
|
||||
miimon = "100";
|
||||
mode = "active-backup";
|
||||
};
|
||||
driverOptionsExample = ''
|
||||
{
|
||||
miimon = "100";
|
||||
mode = "active-backup";
|
||||
}
|
||||
'';
|
||||
in mkOption {
|
||||
default = { };
|
||||
example = literalExample {
|
||||
bond0 = {
|
||||
interfaces = [ "eth0" "wlan0" ];
|
||||
driverOptions = driverOptionsExample;
|
||||
};
|
||||
anotherBond.interfaces = [ "enp4s0f0" "enp4s0f1" "enp5s0f0" "enp5s0f1" ];
|
||||
};
|
||||
example = literalExample ''
|
||||
{
|
||||
bond0 = {
|
||||
interfaces = [ "eth0" "wlan0" ];
|
||||
driverOptions = ${driverOptionsExample};
|
||||
};
|
||||
anotherBond.interfaces = [ "enp4s0f0" "enp4s0f1" "enp5s0f0" "enp5s0f1" ];
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
This option allows you to define bond devices that aggregate multiple,
|
||||
underlying networking interfaces together. The value of this option is
|
||||
|
@ -731,12 +735,14 @@ in
|
|||
|
||||
networking.macvlans = mkOption {
|
||||
default = { };
|
||||
example = literalExample {
|
||||
wan = {
|
||||
interface = "enp2s0";
|
||||
mode = "vepa";
|
||||
};
|
||||
};
|
||||
example = literalExample ''
|
||||
{
|
||||
wan = {
|
||||
interface = "enp2s0";
|
||||
mode = "vepa";
|
||||
};
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
This option allows you to define macvlan interfaces which should
|
||||
be automatically created.
|
||||
|
@ -764,18 +770,20 @@ in
|
|||
|
||||
networking.sits = mkOption {
|
||||
default = { };
|
||||
example = literalExample {
|
||||
hurricane = {
|
||||
remote = "10.0.0.1";
|
||||
local = "10.0.0.22";
|
||||
ttl = 255;
|
||||
};
|
||||
msipv6 = {
|
||||
remote = "192.168.0.1";
|
||||
dev = "enp3s0";
|
||||
ttl = 127;
|
||||
};
|
||||
};
|
||||
example = literalExample ''
|
||||
{
|
||||
hurricane = {
|
||||
remote = "10.0.0.1";
|
||||
local = "10.0.0.22";
|
||||
ttl = 255;
|
||||
};
|
||||
msipv6 = {
|
||||
remote = "192.168.0.1";
|
||||
dev = "enp3s0";
|
||||
ttl = 127;
|
||||
};
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
This option allows you to define 6-to-4 interfaces which should be automatically created.
|
||||
'';
|
||||
|
@ -826,16 +834,18 @@ in
|
|||
|
||||
networking.vlans = mkOption {
|
||||
default = { };
|
||||
example = literalExample {
|
||||
vlan0 = {
|
||||
id = 3;
|
||||
interface = "enp3s0";
|
||||
};
|
||||
vlan1 = {
|
||||
id = 1;
|
||||
interface = "wlan0";
|
||||
};
|
||||
};
|
||||
example = literalExample ''
|
||||
{
|
||||
vlan0 = {
|
||||
id = 3;
|
||||
interface = "enp3s0";
|
||||
};
|
||||
vlan1 = {
|
||||
id = 1;
|
||||
interface = "wlan0";
|
||||
};
|
||||
}
|
||||
'';
|
||||
description =
|
||||
''
|
||||
This option allows you to define vlan devices that tag packets
|
||||
|
@ -868,24 +878,26 @@ in
|
|||
|
||||
networking.wlanInterfaces = mkOption {
|
||||
default = { };
|
||||
example = literalExample {
|
||||
wlan-station0 = {
|
||||
device = "wlp6s0";
|
||||
};
|
||||
wlan-adhoc0 = {
|
||||
type = "ibss";
|
||||
device = "wlp6s0";
|
||||
mac = "02:00:00:00:00:01";
|
||||
};
|
||||
wlan-p2p0 = {
|
||||
device = "wlp6s0";
|
||||
mac = "02:00:00:00:00:02";
|
||||
};
|
||||
wlan-ap0 = {
|
||||
device = "wlp6s0";
|
||||
mac = "02:00:00:00:00:03";
|
||||
};
|
||||
};
|
||||
example = literalExample ''
|
||||
{
|
||||
wlan-station0 = {
|
||||
device = "wlp6s0";
|
||||
};
|
||||
wlan-adhoc0 = {
|
||||
type = "ibss";
|
||||
device = "wlp6s0";
|
||||
mac = "02:00:00:00:00:01";
|
||||
};
|
||||
wlan-p2p0 = {
|
||||
device = "wlp6s0";
|
||||
mac = "02:00:00:00:00:02";
|
||||
};
|
||||
wlan-ap0 = {
|
||||
device = "wlp6s0";
|
||||
mac = "02:00:00:00:00:03";
|
||||
};
|
||||
}
|
||||
'';
|
||||
description =
|
||||
''
|
||||
Creating multiple WLAN interfaces on top of one physical WLAN device (NIC).
|
||||
|
|
|
@ -15,6 +15,8 @@ with lib;
|
|||
boot.loader.grub.version = 2;
|
||||
boot.loader.timeout = 0;
|
||||
|
||||
boot.growPartition = true;
|
||||
|
||||
# Don't put old configurations in the GRUB menu. The user has no
|
||||
# way to select them anyway.
|
||||
boot.loader.grub.configurationLimit = 0;
|
||||
|
|
|
@ -2,27 +2,38 @@
|
|||
|
||||
with lib;
|
||||
let
|
||||
diskSize = 2048;
|
||||
cfg = config.virtualisation.azureImage;
|
||||
in
|
||||
{
|
||||
system.build.azureImage = import ../../lib/make-disk-image.nix {
|
||||
name = "azure-image";
|
||||
postVM = ''
|
||||
${pkgs.vmTools.qemu}/bin/qemu-img convert -f raw -o subformat=fixed,force_size -O vpc $diskImage $out/disk.vhd
|
||||
'';
|
||||
configFile = ./azure-config-user.nix;
|
||||
format = "raw";
|
||||
inherit diskSize;
|
||||
inherit config lib pkgs;
|
||||
};
|
||||
|
||||
imports = [ ./azure-common.nix ];
|
||||
|
||||
options = {
|
||||
virtualisation.azureImage.diskSize = mkOption {
|
||||
type = with types; int;
|
||||
default = 2048;
|
||||
description = ''
|
||||
Size of disk image. Unit is MB.
|
||||
'';
|
||||
};
|
||||
};
|
||||
config = {
|
||||
system.build.azureImage = import ../../lib/make-disk-image.nix {
|
||||
name = "azure-image";
|
||||
postVM = ''
|
||||
${pkgs.vmTools.qemu}/bin/qemu-img convert -f raw -o subformat=fixed,force_size -O vpc $diskImage $out/disk.vhd
|
||||
rm $diskImage
|
||||
'';
|
||||
configFile = ./azure-config-user.nix;
|
||||
format = "raw";
|
||||
inherit (cfg) diskSize;
|
||||
inherit config lib pkgs;
|
||||
};
|
||||
|
||||
# Azure metadata is available as a CD-ROM drive.
|
||||
fileSystems."/metadata".device = "/dev/sr0";
|
||||
# Azure metadata is available as a CD-ROM drive.
|
||||
fileSystems."/metadata".device = "/dev/sr0";
|
||||
|
||||
systemd.services.fetch-ssh-keys =
|
||||
{ description = "Fetch host keys and authorized_keys for root user";
|
||||
systemd.services.fetch-ssh-keys = {
|
||||
description = "Fetch host keys and authorized_keys for root user";
|
||||
|
||||
wantedBy = [ "sshd.service" "waagent.service" ];
|
||||
before = [ "sshd.service" "waagent.service" ];
|
||||
|
@ -54,6 +65,6 @@ in
|
|||
serviceConfig.RemainAfterExit = true;
|
||||
serviceConfig.StandardError = "journal+console";
|
||||
serviceConfig.StandardOutput = "journal+console";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -214,14 +214,14 @@ in {
|
|||
};
|
||||
|
||||
systemd.services.libvirtd = {
|
||||
description = "Libvirt Virtual Machine Management Daemon";
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
requires = [ "libvirtd-config.service" ];
|
||||
after = [ "systemd-udev-settle.service" "libvirtd-config.service" ]
|
||||
++ optional vswitch.enable "ovs-vswitchd.service";
|
||||
|
||||
environment.LIBVIRTD_ARGS = ''--config "${configFile}" ${concatStringsSep " " cfg.extraOptions}'';
|
||||
environment.LIBVIRTD_ARGS = escapeShellArgs (
|
||||
[ "--config" configFile
|
||||
"--timeout" "120" # from ${libvirt}/var/lib/sysconfig/libvirtd
|
||||
] ++ cfg.extraOptions);
|
||||
|
||||
path = [ cfg.qemuPackage ] # libvirtd requires qemu-img to manage disk images
|
||||
++ optional vswitch.enable vswitch.package;
|
||||
|
@ -266,5 +266,8 @@ in {
|
|||
serviceConfig.ExecStart = "@${pkgs.libvirt}/sbin/virtlockd virtlockd";
|
||||
restartIfChanged = false;
|
||||
};
|
||||
|
||||
systemd.sockets.libvirtd .wantedBy = [ "sockets.target" ];
|
||||
systemd.sockets.libvirtd-tcp.wantedBy = [ "sockets.target" ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -170,6 +170,7 @@ in
|
|||
#logstash = handleTest ./logstash.nix {};
|
||||
lorri = handleTest ./lorri/default.nix {};
|
||||
magnetico = handleTest ./magnetico.nix {};
|
||||
magic-wormhole-mailbox-server = handleTest ./magic-wormhole-mailbox-server.nix {};
|
||||
mailcatcher = handleTest ./mailcatcher.nix {};
|
||||
mathics = handleTest ./mathics.nix {};
|
||||
matomo = handleTest ./matomo.nix {};
|
||||
|
|
|
@ -24,7 +24,6 @@ in {
|
|||
enable = true;
|
||||
serverId = "aa76c84b-50b0-4711-a0a0-1ee30e45bbd0";
|
||||
listenAddress = "[::]:80";
|
||||
jvmPackage = pkgs.jdk12_headless;
|
||||
jvmHeapLimit = "1g";
|
||||
|
||||
plugins = [ lfs ];
|
||||
|
|
38
nixos/tests/magic-wormhole-mailbox-server.nix
Normal file
38
nixos/tests/magic-wormhole-mailbox-server.nix
Normal 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")
|
||||
'';
|
||||
})
|
|
@ -33,7 +33,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
|||
nodes = {
|
||||
node = {...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
# mongodb-3_4
|
||||
mongodb-3_4
|
||||
mongodb-3_6
|
||||
mongodb-4_0
|
||||
];
|
||||
|
@ -43,7 +43,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
|||
testScript = ''
|
||||
node.start()
|
||||
''
|
||||
# + runMongoDBTest pkgs.mongodb-3_4
|
||||
+ runMongoDBTest pkgs.mongodb-3_4
|
||||
+ runMongoDBTest pkgs.mongodb-3_6
|
||||
+ runMongoDBTest pkgs.mongodb-4_0
|
||||
+ ''
|
||||
|
|
|
@ -68,6 +68,11 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
|||
"testdb2.*" = "ALL PRIVILEGES";
|
||||
};
|
||||
}];
|
||||
services.mysql.settings = {
|
||||
mysqld = {
|
||||
plugin-load-add = [ "ha_tokudb.so" "ha_rocksdb.so" ];
|
||||
};
|
||||
};
|
||||
services.mysql.package = pkgs.mariadb;
|
||||
};
|
||||
|
||||
|
@ -106,5 +111,33 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
|||
mariadb.succeed(
|
||||
"echo 'use testdb; select test_id from tests;' | sudo -u testuser mysql -u testuser -N | grep 42"
|
||||
)
|
||||
|
||||
# Check if TokuDB plugin works
|
||||
mariadb.succeed(
|
||||
"echo 'use testdb; create table tokudb (test_id INT, PRIMARY KEY (test_id)) ENGINE = TokuDB;' | sudo -u testuser mysql -u testuser"
|
||||
)
|
||||
mariadb.succeed(
|
||||
"echo 'use testdb; insert into tokudb values (25);' | sudo -u testuser mysql -u testuser"
|
||||
)
|
||||
mariadb.succeed(
|
||||
"echo 'use testdb; select test_id from tokudb;' | sudo -u testuser mysql -u testuser -N | grep 25"
|
||||
)
|
||||
mariadb.succeed(
|
||||
"echo 'use testdb; drop table tokudb;' | sudo -u testuser mysql -u testuser"
|
||||
)
|
||||
|
||||
# Check if RocksDB plugin works
|
||||
mariadb.succeed(
|
||||
"echo 'use testdb; create table rocksdb (test_id INT, PRIMARY KEY (test_id)) ENGINE = RocksDB;' | sudo -u testuser mysql -u testuser"
|
||||
)
|
||||
mariadb.succeed(
|
||||
"echo 'use testdb; insert into rocksdb values (28);' | sudo -u testuser mysql -u testuser"
|
||||
)
|
||||
mariadb.succeed(
|
||||
"echo 'use testdb; select test_id from rocksdb;' | sudo -u testuser mysql -u testuser -N | grep 28"
|
||||
)
|
||||
mariadb.succeed(
|
||||
"echo 'use testdb; drop table rocksdb;' | sudo -u testuser mysql -u testuser"
|
||||
)
|
||||
'';
|
||||
})
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
|
||||
meta = {
|
||||
description = "Creates MIDI tracks for a soloist to perform over from a user supplied file containing chords";
|
||||
homepage = http://www.mellowood.ca/mma/index.html;
|
||||
homepage = "https://www.mellowood.ca/mma/index.html";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
maintainers = [ stdenv.lib.maintainers.magnetophon ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aeolus";
|
||||
version = "0.9.7";
|
||||
version = "0.9.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
|
||||
sha256 = "0lhbr95hmbfj8ynbcpawn7jzjbpvrkm6k2yda39yhqk1bzg38v2k";
|
||||
sha256 = "1zfr3567mwbqsfybkhg03n5dvmhllk88c9ayb10qzz2nh6d7g2qn";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = {
|
||||
description = "Synthetized (not sampled) pipe organ emulator";
|
||||
homepage = http://kokkinizita.linuxaudio.org/linuxaudio/aeolus/index.html;
|
||||
homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/aeolus/index.html";
|
||||
license = stdenv.lib.licenses.lgpl3;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
maintainers = [ stdenv.lib.maintainers.nico202 ];
|
||||
|
|
|
@ -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" ];
|
||||
};
|
||||
}
|
|
@ -59,13 +59,13 @@ assert remoteSupport -> curl != null;
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "deadbeef";
|
||||
version = "1.8.2";
|
||||
version = "1.8.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "DeaDBeeF-Player";
|
||||
repo = "deadbeef";
|
||||
rev = version;
|
||||
sha256 = "016wwnh5jqdcfxn1ff6in5dz73c3gdhh3fva8inq7sc3vzdz5khj";
|
||||
sha256 = "0n0q7zfl56gnadcqqp5rg7sbh1xvfcmp7cvmh2ax07037b346qig";
|
||||
};
|
||||
|
||||
buildInputs = with stdenv.lib; [ jansson ]
|
||||
|
@ -108,7 +108,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Ultimate Music Player for GNU/Linux";
|
||||
homepage = http://deadbeef.sourceforge.net/;
|
||||
homepage = "http://deadbeef.sourceforge.net/";
|
||||
license = licenses.gpl2;
|
||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||
maintainers = [ maintainers.abbradar ];
|
||||
|
|
|
@ -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;
|
|
@ -43,6 +43,7 @@ rustPlatform.buildRustPackage rec {
|
|||
rustc
|
||||
python3
|
||||
wrapGAppsHook
|
||||
glib
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lsp-plugins";
|
||||
version = "1.1.13";
|
||||
version = "1.1.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sadko4u";
|
||||
repo = pname;
|
||||
rev = "${pname}-${version}";
|
||||
sha256 = "00mhrr873kgcnqy3q0yi1r5zacfcvz7fqpzsmfhw5d095jm970al";
|
||||
sha256 = "0lynyjs5zp27gnzcv8a23pvb7c1ghzc2dspypca3ciq40bfpfzik";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig php makeWrapper ];
|
||||
|
@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
makeFlags = [
|
||||
"PREFIX=${placeholder ''out''}"
|
||||
"ETC_PATH=$(out)/etc"
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-DLSP_NO_EXPERIMENTAL";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, mkDerivation, fetchFromGitHub, chromaprint
|
||||
{ stdenv, mkDerivation, fetchurl, fetchFromGitHub, chromaprint
|
||||
, fftw, flac, faad2, glibcLocales, mp4v2
|
||||
, libid3tag, libmad, libopus, libshout, libsndfile, libusb1, libvorbis
|
||||
, libGLU, libxcb, lilv, lv2, opusfile
|
||||
|
@ -6,6 +6,17 @@
|
|||
, qtx11extras, rubberband, scons, sqlite, taglib, upower, vamp-plugin-sdk
|
||||
}:
|
||||
|
||||
let
|
||||
# Because libshout 2.4.2 and newer seem to break streaming in mixxx, build it
|
||||
# with 2.4.1 instead.
|
||||
libshout241 = libshout.overrideAttrs (o: rec {
|
||||
name = "libshout-2.4.1";
|
||||
src = fetchurl {
|
||||
url = "http://downloads.xiph.org/releases/libshout/${name}.tar.gz";
|
||||
sha256 = "0kgjpf8jkgyclw11nilxi8vyjk4s8878x23qyxnvybbgqbgbib7k";
|
||||
};
|
||||
});
|
||||
in
|
||||
mkDerivation rec {
|
||||
pname = "mixxx";
|
||||
version = "2.2.3";
|
||||
|
@ -19,7 +30,7 @@ mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ scons.py2 ];
|
||||
buildInputs = [
|
||||
chromaprint fftw flac faad2 glibcLocales mp4v2 libid3tag libmad libopus libshout libsndfile
|
||||
chromaprint fftw flac faad2 glibcLocales mp4v2 libid3tag libmad libopus libshout241 libsndfile
|
||||
libusb1 libvorbis libxcb libGLU lilv lv2 opusfile pkgconfig portaudio portmidi protobuf qtbase qtscript qtsvg
|
||||
qtx11extras rubberband sqlite taglib upower vamp-plugin-sdk
|
||||
];
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "samplv1";
|
||||
version = "0.9.12";
|
||||
version = "0.9.13";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/samplv1/${pname}-${version}.tar.gz";
|
||||
sha256 = "0xzjxiqzcf1ygabrjsy0iachhnpy85rp9519fmj2f568r6ml6hzg";
|
||||
sha256 = "0clsp6s5qfnh0xaxbd35vq2ppi72q9dfayrzlgl73800a8p7gh9m";
|
||||
};
|
||||
|
||||
buildInputs = [ libjack2 alsaLib liblo libsndfile lv2 qt5.qtbase qt5.qttools];
|
||||
|
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with stdenv.lib; {
|
||||
description = "An old-school all-digital polyphonic sampler synthesizer with stereo fx";
|
||||
homepage = http://samplv1.sourceforge.net/;
|
||||
homepage = "http://samplv1.sourceforge.net/";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.goibhniu ];
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "spotify-tui";
|
||||
version = "0.17.0";
|
||||
version = "0.17.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Rigellute";
|
||||
repo = "spotify-tui";
|
||||
rev = "v${version}";
|
||||
sha256 = "1jx2qyshqg84l3fm682h8262da0hy68qjjg3dm2i53dxqxrm5ji9";
|
||||
sha256 = "1gsddjinxmglm05hhphclax08d9pig1f0wjjs3bbcq096fydxgfs";
|
||||
};
|
||||
|
||||
cargoSha256 = "12qwp59gshc9d6nz0s3w03zc8sxqri12vrav94vi54fqagiikinm";
|
||||
cargoSha256 = "1y398ypckk3gw1sfzf97xzwf5d5z3kxlcpn3bccmsfr59kvkf661";
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ] ++ stdenv.lib.optionals stdenv.isLinux [ python3 ];
|
||||
buildInputs = [ openssl ]
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "synthv1";
|
||||
version = "0.9.12";
|
||||
version = "0.9.13";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/synthv1/${pname}-${version}.tar.gz";
|
||||
sha256 = "1amxrl1cqwgncw5437r572frgf6xhss3cfpbgh178i8phlq1q731";
|
||||
sha256 = "0bb48myvgvqcibwm68qhd4852pjr2g19rasf059a799d1hzgfq3l";
|
||||
};
|
||||
|
||||
buildInputs = [ qtbase qttools libjack2 alsaLib liblo lv2 ];
|
||||
|
@ -15,7 +15,7 @@ mkDerivation rec {
|
|||
|
||||
meta = with stdenv.lib; {
|
||||
description = "An old-school 4-oscillator subtractive polyphonic synthesizer with stereo fx";
|
||||
homepage = https://synthv1.sourceforge.io/;
|
||||
homepage = "https://synthv1.sourceforge.io/";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.goibhniu ];
|
||||
|
|
|
@ -7,7 +7,7 @@ stdenv.mkDerivation {
|
|||
version = "0.49.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://traverso-daw.org/traverso-0.49.6.tar.gz";
|
||||
url = "https://traverso-daw.org/traverso-0.49.6.tar.gz";
|
||||
sha256 = "12f7x8kw4fw1j0xkwjrp54cy4cv1ql0zwz2ba5arclk4pf6bhl7q";
|
||||
};
|
||||
|
||||
|
@ -23,7 +23,7 @@ stdenv.mkDerivation {
|
|||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Cross-platform multitrack audio recording and audio editing suite";
|
||||
homepage = http://traverso-daw.org/;
|
||||
homepage = "https://traverso-daw.org/";
|
||||
license = with licenses; [ gpl2Plus lgpl21Plus ];
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ coconnor ];
|
||||
|
|
|
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
|||
meta = with stdenv.lib; {
|
||||
description = "Drum sample player LV2 plugin dedicated to Glen MacArthur's AVLdrums";
|
||||
homepage = https://x42-plugins.com/x42/x42-avldrums;
|
||||
maintainers = with maintainers; [ orivej ];
|
||||
maintainers = with maintainers; [ magnetophon orivej ];
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
let
|
||||
pname = "ledger-live-desktop";
|
||||
version = "1.20.0";
|
||||
version = "2.1.0";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
|
||||
sha256 = "09mgd5nsd65w4irgzgmfz1k0r1k4fgkq490pkil8nqy6akjrsw1z";
|
||||
sha256 = "1ywvdqmq8asczhmvc6ai2v6di1f5q19x3ygqlinwz8d1hrj3496r";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
|
|
|
@ -14,8 +14,8 @@ rustPlatform.buildRustPackage rec {
|
|||
|
||||
cargoSha256 = "09v991rl2w4c4jh7ga7q1lk6wyl2vr71j5cpniij8mcvszrz78qf";
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig ];
|
||||
buildInputs = [ openssl python3 xorg.libxcb libgit2 ] ++ stdenv.lib.optionals stdenv.isDarwin
|
||||
nativeBuildInputs = [ cmake pkgconfig python3 ];
|
||||
buildInputs = [ openssl xorg.libxcb libgit2 ] ++ stdenv.lib.optionals stdenv.isDarwin
|
||||
(with darwin.apple_sdk.frameworks; [ curl Security AppKit ]);
|
||||
|
||||
# Tests need to write to the theme directory in HOME.
|
||||
|
|
|
@ -1070,10 +1070,10 @@
|
|||
elpaBuild {
|
||||
pname = "elisp-benchmarks";
|
||||
ename = "elisp-benchmarks";
|
||||
version = "1.3";
|
||||
version = "1.4";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/elisp-benchmarks-1.3.tar";
|
||||
sha256 = "05a891mwbz50q3a44irbf2w4wlp5dm2yxwcvxqrckvpjm1amndmf";
|
||||
url = "https://elpa.gnu.org/packages/elisp-benchmarks-1.4.tar";
|
||||
sha256 = "18ia04aq4pqa8374x60g3g66jqmm17c6n904naa0jhqphlgam8pb";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -1572,7 +1572,7 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
ioccur = callPackage ({ elpaBuild, fetchurl, lib }:
|
||||
ioccur = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "ioccur";
|
||||
ename = "ioccur";
|
||||
|
@ -1581,7 +1581,7 @@
|
|||
url = "https://elpa.gnu.org/packages/ioccur-2.4.el";
|
||||
sha256 = "1isid3kgsi5qkz27ipvmp9v5knx0qigmv7lz12mqdkwv8alns1p9";
|
||||
};
|
||||
packageRequires = [];
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/ioccur.html";
|
||||
license = lib.licenses.free;
|
||||
|
@ -2215,10 +2215,10 @@
|
|||
elpaBuild {
|
||||
pname = "oauth2";
|
||||
ename = "oauth2";
|
||||
version = "0.11";
|
||||
version = "0.12";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/oauth2-0.11.el";
|
||||
sha256 = "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp";
|
||||
url = "https://elpa.gnu.org/packages/oauth2-0.12.el";
|
||||
sha256 = "1rfyfy0h7shr3fmd8lh6s2i3ahfh28wb5fqiqlsjwspn5h77ll29";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -3056,10 +3056,10 @@
|
|||
elpaBuild {
|
||||
pname = "sql-indent";
|
||||
ename = "sql-indent";
|
||||
version = "1.4";
|
||||
version = "1.5";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/sql-indent-1.4.tar";
|
||||
sha256 = "1nilxfm30nb2la1463729rgbgbma7igkf0z325k8cbapqanb1wgl";
|
||||
url = "https://elpa.gnu.org/packages/sql-indent-1.5.tar";
|
||||
sha256 = "07k5rn9hbxppnka7nq0a3a6zyqqa1hp8j6qrb344js6zyak0cb63";
|
||||
};
|
||||
packageRequires = [ cl-lib ];
|
||||
meta = {
|
||||
|
@ -3225,10 +3225,10 @@
|
|||
elpaBuild {
|
||||
pname = "tramp";
|
||||
ename = "tramp";
|
||||
version = "2.4.3.2";
|
||||
version = "2.4.3.3";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/tramp-2.4.3.2.tar";
|
||||
sha256 = "17kay6rpkgz79jggzj53awkbqfsp5sq93wpssw5vlwnigd4mrkzx";
|
||||
url = "https://elpa.gnu.org/packages/tramp-2.4.3.3.tar";
|
||||
sha256 = "1di9ia59k6x7j9r8flwf05r160j30nrg0jvq5fjc9iazag9lniyw";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with stdenv.lib; {
|
||||
description = "WYSIWYG PostScript annotator";
|
||||
homepage = http://flpsed.org/flpsed.html;
|
||||
homepage = "https://flpsed.org/flpsed.html";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ ];
|
||||
|
|
|
@ -20,11 +20,11 @@ let
|
|||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "nano";
|
||||
version = "4.9";
|
||||
version = "4.9.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
|
||||
sha256 = "19ik88b3g0d9xwav4hkai2h1acmjy5fdnh21gdc1mjq5s4lrff8f";
|
||||
sha256 = "0v5s58j3lbg5s6gapl9kjmzph7zgwaam53qspycy2sxaxw65mkaj";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
}:
|
||||
|
||||
let
|
||||
version = "11.2";
|
||||
version = "11.3";
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "netbeans";
|
||||
exec = "netbeans";
|
||||
|
@ -19,7 +19,7 @@ stdenv.mkDerivation {
|
|||
inherit version;
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/netbeans/netbeans/${version}/netbeans-${version}-bin.zip";
|
||||
sha512 = "d589481808832c4f0391ee1ecb8e18202cebeee8bd844cb4bdbf6125113b41f9138a34c4c2ef1fdf228294ef8c24b242ffec9ba5fdc4f1d288db4a3f19ba1509";
|
||||
sha512 = "ae828836138b5a4156d58df24dd4053be58018cb6b5beb179cb0f4cd8b5db72d2a7356a434d01157aacb78d228732950cf4e3a0b6c725da8e053b6ccd91075d6";
|
||||
};
|
||||
|
||||
buildCommand = ''
|
||||
|
@ -60,7 +60,7 @@ stdenv.mkDerivation {
|
|||
description = "An integrated development environment for Java, C, C++ and PHP";
|
||||
homepage = "https://netbeans.apache.org/";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
maintainers = with stdenv.lib.maintainers; [ sander rszibele ];
|
||||
maintainers = with stdenv.lib.maintainers; [ sander rszibele asbachb ];
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "drawing";
|
||||
version = "0.4.11";
|
||||
version = "0.4.13";
|
||||
|
||||
format = "other";
|
||||
|
||||
|
@ -25,7 +25,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
owner = "maoschanz";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "00c1h6jns11rmsg35gy40fb6ahvik80wpbm2133bjcqxfwwnlal6";
|
||||
sha256 = "0mj2nmfrckv89srgkn16fnbrb35f5a655ak8bb3rd9na3hd5bq53";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -11,11 +11,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "drawio";
|
||||
version = "12.6.5";
|
||||
version = "12.9.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/draw.io-x86_64-${version}.rpm";
|
||||
sha256 = "14x4h680q3w9wsdmivy2k1bggb09vdm3a3wrpfwd79dbaagjk4lc";
|
||||
sha256 = "1jhw3p5r9dgn7320ca9n6hzyv2x557a8m9mh80vgrccd6i2mgm5i";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -86,7 +86,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A desktop application for creating diagrams";
|
||||
homepage = https://about.draw.io/;
|
||||
homepage = "https://about.draw.io/";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ danieldk ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
|
|
|
@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
|
|||
owner = "nebogeo";
|
||||
repo = "fluxus";
|
||||
rev = "ba9aee218dd4a9cfab914ad78bdb6d59e9a37400";
|
||||
hash = "sha256:0mwghpgq4n1khwlmgscirhmcdhi6x00c08q4idi2zcqz961bbs28";
|
||||
sha256 = "0mwghpgq4n1khwlmgscirhmcdhi6x00c08q4idi2zcqz961bbs28";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
|
|
@ -1,40 +1,38 @@
|
|||
{ stdenv,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, rustPlatform
|
||||
|
||||
cmake,
|
||||
gzip,
|
||||
installShellFiles,
|
||||
makeWrapper,
|
||||
ncurses,
|
||||
pkgconfig,
|
||||
python3,
|
||||
, cmake
|
||||
, gzip
|
||||
, installShellFiles
|
||||
, makeWrapper
|
||||
, ncurses
|
||||
, pkgconfig
|
||||
, python3
|
||||
|
||||
expat,
|
||||
fontconfig,
|
||||
freetype,
|
||||
libGL,
|
||||
libX11,
|
||||
libXcursor,
|
||||
libXi,
|
||||
libXrandr,
|
||||
libXxf86vm,
|
||||
libxcb,
|
||||
libxkbcommon,
|
||||
wayland,
|
||||
xdg_utils,
|
||||
, expat
|
||||
, fontconfig
|
||||
, freetype
|
||||
, libGL
|
||||
, libX11
|
||||
, libXcursor
|
||||
, libXi
|
||||
, libXrandr
|
||||
, libXxf86vm
|
||||
, libxcb
|
||||
, libxkbcommon
|
||||
, wayland
|
||||
, xdg_utils
|
||||
|
||||
# Darwin Frameworks
|
||||
AppKit,
|
||||
CoreGraphics,
|
||||
CoreServices,
|
||||
CoreText,
|
||||
Foundation,
|
||||
OpenGL }:
|
||||
|
||||
with rustPlatform;
|
||||
|
||||
, AppKit
|
||||
, CoreGraphics
|
||||
, CoreServices
|
||||
, CoreText
|
||||
, Foundation
|
||||
, OpenGL
|
||||
}:
|
||||
let
|
||||
rpathLibs = [
|
||||
expat
|
||||
|
@ -51,18 +49,19 @@ let
|
|||
libxkbcommon
|
||||
wayland
|
||||
];
|
||||
in buildRustPackage rec {
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "alacritty";
|
||||
version = "0.4.1";
|
||||
version = "0.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jwilm";
|
||||
owner = "alacritty";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "05jcg33ifngpzw2hdhgb614j87ihhhlqgar0kky183rywg0dxikg";
|
||||
sha256 = "133d8vm7ihlvgw8n1jghhh35h664h0f52h6gci54f11vl6c1spws";
|
||||
};
|
||||
|
||||
cargoSha256 = "182j8ah67b2gw409vjfml3p41i00zh0klx9m8bwfkm64y2ki2bip";
|
||||
cargoSha256 = "07gq63qd11zz229b8jp9wqggz39qfpzd223z1zk1xch7rhqq0pn4";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
|
@ -75,9 +74,17 @@ in buildRustPackage rec {
|
|||
];
|
||||
|
||||
buildInputs = rpathLibs
|
||||
++ lib.optionals stdenv.isDarwin [ AppKit CoreGraphics CoreServices CoreText Foundation OpenGL ];
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
AppKit
|
||||
CoreGraphics
|
||||
CoreServices
|
||||
CoreText
|
||||
Foundation
|
||||
OpenGL
|
||||
];
|
||||
|
||||
outputs = [ "out" "terminfo" ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace alacritty/src/config/mouse.rs \
|
||||
--replace xdg-open ${xdg_utils}/bin/xdg-open
|
||||
|
@ -90,14 +97,16 @@ in buildRustPackage rec {
|
|||
|
||||
install -D target/release/alacritty $out/bin/alacritty
|
||||
|
||||
'' + (if stdenv.isDarwin then ''
|
||||
mkdir $out/Applications
|
||||
cp -r target/release/osx/Alacritty.app $out/Applications/Alacritty.app
|
||||
'' else ''
|
||||
install -D extra/linux/alacritty.desktop -t $out/share/applications/
|
||||
install -D extra/logo/alacritty-term.svg $out/share/icons/hicolor/scalable/apps/Alacritty.svg
|
||||
patchelf --set-rpath "${stdenv.lib.makeLibraryPath rpathLibs}" $out/bin/alacritty
|
||||
'') + ''
|
||||
'' + (
|
||||
if stdenv.isDarwin then ''
|
||||
mkdir $out/Applications
|
||||
cp -r target/release/osx/Alacritty.app $out/Applications/Alacritty.app
|
||||
'' else ''
|
||||
install -D extra/linux/Alacritty.desktop -t $out/share/applications/
|
||||
install -D extra/logo/alacritty-term.svg $out/share/icons/hicolor/scalable/apps/Alacritty.svg
|
||||
patchelf --set-rpath "${lib.makeLibraryPath rpathLibs}" $out/bin/alacritty
|
||||
''
|
||||
) + ''
|
||||
|
||||
installShellCompletion --zsh extra/completions/_alacritty
|
||||
installShellCompletion --bash extra/completions/alacritty.bash
|
||||
|
@ -116,11 +125,11 @@ in buildRustPackage rec {
|
|||
|
||||
dontPatchELF = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "GPU-accelerated terminal emulator";
|
||||
homepage = "https://github.com/jwilm/alacritty";
|
||||
meta = with lib; {
|
||||
description = "A cross-platform, GPU-accelerated terminal emulator";
|
||||
homepage = "https://github.com/alacritty/alacritty";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ filalex77 mic92 ];
|
||||
maintainers = with maintainers; [ filalex77 mic92 cole-h ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "calcurse";
|
||||
version = "4.5.1";
|
||||
version = "4.6.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://calcurse.org/files/${pname}-${version}.tar.gz";
|
||||
sha256 = "0cgkd285x5pk62lmdx9fjxl46c5lj8wj2cqbxq7d99yb4il5fdjk";
|
||||
sha256 = "0hzhdpkkn75jlymanwzl69hrrf1pw29hrchr11wlxqjpl43h62gs";
|
||||
};
|
||||
|
||||
buildInputs = [ ncurses gettext python3 python3Packages.wrapPython ];
|
||||
|
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
|||
customized to suit user needs and a very powerful set of command line options can
|
||||
be used to filter and format appointments, making it suitable for use in scripts.
|
||||
'';
|
||||
homepage = http://calcurse.org/;
|
||||
homepage = "http://calcurse.org/";
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
pname = "cherrytree";
|
||||
version = "0.39.0";
|
||||
version = "0.39.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.giuspen.com/software/${pname}-${version}.tar.xz";
|
||||
sha256 = "07ibr891qix7xa2sk6fdxdsji8q56c1wf786mxaz77500m0xfx4m";
|
||||
sha256 = "0qhycblnixvbybzr8psgmgcpfs6jc9m0p2h9lmd5zmiaggqlcsv7";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gettext ];
|
||||
|
|
|
@ -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];
|
|
@ -10,6 +10,8 @@ gcc8Stdenv.mkDerivation rec {
|
|||
sha256 = "0wdkvg1hmqp1gaym804lw09x4ngf5ffasd861jhflpy7djbmkfn8";
|
||||
};
|
||||
|
||||
patches = [ ./curaengine-openmp-compat.patch ];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ libarcusLulzbot stb protobuf ];
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
|||
positioned at a specific screen position, or position a window
|
||||
on a specific workspace.
|
||||
'';
|
||||
homepage = http://www.gusnan.se/devilspie2/;
|
||||
homepage = "https://www.gusnan.se/devilspie2/";
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ maintainers.ebzzry ];
|
||||
platforms = platforms.linux;
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "gallery_dl";
|
||||
version = "1.13.1";
|
||||
version = "1.13.3";
|
||||
|
||||
src = python3Packages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0a5k7gcs3vn6x1f2qg3ajpqsl39pmw2hsj2srd5y2l1xw7mkkqj6";
|
||||
sha256 = "0nhbhli45i2xhkmyj9mpg8fn1l58y2zmr6nnnnms557wpdpg112x";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
|
|
|
@ -20,14 +20,14 @@
|
|||
with python3Packages;
|
||||
buildPythonApplication rec {
|
||||
pname = "kitty";
|
||||
version = "0.17.1";
|
||||
version = "0.17.2";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kovidgoyal";
|
||||
repo = "kitty";
|
||||
rev = "v${version}";
|
||||
sha256 = "1ydli1phgcy17iz6jxgixn8yc86dp8q2yfxk08c8lwh7gxjnjz7f";
|
||||
sha256 = "0xiwz89ynhh8aj0c9jbqfsxf129hnzs0gz4bzcparnjisq2sh3cq";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
|
63
pkgs/applications/misc/klayout/default.nix
Normal file
63
pkgs/applications/misc/klayout/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
||||
|
|
@ -3,11 +3,11 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "latte-dock";
|
||||
version = "0.9.9";
|
||||
version = "0.9.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "01b2zr2x5hnadkvj687lwi3l6dwq3kdn5y9k4qf1bv0sa4vw6hn9";
|
||||
sha256 = "11s9fslr33h3ic14ifr43jphf68jpny8jmhvmrrwcz6w0p3falzw";
|
||||
name = "${pname}-${version}.tar.xz";
|
||||
};
|
||||
|
||||
|
|
|
@ -103,7 +103,7 @@ in buildFHSUserEnv {
|
|||
|
||||
# WINE
|
||||
cups lcms2 mpg123 cairo unixODBC samba4 sane-backends openldap
|
||||
ocl-icd utillinux
|
||||
ocl-icd utillinux libkrb5
|
||||
|
||||
# Winetricks
|
||||
fribidi
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pdfsam-basic";
|
||||
version = "4.1.1";
|
||||
version = "4.1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb";
|
||||
sha256 = "17qb3l7xibhb3fbskddvparrj2cxj4kz9qbril094kxrgbvyc9gs";
|
||||
sha256 = "1k1azxz92vkb4hylk4ki0szfn47ids0lwg01zfs54yc89j0c6142";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
|
|
|
@ -1,32 +1,34 @@
|
|||
{ stdenv, lib, fetchFromGitHub, makeWrapper, cmake, pkgconfig
|
||||
{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig
|
||||
, boost, cereal, curl, eigen, expat, glew, libpng, tbb, wxGTK31
|
||||
, gtest, nlopt, xorg, makeDesktopItem
|
||||
, cgal_5, gmp, ilmbase, mpfr, qhull, openvdb, systemd
|
||||
}:
|
||||
let
|
||||
nloptVersion = if lib.hasAttr "version" nlopt
|
||||
then lib.getAttr "version" nlopt
|
||||
else "2.4";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "prusa-slicer";
|
||||
version = "2.1.1";
|
||||
version = "2.2.0";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
makeWrapper
|
||||
pkgconfig
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
cereal
|
||||
cgal_5
|
||||
curl
|
||||
eigen
|
||||
expat
|
||||
glew
|
||||
gmp
|
||||
ilmbase
|
||||
libpng
|
||||
mpfr
|
||||
nlopt
|
||||
openvdb
|
||||
systemd
|
||||
tbb
|
||||
wxGTK31
|
||||
xorg.libX11
|
||||
|
@ -35,31 +37,34 @@ stdenv.mkDerivation rec {
|
|||
checkInputs = [ gtest ];
|
||||
|
||||
# The build system uses custom logic - defined in
|
||||
# xs/src/libnest2d/cmake_modules/FindNLopt.cmake in the package source -
|
||||
# for finding the nlopt library, which doesn't pick up the package in the nix store.
|
||||
# We need to set the path via the NLOPT environment variable instead.
|
||||
# cmake/modules/FindNLopt.cmake in the package source - for finding the nlopt
|
||||
# library, which doesn't pick up the package in the nix store. We
|
||||
# additionally need to set the path via the NLOPT environment variable.
|
||||
NLOPT = nlopt;
|
||||
|
||||
# Disable compiler warnings that clutter the build log
|
||||
# Disable compiler warnings that clutter the build log.
|
||||
# It seems to be a known issue for Eigen:
|
||||
# http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221
|
||||
NIX_CFLAGS_COMPILE = "-Wno-ignored-attributes";
|
||||
|
||||
# prusa-slicer uses dlopen on `libudev.so` at runtime
|
||||
NIX_LDFLAGS = "-ludev";
|
||||
|
||||
prePatch = ''
|
||||
# In nix ioctls.h isn't available from the standard kernel-headers package
|
||||
# like in other distributions. The copy in glibc seems to be identical to the
|
||||
# one in the kernel though, so we use that one instead.
|
||||
sed -i 's|"/usr/include/asm-generic/ioctls.h"|<asm-generic/ioctls.h>|g' src/libslic3r/GCodeSender.cpp
|
||||
'' + lib.optionalString (lib.versionOlder "2.5" nloptVersion) ''
|
||||
|
||||
# Since version 2.5.0 of nlopt we need to link to libnlopt, as libnlopt_cxx
|
||||
# now seems to be integrated into the main lib.
|
||||
sed -i 's|nlopt_cxx|nlopt|g' src/libnest2d/cmake_modules/FindNLopt.cmake
|
||||
sed -i 's|nlopt_cxx|nlopt|g' cmake/modules/FindNLopt.cmake
|
||||
'';
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "prusa3d";
|
||||
repo = "PrusaSlicer";
|
||||
sha256 = "0i393nbc2salb4j5l2hvy03ng7hmf90d2xj653pw9bsikhj0r3jd";
|
||||
sha256 = "0954k9sm09y8qnz1jyswyysg10k54ywz8mswnwa4n2hnpq9qx73m";
|
||||
rev = "version_${version}";
|
||||
};
|
||||
|
||||
|
@ -88,6 +93,6 @@ stdenv.mkDerivation rec {
|
|||
description = "G-code generator for 3D printer";
|
||||
homepage = https://github.com/prusa3d/PrusaSlicer;
|
||||
license = licenses.agpl3;
|
||||
maintainers = with maintainers; [ tweber ];
|
||||
maintainers = with maintainers; [ moredread tweber ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "qmapshack";
|
||||
version = "1.14.0";
|
||||
version = "1.14.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Maproom";
|
||||
repo = pname;
|
||||
rev = "V_${version}";
|
||||
sha256 = "07c2hrq9sn456w7l3gdr599rmjfv2k6mh159zza7p1py8r7ywksa";
|
||||
sha256 = "0hghynb4ac98fg1pwc645zriqkghxwp8mr3jhr87pa6fh0y848py";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -30,7 +30,7 @@ mkDerivation rec {
|
|||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = https://github.com/Maproom/qmapshack;
|
||||
homepage = "https://github.com/Maproom/qmapshack";
|
||||
description = "Consumer grade GIS software";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ dotlambda sikmir ];
|
||||
|
|
|
@ -1,23 +1,25 @@
|
|||
{ stdenv, rofi-unwrapped, makeWrapper, hicolor-icon-theme, theme ? null }:
|
||||
{ symlinkJoin, lib, rofi-unwrapped, makeWrapper, hicolor-icon-theme, theme ? null, plugins ? [] }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "rofi";
|
||||
version = rofi-unwrapped.version;
|
||||
symlinkJoin {
|
||||
name = "rofi-${rofi-unwrapped.version}";
|
||||
|
||||
paths = [
|
||||
rofi-unwrapped.out
|
||||
] ++ (lib.forEach plugins (p: p.out));
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
preferLocalBuild = true;
|
||||
passthru.unwrapped = rofi-unwrapped;
|
||||
buildCommand = ''
|
||||
mkdir $out
|
||||
ln -s ${rofi-unwrapped}/* $out
|
||||
rm $out/bin
|
||||
postBuild = ''
|
||||
rm -rf $out/bin
|
||||
mkdir $out/bin
|
||||
ln -s ${rofi-unwrapped}/bin/* $out/bin
|
||||
|
||||
rm $out/bin/rofi
|
||||
makeWrapper ${rofi-unwrapped}/bin/rofi $out/bin/rofi \
|
||||
--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share \
|
||||
${if theme != null then ''--add-flags "-theme ${theme}"'' else ""}
|
||||
${lib.optionalString (theme != null) ''--add-flags "-theme ${theme}"''} \
|
||||
${lib.optionalString (plugins != []) ''--add-flags "-plugin-path $out/lib/rofi"''}
|
||||
|
||||
rm $out/bin/rofi-theme-selector
|
||||
makeWrapper ${rofi-unwrapped}/bin/rofi-theme-selector $out/bin/rofi-theme-selector \
|
||||
|
|
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
|||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://paste.sr.ht/blob/1cbddafac3806afb203940c029e78ce8390d8f49";
|
||||
sha256 = "18960y9ajilrwwl6mjnrh6wj0sm4ivczmacck36p2dj9xd0n8vkh";
|
||||
sha256 = "1n4jpmh66p7asjhj0z2s94ny91lmaq4hhh2356nj406vlqr15vbb";
|
||||
})
|
||||
];
|
||||
|
||||
|
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
|||
description = "A launcher/menu program for wlroots based wayland compositors such as sway";
|
||||
homepage = "https://hg.sr.ht/~scoopta/wofi";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ erictapen ];
|
||||
maintainers = with maintainers; [ elyhaka ];
|
||||
platforms = with platforms; linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -19,13 +19,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ephemeral";
|
||||
version = "6.3.0";
|
||||
version = "6.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cassidyjames";
|
||||
repo = "ephemeral";
|
||||
rev = version;
|
||||
sha256 = "0h159szljvphs2hvagxwv6nncx46q0mvr4ylhl2nimap9jvss91n";
|
||||
sha256 = "13rl26lv5xgagiv21yp5pz69bkwh4nnz1lx9wryhsplki45xm1sq";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with stdenv.lib; {
|
||||
description = "The always-incognito web browser";
|
||||
homepage = https://github.com/cassidyjames/ephemeral;
|
||||
homepage = "https://github.com/cassidyjames/ephemeral";
|
||||
maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers;
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl3;
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
, apulse
|
||||
|
||||
# Media support (implies audio support)
|
||||
, mediaSupport ? false
|
||||
, mediaSupport ? true
|
||||
, ffmpeg
|
||||
|
||||
, gmp
|
||||
|
@ -90,19 +90,19 @@ let
|
|||
fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
|
||||
|
||||
# Upstream source
|
||||
version = "9.0.6";
|
||||
version = "9.0.7";
|
||||
|
||||
lang = "en-US";
|
||||
|
||||
srcs = {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz";
|
||||
sha256 = "1vk1pww8zmpjd5snyfz0if9v17g140ymlp6navxp28snzlffahss";
|
||||
sha256 = "11pgafa2lgj35s6kacy1b7pnzjg3ckqjxg0pf0aywxvc2qr3syv1";
|
||||
};
|
||||
|
||||
i686-linux = fetchurl {
|
||||
url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz";
|
||||
sha256 = "0bhikdilfz31iilgb48mayy9f4lilycq24pqsrq7w3dqdjg4v55v";
|
||||
sha256 = "1mjz41n53gxpaxx7jdxk226f085v23kwr31m20vv4ar4vxfa42d8";
|
||||
};
|
||||
};
|
||||
in
|
||||
|
|
|
@ -258,5 +258,6 @@ in stdenv.mkDerivation rec {
|
|||
description = "A cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks";
|
||||
maintainers = with maintainers; [ cstrahan offline ];
|
||||
platforms = platforms.unix;
|
||||
broken = true; # Broken since 2019-10-22 (https://hydra.nixos.org/build/115475123)
|
||||
};
|
||||
}
|
||||
|
|
28
pkgs/applications/networking/dnscontrol/default.nix
Normal file
28
pkgs/applications/networking/dnscontrol/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
1236
pkgs/applications/networking/dnscontrol/deps.nix
generated
Normal file
1236
pkgs/applications/networking/dnscontrol/deps.nix
generated
Normal file
File diff suppressed because it is too large
Load diff
|
@ -24,10 +24,10 @@ rustPlatform.buildRustPackage rec {
|
|||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
asciidoctor
|
||||
]
|
||||
++ stdenv.lib.optionals stdenv.isDarwin [ makeWrapper libiconv ];
|
||||
gettext
|
||||
] ++ stdenv.lib.optionals stdenv.isDarwin [ makeWrapper libiconv ];
|
||||
|
||||
buildInputs = [ stfl sqlite curl gettext libxml2 json_c ncurses ]
|
||||
buildInputs = [ stfl sqlite curl libxml2 json_c ncurses ]
|
||||
++ stdenv.lib.optional stdenv.isDarwin Security;
|
||||
|
||||
postBuild = ''
|
||||
|
|
|
@ -46,6 +46,7 @@ rustPlatform.buildRustPackage rec {
|
|||
python3
|
||||
rustc
|
||||
wrapGAppsHook
|
||||
glib
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
|
@ -84,4 +85,3 @@ rustPlatform.buildRustPackage rec {
|
|||
maintainers = with maintainers; [ dtzWill worldofpeace ];
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ python3Packages.buildPythonApplication rec {
|
|||
meta = with lib; {
|
||||
description = "Download backlogs from Matrix as raw text";
|
||||
homepage = src.meta.homepage;
|
||||
license = licenses.unfree;
|
||||
license = licenses.gpl1Plus;
|
||||
maintainers = with maintainers; [ aw ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"name": "riot-web",
|
||||
"productName": "Riot",
|
||||
"main": "src/electron-main.js",
|
||||
"version": "1.5.12",
|
||||
"version": "1.5.14",
|
||||
"description": "A feature-rich client for Matrix.org",
|
||||
"author": "New Vector Ltd.",
|
||||
"dependencies": {
|
||||
|
|
|
@ -610,11 +610,11 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "minimist___minimist_1.2.0.tgz";
|
||||
name = "minimist___minimist_1.2.2.tgz";
|
||||
path = fetchurl {
|
||||
name = "minimist___minimist_1.2.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz";
|
||||
sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
|
||||
name = "minimist___minimist_1.2.2.tgz";
|
||||
url = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.2.tgz";
|
||||
sha1 = "b00a00230a1108c48c169e69a291aafda3aacd63";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
|
|
@ -6,12 +6,12 @@
|
|||
|
||||
let
|
||||
executableName = "riot-desktop";
|
||||
version = "1.5.13";
|
||||
version = "1.5.14";
|
||||
riot-web-src = fetchFromGitHub {
|
||||
owner = "vector-im";
|
||||
repo = "riot-web";
|
||||
rev = "v${version}";
|
||||
sha256 = "1p2bdqq8yziv3l7kjkwqvi27a8djav7rk3lsipl7dvdjk1926941";
|
||||
sha256 = "0dkji5rgiakdzcba2v104hhvbw9j98ik95vzwcckksja79zfjmww";
|
||||
};
|
||||
electron = electron_7;
|
||||
|
||||
|
|
|
@ -12,11 +12,11 @@ let
|
|||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "riot-web";
|
||||
version = "1.5.13";
|
||||
version = "1.5.14";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
|
||||
sha256 = "0xghpf9rv7ns5aipc6n517qd9dp50rr93arvx6r36kqhkdyzbfad";
|
||||
sha256 = "1dqqrlr9gby4y8dhw6c50w261bz4f5drkcal98g1396ikcfff3mh";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ stdenv, fetchurl, dpkg
|
||||
, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, glibc, gnome2, gnome3
|
||||
, gtk3, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, wrapGAppsHook, xorg
|
||||
, gtk3, libappindicator-gtk3, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, wrapGAppsHook, xorg
|
||||
, at-spi2-atk, libuuid, at-spi2-core }:
|
||||
|
||||
let
|
||||
|
@ -29,6 +29,7 @@ let
|
|||
gnome2.GConf
|
||||
gdk-pixbuf
|
||||
gtk3
|
||||
libappindicator-gtk3
|
||||
|
||||
gnome3.gnome-keyring
|
||||
|
||||
|
|
|
@ -27,12 +27,12 @@ let
|
|||
in
|
||||
assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.7.1";
|
||||
version = "2.8";
|
||||
pname = "weechat";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://weechat.org/files/src/weechat-${version}.tar.bz2";
|
||||
sha256 = "0acz41jg7lmipni9z2agfqw4dhmx5hf6k9w4pvr4zih1fhkldva2";
|
||||
sha256 = "0xpzl7985j47rpmly4r833jxd448xpy7chqphaxmhlql2c0gc08z";
|
||||
};
|
||||
|
||||
outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins;
|
||||
|
|
|
@ -10,13 +10,13 @@ with lib;
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "qbittorrent";
|
||||
version = "4.2.1";
|
||||
version = "4.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qbittorrent";
|
||||
repo = "qbittorrent";
|
||||
rev = "release-${version}";
|
||||
sha256 = "0bz4l7awkx4qf3gh9c8gj8fab989439zj8qy4x9r36wxdjg5cxil";
|
||||
sha256 = "1iqgwhgwa2kx85zj1rwfnnclr1433a7m2gbs3j7w6rx39vxnzhcc";
|
||||
};
|
||||
|
||||
# NOTE: 2018-05-31: CMake is working but it is not officially supported
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
{ stdenv, fetchurl, openssl, libsamplerate, alsaLib }:
|
||||
{ stdenv, fetchFromGitHub, openssl, libsamplerate, alsaLib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pjsip";
|
||||
version = "2.9";
|
||||
version = "2.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.pjsip.org/release/${version}/pjproject-${version}.tar.bz2";
|
||||
sha256 = "0dm6l8fypkimmzvld35zyykbg957cm5zb4ny3lchgv68amwfz1fi";
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = "pjproject";
|
||||
rev = version;
|
||||
sha256 = "1aklicpgwc88578k03i5d5cm5h8mfm7hmx8vfprchbmaa2p8f4z0";
|
||||
};
|
||||
|
||||
patches = [ ./fix-aarch64.patch ];
|
||||
|
|
|
@ -42,10 +42,11 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "1abkwxdi154hnry8nsvxbklvbsnvd7cs2as0041h2kbiz824pv31";
|
||||
};
|
||||
|
||||
buildInputs= [ wrapGAppsHook gsettings-desktop-schemas gtk3 gnome3.adwaita-icon-theme dconf ];
|
||||
|
||||
phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ];
|
||||
nativeBuildInputs = [ wrapGAppsHook ];
|
||||
buildInputs= [ gsettings-desktop-schemas glib gtk3 gnome3.adwaita-icon-theme dconf ];
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
dontStrip = true;
|
||||
dontPatchELF = true;
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ mkDerivation rec {
|
|||
including Funcube Dongle Pro/Pro+, rtl-sdr, HackRF, and Universal
|
||||
Software Radio Peripheral (USRP) devices.
|
||||
'';
|
||||
homepage = http://gqrx.dk/;
|
||||
homepage = "https://gqrx.dk/";
|
||||
# Some of the code comes from the Cutesdr project, with a BSD license, but
|
||||
# it's currently unknown which version of the BSD license that is.
|
||||
license = licenses.gpl3Plus;
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "urh";
|
||||
version = "2.8.3";
|
||||
version = "2.8.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jopohl";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "17104livp6fv2zg56sqv90lqb7ywqhq2qfnal1hriwwh1b92glv8";
|
||||
sha256 = "060npn0q7yrby2zj9hi8x7raivs91v9hvryvf45k1ipyqh8dgri6";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qt5.wrapQtAppsHook ];
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "stellarium";
|
||||
version = "0.19.3";
|
||||
version = "0.20.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Stellarium";
|
||||
repo = "stellarium";
|
||||
rev = "v${version}";
|
||||
sha256 = "175aj4bgi9b6bif6fvjdlpd68brcwij4x3ml0lxk6i51binv233y";
|
||||
sha256 = "1732dxkgyqd4xf0ry7v930vcbv60l8iry596869z1d47j2piibs4";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake perl wrapQtAppsHook ];
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
with python.pkgs;
|
||||
buildPythonApplication rec {
|
||||
pname = "deepTools";
|
||||
version = "3.3.1";
|
||||
version = "3.4.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "08p36p9ncj5s8qf1r7h83x4rnmi63l3yk6mnr3wgpg2qgvwl0hji";
|
||||
sha256 = "05zw9gk17hz08hns5lnhn7l13idg9jdz4gdba6m6gbr84yz149gs";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -2,17 +2,17 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "stacks";
|
||||
version = "2.41";
|
||||
version = "2.52";
|
||||
src = fetchurl {
|
||||
url = "http://catchenlab.life.illinois.edu/stacks/source/${pname}-${version}.tar.gz";
|
||||
sha256 = "0q420rzjb05jfchcls3pysm4hxfgs6xj2jw246isx0il10g93gkq";
|
||||
sha256 = "0gq3kbj910jsq591wylzjmd23srjlsssmrckmf46m4ysjqdqd8vm";
|
||||
};
|
||||
|
||||
buildInputs = [ zlib ];
|
||||
|
||||
meta = {
|
||||
description = "Software pipeline for building loci from short-read sequences";
|
||||
homepage = http://catchenlab.life.illinois.edu/stacks/;
|
||||
homepage = "http://catchenlab.life.illinois.edu/stacks/";
|
||||
maintainers = [ stdenv.lib.maintainers.bzizou ];
|
||||
license = stdenv.lib.licenses.gpl3;
|
||||
};
|
||||
|
|
|
@ -4,12 +4,12 @@ with stdenv.lib;
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "marvin";
|
||||
version = "20.6.0";
|
||||
version = "20.9.0";
|
||||
|
||||
src = fetchurl {
|
||||
name = "marvin-${version}.deb";
|
||||
url = "http://dl.chemaxon.com/marvin/${version}/marvin_linux_${versions.majorMinor version}.deb";
|
||||
sha256 = "1vd1hsj36wzghpn6xnppjmva35kdcin7h0xdj3xmi4w5l3qw7fl6";
|
||||
sha256 = "1c6q1vb96jsb37g5qbhzcnasd5pdqjyc190yg3caw3gwrd97889q";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ dpkg makeWrapper ];
|
||||
|
@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = {
|
||||
description = "A chemical modelling, analysis and structure drawing program";
|
||||
homepage = https://chemaxon.com/products/marvin;
|
||||
homepage = "https://chemaxon.com/products/marvin";
|
||||
maintainers = with maintainers; [ fusion809 ];
|
||||
license = licenses.unfree;
|
||||
platforms = platforms.linux;
|
||||
|
|
53
pkgs/applications/science/math/cemu/default.nix
Normal file
53
pkgs/applications/science/math/cemu/default.nix
Normal 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" ];
|
||||
};
|
||||
}
|
|
@ -9,6 +9,7 @@
|
|||
, freetype
|
||||
, gcc
|
||||
, glib
|
||||
, libssh2
|
||||
, ncurses
|
||||
, opencv
|
||||
, openssl
|
||||
|
@ -44,9 +45,11 @@ stdenv.mkDerivation rec {
|
|||
gcc.cc
|
||||
gcc.libc
|
||||
glib
|
||||
libssh2
|
||||
ncurses
|
||||
opencv
|
||||
openssl
|
||||
stdenv.cc.cc.lib
|
||||
unixODBC
|
||||
xkeyboard_config
|
||||
libxml2
|
||||
|
@ -93,7 +96,7 @@ stdenv.mkDerivation rec {
|
|||
# Fix library paths
|
||||
cd $out/libexec/Mathematica/Executables
|
||||
for path in mathematica MathKernel Mathematica WolframKernel wolfram math; do
|
||||
sed -i -e "2iexport LD_LIBRARY_PATH=${zlib}/lib:\''${LD_LIBRARY_PATH}\n" $path
|
||||
sed -i -e "2iexport LD_LIBRARY_PATH=${zlib}/lib:${stdenv.cc.cc.lib}/lib:${libssh2}/lib:\''${LD_LIBRARY_PATH}\n" $path
|
||||
done
|
||||
|
||||
# Fix xkeyboard config path for Qt
|
||||
|
@ -102,7 +105,7 @@ stdenv.mkDerivation rec {
|
|||
done
|
||||
|
||||
# Remove some broken libraries
|
||||
rm $out/libexec/Mathematica/SystemFiles/Libraries/Linux-x86-64/libz.so*
|
||||
rm -f $out/libexec/Mathematica/SystemFiles/Libraries/Linux-x86-64/libz.so*
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
|
|
|
@ -7,6 +7,12 @@
|
|||
let allVersions = with lib; flip map
|
||||
# N.B. Versions in this list should be ordered from newest to oldest.
|
||||
[
|
||||
{
|
||||
version = "12.1.0";
|
||||
lang = "en";
|
||||
language = "English";
|
||||
sha256 = "15m9l20jvkxh5w6mbp81ys7mx2lx5j8acw5gz0il89lklclgb8z7";
|
||||
}
|
||||
{
|
||||
version = "12.0.0";
|
||||
lang = "en";
|
||||
|
|
|
@ -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
|
||||
|
54
pkgs/applications/science/math/rofi-calc/default.nix
Normal file
54
pkgs/applications/science/math/rofi-calc/default.nix
Normal 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
Loading…
Reference in a new issue