Merge branch 'master' into staging-next
Some rebuilds, e.g. all of haskell. Hydra nixpkgs: ?compare=1601713
This commit is contained in:
commit
7a5c6fee0f
|
@ -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
|
||||
|
|
|
@ -102,6 +102,16 @@ runTests {
|
|||
expected = 9;
|
||||
};
|
||||
|
||||
testToHexString = {
|
||||
expr = toHexString 250;
|
||||
expected = "FA";
|
||||
};
|
||||
|
||||
testToBaseDigits = {
|
||||
expr = toBaseDigits 2 6;
|
||||
expected = [ 1 1 0 ];
|
||||
};
|
||||
|
||||
# STRINGS
|
||||
|
||||
testConcatMapStrings = {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}"
|
||||
];
|
||||
|
||||
|
|
|
@ -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.'';
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
98
nixos/modules/services/misc/zigbee2mqtt.nix
Normal file
98
nixos/modules/services/misc/zigbee2mqtt.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
}));
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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>
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
19
nixos/tests/zigbee2mqtt.nix
Normal file
19
nixos/tests/zigbee2mqtt.nix
Normal 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'\""
|
||||
)
|
||||
'';
|
||||
}
|
||||
)
|
|
@ -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 ];
|
||||
|
|
13
pkgs/applications/audio/noisetorch/config.patch
Normal file
13
pkgs/applications/audio/noisetorch/config.patch
Normal 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 {
|
42
pkgs/applications/audio/noisetorch/default.nix
Normal file
42
pkgs/applications/audio/noisetorch/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
13
pkgs/applications/audio/noisetorch/embedlibrnnoise.patch
Normal file
13
pkgs/applications/audio/noisetorch/embedlibrnnoise.patch
Normal 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)
|
37
pkgs/applications/audio/noisetorch/version.patch
Normal file
37
pkgs/applications/audio/noisetorch/version.patch
Normal 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"))
|
||||
}
|
|
@ -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 ];
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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"
|
||||
'';
|
||||
|
|
|
@ -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}";
|
||||
};
|
||||
}
|
||||
''
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ]}"''} \
|
||||
|
|
133
pkgs/applications/graphics/inkscape/0.x.nix
Normal file
133
pkgs/applications/graphics/inkscape/0.x.nix
Normal 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
|
||||
# CMake’s ARGMAX check doesn’t 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.
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -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.
|
||||
|
|
15
pkgs/applications/graphics/inkscape/fix-python-paths.patch
Normal file
15
pkgs/applications/graphics/inkscape/fix-python-paths.patch
Normal 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" }}},
|
|
@ -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/";
|
||||
|
|
5
pkgs/applications/graphics/meshlab/fix-version.patch
Normal file
5
pkgs/applications/graphics/meshlab/fix-version.patch
Normal 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@";
|
15
pkgs/applications/graphics/meshlab/meshlab.desktop
Normal file
15
pkgs/applications/graphics/meshlab/meshlab.desktop
Normal 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
|
10
pkgs/applications/graphics/meshlab/no-build-date.patch
Normal file
10
pkgs/applications/graphics/meshlab/no-build-date.patch
Normal 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"
|
30
pkgs/applications/kde/bomber.nix
Normal file
30
pkgs/applications/kde/bomber.nix
Normal 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
|
||||
];
|
||||
}
|
|
@ -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 {};
|
||||
|
|
45
pkgs/applications/misc/break-time/default.nix
Normal file
45
pkgs/applications/misc/break-time/default.nix
Normal 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;
|
||||
};
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
|
@ -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; [
|
||||
|
|
40
pkgs/applications/misc/fontpreview/default.nix
Normal file
40
pkgs/applications/misc/fontpreview/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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/";
|
||||
|
|
|
@ -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 ]}"
|
||||
'';
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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" ];
|
||||
|
||||
|
|
24
pkgs/applications/networking/cluster/istioctl/default.nix
Normal file
24
pkgs/applications/networking/cluster/istioctl/default.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 ]}"
|
||||
'';
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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" ];
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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" ];
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
|
|
@ -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 .
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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
|
||||
]
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
92
pkgs/development/compilers/dotnet/build-dotnet.nix
Normal file
92
pkgs/development/compilers/dotnet/build-dotnet.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -30,6 +30,9 @@
|
|||
, # Whether to build terminfo.
|
||||
enableTerminfo ? !stdenv.targetPlatform.isWindows
|
||||
|
||||
# aarch64 outputs otherwise exceed 2GB limit
|
||||
, enableProfiliedLibs ? !stdenv.targetPlatform.isAarch64
|
||||
|
||||
, # What flavour to build. An empty string indicates no
|
||||
# specific flavour and falls back to ghc default values.
|
||||
ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
|
||||
|
@ -65,6 +68,8 @@ let
|
|||
HADDOCK_DOCS = NO
|
||||
BUILD_SPHINX_HTML = NO
|
||||
BUILD_SPHINX_PDF = NO
|
||||
'' + stdenv.lib.optionalString (!enableProfiliedLibs) ''
|
||||
GhcLibWays = "v dyn"
|
||||
'' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
|
||||
GhcLibHcOpts += -fPIC
|
||||
GhcRtsHcOpts += -fPIC
|
||||
|
|
54
pkgs/development/compilers/oraclejdk/jdk11-linux.nix
Normal file
54
pkgs/development/compilers/oraclejdk/jdk11-linux.nix
Normal file
|
@ -0,0 +1,54 @@
|
|||
{ stdenv
|
||||
, requireFile
|
||||
, xorg
|
||||
, zlib
|
||||
, freetype
|
||||
, alsaLib
|
||||
, setJavaClassPath
|
||||
}:
|
||||
|
||||
let result = stdenv.mkDerivation rec {
|
||||
pname = "oraclejdk";
|
||||
version = "11.0.8";
|
||||
|
||||
src = requireFile {
|
||||
name = "jdk-${version}_linux-x64_bin.tar.gz";
|
||||
url = "https://www.oracle.com/java/technologies/javase-jdk11-downloads.html";
|
||||
sha256 = "6390878c91e29bad7b2483eb0b470620bd145269600f3b6a9d65724e6f83b6fd";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mv ../$sourceRoot $out
|
||||
|
||||
mkdir -p $out/nix-support
|
||||
printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
|
||||
|
||||
# Set JAVA_HOME automatically.
|
||||
cat <<EOF >> $out/nix-support/setup-hook
|
||||
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
|
||||
EOF
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
rpath="$out/lib/jli:$out/lib/server:$out/lib:${stdenv.lib.strings.makeLibraryPath [ zlib xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXrender freetype alsaLib]}"
|
||||
|
||||
for f in $(find $out -name "*.so") $(find $out -type f -perm -0100); do
|
||||
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$f" || true
|
||||
patchelf --set-rpath "$rpath" "$f" || true
|
||||
done
|
||||
|
||||
for f in $(find $out -name "*.so") $(find $out -type f -perm -0100); do
|
||||
if ldd "$f" | fgrep 'not found'; then echo "in file $f"; fi
|
||||
done
|
||||
'';
|
||||
|
||||
passthru.jre = result;
|
||||
passthru.home = result;
|
||||
|
||||
dontStrip = true; # See: https://github.com/NixOS/patchelf/issues/10
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
license = licenses.unfree;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}; in result
|
54
pkgs/development/compilers/oraclejdk/jdk14-linux.nix
Normal file
54
pkgs/development/compilers/oraclejdk/jdk14-linux.nix
Normal file
|
@ -0,0 +1,54 @@
|
|||
{ stdenv
|
||||
, requireFile
|
||||
, xorg
|
||||
, zlib
|
||||
, freetype
|
||||
, alsaLib
|
||||
, setJavaClassPath
|
||||
}:
|
||||
|
||||
let result = stdenv.mkDerivation rec {
|
||||
pname = "oraclejdk";
|
||||
version = "14.0.2";
|
||||
|
||||
src = requireFile {
|
||||
name = "jdk-${version}_linux-x64_bin.tar.gz";
|
||||
url = "https://www.oracle.com/java/technologies/javase-jdk14-downloads.html";
|
||||
sha256 = "cb811a86926cc0f529d16bec7bd2e25fb73e75125bbd1775cdb9a96998593dde";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mv ../$sourceRoot $out
|
||||
|
||||
mkdir -p $out/nix-support
|
||||
printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
|
||||
|
||||
# Set JAVA_HOME automatically.
|
||||
cat <<EOF >> $out/nix-support/setup-hook
|
||||
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
|
||||
EOF
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
rpath="$out/lib/jli:$out/lib/server:$out/lib:${stdenv.lib.strings.makeLibraryPath [ stdenv.cc.cc zlib xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXrender freetype alsaLib]}"
|
||||
|
||||
for f in $(find $out -name "*.so") $(find $out -type f -perm -0100); do
|
||||
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$f" || true
|
||||
patchelf --set-rpath "$rpath" "$f" || true
|
||||
done
|
||||
|
||||
for f in $(find $out -name "*.so") $(find $out -type f -perm -0100); do
|
||||
if ldd "$f" | fgrep 'not found'; then echo "in file $f"; fi
|
||||
done
|
||||
'';
|
||||
|
||||
passthru.jre = result;
|
||||
passthru.home = result;
|
||||
|
||||
dontStrip = true; # See: https://github.com/NixOS/patchelf/issues/10
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
license = licenses.unfree;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}; in result
|
|
@ -1,10 +1,10 @@
|
|||
import ./jdk-linux-base.nix {
|
||||
productVersion = "8";
|
||||
patchVersion = "251";
|
||||
sha256.i686-linux = "0c6d25c09459e435570204f1a22a1cb765ce5d62c5bced92c9a9546b7be337f2";
|
||||
sha256.x86_64-linux = "777a8d689e863275a647ae52cb30fd90022a3af268f34fc5b9867ce32f1b374e";
|
||||
sha256.armv7l-linux = "f1b0c979e1b61ec52ebd5e1d0b754d7681d8623b09ac90c69718a553ef9b0cd1";
|
||||
sha256.aarch64-linux = "58baeaab7da97dd5a6b02ad2dcd77c14b3b6ba014029ee67dbc2bd5f0fa98d1b";
|
||||
patchVersion = "261";
|
||||
sha256.i686-linux = "1bl12hd5i53m8d4j8rwkk3bavmzw0ndr88ch5lf5syi7vs5pfjpm";
|
||||
sha256.x86_64-linux = "0d7a92csz8ws5h0pzqmrxq3sz286s57vw0dqq3ciwsqz14df012s";
|
||||
sha256.armv7l-linux = "13dih7zyfgj90bkhnfxhpm88d9kqqrj6w5rzpidmxrjwrsnlndp9";
|
||||
sha256.aarch64-linux = "0zzhs4pcnjss2561b8zrrnacpkb8p49ca0lpdw7hzgsjjj1y146n";
|
||||
jceName = "jce_policy-8.zip";
|
||||
sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
|
||||
}
|
||||
|
|
|
@ -27,7 +27,8 @@ in
|
|||
, doHoogle ? true
|
||||
, doHaddockQuickjump ? doHoogle && stdenv.lib.versionAtLeast ghc.version "8.6"
|
||||
, editedCabalFile ? null
|
||||
, enableLibraryProfiling ? !(ghc.isGhcjs or false)
|
||||
# aarch64 outputs otherwise exceed 2GB limit
|
||||
, enableLibraryProfiling ? !(ghc.isGhcjs or stdenv.targetPlatform.isAarch64 or false)
|
||||
, enableExecutableProfiling ? false
|
||||
, profilingDetail ? "exported-functions"
|
||||
# TODO enable shared libs for cross-compiling
|
||||
|
@ -48,8 +49,7 @@ in
|
|||
, isExecutable ? false, isLibrary ? !isExecutable
|
||||
, jailbreak ? false
|
||||
, license
|
||||
# aarch64 sometimes crashes for -jn with n>1: https://ghc.haskell.org/trac/ghc/ticket/15449
|
||||
, enableParallelBuilding ? !stdenv.buildPlatform.isAarch64
|
||||
, enableParallelBuilding ? true
|
||||
, maintainers ? []
|
||||
, doCoverage ? false
|
||||
, doHaddock ? !(ghc.isHaLVM or false)
|
||||
|
|
|
@ -2,17 +2,17 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "wasmtime";
|
||||
version = "0.18.0";
|
||||
version = "0.19.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bytecodealliance";
|
||||
repo = "${pname}";
|
||||
rev = "v${version}";
|
||||
sha256 = "18kmxc53jz1rlbmgdvffpvvsr8m399lgv62kwhciv5pif857qbb4";
|
||||
sha256 = "0gb8xk27ych553b7knflbbks9q64m39v40sdirycm6prqfnfrnm8";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
cargoSha256 = "0r92jafxbji2sgc5a4syycsk705zcx4wqfwgg73sx568mfxkw225";
|
||||
cargoSha256 = "1dqaxpwfm234yjwrhglzvsqhh2fr5nsx7bpk7bmycyk6lml8vxy7";
|
||||
|
||||
nativeBuildInputs = [ python cmake clang ];
|
||||
buildInputs = [ llvmPackages.libclang ] ++
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue