Merge staging-next into staging

This commit is contained in:
Frederik Rietdijk 2020-07-22 16:50:25 +02:00
commit df0eab2726
190 changed files with 12545 additions and 766 deletions

View File

@ -67,7 +67,7 @@ let
inherit (trivial) id const pipe concat or and bitAnd bitOr bitXor
bitNot boolToString mergeAttrs flip mapNullable inNixShell min max
importJSON warn info showWarnings nixpkgsVersion version mod compare
splitByAndCompare functionArgs setFunctionArgs isFunction;
splitByAndCompare functionArgs setFunctionArgs isFunction toHexString toBaseDigits;
inherit (fixedPoints) fix fix' converge extends composeExtensions
makeExtensible makeExtensibleWithCustomName;
inherit (attrsets) attrByPath hasAttrByPath setAttrByPath

View File

@ -102,6 +102,16 @@ runTests {
expected = 9;
};
testToHexString = {
expr = toHexString 250;
expected = "FA";
};
testToBaseDigits = {
expr = toBaseDigits 2 6;
expected = [ 1 1 0 ];
};
# STRINGS
testConcatMapStrings = {

View File

@ -332,4 +332,55 @@ rec {
*/
isFunction = f: builtins.isFunction f ||
(f ? __functor && isFunction (f.__functor f));
/* Convert the given positive integer to a string of its hexadecimal
representation. For example:
toHexString 0 => "0"
toHexString 16 => "10"
toHexString 250 => "FA"
*/
toHexString = i:
let
toHexDigit = d:
if d < 10
then toString d
else
{
"10" = "A";
"11" = "B";
"12" = "C";
"13" = "D";
"14" = "E";
"15" = "F";
}.${toString d};
in
lib.concatMapStrings toHexDigit (toBaseDigits 16 i);
/* `toBaseDigits base i` converts the positive integer i to a list of its
digits in the given base. For example:
toBaseDigits 10 123 => [ 1 2 3 ]
toBaseDigits 2 6 => [ 1 1 0 ]
toBaseDigits 16 250 => [ 15 10 ]
*/
toBaseDigits = base: i:
let
go = i:
if i < base
then [i]
else
let
r = i - ((i / base) * base);
q = (i - r) / base;
in
[r] ++ go q;
in
assert (base >= 2);
assert (i >= 0);
lib.reverseList (go i);
}

View File

@ -35,7 +35,7 @@
!!! Note that PGP/GPG values stored here are for informational purposes only, don't use this file as a source of truth.
More fields may be added in the future.
More fields may be added in the future, however, in order to comply with GDPR this file should stay as minimal as possible.
Please keep the list alphabetically sorted.
See `./scripts/check-maintainer-github-handles.sh` for an example on how to work with this data.
@ -2928,6 +2928,12 @@
githubId = 7047019;
name = "Florent Becker";
};
galagora = {
email = "lightningstrikeiv@gmail.com";
github = "galagora";
githubId = 45048741;
name = "Alwanga Oyango";
};
gamb = {
email = "adam.gamble@pm.me";
github = "gamb";
@ -3058,6 +3064,12 @@
githubId = 25820499;
name = "Roman Kretschmer";
};
goertzenator = {
email = "daniel.goertzen@gmail.com";
github = "goertzenator";
githubId = 605072;
name = "Daniel Goertzen";
};
goibhniu = {
email = "cillian.deroiste@gmail.com";
github = "cillianderoiste";
@ -5197,6 +5209,12 @@
github = "metadark";
githubId = 382041;
};
meutraa = {
email = "paul+nixpkgs@lost.host";
name = "Paul Meredith";
github = "meutraa";
githubId = 68550871;
};
mfossen = {
email = "msfossen@gmail.com";
github = "mfossen";

View File

@ -16,7 +16,7 @@
</para>
<programlisting>
nix-build -A netboot nixos/release.nix
nix-build -A netboot.x86_64-linux nixos/release.nix
</programlisting>
<para>

View File

@ -1,4 +1,4 @@
{ stdenv, closureInfo, xorriso, syslinux
{ stdenv, closureInfo, xorriso, syslinux, libossp_uuid
, # The file name of the resulting ISO image.
isoName ? "cd.iso"
@ -48,7 +48,7 @@ assert usbBootable -> isohybridMbrImage != "";
stdenv.mkDerivation {
name = isoName;
builder = ./make-iso9660-image.sh;
buildInputs = [ xorriso syslinux zstd ];
buildInputs = [ xorriso syslinux zstd libossp_uuid ];
inherit isoName bootable bootImage compressImage volumeID efiBootImage efiBootable isohybridMbrImage usbBootable;

View File

@ -99,7 +99,12 @@ done
mkdir -p $out/iso
# daed2280-b91e-42c0-aed6-82c825ca41f3 is an arbitrary namespace, to prevent
# independent applications from generating the same UUID for the same value.
# (the chance of that being problematic seem pretty slim here, but that's how
# version-5 UUID's work)
xorriso="xorriso
-boot_image any gpt_disk_guid=$(uuid -v 5 daed2280-b91e-42c0-aed6-82c825ca41f3 $out | tr -d -)
-as mkisofs
-iso-level 3
-volid ${volumeID}
@ -118,15 +123,6 @@ xorriso="xorriso
$xorriso -output $out/iso/$isoName
if test -n "$usbBootable"; then
echo "Making image hybrid..."
if test -n "$efiBootable"; then
isohybrid --uefi $out/iso/$isoName
else
isohybrid $out/iso/$isoName
fi
fi
if test -n "$compressImage"; then
echo "Compressing image..."
zstd -T$NIX_BUILD_CORES --rm $out/iso/$isoName

View File

@ -2,13 +2,18 @@
{ pkgs }:
let
zeroPad = n: if n < 10 then "0${toString n}" else toString n;
zeroPad = n:
pkgs.lib.optionalString (n < 16) "0" +
(if n > 255
then throw "Can't have more than 255 nets or nodes!"
else pkgs.lib.toHexString n);
in
{
rec {
qemuNicMac = net: machine: "52:54:00:12:${zeroPad net}:${zeroPad machine}";
qemuNICFlags = nic: net: machine:
[ "-device virtio-net-pci,netdev=vlan${toString nic},mac=52:54:00:12:${zeroPad net}:${zeroPad machine}"
[ "-device virtio-net-pci,netdev=vlan${toString nic},mac=${qemuNicMac net machine}"
"-netdev vde,id=vlan${toString nic},sock=$QEMU_VDE_SOCKET_${toString net}"
];

View File

@ -581,7 +581,7 @@ in {
# password or an SSH authorized key. Privileged accounts are
# root and users in the wheel group.
assertion = !cfg.mutableUsers ->
any id (mapAttrsToList (name: cfg:
any id ((mapAttrsToList (name: cfg:
(name == "root"
|| cfg.group == "wheel"
|| elem "wheel" cfg.extraGroups)
@ -591,7 +591,9 @@ in {
|| cfg.passwordFile != null
|| cfg.openssh.authorizedKeys.keys != []
|| cfg.openssh.authorizedKeys.keyFiles != [])
) cfg.users);
) cfg.users) ++ [
config.security.googleOsLogin.enable
]);
message = ''
Neither the root account nor any wheel user has a password or SSH authorized key.
You must set one to prevent being locked out of your system.'';

View File

@ -345,6 +345,7 @@ in
zoneminder = 314;
paperless = 315;
#mailman = 316; # removed 2019-08-30
zigbee2mqtt = 317;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -645,6 +646,7 @@ in
zoneminder = 314;
paperless = 315;
#mailman = 316; # removed 2019-08-30
zigbee2mqtt = 317;
# When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal

View File

@ -510,6 +510,7 @@
./services/misc/uhub.nix
./services/misc/weechat.nix
./services/misc/xmr-stak.nix
./services/misc/zigbee2mqtt.nix
./services/misc/zoneminder.nix
./services/misc/zookeeper.nix
./services/monitoring/alerta.nix

View File

@ -704,7 +704,7 @@ in {
TimeoutSec = "infinity";
Restart = "on-failure";
WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
ExecStart="${cfg.packages.gitlab.rubyEnv}/bin/sidekiq -C \"${cfg.packages.gitlab}/share/gitlab/config/sidekiq_queues.yml\" -e production -P ${cfg.statePath}/tmp/sidekiq.pid";
ExecStart="${cfg.packages.gitlab.rubyEnv}/bin/sidekiq -C \"${cfg.packages.gitlab}/share/gitlab/config/sidekiq_queues.yml\" -e production";
};
};

View File

@ -0,0 +1,98 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.zigbee2mqtt;
configJSON = pkgs.writeText "configuration.json"
(builtins.toJSON (recursiveUpdate defaultConfig cfg.config));
configFile = pkgs.runCommand "configuration.yaml" { preferLocalBuild = true; } ''
${pkgs.remarshal}/bin/json2yaml -i ${configJSON} -o $out
'';
# the default config contains all required settings,
# so the service starts up without crashing.
defaultConfig = {
homeassistant = false;
permit_join = false;
mqtt = {
base_topic = "zigbee2mqtt";
server = "mqtt://localhost:1883";
};
serial.port = "/dev/ttyACM0";
# put device configuration into separate file because configuration.yaml
# is copied from the store on startup
devices = "devices.yaml";
};
in
{
meta.maintainers = with maintainers; [ sweber ];
options.services.zigbee2mqtt = {
enable = mkEnableOption "enable zigbee2mqtt service";
package = mkOption {
description = "Zigbee2mqtt package to use";
default = pkgs.zigbee2mqtt.override {
dataDir = cfg.dataDir;
};
defaultText = "pkgs.zigbee2mqtt";
type = types.package;
};
dataDir = mkOption {
description = "Zigbee2mqtt data directory";
default = "/var/lib/zigbee2mqtt";
type = types.path;
};
config = mkOption {
default = {};
type = with types; nullOr attrs;
example = literalExample ''
{
homeassistant = config.services.home-assistant.enable;
permit_join = true;
serial = {
port = "/dev/ttyACM1";
};
}
'';
description = ''
Your <filename>configuration.yaml</filename> as a Nix attribute set.
'';
};
};
config = mkIf (cfg.enable) {
systemd.services.zigbee2mqtt = {
description = "Zigbee2mqtt Service";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
ExecStart = "${cfg.package}/bin/zigbee2mqtt";
User = "zigbee2mqtt";
WorkingDirectory = cfg.dataDir;
Restart = "on-failure";
ProtectSystem = "strict";
ReadWritePaths = cfg.dataDir;
PrivateTmp = true;
RemoveIPC = true;
};
preStart = ''
cp --no-preserve=mode ${configFile} "${cfg.dataDir}/configuration.yaml"
'';
};
users.users.zigbee2mqtt = {
home = cfg.dataDir;
createHome = true;
group = "zigbee2mqtt";
extraGroups = [ "dialout" ];
uid = config.ids.uids.zigbee2mqtt;
};
users.groups.zigbee2mqtt.gid = config.ids.gids.zigbee2mqtt;
};
}

View File

@ -134,8 +134,7 @@ in {
CacheDirectoryMode = "0750";
};
environment.etc."tmpfiles.d/knot-resolver.conf".source =
"${package}/lib/tmpfiles.d/knot-resolver.conf";
systemd.tmpfiles.packages = [ package ];
# Try cleaning up the previously default location of cache file.
# Note that /var/cache/* should always be safe to remove.

View File

@ -30,12 +30,12 @@ let
download_limit = cfg.downloadLimit;
upload_limit = cfg.uploadLimit;
lan_encrypt_data = cfg.encryptLAN;
} // optionalAttrs cfg.enableWebUI {
} // optionalAttrs (cfg.directoryRoot != "") { directory_root = cfg.directoryRoot; }
// optionalAttrs cfg.enableWebUI {
webui = { listen = "${cfg.httpListenAddr}:${toString cfg.httpListenPort}"; } //
(optionalAttrs (cfg.httpLogin != "") { login = cfg.httpLogin; }) //
(optionalAttrs (cfg.httpPass != "") { password = cfg.httpPass; }) //
(optionalAttrs (cfg.apiKey != "") { api_key = cfg.apiKey; }) //
(optionalAttrs (cfg.directoryRoot != "") { directory_root = cfg.directoryRoot; });
(optionalAttrs (cfg.apiKey != "") { api_key = cfg.apiKey; });
} // optionalAttrs (sharedFoldersRecord != []) {
shared_folders = sharedFoldersRecord;
}));

View File

@ -99,7 +99,7 @@ in
##############################################
# PROVIDER configuration
# Taken from: https://github.com/pusher/oauth2_proxy/blob/master/providers/providers.go
# Taken from: https://github.com/oauth2-proxy/oauth2-proxy/blob/master/providers/providers.go
provider = mkOption {
type = types.enum [
"google"
@ -346,7 +346,9 @@ in
type = types.nullOr types.str;
default = null;
description = ''
An optional cookie domain to force cookies to.
Optional cookie domains to force cookies to (ie: `.yourcompany.com`).
The longest domain matching the request's host will be used (or the shortest
cookie domain if there is no match).
'';
example = ".yourcompany.com";
};
@ -537,7 +539,7 @@ in
extraConfig = mkOption {
default = {};
description = ''
Extra config to pass to oauth2_proxy.
Extra config to pass to oauth2-proxy.
'';
};
@ -545,7 +547,7 @@ in
type = types.nullOr types.path;
default = null;
description = ''
oauth2_proxy allows passing sensitive configuration via environment variables.
oauth2-proxy allows passing sensitive configuration via environment variables.
Make a file that contains lines like
OAUTH2_PROXY_CLIENT_SECRET=asdfasdfasdf.apps.googleuserscontent.com
and specify the path here.
@ -577,7 +579,7 @@ in
serviceConfig = {
User = "oauth2_proxy";
Restart = "always";
ExecStart = "${cfg.package}/bin/oauth2_proxy ${configString}";
ExecStart = "${cfg.package}/bin/oauth2-proxy ${configString}";
EnvironmentFile = mkIf (cfg.keyFile != null) cfg.keyFile;
};
};

View File

@ -102,7 +102,7 @@ in {
PIDFile = "/run/unit/unit.pid";
ExecStart = ''
${cfg.package}/bin/unitd --control 'unix:/run/unit/control.unit.sock' --pid '/run/unit/unit.pid' \
--log '${cfg.logDir}/unit.log' --state '${cfg.stateDir}' \
--log '${cfg.logDir}/unit.log' --state '${cfg.stateDir}' --tmp '/tmp' \
--user ${cfg.user} --group ${cfg.group}
'';
ExecStop = ''

View File

@ -26,7 +26,7 @@ in {
systemd.packages = [ pkgs.colord ];
environment.etc."tmpfiles.d/colord.conf".source = "${pkgs.colord}/lib/tmpfiles.d/colord.conf";
systemd.tmpfiles.packages = [ pkgs.colord ];
users.users.colord = {
isSystemUser = true;

View File

@ -92,9 +92,7 @@ let
# `switch-to-configuration' that activates the configuration and
# makes it bootable.
baseSystem = pkgs.stdenvNoCC.mkDerivation {
name = let hn = config.networking.hostName;
nn = if (hn != "") then hn else "unnamed";
in "nixos-system-${nn}-${config.system.nixos.label}";
name = "nixos-system-${config.system.name}-${config.system.nixos.label}";
preferLocalBuild = true;
allowSubstitutes = false;
buildCommand = systemBuilder;
@ -265,6 +263,21 @@ in
'';
};
system.name = mkOption {
type = types.str;
default =
if config.networking.hostName == ""
then "unnamed"
else config.networking.hostName;
defaultText = '''networking.hostName' if non empty else "unnamed"'';
description = ''
The name of the system used in the <option>system.build.toplevel</option> derivation.
</para><para>
That derivation has the following name:
<literal>"nixos-system-''${config.system.name}-''${config.system.nixos.label}"</literal>
'';
};
};

View File

@ -749,6 +749,25 @@ in
'';
};
systemd.tmpfiles.packages = mkOption {
type = types.listOf types.package;
default = [];
example = literalExample "[ pkgs.lvm2 ]";
apply = map getLib;
description = ''
List of packages containing <command>systemd-tmpfiles</command> rules.
All files ending in .conf found in
<filename><replaceable>pkg</replaceable>/lib/tmpfiles.d</filename>
will be included.
If this folder does not exist or does not contain any files an error will be returned instead.
If a <filename>lib</filename> output is available, rules are searched there and only there.
If there is no <filename>lib</filename> output it will fall back to <filename>out</filename>
and if that does not exist either, the default output will be used.
'';
};
systemd.user.units = mkOption {
description = "Definition of systemd per-user units.";
default = {};
@ -992,24 +1011,18 @@ in
"sysctl.d/50-coredump.conf".source = "${systemd}/example/sysctl.d/50-coredump.conf";
"sysctl.d/50-default.conf".source = "${systemd}/example/sysctl.d/50-default.conf";
"tmpfiles.d/00-nixos.conf".text = ''
# This file is created automatically and should not be modified.
# Please change the option systemd.tmpfiles.rules instead.
${concatStringsSep "\n" cfg.tmpfiles.rules}
'';
"tmpfiles.d/home.conf".source = "${systemd}/example/tmpfiles.d/home.conf";
"tmpfiles.d/journal-nocow.conf".source = "${systemd}/example/tmpfiles.d/journal-nocow.conf";
"tmpfiles.d/portables.conf".source = "${systemd}/example/tmpfiles.d/portables.conf";
"tmpfiles.d/static-nodes-permissions.conf".source = "${systemd}/example/tmpfiles.d/static-nodes-permissions.conf";
"tmpfiles.d/systemd.conf".source = "${systemd}/example/tmpfiles.d/systemd.conf";
"tmpfiles.d/systemd-nologin.conf".source = "${systemd}/example/tmpfiles.d/systemd-nologin.conf";
"tmpfiles.d/systemd-nspawn.conf".source = "${systemd}/example/tmpfiles.d/systemd-nspawn.conf";
"tmpfiles.d/systemd-tmp.conf".source = "${systemd}/example/tmpfiles.d/systemd-tmp.conf";
"tmpfiles.d/tmp.conf".source = "${systemd}/example/tmpfiles.d/tmp.conf";
"tmpfiles.d/var.conf".source = "${systemd}/example/tmpfiles.d/var.conf";
"tmpfiles.d/x11.conf".source = "${systemd}/example/tmpfiles.d/x11.conf";
"tmpfiles.d".source = (pkgs.symlinkJoin {
name = "tmpfiles.d";
paths = cfg.tmpfiles.packages;
postBuild = ''
for i in $(cat $pathsPath); do
(test -d $i/lib/tmpfiles.d && test $(ls $i/lib/tmpfiles.d/*.conf | wc -l) -ge 1) || (
echo "ERROR: The path $i was passed to systemd.tmpfiles.packages but either does not contain the folder lib/tmpfiles.d or if it contains that folder, there are no files ending in .conf in it."
exit 1
)
done
'';
}) + "/lib/tmpfiles.d";
"systemd/system-generators" = { source = hooks "generators" cfg.generators; };
"systemd/system-shutdown" = { source = hooks "shutdown" cfg.shutdown; };
@ -1030,6 +1043,36 @@ in
unitConfig.X-StopOnReconfiguration = true;
};
systemd.tmpfiles.packages = [
# Default tmpfiles rules provided by systemd
(pkgs.runCommand "systemd-default-tmpfiles" {} ''
mkdir -p $out/lib/tmpfiles.d
cd $out/lib/tmpfiles.d
ln -s "${systemd}/example/tmpfiles.d/home.conf"
ln -s "${systemd}/example/tmpfiles.d/journal-nocow.conf"
ln -s "${systemd}/example/tmpfiles.d/static-nodes-permissions.conf"
ln -s "${systemd}/example/tmpfiles.d/systemd.conf"
ln -s "${systemd}/example/tmpfiles.d/systemd-nologin.conf"
ln -s "${systemd}/example/tmpfiles.d/systemd-nspawn.conf"
ln -s "${systemd}/example/tmpfiles.d/systemd-tmp.conf"
ln -s "${systemd}/example/tmpfiles.d/tmp.conf"
ln -s "${systemd}/example/tmpfiles.d/var.conf"
ln -s "${systemd}/example/tmpfiles.d/x11.conf"
'')
# User-specified tmpfiles rules
(pkgs.writeTextFile {
name = "nixos-tmpfiles.d";
destination = "/lib/tmpfiles.d/00-nixos.conf";
text = ''
# This file is created automatically and should not be modified.
# Please change the option systemd.tmpfiles.rules instead.
${concatStringsSep "\n" cfg.tmpfiles.rules}
'';
})
];
systemd.units =
mapAttrs' (n: v: nameValuePair "${n}.path" (pathToUnit n v)) cfg.paths
// mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.services

View File

@ -16,11 +16,6 @@ let
qemu = config.system.build.qemu or pkgs.qemu_test;
vmName =
if config.networking.hostName == ""
then "noname"
else config.networking.hostName;
cfg = config.virtualisation;
consoles = lib.concatMapStringsSep " " (c: "console=${c}") cfg.qemu.consoles;
@ -156,7 +151,7 @@ let
# Start QEMU.
exec ${qemuBinary qemu} \
-name ${vmName} \
-name ${config.system.name} \
-m ${toString config.virtualisation.memorySize} \
-smp ${toString config.virtualisation.cores} \
-device virtio-rng-pci \
@ -294,7 +289,7 @@ in
virtualisation.diskImage =
mkOption {
default = "./${vmName}.qcow2";
default = "./${config.system.name}.qcow2";
description =
''
Path to the disk image containing the root filesystem.
@ -501,7 +496,7 @@ in
virtualisation.efiVars =
mkOption {
default = "./${vmName}-efi-vars.fd";
default = "./${config.system.name}-efi-vars.fd";
description =
''
Path to nvram image containing UEFI variables. The will be created
@ -712,7 +707,7 @@ in
''
mkdir -p $out/bin
ln -s ${config.system.build.toplevel} $out/system
ln -s ${pkgs.writeScript "run-nixos-vm" startVM} $out/bin/run-${vmName}-vm
ln -s ${pkgs.writeScript "run-nixos-vm" startVM} $out/bin/run-${config.system.name}-vm
'';
# When building a regular system configuration, override whatever

View File

@ -8,7 +8,9 @@ with import ../lib/testing-python.nix { inherit system pkgs; };
with pkgs.lib;
let
router = { config, pkgs, ... }:
qemu-flags = import ../lib/qemu-flags.nix { inherit pkgs; };
router = { config, pkgs, lib, ... }:
with pkgs.lib;
let
vlanIfs = range 1 (length config.virtualisation.vlans);
@ -31,16 +33,19 @@ let
enable = true;
interfaces = map (n: "eth${toString n}") vlanIfs;
extraConfig = ''
authoritative;
'' + flip concatMapStrings vlanIfs (n: ''
subnet 192.168.${toString n}.0 netmask 255.255.255.0 {
option routers 192.168.${toString n}.1;
# XXX: technically it's _not guaranteed_ that IP addresses will be
# issued from the first item in range onwards! We assume that in
# our tests however.
range 192.168.${toString n}.2 192.168.${toString n}.254;
}
'');
'')
;
machines = lib.flip map vlanIfs (vlan:
{
hostName = "client${toString vlan}";
ethernetAddress = qemu-flags.qemuNicMac vlan 1;
ipAddress = "192.168.${toString vlan}.2";
}
);
};
services.radvd = {
enable = true;

View File

@ -0,0 +1,19 @@
import ./make-test-python.nix ({ pkgs, ... }:
{
machine = { pkgs, ... }:
{
services.zigbee2mqtt = {
enable = true;
};
};
testScript = ''
machine.wait_for_unit("zigbee2mqtt.service")
machine.wait_until_fails("systemctl status zigbee2mqtt.service")
machine.succeed(
"journalctl -eu zigbee2mqtt | grep \"Error: Error while opening serialport 'Error: Error: No such file or directory, cannot open /dev/ttyACM0'\""
)
'';
}
)

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "lsp-plugins";
version = "1.1.22";
version = "1.1.24";
src = fetchFromGitHub {
owner = "sadko4u";
repo = pname;
rev = "${pname}-${version}";
sha256 = "0s0i0kf5nqxxywckg03fds1w7696ly60rnlljzqvp7qfgzps1r6c";
sha256 = "0rzgzkg6wvhjcf664i16nz4v30drgv80s34bhdflcjzx2x7ix5zk";
};
nativeBuildInputs = [ pkgconfig php makeWrapper ];

View File

@ -0,0 +1,13 @@
diff --git a/config.go b/config.go
index de16249..fb91ec0 100644
--- a/config.go
+++ b/config.go
@@ -20,7 +20,7 @@ const configFile = "config.toml"
func initializeConfigIfNot() {
log.Println("Checking if config needs to be initialized")
- conf := config{Threshold: 95, DisplayMonitorSources: false, EnableUpdates: true}
+ conf := config{Threshold: 95, DisplayMonitorSources: false, EnableUpdates: false}
configdir := configDir()
ok, err := exists(configdir)
if err != nil {

View File

@ -0,0 +1,42 @@
{ stdenv, buildGoModule, fetchFromGitHub, rnnoise-plugin }:
buildGoModule rec {
pname = "NoiseTorch";
version = "0.5.2-beta";
src = fetchFromGitHub {
owner = "lawl";
repo = "NoiseTorch";
rev = version;
sha256 = "1q0gfpqczlpybxcjjkiybcy6yc0gnrq8x27r0mpg4pvgwy7mps47";
};
patches = [ ./version.patch ./config.patch ./embedlibrnnoise.patch ];
vendorSha256 = null;
subPackages = [ "." ];
buildInputs = [ rnnoise-plugin ];
preBuild = ''
export RNNOISE_LADSPA_PLUGIN="${rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so";
go generate;
rm ./scripts/*
'';
postInstall = ''
mkdir -p $out/share/icons/hicolor/256x256/apps/
cp assets/icon/noisetorch.png $out/share/icons/hicolor/256x256/apps/
mkdir -p $out/share/applications/
cp assets/noisetorch.desktop $out/share/applications/
'';
meta = with stdenv.lib; {
description = "Virtual microphone device with noise supression for PulseAudio";
homepage = "https://github.com/lawl/NoiseTorch";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ panaeon ];
};
}

View File

@ -0,0 +1,13 @@
diff --git a/scripts/embedlibrnnoise.go b/scripts/embedlibrnnoise.go
index 43daf80..0b3004b 100644
--- a/scripts/embedlibrnnoise.go
+++ b/scripts/embedlibrnnoise.go
@@ -8,7 +8,7 @@ import (
)
func main() {
- b, err := ioutil.ReadFile("librnnoise_ladspa/bin/ladspa/librnnoise_ladspa.so")
+ b, err := ioutil.ReadFile(os.Getenv("RNNOISE_LADSPA_PLUGIN"))
if err != nil {
fmt.Printf("Couldn't read librnnoise_ladspa.so: %v\n", err)
os.Exit(1)

View File

@ -0,0 +1,37 @@
diff --git a/scripts/embedversion.go b/scripts/embedversion.go
index ce0a756..60e7a5e 100644
--- a/scripts/embedversion.go
+++ b/scripts/embedversion.go
@@ -1,24 +1,18 @@
package main
import (
- "os"
- "os/exec"
- "strings"
+ "os"
+ "strings"
)
func main() {
- cmd := exec.Command("git", "describe", "--tags")
- ret, err := cmd.Output()
- if err != nil {
- panic("Couldn't read git tags to embed version number")
- }
- version := strings.TrimSpace(string(ret))
+ version := strings.TrimSpace(string(os.Getenv("version")))
- out, _ := os.Create("version.go")
- defer out.Close()
+ out, _ := os.Create("version.go")
+ defer out.Close()
- out.Write([]byte("package main\n\n//THIS FILE IS AUTOMATICALLY GENERATED BY `go generate` DO NOT EDIT!\n\nvar version=\""))
- out.Write([]byte(version))
- out.Write([]byte("\"\n"))
+ out.Write([]byte("package main\n\n//THIS FILE IS AUTOMATICALLY GENERATED BY `go generate` DO NOT EDIT!\n\nvar version=\""))
+ out.Write([]byte(version))
+ out.Write([]byte("\"\n"))
}

View File

@ -3,12 +3,12 @@
, libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }:
stdenv.mkDerivation rec {
version = "20200411";
version = "20200714";
pname = "x42-plugins";
src = fetchurl {
url = "https://gareus.org/misc/x42-plugins/${pname}-${version}.tar.xz";
sha256 = "0y6778l2zc80kvp31mqw3vkcyi7g613jxn3g3lxqfa31i617gh6j";
sha256 = "1av05ykph8x67018hm9zfgh1vk0zi39mvrsxkj6bm4hkarxf0vvl";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "go-ethereum";
version = "1.9.16";
version = "1.9.17";
src = fetchFromGitHub {
owner = "ethereum";
repo = pname;
rev = "v${version}";
sha256 = "0vycnyz6v39cfrck70h3dbn7jkkh67q0fli240ksw2cp4pqwpwcn";
sha256 = "175cy5cqkdhvh3kv2d0madybbz2sdbgxhm8xfb3ydbaf2hzihxmx";
};
usb = fetchFromGitHub {

View File

@ -3,6 +3,7 @@
let
system = stdenv.hostPlatform.system;
electron = electron_7;
in stdenv.mkDerivation rec {
pname = "whirlpool-gui";
@ -71,7 +72,7 @@ in stdenv.mkDerivation rec {
ln -s "${desktopItem}/share/applications" "$out/share/applications"
# wrap electron
makeWrapper '${electron_7}/bin/electron' "$out/bin/whirlpool-gui" \
makeWrapper '${electron}/bin/electron' "$out/bin/whirlpool-gui" \
--add-flags "$out/libexec/whirlpool-gui" \
--prefix PATH : "${jre8}/bin:${tor}/bin"
'';

View File

@ -198,8 +198,12 @@ in runCommand
# binaries are also distributed as proprietary software (unlike the
# source-code itself).
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; ([ ]
++ optional (channel == "stable") primeos);
maintainers = with maintainers; rec {
stable = [ meutraa ];
beta = [ galagora ];
canary = [ meutraa ];
dev = canary;
}."${channel}";
};
}
''

View File

@ -13,14 +13,14 @@ let
sha256Hash = "15vm7fvi8c286wx9f28z6ysvm8wqqda759qql0zy9simwx22gy7j";
};
betaVersion = {
version = "4.0.0.16"; # "Android Studio 4.0"
build = "193.6514223";
sha256Hash = "1sqj64vddwfrr9821habfz7dms9csvbp7b8gf1d027188b2lvh3h";
version = "4.1.0.14"; # "Android Studio 4.1 Beta 4"
build = "201.6667167";
sha256Hash = "11lkwcbzdl86cyz4lci65cx9z5jjhrc4z40maqx2r5hw1xka9290";
};
latestVersion = { # canary & dev
version = "4.1.0.10"; # "Android Studio 4.1 Canary 10"
build = "201.6507185";
sha256Hash = "19yawwsjsdqc0brr0ahviljv4v4p085k3izdpmm915c0bjm89y72";
version = "4.2.0.4"; # "Android Studio 4.2 Canary 4"
build = "201.6636798";
sha256Hash = "1v3893g5kx2azmv0zj2k1rxpiksapnapy7rgfq6x6fq4d2q87wbc";
};
in {
# Attributes are named by their corresponding release channels

View File

@ -12,6 +12,9 @@
, pandoc
}:
let
electron = electron_8;
in
stdenv.mkDerivation rec {
pname = "typora";
version = "0.9.89";
@ -52,7 +55,7 @@ stdenv.mkDerivation rec {
'';
postFixup = ''
makeWrapper ${electron_8}/bin/electron $out/bin/typora \
makeWrapper ${electron}/bin/electron $out/bin/typora \
--add-flags $out/share/typora \
"''${gappsWrapperArgs[@]}" \
${lib.optionalString withPandoc ''--prefix PATH : "${lib.makeBinPath [ pandoc ]}"''} \

View File

@ -0,0 +1,133 @@
{ stdenv
, boehmgc
, boost
, cairo
, cmake
, fetchpatch
, fetchurl
, gettext
, glib
, glibmm
, gsl
, gtkmm2
, gtkspell2
, imagemagick
, lcms
, libcdr
, libexif
, libpng
, librevenge
, librsvg
, libsigcxx
, libvisio
, libwpg
, libXft
, libxml2
, libxslt
, makeWrapper
, perlPackages
, pkg-config
, poppler
, popt
, potrace
, python3
, wrapGAppsHook
, zlib
}:
let
python3Env = python3.withPackages
(ps: with ps; [
numpy
lxml
scour
]);
in
stdenv.mkDerivation rec {
pname = "inkscape_0";
version = "0.92.5";
src = fetchurl {
url = "https://media.inkscape.org/dl/resources/file/inkscape-${version}.tar.bz2";
sha256 = "ge5/aeK9ZKlzQ9g5Wkp6eQWyG4YVZu1eXZF5F41Rmgs=";
};
# Inkscape hits the ARGMAX when linking on macOS. It appears to be
# CMakes ARGMAX check doesnt offer enough padding for NIX_LDFLAGS.
# Setting strictDeps it avoids duplicating some dependencies so it
# will leave us under ARGMAX.
strictDeps = true;
postPatch = ''
patchShebangs share/extensions
patchShebangs fix-roff-punct
# Python is used at run-time to execute scripts, e.g., those from
# the "Effects" menu.
substituteInPlace src/extension/implementation/script.cpp \
--replace '"python-interpreter", "python"' '"python-interpreter", "${python3Env}/bin/python"'
'';
nativeBuildInputs = [
pkg-config
cmake
makeWrapper
python3Env
wrapGAppsHook
] ++ (with perlPackages; [
perl
XMLParser
]);
buildInputs = [
boehmgc
boost
gettext
glib
glibmm
gsl
gtkmm2
imagemagick
lcms
libcdr
libexif
libpng
librevenge
librsvg # for loading icons
libsigcxx
libvisio
libwpg
libXft
libxml2
libxslt
perlPackages.perl
poppler
popt
potrace
python3Env
zlib
] ++ stdenv.lib.optionals (!stdenv.isDarwin) [
gtkspell2
] ++ stdenv.lib.optionals stdenv.isDarwin [
cairo
];
# Make sure PyXML modules can be found at run-time.
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkscape
install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkview
'';
meta = with stdenv.lib; {
description = "Legacy version of vector graphics editor";
homepage = "https://www.inkscape.org";
license = licenses.gpl3Plus;
maintainers = [ maintainers.jtojnar ];
platforms = platforms.all;
longDescription = ''
Inkscape is a feature-rich vector graphics editor that edits
files in the W3C SVG (Scalable Vector Graphics) file format.
If you want to import .eps files install ps2edit.
'';
};
}

View File

@ -3,14 +3,18 @@
, boost
, cairo
, cmake
, fetchpatch
, double-conversion
, fetchurl
, gettext
, gdl
, glib
, glib-networking
, glibmm
, gsl
, gtkmm2
, gtkspell2
, gtk-mac-integration
, gtkmm3
, gtkspell3
, gdk-pixbuf
, imagemagick
, lcms
, libcdr
@ -19,18 +23,20 @@
, librevenge
, librsvg
, libsigcxx
, libsoup
, libvisio
, libwpg
, libXft
, libxml2
, libxslt
, makeWrapper
, ninja
, perlPackages
, pkg-config
, poppler
, popt
, potrace
, python3
, substituteAll
, wrapGAppsHook
, zlib
}:
@ -44,11 +50,11 @@ let
in
stdenv.mkDerivation rec {
pname = "inkscape";
version = "0.92.5";
version = "1.0";
src = fetchurl {
url = "https://media.inkscape.org/dl/resources/file/${pname}-${version}.tar.bz2";
sha256 = "02wsa66ifycibmgfsrhmhqdv41brg955lffq8drsjr5xw9lpzvl1";
url = "https://media.inkscape.org/dl/resources/file/${pname}-${version}.tar.xz";
sha256 = "1fwl7yjkykqb86555k4fm24inhc40mrvxqwgl2v2vi9alv8j7hc9";
};
# Inkscape hits the ARGMAX when linking on macOS. It appears to be
@ -57,21 +63,28 @@ stdenv.mkDerivation rec {
# will leave us under ARGMAX.
strictDeps = true;
patches = [
(substituteAll {
src = ./fix-python-paths.patch;
# Python is used at run-time to execute scripts,
# e.g., those from the "Effects" menu.
python3 = "${python3Env}/bin/python";
})
];
postPatch = ''
patchShebangs share/extensions
patchShebangs fix-roff-punct
# Python is used at run-time to execute scripts, e.g., those from
# the "Effects" menu.
substituteInPlace src/extension/implementation/script.cpp \
--replace '"python-interpreter", "python"' '"python-interpreter", "${python3Env}/bin/python"'
patchShebangs share/templates
patchShebangs man/fix-roff-punct
'';
nativeBuildInputs = [
pkg-config
cmake
makeWrapper
ninja
python3Env
glib # for setup hook
gdk-pixbuf # for setup hook
wrapGAppsHook
] ++ (with perlPackages; [
perl
@ -81,11 +94,14 @@ stdenv.mkDerivation rec {
buildInputs = [
boehmgc
boost
double-conversion
gdl
gettext
glib
glib-networking
glibmm
gsl
gtkmm2
gtkmm3
imagemagick
lcms
libcdr
@ -94,6 +110,7 @@ stdenv.mkDerivation rec {
librevenge
librsvg # for loading icons
libsigcxx
libsoup
libvisio
libwpg
libXft
@ -106,9 +123,10 @@ stdenv.mkDerivation rec {
python3Env
zlib
] ++ stdenv.lib.optionals (!stdenv.isDarwin) [
gtkspell2
gtkspell3
] ++ stdenv.lib.optionals stdenv.isDarwin [
cairo
gtk-mac-integration
];
# Make sure PyXML modules can be found at run-time.

View File

@ -0,0 +1,15 @@
--- a/src/extension/implementation/script.cpp
+++ b/src/extension/implementation/script.cpp
@@ -77,10 +77,10 @@ const std::map<std::string, Script::inte
{ "python", {"python-interpreter", {"pythonw" }}},
#elif defined __APPLE__
{ "perl", {"perl-interpreter", {"perl" }}},
- { "python", {"python-interpreter", {"python3" }}},
+ { "python", {"python-interpreter", {"@python3@" }}},
#else
{ "perl", {"perl-interpreter", {"perl" }}},
- { "python", {"python-interpreter", {"python3", "python" }}},
+ { "python", {"python-interpreter", {"@python3@" }}},
#endif
{ "python2", {"python2-interpreter", {"python2", "python" }}},
{ "ruby", {"ruby-interpreter", {"ruby" }}},

View File

@ -7,112 +7,26 @@
, lib3ds
, bzip2
, muparser
, eigen
, glew
, gmp
, levmar
, qhull
, cmake
}:
let
meshlabRev = "25f3d17b1d1d47ddc51179cb955f3027b7638745";
vcglibRev = "910da4c3e310f2e6557bd7a39c4f1529e61573e5";
# ^ this should be the latest commit in the vcglib devel branch at the time of the meshlab revision
# We keep it separate here instead of using the `vcg` nix package because
# as of writing, meshlab upstream does not seem to follow a proper
# release process, and the other dependencies of `vcg` may no longer
# work when we upgrade it for the purpose of meshlab.
mkDerivation rec {
pname = "meshlab";
version = "2020.03";
# Unfixed upstream compile error; see
# https://github.com/cnr-isti-vclab/meshlab/issues/188#issuecomment-364785362
# that has with fixed line endings.
import_bundle_out_patch = fetchpatch {
name = "import_bundle_out.patch";
url = "https://aur.archlinux.org/cgit/aur.git/plain/import_bundle_out.patch?h=meshlab-git&id=f7250ea818470f07dc9b86726407091d39c0be6f";
sha256 = "1g6nli15i3fjd6jsgkxvb33kzbcv67xjkc3jv9r51lrwlm1ifzxi";
src = fetchFromGitHub {
owner = "cnr-isti-vclab";
repo = "meshlab";
rev = "f3568e75c9aed6da8bb105a1c8ac7ebbe00e4536";
sha256 = "17g9icgy1w67afxiljzxk94dyhj4f336gjxn0bhppd58xfqh8w4g";
fetchSubmodules = true; # for vcglib
};
# Reduces amount of vendored libraries, fixes `/linux` vs `linux-g++`
# directory name linker errors.
external_patch = fetchpatch {
name = "external.patch";
url = "https://aur.archlinux.org/cgit/aur.git/plain/external.patch?h=meshlab-git&id=f7250ea818470f07dc9b86726407091d39c0be6f";
sha256 = "1rxwkxhmxis1420rc1w7dg89gkmym68lpszsq6snl6dzpl3ingsb";
};
_3ds_patch = fetchpatch {
name = "3ds.patch";
url = "https://aur.archlinux.org/cgit/aur.git/plain/3ds.patch?h=meshlab-git&id=f7250ea818470f07dc9b86726407091d39c0be6f";
sha256 = "1w435b7p1ggi2bzib4yyszmk54drjgpbn8n9mnsk1slsxnp2vmg8";
};
muparser_patch = fetchpatch {
name = "muparser.patch";
url = "https://aur.archlinux.org/cgit/aur.git/plain/muparser.patch?h=meshlab-git&id=f7250ea818470f07dc9b86726407091d39c0be6f";
sha256 = "1sf7xqwc2j8xxdx2yklwifii9qqgknvx6ahk2hq76mg78ry1nzhq";
};
in mkDerivation {
name = "meshlab-20190129-beta";
srcs =
[
(fetchFromGitHub {
owner = "cnr-isti-vclab";
repo = "meshlab";
rev = meshlabRev;
sha256 = "16d2i91hrxvrr5p0k33g3fzis9zp4gsy3n5y2nhafvsgdmaidiij";
name = "meshlab-${meshlabRev}";
})
(fetchFromGitHub {
owner = "cnr-isti-vclab";
repo = "vcglib";
rev = vcglibRev;
sha256 = "0xpnjpwpj57hgai184rzyk9lbq6d9vbjzr477dvl5nplpwa420m1";
name = "vcglib-${vcglibRev}";
})
];
sourceRoot = "meshlab-${meshlabRev}";
# Meshlab is not format-security clean; without disabling hardening, we get:
# ../../external/qhull-2003.1/src/io.c:2169:3: error: format not a string literal and no format arguments [-Werror=format-security]
# fprintf(fp, endfmt);
# ^~~~~~~
hardeningDisable = [ "format" ];
enableParallelBuilding = true;
prePatch =
''
# MeshLab has ../vcglib hardcoded everywhere, so move the source dir
mv ../vcglib-${vcglibRev} ../vcglib
# Make all source files writable so that patches can be applied.
chmod -R u+w ..
patch -Np1 --directory=../vcglib -i ${import_bundle_out_patch}
patch -Np1 -i ${external_patch}
# Individual libraries
patch -Np1 -i ${_3ds_patch}
patch -Np1 -i ${muparser_patch}
''
;
buildPhase = ''
cd src
export NIX_LDFLAGS="-rpath $out/opt/meshlab $NIX_LDFLAGS"
pushd external
qmake -recursive $QMAKE_FLAGS external.pro
buildPhase
popd
qmake -recursive $QMAKE_FLAGS meshlab_full.pro
buildPhase
'';
installPhase = ''
mkdir -p $out/opt/meshlab $out/bin
cp -Rv distrib/* $out/opt/meshlab
ln -s $out/opt/meshlab/meshlab $out/bin/meshlab
ln -s $out/opt/meshlab/meshlabserver $out/bin/meshlabserver
'';
buildInputs = [
libGLU
qtbase
@ -121,9 +35,49 @@ in mkDerivation {
lib3ds
bzip2
muparser
eigen
glew
gmp
levmar
qhull
];
nativeBuildInputs = [ cmake ];
patches = [ ./no-build-date.patch ];
# MeshLab computes the version based on the build date, remove when https://github.com/cnr-isti-vclab/meshlab/issues/622 is fixed.
postPatch = ''
substituteAll ${./fix-version.patch} /dev/stdout | patch -p1 --binary
'';
preConfigure = ''
substituteAll ${./meshlab.desktop} install/linux/resources/meshlab.desktop
cd src
'';
cmakeFlags = [
"-DALLOW_BUNDLED_EIGEN=OFF"
"-DALLOW_BUNDLED_GLEW=OFF"
"-DALLOW_BUNDLED_LIB3DS=OFF"
"-DALLOW_BUNDLED_MUPARSER=OFF"
"-DALLOW_BUNDLED_QHULL=OFF"
# disable when available in nixpkgs
"-DALLOW_BUNDLED_OPENCTM=ON"
"-DALLOW_BUNDLED_SSYNTH=ON"
# some plugins are disabled unless these are on
"-DALLOW_BUNDLED_NEWUOA=ON"
"-DALLOW_BUNDLED_LEVMAR=ON"
];
# Meshlab is not format-security clean; without disabling hardening, we get:
# src/common/GLLogStream.h:61:37: error: format not a string literal and no format arguments [-Werror=format-security]
# 61 | int chars_written = snprintf(buf, buf_size, f, std::forward<Ts>(ts)...);
# |
hardeningDisable = [ "format" ];
enableParallelBuilding = true;
meta = {
description = "A system for processing and editing 3D triangular meshes.";
homepage = "http://www.meshlab.net/";

View File

@ -0,0 +1,5 @@
--- a/src/common/mlapplication.h
+++ b/src/common/mlapplication.h
@@ -23 +23 @@ public:
- return QString::number(compileTimeYear()) + "." + (compileTimeMonth() < 10 ? "0" + QString::number(compileTimeMonth()) : QString::number(compileTimeMonth()));
+ return "@version@";

View File

@ -0,0 +1,15 @@
[Desktop Entry]
Name=MeshLab
Version=@version@
Name[en_GB]=MeshLab
GenericName=Mesh processing
GenericName[en_GB]=Mesh processing
Comment=View and process meshes
Type=Application
Exec=@out@/bin/meshlab %U
TryExec=@out@/bin/meshlab
Icon=@out@/share/icons/hicolor/meshlab.png
Terminal=false
MimeType=model/mesh;application/x-3ds;image/x-3ds;application/sla;
Categories=Graphics;3DGraphics;Viewer;Qt;
END_DESKTOP

View File

@ -0,0 +1,10 @@
--- a/src/meshlab/mainwindow_RunTime.cpp
+++ b/src/meshlab/mainwindow_RunTime.cpp
@@ -3312 +3312 @@ void MainWindow::about()
- temp.labelMLName->setText(MeshLabApplication::completeName(MeshLabApplication::HW_ARCHITECTURE(QSysInfo::WordSize))+" (built on "+__DATE__+")");
+ temp.labelMLName->setText(MeshLabApplication::completeName(MeshLabApplication::HW_ARCHITECTURE(QSysInfo::WordSize)));
--- a/src/meshlabplugins/filter_plymc/plymc_main.cpp
+++ b/src/meshlabplugins/filter_plymc/plymc_main.cpp
@@ -121 +121 @@ int main(int argc, char *argv[])
- printf( "\n PlyMC "_PLYMC_VER" ("__DATE__")\n"
+ printf( "\n PlyMC "_PLYMC_VER"\n"

View File

@ -0,0 +1,30 @@
{ mkDerivation, lib
, libkdegames, extra-cmake-modules
, kdeclarative, knewstuff
}:
mkDerivation {
name = "bomber";
meta = with lib; {
homepage = "https://kde.org/applications/en/games/org.kde.bomber";
description = "Bomber is a single player arcade game";
longDescription = ''
Bomber is a single player arcade game. The player is invading various
cities in a plane that is decreasing in height.
The goal of the game is to destroy all the buildings and advance to the next level.
Each level gets a bit harder by increasing the speed of the plane and the height of the buildings.
'';
maintainers = with maintainers; [ freezeboy ];
license = licenses.gpl2Plus;
platforms = platforms.linux;
};
nativeBuildInputs = [
extra-cmake-modules
];
buildInputs = [
kdeclarative
knewstuff
libkdegames
];
}

View File

@ -74,7 +74,8 @@ let
akregator = callPackage ./akregator.nix {};
ark = callPackage ./ark {};
baloo-widgets = callPackage ./baloo-widgets.nix {};
bovo = callPackage ./bovo.nix {};
bovo = callPackage ./bovo.nix {};
bomber = callPackage ./bomber.nix {};
calendarsupport = callPackage ./calendarsupport.nix {};
dolphin = callPackage ./dolphin.nix {};
dolphin-plugins = callPackage ./dolphin-plugins.nix {};

View File

@ -0,0 +1,45 @@
{ fetchFromGitHub
, glib
, gtk3
, openssl
, pkg-config
, python3
, rustPlatform
, stdenv
, wrapGAppsHook
}:
rustPlatform.buildRustPackage rec {
pname = "break-time";
version = "0.1.1";
src = fetchFromGitHub {
owner = "cdepillabout";
repo = "break-time";
rev = "v${version}";
sha256 = "18p9gfp0inbnjsc7af38fghyklr7qnl2kkr25isfy9d5m8cpxqc6";
};
cargoSha256 = "0brmgrxhspcpcarm4lvnl95dw2n96r20w736giv18xcg7d5jmgca";
nativeBuildInputs = [
pkg-config
python3 # needed for Rust xcb package
wrapGAppsHook
];
buildInputs = [
glib
gtk3
openssl
];
meta = with stdenv.lib; {
description = "Break timer that forces you to take a break";
homepage = "https://github.com/cdepillabout/break-time";
license = with licenses; [ mit ];
maintainers = with maintainers; [ cdepillabout ];
platforms = platforms.linux;
};
}

View File

@ -7,7 +7,7 @@
stdenv.mkDerivation rec {
pname = "dbeaver-ce";
version = "7.1.2";
version = "7.1.3";
desktopItem = makeDesktopItem {
name = "dbeaver";
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
sha256 = "131v8y5la2pv3cqf2qknd816z24dvhf2c4f7js8vfzrfw5vwsqbq";
sha256 = "0i8f0rhs11wwx3cy37y9rv61rd451gg138zl8rndri1hdgsz148b";
};
installPhase = ''

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "dstask";
version = "0.18";
version = "0.20";
src = fetchFromGitHub {
owner = "naggie";
repo = pname;
rev = "v${version}";
sha256 = "16z5zlfj955pzsj0l58835slvpchdaq2vbyx2fjzi6y9xn1z2nd1";
sha256 = "0hrhvfkqflr4wx1r2xbfbi566pglrp4rp5yq0cr2ml0x6kw3yz0j";
};
# Set vendorSha256 to null because dstask vendors its dependencies (meaning

View File

@ -1,19 +1,19 @@
{ lib, python3Packages, radicale2 }:
{ lib, python3Packages, radicale3 }:
python3Packages.buildPythonApplication rec {
pname = "etesync-dav";
version = "0.17.0";
version = "0.20.0";
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "0lyjv8rknwbx5b5nvq5bgw26lhkymib4cvmv3s3469mrnn2c0ksp";
sha256 = "1q8h89hqi4kxphn1g5nbcia0haz5k57is9rycwaabm55mj9s9fah";
};
propagatedBuildInputs = with python3Packages; [
etesync
flask
flask_wtf
radicale2
radicale3
];
checkInputs = with python3Packages; [

View File

@ -0,0 +1,40 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper, xdotool, fzf, imagemagick, sxiv, getopt }:
stdenv.mkDerivation rec {
pname = "fontpreview";
version = "1.0.6";
src = fetchFromGitHub {
owner = "sdushantha";
repo = pname;
rev = version;
sha256 = "0g3i2k6n2yhp88rrcf0hp6ils7836db7hx73hw9qnpcbmckz0i4w";
};
nativeBuildInputs = [ makeWrapper ];
preInstall = "mkdir -p $out/bin";
installFlags = [ "PREFIX=$(out)" ];
postInstall = ''
wrapProgram $out/bin/fontpreview \
--prefix PATH : ${lib.makeBinPath [ xdotool fzf imagemagick sxiv getopt ]}
'';
meta = with stdenv.lib; {
homepage = "https://github.com/sdushantha/fontpreview";
description = "Highly customizable and minimal font previewer written in bash";
longDescription = ''
fontpreview is a commandline tool that lets you quickly search for fonts
that are installed on your machine and preview them. The fuzzy search
feature is provided by fzf and the preview is generated with imagemagick
and then displayed using sxiv. This tool is highly customizable, almost
all of the variables in this tool can be changed using the commandline
flags or you can configure them using environment variables.
'';
license = licenses.mit;
platforms = platforms.unix;
maintainers = [ maintainers.erictapen ];
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, wxGTK
{ stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, wxGTK30-gtk3
, desktop-file-utils, libSM, imagemagick }:
stdenv.mkDerivation rec {
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [ libzen libmediainfo wxGTK desktop-file-utils libSM
buildInputs = [ libzen libmediainfo wxGTK30-gtk3 desktop-file-utils libSM
imagemagick ];
sourceRoot = "./MediaInfo/Project/GNU/GUI/";

View File

@ -16,7 +16,7 @@ let
genericName = "Obinskit keyboard configurator";
categories = "Utility";
};
electron = electron_3;
in
stdenv.mkDerivation rec {
pname = "obinskit";
@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
'';
postFixup = ''
makeWrapper ${electron_3}/bin/electron $out/bin/${pname} \
makeWrapper ${electron}/bin/electron $out/bin/${pname} \
--add-flags $out/opt/obinskit/resources/app.asar \
--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc.lib libxkbcommon systemd.lib xorg.libXt ]}"
'';

View File

@ -1,8 +1,11 @@
{ stdenv, lib, fetchurl, makeWrapper, wrapGAppsHook, electron
{ stdenv, lib, fetchurl, makeWrapper, wrapGAppsHook, electron_7
, common-updater-scripts
, writeShellScript
}:
let
electron = electron_7;
in
stdenv.mkDerivation rec {
pname = "stretchly";
version = "0.21.1";

View File

@ -1,41 +0,0 @@
From dfa4bcafec4425659a409550085417af3c5c787b Mon Sep 17 00:00:00 2001
From: Florian Klink <flokli@flokli.de>
Date: Sat, 11 Apr 2020 12:38:38 +0200
Subject: [PATCH] core: fix libgit ifdef to handle libgit2 v1.0 and onwards
Conditional code for older libgit versions was removed in
https://github.com/Subsurface-divelog/subsurface/pull/2737,
but it's a non-trivial backport, and master currently isn't really ready
for a release.
So instead ship a patch fixing the one broken libgit2 conditional until
a 4.10 release has been made.
Note the inverted logic - the if branch now handles the old libgit
condition, and the else branch the newer versions, consistent with how
it's done in the rest of the subsurface codebase.
---
core/git-access.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/core/git-access.c b/core/git-access.c
index 3688cb90c..9997fc8fd 100644
--- a/core/git-access.c
+++ b/core/git-access.c
@@ -359,10 +359,10 @@ static int try_to_git_merge(git_repository *repo, git_reference **local_p, git_r
}
git_merge_init_options(&merge_options, GIT_MERGE_OPTIONS_VERSION);
-#if !LIBGIT2_VER_MAJOR && LIBGIT2_VER_MINOR > 23
- merge_options.flags = GIT_MERGE_FIND_RENAMES;
-#else
+#if !LIBGIT2_VER_MAJOR && LIBGIT2_VER_MINOR <= 22
merge_options.tree_flags = GIT_MERGE_TREE_FIND_RENAMES;
+#else
+ merge_options.flags = GIT_MERGE_FIND_RENAMES;
#endif
merge_options.file_favor = GIT_MERGE_FILE_FAVOR_UNION;
merge_options.rename_threshold = 100;
--
2.25.1

View File

@ -4,13 +4,13 @@
}:
let
version = "4.9.3";
version = "4.9.6";
subsurfaceSrc = (fetchFromGitHub {
owner = "Subsurface-divelog";
owner = "Subsurface";
repo = "subsurface";
rev = "v${version}";
sha256 = "1i07f7appifx9j205x5a7ng01wsipxr6n9a3692pm60jli2nsir5";
sha256 = "1w1ak0fi6ljhg2jc4mjqyrbpax3iawrnsaqq6ls7qdzrhi37rggf";
fetchSubmodules = true;
});
@ -39,13 +39,13 @@ let
googlemaps = stdenv.mkDerivation rec {
pname = "googlemaps";
version = "2017-12-18";
version = "2018-06-02";
src = fetchFromGitHub {
owner = "vladest";
repo = "googlemaps";
rev = "79f3511d60dc9640de02a5f24656094c8982b26d";
sha256 = "11334w0bnfb97sv23vvj2b5hcwvr0171hxldn91jms9y12l5j15d";
rev = "54a357f9590d9cf011bf1713589f66bad65e00eb";
sha256 = "159kslp6rj0qznzxijppwvv8jnswlfgf2pw4x8ladi8vp6bzxnzi";
};
nativeBuildInputs = [ qmake ];
@ -78,9 +78,6 @@ in stdenv.mkDerivation {
src = subsurfaceSrc;
# remove with the 4.10 release
patches = [ ./0001-core-fix-libgit-ifdef-to-handle-libgit2-v1.0-and-onw.patch ];
buildInputs = [
libdc googlemaps
curl grantlee libgit2 libssh2 libusb-compat-0_1 libxml2 libxslt libzip

View File

@ -1,8 +1,8 @@
{ lib, haskellPackages, fetchFromGitHub }:
let
version = "1.7.3";
sha256 = "1439fh79ilc6jvz894cfzhk7gy5r2sv4v79bvqmmqbzbqk9qsbvx";
version = "1.9.3";
sha256 = "1xh18884xkhcln4blglzi0faag4ydhxxsk9hj6llb81kcsxlsi89";
in (haskellPackages.mkDerivation {
pname = "taskell";
@ -46,6 +46,7 @@ in (haskellPackages.mkDerivation {
# text
time
vty
tz
];
executableHaskellDepends = [];
@ -61,5 +62,5 @@ in (haskellPackages.mkDerivation {
homepage = "https://taskell.app";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ matthiasbeyer ];
platforms = with lib.platforms; unix ++ darwin;
platforms = [ "x86_64-linux" ];
})

View File

@ -1,5 +1,8 @@
{ lib, stdenv, fetchurl, electron, makeDesktopItem, makeWrapper, nodePackages, autoPatchelfHook}:
{ lib, stdenv, fetchurl, electron_4, makeDesktopItem, makeWrapper, nodePackages, autoPatchelfHook}:
let
electron = electron_4;
in
stdenv.mkDerivation rec {
pname = "teleprompter";
version = "2.3.4";

View File

@ -19,16 +19,16 @@ let
in
buildGoModule rec {
pname = "argo";
version = "2.8.2";
version = "2.9.3";
src = fetchFromGitHub {
owner = "argoproj";
repo = "argo";
rev = "v${version}";
sha256 = "1di6c8p9bc0g8r5l654sdvpiawp76cp8v97cj227yhznf39f20z9";
sha256 = "1nflzcp8h4kc4986ah2ixws1rpndz1z225jqwfbiyr3yky3him4n";
};
vendorSha256 = "1p9b2m20gxc7iyq08mvllf5dpi4m06aw233sb45d05d624kw4aps";
vendorSha256 = "1vqmzz76lcwwnw89n4lyg4jjf7wbdgn9sdzwsgrjwkj8ax7d48cv";
subPackages = [ "cmd/argo" ];

View File

@ -0,0 +1,24 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "istioctl";
version = "1.6.5";
src = fetchFromGitHub {
owner = "istio";
repo = "istio";
rev = version;
sha256 = "0xga0vjr2nfbxwbawly8vg9vnpavxbmc1agg2a3cp1ncmzfrgpcx";
};
vendorSha256 = "15l9z2a8p46jvmkl0vvm6s196mlics0qgmpm3yq3bn6cqnybdsij";
subPackages = [ "istioctl/cmd/istioctl" ];
meta = with lib; {
description = "Istio configuration command line utility for service operators to debug and diagnose their Istio mesh";
homepage = "https://istio.io/latest/docs/reference/commands/istioctl";
license = licenses.asl20;
maintainers = with maintainers; [ veehaitch ];
platforms = platforms.unix;
};
}

View File

@ -11,15 +11,15 @@
buildGoModule rec {
pname = "minikube";
version = "1.12.0";
version = "1.12.1";
vendorSha256 = "0wcm7kw5z7d0ch59nyx5xlv5ci7jrwnzspmsh1yb76318cx2aghi";
vendorSha256 = "0v2lnzdv5nmg4jf10hqyvrsyz5yg7brm4p3gil7n88w6n100phfn";
src = fetchFromGitHub {
owner = "kubernetes";
repo = "minikube";
rev = "v${version}";
sha256 = "0bvdyfx5vjcgnkqd23rpbbhxf1zigpzxlqpay2sb6dpldsj0nhdk";
sha256 = "0ya6mp081vs48c0nh4nys9z04kz79mjfpm4gs0hlmh2kpa5kmc9h";
};
nativeBuildInputs = [ go-bindata installShellFiles pkg-config which ];

View File

@ -16,11 +16,11 @@
stdenv.mkDerivation rec {
pname = "filezilla";
version = "3.48.1";
version = "3.49.1";
src = fetchurl {
url = "https://download.filezilla-project.org/client/FileZilla_${version}_src.tar.bz2";
sha256 = "0pgg2gp4x5qmxwin2qhf6skw0z52y29p75g41kjyh1lhzxvxizxb";
sha256 = "1dmkwpc0vy7058bh9a10ida0k64rxggap8ysl5xx3457y468rk2f";
};
# https://www.linuxquestions.org/questions/slackware-14/trouble-building-filezilla-3-47-2-1-current-4175671182/#post6099769

View File

@ -26,10 +26,13 @@ stdenv.mkDerivation rec {
"DATA_ROOT_DIR_PURPLE=${placeholder "out"}/share"
];
buildFlags = [ "CC=cc" ]; # fix build on darwin
meta = with stdenv.lib; {
homepage = "https://github.com/matrix-org/purple-matrix";
description = "Matrix support for Pidgin / libpurple";
license = licenses.gpl2;
platforms = platforms.unix;
maintainers = with maintainers; [ symphorien ];
};
}

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, xdg_utils, dpkg, makeWrapper, autoPatchelfHook
, libXtst, libXScrnSaver, gtk3, nss, alsaLib, udev, libnotify
, libXtst, libXScrnSaver, gtk3, nss, alsaLib, udev, libnotify, wrapGAppsHook
}:
let
@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
};
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook ];
nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook wrapGAppsHook ];
buildInputs = [ libXtst libXScrnSaver gtk3 nss alsaLib ];
runtimeDependencies = [ udev.lib libnotify ];

View File

@ -1,5 +1,8 @@
{ autoPatchelfHook, electron, fetchurl, makeDesktopItem, makeWrapper, nodePackages, nss, stdenv, xdg_utils, xorg }:
{ autoPatchelfHook, electron_4, fetchurl, makeDesktopItem, makeWrapper, nodePackages, nss, stdenv, xdg_utils, xorg }:
let
electron = electron_4;
in
stdenv.mkDerivation rec {
pname = "rambox-pro";
version = "1.3.2";

View File

@ -5,12 +5,12 @@
let
pname = "zulip";
version = "5.2.0";
version = "5.4.0";
name = "${pname}-${version}";
src = fetchurl {
url = "https://github.com/zulip/zulip-desktop/releases/download/v${version}/Zulip-${version}-x86_64.AppImage";
sha256 = "0rgvllm1pzg6smyjrhh8v1ial0dvav0h2zccxp4p5nqmq6zdvs3h";
sha256 = "14p0nly144rivd9yk273asfjza5p9qncpbmh4qxnd4gq01f98igh";
name="${pname}-${version}.AppImage";
};

View File

@ -78,7 +78,7 @@ let
on https://nixos.org/nixpkgs/manual/#sec-weechat .
'';
license = stdenv.lib.licenses.gpl3;
maintainers = with stdenv.lib.maintainers; [ lovek323 lheckemann ma27 ];
maintainers = with stdenv.lib.maintainers; [ lovek323 lheckemann ];
platforms = stdenv.lib.platforms.unix;
};
}

View File

@ -39,7 +39,7 @@ stdenv.mkDerivation {
meta = with stdenv.lib; {
description = "A WeeChat script in Lua that implements the matrix.org chat protocol";
homepage = "https://github.com/torhve/weechat-matrix-protocol-script";
maintainers = with maintainers; [ ma27 ];
maintainers = with maintainers; [ ];
license = licenses.mit; # see https://github.com/torhve/weechat-matrix-protocol-script/blob/0052e7275ae149dc5241226391c9b1889ecc3c6b/matrix.lua#L53
platforms = platforms.unix;

View File

@ -44,8 +44,6 @@ buildGoModule rec {
buildInputs = [ python3 notmuch ];
GOFLAGS="-tags=notmuch";
buildPhase = "
runHook preBuild
# we use make instead of go build
@ -54,7 +52,7 @@ buildGoModule rec {
installPhase = ''
runHook preInstall
make PREFIX=$out install
make PREFIX=$out GOFLAGS="$GOFLAGS -tags=notmuch" install
wrapPythonProgramsIn $out/share/aerc/filters "$out $pythonPath"
runHook postInstall
'';
@ -73,4 +71,4 @@ buildGoModule rec {
license = licenses.mit;
platforms = platforms.unix;
};
}
}

View File

@ -8,6 +8,9 @@
, electron_6
}:
let
electron = electron_6;
in
stdenv.mkDerivation rec {
pname = "openbazaar-client";
version = "2.4.6";
@ -42,7 +45,7 @@ stdenv.mkDerivation rec {
'';
postFixup = ''
makeWrapper ${electron_6}/bin/electron $out/bin/${pname} \
makeWrapper ${electron}/bin/electron $out/bin/${pname} \
--add-flags $out/share/${pname}/resources/app \
--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ gcc-unwrapped.lib ]}"
'';

View File

@ -1,27 +1,18 @@
{ stdenv, fetchFromGitHub, pythonPackages, fetchpatch, installShellFiles }:
{ stdenv, fetchFromGitHub, pythonPackages, installShellFiles }:
with pythonPackages;
buildPythonApplication rec {
pname = "watson";
version = "1.9.0";
version = "1.10.0";
src = fetchFromGitHub {
owner = "TailorDev";
repo = "Watson";
rev = version;
sha256 = "0f0ldwadjf0xncx3m4w4wwqddd4wjwcsrbhby8vgsnqsn48dnfcx";
sha256 = "1s0k86ldqky6avwjaxkw1y02wyf59qwqldcahy3lhjn1b5dgsb3s";
};
patches = [
# https://github.com/TailorDev/Watson/pull/380
# The nixpkgs' arrow version is too new / not supported by Watson's latest release.
(fetchpatch {
url = "https://github.com/TailorDev/Watson/commit/69b9ad25551525d52060f7fb2eef3653e872a455.patch";
sha256 = "0zrswgr0y219f92zi41m7cymfaspkhmlada4v9ijnsjjdb4bn2c9";
})
];
checkPhase = ''
pytest -vs tests
'';
@ -39,6 +30,6 @@ buildPythonApplication rec {
homepage = "https://tailordev.github.io/Watson/";
description = "A wonderful CLI to track your time!";
license = licenses.mit;
maintainers = with maintainers; [ mguentner nathyong ];
maintainers = with maintainers; [ mguentner nathyong geistesk ];
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, cmake, fftw, hamlib, libpulseaudio, libGL, libX11, liquid-dsp,
{ stdenv, fetchFromGitHub, fetchpatch, cmake, fftw, hamlib, libpulseaudio, libGL, libX11, liquid-dsp,
pkgconfig, soapysdr-with-plugins, wxGTK31-gtk3, enableDigitalLab ? false }:
stdenv.mkDerivation rec {
@ -12,6 +12,23 @@ stdenv.mkDerivation rec {
sha256 = "1ihbn18bzdcdvwpa4hnb55ns38bj4b8xy53hkmra809f9qpbcjhn";
};
# Allow cubicsdr 0.2.5 to build with wxGTK 3.1.3
# these come from cubicsdr's master branch, subsequent releases may include them
patches = [
(fetchpatch {
url = "https://github.com/cjcliffe/CubicSDR/commit/65a160fa356ce9665dfe05c6bfc6754535e16743.patch";
sha256 = "0vbr5x9fnm09bws5crqcm6kkhr1bg5r0bc1pxnwwjyc6jpvqi6ad";
})
(fetchpatch {
url = "https://github.com/cjcliffe/CubicSDR/commit/f449a65457e35bf8260d0b16b8a47b6bc0ea2c7e.patch";
sha256 = "1zjvjmhm8ybi6i9pq7by3fj3mvx37dy7gj4gk23d79yrnl9mk25p";
})
(fetchpatch {
url = "https://github.com/cjcliffe/CubicSDR/commit/0540d08c2dea79b668b32b1a6d58f235d65ce9d2.patch";
sha256 = "07l7b82f779sbcj0jza0mg463ac1153bs9hn6ai388j7dm3lvasn";
})
];
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ fftw hamlib libpulseaudio libGL libX11 liquid-dsp soapysdr-with-plugins wxGTK31-gtk3 ];

View File

@ -2,32 +2,39 @@
stdenv.mkDerivation rec {
pname = "sortmerna";
version = "3.0.3";
version = "4.2.0";
src = fetchFromGitHub {
repo = pname;
owner = "biocore";
rev = "v${version}";
sha256 = "0zx5fbzyr8wdr0zwphp8hhcn1xz43s5lg2ag4py5sv0pv5l1jh76";
sha256 = "0r91viylzr069jm7kpcgb45kagvf8sqcj5zc1af4arl9sgfs1f3j";
};
patches = [
(fetchpatch {
name = "CMakeInstallPrefix.patch";
url = "https://github.com/biocore/sortmerna/commit/4d36d620a3207e26cf3f588d4ec39889ea21eb79.patch";
sha256 = "0hc3jwdr6ylbyigg52q8islqc0mb1k8rrjadvjfqaxnili099apd";
})
];
nativeBuildInputs = [ cmake rapidjson pkgconfig ];
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ zlib rocksdb rapidjson ];
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
"-DROCKSDB_HOME=${rocksdb}"
"-DPORTABLE=off"
"-DRAPIDJSON_HOME=${rapidjson}"
"-DROCKSDB_HOME=${rocksdb}"
"-DROCKSDB_STATIC=off"
"-DZLIB_STATIC=off"
];
postPatch = ''
# Fix formatting string error:
# https://github.com/biocore/sortmerna/issues/255
substituteInPlace src/sortmerna/indexdb.cpp \
--replace 'is_verbose, ss' 'is_verbose, "%s", ss'
# Fix missing pthread dependency for the main binary.
substituteInPlace src/sortmerna/CMakeLists.txt \
--replace "target_link_libraries(sortmerna" \
"target_link_libraries(sortmerna Threads::Threads"
'';
meta = with stdenv.lib; {
description = "Tools for filtering, mapping, and OTU-picking from shotgun genomics data";
license = licenses.lgpl3;

View File

@ -0,0 +1,52 @@
{ stdenv, fetchFromGitHub, cmake, ninja, pkgconfig, python3Packages
, boost, rapidjson, qtbase, qtsvg, igraph, spdlog, wrapQtAppsHook
, llvmPackages ? null
}:
stdenv.mkDerivation rec {
version = "2.0.0";
pname = "hal-hardware-analyzer";
src = fetchFromGitHub {
owner = "emsec";
repo = "hal";
rev = "v${version}";
sha256 = "11xmqxnryksl645wmm1d69k1b5zwvxxf0admk4iblzaa3ggf7cv1";
};
# make sure bundled dependencies don't get in the way - install also otherwise
# copies them in full to the output, bloating the package
postPatch = ''
rm -rf deps/*/*
substituteInPlace cmake/detect_dependencies.cmake \
--replace 'spdlog 1.4.2 EXACT' 'spdlog 1.4.2 REQUIRED'
'';
nativeBuildInputs = [ cmake ninja pkgconfig ];
buildInputs = [ qtbase qtsvg boost rapidjson igraph spdlog wrapQtAppsHook ]
++ (with python3Packages; [ python pybind11 ])
++ stdenv.lib.optional stdenv.cc.isClang llvmPackages.openmp;
cmakeFlags = with stdenv.lib.versions; [
"-DHAL_VERSION_RETURN=${version}"
"-DHAL_VERSION_MAJOR=${major version}"
"-DHAL_VERSION_MINOR=${minor version}"
"-DHAL_VERSION_PATCH=${patch version}"
"-DHAL_VERSION_TWEAK=0"
"-DHAL_VERSION_ADDITIONAL_COMMITS=0"
"-DHAL_VERSION_DIRTY=false"
"-DHAL_VERSION_BROKEN=false"
"-DENABLE_INSTALL_LDCONFIG=off"
"-DBUILD_ALL_PLUGINS=on"
];
# needed for macos build - this is why we use wrapQtAppsHook instead of
# the qt mkDerivation - the latter forcibly overrides this.
cmakeBuildType = "MinSizeRel";
meta = {
description = "A comprehensive reverse engineering and manipulation framework for gate-level netlists";
homepage = "https://github.com/emsec/hal";
license = stdenv.lib.licenses.mit;
platforms = with stdenv.lib.platforms; unix;
maintainers = with stdenv.lib.maintainers; [ ris ];
};
}

View File

@ -1,25 +1,26 @@
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
, ffmpeg_3, libjpeg, libmicrohttpd }:
, ffmpeg, libjpeg, libmicrohttpd }:
stdenv.mkDerivation rec {
pname = "motion";
version = "4.3.0";
version = "4.3.1";
src = fetchFromGitHub {
owner = "Motion-Project";
repo = "motion";
rev = "Release-${version}";
sha256 = "08mm7ajgs0qnrydywxxyzcll09z80crjnjkjnckdi6ljsj6s96j8";
rev = "release-${version}";
sha256 = "01yy4pdgd4wa97bpw27zn5zik9iz719m1jiwkk9lb7m2a2951dhc";
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [ ffmpeg_3 libjpeg libmicrohttpd ];
buildInputs = [ ffmpeg libjpeg libmicrohttpd ];
meta = with stdenv.lib; {
description = "Monitors the video signal from cameras";
homepage = "https://motion-project.github.io/";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ puffnfresh veprbl ];
platforms = platforms.unix;
};
}

View File

@ -1,14 +1,14 @@
{ stdenv, pythonPackages, fetchFromGitHub, rtmpdump, ffmpeg_3 }:
pythonPackages.buildPythonApplication rec {
version = "1.4.1";
version = "1.5.0";
pname = "streamlink";
src = fetchFromGitHub {
owner = "streamlink";
repo = "streamlink";
rev = version;
sha256 = "1q3h48qwf7vs2wnbkwv0xnm6s65mkcyqdz7z6z3vrsmif2sb19l2";
sha256 = "00pishpyim3mcvr9njcbfhj79j85b5xhkslk3mspc2csqknw4k61";
};
checkInputs = with pythonPackages; [ pytest mock requests-mock freezegun ];

View File

@ -14,13 +14,13 @@
buildGoModule rec {
pname = "cri-o";
version = "1.18.2";
version = "1.18.3";
src = fetchFromGitHub {
owner = "cri-o";
repo = "cri-o";
rev = "v${version}";
sha256 = "0p6gprbs54v3n09fjpyfxnzxs680ms8924wdim4q9qw52wc6sbdz";
sha256 = "1csdbyypqwxkfc061pdv7nj52a52b9xxzb6qgxcznd82w7wgfb3g";
};
vendorSha256 = null;
outputs = [ "out" "man" ];

View File

@ -23,7 +23,7 @@ let
buildType = "release";
# Use maintainers/scripts/update.nix to update the version and all related hashes or
# change the hashes in extpack.nix and guest-additions/default.nix as well manually.
version = "6.1.6";
version = "6.1.10";
iasl' = iasl.overrideAttrs (old: rec {
inherit (old) pname;
@ -40,7 +40,7 @@ in stdenv.mkDerivation {
src = fetchurl {
url = "https://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
sha256 = "b031c30d770f28c5f884071ad933e8c1f83e65b93aaba03a4012077c1d90a54f";
sha256 = "37d8b30c0be82a50c858f3fc70cde967882239b6212bb32e138d3615b423c477";
};
outputs = [ "out" "modsrc" ];

View File

@ -12,7 +12,7 @@ fetchurl rec {
# Manually sha256sum the extensionPack file, must be hex!
# Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`.
# Checksums can also be found at https://www.virtualbox.org/download/hashes/${version}/SHA256SUMS
let value = "80b96b4b51a502141f6a8981f1493ade08a00762622c39e48319e5b122119bf3";
let value = "03067f27f4da07c5d0fdafc56d27e3ea23a60682b333b2a1010fb74ef9a40c28";
in assert (builtins.stringLength value) == 64; value;
meta = {

View File

@ -27,7 +27,7 @@ in stdenv.mkDerivation rec {
src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
sha256 = "bcde4691dea7de93b65a10a43dda2b8f52e570f820992ad281c9bb5c8dede181";
sha256 = "62a0c6715bee164817a6f58858dec1d60f01fd0ae00a377a75bbf885ddbd0a61";
};
KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";

View File

@ -84,6 +84,7 @@ rec {
gst_all_1.gstreamer
gst_all_1.gst-plugins-ugly
gst_all_1.gst-plugins-base
libdrm
xorg.xkeyboardconfig
xorg.libpciaccess
@ -163,7 +164,6 @@ rec {
SDL2_ttf
SDL2_mixer
gstreamer
gst-plugins-base
libappindicator-gtk2
libcaca
libcanberra

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, inkscape, imagemagick, potrace, svgo, scfbuild }:
{ stdenv, fetchFromGitHub, inkscape_0, imagemagick, potrace, svgo, scfbuild }:
stdenv.mkDerivation rec {
pname = "emojione";
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
export HOME="$NIX_BUILD_ROOT"
'';
nativeBuildInputs = [ inkscape imagemagick potrace svgo scfbuild ];
nativeBuildInputs = [ inkscape_0 imagemagick potrace svgo scfbuild ];
enableParallelBuilding = true;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, inkscape, imagemagick, potrace, svgo, scfbuild }:
{ stdenv, fetchFromGitHub, inkscape_0, imagemagick, potrace, svgo, scfbuild }:
stdenv.mkDerivation rec {
pname = "twemoji-color-font";
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
sha256 = "00pbgqpkq21wl8fs0q1xp49xb10m48b9sz8cdc58flkd2vqfssw2";
};
nativeBuildInputs = [ inkscape imagemagick potrace svgo scfbuild ];
nativeBuildInputs = [ inkscape_0 imagemagick potrace svgo scfbuild ];
# silence inkscape errors about non-writable home
preBuild = "export HOME=\"$NIX_BUILD_ROOT\"";
makeFlags = [ "SCFBUILD=${scfbuild}/bin/scfbuild" ];

View File

@ -1,4 +1,4 @@
{ stdenvNoCC, fetchFromGitHub, gnome-themes-extra, inkscape, xcursorgen, python3 }:
{ stdenvNoCC, fetchFromGitHub, gnome-themes-extra, inkscape_0, xcursorgen, python3 }:
let
py = python3.withPackages(ps: [ ps.pillow ]);
@ -25,7 +25,7 @@ in stdenvNoCC.mkDerivation rec {
nativeBuildInputs = [
gnome-themes-extra
inkscape
inkscape_0
xcursorgen
py
];

View File

@ -1,4 +1,4 @@
{ stdenvNoCC, fetchFromGitHub, gnome-themes-extra, inkscape, xcursorgen, python3 }:
{ stdenvNoCC, fetchFromGitHub, gnome-themes-extra, inkscape_0, xcursorgen, python3 }:
let
py = python3.withPackages(ps: [ ps.pillow ]);
@ -25,7 +25,7 @@ in stdenvNoCC.mkDerivation rec {
nativeBuildInputs = [
gnome-themes-extra
inkscape
inkscape_0
xcursorgen
py
];

View File

@ -1,4 +1,4 @@
{ stdenvNoCC, fetchFromGitHub, gnome-themes-extra, inkscape, xcursorgen }:
{ stdenvNoCC, fetchFromGitHub, gnome-themes-extra, inkscape_0, xcursorgen }:
stdenvNoCC.mkDerivation rec {
pname = "bibata-cursors-translucent";
@ -18,7 +18,7 @@ stdenvNoCC.mkDerivation rec {
nativeBuildInputs = [
gnome-themes-extra
inkscape
inkscape_0
xcursorgen
];

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub
, inkscape, xcursorgen, bc }:
, inkscape_0, xcursorgen, bc }:
stdenv.mkDerivation rec {
pname = "capitaine-cursors";
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
'';
buildInputs =[
inkscape
inkscape_0
xcursorgen
bc
];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, inkscape, xcursorgen }:
{ stdenv, fetchFromGitHub, inkscape_0, xcursorgen }:
stdenv.mkDerivation rec {
version = "1.1";
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
sha256 = "0p8h48wsy3z5dz9vdnp01fpn6q8ky0h74l5qgixlip557bsa1spi";
};
nativeBuildInputs = [ inkscape xcursorgen ];
nativeBuildInputs = [ inkscape_0 xcursorgen ];
buildPhase = ''
patchShebangs .

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, parallel, sassc, inkscape, libxml2, glib, gdk-pixbuf, librsvg, gtk-engine-murrine, gnome3 }:
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, parallel, sassc, inkscape_0, libxml2, glib, gdk-pixbuf, librsvg, gtk-engine-murrine, gnome3 }:
stdenv.mkDerivation rec {
pname = "adapta-gtk-theme";
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
pkgconfig
parallel
sassc
inkscape
inkscape_0
libxml2
glib.dev
gnome3.gnome-shell

View File

@ -7,7 +7,7 @@
, gnome3
, gtk-engine-murrine
, optipng
, inkscape
, inkscape_0
}:
stdenv.mkDerivation rec {
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
pkgconfig
sassc
optipng
inkscape
inkscape_0
gtk3
];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, fetchurl, glib, gtk-engine-murrine, gtk_engines, inkscape, optipng, sassc, which }:
{ stdenv, fetchFromGitHub, fetchurl, glib, gtk-engine-murrine, gtk_engines, inkscape_0, optipng, sassc, which }:
stdenv.mkDerivation rec {
pname = "mojave-gtk-theme";
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
sourceRoot = "source";
nativeBuildInputs = [ glib inkscape optipng sassc which ];
nativeBuildInputs = [ glib inkscape_0 optipng sassc which ];
buildInputs = [ gtk_engines ];
@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
src/assets/xfwm4/render-assets.sh
do
substituteInPlace $f \
--replace /usr/bin/inkscape ${inkscape}/bin/inkscape \
--replace /usr/bin/inkscape ${inkscape_0}/bin/inkscape \
--replace /usr/bin/optipng ${optipng}/bin/optipng
done

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, python3, sass, glib, gdk-pixbuf, libxml2,
inkscape, optipng, gtk-engine-murrine
inkscape_0, optipng, gtk-engine-murrine
}:
stdenv.mkDerivation rec {
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
sha256 = "1kda0lyqi3cxh163fbj8yyi6jj6pf0y980k4s0cmyi3hkh4cqyd5";
};
nativeBuildInputs = [ python3 sass glib gdk-pixbuf libxml2 inkscape optipng ];
nativeBuildInputs = [ python3 sass glib gdk-pixbuf libxml2 inkscape_0 optipng ];
propagatedUserEnvPkgs = [ gtk-engine-murrine ];
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
patchShebangs .
substituteInPlace Makefile --replace '$(DESTDIR)'/usr $out
substituteInPlace scripts/render-assets.sh \
--replace /usr/bin/inkscape ${inkscape}/bin/inkscape \
--replace /usr/bin/inkscape ${inkscape_0}/bin/inkscape \
--replace /usr/bin/optipng ${optipng}/bin/optipng
'';

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitLab, autoreconfHook, pkgconfig, parallel
, sassc, inkscape, libxml2, glib, gdk-pixbuf, librsvg, gtk-engine-murrine
, sassc, inkscape_0, libxml2, glib, gdk-pixbuf, librsvg, gtk-engine-murrine
, cinnamonSupport ? true
, gnomeFlashbackSupport ? true
, gnomeShellSupport ? true
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
pkgconfig
parallel
sassc
inkscape
inkscape_0
libxml2
glib.dev
]

View File

@ -4,7 +4,7 @@
, ninja
, sassc
, gtk3
, inkscape
, inkscape_0
, optipng
, gtk-engine-murrine
, gdk-pixbuf
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
ninja
sassc
gtk3
inkscape
inkscape_0
optipng
python3
];
@ -48,9 +48,9 @@ stdenv.mkDerivation rec {
for file in $(find -name render-\*.sh); do
substituteInPlace "$file" \
--replace 'INKSCAPE="/usr/bin/inkscape"' \
'INKSCAPE="inkscape"' \
'INKSCAPE="${inkscape_0}/bin/inkscape"' \
--replace 'OPTIPNG="/usr/bin/optipng"' \
'OPTIPNG="optipng"'
'OPTIPNG="${optipng}/bin/optipng"'
done
'';

View File

@ -23,7 +23,7 @@
, docbook_xsl
, docbook_xml_dtd_42
, gobject-introspection
, inkscape
, inkscape_0
, poppler_utils
, desktop-file-utils
, wrapGAppsHook
@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
python3
# building getting started
inkscape
inkscape_0
poppler_utils
];

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "gnome-disk-utility";
version = "3.36.1";
version = "3.36.3";
src = fetchurl {
url = "mirror://gnome/sources/gnome-disk-utility/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "055l29z99f4ybgf2plz3biz1bwhlpsjpr0zk3aa6vg5w67r1h6vr";
sha256 = "0yhnjmjzkixj29vcw6rzaijpg4mlwm2k1kqp4g3hn1xb6qzks0yx";
};
nativeBuildInputs = [

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-workspace-matrix";
version = "4.0.0";
version = "4.0.1";
src = fetchFromGitHub {
owner = "mzur";
repo = "gnome-shell-wsmatrix";
rev = "v${version}";
sha256 = "0ak4067kgr0yi2hlrsbhsq28ksspmx7l811h0xqy4idg48ly8c1d";
sha256 = "1xx2h8k981657lws614f7x4mqjk900xq9907j2h5jdhbbic5ppy6";
};
uuid = "wsmatrix@martin.zurowietz.de";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, gettext, itstool, glib, gtk3, libxml2, libgtop, libcanberra-gtk3, inkscape, udisks2, mate, hicolor-icon-theme, wrapGAppsHook }:
{ stdenv, fetchurl, pkgconfig, gettext, itstool, glib, gtk3, libxml2, libgtop, libcanberra-gtk3, inkscape_0, udisks2, mate, hicolor-icon-theme, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "mate-utils";
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
pkgconfig
gettext
itstool
inkscape
inkscape_0
wrapGAppsHook
];

View File

@ -1,11 +1,11 @@
{stdenv, fetchurl, ant, jre, jdk}:
stdenv.mkDerivation rec {
pname = "abcl";
version = "1.7.0";
version = "1.7.1";
# or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
src = fetchurl {
url = "https://common-lisp.net/project/armedbear/releases/${version}/${pname}-src-${version}.tar.gz";
sha256 = "0pbn5s22zygk6k0rzjc9g76220628lj1b3057gr0n4grl11p4lx5";
sha256 = "09wjcjvriagml740krg9nva5v6bsc3sav86dmb55pjvfpsr1846m";
};
configurePhase = ''
mkdir nix-tools

View File

@ -0,0 +1,92 @@
{ type
, version
, sha512
}:
assert builtins.elem type [ "aspnetcore" "netcore" "sdk"];
{ stdenv
, fetchurl
, libunwind
, openssl
, icu
, libuuid
, zlib
, curl
}:
let
pname = if type == "aspnetcore" then
"aspnetcore-runtime"
else if type == "netcore" then
"dotnet-runtime"
else
"dotnet-sdk";
platform = if stdenv.isDarwin then "osx" else "linux";
suffix = {
x86_64-linux = "x64";
aarch64-linux = "arm64";
x86_64-darwin = "x64";
}."${stdenv.hostPlatform.system}" or (throw
"Unsupported system: ${stdenv.hostPlatform.system}");
urls = {
aspnetcore = "https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/${version}/${pname}-${version}-${platform}-${suffix}.tar.gz";
netcore = "https://dotnetcli.azureedge.net/dotnet/Runtime/${version}/${pname}-${version}-${platform}-${suffix}.tar.gz";
sdk = "https://dotnetcli.azureedge.net/dotnet/Sdk/${version}/${pname}-${version}-${platform}-${suffix}.tar.gz";
};
descriptions = {
aspnetcore = "ASP .NET Core runtime ${version}";
netcore = ".NET Core runtime ${version}";
sdk = ".NET SDK ${version}";
};
in stdenv.mkDerivation rec {
inherit pname version;
rpath = stdenv.lib.makeLibraryPath [
curl
icu
libunwind
libuuid
openssl
stdenv.cc.cc
zlib
];
src = fetchurl {
url = builtins.getAttr type urls;
sha512 = sha512."${stdenv.hostPlatform.system}" or (throw
"Missing hash for host system: ${stdenv.hostPlatform.system}");
};
sourceRoot = ".";
dontPatchELF = true;
noDumpEnvVars = true;
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp -r ./ $out
ln -s $out/dotnet $out/bin/dotnet
runHook postInstall
'';
postFixup = stdenv.lib.optionalString stdenv.isLinux ''
patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $out/dotnet
patchelf --set-rpath "${rpath}" $out/dotnet
find $out -type f -name "*.so" -exec patchelf --set-rpath '$ORIGIN:${rpath}' {} \;
find $out -type f -name "apphost" -exec patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" --set-rpath '$ORIGIN:${rpath}' {} \;
'';
doInstallCheck = true;
installCheckPhase = ''
$out/bin/dotnet --info
'';
meta = with stdenv.lib; {
homepage = "https://dotnet.github.io/";
description = builtins.getAttr type descriptions;
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
maintainers = with maintainers; [ kuznero ];
license = licenses.mit;
};
}

View File

@ -1,74 +0,0 @@
{ type
, version
, sha512
}:
assert builtins.elem type [ "aspnetcore" "netcore" "sdk"];
{ stdenv
, fetchurl
, libunwind
, openssl
, icu
, libuuid
, zlib
, curl
}:
let pname = if type == "aspnetcore" then "aspnetcore-runtime" else if type == "netcore" then "dotnet-runtime" else "dotnet-sdk";
platform = if stdenv.isDarwin then "osx" else "linux";
suffix = {
x86_64-linux = "x64";
aarch64-linux = "arm64";
x86_64-darwin = "x64";
}."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
urls = {
aspnetcore = "https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/${version}/${pname}-${version}-${platform}-${suffix}.tar.gz";
netcore = "https://dotnetcli.azureedge.net/dotnet/Runtime/${version}/${pname}-${version}-${platform}-${suffix}.tar.gz";
sdk = "https://dotnetcli.azureedge.net/dotnet/Sdk/${version}/${pname}-${version}-${platform}-${suffix}.tar.gz";
};
descriptions = {
aspnetcore = "ASP .NET Core runtime ${version}";
netcore = ".NET Core runtime ${version}";
sdk = ".NET SDK ${version}";
};
in stdenv.mkDerivation rec {
inherit pname version;
rpath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc libunwind libuuid icu openssl zlib curl ];
src = fetchurl {
url = builtins.getAttr type urls;
sha512 = sha512."${stdenv.hostPlatform.system}" or (throw "Missing hash for host system: ${stdenv.hostPlatform.system}");
};
sourceRoot = ".";
dontPatchELF = true;
noDumpEnvVars = true;
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp -r ./ $out
ln -s $out/dotnet $out/bin/dotnet
runHook postInstall
'';
postFixup = stdenv.lib.optionalString stdenv.isLinux ''
patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $out/dotnet
patchelf --set-rpath "${rpath}" $out/dotnet
find $out -type f -name "*.so" -exec patchelf --set-rpath '$ORIGIN:${rpath}' {} \;
find $out -type f -name "apphost" -exec patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" --set-rpath '$ORIGIN:${rpath}' {} \;
'';
doInstallCheck = true;
installCheckPhase = ''
$out/bin/dotnet --info
'';
meta = with stdenv.lib; {
homepage = "https://dotnet.github.io/";
description = builtins.getAttr type descriptions;
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
maintainers = with maintainers; [ kuznero ];
license = licenses.mit;
};
}

View File

@ -4,13 +4,13 @@ dotnetCombined = with dotnetCorePackages; combinePackages [ sdk_3_1 sdk_2_2 sdk_
*/
{ callPackage }:
let
buildDotnet = attrs: callPackage (import ./buildDotnet.nix attrs) {};
buildDotnet = attrs: callPackage (import ./build-dotnet.nix attrs) {};
buildAspNetCore = attrs: buildDotnet (attrs // { type = "aspnetcore"; });
buildNetCore = attrs: buildDotnet (attrs // { type = "netcore"; });
buildNetCoreSdk = attrs: buildDotnet (attrs // { type = "sdk"; });
in
rec {
combinePackages = attrs: callPackage (import ./combinePackages.nix attrs) {};
combinePackages = attrs: callPackage (import ./combine-packages.nix attrs) {};
# v2.1.15 (LTS)

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